Potrzebowałbym działający przykład wykorzystania filtra AdoDB do wersji 2 mojavi. Na forum mojavi nie znalazłem nic pełnego.
Jak w ogóle tworzycie warstwę modelu z użyciem Mojavi ?
<?php // ----- ADODB INITIALIZATON ----- require_once(ADODB_DIR .'adodb.inc.php'); ?>
<?php class AdodbFilter extends Filter { function execute (&$filterChain, &$controller, &$request, &$user) { $loaded = $request->getAttribute('AdodbFilter'); if ($loaded == NULL) { require_once(ADODB_DIR . 'adodb.inc.php'); ? $this->params['host'] : ADODB_DB_HOST; ? $this->params['user'] : ADODB_DB_USER; ? $this->params['pass'] : ADODB_DB_PASS; ? $this->params['db'] : ADODB_DB_NAME; $request->setAttribute('AdodbFilter', TRUE); $ADODB_CACHE_DIR = ADODB_CACHE_DIR; $dbconn = NewADOConnection(ADODB_DRIVER); $res = $dbconn->Connect($db_host, $db_user, $db_pass, $db_db); if ($res == FALSE) { // przekierowanie jak sie nie udalo polaczyc } else { $request->setAttributeByRef('dbconn', $dbconn); $filterChain->execute($controller, $request, $user); $dbconn->Close(); } $request->removeAttribute('AdodbFilter'); } else { $filterChain->execute($controller, $request, $user); } } } ?>
<?php require_once(FILTER_DIR . 'ExecutionTimeFilter.class.php'); require_once(FILTER_DIR . 'AdodbFilter.class.php'); class GlobalFilterList extends FilterList { /** * Create a new GlobalFilterList instance. * * @param controller Controller instance. */ function & GlobalFilterList () { $this->filters['ExecutionTimeFilter'] =& new ExecutionTimeFilter; $this->filters['AdodbFilter'] =& new AdodbFilter; } /** * Register a filter. * * @param filterChain FilterChain instance. */ function registerFilters (&$filterChain, &$controller, &$request, &$user) { /* register filter instances here */ $filterChain->register($this->filters['ExecutionTimeFilter']); $filterChain->register($this->filters['AdodbFilter']); } } ?>
<?php require_once(MOJAVI_CFG_DIR . 'config.Adodb.php'); ?>