Exemple #1
0
 /**
  * Добавление / увеличение счетчика хитов по объекту
  *
  * @param stdClass $obj  объект который, обращения к которому необходимо подсчитать
  * @param string   $task название задачи выполняемой над объектов
  *
  * @return bool результат добавления / увеличения счетчика
  */
 public static function add_obj(stdClass $obj, $task = '')
 {
     $class_name = get_class($obj);
     $id = crc32($class_name);
     $option = $class_name;
     $sql = sprintf("INSERT INTO `#__hits` (`id`, `obj_id`, `obj_option`, `obj_task`, `hit`) VALUES (NULL, %u, '%s', '%s', 1)\n                                    ON DUPLICATE KEY UPDATE hit=hit+1;", (int) $id, $option, $task);
     return joosDatabase::instance()->set_query($sql)->query();
 }
Exemple #2
0
 public static function check_access_for_user_id($full_operations_name, $user_id)
 {
     static $allowed_rules;
     if ($allowed_rules === null) {
         $sql = sprintf("SELECT DISTINCT CONCAT_WS('::',al.acl_group, al.acl_name) AS rule_name, 1 AS value FROM  #__users_acl_rules_groups AS aa INNER JOIN #__users_acl_groups AS ag ON ( ag.id=aa.group_id ) INNER JOIN #__users_acl_rules AS al ON ( al.id=aa.task_id ) WHERE ag.id IN (  SELECT group_id FROM #__users_acl_groups_users WHERE user_id = %s )", $user_id);
         $allowed_rules = joosDatabase::instance()->set_query($sql)->load_row_array('rule_name', 'value');
     }
     return isset($allowed_rules[$full_operations_name]);
 }
Exemple #3
0
 public static function lists($param)
 {
     $cat_id = $param['cat_id'];
     $sql = sprintf("SELECT b.id, b.title, b.created_at AS lastmod, c.slug as cat_slug FROM #__blog AS b\n                INNER JOIN #__blog_category AS c ON ( c.id=b.category_id AND c.state=1 AND c.id=%s )\n                WHERE b.state=1 ORDER BY b.id DESC", $cat_id);
     $objs = joosDatabase::instance()->set_query($sql)->load_object_list();
     foreach ($objs as $obj) {
         $obj->loc = joosRoute::href('blog_view', array('id' => $obj->id, 'cat_slug' => $obj->cat_slug));
     }
     return $objs;
 }
 /**
  * Главная страница компонента, вывод списка объектов
  *
  * @static
  * @return array
  */
 public function index()
 {
     $search_result = array();
     $total = 0;
     $search_word = isset(self::$param['search_word']) ? self::$param['search_word'] : '';
     if (isset($_POST['search'])) {
         $search_word = joosRequest::post('search');
         $search_word = joosText::simple_clean($search_word);
         $search_word = joosFilter::htmlspecialchars($search_word);
         joosRoute::redirect(joosRoute::href('search_word', array('search_word' => $search_word)));
     }
     $search_word = joosText::simple_clean($search_word);
     joosFilter::make_safe($search_word);
     if (strlen($search_word) > 100) {
         $search_word = joosString::substr($search_word, 0, 99);
     }
     if ($search_word && joosString::strlen($search_word) < 3) {
         $search_word = '';
     }
     if ($search_word != '') {
         $results = joosDatabase::instance()->set_query("SELECT t.id, t.title,t.`fulltext` as text, t.type_id, t.type_cat_id, t.created_at, t.anons_image_id, t.file_id,'topic' AS itemtype,\n                g.title AS gamename, t.game_id, g.slug AS game_slug\n                FROM #__texts as t\n                LEFT JOIN #__games AS g ON g.id=t.game_id\n                WHERE LOWER(t.title) LIKE LOWER('%{$search_word}%') OR  LOWER(t.`fulltext`) LIKE LOWER('%{$search_word}%') ")->load_object_list();
         $rows = array();
         $_n = count($results);
         for ($i = 0, $n = $_n; $i < $n; $i++) {
             $rows = array_merge((array) $rows, (array) $results[$i]);
         }
         $total = count($rows);
         for ($i = 0; $i < $total; $i++) {
             $text =& $rows[$i]->text;
             $search_words = explode(' ', $search_word);
             $needle = $search_words[0];
             $text = modelSearch::prepare_search_content($text, 500, $needle);
             foreach ($search_words as $k => $hlword) {
                 $search_words[$k] = htmlspecialchars(stripslashes($hlword), ENT_QUOTES, 'UTF-8');
             }
             $searchRegex = implode('|', $search_words);
             $text = preg_replace('/' . $searchRegex . '/iu', '<span class="highlight">\\0</span>', $text);
         }
         $search_result = $rows;
     }
     $page = self::$param['page'];
     $pager = new joosPager(joosRoute::href('search_word', array('search_word' => $search_word)), $total, 10);
     $pager->paginate($page);
     // для первой (0) страницы и если есть результаты поиска - запишем словопоиск в базу, для дальнейших ленивых автокомплитов
     $total > 0 && $page == 0 ? modelSearch::add($search_word) : null;
     return array('search_word' => $search_word, 'search_result' => $search_result, 'pager' => $pager);
 }
 /**
  * Вывод сводной таблицы расспределения и назначения прав
  *
  * @static
  * @return array
  */
 public function acl_table()
 {
     $group_obj = new modelUsersAclGroups();
     $groups = $group_obj->find_all(array('select' => 'id,title'));
     $acl_list_obj = new modelUsersAclRules();
     $acls = $acl_list_obj->find_all(array('select' => 'id,title,acl_group,acl_name'));
     $acl_list = array();
     foreach ($acls as $acl) {
         $acl_list[$acl->acl_group][sprintf('%s::%s', $acl->acl_group, $acl->acl_name)] = $acl;
     }
     $acl_groups = array_keys($acl_list);
     $sql = 'SELECT ag.id AS group_id, al.id AS list_id FROM  #__users_acl_rules_groups AS aa INNER JOIN #__users_acl_groups AS ag ON ( ag.id=aa.group_id ) INNER JOIN #__users_acl_rules AS al ON ( al.id=aa.task_id )';
     $acl_rules_array = joosDatabase::instance()->set_query($sql)->load_assoc_list();
     $acl_rules = array();
     foreach ($acl_rules_array as $value) {
         $acl_rules[$value['group_id']][$value['list_id']] = true;
     }
     return array('groups' => $groups, 'acl_groups' => $acl_groups, 'acl_list' => $acl_list, 'acls' => $acls, 'acl_rules' => $acl_rules);
 }
Exemple #6
0
 private static function db_debug()
 {
     $profs = joosDatabase::instance()->set_query('show profiles;')->load_assoc_list();
     $total_time = 0;
     $r = '
         <div id="ptb_data_cont_sql" class="ptb_data_cont">
             <ul class="ptb_tabs">
               <li id="ptb_tab_sqldefault">default <span>(' . count($profs) . ')</span></li>
             </ul>
             <div id="ptb_tab_cont_sqldefault" class="ptb_tab_cont">
             <table class="ptb_tab_cont_table">
                 <tbody>
                 <tr>
                   <th style="width:20px;">№</th>
                   <th>query</th>
                   <th style="width:100px;">time</th>
                 </tr>';
     if (isset($profs[0])) {
         foreach ($profs as $prof) {
             $r .= '<tr valign="top"><td>' . $prof['Query_ID'] . ' </td><td> ' . $prof['Query'] . ' </td><td class="tRight"> ' . $prof['Duration'] . ' s</td></tr>';
             $total_time += $prof['Duration'];
         }
     }
     $r .= '<tr class="total">
                 <td></td>
                 <td>total ' . count($profs) . ' queries</td>
                 <td class="tRight">' . $total_time . ' s</td>
               </tr>
               </tbody>
             </table>
             </div>
         </div>';
     return $r;
 }
 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;
 }
Exemple #8
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;
 }
    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;
    }
Exemple #10
0
 /**
  * Вставка массива значений в таблицу текущего объекта
  *
  * @example
  * $values = array(
  *      0 => array(
  *          'counter' => 111,
  *          'name' => 'первая запись',
  *      ),
  *      1 => array(
  *          'name' => ' вторая запись ',
  *          'counter' => 2222
  *      ),
  *      2 => array(
  *          'name' => ' третья запись',
  *          'counter' => 123456
  *      ),
  * );
  *
  * @param  array $array_values
  * @return bool  результат вставки массива
  */
 public function insert_array(array $array_values)
 {
     return $this->_db->insert_array($this->_tbl, $this, $array_values);
 }
Exemple #11
0
 /**
  * Удаляем куку
  *
  */
 public function logout_me()
 {
     $user_token = joosCookie::get(self::$_token_name, false);
     if (!$user_token) {
         return;
     }
     //сносим куку, что бы в следующий раз не искать по ней
     joosCookie::delete(self::$_token_name);
     //и удаляем из базы данных
     $query = "DELETE FROM #__users_tokens WHERE token=" . joosDatabase::instance()->get_quoted($user_token);
     return joosDatabase::instance()->set_query($query)->query();
 }
Exemple #12
0
 public static function init_user()
 {
     $option = joosRequest::param('option');
     // logout check
     if ($option == 'logout') {
         $database = joosDatabase::instance();
         // обновление записи последнего посещения панели управления в базе данных
         if (isset($_SESSION['session_user_id']) && $_SESSION['session_user_id'] != '') {
             $query = "UPDATE #__users SET lastvisit_date = " . $database->get_quoted(JCURRENT_SERVER_TIME) . " WHERE id = " . (int) $_SESSION['session_user_id'];
             $database->set_query($query)->query();
         }
         // delete db session record corresponding to currently logged in user
         if (isset($_SESSION['session_id']) && $_SESSION['session_id'] != '') {
             $query = "DELETE FROM #__users_session WHERE session_id = " . $database->get_quoted($_SESSION['session_id']);
             $database->set_query($query)->query();
         }
         session_destroy();
         joosRoute::redirect('index.php');
     }
     if (session_name() != JADMIN_SESSION_NAME) {
         joosRoute::redirect(JPATH_SITE_ADMIN, 'Ошибка сессии');
     }
     $my = new modelUsers();
     $my->id = joosRequest::int('session_user_id', 0, $_SESSION);
     $my->user_name = joosRequest::session('session_user_name');
     $session_id = joosRequest::session('session_id');
     $logintime = joosRequest::session('session_logintime');
     if ($session_id != session_id()) {
         joosRoute::redirect(JPATH_SITE_ADMIN, 'Вы не авторизованы');
     }
     // check to see if session id corresponds with correct format
     if ($session_id == md5($my->id . $my->user_name . $logintime)) {
         $task = joosRequest::param('task');
         if ($task != 'save' && $task != 'apply') {
             $database = joosDatabase::instance();
             $session_life_admin = joosConfig::get2('session', 'life_admin');
             // purge expired admin sessions only
             $past = time() - $session_life_admin;
             $query = "DELETE FROM #__users_session WHERE time < '" . (int) $past . "' AND guest = 1 AND user_id <> 0";
             $database->set_query($query)->query();
             // update session timestamp
             $query = "UPDATE #__users_session SET time = " . $database->get_quoted(time()) . " WHERE session_id = " . $database->get_quoted($session_id);
             $database->set_query($query)->query();
             // set garbage cleaning timeout
             self::set_session_garbage_clean($session_life_admin);
             // check against db record of session
             $query = "SELECT COUNT( session_id ) FROM #__users_session WHERE session_id = " . $database->get_quoted($session_id) . " AND user_name = " . $database->get_quoted($my->user_name) . " AND user_id = " . (int) $my->id;
             $count = $database->set_query($query)->load_result();
             // если в таблице нет информации о текущей сессии - она устарела
             if ($count == 0) {
                 setcookie(JADMIN_SESSION_NAME);
                 // TODO тут можно сделать нормальную запоминалку последней активной страницы, и разных данных с неё. И записывать всё это как параметры пользователя в JSON
                 joosRoute::redirect(JPATH_SITE_ADMIN, 'Вы не авторизованы');
             }
         }
     } elseif ($session_id == '') {
         joosRoute::redirect(JPATH_SITE, 'Вы не авторизованы');
     } else {
         joosRoute::redirect(JPATH_SITE, 'Вы не авторизованы');
         exit;
     }
     self::$user = $my;
 }
Exemple #13
0
 public function get_log($word)
 {
     $sql = "SELECT hit AS id, word AS label FROM #__searched WHERE LOWER(word) LIKE LOWER('%{$word}%') ORDER BY hit DESC";
     return joosDatabase::instance()->set_query($sql, 0, 10)->load_assoc_list();
 }
 public function faker()
 {
     self::$submenu['db_faker']['active'] = true;
     $tables = joosDatabase::instance()->get_utils()->get_table_list();
     return array('tables' => $tables);
 }