* @version $Revision: 17580 $ */ class PathInfoParser extends RewriteParser { function PathInfoParser() { $this->_setParserId('pathinfo'); $this->_setParserType('inGallery'); $this->_setUrlGeneratorId('PathInfoUrlGenerator'); } /** * @see RewriteParser::saveActiveRules */ function saveActiveRules($activeRules=null, $upgradeModule=null) { GalleryCoreApi::requireOnce( 'modules/rewrite/classes/parsers/pathinfo/PathInfoHelper.class'); return PathInfoHelper::saveActiveRules($this, $activeRules, $upgradeModule); } /** * @see RewriteParser::needsConfiguration */ function needsConfiguration() { GalleryCoreApi::requireOnce( 'modules/rewrite/classes/parsers/pathinfo/PathInfoHelper.class'); list ($ret, $code) = PathInfoHelper::checkPathInfo(); if ($ret) { return array($ret, null); } return array(null, $code != REWRITE_STATUS_OK); } /** * @see RewriteParser::loadTestResultsTemplate */ function loadTestResultsTemplate(&$template, &$form) { GalleryCoreApi::requireOnce( 'modules/rewrite/classes/parsers/pathinfo/PathInfoHelper.class'); return PathInfoHelper::loadTestResultsTemplate($template, $form); } /** * @see RewriteParser::handleTestResultsRequest */ function handleTestResultsRequest($form) { $error = $status = array(); $ret = GalleryCoreApi::assertUserIsSiteAdministrator(); if ($ret) { return array($ret, null, null); } if (isset($form['force']['test'])) { $ret = GalleryCoreApi::setPluginParameter('module', 'rewrite', 'pathinfo.forced', '1'); if ($ret) { return array($ret, null, null); } } $status['saved'] = 1; return array(null, $error, $status); } } ?>