Быстрый лёгкий надёжный форумный движок
Вы не вошли.
А как сделать, чтобы в определенных разделах не увеличивалось кол-во сообщений у юзеров?
+1 к вопросу... Было бы неплохо...
Можно просто по id форума, а если полностью (чтоб все красиво и с плагином для админки) то вроде нету. Полностью мне особо не нужно, а если по id то могу код подсказать
Плиз!
В post.php должна быть примерно такая штука:
// If the posting user is logged in, increment his/her post count
if (!$pun_user['is_guest'])
{
$low_prio = ($db_type == 'mysql') ? 'LOW_PRIORITY ' : '';
$db->query('UPDATE '.$low_prio.$db->prefix.'users SET num_posts=num_posts+1, last_post='.$now.' WHERE id='.$pun_user['id']) or error('Unable to update user', __FILE__, __LINE__, $db->error());
}
мы берем и недолго думаем меняем на
// If the posting user is logged in, increment his/her post count
if (!$pun_user['is_guest'] && $cur_posting['id'] != 123)
{
$low_prio = ($db_type == 'mysql') ? 'LOW_PRIORITY ' : '';
$db->query('UPDATE '.$low_prio.$db->prefix.'users SET num_posts=num_posts+1, last_post='.$now.' WHERE id='.$pun_user['id']) or error('Unable to update user', __FILE__, __LINE__, $db->error());
}
Вот так по идее должно сработать
Теперь вообще ни в каком разделе у юзеров не прибавляются сообщения
if ((!$pun_user['is_guest']) && ($cur_posting['id'] != 4))
{
$low_prio = ($db_type == 'mysql') ? 'LOW_PRIORITY ' : '';
$db->query('UPDATE '.$low_prio.$db->prefix.'users SET num_posts=num_posts+1, last_post='.$now.' WHERE id='.$pun_user['id']) or error('Unable to update user', __FILE__, __LINE__, $db->error());
}
Ну попробуй как-нибудь так, только что проверил у себя - все работает.
Парсе эррор! Пост.Пхп онлайн 87.
Стандартный пакет 1.2.14
Как надоест эррор, запости сюда лайн 87
) закрывающаяся скобка
Ни кто не знает чтоли?
Предпоследний пост вероятно поверг в панику всех посетителей и лично я растерялся и не знаю что сказать. Вот. А если честно то можно ответить на вот этот пост: http://punbb.ru/viewtopic.php?pid=6886#p6886
Pminaeff
Во первых включи PUN_DEBUG, во вторых копируй сюда ошибку целиком.
В третьих открой файл post.php, найди строку 87, скопируй ее в буфер обмена, открой эту тему, в окне ответа вставь из буфера скопированную строку сюда.
Slavik
hcs
наверное на строке 87 находиться одна скобка
а псоле написано "закрывающаяся скобка" Пости сюда строчки ~80 - ~90
Slavik
hcs
наверное на строке 87 находиться одна скобка
в ТАКОМ СЛУЧАЕ НАДО 10 ДО ЭТОЙ СТРОКИ И 10 ПОСЛЕ, ИТОГО 21 СТРОКУ.
Добавлено 01.17.2007 13:01:03:
извините за неровный почерк
hcs
Ну вы попросили Pminaeff вам строчку, он вам и выдал человек новый видимо правила не читал
Parse error: parse error, unexpected T_ELSE in z:\home\minaev.ru\www\1\forum\post.php on line 88
// Did someone just hit "Submit" or "Preview"?
if (isset($_POST['form_sent']))
{
// Make sure form_user is correct
if (($pun_user['is_guest'] && $_POST['form_user'] != 'Guest') || (!$pun_user['is_guest'] && $_POST['form_user'] != $pun_user['username']))
message($lang_common['Bad request']);
// Flood protection
if (!$pun_user['is_guest'] && !isset($_POST['preview']) && $pun_user['last_post'] != '' && (time() - $pun_user['last_post']) < $pun_user['g_post_flood'])
$errors[] = $lang_post['Flood start'].' '.$pun_user['g_post_flood'].' '.$lang_post['flood end'];
// If it's a new topic
if ($fid)
{
$subject = pun_trim($_POST['req_subject']);
$errors[] = $lang_post['No subject'];
else if (pun_strlen($subject) > 70)
$errors[] = $lang_post['Too long subject'];
else if ($pun_config['p_subject_all_caps'] == '0' && strtoupper($subject) == $subject && $pun_user['g_id'] > PUN_MOD)
$subject = ucwords(strtolower($subject));
}
// If the user is logged in we get the username and e-mail from $pun_user
if (!$pun_user['is_guest'])
{
$username = $pun_user['username'];
$email = $pun_user['email'];
}
Было б замечательно все поместить в тег code и указать где именно 87 строка
$errors[] = $lang_post['No subject'];
Ну вот и проблема стала очевидной, вот в этом фрагменте:
// If it's a new topic
if ($fid)
{
$subject = pun_trim($_POST['req_subject']);
$errors[] = $lang_post['No subject'];
else if (pun_strlen($subject) > 70)
$errors[] = $lang_post['Too long subject'];
else if ($pun_config['p_subject_all_caps'] == '0' && strtoupper($subject) == $subject && $pun_user['g_id'] > PUN_MOD)
$subject = ucwords(strtolower($subject));
}
Кудато пропала вот эта строка:
if ($subject == '')
Т.е. приведенный мной код должен выглядеть так:
// If it's a new topic
if ($fid)
{
$subject = pun_trim($_POST['req_subject']);
if ($subject == '')
$errors[] = $lang_post['No subject'];
else if (pun_strlen($subject) > 70)
$errors[] = $lang_post['Too long subject'];
else if ($pun_config['p_subject_all_caps'] == '0' && strtoupper($subject) == $subject && $pun_user['g_id'] > PUN_MOD)
$subject = ucwords(strtolower($subject));
}
Будьте аккуратны с кодом.
Parse error: parse error, unexpected $end in z:\home\minaev.ru\www\1\forum\post.php on line 589
<?php
}
?>
</div>
<?php
}
require PUN_ROOT.'footer.php';
589 строка такая:
require PUN_ROOT.'footer.php';
Будьте аккуратны с кодом.
Где-то забыл }, попробуй добавить в самом конце, перед последней скобкой
Капец. Как так получается, что дают вставить код в конкретное место, а получается, что по всему файлу вырезаны куски?
а мод-то кривой...
// If the posting user is logged in, increment his/her post count
if (!$pun_user['is_guest'] && $cur_posting['id'] != 123)
{
$low_prio = ($db_type == 'mysql') ? 'LOW_PRIORITY ' : '';
$db->query('UPDATE '.$low_prio.$db->prefix.'users SET num_posts=num_posts+1, last_post='.$now.' WHERE id='.$pun_user['id']) or error('Unable to update user', __FILE__, __LINE__, $db->error());
}
это позволяет не учитывать сообщения не в разделах , а только в топиках. в данном случае в топике под номером в базе 123...
у разделов совсем другая нумерация, и хранится в другой таблице не в posts а в topics. так что поправьте!