PageRenderTime 48ms CodeModel.GetById 21ms RepoModel.GetById 0ms app.codeStats 0ms

/e107_admin/wmessage.php

https://github.com/CasperGemini/e107
PHP | 313 lines | 238 code | 50 blank | 25 comment | 36 complexity | fbfbc5552877d04ba38bf0f74a07aaf3 MD5 | raw file
Possible License(s): GPL-2.0
  1. <?php
  2. /*
  3. * e107 website system
  4. *
  5. * Copyright (C) 2008-2013 e107 Inc (e107.org)
  6. * Released under the terms and conditions of the
  7. * GNU General Public License (http://www.gnu.org/licenses/gpl.txt)
  8. *
  9. */
  10. require_once("../class2.php");
  11. if (!getperms("M"))
  12. {
  13. header("location:".e_BASE."index.php");
  14. exit;
  15. }
  16. // include_lan(e_LANGUAGEDIR.e_LANGUAGE.'/admin/lan_'.e_PAGE);
  17. e107::lan('core','wmessage',true);
  18. $e_sub_cat = 'wmessage';
  19. require_once("auth.php");
  20. require_once(e_HANDLER.'userclass_class.php');
  21. require_once(e_HANDLER."ren_help.php");
  22. $frm = e107::getForm();
  23. $mes = e107::getMessage();
  24. vartrue($action) == '';
  25. if (e_QUERY)
  26. {
  27. $tmp = explode('.', e_QUERY);
  28. $action = $tmp[0];
  29. $sub_action = varset($tmp[1], '');
  30. $id = varset($tmp[2], 0);
  31. unset($tmp);
  32. }
  33. if($_POST)
  34. {
  35. $e107cache->clear("wmessage");
  36. }
  37. if (isset($_POST['wm_update']))
  38. {
  39. $data = $_POST['data']; // $tp->toDB($_POST['data']) causes issues with ':'
  40. $wm_title = $tp->toDB($_POST['wm_caption']);
  41. $wmId = intval($_POST['wm_id']);
  42. $updateArray = array(
  43. 'gen_chardata' => $data,
  44. 'gen_ip' => $wm_title,
  45. 'gen_intdata' => $_POST['wm_active'],
  46. 'WHERE' => "gen_id=".$wmId
  47. );
  48. //$message = ($sql->db_Update("generic", "gen_chardata ='{$data}',gen_ip ='{$wm_title}', gen_intdata='".$_POST['wm_active']."' WHERE gen_id=".$wmId." ")) ? LAN_UPDATED : LAN_UPDATED_FAILED;
  49. // if ($sql->update("generic", "gen_chardata ='{$data}',gen_ip ='{$wm_title}', gen_intdata='".$_POST['wm_active']."' WHERE gen_id=".$wmId." "))
  50. if ($sql->update("generic", $updateArray))
  51. {
  52. $mes->addSuccess(LAN_UPDATED);
  53. welcome_adminlog('02', $wmId, $wm_title);
  54. }
  55. else
  56. {
  57. $mes->addError(LAN_UPDATED_FAILED);
  58. }
  59. }
  60. if (isset($_POST['wm_insert']))
  61. {
  62. $wmtext = $tp->toDB($_POST['data']);
  63. $wmtitle = $tp->toDB($_POST['wm_caption']);
  64. welcome_adminlog('01', 0, $wmtitle);
  65. //$message = ($sql->db_Insert("generic", "0, 'wmessage', '".time()."', ".USERID.", '{$wmtitle}', '{$_POST['wm_active']}', '{$wmtext}' ")) ? LAN_CREATED : LAN_CREATED_FAILED ;
  66. if ($sql->db_Insert("generic", "0, 'wmessage', '".time()."', ".USERID.", '{$wmtitle}', '{$_POST['wm_active']}', '{$wmtext}' "))
  67. {
  68. $mes->addSuccess(LAN_CREATED);
  69. }
  70. else
  71. {
  72. $mes->addError(LAN_CREATED_FAILED);
  73. }
  74. }
  75. if (isset($_POST['updateoptions']))
  76. {
  77. $changed = FALSE;
  78. foreach (array('wm_enclose','wmessage_sc') as $opt)
  79. {
  80. $temp = intval($_POST[$opt]);
  81. if ($temp != $pref[$opt])
  82. {
  83. $pref[$opt] = $temp;
  84. $changed = TRUE;
  85. }
  86. }
  87. if ($changed)
  88. {
  89. save_prefs();
  90. welcome_adminlog('04', 0, $pref['wm_enclose'].', '.$pref['wmessage_sc']);
  91. }
  92. else
  93. {
  94. $mes->addInfo(LAN_NOCHANGE_NOTSAVED);
  95. }
  96. }
  97. if (isset($_POST['main_delete']))
  98. {
  99. $del_id = array_keys($_POST['main_delete']);
  100. welcome_adminlog('03', $wmId, '');
  101. if ($sql->delete("generic", "gen_id='".$del_id[0]."' "))
  102. {
  103. $mes->addSuccess(LAN_DELETED);
  104. }
  105. else
  106. {
  107. $mes->addError(LAN_DELETED_FAILED);
  108. }
  109. }
  110. echo $mes->render();
  111. // Show Existing -------
  112. if ($action == "main" || $action == "")
  113. {
  114. if ($wm_total = $sql->select("generic", "*", "gen_type='wmessage' ORDER BY gen_id ASC"))
  115. {
  116. $wmList = $sql->db_getList();
  117. $text = $frm->open('myform_wmessage','post',e_SELF);
  118. $text .= "
  119. <table class='table adminlist'>
  120. <colgroup>
  121. <col style='width:5%' />
  122. <col style='width:70%' />
  123. <col style='width:10%' />
  124. <col style='width:10%' />
  125. </colgroup>
  126. <thead>
  127. <tr>
  128. <th>".LAN_ID."</th>
  129. <th>".WMLAN_02."</th>
  130. <th class='center'>".LAN_VISIBILITY."</th>
  131. <th class='center'>".LAN_OPTIONS."</th>
  132. </tr>
  133. </thead>
  134. <tbody>";
  135. foreach($wmList as $row)
  136. {
  137. $text .= "
  138. <tr>
  139. <td class='center' style='text-align: center; vertical-align: middle'>".$row['gen_id']."</td>
  140. <td>".strip_tags($tp->toHTML($row['gen_ip']))."</td>
  141. <td>".r_userclass_name($row['gen_intdata'])."</td>
  142. <td class='center nowrap'>
  143. <a class='btn btn-large' href='".e_SELF."?create.edit.{$row['gen_id']}'>".ADMIN_EDIT_ICON."</a>
  144. <button class='btn btn-large action delete' type='submit' title='".LAN_DELETE."' name='main_delete[".$row['gen_id']."]' data-confirm=\"".LAN_CONFIRMDEL." [ID: {$row['gen_id']} ]\" >".ADMIN_DELETE_ICON."</button>
  145. </td>
  146. </tr>";
  147. }
  148. $text .= "</tbody></table>";
  149. $text .= $frm->close();
  150. } else {
  151. $mes->addInfo(WMLAN_09);
  152. }
  153. $ns->tablerender(WMLAN_00.SEP.LAN_MANAGE, $mes->render() . $text);
  154. }
  155. // Create and Edit
  156. if ($action == "create" || $action == "edit")
  157. {
  158. if ($sub_action == "edit")
  159. {
  160. $sql->select("generic", "gen_intdata, gen_ip, gen_chardata", "gen_id = $id");
  161. $row = $sql->fetch();
  162. }
  163. $text = "
  164. <form method='post' action='".e_SELF."' id='wmform'>
  165. <fieldset id='code-wmessage-create'>
  166. <table class='table adminform'>
  167. <colgroup>
  168. <col class='col-label' />
  169. <col class='col-control' />
  170. </colgroup>
  171. <tr>
  172. <td>".WMLAN_10."</td>
  173. <td>".$frm->text('wm_caption', $tp->toForm(vartrue($row['gen_ip'])), 80)."</td>
  174. </tr>
  175. <tr>
  176. <td>".WMLAN_04."</td>
  177. <td>";
  178. $text .= $frm->bbarea('data',$row['gen_chardata']);
  179. // $text .= "<textarea class='e-wysiwyg tbox' id='data' name='data' cols='70' rows='15' style='width:95%' onselect='storeCaret(this);' onclick='storeCaret(this);' onkeyup='storeCaret(this)'>".$tp->toForm(vartrue($row['gen_chardata']))."</textarea>";
  180. $text .= "</td>
  181. </tr>";
  182. // $text .= display_help("helpb", "admin"); //XXX Serves as BC Check
  183. $text .= "
  184. <tr>
  185. <td>".LAN_VISIBILITY."</td>
  186. <td>".r_userclass("wm_active", vartrue($row['gen_intdata']), "off", "public,guest,nobody,member,admin,classes")."</td>
  187. </tr>
  188. </table>
  189. <div class='buttons-bar center'>";
  190. if($sub_action == "edit")
  191. {
  192. $text .= $frm->admin_button('wm_update', LAN_UPDATE, 'update');
  193. }
  194. else
  195. {
  196. $text .= $frm->admin_button('wm_insert', LAN_CREATE, 'create');
  197. }
  198. $text .= "<input type='hidden' name='wm_id' value='".$id."' />";
  199. $text .= "</div>
  200. </fieldset>
  201. </form>";
  202. $ns->tablerender(WMLAN_00.SEP.LAN_CREATE, $mes->render() . $text);
  203. }
  204. if ($action == "opt") {
  205. $pref = e107::getPref();
  206. $ns = e107::getRender();
  207. $text = "
  208. <form method='post' action='".e_SELF."?".e_QUERY."'>\n
  209. <fieldset id='code-wmessage-options'>
  210. <table class='table adminform'>
  211. <colgroup>
  212. <col class='col-label' />
  213. <col class='col-control' />
  214. </colgroup>
  215. <tr>
  216. <td>".WMLAN_05."</td>
  217. <td>".$frm->radio_switch('wm_enclose', varset($pref['wm_enclose']))."<span class='field-help'>".WMLAN_06."</span></td>
  218. </tr>";
  219. /* DEPRECATED - see header_default.php {WMESSAGE}
  220. $text .= "
  221. <tr>
  222. <td>".WMLAN_07."</td>
  223. <td>".$frm->checkbox('wmessage_sc', 1, varset($pref['wmessage_sc'],0))."</td>
  224. </tr>";
  225. */
  226. $text .= "
  227. </table>
  228. <div class='buttons-bar center'>
  229. ". $frm->admin_button('updateoptions', LAN_SAVE)."
  230. </div>
  231. </fieldset>
  232. </form>
  233. ";
  234. $ns->tablerender(WMLAN_00.SEP.LAN_PREFS, $mes->render() . $text);
  235. }
  236. function wmessage_adminmenu()
  237. {
  238. $act = e_QUERY;
  239. $action = vartrue($act,'main');
  240. $var['main']['text'] = LAN_MANAGE;
  241. $var['main']['link'] = e_SELF;
  242. $var['create']['text'] = LAN_CREATE;
  243. $var['create']['link'] = e_SELF."?create";
  244. $var['opt']['text'] = LAN_PREFS;
  245. $var['opt']['link'] = e_SELF."?opt";
  246. show_admin_menu(WMLAN_00, $action, $var);
  247. }
  248. require_once("footer.php");
  249. // Log event to admin log
  250. function welcome_adminlog($msg_num='00', $id=0, $woffle='')
  251. {
  252. global $pref, $admin_log;
  253. // if (!varset($pref['admin_log_log']['admin_welcome'],0)) return;
  254. $msg = '';
  255. if ($id) $msg = 'ID: '.$id;
  256. if ($woffle)
  257. {
  258. if ($msg) $msg .= '[!br!]';
  259. $msg .= $woffle;
  260. }
  261. $admin_log->log_event('WELCOME_'.$msg_num,$msg,E_LOG_INFORMATIVE,'');
  262. }
  263. ?>