function helpers()
{
    $helpers = array();
    if (moojon_config::has('helpers')) {
        $helpers = explode(', ', moojon_config::get('helpers'));
    }
    foreach (explode(', ', moojon_config::get('default_helpers')) as $helper) {
        if (!in_array($helper, $helpers)) {
            $helpers[] = $helper;
        }
    }
    return $helpers;
}
Beispiel #2
0
 protected static function post_set($key, $value = null, $data = null)
 {
     if ($value !== null) {
         $_COOKIE[$key] = $value;
         if (moojon_config::has('cookie_expiry')) {
             if (is_int(moojon_config::get('cookie_expiry'))) {
                 $cookie_expiry = time() + moojon_config::get('cookie_expiry');
             } else {
                 throw new moojon_exception('cookie_expiry must be an integer (' . moojon_config::get('cookie_expiry') . ')');
             }
         }
         setcookie($key, $value, $cookie_expiry, '/');
     } else {
         $_COOKIE[$key] = null;
         setcookie($key, null, -1, '/');
         unset($_COOKIE[$key]);
     }
 }
Beispiel #3
0
 private function __construct()
 {
     $db_driver = moojon_config::get('db_driver');
     if (substr($db_driver, -1) == ':') {
         $db_driver = substr($db_driver, -1);
     }
     if (moojon_config::has('db_dsn')) {
         $db_dsn = moojon_config::get('db_dsn');
     } else {
         if (moojon_config::has('cli_db_dsn')) {
             $db_dsn = moojon_config::get('cli_db_dsn');
         } else {
             $keys = array();
             switch ($db_driver) {
                 case 'sybase':
                 case 'mssql':
                 case 'dblib':
                     $keys['host'] = 'db_host';
                     $keys['dbname'] = 'db_dbname';
                     $keys['charset'] = 'db_charset';
                     $keys['appname'] = 'db_appname';
                     $keys['secure'] = 'db_secure';
                     break;
                 case 'firebird':
                     $keys['dbname'] = 'db_dbname';
                     $keys['charset'] = 'db_charset';
                     $keys['role'] = 'db_role';
                     break;
                 case 'ibm':
                     $keys['database'] = 'db_database';
                     $keys['hostname'] = 'db_hostname';
                     $keys['port'] = 'db_port';
                     $keys['username'] = UI == 'CLI' ? 'cli_db_username' : 'db_username';
                     $keys['password'] = UI == 'CLI' ? 'cli_db_password' : 'db_password';
                     break;
                 case 'informix':
                 case 'sqlite':
                 case 'sqlite2':
                     throw new moojon_exception("db_driver ({$db_driver}) requires db_dsn config key");
                     break;
                 case 'mysql':
                     $keys['host'] = 'db_host';
                     $keys['port'] = 'db_port';
                     $keys['dbname'] = 'db_dbname';
                     $keys['unix_socket'] = 'db_unix_socket';
                     $keys['username'] = UI == 'CLI' ? 'cli_db_username' : 'db_username';
                     $keys['password'] = UI == 'CLI' ? 'cli_db_password' : 'db_password';
                     break;
                 case 'oci':
                     $keys['dbname'] = 'db_dbname';
                     $keys['charset'] = 'db_charset';
                     break;
                 case 'odbc':
                     $keys['dsn'] = 'db_dsn_name';
                     $keys['uid'] = UI == 'CLI' ? 'cli_db_uid' : 'db_uid';
                     $keys['pwd'] = UI == 'CLI' ? 'cli_db_pwd' : 'db_pwd';
                     break;
                 case 'pgsql':
                     $keys['host'] = 'db_host';
                     $keys['port'] = 'db_port';
                     $keys['dbname'] = 'db_dbname';
                     $keys['user'] = UI == 'CLI' ? 'cli_db_user' : 'db_user';
                     $keys['password'] = UI == 'CLI' ? 'cli_db_password' : 'db_password';
                     break;
                 case '4D':
                     $keys['host'] = 'db_host';
                     $keys['port'] = 'db_port';
                     $keys['dbname'] = 'db_dbname';
                     $keys['chars_set'] = 'db_chars_set';
                     break;
                 default:
                     throw new moojon_exception("Unsupported database driver ({$db_driver})");
                     break;
             }
             $db_dsn = '';
             foreach ($keys as $key => $value) {
                 if (moojon_config::has($value)) {
                     $db_dsn .= "{$key}=" . moojon_config::get($value) . ';';
                 }
             }
             $db_dsn = substr($db_dsn, 0, strlen($db_dsn) - 1);
         }
     }
     $db_username = moojon_config::get_or_null(moojon_config::get_or_null('username', $keys));
     $db_password = moojon_config::get_or_null(moojon_config::get_or_null('password', $keys));
     $db_driver_options = moojon_config::get_or_null('db_driver_options');
     $this->data = new PDO("{$db_driver}:{$db_dsn}", $db_username, $db_password, $db_driver_options);
     $this->data->setAttribute(self::ATTR_ERRMODE, self::ERRMODE_EXCEPTION);
 }
Beispiel #4
0
 public static function get_column_paths()
 {
     $paths = array();
     if (moojon_config::has('db_driver')) {
         $paths[] = self::get_columns_directory();
     }
     return $paths;
 }