diff --git a/modules/admin/admin.admin.model.php b/modules/admin/admin.admin.model.php index 313ce855b..5e544903a 100644 --- a/modules/admin/admin.admin.model.php +++ b/modules/admin/admin.admin.model.php @@ -315,6 +315,9 @@ class adminAdminModel extends admin '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') + , 'layout' => array('default') + , 'widget' => array('content', 'language_select', 'login_info','mcontent') + , 'widgetstyle' => array(), ); $info = array(); $db_info = Context::getDBInfo(); @@ -370,6 +373,45 @@ class adminAdminModel extends admin } $info['addon'] = substr($info['addon'], 1); + $info['layout'] = ""; + $oLayoutModel = getModel('layout'); + $layout_list = $oLayoutModel->getDownloadedLayoutList(); + foreach($layout_list as $layout) + { + if(in_array($layout->layout, $skip['layout'])) + { + continue; + } + $info['layout'] .= '|' . $layout->layout; + } + $info['layout'] = substr($info['layout'], 1); + + $info['widget'] = ""; + $oWidgetModel = getModel('widget'); + $widget_list = $oWidgetModel->getDownloadedWidgetList(); + foreach($widget_list as $widget) + { + if(in_array($widget->widget, $skip['widget'])) + { + continue; + } + $info['widget'] .= '|' . $widget->widget; + } + $info['widget'] = substr($info['widget'], 1); + + $info['widgetstyle'] = ""; + $oWidgetModel = getModel('widget'); + $widgetstyle_list = $oWidgetModel->getDownloadedWidgetStyleList(); + foreach($widgetstyle_list as $widgetstyle) + { + if(in_array($widgetstyle->widgetStyle, $skip['widgetstyle'])) + { + continue; + } + $info['widgetstyle'] .= '|' . $widgetstyle->widgetStyle; + } + $info['widgetstyle'] = substr($info['widgetstyle'], 1); + $param = ''; foreach($info as $k => $v) { diff --git a/modules/admin/admin.admin.view.php b/modules/admin/admin.admin.view.php index 2007e9c16..6fdbe1286 100644 --- a/modules/admin/admin.admin.view.php +++ b/modules/admin/admin.admin.view.php @@ -537,6 +537,106 @@ class adminAdminView extends admin } } + /** + * Retrun server environment to XML string + * @return object + */ + function dispAdminViewServerEnv() + { + $info = array(); + + $oAdminModel = getAdminModel('admin'); + $envInfo = $oAdminModel->getEnv(); + $tmp = explode("&", $envInfo); + $arrInfo = array(); + $xe_check_env = array(); + foreach($tmp as $value) { + $arr = explode("=", $value); + if($arr[0]=="type") { + continue; + }elseif($arr[0]=="phpext" ) { + $str = urldecode($arr[1]); + $xe_check_env[$arr[0]]= str_replace("|", ", ", $str); + } elseif($arr[0]=="module" ) { + $str = urldecode($arr[1]); + $arrModuleName = explode("|", $str); + $oModuleModel = getModel("module"); + $mInfo = array(); + foreach($arrModuleName as $moduleName) { + $moduleInfo = $oModuleModel->getModuleInfoXml($moduleName); + $mInfo[] = "{$moduleName}({$moduleInfo->version})"; + } + $xe_check_env[$arr[0]]= join(", ", $mInfo); + } elseif($arr[0]=="addon") { + $str = urldecode($arr[1]); + $arrAddonName = explode("|", $str); + $oAddonModel = getAdminModel("addon"); + $mInfo = array(); + foreach($arrAddonName as $addonName) { + $addonInfo = $oAddonModel->getAddonInfoXml($addonName); + $mInfo[] = "{$addonName}({$addonInfo->version})"; + } + $xe_check_env[$arr[0]]= join(", ", $mInfo); + } elseif($arr[0]=="widget") { + $str = urldecode($arr[1]); + $arrWidgetName = explode("|", $str); + $oWidgetModel = getModel("widget"); + $mInfo = array(); + foreach($arrWidgetName as $widgetName) { + $widgetInfo = $oWidgetModel->getWidgetInfo($widgetName); + $mInfo[] = "{$widgetName}({$widgetInfo->version})"; + } + $xe_check_env[$arr[0]]= join(", ", $mInfo); + } elseif($arr[0]=="widgetstyle") { + $str = urldecode($arr[1]); + $arrWidgetstyleName = explode("|", $str); + $oWidgetModel = getModel("widget"); + $mInfo = array(); + foreach($arrWidgetstyleName as $widgetstyleName) { + $widgetstyleInfo = $oWidgetModel->getWidgetStyleInfo($widgetstyleName); + $mInfo[] = "{$widgetstyleName}({$widgetstyleInfo->version})"; + } + $xe_check_env[$arr[0]]= join(", ", $mInfo); + + } elseif($arr[0]=="layout") { + $str = urldecode($arr[1]); + $arrLayoutName = explode("|", $str); + $oLayoutModel = getModel("layout"); + $mInfo = array(); + foreach($arrLayoutName as $layoutName) { + $layoutInfo = $oLayoutModel->getLayoutInfo($layoutName); + $mInfo[] = "{$layoutName}({$layoutInfo->version})"; + } + $xe_check_env[$arr[0]]= join(", ", $mInfo); + } else { + $xe_check_env[$arr[0]] = urldecode($arr[1]); + } + } + $info['XE_Check_Evn'] = $xe_check_env; + + $ini_info = ini_get_all(); + $php_core = array(); + $php_core['max_file_uploads'] = "{$ini_info['max_file_uploads']['local_value']}"; + $php_core['post_max_size'] = "{$ini_info['post_max_size']['local_value']}"; + $php_core['memory_limit'] = "{$ini_info['memory_limit']['local_value']}"; + $info['PHP_Core'] = $php_core; + + $str_info = "[XE Server Environment " . date("Y-m-d") . "]\n\n"; + foreach( $info as $key=>$value ) + { + if( is_array( $value ) == false ) { + $str_info .= "{$key} : {$value}\n"; + } else { + //$str_info .= "\n{$key} \n"; + foreach( $value as $key2=>$value2 ) + $str_info .= "{$key2} : {$value2}\n"; + } + } + + Context::set('str_info', $str_info); + $this->setTemplateFile('server_env.html'); + } + } /* End of file admin.admin.view.php */ /* Location: ./modules/admin/admin.admin.view.php */ diff --git a/modules/admin/conf/module.xml b/modules/admin/conf/module.xml index 5d1fbad2c..5412b7392 100644 --- a/modules/admin/conf/module.xml +++ b/modules/admin/conf/module.xml @@ -7,6 +7,7 @@ + diff --git a/modules/admin/lang/lang.xml b/modules/admin/lang/lang.xml index 2eba3f2e4..d5effc6a7 100644 --- a/modules/admin/lang/lang.xml +++ b/modules/admin/lang/lang.xml @@ -1240,6 +1240,15 @@ + + + + + + + + + diff --git a/modules/admin/tpl/_footer.html b/modules/admin/tpl/_footer.html index cb9860666..6f3ff772b 100644 --- a/modules/admin/tpl/_footer.html +++ b/modules/admin/tpl/_footer.html @@ -10,6 +10,7 @@ | | | + {$lang->cmd_view_server_env} | {$lang->bug_report}

diff --git a/modules/admin/tpl/server_env.html b/modules/admin/tpl/server_env.html new file mode 100644 index 000000000..5e63724b4 --- /dev/null +++ b/modules/admin/tpl/server_env.html @@ -0,0 +1,8 @@ + +
+

{$lang->server_env}

+
+ +
+ +