Example #1
0
function getChildCate($categories, $catedata = array())
{
    if (!is_array($categories) or empty($categories)) {
        return array();
    }
    foreach ($categories as $category) {
        $catedata[] = $category->id;
        if (count($category->subcategories) > 0) {
            $catedata = getChildCate($category->subcategories, $catedata);
        }
    }
    return $catedata;
}
Example #2
0
 public function delCategory($id = '')
 {
     $this->load->model('categories_m');
     if ($id != '') {
         $categories = $this->categories_m->getAllCategories('article');
         $categories = categoriesToTree($categories, $id);
         $categories = getChildCate($categories);
         $data['parent_id'] = 0;
         if ($this->categories_m->delete($id)) {
             $this->session->set_flashdata('msg', lang('custom_category_delete_success_msg'));
             // update parent_id.
             foreach ($categories as $cate_id) {
                 $this->categories_m->save($data, $cate_id);
             }
         } else {
             $this->session->set_flashdata('error', lang('custom_category_delete_error_msg'));
         }
     } else {
         if ($checkb = $this->input->post('checkb')) {
             if (is_array($checkb)) {
                 $categories = $this->categories_m->getAllCategories('article');
                 $data['parent_id'] = 0;
                 foreach ($checkb as $id) {
                     if ($this->categories_m->delete($id)) {
                         $categories = categoriesToTree($categories, $id);
                         $categories = getChildCate($categories);
                         // update parent_id.
                         foreach ($categories as $cate_id) {
                             $this->categories_m->save($data, $cate_id);
                         }
                         $this->session->set_flashdata('msg', lang('custom_category_delete_success_msg'));
                     } else {
                         $this->session->set_flashdata('error', lang('custom_category_delete_some_error_msg'));
                         break;
                     }
                 }
             }
         }
     }
     redirect(site_url() . 'admin/custom/categories');
 }
Example #3
0
 public function delete($type = '', $id = null)
 {
     if ($id == null) {
         $type = $this->uri->segment(5);
         $id = $this->uri->segment(6);
     }
     $this->categories_m->_primary_key = 'id';
     $this->categories_m->_table_name = 'categories';
     if ($this->categories_m->delete($id)) {
         //udpate children cate.
         $categories = $this->categories_m->getAllCategories('article');
         $categories = categoriesToTree($categories, $id);
         $categories = getChildCate($categories);
         $data['parent_id'] = 0;
         // update parent_id.
         foreach ($categories as $cate_id) {
             $this->categories_m->save($data, $cate_id);
         }
     }
 }