示例#1
0
        </form>
    </div>

    <?php 
if ($search_result) {
    for ($index = $pager->low; $index < $pager->high + 1; $index++) {
        if (isset($search_result[$index])) {
            $row = $search_result[$index];
            $section = joosHTML::anchor(joosRoute::href('game_index'), 'Что-то');
            $row->anons_image = JPATH_SITE_IMAGES . '/' . joosFile::make_file_location((int) $row->image_id) . '/image.png';
            $row->view_href = joosRoute::href('opa_view', array('id' => $row->id, 'alias' => $row->game_slug));
            ?>
                    <div class="item">
                        <h2><?php 
            echo $section . ' &rarr; ';
            echo joosHTML::anchor($row->view_href, $row->title);
            ?>
</h2>
                        <?php 
            if ($row->anons_image) {
                ?>
                            <a class="thumb" href="<?php 
                echo $row->view_href;
                ?>
">
                                <img src="<?php 
                echo $row->anons_image;
                ?>
" alt="<?php 
                echo trim(strip_tags($row->title));
                ?>
示例#2
0
 public static function dropdown($data, $options = NULL, $selected = NULL, $extra = '')
 {
     if (!is_array($data)) {
         $data = array('name' => $data);
     } else {
         if (isset($data['options'])) {
             // Use data options
             $options = $data['options'];
         }
         if (isset($data['selected'])) {
             // Use data selected
             $selected = $data['selected'];
         }
     }
     if (is_array($selected)) {
         // Multi-select box
         $data['multiple'] = 'multiple';
     } else {
         // Single selection (but converted to an array)
         $selected = array($selected);
     }
     $input = '<select' . joosHTML::attributes($data, 'select') . ' ' . $extra . '>' . "\n";
     foreach ((array) $options as $key => $val) {
         // Key should always be a string
         $key = (string) $key;
         if (is_array($val)) {
             $input .= '<optgroup label="' . $key . '">' . "\n";
             foreach ($val as $inner_key => $inner_val) {
                 // Inner key should always be a string
                 $inner_key = (string) $inner_key;
                 $sel = in_array($inner_key, $selected) ? ' selected="selected"' : '';
                 $input .= '<option value="' . $inner_key . '"' . $sel . '>' . $inner_val . '</option>' . "\n";
             }
             $input .= '</optgroup>' . "\n";
         } else {
             $sel = in_array($key, $selected) ? ' selected="selected"' : '';
             $input .= '<option value="' . $key . '"' . $sel . '>' . $val . '</option>' . "\n";
         }
     }
     $input .= '</select>';
     return $input;
 }
示例#3
0
 public function get_model($table, $implode_models = false)
 {
     $table_fields = joosDatabase::instance()->get_utils()->get_table_fields($table);
     $tableName = str_replace(array('#__', '#_', joosDatabase::instance()->get_prefix()), '', $table);
     $className = str_replace(' ', '', ucwords(strtolower(str_replace('_', ' ', $tableName))));
     $buffer_site = array();
     $buffer_site[] = "\n/**";
     $buffer_site[] = "\n * Модель сайта компонента {$className}";
     $buffer_site[] = "\n * ";
     $buffer_site[] = "\n * @package Components\\{$className}";
     $buffer_site[] = "\n * @subpackage Models\\Site";
     $buffer_site[] = "\n * @author JoostinaTeam <*****@*****.**>";
     $buffer_site[] = "\n * @copyright (C) 2007-2012 Joostina Team";
     $buffer_site[] = "\n * @license MIT License http://www.opensource.org/licenses/mit-license.php";
     $buffer_site[] = "\n * @created " . JCURRENT_SERVER_TIME;
     $buffer_site[] = "\n * Информация об авторах и лицензиях стороннего кода в составе Joostina CMS: docs/copyrights";
     $buffer_site[] = "\n * ";
     $buffer_site[] = "\n */";
     $buffer_site[] = "\nclass model{$className} extends joosModel {";
     foreach ($table_fields as $k => $v) {
         $buffer_site[] = "\n\t/**";
         $buffer_site[] = "\n\t * @field {$v}";
         $field_type = preg_replace('#[^A-Z]#i', '', $v);
         $field_type = str_replace('unsigned', '', $field_type);
         $field_type_name = self::get_type($field_type);
         $buffer_site[] = "\n\t * @type {$field_type_name}";
         $buffer_site[] = "\n\t */";
         $buffer_site[] = "\n\tpublic \${$k};";
     }
     $buffer_site[] = "\n\n\t/*";
     $buffer_site[] = "\n\t * Constructor";
     $buffer_site[] = "\n\t *";
     $buffer_site[] = "\n\t */";
     $buffer_site[] = "\n\tpublic function __construct(){";
     $buffer_site[] = "\n\t\tparent::__construct( '#__{$tableName}', 'id' );";
     $buffer_site[] = "\n\t}";
     $buffer_site[] = "\n\n\tpublic function check() {";
     $buffer_site[] = "\n\t\t\$this->filter();";
     $buffer_site[] = "\n\t\treturn true;";
     $buffer_site[] = "\n\t}\n";
     $buffer_site[] = "\n\n\tpublic function before_insert() {\n";
     $buffer_site[] = "\t\treturn true;";
     $buffer_site[] = "\n\t}\n";
     $buffer_site[] = "\n\n\tpublic function after_insert() {\n";
     $buffer_site[] = "\t\treturn true;";
     $buffer_site[] = "\n\t}\n";
     $buffer_site[] = "\n\n\tpublic function before_update() {\n";
     $buffer_site[] = "\t\treturn true;";
     $buffer_site[] = "\n\t}\n";
     $buffer_site[] = "\n\n\tpublic function after_update() {\n";
     $buffer_site[] = "\t\treturn true;";
     $buffer_site[] = "\n\t}\n";
     $buffer_site[] = "\n\n\tpublic function before_store() {\n";
     $buffer_site[] = "\t\treturn true;";
     $buffer_site[] = "\n\t}\n";
     $buffer_site[] = "\n\n\tpublic function after_store() {\n";
     $buffer_site[] = "\t\treturn true;";
     $buffer_site[] = "\n\t}\n";
     $buffer_site[] = "\n\n\tpublic function before_delete() {\n";
     $buffer_site[] = "\t\treturn true;";
     $buffer_site[] = "\n\t}\n";
     $buffer_site[] = "\n}\n";
     $buffer_admin[] = "\n/**";
     $buffer_admin[] = "\n * Модель панели управления компонента {$className}";
     $buffer_admin[] = "\n * ";
     $buffer_admin[] = "\n * @package Components\\{$className}";
     $buffer_admin[] = "\n * @subpackage Models\\Admin";
     $buffer_admin[] = "\n * @author JoostinaTeam <*****@*****.**>";
     $buffer_admin[] = "\n * @copyright (C) 2007-2012 Joostina Team";
     $buffer_admin[] = "\n * @license MIT License http://www.opensource.org/licenses/mit-license.php";
     $buffer_admin[] = "\n * @created " . JCURRENT_SERVER_TIME;
     $buffer_admin[] = "\n * Информация об авторах и лицензиях стороннего кода в составе Joostina CMS: docs/copyrights";
     $buffer_admin[] = "\n * ";
     $buffer_admin[] = "\n */";
     $buffer_admin[] = "\nclass modelAdmin{$className} extends model{$className} {";
     $buffer_admin[] = "\n\n\tpublic function get_fieldinfo() {\n";
     $buffer_admin[] = "\t\treturn array(";
     foreach ($table_fields as $k => $v) {
         $buffer_admin[] = "\n\t\t\t'{$k}' => array(";
         $buffer_admin[] = "\n\t\t\t\t'name' => '{$k}',";
         $buffer_admin[] = "\n\t\t\t\t'editable' => true,";
         $buffer_admin[] = "\n\t\t\t\t'in_admintable' => true,";
         $buffer_admin[] = "\n\t\t\t\t'html_table_element' => 'value',";
         $buffer_admin[] = "\n\t\t\t\t'html_table_element_param' => array(),";
         $buffer_admin[] = "\n\t\t\t\t'html_edit_element' => 'edit',";
         $buffer_admin[] = "\n\t\t\t\t'html_edit_element_param' => array(),";
         $buffer_admin[] = "\n\t\t\t),";
     }
     $buffer_admin[] = "\n\t\t);";
     $buffer_admin[] = "\n\t}\n";
     $buffer_admin[] = "\n\n\tpublic function get_tableinfo() {\n";
     $buffer_admin[] = "\t\t\treturn array(";
     $buffer_admin[] = "\n\t\t\t\t'header_main' => '{$className}',";
     $buffer_admin[] = "\n\t\t\t\t'header_list' => '{$className}',";
     $buffer_admin[] = "\n\t\t\t\t'header_new' => 'Создание {$className}',";
     $buffer_admin[] = "\n\t\t\t\t'header_edit' => 'Редактирование {$className}'";
     $buffer_admin[] = "\n\t\t\t);";
     $buffer_admin[] = "\n\t}\n";
     $buffer_admin[] = "\n\n\tpublic function get_extrainfo() {\n";
     $buffer_admin[] = "\t\t\treturn array(";
     $buffer_admin[] = "\n\t\t\t\t'search' => array(),";
     $buffer_admin[] = "\n\t\t\t\t'filter' => array(),";
     $buffer_admin[] = "\n\t\t\t\t'extrafilter' => array()";
     $buffer_admin[] = "\n\t\t\t);";
     $buffer_admin[] = "\n\t}\n";
     $buffer_admin[] = "\n}\n";
     $return = array();
     $return['site'] = $implode_models ? implode('', $buffer_site) : joosHTML::textarea(array('name' => $tableName, 'value' => implode('', $buffer_site), 'rows' => '5', 'class' => 'coder_model_area'));
     $return['admin'] = $implode_models ? implode('', $buffer_admin) : joosHTML::textarea(array('name' => $tableName, 'value' => implode('', $buffer_site), 'rows' => '5', 'class' => 'coder_model_area'));
     return $return;
 }
    public function table_select()
    {
        $table = joosRequest::post('table');
        $types = modelAdminCoder_Faker::$data_types;
        $type_names = array();
        array_walk($types, function ($v, $k) use(&$type_names) {
            $type_names[$k] = $v['name'];
        });
        $table_fields = joosDatabase::instance()->get_utils()->get_table_fields($table);
        ob_start();
        ?>
            <table class="table table-striped">
                <thead>
                    <tr>
                        <th>#</th>
                        <th>Поле</th>
                        <th>Тип</th>
                        <th>Чем заполнить</th>
                    </tr>
                </thead>

                <tbody>
                    <?php 
        $i = 1;
        foreach ($table_fields as $key => $value) {
            ?>
                        <?php 
            $type = preg_replace('#[^A-Z]#i', '', $value);
            $type = str_replace('unsigned', '', $type);
            $active_option = null;
            array_walk($types, function ($v, $k) use($type, &$active_option) {
                $active_option = in_array($type, $v['types']) && $active_option === null ? $k : $active_option;
            });
            $faker_selector = joosHTML::dropdown('type', $type_names, $active_option);
            ?>
                    <tr>
                        <td><?php 
            echo $i;
            ?>
</td>
                        <td><?php 
            echo $key;
            ?>
</td>
                        <td><?php 
            echo $type;
            ?>
</td>
                        <td><?php 
            echo $faker_selector;
            ?>
</td>
                    </tr>

                    <?php 
            ++$i;
        }
        ?>
                </tbody>
            </table>
        <?php 
        $return = ob_get_contents();
        ob_get_clean();
        return $return;
    }