category.php 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292
  1. <?php
  2. @set_time_limit(0);
  3. define('CURSCRIPT','category');
  4. require_once dirname(__FILE__)."/global.php";
  5. require_once MYMPS_INC."/db.class.php";
  6. require_once dirname(__FILE__)."/include/color.inc.php";
  7. require_once dirname(__FILE__)."/include/ifview.inc.php";
  8. (!defined('IN_ADMIN') || !defined('IN_MYMPS')) && exit('Access Denied');
  9. $part = $part ? $part : 'list' ;
  10. $cat_color = $color;
  11. if(!submit_check(CURSCRIPT.'_submit')) {
  12. require_once MYMPS_DATA."/html_type.inc.php";
  13. if($part == 'list'){
  14. chk_admin_purview("purview_信息分类");
  15. $f_cat = cat_list('category',0,0,false);
  16. $here = "信息分类列表";
  17. include(mymps_tpl("category_list"));
  18. } elseif($part == 'edit') {
  19. include MYMPS_DATA.'/category_tpl.inc.php';
  20. include MYMPS_DATA.'/information_tpl.inc.php';
  21. $cat = $db->getRow("SELECT * FROM {$db_mymps}category WHERE catid = '$catid'");
  22. $here = "编辑信息分类";
  23. $cat['description'] = $cat['description'] ? de_textarea_post_change($cat['description']) : '';
  24. include(mymps_tpl("category_edit"));
  25. } elseif($part == 'add') {
  26. include MYMPS_DATA.'/category_tpl.inc.php';
  27. include MYMPS_DATA.'/information_tpl.inc.php';
  28. chk_admin_purview("purview_添加分类");
  29. $maxorder = $db->getOne("SELECT MAX(catorder) FROM {$db_mymps}category");
  30. $maxorder = $maxorder + 1;
  31. $here = "添加信息分类";
  32. include mymps_tpl("category_add");
  33. } elseif($part == 'del') {
  34. empty($catid) && write_msg('没有选择记录');
  35. mymps_delete("category","WHERE ".get_children($catid,'catid'));
  36. mymps_delete("information","WHERE ".get_children($catid,'catid'));
  37. clear_cache_files('category_option_static');
  38. clear_cache_files('category_pid_releate');
  39. clear_cache_files('category_tree');
  40. clear_cache_files('category_dir');
  41. write_msg("删除信息分类 $catid 成功","category.php?part=list","Mymps");
  42. }
  43. } else {
  44. $part != 'list' && require_once dirname(__FILE__)."/include/pinyin.inc.php";
  45. if($part == 'list' ){
  46. if(is_array($catorder)){
  47. foreach($catorder as $key => $value){
  48. $db->query("UPDATE `{$db_mymps}category` SET catorder = '$value' WHERE catid = ".$key);
  49. }
  50. }
  51. if(is_array($if_viewids)){
  52. $db->query("UPDATE `{$db_mymps}category` SET if_view = '1' ");
  53. foreach($if_viewids as $key){
  54. $db->query("UPDATE `{$db_mymps}category` SET if_view = '2' WHERE catid = ".$key);
  55. }
  56. } else {
  57. $db->query("UPDATE `{$db_mymps}category` SET if_view = '1' ");
  58. }
  59. /*清除缓存*/
  60. foreach(array('option_static','pid_releate','tree','dir') as $range){
  61. clear_cache_files('category_'.$range);
  62. }
  63. write_msg('信息分类更新成功!','?part=list','record');
  64. } elseif ($part == 'add'){
  65. $catname = explode("\r\n",trim($catname));
  66. $template = empty($template) ? 'list' : trim($template);
  67. $template_info = empty($template_info) ? 'info' : trim($template_info);
  68. $usecoin = isset($usecoin) ? intval($usecoin) : 0;
  69. $parentid = isset($parentid) ? intval($parentid) : 0;
  70. $gid = admin_get_gid('',$parentid);
  71. (empty($catname) || !is_array($catname)) && write_msg("请填写分类名称");
  72. if(empty($catorder)){
  73. $sql = "SELECT MAX(catorder) FROM {$db_mymps}category";
  74. $maxorder = $db->getOne($sql);
  75. $catorder = $maxorder;
  76. }
  77. if(is_array($catname)){
  78. foreach ($catname as $key => $value){
  79. $value = trim($value);
  80. $catorder ++;
  81. $len = strlen($value);
  82. ($len < 2 || $len > 30) && write_msg("分类名必须在2个至30个字符之间");
  83. $db->query("INSERT INTO {$db_mymps}category (catname,usecoin,if_view,gid,parentid,modid,catorder,if_upimg,if_mappoint,dir_type,template,template_info) VALUES ('$value','$usecoin','$isview','$gid','$parentid','$modid','$catorder','$if_upimg','$if_mappoint','$dir_type','$template','$template_info')");
  84. $insert_id = $db -> insert_id();
  85. //如果为一级栏目
  86. if($parentid == 0){
  87. if($dir_type == 1){
  88. $html_dir = '/'.$insert_id.'/';
  89. } elseif ($dir_type == 2) {
  90. $html_dir = '/'.GetPinyin($value).'/';
  91. $dir_typename = GetPinyin($value);
  92. } elseif ($dir_type == 3) {
  93. $html_dir = '/'.GetPinyin($value,1).'/';
  94. $dir_typename = GetPinyin($value,1);
  95. }
  96. } else {
  97. $row = $db -> getRow("SELECT * FROM `{$db_mymps}category` WHERE catid = '$parentid'");
  98. if($dir_type == 1){
  99. $html_dir = ($row['html_dir'] ? $row['html_dir'] : '/').$insert_id.'/';
  100. } elseif ($dir_type == 2) {
  101. $html_dir = ($row['html_dir'] ? $row['html_dir'] : '/').GetPinyin($value).'/';
  102. $dir_typename = GetPinyin($value);
  103. } elseif ($dir_type == 3) {
  104. $html_dir = ($row['html_dir'] ? $row['html_dir'] : '/').GetPinyin($value,1).'/';
  105. $dir_typename = GetPinyin($value,1);
  106. }
  107. }
  108. $gidquery = $gid ? '' : " ,gid='$insert_id' ";
  109. $db->query("UPDATE `{$db_mymps}category` SET dir_typename='$dir_typename',html_dir = '$html_dir'{$gidquery} WHERE catid = '$insert_id'");
  110. }
  111. /*清除缓存*/
  112. foreach(array('option_static','pid_releate','tree','dir') as $range){
  113. clear_cache_files('category_'.$range);
  114. }
  115. write_msg('成功增加信息分类','?part=list');
  116. }else{
  117. write_msg('信息分类添加失败,请按格式填写');
  118. }
  119. } elseif ($part == 'edit') {
  120. $template = empty($template) ? 'list' : trim($template);
  121. $usecoin = isset($usecoin) ? intval($usecoin) : 0 ;
  122. empty($catname) && write_msg("请填写信息分类名称");
  123. $catid == $parentid && write_msg("隶属信息分类不能为自己!");
  124. $len = strlen($catname);
  125. ($len < 2 || $len > 30) && write_msg("信息分类名必须在2个至30个字符之间");
  126. $gid = admin_get_gid($catid,$parentid);
  127. $description = $description ? textarea_post_change($description) : '';
  128. //自定义目录名
  129. if($dir_type == 4){
  130. !$mydir && write_msg('请填写自定义目录名!');
  131. $html_dir = '/'.$mydir.'/';
  132. } else {
  133. //如果为父目录
  134. if($parentid == 0){
  135. if($dir_type == 1){
  136. $html_dir = '/'.$catid.'/';
  137. } elseif ($dir_type == 2) {
  138. $html_dir = '/'.GetPinyin($catname).'/';
  139. } elseif ($dir_type == 3) {
  140. $html_dir = '/'.GetPinyin($catname,1).'/';
  141. }
  142. } else {
  143. if($dir_type == 1){
  144. $html_dir = $catid.'/';
  145. } elseif ($dir_type == 2) {
  146. $html_dir = GetPinyin($catname).'/';
  147. } elseif ($dir_type == 3) {
  148. $html_dir = GetPinyin($catname,1).'/';
  149. }
  150. }
  151. }
  152. if($db -> getOne("SELECT COUNT(catid) FROM `{$db_mymps}category` WHERE dir_typename = '$mydir' AND dir_typename != ''") > 1){
  153. write_msg("您指定的目录名".$mydir."已存在,请换一个名称!");
  154. exit;
  155. }
  156. $sql = "UPDATE {$db_mymps}category SET gid='$gid',catname='$catname',icon='$icon',usecoin='$usecoin',if_view = '$isview',color='$fontcolor',title='$title',keywords='$keywords',description='$description',parentid='$parentid',modid='$modid',catorder='$catorder',dir_type = '$dir_type', dir_typename = '$mydir', html_dir = '$html_dir' ,if_upimg='$if_upimg',if_mappoint='$if_mappoint',template='$template',template_info='$template_info' WHERE catid = '$catid'";
  157. $res = $db->query($sql);
  158. if($children_mod == '1'){
  159. $db -> query("UPDATE `{$db_mymps}category` SET modid = '$modid' WHERE ".get_children($catid,'catid'));
  160. }
  161. if($children_tpl == '1'){
  162. $db -> query("UPDATE `{$db_mymps}category` SET template = '$template' WHERE ".get_children($catid,'catid'));
  163. }
  164. if($children_tplinfo == '1'){
  165. $db -> query("UPDATE `{$db_mymps}category` SET template_info = '$template_info' WHERE ".get_children($catid,'catid'));
  166. }
  167. if($children_upload == '1'){
  168. $db -> query("UPDATE `{$db_mymps}category` SET if_upimg = '$if_upimg' WHERE ".get_children($catid,'catid'));
  169. }
  170. if($children_map == '1'){
  171. $db -> query("UPDATE `{$db_mymps}category` SET if_mappoint = '$if_mappoint' WHERE ".get_children($catid,'catid'));
  172. }
  173. if($children_des == '1'){
  174. $db -> query("UPDATE `{$db_mymps}category` SET description = '$description' WHERE ".get_children($catid,'catid'));
  175. }
  176. if($children_usecoin == '1'){
  177. $db -> query("UPDATE `{$db_mymps}category` SET usecoin = '$usecoin' WHERE ".get_children($catid,'catid'));
  178. }
  179. /*清除缓存*/
  180. foreach(array('option_static','pid_releate','tree','dir') as $range){
  181. clear_cache_files('category_'.$range);
  182. }
  183. write_msg('成功编辑信息分类 ['.$catname.']','?part=edit&catid='.$catid);
  184. }
  185. }
  186. is_object($db) && $db->Close();
  187. $db = $mymps_global = $part = $action = $here = NULL;
  188. function info_typemodels($modid=""){
  189. global $db,$db_mymps;
  190. $sql = "SELECT id,name,displayorder FROM `{$db_mymps}info_typemodels` ORDER BY displayorder ASC";
  191. $opt = $db->getAll($sql);
  192. foreach ($opt as $k => $value){
  193. $mymps .= "<option value=\"".$value[id]."\"";
  194. $mymps .= ($modid == $value[id])?"selected style=\"background-color:#6EB00C;color:white\"":"";
  195. $mymps .= ">".$value[name]."</option>";
  196. }
  197. return $mymps;
  198. }
  199. ?>