[limb-svn] r6499 - 3.x/trunk/limb/web_app/src/controller
svn at limb-project.com
svn at limb-project.com
Wed Nov 7 16:47:42 MSK 2007
Author: serega
Date: 2007-11-07 16:47:42 +0300 (Wed, 07 Nov 2007)
New Revision: 6499
URL: http://fisheye.limb-project.com/changelog/limb/?cs=6499
Added:
3.x/trunk/limb/web_app/src/controller/FallbackToViewController.class.php
Log:
-- added new FallbackToViewController that allows to render any view template if uri path is matching to any template. To use this class - pass "fallback_to_view" as a second parameter to lmbRequestDispatchingFilter filter
Added: 3.x/trunk/limb/web_app/src/controller/FallbackToViewController.class.php
===================================================================
--- 3.x/trunk/limb/web_app/src/controller/FallbackToViewController.class.php (rev 0)
+++ 3.x/trunk/limb/web_app/src/controller/FallbackToViewController.class.php 2007-11-07 13:47:42 UTC (rev 6499)
@@ -0,0 +1,43 @@
+<?php
+/*
+ * Limb PHP Framework
+ *
+ * @link http://limb-project.com
+ * @copyright Copyright © 2004-2007 BIT(http://bit-creative.com)
+ * @license LGPL http://www.gnu.org/copyleft/lesser.html
+ */
+lmb_require('limb/web_app/src/controller/lmbAbstractController.class.php');
+
+/**
+ * class FallbackToViewController.
+ * To use this controller just pass it's name to lmbRequestDispatchingFilter, e.g.:
+ * <code>
+ * $this->registerFilter(new lmbHandle('limb/web_app/src/filter/lmbRequestDispatchingFilter',
+ * array(new lmbHandle('limb/web_app/src/request/lmbRoutesRequestDispatcher'),
+ * 'any_template')));
+ * </code>
+ *
+ * @package web_app
+ * @version $Id: lmbController.class.php 6497 2007-11-07 13:27:32Z serega $
+ */
+class FallbackToViewController extends lmbAbstractController
+{
+ function performAction()
+ {
+ $toolkit = lmbToolkit :: instance();
+ $path = trim($toolkit->getRequest()->getUriPath(), '/');
+
+ if($template_path = $this->_findTemplateByFormat($path . '%s'))
+ {
+ $view = $this->toolkit->createViewByTemplate($template_path);
+ $this->toolkit->setView($view);
+ }
+ else
+ return $this->forwardTo404();
+ }
+
+ function actionExists($action)
+ {
+ return true;
+ }
+}
\ No newline at end of file
More information about the limb-svn
mailing list