示例#1
0
 function cloneTheme()
 {
     $themename = JRequest::getVar('theme');
     if (is_array($themename)) {
         $themename = $themename[0];
     }
     $themedir = JTheFactoryThemesHelper::getThemeDir();
     if (!JTheFactoryThemesHelper::isThemeFile($themedir . DS . $themename . DS . "theme.xml")) {
         JError::raiseWarning(420, JText::_("FACTORY_THEME_IS_NOT_VALID"));
         $this->setRedirect("index.php?option=" . APP_EXTENSION . "&task=themes.listthemes");
         return true;
     }
     $theme = JTheFactoryThemesHelper::getThemeHeader($themedir . DS . $themename . DS . "theme.xml");
     $view = $this->getView('themes');
     $view->assign('themename', $themename);
     $view->assignRef('theme', $theme);
     $view->display('clone');
 }
示例#2
0
 function listFields()
 {
     $page = JRequest::getString('page');
     $position = JRequest::getVar('position');
     if (is_array($position)) {
         $position = $position[0];
     }
     $model = JModel::getInstance('Positions', 'JTheFactoryModel');
     $theme = JTheFactoryThemesHelper::getCurrentTheme();
     $themeheader = JTheFactoryThemesHelper::getThemeHeader($theme);
     $pages = JTheFactoryThemesHelper::getThemePages($theme);
     if (!$page && count($pages)) {
         $page = $pages[0]->name;
     }
     $positions = JTheFactoryThemesHelper::getPagePositions($theme, $page);
     if (!$page && count($pages)) {
         $page = $pages[0]->name;
     }
     // default
     if (!$position && count($positions)) {
         $position = $positions[0]->name;
     }
     // default
     for ($i = 0; $i < count($pages); $i++) {
         $pages[$i]->fields = $model->getFieldsForPage($pages[$i]->name);
     }
     for ($i = 0; $i < count($positions); $i++) {
         $positions[$i]->fields = $model->getFieldsForPosition($positions[$i]->pagename, $positions[$i]->name);
     }
     $pagehtml = JTheFactoryPositionsHelper::htmlPageSelect($pages, $page);
     $positionshtml = JTheFactoryPositionsHelper::htmlPositionSelect($positions, $position);
     $fields = $model->getFieldsForPosition($page, $position);
     $view = $this->getView('fields');
     $view->assignRef('fields', $fields);
     $view->assignRef('themeheader', $themeheader);
     $view->assignRef('pagehtml', $pagehtml);
     $view->assignRef('positionshtml', $positionshtml);
     $view->assignRef('page', $page);
     $view->assignRef('position', $position);
     $view->display('list');
 }