/** * @ */ 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(); } }
/** * 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); } }
/** * &_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; }
/** * 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); } }
/** * _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())); } }
/** * 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; }
/** * _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; }
/** * 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; } }