Trotor 27 10/10/17 13:43 Есть ли какой то способ что бы модераторам выдавались модерирующие функции временно, а через некоторое время (скажем 30 дней) с пользователя автоматически снимались такие функции? Поделиться сообщением Ссылка на сообщение
Trotor 27 10/11/17 12:50 Насколько я знаю, нет такого.А если в файле отвечающим за модерирование выставить такую выборку на лимит? Поделиться сообщением Ссылка на сообщение
newbie 1723 10/12/17 06:03 А если в файле отвечающим за модерирование выставить такую выборку на лимит? Это где?Тут можно:- Добавить поле в таблицу модераторов- Добавить поле в АЦ на страницу добавления/редактирования модераторов, в котором указывать время окончания модерирования- Сравнивать временные метки, и, если время вышло, удалять запись из БД Поделиться сообщением Ссылка на сообщение
Trotor 27 10/12/17 12:20 - Добавить поле в таблицу модераторов - Добавить поле в АЦ на страницу добавления/редактирования модераторов, в котором указывать время окончания модерирования - Сравнивать временные метки, и, если время вышло, удалять запись из БДПодходит любой метод, главное что бы он меньше всего загружал метод. Поделиться сообщением Ссылка на сообщение
newbie 1723 10/12/17 12:45 Подходит любой метод, главное что бы он меньше всего загружал метод. Это описание 1 варианта, а не выбор. Поделиться сообщением Ссылка на сообщение
Trotor 27 10/12/17 15:19 Это описание 1 варианта, а не выбор.Пожжжжаалуйста, напишите плиз как это реализовать :) Поделиться сообщением Ссылка на сообщение
Trotor 27 10/15/17 13:45 @newbie, Так не поделитесь информацией как это реализовать? :( Поделиться сообщением Ссылка на сообщение
newbie 1723 10/16/17 05:57 Так не поделитесь информацией как это реализовать? Как появится время. Поделиться сообщением Ссылка на сообщение
Trotor 27 10/16/17 12:40 Как появится время.Спасибо, буду ждать. Поделиться сообщением Ссылка на сообщение
newbie 1723 10/16/17 12:52 Я в принципе написал черновик. Нужно только оформить и добраться до файлов. Поделиться сообщением Ссылка на сообщение
newbie 1723 10/17/17 07:22 Внимание! Перед тестами сделайте дамп таблицы 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 2 Поделиться сообщением Ссылка на сообщение
Strategius 52 10/17/17 09:21 @newbie, ого, а Ваш способ подойдёт для версии 3.4? И останется ли с ним выбор, каким модераторам оставить права навсегда, а каким поставить ограничение? Поделиться сообщением Ссылка на сообщение
newbie 1723 10/17/17 09:50 а Ваш способ подойдёт для версии 3.4? Не знаю. Можете проверить.И останется ли с ним выбор, каким модераторам оставить права навсегда, а каким поставить ограничение? Задачей будут удаляться модераторы, для которых установлен временной лимит. По умолчанию он равен 0. Оставляйте поле пустым при создании/редактировании модератора, чтобы дать права на неограниченное время. Поделиться сообщением Ссылка на сообщение
Trotor 27 10/17/17 12:01 Добавить новый методА куда его именно добавлять в файле moderator.php? В самый низ файла? Сейчас буду тестировать. Поделиться сообщением Ссылка на сообщение