define('INSTALLDIR', realpath(dirname(__FILE__) . '/../../..'));
-$shortoptions = 'u:a';
-$longoptions = array('uri=', 'all');
+$shortoptions = 'u:af';
+$longoptions = array('uri=', 'all', 'force');
$helptext = <<<UPDATE_OSTATUS_PROFILES
update_ostatus_profiles.php [options]
-u --uri OStatus profile URI to update
-a --all update all
+ -f --force Force update (despite identical avatar URLs etc.)
UPDATE_OSTATUS_PROFILES;
-require_once INSTALLDIR . '/scripts/commandline.inc';
+require_once INSTALLDIR . '/scripts/commandline.inc.php';
/*
* Hacky class to remove some checks and get public access to
* @throws Exception on various error conditions
* @throws OStatusShadowException if this reference would obscure a local user/group
*/
- public static function updateProfileURL($profile_url, $hints=array())
+ public static function updateProfileURL($profile_url, array $hints=array())
{
$oprofile = null;
function pullOstatusProfile($uri) {
$oprofile = null;
+ $validate = new Validate();
- if (Validate::email($uri)) {
+ if ($validate->email($uri)) {
$oprofile = LooseOstatusProfile::updateWebfinger($uri);
- } else if (Validate::uri($uri)) {
+ } else if ($validate->uri($uri)) {
$oprofile = LooseOstatusProfile::updateProfileURL($uri);
} else {
print "Sorry, we could not reach the address: $uri\n";
exit(1);
}
+$forceUpdates = have_option('f', 'force');
+
$cnt = $lop->find();
if (!empty($cnt)) {
$orig = clone($lop);
$lop->avatar = $oprofile->avatar;
$lop->update($orig);
- $lop->updateAvatar($oprofile->avatar);
+ $lop->updateAvatar($oprofile->avatar, $forceUpdates);
if (!$quiet) { print "Done.\n"; }
}
} catch (Exception $e) {