*/ /** * URL Rewrite Module * * This module provides mod_rewrite support * * @package Rewrite */ class RewriteModule extends GalleryModule { function RewriteModule() { $this->setId('rewrite'); $this->setName('URL Rewrite'); $this->setDescription($this->translate('Enables short URLs using mod_rewrite.')); $this->setVersion('0.8.0'); $this->setGroup('gallery', $this->translate('Gallery')); $this->setCallbacks('getSiteAdminViews'); $this->setRequiredCoreApi(array(4, 0)); $this->setRequiredModuleApi(array(0, 9)); } /** * @see GalleryModule::upgrade */ function upgrade($currentVersion) { GalleryCoreApi::requireOnce(dirname(__FILE__) . '/RewriteModuleExtras.inc'); $ret = RewriteModuleExtras::upgrade($this, $currentVersion); if ($ret->isError()) { return $ret-wrap(__FILE__, __LINE__); } return GalleryStatus::success(); } /** * @see GalleryModule::performFactoryRegistrations */ function performFactoryRegistrations() { $ret = GalleryCoreApi::registerFactoryImplementation( 'GalleryUrlGenerator', 'RewriteUrlGenerator', 'RewriteUrlGenerator', 'modules/rewrite/classes/RewriteUrlGenerator.class', 'rewrite', null, 2); if ($ret->isError()) { return $ret->wrap(__FILE__, __LINE__); } return GalleryStatus::success(); } /** * @see GalleryModule::needsConfiguration */ function needsConfiguration() { GalleryCoreApi::relativeRequireOnce('modules/rewrite/classes/RewriteHelper.class'); foreach (array('galleryLocation') as $key) { list ($ret, $value) = $this->getParameter($key); if ($ret->isError()) { return array($ret->wrap(__FILE__, __LINE__), null); } if (empty($value)) { return array(GalleryStatus::success(), true); } } list ($ret, $status) = RewriteHelper::checkFile(); if ($ret->isError()) { return array($ret->wrap(__FILE__, __LINE__), null); } return array(GalleryStatus::success(), $status != REWRITE_STATUS_OK); } /** * Only show AdminRewrite if we're using prefixes. * * @see GalleryModule::getSiteAdminViews */ function getSiteAdminViews() { list ($ret, $usePrefixes) = GalleryCoreApi::getPluginParameter('module', 'rewrite', 'usePrefixes'); if ($ret->isError()) { return array($ret->wrap(__FILE__, __LINE__), null); } return array(GalleryStatus::success(), ($usePrefixes == 'false') ? array() : array(array('name' => 'URL Rewrite', 'view' => 'rewrite:AdminRewrite'))); } /** * @see GalleryModule::getConfigurationView */ function getConfigurationView() { return 'rewrite:SetupRewrite'; } } ?>