1: <?php
2: 3: 4: 5:
6:
7: if (!defined('XOOPS_ROOT_PATH')) exit();
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20: if (!defined('XC_ADMINSYSTEMCHECK_WELCOME')) define('XC_ADMINSYSTEMCHECK_WELCOME', 1);
21:
22: if (!defined('XC_ADMINSYSTEMCHECK_SYSTEMINFO')) define('XC_ADMINSYSTEMCHECK_SYSTEMINFO', 1);
23:
24: if (!defined('XC_ADMINSYSTEMCHECK_PHPSETTING')) define('XC_ADMINSYSTEMCHECK_PHPSETTING', 1);
25:
26: if (!defined('XC_ADMINSYSTEMCHECK_WAITING')) define('XC_ADMINSYSTEMCHECK_WAITING', 0);
27:
28: if (!defined('XC_ADMINSYSTEMCHECK_PHPINFO')) define('XC_ADMINSYSTEMCHECK_PHPINFO', 0);
29:
30: class Legacy_AdminSystemCheckPlusPreload extends XCube_ActionFilter
31: {
32: function preBlockFilter()
33: {
34:
35: $root=&XCube_Root::getSingleton();
36: $root->mDelegateManager->add("Legacypage.Admin.SystemCheck", "Legacy_AdminSystemCheckPlusPreload::SystemCheckPlus", XCUBE_DELEGATE_PRIORITY_NORMAL+1);
37:
38: }
39:
40: function SystemCheckPlus()
41: {
42: $root =& XCube_Root::getSingleton();
43:
44: if(XC_ADMINSYSTEMCHECK_WELCOME) {
45:
46:
47: $type = 2;
48:
49:
50:
51: if ( $type == 0 ) {
52:
53: $welcome = '<b>Welcome to XOOPS Cube Legacy!!</b><br />Have a nice time!!';
54: echo $welcome;
55: }
56:
57: elseif ( $type == 1 ) {
58:
59: $welcome = '<b>Welcome to XOOPS Cube Legacy!!</b><br />Have a nice and happy time!!';
60: $attributes = array();
61: $attributes['dummy_content'] = $welcome;
62: $template = XOOPS_LEGACY_PATH."/templates/legacy_dummy.html";
63: Legacy_AdminSystemCheckPlusPreload::display_message($attributes, $template, $return = false);
64: }
65:
66: elseif ( $type == 2 ) {
67:
68:
69: if ( file_exists(XOOPS_LEGACY_PATH . "/admin/templates/legacy_admin_welcome.html") ) {
70:
71: $welcome_title = 'Welcome Message!';
72: $welcome_msg = array();
73: $welcome_msg[] = 'Welcome to XOOPS Cube Legacy!!';
74: $welcome_msg[] = 'Have a nice and happy time!!';
75: $attributes = array();
76: $attributes['title'] = $welcome_title;
77: $attributes['messages'] = $welcome_msg;
78: $template = XOOPS_LEGACY_PATH."/admin/templates/legacy_admin_welcome.html";
79: Legacy_AdminSystemCheckPlusPreload::display_message($attributes, $template, $return = false);
80: }
81: }
82:
83: }
84:
85: if(XC_ADMINSYSTEMCHECK_SYSTEMINFO) {
86:
87: $systeminfo_message = array();
88:
89: $systeminfo_message[] = _AD_LEGACY_XCLEGACYVERSION." : ".XOOPS_VERSION;
90: $systeminfo_message[] = _MD_AM_DTHEME." : ".$root->mContext->mXoopsConfig['theme_set'];
91: $systeminfo_message[] = _MD_AM_DTPLSET." : ".$root->mContext->mXoopsConfig['template_set'];
92: $systeminfo_message[] = _MD_AM_LANGUAGE." : ".$root->mContext->mXoopsConfig['language'];
93:
94: $debugmode = intval($root->mContext->mXoopsConfig['debug_mode']);
95: if ( $debugmode == 0 ) {
96: $systeminfo_message[] = _MD_AM_DEBUGMODE." : "._MD_AM_DEBUGMODE0;
97: }
98: elseif ( $debugmode == 1) {
99: $systeminfo_message[] = _MD_AM_DEBUGMODE." : "._MD_AM_DEBUGMODE1;
100: }
101: elseif ( $debugmode == 2 ) {
102: $systeminfo_message[] = _MD_AM_DEBUGMODE." : "._MD_AM_DEBUGMODE2;
103: }
104: elseif ( $debugmode == 3 ) {
105: $systeminfo_message[] = _MD_AM_DEBUGMODE." : "._MD_AM_DEBUGMODE3;
106: }
107:
108: $systemconfig = array();
109: $systemconfig['phpversion'] = phpversion();
110: $db = &$root->mController->getDB();
111: $result = $db->query("SELECT VERSION()");
112: list($mysqlversion) = $db->fetchRow($result);
113: $systemconfig['mysqlversion'] = $mysqlversion;
114: $systemconfig['os'] = substr( php_uname(), 0, 7 );
115: $systemconfig['server'] = xoops_getenv('SERVER_SOFTWARE');
116: $systemconfig['useragent'] = xoops_getenv('HTTP_USER_AGENT');
117:
118: $systeminfo_message[] = _AD_LEGACY_OS." : ".$systemconfig['os'];
119: $systeminfo_message[] = _AD_LEGACY_SERVER." : ".$systemconfig['server'];
120: $systeminfo_message[] = _AD_LEGACY_USERAGENT." : ".$systemconfig['useragent'];
121: $systeminfo_message[] = _AD_LEGACY_PHPVERSION." : ".$systemconfig['phpversion'];
122: $systeminfo_message[] = _AD_LEGACY_MYSQLVERSION." : ".$systemconfig['mysqlversion'];
123:
124: xoops_result($systeminfo_message,_AD_LEGACY_SYSTEMINFO,'tips');
125:
126: }
127:
128:
129:
130: if(XC_ADMINSYSTEMCHECK_PHPSETTING) {
131:
132: $phpsetting_message = array();
133:
134: $phpsetting_message[] = _AD_LEGACY_PHPSETTING_SM." : ".(ini_get('safe_mode')? "<span style=color:red>" ._AD_LEGACY_PHPSETTING_ON."</span>" : "<span style=color:green>" ._AD_LEGACY_PHPSETTING_OFF. "</span>");
135: $phpsetting_message[] = _AD_LEGACY_PHPSETTING_MET." : ".(ini_get('max_execution_time')? ini_get('max_execution_time')." sec." : _AD_LEGACY_PHPSETTING_OFF);
136: $phpsetting_message[] = _AD_LEGACY_PHPSETTING_ML." : ".(ini_get('memory_limit')? ini_get('memory_limit')."b" : _AD_LEGACY_PHPSETTING_OFF);
137: $phpsetting_message[] = _AD_LEGACY_PHPSETTING_DE." : ".(ini_get('display_errors')? "<span style=color:green>" ._AD_LEGACY_PHPSETTING_ON."</span>" : "<span style=color:red>" ._AD_LEGACY_PHPSETTING_OFF. "</span>");
138: $phpsetting_message[] = _AD_LEGACY_PHPSETTING_SOT." : ".(ini_get('short_open_tag')? "<span style=color:green>" ._AD_LEGACY_PHPSETTING_ON."</span>" : "<span style=color:red>" ._AD_LEGACY_PHPSETTING_OFF. "</span>");
139: $phpsetting_message[] = _AD_LEGACY_PHPSETTING_FU." : ".(ini_get('file_uploads')? _AD_LEGACY_PHPSETTING_ON." ( "._AD_LEGACY_PHPSETTING_FU_UMAX.ini_get('upload_max_filesize').", "._AD_LEGACY_PHPSETTING_FU_PMAX.ini_get('post_max_size')." )" : _AD_LEGACY_PHPSETTING_OFF);
140: $phpsetting_message[] = _AD_LEGACY_PHPSETTING_MQ." : ".(ini_get('magic_quotes_gpc')? "<span style=color:green>" ._AD_LEGACY_PHPSETTING_ON."</span>" : "<span style=color:red>" ._AD_LEGACY_PHPSETTING_OFF. "</span>");
141: $phpsetting_message[] = _AD_LEGACY_PHPSETTING_RG." : ".(ini_get('register_globals')? "<span style=color:red>" ._AD_LEGACY_PHPSETTING_ON." (recommended OFF)</span>" : "<span style=color:green>" ._AD_LEGACY_PHPSETTING_OFF. "</span>");
142: $phpsetting_message[] = _AD_LEGACY_PHPSETTING_OB." : ".(ini_get('output_buffering')? "<span style=color:red>" ._AD_LEGACY_PHPSETTING_ON."</span>" : "<span style=color:green>" ._AD_LEGACY_PHPSETTING_OFF. "</span>");
143: $phpsetting_message[] = _AD_LEGACY_PHPSETTING_OBD." : ".(ini_get('open_basedir')? "<span style=color:green>" ._AD_LEGACY_PHPSETTING_ON."</span>" : "<span style=color:red>" ._AD_LEGACY_PHPSETTING_OFF. "</span>");
144: $phpsetting_message[] = _AD_LEGACY_PHPSETTING_UFO." : ".(ini_get('allow_url_fopen')? "<span style=color:red>" ._AD_LEGACY_PHPSETTING_ON." (recommended OFF)</span>" : "<span style=color:green>" ._AD_LEGACY_PHPSETTING_OFF. "</span>");
145:
146: $phpsetting_message[] = _AD_LEGACY_PHPSETTING_DOM." : ".(extension_loaded('dom')? "<span style=color:green>" ._YES. "</span>" : "<span style=color:red>" ._NO. " (required by recent modules)</span>" );
147: $phpsetting_message[] = _AD_LEGACY_PHPSETTING_EXIF." : ".(extension_loaded('exif')? "<span style=color:green>" ._YES. "</span>" : "<span style=color:red>" ._NO. " (required by recent modules)</span>" );
148: $phpsetting_message[] = _AD_LEGACY_PHPSETTING_GTXT." : ".(extension_loaded('gettext')? "<span style=color:green>" ._YES. "</span>" : "<span style=color:red>" ._NO. " (required by recent modules)</span>" );
149: $phpsetting_message[] = _AD_LEGACY_PHPSETTING_JSON." : ".(extension_loaded('json')? "<span style=color:green>" ._YES. "</span>" : "<span style=color:red>" ._NO. " (required by recent modules)</span>" );
150: $phpsetting_message[] = _AD_LEGACY_PHPSETTING_XML." : ".(extension_loaded('xml')? "<span style=color:green>" ._YES. "</span>" : "<span style=color:red>" ._NO. " (required by recent modules)</span>" );
151: $phpsetting_message[] = _AD_LEGACY_PHPSETTING_CRL." : ".(extension_loaded('curl')? "<span style=color:green>" ._YES. "</span>" : "<span style=color:red>" ._NO. " (required by recent modules)</span>" );
152: $phpsetting_message[] = _AD_LEGACY_PHPSETTING_ZLIB." : ".(extension_loaded('zlib')? "<span style=color:green>" ._YES. "</span>" : "<span style=color:red>" ._NO. " (required by recent modules)</span>" );
153: $phpsetting_message[] = _AD_LEGACY_PHPSETTING_SOAP." : ".(extension_loaded('soap')? "<span style=color:green>" ._YES. "</span>" : "<span style=color:red>" ._NO. " (required by recent modules)</span>" );
154: $phpsetting_message[] = _AD_LEGACY_PHPSETTING_MB." : ".(extension_loaded('mbstring')? "<span style=color:green>" ._YES. "</span>" : "<span style=color:red>" ._NO. " (required by recent modules)</span>" );
155: $phpsetting_message[] = _AD_LEGACY_PHPSETTING_ICONV." : ".(function_exists('iconv')? "<span style=color:green>" ._YES. "</span>" : "<span style=color:red>" ._NO. " (required by recent modules)</span>" );
156: $phpsetting_message[] = _AD_LEGACY_PHPSETTING_GD." : ".(function_exists('gd_info')? "<span style=color:green>" ._YES. "</span>" : "<span style=color:red>" ._NO. " (required by recent modules)</span>" );
157:
158:
159: if( function_exists( 'gd_info' ) ) {
160: $gd_info = gd_info() ;
161: $phpsetting_message[] = "GD Version: {$gd_info['GD Version']}" ;
162: }
163:
164: if(function_exists('imagecreatetruecolor')) {
165: $phpsetting_message[] = _AD_LEGACY_PHPSETTING_GD." Image create Truecolor" ;
166: }
167:
168: xoops_result($phpsetting_message,_AD_LEGACY_PHPSETTING,'tips');
169:
170: }
171:
172:
173:
174: if(XC_ADMINSYSTEMCHECK_WAITING) {
175: $modules = array();
176: XCube_DelegateUtils::call('Legacyblock.Waiting.Show', new XCube_Ref($modules));
177: $attributes = array();
178: $attributes['block']['modules'] = $modules;
179: $template = XOOPS_ROOT_PATH."/modules/legacy/templates/blocks/legacy_block_waiting.html";
180: $result = Legacy_AdminSystemCheckPlusPreload::display_message($attributes, $template, $return = true);
181: xoops_result($result, _MI_LEGACY_BLOCK_WAITING_NAME);
182: }
183:
184:
185:
186: if(XC_ADMINSYSTEMCHECK_PHPINFO) {
187:
188: ob_start();
189: phpinfo(INFO_GENERAL | INFO_CONFIGURATION | INFO_MODULES);
190: $phpinfo = ob_get_contents();
191: ob_end_clean();
192: preg_match_all('#<body[^>]*>(.*)</body>#siU', $phpinfo, $output);
193: $output = preg_replace('#<table#', '<table class="outer""', $output[1][0]);
194: $output = preg_replace('#(\w),(\w)#', '\1, \2', $output);
195: $output = preg_replace('#border="0" cellpadding="3" width="600"#', '', $output);
196: $output = preg_replace('#<hr />#', '', $output);
197: $output = preg_replace('#class="e"#', 'class="even"', $output);
198: $output = preg_replace('#class="h"#', 'class="odd"', $output);
199: $output = preg_replace('#class="v"#', 'class="even"', $output);
200: $output = preg_replace('#class="p"#', 'class="odd"', $output);
201: $output = str_replace('<div class="center">', '', $output);
202: $output = str_replace('</div>', '', $output);
203: $attributes = array();
204: $attributes['dummy_content'] = $output;
205: $template = XOOPS_ROOT_PATH."/modules/legacy/templates/legacy_dummy.html";
206: Legacy_AdminSystemCheckPlusPreload::display_message($attributes, $template, $return = false);
207: }
208:
209: }
210:
211: function display_message($attributes = array(), $template="", $return = false)
212: {
213: $root =& XCube_Root::getSingleton();
214: $renderSystem =& $root->getRenderSystem($root->mContext->mBaseRenderSystemName);
215: $renderTarget =& $renderSystem->createRenderTarget('main');
216: $renderTarget->setAttribute('legacy_module', 'legacy');
217: $renderTarget->setTemplateName($template);
218: foreach (array_keys($attributes) as $attribute) {
219: $renderTarget->setAttribute($attribute, $attributes[$attribute]);
220: }
221: $renderSystem->render($renderTarget);
222: if ($return == true ) {
223: $ret = $renderTarget->getResult();
224: return $ret;
225: }
226: else {
227: print $renderTarget->getResult();
228: }
229: }
230:
231:
232: }
233:
234: ?>
235: