All pastes #960754 Raw Edit

Untitled

public php v1 · immutable
#960754 ·published 2008-03-28 13:12 UTC
rendered paste body
  	<sandbox>  		  <crud>        	     <routes>        	       <route name=".add" pattern="^/add$" action="Add" callback="AddCallback" />        	       <route name=".edit" pattern="^/edit/(id:\d+)$" action="Edit" />        	       <route name=".manage" pattern="^/manage$" action="Manage" />        	       <route name=".delete" pattern="^/delete/(id:\d+)$" action="Delete" />        	     </routes>			  		  </crud>  	</sandbox>  	   <route name=".products" pattern="^/products" module="Products">     <routes>       <xi:include xpointer="xpointer(/configurations/sandbox/crud/routes/route)" />	     </routes>   </route>   <route name=".promotions" pattern="^/promotions" module="Promotions">	     <routes>       <xi:include xpointer="xpointer(/configurations/sandbox/crud/routes/route)" />     </routes>   </route>  	class AddCallback extends AgaviRoutingCallback{	public function onMatched(array &$parameters, AgaviExecutionContainer $container)	{		# 1. find out Model we are dealing with, eg. Products/Promotions		$model = new Products;		try {			$model->add($parameters['form']);			$this->flash("Added {$model}!");			$return = 'Success';		} catch(Exception $e) {			$return = 'Error';			$this->flash($e->getMessage());		}				# 2. further processing:		if(file $model."Action" exists)			goto Action # more custom Add logic for this model		elseif(file $model.$return."View" exists)			goto View   # more custom View logic for this model		else			goto $return."Template"		 		return true;	}}