]> git.mxchange.org Git - shipsimu.git/blobdiff - inc/classes/main/template/class_TemplateEngine.php
A lot debug messages removed, mailer with stubs added, resend link basicly finished...
[shipsimu.git] / inc / classes / main / template / class_TemplateEngine.php
index 2a828c0f1d62c6c3efc890e8d46a1d5a8bb47c2f..23ac8b4a0fa35e4749feb8b00e9acbf8edf789c4 100644 (file)
@@ -771,6 +771,7 @@ class TemplateEngine extends BaseFrameworkSystem implements CompileableTemplate
         *
         * @param               $varMatches     An array full of variable/value pairs.
         * @return      void
+        * @todo        Unfinished work or don't die here.
         */
        private function assignAllVariables (array $varMatches) {
                // Search for all variables
@@ -788,7 +789,6 @@ class TemplateEngine extends BaseFrameworkSystem implements CompileableTemplate
                                $this->assignVariable($var, $varMatches[3][$key]);
                        } elseif (!empty($varMatches[2][$key])) {
                                // Non-string found so we need some deeper analysis...
-                               /* @TODO Unfinished work or don't die here. */
                                die("Deeper analysis not yet implemented!");
                        }
 
@@ -952,6 +952,7 @@ class TemplateEngine extends BaseFrameworkSystem implements CompileableTemplate
         * Compile all variables by inserting their respective values
         *
         * @return      void
+        * @todo        Make this code some nicer...
         */
        public final function compileVariables () {
                // Initialize the $content array
@@ -992,7 +993,6 @@ class TemplateEngine extends BaseFrameworkSystem implements CompileableTemplate
                        );
 
                        // This loop does remove the backslashes (\) in PHP parameters
-                       /* @TODO Make this some nicer... */
                        while (strpos($eval, "<?") !== false) {
                                // Get left part before "<?"
                                $evalLeft = substr($eval, 0, strpos($eval, "<?"));
@@ -1022,14 +1022,23 @@ class TemplateEngine extends BaseFrameworkSystem implements CompileableTemplate
                        $eval = str_replace(
                                "<%php", "\";",
                                str_replace(
-                                       "%>", "\$result .= \"", $eval
+                                       "%>", "\n\$result .= \"", $eval
                                )
                        );
 
                        // Did something change?
                        if (strlen($eval) != $eval) {
                                // Run the constructed command. This will "compile" all variables in
-                               eval($eval);
+                               @eval($eval);
+                       } // END - if
+
+                       // Goes something wrong?
+                       if (!isset($result)) {
+                               // Output eval command
+                               $this->debugOutput(sprintf("Failed eval() code: <pre>%s</pre>", $this->markupCode($eval, true)), true);
+
+                               // Output backtrace here
+                               $this->debugBacktrace();
                        } // END - if
 
                        // Set raw template data
@@ -1118,15 +1127,8 @@ class TemplateEngine extends BaseFrameworkSystem implements CompileableTemplate
                                $this->getTemplateType()
                        );
 
-                       if ((is_object($this->getDebugInstance())) && (method_exists($this->getDebugInstance(), 'output'))) {
-                               // Use debug output handler
-                               $this->getDebugInstance()->output($msg);
-                               die();
-                       } else {
-                               // Put directly out
-                               // DO NOT REWRITE THIS TO app_die() !!!
-                               die($msg);
-                       }
+                       // Write the problem to the world...
+                       $this->debugOutput($msg);
                        break;
                }
        }