From 9c78242bcd4746687eb1f9167f21b102337eb0b2 Mon Sep 17 00:00:00 2001 From: ovclas Date: Thu, 29 Sep 2011 05:38:49 +0000 Subject: [PATCH] issue 207 adminlogging module bug fix git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.0@9426 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- .../adminlogging/adminlogging.controller.php | 2 +- modules/adminlogging/adminlogging.model.php | 438 +----------------- 2 files changed, 2 insertions(+), 438 deletions(-) diff --git a/modules/adminlogging/adminlogging.controller.php b/modules/adminlogging/adminlogging.controller.php index d8892e0f5..2d28f82b7 100644 --- a/modules/adminlogging/adminlogging.controller.php +++ b/modules/adminlogging/adminlogging.controller.php @@ -5,7 +5,7 @@ * @brief admin controller class of admin module **/ - class adminloggingController extends admin { + class adminloggingController extends adminlogging { /** * @brief initialization * @return none diff --git a/modules/adminlogging/adminlogging.model.php b/modules/adminlogging/adminlogging.model.php index 5cd7bf184..248f40266 100644 --- a/modules/adminlogging/adminlogging.model.php +++ b/modules/adminlogging/adminlogging.model.php @@ -1,441 +1,5 @@ ftp_host) - { - $ftp_info->ftp_host = "127.0.0.1"; - } - $connection = ssh2_connect($ftp_info->ftp_host, $ftp_info->ftp_port); - if(!ssh2_auth_password($connection, $ftp_info->ftp_user, $ftp_info->ftp_password)) - { - return new Object(-1,'msg_ftp_invalid_auth_info'); - } - - $sftp = ssh2_sftp($connection); - $curpwd = "ssh2.sftp://$sftp".$this->pwd; - $dh = @opendir($curpwd); - if(!$dh) return new Object(-1, 'msg_ftp_invalid_path'); - $list = array(); - while(($file = readdir($dh)) !== false) { - if(is_dir($curpwd.$file)) - { - $file .= "/"; - } - else - { - continue; - } - $list[] = $file; - } - closedir($dh); - $this->add('list', $list); - } - - function getAdminFTPList() - { - set_time_limit(5); - require_once(_XE_PATH_.'libs/ftp.class.php'); - $ftp_info = Context::getRequestVars(); - if(!$ftp_info->ftp_user || !$ftp_info->ftp_password) - { - return new Object(-1, 'msg_ftp_invalid_auth_info'); - } - - $this->pwd = $ftp_info->ftp_root_path; - - if(!$ftp_info->ftp_host) - { - $ftp_info->ftp_host = "127.0.0.1"; - } - - if (!$ftp_info->ftp_port || !is_numeric ($ftp_info->ftp_port)) { - $ftp_info->ftp_port = "21"; - } - - if($ftp_info->sftp == 'Y') - { - return $this->getSFTPList(); - } - - $oFtp = new ftp(); - if($oFtp->ftp_connect($ftp_info->ftp_host, $ftp_info->ftp_port)){ - if($oFtp->ftp_login($ftp_info->ftp_user, $ftp_info->ftp_password)) { - $_list = $oFtp->ftp_rawlist($this->pwd); - $oFtp->ftp_quit(); - } - else - { - return new Object(-1,'msg_ftp_invalid_auth_info'); - } - } - $list = array(); - - if($_list){ - foreach($_list as $k => $v){ - $src = null; - $src->data = $v; - $res = Context::convertEncoding($src); - $v = $res->data; - if(strpos($v,'d') === 0 || strpos($v, '')) $list[] = substr(strrchr($v,' '),1) . '/'; - } - } - $this->add('list', $list); - } - - function getEnv($type='WORKING') { - - $skip = array( - 'ext' => array('pcre','json','hash','dom','session','spl','standard','date','ctype','tokenizer','apache2handler','filter','posix','reflection','pdo') - ,'module' => array('addon','admin','autoinstall', 'comment', 'communication', 'counter', 'document', 'editor', 'file', 'importer', 'install', 'integration_search', 'layout', 'member', 'menu', 'message', 'module', 'opage', 'page', 'point', 'poll', 'rss', 'session', 'spamfilter', 'tag', 'trackback', 'trash', 'widget') - ,'addon' => array('autolink', 'blogapi', 'captcha', 'counter', 'member_communication', 'member_extra_info', 'mobile', 'openid_delegation_id', 'point_level_icon', 'resize_image' ) - ); - - $info = array(); - $info['type'] = ($type !='INSTALL' ? 'WORKING' : 'INSTALL'); - $info['location'] = _XE_LOCATION_; - $info['package'] = _XE_PACKAGE_; - $info['host'] = $db_type->default_url ? $db_type->default_url : getFullUrl(); - $info['app'] = $_SERVER['SERVER_SOFTWARE']; - $info['xe_version'] = __ZBXE_VERSION__; - $info['php'] = phpversion(); - - $db_info = Context::getDBInfo(); - $info['db_type'] = Context::getDBType(); - $info['use_rewrite'] = $db_info->use_rewrite; - $info['use_db_session'] = $db_info->use_db_session == 'Y' ?'Y':'N'; - $info['use_ssl'] = $db_info->use_ssl; - - $info['phpext'] = ''; - foreach (get_loaded_extensions() as $ext) { - $ext = strtolower($ext); - if(in_array($ext, $skip['ext'])) continue; - $info['phpext'] .= '|'. $ext; - } - $info['phpext'] = substr($info['phpext'],1); - - $info['module'] = ''; - $oModuleModel = &getModel('module'); - $module_list = $oModuleModel->getModuleList(); - foreach($module_list as $module){ - if(in_array($module->module, $skip['module'])) continue; - $info['module'] .= '|'.$module->module; - } - $info['module'] = substr($info['module'],1); - - $info['addon'] = ''; - $oAddonAdminModel = &getAdminModel('addon'); - $addon_list = $oAddonAdminModel->getAddonList(); - foreach($addon_list as $addon){ - if(in_array($addon->addon, $skip['addon'])) continue; - $info['addon'] .= '|'.$addon->addon; - } - $info['addon'] = substr($info['addon'],1); - - $param = ''; - foreach($info as $k => $v){ - if($v) $param .= sprintf('&%s=%s',$k,urlencode($v)); - } - $param = substr($param, 1); - - return $param; - } - - function getThemeList(){ - $path = _XE_PATH_.'themes'; - $list = FileHandler::readDir($path); - - $theme_info = array(); - if(count($list) > 0){ - foreach($list as $val){ - $theme_info[$val] = $this->getThemeInfo($val); - } - } - - return $theme_info; - } - - function getThemeInfo($theme_name, $layout_list = null){ - if ($GLOBALS['__ThemeInfo__'][$theme_name]) return $GLOBALS['__ThemeInfo__'][$theme_name]; - - $info_file = _XE_PATH_.'themes/'.$theme_name.'/conf/info.xml'; - if(!file_exists($info_file)) return; - - $oXmlParser = new XmlParser(); - $_xml_obj = $oXmlParser->loadXmlFile($info_file); - - if(!$_xml_obj->theme) return; - $xml_obj = $_xml_obj->theme; - if(!$_xml_obj->theme) return; - - // 스킨이름 - $theme_info->name = $theme_name; - $theme_info->title = $xml_obj->title->body; - $thumbnail = './themes/'.$theme_name.'/thumbnail.png'; - $theme_info->thumbnail = (file_exists($thumbnail))?$thumbnail:null; - $theme_info->version = $xml_obj->version->body; - sscanf($xml_obj->date->body, '%d-%d-%d', $date_obj->y, $date_obj->m, $date_obj->d); - $theme_info->date = sprintf('%04d%02d%02d', $date_obj->y, $date_obj->m, $date_obj->d); - $theme_info->description = $xml_obj->description->body; - $theme_info->path = './themes/'.$theme_name.'/'; - - if(!is_array($xml_obj->publisher)) $publisher_list[] = $xml_obj->publisher; - else $publisher_list = $xml_obj->publisher; - - foreach($publisher_list as $publisher) { - unset($publisher_obj); - $publisher_obj->name = $publisher->name->body; - $publisher_obj->email_address = $publisher->attrs->email_address; - $publisher_obj->homepage = $publisher->attrs->link; - $theme_info->publisher[] = $publisher_obj; - } - - $layout = $xml_obj->layout; - $layout_path = $layout->directory->attrs->path; - $layout_parse = explode('/',$layout_path); - switch($layout_parse[1]){ - case 'themes' : { - $layout_info->name = $theme_name.'.'.$layout_parse[count($layout_parse)-1]; - break; - } - case 'layouts' : { - $layout_info->name = $layout_parse[count($layout_parse)-1]; - break; - } - } - $layout_info->path = $layout_path; - - $site_info = Context::get('site_module_info'); - // check layout instance - $is_new_layout = true; - $oLayoutModel = &getModel('layout'); - $layout_info_list = array(); - $layout_list = $oLayoutModel->getLayoutList($site_info->site_srl); - if ($layout_list){ - foreach($layout_list as $val){ - if ($val->layout == $layout_info->name){ - $is_new_layout = false; - $layout_info->layout_srl = $val->layout_srl; - break; - } - } - } - - if ($is_new_layout){ - $site_module_info = Context::get('site_module_info'); - $args->site_srl = (int)$site_module_info->site_srl; - $args->layout_srl = getNextSequence(); - $args->layout = $layout_info->name; - $args->title = $layout_info->name.'InTheme'; - $args->layout_type = "P"; - // Insert into the DB - $oLayoutAdminController = &getAdminController('layout'); - $output = $oLayoutAdminController->insertLayout($args); - $layout_info->layout_srl = $args->layout_srl; - } - - $theme_info->layout_info = $layout_info; - - $skin_infos = $xml_obj->skininfos; - if(is_array($skin_infos->skininfo))$skin_list = $skin_infos->skininfo; - else $skin_list = array($skin_infos->skininfo); - - $oModuleModel = &getModel('module'); - $skins = array(); - foreach($skin_list as $val){ - unset($skin_info); - unset($skin_parse); - $skin_parse = explode('/',$val->directory->attrs->path); - switch($skin_parse[1]){ - case 'themes' : { - $is_theme = true; - $module_name = $skin_parse[count($skin_parse)-1]; - $skin_info->name = $theme_name.'.'.$module_name; - break; - } - case 'modules' : { - $is_theme = false; - $module_name = $skin_parse[2]; - $skin_info->name = $skin_parse[count($skin_parse)-1]; - break; - } - } - $skin_info->path = $val->directory->attrs->path; - $skins[$module_name] = $skin_info; - - if ($is_theme){ - if (!$GLOBALS['__ThemeModuleSkin__'][$module_name]) $GLOBALS['__ThemeModuleSkin__'][$module_name] = array(); - $GLOBALS['__ThemeModuleSkin__'][$module_name][$skin_info->name] = $oModuleModel->loadSkinInfo($skin_info->path, '', ''); - } - } - $theme_info->skin_infos = $skins; - - $GLOBALS['__ThemeInfo__'][$theme_name] = $theme_info; - return $theme_info; - } - - function getModulesSkinList(){ - if ($GLOBALS['__ThemeModuleSkin__']['__IS_PARSE__']) return $GLOBALS['__ThemeModuleSkin__']; - $searched_list = FileHandler::readDir('./modules'); - sort($searched_list); - - $searched_count = count($searched_list); - if(!$searched_count) return; - - $exceptionModule = array('editor', 'poll', 'homepage', 'textyle'); - - $oModuleModel = &getModel('module'); - foreach($searched_list as $val) { - $skin_list = $oModuleModel->getSkins('./modules/'.$val); - - if (is_array($skin_list) && count($skin_list) > 0 && !in_array($val, $exceptionModule)){ - if(!$GLOBALS['__ThemeModuleSkin__'][$val]){ - $moduleInfo = $oModuleModel->getModuleInfoXml($val); - $GLOBALS['__ThemeModuleSkin__'][$val]['title'] = $moduleInfo->title; - $GLOBALS['__ThemeModuleSkin__'][$val]['skins'] = array(); - } - $GLOBALS['__ThemeModuleSkin__'][$val]['skins'] = array_merge($GLOBALS['__ThemeModuleSkin__'][$val]['skins'], $skin_list); - } - } - $GLOBALS['__ThemeModuleSkin__']['__IS_PARSE__'] = true; - - return $GLOBALS['__ThemeModuleSkin__']; - } - - function getAdminMenuLang() - { - $currentLang = Context::getLangType(); - $cacheFile = sprintf('./files/cache/menu/admin_lang/adminMenu.%s.lang.php', $currentLang); - - // Update if no cache file exists or it is older than xml file - if(!is_readable($cacheFile)) - { - $oModuleModel = &getModel('module'); - $installed_module_list = $oModuleModel->getModulesXmlInfo(); - - $this->gnbLangBuffer = '$value) - { - $moduleActionInfo = $oModuleModel->getModuleActionXml($value->module); - if(is_object($moduleActionInfo->menu)) - { - foreach($moduleActionInfo->menu AS $key2=>$value2) - { - $lang->menu_gnb_sub[$key2] = $value2->title; - $this->gnbLangBuffer .=sprintf('$lang->menu_gnb_sub[\'%s\'] = \'%s\';', $key2, $value2->title); - } - } - } - $this->gnbLangBuffer .= ' ?>'; - FileHandler::writeFile($cacheFile, $this->gnbLangBuffer); - } - else include $cacheFile; - - return $lang->menu_gnb_sub; - } - - /** - * @brief Get admin favorite list - **/ - function getFavoriteList($siteSrl = 0, $isGetModuleInfo = false) - { - $args->site_srl = $siteSrl; - $output = executeQueryArray('admin.getFavoriteList', $args); - if (!$output->toBool()) return $output; - if (!$output->data) return new Object(); - - if($isGetModuleInfo && is_array($output->data)) - { - $oModuleModel = &getModel('module'); - foreach($output->data AS $key=>$value) - { - $moduleInfo = $oModuleModel->getModuleInfoXml($value->module); - $output->data[$key]->admin_index_act = $moduleInfo->admin_index_act; - $output->data[$key]->title = $moduleInfo->title; - } - } - - $returnObject = new Object(); - $returnObject->add('favoriteList', $output->data); - return $returnObject; - } - - /** - * @brief Check available insert favorite - **/ - function isExistsFavorite($siteSrl, $module) - { - $args->site_srl = $siteSrl; - $args->module = $module; - $output = executeQuery('admin.getFavorite', $args); - if (!$output->toBool()) return $output; - - $returnObject = new Object(); - if ($output->data) - { - $returnObject->add('result', true); - $returnObject->add('favoriteSrl', $output->data->admin_favorite_srl); - } - else - { - $returnObject->add('result', false); - } - - return $returnObject; - } - - /** - * @brief Return site list - **/ - function getSiteAllList() - { - if(Context::get('domain')) $args->domain = Context::get('domain'); - $columnList = array('domain', 'site_srl'); - - $siteList = array(); - $output = executeQueryArray('admin.getSiteAllList', $args, $columnList); - if($output->toBool()) $siteList = $output->data; - - $this->add('site_list', $siteList); - } - - /** - * @brief Return site count - **/ - function getSiteCountByDate($date = '') - { - if($date) $args->regDate = date('Ymd', strtotime($date)); - - $output = executeQuery('admin.getSiteCountByDate', $args); - if(!$output->toBool()) return 0; - - return $output->data->count; - } - - function getFaviconUrl() - { - return $this->iconUrlCheck('favicon.ico','faviconSample.png'); - } - - function getMobileIconUrl() - { - return $this->iconUrlCheck('mobicon.png','mobiconSample.png'); - } - - function iconUrlCheck($iconname,$default_icon_name) - { - $file_exsit = FileHandler::readFile(_XE_PATH_.'files/attach/xeicon/'.$iconname); - if(!$file_exsit){ - $icon_url = './modules/admin/tpl/img/'.$default_icon_name ; - } else { - $icon_url = $db_info->default_url.'files/attach/xeicon/'.$iconname; - } - return $icon_url; - } }