XCL Web Application Platform 2.5.0
The XoopsCube Legacy Project
Loading...
Searching...
No Matches
AdminBlockPhp.class.php
1<?php
11
12if (!defined('XOOPS_ROOT_PATH')) {
13 exit();
14}
15// TODO cache block ?
16//define('LEGACY_ADMINBLOCKPHP_CACHEPREFIX', XOOPS_CACHE_PATH.'/'.urlencode(XOOPS_URL).'_admin_blockphp_');
17
27{
28 public function getName()
29 {
30 return 'block_php';
31 }
32
33 public function getTitle()
34 {
35 return _AD_BLOCK_PHP;
36 }
37
38 public function getEntryIndex()
39 {
40 return 0;
41 }
42
43 public function isEnableCache()
44 {
45 return false;
46 }
47
48 public function execute()
49 {
50 $root =& XCube_Root::getSingleton();
51
52 // load admin message catalog of legacy for _AD_LEGACY_LANG_NO_SETTING, even if the current module is not Legacy.
53 $langMgr =& $root->mLanguageManager;
54 $langMgr->loadModuleAdminMessageCatalog('legacy');
55 // load info 'modinfo' message catalog
56 $langMgr->loadModinfoMessageCatalog('legacy');
57
58 $render =& $this->getRenderTarget();
59
64 $php_setting = [];
65 $rowOpen ="<div data-layout='row sm-column'><div data-self='size-1of3 sm-half'>";
66 $rowDiv= "</div>";
67 $badge = "<div><span class='badge'>";
68 $green ="<div><span class='badge' style='color:var(--color-green)'>";
69 $red = "<div><span class='badge' style='color:var(--color-red)'>";
70 $rowClose = "</span></div></div>";
71 $on = $green . _AD_LEGACY_PHPSETTING_ON . $rowClose;
72 $off = $red . _AD_LEGACY_PHPSETTING_OFF . $rowClose;
73 $yes = $green . _YES . $rowClose;
74 $no = $red . _NO . $rowClose;
75 // https://www.php.net/manual/en/mbstring.configuration.php
76 $php_setting[] = '<div class="ui-card-2-col">';
77 $php_setting[] = $rowOpen . 'Default_charset' . $rowDiv . (ini_get( 'default_charset' )? $badge . ini_get('default_charset') . $rowClose : $off);
78 $php_setting[] = $rowOpen .'mbstring extension' . $rowDiv . ( extension_loaded( 'mbstring' ) ? $yes : $no);
79 $php_setting[] = $rowOpen .'mbstring.language' . $rowDiv . (ini_get( 'mbstring.language' )? $badge . ini_get('mbstring.language') . $rowClose : $off);
80 $php_setting[] = $rowOpen .'Encoding translation' . $rowDiv . ( ini_get( 'mbstring.encoding_translation' )? $on : $off);
81 // PHP ini settings
82 $php_setting[] = $rowOpen . _AD_LEGACY_PHPSETTING_DE . $rowDiv . (ini_get('display_errors')? $on : $off);
83 $php_setting[] = $rowOpen . _AD_LEGACY_PHPSETTING_SM . $rowDiv . (ini_get('safe_mode')? $on : $off);
84 $php_setting[] = $rowOpen . _AD_LEGACY_PHPSETTING_MET. $rowDiv . (ini_get('max_execution_time')? $badge . ini_get('max_execution_time') . " sec." . $rowClose : $off);
85 $php_setting[] = $rowOpen . _AD_LEGACY_PHPSETTING_ML. $rowDiv . (ini_get('memory_limit')? $badge . ini_get('memory_limit') . "b" . $rowClose : $off);
86 $php_setting[] = $rowOpen . _AD_LEGACY_PHPSETTING_SOT. $rowDiv . (ini_get('short_open_tag')? $on : $off);
87 $php_setting[] = $rowOpen . _AD_LEGACY_PHPSETTING_FU. $rowDiv . (ini_get('file_uploads')?
88 $green . _AD_LEGACY_PHPSETTING_ON . "</span><br>"
89 . "<span class='badge'>" . _AD_LEGACY_PHPSETTING_FU_UMAX.ini_get('upload_max_filesize') . "</span><br>"
90 . "<span class='badge'>" . _AD_LEGACY_PHPSETTING_FU_PMAX.ini_get('post_max_size') . $rowClose
91 : $red . _AD_LEGACY_PHPSETTING_OFF . $rowClose);
92 $php_setting[] = $rowOpen . _AD_LEGACY_PHPSETTING_OB . $rowDiv . (ini_get('output_buffering')? $on : $off);
93 $php_setting[] = $rowOpen . _AD_LEGACY_PHPSETTING_OBD . $rowDiv . (ini_get('open_basedir')? $on : $off);
94 // Recommended on << off
95 $php_setting[] = $rowOpen . _AD_LEGACY_PHPSETTING_UFO . $rowDiv . (ini_get('allow_url_fopen')? $red ._AD_LEGACY_PHPSETTING_ON." (recommended OFF)" . $rowClose : $green ._AD_LEGACY_PHPSETTING_OFF. $rowClose);
96 // PHP EXTENSIONS
97 $php_setting[] = $rowOpen . _AD_LEGACY_PHPSETTING_DOM . $rowDiv . (extension_loaded('dom')? $yes : $no);
98 $php_setting[] = $rowOpen . _AD_LEGACY_PHPSETTING_EXIF . $rowDiv . (extension_loaded('exif')? $yes : $no);
99 $php_setting[] = $rowOpen . _AD_LEGACY_PHPSETTING_GTXT. $rowDiv . (extension_loaded('gettext')? $yes : $no);
100 $php_setting[] = $rowOpen . _AD_LEGACY_PHPSETTING_JSON. $rowDiv . (extension_loaded('json')? $yes : $no);
101 $php_setting[] = $rowOpen . _AD_LEGACY_PHPSETTING_XML. $rowDiv . (extension_loaded('xml')? $yes : $no);
102 $php_setting[] = $rowOpen . _AD_LEGACY_PHPSETTING_CRL . $rowDiv . (extension_loaded('curl')? $yes : $no);
103 $php_setting[] = $rowOpen . _AD_LEGACY_PHPSETTING_ZLIB . $rowDiv . (extension_loaded('zlib')? $yes : $no);
104 $php_setting[] = $rowOpen . _AD_LEGACY_PHPSETTING_SOAP . $rowDiv . (extension_loaded('soap')? $yes : $no);
105 $php_setting[] = $rowOpen . _AD_LEGACY_PHPSETTING_MB . $rowDiv . (extension_loaded('mbstring')? $yes : $no);
106 $php_setting[] = $rowOpen . _AD_LEGACY_PHPSETTING_ICONV . $rowDiv . (function_exists('iconv')? $yes : $no);
107 $php_setting[] = $rowOpen . _AD_LEGACY_PHPSETTING_GD . $rowDiv . (function_exists('gd_info')? $yes : $no);
108
109 /* Check GD version */
110 if (function_exists('gd_info')) {
111 $gd_info = gd_info() ;
112 $php_setting[] = $rowOpen . "GD Version". $rowDiv . $badge . "{$gd_info['GD Version']}" . $rowClose;
113 }
114 if (function_exists('imagecreatetruecolor')) {
115 $php_setting[] = $rowOpen . _AD_LEGACY_PHPSETTING_GD. $rowDiv . $badge . "Image create Truecolor" . $rowClose;
116 }
117 if( extension_loaded('imagick') || class_exists("Imagick") ){
118 /* Check Imagick */
119 $imagick_version = Imagick::getVersion();
120 $imagick_version_number = $imagick_version['versionNumber'];
121 $imagick_version_string = $imagick_version['versionString'];
122 $php_setting[] = $rowOpen .'Imagick'. $rowDiv . $green ."Image create Truecolor" . $rowClose;
123 $php_setting[] = $rowOpen .'Imagick version number'. $rowDiv .$badge .$imagick_version_number . $rowClose;
124 // $php_setting[] = $rowOpen .'Imagick version'. $rowDiv .$badge .$imagick_version_string . $rowClose;
125 }
126 $php_setting[] = '</div>';
127
128 // Set attributes
129 $render->setAttribute('legacy_module', 'legacy');
130
131 $render->setAttribute('php_setting', $php_setting);
132
133 $render->setTemplateName('legacy_admin_block_php.html');
134
135 $renderSystem =& $root->getRenderSystem($this->getRenderSystemName());
136
137 // Render as block
138 $renderSystem->renderBlock($render);
139
140 }
141
142 public function hasResult()
143 {
144 return true;
145 }
146
147 public function &getResult()
148 {
149 $dmy = 'dummy';
150 return $dmy;
151 }
152
153 public function getRenderSystemName()
154 {
155 return 'Legacy_AdminRenderSystem';
156 }
157}