public function module($module = null, $task = null) { Loader::model('dashboard/homepage'); $dh = new DashboardHomepageView(); $mod = $dh->getByHandle($module); if ($mod->pkgID > 0) { $pkg = Package::getByID($mod->pkgID); $class = Loader::dashboardModuleController($mod->dbhModule, $pkg); } else { $class = Loader::dashboardModuleController($mod->dbhModule); } $args = func_get_args(); array_shift($args); array_shift($args); // no that's not a misprint if (method_exists($class, $task)) { try { $resp = call_user_func_array(array($class, $task), $args); if ($resp) { $this->set('message', $resp); } } catch(Exception $e) { $this->set('error', $e); } } print $this->view(); }
/** * Returns an array of package items (e.g. blocks, themes) */ public function getPackageItems() { $items = array(); Loader::model('single_page'); Loader::model('dashboard/homepage'); Loader::library('mail/importer'); Loader::model('job'); Loader::model('collection_types'); $items['attribute_categories'] = AttributeKeyCategory::getListByPackage($this); $items['attribute_keys'] = AttributeKey::getListByPackage($this); $items['attribute_sets'] = AttributeSet::getListByPackage($this); $items['page_types'] = CollectionType::getListByPackage($this); $items['mail_importers'] = MailImporter::getListByPackage($this); $items['dashboard_modules'] = DashboardHomepageView::getModules($this); $items['configuration_values'] = Config::getListByPackage($this); $items['block_types'] = BlockTypeList::getByPackage($this); $items['page_themes'] = PageTheme::getListByPackage($this); $tp = new TaskPermissionList(); $items['task_permissions'] = $tp->populatePackagePermissions($this); $items['single_pages'] = SinglePage::getListByPackage($this); $items['attribute_types'] = AttributeType::getListByPackage($this); $items['jobs'] = Job::getListByPackage($this); ksort($items); return $items; }