Сайт сообщества | Клуб пользователей | О проекте

Имя
Пароль
ПравилаРегистрацияСправка
Сообщения за деньПоиск

Вернуться   Клуб пользователей портальной системы RUNCMS > Опен Ресурс > Разработчикам > Готовые хаки

Ответ
 
Опции темы Опции просмотра
2San вне форума 2San
Участник

Аватар для 2San

| Цитировать Старый #1 07-03-2006, 23:46

Понадобилось настроить панель смайлов под формой ввода. Чтобы можно было выбрать какие смайлы туда выводить и в каком порядке. Написал этот хак:

в БД необходимо выполнить такой запрос:
Код:
ALTER TABLE `e_xoops_smiles` ADD `in_form` INT( 2 ) DEFAULT '0' NOT NULL ;
возможно нужно будет изменить префикс у таблицы e_xoops_ на тот который используется у вас

в misc.php ищем
PHP код:
if ( $getsmiles $db->query("SELECT code, emotion, smile_url FROM ".$db->prefix("smiles")) ) { 
и весь код после этой строчки до break; меняем на этот:

PHP код:
                while ( $smile $db->fetch_array($getsmiles) ) {
                        
$rcolor = ( $rcolor == 'bg1' ) ? 'bg2' 'bg1';
                        echo 
"<tr class='$rcolor'><td>".$smile['code']."</td><td>".$smile['emotion']."</td><td><a href='javascript: justReturn()' onclick='doSmilie(\" ".$smile['code']." \");'><img src='".formatURL(XOOPS_URL."/images/smilies/"$smile['smile_url'])."' alt='' /></a></td></tr>";
                        }
                        } else {
                                echo 
"Could not retrieve data from the database.";
                        }
                        echo 
"</table>"
в formdhtmltextarea.php находим функцию renderSmileys и меняем ее на эту:
PHP код:
function renderSmileys() {

Global 
$db;

$sql "SELECT code, smile_url, emotion FROM ".$db->prefix("smiles")." WHERE in_form>0 ORDER BY in_form ASC";
if(
$res $db->query($sql)){
         
$smileyPath XOOPS_URL."/images/smilies";
         
$ret "";

    while(list(
$code$smile_url$emotion) = $db->fetch_row($res)){
            
$ret  .= "<img src='".$smileyPath."/".$smile_url."' border='0' alt='".$code.
                
"' title='".$emotion."' onclick='xoopsCodeSmilie(\"".
                
$this->getName()."\", \" ".$code." \");' style='cursor:hand;'/>\n";
    }
}
$ret .= " [<a href='javascript:openWithSelfMain(\"".XOOPS_URL.
          
"/misc.php?action=showpopups&amp;type=smilies&amp;target=".
          
$this->getName()."\",\"smilies\", 300, 430);'>"._MORE."</a>]";
return 
$ret;

и последнее: распакуйте содержимое аттача в корень вашего сайта (предварительно советую сохранить старые файлы)
Вложения
Тип файла: rar smiles.rar (5.1 Кбайт, 20 просмотров)

Последний раз редактировалось 2San, 07-16-2006 в 11:13


-=: ApexSun :=-
  Сообщения: 144 c 23.02.2005 | Репутация: 26
Jurist вне форума Jurist
Жизнь хороша!

Аватар для Jurist

| Цитировать Старый #2 07-14-2006, 15:11

На какой Роне тестилось?


Белорусский правовой независимый информационно-аналитический портал
-----
"Помогать людям в беде - наш профессиональный долг. Помогать им зарабатывать деньги - наш бизнес."(c) Jurist
Посетить домашнюю страницу Jurist
  Сообщения: 648 c 06.02.2005 | Репутация: 24
2San вне форума 2San
Участник

Аватар для 2San

| Цитировать Старый #3 07-14-2006, 16:14

Цитата:
Сообщение от Jurist
На какой Роне тестилось?
Начиная с e-xoops 1.05, потом на runcms 1.1, 1.3


-=: ApexSun :=-
  Сообщения: 144 c 23.02.2005 | Репутация: 26
Jurist вне форума Jurist
Жизнь хороша!

Аватар для Jurist

| Цитировать Старый #4 07-14-2006, 20:40

Работает и на 1.4, проверено а тут вопрос закрался... в свое время поставил свои смайлы, но у рони свои.. то есть кликаем на одни, а получаются в тексте те, что закачаны... Это только ручками править?


Белорусский правовой независимый информационно-аналитический портал
-----
"Помогать людям в беде - наш профессиональный долг. Помогать им зарабатывать деньги - наш бизнес."(c) Jurist
Посетить домашнюю страницу Jurist
  Сообщения: 648 c 06.02.2005 | Репутация: 24
2San вне форума 2San
Участник

Аватар для 2San

| Цитировать Старый #5 07-15-2006, 00:00

Цитата:
Сообщение от Jurist
свое время поставил свои смайлы
как ставил, куда ставил, по какому "одному" ты кликаеш? поясни.
у меня те что закачаны, и прописаны соотв. в БД, те и вставляются.


-=: ApexSun :=-
  Сообщения: 144 c 23.02.2005 | Репутация: 26
Jurist вне форума Jurist
Жизнь хороша!

Аватар для Jurist

| Цитировать Старый #6 07-15-2006, 16:38

В админке управления смайлами залил смайлы... с описанием, кодами, вск как положено. НО на сайте отображаются не они, а смайлф из стандартной постаки Рони.. То есть вижу одни, кликаю - выходит другой.. на скринах - самый первый смайл, просто улыбка.
Изображения
Тип файла: gif 1.gif (4.4 Кбайт, 25 просмотров)
Тип файла: gif 2.gif (18.5 Кбайт, 24 просмотров)


Белорусский правовой независимый информационно-аналитический портал
-----
"Помогать людям в беде - наш профессиональный долг. Помогать им зарабатывать деньги - наш бизнес."(c) Jurist
Посетить домашнюю страницу Jurist
  Сообщения: 648 c 06.02.2005 | Репутация: 24
2San вне форума 2San
Участник

Аватар для 2San

| Цитировать Старый #7 07-15-2006, 17:25

Цитата:
Сообщение от Jurist
НО на сайте отображаются не они
Вот "на сайте" - надо уточнить что в модуле чата. Вся трабла в том, что этот модуль видимо использует не ронину функцию smiley() из module.textsanitizer.php, которая рендерит смайлы в тексте, а свою.. Истественно он не знает что смайлы то уже другие..
Соотв. надо править модуль чата


-=: ApexSun :=-
  Сообщения: 144 c 23.02.2005 | Репутация: 26
Jurist вне форума Jurist
Жизнь хороша!

Аватар для Jurist

| Цитировать Старый #8 07-16-2006, 00:44

Цитата:
Сообщение от 2San
Вот "на сайте" - надо уточнить что в модуле чата
Сорри... сыплю пепел на плешь... смайлы в данном месте бурутся из директории мой_сайт.com/images/smilies/
НО! 2 дня назад еще стояла Роня 1.2 и форум 0.92 - там было точно так же как сейчас в чате. В данный момент перескочил на Роню 1.4 и в форуме этого нет, но в чате осталось... Ладно, буду копаться.... или не буду?

А за хак - отдельный thanks, респект, полезная вещь...


Белорусский правовой независимый информационно-аналитический портал
-----
"Помогать людям в беде - наш профессиональный долг. Помогать им зарабатывать деньги - наш бизнес."(c) Jurist
Посетить домашнюю страницу Jurist
  Сообщения: 648 c 06.02.2005 | Репутация: 24
2San вне форума 2San
Участник

Аватар для 2San

| Цитировать Старый #9 07-16-2006, 11:27

Поставил потестить Shoutbox 3.23 Beta (была еще вроде бы четвертая, но сейчас по той ссылке ничего нет). Вроде бы все смайлы вставляются и отображаются как и должны. Так что копаться придется..

P.S.
нашел в коде багу: в стандартной роне нет ф-ии AddText. В renderSmileys() используется xoopsCodeSmilie. Исправил в первом посте код.


-=: ApexSun :=-
  Сообщения: 144 c 23.02.2005 | Репутация: 26
Jurist вне форума Jurist
Жизнь хороша!

Аватар для Jurist

| Цитировать Старый #10 07-17-2006, 11:42

Форум.... при клике смайлы не добавляются, если они вынесены под форму ввода... Пишет внизу "Ошибка на странице"


Белорусский правовой независимый информационно-аналитический портал
-----
"Помогать людям в беде - наш профессиональный долг. Помогать им зарабатывать деньги - наш бизнес."(c) Jurist
Посетить домашнюю страницу Jurist
  Сообщения: 648 c 06.02.2005 | Репутация: 24
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Рейтинг@Mail.ru Хостинг провайдер Majordomo. Powered by: vBulletin Version 3.0
Copyright ©2000-2024, Jelsoft Enterprises Ltd.
Все разделы прочитаны - Руководство форума - Архив - Вверх
Rambler's Top100
Output: 99.33 Kb. compressed to 91.51 Kb. by saving 7.82 Kb. (7.88%)
Page generated in 0.15584 seconds with 11 queries