mode_mkglAction.php 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. <?php
  2. /**
  3. * 此文件是流程模块【mkgl.模块管理】对应控制器接口文件。
  4. */
  5. class mode_mkglClassAction extends inputAction{
  6. /**
  7. * 重写函数:保存前处理,主要用于判断是否可以保存
  8. * $table String 对应表名
  9. * $arr Array 表单参数
  10. * $id Int 对应表上记录Id 0添加时,大于0修改时
  11. * $addbo Boolean 是否添加时
  12. * return array('msg'=>'错误提示内容','rows'=> array()) 可返回空字符串,或者数组 rows 是可同时保存到数据库上数组
  13. */
  14. protected function savebefore($table, $arr, $id, $addbo){
  15. }
  16. /**
  17. * 重写函数:保存后处理,主要保存其他表数据
  18. * $table String 对应表名
  19. * $arr Array 表单参数
  20. * $id Int 对应表上记录Id
  21. * $addbo Boolean 是否添加时
  22. */
  23. protected function saveafter($table, $arr, $id, $addbo){
  24. }
  25. public function mkglList()
  26. {
  27. $id = $this->adminid;
  28. $user = m('admin')->getall("id=$id");
  29. $comid = $user[0]['comid'];
  30. $data = m('mkgl')->getall("comid=$comid");
  31. $arr = $this->getLevel($data);
  32. $result = $this->getChilds($arr);
  33. return $result;
  34. }
  35. /**
  36. * 传递一个父级分类ID返回所有子分类
  37. * @param $cate
  38. * @param $pid
  39. * @return array
  40. */
  41. private function getChilds($data, $pid=null)
  42. {
  43. $arr = array();
  44. foreach ($data as $v) {
  45. if ($v['parent_id']==$pid){
  46. $nbsp = '&nbsp;&nbsp;&nbsp;&nbsp;';
  47. $res = str_repeat($nbsp,$v['level']-1);
  48. $value = array("name"=>$res.$v['title'],"value"=>$v['id']);
  49. $arr[] = $value;
  50. $arr = array_merge($arr, $this->getChilds($v['child'], $v['id']));
  51. }
  52. }
  53. return $arr;
  54. }
  55. /**
  56. * 传递一个父级分类ID返回所有子分类
  57. * @param $cate
  58. * @param $pid
  59. * @return array
  60. */
  61. private function getLevel($data, $pid=null,$level = 0)
  62. {
  63. $_arr = [];
  64. foreach ($data as $v) {
  65. if ($v['parent_id'] == $pid) {
  66. $arr = $v;
  67. $arr['level'] = $level+1;
  68. $arr['child'] = $this->getLevel($data, $v['id'],$arr['level']);
  69. $_arr[] = $arr;
  70. }
  71. }
  72. return $_arr;
  73. }
  74. }