Exemple #1
0
 public function search()
 {
     $data = $this->main;
     $page = 1;
     if (isset($_GET['page'])) {
         $page = intval($_GET['page']);
     }
     $this->set_search_history();
     $keyword = $_GET['keyword'];
     $conditions = " tag_name LIKE :tag_name: group by pic_id";
     $parameters = array("tag_name" => '%' . $keyword . '%');
     $all_pic = MeiuiPicLinkTag::find(array($conditions, "bind" => $parameters));
     $paginator = new Paginator(array("data" => $all_pic, "limit" => 10, "page" => $page));
     $all_pic = $paginator->getPaginate();
     $data['status'] = '200200';
     $data['data']['page'] = $all_pic->current . '/' . $all_pic->total_pages;
     $login_user_id = intval($_GET['user_id']);
     $login_user_collect = MeiuiUserTag::find('user_id = ' . $login_user_id . '  and del_flag = 1 ');
     $login_collect_tag = [];
     if (count($login_user_collect) > 0) {
         foreach ($login_user_collect as $collect) {
             $login_collect_tag[] = $collect->tag_id;
         }
     }
     foreach ($all_pic->items as $pic_value) {
         $pic = MeiuiPic::findFirst('id=' . $pic_value->pic_id);
         if ($pic) {
             $user = MeiuiUser::findFirst('id=' . $pic->create_user);
             $tags = MeiuiPicLinkTag::find('pic_id=' . $pic->id);
             $sys_tag = [];
             $user_tag = [];
             if (count($tags) > 0) {
                 foreach ($tags as $v) {
                     if (in_array($v->pic_id, $this->user_tag_array['del_flag'][$v->tag_id])) {
                         $user_tag[] = $v->tag_name;
                         if ($v->tag_type == 2) {
                             $sys_tag[] = $v->tag_name;
                         }
                     } else {
                         if ($v->tag_type == 2) {
                             $sys_tag[] = $v->tag_name;
                         }
                     }
                 }
             }
             $data['data']['items'][] = array('pic_id' => $pic->id, 'pic' => $pic->pic_url, 'pic_h' => $pic->pic_h, 'pic_w' => $pic->pic_w, 'app_id' => $pic->app_id, 'user_id' => $pic->create_user, 'user_name' => $user->username, 'user_pic' => $user->user_pic, 'app_name' => $pic->app_name, 'brief' => $pic->brief, 'sys_tag' => $sys_tag, 'user_tag' => $user_tag);
         }
     }
     $data['alert']['msg'] = $this->lang['request_success'];
     die(json_encode($data));
 }
Exemple #2
0
 public function set_user_tag_arr()
 {
     $login_user_id = intval($_GET['user_id']);
     if ($login_user_id) {
         $login_user_collect = MeiuiUserTag::find('user_id = ' . $login_user_id);
         if (count($login_user_collect) > 0) {
             foreach ($login_user_collect as $collect) {
                 if ($collect->del_flag == 1) {
                     $this->user_tag_array['tag_key_pic_value'][$collect->tag_id][$collect->pic_id] = $collect->del_flag;
                     $this->user_tag_array['pic_key_pic_value'][$collect->pic_id][$collect->tag_id] = $collect->del_flag;
                     $this->user_tag_array['del_flag'][$collect->tag_id][] = $collect->pic_id;
                 }
             }
         }
     }
 }
Exemple #3
0
 private function del_tag_link_pic($pic_id, $tag_id)
 {
     $conditions = " tag_id = :tag_id: and  pic_id = :pic_id: and del_flag = 1 ";
     $parameters = array("tag_id" => $tag_id, "pic_id" => $pic_id);
     $user_tag = MeiuiUserTag::find(array($conditions, "bind" => $parameters));
     if ($user_tag) {
         $conditions = " tag_id = :tag_id: and pic_id =:pic_id:";
         $parameters = array("tag_id" => $tag_id, "pic_id" => $pic_id);
         $db_tag_link_pic = MeiuiPicLinkTag::findFirst(array($conditions, "bind" => $parameters));
         if ($db_tag_link_pic) {
             $db_tag_link_pic->delete();
         }
     }
 }