Скрыть объявление
ВАШИ ПРАВА ОГРАНИЧЕНЫ!

Зарегистрируйтесь на форуме, чтобы стать полноценным участником сообщества!

Вопрос? Автоудаление аккаунта

Тема в разделе "Вопросы- ответы", создана пользователем Chernyshov, 19 сен 2023.

19.09.23 в 17:53
19.09.23 в 22:38
8
457
0
  1. TopicStarter Overlay
    Chernyshov

    Chernyshov Зелёный

    Регистрация:
    21 авг 2023
    Сообщения:
    10
    Лучших ответов:
    0
    Рейтинги:
    +2 / 0 / -0
    Приветствую, может подскажет кто возможно ли реализовать фичу с автоудалением аккаунта на dle, допустим человеку ввыдается аакаунт на 10 дней он на него заходит и через 10 дней удаляется, так же как и на 30 дней, заходит и через 30 дней удаляется.
     
  2. ZerocooL

    Команда форума Администратор VIP Кинотрафик v2

    Регистрация:
    29 янв 2015
    Сообщения:
    8.766
    Лучших ответов:
    10
    Мануалы:
    31
    Рейтинги:
    +5.194 / 240 / -1
  3. TopicStarter Overlay
    Chernyshov

    Chernyshov Зелёный

    Регистрация:
    21 авг 2023
    Сообщения:
    10
    Лучших ответов:
    0
    Рейтинги:
    +2 / 0 / -0
    Это все хорошо но не много не то, нужно что бы он посещал сайт но аккаунт всеравно удаляется через определенное время, т.е выдается на временное пользование.
     
  4. ZerocooL

    Команда форума Администратор VIP Кинотрафик v2

    Регистрация:
    29 янв 2015
    Сообщения:
    8.766
    Лучших ответов:
    10
    Мануалы:
    31
    Рейтинги:
    +5.194 / 240 / -1
    Chernyshov
    делай временное размещение в группе
    А потом переводи в группу без доступа к новостям и тд
    и настрой автоудаление
    В итоге без контента сайт посещатся не будет человеком и аккаунт удалится

    Костыль но стандартными средствами :)
     
    • Нравится Нравится x 1
  5. Пафнутий

    Пафнутий Бывалый

    Регистрация:
    7 май 2020
    Сообщения:
    330
    Лучших ответов:
    3
    Рейтинги:
    +130 / 19 / -0
    потерто, не совсем понял что хочет ТС, толи удаление после 10 дней с момента регистрации, то ли через 10 дней с момента первого входа в аккаунт.
     
    #5 Пафнутий, 19 сен 2023
    Последнее редактирование: 19 сен 2023
  6. TopicStarter Overlay
    Chernyshov

    Chernyshov Зелёный

    Регистрация:
    21 авг 2023
    Сообщения:
    10
    Лучших ответов:
    0
    Рейтинги:
    +2 / 0 / -0
    Вам видимо не понятно
     
  7. Пафнутий

    Пафнутий Бывалый

    Регистрация:
    7 май 2020
    Сообщения:
    330
    Лучших ответов:
    3
    Рейтинги:
    +130 / 19 / -0
    Правкой пары строчек движка тут не получится.

    Нужно добавлять поле (например, firstdate) в таблицу dle_users, в котором будет храниться дата первого входа. В файле авторизации заносить дату входа в это поле по условию если оно = 0. В файле engine/modules/cron.php менять условие lastdate < на firstdate!=0 and firstdate < 10 дней
     
  8. TopicStarter Overlay
    Chernyshov

    Chernyshov Зелёный

    Регистрация:
    21 авг 2023
    Сообщения:
    10
    Лучших ответов:
    0
    Рейтинги:
    +2 / 0 / -0
    Ну кстати как вариант
     
  9. evgfreeman

    VIP Кинотрафик v2

    Регистрация:
    26 апр 2016
    Сообщения:
    3.346
    Лучших ответов:
    7
    Рейтинги:
    +1.519 / 210 / -0
    Chernyshov создаешь самый простой скрипт на корне сайта в FTP без всяких правок на стороне DLE CMS.

    1. Создаешь папку /tools в корне каталога сайта.
    2. Создаешь в папке файл /tools/del.users.php
    3. Вставляешь код в этом файле и сохраняешь.

    PHP:
    <?php

    header
    ('Access-Control-Allow-Origin: *');
    header('Referer: origin');
    define'DATALIFEENGINE'true );

    if (isset(
    $_GET['cron']) && $_GET['cron'] === 'yes') {
     
        
    $cron filter_var($_GET['cron'], FILTER_SANITIZE_STRING);

        require_once 
    $_SERVER['DOCUMENT_ROOT'] . '/engine/classes/mysql.php';
        require_once 
    $_SERVER['DOCUMENT_ROOT'] . '/engine/data/dbconfig.php';

        
    $currentTime time();
        
    $maxAge 10 24 60 60// 10 дней
        
    $maxAge_1 30 24 60 60// 30 дней

        
    $sql "DELETE FROM dle_users WHERE user_group IN (3, 4) AND (" $currentTime " - reg_date) >= " $maxAge;
        
    //$sql_1 = "DELETE FROM dle_users WHERE user_group IN (3, 4) AND (" . $currentTime . " - reg_date) >= " . $maxAge_1; - 30 дней

        
    $dle $db->super_query($sql);
        
    //$dle_1 = $db->super_query($sql_1); - 30 дней
        
    echo "Успешно удалены.";

        
    $db->close();

    } else {
     
        die(
    '...');

    }

    ?>
    4. Закрываем доступ в robots.txt - Disallow: /dev/
    5. Запускаем cron (планировщик) в панели сервера и делаешь расписание и ссылку ставим https://site.ru/tools/del.users.php?cron=yes


    Этот скрипт может удалить из базы данных по определенной группе, я к примеру 3,4 выбрал для платных аккаунтов или обычных аккаунтов, у кого прошло 10 дней то и удаляются записи (аккаунты) кроме высших групп 1,2.

    По желанию можете настраивать сами, группы каким необходимы.

    Я к примеру свой скрипт написал, можете и удалять через способ с даты регистрации reg_date или с даты входа lastdate.

    Расширить скрипт дальше можно, убрав комментарии.
     
    #9 evgfreeman, 19 сен 2023
    Последнее редактирование: 19 сен 2023
    • Нравится Нравится x 1
Яндекс.Метрика