Beispiel #1
0
 /**
  * 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));
 }
Beispiel #2
0
 /**
  * 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));
 }
Beispiel #3
0
 /**
  * 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));
 }