/** * Application initialization * - Loads the plugins * - Sets the cookie configuration */ public static function init() { // Set defaule cache configuration Cache::$default = Kohana::$config->load('site')->get('default_cache'); try { $cache = Cache::instance()->get('dummy' . rand(0, 99)); } catch (Exception $e) { // Use the dummy driver Cache::$default = 'dummy'; } // Load the plugins Swiftriver_Plugins::load(); // Add the current default theme to the list of modules $theme = Swiftriver::get_setting('site_theme'); if (isset($theme) and $theme != "default") { Kohana::modules(array_merge(array('themes/' . $theme->value => THEMEPATH . $theme->value), Kohana::modules())); } // Clean up unset($active_plugins, $theme); // Load the cookie configuration $cookie_config = Kohana::$config->load('cookie'); Cookie::$httponly = TRUE; Cookie::$salt = $cookie_config->get('salt', Swiftriver::DEFAULT_COOKIE_SALT); Cookie::$domain = $cookie_config->get('domain') or ''; Cookie::$secure = $cookie_config->get('secure') or FALSE; Cookie::$expiration = $cookie_config->get('expiration') or 0; // Set the default site locale I18n::$lang = Swiftriver::get_setting('site_locale'); }
/** * @param array $opts Array of options. Supported keys:<ul> * <li>'path' - The path on the server in which the cookie will be available on. * If set to '/', the cookie will be available within the entire domain. * If set to '/foo/', the cookie will only be available within the /foo/ directory and all sub-directories such as /foo/bar/ of domain. * Default value is: /<br> * <li>'domain' - The domain that the cookie is available to. * Setting the domain to 'www.example.com' will make the cookie available in the www subdomain and higher subdomains. * Cookies available to a lower domain, such as 'example.com' will be available to higher subdomains, such as 'www.example.com'. * Older browsers still implementing the deprecated » RFC 2109 may require a leading . to match all subdomains. * Default value is '.' + $_SERVER['SERVER_NAME'] [www is omitted]<br> * <li>'prefix' - Prefix for cookies. See: self::$prefix */ public static function init(array $opts = array()) { if (self::$inited) { return; } if (isset($opts['path']) and (string) $opts['path']) { self::$path = (string) $opts['path']; } if (isset($opts['prefix'])) { self::$prefix = (string) $opts['prefix']; } if (isset($opts['domain']) and (string) $opts['domain']) { self::$domain = (string) $opts['domain']; } else { self::$domain = $_SERVER['SERVER_NAME']; self::$domain = '.' . preg_replace('#^www\\.#', '', strtolower(self::$domain)); } self::$secure = (isset($_SERVER['HTTPS']) and strtolower($_SERVER['HTTPS']) == 'on'); }
*/ Kohana::$log->attach(new Log_File(APPPATH . 'logs')); /** * Attach a file reader to config. Multiple readers are supported. */ Kohana::$config->attach(new Config_File()); /** * Enable modules. Modules are referenced by a relative or absolute path. */ Kohana::modules(array('cache' => MODPATH . 'cache', 'database' => MODPATH . 'database', 'image' => MODPATH . 'image', 'orm' => MODPATH . 'orm', 'paypal' => MODPATH . 'paypal', 'kandler' => MODPATH . 'kandler', 'email' => MODPATH . 'email', 'pagination' => MODPATH . 'pagination', 'sitemap' => MODPATH . 'sitemap', 'amazon' => MODPATH . 'amazon')); /** * Cache */ Kohana::$caching = TRUE; Cache::$default = 'apc'; /** * Set the routes. Each route must have a minimum of a name, a URI and a set of * defaults for the URI. */ // Default route Route::set('default', '(<controller>(/<action>(/<id>)))')->defaults(array('controller' => 'ads', 'action' => 'home')); // Error route Route::set('error', 'error/<action>(/<message>)', array('action' => '[0-9]++', 'message' => '.+'))->defaults(array('controller' => 'error_handler')); /** * Cookie configuration settings */ Cookie::$salt = 'ASJ12094X:F?!*!*AD'; Cookie::$expiration = Date::MONTH; Cookie::$httponly = TRUE; Cookie::$secure = isset($_SERVER["HTTPS"]); Cookie::$domain = '.gowork.at';
# copy config/init.php.default to config/init.php Kohana::init(include APPPATH . 'config/init.php'); /** * Attach the file write to logging. Multiple writers are supported. */ Kohana::$log->attach(new Log_File(APPPATH . 'logs')); /** * Attach a file reader to config. Multiple readers are supported. */ Kohana::$config->attach(new Config_File()); /** * Cookie config. */ $cookie = Kohana::$config->load('cookie'); Cookie::$salt = $cookie->salt; Cookie::$expiration = $cookie->expiration; Cookie::$domain = $cookie->domain; Cookie::$path = $cookie->path; Cookie::$secure = $cookie->secure; Cookie::$httponly = $cookie->httponly; /** * Enable modules. Modules are referenced by a relative or absolute path. */ Kohana::modules(array()); /** * Set the routes. Each route must have a minimum of a name, a URI and a set of * defaults for the URI. */ Route::set('api', '<directory>(/<controller>(/<action>(/<params>)))', array('params' => '.*', 'directory' => '(v1|v2)'))->defaults(array('controller' => 'defaults', 'action' => 'index', 'directory' => 'v1')); Route::set('join', 'join')->defaults(array('controller' => 'auth', 'action' => 'join')); Route::set('default', '(<controller>(/<action>(/<id>)))')->defaults(array('controller' => 'welcome', 'action' => 'index'));