Дельная мысль!-US- писал(а): А по моему лучше при установкевместо DEFAULT '0' поставить DEFAULT '1'. Тогда "Разрешить благодарность" будет по умолчанию включен для всех новых форумов...Код: Выделить всё
ALTER TABLE `phpbb_forums` ADD `forum_thank` TINYINT(1) DEFAULT '0' NOT NULL;
Thanks Mod
-
- phpBB 1.2.1
- Сообщения: 20
- Стаж: 19 лет 6 месяцев
- Откуда: Khabarovsk
-
- phpBB 1.4.3
- Сообщения: 76
- Стаж: 19 лет 1 месяц
-
- phpBB 1.2.1
- Сообщения: 25
- Стаж: 18 лет 8 месяцев
- Откуда: Киев
-
- phpBB 2.0.12
- Сообщения: 857
- Стаж: 18 лет 6 месяцев
- Поблагодарили: 1 раз
переделал всё как написано, никаких ошибок нету, но в топиках ничего не появилось, плагодаря генератору Поручика создал даже update файл для этих строк
, можете смотреть в прикреплённом файле
Добавлено спустя 4 часа 16 минут 4 секунды:
переустановил адд-он, теперь только у админов в топиках есть благодарностей 0/1 у одного админа, и благодарностей 1/0 у второго админа, в чём проблема?
Код: Выделить всё
UPDATE phpbb_users AS u SET u.user_thanks = (SELECT COUNT(*) FROM phpbb_thanks AS t WHERE t.user_id = u.user_id)
UPDATE phpbb_users AS u SET u.user_thanked = (SELECT COUNT(*) FROM phpbb_thanks AS t, phpbb_posts AS p WHERE t.post_id = p.post_id AND p.poster_id = u.user_id)
Добавлено спустя 4 часа 16 минут 4 секунды:
переустановил адд-он, теперь только у админов в топиках есть благодарностей 0/1 у одного админа, и благодарностей 1/0 у второго админа, в чём проблема?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- phpBB 2.0.12
- Сообщения: 857
- Стаж: 18 лет 6 месяцев
- Поблагодарили: 1 раз
заного установил мод, появляются только новые благодарности, подскажите пожалуйста, как правильно сделать этот запрос? как я понял это добавляет уже старые благодарности?
Код: Выделить всё
UPDATE phpbb_users AS u SET u.user_thanks = (SELECT COUNT(*) FROM phpbb_thanks AS t WHERE t.user_id = u.user_id)
UPDATE phpbb_users AS u SET u.user_thanked = (SELECT COUNT(*) FROM phpbb_thanks AS t, phpbb_posts AS p WHERE t.post_id = p.post_id AND p.poster_id = u.user_id)
-
- phpBB 1.4.3
- Сообщения: 76
- Стаж: 19 лет 1 месяц
-
- phpBB 2.0.12
- Сообщения: 857
- Стаж: 18 лет 6 месяцев
- Поблагодарили: 1 раз
Код: Выделить всё
Ошибка
SQL-запрос:
UPDATE phpbb_users AS u SET u.user_thanks = ( SELECT COUNT( * )
FROM phpbb_thanks AS t
WHERE t.user_id = u.user_id )
UPDATE phpbb_users AS u SET u.user_thanked = ( SELECT COUNT( * )
FROM phpbb_thanks AS t, phpbb_posts AS p
WHERE t.post_id = p.post_id
AND p.poster_id = u.user_id )
Ответ MySQL:
#1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT COUNT(*) FROM phpbb_thanks AS t WHERE t.user_id = u.user
-
- phpBB 1.4.3
- Сообщения: 76
- Стаж: 19 лет 1 месяц
Gisher запрос правильный. Попробуй пускать раздельно
и
и точку с запятой в конце не забудь
Код: Выделить всё
UPDATE phpbb_users AS u SET u.user_thanks = (SELECT COUNT(*) FROM phpbb_thanks AS t WHERE t.user_id = u.user_id);
Код: Выделить всё
UPDATE phpbb_users AS u SET u.user_thanked = (SELECT COUNT(*) FROM phpbb_thanks AS t, phpbb_posts AS p WHERE t.post_id = p.post_id AND p.poster_id = u.user_id);
-
- phpBB 2.0.12
- Сообщения: 857
- Стаж: 18 лет 6 месяцев
- Поблагодарили: 1 раз
Код: Выделить всё
Ошибка
SQL-запрос:
UPDATE phpbb_users AS u SET u.user_thanks = ( SELECT COUNT( * )
FROM phpbb_thanks AS t
WHERE t.user_id = u.user_id ) ;
Ответ MySQL:
#1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT COUNT(*) FROM phpbb_thanks AS t WHERE t.user_id = u.user
Код: Выделить всё
Ошибка
SQL-запрос:
UPDATE phpbb_users AS u SET u.user_thanked = ( SELECT COUNT( * )
FROM phpbb_thanks AS t, phpbb_posts AS p
WHERE t.post_id = p.post_id
AND p.poster_id = u.user_id ) ;
Ответ MySQL:
#1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT COUNT(*) FROM phpbb_thanks AS t, phpbb_posts AS p WHERE
-
- phpBB 2.0.7
- Сообщения: 574
- Стаж: 19 лет
У меня вопросик по инструкции..
#
#-----[ OPEN ]---------------------------------
#
posting.php
#
#-----[ FIND ]---------------------------------
#
$s_hidden_fields .= ( $delete || $mode == "delete" ) ? '<input type="hidden" name="mode" value="delete" />' : '<input type="hidden" name="mode" value="poll_delete" />';
$l_confirm = ( $delete || $mode == 'delete' ) ? $lang['Confirm_delete'] : $lang['Confirm_delete_poll'];
#
#-----[REPLACE WITH ]------------------------------------------
#
if ($delete || $mode == 'delete') {
$s_hidden_fields .= '<input type="hidden" name="mode" value="delete" />';
$l_confirm = $lang['Confirm_delete'];
} else
if ($mode == 'thank') {
$s_hidden_fields .= '<input type="hidden" name="mode" value="thank" />';
$l_confirm = $lang['Confirm_thanks'];
} else {
$s_hidden_fields .= '<input type="hidden" name="mode" value="poll_delete" />';
$l_confirm = $lang['Confirm_delete_poll'];
}
Но в оригинальном файле (2.0.22 версия форума)
Это я так понимаю проверка сесии.. которая появилась в 2.0.22 версии.. Как тут тогд ареплейс делать ...
#
#-----[ OPEN ]---------------------------------
#
posting.php
#
#-----[ FIND ]---------------------------------
#
$s_hidden_fields .= ( $delete || $mode == "delete" ) ? '<input type="hidden" name="mode" value="delete" />' : '<input type="hidden" name="mode" value="poll_delete" />';
$l_confirm = ( $delete || $mode == 'delete' ) ? $lang['Confirm_delete'] : $lang['Confirm_delete_poll'];
#
#-----[REPLACE WITH ]------------------------------------------
#
if ($delete || $mode == 'delete') {
$s_hidden_fields .= '<input type="hidden" name="mode" value="delete" />';
$l_confirm = $lang['Confirm_delete'];
} else
if ($mode == 'thank') {
$s_hidden_fields .= '<input type="hidden" name="mode" value="thank" />';
$l_confirm = $lang['Confirm_thanks'];
} else {
$s_hidden_fields .= '<input type="hidden" name="mode" value="poll_delete" />';
$l_confirm = $lang['Confirm_delete_poll'];
}
Но в оригинальном файле (2.0.22 версия форума)
Код: Выделить всё
$s_hidden_fields .= ( $delete || $mode == "delete" ) ? '<input type="hidden" name="mode" value="delete" />' : '<input type="hidden" name="mode" value="poll_delete" />';
>> эта строка между ними (куда ее девать?):
$s_hidden_fields .= '<input type="hidden" name="sid" value="' . $userdata['session_id'] . '" />';
$l_confirm = ( $delete || $mode == 'delete' ) ? $lang['Confirm_delete'] : $lang['Confirm_delete_poll'];
-
- phpBB 2.0.7
- Сообщения: 574
- Стаж: 19 лет
Ту строку я переместил на вверх... перед єтими двумя..
С СКл запросами у меня точно такая же ситуация ..kingdom помоги плиз разобраться...
После этого когда я жму либо поблагодарить кого-то либо просто отправить месагу то получаю:
Parse error: parse error, unexpected T_ELSE in D:\HTTP\www\forum\posting.php on line 487
487 стркоа в єтом файле єто: else if ( $mode == 'thank' )
У меня вопрос как выполнить ту replace инструкцию.. и что же все такое с мускул запросами.. почему они так себя ведут..
Добавлено спустя 42 секунды:
rxu
пасиб щас сделаю..
Добавлено спустя 2 часа 48 минут 26 секунд:
По поводу ошибки в posting.php .. решил ее - просто еще раз проверил мод, немного со скобкой не правильно сделал ..
И щас все пашет .. жму благодарить все как надо.. и не смотря на проблемы с СКЛ запросом:
я юзера ведется учет благодарностей под аватаркой т.е. вроде все как положено ..
У меня теперь правда вопрос .. под аватарой выводится инфа сколько человек выразило благодарность юзеру .. с этим согласен т.к. инфа полезная и определенно показывает полезность данного человека на ресурсе.. но вот что касается того скольких человек поблагодарил юзер считаю это лишнее так как никакой информативности это не несет т.к. ни о чем не говорит ..
Поэтому я для себя решил убрать этот показатель ну я это сделал просто.. подредактил в языковых переменных )) $lang['Thanks_info'] = 'Благодарности: %d';
Но хотел спросить как правильно это отключить.. чтоб никаких запросов в базу нн выполнялось лишних ..
С СКл запросами у меня точно такая же ситуация ..kingdom помоги плиз разобраться...
После этого когда я жму либо поблагодарить кого-то либо просто отправить месагу то получаю:
Parse error: parse error, unexpected T_ELSE in D:\HTTP\www\forum\posting.php on line 487
487 стркоа в єтом файле єто: else if ( $mode == 'thank' )
У меня вопрос как выполнить ту replace инструкцию.. и что же все такое с мускул запросами.. почему они так себя ведут..
Добавлено спустя 42 секунды:
rxu
пасиб щас сделаю..
Добавлено спустя 2 часа 48 минут 26 секунд:
По поводу ошибки в posting.php .. решил ее - просто еще раз проверил мод, немного со скобкой не правильно сделал ..
И щас все пашет .. жму благодарить все как надо.. и не смотря на проблемы с СКЛ запросом:
Код: Выделить всё
UPDATE phpbb_users AS u SET u.user_thanks = (SELECT COUNT(*) FROM phpbb_thanks AS t WHERE t.user_id = u.user_id);
UPDATE phpbb_users AS u SET u.user_thanked = (SELECT COUNT(*) FROM phpbb_thanks AS t, phpbb_posts AS p WHERE t.post_id = p.post_id AND p.poster_id = u.user_id);
У меня теперь правда вопрос .. под аватарой выводится инфа сколько человек выразило благодарность юзеру .. с этим согласен т.к. инфа полезная и определенно показывает полезность данного человека на ресурсе.. но вот что касается того скольких человек поблагодарил юзер считаю это лишнее так как никакой информативности это не несет т.к. ни о чем не говорит ..
Поэтому я для себя решил убрать этот показатель ну я это сделал просто.. подредактил в языковых переменных )) $lang['Thanks_info'] = 'Благодарности: %d';
Но хотел спросить как правильно это отключить.. чтоб никаких запросов в базу нн выполнялось лишних ..
-
- phpBB 2.0.12
- Сообщения: 857
- Стаж: 18 лет 6 месяцев
- Поблагодарили: 1 раз
может кто нибудь скажет как правильно оформить этот запрос?
Код: Выделить всё
UPDATE phpbb_users AS u SET u.user_thanks = (SELECT COUNT(*) FROM phpbb_thanks AS t WHERE t.user_id = u.user_id);
UPDATE phpbb_users AS u SET u.user_thanked = (SELECT COUNT(*) FROM phpbb_thanks AS t, phpbb_posts AS p WHERE t.post_id = p.post_id AND p.poster_id = u.user_id);
-
- phpBB 2.0.7
- Сообщения: 574
- Стаж: 19 лет
-
- phpBB 2.0.12
- Сообщения: 857
- Стаж: 18 лет 6 месяцев
- Поблагодарили: 1 раз