supernova-ws /
SuperNova
| 1 | <?php |
||
| 2 | /** |
||
| 3 | * erreurs.php |
||
| 4 | * |
||
| 5 | * @version 1.0 |
||
| 6 | * @copyright 2009 by Gorlum for http://oGame.Triolan.COM.UA |
||
| 7 | */ |
||
| 8 | |||
| 9 | define('INSIDE', true); |
||
| 10 | define('INSTALL', false); |
||
| 11 | define('IN_ADMIN', true); |
||
| 12 | require('../common.' . substr(strrchr(__FILE__, '.'), 1)); |
||
| 13 | |||
| 14 | global $lang, $user, $template_result; |
||
| 15 | |||
| 16 | SnTemplate::messageBoxAdminAccessDenied(AUTH_LEVEL_ADMINISTRATOR); |
||
| 17 | |||
| 18 | $mode = sys_get_param_int('mode'); |
||
| 19 | |||
| 20 | switch ($mode) { |
||
| 21 | case ADM_COUNTER_RECALC: |
||
| 22 | $template_result['.']['result'][] = [ |
||
| 23 | 'STATUS' => ERR_NONE, |
||
| 24 | 'MESSAGE' => number_format(memory_get_usage()) . ' - memory Before', |
||
| 25 | ]; |
||
| 26 | $t = new \General\LogCounterShrinker(SN::$gc); |
||
| 27 | $template_result['.']['result'][] = $t->process(); |
||
| 28 | unset($t); |
||
| 29 | $template_result['.']['result'][] = [ |
||
| 30 | 'STATUS' => ERR_NONE, |
||
| 31 | 'MESSAGE' => number_format(memory_get_usage()) . ' - memory After', |
||
| 32 | ]; |
||
| 33 | break; |
||
| 34 | |||
| 35 | case ADM_TOOL_CONFIG_RELOAD: |
||
| 36 | SN::$config->db_loadAll(); |
||
| 37 | SN::$db->schema()->clear(); |
||
| 38 | |||
| 39 | SN::$config->pass()->game_watchlist; |
||
| 40 | if (SN::$config->game_watchlist) { |
||
| 41 | SN::$config->game_watchlist_array = explode(';', SN::$config->game_watchlist); |
||
|
0 ignored issues
–
show
Bug
Best Practice
introduced
by
Loading history...
|
|||
| 42 | } else { |
||
| 43 | unset(SN::$config->game_watchlist_array); |
||
|
0 ignored issues
–
show
The property
game_watchlist_array does not exist on classConfig. Since you implemented __get, consider adding a @property annotation.
Loading history...
|
|||
| 44 | } |
||
| 45 | break; |
||
| 46 | |||
| 47 | case ADM_TOOL_MD5: |
||
| 48 | $template = SnTemplate::gettemplate("admin/md5enc", true); |
||
| 49 | $password_seed = sys_get_param_str_unsafe('seed', SN_SYS_SEC_CHARS_ALLOWED); |
||
| 50 | $password_length = sys_get_param_int('length', 16); |
||
| 51 | $string = ($string = sys_get_param_str_unsafe('string')) ? $string : sys_random_string($password_length, $password_seed); |
||
| 52 | |||
| 53 | $template->assign_vars(array( |
||
| 54 | 'SEED' => $password_seed, |
||
| 55 | 'LENGTH' => $password_length, |
||
| 56 | 'STRING' => htmlentities($string), |
||
| 57 | 'MD5' => md5($string), |
||
| 58 | )); |
||
| 59 | SnTemplate::display($template, $lang['adm_tools_md5_header']); |
||
| 60 | break; |
||
| 61 | |||
| 62 | case ADM_TOOL_FORCE_ALL: |
||
| 63 | SN::$config->db_saveItem('db_version', 40); |
||
| 64 | require_once('../includes/update.php'); |
||
| 65 | break; |
||
| 66 | |||
| 67 | case ADM_TOOL_FORCE_LAST: |
||
| 68 | SN::$config->db_saveItem('db_version', floor(SN::$config->db_version - 1)); |
||
| 69 | require_once('../includes/update.php'); |
||
| 70 | break; |
||
| 71 | |||
| 72 | case ADM_TOOL_INFO_PHP: |
||
| 73 | phpinfo(); |
||
| 74 | break; |
||
| 75 | |||
| 76 | case ADM_TOOL_INFO_SQL: |
||
| 77 | $template = SnTemplate::gettemplate("simple_table", true); |
||
| 78 | |||
| 79 | $template->assign_block_vars('table', $lang['adm_tool_sql_table']['server']); |
||
| 80 | $status = array( |
||
| 81 | $lang['adm_tool_sql_server_version'] => SN::$db->getServerInfo(), |
||
| 82 | $lang['adm_tool_sql_client_version'] => SN::$db->getClientInfo(), |
||
| 83 | $lang['adm_tool_sql_host_info'] => SN::$db->getHostInfo(), |
||
| 84 | ); |
||
| 85 | foreach ($status as $key => $value) { |
||
| 86 | $template->assign_block_vars('table.row', array( |
||
| 87 | 'VALUE_1' => $key, |
||
| 88 | 'VALUE_2' => $value, |
||
| 89 | )); |
||
| 90 | } |
||
| 91 | |||
| 92 | $template->assign_block_vars('table', $lang['adm_tool_sql_table']['status']); |
||
| 93 | $status = explode(' ', SN::$db->getServerStat()); |
||
| 94 | foreach ($status as $value) { |
||
| 95 | $row = explode(': ', $value); |
||
| 96 | $template->assign_block_vars('table.row', array( |
||
| 97 | 'VALUE_1' => $row[0], |
||
| 98 | 'VALUE_2' => $row[1], |
||
| 99 | )); |
||
| 100 | } |
||
| 101 | |||
| 102 | |||
| 103 | $template->assign_block_vars('table', $lang['adm_tool_sql_table']['params']); |
||
| 104 | $result = doquery('SHOW STATUS;'); |
||
| 105 | while ($row = db_fetch($result)) { |
||
| 106 | $template->assign_block_vars('table.row', array( |
||
| 107 | 'VALUE_1' => $row['Variable_name'], |
||
| 108 | 'VALUE_2' => $row['Value'], |
||
| 109 | )); |
||
| 110 | } |
||
| 111 | |||
| 112 | $template->assign_vars(array( |
||
| 113 | 'PAGE_HEADER' => $lang['adm_tool_sql_page_header'], |
||
| 114 | 'COLUMN_NAME_1' => $lang['adm_tool_sql_param_name'], |
||
| 115 | 'COLUMN_NAME_2' => $lang['adm_tool_sql_param_value'], |
||
| 116 | 'TABLE_FOOTER' => 'test', |
||
| 117 | )); |
||
| 118 | |||
| 119 | SnTemplate::display($template); |
||
| 120 | break; |
||
| 121 | |||
| 122 | case ADM_PTL_TEST: |
||
| 123 | $template = SnTemplate::gettemplate("admin/admin_ptl_test", true); |
||
| 124 | |||
| 125 | $template->assign_vars(array( |
||
| 126 | 'PAGE_TITLE' => $lang['adm_ptl_test'], |
||
| 127 | |||
| 128 | 'VAR' => 'VALUE', |
||
| 129 | 'RENDER_VAR' => '{VAR}', |
||
| 130 | 'RENDER_DEFINED_VAR' => '{$VAR}', |
||
| 131 | |||
| 132 | |||
| 133 | 'VAR_VALUE' => 'VAR_VALUE', |
||
| 134 | |||
| 135 | 'RENDER_VAR_VALUE' => '{VAR_VALUE}', |
||
| 136 | 'RENDER_NAVBAR_RESEARCH' => '{I_navbar_research|html}', |
||
| 137 | )); |
||
| 138 | |||
| 139 | $template->assign_block_vars('render_test_block', array( |
||
| 140 | 'BLOCK_VAR' => '{VAR}', |
||
| 141 | )); |
||
| 142 | |||
| 143 | |||
| 144 | $tests = array( |
||
| 145 | array('HEADER' => '{VAR} and {$VAR} Variables'), |
||
| 146 | array( |
||
| 147 | 'SAMPLE' => '{VAR}', |
||
| 148 | 'EXPECTED' => 'VALUE', |
||
| 149 | 'DESCRIPTION' => 'Root variable - existing', |
||
| 150 | ), |
||
| 151 | array( |
||
| 152 | 'SAMPLE' => '{VAR_NOT_EXISTS}', |
||
| 153 | 'EXPECTED' => '', |
||
| 154 | 'DESCRIPTION' => 'Root variable - non-existing', |
||
| 155 | ), |
||
| 156 | array( |
||
| 157 | 'SAMPLE' => '{АБВГД}', |
||
| 158 | 'EXPECTED' => '{АБВГД}', |
||
| 159 | 'DESCRIPTION' => 'Root variable - wrong name', |
||
| 160 | ), |
||
| 161 | array( |
||
| 162 | 'SAMPLE' => '{$VAR}', |
||
| 163 | 'EXPECTED' => '$VALUE', |
||
| 164 | 'DESCRIPTION' => 'DEFINE-d variable - existing', |
||
| 165 | ), |
||
| 166 | array( |
||
| 167 | 'SAMPLE' => '{$VAR_NOT_EXISTS}', |
||
| 168 | 'EXPECTED' => '', |
||
| 169 | 'DESCRIPTION' => 'DEFINE-d variable - non-existing', |
||
| 170 | ), |
||
| 171 | array( |
||
| 172 | 'SAMPLE' => '{$АБВГД}', |
||
| 173 | 'EXPECTED' => '{$АБВГД}', |
||
| 174 | 'DESCRIPTION' => 'DEFINE-d variable - wrong name', |
||
| 175 | ), |
||
| 176 | |||
| 177 | array('HEADER' => '{C_xxx} - Config'), |
||
| 178 | array( |
||
| 179 | 'SAMPLE' => '{C___ptl_test}', |
||
| 180 | 'EXPECTED' => 'config_ptl_test', |
||
| 181 | 'DESCRIPTION' => 'Config variable', |
||
| 182 | ), |
||
| 183 | array( |
||
| 184 | 'SAMPLE' => '{C___ptl_test_array[value]}', |
||
| 185 | 'EXPECTED' => 'config_ptl_test_array', |
||
| 186 | 'DESCRIPTION' => 'Config array variable', |
||
| 187 | ), |
||
| 188 | |||
| 189 | array('HEADER' => '{L_xxx} and {LA_xxx} - Language'), |
||
| 190 | array( |
||
| 191 | 'SAMPLE' => '{L_admin_ptl_test_la_}', |
||
| 192 | 'EXPECTED' => 'Single\'Double"ZeroEnd', |
||
| 193 | 'DESCRIPTION' => 'Language string', |
||
| 194 | ), |
||
| 195 | array( |
||
| 196 | 'SAMPLE' => '{LA_admin_ptl_test_la_}', |
||
| 197 | 'EXPECTED' => 'Single\\\'Double\"Zero\0End', |
||
| 198 | 'DESCRIPTION' => 'JavaScript-safe language string', |
||
| 199 | ), |
||
| 200 | array( |
||
| 201 | 'SAMPLE' => '{L_surely_not_exists_string_test}', |
||
| 202 | 'EXPECTED' => '{ L_surely_not_exists_string_test }', |
||
| 203 | 'DESCRIPTION' => 'Language string - non-existing', |
||
| 204 | ), |
||
| 205 | array( |
||
| 206 | 'SAMPLE' => '{LA_surely_not_exists_string_test}', |
||
| 207 | 'EXPECTED' => '{ LA_surely_not_exists_string_test }', |
||
| 208 | 'DESCRIPTION' => 'JS-safe language string - non-existing', |
||
| 209 | ), |
||
| 210 | |||
| 211 | array('HEADER' => '{I_xxx} - Image rendering'), |
||
| 212 | array( |
||
| 213 | 'SAMPLE' => "{" . ($tag = "I_NO_IMAGE|height=\"20%\"|width=\"20%\"") . "}<br />{{$tag}|html}", |
||
| 214 | 'EXPECTED' => ($imgPath = SN_ROOT_VIRTUAL . 'design/images/_no_image.png') . "<br /><img src=\"{$imgPath}\" height=\"20%\" width=\"20%\" />", |
||
| 215 | 'DESCRIPTION' => 'Image - not existing', |
||
| 216 | ), |
||
| 217 | |||
| 218 | array( |
||
| 219 | 'SAMPLE' => "{" . ($tag = "I_/design/images/icon_note_pinned_64x64.png") . "}<br />{{$tag}|html}", |
||
| 220 | 'EXPECTED' => ($imgPath = SN_ROOT_VIRTUAL . 'design/images/icon_note_pinned_64x64.png') . "<br /><img src=\"{$imgPath}\" />", |
||
| 221 | 'DESCRIPTION' => 'Direct image access by absolute path', |
||
| 222 | ), |
||
| 223 | array( |
||
| 224 | 'SAMPLE' => "{" . ($tag = "I_images/border_small.png") . "}<br />{{$tag}|html}", |
||
| 225 | 'EXPECTED' => ($imgPath = SN_ROOT_VIRTUAL . 'skins/EpicBlue/images/border_small.png') . "<br /><img src=\"{$imgPath}\" />", |
||
| 226 | 'DESCRIPTION' => 'Access image in skin by relative path', |
||
| 227 | ), |
||
| 228 | array( |
||
| 229 | 'SAMPLE' => "{" . ($tag = "I_navbar_research") . "}<br />{{$tag}|html}", |
||
| 230 | 'EXPECTED' => ($imgPath = SN_ROOT_VIRTUAL . 'design/images/navbar_research_64x64.png') . "<br /><img src=\"{$imgPath}\" />", |
||
| 231 | 'DESCRIPTION' => 'Image direct access by ID in skin.ini', |
||
| 232 | ), |
||
| 233 | array( |
||
| 234 | 'SAMPLE' => "{" . ($tag = "I_navbar_research|skin=supernova-ivash") . "}<br />{{$tag}|html}", |
||
| 235 | 'EXPECTED' => ($imgPath = SN_ROOT_VIRTUAL . 'skins/supernova-ivash/navbar/navbar_research_64x64.png') . "<br /><img src=\"{$imgPath}\" />", |
||
| 236 | 'DESCRIPTION' => 'Param \'skin\' - get image by Image ID from other skin', |
||
| 237 | ), |
||
| 238 | array( |
||
| 239 | 'SAMPLE' => "{" . ($tag = "I_navbar_research|height=\"20%\"|width=\"20%\"") . "}<br />{{$tag}|html}", |
||
| 240 | 'EXPECTED' => ($imgPath = SN_ROOT_VIRTUAL . 'design/images/navbar_research_64x64.png') . "<br /><img src=\"{$imgPath}\" height=\"20%\" width=\"20%\" />", |
||
| 241 | 'DESCRIPTION' => 'Image attributes - height 20%, width 20%', |
||
| 242 | ), |
||
| 243 | array( |
||
| 244 | 'SAMPLE' => "{" . ($tag = "I_navbar_research|skin=supernova-ivash|height=\"40px\"") . "}<br />{{$tag}|html}", |
||
| 245 | 'EXPECTED' => ($imgPath = SN_ROOT_VIRTUAL . 'skins/supernova-ivash/navbar/navbar_research_64x64.png') . "<br /><img src=\"{$imgPath}\" height=\"40px\" />", |
||
| 246 | 'DESCRIPTION' => 'Param \'skin\' with other params', |
||
| 247 | ), |
||
| 248 | |||
| 249 | array( |
||
| 250 | 'SAMPLE' => "{" . ($tag = "I_[\$BLACK]") . "}<br />{{$tag}|html}", |
||
| 251 | 'EXPECTED' => ($imgPath = SN_ROOT_VIRTUAL . 'skins/EpicBlue/planeten/black_moon.jpg') . "<br /><img src=\"{$imgPath}\" />", |
||
| 252 | 'DESCRIPTION' => 'DEFINE-d test', |
||
| 253 | ), |
||
| 254 | |||
| 255 | array( |
||
| 256 | 'SAMPLE' => "{" . ($tag = "I_s_[\$BLACK]") . "}<br />{{$tag}|html}", |
||
| 257 | 'EXPECTED' => ($imgPath = SN_ROOT_VIRTUAL . 'skins/EpicBlue/planeten/small/s_black_moon.jpg') . "<br /><img src=\"{$imgPath}\" />", |
||
| 258 | 'DESCRIPTION' => 'DEFINE-d and prefix test', |
||
| 259 | ), |
||
| 260 | |||
| 261 | array( |
||
| 262 | 'SAMPLE' => '{R_[RENDER_NAVBAR_RESEARCH]}', |
||
| 263 | 'EXPECTED' => '<img src="' . SN_ROOT_VIRTUAL . 'design/images/navbar_research_64x64.png"/>', |
||
| 264 | 'DESCRIPTION' => 'Re-rendering image', |
||
| 265 | ), |
||
| 266 | |||
| 267 | array('HEADER' => 'Blocks'), |
||
| 268 | ); |
||
| 269 | |||
| 270 | // $tests = array( |
||
| 271 | // array('HEADER' => '!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!'), |
||
| 272 | // array( |
||
| 273 | // 'SAMPLE' => '{L_admin_ptl_test_la_}', |
||
| 274 | // 'EXPECTED' => 'Single\'Double"ZeroEnd', |
||
| 275 | // 'DESCRIPTION' => 'Language string', |
||
| 276 | // ), |
||
| 277 | // ); |
||
| 278 | |||
| 279 | SN::$config->__ptl_test = 'config_ptl_test'; |
||
|
0 ignored issues
–
show
The property
__ptl_test does not exist on classConfig. Since you implemented __set, consider adding a @property annotation.
Loading history...
|
|||
| 280 | SN::$config->__ptl_test_array = array('value' => 'config_ptl_test_array'); |
||
|
0 ignored issues
–
show
The property
__ptl_test_array does not exist on classConfig. Since you implemented __set, consider adding a @property annotation.
Loading history...
|
|||
| 281 | |||
| 282 | foreach ($tests as $test) { |
||
| 283 | $test['CONSTRUCTION'] = str_replace(array('{', '}'), array('{', '}'), $test['SAMPLE']); |
||
| 284 | $template->assign_block_vars('test', $test); |
||
| 285 | } |
||
| 286 | |||
| 287 | SnTemplate::display($template); |
||
| 288 | break; |
||
| 289 | } |
||
| 290 | |||
| 291 | $template = SnTemplate::gettemplate("admin/admin_tools", true); |
||
| 292 | $template->assign_vars(array( |
||
| 293 | 'PAGE_HEADER' => $lang['adm_tools'], |
||
| 294 | )); |
||
| 295 | |||
| 296 | $template->assign_recursive($template_result); |
||
| 297 | |||
| 298 | SnTemplate::display($template); |
||
| 299 |