Exemplo n.º 1
0
 /**
  * @
  */
 public function setmModule()
 {
     $hModule = Xupdate_Utils::getXoopsHandler('module');
     $this->mModule =& $hModule->getByDirname($this->getVar('dirname'));
     if (is_object($this->mModule)) {
         $this->setVar('last_update', $this->mModule->getVar('last_update'));
         $this->modinfo =& $this->mModule->getInfo();
         $this->modinfo['version'] = sprintf('%01.2f', $this->mModule->getVar('version') / 100);
         $trust_dirname = $this->mModule->getVar('trust_dirname');
         if (empty($trust_dirname)) {
             if (isset($this->modinfo['trust_dirname']) || !empty($this->modinfo['trust_dirname'])) {
                 $this->mModule->setVar('trust_dirname', $this->modinfo['trust_dirname']);
             } elseif (!isset($this->modinfo['trust_dirname']) || empty($this->modinfo['trust_dirname'])) {
                 //for d3modules
                 if (file_exists(XOOPS_MODULE_PATH . '/' . $this->getVar('dirname') . '/mytrustdirname.php')) {
                     $mytrustdirname = '';
                     include XOOPS_MODULE_PATH . '/' . $this->getVar('dirname') . '/mytrustdirname.php';
                     $this->modinfo['trust_dirname'] = $mytrustdirname;
                     $this->mModule->setVar('trust_dirname', $mytrustdirname);
                 }
             }
         } else {
             if (!isset($this->modinfo['trust_dirname']) || empty($this->modinfo['trust_dirname'])) {
                 $this->modinfo['trust_dirname'] = $trust_dirname;
             }
         }
     } else {
         $this->mModule = new XoopsModule();
         //空のobject
         $this->mModule->cleanVars();
     }
 }
Exemplo n.º 2
0
 /**
  * saveXoopsModule
  * 
  * @param   XoopsModule  &$module
  * 
  * @return  void
  **/
 public function saveXoopsModule(&$module)
 {
     $moduleHandler =& Xupdate_Utils::getXoopsHandler('module');
     if ($moduleHandler->insert($module)) {
         $this->mLog->addReport(_MI_XUPDATE_INSTALL_MSG_UPDATE_FINISHED);
     } else {
         $this->mLog->addError(_MI_XUPDATE_INSTALL_ERROR_UPDATE_FINISHED);
     }
 }
Exemplo n.º 3
0
 /**
  * &_createPermission
  * 
  * @param   int  $group
  * 
  * @return  XoopsGroupPerm
  **/
 private function &_createPermission($group)
 {
     $gpermHandler =& Xupdate_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;
 }
Exemplo n.º 4
0
 /**
  * getBlock
  *
  * @param   Legacy_AbstractBlockProcedure  &$obj
  * @param   XoopsBlock  $block
  *
  * @return  void
  **/
 public static function getBlock(&$obj, $block)
 {
     $moduleHandler =& Xupdate_Utils::getXoopsHandler('module');
     $module =& $moduleHandler->get($block->get('mid'));
     if (is_object($module) && $module->getInfo('trust_dirname') == 'xupdate') {
         require_once XUPDATE_TRUST_PATH . '/blocks/' . $block->get('func_file');
         $className = 'Xupdate_' . substr($block->get('show_func'), 4);
         $obj = new $className($block);
     }
 }
Exemplo n.º 5
0
 /**
  * _uninstallBlocks
  * 
  * @param   void
  * 
  * @return  void
  **/
 private function _uninstallBlocks()
 {
     Xupdate_InstallUtils::uninstallAllOfBlocks($this->_mXoopsModule, $this->mLog);
     $tplHandler =& Xupdate_Utils::getXoopsHandler('tplfile');
     $cri = new Criteria('tpl_module', $this->_mXoopsModule->get('dirname'));
     if (!$tplHandler->deleteAll($cri)) {
         $this->mLog->addError(XCube_Utils::formatString(_MI_XUPDATE_INSTALL_ERROR_BLOCK_TPL_DELETED, $tplHandler->db->error()));
     }
 }
Exemplo n.º 6
0
 /**
  * updateConfigOrderByInfo
  * 
  * @param   Legacy_PreferenceInformation  &$info
  * @param   XoopsModule  &$module
  * @param   Legacy_ModuleInstallLog  &$log
  * 
  * @return  bool
  **/
 public static function updateConfigOrderByInfo(&$info, &$module, &$log)
 {
     $configHandler =& Xupdate_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_XUPDATE_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_XUPDATE_INSTALL_ERROR_CONFIG_UPDATED, $config->get('conf_name')));
         return false;
     }
     return true;
 }
Exemplo n.º 7
0
 /**
  * _get_nextlink
  *
  * @param   string  $dirname
  *
  * @return	string
  **/
 private function _get_nextlink($dirname, $caller)
 {
     $ret = '';
     if ($caller == 'module') {
         $hModule = Xupdate_Utils::getXoopsHandler('module');
         $module =& $hModule->getByDirname($dirname);
         if (is_object($module)) {
             if ($module->getVar('isactive')) {
                 $ret = '<a href="' . XOOPS_URL . '/modules/legacy/admin/index.php?action=ModuleUpdate&dirname=' . $dirname . '">' . _MI_XUPDATE_LANG_UPDATE . '</a>';
             } else {
                 $ret = _AD_LEGACY_LANG_BLOCK_INACTIVETOTAL;
             }
         } else {
             $ret = '<a href="' . XOOPS_URL . '/modules/legacy/admin/index.php?action=ModuleInstall&dirname=' . $dirname . '">' . _MI_XUPDATE_LANG_UPDATE . '</a>';
         }
     } elseif ($caller == 'theme') {
         $ret = '<a href="' . XOOPS_MODULE_URL . '/legacy/admin/index.php?action=ThemeList">' . _MI_XUPDATE_LANG_UPDATE . '</a>';
     }
     return $ret;
 }
Exemplo n.º 8
0
 /**
  * execute
  *
  * @param   XCube_Controller  &$controller
  *
  * @return  void
  **/
 public function execute(&$controller)
 {
     if ($this->_createAction() === false) {
         $this->doActionNotFoundError();
         die;
     }
     if ($this->mAction->prepare() === false) {
         $this->doPreparationError();
         die;
     }
     if ($this->mAction->hasPermission() === false) {
         $this->doPermissionError();
         die;
     }
     $viewStatus = Xupdate_Utils::getEnv('REQUEST_METHOD') == 'POST' ? $this->mAction->execute() : $this->mAction->getDefaultView();
     if (in_array($viewStatus, $this->_mAllowViewNames)) {
         $methodName = 'executeView' . ucfirst($viewStatus);
         if (is_callable(array($this->mAction, $methodName))) {
             $render = $this->getRenderTarget();
             $this->mAction->{$methodName}($render);
             $render->setAttribute('xoops_pagetitle', $this->mAction->getPagetitle());
             //$this->mAction->setHeaderScript();
         }
     }
 }
 /**
  * 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 =& Xupdate_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 = XUPDATE_ADMIN_RENDER_FALLBACK_PATH . '/' . $file):
             $ret['url'] = XUPDATE_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;
     }
 }