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

/Quản lý website nội thất PHP/noithatviet/modules/archives/admin.functions.php

https://gitlab.com/phamngsinh/baitaplon_sinhvien
PHP | 321 lines | 297 code | 12 blank | 12 comment | 32 complexity | 4b0da3f434425f2eb82d35f0730e3fdd MD5 | raw file
  1. <?php
  2. /**
  3. * @Project Archives OF NUKEVIET 3.x
  4. * @Author PCD-GROUP (contact@dinhpc.com)
  5. * @Copyright (C) 2011 PCD-GROUP. All rights reserved
  6. * @Createdate July 27, 2011 11:24:58 AM
  7. */
  8. if ( ! defined( 'NV_ADMIN' ) or ! defined( 'NV_MAINFILE' ) or ! defined( 'NV_IS_MODADMIN' ) ) die( 'Stop!!!' );
  9. $submenu['cat'] = $lang_module['category'];
  10. $submenu['organ'] = $lang_module['organ'];
  11. $submenu['room'] = $lang_module['room'];
  12. $submenu['field'] = $lang_module['field'];
  13. $submenu['content'] = $lang_module['addcontent'];
  14. $submenu['config'] = $lang_module['config_title'];
  15. $allow_func = array(
  16. 'main', 'content', 'cat', 'cat_action', 'room', 'room_action', 'field', 'field_action', 'config', 'alias' ,'organ','organ_action'
  17. );
  18. define( 'NV_IS_FILE_ADMIN', true );
  19. global $global_array_cat;
  20. $global_array_cat = array();
  21. $sql = "SELECT * FROM `" . NV_PREFIXLANG . "_" . $module_data . "_cat` ORDER BY `order` ASC";
  22. $result = $db->sql_query( $sql );
  23. while ( $row = $db->sql_fetchrow( $result, 2 ) )
  24. {
  25. $global_array_cat[$row['catid']] = $row;
  26. }
  27. $array_who_view = array(
  28. 0 => $lang_global['who_view0'], 1 => $lang_global['who_view1'], 2 => $lang_global['who_view2'], 3 => $lang_global['who_view3']
  29. );
  30. /****/
  31. $admin_id = $admin_info['admin_id'];
  32. /****/
  33. global $global_array_room;
  34. $global_array_room = array();
  35. $sql = "SELECT * FROM `" . NV_PREFIXLANG . "_" . $module_data . "_room` ORDER BY `order` ASC";
  36. $result = $db->sql_query( $sql );
  37. while ( $row = $db->sql_fetchrow( $result, 2 ) )
  38. {
  39. $global_array_room[$row['roomid']] = $row;
  40. }
  41. //**//
  42. global $global_array_field;
  43. $global_array_field = array();
  44. $sql = "SELECT * FROM `" . NV_PREFIXLANG . "_" . $module_data . "_field` ORDER BY `order` ASC";
  45. $result = $db->sql_query( $sql );
  46. while ( $row = $db->sql_fetchrow( $result, 2 ) )
  47. {
  48. $global_array_field[$row['fieldid']] = $row;
  49. }
  50. //**//
  51. global $global_array_organ;
  52. $global_array_organ = array();
  53. $sql = "SELECT * FROM `" . NV_PREFIXLANG . "_" . $module_data . "_organ` ORDER BY `order` ASC";
  54. $result = $db->sql_query( $sql );
  55. while ( $row = $db->sql_fetchrow( $result, 2 ) )
  56. {
  57. $global_array_organ[$row['organid']] = $row;
  58. }
  59. //**//
  60. function nv_fix_cat_order ( $parentid = 0, $order = 0, $lev = 0 )
  61. {
  62. global $db, $db_config, $lang_module, $lang_global, $module_name, $module_data, $op;
  63. $query = "SELECT `catid`, `parentid` FROM `" . NV_PREFIXLANG . "_" . $module_data . "_cat` WHERE `parentid`=" . $parentid . " ORDER BY `weight` ASC";
  64. $result = $db->sql_query( $query );
  65. $array_cat_order = array();
  66. while ( $row = $db->sql_fetchrow( $result ) )
  67. {
  68. $array_cat_order[] = $row['catid'];
  69. }
  70. $db->sql_freeresult();
  71. $weight = 0;
  72. if ( $parentid > 0 )
  73. {
  74. $lev ++;
  75. }
  76. else
  77. {
  78. $lev = 0;
  79. }
  80. foreach ( $array_cat_order as $catid_i )
  81. {
  82. $order ++;
  83. $weight ++;
  84. $sql = "UPDATE `" . NV_PREFIXLANG . "_" . $module_data . "_cat` SET `weight`=" . $weight . ", `order`=" . $order . ", `lev`='" . $lev . "' WHERE `catid`=" . intval( $catid_i );
  85. $db->sql_query( $sql );
  86. $order = nv_fix_cat_order( $catid_i, $order, $lev );
  87. }
  88. $numsubcat = $weight;
  89. if ( $parentid > 0 )
  90. {
  91. $sql = "UPDATE `" . NV_PREFIXLANG . "_" . $module_data . "_cat` SET `numsubcat`=" . $numsubcat;
  92. if ( $numsubcat == 0 )
  93. {
  94. $sql .= ",`subcatid`=''";
  95. }
  96. else
  97. {
  98. $sql .= ",`subcatid`='" . implode( ",", $array_cat_order ) . "'";
  99. }
  100. $sql .= " WHERE `catid`=" . intval( $parentid );
  101. $db->sql_query( $sql );
  102. }
  103. return $order;
  104. }
  105. function nv_fix_cat_row ( $catid = 0 )
  106. {
  107. global $db, $db_config, $module_name, $module_data;
  108. $query = "SELECT count(*) FROM `" . NV_PREFIXLANG . "_" . $module_data . "_rows` WHERE `catid`=" . $catid . " AND status=1";
  109. $result = $db->sql_query( $query );
  110. list( $num ) = $db->sql_fetchrow( $result );
  111. $sql = "UPDATE `" . NV_PREFIXLANG . "_" . $module_data . "_cat` SET `numrow`=" . $num . " WHERE `catid`=" . intval( $catid );
  112. $db->sql_query( $sql );
  113. }
  114. function nv_fix_catall_row ( )
  115. {
  116. global $global_array_cat;
  117. foreach ( $global_array_cat as $catid_i=>$catinfo_i)
  118. {
  119. nv_fix_cat_row ( $catid_i );
  120. }
  121. }
  122. function nv_fix_room_order ( $parentid = 0, $order = 0, $lev = 0 )
  123. {
  124. global $db, $db_config, $lang_module, $lang_global, $module_name, $module_data, $op;
  125. $query = "SELECT `roomid`, `parentid` FROM `" . NV_PREFIXLANG . "_" . $module_data . "_room` WHERE `parentid`=" . $parentid . " ORDER BY `weight` ASC";
  126. $result = $db->sql_query( $query );
  127. $array_room_order = array();
  128. while ( $row = $db->sql_fetchrow( $result ) )
  129. {
  130. $array_room_order[] = $row['roomid'];
  131. }
  132. $db->sql_freeresult();
  133. $weight = 0;
  134. if ( $parentid > 0 )
  135. {
  136. $lev ++;
  137. }
  138. else
  139. {
  140. $lev = 0;
  141. }
  142. foreach ( $array_room_order as $roomid_i )
  143. {
  144. $order ++;
  145. $weight ++;
  146. $sql = "UPDATE `" . NV_PREFIXLANG . "_" . $module_data . "_room` SET `weight`=" . $weight . ", `order`=" . $order . ", `lev`='" . $lev . "' WHERE `roomid`=" . intval( $roomid_i );
  147. $db->sql_query( $sql );
  148. $order = nv_fix_room_order( $roomid_i, $order, $lev );
  149. }
  150. $numsubroom = $weight;
  151. if ( $parentid > 0 )
  152. {
  153. $sql = "UPDATE `" . NV_PREFIXLANG . "_" . $module_data . "_room` SET `numsubroom`=" . $numsubroom;
  154. if ( $numsubroom == 0 )
  155. {
  156. $sql .= ",`subroomid`=''";
  157. }
  158. else
  159. {
  160. $sql .= ",`subroomid`='" . implode( ",", $array_room_order ) . "'";
  161. }
  162. $sql .= " WHERE `roomid`=" . intval( $parentid );
  163. $db->sql_query( $sql );
  164. }
  165. return $order;
  166. }
  167. function nv_fix_field_order ( $parentid = 0, $order = 0, $lev = 0 )
  168. {
  169. global $db, $db_config, $lang_module, $lang_global, $module_name, $module_data, $op;
  170. $query = "SELECT `fieldid`, `parentid` FROM `" . NV_PREFIXLANG . "_" . $module_data . "_field` WHERE `parentid`=" . $parentid . " ORDER BY `weight` ASC";
  171. $result = $db->sql_query( $query );
  172. $array_field_order = array();
  173. while ( $row = $db->sql_fetchrow( $result ) )
  174. {
  175. $array_field_order[] = $row['fieldid'];
  176. }
  177. $db->sql_freeresult();
  178. $weight = 0;
  179. if ( $parentid > 0 )
  180. {
  181. $lev ++;
  182. }
  183. else
  184. {
  185. $lev = 0;
  186. }
  187. foreach ( $array_field_order as $fieldid_i )
  188. {
  189. $order ++;
  190. $weight ++;
  191. $sql = "UPDATE `" . NV_PREFIXLANG . "_" . $module_data . "_field` SET `weight`=" . $weight . ", `order`=" . $order . ", `lev`='" . $lev . "' WHERE `fieldid`=" . intval( $fieldid_i );
  192. $db->sql_query( $sql );
  193. $order = nv_fix_field_order( $fieldid_i, $order, $lev );
  194. }
  195. $numsubfield = $weight;
  196. if ( $parentid > 0 )
  197. {
  198. $sql = "UPDATE `" . NV_PREFIXLANG . "_" . $module_data . "_field` SET `numsubfield`=" . $numsubfield;
  199. if ( $numsubfield == 0 )
  200. {
  201. $sql .= ",`subfieldid`=''";
  202. }
  203. else
  204. {
  205. $sql .= ",`subfieldid`='" . implode( ",", $array_field_order ) . "'";
  206. }
  207. $sql .= " WHERE `fieldid`=" . intval( $parentid );
  208. $db->sql_query( $sql );
  209. }
  210. return $order;
  211. }
  212. function nv_fix_organ_order ( $parentid = 0, $order = 0, $lev = 0 )
  213. {
  214. global $db, $db_config, $lang_module, $lang_global, $module_name, $module_data, $op;
  215. $query = "SELECT `organid`, `parentid` FROM `" . NV_PREFIXLANG . "_" . $module_data . "_organ` WHERE `parentid`=" . $parentid . " ORDER BY `weight` ASC";
  216. $result = $db->sql_query( $query );
  217. $array_organ_order = array();
  218. while ( $row = $db->sql_fetchrow( $result ) )
  219. {
  220. $array_organ_order[] = $row['organid'];
  221. }
  222. $db->sql_freeresult();
  223. $weight = 0;
  224. if ( $parentid > 0 )
  225. {
  226. $lev ++;
  227. }
  228. else
  229. {
  230. $lev = 0;
  231. }
  232. foreach ( $array_organ_order as $organid_i )
  233. {
  234. $order ++;
  235. $weight ++;
  236. $sql = "UPDATE `" . NV_PREFIXLANG . "_" . $module_data . "_organ` SET `weight`=" . $weight . ", `order`=" . $order . ", `lev`='" . $lev . "' WHERE `organid`=" . intval( $organid_i );
  237. $db->sql_query( $sql );
  238. $order = nv_fix_organ_order( $organid_i, $order, $lev );
  239. }
  240. $numsuborgan = $weight;
  241. if ( $parentid > 0 )
  242. {
  243. $sql = "UPDATE `" . NV_PREFIXLANG . "_" . $module_data . "_organ` SET `numsuborgan`=" . $numsuborgan;
  244. if ( $numsuborgan == 0 )
  245. {
  246. $sql .= ",`suborganid`=''";
  247. }
  248. else
  249. {
  250. $sql .= ",`suborganid`='" . implode( ",", $array_organ_order ) . "'";
  251. }
  252. $sql .= " WHERE `organid`=" . intval( $parentid );
  253. $db->sql_query( $sql );
  254. }
  255. return $order;
  256. }
  257. ///////////////////////
  258. function drawselect_number ( $select_name = "", $number_start = 0, $number_end = 1, $number_curent = 0, $func_onchange = "", $enable = "" )
  259. {
  260. $html = '<select name="' . $select_name . '" id="id_' . $select_name . '" onchange="' . $func_onchange . '" ' . $enable . '>';
  261. for ( $i = $number_start; $i <= $number_end; $i ++ )
  262. {
  263. $select = ( $i == $number_curent ) ? 'selected="selected"' : '';
  264. $html .= '<option value="' . $i . '" ' . $select . '>' . $i . '</option>';
  265. }
  266. $html .= '</select>';
  267. return $html;
  268. }
  269. function drawselect_status ( $select_name = "", $array_control_value, $value_curent = 0, $func_onchange = "", $enable = "" )
  270. {
  271. $html = '<select name="' . $select_name . '" id="id_' . $select_name . '" onchange="' . $func_onchange . '" ' . $enable . '>';
  272. foreach ( $array_control_value as $val => $title )
  273. {
  274. $select = ( $val == $value_curent ) ? "selected=\"selected\"" : "";
  275. $html .= '<option value="' . $val . '" ' . $select . '>' . $title . '</option>';
  276. }
  277. $html .= '</select>';
  278. return $html;
  279. }
  280. function GetCatidInParent ( $catid )
  281. {
  282. global $global_array_cat;
  283. $array_cat = array();
  284. $array_cat[] = $catid;
  285. $subcatid = explode( ",", $global_array_cat[$catid]['subcatid'] );
  286. if ( ! empty( $subcatid ) )
  287. {
  288. foreach ( $subcatid as $id )
  289. {
  290. if ( $id > 0 )
  291. {
  292. if ( $global_array_cat[$id]['numsubcat'] == 0 )
  293. {
  294. $array_cat[] = $id;
  295. }
  296. else
  297. {
  298. $array_cat_temp = GetCatidInParent( $id );
  299. foreach ( $array_cat_temp as $catid_i )
  300. {
  301. $array_cat[] = $catid_i;
  302. }
  303. }
  304. }
  305. }
  306. }
  307. return array_unique( $array_cat );
  308. }
  309. ?>