Ejemplo n.º 1
0
 /**
  * defaultPluginHandler
  * NOTE: Registered in constructor
  *
  * @param string $name
  * @param string $type
  * @param string $template
  * @param string $callback
  * @param string $script
  * @return boolean true on success, false on failure
  */
 public function defaultPluginHandler($name, $type, $template, &$callback, &$script, &$cachable)
 {
     debug_buffer('', "Start Load Smarty Plugin {$name}/{$type}");
     $cachable = TRUE;
     $config = cmsms()->GetConfig();
     $fn = cms_join_path($config['root_path'], 'plugins', $type . '.' . $name . '.php');
     if (file_exists($fn)) {
         // plugins with the smarty_cms_function
         require_once $fn;
         $func = 'smarty_cms_' . $type . '_' . $name;
         $script = $fn;
         if (function_exists($func)) {
             $callback = $func;
             $cachable = FALSE;
             debug_buffer('', "End Load Smarty Plugin {$name}/{$type}");
             return TRUE;
         }
         $func = 'smarty_' . $type . '_' . $name;
         $script = $fn;
         if (function_exists($func)) {
             $callback = $func;
             $cachable = TRUE;
             debug_buffer('', "End Load Smarty Plugin {$name}/{$type}");
             return TRUE;
         }
     }
     if (cmsms()->is_frontend_request()) {
         $row = cms_module_smarty_plugin_manager::load_plugin($name, $type);
         if (is_array($row) && is_array($row['callback']) && count($row['callback']) == 2 && is_string($row['callback'][0]) && is_string($row['callback'][1])) {
             $cachable = $row['cachable'];
             $callback = $row['callback'][0] . '::' . $row['callback'][1];
             return TRUE;
         }
     }
     return FALSE;
 }