variables = $r->variables; $this->action = $action; } public function createResult() { if ( $this->action == 'no-return' ) { } else if ( $this->action == 'exception' ) { throw new Exception( "Oh la la" ); } else { $res = new ezcMvcResult; $res->variables = $this->variables; return $res; } } public function getVars() { return $this->variables; } } class testActionController extends ezcMvcController { } class testRegexpRoute extends ezcMvcRegexpRoute { function getPattern() { return $this->pattern; } } class testRegexpRouteForFullUri extends ezcMvcRegexpRoute { function getUriString( ezcMvcRequest $request ) { return $request->requestId; } } class testRailsRoute extends ezcMvcRailsRoute { function getPattern() { return $this->pattern; } } class testRailsRouteForFullUri extends ezcMvcRailsRoute { function getUriString( ezcMvcRequest $request ) { return $request->requestId; } } class testSimpleRouter extends ezcMvcRouter { function createRoutes() { $routes = array(); $routes[] = new testRegexpRoute( '@^entry/add$@', 'testController', 'sample', array( 'method' => 'add' ) ); $routes[] = new testRegexpRoute( '@^entry/list$@', 'testController', 'sample', array( 'method' => 'list' ) ); $routes[] = new testRegexpRoute( '@^entry/get/(?P[0-9]+)$@', 'testController', 'sample', array( 'method' => 'show' ) ); $routes[] = new testRegexpRoute( '@^entry/(?P[0-9]+)$@', 'testController', 'sample', array( 'method' => 'show' ) ); $routes[] = new testRegexpRoute( '@^test/no-action$@', 'testActionController', 'nonExistingMethod' ); return $routes; } } class testNamedRouter extends ezcMvcRouter { function createRoutes() { $routes = array(); $routes['get'] = new testRailsRoute( 'entry/get/:id', 'testController', 'sample', array( 'method' => 'show' ) ); $routes[] = new testRailsRoute( 'entry/list', 'testController', 'sample', array( 'method' => 'show' ) ); $routes[] = new testRailsRoute( 'entry/:id', 'testController', 'sample', array( 'method' => 'show' ) ); $routes['info'] = new testRailsRoute( 'entry/:id/info', 'testController', 'sample', array( 'method' => 'show' ) ); $routes['multiple1'] = new testRailsRoute( 'e/:person/:relation', 'testController', 'sample', array( 'method' => 'show' ) ); $routes['multiple2'] = new testRailsRoute( ':person/e/:relation', 'testController', 'sample', array( 'method' => 'show' ) ); $routes['multiple3'] = new testRailsRoute( ':person/:relation/e', 'testController', 'sample', array( 'method' => 'show' ) ); $routes['no-reverse'] = new testRegexpRoute( '@^entry/(?P[0-9]+)$@', 'testController', 'sample', array( 'method' => 'show' ) ); $routes['catchall'] = new ezcMvcCatchAllRoute( 'testController', 'sample', array( 'method' => 'show' ) ); return $routes; } } class testPrefixRouter extends ezcMvcRouter { function createRoutes() { $simple = new testSimpleRouter( $this->request ); $routes = testSimpleRouter::prefix( '@^blog/@', $simple->createRoutes() ); return $routes; } } class testNoRoutesRouter extends ezcMvcRouter { function createRoutes() { $routes = array(); return $routes; } } class testFaultyRouteRouter extends ezcMvcRouter { function createRoutes() { return array( new StdClass() ); } } class testNoZonesView extends ezcMvcView { function createZones( $layout ) { $zones = array(); return $zones; } } class testFaultyView extends ezcMvcView { function createZones( $layout ) { return array( new StdClass() ); } } class testOneView extends ezcMvcView { function createZones( $layout ) { $zones = array(); $zones[] = new testViewHandler( 'name', 'templateName' ); return $zones; } } class testOnePhpView extends ezcMvcView { function createZones( $layout ) { $zones = array(); $zones[] = new ezcMvcPhpViewHandler( 'page_layout', dirname( __FILE__ ) . '/views/php/simple.php' ); return $zones; } } class testTwoPhpViews extends ezcMvcView { function createZones( $layout ) { $zones = array(); $zones[] = new ezcMvcPhpViewHandler( 'nav', dirname( __FILE__ ) . '/views/php/nav.php' ); $zones[] = new ezcMvcPhpViewHandler( 'page_layout', dirname( __FILE__ ) . '/views/php/simple_with_nav.php' ); return $zones; } } class testNonExistingPhpView extends ezcMvcView { function createZones( $layout ) { $zones = array(); $zones[] = new ezcMvcPhpViewHandler( 'page_layout', dirname( __FILE__ ) . '/views/php/not_here.php' ); return $zones; } } class testOneJsonView extends ezcMvcView { function createZones( $layout ) { $zones = array(); $zones[] = new ezcMvcJsonViewHandler( 'page_layout' ); return $zones; } } class testTwoJsonViews extends ezcMvcView { function createZones( $layout ) { $zones = array(); $zones[] = new ezcMvcJsonViewHandler( 'nav' ); $zones[] = new ezcMvcJsonViewHandler( 'page_layout' ); return $zones; } } class testTwoViews extends ezcMvcView { function createZones( $layout ) { $zones = array(); $zones[] = new testViewHandler( 'name1', 'templateName' ); $zones[] = new testViewHandler( 'name2', 'templateName' ); return $zones; } } class testViewHandler implements ezcMvcViewHandler { public $vars = array(); function __construct( $name, $templateName = null ) { $this->name = $name; $this->templateName = $templateName; } function send( $name, $value ) { $this->vars[$name] = $value; } function process( $last ) { $this->result = new StdClass; $this->result->name = $this->name; $this->result->vars = $this->vars; } function getName() { return $this->name; } function getResult() { return $this->result; } } class wobblywook { } ?>