/**
  * Called when a client connects, sends a message, or disconnects.  Creates
  * a new Front Controller and dispatches to the controller.
  *
  * @param string $event
  * @param A_Socket_Message $data
  */
 public function onEvent($event, $message)
 {
     $Request = new A_Socket_Request($message);
     $Locator = $this->locator;
     $Config = $Locator->get('Config');
     $Locator->set('Request', $Request);
     $front = new A_Controller_Front($Config->get('APP'), $Config->get('DEFAULT_ACTION'), $Config->get('ERROR_ACTION'));
     $front->run($Locator);
 }
Beispiel #2
0
<?php

/**
 * This is the simplest bootstrap and controller. 
 * No Response object is used and controllers echo their output. 
 * URLs are in the form index.php?module=&controller=home&action=index (but params are defaults so not necessary)
 */
$ConfigArray['PATH'] = dirname(__FILE__) . '/';
include $ConfigArray['PATH'] . '../../A/Locator.php';
$Locator = new A_Locator();
$Locator->autoload();
$Request = new A_Http_Request();
$Locator->set('Request', $Request);
$Front = new A_Controller_Front($ConfigArray['PATH'], array('', 'home', ''), array('', 'home', ''));
$Front->run($Locator);
Beispiel #3
0
<?php

error_reporting(E_ALL);
require 'config.php';
require dirname(__FILE__) . '/../../A/Locator.php';
#require_once('A/Http/Request.php');
#require_once('A/Http/Response.php');
#require_once('A/Controller/Front.php');
#require_once('A/Controller/Mapper.php');
// create Registry/Loader and initialize autoloading
$Locator = new A_Locator();
$Locator->autoload();
$Response = new A_Http_Response();
$Locator->set('Request', new A_Http_Request());
$Locator->set('Response', $Response);
$DefaultAction = array('', 'home', 'index');
$ErrorAction = 'error';
$Mapper = new A_Controller_Mapper('', $DefaultAction);
#$Mapper->setParams('action', '');		// add this line to run 0.3.x code
#$Mapper->setDefaultMethod('execute');	// add this line to run 0.4.x and 0.3.x code
#$Mapper->setDefaultMethod('run');		// add this line to run 0.7.x code
#$Mapper->setDefaultDir('default');		// add this for a default module directory
$Controller = new A_Controller_Front($Mapper, $ErrorAction);
#$Controller = new A_Controller_Front('', $ErrorAction, $DefaultAction);	// have FC create Mapper
$Controller->run($Locator);
$Response->out();
if ($Controller->isError()) {
    echo '<br/><br/>Front Controller errors: ' . $Controller->getErrorMsg();
}
Beispiel #4
0
<?php

require 'config.php';
require $ConfigArray['LIB'] . 'A/Locator.php';
$Locator = new A_Locator();
$Locator->autoload();
// initializing autoloading
$Config = new A_Collection($ConfigArray);
$Request = new A_Http_Request();
$Response = new A_Http_Response();
$Response->setTemplate('layouts/main.php');
$Response->set('BASE', $ConfigArray['BASE']);
$Response->set('title', $ConfigArray['TITLE']);
$Response->set('head', '');
$Session = new A_Session();
$UserSession = new A_User_Session($Session);
$Locator->set('Config', $Config);
$Locator->set('Request', $Request);
$Locator->set('Response', $Response);
$Locator->set('Session', $Session);
$Locator->set('UserSession', $UserSession);
$Router = new A_Http_Pathinfo();
$Router->run($Request);
$Mapper = new A_Controller_Mapper($ConfigArray['APP'], array('', 'home', ''));
$Controller = new A_Controller_Front($Mapper, array('', 'error', ''));
$Controller->addPreFilter(new A_User_Prefilter_Group($Session, array('', 'user', 'login')));
$Controller->run($Locator);
$Response->run($Locator);
echo $Response->render();
echo $Controller->getErrorMsg(', ');
Beispiel #5
0
include 'A/Controller/Mapper.php';
include 'A/Controller/Action.php';

$Locator = new A_Locator();
*/
// Init autoload using Locator
require_once $ConfigArray['LIB'] . 'A/Locator.php';
$Locator = new A_Locator();
$Locator->autoload();
$Response = new A_Http_Response();
$Locator->set('Request', new A_Http_Request());
$Locator->set('Response', $Response);
$DefaultAction = array('', 'example', 'index');
$ErrorAction = array('', 'error', 'index');
$Mapper = new A_Controller_Mapper(dirname(__FILE__) . '/app/', $DefaultAction);
$Controller = new A_Controller_Front($Mapper, $ErrorAction);
$Controller->run($Locator);
$Response->out();
/*
require_once('A/Application.php');


$App = new A_Application();

$App->setPath(dirname($_SERVER['SCRIPT_FILENAME']) . 'application/');

//output content directly to screen
echo $App->run();
#dump($App);
*/
if (isset($_SESSION)) {
Beispiel #6
0
$Response->setTemplate('mainlayout', 'module');
$Response->set('BASE', $ConfigArray['BASE']);
$Response->set('title', 'Default Title');
$Response->set('head', '');
$Response->set('maincontent', 'Default main content.');
$Response->set('user', $UserSession);
// Add common objects to registry
$Locator->set('Config', $Config);
$Locator->set('Request', $Request);
$Locator->set('Response', $Response);
$Locator->set('Session', $Session);
$Locator->set('UserSession', $UserSession);
$Locator->set('Db', $Db);
// Create router and have it modify request
$map = array('' => array('controller', 'action'), 'blog' => array('' => array(array('name' => 'module', 'default' => 'blog'), array('name' => 'controller', 'default' => 'index'), array('name' => 'action', 'default' => 'index'))), 'admin' => array('' => array(array('name' => 'module', 'default' => 'admin'), array('name' => 'controller', 'default' => 'admin'), array('name' => 'action', 'default' => 'index'))));
$Pathinfo = new A_Http_Pathinfo($map);
$Pathinfo->run($Request);
// Create mapper with base application path and default action
#$Mapper = new A_Controller_Mapper($Config->get('APP'), array('', 'index', 'index'));
#$Mapper->setDefaultDir('blog');
$Controller = new A_Controller_Front($Config->get('APP'), array('blog', 'posts', 'index'));
#$Controller->getMapper()->setDefaultDir('blog');
// Create and run FC with error action
#$Controller = new A_Controller_Front($Mapper, array('', 'error', 'index'));
$Controller->addPreFilter(new A_User_Prefilter_Group($Session, array('blog', 'user', 'login')));
$Controller->run($Locator);
// Finally, display
echo $Response->render();
dump($_SESSION, '_SESSION: ');
dump();
echo '<div style="clear:both;"><b>Included files:</b><pre>' . implode(get_included_files(), "\n") . '</pre></div>';
Beispiel #7
0
#require_once 'A/Controller/Front/Injector.php';
#require_once 'A/Controller/Front/Premethod.php';
// create Registry/Loader and initialize autoloading
$Locator = new A_Locator();
$Locator->autoload();
$Response = new A_Http_Response();
$Locator->set('Request', new A_Http_Request());
$Locator->set('Response', $Response);
$DefaultAction = array('', 'home', 'index');
$ErrorAction = array('', 'error', 'index');
$SecurityAction = array('', 'security-default', 'index');
$NoAction = 0;
$Mapper = new A_Controller_Mapper('', $DefaultAction);
#$Mapper->setParams('action', '');		// add this line to run 0.3.x code
#$Mapper->setDefaultMethod('execute');	// add this line to run 0.4.x and 0.3.x code
$Controller = new A_Controller_Front($Mapper, $ErrorAction);
$Controller->addPreFilter(new A_Controller_Front_Premethod('denyAccess', $SecurityAction, $Locator));
$Controller->addPreFilter(new A_Controller_Front_Premethod('forceError', $NoAction, $Locator));
$Controller->addPreFilter(new A_Controller_Front_Injector('_response', $Response));
$Controller->run($Locator);
$Response->out();
class InjectResponseFilter
{
    protected $locator;
    function InjectResponseFilter($locator)
    {
        $this->locator = $locator;
    }
    function run($controller)
    {
        $controller->_response = $this->locator->get('Response');
Beispiel #8
0
// create config object from array
$Config = new A_Collection($ConfigArray);
// create HTTP objects
$Request = new A_Http_Request();
$Response = new A_Http_Response();
// Start Sessions
$Session = new A_Session();
$Session->start();
$UserSession = new A_User_Session($Session);
// create registry/loader and add common objects
$Locator->set('Config', $Config);
$Locator->set('Request', $Request);
$Locator->set('Response', $Response);
$Locator->set('Session', $Session);
$Locator->set('UserSession', $UserSession);
// create router and have it modify request
$map = array('' => array(0 => array('name' => 'controller', 'default' => 'home'), 1 => array('name' => 'action', 'default' => 'index')));
$Pathinfo = new A_Http_Pathinfo($map, false);
$Pathinfo->run($Request);
// create mapper with base application path and default action
$Mapper = new A_Controller_Mapper($ConfigArray['APP'], array('', 'home', 'index'));
// create and run FC with error action
$Controller = new A_Controller_Front($Mapper, array('', 'error', 'index'));
// add filter to run if Action implement a denyAccess() method
include_once 'application/helpers/AccessCheck.php';
$Controller->addPreFilter(new A_Controller_Front_Premethod('denyAccess', new AccessCheck($UserSession), $Locator));
$Controller->run($Locator);
//dump($Controller);
#echo '<pre>' . print_r($Front->getRoutes(), 1) . '</pre>';		// show what actions were called
// send response to browser
echo $Response->render();
Beispiel #9
0
$Locator->autoload();
$Request = new A_Http_Request();
$Response = new A_Http_Response();
$Session = new A_Session();
$Session->start();
$UserSession = new A_User_Session($Session);
$UserSession->getAuth();
$UserSession->setTimestamp(time());
$Locator->set('Request', $Request);
$Locator->set('Response', $Response);
$Locator->set('Session', $Session);
$Locator->set('UserSession', $UserSession);
#$UserSession->login('test', 'member|editor');
#$UserSession->logout();
#$rule = new A_Rule_UserIsLevel(15);
$UserAccess = new A_User_Access($UserSession);
$UserAccess->addRule(new A_User_Rule_Isloggedin(array('', 'login', 'index')));
#$UserAccess->addRule(new A_User_Rule_Ingroup(array('manager'), 'error'));
$UserAccess->run($Locator);
#dump($UserAccess);
#dump($Locator);
$Mapper = new A_Controller_Mapper('', array('', 'example', 'index'));
// dump($Mapper);
//dump2($Request);
$Controller = new A_Controller_Front($Mapper, array('', 'error', 'index'));
$Controller->run($Locator);
dump($Controller->getRoutes(), 'ROUTES: ');
#dump($Response);
$Response->out();
dump($_SESSION);
dump();
Beispiel #10
0
// Create HTTP Response object and set default template and valuesS
$Response = new A_Http_Response();
$Response->setTemplate('mainlayout', 'module');
$Response->set('BASE', $ConfigArray['BASE']);
$Response->set('title', 'Default Title');
$Response->set('maincontent', 'Default main content set in index.php. If you can see this then none of your controllers gave a value to maincontent or, more likely, you put in a url for which no module/controller/action could be found. I think you should be looking at a 404 page here.');
// Start Sessions
$Session = new A_Session();
//$Session->start();
$UserSession = new A_User_Session($Session);
// Add common objects to registry
$Locator->set('Config', $Config);
$Locator->set('Request', $Request);
$Locator->set('Response', $Response);
$Locator->set('Session', $Session);
$Locator->set('UserSession', $UserSession);
// Create router and have it modify request
$map = array('' => array('controller', 'action'), 'blog' => array('' => array(array('name' => 'module', 'default' => 'blog'), array('name' => 'controller', 'default' => 'index'), array('name' => 'action', 'default' => 'index'))), 'admin' => array('' => array(array('name' => 'module', 'default' => 'admin'), array('name' => 'controller', 'default' => 'admin'), array('name' => 'action', 'default' => 'index'))));
$Pathinfo = new A_Http_Pathinfo($map);
$Pathinfo->run($Request);
// Create mapper with base application path and default action
$Mapper = new A_Controller_Mapper($Config->get('APP'), array('', 'index', 'index'));
$Mapper->setDefaultDir('blog');
// Create and run FC with error action
$Controller = new A_Controller_Front($Mapper, array('', 'error', 'index'));
$Controller->addPreFilter(new A_User_Prefilter_Group($Session));
$Controller->run($Locator);
// Finally, display
echo $Response->render();
dump();
echo '<div style="clear:both;"><b>Included files:</b><pre>' . implode(get_included_files(), "\n") . '</pre></div>';