diff --git a/upload/api/get.php b/upload/api/get.php index 957a8a64..877513aa 100644 --- a/upload/api/get.php +++ b/upload/api/get.php @@ -16,6 +16,8 @@ $page = mysql_clean($request['page']); $max_video_limit = 20; $videos_limit = 20; +$content_limit = 20; + $api_keys = $Cbucket->api_keys; @@ -49,6 +51,9 @@ switch ($mode) { $request['videoids'] = $vids; } + + if($is_mobile) + $request['has_mobile'] = 'yes'; $videos = $cbvid->get_videos($request); header('Content-Type: text/html; charset=utf-8'); @@ -472,5 +477,87 @@ switch ($mode) { echo json_encode($new_photos); } break; + + case "getFriends": + { + $uid = $request['userid']; + if (!$uid) + $uid = userid(); + + if (!$uid) + exit(json_encode(array('err' => lang('Please Login')))); + + $friends = $userquery->get_contacts($uid); + + if ($friends) + echo json_encode($friends); + else + echo json_encode(array('err' => error('single'))); + } + break; + + case "get_groups": + case "getGroups": + { + $get_limit = create_query_limit($page, $content_limit); + + $request['limit'] = $get_limit; + + $groups = $cbgroup->get_groups($request); + + if ($groups) + echo json_encode($groups); + else + echo json_encode(array('err' => error('single'))); + } + break; + + + case "get_topics": + case "getTopics": + { + $gid = mysql_clean($request['group_id']); + $page = mysql_clean($request['page']); + + $topics_limit = 20; + $get_limit = create_query_limit($page, $topics_limit); + + $params = array('group' => $gid,'limit' => $get_limit); + $topics = $cbgroup->get_group_topics($params); + + if ($topics) + echo json_encode($topics); + else + echo json_encode(array('err' => error())); + } + break; + + case "get_feeds": + case "getFeeds": + { + $id = mysql_clean($request['id']); + $page = mysql_clean($request['page']); + $type = mysql_clean($request['type']); + + $limit = 20; + $get_limit = create_query_limit($page, $limit); + + $params = array('id' => $id,'limit' => $get_limit,'type'=> $type); + $feeds = $cbfeeds->get_feeds($params); + $the_feeds = array(); + if ($feeds) + { + foreach ($feeds as $feed) + { + $feed['comments'] = json_encode($feed['comments']); + $the_feeds[] = $feed; + } + echo json_encode($the_feeds); + } + + else + echo json_encode(array('err' => error())); + } + break; } ?> \ No newline at end of file diff --git a/upload/api/put.php b/upload/api/put.php index 9e1e7ca6..b825950c 100644 --- a/upload/api/put.php +++ b/upload/api/put.php @@ -492,13 +492,72 @@ switch ($mode) { //$cbvid->set_default_thumb($vid,mysql_clean(post('default_thumb'))); $vdetails = $cbvid->get_video_details($vid); echo json_encode(array('success'=>'yes','vdetails'=>$vdetails)); - }else + } + else { echo json_encode(array('err'=>error())); } } break; + + case addFriend: + case add_friend: + { + $uid = mysql_clean($request['userid']); + $fid = mysql_clean($request['fid']); + $message = mysql_clean($request['message']); + + if (!$uid) + $uid = userid(); + + if (!$uid) + exit(json_encode(array('err' => lang('Please Login')))); + + if (!$fid) + exit(json_encode(array('err' => lang('Please Select a User')))); + + + $params = array('userid'=>$uid,'friend_id'=>$fid,'message'=>$message); + + $request_id = $userquery->add_friend_request($params); + + if ($request_id) + echo json_encode(array('success'=>'yes','request_id'=>$request_id)); + else + echo json_encode(array('err'=> lang(error('single')))); + } + break; + + case removeFriend: + case remove_friend: + case unFriend: + case unfriend: + { + $uid = mysql_clean($request['userid']); + $fid = mysql_clean($request['fid']); + + if (!$uid) + $uid = userid(); + + if (!$uid) + exit(json_encode(array('err' => lang('Please Login')))); + + if (!$fid) + exit(json_encode(array('err' => lang('Please Select a User')))); + + if ($fid == $uid) + exit(json_encode(array('err' => lang('Invalid User')))); + + $response = $userquery->unfriend($fid,$uid); + + if ($response) + echo json_encode(array('success'=>'yes','msg'=>'Removed from Friends')); + else + echo json_encode(array('err'=> lang(error('single')))); + } + break; + default: exit(json_encode(array('err'=>lang('Invalid request')))); } diff --git a/upload/includes/classes/cbfeeds.class.php b/upload/includes/classes/cbfeeds.class.php index a7270afd..b9e4787c 100644 --- a/upload/includes/classes/cbfeeds.class.php +++ b/upload/includes/classes/cbfeeds.class.php @@ -1,5 +1,8 @@ Execute("DELETE from " . tbl('feeds') . " WHERE " . $cond_query); + + //Fetch Feed ID + + $query = " SELECT feed_id FROM ".tbl('feeds')." WHERE $cond_query "; + $feed = db_select($query); + + if($feed) + { + $feedId = $feed[0]['feed_id']; + $db->Execute("DELETE from " . tbl('feeds') . " WHERE feed_id='$feedId'"); + + }else + return false; return true; } @@ -1022,8 +1036,21 @@ class cbfeeds function get_feeds($array) { - $type = $array['type']; - $id = $array['id']; + $type = mysql_clean($array['type']); + $id = mysql_clean($array['id']); + + if(!$type || !$id) return false; + + if(isset($array['order'])) + $order = mysql_clean($array['order']); + else + $order = 'time_added DESC'; + + + if(isset($array['limit'])) + $limit = mysql_clean($array['limit']); + else + $limit = DEFAULT_FEEDS_LIMIT; $fields_arr = array( 'f' => $this->_get_fields(), @@ -1035,13 +1062,16 @@ class cbfeeds $fields = tbl_fields($fields_arr); - $query = " SELECT ".$fields." FROM ".tbl('feeds')." AS f"; + $query = " SELECT ".$fields." FROM ".tbl('feeds')." AS f"; $query .= " LEFT JOIN ".tbl('objects_cache')." AS o "; $query .= " ON f.object_cached_id=o.object_id "; $query .= " LEFT JOIN ".tbl('objects_cache')." AS c "; - $query .= " ON f.content_cached_id=c.object_id "; + $query .= " ON f.content_cached_id=c.object_id "; + $query .= " WHERE f.object_id='$id' AND f.object_type='$type' "; + $query .= " ORDER BY ".$order; - $query .= " ORDER BY time_added DESC "; + if($limit) + $query .= " LIMIT ".mysql_clean($limit); $results = db_select($query); if ($results) @@ -1054,7 +1084,7 @@ class cbfeeds 'type' => 'f', 'type_id' => $result['feed_id'], 'order' => 'date_added ASC' - )); + )); $the_feeds[] = $result; } @@ -1351,14 +1381,13 @@ class cbfeeds $array = array( 'feed_id','message','message_attributes', 'userid','user','icon','action','action_group_id','is_activity', - 'privacy','likes_count','likes','date_added','time_added' + 'privacy','likes_count','likes','date_added','time_added','comments_count' ); return $array; } - } ?> \ No newline at end of file diff --git a/upload/includes/classes/video.class.php b/upload/includes/classes/video.class.php index 109ad51c..769f0d16 100644 --- a/upload/includes/classes/video.class.php +++ b/upload/includes/classes/video.class.php @@ -740,6 +740,14 @@ class CBvideo extends CBCategory { $cond .= ' AND '; $cond .= " " . tbl('video.duration') . " " . $duration_op . " '" . $params['duration'] . "' "; } + + + if ($params['has_mobile']) { + + if ($cond != '') + $cond .= ' AND '; + $cond .= " " . tbl('video.has_mobile') . "='".$params['has_mobile']."'"; + } //Filename