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

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

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

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

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

    Chernyshov Зелёный

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

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

    Сообщения:
    8.768
    Симпатии:
    4.466
    Лучших ответов:
    10
    Мануалы:
    31
  3. TopicStarter Overlay
    Chernyshov

    Chernyshov Зелёный

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

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

    Сообщения:
    8.768
    Симпатии:
    4.466
    Лучших ответов:
    10
    Мануалы:
    31
    Chernyshov
    делай временное размещение в группе
    А потом переводи в группу без доступа к новостям и тд
    и настрой автоудаление
    В итоге без контента сайт посещатся не будет человеком и аккаунт удалится

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

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

    Сообщения:
    331
    Симпатии:
    62
    Лучших ответов:
    3
    потерто, не совсем понял что хочет ТС, толи удаление после 10 дней с момента регистрации, то ли через 10 дней с момента первого входа в аккаунт.
     
    Последнее редактирование: 19 сен 2023
  6. TopicStarter Overlay
    Chernyshov

    Chernyshov Зелёный

    Сообщения:
    10
    Симпатии:
    2
    Лучших ответов:
    0
    Вам видимо не понятно
     
  7. Пафнутий

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

    Сообщения:
    331
    Симпатии:
    62
    Лучших ответов:
    3
    Правкой пары строчек движка тут не получится.

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

    Chernyshov Зелёный

    Сообщения:
    10
    Симпатии:
    2
    Лучших ответов:
    0
    Ну кстати как вариант
     
  9. evgfreeman

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

    Сообщения:
    3.349
    Симпатии:
    1.046
    Лучших ответов:
    7
    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.

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