Re: lib/Gallery.php patch for date-uploaded change
"Heath S. Hendrickson" <[email protected]>
| Newsgroups | gmane.comp.horde.ansel |
|---|---|
| Message-ID | <[email protected]> |
Heath S. Hendrickson wrote:
> Attached is a patch that sets the date-uploaded to be the RFC date
> representation (date("r")) instead of the epoch (time()).
>
> This makes the field useful for searches.
>
And here's a CLI script that will update any images that have the time()
form stored in date-uploaded. It should be safe to use on images that
already use the new format (I threw in a QnD check to make sure it was
the time() format only that was getting changed) and it even prints out
what it's doing so you know that it's working okay (run with live=false
to test before doing anything).
h
--
ansel mailing list - Join the hunt: http://horde.org/bounties/#ansel
Frequently Asked Questions: http://horde.org/faq/
To unsubscribe, mail: [email protected]
fix_date-uploaded.php
(text/plain, 1.7 KB)
#!/usr/local/bin/php
<?php
/**
* $Horde: ansel/scripts/fix_paths_vfs_sql.php,v 1.6 2004/01/24 20:04:32 chuck Exp $
*
* This is a script to fix the value stored in the date-uploaded attribute
*/
/**
** Set this to true if you want DB inserts done.
**/
$live = true;
@define('AUTH_HANDLER', true);
@define('ANSEL_BASE', dirname(__FILE__) . '/..');
@define('HORDE_BASE', ANSEL_BASE . '/..');
// Do CLI checks and environment setup first.
require_once HORDE_BASE . '/lib/core.php';
require_once 'Horde/CLI.php';
// Make sure no one runs this from the web.
if (!Horde_CLI::runningFromCLI()) {
exit("Must be run from the command line\n");
}
// Load the CLI environment - make sure there's no time limit, init
// some variables, etc.
require_once ANSEL_BASE . '/lib/base.php';
require_once 'Horde/Share.php';
Horde_CLI::init();
Horde_CLI::init();
$cli = &Horde_CLI::singleton();
$registry = &Registry::singleton();
$registry->pushApp('ansel', false);
$shares = &Horde_Share::singleton($registry->getApp());
$crit['AND'] = array( array('field' => 'name', 'op' => '=', 'test' => 'date-uploaded'),
array('field' => 'value', 'op' => '!=', 'test' => ''));
$images = &$ansel_shares->searchAllImages($crit);
$count = 0;
foreach ($images as $id => $name) {
$image = &$ansel_shares->getImage($name);
$timeVal = $image->get('date-uploaded');
if (!strstr($timeVal, ",")){
$count++;
echo "$count: $id => $timeVal = " . date('r', $timeVal) . "\n";
if ($live) {
$image->data['date-uploaded'] = date("r", $timeVal);
}
}
}
if ($live) {
echo $count . " row(s) updated.\n";
} else {
echo $count . " row(s) would have been updated.\n";
}