Опубликовано: 10 октября 20178 г Есть ли какой то способ что бы модераторам выдавались модерирующие функции временно, а через некоторое время (скажем 30 дней) с пользователя автоматически снимались такие функции?
Опубликовано: 11 октября 20178 г Автор Насколько я знаю, нет такого.А если в файле отвечающим за модерирование выставить такую выборку на лимит?
Опубликовано: 12 октября 20178 г А если в файле отвечающим за модерирование выставить такую выборку на лимит? Это где?Тут можно:- Добавить поле в таблицу модераторов- Добавить поле в АЦ на страницу добавления/редактирования модераторов, в котором указывать время окончания модерирования- Сравнивать временные метки, и, если время вышло, удалять запись из БД
Опубликовано: 12 октября 20178 г Автор - Добавить поле в таблицу модераторов - Добавить поле в АЦ на страницу добавления/редактирования модераторов, в котором указывать время окончания модерирования - Сравнивать временные метки, и, если время вышло, удалять запись из БДПодходит любой метод, главное что бы он меньше всего загружал метод.
Опубликовано: 12 октября 20178 г Подходит любой метод, главное что бы он меньше всего загружал метод. Это описание 1 варианта, а не выбор.
Опубликовано: 12 октября 20178 г Автор Это описание 1 варианта, а не выбор.Пожжжжаалуйста, напишите плиз как это реализовать :)
Опубликовано: 15 октября 20178 г Автор @newbie, Так не поделитесь информацией как это реализовать? :(
Опубликовано: 16 октября 20178 г Так не поделитесь информацией как это реализовать? Как появится время.
Опубликовано: 16 октября 20178 г Я в принципе написал черновик. Нужно только оформить и добраться до файлов.
Опубликовано: 17 октября 20178 г Внимание! Перед тестами сделайте дамп таблицы moderators 1. Выполнить запросALTER TABLE `moderators` ADD `cmod_moderate_time` INT(10) NOT NULL DEFAULT '0'; 2. Открыть \admin\applications\forums\skin_cp\cp_skin_forums.phpНайти public function moderatorPermissionForm( $form, $form_code, $mid, $mem, $type, $gid, $gname, $button ) { Ниже добавить $cmodModTime = $form['cmod_moderate_time'] ? gmdate("d.m.Y", $form['cmod_moderate_time']) : null; Найти <li> <label>{$this->lang->words['frm_m_mm']}<span class='desctext'>( <a href='#' onClick="window.open('{$this->settings['_base_url']}app=core&module=help&id=mod_mmod','Help','width=250,height=400,resizable=yes,scrollbars=yes'); return false;">{$this->lang->words['frm_m_mm_info']}</a> )</span></label> {$form['can_mm']} </li> Ниже добавить <li> <label><span class='desc'>Дата окончания модерирования</span></label> <input type='text' size='20' name='cmod_moderate_time' id='cmod_moderate_time' class='input_text' value='{$cmodModTime}' /> <img src='{$this->settings['img_url']}/date.png' alt='{$this->lang->words['generic_date']}' id='cmod_moderate_time_icon' class='clickable' /> </li> <script type="text/javascript"> document.observe("dom:loaded", function() { $('cmod_moderate_time_icon').observe('click', function(){ new CalendarDateSelect( $('cmod_moderate_time'), { year_range: 6, close_on_click: true } ); }); }); </script> <script type='text/javascript' src='{$this->settings['public_dir']}js/3rd_party/calendar_date_select/calendar_date_select.js'></script> <link rel="stylesheet" type="text/css" media='screen' href="{$this->settings['public_dir']}/style_css/{$this->registry->output->skin['_csscacheid']}/calendar_select.css" /> 3. Открыть \admin\applications\forums\modules_admin\forums\moderator.php Найти 2 раза 'mod_can_set_close_time' => intval( $this->request['mod_can_set_close_time'] ), Ниже добавить 'cmod_moderate_time' => $this->modLimitDateToUnix($this->request['cmod_moderate_time']), Добавить новый метод private function modLimitDateToUnix($date) { $unixtime = strtotime($date); return ($unixtime > time()) ? $unixtime : 0; } 4. Загрузить файл \admin\applications\forums\tasks\modlimit.php 5. Импортировать задачуФайлыmodlimit.zip
Опубликовано: 17 октября 20178 г @newbie, ого, а Ваш способ подойдёт для версии 3.4? И останется ли с ним выбор, каким модераторам оставить права навсегда, а каким поставить ограничение?
Опубликовано: 17 октября 20178 г а Ваш способ подойдёт для версии 3.4? Не знаю. Можете проверить.И останется ли с ним выбор, каким модераторам оставить права навсегда, а каким поставить ограничение? Задачей будут удаляться модераторы, для которых установлен временной лимит. По умолчанию он равен 0. Оставляйте поле пустым при создании/редактировании модератора, чтобы дать права на неограниченное время.
Опубликовано: 17 октября 20178 г Автор Добавить новый методА куда его именно добавлять в файле moderator.php? В самый низ файла? Сейчас буду тестировать.
Опубликовано: 17 октября 20178 г Автор Кстати. А можно в темы вывести дату окончания модерирования? Даже лучше не дату, а кол-во дней модерирования?
Есть ли какой то способ что бы модераторам выдавались модерирующие функции временно, а через некоторое время (скажем 30 дней) с пользователя автоматически снимались такие функции?