Esempio n. 1
0
 /**
  * Load a 'master_skin' template file. Used when developing
  *
  * @access	public
  * @param	string		Name of skin file
  * @return	@e void		Evals the skin to add the class in memory
  */
 public function loadMasterSkinTemplate($name, $id)
 {
     if (!count($this->remapData)) {
         $this->remapData = $this->registry->output->buildRemapData();
     }
     $_id = $id == 0 ? $this->remapData['inDevDefault'] : $id;
     $_dir = $this->remapData['templates'][$_id];
     if (!is_file(IPS_CACHE_PATH . "cache/skin_cache/" . $_dir . "/" . $name . ".php")) {
         return;
     }
     //-----------------------------------------
     // Get data...
     //-----------------------------------------
     $data = implode('', file(IPS_CACHE_PATH . "cache/skin_cache/" . $_dir . "/" . $name . ".php"));
     //-----------------------------------------
     // Get template class
     //-----------------------------------------
     $toeval = $this->registry->templateEngine->convertCacheToEval($data, $name . '_' . $id);
     $showme = strstr($data, '{{{SHOWME}}}') ? $name : '';
     if (!class_exists($name . '_' . $id)) {
         ob_start();
         eval($toeval);
         $result = ob_get_contents();
         ob_end_clean();
         if (strstr($result, "Parse error") or strstr($result, 'Catchable fatal error:') or $showme == $name) {
             IPSDebug::showTemplateError($result, $toeval);
         }
     }
 }