コード例 #1
0
ファイル: SubscribeController.php プロジェクト: amanai/next24
 function AjaxBlogTreeAction()
 {
     $request = Project::getRequest();
     $request_user_id = (int) Project::getUser()->getShowedUser()->id;
     $user_id = (int) Project::getUser()->getDbUser()->id;
     $info = array();
     $tree_id = (int) $request->getKeyByNumber(0);
     $level = (int) $request->getKeyByNumber(1);
     $filter = (int) $request->getKeyByNumber(2);
     $direction = (int) $request->getKeyByNumber(3);
     $tree_model = new BlogTreeModel();
     $info['blog_catalog'] = $tree_model->loadListByParentId($tree_id);
     $subscribe_model = new BlogSubscribeModel();
     if ($direction === 1) {
         foreach ($info['blog_catalog'] as $key => &$item) {
             $subscribed = $subscribe_model->isSubscribed($user_id, $item['id']);
             $count_subitems = $tree_model->countSubItems($item['key']);
             if (!$filter || $subscribed || $count_subitems) {
                 if ($level >= 1) {
                     $count_subitems = 0;
                 }
                 $item['count_subitems'] = $count_subitems;
                 $item['need_subscribe'] = true;
                 $item['subscribed'] = $subscribed;
             } else {
                 unset($info['blog_catalog'][$key]);
             }
         }
         $info['level'] = $level + 1;
     } else {
         $info['level'] = $level;
     }
     $info['id'] = $tree_id;
     $info['direction'] = $direction;
     $info['filter'] = $filter;
     $this->_view->AjaxBlogTree($info);
     $this->_view->ajax();
 }