コード例 #1
0
 function execute(&$controller, &$xoopsUser)
 {
     if (!$this->_isEditable()) {
         return LEGACY_FRAME_VIEW_ERROR;
     }
     $ret = parent::execute($controller, $xoopsUser);
     if ($ret == LEGACY_FRAME_VIEW_SUCCESS) {
         //
         // Reset block_module_link.
         //
         $handler =& xoops_getmodulehandler('block_module_link', 'legacy');
         $handler->deleteAll(new Criteria('block_id', $this->mObject->get('bid')));
         foreach ($this->mObject->mBmodule as $bmodule) {
             //
             // If object is new, $bmodule isn't set bid yet.
             //
             $bmodule->set('block_id', $this->mObject->get('bid'));
             $handler->insert($bmodule);
         }
         //
         // Insert group permissions.
         //
         $currentGroupid = array();
         foreach ($this->mObject->mGroup as $group) {
             $currentGroupid[] = $group->get('groupid');
         }
         $permHandler =& xoops_gethandler('groupperm');
         $criteria = new CriteriaCompo();
         $criteria->add(new Criteria('gperm_modid', 1));
         $criteria->add(new Criteria('gperm_itemid', $this->mObject->get('bid')));
         $criteria->add(new Criteria('gperm_name', 'block_read'));
         $gpermArr =& $permHandler->getObjects($criteria);
         foreach ($gpermArr as $gperm) {
             if (!in_array($gperm->get('gperm_groupid'), $currentGroupid)) {
                 $permHandler->delete($gperm);
             }
         }
         foreach ($this->mObject->mGroup as $group) {
             $insertFlag = true;
             foreach ($gpermArr as $gperm) {
                 if ($gperm->get('gperm_groupid') == $group->get('groupid')) {
                     $insertFlag = false;
                 }
             }
             if ($insertFlag) {
                 $gperm =& $permHandler->create();
                 $gperm->set('gperm_modid', 1);
                 $gperm->set('gperm_groupid', $group->get('groupid'));
                 $gperm->set('gperm_itemid', $this->mObject->get('bid'));
                 $gperm->set('gperm_name', 'block_read');
                 $permHandler->insert($gperm);
             }
         }
     }
     return $ret;
 }
コード例 #2
0
 function _doExecute()
 {
     $handler =& xoops_getmodulehandler('imagecategory', 'legacy');
     $category =& $handler->get($this->mActionForm->get('imgcat_id'));
     //
     // [TODO]
     // Should the following procedure be after parent::_doExecute()?
     //
     if ($category->get('imgcat_storetype') == 'file') {
         $this->_storeFile();
     } else {
         $this->_storeDB();
     }
     return parent::_doExecute();
 }
コード例 #3
0
 function _doExecute()
 {
     if ($this->mActionForm->mFormFile != null) {
         if (!$this->mActionForm->mFormFile->saveAs(XOOPS_UPLOAD_PATH)) {
             return false;
         }
     }
     //
     // Delete old file, if the file exists.
     //
     if ($this->mActionForm->mOldFilename != null && $this->mActionForm->mOldFilename != "blank.gif") {
         @unlink(XOOPS_UPLOAD_PATH . "/" . $this->mActionForm->mOldFilename);
     }
     return parent::_doExecute();
 }
コード例 #4
0
 function execute(&$controller, &$xoopsUser)
 {
     if (!$this->_isEditable()) {
         return LEGACY_FRAME_VIEW_ERROR;
     }
     $ret = parent::execute($controller, $xoopsUser);
     if ($ret == LEGACY_FRAME_VIEW_SUCCESS) {
         $handler =& xoops_gethandler('group');
         $permHandler =& xoops_gethandler('groupperm');
         foreach ($this->mActionForm->get('read_groupid') as $readgroupid) {
             $this->mReadGroups[] =& $handler->get($readgroupid);
         }
         foreach ($this->mActionForm->get('admin_groupid') as $admingroupid) {
             $this->mAdminGroups[] =& $handler->get($admingroupid);
         }
         //
         // Insert group permissions.
         //
         $currentReadGroupid = array();
         foreach ($this->mReadGroups as $readgroup) {
             $currentReadGroupid[] = $readgroup->get('groupid');
         }
         $currentAdminGroupid = array();
         foreach ($this->mAdminGroups as $admingroup) {
             $currentAdminGroupid[] = $admingroup->get('groupid');
         }
         //readperm
         $criteria = new CriteriaCompo();
         $criteria->add(new Criteria('gperm_modid', 1));
         $criteria->add(new Criteria('gperm_itemid', $this->mObject->get('mid')));
         $criteria->add(new Criteria('gperm_name', 'module_read'));
         $gpermArr =& $permHandler->getObjects($criteria);
         foreach ($gpermArr as $gperm) {
             if (!in_array($gperm->get('gperm_groupid'), $currentReadGroupid)) {
                 if (!$permHandler->delete($gperm)) {
                     return LEGACY_FRAME_VIEW_ERROR;
                 }
             }
         }
         foreach ($this->mReadGroups as $readgroup) {
             $insertFlag = true;
             foreach ($gpermArr as $gperm) {
                 if ($gperm->get('gperm_groupid') == $readgroup->get('groupid')) {
                     $insertFlag = false;
                 }
             }
             if ($insertFlag) {
                 $gperm =& $permHandler->create();
                 $gperm->set('gperm_modid', 1);
                 $gperm->set('gperm_groupid', $readgroup->get('groupid'));
                 $gperm->set('gperm_itemid', $this->mObject->get('mid'));
                 $gperm->set('gperm_name', 'module_read');
                 if (!$permHandler->insert($gperm)) {
                     return LEGACY_FRAME_VIEW_ERROR;
                 }
             }
         }
         //admin perm
         $criteria = new CriteriaCompo();
         $criteria->add(new Criteria('gperm_modid', 1));
         $criteria->add(new Criteria('gperm_itemid', $this->mObject->get('mid')));
         $criteria->add(new Criteria('gperm_name', 'module_admin'));
         $gpermArr =& $permHandler->getObjects($criteria);
         foreach ($gpermArr as $gperm) {
             if (!in_array($gperm->get('gperm_groupid'), $currentAdminGroupid)) {
                 if (!$permHandler->delete($gperm)) {
                     return LEGACY_FRAME_VIEW_ERROR;
                 }
             }
         }
         foreach ($this->mAdminGroups as $admingroup) {
             $insertFlag = true;
             foreach ($gpermArr as $gperm) {
                 if ($gperm->get('gperm_groupid') == $admingroup->get('groupid')) {
                     $insertFlag = false;
                 }
             }
             if ($insertFlag) {
                 $gperm =& $permHandler->create();
                 $gperm->set('gperm_modid', 1);
                 $gperm->set('gperm_groupid', $admingroup->get('groupid'));
                 $gperm->set('gperm_itemid', $this->mObject->get('mid'));
                 $gperm->set('gperm_name', 'module_admin');
                 if (!$permHandler->insert($gperm)) {
                     return LEGACY_FRAME_VIEW_ERROR;
                 }
             }
         }
         //module_cache
         $confighandler =& xoops_gethandler('config');
         $criteria = new CriteriaCompo();
         $criteria->add(new Criteria('conf_name', 'module_cache'));
         $criteria->add(new Criteria('conf_catid', XOOPS_CONF));
         $configObjects =& $confighandler->getConfigs($criteria);
         if (is_object($configObjects[0])) {
             $oldvalue = $configObjects[0]->get('conf_value');
             $t_arr = !empty($oldvalue) ? unserialize($oldvalue) : array();
             if (is_array($t_arr)) {
                 $t_arr[$this->mObject->get('mid')] = $this->mActionForm->get('module_cache');
                 $configObjects[0]->set('conf_value', serialize($t_arr));
                 if (!$confighandler->insertConfig($configObjects[0])) {
                     return LEGACY_FRAME_VIEW_ERROR;
                 }
             } else {
                 return LEGACY_FRAME_VIEW_ERROR;
             }
         } else {
             return LEGACY_FRAME_VIEW_ERROR;
         }
     }
     return $ret;
 }
コード例 #5
0
 function _setupObject()
 {
     parent::_setupObject();
     $this->mObject->loadReadGroups();
     $this->mObject->loadUploadGroups();
 }