public function categories()
 {
     $view = Input::get('view');
     if ($view == null) {
         return redirect('/admin/categories?view=hierarchy');
     }
     $levels = ['Main Category', 'Subcategory', 'Post Sub Category'];
     $types = ['main-categories', 'sub-categories', 'post-sub-categories'];
     $views = ['Hierarchy', 'Type', 'All'];
     $cats = Category::roots()->get();
     $category = Input::get('category');
     $_category = Category::find($category);
     if ($view == 'type') {
         $type = Input::get('type');
         if ($type == null) {
             $type = $types[0];
         }
         // array_keys() = get keys from value
         // appends() = add 'get' variables (to url)
         $cats = Category::whereDepth(array_keys($types, $type))->paginate(25)->appends(Input::except('page'));
     } else {
         if ($view == 'all') {
             $cats = Category::paginate(25)->appends(Input::except('page'));
         }
     }
     return view('admin.main')->with('category', $_category)->with('cats', $cats)->with('levels', $levels)->with('view', $view)->with('views', $views)->with('types', $types);
     // only for 'type' view
 }
Example #2
0
 public function run()
 {
     // Get the categories subtree of the first root category
     $categories = Category::roots()->first()->getDescendantsAndSelf();
     // Pretend first ser has logged in
     auth()->loginUsingId($i = 1);
     // Add a page for each category of the subtree
     foreach ($categories as $category) {
         Page::create(['name' => "Page {$i}", 'source' => "Content of page {$i}", 'category_id' => $category->id]);
         $i++;
     }
 }
Example #3
0
 public function edit(Course $course)
 {
     $user = $this->user;
     $mainCategories = Category::roots()->lists('name', 'id');
     $main = [];
     $main[0] = 'انتخاب کنید';
     foreach ($mainCategories as $key => $value) {
         $main[$key] = $value;
     }
     $subCategoriesQuery = $course->categories();
     $subCategories = $subCategoriesQuery->lists('name', 'id');
     //dd($subCategories);
     $selectedMainCategory = $subCategoriesQuery->getParent()->id;
     $tagsQuery = $course->tags();
     $tags = $tagsQuery->lists('name', 'name');
     $selected = $tagsQuery->lists('name')->toArray();
     return view('admin.course.edit', compact('course', 'user', 'tags', 'selected'))->with(['title' => 'ویرایش دوره', 'main' => $main, 'subCategories' => $subCategories, 'selectedMainCategory' => $selectedMainCategory, 'selectedSubCategories' => $subCategoriesQuery->lists('id')->toArray()]);
 }
Example #4
0
 public function recursive()
 {
     $cats = Category::roots()->get();
     $supercatset = [];
     foreach ($cats as $cat) {
         $catset = [];
         echo $cat->name . '<br>';
         foreach ($cat->children()->get() as $sub) {
             $subcatset = [];
             echo '&nbsp;&nbsp;&nbsp;&nbsp;' . $sub->name . '<br>';
             foreach ($sub->children()->get() as $post) {
                 echo '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;' . $post->name . '<br>';
                 $subcatset[strtolower($post->name)]['title'] = $post->name;
             }
             $catset[strtolower($sub->name)]['title'] = $sub->name;
             $catset[strtolower($sub->name)]['children'] = $subcatset;
         }
         $supercatset[strtolower($cat->name)]['title'] = $cat->name;
         $supercatset[strtolower($cat->name)]['children'] = $catset;
     }
     return $supercatset;
 }
Example #5
0
 public function getCatSet()
 {
     $roots = Category::roots()->get();
     $catset = [];
     // complete category set, ready to display
     $counter = 0;
     foreach ($roots as $cat) {
         if ($counter > 11) {
             break;
         }
         $catset[$cat->name]['title'] = $cat->name;
         $catset[$cat->name]['id'] = $cat->id;
         //            $catset[$cat->name]['type'] = 'cat'; // not the solution
         //            echo '<br>' . $cat->name . '<br>';
         $subcats = $cat->children()->get();
         $subcatcounter = 0;
         $subcatcount = count($subcats);
         for ($col = 0; $col < 3; $col++) {
             if ($subcatcounter == $subcatcount) {
                 break;
             }
             //                echo 'col ' . $col . '<br>';
             $rowcounter = 0;
             $fillmore = true;
             $postcatcounter = 0;
             $postcats = [];
             $postcatcount = 0;
             $fillhead = true;
             $colarray = [];
             while ($fillmore) {
                 //                    echo 'filling row ' . $rowcounter;
                 if ($fillhead) {
                     //                        echo ' subcat ' . $subcats[$subcatcounter]->name . '<br>';
                     $colarray[$rowcounter]['title'] = $subcats[$subcatcounter]->name;
                     $colarray[$rowcounter]['type'] = "subcat";
                     $colarray[$rowcounter]['id'] = $subcats[$subcatcounter]->id;
                     $postcats = $subcats[$subcatcounter]->children()->get();
                     $postcatcount = count($postcats) - 1;
                     if ($postcatcount == -1) {
                         $fillmore = false;
                     }
                     $subcatcounter++;
                     $fillhead = false;
                 } else {
                     //                        echo ' postcat ' . $postcats[$postcatcounter]->name . '<br>';
                     $colarray[$rowcounter]['title'] = $postcats[$postcatcounter]->name;
                     $colarray[$rowcounter]['type'] = 'postcat';
                     $colarray[$rowcounter]['id'] = $postcats[$postcatcounter]->id;
                     $postcatcounter++;
                     if ($postcatcounter > $postcatcount) {
                         $postcatcounter = 0;
                         break;
                     }
                 }
                 $rowcounter++;
                 if ($rowcounter > 11) {
                     $fillmore = false;
                 }
             }
             $catset[$cat->name]['children'][$col] = $colarray;
         }
         $counter++;
     }
     return $catset;
 }