コード例 #1
0
 protected static function factory($class)
 {
     if (!self::$instance) {
         self::$instance = new $class();
     }
     return self::$instance;
 }
コード例 #2
0
 public static function destroy()
 {
     $security_token = self::get_security_token();
     $security_token_key = moojon_config::get('security_token_key');
     moojon_session::set($security_token_key, null);
     moojon_cookie::set($security_token_key, null);
     moojon_request::set(moojon_config::get('security_identity_key'), null);
     moojon_request::set(moojon_config::get('security_password_key'), null);
 }
コード例 #3
0
 public static function app_from_uri($uri)
 {
     $uri = moojon_uri::clean_uri($uri);
     $route_match = moojon_routes::map($uri);
     $data = $route_match->get_params();
     foreach ($data as $key => $value) {
         moojon_request::set($key, $value);
     }
     $app = $data['app'];
     self::require_view_functions();
     require_once moojon_paths::get_app_path($app);
     $app_class = self::get_app_class($app);
     return new $app_class($uri);
 }
コード例 #4
0
ファイル: model.tag.helper.php プロジェクト: steview/moojon
function belongs_to_tag(moojon_model_collection $models = null, moojon_base_model $model, moojon_base_column $column, moojon_base_relationship $relationship, $attributes = array())
{
    $return = false;
    $name = $column->get_name();
    $attributes = try_set_name_and_id_attributes($attributes, $model, $column);
    $foreign_key = $relationship->get_foreign_key();
    $key = $relationship->get_key();
    $return = div_tag();
    if ($value = moojon_request::get_or_null($name)) {
        $return->add_child(redirection_tag(moojon_server::redirection()));
        if ($foreign_key_value = moojon_request::get_or_null($foreign_key)) {
            $value = $foreign_key_value;
        } else {
            if ($model->{$key} == $value) {
                $value = 0;
            }
        }
    } else {
        $value = 0;
    }
    $attributes['value'] = $value;
    $return->add_child(hidden_input_tag($attributes));
    return $return;
}
コード例 #5
0
ファイル: rest.helper.php プロジェクト: steview/moojon
function model_from_id($symbol)
{
    $class = moojon_inflect::singularize($symbol);
    $id = moojon_primary_key::NAME;
    $model = new $class();
    $method_name = "read_by_{$id}";
    return $model->{$method_name}(moojon_request::get($id));
}
コード例 #6
0
ファイル: moojon.paths.class.php プロジェクト: steview/moojon
 public static function get_column_upload_paths(moojon_base_model $model, $paths = array(), $exceptions = array())
 {
     $return = array();
     $columns = moojon_request::get(get_class($model));
     foreach ($model->get_file_column_names($exceptions) as $column_name) {
         if (moojon_files::has($column_name, $columns) && $model->{$column_name}) {
             $column = moojon_files::get($column_name, $columns);
             if (array_key_exists($column_name, $paths)) {
                 $value = $paths[$column_name];
             } else {
                 $value = self::get_column_upload_path($model, $column_name);
             }
             if (get_class($column) == 'moojon_uploaded_file' && $column->get_error() == UPLOAD_ERR_OK) {
                 $return[$column_name] = $value;
             }
         }
     }
     return $return;
 }
コード例 #7
0
 public static function redirection($fallback = null)
 {
     $redirection = moojon_request::get_or_null(moojon_config::get('redirection_key'));
     $referer = self::get_or_null('HTTP_REFERER');
     if ($redirection) {
         $return = $redirection;
     } else {
         if ($fallback) {
             $return = $fallback;
         } else {
             if ($referer) {
                 $return = $referer;
             } else {
                 $return = '#';
             }
         }
     }
     return $return;
 }
コード例 #8
0
ファイル: tag.helper.php プロジェクト: steview/moojon
function paginator_ul($records, $limit = null, $page_symbol_name = null, $limit_symbol_name = null, $attributes = array())
{
    if (!is_integer($records)) {
        $records = count($records);
    }
    $limit_symbol_name = $limit_symbol_name ? $limit_symbol_name : moojon_config::get('paginator_limit_symbol_name');
    if (!$limit) {
        $limit = moojon_request::has($limit_symbol_name) ? moojon_request::get($limit_symbol_name) : moojon_config::get('paginator_limit');
    }
    if ($records > $limit) {
        $page_symbol_name = $page_symbol_name ? $page_symbol_name : moojon_config::get('paginator_page_symbol_name');
        $page = moojon_request::has($page_symbol_name) ? moojon_request::get($page_symbol_name) : 1;
        $page = $page < 1 ? 1 : (int) $page;
        $children = array();
        $params = moojon_get::get_data();
        $get = $params;
        if (array_key_exists($limit_symbol_name, $get)) {
            $get[$limit_symbol_name] = $limit;
        }
        $get[$page_symbol_name] = ":{$page_symbol_name}";
        foreach ($get as $key => $value) {
            $get[$key] = "{$key}={$value}";
        }
        $querystring = moojon_uri::get_uri() . '?' . implode('&', $get);
        for ($i = 1; $i < ceil($records / $limit) + 1; $i++) {
            $params[$page_symbol_name] = $i;
            $attributes = $i == $page ? array('class' => 'selected') : array();
            $children[] = li_tag(a_tag($i, moojon_base::parse_symbols($querystring, $params), $attributes));
        }
        $return = ul_tag($children);
    } else {
        $return = '';
    }
    return $return;
}