예제 #1
0
 public function get_fieldinfo()
 {
     return array('id' => array('name' => 'ID', 'editable' => false, 'sortable' => false, 'in_admintable' => true, 'html_table_element' => 'value', 'html_table_element_param' => array('width' => '20px', 'align' => 'center')), 'user_name' => array('name' => 'Логин', 'editable' => true, 'sortable' => true, 'in_admintable' => true, 'html_edit_element' => 'edit', 'html_table_element' => 'editlink'), 'real_name' => array('name' => 'Настоящее имя', 'editable' => true, 'sortable' => true, 'in_admintable' => true, 'html_edit_element' => 'edit', 'html_table_element' => 'value'), 'state' => array('name' => 'Разрешен', 'editable' => true, 'sortable' => true, 'in_admintable' => true, 'editlink' => true, 'html_edit_element' => 'checkbox', 'html_table_element' => 'status_change', 'html_edit_element_param' => array('tooltip' => 'Активирован')), 'email' => array('name' => 'email адрес', 'editable' => true, 'in_admintable' => true, 'html_edit_element' => 'edit', 'html_table_element' => 'value', 'hide_on' => 'edit'), 'openid' => array('name' => 'Адрес OpenID', 'editable' => false, 'in_admintable' => true, 'html_edit_element' => 'edit', 'html_table_element' => 'value'), 'password' => array('name' => 'Пароль', 'editable' => true, 'in_admintable' => true, 'html_edit_element' => 'extra', 'html_edit_element_param' => array('call_from' => function ($user) {
         $name = $user->id ? 'new_password' : 'password';
         return joosHtml::input(array('name' => $name, 'value' => '', 'class' => 'text_area'));
     }), 'html_table_element' => 'value'), 'group_multi' => array('name' => 'Состоит в группах', 'editable' => true, 'sortable' => true, 'in_admintable' => false, 'html_edit_element' => 'extra', 'html_edit_element_param' => array('call_from' => 'modelAdminUsers::get_users_group_multi'), 'hide_on' => 'create'), 'register_date' => array('name' => 'Дата регистрации', 'editable' => true, 'in_admintable' => true, 'html_edit_element' => 'value', 'html_table_element' => 'value', 'hide_on' => 'create'), 'lastvisit_date' => array('name' => 'Последнее посещение', 'editable' => true, 'sortable' => true, 'in_admintable' => true, 'html_edit_element' => 'value', 'html_table_element' => 'date_format', 'html_table_element_param' => array('date_format' => 'd F в H:m', 'width' => '200px', 'align' => 'center'), 'hide_on' => 'create'), 'activation' => array('name' => 'Код активации', 'editable' => false, 'in_admintable' => false, 'html_edit_element' => 'edit', 'html_table_element' => 'value'));
 }
예제 #2
0
 public static function render($element_param, $key, $value, $obj_data, $params)
 {
     $element = array();
     $element[] = $params['label_begin'];
     $element[] = joosHtml::label(array('for' => $key), $element_param['name']);
     $element[] = $params['label_end'];
     $element[] = $params['el_begin'];
     $element[] = joosHtml::textarea(array('name' => $key, 'class' => 'text_area', 'rows' => isset($element_param['html_edit_element_param']['rows']) ? $element_param['html_edit_element_param']['rows'] : 6, 'cols' => isset($element_param['html_edit_element_param']['cols']) ? $element_param['html_edit_element_param']['cols'] : 40, 'style' => isset($element_param['html_edit_element_param']['style']) ? $element_param['html_edit_element_param']['style'] : 'width:97%'), $value);
     $element[] = $params['el_end'];
     return implode("\n", $element);
 }
예제 #3
0
 public static function render($element_param, $key, $value, $obj_data, $params)
 {
     $element = array();
     $element[] = $params['label_begin'];
     $element[] = joosHtml::label(array('for' => $key), $element_param['name']);
     $element[] = $params['label_end'];
     $element[] = $params['el_begin'];
     $element[] = joosHtml::input(array('name' => $key, 'class' => isset($element_param['html_edit_element_param']['class']) ? $element_param['html_edit_element_param']['class'] : 'input-xlarge', 'size' => 100, 'style' => isset($element_param['html_edit_element_param']['style']) ? $element_param['html_edit_element_param']['style'] : ''), $value);
     $element[] = $params['el_end'];
     return implode("\n", $element);
 }
예제 #4
0
 public static function render($element_param, $key, $value, $obj_data, $params)
 {
     $element = array();
     $element[] = $params['label_begin'];
     $element[] = joosHtml::label(array('for' => $key), $element_param['name']);
     $element[] = $params['label_end'];
     $element[] = $params['el_begin'];
     $element[] = '<p>' . $value . '</p>';
     $element[] = $params['el_end'];
     return implode("\n", $element);
 }
예제 #5
0
 public static function render($element_param, $key, $value, $obj_data, $params)
 {
     $element = array();
     $element[] = $params['label_begin'];
     $element[] = joosHtml::label(array('for' => $key), $element_param['name']);
     $element[] = $params['label_end'];
     $element[] = $params['el_begin'];
     $editor_params = array('editor' => isset($element_param['html_edit_element_param']['editor']) ? $element_param['html_edit_element_param']['editor'] : 'elrte', 'rows' => isset($element_param['html_edit_element_param']['rows']) ? $element_param['html_edit_element_param']['rows'] : null, 'cols' => isset($element_param['html_edit_element_param']['cols']) ? $element_param['html_edit_element_param']['cols'] : null, 'width' => isset($element_param['html_edit_element_param']['width']) ? $element_param['html_edit_element_param']['width'] : '"98%"', 'height' => isset($element_param['html_edit_element_param']['height']) ? $element_param['html_edit_element_param']['height'] : '200px');
     $element[] = joosEditor::display($key, $value, $editor_params);
     $element[] = $params['el_end'];
     joosAutoadmin::add_js_onformsubmit(joosEditor::get_content($key));
     return implode("\n", $element);
 }
예제 #6
0
 public static function render($element_param, $key, $value, $obj_data, $params)
 {
     $element = array();
     $element[] = $params['label_begin'];
     $desc = isset($element_param['html_edit_element_param']['tooltip']) ? ' <a class="js-tooltip" href="#" data-original-title="' . $element_param['html_edit_element_param']['tooltip'] . '"><i class="icon-question-sign"></i></a>' : '';
     $element[] = joosHtml::label(array('for' => $key), (isset($element_param['html_edit_element_param']['text']) ? $element_param['html_edit_element_param']['text'] : $element_param['name']) . $desc);
     $element[] = $params['label_end'];
     $element[] = joosHtml::hidden($key, 0);
     $element[] = $params['el_begin'];
     $element[] = joosHtml::checkbox(array('name' => $key, 'class' => 'text_area'), 1, $value);
     $element[] = $params['el_end'];
     return implode("\n", $element);
 }
예제 #7
0
 public static function render($element_param, $key, $value, $obj_data, $params)
 {
     $element = array();
     $element[] = $params['label_begin'];
     $element[] = joosHtml::label(array('for' => $key), isset($element_param['html_edit_element_param']['text']) ? $element_param['html_edit_element_param']['text'] : $element_param['name']);
     $element[] = $params['label_end'];
     $element[] = $params['el_begin'];
     $datas_for_select = array();
     $datas_for_select = isset($element_param['html_edit_element_param']['call_from']) && is_callable($element_param['html_edit_element_param']['call_from']) ? call_user_func($element_param['html_edit_element_param']['call_from'], $value, $obj_data) : $datas_for_select;
     $datas_for_select = isset($element_param['html_edit_element_param']['options']) ? $element_param['html_edit_element_param']['options'] : $datas_for_select;
     $element[] = joosHtml::dropdown(array('name' => $key, 'options' => $datas_for_select, 'selected' => $value));
     $element[] = $params['el_end'];
     return implode("\n", $element);
 }
예제 #8
0
 public static function render($element_param, $key, $value, $obj_data, $params)
 {
     $element = array();
     // скрываем левую колонку с названием поля
     if (!isset($element_param['html_edit_element_param']['hidden_label'])) {
         $element[] = $params['label_begin'];
         $element[] = joosHtml::label(array('for' => $key), isset($element_param['html_edit_element_param']['text']) ? $element_param['html_edit_element_param']['text'] : $element_param['name']);
         $element[] = $params['label_end'];
     }
     $element[] = $params['el_begin'];
     $element[] = isset($element_param['html_edit_element_param']['call_from']) && is_callable($element_param['html_edit_element_param']['call_from']) ? call_user_func($element_param['html_edit_element_param']['call_from'], $obj_data) : $datas_for_select;
     $element[] = joosHtml::hidden('extrafields[]', $key);
     $element[] = $params['el_end'];
     return implode("\n", $element);
 }
예제 #9
0
 public static function render($element_param, $key, $value, $obj_data, $params)
 {
     $element = array();
     $data = isset($element_param['html_edit_element_param']['call_from']) && is_callable($element_param['html_edit_element_param']['call_from']) ? call_user_func($element_param['html_edit_element_param']['call_from'], $obj_data) : null;
     if (!$data) {
         return false;
     }
     $element[] = $params['label_begin'];
     $element[] = joosHtml::label(array('for' => $key), isset($element_param['html_edit_element_param']['text']) ? $element_param['html_edit_element_param']['text'] : $element_param['name']);
     $element[] = $params['label_end'];
     $element[] = $params['el_begin'];
     $main_key = $key;
     $values = $obj_data->{$main_key};
     $element[] = '<table class="admin_params">';
     foreach ($data as $key => $field) {
         if (isset($field['editable']) && $field['editable'] == true) {
             $v = isset($values[$key]) ? $values[$key] : '';
             $element[] = joosAutoadmin::get_edit_html_element($field, $main_key . '[' . $key . ']', $v, $obj_data, $params);
         }
     }
     $element[] = '</table>';
     $element[] = $params['el_end'];
     return implode("\n", $element);
 }
예제 #10
0
 public function add($name, $href = false)
 {
     self::$breadcrumbs[] = $href ? joosHtml::anchor($href, $name, array('class' => 'breadcrumbs_link', 'title' => $name)) : $name;
     return $this;
 }
예제 #11
0
 private static function prepare_extra(joosModel $obj, array $extra_data)
 {
     if (self::$data === NULL) {
         $results = array();
         $hidden_elements = array();
         $wheres_filter = array('true');
         $wheres_search = array();
         foreach ($extra_data as $key => $value) {
             switch ($key) {
                 case 'search':
                     $results[] = joosHtml::label(array('for' => 'search_elements'), 'Поиск');
                     $search_value = joosSession::get_user_state_from_request("search-" . $obj->get_class_name(), 'search', false);
                     $results[] = joosHtml::input(array('name' => 'search_elements', 'id' => 'search_elements'), $search_value);
                     $hidden_elements[] = joosHtml::hidden('search', $search_value);
                     if ($search_value !== false && joosString::trim($search_value) != '') {
                         foreach ($value as $selected_value) {
                             $wheres_search[] = sprintf('%s LIKE ( %s )', joosDatabase::instance()->get_name_quote($selected_value), joosDatabase::instance()->get_quoted("%" . $search_value . "%"));
                         }
                     }
                     break;
                 case 'filter':
                     foreach ($value as $params_key => $params_value) {
                         $field_name = $params_key;
                         $field_title = $value[$field_name]['name'];
                         $results[] = joosHtml::label(array('for' => 'filter_' . $field_name), $field_title);
                         $datas_for_select = array(-1 => 'Всё сразу');
                         $datas_for_select += isset($value[$field_name]['call_from']) && is_callable($value[$field_name]['call_from']) ? call_user_func($value[$field_name]['call_from'], $obj, $params_key) : array();
                         $selected_value = joosSession::get_user_state_from_request('filter-' . '-' . $field_name . '-' . $obj->get_class_name(), $field_name, -1);
                         $selected_value = $selected_value === '0' ? '0' : $selected_value;
                         $results[] = joosHtml::dropdown(array('name' => 'filter_' . $field_name, 'data-obj-name' => $field_name, 'class' => 'filter_elements', 'selected' => $selected_value), $datas_for_select);
                         $hidden_elements[] = joosHtml::hidden($field_name, $selected_value);
                         if ($selected_value && $selected_value != -1 or $selected_value === '0') {
                             $wheres_filter[] = sprintf('%s=%s', joosDatabase::instance()->get_name_quote($field_name), joosDatabase::instance()->get_quoted($selected_value));
                         }
                     }
                     break;
                 case 'extrafilter':
                     $datas_for_select = array(-1 => 'Всё сразу');
                     foreach ($value as $params_key => $params_value) {
                         $field_name = $params_key;
                         $datas_for_select += array($params_key => $value[$field_name]['name']);
                     }
                     $selected_value = joosSession::get_user_state_from_request("extrafilter-" . $obj->get_class_name(), 'filter_extrafilter', -1);
                     $results[] = joosHtml::label(array('for' => 'filter_extrafilter'), 'Фильтр');
                     $results[] = joosHtml::dropdown(array('name' => 'filter_extrafilter_selector', 'class' => 'extrafilter_elements', 'options' => $datas_for_select, 'selected' => $selected_value));
                     $hidden_elements[] = joosHtml::hidden('filter_extrafilter', $selected_value);
                     //self::$data_overload = ( $selected_value && isset($value[$selected_value]['call_from']) && is_callable($value[$selected_value]['call_from']) ) ? call_user_func($value[$selected_value]['call_from'], $obj) : array();
                     self::$data_overload = $selected_value && isset($value[$selected_value]['call_from']) && is_callable($value[$selected_value]['call_from']) ? $value[$selected_value]['call_from'] : array();
                     break;
                 default:
                     break;
             }
         }
         $wheres = array(implode(' AND ', $wheres_filter));
         if (count($wheres_search) > 0) {
             $wheres[] = ' (' . implode(' OR ', $wheres_search) . ' )';
         }
         self::$data = array('for_header' => $results, 'hidden_ellements' => implode("\n", $hidden_elements), 'wheres' => implode(' AND ', $wheres), 'data_overload' => self::$data_overload);
     }
     return self::$data;
 }
예제 #12
0
파일: html.php 프로젝트: joostina/joostina
 public static function checkbox($data, $value = '', $checked = FALSE, $extra = '')
 {
     if (!is_array($data)) {
         $data = array('name' => $data);
     }
     $data['type'] = 'checkbox';
     if ($checked == TRUE or isset($data['checked']) and $data['checked'] == TRUE) {
         $data['checked'] = 'checked';
     } else {
         unset($data['checked']);
     }
     return joosHtml::input($data, $value, $extra);
 }
예제 #13
0
 public function get_one_to_many_selectors($name, $table_values, $table_keys, $key_parent, $key_children, array $selected_ids = array(), array $params = array())
 {
     $params['select'] = isset($params['select']) ? $params['select'] : 't_val.id, t_val.title';
     $params['select_children'] = isset($params['select_children']) ? $params['select_children'] : array();
     $childrens = $this->get_selector($params['select_children'], array('table' => $table_values));
     $rets = array();
     foreach ($childrens as $key => $value) {
         $el_id = $name . $key;
         $checked = (bool) isset($selected_ids[$key]);
         $rets[] = '<label class="checkbox">';
         $rets[] = joosHtml::checkbox($name . '[]', $key, $checked, 'id="' . $el_id . '" ');
         $rets[] = $value;
         $rets[] = '</label>';
         //$rets[] = forms::label($el_id, $value);
     }
     return implode("\n\t", $rets);
 }
예제 #14
0
 public static function stylesheet()
 {
     $result = array();
     foreach (self::$data['css'] as $css_file) {
         // если включена отладка - то будет добавлять онтикеш к имени файла
         $result[] = joosHtml::css_file($css_file[0] . (JDEBUG ? '?' . time() : JFILE_ANTICACHE), $css_file[1]['media']);
     }
     return implode("\n\t", $result) . "\n";
 }
예제 #15
0
 public function get_limit_box()
 {
     // если элементов нет - то и селектор-ограничитель показывать незачем
     if ($this->total == 0) {
         return '';
     }
     $limits = array();
     for ($i = 5; $i <= 30; $i += 5) {
         $limits[] = joosHtml::make_option("{$i}");
     }
     $limits[] = joosHtml::make_option('50');
     $limits[] = joosHtml::make_option('100');
     $limits[] = joosHtml::make_option('150');
     $limits[] = joosHtml::make_option('50000', '-Всё-');
     // build the html select list
     $html = ' ' . 'Отображать' . ' ';
     $html .= joosHtml::select_list($limits, 'limit', 'class="js-limit" size="1"', 'value', 'text', $this->limit);
     $html .= "\n<input type=\"hidden\" name=\"limitstart\" value=\"{$this->limitstart}\" />";
     return $html;
 }
예제 #16
0
 public static function render($element_param, $key, $value, $obj_data, $params)
 {
     return joosHtml::hidden($key, $value);
 }
예제 #17
0
파일: elrte.php 프로젝트: joostina/joostina
 public static function get_content($name, $params = array())
 {
     return isset($params['js_wrap']) ? joosHtml::js_code('$(\'#' . $name . '\').elrte("updateSource");') : '$(\'#' . $name . '\').elrte("updateSource");';
 }
예제 #18
0
파일: edit.php 프로젝트: joostina/joostina
?>
                    </div>
                </div>
            </div>
        </section>

        <section id="admin-form_body">

            <fieldset>
                <?php 
echo implode('', $_elements);
?>
            </fieldset>

        </section>
    </div>

    <?php 
//Выводим скрытые поля формы
echo joosHtml::hidden($obj->get_key_field(), $obj_data->{$obj->get_key_field()}) . "\t";
// id объекта
echo joosHtml::hidden('option', $option) . "\t";
echo joosHtml::hidden('model', joosAdminView::get_current_model()) . "\t";
echo joosHtml::hidden('menu', joosAutoadmin::get_active_menu_name());
echo joosHtml::hidden('task', '') . "\t";
echo joosHtml::hidden(joosCSRF::get_code(), 1) . "\t";
// элемент защиты от XSS
?>

</form>
예제 #19
0
        <?php 
    } else {
        ?>
            <div class="b b-50 b-left">
                <h3><?php 
        echo $block_title;
        ?>
</h3>
                <?php 
        foreach ($block_hrefs as $href_title => $href) {
            ?>
                <span><a class="btn btn-large" href="<?php 
            echo $href['href'];
            ?>
"><img src="<?php 
            echo joosHtml::ico($href['ico'], '32x32');
            ?>
"/><?php 
            echo $href_title;
            ?>
</a></span>
                <?php 
        }
        ?>
            </div>
        <?php 
    }
    ?>
    <?php 
}
?>