Force updateAvatar if desired

This commit is contained in:
Mikael Nordfeldth 2015-01-26 17:25:46 +01:00
parent 67d09532dd
commit 697a00d8e1
2 changed files with 8 additions and 5 deletions

View File

@ -1233,9 +1233,9 @@ class Ostatus_profile extends Managed_DataObject
* @param string $url * @param string $url
* @throws Exception in various failure cases * @throws Exception in various failure cases
*/ */
public function updateAvatar($url) public function updateAvatar($url, $force)
{ {
if ($url == $this->avatar) { if ($url == $this->avatar && !$force) {
// We've already got this one. // We've already got this one.
return; return;
} }

View File

@ -20,8 +20,8 @@
define('INSTALLDIR', realpath(dirname(__FILE__) . '/../../..')); define('INSTALLDIR', realpath(dirname(__FILE__) . '/../../..'));
$shortoptions = 'u:a'; $shortoptions = 'u:af';
$longoptions = array('uri=', 'all'); $longoptions = array('uri=', 'all', 'force');
$helptext = <<<UPDATE_OSTATUS_PROFILES $helptext = <<<UPDATE_OSTATUS_PROFILES
update_ostatus_profiles.php [options] update_ostatus_profiles.php [options]
@ -32,6 +32,7 @@ you have no backup.
-u --uri OStatus profile URI to update -u --uri OStatus profile URI to update
-a --all update all -a --all update all
-f --force Force update (despite identical avatar URLs etc.)
UPDATE_OSTATUS_PROFILES; UPDATE_OSTATUS_PROFILES;
@ -230,6 +231,8 @@ if (have_option('u', 'uri')) {
exit(1); exit(1);
} }
$forceUpdates = have_option('f', 'force');
$cnt = $lop->find(); $cnt = $lop->find();
if (!empty($cnt)) { if (!empty($cnt)) {
@ -252,7 +255,7 @@ while($lop->fetch()) {
$orig = clone($lop); $orig = clone($lop);
$lop->avatar = $oprofile->avatar; $lop->avatar = $oprofile->avatar;
$lop->update($orig); $lop->update($orig);
$lop->updateAvatar($oprofile->avatar); $lop->updateAvatar($oprofile->avatar, $forceUpdates);
if (!$quiet) { print "Done.\n"; } if (!$quiet) { print "Done.\n"; }
} }
} catch (Exception $e) { } catch (Exception $e) {