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

/e107_plugins/banner/admin_banner.php

https://github.com/CasperGemini/e107
PHP | 693 lines | 467 code | 82 blank | 144 comment | 62 complexity | 29805ca006c321d66a1203c3f61a4b62 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. * Banner Administration
  10. *
  11. */
  12. /**
  13. * e107 Banner management plugin
  14. *
  15. * Handles the display and sequencing of banners on web pages, including counting impressions
  16. *
  17. * @package e107_plugins
  18. * @subpackage banner
  19. *
  20. */
  21. // TODO FIXME needs validation (e.g. Click URL field is not checked to be sure it's an URL) - also required fields?
  22. require_once('../../class2.php');
  23. if (!getperms('D'))
  24. {
  25. header('location:'.e_BASE.'index.php');
  26. exit;
  27. }
  28. $e_sub_cat = 'banner';
  29. require_once(e_ADMIN.'auth.php');
  30. require_once(e_HANDLER.'userclass_class.php');
  31. require_once(e_HANDLER.'file_class.php');
  32. $fl = e107::getFile();
  33. $frm = e107::getForm();
  34. $mes = e107::getMessage();
  35. $tp = e107::getParser();
  36. e107::lan('banner',e_LANGUAGE.'_admin_banner.php',true); // e_PLUGIN.'banner/languages/'.e_LANGUAGE.'_admin_banner.php'
  37. if(e_QUERY)
  38. {
  39. list($action, $sub_action, $id) = explode('.', e_QUERY);
  40. }
  41. $images = $fl->get_files(e_IMAGE.'banners/','','standard');
  42. $menu_pref = e107::getConfig('menu')->getPref('');
  43. if (isset($_POST['update_menu']))
  44. {
  45. $temp['banner_caption'] = $tp->toDB($_POST['banner_caption']);
  46. $temp['banner_amount'] = intval($_POST['banner_amount']);
  47. $temp['banner_rendertype'] = intval($_POST['banner_rendertype']);
  48. if (isset($_POST['multiaction_cat_active']))
  49. {
  50. /*$array_cat = explode("-", $_POST['catid']);
  51. $cat='';
  52. for($i = 0; $i < count($array_cat); $i++)
  53. {
  54. $cat .= $tp->toDB($array_cat[$i])."|";
  55. }
  56. $cat = substr($cat, 0, -1);*/
  57. $cat = implode('|', $tp->toDB($_POST['multiaction_cat_active']));
  58. $temp['banner_campaign'] = $cat;
  59. }
  60. if ($admin_log->logArrayDiffs($temp,$menu_pref,'BANNER_01'))
  61. {
  62. $menuPref = e107::getConfig('menu');
  63. //e107::getConfig('menu')->setPref('', $menu_pref);
  64. //e107::getConfig('menu')->save(false, true, false);
  65. foreach ($temp as $k => $v)
  66. {
  67. $menuPref->setPref($k, $v);
  68. }
  69. $menuPref->save(false, true, false);
  70. //banners_adminlog('01', $menu_pref['banner_caption'].'[!br!]'.$menu_pref['banner_amount'].', '.$menu_pref['banner_rendertype'].'[!br!]'.$menu_pref['banner_campaign']);
  71. }
  72. }
  73. if (vartrue($_POST['createbanner']) || vartrue($_POST['updatebanner']))
  74. {
  75. $start_date = vartrue(e107::getDate()->convert($_POST['banner_startdate'],'inputdate'), 0);
  76. $end_date = vartrue(e107::getDate()->convert($_POST['banner_enddate'],'inputdate'), 0);
  77. $cli = $tp->toDB($_POST['client_name'] ? $_POST['client_name'] : $_POST['banner_client_sel']);
  78. $cLogin = $tp->toDB($_POST['client_login']);
  79. $cPassword = $tp->toDB($_POST['client_password']);
  80. $banImage = $tp->toDB($_POST['banner_image']);
  81. $banURL = $tp->toDB($_POST['click_url']);
  82. $cam = $tp->toDB($_POST['banner_campaign'] ? $_POST['banner_campaign'] : $_POST['banner_campaign_sel']);
  83. $logString .= $cam.'[!br!]'.$cli.'[!br!]'.$banImage.'[!br!]'.$banURL;
  84. if ($_POST['createbanner'])
  85. {
  86. e107::getMessage()->addAuto($sql->db_Insert("banner", "0, '".$cli."', '".$cLogin."', '".$cPassword."', '".$banImage."', '".$banURL."', '".intval($_POST['impressions_purchased'])."', '".$start_date."', '".$end_date."', '".intval($_POST['banner_class'])."', 0, 0, '', '".$cam."'"), 'insert', LAN_CREATED, false, false);
  87. banners_adminlog('02',$logString);
  88. }
  89. else // updating, not creating
  90. {
  91. e107::getMessage()->addAuto($sql->db_Update("banner", "banner_clientname='".$cli."', banner_clientlogin='".$cLogin."', banner_clientpassword='".$cPassword."', banner_image='".$banImage."', banner_clickurl='".$banURL."', banner_impurchased='".intval($_POST['impressions_purchased'])."', banner_startdate='".$start_date."', banner_enddate='".$end_date."', banner_active='".intval($_POST['banner_class'])."', banner_campaign='".$cam."' WHERE banner_id=".intval($_POST['eid'])), 'update', LAN_UPDATED, false, false);
  92. banners_adminlog('03',$logString);
  93. }
  94. unset($_POST['client_name'], $_POST['client_login'], $_POST['client_password'], $_POST['banner_image'], $_POST['click_url'], $_POST['impressions_purchased'], $start_date, $end_date, $_POST['banner_enabled'], $_POST['banner_startdate'], $_POST['banner_enddate'], $_POST['banner_class'], $_POST['banner_listtype']);
  95. }
  96. /* DELETE ACTIONS */
  97. if (isset($_POST['delete_cancel'])) // delete cancelled - redirect back to 'manage'
  98. {
  99. session_write_close();
  100. header('Location:'.e_SELF);
  101. exit;
  102. }
  103. if (vartrue($action) == "delete" && $sub_action && varsettrue($_POST['delete_confirm'])) // delete has been confirmed, process
  104. {
  105. if($sql->db_Delete("banner", "banner_id=".intval($sub_action)))
  106. {
  107. $mes->addSuccess(LAN_DELETED);
  108. banners_adminlog('04','Id: '.intval($sub_action));
  109. header('Location:'.e_SELF);
  110. exit;
  111. }
  112. else // delete failed - redirect back to 'manage' and display message
  113. {
  114. $mes->addWarning(LAN_DELETED_FAILED);
  115. session_write_close();
  116. header('Location:'.e_SELF);
  117. exit;
  118. }
  119. }
  120. elseif ($action == "delete" && $sub_action) // confirm delete
  121. { // shown only if JS is disabled or by direct url hit (?delete.banner_id)
  122. $mes->addWarning(LAN_CONFIRMDEL);
  123. $text = "
  124. <form method='post' action='".e_SELF."?".e_QUERY."'>
  125. <fieldset id='core-banner-delete-confirm'>
  126. <legend class='e-hideme'>".LAN_CONFIRMDEL."</legend>
  127. <div class='buttons-bar center'>
  128. ".$frm->admin_button('delete_confirm', LAN_CONFDELETE, 'delete')."
  129. ".$frm->admin_button('delete_cancel', LAN_CANCEL, 'cancel')."
  130. <input type='hidden' name='id' value='".$sub_action."' />
  131. </div>
  132. </fieldset>
  133. </form>
  134. ";
  135. $ns->tablerender(LAN_CONFDELETE, $mes->render() . $text);
  136. require_once(e_ADMIN."footer.php");
  137. exit;
  138. }
  139. if ($sql->select("banner"))
  140. {
  141. while ($banner_row = $sql->fetch())
  142. {
  143. if (strpos($banner_row['banner_campaign'], "^") !== FALSE) {
  144. $campaignsplit = explode("^", $banner_row['banner_campaign']);
  145. $banner_row['banner_campaign'] = $campaignsplit[0];
  146. }
  147. if ($banner_row['banner_campaign'])
  148. {
  149. $campaigns[$banner_row['banner_campaign']] = $banner_row['banner_campaign'];
  150. }
  151. if ($banner_row['banner_clientname'])
  152. {
  153. $clients[$banner_row['banner_clientname']] = $banner_row['banner_clientname'];
  154. }
  155. if ($banner_row['banner_clientlogin'])
  156. {
  157. $logins[] = $banner_row['banner_clientlogin'];
  158. }
  159. if ($banner_row['banner_clientpassword'])
  160. {
  161. $passwords[] = $banner_row['banner_clientpassword'];
  162. }
  163. }
  164. }
  165. $text = '';
  166. if (!$action)
  167. {
  168. if (!$banner_total = $sql->select("banner"))
  169. {
  170. $mes->addInfo(BNRLAN_00);
  171. }
  172. else
  173. {
  174. $text = "
  175. <form method='post' action='".e_SELF."' id='core-banner-list-form'>
  176. <fieldset id='core-banner-list'>
  177. <legend class='e-hideme'>".LAN_MANAGE."</legend>
  178. <table class='table adminlist'>
  179. <colgroup span='7'>
  180. <col style='width: 5%'></col>
  181. <col style='width: 35%'></col>
  182. <col style='width: 10%'></col>
  183. <col style='width: 10%'></col>
  184. <col style='width: 15%'></col>
  185. <col style='width: 15%'></col>
  186. <col style='width: 10%'></col>
  187. </colgroup>
  188. <thead>
  189. <tr>
  190. <th class='center'>".LAN_ID."</th>
  191. <th>".BNRLAN_1."</th>
  192. <th class='center'>".BNRLAN_2."</th>
  193. <th class='center'>".BNRLAN_3."</th>
  194. <th class='center'>".BNRLAN_4."</th>
  195. <th class='center'>".BNRLAN_5."</th>
  196. <th class='center'>".LAN_OPTIONS."</th>
  197. </tr>
  198. </thead>
  199. <tbody>";
  200. while ($banner_row = $sql->fetch())
  201. {
  202. $clickpercentage = ($banner_row['banner_clicks'] && $banner_row['banner_impressions'] ? round(($banner_row['banner_clicks'] / $banner_row['banner_impressions']) * 100)."%" : "-");
  203. $impressions_left = ($banner_row['banner_impurchased'] ? $banner_row['banner_impurchased'] - $banner_row['banner_impressions'] : BNRLAN_6);
  204. $impressions_purchased = ($banner_row['banner_impurchased'] ? $banner_row['banner_impurchased'] : BNRLAN_6);
  205. $start_date = ($banner_row['banner_startdate'] ? strftime("%d %B %Y", $banner_row['banner_startdate']) : LAN_NONE);
  206. $end_date = ($banner_row['banner_enddate'] ? strftime("%d %B %Y", $banner_row['banner_enddate']) : LAN_NONE);
  207. if (strpos($banner_row['banner_campaign'], "^") !== FALSE) {
  208. $campaignsplit = explode("^", $banner_row['banner_campaign']);
  209. $banner_row['banner_campaign'] = $campaignsplit[0];
  210. $textvisivilitychanged = "(*)";
  211. } else {
  212. $textvisivilitychanged = "";
  213. }
  214. $text .= "
  215. <tr>
  216. <td class='center'>".$banner_row['banner_id']."</td>
  217. <td class='e-pointer' onclick=\"e107Helper.toggle('banner-infocell-{$banner_row['banner_id']}')\">
  218. <a href='#banner-infocell-{$banner_row['banner_id']}' class='action e-expandit' title='".BNRLAN_7."'>
  219. ".($banner_row['banner_clientname'] ? $banner_row['banner_clientname'] : BNRLAN_8)."</a>
  220. <div class='e-hideme clear' id='banner-infocell-{$banner_row['banner_id']}'>
  221. <div class='indent'>
  222. <div class='field-spacer'><strong>".BNRLAN_11.": </strong>".$banner_row['banner_campaign']."</div>
  223. <div class='field-spacer'><strong>".LAN_VISIBILITY." </strong>".r_userclass_name($banner_row['banner_active'])." ".$textvisivilitychanged."</div>
  224. <div class='field-spacer'><strong>".BNRLAN_9.": </strong>".$start_date."</div>
  225. <div class='field-spacer'><strong>".BNRLAN_10.": </strong>".$end_date."</div>
  226. </div>
  227. </div>
  228. </td>
  229. <td class='center'>".$banner_row['banner_clicks']."</td>
  230. <td class='center'>".$clickpercentage."</td>
  231. <td class='center'>".$impressions_purchased."</td>
  232. <td class='center'>".$impressions_left."</td>
  233. <td class='center options'>
  234. <a class='btn btn-large' href='".e_SELF."?create.edit.".$banner_row['banner_id']."'>".ADMIN_EDIT_ICON."</a>
  235. <a class='btn btn-large action delete' id='banner-delete-{$banner_row['banner_id']}' href='".e_SELF."?delete.".$banner_row['banner_id']."' rel='no-confirm' title='".LAN_CONFDELETE."'>".ADMIN_DELETE_ICON."</a>
  236. </td>
  237. </tr>
  238. ";
  239. }
  240. }
  241. $text .= "
  242. </tbody>
  243. </table>
  244. <input type='hidden' id='delete_confirm' name='delete_confirm' value='0' />
  245. </fieldset>
  246. </form>
  247. <script type='text/javascript'>
  248. \$\$('a[id^=banner-delete-]').each( function(element) {
  249. element.observe('click', function(e) {
  250. var el = e.findElement('a.delete'), msg = el.readAttribute('title') || e107.getModLan('delete_confirm');
  251. e.stop();
  252. if( !e107Helper.confirm(msg) ) return;
  253. else {
  254. \$('delete_confirm').value = 1;
  255. \$('core-banner-list-form').writeAttribute('action', el.href).submit();
  256. }
  257. });
  258. });
  259. </script>
  260. ";
  261. $ns->tablerender(LAN_PLUGIN_BANNER_NAME.SEP.LAN_MANAGE, $mes->render().$text);
  262. }
  263. if ($action == "create")
  264. {
  265. if ($sub_action == "edit" && $id)
  266. {
  267. if (!$sql->select("banner", "*", "banner_id = '".$id."'")) // FIXME check not working for some reason
  268. {
  269. $mes->addWarning(BNRLAN_01);
  270. }
  271. else
  272. {
  273. while ($banner_row = $sql->fetch())
  274. {
  275. $_POST['client_name'] = $banner_row['banner_clientname'];
  276. $_POST['client_login'] = $banner_row['banner_clientlogin'];
  277. $_POST['client_password'] = $banner_row['banner_clientpassword'];
  278. $_POST['banner_image'] = $banner_row['banner_image'];
  279. $_POST['click_url'] = $banner_row['banner_clickurl'];
  280. $_POST['impressions_purchased'] = $banner_row['banner_impurchased'];
  281. $_POST['banner_campaign'] = $banner_row['banner_campaign'];
  282. $_POST['banner_active'] = $banner_row['banner_active'];
  283. $_POST['banner_startdate'] = $banner_row['banner_startdate'];
  284. $_POST['banner_enddate'] = $banner_row['banner_enddate'];
  285. if (strpos($_POST['banner_campaign'], "^") !== FALSE) {
  286. $campaignsplit = explode("^", $_POST['banner_campaign']);
  287. $listtypearray = explode("-", $campaignsplit[1]);
  288. $listtype = $listtypearray[0];
  289. $campaign_pages = str_replace("|", "", $listtypearray[1]);
  290. $_POST['banner_campaign'] = $campaignsplit[0];
  291. } else {
  292. $_POST['banner_campaign'] = $banner_row['banner_campaign'];
  293. }
  294. }
  295. }
  296. }
  297. $text = "
  298. <form method='post' action='".e_SELF."'>
  299. <fieldset id='core-banner-edit'>
  300. <legend class='e-hideme'>".($sub_action == "edit" ? LAN_UPDATE : LAN_CREATE)."</legend>
  301. <table class='table adminform'>
  302. <colgroup span='2'>
  303. <col class='col-label' />
  304. <col class='col-control' />
  305. </colgroup>
  306. <tbody>
  307. <tr>
  308. <td>".BNRLAN_11."</td>
  309. <td>
  310. ";
  311. if (count($campaigns))
  312. {
  313. $text .= $frm->select('banner_campaign_sel',$campaigns,$_POST['banner_campaign'],'',LAN_SELECT);
  314. $text .= $frm->text('banner_campaign','','',array('placeholder'=> 'Or enter a new campaign'));
  315. }
  316. else
  317. {
  318. $text .= $frm->text('banner_campaign');
  319. }
  320. $text .= "<span class='field-help'>".BNRLAN_25."</span>
  321. </td>
  322. </tr>
  323. <tr>
  324. <td>".BNRLAN_1."</td>
  325. <td>
  326. ";
  327. if (count($clients))
  328. {
  329. $text .= $frm->select('banner_client_sel',$clients, $_POST['client_name'],'', LAN_SELECT);
  330. $text .= $frm->text('client_name','','',array('placeholder'=> 'Or enter a new client'));
  331. /*
  332. $text .= "
  333. <div class='field-spacer'>
  334. <select name='banner_client_sel' id='banner_client_sel' class='tbox' onchange=\"Banner_Change_Details()\">
  335. <option>".LAN_SELECT."</option>
  336. ";
  337. $c = 0;
  338. while ($clients[$c]) {
  339. if (!isset($for_var[$clients[$c]])) {
  340. $text .= "<option".(($_POST['client_name'] == $clients[$c]) ? " selected='selected'" : "").">".$clients[$c]."</option>";
  341. $for_var[$clients[$c]] = $clients[$c];
  342. }
  343. $c++;
  344. }
  345. unset($for_var);
  346. //TODO - ajax add client FIXME - currently not working as intended
  347. $text .= "
  348. </select> ".$frm->admin_button('add_new_client', BNRLAN_30, 'other', '', array('other' => "onclick=\"e107Helper.toggle('add-new-client-cont', false); \$('banner_client_sel').selectedIndex=0; return false;\""))."
  349. </div>
  350. <div class='field-spacer e-hideme' id='add-new-client-cont'>
  351. <input class='tbox' type='text' size='30' maxlength='100' name='client_name' value='' />
  352. <span class='field-help'>".BNRLAN_29."</span>
  353. </div>
  354. <script type='text/javascript'>
  355. function Banner_Change_Details() {
  356. var login_field = \$('clientlogin'), password_field = \$('clientpassword'), client_field = \$('banner_client_sel');
  357. switch(client_field.selectedIndex-1)
  358. {
  359. ";
  360. $c = 0;
  361. $i = 0;
  362. while ($logins[$c])
  363. {
  364. if (!isset($for_var[$logins[$c]])) {
  365. $text .= "
  366. case ".$i.":
  367. login_field.value = \"".$logins[$c]."\";
  368. password_field.value = \"".$passwords[$c]."\";
  369. break;";
  370. $for_var[$logins[$c]] = $logins[$c];
  371. $i++;
  372. }
  373. $c++;
  374. }
  375. unset($for_var);
  376. $text .= "
  377. default:
  378. login_field.value = \"\";
  379. password_field.value = \"\";
  380. break;
  381. }
  382. }
  383. </script>
  384. ";
  385. */
  386. }
  387. else
  388. {
  389. $text .= $frm->text('client_name',$_POST['client_name']);
  390. $text .= "<span class='field-help'>".BNRLAN_29."</span>";
  391. }
  392. $text .= "
  393. <span class='field-help'>".BNRLAN_28."</span></td>
  394. </tr>
  395. <tr>
  396. <td>".BNRLAN_12."</td>
  397. <td>".$frm->text('client_login', $_POST['client_login'], '20')."</td>
  398. </tr>
  399. <tr>
  400. <td>".BNRLAN_13."</td>
  401. <td>".$frm->password('client_password', $_POST['client_password'], '50','strength=1&generate=1&required=0')."</td>
  402. </tr>
  403. <tr>
  404. <td>".BNRLAN_14."</td>
  405. <td>".$frm->imagepicker('banner_image', $_POST['banner_image'], '', 'media=banner&w=600');
  406. /*
  407. $text .= "
  408. <div class='field-spacer'>
  409. <button class=' button action' type='button' value='no-value' onclick='e107Helper.toggle(\"banner-repo\")'><span>".BNRLAN_32."</span></button>
  410. </div>
  411. <div class='e-hideme' id='banner-repo'>
  412. ";
  413. $c = 0;
  414. while ($images[$c])
  415. {
  416. $image = $images[$c]['path'].$images[$c]['fname'];
  417. $fileext1 = substr(strrchr($image, "."), 1);
  418. $fileext2 = substr(strrchr($image, "."), 0);
  419. $text .= "
  420. <div class='field-spacer'>
  421. ".$frm->radio('banner_image', $images[$c]['fname'], (basename($image) == $_POST['banner_image']))."
  422. ";
  423. if ($fileext1 == 'swf')
  424. { //FIXME - swfObject
  425. $text .= "
  426. <object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0' width='468' height='60'>
  427. <param name='movie' value='".e_IMAGE."banners/".$images[$c]['fname']."'>
  428. <param name='quality' value='high'><param name='SCALE' value='noborder'>
  429. <embed src='".e_IMAGE."banners/".$images[$c]['fname']."' width='468' height='60' scale='noborder' quality='high' pluginspage='http://www.macromedia.com/go/getflashplayer' type='application/x-shockwave-flash'></embed>
  430. </object>
  431. ";
  432. }
  433. else if($fileext1 == "php" || $fileext1 == "html" || $fileext1 == "js")
  434. {
  435. $text .= $frm->label(BNRLAN_33.": ".$images[$c]['fname'],'banner_image', $images[$c]['fname']);
  436. }
  437. else
  438. {
  439. $text .= $frm->label("<img src='$image' alt='' />", 'banner_image', $images[$c]['fname']);
  440. }
  441. $text .= "
  442. </div>
  443. ";
  444. $c++;
  445. }
  446. $text .= "
  447. </div>";
  448. */
  449. $text .= "
  450. </td>
  451. </tr>
  452. <tr>
  453. <td>".BNRLAN_15."</td>
  454. <td>".$frm->text('click_url', $_POST['click_url'], '150')."</td>
  455. </tr>
  456. <tr>
  457. <td>".BNRLAN_16."</td>
  458. <td>".$frm->number('impressions_purchased', $_POST['impressions_purchased'], 10)."<span class='field-help'>".BNRLAN_31."</span></td>
  459. </tr>
  460. <tr>
  461. <td>".BNRLAN_17."</td>
  462. <td>".$frm->datepicker('banner_startdate', $_POST['banner_startdate'],'type=date')."</td>
  463. </tr>
  464. <tr>
  465. <td>".BNRLAN_18."</td>
  466. <td>".$frm->datepicker('banner_enddate', $_POST['banner_enddate'],'type=date')."</td>
  467. </tr>
  468. <tr>
  469. <td>".LAN_VISIBILITY."</td>
  470. <td>
  471. ".$e_userclass->uc_dropdown('banner_class', $_POST['banner_active'], 'public,member,guest,admin,classes,nobody,classes')."
  472. </td>
  473. </tr>
  474. </tbody>
  475. </table>
  476. <div class='buttons-bar center'>";
  477. if ($sub_action == "edit" && $id)
  478. {
  479. $text .= $frm->admin_button('updatebanner','no-value','create', LAN_UPDATE);
  480. $text .= "<input type='hidden' name='eid' value='".$id."' />";
  481. }
  482. else
  483. {
  484. $text .= $frm->admin_button('createbanner','no-value','create', LAN_CREATE);
  485. }
  486. $text .= "
  487. </div>
  488. </fieldset>
  489. </form>";
  490. $ns->tablerender(LAN_PLUGIN_BANNER_NAME.SEP.($sub_action == "edit" ? LAN_UPDATE : LAN_CREATE), $text);
  491. }
  492. if ($action == "menu")
  493. {
  494. $in_catname = array(); // Notice removal
  495. $all_catname = array();
  496. $array_cat_in = explode("|", $menu_pref['banner_campaign']);
  497. if (!$menu_pref['banner_caption'])
  498. {
  499. $menu_pref['banner_caption'] = BNRLAN_38;
  500. }
  501. $category_total = $sql -> select("banner", "DISTINCT(banner_campaign) as banner_campaign", "ORDER BY banner_campaign", "mode=no_where");
  502. while ($banner_row = $sql -> fetch())
  503. {
  504. $all_catname[] = $banner_row['banner_campaign'];
  505. if (in_array($banner_row['banner_campaign'], $array_cat_in))
  506. {
  507. $in_catname[] = $banner_row['banner_campaign'];
  508. }
  509. }
  510. $text = "
  511. <form method='post' action='".e_SELF."?menu' id='menu_conf_form'>
  512. <fieldset id='core-banner-menu'>
  513. <legend class='e-hideme'>".BNRLAN_36."</legend>
  514. <table class='table adminform'>
  515. <colgroup span='2'>
  516. <col class='col-label' />
  517. <col class='col-control' />
  518. </colgroup>
  519. <tbody>
  520. <tr>
  521. <td>".BNRLAN_37."</td>
  522. <td>".$frm->text('banner_caption', $menu_pref['banner_caption'])."</td>
  523. </tr>
  524. <tr>
  525. <td>".BNRLAN_39."</td>
  526. <td>
  527. ";
  528. if($all_catname)
  529. {
  530. foreach($all_catname as $name)
  531. {
  532. //$text .= "<option value='{$name}'>{$name}</option>";
  533. $text .= "
  534. <div class='field-spacer'>
  535. ".$frm->checkbox('multiaction_cat_active[]', $name, in_array($name, $in_catname)).$frm->label($name, 'multiaction_cat_active[]', $name)."
  536. </div>
  537. ";
  538. }
  539. $text .= "
  540. <div class='field-spacer'>
  541. ".$frm->admin_button('check_all', LAN_CHECKALL, 'other')."
  542. ".$frm->admin_button('uncheck_all', LAN_UNCHECKALL, 'other')."
  543. </div>
  544. ";
  545. }
  546. else
  547. {
  548. $text .= BNRLAN_40;
  549. }
  550. $text .= "
  551. </td>
  552. </tr>
  553. <tr>
  554. <td>".BNRLAN_41."</td>
  555. <td>".$frm->number('banner_amount', $menu_pref['banner_amount'], 3)."<span class='field-help'>".BNRLAN_42."</span></td>
  556. </tr>
  557. <tr>
  558. <td>".BNRLAN_43."</td>
  559. <td>
  560. <select class='tbox select' id='banner_rendertype' name='banner_rendertype'>
  561. ".$frm->option(BNRLAN_44, 0, (empty($menu_pref['banner_rendertype'])))."
  562. ".$frm->option("1 - ".BNRLAN_45, 1, ($menu_pref['banner_rendertype'] == "1"))."
  563. ".$frm->option("2 - ".BNRLAN_46, 2, ($menu_pref['banner_rendertype'] == "2"))."
  564. ".$frm->option("3 - ".BNRLAN_47, 3, ($menu_pref['banner_rendertype'] == "3"))."
  565. </select>
  566. </td>
  567. </tr>
  568. </tbody>
  569. </table>
  570. <div class='buttons-bar center'>".
  571. $frm->admin_button('update_menu','no-value','update', LAN_UPDATE)."
  572. </div>
  573. </fieldset>
  574. </form>
  575. ";
  576. $ns->tablerender(LAN_PLUGIN_BANNER_NAME.SEP.BNRLAN_36, $mes->render() . $text);
  577. }
  578. function admin_banner_adminmenu()
  579. {
  580. $qry = e_QUERY;
  581. $act = vartrue($qry,'main');
  582. $var['main']['text'] = LAN_MANAGE;
  583. $var['main']['link'] = e_SELF;
  584. $var['create']['text'] = LAN_CREATE;
  585. $var['create']['link'] = e_SELF."?create";
  586. $var['menu']['text'] = BNRLAN_35;
  587. $var['menu']['link'] = e_SELF."?menu";
  588. e107::getNav()->admin(LAN_PLUGIN_BANNER_NAME, $act, $var);
  589. }
  590. require_once(e_ADMIN."footer.php");
  591. // Log event to admin log
  592. function banners_adminlog($msg_num='00', $woffle='')
  593. {
  594. global $admin_log;
  595. $pref = e107::getPref();
  596. // if (!varset($pref['admin_log_log']['admin_banners'],0)) return;
  597. $admin_log->log_event('BANNER_'.$msg_num,$woffle, E_LOG_INFORMATIVE,'');
  598. }
  599. ?>