*/ class BulkManageRescan extends BulkManagePlugin { /** * @see BulkManagePlugin::handleRequest */ function handleRequest($form) { $error = array(); $status = array(); $params = array(); /* Accumulate parameters */ $recursive = (isset($form['recursive']) && $form['recursive'] === 'on') ? true : false; $params['recursive'] = $recursive; return array(null, $error, $status, $params); } /** * @see BulkManagePlugin::loadTemplate */ function loadTemplate(&$template) { $template->setVariable('controller', 'bulkmanage.BulkManage'); return array(null, 'modules/bulkmanage/templates/BulkManageRescan.tpl', 'modules_bulkmange'); } /** * @see BulkManagePlugin::getTitle */ function getTitle() { list ($ret, $module) = GalleryCoreApi::loadPlugin('module', 'bulkmanage'); if ($ret) { return array($ret, null); } return array(null, $module->translate('Rescan')); } /** * @see BulkManagePlugin::getAction */ function getActionTitle() { list ($ret, $module) = GalleryCoreApi::loadPlugin('module', 'bulkmanage'); if ($ret) { return array($ret, null); } return array(null, $module->translate('Rescanning Items')); } /** * @see BulkManagePlugin::processItem */ function processItem($item) { /* Deal with GalleryPhotoItem's and GalleryMovieItem's only */ if (!GalleryUtilities::isA($item, 'GalleryPhotoItem') && !GalleryUtilities::isA($item, 'GalleryMovieItem')) { return array(null, false); } /* Delete all the derivatives */ $ret = GalleryCoreApi::invalidateDerivativeDimensionsBySourceIds(array($item->id)); if ($ret) { return array($ret, null); } /* Rescan */ $ret = $item->rescan(); if ($ret) { return array($ret, null); } /* Save */ $ret = $item->save(); if ($ret) { return array($ret, null); } return array(null, true); } /** * @see BulkManagePlugin::getRequiredApiVersion */ function getRequiredApiVersion() { return array(1, 0); } /** * @see BulkManagePlugin::getId */ function getId() { return array(null, 'BulkManageRescan'); } } ?>