function __construct($token) { $db = $this->db = \StarterKit\DB::getInstance(); $this->details = $db->fetchRecoverDetails($token); if (empty($this->details)) { throw new \exception('Invalid Recovery Token'); } }
public function fetch($name) { $db = \StarterKit\DB::getInstance(); $details = $db->cachedCall('fetchAdmin', [$name]); if (empty($details)) { throw new \exception('invalid username or password'); } else { return $details; } }
protected function __construct($config) { if (!$config) { throw new \exception('`$config` cant be null when constructing StarterKit'); } if ($config['strict']) { error_reporting(E_ALL | E_NOTICE | E_STRICT); } $this->public_html = $config['public']; $this->debug = $config['debug']; date_default_timezone_set($config['timezone']); $this->slim = new \Slim\Slim($config['slim_args']); $this->twig_config = $config['twig_args']; $this->smtp_config = $config['smtp_args']; $this->files =& $_FILES; $this->get = $this->slim->request()->get(); $this->post = $this->slim->request()->post(); if ($config['session_args']['type'] === 'redis') { ini_set('session.save_handler', 'redis'); ini_set('session.timeout', 18000); // each client should remember their session id for EXACTLY 1 hour session_set_cookie_params(18000); ini_set('session.save_path', 'tcp://' . $config['session_args']['host'] . ':' . $config['session_args']['port']); } session_name($config['session_args']['name']); session_start(); $this->session =& $_SESSION; $this->remote_addr = $this->slim->request->getIp(); if (!isset($this->session['notifications'])) { $this->session['notifications'] = []; } //sometimes you might need to set additional args. you could allow middleware to add args here, or virtually anything else you want $base_url = $config['scheme'] . $_SERVER['SERVER_NAME']; $extra_template_args = ['csrf' => $this->csrf(), 'base_url' => $base_url . '/', 'year' => date('Y'), 'styles' => '', 'scripts' => '', 'styles_external' => '', 'scripts_external' => '', 'user' => $this->is_user() ? $this->session['user'] : false, 'admin' => $this->is_admin() ? $this->session['admin'] : false, 'url' => $this->getUrl($base_url), 'canonical' => $base_url . $this->slim->request()->getResourceUri()]; $this->args = array_merge($config['template_args'], $extra_template_args); //todo make these all lazy load for performance. $this->cache = \StarterKit\Cache::getInstance($config['cache_args']); $this->db = \StarterKit\DB::getInstance($config['db_args']); $this->filter = \RedBeanFVM\RedBeanFVM::getInstance(); $this->smtp = \StarterKit\Email::getInstance($config['smtp_args']); self::$instance =& $this; }
public function refresh($force = false) { $details = \StarterKit\DB::getInstance()->cachedCall('fetchUser', [$this->email], 0, $force); if (!empty($details)) { foreach ($details as $k => $v) { $this->{$k} = $v; } } }
<?php //provides a database connection for cron jobs. require 'config.php'; require 'vendor/autoload.php'; require 'StarterKit/App.php'; \StarterKit\App::registerAutoloader(); $db = \StarterKit\DB::getInstance($config['db_args']); $cache = \StarterKit\Cache::getInstance($config['cache_args']);