From a4b8b95203238d711631908585f7206a715d3dab Mon Sep 17 00:00:00 2001 From: pbarroca <pbarroca@git-test.afi-sa.fr> Date: Fri, 4 May 2012 15:15:10 +0000 Subject: [PATCH] =?UTF-8?q?OAI:=20Refacto=20verb=20inconnu=20est=20trait?= =?UTF-8?q?=C3=A9=20via=20MVC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitattributes | 1 + .../modules/opac/controllers/OaiController.php | 12 +++++++++--- .../opac/views/scripts/oai/bad-verb.xml.phtml | 8 ++++++++ 3 files changed, 18 insertions(+), 3 deletions(-) create mode 100644 application/modules/opac/views/scripts/oai/bad-verb.xml.phtml diff --git a/.gitattributes b/.gitattributes index 413e07fa6d0..17f2b321693 100644 --- a/.gitattributes +++ b/.gitattributes @@ -582,6 +582,7 @@ application/modules/opac/views/scripts/java/protoflow.phtml -text application/modules/opac/views/scripts/java/slide_show.phtml -text application/modules/opac/views/scripts/module.phtml -text application/modules/opac/views/scripts/noticeajax/notice.phtml -text +application/modules/opac/views/scripts/oai/bad-verb.xml.phtml -text application/modules/opac/views/scripts/oai/get-record.xml.phtml -text application/modules/opac/views/scripts/oai/identify.xml.phtml -text svneol=unset#text/plain application/modules/opac/views/scripts/oai/list-identifiers.xml.phtml -text diff --git a/application/modules/opac/controllers/OaiController.php b/application/modules/opac/controllers/OaiController.php index 160d92ca007..e73471db088 100644 --- a/application/modules/opac/controllers/OaiController.php +++ b/application/modules/opac/controllers/OaiController.php @@ -27,6 +27,7 @@ class OaiController extends Zend_Controller_Action { ->addActionContext('list-records', 'xml') ->addActionContext('list-sets', 'xml') ->addActionContext('get-record', 'xml') + ->addActionContext('bad-verb', 'xml') ->initContext(); } @@ -48,9 +49,8 @@ class OaiController extends Zend_Controller_Action { return; } - $request = Class_WebService_OAI_ResponseFactory::verbAndBaseUrl($this->_getParam('verb'), - $this->buildBaseUrl()); - $this->_response->setBody($request->xml($this->_request->getParams())); + $this->_forward('bad-verb', null, null, + $this->_request->getParams() + array('format' => 'xml')); } @@ -171,6 +171,12 @@ class OaiController extends Zend_Controller_Action { } $this->view->builder = $builder; } + + + public function badVerbAction() { + $this->getHelper('ViewRenderer')->setLayoutScript('empty.phtml'); + $this->view->baseUrl = $this->buildBaseUrl(); + } } ?> \ No newline at end of file diff --git a/application/modules/opac/views/scripts/oai/bad-verb.xml.phtml b/application/modules/opac/views/scripts/oai/bad-verb.xml.phtml new file mode 100644 index 00000000000..40a97c6da17 --- /dev/null +++ b/application/modules/opac/views/scripts/oai/bad-verb.xml.phtml @@ -0,0 +1,8 @@ +<?php echo '<?xml version="1.0" encoding="UTF-8"?>';?> +<OAI-PMH xmlns="http://www.openarchives.org/OAI/2.0/" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/ http://www.openarchives.org/OAI/2.0/OAI-PMH.xsd"> + <responseDate><?php echo date('c');?></responseDate> + <request><?php echo $this->baseUrl;?></request> + <error code="badVerb">Illegal OAI verb</error> +</OAI-PMH> -- GitLab