PageRenderTime 83ms CodeModel.GetById 25ms RepoModel.GetById 0ms app.codeStats 0ms

/NukeViet3.2/modules/download/functions.php

http://nuke-viet.googlecode.com/
PHP | 242 lines | 175 code | 35 blank | 32 comment | 30 complexity | 66f2ed1a0d2bbef4be76b42542d424b4 MD5 | raw file
Possible License(s): BSD-3-Clause, LGPL-2.1, GPL-2.0
  1. <?php
  2. /**
  3. * @Project NUKEVIET 3.0
  4. * @Author VINADES.,JSC (contact@vinades.vn)
  5. * @copyright 2009
  6. * @createdate 12/31/2009 0:51
  7. */
  8. if ( ! defined( 'NV_SYSTEM' ) ) die( 'Stop!!!' );
  9. define( 'NV_IS_MOD_DOWNLOAD', true );
  10. /**
  11. * nv_setcats()
  12. *
  13. * @param mixed $id
  14. * @param mixed $list
  15. * @param mixed $name
  16. * @param mixed $is_parentlink
  17. * @return
  18. */
  19. function nv_setcats ( $id, $list, $name, $is_parentlink )
  20. {
  21. global $module_name;
  22. if ( $is_parentlink )
  23. {
  24. $name = "<a href=\"" . NV_BASE_SITEURL . "index.php?" . NV_LANG_VARIABLE . "=" . NV_LANG_DATA . "&amp;" . NV_NAME_VARIABLE . "=" . $module_name . "&amp;" . NV_OP_VARIABLE . "=" . $list[$id]['alias'] . "\">" . $list[$id]['title'] . "</a> &raquo; " . $name;
  25. }
  26. else
  27. {
  28. $name = $list[$id]['title'] . " &raquo; " . $name;
  29. }
  30. $parentid = $list[$id]['parentid'];
  31. if ( $parentid )
  32. {
  33. $name = nv_setcats( $parentid, $list, $name, $is_parentlink );
  34. }
  35. return $name;
  36. }
  37. /**
  38. * nv_list_cats()
  39. *
  40. * @param bool $is_link
  41. * @param bool $is_parentlink
  42. * @return
  43. */
  44. function nv_list_cats ( $is_link = false, $is_parentlink = true )
  45. {
  46. global $module_data, $module_name, $module_info;
  47. $sql = "SELECT `id`,`title`,`alias`,`description`,`who_view`,`groups_view`,`who_download`,`groups_download`, `parentid`
  48. FROM `" . NV_PREFIXLANG . "_" . $module_data . "_categories` WHERE `status`=1 ORDER BY `parentid`,`weight` ASC";
  49. $list = nv_db_cache( $sql, 'id' );
  50. $list2 = array();
  51. if ( ! empty( $list ) )
  52. {
  53. foreach ( $list as $row )
  54. {
  55. if ( nv_set_allow( $row['who_view'], $row['groups_view'] ) )
  56. {
  57. if ( ! $row['parentid'] or isset( $list[$row['parentid']] ) )
  58. {
  59. $list2[$row['id']] = $list[$row['id']];
  60. $list2[$row['id']]['name'] = $list[$row['id']]['title'];
  61. $list2[$row['id']]['is_download_allow'] = ( int )nv_set_allow( $row['who_download'], $row['groups_download'] );
  62. $list2[$row['id']]['subcats'] = array();
  63. if ( $is_link )
  64. {
  65. $list2[$row['id']]['name'] = "<a href=\"" . NV_BASE_SITEURL . "index.php?" . NV_LANG_VARIABLE . "=" . NV_LANG_DATA . "&amp;" . NV_NAME_VARIABLE . "=" . $module_name . "&amp;" . NV_OP_VARIABLE . "=" . $list2[$row['id']]['alias'] . "\">" . $list2[$row['id']]['name'] . "</a>";
  66. }
  67. if ( $row['parentid'] )
  68. {
  69. $list2[$row['parentid']]['subcats'][] = $row['id'];
  70. $list2[$row['id']]['name'] = nv_setcats( $row['parentid'], $list, $list2[$row['id']]['name'], $is_parentlink );
  71. }
  72. if ( $is_parentlink )
  73. {
  74. $list2[$row['id']]['name'] = "<a href=\"" . NV_BASE_SITEURL . "index.php?" . NV_LANG_VARIABLE . "=" . NV_LANG_DATA . "&amp;" . NV_NAME_VARIABLE . "=" . $module_name . "\">" . $module_info['custom_title'] . "</a> &raquo; " . $list2[$row['id']]['name'];
  75. }
  76. }
  77. }
  78. }
  79. }
  80. return $list2;
  81. }
  82. /**
  83. * initial_config_data()
  84. *
  85. * @return
  86. */
  87. function initial_config_data ( )
  88. {
  89. global $module_name, $module_data, $module_name;
  90. $sql = "SELECT `config_name`,`config_value` FROM `" . NV_PREFIXLANG . "_" . $module_data . "_config`";
  91. $list = nv_db_cache( $sql );
  92. $download_config = array();
  93. foreach ( $list as $values )
  94. {
  95. $download_config[$values['config_name']] = $values['config_value'];
  96. }
  97. $download_config['upload_filetype'] = ! empty( $download_config['upload_filetype'] ) ? explode( ",", $download_config['upload_filetype'] ) : array();
  98. if ( ! empty( $download_config['upload_filetype'] ) ) $download_config['upload_filetype'] = array_map( "trim", $download_config['upload_filetype'] );
  99. if ( empty( $download_config['upload_filetype'] ) )
  100. {
  101. $download_config['is_upload'] = 0;
  102. }
  103. if ( $download_config['is_addfile'] )
  104. {
  105. $download_config['is_addfile_allow'] = nv_set_allow( $download_config['who_addfile'], $download_config['groups_addfile'] );
  106. }
  107. else
  108. {
  109. $download_config['is_addfile_allow'] = false;
  110. }
  111. if ( $download_config['is_addfile_allow'] and $download_config['is_upload'] )
  112. {
  113. $download_config['is_upload_allow'] = nv_set_allow( $download_config['who_upload'], $download_config['groups_upload'] );
  114. }
  115. else
  116. {
  117. $download_config['is_upload_allow'] = false;
  118. }
  119. $download_config['is_autocomment_allow'] = nv_set_allow( $download_config['who_autocomment'], $download_config['groups_autocomment'] );
  120. return $download_config;
  121. }
  122. if ( $op == "main" )
  123. {
  124. $catalias = "";
  125. $filealias = "";
  126. $catid = 0;
  127. $nv_vertical_menu = array();
  128. $list_cats = nv_list_cats( true );
  129. if ( ! empty( $list_cats ) )
  130. {
  131. if ( ! empty( $array_op ) )
  132. {
  133. $catalias = isset( $array_op[0] ) ? $array_op[0] : "";
  134. $filealias = isset( $array_op[1] ) ? $array_op[1] : "";
  135. }
  136. // Xac dinh ID cua chu de
  137. foreach ( $list_cats as $c )
  138. {
  139. if ( $c['alias'] == $catalias )
  140. {
  141. $catid = intval( $c['id'] );
  142. break;
  143. }
  144. }
  145. //Het Xac dinh ID cua chu de
  146. //Xac dinh menu, RSS
  147. if ($module_info['rss'])
  148. {
  149. $rss[] = array( //
  150. 'title' => $module_info['custom_title'], //
  151. 'src' => NV_BASE_SITEURL . "index.php?" . NV_LANG_VARIABLE . "=" . NV_LANG_DATA . "&amp;" . NV_NAME_VARIABLE . "=" . $module_name . "&amp;" . NV_OP_VARIABLE . "=rss" //
  152. );
  153. }
  154. foreach ( $list_cats as $c )
  155. {
  156. if ( $c['parentid'] == 0 )
  157. {
  158. $sub_menu = array();
  159. $act = ( $c['id'] == $catid ) ? 1 : 0;
  160. if ( $act or ( $catid > 0 and $c['id'] == $list_cats[$catid]['parentid'] ) )
  161. {
  162. foreach ( $c['subcats'] as $catid_i )
  163. {
  164. $s_c = $list_cats[$catid_i];
  165. $s_act = ( $s_c['alias'] == $catalias ) ? 1 : 0;
  166. $s_link = NV_BASE_SITEURL . "index.php?" . NV_LANG_VARIABLE . "=" . NV_LANG_DATA . "&amp;" . NV_NAME_VARIABLE . "=" . $module_name . "&amp;" . NV_OP_VARIABLE . "=" . $s_c['alias'];
  167. $sub_menu[] = array(
  168. $s_c['title'], $s_link, $s_act
  169. );
  170. }
  171. }
  172. $link = NV_BASE_SITEURL . "index.php?" . NV_LANG_VARIABLE . "=" . NV_LANG_DATA . "&amp;" . NV_NAME_VARIABLE . "=" . $module_name . "&amp;" . NV_OP_VARIABLE . "=" . $c['alias'];
  173. $nv_vertical_menu[] = array(
  174. $c['title'], $link, $act, 'submenu' => $sub_menu
  175. );
  176. }
  177. if ($module_info['rss'])
  178. {
  179. $rss[] = array(
  180. 'title' => $module_info['custom_title'] . ' - ' . $c['title'], //
  181. 'src' => NV_BASE_SITEURL . "index.php?" . NV_LANG_VARIABLE . "=" . NV_LANG_DATA . "&amp;" . NV_NAME_VARIABLE . "=" . $module_name . "&amp;" . NV_OP_VARIABLE . "=rss/" . $c['alias'] //
  182. );
  183. }
  184. }
  185. //het Xac dinh menu, RSS
  186. //Xem chi tiet
  187. if ( $catid > 0 )
  188. {
  189. $op = "viewcat";
  190. if ( ! empty( $filealias ) )
  191. {
  192. $op = "viewfile";
  193. }
  194. $parentid = $catid;
  195. while ( $parentid > 0 )
  196. {
  197. $c = $list_cats[$parentid];
  198. $array_mod_title[] = array(
  199. 'catid' => $parentid, 'title' => $c['title'], 'link' => NV_BASE_SITEURL . "index.php?" . NV_LANG_VARIABLE . "=" . NV_LANG_DATA . "&amp;" . NV_NAME_VARIABLE . "=" . $module_name . "&amp;" . NV_OP_VARIABLE . "=" . $c['alias']
  200. );
  201. $parentid = $c['parentid'];
  202. }
  203. sort( $array_mod_title, SORT_NUMERIC );
  204. }
  205. }
  206. }
  207. ?>