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'); }
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'); }