[RC] Smiling MOD 0.2.6

Здесь авторы постили бета-версии своих модификаций для phpBB 2.0.x. Внимание! Не устанавливайте бета-версии модов на работающие форумы!
Аватара пользователя
Carbofos
phpBB 1.4.4
Сообщения: 158
Зарегистрирован: 04.03.2005 19:30

Сообщение Carbofos » 09.05.2006 17:50

VovikV писал(а):Кстати Smiling MOD уже версии Smiling MOD 0.2.6
Пардон, забыл подправить заголовок.
Единственное изменение это то, что появились кнопки вверх/вниз для ручной сортировки смайлов. Т.к. 1 смайл может существовать в нескольких подобах, пришлось довольно сильно перетрясти код... Но обновление с 0.2.5 вроде должно быть.

з.ы.: Там, где Line 314 - будет запрашивать подтверждения, если нажать кнопку "удалить". Оно вам надо? :)

VovikV
phpBB 1.4.4
Сообщения: 119
Зарегистрирован: 21.11.2005 7:15

Сообщение VovikV » 09.05.2006 19:27

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 - будет запрашивать подтверждения, если нажать кнопку "удалить". Оно вам надо?
Если сделали пускай уж будет, нет наверное не стоит и утруждаться, но может кому то очень нужно это :)

Аватара пользователя
Carbofos
phpBB 1.4.4
Сообщения: 158
Зарегистрирован: 04.03.2005 19:30

Сообщение Carbofos » 09.05.2006 21:36

VovikV
Да, раньше не было, по той причине, что файл admin_smilies.php изменялся черти-знает когда, он является узко специализированным, вряд ли можно иметь Smiling MOD + еще какой-то мод, относящийся к смайликам. А изменений в нем много, аж кошмар. Поэтому я и советовал скачать "готовый" файл admin_smilies.php

Iftin
phpBB 2.0.7
Сообщения: 573
Зарегистрирован: 11.05.2005 19:40
Откуда: Moscow
Контактная информация:

Сообщение Iftin » 11.05.2006 16:47

Код: Выделить всё

#-----[ 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 ...

IndividuaJl

Сообщение IndividuaJl » 09.06.2006 14:05

Код: Выделить всё

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

Аватара пользователя
Carbofos
phpBB 1.4.4
Сообщения: 158
Зарегистрирован: 04.03.2005 19:30

Сообщение Carbofos » 12.06.2006 0:11

Да, штука сложноватая...
Но можно обойти. Сначала нужно создать набор установленных смайлов стандартными средствами форума и затем удалить их все (в 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`;
После этого сделать импорт созданного до этого набора смайлов.

IndividuaJl

Сообщение IndividuaJl » 12.06.2006 0:37

Carbofos писал(а):нужно создать набор установленных смайлов стандартными средствами форума
это как?

Аватара пользователя
Carbofos
phpBB 1.4.4
Сообщения: 158
Зарегистрирован: 04.03.2005 19:30

Сообщение Carbofos » 12.06.2006 12:49

В админке, где все смайлы.

IndividuaJl

Сообщение IndividuaJl » 12.06.2006 13:04

Carbofos
я понимаю, что где-то там, а что именно надо сделать? удалить все созданные смайлы, предварительно сделав экспорт, потом поставить стандартные?
вот вопрос стоит в том, как создать набор установленных смайлов, что именно я должен сделать? :?:

Lektor
phpBB 2.0.7
Сообщения: 574
Зарегистрирован: 20.04.2006 15:19

Сообщение Lektor » 12.06.2006 14:55

Решил поставить мод, но возникли трудности ...
Сам код через изи мод без проблем прикрутил, а вт с 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 
Не могу с этим разобраться ..

Аватара пользователя
Carbofos
phpBB 1.4.4
Сообщения: 158
Зарегистрирован: 04.03.2005 19:30

Сообщение Carbofos » 12.06.2006 19:23

IndividuaJl
Именно, сделать экспорт, произвести изменения базы данных, кроме тех команд, что я указал, установить сам мод. После этого импортировать смайлы обратно.

Lektor
Сделайте то же самое :)

Lektor
phpBB 2.0.7
Сообщения: 574
Зарегистрирован: 20.04.2006 15:19

Сообщение Lektor » 12.06.2006 21:09

Не вышло ..
Ставлю на нулячий тестовый форум..

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) Обратно экспортировал смайлы старые ...
Итого:
В админке все красиво все есть ...
Есть группа Бэйсик, в кторую мои стандартные смайлы экспортировались...
В панеле упрвления "Группа смайликов, используемая по умолчанию:" стоит моя "Бэйсик"
Т.е. по идее все правильно.. но проблема в том что при отвее на форуме в том месте где должны быть смайлы то поле полностью пустое... только надпись - Смайлы и все ...
Что не так? хм..

Аватара пользователя
Carbofos
phpBB 1.4.4
Сообщения: 158
Зарегистрирован: 04.03.2005 19:30

Сообщение Carbofos » 14.06.2006 16:54

Посмотрел... мдя-с, косяк вышел... :oops:
в файле 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, причем только в файле установки, для апдейта все было нормально, наверное, поэтому никто не жаловался :)
Еще раз извиняюсь.

Lektor
phpBB 2.0.7
Сообщения: 574
Зарегистрирован: 20.04.2006 15:19

Сообщение Lektor » 14.06.2006 21:58

Carbofos
Класс все работает ... щас будем тестировать, но мне уже нравится :)

Iftin
phpBB 2.0.7
Сообщения: 573
Зарегистрирован: 11.05.2005 19:40
Откуда: Moscow
Контактная информация:

Сообщение Iftin » 15.06.2006 6:29

Carbofos
а я заметил строчку у меня было

Код: Выделить всё

ORDER BY smilies_id";
и выдала ошибку :(
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

Закрыто

Вернуться в «Бета-версии модов для phpBB 2.0.x»