1 <?php
2 /**
3 * @package Joomla.Platform
4 * @subpackage Facebook
5 *
6 * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved.
7 * @license GNU General Public License version 2 or later; see LICENSE
8 */
9
10 defined('JPATH_PLATFORM') or die();
11
12 /**
13 * Facebook API Video class for the Joomla Platform.
14 *
15 * @link http://developers.facebook.com/docs/reference/api/video/
16 * @since 13.1
17 * @deprecated 4.0 Use the `joomla/facebook` package via Composer instead
18 */
19 class JFacebookVideo extends JFacebookObject
20 {
21 /**
22 * Method to get a video. Requires authentication and user_videos or friends_videos permission for private videos.
23 *
24 * @param string $video The video id.
25 *
26 * @return mixed The decoded JSON response or false if the client is not authenticated.
27 *
28 * @since 13.1
29 */
30 public function getVideo($video)
31 {
32 return $this->get($video);
33 }
34
35 /**
36 * Method to get a video's comments. Requires authentication and user_videos or friends_videos permission for private videos.
37 *
38 * @param string $video The video id.
39 * @param integer $limit The number of objects per page.
40 * @param integer $offset The object's number on the page.
41 * @param string $until A unix timestamp or any date accepted by strtotime.
42 * @param string $since A unix timestamp or any date accepted by strtotime.
43 *
44 * @return mixed The decoded JSON response or false if the client is not authenticated.
45 *
46 * @since 13.1
47 */
48 public function getComments($video, $limit=0, $offset=0, $until=null, $since=null)
49 {
50 return $this->getConnection($video, 'comments', '', $limit, $offset, $until, $since);
51 }
52
53 /**
54 * Method to comment on a video. Requires authentication and publish_stream permission, user_videos or friends_videos permission for private videos.
55 *
56 * @param string $video The video id.
57 * @param string $message The comment's text.
58 *
59 * @return mixed The decoded JSON response or false if the client is not authenticated.
60 *
61 * @since 13.1
62 */
63 public function createComment($video, $message)
64 {
65 // Set POST request parameters.
66 $data = array();
67 $data['message'] = $message;
68
69 return $this->createConnection($video, 'comments', $data);
70 }
71
72 /**
73 * Method to delete a comment. Requires authentication and publish_stream permission, user_videos or friends_videos permission for private videos.
74 *
75 * @param string $comment The comment's id.
76 *
77 * @return boolean Returns true if successful, and false otherwise.
78 *
79 * @since 13.1
80 */
81 public function deleteComment($comment)
82 {
83 return $this->deleteConnection($comment);
84 }
85
86 /**
87 * Method to get video's likes. Requires authentication and user_videos or friends_videos permission for private videos.
88 *
89 * @param string $video The video id.
90 * @param integer $limit The number of objects per page.
91 * @param integer $offset The object's number on the page.
92 * @param string $until A unix timestamp or any date accepted by strtotime.
93 * @param string $since A unix timestamp or any date accepted by strtotime.
94 *
95 * @return mixed The decoded JSON response or false if the client is not authenticated.
96 *
97 * @since 13.1
98 */
99 public function getLikes($video, $limit=0, $offset=0, $until=null, $since=null)
100 {
101 return $this->getConnection($video, 'likes', '', $limit, $offset, $until, $since);
102 }
103
104 /**
105 * Method to like a video. Requires authentication and publish_stream permission, user_videos or friends_videos permission for private videos.
106 *
107 * @param string $video The video id.
108 *
109 * @return boolean Returns true if successful, and false otherwise.
110 *
111 * @since 13.1
112 */
113 public function createLike($video)
114 {
115 return $this->createConnection($video, 'likes');
116 }
117
118 /**
119 * Method to unlike a video. Requires authentication and publish_stream permission, user_videos or friends_videos permission for private videos.
120 *
121 * @param string $video The video id.
122 *
123 * @return boolean Returns true if successful, and false otherwise.
124 *
125 * @since 13.1
126 */
127 public function deleteLike($video)
128 {
129 return $this->deleteConnection($video, 'likes');
130 }
131
132 /**
133 * Method to get the album-sized view of the video. Requires authentication and user_videos or friends_videos permission for private photos.
134 *
135 * @param string $video The video id.
136 *
137 * @return string URL of the picture.
138 *
139 * @since 13.1
140 */
141 public function getPicture($video)
142 {
143 return $this->getConnection($video, 'picture');
144 }
145 }
146