PluginProbe
Gianism / 4.3.4
Gianism v4.3.4
4.3.0 4.3.1 4.3.2 4.3.3 4.3.4 4.4.0 5.0.0 5.0.1 5.0.2 5.1.0 5.2.1 5.2.2 5.3.0 6.0.0 6.0.1 trunk 1.0 1.1 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 All 65 releases
gianism / functions / twitter.php

twitter.php in Gianism 4.3.4, at functions/twitter.php

101 lines 2.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Twitter related functions
4 *
5 * @package Gianism
6 */
7
8
9
10
11 /**
12 * Get Twitter Screen Name
13 *
14 * @package Gianism
15 * @since 3.0.0
16 *
17 * @param int $user_id
18 *
19 * @return string|false
20 */
21 function gianism_get_twitter_screen_name( $user_id ) {
22 /** @var \Gianism\Service\Twitter $twitter */
23 $twitter = \Gianism\Service\Twitter::get_instance();
24
25 return get_user_meta( $user_id, $twitter->umeta_screen_name, true );
26 }
27
28
29 /**
30 * Update Twitter time line
31 *
32 * @package Gianism
33 * @since 3.0.0
34 *
35 * @param string $string
36 * @return bool
37 */
38 function gianism_update_twitter_status( $string ) {
39 /** @var \Gianism\Service\Twitter $twitter */
40 $twitter = \Gianism\Service\Twitter::get_instance();
41 $response = $twitter->tweet( $string );
42 return ! $response->errors;
43 }
44
45 /**
46 * Reply to specified user by Owner Account
47 *
48 * @package Gianism
49 * @since 3.0.0
50 *
51 * @param int $user_id
52 * @param string $string
53 *
54 * @return boolean
55 */
56 function gianism_twitter_reply_to( $user_id, $string ) {
57 $screen_name = gianism_get_twitter_screen_name( $user_id );
58 if ( $screen_name ) {
59 gianism_update_twitter_status( "@{$screen_name} " . $string );
60 return true;
61 } else {
62 return false;
63 }
64 }
65
66 /**
67 * Get twitter time line in JSON format object
68 *
69 * Caching is recommended.
70 *
71 * <pre>
72 * $timeline = get_transient('twitter_timeline');
73 * if( false === $timeline){
74 * $timeline = twitter_get_timeline('my_screen_name');
75 * set_transient('twitter_timeline', $timeline, 3600);
76 * }
77 * foreach($timeline as $status){
78 * // Echo status
79 * }
80 * </pre>
81 *
82 * @package Gianism
83 * @since 3.0.0
84 *
85 * @param string $screen_name If not specified, admin user's screen name will be used.
86 * @param array $additional_data
87 *
88 * @return object JSON format object.
89 */
90 function gianism_twitter_get_timeline( $screen_name = null, array $additional_data = [] ) {
91 /** @var \Gianism\Service\Twitter $twitter */
92 $twitter = \Gianism\Service\Twitter::get_instance();
93 if ( is_null( $screen_name ) ) {
94 $screen_name = $twitter->tw_screen_name;
95 }
96
97 return $twitter->call_api( 'statuses/user_timeline', array_merge(
98 array( 'screen_name' => $screen_name ),
99 $additional_data
100 ) );
101 }