PS: ну и где там order by вставить?
[BETA] Democracy MOD 0.2.1 (reputation + warnings + reports)
-
dj_maxx
- phpBB 1.0.0
- Сообщения: 6
- Стаж: 19 лет 4 месяца
Даже в самой последней версии мода имеет место проблема с отображением "Наши самые уважаемые пользователи". А именно, я выбрал показывать 3 самых уважаемых пользователя. Сначала всё показывалось нормально, но когда я поставил показывать 5 самых уважаемых пользователей - они стали отображаьтся без сортировки ро репутации, т.е. вторым стал тот кто должен быть 5-м и т.д.
PS: ну и где там order by вставить?
PS: ну и где там order by вставить?
-
Thanx
- phpBB 2.0.2
- Сообщения: 334
- Стаж: 19 лет 11 месяцев
- Благодарил (а): 15 раз
-
Carbofos
- phpBB 1.4.4
- Сообщения: 158
- Стаж: 20 лет 9 месяцев
-
Thanx
- phpBB 2.0.2
- Сообщения: 334
- Стаж: 19 лет 11 месяцев
- Благодарил (а): 15 раз
Карбофос, очень надеюсь. Общаясь на форуме оптимизаторов forum.searchengines.ru я бы сказал, что кратность иногда стимулирует опытных оптимизаторов делится секретами, как это ни странно.
Да и вообще, кратность - мощная вещь. Вроде бы кто за ней гонится из пользователей? Да никто, все взрослые люди. Однако, она несомненно работает на подсознательном уровне.
-
Carbofos
- phpBB 1.4.4
- Сообщения: 158
- Стаж: 20 лет 9 месяцев
dj_maxx
Все-таки баг имел место...
Вот фикс: (ничего, что дифф-ом?)
index.php:
Все-таки баг имел место...
Вот фикс: (ничего, что дифф-ом?)
index.php:
Код: Выделить всё
$reputation = $row['user_reputation'];
}
- if ($reputation && ($rep_cache['num_most_respected'] = reputation_user_list('user_reputation >= ' . $reputation, $rep_list)))
+ if ($reputation && ($rep_cache['num_most_respected'] = reputation_user_list('user_reputation >= ' . $reputation . ' ORDER BY user_reputation DESC', $rep_list)))
{
$rep_cache['most_respected'] = $rep_list;
}
@@ -150,7 +150,7 @@
$reputation = $row['user_reputation'];
}
- if ($reputation && ($rep_cache['num_least_respected'] = reputation_user_list('user_reputation <= ' . $reputation, $rep_list)))
+ if ($reputation && ($rep_cache['num_least_respected'] = reputation_user_list('user_reputation <= ' . $reputation . ' ORDER BY user_reputation ASC', $rep_list)))
{
$rep_cache['least_respected'] = $rep_list;
}-
Thanx
- phpBB 2.0.2
- Сообщения: 334
- Стаж: 19 лет 11 месяцев
- Благодарил (а): 15 раз
-
Carbofos
- phpBB 1.4.4
- Сообщения: 158
- Стаж: 20 лет 9 месяцев
-
Thanx
- phpBB 2.0.2
- Сообщения: 334
- Стаж: 19 лет 11 месяцев
- Благодарил (а): 15 раз
-
ETZel
- phpBB 1.4.3
- Сообщения: 93
- Стаж: 19 лет 11 месяцев
- Откуда: Челябинск
Thanx
post_id = -1, forum_id != -1 => отзыв на удаленный пост в форуме forum_id
а индекс expire используется в запросе на определение истекших предупреждений/банов в page_header.php.
post_id = -1, forum_id = -1 => отзыв не за пост (из профиля)Thanx писал(а):А почему в таблице reputation значение по умолчанию меняется с нуля на -1 и у поля forum_id убирается значение unsigned?
post_id = -1, forum_id != -1 => отзыв на удаленный пост в форуме forum_id
Очевидно, потому что индекс forum_id не используется,Thanx писал(а):Почему forum_id в ключах этой таблицы удаляется, а expire добавляется?
а индекс expire используется в запросе на определение истекших предупреждений/банов в page_header.php.
-
Thanx
- phpBB 2.0.2
- Сообщения: 334
- Стаж: 19 лет 11 месяцев
- Благодарил (а): 15 раз
Данные админки не сохраняются, в чем может быть проблема?
Добавлено спустя 4 минуты 6 секунд:
Ой, извините, это у меня в config все поля с началом "reputation" пропали.
Добавлено спустя 1 минуту 16 секунд:
Теперь все в порядке. Извините за беспокойство.
Добавлено спустя 30 минут 12 секунд:
При настройке posting.php
в файле democracy020.txt написано:
#
#-----[ FIND ]------------------------------------------
#
case 'newtopic':
case 'reply':
$username = ( !empty($HTTP_POST_VARS['username']) ) ? $HTTP_POST_VARS['username'] : '';
#
#-----[ BEFORE, ADD ]------------------------------------------
#
////////////democracy/////
if ( $post_data['poster_id'] != $userdata['user_id'] )
{
$post_data['post_locked'] = ( !empty($HTTP_POST_VARS['lock_post']) ? 1 : 0 );
}
//////////////////////
Могу сказать, что точно не [ BEFORE, ADD ], т.к. нарушается структура switch. Да и пхп сразу выругалось
Parse error: parse error, unexpected T_IF, expecting T_CASE or T_DEFAULT or '}' in /home/avflowe7/public_html/flower/posting.php on line 360
вот здесь:
////////////democracy/////
--->(error) if ( $post_data['poster_id'] != $userdata['user_id'] )
{
$post_data['post_locked'] = ( !empty($HTTP_POST_VARS['lock_post']) ? 1 : 0 );
}
//////////////////////
case 'newtopic':
$redirect = "mode=newtopic&" . POST_FORUM_URL . "=" . $forum_id;
break;
case 'reply':
case 'topicreview':
$redirect = "mode=reply&" . POST_TOPIC_URL . "=" . $topic_id;
break;
case 'quote':
case 'editpost':
$redirect = "mode=quote&" . POST_POST_URL ."=" . $post_id;
break;
}
Добавлено спустя 11 часов 3 минуты 14 секунд:
'reputation_least_respected_user' => 'Наш самый неуважаемый пользователь: ',
'reputation_least_respected_users' => 'Наши самые неуважаемые пользователи: ',
это этичнее переписать так, чтобы не распугивать форумчан:
'reputation_least_respected_user' => 'Пользователь с самой низкой репутацией: ',
'reputation_least_respected_users' => 'Пользователи с самой низкой репутацией: ',
Добавлено спустя 4 минуты 6 секунд:
Ой, извините, это у меня в config все поля с началом "reputation" пропали.
Добавлено спустя 1 минуту 16 секунд:
Теперь все в порядке. Извините за беспокойство.
Добавлено спустя 30 минут 12 секунд:
При настройке posting.php
в файле democracy020.txt написано:
#
#-----[ FIND ]------------------------------------------
#
case 'newtopic':
case 'reply':
$username = ( !empty($HTTP_POST_VARS['username']) ) ? $HTTP_POST_VARS['username'] : '';
#
#-----[ BEFORE, ADD ]------------------------------------------
#
////////////democracy/////
if ( $post_data['poster_id'] != $userdata['user_id'] )
{
$post_data['post_locked'] = ( !empty($HTTP_POST_VARS['lock_post']) ? 1 : 0 );
}
//////////////////////
Могу сказать, что точно не [ BEFORE, ADD ], т.к. нарушается структура switch. Да и пхп сразу выругалось
Parse error: parse error, unexpected T_IF, expecting T_CASE or T_DEFAULT or '}' in /home/avflowe7/public_html/flower/posting.php on line 360
вот здесь:
////////////democracy/////
--->(error) if ( $post_data['poster_id'] != $userdata['user_id'] )
{
$post_data['post_locked'] = ( !empty($HTTP_POST_VARS['lock_post']) ? 1 : 0 );
}
//////////////////////
case 'newtopic':
$redirect = "mode=newtopic&" . POST_FORUM_URL . "=" . $forum_id;
break;
case 'reply':
case 'topicreview':
$redirect = "mode=reply&" . POST_TOPIC_URL . "=" . $topic_id;
break;
case 'quote':
case 'editpost':
$redirect = "mode=quote&" . POST_POST_URL ."=" . $post_id;
break;
}
Добавлено спустя 11 часов 3 минуты 14 секунд:
'reputation_least_respected_user' => 'Наш самый неуважаемый пользователь: ',
'reputation_least_respected_users' => 'Наши самые неуважаемые пользователи: ',
это этичнее переписать так, чтобы не распугивать форумчан:
'reputation_least_respected_user' => 'Пользователь с самой низкой репутацией: ',
'reputation_least_respected_users' => 'Пользователи с самой низкой репутацией: ',
-
ETZel
- phpBB 1.4.3
- Сообщения: 93
- Стаж: 19 лет 11 месяцев
- Откуда: Челябинск
Не должна нарушаться, потому что после вставки код выглядит так:Thanx писал(а):Могу сказать, что точно не [ BEFORE, ADD ], т.к. нарушается структура switch.
Код: Выделить всё
case 'editpost':
////////////democracy/////
if ( $post_data['poster_id'] != $userdata['user_id'] )
{
$post_data['post_locked'] = ( !empty($HTTP_POST_VARS['lock_post']) ? 1 : 0 );
}
//////////////////////
case 'newtopic':
case 'reply':
$username = ( !empty($HTTP_POST_VARS['username']) ) ? $HTTP_POST_VARS['username'] : '';-
Thanx
- phpBB 2.0.2
- Сообщения: 334
- Стаж: 19 лет 11 месяцев
- Благодарил (а): 15 раз
Вот вырезка из исходника, проверьте!
switch( $mode )
{
case 'newtopic':
$redirect = "mode=newtopic&" . POST_FORUM_URL . "=" . $forum_id;
break;
case 'reply':
case 'topicreview':
$redirect = "mode=reply&" . POST_TOPIC_URL . "=" . $topic_id;
break;
case 'quote':
case 'editpost':
$redirect = "mode=quote&" . POST_POST_URL ."=" . $post_id;
break;
}
и если сделать
#
#-----[ FIND ]------------------------------------------
#
case 'newtopic':
case 'reply':
$username = ( !empty($HTTP_POST_VARS['username']) ) ? $HTTP_POST_VARS['username'] : '';
#
#-----[ BEFORE, ADD ]------------------------------------------
#
////////////democracy/////
if ( $post_data['poster_id'] != $userdata['user_id'] )
{
$post_data['post_locked'] = ( !empty($HTTP_POST_VARS['lock_post']) ? 1 : 0 );
}
//////////////////////
то получится
switch( $mode )
{
////////////democracy/////
if ( $post_data['poster_id'] != $userdata['user_id'] )
{
$post_data['post_locked'] = ( !empty($HTTP_POST_VARS['lock_post']) ? 1 : 0 );
}
//////////////////////
case 'newtopic':
$redirect = "mode=newtopic&" . POST_FORUM_URL . "=" . $forum_id;
break;
case 'reply':
case 'topicreview':
$redirect = "mode=reply&" . POST_TOPIC_URL . "=" . $topic_id;
break;
case 'quote':
case 'editpost':
$redirect = "mode=quote&" . POST_POST_URL ."=" . $post_id;
break;
}
и будет ошибка
switch( $mode )
{
case 'newtopic':
$redirect = "mode=newtopic&" . POST_FORUM_URL . "=" . $forum_id;
break;
case 'reply':
case 'topicreview':
$redirect = "mode=reply&" . POST_TOPIC_URL . "=" . $topic_id;
break;
case 'quote':
case 'editpost':
$redirect = "mode=quote&" . POST_POST_URL ."=" . $post_id;
break;
}
и если сделать
#
#-----[ FIND ]------------------------------------------
#
case 'newtopic':
case 'reply':
$username = ( !empty($HTTP_POST_VARS['username']) ) ? $HTTP_POST_VARS['username'] : '';
#
#-----[ BEFORE, ADD ]------------------------------------------
#
////////////democracy/////
if ( $post_data['poster_id'] != $userdata['user_id'] )
{
$post_data['post_locked'] = ( !empty($HTTP_POST_VARS['lock_post']) ? 1 : 0 );
}
//////////////////////
то получится
switch( $mode )
{
////////////democracy/////
if ( $post_data['poster_id'] != $userdata['user_id'] )
{
$post_data['post_locked'] = ( !empty($HTTP_POST_VARS['lock_post']) ? 1 : 0 );
}
//////////////////////
case 'newtopic':
$redirect = "mode=newtopic&" . POST_FORUM_URL . "=" . $forum_id;
break;
case 'reply':
case 'topicreview':
$redirect = "mode=reply&" . POST_TOPIC_URL . "=" . $topic_id;
break;
case 'quote':
case 'editpost':
$redirect = "mode=quote&" . POST_POST_URL ."=" . $post_id;
break;
}
и будет ошибка
-
Carbofos
- phpBB 1.4.4
- Сообщения: 158
- Стаж: 20 лет 9 месяцев
Это не то, вот нужная вырезка
Код: Выделить всё
//
// Submit post/vote (newtopic, edit, reply, etc.)
//
$return_message = '';
$return_meta = '';
switch ( $mode )
{
case 'editpost':
case 'newtopic':
case 'reply':
$username = ( !empty($HTTP_POST_VARS['username']) ) ? $HTTP_POST_VARS['username'] : '';
$subject = ( !empty($HTTP_POST_VARS['subject']) ) ? trim($HTTP_POST_VARS['subject']) : '';
$message = ( !empty($HTTP_POST_VARS['message']) ) ? $HTTP_POST_VARS['message'] : '';
$poll_title = ( isset($HTTP_POST_VARS['poll_title']) && $is_auth['auth_pollcreate'] ) ? $HTTP_POST_VARS['poll_title'] : '';-
Thanx
- phpBB 2.0.2
- Сообщения: 334
- Стаж: 19 лет 11 месяцев
- Благодарил (а): 15 раз
-
dj_maxx
- phpBB 1.0.0
- Сообщения: 6
- Стаж: 19 лет 4 месяца

