summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rw-r--r--scripts/clearcache.php16
-rw-r--r--scripts/decache.php8
-rwxr-xr-xscripts/setup_status_network.sh6
-rw-r--r--scripts/showcache.php6
-rw-r--r--scripts/updateprofileurl.php99
5 files changed, 122 insertions, 13 deletions
diff --git a/scripts/clearcache.php b/scripts/clearcache.php
index 702c1e3d6..0fb75daa0 100644
--- a/scripts/clearcache.php
+++ b/scripts/clearcache.php
@@ -20,35 +20,35 @@
define('INSTALLDIR', realpath(dirname(__FILE__) . '/..'));
-$shortoptions = "t:c:v:k:";
+$shortoptions = "t:l:v:k:";
-$helptext = <<<ENDOFHELP
+$helptext = <<<END_OF_CLEARCACHE_HELP
USAGE: clearcache.php <args>
clears the cached object based on the args
-t table Table to look up
- -c column Column to look up, default "id"
+ -l column Column to look up, default "id"
-v value Value to look up
-k key Key to look up; other args are ignored
-ENDOFHELP;
+END_OF_CLEARCACHE_HELP;
require_once INSTALLDIR.'/scripts/commandline.inc';
-$karg = get_option_value('k');
+$karg = get_option_value('k', 'key');
if (!empty($karg)) {
$k = common_cache_key($karg);
} else {
- $table = get_option_value('t');
+ $table = get_option_value('t', 'table');
if (empty($table)) {
die("No table or key specified\n");
}
- $column = get_option_value('c');
+ $column = get_option_value('l', 'column');
if (empty($column)) {
$column = 'id';
}
- $value = get_option_value('v');
+ $value = get_option_value('v', 'value');
$k = Memcached_DataObject::cacheKey($table, $column, $value);
}
diff --git a/scripts/decache.php b/scripts/decache.php
index 7cabd78ad..094bdb5aa 100644
--- a/scripts/decache.php
+++ b/scripts/decache.php
@@ -24,6 +24,8 @@ $helptext = <<<ENDOFHELP
USAGE: decache.php <table> <id> [<column>]
Clears the cache for the object in table <table> with id <id>
If <column> is specified, use that instead of 'id'
+
+
ENDOFHELP;
require_once INSTALLDIR.'/scripts/commandline.inc';
@@ -43,8 +45,10 @@ if (count($args) > 2) {
$object = Memcached_DataObject::staticGet($table, $column, $id);
if (!$object) {
- print "No such '$table' with $column = '$id'.\n";
- exit(1);
+ print "No such '$table' with $column = '$id'; it's possible some cache keys won't be cleared properly.\n";
+ $class = ucfirst($table);
+ $object = new $class();
+ $object->column = $id;
}
$result = $object->decache();
diff --git a/scripts/setup_status_network.sh b/scripts/setup_status_network.sh
index 4ad808011..89d15415f 100755
--- a/scripts/setup_status_network.sh
+++ b/scripts/setup_status_network.sh
@@ -13,6 +13,11 @@ export sitename="$2"
export tags="$3"
export email="$4"
export fullname="$5"
+export siteplan="$6"
+
+if [ "$siteplan" == '' ]; then
+ siteplan='single-user'
+fi
# Fixme: if this is changed later we need to update profile URLs
# for the created user.
@@ -71,6 +76,7 @@ then
sed "s/\$nickname/$nickname/" | \
sed "s/\$sitename/$sitename/" | \
sed "s/\$userpass/$userpass/" | \
+ sed "s/\$siteplan/$siteplan/" | \
php $PHPBASE/scripts/sendemail.php \
-s"$server" \
-n"$nickname" \
diff --git a/scripts/showcache.php b/scripts/showcache.php
index f17979572..93b57a484 100644
--- a/scripts/showcache.php
+++ b/scripts/showcache.php
@@ -20,14 +20,14 @@
define('INSTALLDIR', realpath(dirname(__FILE__) . '/..'));
-$shortoptions = "t:c:v:k:";
+$shortoptions = "t:l:v:k:";
$helptext = <<<ENDOFHELP
USAGE: showcache.php <args>
shows the cached object based on the args
-t table Table to look up
- -c column Column to look up, default "id"
+ -l column Column to look up, default "id"
-v value Value to look up
-k key Key to look up; other args are ignored
@@ -44,7 +44,7 @@ if (!empty($karg)) {
if (empty($table)) {
die("No table or key specified\n");
}
- $column = get_option_value('c');
+ $column = get_option_value('l');
if (empty($column)) {
$column = 'id';
}
diff --git a/scripts/updateprofileurl.php b/scripts/updateprofileurl.php
new file mode 100644
index 000000000..2fc6828e6
--- /dev/null
+++ b/scripts/updateprofileurl.php
@@ -0,0 +1,99 @@
+#!/usr/bin/env php
+<?php
+/*
+ * StatusNet - a distributed open-source microblogging tool
+ * Copyright (C) 2008, 2009, StatusNet, Inc.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+define('INSTALLDIR', realpath(dirname(__FILE__) . '/..'));
+
+$shortoptions = 'i:n:a';
+$longoptions = array('id=', 'nickname=', 'all');
+
+$helptext = <<<END_OF_UPDATEPROFILEURL_HELP
+updateprofileurl.php [options]
+update the URLs of all avatars in the system
+
+ -i --id ID of user to update
+ -n --nickname nickname of the user to update
+ -a --all update all
+
+END_OF_UPDATEPROFILEURL_HELP;
+
+require_once INSTALLDIR.'/scripts/commandline.inc';
+
+try {
+ $user = null;
+
+ if (have_option('i', 'id')) {
+ $id = get_option_value('i', 'id');
+ $user = User::staticGet('id', $id);
+ if (empty($user)) {
+ throw new Exception("Can't find user with id '$id'.");
+ }
+ updateProfileURL($user);
+ } else if (have_option('n', 'nickname')) {
+ $nickname = get_option_value('n', 'nickname');
+ $user = User::staticGet('nickname', $nickname);
+ if (empty($user)) {
+ throw new Exception("Can't find user with nickname '$nickname'");
+ }
+ updateProfileURL($user);
+ } else if (have_option('a', 'all')) {
+ $user = new User();
+ if ($user->find()) {
+ while ($user->fetch()) {
+ updateProfileURL($user);
+ }
+ }
+ } else {
+ show_help();
+ exit(1);
+ }
+} catch (Exception $e) {
+ print $e->getMessage()."\n";
+ exit(1);
+}
+
+function updateProfileURL($user)
+{
+ $profile = $user->getProfile();
+
+ if (empty($profile)) {
+ throw new Exception("Can't find profile for user $user->nickname ($user->id)");
+ }
+
+ $orig = clone($profile);
+
+ $profile->profileurl = common_profile_url($user->nickname);
+
+ if (!have_option('q', 'quiet')) {
+ print "Updating profile url for $user->nickname ($user->id) ".
+ "from $orig->profileurl to $profile->profileurl...";
+ }
+
+ $result = $profile->update($orig);
+
+ if (!$result) {
+ print "FAIL.\n";
+ common_log_db_error($profile, 'UPDATE', __FILE__);
+ throw new Exception("Can't update profile for user $user->nickname ($user->id)");
+ }
+
+ common_broadcast_profile($profile);
+
+ print "OK.\n";
+}