Перейти к контенту
  • 0

Смайлики


a_duck

Вопрос

  • Ответы 164
  • Создана
  • Последний ответ

Лучшие авторы в этом вопросе

Лучшие авторы в этом вопросе

Рекомендуемые сообщения

  • 0

Нажимаю на этой странице "Просмотр HTML кода". Там ищу по "emo_pop". Получаю функцию:

function emo_pop()
{
  window.open('index.php?act=legends&CODE=emoticons&s=','Legends','width=250,height=500,resizable=yes,scrollbars=yes');
}

Соответственно из этой статьи можно понять, что вызывается функция show_emoticons в файле sources/misc/legends.php, а шаблон соответственно в Skin/../skin_legends.php. Дальше дело техники...

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Было бы похвально, если бы ты написал и опубликовал бы тут в архиве эту модификацию для 1.3.

 

Которая бы alt добавила бы из таблицы и в legends и туда в тему и личный ящик...

Ссылка на комментарий
Поделиться на других сайтах

  • 0

/---------------------------------------------------/

// Мод для IPB 1.3 Русская версия

// Позволяет присваивать смайликам свои комментарии

// которые видны в виде всплывающих подсказок

// при наведении на них курсора в окне ответа и всплывающем окне.

//

// Если смайлику не присвоен комментарий,

// то всплывающей подсказки не будет.

//

// Комментарии настраиваются в Admin CP-->Администрирование-->Смайлики

//

/---------------------------------------------------/

 

/-----------------------------------------/

/ Модифицируемые файлы:

/ sources/Admin/ad_settings.php

/ sources/Messenger.php

/ sources/Post.php

/ sources/Topic.php

/ sources/Calendar.php

/ Skin/../skin_legends.php

/ sources/misc/legends.php

/-----------------------------------------/

 

/-----------------------------------------/

/Шаг 1: Изменяем базу

/-----------------------------------------/

 

Запускаем в Admin CP-->Управление SQL-->Средства mySQL-->Запуск запроса (внизу окна):

 

ALTER TABLE `ibf_emoticons` ADD `alttext` VARCHAR(15) NOT NULL;

 

/-----------------------------------------/

/Шаг 2: открываем sources/Admin/ad_settings.php:

/-----------------------------------------/

 

-----------------------------------------

После:

$db_string = $DB->compile_db_update_string( array( 'typed' => $IN['before'],

'image' => $IN['after'],

'clickable' => $IN['click'],

-----------------------------------------

-----------------------------------------

Добавляем:

'alttext' => $IN['alttext'],

-----------------------------------------

 

-----------------------------------------

Вместо:

$SKIN->td_header[] = array( "Код" , "40%" );

$SKIN->td_header[] = array( "Смайлик" , "40%" );

$SKIN->td_header[] = array( "+ Clickable" , "20%" );

-----------------------------------------

-----------------------------------------

Вставляем:

$SKIN->td_header[] = array( "Код" , "30%" );

$SKIN->td_header[] = array( "После" , "30%" );

$SKIN->td_header[] = array( "+ Clickable" , "20%" );

$SKIN->td_header[] = array( "Alt Text" , "20%" );

-----------------------------------------

 

-----------------------------------------

Вместо:

$SKIN->form_dropdown( 'click', array( 0 => array( 1, 'Да' ), 1 => array( 0, 'Нет' ) ), $r['clickable'] )

-----------------------------------------

-----------------------------------------

Вставляем:

$SKIN->form_dropdown( 'click', array( 0 => array( 1, 'Да' ), 1 => array( 0, 'Нет' ) ), $r['clickable'] ),

$SKIN->form_input('alttext', $r['alttext'] )

-----------------------------------------

 

-----------------------------------------

После:

$db_string = $DB->compile_db_insert_string( array( 'typed' => $IN['before'],

'image' => $IN['after'],

'clickable' => $IN['click'],

-----------------------------------------

-----------------------------------------

Добавляем:

'alttext' => $IN['alttext'],

-----------------------------------------

 

-----------------------------------------

Вместо:

$SKIN->td_header[] = array( "Код" , "30%" );

$SKIN->td_header[] = array( "Смайлик" , "30%" );

$SKIN->td_header[] = array( "+ Clickable" , "20%" );

$SKIN->td_header[] = array( "Редактировать" , "10%" );

$SKIN->td_header[] = array( "Удалить" , "10%" );

-----------------------------------------

-----------------------------------------

Вставляем:

$SKIN->td_header[] = array( "Код" , "20%" );

$SKIN->td_header[] = array( "Смайлик" , "20%" );

$SKIN->td_header[] = array( "+ Clickable" , "20%" );

$SKIN->td_header[] = array( "Alt Text" , "20%" );

$SKIN->td_header[] = array( "Редактировать" , "10%" );

$SKIN->td_header[] = array( "Удалить" , "10%" );

-----------------------------------------

 

-----------------------------------------

После:

$ADMIN->html .= $SKIN->add_td_row( array( stripslashes($r['typed']),

"<center><img src='$emo_url/{$r['image']}'></center>",

"<center>$click</center>",

-----------------------------------------

-----------------------------------------

Добавляем:

$r['alttext'],

-----------------------------------------

 

-----------------------------------------

Вместо:

$SKIN->td_header[] = array( "Код" , "40%" );

$SKIN->td_header[] = array( "Смайлик" , "40%" );

$SKIN->td_header[] = array( "+ Clickable" , "20%" );

-----------------------------------------

-----------------------------------------

Вставляем:

$SKIN->td_header[] = array( "Код" , "30%" );

$SKIN->td_header[] = array( "Смайлик" , "30%" );

$SKIN->td_header[] = array( "+ Clickable" , "20%" );

$SKIN->td_header[] = array( "Alt Text" , "20%" );

-----------------------------------------

 

-----------------------------------------

Вместо:

$SKIN->form_dropdown( 'click', array( 0 => array( 1, 'Да' ), 1 => array( 0, 'Нет' ) ) )

-----------------------------------------

-----------------------------------------

Вставляем:

$SKIN->form_dropdown( 'click', array( 0 => array( 1, 'Да' ), 1 => array( 0, 'Нет' ) ) ),

$SKIN->form_input('alttext')

-----------------------------------------

 

-----------------------------------------

Закрываем sources/Admin/ad_settings.php

-----------------------------------------

 

/-----------------------------------------/

/Шаг 3: открываем sources/Messenger.php:

/-----------------------------------------/

 

-----------------------------------------

Находим:

$smilies .= "<td><a onClick={$out_delim}java script:emoticon($in_delim".$elmo['typed']."$in_delim){$out_delim}><img src=\"".$ibforums->vars['EMOTICONS_URL']."/".$elmo['image']."\" alt='smile' border='0' /></a> </td>\n";

-----------------------------------------

-----------------------------------------

И меняем в ней alt='smile' на alt='".$elmo['alttext']."'

-----------------------------------------

 

-----------------------------------------

Закрываем sources/Messenger.php

-----------------------------------------

/-----------------------------------------/

/Шаг 4: Повторяем шаг 3 для sources/Post.php

/ sources/Topic.php

/ sources/Calendar.php:

/-----------------------------------------/

 

/-----------------------------------------/

/Шаг 5: открываем sources/misc/legends.php:

/-----------------------------------------/

 

Находим:

function show_emoticons()

 

---------------------------------------------

Меняем:

$DB->query("SELECT typed, image from ibf_emoticons");

на

$DB->query("SELECT typed, image, alttext from ibf_emoticons");

--------------------------------------------

 

-------------------------------------------

Меняем:

$this->output .= $this->html->emoticons_row( stripslashes($r['typed']), stripslashes($r['image']), $in_delim, $out_delim );

На

$this->output .= $this->html->emoticons_row( stripslashes($r['typed']), stripslashes($r['image']), stripslashes($r['alttext']), $in_delim, $out_delim );

-------------------------------------------

 

-----------------------------------------

Закрываем sources/misc/legends.php

-----------------------------------------

 

/-----------------------------------------/

/Шаг 6: открываем Skin/../skin_legends.php:

/-----------------------------------------/

 

--------------------------------------------

Вместо:

function emoticons_row($code, $image, $in="'", $out="'")

Вставляем:

function emoticons_row($code, $image, $alttext, $in="'", $out="'")

-------------------------------------------

 

-------------------------------------------

Вместо:

<td align='center' class='row2' valign='middle'><a href={$out}java script:add_smilie({$in}$code{$in}){$out}><img src='{$ibforums->vars['EMOTICONS_URL']}/$image' border='0' valign='absmiddle' alt='$image'></a></td>

Вставляем:

<td align='center' class='row2' valign='middle'><a href={$out}java script:add_smilie({$in}$code{$in}){$out}><img src='{$ibforums->vars['EMOTICONS_URL']}/$image' border='0' valign='absmiddle' alt='$alttext'></a></td>

-------------------------------------------

 

-----------------------------------------

Закрываем Skin/../skin_legends.php

-----------------------------------------

 

Это устраивает?

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Конечно, устраивает. Очень даже лихо все расписал. Теперь собрать бы тебе это все в файлик и сюда:

http://www.ibresource.ru/db/?pg=add

 

И будет готовый мод, за что тебе спасибо все скажут :D

 

Тему перенес в форум "Модификации в разработке".

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Скажите, как изменить размер всплывающего окна со смайликами? мне надо сделать, чтобы оно по умолчанию открывалось с большей шириной. где и что надо изменять?
Ссылка на комментарий
Поделиться на других сайтах

  • 0

skin_post.php и если установлена форма быстрого овета, то и skin_topic.php

 

window.open('index.{$ibforums->vars['php_ext']}?act=legends&CODE=emoticons&s={$ibforums->session_id}','Legends','width=250,height=500,resizable=yes,scrollbars=yes');

 

Изменяешь на нужное.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Warning: main(./sources/Admin/admin_pages.php): failed to open stream: Permission denied in /home/isgoico/public_html/admin.php on line 179

Что это такое

на файлы каторые указаны в сообщение стойт 777

что не так?

и как исправить?

Ссылка на комментарий
Поделиться на других сайтах

  • 0

после добавления новых смайликов случилась лажа - в IE, MyIE2 и т.п. все отображается нормально, а вот в Mozilla, Mozilla Firefox теперь не получается ни ответить, ни создать новое сообщение - пока подгружаются смайлики, эти браузеры вешаются и вылетают с ошибкой.

 

кстати, да... не смог найти как переделать, чтобы от ссылки "Показать всё" был какой-то толк, как здесь например. то есть сколько бы я не добавлял смайлов - они все разом пытаются влезть в на страницу создания сообщения или ответа, растягивая его ужасно...

 

Русский Модифицированный IPB v1.2

Ссылка на комментарий
Поделиться на других сайтах

  • 0

arigoda

кстати, да... не смог найти как переделать, чтобы от ссылки "Показать всё" был какой-то толк, как здесь например. то есть сколько бы я не добавлял смайлов - они все разом пытаются влезть в на страницу создания сообщения или ответа, растягивая его ужасно...

в админке, когда добавляеш смайлики - в пункте Показивать на странице ответа (или итипа того) вибирай "нет"

Ссылка на комментарий
Поделиться на других сайтах

  • 0
незнаю у меня мозилла 1.6 рус и со смайликами нормально, и не падает мозилла
Ссылка на комментарий
Поделиться на других сайтах

  • 0

ret, ну елы... ну я уже по-всякому пробовал...

убираю все загруженные отсюда смайлы- ок... а какой именно не нравится Мозилле - не понимаю...

 

к слову.... здесь, на IBRes, под Мозиллой работается нормально...

 

что ж такого я натворил, елки...

 

:);):D

 

---------------------------

 

в обещем, так... пришлось снести частично те смайлы...

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

из полезной инфы могу только сообщить, что скачиваемый архив был в ЗИПе, скачивал откуда-то отсюда...

но вот последний набор, тодже размещенный здесь, ужатый в РАРе, - нормальный вроде.

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

Изменено пользователем arigoda
Ссылка на комментарий
Поделиться на других сайтах

  • 0

я загружаю смайлик..

указываю место смайлика в компе.. и нажимаю на "загрузить смайлик"..

а мне пишется

 

Неудачная загрузка

 

что делать..?

Ссылка на комментарий
Поделиться на других сайтах

  • 0
закачивай через фтп в папку ... вроде html/emoticons, а в админке назначай код к смайликам :D все ..
Ссылка на комментарий
Поделиться на других сайтах

  • 0

самое смешное что у меня права стоят нормальные , да только через админку *.tar не видно ;) смайлики правдо качаються, но *.tar (скины, языки и прочее) не видяться..

Поэтому как нормальный русский сделал все по-другому :D

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Поставить chmod 777 на папку html/emoticons

я делал черезз фтп..

о хотелось нормальным образом..

ИМХО это и есть нормальный способ! :D

Ссылка на комментарий
Поделиться на других сайтах

  • 0

После того как кликаю на Показать всё появляется окно с ошибкой.

 

 

Fatal error: Call to undefined function: pop_up_window() in /usr/home/kislovod/public_html/Invision/sources/functions.php on line 2318

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Народ, поделитесь смайликами/ком в форме Ленина, срочно нужно!

а вообще, есть идея создать пакет смайликов в форме политич деятелей там, сталина, хрущева, итп ток рисовать я не оч %)

мож кто вазмется ?

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.