PageRenderTime 61ms CodeModel.GetById 13ms RepoModel.GetById 1ms app.codeStats 0ms

/adm/cash_forums.php

https://github.com/igorw-forks/icy_phoenix
PHP | 191 lines | 138 code | 35 blank | 18 comment | 19 complexity | f5e5f621878a9cb4116df9dc05992f78 MD5 | raw file
Possible License(s): AGPL-1.0
  1. <?php
  2. /**
  3. *
  4. * @package Icy Phoenix
  5. * @version $Id$
  6. * @copyright (c) 2008 Icy Phoenix
  7. * @license http://opensource.org/licenses/gpl-license.php GNU Public License
  8. *
  9. */
  10. /**
  11. *
  12. * @Extra credits for this file
  13. * Xore (mods@xore.ca)
  14. *
  15. */
  16. define('IN_ICYPHOENIX', true);
  17. define('IN_CASHMOD', true);
  18. if (!defined('IP_ROOT_PATH')) define('IP_ROOT_PATH', './../');
  19. if (!defined('PHP_EXT')) define('PHP_EXT', substr(strrchr(__FILE__, '.'), 1));
  20. require('pagestart.' . PHP_EXT);
  21. if ($config['cash_adminnavbar'])
  22. {
  23. $navbar = 1;
  24. include('admin_cash.' . PHP_EXT);
  25. }
  26. if (!$cash->currency_count())
  27. {
  28. message_die(GENERAL_MESSAGE, $lang['Insufficient_currencies']);
  29. }
  30. // Mode setting
  31. $mode = request_var('mode', '');
  32. // Begin program proper
  33. if (isset($_POST['submit']))
  34. {
  35. $cash_forums = array();
  36. $current_list = array();
  37. $forum_types = array(FORUM_POST);
  38. $forums_array = get_forums_ids($forum_types, false, false);
  39. foreach ($forums_array as $forum)
  40. {
  41. $cash_forums[] = $forum['forum_id'];
  42. }
  43. while ($c_cur = &$cash->currency_next($cm_i))
  44. {
  45. $varname = 'cash_' . $c_cur->id();
  46. if (isset($_POST[$varname]) && is_array($_POST[$varname]))
  47. {
  48. $activated = array(array(),array());
  49. for ($i = 0; $i < sizeof($cash_forums); $i++)
  50. {
  51. if (isset($_POST[$varname][$cash_forums[$i]]))
  52. {
  53. $activated[intval($_POST[$varname][$cash_forums[$i]])][] = $cash_forums[$i];
  54. }
  55. }
  56. $sql_list = '';
  57. $settings = $c_cur->data('cash_settings');
  58. if (sizeof($activated[0]) > sizeof($activated[1]))
  59. {
  60. $sql_list = implode(",",$activated[1]);
  61. $settings &= ~CURRENCY_FORUMLISTTYPE;
  62. }
  63. else
  64. {
  65. $sql_list = implode(",",$activated[0]);
  66. $settings |= CURRENCY_FORUMLISTTYPE;
  67. }
  68. $sql = "UPDATE " . CASH_TABLE . "
  69. SET cash_settings = $settings, cash_forumlist = '$sql_list'
  70. WHERE cash_id = " . $c_cur->id();
  71. $db->sql_query($sql);
  72. }
  73. }
  74. $cash->refresh_table();
  75. $db->clear_cache('cash_');
  76. }
  77. // Start page proper
  78. $template->set_filenames(array('body' => ADM_TPL . 'cash_forum.tpl'));
  79. $template->assign_vars(array(
  80. 'S_FORUM_ACTION' => append_sid('cash_forums.' . PHP_EXT),
  81. 'L_FORUM_SETTINGS_TITLE' => $lang['Forum_cm_settings'],
  82. 'L_FORUM_SETTINGS_EXPLAIN' => $lang['Forum_cm_settings_explain'],
  83. 'L_SUBMIT' => $lang['Submit'],
  84. 'L_RESET' => $lang['Reset'],
  85. 'NUM_ROWS' => ((2*$cash->currency_count()) + 3),
  86. 'L_ON' => ucwords(strtolower($lang['ON'])),
  87. 'L_OFF' => ucwords(strtolower($lang['OFF']))
  88. )
  89. );
  90. $boolean_forums = array();
  91. while ($c_cur = &$cash->currency_next($cm_i))
  92. {
  93. $template->assign_block_vars('cashrow', array(
  94. 'CASH_NAME' => $c_cur->name()
  95. )
  96. );
  97. }
  98. $sql = "SELECT forum_id AS cat_id, forum_name AS cat_title, forum_order AS cat_order
  99. FROM " . FORUMS_TABLE . "
  100. WHERE forum_type = " . FORUM_CAT . "
  101. ORDER BY forum_order";
  102. $q_categories = $db->sql_query($sql);
  103. if ($total_categories = $db->sql_numrows($q_categories))
  104. {
  105. $category_rows = $db->sql_fetchrowset($q_categories);
  106. $sql = "SELECT *
  107. FROM " . FORUMS_TABLE . "
  108. WHERE forum_type = " . FORUM_POST . "
  109. ORDER BY forum_order";
  110. $q_forums = $db->sql_query($sql);
  111. if ($total_forums = $db->sql_numrows($q_forums))
  112. {
  113. $forum_rows = $db->sql_fetchrowset($q_forums);
  114. }
  115. // Okay, let's build the index
  116. $gen_cat = array();
  117. for ($i = 0; $i < $total_categories; $i++)
  118. {
  119. $cat_id = $category_rows[$i]['cat_id'];
  120. $template->assign_block_vars('catrow', array(
  121. 'S_ADD_FORUM_SUBMIT' => "addforum[$cat_id]",
  122. 'S_ADD_FORUM_NAME' => "forumname[$cat_id]",
  123. 'CAT_ID' => $cat_id,
  124. 'CAT_DESC' => $category_rows[$i]['cat_title'],
  125. 'U_VIEWCAT' => append_sid(IP_ROOT_PATH . CMS_PAGE_FORUM . '?' . POST_CAT_URL . '=' . $cat_id)
  126. )
  127. );
  128. for ($j = 0; $j < $total_forums; $j++)
  129. {
  130. $forum_id = $forum_rows[$j]['forum_id'];
  131. if ($forum_rows[$j]['parent_id'] == $cat_id)
  132. {
  133. $template->assign_block_vars('catrow.forumrow', array(
  134. 'FORUM_NAME' => $forum_rows[$j]['forum_name'],
  135. 'FORUM_DESC' => $forum_rows[$j]['forum_desc'],
  136. 'NUM_TOPICS' => $forum_rows[$j]['forum_topics'],
  137. 'NUM_POSTS' => $forum_rows[$j]['forum_posts'],
  138. 'U_VIEWFORUM' => append_sid(IP_ROOT_PATH . CMS_PAGE_VIEWFORUM . '?' . POST_FORUM_URL . '=' . $forum_id)
  139. )
  140. );
  141. while ($c_cur = &$cash->currency_next($cm_i))
  142. {
  143. $template->assign_block_vars('catrow.forumrow.cashrow', array(
  144. 'S_ON' => (($c_cur->forum_active($forum_id)) ? ' checked="checked"' : ''),
  145. 'S_OFF' => (($c_cur->forum_active($forum_id)) ? '' : ' checked="checked"'),
  146. 'S_NAME' => 'cash_' . $c_cur->id() . '[' . $forum_id . ']'
  147. )
  148. );
  149. }
  150. }// if ... forumid == catid
  151. } // for ... forums
  152. } // for ... categories
  153. }// if ... total_categories
  154. $template->pparse('body');
  155. include('./page_footer_admin.' . PHP_EXT);
  156. ?>