diff options
author | Evan Prodromou <evan@status.net> | 2010-03-18 15:21:43 -0500 |
---|---|---|
committer | Evan Prodromou <evan@status.net> | 2010-03-18 15:21:43 -0500 |
commit | dbd44e51a2a9c5c63a6211002e5dd3b14483fb60 (patch) | |
tree | 56344401c6a541eca0b45ec01201faa9c52ce3f9 /scripts | |
parent | 2ccd5187ccd509f3f579629186a7087720e5f94a (diff) | |
parent | f1b3d84b7d55cc7c466982a95815ba1ddf130418 (diff) |
Merge branch 'testing' of git@gitorious.org:statusnet/mainline into testing
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/fixup_files.php | 77 | ||||
-rwxr-xr-x | scripts/xmppdaemon.php | 10 |
2 files changed, 86 insertions, 1 deletions
diff --git a/scripts/fixup_files.php b/scripts/fixup_files.php new file mode 100755 index 000000000..18feaf221 --- /dev/null +++ b/scripts/fixup_files.php @@ -0,0 +1,77 @@ +#!/usr/bin/env php +<?php +/* + * StatusNet - a distributed open-source microblogging tool + * Copyright (C) 2010 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__) . '/..')); + +$longoptions = array('dry-run'); + +$helptext = <<<END_OF_USERROLE_HELP +fixup_files.php [options] +Patches up file entries with corrupted types and titles (the "h bug"). + + --dry-run look but don't touch + +END_OF_USERROLE_HELP; + +require_once INSTALLDIR.'/scripts/commandline.inc'; + +$dry = have_option('dry-run'); + +$f = new File(); +$f->title = 'h'; +$f->mimetype = 'h'; +$f->size = 0; +$f->protected = 0; +$f->find(); +echo "Found $f->N bad items:\n"; + +while ($f->fetch()) { + echo "$f->id $f->url"; + + $data = File_redirection::lookupWhere($f->url); + if ($dry) { + if (is_array($data)) { + echo " (unchanged)\n"; + } else { + echo " (unchanged, but embedding lookup failed)\n"; + } + } else { + // NULL out the mime/title/size/protected fields + $sql = sprintf("UPDATE file " . + "SET mimetype=null,title=null,size=null,protected=null " . + "WHERE id=%d", + $f->id); + $f->query($sql); + $f->decache(); + + if (is_array($data)) { + if ($f->saveOembed($data, $f->url)) { + echo " (ok)\n"; + } else { + echo " (ok, no embedding data)\n"; + } + } else { + echo " (ok, but embedding lookup failed)\n"; + } + } +} + +echo "done.\n"; + diff --git a/scripts/xmppdaemon.php b/scripts/xmppdaemon.php index 26c7991b8..abd7cc22b 100755 --- a/scripts/xmppdaemon.php +++ b/scripts/xmppdaemon.php @@ -98,7 +98,15 @@ class XmppMaster extends IoMaster // don't have to find an XMPP site to start up when using --all mode. if (common_config('xmpp','enabled')==false) { print "Aborting daemon - xmpp is disabled\n"; - exit(); + exit(1); +} + +if (version_compare(PHP_VERSION, '5.2.6', '<')) { + $arch = php_uname('m'); + if ($arch == 'x86_64' || $arch == 'amd64') { + print "Aborting daemon - 64-bit PHP prior to 5.2.6 has known bugs in stream_select; you are running " . PHP_VERSION . " on $arch.\n"; + exit(1); + } } if (have_option('i', 'id')) { |