Skip to content
Snippets Groups Projects
Commit 3cb82487 authored by Matt Petro's avatar Matt Petro
Browse files

cli update script accepts a list of archives to update

parent 42490d00
No related branches found
No related tags found
No related merge requests found
...@@ -2,28 +2,34 @@ ...@@ -2,28 +2,34 @@
/** /**
* CLI script to update archive index * CLI script to update archive index
*
* Usage: php update_index.php [name1] [name2] [...]
*/ */
define('CLI_SCRIPT', true); define('CLI_SCRIPT', true);
/* /*
*
* Configuration is in moodle's config.php * Configuration is in moodle's config.php
* *
* Sample: * Sample:
* *
* $CFG->local_archive_config[] = * $CFG->local_archive_config[] =
* array('type'=>'backup19' // storage type (backup19 = moodle 1.9 backup) * array('type'=>'backup1' // storage type (backup1 = moodle 1.x backup)
* 'name'=>'ecow2', // unique name * 'name'=>'ecow2', // unique name
* 'directory'=>'/backups' // directory containing backups * 'directory'=>'/backups' // directory containing backups
* ); * );
* *
*/ */
require_once(dirname(dirname(dirname(dirname(__FILE__)))).'/config.php'); require_once(dirname(dirname(dirname(dirname(__FILE__)))).'/config.php');
require_once($CFG->dirroot.'/local/archive/lib.php'); require_once($CFG->dirroot.'/local/archive/lib.php');
//
// Ensure errors are well explained // Ensure errors are well explained
$CFG->debug = DEBUG_NORMAL; $CFG->debug = DEBUG_NORMAL;
local_archive_update_index(); $instances = array_slice($argv, 1);
local_archive_update_index($instances);
...@@ -38,11 +38,16 @@ function local_archive_get_storageclass($config) { ...@@ -38,11 +38,16 @@ function local_archive_get_storageclass($config) {
return new $classname($config); return new $classname($config);
} }
function local_archive_update_index() { function local_archive_update_index($instancenames = array()) {
global $CFG, $LOCAL_ARCHIVE_INSTANCES; global $CFG, $LOCAL_ARCHIVE_INSTANCES;
global $DB; global $DB;
local_archive_init_archives(); local_archive_init_archives();
foreach ($LOCAL_ARCHIVE_INSTANCES as $archive) { foreach ($LOCAL_ARCHIVE_INSTANCES as $archive) {
if (!empty($instancenames)) {
if (false === array_search($archive->get_name(), $instancenames)) {
continue; // skip this archive
}
}
mtrace("Updating ".$archive->get_name()." (".$archive->get_storagetype().")... "); mtrace("Updating ".$archive->get_name()." (".$archive->get_storagetype().")... ");
try { try {
$archive->update_index(); $archive->update_index();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment