| #0 | PDO->__construct(mysql:host=fundipal.com;dbname=fundipal_dkdraft;charset=utf8, fundipal_main, DDWTcsIUGU, Array(3 => 2)) |
| #1 | Phalcon\Db\Adapter\Pdo->connect(Array(host => fundipal.com, username => fundipal_main, password => DDWTcsIUGU, dbname => fundipal_dkdraft, charset => utf8)) |
| #2 | Phalcon\Db\Adapter\Pdo->__construct(Array(host => fundipal.com, username => fundipal_main, password => DDWTcsIUGU, dbname => fundipal_dkdraft, charset => utf8)) /home/wittig/demo/fundipal/app/library/App/Bootstrap/ServiceBootstrap.php (31) |
<?php
namespace App\Bootstrap;
use App\Services\AssetsManager;
use App\Services\MailService;
use Phalcon\Config;
use Phalcon\Mvc\Application;
use Phalcon\DiInterface;
use App\BootstrapInterface;
use App\Constants\Services;
use Phalcon\Mvc\Dispatcher;
use Phalcon\Mvc\Url as UrlResolver;
use Phalcon\Mvc\View;
use Phalcon;
use Phalcon\Tag;
class ServiceBootstrap implements BootstrapInterface
{
public function run(Application $api, DiInterface $di, Config $config)
{
$di->setShared(Services::CONFIG, $config);
$di->set(Services::DB, function () use ($config, $di) {
$config = $config->get('database')->toArray();
$adapter = $config['adapter'];
unset($config['adapter']);
$class = 'Phalcon\Db\Adapter\Pdo\\' . $adapter;
$connection = new $class($config);
// Assign the eventsManager to the db adapter instance
$connection->setEventsManager($di->get(Services::EVENTS_MANAGER));
return $connection;
});
$di->set('crypt', function() {
$crypt = new Phalcon\Crypt();
$crypt->setKey('2291149821249852');
return $crypt;
});
$di->set('cookies', function () {
$cookies = new Phalcon\Http\Response\Cookies();
$cookies->useEncryption(false);
return $cookies;
});
$di->setShared(Services::DISPATCHER, function() use ($config, $di) {
$eventsManager = $di->get(Services::EVENTS_MANAGER);
// Attach a listener for errors, only in production
if(!$config->debug){
$errorHandler = new \App\Plugins\ErrorHandler($di);
$eventsManager->attach('dispatch', $errorHandler);
}
$dispatcher = new Dispatcher();
$dispatcher->setEventsManager($eventsManager);
return $dispatcher;
});
$di->set(Services::URL, function () use ($config) {
$url = new UrlResolver;
$url->setBaseUri($config->get('application')->baseUri);
$url->setStaticBaseUri($config->domain . '/');
return $url;
});
$di->set(Services::ASSETS, function() {
return new AssetsManager();
});
$di->set(Services::MAIL, function() {
return new MailService();
});
$di->set(Services::VIEW, function () use ($config, $di) {
$view = new View();
$view->setViewsDir($config->application->viewsDir);
$view->registerEngines([
".volt" => function($view, $di) use ($config) {
$volt = new \Phalcon\Mvc\View\Engine\Volt($view, $di);
$volt->setOptions([
"compiledPath" => $config->application->voltCacheDir
]);
return $volt;
}
]);
return $view;
});
$di->set(Services::SIMPLE_VIEW, function () use ($config, $di) {
$view = new \Phalcon\Mvc\View\Simple();
$voltEngine = new \Phalcon\Mvc\View\Engine\Volt($view, $di);
$voltEngine->setOptions([
"compiledPath" => $config->application->voltCacheDir
]);
$compiler = $voltEngine->getCompiler();
$compiler->addFilter('number_format', 'number_format');
$view->setViewsDir($config->application->viewsDir);
$view->registerEngines([
".volt" => $voltEngine
]);
return $view;
});
}
| #3 | App\Bootstrap\ServiceBootstrap->App\Bootstrap\{closure}() |
| #4 | Phalcon\Di\Service->resolve(null, Object(Phalcon\Di\FactoryDefault)) |
| #5 | Phalcon\Di->get(db, null) |
| #6 | Phalcon\Di->getShared(db) |
| #7 | Phalcon\Mvc\Model\Manager->_getConnection(Object(App\Model\Provider: 15), null) |
| #8 | Phalcon\Mvc\Model\Manager->getReadConnection(Object(App\Model\Provider: 15)) |
| #9 | Phalcon\Mvc\Model->getReadConnection() |
| #10 | Phalcon\Mvc\Model\Query->getReadConnection(Object(App\Model\Provider: 15), Array(models => Array(0 => App\Model\Provider), tables => Array(0 => providers), columns => Array(app\Model\Provider => Array(type => object, model => App\Model\Provider, column => providers, balias => app\Model\Provider))), null, null) |
| #11 | Phalcon\Mvc\Model\Query->_executeSelect(Array(models => Array(0 => App\Model\Provider), tables => Array(0 => providers), columns => Array(app\Model\Provider => Array(type => object, model => App\Model\Provider, column => providers, balias => app\Model\Provider))), null, null) |
| #12 | Phalcon\Mvc\Model\Query->execute() |
| #13 | Phalcon\Mvc\Model::find() /home/wittig/demo/fundipal/app/library/App/Mvc/Controller.php (81) |
<?php
namespace App\Mvc;
use App\Constants\Services;
use App\Exception\NotFound;
use App\Model\Product;
use App\Model\ProductApplicationSpecification;
use App\Model\ProductCost;
use App\Model\ProductCostItem;
use App\Model\ProductLoanProperty;
use App\Model\ProductProperty;
use App\Model\ProviderProperty;
use App\Model\ProductApplicationQuestion;
use App\Model\FilterRules;
use App\Services\AssetsManager;
use Phalcon\Dispatcher;
use Phalcon\Events\Event;
use App\Model\Provider;
use Phalcon\Mvc\Model\Query;
/**
* Class Controller
* @package App\Mvc
*
* @property AssetsManager $assets
*/
class Controller extends \Phalcon\Mvc\Controller
{
protected $checkData = null;
protected $footerVisible = true;
public function initialize()
{
$this->tag->setTitle("Fundipal");
$this->assets->addJsInitModule('fundipal');
$this->assets->addCss('css/website.css?v=3');
$this->injectJSData();
$this->view->menu = file_get_contents('../menu.html');
$cookieValue = $this->cookies->get('FIRST_VIEW')->getValue();
if(isset($cookieValue)){
if(trim($cookieValue) == 'false'){
//SECOND TIME VISITING SET COOKIE TO TRUE
$this->cookies->set('FIRST_VIEW', 'true');
}
}
else{
//FIRST TIME VISITING SET THE COOKIE TO FALSE
$this->cookies->set('FIRST_VIEW', 'false');
}
}
public function afterExecuteRoute(Dispatcher $dispatcher)
{
$config = $this->getDI()->get(Services::CONFIG);
if(!$this->view->isDisabled()) {
$this->view->debugMode = $config->debug;
$this->view->jsData = $this->assets->getJsData();
$this->view->footerVisible = $this->footerVisible;
}
$this->response->setHeader('P3P', 'CP="CAO DSP COR CURa ADMa DEVa PSAa PSDa IVAi IVDi CONi OUR OTRi IND PHY ONL UNI FIN COM NAV INT DEM STA"');
}
protected function _throwNotFound(){
throw new NotFound();
}
protected function injectJSData(){
$providers = Provider::find()->toArray();
$providerProperties = ProviderProperty::find()->toArray();
$products = Product::find()->toArray();
$productProperties = ProductProperty::find()->toArray();
$productCosts = ProductCost::find()->toArray();
$productCostsItems = ProductCostItem::find()->toArray();
$productLoanProperties = ProductLoanProperty::find()->toArray();
$productApplicationSpecifications = ProductApplicationSpecification::find()->toArray();
$productApplicationQuestions = ProductApplicationQuestion::find()->toArray();
$filterRules = filterRules::find()->toArray();
$this->assets->setJsData("providers", $providers);
$this->assets->setJsData("providerProperties", $providerProperties);
$this->assets->setJsData("products", $products);
$this->assets->setJsData("productProperties", $productProperties);
$this->assets->setJsData("productCosts", $productCosts);
$this->assets->setJsData("productCostsItems", $productCostsItems);
$this->assets->setJsData("productLoanProperties", $productLoanProperties);
$this->assets->setJsData("productApplicationSpecifications", $productApplicationSpecifications);
$this->assets->setJsData("productApplicationQuestions", $productApplicationQuestions);
$this->assets->setJsData("filterRules", $filterRules);
$this->assets->setJsData('sessionSubmitUrl', $this->url->get('check/submit'));
$this->assets->setJsData('applicationUrl', $this->url->get('check/apply'));
$this->assets->setJsData('fileSubmitUrl', $this->url->get('check/upload'));
}
| #14 | App\Mvc\Controller->injectJSData() /home/wittig/demo/fundipal/app/library/App/Mvc/Controller.php (42) |
<?php
namespace App\Mvc;
use App\Constants\Services;
use App\Exception\NotFound;
use App\Model\Product;
use App\Model\ProductApplicationSpecification;
use App\Model\ProductCost;
use App\Model\ProductCostItem;
use App\Model\ProductLoanProperty;
use App\Model\ProductProperty;
use App\Model\ProviderProperty;
use App\Model\ProductApplicationQuestion;
use App\Model\FilterRules;
use App\Services\AssetsManager;
use Phalcon\Dispatcher;
use Phalcon\Events\Event;
use App\Model\Provider;
use Phalcon\Mvc\Model\Query;
/**
* Class Controller
* @package App\Mvc
*
* @property AssetsManager $assets
*/
class Controller extends \Phalcon\Mvc\Controller
{
protected $checkData = null;
protected $footerVisible = true;
public function initialize()
{
$this->tag->setTitle("Fundipal");
$this->assets->addJsInitModule('fundipal');
$this->assets->addCss('css/website.css?v=3');
$this->injectJSData();
$this->view->menu = file_get_contents('../menu.html');
$cookieValue = $this->cookies->get('FIRST_VIEW')->getValue();
if(isset($cookieValue)){
if(trim($cookieValue) == 'false'){
//SECOND TIME VISITING SET COOKIE TO TRUE
$this->cookies->set('FIRST_VIEW', 'true');
}
}
else{
//FIRST TIME VISITING SET THE COOKIE TO FALSE
$this->cookies->set('FIRST_VIEW', 'false');
}
}
public function afterExecuteRoute(Dispatcher $dispatcher)
{
$config = $this->getDI()->get(Services::CONFIG);
if(!$this->view->isDisabled()) {
$this->view->debugMode = $config->debug;
$this->view->jsData = $this->assets->getJsData();
$this->view->footerVisible = $this->footerVisible;
}
$this->response->setHeader('P3P', 'CP="CAO DSP COR CURa ADMa DEVa PSAa PSDa IVAi IVDi CONi OUR OTRi IND PHY ONL UNI FIN COM NAV INT DEM STA"');
}
protected function _throwNotFound(){
throw new NotFound();
}
protected function injectJSData(){
$providers = Provider::find()->toArray();
$providerProperties = ProviderProperty::find()->toArray();
$products = Product::find()->toArray();
$productProperties = ProductProperty::find()->toArray();
$productCosts = ProductCost::find()->toArray();
$productCostsItems = ProductCostItem::find()->toArray();
$productLoanProperties = ProductLoanProperty::find()->toArray();
$productApplicationSpecifications = ProductApplicationSpecification::find()->toArray();
$productApplicationQuestions = ProductApplicationQuestion::find()->toArray();
$filterRules = filterRules::find()->toArray();
$this->assets->setJsData("providers", $providers);
$this->assets->setJsData("providerProperties", $providerProperties);
$this->assets->setJsData("products", $products);
$this->assets->setJsData("productProperties", $productProperties);
$this->assets->setJsData("productCosts", $productCosts);
$this->assets->setJsData("productCostsItems", $productCostsItems);
$this->assets->setJsData("productLoanProperties", $productLoanProperties);
$this->assets->setJsData("productApplicationSpecifications", $productApplicationSpecifications);
$this->assets->setJsData("productApplicationQuestions", $productApplicationQuestions);
$this->assets->setJsData("filterRules", $filterRules);
$this->assets->setJsData('sessionSubmitUrl', $this->url->get('check/submit'));
$this->assets->setJsData('applicationUrl', $this->url->get('check/apply'));
$this->assets->setJsData('fileSubmitUrl', $this->url->get('check/upload'));
}
| #15 | App\Mvc\Controller->initialize() |
| #16 | Phalcon\Dispatcher->dispatch() |
| #17 | Phalcon\Mvc\Application->handle() /home/wittig/demo/fundipal/public/index.php (70) |
<?php
/** @var \Phalcon\Config $config */
$config = null;
/** @var \Phalcon\Mvc\Application $app */
$app = null;
/** @var \Phalcon\Http\Response $response */
$response = null;
try {
define("ROOT_DIR", __DIR__ . '/..');
define("APP_DIR", ROOT_DIR . '/app');
define("VENDOR_DIR", ROOT_DIR . '/vendor');
define("CONFIG_DIR", APP_DIR . '/configs');
define('APPLICATION_ENV', getenv('APPLICATION_ENV') ?: 'development');
// Autoload dependencies
require VENDOR_DIR . '/autoload.php';
$loader = new \Phalcon\Loader();
$loader->registerNamespaces([
'App' => APP_DIR . '/library/App',
'Phalcon\Utils' => APP_DIR . '/library/Phalcon/Utils'
]);
$loader->registerDirs([
APP_DIR . '/views/'
]);
$loader->register();
// Config
$configPath = CONFIG_DIR . '/default.php';
if (!is_readable($configPath)) {
throw new Exception('Unable to read config from ' . $configPath);
}
$config = new Phalcon\Config(include_once $configPath);
$envConfigPath = CONFIG_DIR . '/server.' . APPLICATION_ENV . '.php';
if (!is_readable($envConfigPath)) {
throw new Exception('Unable to read config from ' . $envConfigPath);
}
$override = new Phalcon\Config(include_once $envConfigPath);
$config = $config->merge($override);
// Instantiate application & DI
$di = new Phalcon\Di\FactoryDefault();
$app = new \Phalcon\Mvc\Application($di);
// Bootstrap components
$bootstrap = new App\Bootstrap(
new App\Bootstrap\ServiceBootstrap,
new App\Bootstrap\RouteBootstrap
);
$bootstrap->run($app, $di, $config);
// Start application
$app->handle();
// Set appropriate response value
$response = $app->di->getShared(App\Constants\Services::RESPONSE);
} catch (\Exception $e) {
// Handle exceptions
$di = $app && $app->di ? $app->di : new Phalcon\Di\FactoryDefault();
$response = $di->getShared(App\Constants\Services::RESPONSE);
if(!$response){
$response = new Phalcon\Http\Response();
}
$debugMode = isset($config->debug) ? $config->debug : (APPLICATION_ENV == 'development');
if($debugMode){
$prettyException = new \Phalcon\Utils\PrettyExceptions();
$prettyException->setBaseUri($config->website->baseUri . '/_pretty-exception/');
$prettyException->handle($e);
}
else {
echo $e->getMessage();
}
}
finally {
// Send response
if (!$response->isSent()) {
$response->send();
}