Beispiel #1
0
function control(moojon_base_model $model, $column_name, $attributes = array())
{
    $column = $model->get_column($column_name);
    $return = div_tag(label_tag(title_text($column_name) . ':', $column_name));
    $has_one_relationship = find_has_one_relationship($model, $column_name);
    $belongs_to_relationship = find_belongs_to_relationship($model, $column_name);
    if (!$has_one_relationship && !$belongs_to_relationship) {
        switch (get_class($column)) {
            case 'moojon_binary_column':
                $control = binary_tag($model, $column, $attributes);
                break;
            case 'moojon_boolean_column':
                $control = boolean_tag($model, $column, $attributes);
                break;
            case 'moojon_date_column':
                $control = date_tag($model, $column, $attributes);
                break;
            case 'moojon_datetime_column':
                $control = datetime_tag($model, $column, $attributes);
                break;
            case 'moojon_decimal_column':
                $control = decimal_tag($model, $column, $attributes);
                break;
            case 'moojon_float_column':
                $control = float_tag($model, $column, $attributes);
                break;
            case 'moojon_integer_column':
                $control = integer_tag($model, $column, $attributes);
                break;
            case 'moojon_primary_key':
                $control = primary_key_tag($model, $column, $attributes);
                break;
            case 'moojon_string_column':
                if ($column->is_password()) {
                    return password_tag($model, $column, $attributes);
                } else {
                    if ($column->is_file()) {
                        return file_tag($model, $column, $attributes);
                    } else {
                        $control = string_tag($model, $column, $attributes);
                    }
                }
                break;
            case 'moojon_text_column':
                $control = text_tag($model, $column, $attributes);
                break;
            case 'moojon_time_column':
                $control = time_tag($model, $column, $attributes);
                break;
            case 'moojon_timestamp_column':
                $control = timestamp_tag($model, $column, $attributes);
                break;
        }
    } else {
        if ($has_one_relationship) {
            $control = has_one_tag(null, $model, $column, $has_one_relationship, $attributes);
            if (get_class($control) != 'moojon_select_tag') {
                $return->clear_children();
            }
        } else {
            if ($belongs_to_relationship) {
                $control = belongs_to_tag(null, $model, $column, $belongs_to_relationship, $attributes);
                if (get_class($control) != 'moojon_select_tag') {
                    $return->clear_children();
                }
            }
        }
    }
    $return->add_child($control);
    return $return;
}
Beispiel #2
0
 function test_time_tag()
 {
     date_default_timezone_set("Europe/Rome");
     $this->assertEqual('<time datetime="1986-11-27T11:30:00+01:00" birthday="true">foobar</time>', time_tag(mktime(11, 30, 0, 11, 27, 1986), "foobar", array("birthday" => "true")));
 }