PageRenderTime 43ms CodeModel.GetById 15ms RepoModel.GetById 0ms app.codeStats 0ms

/wp-content/plugins/duplicator/views/tools/diagnostics.php

https://gitlab.com/juanito.abelo/nlmobile
PHP | 313 lines | 286 code | 26 blank | 1 comment | 15 complexity | 45f6b4618a47aaab09a899e12124c836 MD5 | raw file
  1. <?php
  2. require_once(DUPLICATOR_PLUGIN_PATH . '/assets/js/javascript.php');
  3. require_once(DUPLICATOR_PLUGIN_PATH . '/views/inc.header.php');
  4. global $wp_version;
  5. global $wpdb;
  6. ob_start();
  7. phpinfo();
  8. $serverinfo = ob_get_contents();
  9. ob_end_clean();
  10. $serverinfo = preg_replace( '%^.*<body>(.*)</body>.*$%ms', '$1', $serverinfo);
  11. $serverinfo = preg_replace( '%^.*<title>(.*)</title>.*$%ms','$1', $serverinfo);
  12. $action_response = null;
  13. $dbvar_maxtime = DUP_Util::MysqlVariableValue('wait_timeout');
  14. $dbvar_maxpacks = DUP_Util::MysqlVariableValue('max_allowed_packet');
  15. $dbvar_maxtime = is_null($dbvar_maxtime) ? __("unknow", 'duplicator') : $dbvar_maxtime;
  16. $dbvar_maxpacks = is_null($dbvar_maxpacks) ? __("unknow", 'duplicator') : $dbvar_maxpacks;
  17. $space = @disk_total_space(DUPLICATOR_WPROOTPATH);
  18. $space_free = @disk_free_space(DUPLICATOR_WPROOTPATH);
  19. $perc = @round((100/$space)*$space_free,2);
  20. $mysqldumpPath = DUP_Database::GetMySqlDumpPath();
  21. $mysqlDumpSupport = ($mysqldumpPath) ? $mysqldumpPath : 'Path Not Found';
  22. $view_state = DUP_UI::GetViewStateArray();
  23. $ui_css_srv_panel = (isset($view_state['dup-settings-diag-srv-panel']) && $view_state['dup-settings-diag-srv-panel']) ? 'display:block' : 'display:none';
  24. $ui_css_opts_panel = (isset($view_state['dup-settings-diag-opts-panel']) && $view_state['dup-settings-diag-opts-panel']) ? 'display:block' : 'display:none';
  25. $client_ip_address = DUP_Server::GetClientIP();
  26. //POST BACK
  27. $action_updated = null;
  28. if (isset($_POST['action'])) {
  29. $action_result = DUP_Settings::DeleteWPOption($_POST['action']);
  30. switch ($_POST['action']) {
  31. case 'duplicator_settings' : $action_response = __('Plugin settings reset.', 'duplicator'); break;
  32. case 'duplicator_ui_view_state' : $action_response = __('View state settings reset.', 'duplicator'); break;
  33. case 'duplicator_package_active' : $action_response = __('Active package settings reset.', 'duplicator'); break;
  34. case 'clear_legacy_data':
  35. DUP_Settings::LegacyClean();
  36. $action_response = __('Legacy data removed.', 'duplicator');
  37. break;
  38. }
  39. }
  40. ?>
  41. <style>
  42. div#message {margin:0px 0px 10px 0px}
  43. div#dup-server-info-area { padding:10px 5px; }
  44. div#dup-server-info-area table { padding:1px; background:#dfdfdf; -webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px; width:100% !important; box-shadow:0 8px 6px -6px #777; }
  45. div#dup-server-info-area td, th {padding:3px; background:#fff; -webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;}
  46. div#dup-server-info-area tr.h img { display:none; }
  47. div#dup-server-info-area tr.h td{ background:none; }
  48. div#dup-server-info-area tr.h th{ text-align:center; background-color:#efefef; }
  49. div#dup-server-info-area td.e{ font-weight:bold }
  50. td.dup-settings-diag-header {background-color:#D8D8D8; font-weight: bold; border-style: none; color:black}
  51. .widefat th {font-weight:bold; }
  52. .widefat td {padding:2px 2px 2px 8px}
  53. .widefat td:nth-child(1) {width:10px;}
  54. .widefat td:nth-child(2) {padding-left: 20px; width:100% !important}
  55. textarea.dup-opts-read {width:100%; height:40px; font-size:12px}
  56. </style>
  57. <form id="dup-settings-form" action="<?php echo admin_url( 'admin.php?page=duplicator-tools&tab=diagnostics' ); ?>" method="post">
  58. <?php wp_nonce_field( 'duplicator_settings_page' ); ?>
  59. <input type="hidden" id="dup-settings-form-action" name="action" value="">
  60. <br/>
  61. <?php if (! empty($action_response)) : ?>
  62. <div id="message" class="updated below-h2"><p><?php echo $action_response; ?></p></div>
  63. <?php endif; ?>
  64. <!-- ==============================
  65. SERVER SETTINGS -->
  66. <div class="dup-box">
  67. <div class="dup-box-title">
  68. <i class="fa fa-tachometer"></i>
  69. <?php _e("Server Settings", 'duplicator') ?>
  70. <div class="dup-box-arrow"></div>
  71. </div>
  72. <div class="dup-box-panel" id="dup-settings-diag-srv-panel" style="<?php echo $ui_css_srv_panel?>">
  73. <table class="widefat" cellspacing="0">
  74. <tr>
  75. <td class='dup-settings-diag-header' colspan="2"><?php _e("General", 'duplicator'); ?></td>
  76. </tr>
  77. <tr>
  78. <td><?php _e("Duplicator Version", 'duplicator'); ?></td>
  79. <td><?php echo DUPLICATOR_VERSION ?></td>
  80. </tr>
  81. <tr>
  82. <td><?php _e("Operating System", 'duplicator'); ?></td>
  83. <td><?php echo PHP_OS ?></td>
  84. </tr>
  85. <tr>
  86. <td><?php _e("Timezone", 'duplicator'); ?></td>
  87. <td><?php echo date_default_timezone_get() ; ?> &nbsp; <small><i>This is a <a href='options-general.php'>WordPress setting</a></i></small></td>
  88. </tr>
  89. <tr>
  90. <td><?php _e("Server Time", 'duplicator'); ?></td>
  91. <td><?php echo date("Y-m-d H:i:s"); ?></td>
  92. </tr>
  93. <tr>
  94. <td><?php _e("Web Server", 'duplicator'); ?></td>
  95. <td><?php echo $_SERVER['SERVER_SOFTWARE'] ?></td>
  96. </tr>
  97. <tr>
  98. <td><?php _e("APC Enabled", 'duplicator'); ?></td>
  99. <td><?php echo DUP_Util::RunAPC() ? 'Yes' : 'No' ?></td>
  100. </tr>
  101. <tr>
  102. <td><?php _e("Root Path", 'duplicator'); ?></td>
  103. <td><?php echo DUPLICATOR_WPROOTPATH ?></td>
  104. </tr>
  105. <tr>
  106. <td><?php _e("ABSPATH", 'duplicator'); ?></td>
  107. <td><?php echo ABSPATH ?></td>
  108. </tr>
  109. <tr>
  110. <td><?php _e("Plugins Path", 'duplicator'); ?></td>
  111. <td><?php echo DUP_Util::SafePath(WP_PLUGIN_DIR) ?></td>
  112. </tr>
  113. <tr>
  114. <td><?php _e("Loaded PHP INI", 'duplicator'); ?></td>
  115. <td><?php echo php_ini_loaded_file() ;?></td>
  116. </tr>
  117. <tr>
  118. <td><?php _e("Server IP", 'duplicator'); ?></td>
  119. <td><?php echo $_SERVER['SERVER_ADDR'];?></td>
  120. </tr>
  121. <tr>
  122. <td><?php _e("Client IP", 'duplicator'); ?></td>
  123. <td><?php echo $client_ip_address;?></td>
  124. </tr>
  125. <tr>
  126. <td class='dup-settings-diag-header' colspan="2">WordPress</td>
  127. </tr>
  128. <tr>
  129. <td><?php _e("Version", 'duplicator'); ?></td>
  130. <td><?php echo $wp_version ?></td>
  131. </tr>
  132. <tr>
  133. <td><?php _e("Language", 'duplicator'); ?></td>
  134. <td><?php echo get_bloginfo('language') ?></td>
  135. </tr>
  136. <tr>
  137. <td><?php _e("Charset", 'duplicator'); ?></td>
  138. <td><?php echo get_bloginfo('charset') ?></td>
  139. </tr>
  140. <tr>
  141. <td><?php _e("Memory Limit ", 'duplicator'); ?></td>
  142. <td><?php echo WP_MEMORY_LIMIT ?> (<?php _e("Max", 'duplicator'); echo '&nbsp;' . WP_MAX_MEMORY_LIMIT; ?>)</td>
  143. </tr>
  144. <tr>
  145. <td class='dup-settings-diag-header' colspan="2">PHP</td>
  146. </tr>
  147. <tr>
  148. <td><?php _e("Version", 'duplicator'); ?></td>
  149. <td><?php echo phpversion() ?></td>
  150. </tr>
  151. <tr>
  152. <td>SAPI</td>
  153. <td><?php echo PHP_SAPI ?></td>
  154. </tr>
  155. <tr>
  156. <td><?php _e("User", 'duplicator'); ?></td>
  157. <td><?php echo DUP_Util::GetCurrentUser(); ?></td>
  158. </tr>
  159. <tr>
  160. <td><a href="http://php.net/manual/en/features.safe-mode.php" target="_blank"><?php _e("Safe Mode", 'duplicator'); ?></a></td>
  161. <td>
  162. <?php echo (((strtolower(@ini_get('safe_mode')) == 'on') || (strtolower(@ini_get('safe_mode')) == 'yes') ||
  163. (strtolower(@ini_get('safe_mode')) == 'true') || (ini_get("safe_mode") == 1 )))
  164. ? __('On', 'duplicator') : __('Off', 'duplicator');
  165. ?>
  166. </td>
  167. </tr>
  168. <tr>
  169. <td><a href="http://www.php.net/manual/en/ini.core.php#ini.memory-limit" target="_blank"><?php _e("Memory Limit", 'duplicator'); ?></a></td>
  170. <td><?php echo @ini_get('memory_limit') ?></td>
  171. </tr>
  172. <tr>
  173. <td><?php _e("Memory In Use", 'duplicator'); ?></td>
  174. <td><?php echo size_format(@memory_get_usage(TRUE), 2) ?></td>
  175. </tr>
  176. <tr>
  177. <td><a href="http://www.php.net/manual/en/info.configuration.php#ini.max-execution-time" target="_blank"><?php _e("Max Execution Time", 'duplicator'); ?></a></td>
  178. <td><?php echo @ini_get( 'max_execution_time' ); ?></td>
  179. </tr>
  180. <tr>
  181. <td><a href="http://us3.php.net/shell_exec" target="_blank"><?php _e("Shell Exec", 'duplicator'); ?></a></td>
  182. <td><?php echo (DUP_Util::IsShellExecAvailable()) ? _e("Is Supported", 'duplicator') : _e("Not Supported", 'duplicator'); ?></td>
  183. </tr>
  184. <tr>
  185. <td><?php _e("Shell Exec Zip", 'duplicator'); ?></td>
  186. <td><?php echo (DUP_Util::GetZipPath() != null) ? _e("Is Supported", 'duplicator') : _e("Not Supported", 'duplicator'); ?></td>
  187. </tr>
  188. <tr>
  189. <td class='dup-settings-diag-header' colspan="2">MySQL</td>
  190. </tr>
  191. <tr>
  192. <td><?php _e("Version", 'duplicator'); ?></td>
  193. <td><?php echo $wpdb->db_version() ?></td>
  194. </tr>
  195. <tr>
  196. <td><?php _e("Charset", 'duplicator'); ?></td>
  197. <td><?php echo DB_CHARSET ?></td>
  198. </tr>
  199. <tr>
  200. <td><a href="http://dev.mysql.com/doc/refman/5.0/en/server-system-variables.html#sysvar_wait_timeout" target="_blank"><?php _e("Wait Timeout", 'duplicator'); ?></a></td>
  201. <td><?php echo $dbvar_maxtime ?></td>
  202. </tr>
  203. <tr>
  204. <td style="white-space:nowrap"><a href="http://dev.mysql.com/doc/refman/5.0/en/server-system-variables.html#sysvar_max_allowed_packet" target="_blank"><?php _e("Max Allowed Packets", 'duplicator'); ?></a></td>
  205. <td><?php echo $dbvar_maxpacks ?></td>
  206. </tr>
  207. <tr>
  208. <td><a href="http://dev.mysql.com/doc/refman/5.0/en/mysqldump.html" target="_blank"><?php _e("msyqldump Path", 'duplicator'); ?></a></td>
  209. <td><?php echo $mysqlDumpSupport ?></td>
  210. </tr>
  211. <tr>
  212. <td class='dup-settings-diag-header' colspan="2"><?php _e("Server Disk", 'duplicator'); ?></td>
  213. </tr>
  214. <tr valign="top">
  215. <td><?php _e('Free space', 'hyper-cache'); ?></td>
  216. <td><?php echo $perc;?>% -- <?php echo DUP_Util::ByteSize($space_free);?> from <?php echo DUP_Util::ByteSize($space);?><br/>
  217. <small>
  218. <?php _e("Note: This value is the physical servers hard-drive allocation.", 'duplicator'); ?> <br/>
  219. <?php _e("On shared hosts check your control panel for the 'TRUE' disk space quota value.", 'duplicator'); ?>
  220. </small>
  221. </td>
  222. </tr>
  223. </table><br/>
  224. </div> <!-- end .dup-box-panel -->
  225. </div> <!-- end .dup-box -->
  226. <br/>
  227. <!-- ==============================
  228. OPTIONS DATA -->
  229. <div class="dup-box">
  230. <div class="dup-box-title">
  231. <i class="fa fa-th-list"></i>
  232. <?php _e("Stored Data", 'duplicator'); ?>
  233. <div class="dup-box-arrow"></div>
  234. </div>
  235. <div class="dup-box-panel" id="dup-settings-diag-opts-panel" style="<?php echo $ui_css_opts_panel?>">
  236. <div style="padding:0px 20px 0px 25px">
  237. <h3 class="title" style="margin-left:-15px"><?php _e("Options Values", 'duplicator') ?> </h3>
  238. <table class="widefat" cellspacing="0">
  239. <tr>
  240. <th>Key</th>
  241. <th>Value</th>
  242. </tr>
  243. <?php
  244. $sql = "SELECT * FROM `{$wpdb->prefix}options` WHERE `option_name` LIKE '%duplicator_%' ORDER BY option_name";
  245. foreach( $wpdb->get_results("{$sql}") as $key => $row) { ?>
  246. <tr>
  247. <td>
  248. <?php
  249. echo (in_array($row->option_name, $GLOBALS['DUPLICATOR_OPTS_DELETE']))
  250. ? "<a href='javascript:void(0)' onclick='Duplicator.Settings.DeleteOption(this)'>{$row->option_name}</a>"
  251. : $row->option_name;
  252. ?>
  253. </td>
  254. <td><textarea class="dup-opts-read" readonly="readonly"><?php echo $row->option_value?></textarea></td>
  255. </tr>
  256. <?php } ?>
  257. </table>
  258. </div>
  259. </div> <!-- end .dup-box-panel -->
  260. </div> <!-- end .dup-box -->
  261. <br/>
  262. <!-- ==============================
  263. PHP INFORMATION -->
  264. <div class="dup-box">
  265. <div class="dup-box-title">
  266. <i class="fa fa-info-circle"></i>
  267. <?php _e("PHP Information", 'duplicator'); ?>
  268. <div class="dup-box-arrow"></div>
  269. </div>
  270. <div class="dup-box-panel" style="display:none">
  271. <div id="dup-phpinfo" style="width:95%">
  272. <?php echo "<div id='dup-server-info-area'>{$serverinfo}</div>"; ?>
  273. </div><br/>
  274. </div> <!-- end .dup-box-panel -->
  275. </div> <!-- end .dup-box -->
  276. </form>
  277. <script>
  278. jQuery(document).ready(function($) {
  279. Duplicator.Settings.DeleteOption = function (anchor) {
  280. var key = $(anchor).text();
  281. var result = confirm('<?php _e("Delete this option value", "duplicator"); ?> [' + key + '] ?');
  282. if (! result) return;
  283. jQuery('#dup-settings-form-action').val(key);
  284. jQuery('#dup-settings-form').submit();
  285. }
  286. });
  287. </script>