Скрипт Tamaranga DO [ Обсуждение ] [Вопрос-Ответ] [Доработки] [Идеи] - Общая тема

Пришло ли время снизить хайд для загрузки сборки?


  • Всего проголосовало
    30
  • Опрос закрыт .
Вы сначала сами код посмотрите, а потом рассказывайте всем что там делается...
В файле bbs.model.php описывается itemsCronStatus, он делает "# 1. Актуализация статуса объявлений", "# 2. Уведомление о скором завершении публикации объявлений", "# 3. Полное удаление объявлений" (это как раз и есть itemsCronDelete и вызывается именно через itemsCronStatus в файле bbs.class.php).

Комична ситуация что вы код не смотрели, удаляются только объявления у которых закончился срок публикации и с тех пор прошло 'bbs.delete.timeout' => 100 дней указанных в конфиге, остальные не удаляются! Без моей правки они совсем не удаляются.
Вы пишете полную чушь. Лучше прочитайте ещё раз то что я написал вам выше. В этом напишу следующее, теперь включите ваш мозг и ответьте себе, зачем вам хранить 100 дней объявления, которые удалил пользователь сам? Ваша логика зашкаливает, вы решили одним выстрелом убить двух зайцев. :) Так вот если по задаче стоит решить вопрос с отслеживанием снятых с публикации объявлений, то стоит создать отдельный метод с добавлением в конфиг отдельного лимита по времени, или расширить имеющийся, но развести зайцев на два выстрела. Да и вообще так и задумано, тут в пору решать обратное, что бы пользователь после удаления мог восстановить объявление, например случайно удалил. Это более правильно и логично.
 

Вложения

  • del-1.jpg
    del-1.jpg
    84,3 KB · Просмотры: 97
Последнее редактирование:
В этом напишу следующее, теперь включите ваш мозг и ответьте себе, зачем вам хранить 100 дней объявления, которые удалил пользователь сам? Ваша логика зашкаливает, вы решили одним выстрелом убить двух зайцев.
Мы неправильно друг друга поняли.
В данный момент через крон в itemsCronStatus удаляются объявления которые пользователь удалил сам через bbs.delete.timeout дней. Объявления которые сняты с публикации вообще не удаляются, это ведет к разрастанию сайта в несколько гигабайт, т.к. хранятся все фото объявлений. Если кто-то хочет что бы удалялись они тоже, сделайте правку как в моем посте.
 
Мы неправильно друг друга поняли.
В данный момент через крон в itemsCronStatus удаляются объявления которые пользователь удалил сам через bbs.delete.timeout дней. Объявления которые сняты с публикации вообще не удаляются, это ведет к разрастанию сайта в несколько гигабайт, т.к. хранятся все фото объявлений. Если кто-то хочет что бы удалялись они тоже, сделайте правку как в моем посте.
А какой смысл использовать, если выше пояснили, что глупость хранить удалённые объявления 100 дней? Если нехватка места под хранение, то оптимизация по размеру, выше уже обсуждалось. А так, что вы сделали, убрали из фильтра условие выбирать для удаления объявления отправленные пользователем на удаление. Если такие объявления удалялись через сутки, то теперь они будут удалятся через 100 дней. Реально глупо.
 
Убедили, переделал метод.
Я посмотрел, когда пользователь удаляет объявление он нажимает на "деактивировать", а что бы удалить его он должен еще зайти в неактивные и нажать удалить(врядли это кто-то будет делать). До тех пор пока он это не сделал, объявление и фото от него будет на сайте храниться.
С этим методом будут удаляться и неактивные объявления и с истекшим сроком публикации через bbs.delete.period дней
Код:
В файле config\sys.php добавить:
    'bbs.delete.period'  => 100, // Полное удаление объявлений с истекшим сроком публикации и неактивных через X дней после окончания публикации, 0 - не удалять

В файле modules\bbs\bbs.model.php заменить метод itemsCronDelete на:

    /**
     * Полное удаление удаленных пользователем объявлений через bbs.delete.timeout дней после окончания публикации
     * Полное удаление объявлений с истекшим сроком публикации и неактивных через bbs.delete.period дней
     */
    public function itemsCronDelete()
    {
        $nDays = config::sys('bbs.delete.timeout', 0);
        $nDays2 = config::sys('bbs.delete.period', 0);
       
        if (!$nDays2) {
        $aItemsID2 = $this->db->select_one_column('SELECT id
            FROM '.TABLE_BBS_ITEMS.'
            WHERE status = :status AND publicated_to < :date
        ', array(
            ':status' => BBS::STATUS_PUBLICATED_OUT,
            ':date'   => date('Y-m-d H:i:s', strtotime('- '.$nDays2.' days')),
        ));
        if (!empty($aItemsID2)) {
            $this->itemsDelete($aItemsID2, false);
            }
        }
       
        if (!$nDays) return;

        $aItemsID = $this->db->select_one_column('SELECT id
            FROM '.TABLE_BBS_ITEMS.'
            WHERE deleted > 0 AND status = :status AND publicated_to < :date
        ', array(
            ':status' => BBS::STATUS_PUBLICATED_OUT,
            ':date'   => date('Y-m-d H:i:s', strtotime('- '.$nDays.' days')),
        ));
        if (!empty($aItemsID)) {
            $this->itemsDelete($aItemsID, false);
        }
    }
 
Убедили, переделал метод.
Я посмотрел, когда пользователь удаляет объявление он нажимает на "деактивировать", а что бы удалить его он должен еще зайти в неактивные и нажать удалить(врядли это кто-то будет делать). До тех пор пока он это не сделал, объявление и фото от него будет на сайте храниться.
С этим методом будут удаляться и неактивные объявления и с истекшим сроком публикации через bbs.delete.period дней
Код:
В файле config\sys.php добавить:
    'bbs.delete.period'  => 100, // Полное удаление объявлений с истекшим сроком публикации и неактивных через X дней после окончания публикации, 0 - не удалять

В файле modules\bbs\bbs.model.php заменить метод itemsCronDelete на:

    /**
     * Полное удаление удаленных пользователем объявлений через bbs.delete.timeout дней после окончания публикации
     * Полное удаление объявлений с истекшим сроком публикации и неактивных через bbs.delete.period дней
     */
    public function itemsCronDelete()
    {
        $nDays = config::sys('bbs.delete.timeout', 0);
        $nDays2 = config::sys('bbs.delete.period', 0);
     
        if (!$nDays2) {
        $aItemsID2 = $this->db->select_one_column('SELECT id
            FROM '.TABLE_BBS_ITEMS.'
            WHERE status = :status AND publicated_to < :date
        ', array(
            ':status' => BBS::STATUS_PUBLICATED_OUT,
            ':date'   => date('Y-m-d H:i:s', strtotime('- '.$nDays2.' days')),
        ));
        if (!empty($aItemsID2)) {
            $this->itemsDelete($aItemsID2, false);
            }
        }
     
        if (!$nDays) return;

        $aItemsID = $this->db->select_one_column('SELECT id
            FROM '.TABLE_BBS_ITEMS.'
            WHERE deleted > 0 AND status = :status AND publicated_to < :date
        ', array(
            ':status' => BBS::STATUS_PUBLICATED_OUT,
            ':date'   => date('Y-m-d H:i:s', strtotime('- '.$nDays.' days')),
        ));
        if (!empty($aItemsID)) {
            $this->itemsDelete($aItemsID, false);
        }
    }
Не собирался вас в чём то убеждать, а конкретно указал на вашу невнимательность, нелогичность и глупость. При этом вам бы прислушаться к тому, что вам пишут. Задать какие то вопросы по логике и т.д. Вы же ошарашиваете очередной глупостью, извините за тон, но назвать такое иначе не в состоянии. В вашем методе я дошёл до условия
PHP:
if (!$nDays2)
Дальше смотреть не стал. Комментарии излишни. Надеюсь сами поймёте, почему они излишни. Я конечно понимаю есть разные задачи, но считаю, что удалять неактивные объявления, не удалённые самим пользователем нельзя. Например на том же авито у меня есть объявления на прием на работу. Работа сезонная, только летом, но каждый год. Поэтому я уже на протяжении трёх лет, в нужный для меня момент активирую эти объявления. Поэтому я даже не буду решать такую задачу, сейчас чёрный кот освободится и напишет как, я участвовать в таком не хочу.
 
Задействовал функцию склонения. Склоняет русский, украинский не хочет, на английском начинает криво работать, не грузит содержимое раздела куплю.
 
Задействовал функцию склонения. Склоняет русский, украинский не хочет, на английском начинает криво работать, не грузит содержимое раздела куплю.
Скрытое содержимое доступно для зарегистрированных пользователей!
 
  • Заблокирован
  • #99
Вывод категорий в 3 колонки
Идем в modules/bbs/tpl/def/index.cats.desktop.php и полностью заменяем код
Код:
<?php
    /**
     * Главная страница: вид с картой №2
     * @var $this Site
     * @var $cats array категории
     */
    $visibleMainCategories = 3; // Кол-во категорий выводимых до ссылки "Все категории"
?>
<div class="index__catlist hidden-phone">
    <?
    $i = 0;
    $j = 0;
    foreach ($cats as $k => $v) { ?>
        <?php if ($j == $visibleMainCategories){ $i = 0; ?>
        <div class="clearfix"></div>
        <div id="index-categories" class="collapse">
        <?php } ?>
        <div class="index__catlist__item index__catlist__item__sm i<?= $i % 3 ?> ">
            <a href="#" class="img"><img src="<?= $v['i'] ?>" alt=""/></a>
            <div class="title"><a href="<?= $v['l'] ?>"><?= $v['t'] ?></a>
                <span class="index__catlist__item__count"><?= $v['items'] ?></span>
            </div>
            <?php if ($v['subn']) { ?>
                <ul class="links__vert">
                    <?php foreach ($v['sub'] as $vv) { ?>
                        <li><a href="<?= $vv['l'] ?>"><?= $vv['t'] ?></a></li>
                    <?php } ?>
                </ul>
            <?php } ?>
        </div>
        <?php $j++;
        if (($i++ % 3) == 2) { ?>
            <div class="clearfix"></div>
        <?php } ?>
    <?php } ?>
    <?php if ($j > 0) { ?>
        </div>
        <div class="index__more">
            <a href="#index-categories" data-toggle="collapse" class="collapsed"><span class="index__more__show"><?= _t('site','Все категории') ?></span>
                <span class="index__more__hide"><?= _t('site','Свернуть') ?></span>
            </a>
        </div>
    <?php } ?>
</div>
 

Вложения

  • Screenshot(1).png
    Screenshot(1).png
    35,6 KB · Просмотры: 138
Последнее редактирование:
Помогите подключить Яндекс Деньги к Tamaranga 2.2
Выдернул код с версии 2.3
Дописал в файлах:
bills.class.php
bills.bl.class.php
frontend.php
base.php
pay.request.form.php
добавил иконки соответственно
ну и в файл sys.php добавил систему оплаты
Все отображается переходит на сайт платежной системы происходит успешная оплата.
Но баланс пользователя не пополняется!
Делаешь запрос Для просмотра ссылки Войди или Зарегистрируйся
Выход: - Платежная система не подключена
В чем проблема понять не могу.
С Робокассой проблем нет - оплата проходит баланс пополняется без проблем
 
Назад
Сверху