*/ /** * Migrate Module * * This module provides support for Migrating the Gallery * * @package Migrate */ class MigrateModule extends GalleryModule /* and GalleryEventListener */ { function MigrateModule() { global $gallery; $this->setId('migrate'); $this->setName('Migration'); $this->setDescription($gallery->i18n('Migrate your Gallery 1 albums to Gallery 2')); $this->setVersion('0.8.6'); $this->setGroup('import', $this->translate('Import')); $this->setCallbacks('registerEventListeners|getSiteAdminViews'); $this->setRequiredCoreApi(array(4, 0)); $this->setRequiredModuleApi(array(0, 9)); } /** * @see GalleryModule::registerEventListeners() */ function registerEventListeners() { GalleryCoreApi::registerEventListener('GalleryEntity::delete', new MigrateModule(), true); } /** * @see GalleryEventListener::handleEvent */ function handleEvent($event) { $item = $event->getEntity(); if (GalleryUtilities::isA($item, 'GalleryItem')) { GalleryCoreApi::requireOnce(dirname(__FILE__) . '/classes/G1MigrateMap.class'); $ret = G1MigrateMap::removeMapEntry(array('itemId' => $item->_id)); if ($ret->isError()) { return array($ret->wrap(__FILE__, __LINE__), null); } } return array(GalleryStatus::success(), null); } /** * @see GalleryModule::isRecommendedDuringInstall */ function isRecommendedDuringInstall() { return true; } /** * @see GalleryModule::autoConfigure */ function autoConfigure() { /* We don't require any special configuration */ return array(GalleryStatus::success(), true); } /** * @see GalleryModule::getSiteAdminViews */ function getSiteAdminViews() { global $gallery; return array(GalleryStatus::success(), array(array('name' => $this->translate('Gallery 1'), 'view' => 'migrate:SelectGallery'))); } } ?>