Пример #1
0
 /**
  * Init and gets all the params and make the html strings!
  * @return Boolean - if all is good
  */
 public static function initandmake(struct_core_alias $alias)
 {
     $o = rad_rsmarty::getSmartyObject();
     $o->assign('lang', call_user_func(array(rad_config::getParam('loader_class'), 'getLangContainer')));
     foreach (self::$_varvals as $classname => $vrnn) {
         foreach ($vrnn as $varname => $varvalue) {
             $o->assign('<%' . $classname . '.' . $varname . '%>', $varvalue);
         }
         $o->assign($classname, $vrnn);
     }
     $srcPrefix = SMARTYBCCACHE . 'alias_' . $alias->id . '_';
     self::$_title = self::_fetchSrc($o, $srcPrefix . 'title.tpl', $alias->title_script);
     self::$_breadcrumbs = self::_fetchSrc($o, $srcPrefix . 'bc.tpl', $alias->navi_script);
     self::$_tags = self::_fetchSrc($o, $srcPrefix . 'meta.tpl', $alias->metatitle_script);
     self::$_description = self::_fetchSrc($o, $srcPrefix . 'descr.tpl', $alias->metadescription_script);
     $o->clearAllAssign();
     return true;
 }
Пример #2
0
 /**
  * parse templates from alias and assing variables from Controller To Templates
  * Also I think I can do that in function show()
  */
 public static function parseTemplates()
 {
     $o = rad_rsmarty::getSmartyObject();
     if (rad_config::getParam('lang.caching')) {
         $templates = array();
         foreach (self::$_alias->includes as $id) {
             $templates[] = self::$_includes[$id->inc_name];
         }
         self::loadLangCache($templates);
     }
     //No needed - fix to {lang code= in older modules
     rad_instances::setCurrentTemplate('BREADCRUMBS');
     self::$_langContainer->setTemplate('BREADCRUMBS');
     define(rad_config::getParam('bc.title'), rad_breadcrumbs::getTitle());
     define(rad_config::getParam('bc.meta_description'), rad_breadcrumbs::getMetaDescription());
     define(rad_config::getParam('bc.meta_tags'), rad_breadcrumbs::getMetaTags());
     define(rad_config::getParam('bc.breadcrumbs'), rad_breadcrumbs::getBreadcrumbs());
     foreach (self::$_alias->includes as $id) {
         if (isset(self::$_controllerResults[$id->incinal_id]) and self::$_controllerResults[$id->incinal_id]) {
             if (isset(self::$sendedParams[$id->inc_filename]) and count(self::$sendedParams[$id->inc_filename])) {
                 foreach (self::$sendedParams[$id->inc_filename] as $pkey => $pval) {
                     $o->assign($pkey, $pval);
                 }
             }
             $data = self::$_controllerResults[$id->incinal_id]->getVars();
             if ($data !== null) {
                 foreach ($data as $key => $value) {
                     $o->assign($key, $value);
                 }
             }
         }
         if (!isset(self::$_html[$id->rp_name])) {
             self::$_html[$id->rp_name] = '';
         }
         rad_instances::setCurrentTemplate(self::$_includes[$id->inc_name]);
         self::$_langContainer->setTemplate(self::$_includes[$id->inc_name]);
         $o->assign('_CURRENT_LOAD_PATH', dirname(self::$_includes[$id->inc_name]));
         $o->assign('_CURR_LANG_OBJ', rad_lang::getCurrentLanguage());
         self::$_html[$id->rp_name] .= $o->fetch(self::$_includes[$id->inc_name]);
         $o->clearAllAssign();
     }
     //foreach
 }
Пример #3
0
 /**
  * Main function to init the loader
  * @access public
  */
 public static function init()
 {
     self::$alias = rad_input::request('alias');
     if (!self::$alias) {
         self::$alias = rad_config::getParam('defaultAlias');
         self::$template = rad_config::getParam('defaultTemplate');
     }
     self::$_alias = self::getAliasByName(self::$alias);
     if (is_null(self::$_alias)) {
         throw new rad_exception('Aliases not found! Even the default aliases and alias for the 404 error! Insert those aliases into database please and try again!');
     }
     if (strlen(self::$_alias->input_class)) {
         rad_input::reparseGetWithPlug(self::$_alias->input_class);
     }
     self::parseIncludes(self::$_alias->includes);
     self::$_langContainer = new rad_lang_container();
     self::parseController();
     if (!rad_breadcrumbs::initandmake(self::$_alias)) {
         rad_dblogger::logerr('Can\'t create and init breadcrumbs! file: ' . __FILE__ . ' and line: ' . __LINE__);
     }
 }
Пример #4
0
 /**
  * Adds the param name and value to the breadcrumbs
  * @param string $varname
  * @param mixed $varvalue
  * @return Boolean true
  *
  */
 function addBC($varname, $varvalue)
 {
     return rad_breadcrumbs::add($varname, $varvalue, $this->getClassName());
 }
Пример #5
0
 function deleteAlias($id = NULL)
 {
     $id = $id ?: $this->getState('id');
     if (is_numeric($id)) {
         $cnt = $this->exec('delete from ' . RAD . 'includes_in_aliases where alias_id=' . $id);
         $cnt += $this->exec('delete from ' . RAD . 'aliases where id=' . $id);
         rad_breadcrumbs::cleanAliasCache($id);
         return $cnt;
     }
     $this->securityHoleAlert(__FILE__, __LINE__, get_class($this));
     return 0;
 }
Пример #6
0
 /**
  * In windows from AJAX shows edit script for titles
  *
  */
 function showEditScript()
 {
     $alias_id = (int) $this->request('alias_id');
     if ($alias_id) {
         $model = rad_instances::get('model_core_aliases');
         $item = $model->getItem($alias_id);
         $this->setVar('item', $item);
         $this->setVar('alias_id', $alias_id);
         /**
          * Get the aliases and includes
          */
         $alias = rad_loader::getAliasByName($item->alias);
         $helpers = array();
         foreach ($alias->includes as $id_i => $id) {
             $controller = trim($id->controller);
             if (strlen($controller)) {
                 $bco = rad_breadcrumbs::getBCOFromClass($controller);
                 if ($bco) {
                     $helpers[$controller]['object'] = $bco;
                     $vrs = $bco->getVars();
                     if (count($vrs)) {
                         foreach ($vrs as $id_v => $varname) {
                             $helpers[$controller]['vars'][$varname] = str_replace("\"", "\\\"", $this->lang($varname . '.' . $controller . '.breadcrumbs'));
                         }
                     }
                     //foreach $bco->getVars()
                     $vrs = $bco->getVars(2);
                     if (count($vrs)) {
                         foreach ($vrs as $id_v => $varname) {
                             $helpers[$controller]['vars2'][$varname] = str_replace("\"", "\\\"", $this->lang($varname . '.' . $controller . '.breadcrumbs2'));
                         }
                     }
                 }
                 //if bco
             }
             //if controller
         }
         //foreach includes
         $this->setVar('helpers', $helpers);
     } else {
         $this->securityHoleAlert(__FILE__, __LINE__, $this->getClassName());
     }
 }