private function parse_rule($rule)
 {
     $special_rules = array("include", "function");
     $rule_check = explode("->", $rule);
     if (in_array($rule_check[0], $special_rules)) {
         switch ($rule_check[0]) {
             case "include":
                 return $this->include_template($rule);
             case "function":
                 return $this->call_function($rule);
         }
     }
     if (strpos($rule_check[0], "&") !== false && in_array(trim($rule_check[0], "&"), $special_rules)) {
         $rule_check[0] = trim($rule_check[0], "&");
     }
     /*
      * This allows the parsing of include rules passed through the rules array without going over the nesting
      * limit for web servers that use xdebug.
      */
     $rule_value = $this->get_rule(implode("->", $rule_check));
     if (strpos($rule_value, "include->") !== false) {
         $rule_value = trim($rule_value, " \t\n\r\v{}");
         $location = explode("->", $rule_value)[1];
         if (strpos($location, ".tpl") === false) {
             $location = $location . ".tpl";
         }
         $include = new TemplateModule();
         return $include->template($location, $this->rules, true);
     }
     return $this->get_rule(implode("->", $rule_check));
 }
 function gettemplatemodulename($tid)
 {
     App::import('Model', 'TemplateModule');
     $TemplateModule = new TemplateModule();
     $temp_mod = $TemplateModule->find('first', array('conditions' => array('TemplateModule.id' => $tid, 'TemplateModule.company_id' => SES_COMP), 'fields' => array('TemplateModule.module_name')));
     return $temp_mod['TemplateModule']['module_name'];
 }
Example #3
0
 public function Compiler()
 {
     $Templates = new TemplateModule('/templates');
     $this->lists = $Templates->Compiler('/templates', '/data/TemplatesCompiled');
 }