/**
  * Display a listing of categories and the category members (parent-children) and their social media.
  *
  * @return Response
  */
 public function index($slug)
 {
     // get links in footer
     $linksArr = \App\Links::orderBy('rank', 'ASC')->lists('link', 'name');
     if ($slug != 'all') {
         $catObj = Category::whereSlug($slug)->first();
         if (is_null($catObj)) {
             \Session::flash('message', 'Invalid category');
             return redirect('/socialmedia/all');
         }
         $catPathArr = $catObj->getCategoryPath($slug);
         $catArr = $catObj->getChildren($catObj->id);
     } else {
         $catPathArr = array();
         $catObj = new Category();
         $catArr = $catObj->getParents();
     }
     $getChildren = $this->getChildrenBool($catPathArr, $slug, $catObj);
     // eg. get the teammates on the Lakers, don't get teams in the Pacific Coast division
     if ($getChildren) {
         $memberArr = $this->memberObj->getMembersWithinSingleCategory($catObj->id);
         list($memberArr, $contentArr) = $this->memberSocialObj->getSocialMediaWithMemberIds($memberArr);
         return view('socialmedia.child', compact('memberArr', 'contentArr', 'catPathArr', 'linksArr'));
     } else {
         $parentArr['contentArr'] = [];
         foreach ($catArr as $catId => $catName) {
             $memberArr = $this->memberObj->getMembersWithinSingleCategory($catId);
             $tmpMemberArr = array($memberArr[0]);
             list(, $contentArr) = $this->memberSocialObj->getSocialMediaWithMemberIds($tmpMemberArr);
             $parentArr['memberArr'][$catId] = $memberArr;
             $parentArr['contentArr'] = $parentArr['contentArr'] + $contentArr;
         }
         return view('socialmedia.parent', compact('parentArr', 'catArr', 'catPathArr', 'linksArr'));
     }
 }
 /**
  * Show the form for editing the specified resource.
  *
  * @param  int  Categories $category
  * @return Response
  */
 public function edit(Category $category)
 {
     $parentIdNameArr = Category::getParents();
     $selectedParentIdNameArr = CategoryParentAndChildren::getSelectedParentIdNameArr($category->id);
     $ddArr = CategoryParentAndChildren::makeDDArr($parentIdNameArr, $selectedParentIdNameArr, $category->id);
     return view('categories.edit', compact('category', 'ddArr', 'selectedParentIdNameArr'));
 }
 public function getHierarchy()
 {
     $parentChildArr = array();
     $categoryModel = new Category();
     $parentArr = $categoryModel->getParents();
     foreach ($parentArr as $id => $name) {
         //$parentChildArr[] = array('parent_id' => 0, 'child_id' => $id);
     }
     $categoriesParentAndChildrenArr = $this->all();
     foreach ($categoriesParentAndChildrenArr as $key => $obj) {
         $tmp = $obj->getAttributes();
         $parentChildArr[] = array('parent_id' => $tmp['parent_id'], 'child_id' => $tmp['child_id']);
     }
     $tree = $this->buildTree($parentChildArr);
     return $tree;
 }
 /**
  * Display the specified resource.
  *
  * @param  int  Categories $category
  * @return Response
  */
 public function show(Category $categoryObj)
 {
     $parentCatArr = $categoryObj->getParents();
     return view('categories.show', compact('categoryObj', 'parentCatArr'));
 }