]> git.mxchange.org Git - friendica-addons.git/blobdiff - twitter/twitter.php
Move PConfig::set() to DI::pConfig()->set()
[friendica-addons.git] / twitter / twitter.php
index 4510caefab582c9af5534f9bacdf5607ec3028e0..fe66886f200733ba272044ff4b4c7abce61203cc 100644 (file)
@@ -78,16 +78,17 @@ use Friendica\Core\Protocol;
 use Friendica\Core\Renderer;
 use Friendica\Core\Worker;
 use Friendica\Database\DBA;
+use Friendica\DI;
 use Friendica\Model\Contact;
 use Friendica\Model\Conversation;
 use Friendica\Model\Group;
 use Friendica\Model\Item;
 use Friendica\Model\ItemContent;
 use Friendica\Model\User;
-use Friendica\Object\Image;
 use Friendica\Protocol\Activity;
 use Friendica\Util\ConfigFileLoader;
 use Friendica\Util\DateTimeFormat;
+use Friendica\Util\Images;
 use Friendica\Util\Network;
 use Friendica\Util\Strings;
 
@@ -141,7 +142,7 @@ function twitter_load_config(App $a, ConfigFileLoader $loader)
 
 function twitter_check_item_notification(App $a, array &$notification_data)
 {
-       $own_id = PConfig::get($notification_data["uid"], 'twitter', 'own_id');
+       $own_id = DI::pConfig()->get($notification_data["uid"], 'twitter', 'own_id');
 
        $own_user = q("SELECT `url` FROM `contact` WHERE `uid` = %d AND `alias` = '%s' LIMIT 1",
                        intval($notification_data["uid"]),
@@ -169,8 +170,8 @@ function twitter_follow(App $a, array &$contact)
 
        $ckey = Config::get('twitter', 'consumerkey');
        $csecret = Config::get('twitter', 'consumersecret');
-       $otoken = PConfig::get($uid, 'twitter', 'oauthtoken');
-       $osecret = PConfig::get($uid, 'twitter', 'oauthsecret');
+       $otoken = DI::pConfig()->get($uid, 'twitter', 'oauthtoken');
+       $osecret = DI::pConfig()->get($uid, 'twitter', 'oauthsecret');
 
        // If the addon is not configured (general or for this user) quit here
        if (empty($ckey) || empty($csecret) || empty($otoken) || empty($osecret)) {
@@ -198,13 +199,13 @@ function twitter_jot_nets(App $a, array &$jotnets_fields)
                return;
        }
 
-       if (PConfig::get(local_user(), 'twitter', 'post')) {
+       if (DI::pConfig()->get(local_user(), 'twitter', 'post')) {
                $jotnets_fields[] = [
                        'type' => 'checkbox',
                        'field' => [
                                'twitter_enable',
                                L10n::t('Post to Twitter'),
-                               PConfig::get(local_user(), 'twitter', 'post_by_default')
+                               DI::pConfig()->get(local_user(), 'twitter', 'post_by_default')
                        ]
                ];
        }
@@ -254,24 +255,24 @@ function twitter_settings_post(App $a)
                                $connection = new TwitterOAuth($ckey, $csecret, $_POST['twitter-token'], $_POST['twitter-token2']);
                                $token = $connection->oauth("oauth/access_token", ["oauth_verifier" => $_POST['twitter-pin']]);
                                //  ok, now that we have the Access Token, save them in the user config
-                               PConfig::set(local_user(), 'twitter', 'oauthtoken', $token['oauth_token']);
-                               PConfig::set(local_user(), 'twitter', 'oauthsecret', $token['oauth_token_secret']);
-                               PConfig::set(local_user(), 'twitter', 'post', 1);
+                               DI::pConfig()->set(local_user(), 'twitter', 'oauthtoken', $token['oauth_token']);
+                               DI::pConfig()->set(local_user(), 'twitter', 'oauthsecret', $token['oauth_token_secret']);
+                               DI::pConfig()->set(local_user(), 'twitter', 'post', 1);
                        } catch(Exception $e) {
                                info($e->getMessage());
                        } catch(TwitterOAuthException $e) {
                                info($e->getMessage());
                        }
                        //  reload the Addon Settings page, if we don't do it see Bug #42
-                       $a->internalRedirect('settings/connectors');
+                       DI::baseUrl()->redirect('settings/connectors');
                } else {
                        //  if no PIN is supplied in the POST variables, the user has changed the setting
                        //  to post a tweet for every new __public__ posting to the wall
-                       PConfig::set(local_user(), 'twitter', 'post', intval($_POST['twitter-enable']));
-                       PConfig::set(local_user(), 'twitter', 'post_by_default', intval($_POST['twitter-default']));
-                       PConfig::set(local_user(), 'twitter', 'mirror_posts', intval($_POST['twitter-mirror']));
-                       PConfig::set(local_user(), 'twitter', 'import', intval($_POST['twitter-import']));
-                       PConfig::set(local_user(), 'twitter', 'create_user', intval($_POST['twitter-create_user']));
+                       DI::pConfig()->set(local_user(), 'twitter', 'post', intval($_POST['twitter-enable']));
+                       DI::pConfig()->set(local_user(), 'twitter', 'post_by_default', intval($_POST['twitter-default']));
+                       DI::pConfig()->set(local_user(), 'twitter', 'mirror_posts', intval($_POST['twitter-mirror']));
+                       DI::pConfig()->set(local_user(), 'twitter', 'import', intval($_POST['twitter-import']));
+                       DI::pConfig()->set(local_user(), 'twitter', 'create_user', intval($_POST['twitter-create_user']));
 
                        if (!intval($_POST['twitter-mirror'])) {
                                PConfig::delete(local_user(), 'twitter', 'lastid');
@@ -287,7 +288,7 @@ function twitter_settings(App $a, &$s)
        if (!local_user()) {
                return;
        }
-       $a->page['htmlhead'] .= '<link rel="stylesheet"  type="text/css" href="' . $a->getBaseURL() . '/addon/twitter/twitter.css' . '" media="all" />' . "\r\n";
+       DI::page()['htmlhead'] .= '<link rel="stylesheet"  type="text/css" href="' . DI::baseUrl()->get() . '/addon/twitter/twitter.css' . '" media="all" />' . "\r\n";
        /*       * *
         * 1) Check that we have global consumer key & secret
         * 2) If no OAuthtoken & stuff is present, generate button to get some
@@ -295,14 +296,14 @@ function twitter_settings(App $a, &$s)
         */
        $ckey    = Config::get('twitter', 'consumerkey');
        $csecret = Config::get('twitter', 'consumersecret');
-       $otoken  = PConfig::get(local_user(), 'twitter', 'oauthtoken');
-       $osecret = PConfig::get(local_user(), 'twitter', 'oauthsecret');
+       $otoken  = DI::pConfig()->get(local_user(), 'twitter', 'oauthtoken');
+       $osecret = DI::pConfig()->get(local_user(), 'twitter', 'oauthsecret');
 
-       $enabled            = intval(PConfig::get(local_user(), 'twitter', 'post'));
-       $defenabled         = intval(PConfig::get(local_user(), 'twitter', 'post_by_default'));
-       $mirrorenabled      = intval(PConfig::get(local_user(), 'twitter', 'mirror_posts'));
-       $importenabled      = intval(PConfig::get(local_user(), 'twitter', 'import'));
-       $create_userenabled = intval(PConfig::get(local_user(), 'twitter', 'create_user'));
+       $enabled            = intval(DI::pConfig()->get(local_user(), 'twitter', 'post'));
+       $defenabled         = intval(DI::pConfig()->get(local_user(), 'twitter', 'post_by_default'));
+       $mirrorenabled      = intval(DI::pConfig()->get(local_user(), 'twitter', 'mirror_posts'));
+       $importenabled      = intval(DI::pConfig()->get(local_user(), 'twitter', 'import'));
+       $create_userenabled = intval(DI::pConfig()->get(local_user(), 'twitter', 'create_user'));
 
        $css = (($enabled) ? '' : '-disabled');
 
@@ -426,7 +427,7 @@ function twitter_hook_fork(App $a, array &$b)
                return;
        }
 
-       if (PConfig::get($post['uid'], 'twitter', 'import')) {
+       if (DI::pConfig()->get($post['uid'], 'twitter', 'import')) {
                // Don't fork if it isn't a reply to a twitter post
                if (($post['parent'] != $post['id']) && !Item::exists(['id' => $post['parent'], 'network' => Protocol::TWITTER])) {
                        Logger::notice('No twitter parent found', ['item' => $post['id']]);
@@ -452,11 +453,11 @@ function twitter_post_local(App $a, array &$b)
                return;
        }
 
-       $twitter_post = intval(PConfig::get(local_user(), 'twitter', 'post'));
+       $twitter_post = intval(DI::pConfig()->get(local_user(), 'twitter', 'post'));
        $twitter_enable = (($twitter_post && !empty($_REQUEST['twitter_enable'])) ? intval($_REQUEST['twitter_enable']) : 0);
 
        // if API is used, default to the chosen settings
-       if ($b['api_source'] && intval(PConfig::get(local_user(), 'twitter', 'post_by_default'))) {
+       if ($b['api_source'] && intval(DI::pConfig()->get(local_user(), 'twitter', 'post_by_default'))) {
                $twitter_enable = 1;
        }
 
@@ -475,8 +476,8 @@ function twitter_action(App $a, $uid, $pid, $action)
 {
        $ckey = Config::get('twitter', 'consumerkey');
        $csecret = Config::get('twitter', 'consumersecret');
-       $otoken = PConfig::get($uid, 'twitter', 'oauthtoken');
-       $osecret = PConfig::get($uid, 'twitter', 'oauthsecret');
+       $otoken = DI::pConfig()->get($uid, 'twitter', 'oauthtoken');
+       $osecret = DI::pConfig()->get($uid, 'twitter', 'oauthsecret');
 
        $connection = new TwitterOAuth($ckey, $csecret, $otoken, $osecret);
 
@@ -505,7 +506,7 @@ function twitter_action(App $a, $uid, $pid, $action)
 function twitter_post_hook(App $a, array &$b)
 {
        // Post to Twitter
-       if (!PConfig::get($b["uid"], 'twitter', 'import')
+       if (!DI::pConfig()->get($b["uid"], 'twitter', 'import')
                && ($b['deleted'] || $b['private'] || ($b['created'] !== $b['edited']))) {
                return;
        }
@@ -587,12 +588,12 @@ function twitter_post_hook(App $a, array &$b)
 
        Logger::notice('twitter post invoked', ['id' => $b['id'], 'guid' => $b['guid']]);
 
-       PConfig::load($b['uid'], 'twitter');
+       DI::pConfig()->load($b['uid'], 'twitter');
 
        $ckey    = Config::get('twitter', 'consumerkey');
        $csecret = Config::get('twitter', 'consumersecret');
-       $otoken  = PConfig::get($b['uid'], 'twitter', 'oauthtoken');
-       $osecret = PConfig::get($b['uid'], 'twitter', 'oauthsecret');
+       $otoken  = DI::pConfig()->get($b['uid'], 'twitter', 'oauthtoken');
+       $osecret = DI::pConfig()->get($b['uid'], 'twitter', 'oauthsecret');
 
        if ($ckey && $csecret && $otoken && $osecret) {
                Logger::log('twitter: we have customer key and oauth stuff, going to send.', Logger::DEBUG);
@@ -783,7 +784,7 @@ function twitter_cron(App $a)
                        /*
                          // To-Do
                          // check for new contacts once a day
-                         $last_contact_check = PConfig::get($rr['uid'],'pumpio','contact_check');
+                         $last_contact_check = DI::pConfig()->get($rr['uid'],'pumpio','contact_check');
                          if($last_contact_check)
                          $next_contact_check = $last_contact_check + 86400;
                          else
@@ -791,7 +792,7 @@ function twitter_cron(App $a)
 
                          if($next_contact_check <= time()) {
                          pumpio_getallusers($a, $rr["uid"]);
-                         PConfig::set($rr['uid'],'pumpio','contact_check',time());
+                         DI::pConfig()->set($rr['uid'],'pumpio','contact_check',time());
                          }
                         */
                }
@@ -838,7 +839,7 @@ function twitter_prepare_body(App $a, array &$b)
        if ($b["preview"]) {
                $max_char = 280;
                $item = $b["item"];
-               $item["plink"] = $a->getBaseURL() . "/display/" . $item["guid"];
+               $item["plink"] = DI::baseUrl()->get() . "/display/" . $item["guid"];
 
                $condition = ['uri' => $item["thr-parent"], 'uid' => local_user()];
                $orig_post = Item::selectFirst(['author-link'], $condition);
@@ -932,14 +933,14 @@ function twitter_fetchtimeline(App $a, $uid)
 {
        $ckey    = Config::get('twitter', 'consumerkey');
        $csecret = Config::get('twitter', 'consumersecret');
-       $otoken  = PConfig::get($uid, 'twitter', 'oauthtoken');
-       $osecret = PConfig::get($uid, 'twitter', 'oauthsecret');
-       $lastid  = PConfig::get($uid, 'twitter', 'lastid');
+       $otoken  = DI::pConfig()->get($uid, 'twitter', 'oauthtoken');
+       $osecret = DI::pConfig()->get($uid, 'twitter', 'oauthsecret');
+       $lastid  = DI::pConfig()->get($uid, 'twitter', 'lastid');
 
        $application_name = Config::get('twitter', 'application_name');
 
        if ($application_name == "") {
-               $application_name = $a->getHostName();
+               $application_name = DI::baseUrl()->getHostname();
        }
 
        $has_picture = false;
@@ -977,7 +978,7 @@ function twitter_fetchtimeline(App $a, $uid)
                foreach ($posts as $post) {
                        if ($post->id_str > $lastid) {
                                $lastid = $post->id_str;
-                               PConfig::set($uid, 'twitter', 'lastid', $lastid);
+                               DI::pConfig()->set($uid, 'twitter', 'lastid', $lastid);
                        }
 
                        if ($first_time) {
@@ -1002,7 +1003,7 @@ function twitter_fetchtimeline(App $a, $uid)
                        }
                }
        }
-       PConfig::set($uid, 'twitter', 'lastid', $lastid);
+       DI::pConfig()->set($uid, 'twitter', 'lastid', $lastid);
        Logger::log('Last ID for user ' . $uid . ' is now ' . $lastid, Logger::DEBUG);
 }
 
@@ -1010,7 +1011,7 @@ function twitter_fix_avatar($avatar)
 {
        $new_avatar = str_replace("_normal.", ".", $avatar);
 
-       $info = Image::getInfoFromURL($new_avatar);
+       $info = Images::getInfoFromURLCached($new_avatar);
        if (!$info) {
                $new_avatar = $avatar;
        }
@@ -1098,8 +1099,8 @@ function twitter_fetchuser(App $a, $uid, $screen_name = "", $user_id = "")
 {
        $ckey = Config::get('twitter', 'consumerkey');
        $csecret = Config::get('twitter', 'consumersecret');
-       $otoken = PConfig::get($uid, 'twitter', 'oauthtoken');
-       $osecret = PConfig::get($uid, 'twitter', 'oauthsecret');
+       $otoken = DI::pConfig()->get($uid, 'twitter', 'oauthtoken');
+       $osecret = DI::pConfig()->get($uid, 'twitter', 'oauthsecret');
 
        $r = q("SELECT * FROM `contact` WHERE `self` = 1 AND `uid` = %d LIMIT 1",
                intval($uid));
@@ -1145,7 +1146,7 @@ function twitter_expand_entities(App $a, $body, $item, $picture)
        $tags_arr = [];
 
        foreach ($item->entities->hashtags AS $hashtag) {
-               $url = '#[url=' . $a->getBaseURL() . '/search?tag=' . $hashtag->text . ']' . $hashtag->text . '[/url]';
+               $url = '#[url=' . DI::baseUrl()->get() . '/search?tag=' . $hashtag->text . ']' . $hashtag->text . '[/url]';
                $tags_arr['#' . $hashtag->text] = $url;
                $body = str_replace('#' . $hashtag->text, $url, $body);
        }
@@ -1278,7 +1279,7 @@ function twitter_expand_entities(App $a, $body, $item, $picture)
                                }
 
                                $basetag = str_replace('_', ' ', substr($tag, 1));
-                               $url = '#[url=' . $a->getBaseURL() . '/search?tag=' . $basetag . ']' . $basetag . '[/url]';
+                               $url = '#[url=' . DI::baseUrl()->get() . '/search?tag=' . $basetag . ']' . $basetag . '[/url]';
                                $body = str_replace($tag, $url, $body);
                                $tags_arr['#' . $basetag] = $url;
                        } elseif (strpos($tag, '@') === 0) {
@@ -1420,7 +1421,7 @@ function twitter_createpost(App $a, $uid, $post, array $self, $create_user, $onl
                }
 
                // Is it me?
-               $own_id = PConfig::get($uid, 'twitter', 'own_id');
+               $own_id = DI::pConfig()->get($uid, 'twitter', 'own_id');
 
                if ($post->user->id_str == $own_id) {
                        $r = q("SELECT * FROM `contact` WHERE `self` = 1 AND `uid` = %d LIMIT 1",
@@ -1603,7 +1604,7 @@ function twitter_fetchparentposts(App $a, $uid, $post, TwitterOAuth $connection,
 
        if (!empty($posts)) {
                foreach ($posts as $post) {
-                       $postarray = twitter_createpost($a, $uid, $post, $self, false, !PConfig::get($uid, 'twitter', 'create_user'), false);
+                       $postarray = twitter_createpost($a, $uid, $post, $self, false, !DI::pConfig()->get($uid, 'twitter', 'create_user'), false);
 
                        if (empty($postarray['body'])) {
                                continue;
@@ -1622,17 +1623,17 @@ function twitter_fetchhometimeline(App $a, $uid)
 {
        $ckey    = Config::get('twitter', 'consumerkey');
        $csecret = Config::get('twitter', 'consumersecret');
-       $otoken  = PConfig::get($uid, 'twitter', 'oauthtoken');
-       $osecret = PConfig::get($uid, 'twitter', 'oauthsecret');
-       $create_user = PConfig::get($uid, 'twitter', 'create_user');
-       $mirror_posts = PConfig::get($uid, 'twitter', 'mirror_posts');
+       $otoken  = DI::pConfig()->get($uid, 'twitter', 'oauthtoken');
+       $osecret = DI::pConfig()->get($uid, 'twitter', 'oauthsecret');
+       $create_user = DI::pConfig()->get($uid, 'twitter', 'create_user');
+       $mirror_posts = DI::pConfig()->get($uid, 'twitter', 'mirror_posts');
 
        Logger::log("Fetching timeline for user " . $uid, Logger::DEBUG);
 
        $application_name = Config::get('twitter', 'application_name');
 
        if ($application_name == "") {
-               $application_name = $a->getHostName();
+               $application_name = DI::baseUrl()->getHostname();
        }
 
        $connection = new TwitterOAuth($ckey, $csecret, $otoken, $osecret);
@@ -1664,7 +1665,7 @@ function twitter_fetchhometimeline(App $a, $uid)
        $parameters = ["exclude_replies" => false, "trim_user" => false, "contributor_details" => true, "include_rts" => true, "tweet_mode" => "extended", "include_ext_alt_text" => true];
        //$parameters["count"] = 200;
        // Fetching timeline
-       $lastid = PConfig::get($uid, 'twitter', 'lasthometimelineid');
+       $lastid = DI::pConfig()->get($uid, 'twitter', 'lasthometimelineid');
 
        $first_time = ($lastid == "");
 
@@ -1697,7 +1698,7 @@ function twitter_fetchhometimeline(App $a, $uid)
                foreach ($posts as $post) {
                        if ($post->id_str > $lastid) {
                                $lastid = $post->id_str;
-                               PConfig::set($uid, 'twitter', 'lasthometimelineid', $lastid);
+                               DI::pConfig()->set($uid, 'twitter', 'lasthometimelineid', $lastid);
                        }
 
                        if ($first_time) {
@@ -1742,12 +1743,12 @@ function twitter_fetchhometimeline(App $a, $uid)
                        Logger::log('User ' . $uid . ' posted home timeline item ' . $item);
                }
        }
-       PConfig::set($uid, 'twitter', 'lasthometimelineid', $lastid);
+       DI::pConfig()->set($uid, 'twitter', 'lasthometimelineid', $lastid);
 
        Logger::log('Last timeline ID for user ' . $uid . ' is now ' . $lastid, Logger::DEBUG);
 
        // Fetching mentions
-       $lastid = PConfig::get($uid, 'twitter', 'lastmentionid');
+       $lastid = DI::pConfig()->get($uid, 'twitter', 'lastmentionid');
 
        $first_time = ($lastid == "");
 
@@ -1797,7 +1798,7 @@ function twitter_fetchhometimeline(App $a, $uid)
                }
        }
 
-       PConfig::set($uid, 'twitter', 'lastmentionid', $lastid);
+       DI::pConfig()->set($uid, 'twitter', 'lastmentionid', $lastid);
 
        Logger::log('Last mentions ID for user ' . $uid . ' is now ' . $lastid, Logger::DEBUG);
 }
@@ -1806,10 +1807,10 @@ function twitter_fetch_own_contact(App $a, $uid)
 {
        $ckey    = Config::get('twitter', 'consumerkey');
        $csecret = Config::get('twitter', 'consumersecret');
-       $otoken  = PConfig::get($uid, 'twitter', 'oauthtoken');
-       $osecret = PConfig::get($uid, 'twitter', 'oauthsecret');
+       $otoken  = DI::pConfig()->get($uid, 'twitter', 'oauthtoken');
+       $osecret = DI::pConfig()->get($uid, 'twitter', 'oauthsecret');
 
-       $own_id = PConfig::get($uid, 'twitter', 'own_id');
+       $own_id = DI::pConfig()->get($uid, 'twitter', 'own_id');
 
        $contact_id = 0;
 
@@ -1823,7 +1824,7 @@ function twitter_fetch_own_contact(App $a, $uid)
                        return false;
                }
 
-               PConfig::set($uid, 'twitter', 'own_id', $user->id_str);
+               DI::pConfig()->set($uid, 'twitter', 'own_id', $user->id_str);
 
                $contact_id = twitter_fetch_contact($uid, $user, true);
        } else {
@@ -1881,8 +1882,8 @@ function twitter_is_retweet(App $a, $uid, $body)
 
        $ckey    = Config::get('twitter', 'consumerkey');
        $csecret = Config::get('twitter', 'consumersecret');
-       $otoken  = PConfig::get($uid, 'twitter', 'oauthtoken');
-       $osecret = PConfig::get($uid, 'twitter', 'oauthsecret');
+       $otoken  = DI::pConfig()->get($uid, 'twitter', 'oauthtoken');
+       $osecret = DI::pConfig()->get($uid, 'twitter', 'oauthsecret');
 
        $connection = new TwitterOAuth($ckey, $csecret, $otoken, $osecret);
        $result = $connection->post('statuses/retweet/' . $id);