PageRenderTime 65ms CodeModel.GetById 29ms RepoModel.GetById 0ms app.codeStats 0ms

/source/innomatic/root/maintenance.php

https://bitbucket.org/innoteam/innomatic
PHP | 1830 lines | 1631 code | 137 blank | 62 comment | 44 complexity | 52b9d0ddd90e5f9b075e7ef79522a65e MD5 | raw file
Possible License(s): BSD-3-Clause, Apache-2.0, LGPL-2.0, LGPL-2.1

Large files files are truncated, but you can click here to view the full file

  1. <?php
  2. /**
  3. * Innomatic
  4. *
  5. * LICENSE
  6. *
  7. * This source file is subject to the new BSD license that is bundled
  8. * with this package in the file LICENSE.
  9. *
  10. * @copyright 1999-2012 Innoteam S.r.l.
  11. * @license http://www.innomatic.org/license/ BSD License
  12. * @link http://www.innomatic.org
  13. * @since Class available since Release 5.0
  14. */
  15. // NOTE: This is an old-style panel code with a single file
  16. // acting as model, view and controller.
  17. require_once('innomatic/locale/LocaleCatalog.php');
  18. require_once('innomatic/locale/LocaleCountry.php');
  19. require_once('innomatic/wui/Wui.php');
  20. require_once('innomatic/wui/dispatch/WuiEventsCall.php');
  21. require_once('innomatic/maintenance/MaintenanceHandler.php');
  22. global $gPageStatus, $gLocale;
  23. global $gXmlDefinition, $gLocale, $gPageTitle, $gToolbars;
  24. $gLocale = new LocaleCatalog(
  25. 'innomatic::root_maintenance',
  26. InnomaticContainer::instance('innomaticcontainer')->getLanguage()
  27. );
  28. $gWui = Wui::instance('wui');
  29. $gWui->loadWidget('xml');
  30. $gWui->loadWidget('innomaticpage');
  31. $gWui->loadWidget('innomatictoolbar');
  32. $gXmlDefinition = $gPageStatus = '';
  33. $gPageTitle = $gLocale->getStr('maintenance.title');
  34. $gToolbars['view'] = array(
  35. 'innomatic' => array(
  36. 'label' => $gLocale->getStr('general.toolbar'),
  37. 'themeimage' => 'configure',
  38. 'horiz' => 'true',
  39. 'action' => WuiEventsCall::buildEventsCallString(
  40. '',
  41. array(
  42. array(
  43. 'view',
  44. 'default',
  45. ''
  46. )
  47. )
  48. )
  49. ),
  50. 'general' => array(
  51. 'label' => $gLocale->getStr('innomatic.toolbar'),
  52. 'themeimage' => 'configure',
  53. 'horiz' => 'true',
  54. 'action' => WuiEventsCall::buildEventsCallString(
  55. '',
  56. array(
  57. array(
  58. 'view',
  59. 'innomatic',
  60. ''
  61. )
  62. )
  63. )
  64. )
  65. );
  66. // Info tool bar
  67. //
  68. if (file_exists(InnomaticContainer::instance('innomaticcontainer')->getHome().'core/log/innomatic.log')) {
  69. $innomaticLogAction = new WuiEventsCall();
  70. $innomaticLogAction->addEvent(new WuiEvent('view', 'showrootlog', ''));
  71. $gToolbars['info']['rootlog'] = array(
  72. 'label' => $gLocale->getStr('rootlog_button'),
  73. 'themeimage' => 'toggle_log',
  74. 'horiz' => 'true',
  75. 'action' => $innomaticLogAction->getEventsCallString()
  76. );
  77. }
  78. if (file_exists(InnomaticContainer::instance('innomaticcontainer')->getHome().'core/log/webservices.log')) {
  79. $innomaticWebServicesLogAction = new WuiEventsCall();
  80. $innomaticWebServicesLogAction->addEvent(new WuiEvent('view', 'showrootwebserviceslog', ''));
  81. $gToolbars['info']['webserviceslog'] = array(
  82. 'label' => $gLocale->getStr('rootwebserviceslog_button'),
  83. 'themeimage' => 'toggle_log',
  84. 'horiz' => 'true',
  85. 'action' => $innomaticWebServicesLogAction->getEventsCallString()
  86. );
  87. }
  88. $gToolbars['help'] = array(
  89. 'help' => array(
  90. 'label' => $gLocale->getStr('help.toolbar'),
  91. 'themeimage' => 'help',
  92. 'horiz' => 'true',
  93. 'action' => WuiEventsCall::buildEventsCallString(
  94. '',
  95. array(
  96. array(
  97. 'view',
  98. 'help',
  99. ''
  100. )
  101. )
  102. )
  103. )
  104. );
  105. // ----- Action dispatcher -----
  106. //
  107. $gActionDispatcher = new WuiDispatcher('action');
  108. $gActionDispatcher->addEvent('clear_systemlogs', 'action_clear_systemlogs');
  109. function action_clear_systemlogs($eventData)
  110. {
  111. global $gPageStatus, $gLocale;
  112. require_once('shared/maintenance/InnomaticLogsMaintenance.php');
  113. $maint = new InnomaticLogsMaintenance();
  114. $maint->mCleanRootLog = true;
  115. $maint->mCleanRootDbLog = true;
  116. $maint->mCleanPhpLog = true;
  117. $maint->mCleanWebServicesLog = true;
  118. $maint->mCleanAccessLog = true;
  119. $maint->CleanSystemLogs();
  120. $gPageStatus = $gLocale->getStr('systemlogs_cleaned.status');
  121. }
  122. $gActionDispatcher->addEvent('clear_domainslogs', 'action_clear_domainslogs');
  123. function action_clear_domainslogs($eventData)
  124. {
  125. global $gPageStatus, $gLocale;
  126. require_once('shared/maintenance/InnomaticLogsMaintenance.php');
  127. $maint = new InnomaticLogsMaintenance();
  128. $maint->CleanDomainsLogs();
  129. $gPageStatus = $gLocale->getStr('domainslogs_cleaned.status');
  130. }
  131. $gActionDispatcher->addEvent('clear_cache', 'action_clear_cache');
  132. function action_clear_cache($eventData)
  133. {
  134. global $gPageStatus, $gLocale;
  135. require_once('shared/maintenance/InnomaticCacheMaintenance.php');
  136. $maint = new InnomaticCacheMaintenance();
  137. $maint->CleanCache();
  138. $gPageStatus = $gLocale->getStr('cache_cleaned.status');
  139. }
  140. $gActionDispatcher->addEvent('clear_pidfiles', 'action_clear_pidfiles');
  141. function action_clear_pidfiles($eventData)
  142. {
  143. global $gPageStatus, $gLocale;
  144. require_once('shared/maintenance/InnomaticCacheMaintenance.php');
  145. $maint = new InnomaticCacheMaintenance();
  146. $maint->CleanPidFiles();
  147. $gPageStatus = $gLocale->getStr('pidfiles_cleaned.status');
  148. }
  149. $gActionDispatcher->addEvent('clear_sessions', 'action_clear_sessions');
  150. function action_clear_sessions($eventData)
  151. {
  152. global $gPageStatus, $gLocale;
  153. require_once('shared/maintenance/InnomaticCacheMaintenance.php');
  154. $maint = new InnomaticCacheMaintenance();
  155. $maint->CleanSessions();
  156. $gPageStatus = $gLocale->getStr('sessions_cleaned.status');
  157. }
  158. $gActionDispatcher->addEvent('clear_tempdirs', 'action_clear_tempdirs');
  159. function action_clear_tempdirs($eventData)
  160. {
  161. global $gPageStatus, $gLocale;
  162. require_once('shared/maintenance/InnomaticCacheMaintenance.php');
  163. $maint = new InnomaticCacheMaintenance();
  164. $maint->CleanRootTempDirs();
  165. $gPageStatus = $gLocale->getStr('tempdirs_cleaned.status');
  166. }
  167. $gActionDispatcher->addEvent('clear_clipboard', 'action_clear_clipboard');
  168. function action_clear_clipboard($eventData)
  169. {
  170. global $gPageStatus, $gLocale;
  171. require_once('shared/maintenance/InnomaticCacheMaintenance.php');
  172. $maint = new InnomaticCacheMaintenance();
  173. $maint->CleanClipboard();
  174. $gPageStatus = $gLocale->getStr('clipboard_cleaned.status');
  175. }
  176. $gActionDispatcher->addEvent('clear_all', 'action_clear_all');
  177. function action_clear_all($eventData)
  178. {
  179. global $gPageStatus, $gLocale;
  180. require_once('shared/maintenance/InnomaticCacheMaintenance.php');
  181. $maint = new InnomaticCacheMaintenance();
  182. $maint->CleanCache();
  183. $maint->CleanSessions();
  184. $maint->CleanPidFiles();
  185. $maint->CleanRootTempDirs();
  186. $maint->CleanClipboard();
  187. require_once('shared/maintenance/InnomaticLogsMaintenance.php');
  188. $maint = new InnomaticLogsMaintenance();
  189. $maint->mCleanRootLog = true;
  190. $maint->mCleanRootDbLog = true;
  191. $maint->mCleanPhpLog = true;
  192. $maint->mCleanWebServicesLog = true;
  193. $maint->mCleanAccessLog = true;
  194. $maint->CleanSystemLogs();
  195. $maint->CleanDomainsLogs();
  196. $gPageStatus = $gLocale->getStr('all_cleaned.status');
  197. }
  198. $gActionDispatcher->addEvent('set_innomatic', 'action_set_innomatic');
  199. function action_set_innomatic($eventData)
  200. {
  201. global $gPageStatus, $gLocale;
  202. require_once('shared/maintenance/InnomaticCacheMaintenance.php');
  203. $maint = new InnomaticCacheMaintenance();
  204. $maint->setCleanCache(
  205. isset($eventData['cache']) and $eventData['cache'] == 'on' ? true : false
  206. );
  207. $maint->setCleanSessions(
  208. isset($eventData['sessions']) and $eventData['sessions'] == 'on' ? true : false
  209. );
  210. $maint->setCleanPidFiles(
  211. isset($eventData['pidfiles']) and $eventData['pidfiles'] == 'on' ? true : false
  212. );
  213. $maint->setCleanRootTempDirs(
  214. isset($eventData['roottempdirs']) and $eventData['roottempdirs'] == 'on' ? true : false
  215. );
  216. $maint->setCleanClipboard(
  217. isset($eventData['clipboard']) and $eventData['clipboard'] == 'on' ? true : false
  218. );
  219. require_once('shared/maintenance/InnomaticLogsMaintenance.php');
  220. $maint = new InnomaticLogsMaintenance();
  221. switch ($eventData['rootlog']) {
  222. case 'clean' :
  223. $maint->setCleanRootLog(true);
  224. $maint->setRotateRootLog(false);
  225. break;
  226. case 'rotate' :
  227. $maint->setCleanRootLog(false);
  228. $maint->setRotateRootLog(true);
  229. break;
  230. case 'leave' :
  231. $maint->setCleanRootLog(false);
  232. $maint->setRotateRootLog(false);
  233. break;
  234. }
  235. switch ($eventData['rootdalog']) {
  236. case 'clean' :
  237. $maint->setCleanRootdbLog(true);
  238. $maint->setRotateRootdbLog(false);
  239. break;
  240. case 'rotate' :
  241. $maint->setCleanRootdbLog(false);
  242. $maint->setRotateRootdbLog(true);
  243. break;
  244. case 'leave' :
  245. $maint->setCleanRootdbLog(false);
  246. $maint->setRotateRootdbLog(false);
  247. break;
  248. }
  249. switch ($eventData['phplog']) {
  250. case 'clean' :
  251. $maint->setCleanphpLog(true);
  252. $maint->setRotatephpLog(false);
  253. break;
  254. case 'rotate' :
  255. $maint->setCleanphpLog(false);
  256. $maint->setRotatephpLog(true);
  257. break;
  258. case 'leave' :
  259. $maint->setCleanphpLog(false);
  260. $maint->setRotatephpLog(false);
  261. break;
  262. }
  263. switch ($eventData['webserviceslog']) {
  264. case 'clean' :
  265. $maint->setCleanwebserviceslog(true);
  266. $maint->setRotatewebserviceslog(false);
  267. break;
  268. case 'rotate' :
  269. $maint->setCleanwebserviceslog(false);
  270. $maint->setRotatewebserviceslog(true);
  271. break;
  272. case 'leave' :
  273. $maint->setCleanwebserviceslog(false);
  274. $maint->setRotatewebserviceslog(false);
  275. break;
  276. }
  277. switch ($eventData['accesslog']) {
  278. case 'clean' :
  279. $maint->setCleanaccesslog(true);
  280. $maint->setRotateaccesslog(false);
  281. break;
  282. case 'rotate' :
  283. $maint->setCleanaccesslog(false);
  284. $maint->setRotateaccesslog(true);
  285. break;
  286. case 'leave' :
  287. $maint->setCleanaccesslog(false);
  288. $maint->setRotateaccesslog(false);
  289. break;
  290. }
  291. switch ($eventData['domainslogs']) {
  292. case 'clean' :
  293. $maint->setCleandomainslogs(true);
  294. $maint->setRotatedomainslogs(false);
  295. break;
  296. case 'rotate' :
  297. $maint->setCleandomainslogs(false);
  298. $maint->setRotatedomainslogs(true);
  299. break;
  300. case 'leave' :
  301. $maint->setCleandomainslogs(false);
  302. $maint->setRotatedomainslogs(false);
  303. break;
  304. }
  305. $gPageStatus = $gLocale->getStr('settings_set.status');
  306. }
  307. $gActionDispatcher->addEvent('set_report', 'action_set_report');
  308. function action_set_report($eventData)
  309. {
  310. global $gPageStatus, $gLocale;
  311. $main = new MaintenanceHandler();
  312. if (isset($eventData['reportenabled']) and $eventData['reportenabled'] == 'on') {
  313. $main->EnableReports();
  314. } else {
  315. $main->DisableReports();
  316. }
  317. $main->setReportsEmail($eventData['reportemail']);
  318. $gPageStatus = $gLocale->getStr('settings_set.status');
  319. }
  320. $gActionDispatcher->addEvent('set_general', 'action_set_general');
  321. function action_set_general($eventData)
  322. {
  323. global $gPageStatus, $gLocale;
  324. $main = new MaintenanceHandler();
  325. $tasks = $main->getTasksList();
  326. foreach ($tasks as $task) {
  327. if (isset($eventData[$task['name'].'_task']) and $eventData[$task['name'].'_task'] == 'on') {
  328. $main->EnableTask($task['name']);
  329. } else {
  330. $main->DisableTask($task['name']);
  331. }
  332. }
  333. $gPageStatus = $gLocale->getStr('settings_set.status');
  334. }
  335. $gActionDispatcher->addEvent('run_maintenance', 'action_run_maintenance');
  336. function action_run_maintenance($eventData)
  337. {
  338. global $gPageStatus, $gLocale;
  339. $innomatic = InnomaticContainer::instance('innomaticcontainer');
  340. $innomatic->startMaintenance();
  341. $innomatic->setInterface(InnomaticContainer::INTERFACE_WEB);
  342. $gPageStatus = $gLocale->getStr('maintenance_done.status');
  343. }
  344. $gActionDispatcher->addEvent('cleanrootlog', 'action_cleanrootlog');
  345. function action_cleanrootlog($eventData)
  346. {
  347. global $gLocale, $gPageStatus;
  348. $tempLog = InnomaticContainer::instance('innomaticcontainer')->getLogger();
  349. if ($tempLog->cleanLog()) {
  350. $gPageStatus = $gLocale->getStr('logcleaned_status');
  351. } else {
  352. $gPageStatus = $gLocale->getStr('lognotcleaned_status');
  353. }
  354. }
  355. $gActionDispatcher->addEvent('cleanrootwebserviceslog', 'action_cleanrootwebserviceslog');
  356. function action_cleanrootwebserviceslog($eventData)
  357. {
  358. global $gPageStatus, $gLocale;
  359. $tempLog = new Logger(InnomaticContainer::instance('innomaticcontainer')->getHome().'core/log/webservices.log');
  360. if ($tempLog->cleanLog()) {
  361. $gPageStatus = $gLocale->getStr('logcleaned_status');
  362. } else {
  363. $gPageStatus = $gLocale->getStr('lognotcleaned_status');
  364. }
  365. }
  366. $gActionDispatcher->Dispatch();
  367. // ----- Main dispatcher -----
  368. //
  369. $gViewDispatcher = new WuiDispatcher('view');
  370. function general_tab_builder($tab)
  371. {
  372. return WuiEventsCall::buildEventsCallString('', array(array('view', 'default', array('tab' => $tab))));
  373. }
  374. $gViewDispatcher->addEvent('default', 'main_default');
  375. function main_default($eventData)
  376. {
  377. global $gXmlDefinition, $gLocale, $gPageTitle;
  378. $main = new MaintenanceHandler();
  379. $mainTime = $main->getLastMaintenanceTime();
  380. $tasks = $main->getTasksList();
  381. $tabs[0]['label'] = $gLocale->getStr('general_status.tab');
  382. $tabs[1]['label'] = $gLocale->getStr('general_report.tab');
  383. $tabs[2]['label'] = $gLocale->getStr('general_tasks.tab');
  384. $country = new LocaleCountry(InnomaticContainer::instance('innomaticcontainer')->getCountry());
  385. $dateArray = $country->getDateArrayFromUnixTimestamp($mainTime);
  386. $row = 0;
  387. $gXmlDefinition = '<vertgroup>
  388. <children>
  389. <tab><name>general</name>
  390. <args>
  391. <tabs type="array">'.WuiXml::encode($tabs).'</tabs>
  392. <tabactionfunction>general_tab_builder</tabactionfunction>
  393. <activetab>'. (isset($eventData['tab']) ? $eventData['tab'] : '').'</activetab>
  394. </args>
  395. <children>
  396. <vertgroup>
  397. <children>
  398. <label><name>status</name>
  399. <args>
  400. <label type="encoded">'.urlencode($gLocale->getStr('status.label')).'</label>
  401. <bold>true</bold>
  402. </args>
  403. </label>
  404. <horizgroup>
  405. <children>
  406. <label>
  407. <args>
  408. <label type="encoded">'.urlencode($gLocale->getStr('last_maintenance.label')).'</label>
  409. </args>
  410. </label>
  411. <date>
  412. <args>
  413. <readonly>true</readonly>
  414. <type>date</type>
  415. <value type="array">'.WuiXml::encode($dateArray).'</value>
  416. </args>
  417. </date>
  418. <date>
  419. <args>
  420. <readonly>true</readonly>
  421. <type>time</type>
  422. <value type="array">'.WuiXml::encode($dateArray).'</value>
  423. </args>
  424. </date>
  425. </children>
  426. </horizgroup>
  427. <horizbar/>';
  428. $maintenanceResult = &InnomaticContainer::instance('innomaticcontainer')->getMaintenanceResult();
  429. if (is_array($maintenanceResult)) {
  430. $row = 0;
  431. $gXmlDefinition.= '
  432. <label>
  433. <args>
  434. <label type="encoded">'.urlencode($gLocale->getStr('report.label')).'</label>
  435. <bold>true</bold>
  436. </args>
  437. </label>
  438. <grid><children>';
  439. foreach ($maintenanceResult as $task => $result) {
  440. $gXmlDefinition.= '<label row="'.$row.'" col="0">
  441. <args>
  442. <nowrap>true</nowrap>
  443. <label type="encoded">'.urlencode($tasks[$task]['description']).'</label>
  444. </args>
  445. </label>
  446. <button row="'.$row.'" col="1">
  447. <args>
  448. <themeimage>'. ($result ? 'button_ok' : 'button_cancel').'</themeimage>
  449. <disabled>true</disabled>
  450. </args>
  451. </button>';
  452. $row ++;
  453. }
  454. $gXmlDefinition.= '</children></grid><horizbar/>';
  455. }
  456. $gXmlDefinition.= ' <button>
  457. <args>
  458. <themeimage>button_ok</themeimage>
  459. <label type="encoded">'.urlencode($gLocale->getStr('run_maintenance.button')).'</label>
  460. <horiz>true</horiz>
  461. <frame>false</frame>
  462. <action type="encoded">'
  463. .urlencode(
  464. WuiEventsCall::buildEventsCallString(
  465. '',
  466. array(
  467. array(
  468. 'view',
  469. 'default'
  470. ),
  471. array(
  472. 'action',
  473. 'run_maintenance'
  474. )
  475. )
  476. )
  477. ).'</action>
  478. </args>
  479. </button>
  480. </children>
  481. </vertgroup>
  482. <vertgroup>
  483. <children>
  484. <label>
  485. <args>
  486. <label type="encoded">'.urlencode($gLocale->getStr('report.label')).'</label>
  487. <bold>true</bold>
  488. </args>
  489. </label>
  490. <form><name>report</name>
  491. <args>
  492. <action type="encoded">'
  493. .urlencode(
  494. WuiEventsCall::buildEventsCallString(
  495. '',
  496. array(
  497. array(
  498. 'view',
  499. 'default'
  500. ),
  501. array(
  502. 'action',
  503. 'set_report'
  504. )
  505. )
  506. )
  507. ).'</action>
  508. </args>
  509. <children>
  510. <grid>
  511. <children>
  512. <label row="0" col="0">
  513. <args>
  514. <label type="encoded">'.urlencode($gLocale->getStr('report_enabled.label')).'</label>
  515. </args>
  516. </label>
  517. <checkbox row="0" col="1"><name>reportenabled</name>
  518. <args>
  519. <disp>action</disp>
  520. <checked>'. ($main->getReportsEnableStatus() ? 'true' : 'false').'</checked>
  521. </args>
  522. </checkbox>
  523. <label row="1" col="0">
  524. <args>
  525. <label type="encoded">'.urlencode($gLocale->getStr('report_email.label')).'</label>
  526. </args>
  527. </label>
  528. <string row="1" col="1"><name>reportemail</name>
  529. <args>
  530. <disp>action</disp>
  531. <value type="encoded">'.urlencode($main->getReportsEmail()).'</value>
  532. <size>25</size>
  533. </args>
  534. </string>
  535. </children>
  536. </grid>
  537. </children>
  538. </form>
  539. <horizbar/>
  540. <button>
  541. <args>
  542. <themeimage>button_ok</themeimage>
  543. <label type="encoded">'.urlencode($gLocale->getStr('apply.button')).'</label>
  544. <horiz>true</horiz>
  545. <frame>false</frame>
  546. <formsubmit>report</formsubmit>
  547. <action type="encoded">'
  548. .urlencode(
  549. WuiEventsCall::buildEventsCallString(
  550. '',
  551. array(
  552. array(
  553. 'view',
  554. 'default'
  555. ),
  556. array(
  557. 'action',
  558. 'set_report'
  559. )
  560. )
  561. )
  562. ).'</action>
  563. </args>
  564. </button>
  565. </children>
  566. </vertgroup>
  567. <vertgroup>
  568. <children>
  569. <label>
  570. <args>
  571. <label type="encoded">'.urlencode($gLocale->getStr('scheduled_tasks.label')).'</label>
  572. <bold>true</bold>
  573. </args>
  574. </label>
  575. <form><name>settings</name>
  576. <args>
  577. <action type="encoded">'
  578. .urlencode(
  579. WuiEventsCall::buildEventsCallString(
  580. '',
  581. array(
  582. array(
  583. 'view',
  584. 'default'
  585. ),
  586. array(
  587. 'action',
  588. 'set_general'
  589. )
  590. )
  591. )
  592. ).'</action>
  593. </args>
  594. <children>
  595. <grid>
  596. <children>';
  597. reset($tasks);
  598. foreach ($tasks as $task) {
  599. $gXmlDefinition.= '<checkbox row="'.$row.'" col="0"><name type="encoded">'
  600. .urlencode($task['name'].'_task').'</name>
  601. <args>
  602. <disp>action</disp>
  603. <checked>'. ($task['enabled'] ? 'true' : 'false').'</checked>
  604. </args>
  605. </checkbox>
  606. <label row="'.$row.'" col="1">
  607. <args>
  608. <label type="encoded">'.urlencode($task['description']).'</label>
  609. <nowrap>false</nowrap>
  610. </args>
  611. </label>';
  612. $row ++;
  613. }
  614. $gXmlDefinition.= ' </children>
  615. </grid>
  616. </children>
  617. </form>
  618. <horizbar/>
  619. <button>
  620. <args>
  621. <themeimage>button_ok</themeimage>
  622. <label type="encoded">'.urlencode($gLocale->getStr('apply.button')).'</label>
  623. <horiz>true</horiz>
  624. <frame>false</frame>
  625. <formsubmit>settings</formsubmit>
  626. <action type="encoded">'
  627. .urlencode(
  628. WuiEventsCall::buildEventsCallString(
  629. '',
  630. array(
  631. array(
  632. 'view',
  633. 'default'
  634. ),
  635. array(
  636. 'action',
  637. 'set_general'
  638. )
  639. )
  640. )
  641. ).'</action>
  642. </args>
  643. </button>
  644. </children>
  645. </vertgroup>
  646. </children>
  647. </tab>
  648. </children>
  649. </vertgroup>';
  650. $gPageTitle.= ' - '.$gLocale->getStr('general.title');
  651. }
  652. function innomatic_tab_builder($tab)
  653. {
  654. return WuiEventsCall::buildEventsCallString('', array(array('view', 'innomatic', array('tab' => $tab))));
  655. }
  656. $gViewDispatcher->addEvent('innomatic', 'main_innomatic');
  657. function main_innomatic($eventData)
  658. {
  659. global $gXmlDefinition, $gLocale, $gPageTitle;
  660. require_once('shared/maintenance/InnomaticCacheMaintenance.php');
  661. require_once('shared/maintenance/InnomaticLogsMaintenance.php');
  662. $country = new LocaleCountry(InnomaticContainer::instance('innomaticcontainer')->getCountry());
  663. $tabs[0]['label'] = $gLocale->getStr('innomatic_status.tab');
  664. $tabs[1]['label'] = $gLocale->getStr('innomatic_requirements.tab');
  665. $tabs[2]['label'] = $gLocale->getStr('innomatic_settings.tab');
  666. $logsMain = new InnomaticLogsMaintenance();
  667. $cacheMain = new InnomaticCacheMaintenance();
  668. $gXmlDefinition = '<tab><name>innomatic</name>
  669. <args>
  670. <tabs type="array">'.WuiXml::encode($tabs).'</tabs>
  671. <tabactionfunction>innomatic_tab_builder</tabactionfunction>
  672. <activetab>'. (isset($eventData['tab']) ? $eventData['tab'] : '').'</activetab>
  673. </args>
  674. <children>
  675. <vertgroup><name></name>
  676. <children>
  677. <label><name>tabtitle</name>
  678. <args>
  679. <label type="encoded">'.urlencode($gLocale->getStr('innomatic_status.label')).'</label>
  680. <bold>true</bold>
  681. </args>
  682. </label>
  683. <grid>
  684. <children>
  685. <label row="0" col="0">
  686. <args>
  687. <label type="encoded">'.urlencode($gLocale->getStr('systemlogs_size.label')).'</label>
  688. </args>
  689. </label>
  690. <string row="0" col="1">
  691. <args>
  692. <size>15</size>
  693. <readonly>true</readonly>
  694. <value type="encoded">'.urlencode($country->FormatNumber($logsMain->getSystemLogsSize())).'</value>
  695. </args>
  696. </string>
  697. <button row="0" col="2">
  698. <args>
  699. <themeimage>editdelete</themeimage>
  700. <label type="encoded">'.urlencode($gLocale->getStr('clear.label')).'</label>
  701. <horiz>true</horiz>
  702. <frame>false</frame>
  703. <action type="encoded">'
  704. .urlencode(
  705. WuiEventsCall::buildEventsCallString(
  706. '',
  707. array(
  708. array(
  709. 'view',
  710. 'innomatic'
  711. ),
  712. array(
  713. 'action',
  714. 'clear_systemlogs'
  715. )
  716. )
  717. )
  718. ).'</action>
  719. </args>
  720. </button>
  721. <label row="1" col="0">
  722. <args>
  723. <label type="encoded">'.urlencode($gLocale->getStr('domainslogs_size.label')).'</label>
  724. </args>
  725. </label>
  726. <string row="1" col="1">
  727. <args>
  728. <size>15</size>
  729. <readonly>true</readonly>
  730. <value type="encoded">'.urlencode($country->FormatNumber($logsMain->getDomainsLogsSize())).'</value>
  731. </args>
  732. </string>
  733. <button row="1" col="2">
  734. <args>
  735. <themeimage>editdelete</themeimage>
  736. <label type="encoded">'.urlencode($gLocale->getStr('clear.label')).'</label>
  737. <horiz>true</horiz>
  738. <frame>false</frame>
  739. <action type="encoded">'
  740. .urlencode(
  741. WuiEventsCall::buildEventsCallString(
  742. '',
  743. array(
  744. array(
  745. 'view',
  746. 'innomatic'
  747. ),
  748. array(
  749. 'action',
  750. 'clear_domainslogs'
  751. )
  752. )
  753. )
  754. ).'</action>
  755. </args>
  756. </button>
  757. <label row="2" col="0">
  758. <args>
  759. <label type="encoded">'.urlencode($gLocale->getStr('cache_size.label')).'</label>
  760. </args>
  761. </label>
  762. <string row="2" col="1">
  763. <args>
  764. <size>15</size>
  765. <readonly>true</readonly>
  766. <value type="encoded">'.urlencode($country->FormatNumber($cacheMain->getCacheSize())).'</value>
  767. </args>
  768. </string>
  769. <button row="2" col="2">
  770. <args>
  771. <themeimage>editdelete</themeimage>
  772. <label type="encoded">'.urlencode($gLocale->getStr('clear.label')).'</label>
  773. <horiz>true</horiz>
  774. <frame>false</frame>
  775. <action type="encoded">'
  776. .urlencode(
  777. WuiEventsCall::buildEventsCallString(
  778. '',
  779. array(
  780. array(
  781. 'view',
  782. 'innomatic'
  783. ),
  784. array(
  785. 'action',
  786. 'clear_cache'
  787. )
  788. )
  789. )
  790. ).'</action>
  791. </args>
  792. </button>
  793. <label row="3" col="0">
  794. <args>
  795. <label type="encoded">'.urlencode($gLocale->getStr('sessions_size.label')).'</label>
  796. </args>
  797. </label>
  798. <string row="3" col="1">
  799. <args>
  800. <size>15</size>
  801. <readonly>true</readonly>
  802. <value type="encoded">'.urlencode($country->FormatNumber($cacheMain->getSessionsSize())).'</value>
  803. </args>
  804. </string>
  805. <button row="3" col="2">
  806. <args>
  807. <themeimage>editdelete</themeimage>
  808. <label type="encoded">'.urlencode($gLocale->getStr('clear.label')).'</label>
  809. <horiz>true</horiz>
  810. <frame>false</frame>
  811. <action type="encoded">'
  812. .urlencode(
  813. WuiEventsCall::buildEventsCallString(
  814. '',
  815. array(
  816. array(
  817. 'view',
  818. 'innomatic'
  819. ),
  820. array(
  821. 'action',
  822. 'clear_sessions'
  823. )
  824. )
  825. )
  826. ).'</action>
  827. </args>
  828. </button>
  829. <label row="4" col="0">
  830. <args>
  831. <label type="encoded">'.urlencode($gLocale->getStr('pidfiles_size.label')).'</label>
  832. </args>
  833. </label>
  834. <string row="4" col="1">
  835. <args>
  836. <size>15</size>
  837. <readonly>true</readonly>
  838. <value type="encoded">'.urlencode($country->FormatNumber($cacheMain->getPidFilesSize())).'</value>
  839. </args>
  840. </string>
  841. <button row="4" col="2">
  842. <args>
  843. <themeimage>editdelete</themeimage>
  844. <label type="encoded">'.urlencode($gLocale->getStr('clear.label')).'</label>
  845. <horiz>true</horiz>
  846. <frame>false</frame>
  847. <action type="encoded">'
  848. .urlencode(
  849. WuiEventsCall::buildEventsCallString(
  850. '',
  851. array(
  852. array(
  853. 'view',
  854. 'innomatic'
  855. ),
  856. array(
  857. 'action',
  858. 'clear_pidfiles'
  859. )
  860. )
  861. )
  862. ).'</action>
  863. </args>
  864. </button>
  865. <label row="5" col="0">
  866. <args>
  867. <label type="encoded">'.urlencode($gLocale->getStr('tempdirs_size.label')).'</label>
  868. </args>
  869. </label>
  870. <string row="5" col="1">
  871. <args>
  872. <size>15</size>
  873. <readonly>true</readonly>
  874. <value type="encoded">'.urlencode($country->FormatNumber($cacheMain->getRootTempDirsSize())).'</value>
  875. </args>
  876. </string>
  877. <button row="5" col="2">
  878. <args>
  879. <themeimage>editdelete</themeimage>
  880. <label type="encoded">'.urlencode($gLocale->getStr('clear.label')).'</label>
  881. <horiz>true</horiz>
  882. <frame>false</frame>
  883. <action type="encoded">'
  884. .urlencode(
  885. WuiEventsCall::buildEventsCallString(
  886. '',
  887. array(
  888. array(
  889. 'view',
  890. 'innomatic'
  891. ),
  892. array(
  893. 'action',
  894. 'clear_tempdirs'
  895. )
  896. )
  897. )
  898. ).'</action>
  899. </args>
  900. </button>
  901. <label row="6" col="0">
  902. <args>
  903. <label type="encoded">'.urlencode($gLocale->getStr('clipboard_size.label')).'</label>
  904. </args>
  905. </label>
  906. <string row="6" col="1">
  907. <args>
  908. <size>15</size>
  909. <readonly>true</readonly>
  910. <value type="encoded">'.urlencode($country->FormatNumber($cacheMain->getClipboardSize())).'</value>
  911. </args>
  912. </string>
  913. <button row="6" col="2">
  914. <args>
  915. <themeimage>editdelete</themeimage>
  916. <label type="encoded">'.urlencode($gLocale->getStr('clear.label')).'</label>
  917. <horiz>true</horiz>
  918. <frame>false</frame>
  919. <action type="encoded">'
  920. .urlencode(
  921. WuiEventsCall::buildEventsCallString(
  922. '',
  923. array(
  924. array(
  925. 'view',
  926. 'innomatic'
  927. ),
  928. array(
  929. 'action',
  930. 'clear_clipboard'
  931. )
  932. )
  933. )
  934. ).'</action>
  935. </args>
  936. </button>
  937. <label row="7" col="0">
  938. <args>
  939. <label type="encoded">'.urlencode($gLocale->getStr('cleanable_size.label')).'</label>
  940. </args>
  941. </label>
  942. <string row="7" col="1">
  943. <args>
  944. <size>15</size>
  945. <readonly>true</readonly>
  946. <value type="encoded">'
  947. .urlencode(
  948. $country->FormatNumber(
  949. $logsMain->getCleanableDiskSize() + $cacheMain->getCleanableDiskSize()
  950. )
  951. ).'</value>
  952. </args>
  953. </string>
  954. <button row="7" col="2">
  955. <args>
  956. <themeimage>editdelete</themeimage>
  957. <label type="encoded">'.urlencode($gLocale->getStr('clearall.label')).'</label>
  958. <horiz>true</horiz>
  959. <frame>false</frame>
  960. <action type="encoded">'
  961. .urlencode(
  962. WuiEventsCall::buildEventsCallString(
  963. '',
  964. array(
  965. array(
  966. 'view',
  967. 'innomatic'
  968. ),
  969. array(
  970. 'action',
  971. 'clear_all'
  972. )
  973. )
  974. )
  975. ).'</action>
  976. </args>
  977. </button>
  978. </children>
  979. </grid>
  980. </children>
  981. </vertgroup>
  982. <vertgroup><name></name>
  983. <children>
  984. <label><name>tabtitle</name>
  985. <args>
  986. <label type="encoded">'.urlencode($gLocale->getStr('innomatic_requirements.label')).'</label>
  987. <bold>true</bold>
  988. </args>
  989. </label>
  990. <table><name>sysinfotable</name>
  991. <children>
  992. ';
  993. $wuiWidget = new WuiXml('dummy');
  994. // Required features
  995. // PHP version check
  996. //
  997. $row = 0;
  998. //if ( ereg( '[4-9]\.[0-9]\.[5-9].*', phpversion() ) or ereg( '[4-9]\.[1-9]\.[0-9].*', phpversion() ) )
  999. if (ereg("[5-9]\.[0-9]\.[0-9].*", phpversion())) {
  1000. $ball = $wuiWidget->mThemeHandler->mStyle['greenball'];
  1001. $checkResult = sprintf($gLocale->getStr('php_available_label'), phpversion());
  1002. } else {
  1003. $ball = $wuiWidget->mThemeHandler->mStyle['redball'];
  1004. $checkResult = sprintf($gLocale->getStr('php_not_available_label'), phpversion());
  1005. }
  1006. $gXmlDefinition .= '<label row="'.$row.'" col="0"><name>required'.$row.'</name><args><label type="encoded">'
  1007. .urlencode($gLocale->getStr('required_label')).'</label></args></label>
  1008. <image row="'.$row.'" col="1"><name>status'.$row.'</name><args><imageurl type="encoded">'
  1009. .urlencode($ball).'</imageurl></args></image>
  1010. <label row="'.$row.'" col="2"><name>shared'.$row.'</name><args><label type="encoded">'
  1011. .urlencode($gLocale->getStr('php_test_label')).'</label></args></label>
  1012. <label row="'.$row.'" col="3"><name>checkresult'.$row.'</name><args><label type="encoded">'
  1013. .urlencode($checkResult).'</label></args></label>';
  1014. // File upload support
  1015. //
  1016. $row ++;
  1017. if (ini_get('file_uploads') == '1') {
  1018. $ball = $wuiWidget->mThemeHandler->mStyle['greenball'];
  1019. $checkResult = $gLocale->getStr('fileupload_available_label');
  1020. } else {
  1021. $ball = $wuiWidget->mThemeHandler->mStyle['redball'];
  1022. $checkResult = $gLocale->getStr('fileupload_not_available_label');
  1023. $systemok = false;
  1024. }
  1025. $gXmlDefinition .= '<label row="'.$row.'" col="0"><name>required'.$row.'</name><args><label type="encoded">'
  1026. .urlencode($gLocale->getStr('required_label')).'</label></args></label>
  1027. <image row="'.$row.'" col="1"><name>status'.$row.'</name><args><imageurl type="encoded">'
  1028. .urlencode($ball).'</imageurl></args></image>
  1029. <label row="'.$row.'" col="2"><name>shared'.$row.'</name><args><label type="encoded">'
  1030. .urlencode($gLocale->getStr('fileupload_test_label')).'</label></args></label>
  1031. <label row="'.$row.'" col="3"><name>checkresult'.$row.'</name><args><label type="encoded">'
  1032. .urlencode($checkResult).'</label></args></label>';
  1033. // XML support
  1034. //
  1035. $row ++;
  1036. if (function_exists('xml_set_object')) {
  1037. $ball = $wuiWidget->mThemeHandler->mStyle['greenball'];
  1038. $checkResult = $gLocale->getStr('xml_available_label');
  1039. } else {
  1040. $ball = $wuiWidget->mThemeHandler->mStyle['redball'];
  1041. $checkResult = $gLocale->getStr('xml_not_available_label');
  1042. }
  1043. $gXmlDefinition .= '<label row="'.$row.'" col="0"><name>required'.$row.'</name><args><label type="encoded">'
  1044. .urlencode($gLocale->getStr('required_label')).'</label></args></label>
  1045. <image row="'.$row.'" col="1"><name>status'.$row.'</name><args><imageurl type="encoded">'
  1046. .urlencode($ball).'</imageurl></args></image>
  1047. <label row="'.$row.'" col="2"><name>shared'.$row.'</name><args><label type="encoded">'
  1048. .urlencode($gLocale->getStr('xml_test_label')).'</label></args></label>
  1049. <label row="'.$row.'" col="3"><name>checkresult'.$row.'</name><args><label type="encoded">'
  1050. .urlencode($checkResult).'</label></args></label>';
  1051. // Zlib support
  1052. //
  1053. $row ++;
  1054. if (function_exists('gzinflate')) {
  1055. $ball = $wuiWidget->mThemeHandler->mStyle['greenball'];
  1056. $checkResult = $gLocale->getStr('zlib_available_label');
  1057. } else {
  1058. $ball = $wuiWidget->mThemeHandler->mStyle['redball'];
  1059. $checkResult = $gLocale->getStr('zlib_not_available_label');
  1060. }
  1061. $gXmlDefinition .= '<label row="'.$row.'" col="0"><name>required'.$row.'</name><args><label type="encoded">'
  1062. .urlencode($gLocale->getStr('required_label')).'</label></args></label>
  1063. <image row="'.$row.'" col="1"><name>status'.$row.'</name><args><imageurl type="encoded">'
  1064. .urlencode($ball).'</imageurl></args></image>
  1065. <label row="'.$row.'" col="2"><name>shared'.$row.'</name><args><label type="encoded">'
  1066. .urlencode($gLocale->getStr('zlib_test_label')).'</label></args></label>
  1067. <label row="'.$row.'" col="3"><name>checkresult'.$row.'</name><args><label type="encoded">'
  1068. .urlencode($checkResult).'</label></args></label>';
  1069. // Database support
  1070. //
  1071. $row ++;
  1072. if (function_exists('mysql_connect') or function_exists('pg_connect')) {
  1073. $ball = $wuiWidget->mThemeHandler->mStyle['greenball'];
  1074. $checkResult = $gLocale->getStr('db_available_label');
  1075. } else {
  1076. $ball = $wuiWidget->mThemeHandler->mStyle['redball'];
  1077. $checkResult = $gLocale->getStr('db_not_available_label');
  1078. }
  1079. $gXmlDefinition .= '<label row="'.$row.'" col="0"><name>required'.$row.'</name><args><label type="encoded">'
  1080. .urlencode($gLocale->getStr('required_label')).'</label></args></label>
  1081. <image row="'.$row.'" col="1"><name>status'.$row.'</name><args><imageurl type="encoded">'
  1082. .urlencode($ball).'</imageurl></args></image>
  1083. <label row="'.$row.'" col="2"><name>shared'.$row.'</name><args><label type="encoded">'
  1084. .urlencode($gLocale->getStr('db_test_label')).'</label></args></label>
  1085. <label row="'.$row.'" col="3"><name>checkresult'.$row.'</name><args><label type="encoded">'
  1086. .urlencode($checkResult).'</label></args></label>';
  1087. // Optional features
  1088. /*
  1089. // Crontab
  1090. //
  1091. $row ++;
  1092. if (strlen(InnomaticContainer::instance('innomaticcontainer')->getConfig()->value('RootCrontab'))) {
  1093. $ball = $wuiWidget->mThemeHandler->mStyle['greenball'];
  1094. $checkResult = $gLocale->getStr('crontab_available_label');
  1095. } else {
  1096. $ball = $wuiWidget->mThemeHandler->mStyle['goldball'];
  1097. $checkResult = $gLocale->getStr('crontab_not_available_label');
  1098. }
  1099. $gXml_def .= '<label row="'.$row.'" col="0"><name>optional'.$row.'</name><args><label type="encoded">'
  1100. .urlencode($gLocale->getStr('optional_label')).'</label></args></label>
  1101. <image row="'.$row.'" col="1"><name>status'.$row.'</name><args><imageurl type="encoded">'
  1102. .urlencode($ball).'</imageurl></args></image>
  1103. <label row="'.$row.'" col="2"><name>shared'.$row.'</name><args><label type="encoded">'
  1104. .urlencode($gLocale->getStr('crontab_test_label')).'</label></args></label>
  1105. <label row="'.$row.'" col="3"><name>checkresult'.$row.'</name><args><label type="encoded">'
  1106. .urlencode($checkResult).'</label></args></label>';
  1107. */
  1108. // XMLRPC auth
  1109. //
  1110. $row ++;
  1111. if (php_sapi_name() != 'cgi') {
  1112. $ball = $wuiWidget->mThemeHandler->mStyle['greenball'];
  1113. $checkResult = $gLocale->getStr('xmlrpc_available_label');
  1114. } else {
  1115. $ball = $wuiWidget->mThemeHandler->mStyle['goldball'];
  1116. $checkResult = $gLocale->getStr('xmlrpc_not_available_label');
  1117. }
  1118. $gXmlDefinition .= '<label row="'.$row.'" col="0"><name>optional'.$row.'</name><args><label type="encoded">'
  1119. .urlencode($gLocale->getStr('optional_label')).'</label></args></label>
  1120. <image row="'.$row.'" col="1"><name>status'.$row.'</name><args><imageurl type="encoded">'
  1121. .urlencode($ball).'</imageurl></args></image>
  1122. <label row="'.$row.'" col="2"><name>shared'.$row.'</name><args><label type="encoded">'
  1123. .urlencode($gLocale->getStr('xmlrpc_test_label')).'</label></args></label>
  1124. <label row="'.$row.'" col="3"><name>checkresult'.$row.'</name><args><label type="encoded">'
  1125. .urlencode($checkResult).'</label></args></label>';
  1126. // XMLRPC curl
  1127. //
  1128. $row ++;
  1129. if (function_exists('curl_init')) {
  1130. $ball = $wuiWidget->mThemeHandler->mStyle['greenball'];
  1131. $checkResult = $gLocale->getStr('xmlrpc_ssl_available_label');
  1132. } else {
  1133. $ball = $wuiWidget->mThemeHandler->mStyle['goldball'];
  1134. $checkResult = $gLocale->getStr('xmlrpc_ssl_not_available_label');
  1135. }
  1136. $gXmlDefinition .= '<label row="'.$row.'" col="0"><name>optional'.$row.'</name><args><label type="encoded">'
  1137. .urlencode($gLocale->getStr('optional_label')).'</label></args></label>
  1138. <image row="'.$row.'" col="1"><name>status'.$row.'</name><args><imageurl type="encoded">'
  1139. .urlencode($ball).'</imageurl></args></image>
  1140. <label row="'.$row.'" col="2"><name>shared'.$row.'</name><args><label type="encoded">'
  1141. .urlencode($gLocale->getStr('xmlrpc_ssl_test_label')).'</label></args></label>
  1142. <label row="'.$row.'" col="3"><name>checkresult'.$row.'</name><args><label type="encoded">'
  1143. .urlencode($checkResult).'</label></args></label>';
  1144. $gXmlDefinition .= '
  1145. </children>
  1146. </table>
  1147. </children>
  1148. </vertgroup>
  1149. <vertgroup><name></name>
  1150. <children>
  1151. <label><name>tabtitle</name>
  1152. <args>
  1153. <label type="encoded">'
  1154. .urlencode(
  1155. $gLocale->getStr('innomatic_settings.label')
  1156. ).'</label>
  1157. <bold>true</bold>
  1158. </args>
  1159. </label>
  1160. <form><name>settings</name>
  1161. <args>
  1162. <action type="encoded">'
  1163. .urlencode(
  1164. WuiEventsCall::buildEventsCallString(
  1165. '',
  1166. array(
  1167. array(
  1168. 'view',
  1169. 'innomatic'
  1170. ),
  1171. array(
  1172. 'action',
  1173. 'set_innomatic'
  1174. )
  1175. )
  1176. )
  1177. ).'</action> </args>
  1178. <children>
  1179. <vertgroup>
  1180. <children>
  1181. <grid>
  1182. <children>
  1183. <label row="0" col="0">
  1184. <args>
  1185. <label type="encoded">'.urlencode($gLocale->getStr('action_clean.label')).'</label>
  1186. <bold>true</bold>
  1187. </args>
  1188. </label>
  1189. <label row="0" col="1">
  1190. <args>
  1191. <label type="encoded">'.urlencode($gLocale->getStr('action_rotate.label')).'</label>
  1192. <bold>true</bold>
  1193. </args>
  1194. </label>
  1195. <label row="0" col="2">
  1196. <args>
  1197. <label type="encoded">'.urlencode($gLocale->getStr('action_none.label')).'</label>
  1198. <bold>true</bold>
  1199. </args>
  1200. </label>
  1201. <radio row="1" col="0" halign="center"><name>rootlog</name>
  1202. <args>
  1203. <disp>action</disp>
  1204. <checked>'. ($logsMain->getCleanRootLog() ? 'true' : 'false').'</checked>
  1205. <value>clean</value>
  1206. </args>
  1207. </radio>
  1208. <radio row="1" col="1" halign="center"><name>rootlog</name>
  1209. <args>
  1210. <disp>action</disp>
  1211. <checked>'. ($logsMain->getRotateRootLog() ? 'true' : 'false').'</checked>
  1212. <value>rotate</value>
  1213. </args>
  1214. </radio>
  1215. <radio row="1" col="2" halign="center"><name>rootlog</name>
  1216. <args>
  1217. <disp>action</disp>
  1218. <checked>'
  1219. . (
  1220. ($logsMain->getCleanRootLog() or $logsMain->getRotateRootLog()) ? 'false' : 'true'
  1221. ).'</checked>
  1222. <value>leave</value>
  1223. </args>
  1224. </radio>
  1225. <label row="1" col="3">
  1226. <args>
  1227. <label type="encoded">'.urlencode($gLocale->getStr('rootlog_size.label')).'</label>
  1228. </args>
  1229. </label>
  1230. <radio row="2" col="0" halign="center"><name>rootdalog</name>
  1231. <args>
  1232. <disp>action</disp>
  1233. <checked>'. ($logsMain->getCleanRootDbLog() ? 'true' : 'false').'</checked>
  1234. <value>clean</value>
  1235. </args>
  1236. </radio>
  1237. <radio row="2" col="1" halign="center"><name>rootdalog</name>
  1238. <args>
  1239. <disp>action</disp>
  1240. <checked>'. ($logsMain->getRotateRootDbLog() ? 'true' : 'false').'</checked>
  1241. <value>rotate</value>
  1242. </args>
  1243. </radio>
  1244. <radio row="2" col="2" halign="center"><name>rootdalog</name>
  1245. <args>
  1246. <disp>action</disp>
  1247. <checked>'
  1248. . (
  1249. ($logsMain->getCleanRootDbLog() or $logsMain->getRotateRootDbLog()) ? 'false' : 'true'
  1250. ).'</checked>
  1251. <value>leave</value>
  1252. </args>
  1253. </radio>
  1254. <label row="2" col="3">
  1255. <args>
  1256. <label type="encoded">'.urlencode($gLocale->getStr('rootdalog_size.label')).'</label>
  1257. </args>
  1258. </label>
  1259. <radio row="3" col="0" halign="center"><name>accesslog</name>
  1260. <args>

Large files files are truncated, but you can click here to view the full file