Страниц (43): В начало « ... 4 5 6 7 [8] 9 10 11 12 ... » В конец
Найдено сообщений: 642 |
CAB |
Отправлено: 18 июля 2013 — 21:30 • Тема: Разные небольшие проблемы • Форум: Решение проблем |
Ответов: 69 Просмотров: 0
|
Исправление сброса количества выводимых пользователей при переходе по страницам списка зарегистрированных пользователей. Для тех у кого есть эта проблема. Мне казалось что где-то на форуме было исправление, но не смог найти. Поэтому сделал сам.
В файле tools.php строкиCODE: $get_param = 'tools.php?action=members&s='.$sort.'&order='.$order.'&p={_P_}';
$per_page = (abs($fm->_Intval('pg', 25) > 100)) ? 100:abs($fm->input['pg']);
$pages = Print_Paginator(count($users),$get_param,$per_page,8,$first,TRUE);
замените на строкиCODE: $per_page = (abs($fm->_Intval('pg', 25) > 100)) ? 100 : abs($fm->input['pg']);
$get_param = 'tools.php?action=members&s='.$sort.'&order='.$order.'&p={_P_}&pg='.$per_page;
$per_page = (abs($per_page) > 100) ? 100 : abs($per_page);
$pages = Print_Paginator(count($users),$get_param,$per_page,8,$first,TRUE);
|
CAB |
Отправлено: 16 июля 2013 — 18:52 • Тема: robots.txt • Форум: Установка и обновление |
Ответов: 75 Просмотров: 0
|
YuraP0d, по моему в этой теме всё подробно разжёвано. По крайней мере я для себя роботс по этой теме делал. |
CAB |
Отправлено: 14 июля 2013 — 22:21 • Тема: Помогите отредактировать файл! • Форум: Темы оформления |
Ответов: 10 Просмотров: 0
|
Parapsixolog пишет:А по моему это лаг в работе ЧПУ. Проблема с длинными ссылками. Я уже писал об этом в теме ЧПУ. Я не стал писать про ЧПУ, хотя баг именно в нём. Не должно быть в УРЛе никаких кавычек. Длинна здесь не причём. Удали из УРЛа кавычку и редирект сработает. |
CAB |
Отправлено: 10 июля 2013 — 20:33 • Тема: Мод: Расширенные почтовые функции (Почтовая очередь) • Форум: Модификации и дополнения |
Ответов: 59 Просмотров: 0
|
Parapsixolog пишет:Я вот смотрю и смотрю на этот мод, но так и не пойму зачем он нужен. А точнее, в каком случае есть потребность для его установки. Этот мод нужен, если на хостинге есть ограничения на отправку писем. Как, например, здесь http://hosting.agava.ru/tp_normal.shtmlАгава пишет:Максимальное число писем в час 300
Время между отправкой писем 0.3 c.
Parapsixolog пишет:И я так же не понял доработку CAB, что она даёт Две вещи:
1. Устраняет ошибку в моде (некоторые письма не отправлялись с форума, в частности уведомления об удалении);
2. Позволяет запрещать отправку всех писем с форума на конкретные почтовые адреса и почтовые домены с помощью файла data/skip_mails.php аналогично данному функционалу без мода.
Parapsixolog пишет:как её вообще поставить. Нужно код _toQueue заменить на вышеприведённый код? Да. Я привёл полностью код функции _toQueue в моей модификации.
Parapsixolog пишет:И так несколько раз? Чего несколько раз?? |
CAB |
Отправлено: 25 июня 2013 — 20:49 • Тема: Мод: Расширенные почтовые функции (Почтовая очередь) • Форум: Модификации и дополнения |
Ответов: 59 Просмотров: 0
|
CAB пишет:Предупреждения об удалении модом так и не отправляются. Мне кажется я нашёл решение.
1. Код выложенный мной в этих сообщениях http://exbb.info/community/topic...67451#1370467451 и http://exbb.info/community/topic...47514#1370547514 не использовать! Если уже его использовали - верните всё как было до этого.
2. В файле modules/mailer/Mailer.class.php функцию _toQueue заменяем на следующий кодCODE: function _toQueue($args, $priority) {
global $fm;
$skip_mails = (file_exists(FM_SKIP_MAILS)) ? file(FM_SKIP_MAILS) : array();
if (count($skip_mails) !== 0) {
unset($skip_mails[0]);
$skip_mails = preg_replace("#(\r\n|\|$)#","",trim(implode("|",$skip_mails)));
} else {
$skip_mails = "@";
}
$users = $fm->_Read(FM_USERS);
if (is_array($args[2])) {
foreach ($args[2] as $user_id => $flag) {
if (isset($users[$user_id]['m']) && !preg_match("#(".$skip_mails.")$#is",$users[$user_id]['m'])) {
$args_temp[$user_id] = $users[$user_id]['m'];
}
}
$args[2] = array();
$args[2] = $args_temp;
} else if (!isset($args[2]) || preg_match("#(".$skip_mails.")$#is",$args[2])) {
return;
}
// Config start
$config = $this->getConfig();
$id = $config['id'] = isset($config['id']) ? $config['id'] : 1;
// List start
$list = $fm->_Read2Write($fpList, FM_MAILER_LIST_FILE);
$list[$id] = array($priority, true);
if (is_array($args[2])) {
$list[$id][2] = count($args[2]);
}
// Mail
$fm->_Read2Write($fpMail, sprintf(FM_MAILER_MAIL_FORMAT, $id));
$fm->_Write($fpMail, array($args[0], $args[1], $args[2], $args[3], $args[4]));
// List end
ksort($list);
uasort($list, create_function('$a, $b', 'if ($a[0] == $b[0]) return 0; return $a[0] < $b[0] ? -1 : 1;'));
$fm->_Write($fpList, $list);
// Config end
$config['id']++;
$this->saveConfig($config);
return true;
}
Как обычно прошу Юру проверить правильность написания и всех протестировать на своих форумах. |
CAB |
Отправлено: 16 июня 2013 — 14:47 • Тема: проблема с браузером Opera • Форум: Решение проблем |
Ответов: 59 Просмотров: 0
|
roma1 пишет:Я и так много этот файл правил и уже думаю возьму нулячий с версии rs1 Настоятельно не рекомендую. А то все предыдущие правки полетят. |
CAB |
Отправлено: 15 июня 2013 — 19:03 • Тема: проблема с браузером Opera • Форум: Решение проблем |
Ответов: 59 Просмотров: 0
|
roma1, у тебя расширенный редактор сообщений стоит или стандартный? Если расширенный не ставил, то поставь. В нём курсор между тегами ставится. |
CAB |
Отправлено: 6 июня 2013 — 19:38 • Тема: Мод: Расширенные почтовые функции (Почтовая очередь) • Форум: Модификации и дополнения |
Ответов: 59 Просмотров: 0
|
Виноват, немного соврал...
Предупреждения об удалении не отправляются модом. При этом переменная имеет вид [1]=>1 [2]=>2 [3]=>3. С отключенным модом отправляется всем выбранным.
Уведомления об обновлении темы отправляются, но переменная имеет вид [1]=>1 [2]=>1 [3]=>1, т.е. значение всегда 1.
(Добавление)
yura3d_2 пишет:копать нужно в сторону скрипта, отправляющего письма Для уведомлений об обновлении темы решение в следующих строкахCODE:
// Mail
$mail = $fm->_Read2Write($fpMail, sprintf(FM_MAILER_MAIL_FORMAT, $id));
$headers = $this->_makeHeaders($mail[0], $mail[1]);
$mail[2] = is_array($mail[2]) ? $mail[2] : array($mail[2]);
if (reset($mail[2]) === 1) {
$users = $fm->_Read(FM_USERS);
$uids = array_keys($mail[2]);
$mail[2] = array();
$skip_mails = (file_exists(FM_SKIP_MAILS)) ? file(FM_SKIP_MAILS) : array();
if (count($skip_mails) !== 0) {
unset($skip_mails[0]);
$skip_mails = preg_replace("#(\r\n|\|$)#","",trim(implode("|",$skip_mails)));
} else {
$skip_mails = "@";
}
foreach ($uids as $offset => $uid) {
if (isset($users[$uid]) && !preg_match("#(".$skip_mails.")$#is",$users[$uid]['m'])) {
$mail[2][] = $users[$uid]['m'];
}
unset($uids[$offset]);
}
unset($users);
}
Предупреждения об удалении модом так и не отправляются. Юра, думаю тут я без твоей помощи не обойдусь... |
CAB |
Отправлено: 6 июня 2013 — 19:07 • Тема: Мод: Расширенные почтовые функции (Почтовая очередь) • Форум: Модификации и дополнения |
Ответов: 59 Просмотров: 0
|
yura3d_2 пишет:Вроде бы проблем никаких на первый взгляд не вижу Юра, сейчас гонял мод с дополнением в разных вариантах отправки писем и увидел такую штуку: в некоторых вариантах, в частности при отправки уведомлений об обновлении темы и предупреждения об удалении, переменная $args[2] принимает значение не адреса почты и не массива адресов почты, а массива с цифрами вида [1]=>1 [3]=>1 [2]=>2 и тому подобное. Блокировка адресов в этом случае не срабатывает. Я не могу сообразить, как в этом случае скрипт понимает на какой адрес ему отправлять почту? |
CAB |
Отправлено: 5 июня 2013 — 21:24 • Тема: Мод: Расширенные почтовые функции (Почтовая очередь) • Форум: Модификации и дополнения |
Ответов: 59 Просмотров: 0
|
CAB пишет:Что для реализации такой возможности нужно? Юра, подскажи, пожалуйста, насколько правилен, для использования файла data/skip_mails.php с включенным модом, такой вариант содержимого файла modules/mailer/Mailer.class.php?CODE:
function _toQueue($args, $priority) {
global $fm;
$skip_mails = (file_exists(FM_SKIP_MAILS)) ? file(FM_SKIP_MAILS) : array();
if (count($skip_mails) !== 0) {
unset($skip_mails[0]);
$skip_mails = preg_replace("#(\r\n|\|$)#","",trim(implode("|",$skip_mails)));
} else {
$skip_mails = "@";
}
if (is_array($args[2])) {
foreach ($args[2] as $emails_id => $emails_flag) {
if (isset($emails_id) && !preg_match("#(".$skip_mails.")$#is",$emails_flag)) {
$args_temp[$emails_id] = $emails_flag;
}
}
$args[2] = array();
$args[2] = $args_temp;
} else if (preg_match("#(".$skip_mails.")$#is",$args[2])) {
return;
}
// Config start
$config = $this->getConfig();
$id = $config['id'] = isset($config['id']) ? $config['id'] : 1;
// List start
$list = $fm->_Read2Write($fpList, FM_MAILER_LIST_FILE);
$list[$id] = array($priority, true);
if (is_array($args[2])) {
$list[$id][2] = count($args[2]);
}
// Mail
$fm->_Read2Write($fpMail, sprintf(FM_MAILER_MAIL_FORMAT, $id));
$fm->_Write($fpMail, array($args[0], $args[1], $args[2], $args[3], $args[4]));
// List end
ksort($list);
uasort($list, create_function('$a, $b', 'if ($a[0] == $b[0]) return 0; return $a[0] < $b[0] ? -1 : 1;'));
$fm->_Write($fpList, $list);
// Config end
$config['id']++;
$this->saveConfig($config);
return true;
}
Я уже точно не помню, что я в нём нахимичил, но вроде ковырял только функцию _toQueue. |
CAB |
Отправлено: 5 июня 2013 — 13:11 • Тема: Модификация алгоритма расчёта "популярности" темы • Форум: Обсуждение |
Ответов: 5 Просмотров: 0
|
Впервые, по крайней мере на ExBB, модифицирован алгоритм расчёта "популярности" темы.
Теперь тема становится "горячей" не просто по достижении заданного количества сообщений, а по достижении заданного среднего количества сообщений в сутки за весь период существования темы. Соответственно, теперь тема "тухнет", если в неё долго ничего не пишут.
В файле include/lib.php находите строкиCODE:if ($topic['posts'] >= $fm->exbb['hot_topic'] && $topic['postdate'] <= $read_time) return '<img src="'.$icon_path.'/hotnonew.gif" border="0">';
if ($topic['posts'] >= $fm->exbb['hot_topic']) return '<img src="'.$icon_path.'/hotnew.gif" border="0">'; Если строки в таком виде не находятся, то ориентируйтесь на переменнуюCODE:$fm->exbb['hot_topic']
В обоих этих строках заменяем переменнуюна кодCODE:$topic['posts']/max(1, round((time() - $topic['date'])/86400)) На этом всё. |
|
Страниц (43): В начало « ... 4 5 6 7 [8] 9 10 11 12 ... » В конец
|