Страница 9 из 12
Добавлено: 09.05.2006 17:50
Carbofos
VovikV писал(а):Кстати Smiling MOD уже версии Smiling MOD 0.2.6
Пардон, забыл подправить заголовок.
Единственное изменение это то, что появились кнопки вверх/вниз для ручной сортировки смайлов. Т.к. 1 смайл может существовать в нескольких подобах, пришлось довольно сильно перетрясти код... Но обновление с 0.2.5 вроде должно быть.
з.ы.: Там, где
Line 314 - будет запрашивать подтверждения, если нажать кнопку "удалить". Оно вам надо?
Добавлено: 09.05.2006 19:27
VovikV
Carbofos писал(а): Но обновление с 0.2.5 вроде должно быть
Апдейит есть с 25 до 26 версии, а например с 23 до 24 или с 24 до 25 не видно, вот и говорю, что лучше своевременно обновляться, а то можно пропустить обновление и потом непонятно где его искать.
Кстати я раза 3 тупо следовал
Код: Выделить всё
#------[ FIND ]------------------------------------------
#
class="page_head"
#
#------[ BEFORE, ADD ]-----------------------------------
#
<form method="post" action="{S_SMILEY_ACTION}">
#
и получал ошибку в джавы
написали бы
Код: Выделить всё
#------[ FIND ]------------------------------------------
#
<table cellspacing="0" cellpadding="0" class="page_head"
#
#------[ BEFORE, ADD ]-----------------------------------
#
<form method="post" action="{S_SMILEY_ACTION}">
#
Carbofos писал(а): Там, где Line 314 - будет запрашивать подтверждения, если нажать кнопку "удалить". Оно вам надо?
Если сделали пускай уж будет, нет наверное не стоит и утруждаться, но может кому то очень нужно это
Добавлено: 09.05.2006 21:36
Carbofos
VovikV
Да, раньше не было, по той причине, что файл admin_smilies.php изменялся черти-знает когда, он является узко специализированным, вряд ли можно иметь Smiling MOD + еще какой-то мод, относящийся к смайликам. А изменений в нем много, аж кошмар. Поэтому я и советовал скачать "готовый" файл admin_smilies.php
Добавлено: 11.05.2006 16:47
Iftin
Код: Выделить всё
#-----[ FIND ]---------------------------------------------
# Line 426
$smile_code = ( isset($HTTP_POST_VARS['smile_code']) ) ? trim($HTTP_POST_VARS['smile_code']) : trim($HTTP_GET_VARS['smile_code']);
$smile_url = ( isset($HTTP_POST_VARS['smile_url']) ) ? trim($HTTP_POST_VARS['smile_url']) : trim($HTTP_GET_VARS['smile_url']);
$smile_url = phpbb_ltrim(basename($smile_url), "'");
$smile_emotion = ( isset($HTTP_POST_VARS['smile_emotion']) ) ? trim($HTTP_POST_VARS['smile_emotion']) : trim($HTTP_GET_VARS['smile_emotion']);
$smile_id = ( isset($HTTP_POST_VARS['smile_id']) ) ? intval($HTTP_POST_VARS['smile_id']) : intval($HTTP_GET_VARS['smile_id']);
#
у меня же в оригинале с модом смайликов
Код: Выделить всё
$smile_code = ( isset($HTTP_POST_VARS['smile_code']) ) ? trim($HTTP_POST_VARS['smile_code']) : trim($HTTP_GET_VARS['smile_code']);
$smile_url = ( isset($HTTP_POST_VARS['smile_url']) ) ? trim($HTTP_POST_VARS['smile_url']) : trim($HTTP_GET_VARS['smile_url']);
$smile_url = phpbb_ltrim(basename($smile_url), "'");
$smile_emotion = ( isset($HTTP_POST_VARS['smile_emotion']) ) ? trim($HTTP_POST_VARS['smile_emotion']) : trim($HTTP_GET_VARS['smile_emotion']);
$smile_id = ( isset($HTTP_POST_VARS['smile_id']) ) ? intval($HTTP_POST_VARS['smile_id']) : intval($HTTP_GET_VARS['smile_id']);
$smile_group = ( isset($HTTP_POST_VARS['smile_group']) ) ? trim($HTTP_POST_VARS['smile_group']) : trim($HTTP_GET_VARS['smile_group']);
вот эта строчка, наверное тоже как-то надо иначе преобразовать???
Код: Выделить всё
$smile_group = ( isset($HTTP_POST_VARS['smile_group']) ) ? trim($HTTP_POST_VARS['smile_group']) : trim($HTTP_GET_VARS['smile_group']);
Добавлено спустя 8 минут 1 секунду:
теперь значит они просят это найти
Код: Выделить всё
#-----[ FIND ]---------------------------------------------
# Line 471
$smile_code = ( isset($HTTP_POST_VARS['smile_code']) ) ? $HTTP_POST_VARS['smile_code'] : $HTTP_GET_VARS['smile_code'];
$smile_url = ( isset($HTTP_POST_VARS['smile_url']) ) ? $HTTP_POST_VARS['smile_url'] : $HTTP_GET_VARS['smile_url'];
$smile_url = phpbb_ltrim(basename($smile_url), "'");
$smile_emotion = ( isset($HTTP_POST_VARS['smile_emotion']) ) ? $HTTP_POST_VARS['smile_emotion'] : $HTTP_GET_VARS['smile_emotion'];
$smile_code = trim($smile_code);
$smile_url = trim($smile_url);
$smile_emotion = trim($smile_emotion);
у меня же с модомо вот, что есть
Код: Выделить всё
// we recieve and process is only the data we are looking for.
//
$smile_code = ( isset($HTTP_POST_VARS['smile_code']) ) ? $HTTP_POST_VARS['smile_code'] : $HTTP_GET_VARS['smile_code'];
$smile_url = ( isset($HTTP_POST_VARS['smile_url']) ) ? $HTTP_POST_VARS['smile_url'] : $HTTP_GET_VARS['smile_url'];
$smile_url = phpbb_ltrim(basename($smile_url), "'");
$smile_emotion = ( isset($HTTP_POST_VARS['smile_emotion']) ) ? $HTTP_POST_VARS['smile_emotion'] : $HTTP_GET_VARS['smile_emotion'];
$smile_group = ( isset($HTTP_POST_VARS['smile_group']) ) ? trim(htmlspecialchars($HTTP_POST_VARS['smile_group'])) : trim(htmlspecialchars($HTTP_GET_VARS['smile_group']));
// If group's empty set default
if ($smile_group == '')
{
$smile_group = $board_config['smilies_default_group'];
}
// Get the list of existing groups
$groups_array = get_smilies_group_list(1);
if( empty($groups_array[strtolower($smile_group)]) )
{
// No such group exists. Need to create it....
create_smile_group($smile_group);
// ...And update the keys list
$groups_array = get_smilies_group_list(1, true);
}
$smile_code = trim($smile_code);
$smile_url = trim($smile_url);
$smile_emotion = trim($smile_emotion);
// If no code was entered complain ...
Добавлено: 09.06.2006 14:05
IndividuaJl
Код: Выделить всё
o INSERT INTO `phpbb_smilies_tmp` SELECT s.smilies_id, (SELECT MIN(smilies_id) FROM `phpbb_smilies` s2 WHERE s2.emoticon = s.emoticon) FROM `phpbb_smilies` s
+++ Error: 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 MIN(smilies_id) FROM `phpbb_smilies` s2 WHERE s2.emotico
o UPDATE `phpbb_smilies` s SET s.sort_key = ( SELECT t.key FROM `phpbb_smilies_tmp` t WHERE t.id = s.smilies_id ) WHERE 1
+++ Error: 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 t.key FROM `phpbb_smilies_tmp` t WHERE t.id = s.smilies_
что делать?
в админ панеле теперь даже ссылки на смайлики нету!
установлен мод smiles smilies_order-1_0_0
Добавлено спустя 1 час 21 минуту 39 секунд:
удалил нафиг этот smilies_order-1_0_0.
Осталось сделать следующее:
http://www.phpbbguru.net/community/viewtopic.php?t=9893
Добавлено: 12.06.2006 0:11
Carbofos
Да, штука сложноватая...
Но можно обойти. Сначала нужно создать набор установленных смайлов стандартными средствами форума и затем удалить их все (в phpMyAdmin очистить таблицу), потом установить Smiling MOD 0.2.6, при этом следующие запросы выполнять
не надо:
Код: Выделить всё
CREATE TABLE `phpbb_smilies_tmp` (
`id` SMALLINT( 5 ) NOT NULL ,
`key` SMALLINT( 5 ) NOT NULL
);
INSERT INTO `phpbb_smilies_tmp`
SELECT s.smilies_id, (SELECT MIN(smilies_id) FROM `phpbb_smilies` s2 WHERE s2.emoticon = s.emoticon)
FROM `phpbb_smilies` s;
UPDATE `phpbb_smilies` s
SET s.sort_key = ( SELECT t.key FROM `phpbb_smilies_tmp` t WHERE t.id = s.smilies_id )
WHERE 1;
DROP TABLE `phpbb_smilies_tmp`;
После этого сделать импорт созданного до этого набора смайлов.
Добавлено: 12.06.2006 0:37
IndividuaJl
Carbofos писал(а):нужно создать набор установленных смайлов стандартными средствами форума
это как?
Добавлено: 12.06.2006 12:49
Carbofos
В админке, где все смайлы.
Добавлено: 12.06.2006 13:04
IndividuaJl
Carbofos
я понимаю, что где-то там, а что именно надо сделать? удалить все созданные смайлы, предварительно сделав экспорт, потом поставить стандартные?
вот вопрос стоит в том, как создать набор установленных смайлов, что именно я должен сделать?
Добавлено: 12.06.2006 14:55
Lektor
Решил поставить мод, но возникли трудности ...
Сам код через изи мод без проблем прикрутил, а вт с SQL запросами напряг, изимод вот что сказал:ъ
Код: Выделить всё
SQL PROCESSING ERROR:
No SQL alterations will be performed. However, you may skip SQL processing, continue installing the MOD, and deal with the SQL manually
The following error occured:
Error:
Invalid index name "KEY name", statement: 1, table: "phpbb_smilies_groups"
SQL:
CREATE TABLE phpbb_smilies_groups(group_id smallint(5) unsigned NOT NULL auto_increment,name varchar(50) default NULL,cols smallint(5) unsigned default '9',width smallint(5) unsigned default '400',height smallint(5) unsigned default '300',sort_key smallint(5) default '0',UNIQUE KEY name(name),PRIMARY KEY(group_id))
Я пропустил это дело и пошел в пхпмайадмин:
Код: Выделить всё
Ошибка
SQL-запрос:
INSERT INTO `phpbb_smilies_tmp`
SELECT s.smilies_id, (
SELECT MIN( smilies_id )
FROM `phpbb_smilies` s2
WHERE s2.emoticon = s.emoticon
)
FROM `phpbb_smilies` s;
Ответ MySQL:
#1064 - You have an error in your SQL syntax near 'SELECT MIN(smilies_id) FROM `phpbb_smilies` s2 WHERE s2.emoticon = s.emoticon)
' at line 4
Не могу с этим разобраться ..
Добавлено: 12.06.2006 19:23
Carbofos
IndividuaJl
Именно, сделать экспорт, произвести изменения базы данных, кроме тех команд, что я указал, установить сам мод. После этого импортировать смайлы обратно.
Lektor
Сделайте то же самое
Добавлено: 12.06.2006 21:09
Lektor
Не вышло ..
Ставлю на нулячий тестовый форум..
1) Сделал экспорт стандартных смайов
2) В phpMyAdmin очистил таблицу phpbb_smiles
3) Установил мод, + выполнил СКЛ запросы (успешно):
Код: Выделить всё
CREATE TABLE `phpbb_smilies_groups` (
`group_id` smallint(5) unsigned NOT NULL auto_increment,
`name` varchar(50) default NULL,
`cols` smallint(5) unsigned default '9',
`width` smallint(5) unsigned default '400',
`height` smallint(5) unsigned default '300',
`sort_key` smallint( 5 ) default '0',
UNIQUE KEY `name` (`name`),
PRIMARY KEY ( `group_id` )
);
ALTER TABLE `phpbb_smilies` ADD `smile_group` SMALLINT( 5 ) UNSIGNED DEFAULT '0';
ALTER TABLE `phpbb_smilies` ADD `sort_key` SMALLINT( 5 ) NOT NULL ;
INSERT INTO `phpbb_smilies_groups` ( `group_id` , `name` , `cols` , `width` , `height` , `sort_key` )
VALUES ('1', 'Basic', '9', '400', '350' , '1' );
UPDATE `phpbb_smilies`
SET smile_group = '1'
WHERE smile_group = '0';
INSERT INTO `phpbb_config` ( `config_name` , `config_value` )
VALUES ('smilies_default_group', 'Basic'),
('smilies_inline_columns', '4'),
('smilies_inline_rows', '5'),
('smilies_window_columns', '9'),
('smilies_window_width', '400'),
('smilies_window_height', '300');
4) Обратно экспортировал смайлы старые ...
Итого:
В админке все красиво все есть ...
Есть группа Бэйсик, в кторую мои стандартные смайлы экспортировались...
В панеле упрвления "Группа смайликов, используемая по умолчанию:" стоит моя "Бэйсик"
Т.е. по идее все правильно.. но проблема в том что при отвее на форуме в том месте где должны быть смайлы то поле полностью пустое... только надпись - Смайлы и все ...
Что не так? хм..
Добавлено: 14.06.2006 16:54
Carbofos
Посмотрел... мдя-с, косяк вышел...
в файле
includes/functions_post.php найдите
Код: Выделить всё
$sql = "SELECT emoticon, code, smile_url
FROM " . SMILIES_TABLE . $where . "
ORDER BY smilies_idsort_key";
и замените на:
Код: Выделить всё
$sql = "SELECT emoticon, code, smile_url
FROM " . SMILIES_TABLE . $where . "
ORDER BY sort_key";
После этого у меня все заработало.
И ведь проверял же, как такое могло произойти...
Добавлено спустя 8 минут 9 секунд:
Понял в чем проблема была - баг в MOD Template, вместо replace with было afrer, add, причем только в файле установки, для апдейта все было нормально, наверное, поэтому никто не жаловался
Еще раз извиняюсь.
Добавлено: 14.06.2006 21:58
Lektor
Carbofos
Класс все работает ... щас будем тестировать, но мне уже нравится
Добавлено: 15.06.2006 6:29
Iftin
Carbofos
а я заметил строчку у меня было
и выдала ошибку
Parse error: parse error in /var/www/html/hosts/forum.0000.ru/phpBB2/includes/functions_post.php on line 1415
Fatal error: Call to undefined function: generate_smilies() in /var/www/html/hosts/forum.00000.ru/phpBB2/posting.php on line 1302