Поиск Simpla Модуль Отзывы о магазине

Lamer75

Гуру форума
Регистрация
23 Авг 2014
Сообщения
285
Реакции
69
Есть у кого кто готов поделится?
Интересна правка комментариев и даже не столько комментариев, сколько время его размещения
 
Есть у кого кто готов поделится?
Интересна правка комментариев и даже не столько комментариев, сколько время его размещения
Можно через базу SQL напрямую править время размещения
 
Можно через базу SQL напрямую править время размещения
да вот нифига нет там комментариев! как раз сейчас открыл ok_comments - всё пусто, хотя комментарии есть
 
согласен, что так не должно быть. Но так есть - всё пролез, убей нет комментариев!!
Посмотрите в config/config.php доступ к базе и внимательно на хостинге зайдите именно в нее. Если не получится - сбросьте в личку доступ - гляну
 
Код:
<?php

/**
* Simpla CMS
*
* @copyright    2011 Denis Pikusov
* @link        http://simplacms.ru
* @author        Denis Pikusov
*
*/

require_once('Simpla.php');

class Comments extends Simpla
{

    // Возвращает комментарий по id
    public function get_comment($id)
    {
        $query = $this->db->placehold("SELECT c.id, c.object_id, c.name, c.ip, c.type, c.text, c.date, c.approved FROM __comments c WHERE id=? LIMIT 1", intval($id));

        if($this->db->query($query))
            return $this->db->result();
        else
            return false;
    }
   
    // Возвращает комментарии, удовлетворяющие фильтру
    public function get_comments($filter = array())
    {   
        // По умолчанию
        $limit = 0;
        $page = 1;
        $object_id_filter = '';
        $type_filter = '';
        $keyword_filter = '';
        $approved_filter = '';

        if(isset($filter['limit']))
            $limit = max(1, intval($filter['limit']));

        if(isset($filter['page']))
            $page = max(1, intval($filter['page']));

        if(isset($filter['ip']))
            $ip = $this->db->placehold("OR c.ip=?", $filter['ip']);
        if(isset($filter['approved']))
            $approved_filter = $this->db->placehold("AND (c.approved=? $ip)", intval($filter['approved']));
           
        if($limit)
            $sql_limit = $this->db->placehold(' LIMIT ?, ? ', ($page-1)*$limit, $limit);
        else
            $sql_limit = '';

        if(!empty($filter['object_id']))
            $object_id_filter = $this->db->placehold('AND c.object_id in(?@)', (array)$filter['object_id']);

        if(!empty($filter['type']))
            $type_filter = $this->db->placehold('AND c.type=?', $filter['type']);

        if(!empty($filter['keyword']))
        {
            $keywords = explode(' ', $filter['keyword']);
            foreach($keywords as $keyword)
                $keyword_filter .= $this->db->placehold('AND c.name LIKE "%'.$this->db->escape(trim($keyword)).'%" OR c.text LIKE "%'.$this->db->escape(trim($keyword)).'%" ');
        }

           
        $sort='DESC';
       
        $query = $this->db->placehold("SELECT c.id, c.object_id, c.ip, c.name, c.text, c.type, c.date, c.approved
                                        FROM __comments c WHERE 1 $object_id_filter $type_filter $keyword_filter $approved_filter ORDER BY id $sort $sql_limit");
   
        $this->db->query($query);
        return $this->db->results();
    }
   
    // Количество комментариев, удовлетворяющих фильтру
    public function count_comments($filter = array())
    {   
        $object_id_filter = '';
        $type_filter = '';
        $approved_filter = '';
        $keyword_filter = '';

        if(!empty($filter['object_id']))
            $object_id_filter = $this->db->placehold('AND c.object_id in(?@)', (array)$filter['object_id']);

        if(!empty($filter['type']))
            $type_filter = $this->db->placehold('AND c.type=?', $filter['type']);

        if(isset($filter['approved']))
            $approved_filter = $this->db->placehold('AND c.approved=?', intval($filter['approved']));

        if(!empty($filter['keyword']))
        {
            $keywords = explode(' ', $filter['keyword']);
            foreach($keywords as $keyword)
                $keyword_filter .= $this->db->placehold('AND c.name LIKE "%'.$this->db->escape(trim($keyword)).'%" OR c.text LIKE "%'.$this->db->escape(trim($keyword)).'%" ');
        }

        $query = $this->db->placehold("SELECT count(distinct c.id) as count
                                        FROM __comments c WHERE 1 $object_id_filter $type_filter $keyword_filter $approved_filter", $this->settings->date_format);
   
        $this->db->query($query);   
        return $this->db->result('count');

    }
   
    // Добавление комментария
    public function add_comment($comment)
    {   
        $query = $this->db->placehold('INSERT INTO __comments
        SET ?%,
        date = NOW()',
        $comment);

        if(!$this->db->query($query))
            return false;

        $id = $this->db->insert_id();
        return $id;
    }
   
    // Изменение комментария
    public function update_comment($id, $comment)
    {
        $date_query = '';
        if(isset($comment->date))
        {
            $date = $comment->date;
            unset($comment->date);
            $date_query = $this->db->placehold(', date=STR_TO_DATE(?, ?)', $date, $this->settings->date_format);
        }
        $query = $this->db->placehold("UPDATE __comments SET ?% $date_query WHERE id in(?@) LIMIT 1", $comment, (array)$id);
        $this->db->query($query);
        return $id;
    }

    // Удаление комментария
    public function delete_comment($id)
    {
        if(!empty($id))
        {
            $query = $this->db->placehold("DELETE FROM __comments WHERE id=? LIMIT 1", intval($id));
            $this->db->query($query);
        }
    }   
}
вот comments.php . Что в конфиге то смотреть? пароль\логин? так я и так их знаю. Даже знаю в какой базе хранится инфа ))
Доступ, не взыщи, дать не могу - на vps у меня много сайтов лежит. Делать отдельного юзера, честно говоря лениво.
 
:)))) а зачем мне comments.php. нужна база. Там править нужно напрямую. А доступ.... я ж не настаиваю, это ж больше тебе нужно..

Еще заметил що comments твой симпловый а база судя по ok_comments окейная. Точно не ту базу смотришь
 
comments твой симпловый а база судя по ok_comments окейная. Точно не ту базу смотришь
Точно ту смотрю. А префикс ok_ это потому как они то ли разделились с окей то ли расплевались, а префикс остался.
Подождем прихода людей которые реально, а не теоретически юзают симплу, надеюсь подскажут
 
Для симплы дата комментариев правится в таблице s_comments. Это в стандартном модуле.
Для просмотра ссылки Войди или Зарегистрируйсярасписана установка альтернативного модуля
 
Назад
Сверху