/** * executeViewSuccess * * @param XCube_RenderTarget &$render * * @return void **/ public function executeViewSuccess(&$render) { $render->setTemplateName($this->mAsset->mDirname . '_page_view.html'); $render->setAttribute('dirname', $this->mAsset->mDirname); $render->setAttribute('dataname', 'page'); $render->setAttribute('catTitle', $this->mCategoryManager->getTitle($this->mObject->get('category_id'))); $render->setAttribute('object', $this->mObject); $render->setAttribute('definitions', Legacy_Utils::getModuleHandler('definition', $this->mAsset->mDirname)->getFields()); $render->setAttribute('accessController', $this->mCategoryManager); $render->setAttribute('useMap', $this->mRoot->mContext->mModuleConfig['use_map']); $render->setAttribute('commentDirname', $this->mRoot->mContext->mModuleConfig['comment_dirname']); //setup images $this->mObject->setupImages($isPost = false); $render->setAttribute('imageObjs', $this->mObject->mImage); $render->setAttribute('imageNameList', Xcck_Utils::getImageNameList($this->mAsset->mDirname)); //setup contents tree $isHierarchical = $this->mRoot->mContext->mModuleConfig['hierarchical']; $render->setAttribute('isHierarchical', $isHierarchical); if ($isHierarchical == 1) { $render->setAttribute('pageTree', $this->mObjectHandler->getTree($this->mObject->getTopId())); } //setup subtable objects $render->setAttribute('isSubtable', $this->_isSubtable()); $chandler = xoops_gethandler('config'); $mhandler = xoops_gethandler('module'); $subtableDirnameArr = Legacy_Utils::getDirnameListByTrustDirname('xcck'); //page criteria $subtableArr = array(); $cri = new CriteriaCompo(); $cri->add(new Criteria('status', Lenum_Status::PUBLISHED)); $cri->add(new Criteria('maintable_id', $this->mObject->get('page_id'))); XCube_DelegateUtils::call('Module.xcck.Event.GetSubtableCriteria', new XCube_Ref($cri), $this->mAsset->mDirname); //deprecated //definition criteria foreach ($subtableDirnameArr as $dirname) { $configArr = $chandler->getConfigsByDirname($dirname); if ($configArr['maintable'] == $this->mAsset->mDirname) { $subtableCri = clone $cri; XCube_DelegateUtils::call('Module.' . $dirname . '.SetupSubtableCriteria', new XCube_Ref($subtableCri), $this->mAsset->mDirname); $module = $mhandler->getByDirname($dirname); $subtableArr[] = array('dirname' => $dirname, 'name' => $module->get('name')); $definitionArr[$dirname] = Legacy_Utils::getModuleHandler('definition', $dirname)->getFields(true); $pageArr[$dirname] = Legacy_Utils::getModuleHandler('page', $dirname)->getObjects($subtableCri); } } if (count($subtableArr) > 0) { $render->setAttribute('subtableArr', $subtableArr); $render->setAttribute('definitionArr', $definitionArr); $render->setAttribute('pageArr', $pageArr); } $render->setAttribute('xoops_breadcrumbs', $this->_getBreadcrumb($this->mObject)); }
/** * setup render attributes commonly used in Input and Preview * * @param XCube_RenderTarget &$render * * @return void **/ protected function _setupAttributes(XCube_RenderTarget $render) { $render->setAttribute('actionForm', $this->mActionForm); $render->setAttribute('object', $this->mObject); $render->setAttribute('dirname', $this->mAsset->mDirname); $dataname = $this->_isSubtable() ? 'subtable' : 'page'; $render->setAttribute('dataname', $dataname); $render->setAttribute('fields', $this->mDefinitions); $render->setAttribute('isHierarchical', $this->mRoot->mContext->mModuleConfig['hierarchical']); //set tag usage $render->setAttribute('useTag', $this->mRoot->mContext->mModuleConfig['tag_dirname'] ? true : false); $render->setAttribute('tag_dirname', $this->mRoot->mContext->mModuleConfig['tag_dirname']); //set map usage $render->setAttribute('useMap', $this->mRoot->mContext->mModuleConfig['use_map'] ? true : false); //setup images $this->mObject->setupImages($isPost = false); $render->setAttribute('imageObjs', $this->mObject->mImage); $render->setAttribute('imageNameList', Xcck_Utils::getImageNameList($this->mAsset->mDirname)); $render->setAttribute('xoops_breadcrumbs', $this->_getBreadcrumb($this->mObject)); }
/** * get number of image used in this table * * @param void * * @return int **/ public function getImageNumber() { $list = Xcck_Utils::getImageNameList($this->getDirname()); return count($list); }
/** * executeViewInput * * @param XCube_RenderTarget &$render * * @return void **/ public function executeViewInput(&$render) { $render->setTemplateName($this->mAsset->mDirname . '_page_edit.html'); $render->setAttribute('actionForm', $this->mActionForm); $render->setAttribute('object', $this->mObject); $render->setAttribute('dirname', $this->mAsset->mDirname); $dataname = $this->_isSubtable() ? 'subtable' : 'page'; $render->setAttribute('dataname', $dataname); $render->setAttribute('fields', $this->mDefinitions); $render->setAttribute('accessController', $this->mCategoryManager); $render->setAttribute('isSubtable', $this->_isSubtable()); $render->setAttribute('defaultOrder', $this->mRoot->mContext->mModuleConfig['default_order']); // category fields //set categories of custom field $tree = array(); foreach ($this->mDefinitions as $field) { if ($field->get('field_type') == Xcck_FieldType::CATEGORY) { $tree[$field->get('field_name')] = array(); XCube_DelegateUtils::call('Legacy_Category.' . $field->get('options') . '.GetTree', new XCube_Ref($tree[$field->get('field_name')]), $field->get('options'), 'viewer'); } } $render->setAttribute('catTree', $tree); //date field option $render->setAttribute('hours', range(1, 24)); $render->setAttribute('minutes', range(0, 59)); //set tag usage $render->setAttribute('useTag', $this->mRoot->mContext->mModuleConfig['tag_dirname'] ? true : false); $render->setAttribute('tag_dirname', $this->mRoot->mContext->mModuleConfig['tag_dirname']); //setup images $this->mObject->setupImages($isPost = false); $render->setAttribute('imageObjs', $this->mObject->mImage); $render->setAttribute('imageNameList', Xcck_Utils::getImageNameList($this->mAsset->mDirname)); }