/**
  * executeViewSuccess
  * 
  * @param    XCube_RenderTarget    &$render
  * 
  * @return    void
  **/
 public function executeViewSuccess(&$render)
 {
     $render->setTemplateName($this->mAsset->mDirname . '_group_view.html');
     $render->setAttribute('object', $this->mObject);
     $render->setAttribute('image', $this->mObject->getImage());
     $render->setAttribute('dirname', $this->mAsset->mDirname);
     $clientList = array();
     $dataList = array('template_name' => array(), 'title' => array(), 'data' => array(), 'dirname' => array(), 'dataname' => array());
     if ($this->_checkPublicity()) {
         $clientList = Legroup_Utils::getClientList($this->mAsset->mDirname);
         foreach ($clientList as $client) {
             $dataList = $this->mObject->getClientData($dataList, $client);
         }
         foreach (array_keys($dataList['data']) as $key) {
             $check = false;
             XCube_DelegateUtils::call('Legacy_Group.' . $this->mAsset->mDirname . '.HasPermission', new XCube_Ref($check), $this->mAsset->mDirname, $this->mObject->get('group_id'), $dataList['dirname'][$key], $dataList['dataname'][$key], 'edit');
             $dataList['isEditor'][$key] = $check;
             unset($check);
         }
     }
     $render->setAttribute('clientList', $clientList);
     $render->setAttribute('clients', $dataList);
     $render->setAttribute('isEditor', $this->mObject->isMember(Legacy_Utils::getUid(), Lenum_GroupRank::OWNER));
     //breadcrumb
     $breadcrumbs = array();
     XCube_DelegateUtils::call('Module.' . $this->mAsset->mDirname . '.Global.Event.GetBreadcrumbs', new XCube_Ref($breadcrumbs), $this->mAsset->mDirname, $this->mObject);
     $render->setAttribute('xoops_breadcrumbs', $breadcrumbs);
 }
 /**
  * saveXoopsModule
  * 
  * @param   XoopsModule  &$module
  * 
  * @return  void
  **/
 public function saveXoopsModule(&$module)
 {
     $moduleHandler =& Legroup_Utils::getXoopsHandler('module');
     if ($moduleHandler->insert($module)) {
         $this->mLog->addReport(_MI_LEGROUP_INSTALL_MSG_UPDATE_FINISHED);
     } else {
         $this->mLog->addError(_MI_LEGROUP_INSTALL_ERROR_UPDATE_FINISHED);
     }
 }
 /**
  * updateConfigOrderByInfo
  * 
  * @param   Legacy_PreferenceInformation  &$info
  * @param   XoopsModule  &$module
  * @param   Legacy_ModuleInstallLog  &$log
  * 
  * @return  bool
  **/
 public static function updateConfigOrderByInfo(&$info, &$module, &$log)
 {
     $configHandler =& Legroup_Utils::getXoopsHandler('config');
     $cri = new CriteriaCompo();
     $cri->add(new Criteria('conf_modid', $module->get('mid')));
     $cri->add(new Criteria('conf_catid', 0));
     $cri->add(new Criteria('conf_name', $info->mName));
     $configs =& $configHandler->getConfigs($cri);
     if (!(count($configs) > 0 && is_object($configs[0]))) {
         $log->addError(_MI_LEGROUP_INSTALL_ERROR_CONFIG_NOT_FOUND);
         return false;
     }
     $config =& $configs[0];
     $config->set('conf_order', $info->mOrder);
     if (!$configHandler->insertConfig($config)) {
         $log->addError(XCube_Utils::formatString(_MI_LEGROUP_INSTALL_ERROR_CONFIG_UPDATED, $config->get('conf_name')));
         return false;
     }
     return true;
 }
 /**
  * _uninstallBlocks
  * 
  * @param   void
  * 
  * @return  void
  **/
 private function _uninstallBlocks()
 {
     Legroup_InstallUtils::uninstallAllOfBlocks($this->_mXoopsModule, $this->mLog);
     $tplHandler =& Legroup_Utils::getXoopsHandler('tplfile');
     $cri = new Criteria('tpl_module', $this->_mXoopsModule->get('dirname'));
     if (!$tplHandler->deleteAll($cri)) {
         $this->mLog->addError(XCube_Utils::formatString(_MI_LEGROUP_INSTALL_ERROR_BLOCK_TPL_DELETED, $tplHandler->db->error()));
     }
 }
 /**
  * executeViewInput
  * 
  * @param    XCube_RenderTarget    &$render
  * 
  * @return    void
  **/
 public function executeViewInput(&$render)
 {
     $render->setTemplateName($this->mAsset->mDirname . '_member_add.html');
     $render->setAttribute('actionForm', $this->mActionForm);
     $render->setAttribute('object', $this->mObject);
     $render->setAttribute('group', $this->mGroup);
     //set user list
     $cri = new CriteriaCompo();
     $user = $this->mObjectHandler->getMemberIdList($this->mGroup->get('group_id'), Lenum_GroupRank::ASSOCIATE);
     $cri->add(new Criteria('uid', $user['uid'], 'NOT IN'));
     $handler = Legroup_Utils::getXoopsHandler('user');
     $userObjs = $handler->getObjects($cri);
     $render->setAttribute('userObjs', $userObjs);
 }
 /**
  * &_createPermission
  * 
  * @param   int  $group
  * 
  * @return  XoopsGroupPerm
  **/
 private function &_createPermission($group)
 {
     $gpermHandler =& Legroup_Utils::getXoopsHandler('groupperm');
     $perm =& $gpermHandler->create();
     $perm->setVar('gperm_groupid', $group);
     $perm->setVar('gperm_itemid', $this->_mXoopsModule->getVar('mid'));
     $perm->setVar('gperm_modid', 1);
     return $perm;
 }
 /**
  * getOverrideFileInfo
  * 
  * @param   string  $file
  * @param   string  $prefix
  * @param   bool  $isSpDirName
  * 
  * @return  {string 'theme',string 'file',string 'dirname'}
  **/
 public static function getOverrideFileInfo($file, $prefix = null, $isSpDirName = false)
 {
     $ret = array('url' => null, 'path' => null, 'theme' => null, 'dirname' => null, 'file' => null);
     if (strpos($file, '..') !== false || strpos($prefix, '..' !== false)) {
         return $ret;
     }
     $root =& XCube_Root::getSingleton();
     $module =& $root->mContext->mXoopsModule;
     $dirName = $root->mContext->mRequest->getRequest('dirname');
     if ($isSpDirName && preg_match('/^\\w+$/', $dirName)) {
         $handler =& Legroup_Utils::getXoopsHandler('module');
         $module =& $handler->getByDirname($dirName);
     }
     $isModule = is_object($module);
     $theme = $root->mSiteConfig['Legacy']['Theme'];
     $ret['theme'] = $theme;
     $dirName = $isModule ? $module->get('dirname') : null;
     $trustDirName = $isModule ? $module->getInfo('trust_dirname') : null;
     $ret['file'] = $file;
     $file = $prefix . $file;
     switch (true) {
         case $isModule && file_exists($path = sprintf('%s/modules/%s/%s', XOOPS_THEME_PATH, $theme, $dirName, $file)):
             $ret['url'] = sprintf('%s/%s/modules/%s/%s', XOOPS_THEME_URL, $theme, $dirName, $file);
             $ret['path'] = $path;
             return $ret;
         case $isModule && file_exists($path = sprintf('%s/themes/%s/modules/%s/%s', XOOPS_TRUST_PATH, $theme, $trustDirName, $file)):
             $ret['path'] = $path;
             $ret['dirname'] = $trustDirName;
             return $ret;
         case file_exists($path = sprintf('%s/%s/%s', XOOPS_THEME_PATH, $theme, $file)):
             $ret['url'] = sprintf('%s/%s/%s', XOOPS_THEME_URL, $theme, $file);
             $ret['path'] = $path;
             $ret['dirname'] = null;
             return $ret;
         case file_exists($path = sprintf('%s/themes/%s/%s', XOOPS_TRUST_PATH, $theme, $file)):
             $ret['path'] = $path;
             $ret['dirname'] = null;
             return $ret;
         case $isModule && file_exists($path = sprintf('%s/%s/admin/templates/%s', XOOPS_MODULE_PATH, $dirName, $file)):
             $ret['url'] = sprintf('%s/%s/admin/templates/%s', XOOPS_MODULE_URL, $dirName, $file);
             $ret['path'] = $path;
             $ret['theme'] = null;
             return $ret;
         case $isModule && file_exists($path = sprintf('%s/modules/%s/admin/templates/%s', XOOPS_TRUST_PATH, $trustDirName, $file)):
             $ret['path'] = $path;
             $ret['theme'] = null;
             $ret['dirname'] = $trustDirName;
             return $ret;
         case file_exists($path = LEGROUP_ADMIN_RENDER_FALLBACK_PATH . '/' . $file):
             $ret['url'] = LEGROUP_ADMIN_RENDER_FALLBACK_URL . '/' . $file;
             $ret['path'] = $path;
             $ret['theme'] = null;
             $ret['dirname'] = null;
             return $ret;
         default:
             $ret['theme'] = null;
             $ret['dirname'] = null;
             $ret['file'] = null;
             return $ret;
     }
 }
Beispiel #8
0
 /**
  * getBlock
  * 
  * @param	Legacy_AbstractBlockProcedure  &$obj
  * @param	XoopsBlock	$block
  * 
  * @return	void
  **/
 public static function getBlock(&$obj, $block)
 {
     $moduleHandler = Legroup_Utils::getXoopsHandler('module');
     $module =& $moduleHandler->get($block->get('mid'));
     if (is_object($module) && $module->getInfo('trust_dirname') == 'legroup') {
         require_once LEGROUP_TRUST_PATH . '/blocks/' . $block->get('func_file');
         $className = 'Legroup_' . substr($block->get('show_func'), 4);
         $obj = new $className($block);
     }
 }