]> git.mxchange.org Git - shipsimu.git/blobdiff - inc/classes/main/helper/class_BaseHelper.php
Content will now be added to previously opened sub/group.
[shipsimu.git] / inc / classes / main / helper / class_BaseHelper.php
index af2a663ff219bbae58119d76d17b2ea8cf863b78..0e21d884cedef39181e8496dac304067c6f02b68 100644 (file)
@@ -83,7 +83,7 @@ class BaseHelper extends BaseFrameworkSystem {
        }
 
        /**
-        * Add content
+        * Adds content directly
         *
         * @param       $newContent             New content to add
         * @return      void
@@ -92,6 +92,34 @@ class BaseHelper extends BaseFrameworkSystem {
                $this->content .= (string) trim($newContent) . "\r\n";
        }
 
+       /**
+        * Adds content to the previously opened group or sub group. If a sub group
+        * was found it will be taken. If no group/sub group is opened at the moment
+        * the code will be passed to addContent().
+        *
+        * @param       $newContent             New content to add
+        * @return      void
+        */
+       protected final function addContentToPreviousGroup ($newContent) {
+               // Check for sub/group
+               if ($this->ifSubGroupOpenedPreviously()) {
+                       // Get sub group id
+                       $subGroupId = $this->getPreviousSubGroupId();
+
+                       // Add the content
+                       $this->subGroups[$subGroupId]['content'] .= $newContent;
+               } elseif ($this->ifGroupOpenedPreviously()) {
+                       // Get group id
+                       $groupId = $this->getPreviousGroupId();
+
+                       // Add the content
+                       $this->groups[$groupId]['content'] .= $newContent;
+               } else {
+                       // Add it directly
+                       $this->addContent($newContent);
+               }
+       }
+
        /**
         * Getter for content
         *
@@ -184,7 +212,6 @@ class BaseHelper extends BaseFrameworkSystem {
                // Is the group already there?
                if (isset($this->groups[$groupId])) {
                        // Then throw an exception here
-                       $this->debugBackTrace();
                        throw new HelperGroupAlreadyCreatedException(array($this, $groupId), self::EXCEPTION_GROUP_ALREADY_FOUND);
                } // END - if
 
@@ -298,10 +325,14 @@ class BaseHelper extends BaseFrameworkSystem {
                        // Is this a group and is it closed?
                        if ((isset($this->groups[$idx])) && ($this->groups[$this->groups[$idx]]['opened'] === false)) {
                                // Then add it's content
-                               $content .= $this->groups[$this->groups[$idx]]['content'];
+                               $groupContent = $this->groups[$this->groups[$idx]]['content'];
+                               //* DEBUG: */ echo "group={$this->groups[$idx]},content=<pre>".htmlentities($groupContent)."</pre><br />\n";
+                               $content .= $groupContent;
                        } elseif ((isset($this->subGroups[$idx])) && ($this->subGroups[$this->subGroups[$idx]]['opened'] === false)) {
                                // Then add it's content
-                               $content .= $this->subGroups[$this->subGroups[$idx]]['content'];
+                               $subGroupContent = $this->subGroups[$this->subGroups[$idx]]['content'];
+                               //* DEBUG: */ echo "subgroup={$this->subGroups[$idx]},content=<pre>".htmlentities($subGroupContent)."</pre><br />\n";
+                               $content .= $subGroupContent;
                        } else {
                                // Something went wrong
                                die("GROUP/SUB GROUP ERROR: {$idx}");
@@ -310,6 +341,7 @@ class BaseHelper extends BaseFrameworkSystem {
                } // END - for
 
                // Return it
+               //* DEBUG: */ echo "content=<pre>".htmlentities($content)."</pre> (".strlen($content).")<br />\n";
                return $content;
        }