PageRenderTime 47ms CodeModel.GetById 20ms RepoModel.GetById 0ms app.codeStats 0ms

/htroot/manager/includes/config_check.inc.php

https://github.com/gunf/novo-isaak.local
PHP | 216 lines | 191 code | 22 blank | 3 comment | 51 complexity | 8969b61118515dab59c0b23cad5d475a MD5 | raw file
  1. <?php
  2. if(IN_MANAGER_MODE!="true") die("<b>INCLUDE_ORDERING_ERROR</b><br /><br />Please use the MODx Content Manager instead of accessing this file directly.");
  3. $warningspresent = 0;
  4. if (is_writable("includes/config.inc.php")){
  5. // Warn if world writable
  6. if(@fileperms('includes/config.inc.php') & 0x0002) {
  7. $warningspresent = 1;
  8. $warnings[] = array($_lang['configcheck_configinc']);
  9. }
  10. }
  11. if (file_exists("../install/")) {
  12. $warningspresent = 1;
  13. $warnings[] = array($_lang['configcheck_installer']);
  14. }
  15. if (ini_get('register_globals')==TRUE) {
  16. $warningspresent = 1;
  17. $warnings[] = array($_lang['configcheck_register_globals']);
  18. }
  19. if (!extension_loaded('gd') || !extension_loaded('zip')) {
  20. $warningspresent = 1;
  21. $warnings[] = array($_lang['configcheck_php_gdzip']);
  22. }
  23. if(!isset($modx->config['_hide_configcheck_validate_referer']) || $modx->config['_hide_configcheck_validate_referer'] !== '1') {
  24. if(isset($_SESSION['mgrPermissions']['settings']) && $_SESSION['mgrPermissions']['settings'] == '1') {
  25. if ($modx->db->getValue('SELECT COUNT(setting_value) FROM '.$modx->getFullTableName('system_settings').' WHERE setting_name=\'validate_referer\' AND setting_value=\'0\'')) {
  26. $warningspresent = 1;
  27. $warnings[] = array($_lang['configcheck_validate_referer']);
  28. }
  29. }
  30. }
  31. // check for Template Switcher plugin
  32. if(!isset($modx->config['_hide_configcheck_templateswitcher_present']) || $modx->config['_hide_configcheck_templateswitcher_present'] !== '1') {
  33. if(isset($_SESSION['mgrPermissions']['edit_plugin']) && $_SESSION['mgrPermissions']['edit_plugin'] == '1') {
  34. $sql = "SELECT name, disabled FROM ".$modx->getFullTableName('site_plugins')." WHERE name IN ('TemplateSwitcher', 'Template Switcher', 'templateswitcher', 'template_switcher', 'template switcher') OR plugincode LIKE '%TemplateSwitcher%'";
  35. $rs = $modx->db->query($sql);
  36. $row = $modx->db->getRow($rs, 'assoc');
  37. if($row && $row['disabled'] == 0) {
  38. $warningspresent = 1;
  39. $warnings[] = array($_lang['configcheck_templateswitcher_present']);
  40. $tplName = $row['name'];
  41. $script = <<<JS
  42. <script type="text/javascript">
  43. function deleteTemplateSwitcher(){
  44. if(confirm('{$_lang["confirm_delete_plugin"]}')) {
  45. var myAjax = new Ajax('index.php?a=118', {
  46. method: 'post',
  47. data: 'action=updateplugin&key=_delete_&lang=$tplName'
  48. });
  49. myAjax.addEvent('onComplete', function(resp){
  50. fieldset = $('templateswitcher_present_warning_wrapper').getParent().getParent();
  51. var sl = new Fx.Slide(fieldset);
  52. sl.slideOut();
  53. });
  54. myAjax.request();
  55. }
  56. }
  57. function disableTemplateSwitcher(){
  58. var myAjax = new Ajax('index.php?a=118', {
  59. method: 'post',
  60. data: 'action=updateplugin&lang={$tplName}&key=disabled&value=1'
  61. });
  62. myAjax.addEvent('onComplete', function(resp){
  63. fieldset = $('templateswitcher_present_warning_wrapper').getParent().getParent();
  64. var sl = new Fx.Slide(fieldset);
  65. sl.slideOut();
  66. });
  67. myAjax.request();
  68. }
  69. </script>
  70. JS;
  71. $modx->regClientScript($script);
  72. }
  73. }
  74. }
  75. if ($modx->db->getValue('SELECT published FROM '.$modx->getFullTableName('site_content').' WHERE id='.$unauthorized_page) == 0) {
  76. $warningspresent = 1;
  77. $warnings[] = array($_lang['configcheck_unauthorizedpage_unpublished']);
  78. }
  79. if ($modx->db->getValue('SELECT published FROM '.$modx->getFullTableName('site_content').' WHERE id='.$error_page) == 0) {
  80. $warningspresent = 1;
  81. $warnings[] = array($_lang['configcheck_errorpage_unpublished']);
  82. }
  83. if ($modx->db->getValue('SELECT privateweb FROM '.$modx->getFullTableName('site_content').' WHERE id='.$unauthorized_page) == 1) {
  84. $warningspresent = 1;
  85. $warnings[] = array($_lang['configcheck_unauthorizedpage_unavailable']);
  86. }
  87. if ($modx->db->getValue('SELECT privateweb FROM '.$modx->getFullTableName('site_content').' WHERE id='.$error_page) == 1) {
  88. $warningspresent = 1;
  89. $warnings[] = array($_lang['configcheck_errorpage_unavailable']);
  90. }
  91. if (!function_exists('checkSiteCache')) {
  92. function checkSiteCache() {
  93. global $modx;
  94. $checked= true;
  95. if (file_exists($modx->config['base_path'] . 'assets/cache/siteCache.idx.php')) {
  96. $checked= @include_once ($modx->config['base_path'] . 'assets/cache/siteCache.idx.php');
  97. }
  98. return $checked;
  99. }
  100. }
  101. if (!is_writable("../assets/cache/")) {
  102. $warningspresent = 1;
  103. $warnings[] = array($_lang['configcheck_cache']);
  104. }
  105. if (!checkSiteCache()) {
  106. $warningspresent = 1;
  107. $warnings[]= array($lang['configcheck_sitecache_integrity']);
  108. }
  109. if (!is_writable("../assets/images/")) {
  110. $warningspresent = 1;
  111. $warnings[] = array($_lang['configcheck_images']);
  112. }
  113. if (count($_lang)!=$length_eng_lang) {
  114. $warningspresent = 1;
  115. $warnings[] = array($_lang['configcheck_lang_difference']);
  116. }
  117. // clear file info cache
  118. clearstatcache();
  119. if ($warningspresent==1) {
  120. $config_check_results = "<h3>".$_lang['configcheck_notok']."</h3>";
  121. for ($i=0;$i<count($warnings);$i++) {
  122. switch ($warnings[$i][0]) {
  123. case $_lang['configcheck_configinc'];
  124. $warnings[$i][1] = $_lang['configcheck_configinc_msg'];
  125. if(!$_SESSION["mgrConfigCheck"]) $modx->logEvent(0,2,$warnings[$i][1],$_lang['configcheck_configinc']);
  126. break;
  127. case $_lang['configcheck_installer'] :
  128. $warnings[$i][1] = $_lang['configcheck_installer_msg'];
  129. if(!$_SESSION["mgrConfigCheck"]) $modx->logEvent(0,2,$warnings[$i][1],$_lang['configcheck_installer']);
  130. break;
  131. case $_lang['configcheck_cache'] :
  132. $warnings[$i][1] = $_lang['configcheck_cache_msg'];
  133. if(!$_SESSION["mgrConfigCheck"]) $modx->logEvent(0,2,$warnings[$i][1],$_lang['configcheck_cache']);
  134. break;
  135. case $_lang['configcheck_images'] :
  136. $warnings[$i][1] = $_lang['configcheck_images_msg'];
  137. if(!$_SESSION["mgrConfigCheck"]) $modx->logEvent(0,2,$warnings[$i][1],$_lang['configcheck_images']);
  138. break;
  139. case $_lang['configcheck_lang_difference'] :
  140. $warnings[$i][1] = $_lang['configcheck_lang_difference_msg'];
  141. break;
  142. case $_lang['configcheck_register_globals'] :
  143. $warnings[$i][1] = $_lang['configcheck_register_globals_msg'];
  144. break;
  145. case $_lang['configcheck_php_gdzip'] :
  146. $warnings[$i][1] = $_lang['configcheck_php_gdzip_msg'];
  147. break;
  148. case $_lang['configcheck_unauthorizedpage_unpublished'] :
  149. $warnings[$i][1] = $_lang['configcheck_unauthorizedpage_unpublished_msg'];
  150. break;
  151. case $_lang['configcheck_errorpage_unpublished'] :
  152. $warnings[$i][1] = $_lang['configcheck_errorpage_unpublished_msg'];
  153. break;
  154. case $_lang['configcheck_unauthorizedpage_unavailable'] :
  155. $warnings[$i][1] = $_lang['configcheck_unauthorizedpage_unavailable_msg'];
  156. break;
  157. case $_lang['configcheck_errorpage_unavailable'] :
  158. $warnings[$i][1] = $_lang['configcheck_errorpage_unavailable_msg'];
  159. break;
  160. case $_lang['configcheck_validate_referer'] :
  161. $msg = $_lang['configcheck_validate_referer_msg'];
  162. $msg .= '<br />' . sprintf($_lang["configcheck_hide_warning"], 'validate_referer');
  163. $warnings[$i][1] = "<span id=\"validate_referer_warning_wrapper\">{$msg}</span>\n";
  164. break;
  165. case $_lang['configcheck_templateswitcher_present'] :
  166. $msg = $_lang["configcheck_templateswitcher_present_msg"];
  167. if(isset($_SESSION['mgrPermissions']['save_plugin']) && $_SESSION['mgrPermissions']['save_plugin'] == '1') {
  168. $msg .= '<br />' . $_lang["configcheck_templateswitcher_present_disable"];
  169. }
  170. if(isset($_SESSION['mgrPermissions']['delete_plugin']) && $_SESSION['mgrPermissions']['delete_plugin'] == '1') {
  171. $msg .= '<br />' . $_lang["configcheck_templateswitcher_present_delete"];
  172. }
  173. $msg .= '<br />' . sprintf($_lang["configcheck_hide_warning"], 'templateswitcher_present');
  174. $warnings[$i][1] = "<span id=\"templateswitcher_present_warning_wrapper\">{$msg}</span>\n";
  175. break;
  176. default :
  177. $warnings[$i][1] = $_lang['configcheck_default_msg'];
  178. }
  179. $admin_warning = $_SESSION['mgrRole']!=1 ? $_lang['configcheck_admin'] : "" ;
  180. $config_check_results .= "
  181. <fieldset>
  182. <p><strong>".$_lang['configcheck_warning']."</strong> '".$warnings[$i][0]."'</p>
  183. <p style=\"padding-left:1em\"><em>".$_lang['configcheck_what']."</em><br />
  184. ".$warnings[$i][1]." ".$admin_warning."</p>
  185. </fieldset>
  186. ";
  187. if ($i!=count($warnings)-1) {
  188. $config_check_results .= "<br />";
  189. }
  190. }
  191. $_SESSION["mgrConfigCheck"]=true;
  192. } else {
  193. $config_check_results = $_lang['configcheck_ok'];
  194. }