Exemplo n.º 1
0
function find_grand_node($tree, $node)
{
    $arr = array();
    foreach ($tree as $key => $value) {
        if (isset($value['id']) && $value['id'] == $node) {
            $arr = $value;
            return $arr;
        }
        if (isset($value['children']) && is_array($value['children'])) {
            $temp = find_grand_node($value['children'], $node);
            if (!empty($temp)) {
                $arr[] = $temp;
            }
        }
    }
    return $arr;
}
Exemplo n.º 2
0
 public function get_reply_message()
 {
     $data = $this->input->stream();
     $messages = $this->message_model->get_all_by_condition();
     $new_messages = array();
     foreach ($messages as $key => $value) {
         $new_messages[$value['id']] = $value;
     }
     $messages = gen_tree($new_messages, 'pid');
     $reply_messages = find_grand_node($messages, $data['id']);
     if (is_array($reply_messages) && !empty($reply_messages)) {
         if (!empty($reply_messages['children'])) {
             die(json_encode(array('code' => 200, 'message' => '获取成功', 'data' => $this->render_html($reply_messages['children']))));
         } else {
             die(json_encode(array('code' => 200, 'message' => '获取成功')));
         }
     } else {
         die(json_encode(array('code' => 403, 'message' => '获取失败')));
     }
 }
Exemplo n.º 3
0
 /**
  *  获取指定栏目集
  *
  *  @param $pid 父ID
  *
  *  return array
  */
 public function get_columns($pid = 0)
 {
     $columns = $this->CI->db->order_by('sort asc')->get('column')->result_array();
     $new_columns = array();
     foreach ($columns as $key => $value) {
         $new_columns[$value['id']] = $value;
     }
     $columns = gen_tree($new_columns, 'pid');
     if ($pid == 0) {
         return $columns;
     }
     return find_grand_node($columns, $pid);
 }