#!/usr/bin/env php . */ define('INSTALLDIR', realpath(dirname(__FILE__) . '/..')); $shortoptions = ''; $longoptions = array(); $helptext = <<find()) { while ($user->fetch()) { printfv("Updating user {$user->nickname}..."); try { $profile = $user->getProfile(); updateProfileUrl($profile); updateAvatarUrls($profile); // Broadcast for remote users common_broadcast_profile($profile); } catch (Exception $e) { printv("Error updating URLs: " . $e->getMessage()); } printfv("DONE."); } } } function updateProfileUrl($profile) { $orig = clone($profile); $profile->profileurl = common_profile_url($profile->nickname); $profile->update($orig); } function updateAvatarUrls($profile) { $avatar = new Avatar(); $avatar->profile_id = $profile->id; if ($avatar->find()) { while ($avatar->fetch()) { $orig_url = $avatar->url; $avatar->url = Avatar::url($avatar->filename); if ($avatar->url != $orig_url) { $sql = "UPDATE avatar SET url = '" . $avatar->url . "' ". "WHERE profile_id = " . $avatar->profile_id . " ". "AND width = " . $avatar->width . " " . "AND height = " . $avatar->height . " "; if ($avatar->original) { $sql .= "AND original = 1 "; } if (!$avatar->query($sql)) { throw new Exception("Can't update avatar for user " . $profile->nickname . "."); } else { $touched = true; } } } } } function updateGroupUrls() { printfnq("Updating group URLs...\n"); $group = new User_group(); if ($group->find()) { while ($group->fetch()) { try { printfv("Updating group {$group->nickname}..."); $orig = User_group::staticGet('id', $group->id); if (!empty($group->original_logo)) { $group->original_logo = Avatar::url(basename($group->original_logo)); $group->homepage_logo = Avatar::url(basename($group->homepage_logo)); $group->stream_logo = Avatar::url(basename($group->stream_logo)); $group->mini_logo = Avatar::url(basename($group->mini_logo)); } // XXX: this is a hack to see if a group is local or not $localUri = common_local_url('groupbyid', array('id' => $group->id)); if ($group->getUri() != $localUri) { $group->mainpage = common_local_url('showgroup', array('nickname' => $group->nickname)); } $group->update($orig); printfv("DONE."); } catch (Exception $e) { printv("Can't update avatars for group " . $group->nickname . ": ". $e->getMessage()); } } } } main();