X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=scripts%2Fsynctwitterfriends.php;h=fe53ff44d634fa92895dd00c34ccc804fa245295;hb=854d24b05a052bffe21f112b705d58c9abf126a9;hp=0ce34c2ae44f943303dcdcfbeaa76244fa1787e5;hpb=2d456a15e5652a0c0e2c0f9f50221eed2d16e109;p=quix0rs-gnu-social.git diff --git a/scripts/synctwitterfriends.php b/scripts/synctwitterfriends.php index 0ce34c2ae4..fe53ff44d6 100755 --- a/scripts/synctwitterfriends.php +++ b/scripts/synctwitterfriends.php @@ -2,7 +2,7 @@ . */ -# Abort if called from a web server -if (isset($_SERVER) && array_key_exists('REQUEST_METHOD', $_SERVER)) { - print "This script must be run from the command line\n"; - exit(); -} - define('INSTALLDIR', realpath(dirname(__FILE__) . '/..')); -define('LACONICA', true); -require_once(INSTALLDIR . '/lib/common.php'); +// Uncomment this to get useful console output + +$helptext = <<service = 1; // Twitter -$flink->find(); +$flink->orderBy('last_friendsync'); +$flink->limit(25); // sync this many users during this run +$cnt = $flink->find(); + +print "Updating Twitter friends subscriptions for $cnt users.\n"; while ($flink->fetch()) { @@ -39,20 +58,47 @@ while ($flink->fetch()) { $user = User::staticGet($flink->user_id); - print "Updating Twitter friends for user $user->nickname ($user->id)\n"; + if (empty($user)) { + common_log(LOG_WARNING, "Unmatched user for ID " . $flink->user_id); + print "Unmatched user for ID $flink->user_id\n"; + continue; + } + + print "Updating Twitter friends for $user->nickname (Laconica ID: $user->id)... "; $fuser = $flink->getForeignUser(); - $result = save_twitter_friends($user, $fuser->id, $fuser->nickname, $flink->credentials); + if (empty($fuser)) { + common_log(LOG_WARNING, "Unmatched user for ID " . $flink->user_id); + print "Unmatched user for ID $flink->user_id\n"; + continue; + } + + save_twitter_friends($user, $fuser->id, $fuser->nickname, $flink->credentials); - if ($result == false) { - print "Problems updating Twitter friends! Check the log.\n"; - exit(1); + $flink->last_friendsync = common_sql_now(); + $flink->update(); + + if (defined('SCRIPT_DEBUG')) { + print "\nDONE\n"; + } else { + print "DONE\n"; } } - } -exit(0); +function lockFilename() +{ + $piddir = common_config('daemon', 'piddir'); + if (!$piddir) { + $piddir = '/var/run'; + } + return $piddir . '/synctwitterfriends.lock'; +} +// Cleanup +fclose($lockfile); +unlink($lockfilename); + +exit(0);