* Requirements: PHP5, curl [Slinky library]
*/
-require_once('include/enotify.php');
-require_once("include/socgraph.php");
-
use Friendica\Core\Config;
use Friendica\Core\PConfig;
+use Friendica\Core\Worker;
+use Friendica\Model\GlobalContact;
+use Friendica\Object\Photo;
+
+require_once 'include/enotify.php';
+
define('TWITTER_DEFAULT_POLL_INTERVAL', 5); // given in minutes
}
}
-function twitter_settings_post ($a,$post) {
+function twitter_settings_post($a,$post) {
if(! local_user())
return;
// don't check twitter settings if twitter submit button is not clicked
* if the twitter-disconnect checkbox is set, clear the OAuth key/secret pair
* from the user configuration
*/
- del_pconfig(local_user(), 'twitter', 'consumerkey');
- del_pconfig(local_user(), 'twitter', 'consumersecret');
- del_pconfig(local_user(), 'twitter', 'oauthtoken');
- del_pconfig(local_user(), 'twitter', 'oauthsecret');
- del_pconfig(local_user(), 'twitter', 'post');
- del_pconfig(local_user(), 'twitter', 'post_by_default');
- del_pconfig(local_user(), 'twitter', 'lastid');
- del_pconfig(local_user(), 'twitter', 'mirror_posts');
- del_pconfig(local_user(), 'twitter', 'import');
- del_pconfig(local_user(), 'twitter', 'create_user');
- del_pconfig(local_user(), 'twitter', 'own_id');
+ 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');
} else {
if (isset($_POST['twitter-pin'])) {
// if the user supplied us with a PIN from Twitter, let the magic of OAuth happen
PConfig::set(local_user(), 'twitter', 'create_user', intval($_POST['twitter-create_user']));
if (!intval($_POST['twitter-mirror']))
- del_pconfig(local_user(),'twitter','lastid');
+ PConfig::delete(local_user(),'twitter','lastid');
info(t('Twitter settings updated.') . EOL);
}}
/***
* 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 (140 chars only)
+ * 3) Checkbox for "Send public notices (280 chars only)
*/
$ckey = Config::get('twitter', 'consumerkey' );
$csecret = Config::get('twitter', 'consumersecret' );
return;
}
- if($b['parent'] != $b['id']) {
+ if ($b['parent'] != $b['id']) {
logger("twitter_post_hook: parameter ".print_r($b, true), LOGGER_DATA);
// Looking if its a reply to a twitter post
} else {
$iscomment = false;
- if($b['private'] || !strstr($b['postopts'],'twitter'))
+ if ($b['private'] || !strstr($b['postopts'],'twitter')) {
return;
+ }
+
+ // Dont't post if the post doesn't belong to us.
+ // This is a check for forum postings
+ $self = dba::select('contact', array('id'), array('uid' => $b['uid'], 'self' => true), array('limit' => 1));
+ if ($b['contact-id'] != $self['id']) {
+ return;
+ }
}
if (($b['verb'] == ACTIVITY_POST) && $b['deleted'])
logger('twitter post invoked');
- load_pconfig($b['uid'], 'twitter');
+ PConfig::load($b['uid'], 'twitter');
$ckey = Config::get('twitter', 'consumerkey');
$csecret = Config::get('twitter', 'consumersecret');
require_once('include/bbcode.php');
$tweet = new TwitterOAuth($ckey,$csecret,$otoken,$osecret);
- $max_char = 140;
+ $max_char = 280;
require_once("include/plaintext.php");
$msgarr = plaintext($a, $b, $max_char, true, 8);
$msg = $msgarr["text"];
$r = q("SELECT * FROM `pconfig` WHERE `cat` = 'twitter' AND `k` = 'mirror_posts' AND `v` = '1'");
if(count($r)) {
foreach($r as $rr) {
- logger('twitter:PConfig::get fetching for user '.$rr['uid']);
- proc_run(PRIORITY_MEDIUM, "addon/twitter/twitter_sync.php", 1, (int)$rr['uid']);
+ logger('twitter: fetching for user '.$rr['uid']);
+ Worker::add(PRIORITY_MEDIUM, "addon/twitter/twitter_sync.php", 1, (int)$rr['uid']);
}
}
}
logger('twitter: importing timeline from user '.$rr['uid']);
- proc_run(PRIORITY_MEDIUM, "addon/twitter/twitter_sync.php", 2, (int)$rr['uid']);
+ Worker::add(PRIORITY_MEDIUM, "addon/twitter/twitter_sync.php", 2, (int)$rr['uid']);
/*
// To-Do
// check for new contacts once a day
return;
if ($b["preview"]) {
- $max_char = 140;
+ $max_char = 280;
require_once("include/plaintext.php");
$item = $b["item"];
$item["plink"] = $a->get_baseurl()."/display/".$a->user["nickname"]."/".$item["parent"];
$new_avatar = str_replace("_normal.", ".", $avatar);
- $info = get_photo_info($new_avatar);
+ $info = Photo::getInfoFromURL($new_avatar);
if (!$info)
$new_avatar = $avatar;
$avatar = twitter_fix_avatar($contact->profile_image_url_https);
- update_gcontact(array("url" => "https://twitter.com/".$contact->screen_name,
+ GlobalContact::update(array("url" => "https://twitter.com/".$contact->screen_name,
"network" => NETWORK_TWITTER, "photo" => $avatar, "hide" => true,
"name" => $contact->name, "nick" => $contact->screen_name,
"location" => $contact->location, "about" => $contact->description,
require_once("Photo.php");
- $photos = import_profile_photo($avatar, $uid, $contact_id, true);
+ $photos = Photo::importProfilePhoto($avatar, $uid, $contact_id, true);
if ($photos) {
q("UPDATE `contact` SET `photo` = '%s',
require_once("Photo.php");
- $photos = import_profile_photo($avatar, $uid, $r[0]['id'], true);
+ $photos = Photo::importProfilePhoto($avatar, $uid, $r[0]['id'], true);
if ($photos) {
q("UPDATE `contact` SET `photo` = '%s',
if(count($r))
$contact_id = $r[0]["id"];
else
- del_pconfig($uid, 'twitter', 'own_id');
+ PConfig::delete($uid, 'twitter', 'own_id');
}