/admin/messagelist.php

https://github.com/myrtus/SuperNova · PHP · 127 lines · 102 code · 19 blank · 6 comment · 28 complexity · 5bead0aab251e51391ec1d389cb60fe9 MD5 · raw file

  1. <?php
  2. /**
  3. * messagelist.php
  4. *
  5. * @version 1
  6. * @copyright 2008 by Chlorel for XNova
  7. */
  8. define('INSIDE' , true);
  9. define('INSTALL' , false);
  10. define('IN_ADMIN', true);
  11. require('../common.' . substr(strrchr(__FILE__, '.'), 1));
  12. if($user['authlevel'] < 3)
  13. {
  14. AdminMessage($lang['adm_err_denied']);
  15. }
  16. $BodyTpl = gettemplate('admin/messagelist_body');
  17. $RowsTpl = gettemplate('admin/messagelist_table_rows');
  18. $Prev = ( !empty($_POST['prev']) ) ? true : false;
  19. $Next = ( !empty($_POST['next']) ) ? true : false;
  20. $DelSel = ( !empty($_POST['delsel']) ) ? true : false;
  21. $DelDat = ( !empty($_POST['deldat']) ) ? true : false;
  22. $CurrPage = ( !empty($_POST['curr']) ) ? $_POST['curr'] : 1;
  23. $Selected = ( !empty($_POST['sele']) ) ? $_POST['sele'] : 0;
  24. $SelType = $_POST['type'];
  25. $SelPage = $_POST['page'];
  26. $ViewPage = 1;
  27. if ( $Selected != $SelType ) {
  28. $Selected = $SelType;
  29. $ViewPage = 1;
  30. } elseif ( $CurrPage != $SelPage ) {
  31. $ViewPage = ( !empty($SelPage) ) ? $SelPage : 1;
  32. }
  33. if ($Prev == true) {
  34. $CurrPage -= 1;
  35. if ($CurrPage >= 1) {
  36. $ViewPage = $CurrPage;
  37. } else {
  38. $ViewPage = 1;
  39. }
  40. } elseif ($Next == true) {
  41. $Mess = doquery("SELECT COUNT(*) AS `max` FROM {{messages}} WHERE `message_type` = '". $Selected ."';", '', true);
  42. $MaxPage = ceil ( ($Mess['max'] / 25) );
  43. $CurrPage += 1;
  44. if ($CurrPage <= $MaxPage) {
  45. $ViewPage = $CurrPage;
  46. } else {
  47. $ViewPage = $MaxPage;
  48. }
  49. } elseif ($DelSel == true) {
  50. foreach($_POST['sele'] as $MessId => $Value) {
  51. if ($Value = "on") {
  52. doquery ( "DELETE FROM {{messages}} WHERE `message_id` = '". $MessId ."';");
  53. }
  54. }
  55. } elseif ($DelDat == true) {
  56. $SelDay = $_POST['selday'];
  57. $SelMonth = $_POST['selmonth'];
  58. $SelYear = $_POST['selyear'];
  59. $LimitDate = mktime (0,0,0, $SelMonth, $SelDay, $SelYear );
  60. if ($LimitDate != false) {
  61. doquery ( "DELETE FROM {{messages}} WHERE `message_time` <= '". $LimitDate ."';");
  62. doquery ( "DELETE FROM {{rw}} WHERE `time` <= '". $LimitDate ."';");
  63. }
  64. }
  65. $Mess = doquery("SELECT COUNT(*) AS `max` FROM {{messages}} WHERE `message_type` = '". $Selected ."';", '', true);
  66. $MaxPage = ceil ( ($Mess['max'] / 25) );
  67. $parse = $lang;
  68. $parse['mlst_data_page'] = $ViewPage;
  69. $parse['mlst_data_pagemax'] = $MaxPage;
  70. $parse['mlst_data_sele'] = $Selected;
  71. $parse['mlst_data_types'] = "<option value=\"0\"". (($Selected == "0") ? " SELECTED" : "") .">". $lang['mlst_mess_typ__0'] ."</option>";
  72. $parse['mlst_data_types'] .= "<option value=\"1\"". (($Selected == "1") ? " SELECTED" : "") .">". $lang['mlst_mess_typ__1'] ."</option>";
  73. $parse['mlst_data_types'] .= "<option value=\"2\"". (($Selected == "2") ? " SELECTED" : "") .">". $lang['mlst_mess_typ__2'] ."</option>";
  74. $parse['mlst_data_types'] .= "<option value=\"3\"". (($Selected == "3") ? " SELECTED" : "") .">". $lang['mlst_mess_typ__3'] ."</option>";
  75. $parse['mlst_data_types'] .= "<option value=\"4\"". (($Selected == "4") ? " SELECTED" : "") .">". $lang['mlst_mess_typ__4'] ."</option>";
  76. $parse['mlst_data_types'] .= "<option value=\"5\"". (($Selected == "5") ? " SELECTED" : "") .">". $lang['mlst_mess_typ__5'] ."</option>";
  77. $parse['mlst_data_types'] .= "<option value=\"15\"". (($Selected == "15") ? " SELECTED" : "") .">". $lang['mlst_mess_typ_15'] ."</option>";
  78. $parse['mlst_data_types'] .= "<option value=\"99\"". (($Selected == "99") ? " SELECTED" : "") .">". $lang['mlst_mess_typ_99'] ."</option>";
  79. $parse['mlst_data_pages'] = "";
  80. for ( $cPage = 1; $cPage <= $MaxPage; $cPage++ ) {
  81. $parse['mlst_data_pages'] .= "<option value=\"".$cPage."\"". (($ViewPage == $cPage) ? " SELECTED" : "") .">". $cPage ."/". $MaxPage ."</option>";
  82. }
  83. $parse['mlst_scpt'] = "<script language=\"JavaScript\">\n";
  84. $parse['mlst_scpt'] .= "function f(target_url, win_name) {\n";
  85. $parse['mlst_scpt'] .= "var new_win = window.open(target_url,win_name,'resizable=yes,scrollbars=yes,menubar=no,toolbar=no,width=550,height=280,top=0,left=0');\n";
  86. $parse['mlst_scpt'] .= "new_win.focus();\n";
  87. $parse['mlst_scpt'] .= "}\n";
  88. $parse['mlst_scpt'] .= "</script>\n";
  89. $parse['tbl_rows'] = "";
  90. $parse['mlst_title'] = $lang['mlst_title'];
  91. $StartRec = 1 + (($ViewPage - 1) * 25);
  92. $Messages = doquery("SELECT * FROM {{messages}} WHERE `message_type` = '". $Selected ."' ORDER BY `message_time` DESC LIMIT ". $StartRec .",25;");
  93. while ($row = mysql_fetch_assoc($Messages)) {
  94. $OwnerData = doquery ("SELECT `username` FROM {{users}} WHERE `id` = '". $row['message_owner'] ."';", '',true);
  95. $bloc['mlst_id'] = $row['message_id'];
  96. $bloc['mlst_from'] = $row['message_from'];
  97. $bloc['mlst_to'] = $OwnerData['username'] ." ID:". $row['message_owner'];
  98. $bloc['mlst_text'] = $row['message_text'];
  99. $bloc['mlst_time'] = date ( FMT_DATE_TIME, $row['message_time'] );
  100. $parse['mlst_data_rows'] .= parsetemplate($RowsTpl , $bloc);
  101. }
  102. $display = parsetemplate($BodyTpl , $parse);
  103. if (isset($_POST['delit'])) {
  104. doquery ("DELETE FROM {{messages}} WHERE `message_id` = '". $_POST['delit'] ."';");
  105. AdminMessage ( $lang['mlst_mess_del'] ." ( ". $_POST['delit'] ." )", $lang['mlst_title'], "./messagelist.".PHP_EX, 3);
  106. }
  107. display ($display, $lang['mlst_title'], false, '', true);
  108. ?>