Browse Source

Work on section handling.

Taylor Otwell 12 years ago
parent
commit
d2fefa65aa
5 changed files with 37 additions and 5 deletions
  1. 1 1
      artisan
  2. 12 0
      laravel/documentation/changes.md
  3. 22 2
      laravel/view.php
  4. 1 1
      paths.php
  5. 1 1
      public/index.php

+ 1 - 1
artisan

@@ -3,7 +3,7 @@
  * Laravel - A PHP Framework For Web Artisans
  *
  * @package  Laravel
- * @version  3.2.11
+ * @version  3.2.12
  * @author   Taylor Otwell <taylorotwell@gmail.com>
  * @link     http://laravel.com
  */

+ 12 - 0
laravel/documentation/changes.md

@@ -2,6 +2,8 @@
 
 ## Contents
 
+- [Laravel 3.2.12](#3.2.12)
+- [Upgrading From 3.2.11](#upgrade-3.2.12)
 - [Laravel 3.2.11](#3.2.11)
 - [Upgrading From 3.2.10](#upgrade-3.2.11)
 - [Laravel 3.2.10](#3.2.10)
@@ -47,6 +49,16 @@
 - [Laravel 3.1](#3.1)
 - [Upgrading From 3.0](#upgrade-3.1)
 
+<a name="3.2.12"></a>
+## Laravel 3.2.12
+
+- Clear sections on a complete render operation.
+
+<a name="upgrade-3.2.12"></a>
+### Upgrading From 3.2.11
+
+- Replace the **laravel** folder.
+
 <a name="3.2.11"></a>
 ## Laravel 3.2.11
 

+ 22 - 2
laravel/view.php

@@ -51,6 +51,13 @@ class View implements ArrayAccess {
 	 */
 	public static $last;
 
+	/**
+	 * The render operations taking place.
+	 *
+	 * @var int
+	 */
+	public static $render_count = 0;
+
 	/**
 	 * The Laravel view loader event name.
 	 *
@@ -327,8 +334,12 @@ class View implements ArrayAccess {
 	 */
 	public function render()
 	{
+		static::$render_count++;
+
 		Event::fire("laravel.composing: {$this->view}", array($this));
 
+		$contents = null;
+
 		// If there are listeners to the view engine event, we'll pass them
 		// the view so they can render it according to their needs, which
 		// allows easy attachment of other view parsers.
@@ -336,10 +347,19 @@ class View implements ArrayAccess {
 		{
 			$result = Event::until(static::engine, array($this));
 
-			if ( ! is_null($result)) return $result;
+			if ( ! is_null($result)) $contents = $result;
+		}
+
+		if (is_null($contents)) $contents = $this->get();
+
+		static::$render_count--;
+
+		if (static::$render_count == 0)
+		{
+			Section::$sections = array();
 		}
 
-		return $this->get();
+		return $contents;
 	}
 
 	/**

+ 1 - 1
paths.php

@@ -3,7 +3,7 @@
  * Laravel - A PHP Framework For Web Artisans
  *
  * @package  Laravel
- * @version  3.2.11
+ * @version  3.2.12
  * @author   Taylor Otwell <taylorotwell@gmail.com>
  * @link     http://laravel.com
  */

+ 1 - 1
public/index.php

@@ -3,7 +3,7 @@
  * Laravel - A PHP Framework For Web Artisans
  *
  * @package  Laravel
- * @version  3.2.11
+ * @version  3.2.12
  * @author   Taylor Otwell <taylorotwell@gmail.com>
  * @link     http://laravel.com
  */