Aiwan Опубликовано 11 Ноября 2006 Жалоба Поделиться Опубликовано 11 Ноября 2006 Во всех ICQ клонах уже давно реализовано такое, например смайл имеет несколько значений в кодах, как стандартный так и :-) такой, или =) такой. Не знаю, как проще такой реализовать, но думаю было бы востребовано. Самое простое решение, как я вижу, сделать значение у смайла НЕ ОТОБРАЖАТЬ ЕГО ВООБЩЕ. Например в админке к одному гифу привязываем три-четыре кода. Но три скрытых, эти смайлы только парсятся но не показываются в окошке "Показать Все". Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Jax Опубликовано 11 Ноября 2006 Жалоба Поделиться Опубликовано 11 Ноября 2006 Ребят, уже зла просто не хватает. Хочется помочь, но из-за такого раздолбайства, ничего уже и делать не хочется. Но если не будет предупреждения, то до мозгов не дойдет точно. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Jax Опубликовано 11 Ноября 2006 Жалоба Поделиться Опубликовано 11 Ноября 2006 Честно, не знаю, для какой вам версии, но думаю, что подобное будет актуально для 2.1.х. Модификация недописана, ставить можно, но осторожно. Пусть ставят те, у которых есть немного мозгов. Если данного добра не имеется, ждите окончание работы. Выполняем запрос:ALTER TABLE `ibf_emoticons` ADD `alt_typed` TINYTEXT; Открываем ./sources/action_admin/emoticons.php и ищем: function emoticon_edit() { if ($this->ipsclass->input['id'] == "") { $this->ipsclass->main_msg = "Не выбран ID группы смайликов."; $this->emoticon_start(); } foreach ($this->ipsclass->input as $key => $value) { if ( preg_match( "/^emo_type_(\d+)$/", $key, $match ) ) { if ( isset( $this->ipsclass->input[$match[0]]) ) { $typed = str_replace( '"', "", $this->ipsclass->input[$match[0]] ); $click = $this->ipsclass->input['emo_click_'.$match[1] ]; $typed = str_replace( '\', "", $typed ); if ( $typed and $match[1] ) { $this->ipsclass->DB->do_update( 'emoticons', array( 'clickable' => intval($click), 'typed' => $typed ), 'id='.$match[1] ); } } } }Включаем мозг и меняем на: function emoticon_edit() { if ($this->ipsclass->input['id'] == "") { $this->ipsclass->main_msg = "Не выбран ID группы смайликов."; $this->emoticon_start(); } foreach ($this->ipsclass->input as $key => $value) { if ( preg_match( "/^emo_type_(\d+)$/", $key, $match ) ) { if ( isset( $this->ipsclass->input[$match[0]]) ) { $typed = str_replace( '"', "", $this->ipsclass->input[$match[0]] ); $alt_typed = str_replace( '"', "", $this->ipsclass->input[$match[0]] ); $click = $this->ipsclass->input['emo_click_'.$match[1] ]; $typed = str_replace( '\', "", $typed ); $alt_typed = str_replace( '\', "", $alt_typed ); // update, все равно должного результата пока не дал :) if ( $match[1] ) { if ($typed) { $this->ipsclass->DB->do_update( 'emoticons', array( 'clickable' => intval($click), 'typed' => $typed ), 'id='.$match[1] ); } else if ($alt_typed) { $this->ipsclass->DB->do_update( 'emoticons', array( 'clickable' => intval($click), 'alt_typed' => $alt_typed ), 'id='.$match[1] ); } } } } }Ищем (тоже с умом ищите):<input type='textinput' class='realbutton' size='10' name='emo_type_{$data['id']}' value='{$data['typed']}' />Ниже добавляем:<br /><input type='textinput' class='realbutton' size='10' name='emo_type_{$data['id']}' value='{$data['alt_typed']}' />Ищем:$poss_names[$data['typed']] = $data['typed'];Меняем на (есть сомнения в правильности замены):$poss_names[$data['typed']] = $data['typed'] OR $data['alt_typed']; На данный момент пока сохраняем - все. Пока идет обновления обеих таблиц, но думаю, что поправим быстро Просто решил пока сказать всем, что работа идет.Надо просто с умом подойти к function emoticon_edit().Самое простое решение, как я вижу, сделать значение у смайла НЕ ОТОБРАЖАТЬ ЕГО ВООБЩЕ. Например в админке к одному гифу привязываем три-четыре кода. Но три скрытых, эти смайлы только парсятся но не показываются в окошке "Показать Все".Это определенно не самое просто Что я напиал, это проще и удобнее, надеюсь в скором времени доделаю, если кто-нибудь раньше не напишет Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Hostem Опубликовано 11 Ноября 2006 Жалоба Поделиться Опубликовано 11 Ноября 2006 Я делал задание регулярных выражений для конкретных смайлов http://www.harrypotter.com.ua/juploads/user-1-1149348931.gif Примечание: На самом деле регулярное выражение для того смайла задано как "#\:-?D(?!\w)#", тот скрин был сделан давно, в ранних стадиях тестирования Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Song Опубликовано 11 Ноября 2006 Жалоба Поделиться Опубликовано 11 Ноября 2006 Ну вы ребят, фанаты.Было б чего полезное.. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Hostem Опубликовано 11 Ноября 2006 Жалоба Поделиться Опубликовано 11 Ноября 2006 Ну кроме смайлов нам больше ничего не надо . Шучу, просто про другое полезное не по смайлам в другой теме надо рассказывать . Или ты про полезное по смайлам? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
PALADIN+ Опубликовано 12 Ноября 2006 Жалоба Поделиться Опубликовано 12 Ноября 2006 Jax,нашёл кому пред дать Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Jax Опубликовано 12 Ноября 2006 Жалоба Поделиться Опубликовано 12 Ноября 2006 Пред бы я дал и Гиву и Сонгу, если бы они не указали версию, когда просили бы им моды написать И не важно, был этот человек когда-то в спец группе или не был. Надо уважительно относиться ко всем. Никто так и не хочет дописать мод? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Jax Опубликовано 12 Ноября 2006 Жалоба Поделиться Опубликовано 12 Ноября 2006 Ну вы ребят, фанаты.Было б чего полезное..Да нет, кстати, полезно это очень, только что-то додумать до конца не получается Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Hostem Опубликовано 15 Ноября 2006 Жалоба Поделиться Опубликовано 15 Ноября 2006 Может сделать правильную замену скобок "))))" на смайлы, учитывая, что могут быть перед этим скобки не как смайлы? Например,Привет ))))))))))))))))))Должно заменять на:Привет А такоеПривет (Как дела? )))))))))))))))На:Привет (Как дела? )Или такоеПривет (Как дела? (И как вчера были дела?))))))))))))))))На:Привет (Как дела? (И как вчера были дела?)) Т.е. N и больше скобок заменять на смайлы, но любую вложенность сохранять Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Jax Опубликовано 15 Ноября 2006 Жалоба Поделиться Опубликовано 15 Ноября 2006 А такое уже написано, здесь еще при 1.2 писали это. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Hostem Опубликовано 15 Ноября 2006 Жалоба Поделиться Опубликовано 15 Ноября 2006 Фиксим отображение смайликов - тут скобки "не-смайлы" как раз переводятся ... Т.е. если смайлик в скобках, то нужная скобка поглощается смайлом ) Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Jax Опубликовано 15 Ноября 2006 Жалоба Поделиться Опубликовано 15 Ноября 2006 Да, так и есть Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
theIggs Опубликовано 2 Декабря 2007 Жалоба Поделиться Опубликовано 2 Декабря 2007 Между прочим, вполне хорошая и полезная идея... Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.