use Friendica\Content\OEmbed;
use Friendica\Content\Text\BBCode;
use Friendica\Content\Text\Plaintext;
-use Friendica\Core\Config;
use Friendica\Core\Hook;
-use Friendica\Core\L10n;
use Friendica\Core\Logger;
-use Friendica\Core\PConfig;
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;
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"]),
$uid = $a->user["uid"];
- $ckey = Config::get('twitter', 'consumerkey');
- $csecret = Config::get('twitter', 'consumersecret');
- $otoken = PConfig::get($uid, 'twitter', 'oauthtoken');
- $osecret = PConfig::get($uid, 'twitter', 'oauthsecret');
+ $ckey = DI::config()->get('twitter', 'consumerkey');
+ $csecret = DI::config()->get('twitter', 'consumersecret');
+ $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)) {
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::l10n()->t('Post to Twitter'),
+ DI::pConfig()->get(local_user(), 'twitter', 'post_by_default')
]
];
}
* if the twitter-disconnect checkbox is set, clear the OAuth key/secret pair
* from the user configuration
*/
- PConfig::delete(local_user(), 'twitter', 'consumerkey');
- PConfig::delete(local_user(), 'twitter', 'consumersecret');
- PConfig::delete(local_user(), 'twitter', 'oauthtoken');
- PConfig::delete(local_user(), 'twitter', 'oauthsecret');
- PConfig::delete(local_user(), 'twitter', 'post');
- PConfig::delete(local_user(), 'twitter', 'post_by_default');
- PConfig::delete(local_user(), 'twitter', 'lastid');
- PConfig::delete(local_user(), 'twitter', 'mirror_posts');
- PConfig::delete(local_user(), 'twitter', 'import');
- PConfig::delete(local_user(), 'twitter', 'create_user');
- PConfig::delete(local_user(), 'twitter', 'own_id');
+ DI::pConfig()->delete(local_user(), 'twitter', 'consumerkey');
+ DI::pConfig()->delete(local_user(), 'twitter', 'consumersecret');
+ DI::pConfig()->delete(local_user(), 'twitter', 'oauthtoken');
+ DI::pConfig()->delete(local_user(), 'twitter', 'oauthsecret');
+ DI::pConfig()->delete(local_user(), 'twitter', 'post');
+ DI::pConfig()->delete(local_user(), 'twitter', 'post_by_default');
+ DI::pConfig()->delete(local_user(), 'twitter', 'lastid');
+ DI::pConfig()->delete(local_user(), 'twitter', 'mirror_posts');
+ DI::pConfig()->delete(local_user(), 'twitter', 'import');
+ DI::pConfig()->delete(local_user(), 'twitter', 'create_user');
+ DI::pConfig()->delete(local_user(), 'twitter', 'own_id');
} else {
if (isset($_POST['twitter-pin'])) {
// if the user supplied us with a PIN from Twitter, let the magic of OAuth happen
Logger::notice('got a Twitter PIN');
- $ckey = Config::get('twitter', 'consumerkey');
- $csecret = Config::get('twitter', 'consumersecret');
+ $ckey = DI::config()->get('twitter', 'consumerkey');
+ $csecret = DI::config()->get('twitter', 'consumersecret');
// the token and secret for which the PIN was generated were hidden in the settings
// form as token and token2, we need a new connection to Twitter using these token
// and secret to request a Access Token with the PIN
try {
if (empty($_POST['twitter-pin'])) {
- throw new Exception(L10n::t('You submitted an empty PIN, please Sign In with Twitter again to get a new one.'));
+ throw new Exception(DI::l10n()->t('You submitted an empty PIN, please Sign In with Twitter again to get a new one.'));
}
$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');
+ DI::pConfig()->delete(local_user(), 'twitter', 'lastid');
}
- info(L10n::t('Twitter settings updated.') . EOL);
+ info(DI::l10n()->t('Twitter settings updated.') . EOL);
}
}
}
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
* 3) Checkbox for "Send public notices (280 chars only)
*/
- $ckey = Config::get('twitter', 'consumerkey');
- $csecret = Config::get('twitter', 'consumersecret');
- $otoken = PConfig::get(local_user(), 'twitter', 'oauthtoken');
- $osecret = PConfig::get(local_user(), 'twitter', 'oauthsecret');
+ $ckey = DI::config()->get('twitter', 'consumerkey');
+ $csecret = DI::config()->get('twitter', 'consumersecret');
+ $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');
$s .= '<span id="settings_twitter_inflated" class="settings-block fakelink" style="display: block;" onclick="openClose(\'settings_twitter_expanded\'); openClose(\'settings_twitter_inflated\');">';
- $s .= '<img class="connector' . $css . '" src="images/twitter.png" /><h3 class="connector">' . L10n::t('Twitter Import/Export/Mirror') . '</h3>';
+ $s .= '<img class="connector' . $css . '" src="images/twitter.png" /><h3 class="connector">' . DI::l10n()->t('Twitter Import/Export/Mirror') . '</h3>';
$s .= '</span>';
$s .= '<div id="settings_twitter_expanded" class="settings-block" style="display: none;">';
$s .= '<span class="fakelink" onclick="openClose(\'settings_twitter_expanded\'); openClose(\'settings_twitter_inflated\');">';
- $s .= '<img class="connector' . $css . '" src="images/twitter.png" /><h3 class="connector">' . L10n::t('Twitter Import/Export/Mirror') . '</h3>';
+ $s .= '<img class="connector' . $css . '" src="images/twitter.png" /><h3 class="connector">' . DI::l10n()->t('Twitter Import/Export/Mirror') . '</h3>';
$s .= '</span>';
if ((!$ckey) && (!$csecret)) {
/* no global consumer keys
* display warning and skip personal config
*/
- $s .= '<p>' . L10n::t('No consumer key pair for Twitter found. Please contact your site administrator.') . '</p>';
+ $s .= '<p>' . DI::l10n()->t('No consumer key pair for Twitter found. Please contact your site administrator.') . '</p>';
} else {
// ok we have a consumer key pair now look into the OAuth stuff
if ((!$otoken) && (!$osecret)) {
$connection = new TwitterOAuth($ckey, $csecret);
try {
$result = $connection->oauth('oauth/request_token', ['oauth_callback' => 'oob']);
- $s .= '<p>' . L10n::t('At this Friendica instance the Twitter addon was enabled but you have not yet connected your account to your Twitter account. To do so click the button below to get a PIN from Twitter which you have to copy into the input box below and submit the form. Only your <strong>public</strong> posts will be posted to Twitter.') . '</p>';
- $s .= '<a href="' . $connection->url('oauth/authorize', ['oauth_token' => $result['oauth_token']]) . '" target="_twitter"><img src="addon/twitter/lighter.png" alt="' . L10n::t('Log in with Twitter') . '"></a>';
+ $s .= '<p>' . DI::l10n()->t('At this Friendica instance the Twitter addon was enabled but you have not yet connected your account to your Twitter account. To do so click the button below to get a PIN from Twitter which you have to copy into the input box below and submit the form. Only your <strong>public</strong> posts will be posted to Twitter.') . '</p>';
+ $s .= '<a href="' . $connection->url('oauth/authorize', ['oauth_token' => $result['oauth_token']]) . '" target="_twitter"><img src="addon/twitter/lighter.png" alt="' . DI::l10n()->t('Log in with Twitter') . '"></a>';
$s .= '<div id="twitter-pin-wrapper">';
- $s .= '<label id="twitter-pin-label" for="twitter-pin">' . L10n::t('Copy the PIN from Twitter here') . '</label>';
+ $s .= '<label id="twitter-pin-label" for="twitter-pin">' . DI::l10n()->t('Copy the PIN from Twitter here') . '</label>';
$s .= '<input id="twitter-pin" type="text" name="twitter-pin" />';
$s .= '<input id="twitter-token" type="hidden" name="twitter-token" value="' . $result['oauth_token'] . '" />';
$s .= '<input id="twitter-token2" type="hidden" name="twitter-token2" value="' . $result['oauth_token_secret'] . '" />';
$s .= '</div><div class="clear"></div>';
- $s .= '<div class="settings-submit-wrapper" ><input type="submit" name="twitter-submit" class="settings-submit" value="' . L10n::t('Save Settings') . '" /></div>';
+ $s .= '<div class="settings-submit-wrapper" ><input type="submit" name="twitter-submit" class="settings-submit" value="' . DI::l10n()->t('Save Settings') . '" /></div>';
} catch (TwitterOAuthException $e) {
- $s .= '<p>' . L10n::t('An error occured: ') . $e->getMessage() . '</p>';
+ $s .= '<p>' . DI::l10n()->t('An error occured: ') . $e->getMessage() . '</p>';
}
} else {
/* * *
property_exists($details, 'description') &&
property_exists($details, 'profile_image_url')) {
$s .= '<div id="twitter-info" >
- <p>' . L10n::t('Currently connected to: ') . '<a href="https://twitter.com/' . $details->screen_name . '" target="_twitter">' . $details->screen_name . '</a>
- <button type="submit" name="twitter-disconnect" value="1">' . L10n::t('Disconnect') . '</button>
+ <p>' . DI::l10n()->t('Currently connected to: ') . '<a href="https://twitter.com/' . $details->screen_name . '" target="_twitter">' . $details->screen_name . '</a>
+ <button type="submit" name="twitter-disconnect" value="1">' . DI::l10n()->t('Disconnect') . '</button>
</p>
<p id="twitter-info-block">
<a href="https://twitter.com/' . $details->screen_name . '" target="_twitter"><img id="twitter-avatar" src="' . $details->profile_image_url . '" /></a>
$s .= '<div class="clear"></div>';
$s .= Renderer::replaceMacros($field_checkbox, [
- '$field' => ['twitter-enable', L10n::t('Allow posting to Twitter'), $enabled, L10n::t('If enabled all your <strong>public</strong> postings can be posted to the associated Twitter account. You can choose to do so by default (here) or for every posting separately in the posting options when writing the entry.')]
+ '$field' => ['twitter-enable', DI::l10n()->t('Allow posting to Twitter'), $enabled, DI::l10n()->t('If enabled all your <strong>public</strong> postings can be posted to the associated Twitter account. You can choose to do so by default (here) or for every posting separately in the posting options when writing the entry.')]
]);
if ($a->user['hidewall']) {
- $s .= '<p>' . L10n::t('<strong>Note</strong>: Due to your privacy settings (<em>Hide your profile details from unknown viewers?</em>) the link potentially included in public postings relayed to Twitter will lead the visitor to a blank page informing the visitor that the access to your profile has been restricted.') . '</p>';
+ $s .= '<p>' . DI::l10n()->t('<strong>Note</strong>: Due to your privacy settings (<em>Hide your profile details from unknown viewers?</em>) the link potentially included in public postings relayed to Twitter will lead the visitor to a blank page informing the visitor that the access to your profile has been restricted.') . '</p>';
}
$s .= Renderer::replaceMacros($field_checkbox, [
- '$field' => ['twitter-default', L10n::t('Send public postings to Twitter by default'), $defenabled, '']
+ '$field' => ['twitter-default', DI::l10n()->t('Send public postings to Twitter by default'), $defenabled, '']
]);
$s .= Renderer::replaceMacros($field_checkbox, [
- '$field' => ['twitter-mirror', L10n::t('Mirror all posts from twitter that are no replies'), $mirrorenabled, '']
+ '$field' => ['twitter-mirror', DI::l10n()->t('Mirror all posts from twitter that are no replies'), $mirrorenabled, '']
]);
$s .= Renderer::replaceMacros($field_checkbox, [
- '$field' => ['twitter-import', L10n::t('Import the remote timeline'), $importenabled, '']
+ '$field' => ['twitter-import', DI::l10n()->t('Import the remote timeline'), $importenabled, '']
]);
$s .= Renderer::replaceMacros($field_checkbox, [
- '$field' => ['twitter-create_user', L10n::t('Automatically create contacts'), $create_userenabled, L10n::t('This will automatically create a contact in Friendica as soon as you receive a message from an existing contact via the Twitter network. If you do not enable this, you need to manually add those Twitter contacts in Friendica from whom you would like to see posts here. However if enabled, you cannot merely remove a twitter contact from the Friendica contact list, as it will recreate this contact when they post again.')]
+ '$field' => ['twitter-create_user', DI::l10n()->t('Automatically create contacts'), $create_userenabled, DI::l10n()->t('This will automatically create a contact in Friendica as soon as you receive a message from an existing contact via the Twitter network. If you do not enable this, you need to manually add those Twitter contacts in Friendica from whom you would like to see posts here. However if enabled, you cannot merely remove a twitter contact from the Friendica contact list, as it will recreate this contact when they post again.')]
]);
$s .= '<div class="clear"></div>';
- $s .= '<div class="settings-submit-wrapper" ><input type="submit" name="twitter-submit" class="settings-submit" value="' . L10n::t('Save Settings') . '" /></div>';
+ $s .= '<div class="settings-submit-wrapper" ><input type="submit" name="twitter-submit" class="settings-submit" value="' . DI::l10n()->t('Save Settings') . '" /></div>';
} catch (TwitterOAuthException $e) {
- $s .= '<p>' . L10n::t('An error occured: ') . $e->getMessage() . '</p>';
+ $s .= '<p>' . DI::l10n()->t('An error occured: ') . $e->getMessage() . '</p>';
}
}
}
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']]);
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;
}
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');
+ $ckey = DI::config()->get('twitter', 'consumerkey');
+ $csecret = DI::config()->get('twitter', 'consumersecret');
+ $otoken = DI::pConfig()->get($uid, 'twitter', 'oauthtoken');
+ $osecret = DI::pConfig()->get($uid, 'twitter', 'oauthsecret');
$connection = new TwitterOAuth($ckey, $csecret, $otoken, $osecret);
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;
}
}
}
- if (($b['verb'] == ACTIVITY_POST) && $b['deleted']) {
+ if (($b['verb'] == Activity::POST) && $b['deleted']) {
twitter_action($a, $b["uid"], substr($orig_post["uri"], 9), "delete");
}
- if ($b['verb'] == ACTIVITY_LIKE) {
+ if ($b['verb'] == Activity::LIKE) {
Logger::log("twitter_post_hook: parameter 2 " . substr($b["thr-parent"], 9), Logger::DEBUG);
if ($b['deleted']) {
twitter_action($a, $b["uid"], substr($b["thr-parent"], 9), "unlike");
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');
+ $ckey = DI::config()->get('twitter', 'consumerkey');
+ $csecret = DI::config()->get('twitter', 'consumersecret');
+ $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);
Logger::info('twitter_post send', ['id' => $b['id'], 'result' => $result]);
if (!empty($result->source)) {
- Config::set("twitter", "application_name", strip_tags($result->source));
+ DI::config()->set("twitter", "application_name", strip_tags($result->source));
}
if (!empty($result->errors)) {
{
$consumerkey = !empty($_POST['consumerkey']) ? Strings::escapeTags(trim($_POST['consumerkey'])) : '';
$consumersecret = !empty($_POST['consumersecret']) ? Strings::escapeTags(trim($_POST['consumersecret'])) : '';
- Config::set('twitter', 'consumerkey', $consumerkey);
- Config::set('twitter', 'consumersecret', $consumersecret);
- info(L10n::t('Settings updated.') . EOL);
+ DI::config()->set('twitter', 'consumerkey', $consumerkey);
+ DI::config()->set('twitter', 'consumersecret', $consumersecret);
+ info(DI::l10n()->t('Settings updated.') . EOL);
}
function twitter_addon_admin(App $a, &$o)
$t = Renderer::getMarkupTemplate("admin.tpl", "addon/twitter/");
$o = Renderer::replaceMacros($t, [
- '$submit' => L10n::t('Save Settings'),
+ '$submit' => DI::l10n()->t('Save Settings'),
// name, label, value, help, [extra values]
- '$consumerkey' => ['consumerkey', L10n::t('Consumer key'), Config::get('twitter', 'consumerkey'), ''],
- '$consumersecret' => ['consumersecret', L10n::t('Consumer secret'), Config::get('twitter', 'consumersecret'), ''],
+ '$consumerkey' => ['consumerkey', DI::l10n()->t('Consumer key'), DI::config()->get('twitter', 'consumerkey'), ''],
+ '$consumersecret' => ['consumersecret', DI::l10n()->t('Consumer secret'), DI::config()->get('twitter', 'consumersecret'), ''],
]);
}
function twitter_cron(App $a)
{
- $last = Config::get('twitter', 'last_poll');
+ $last = DI::config()->get('twitter', 'last_poll');
- $poll_interval = intval(Config::get('twitter', 'poll_interval'));
+ $poll_interval = intval(DI::config()->get('twitter', 'poll_interval'));
if (!$poll_interval) {
$poll_interval = TWITTER_DEFAULT_POLL_INTERVAL;
}
}
}
- $abandon_days = intval(Config::get('system', 'account_abandon_days'));
+ $abandon_days = intval(DI::config()->get('system', 'account_abandon_days'));
if ($abandon_days < 1) {
$abandon_days = 0;
}
/*
// 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
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());
}
*/
}
Logger::notice('twitter: cron_end');
- Config::set('twitter', 'last_poll', time());
+ DI::config()->set('twitter', 'last_poll', time());
}
function twitter_expire(App $a)
{
- $days = Config::get('twitter', 'expire');
+ $days = DI::config()->get('twitter', 'expire');
if ($days == 0) {
return;
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);
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');
+ $ckey = DI::config()->get('twitter', 'consumerkey');
+ $csecret = DI::config()->get('twitter', 'consumersecret');
+ $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');
+ $application_name = DI::config()->get('twitter', 'application_name');
if ($application_name == "") {
- $application_name = $a->getHostName();
+ $application_name = DI::baseUrl()->getHostname();
}
$has_picture = false;
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) {
}
}
}
- 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);
}
{
$new_avatar = str_replace("_normal.", ".", $avatar);
- $info = Image::getInfoFromURL($new_avatar);
+ $info = Images::getInfoFromURLCached($new_avatar);
if (!$info) {
$new_avatar = $avatar;
}
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');
+ $ckey = DI::config()->get('twitter', 'consumerkey');
+ $csecret = DI::config()->get('twitter', 'consumersecret');
+ $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));
$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);
}
}
$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) {
$media[$medium->url] .= "\n[img]" . $medium->media_url_https . '[/img]';
}
- $postarray['object-type'] = ACTIVITY_OBJ_IMAGE;
+ $postarray['object-type'] = Activity\ObjectType::IMAGE;
break;
case 'video':
case 'animated_gif':
$media[$medium->url] .= "\n[img]" . $medium->media_url_https . '[/img]';
}
- $postarray['object-type'] = ACTIVITY_OBJ_VIDEO;
+ $postarray['object-type'] = Activity\ObjectType::VIDEO;
if (is_array($medium->video_info->variants)) {
$bitrate = 0;
// We take the video with the highest bitrate
$postarray['thr-parent'] = $parent_item['uri'];
$postarray['parent-uri'] = $parent_item['parent-uri'];
$postarray['parent'] = $parent_item['parent'];
- $postarray['object-type'] = ACTIVITY_OBJ_COMMENT;
+ $postarray['object-type'] = Activity\ObjectType::COMMENT;
} else {
$postarray['thr-parent'] = $postarray['uri'];
$postarray['parent-uri'] = $postarray['uri'];
- $postarray['object-type'] = ACTIVITY_OBJ_NOTE;
+ $postarray['object-type'] = Activity\ObjectType::NOTE;
}
// 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",
$create_user = false;
} else {
$postarray['parent-uri'] = $postarray['uri'];
- $postarray['object-type'] = ACTIVITY_OBJ_NOTE;
+ $postarray['object-type'] = Activity\ObjectType::NOTE;
}
if ($contactid == 0) {
$postarray['contact-id'] = $contactid;
- $postarray['verb'] = ACTIVITY_POST;
+ $postarray['verb'] = Activity::POST;
$postarray['author-name'] = $postarray['owner-name'];
$postarray['author-link'] = $postarray['owner-link'];
$postarray['author-avatar'] = $postarray['owner-avatar'];
// When the post contains links then use the correct object type
if (count($post->entities->urls) > 0) {
- $postarray['object-type'] = ACTIVITY_OBJ_BOOKMARK;
+ $postarray['object-type'] = Activity\ObjectType::BOOKMARK;
}
// Search for media links
Item::insert($retweet);
// CHange the other post into a reshare activity
- $postarray['verb'] = ACTIVITY2_ANNOUNCE;
+ $postarray['verb'] = Activity::ANNOUNCE;
$postarray['gravity'] = GRAVITY_ACTIVITY;
- $postarray['object-type'] = ACTIVITY_OBJ_NOTE;
+ $postarray['object-type'] = Activity\ObjectType::NOTE;
$postarray['thr-parent'] = $retweet['uri'];
$postarray['parent-uri'] = $retweet['uri'];
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;
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');
+ $ckey = DI::config()->get('twitter', 'consumerkey');
+ $csecret = DI::config()->get('twitter', 'consumersecret');
+ $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');
+ $application_name = DI::config()->get('twitter', 'application_name');
if ($application_name == "") {
- $application_name = $a->getHostName();
+ $application_name = DI::baseUrl()->getHostname();
}
$connection = new TwitterOAuth($ckey, $csecret, $otoken, $osecret);
$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 == "");
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) {
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 == "");
}
}
- 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);
}
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');
+ $ckey = DI::config()->get('twitter', 'consumerkey');
+ $csecret = DI::config()->get('twitter', 'consumersecret');
+ $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;
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 {
if (DBA::isResult($r)) {
$contact_id = $r[0]["id"];
} else {
- PConfig::delete($uid, 'twitter', 'own_id');
+ DI::pConfig()->delete($uid, 'twitter', 'own_id');
}
}
Logger::log('twitter_is_retweet: Retweeting id ' . $id . ' for user ' . $uid, Logger::DEBUG);
- $ckey = Config::get('twitter', 'consumerkey');
- $csecret = Config::get('twitter', 'consumersecret');
- $otoken = PConfig::get($uid, 'twitter', 'oauthtoken');
- $osecret = PConfig::get($uid, 'twitter', 'oauthsecret');
+ $ckey = DI::config()->get('twitter', 'consumerkey');
+ $csecret = DI::config()->get('twitter', 'consumersecret');
+ $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);