PageRenderTime 50ms CodeModel.GetById 21ms RepoModel.GetById 1ms app.codeStats 0ms

/modules/admin/actions/listtempfiles.act.php

http://awarenet.googlecode.com/
PHP | 146 lines | 101 code | 19 blank | 26 comment | 32 complexity | 717856fdeef87c16b98d13c055f87807 MD5 | raw file
Possible License(s): GPL-3.0
  1. <?
  2. //--------------------------------------------------------------------------------------------------
  3. //* find temporary/devlopment/editor files and remove them
  4. //--------------------------------------------------------------------------------------------------
  5. //+ for example tilde files left by gedit, windows thumbs database, svn files, etc
  6. //----------------------------------------------------------------------------------------------
  7. // admins only
  8. //----------------------------------------------------------------------------------------------
  9. if ('admin' != $user->role) { $page->do403(); }
  10. $fileList = ''; //% page content [string:html]
  11. $postUrl = '%%serverPath%%admin/listtempfiles/'; //% post back to self [string]
  12. $foundAny = false; //% have any junk files been found [bool]
  13. //----------------------------------------------------------------------------------------------
  14. // handle any POST requests
  15. //----------------------------------------------------------------------------------------------
  16. if ((true == array_key_exists('action', $_POST)) && ('deleteAll' == $_POST['action'])) {
  17. $raw = '';
  18. if (true == array_key_exists('junkList', $_POST)) { $raw = $_POST['junkList']; }
  19. $raw = str_replace("\r", "\n", $raw);
  20. $list = explode("\n", $raw);
  21. foreach($list as $item) {
  22. $item = trim($item);
  23. if (strlen($item) > 1) {
  24. if (true == $kapenta->fileExists($item)) {
  25. // check this isn't a system file
  26. $check = false;
  27. if (false != strpos($item, '~')) { $check = true; }
  28. if (false != strpos($item, '/.svn/')) { $check = true; }
  29. if (false != strpos($item, 'thumbs.db')) { $check = true; }
  30. if (true == $check) {
  31. $result = unlink($kapenta->installPath . $item);
  32. if (true == $result) {
  33. $session->msg('<b>deleted:</b> ' . $item, 'ok');
  34. } else {
  35. $session->msg('<b>could not delete:</b> ' . $item, 'bad');
  36. }
  37. } else {
  38. $session->msg('<b>refusing to delete:</b> ' . $item, 'bad');
  39. }
  40. }
  41. }
  42. }
  43. }
  44. //----------------------------------------------------------------------------------------------
  45. // find gedit temp files
  46. //----------------------------------------------------------------------------------------------
  47. $list = $kapenta->fileSearch('modules/', '~');
  48. if (count($list) > 0) {
  49. $foundAny = true;
  50. $fileList .= "<h2>gedit undo files</h2>\n";
  51. $taValue = '';
  52. foreach($list as $item) {
  53. $fileList .= $item . "<br/>\n";
  54. $taValue = $taValue . $item . "\n";
  55. }
  56. $fileList .= "
  57. <br/><b>Clear:</b><br/>\n
  58. <form name='frmDelEditorFiles' method='POST' action='$postUrl'>
  59. <input type='hidden' name='action' value='deleteAll' />
  60. <textarea rows='10' cols='80' name='junkList'>$taValue</textarea>
  61. <input type='submit' value='Delete All &gt;&gt;' />
  62. </form><hr/>
  63. ";
  64. }
  65. //----------------------------------------------------------------------------------------------
  66. // find svn files
  67. //----------------------------------------------------------------------------------------------
  68. $allFiles = $kapenta->fileSearch('', '');
  69. $list = array();
  70. foreach($allFiles as $item) {
  71. if (false != strpos($item, '/.svn/')) { $list[] = $item; }
  72. }
  73. if (count($list) > 0) {
  74. $foundAny = true;
  75. $fileList .= "<h2>SVN files</h2>\n";
  76. $taValue = '';
  77. foreach($list as $item) {
  78. $fileList .= $item . "<br/>\n";
  79. $taValue = $taValue . $item . "\n";
  80. }
  81. $fileList .= "
  82. <br/><b>Clear:</b><br/>\n
  83. <form name='frmDelSvnFiles' method='POST' action='$postUrl'>
  84. <input type='hidden' name='action' value='deleteAll' />
  85. <textarea rows='10' cols='80' name='junkList'>$taValue</textarea>
  86. <input type='submit' value='Delete All &gt;&gt;' />
  87. </form><hr/>
  88. ";
  89. }
  90. //----------------------------------------------------------------------------------------------
  91. // find thumbs.db files
  92. //----------------------------------------------------------------------------------------------
  93. $list = array();
  94. foreach($allFiles as $item) {
  95. if (false != strpos($item, '/thumbs.db')) { $list[] = $item; }
  96. }
  97. if (count($list) > 0) {
  98. $foundAny = true;
  99. $fileList .= "<h2>thumbs.db files</h2>\n";
  100. $taValue = '';
  101. foreach($list as $item) {
  102. $fileList .= $item . "<br/>\n";
  103. $taValue = $taValue . $item . "\n";
  104. }
  105. $fileList .= "
  106. <br/><b>Clear:</b><br/>\n
  107. <form name='frmDelSvnFiles' method='POST' action='$postUrl'>
  108. <input type='hidden' name='action' value='deleteAll' />
  109. <textarea rows='10' cols='80' name='junkList'>$taValue</textarea>
  110. <input type='submit' value='Delete All &gt;&gt;' />
  111. </form><hr/>
  112. ";
  113. }
  114. //----------------------------------------------------------------------------------------------
  115. // 'nothing found' notice
  116. //----------------------------------------------------------------------------------------------
  117. if (false == $foundAny) {
  118. $fileList .= "<h1>Nothing Found</h1>"
  119. . "<p>Your kapenta installation appears clean of common junk :-)</p>";
  120. }
  121. //----------------------------------------------------------------------------------------------
  122. // render the page
  123. //----------------------------------------------------------------------------------------------
  124. $page->load('modules/admin/actions/listtempfiles.page.php');
  125. $page->blockArgs['fileList'] = $fileList;
  126. $page->render();
  127. ?>