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";
}
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.