]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - scripts/decache.php
Merge branch '0.9.x' into 1.0.x
[quix0rs-gnu-social.git] / scripts / decache.php
index b18eaa2cd3fa3d783c911997efcfe920ccb36c1e..094bdb5aa00bd8e7f16d0938e57d51e49f61abf3 100644 (file)
@@ -1,8 +1,8 @@
 #!/usr/bin/env php
 <?php
 /*
- * Laconica - a distributed open-source microblogging tool
- * Copyright (C) 2009, Control Yourself, Inc.
+ * StatusNet - the distributed open-source microblogging tool
+ * Copyright (C) 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
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-# 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(1);
-}
+define('INSTALLDIR', realpath(dirname(__FILE__) . '/..'));
 
-ini_set("max_execution_time", "0");
-ini_set("max_input_time", "0");
-set_time_limit(0);
-mb_internal_encoding('UTF-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'
 
-define('INSTALLDIR', realpath(dirname(__FILE__) . '/..'));
-define('LACONICA', true);
 
-require_once(INSTALLDIR . '/lib/common.php');
+ENDOFHELP;
+
+require_once INSTALLDIR.'/scripts/commandline.inc';
 
-if ($argc < 3 || $argc > 4) {
-    print "USAGE: decache.php <table> <id> [<column>]\n";
-    print "Clears the cache for the object in table <table> with id <id>.\n\n";
-    print "If <column> is specified, use that instead of 'id'\n";
-    exit(1);
+if (count($args) < 2 || count($args) > 3) {
+    show_help();
 }
 
-$table = $argv[1];
-$id = $argv[2];
-if ($argc > 3) {
-    $column = $argv[3];
+$table = $args[0];
+$id = $args[1];
+if (count($args) > 2) {
+    $column = $args[2];
 } else {
-    $colum = 'id';
+    $column = 'id';
 }
 
 $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();