Я не нашел простого расширения, чтобы грузилась страница в Боковой панели с набором смайликов и при клике на вставлялся текст "[ img]URL Smile[/img]" где находится курсор.
Самому мне в лом сейчас разбираться в XUL, а обычными возможностями JavaScripts тут похоже не обойтись...
Написал парсер на Пыхе для генерации списка.
Кто хочет закончить начатое?
<?php function getpage($host, $headers) { $site = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); if (!$site) return false; socket_bind($site, 0, 0); socket_connect($site, gethostbyname($host), 80); socket_write($site, $headers, strlen($headers)); $html = ''; while (($text = socket_read($site, 1024, PHP_BINARY_READ)) !== false) { $text = preg_replace("/\r\n.{1,3}\r\n/", '', $text); $html .= $text; // print $text; if (strrpos($html, '</html>') || strrpos($html, '</HTML>') || strrpos($html, 'TTP/1.1 302 Found') ) break; } socket_shutdown($site); socket_close($site); return preg_replace("/\r\n.{1,3}\r\n/", '', $html); } $GET = "GET /content_plugins/gallery/gallery.php HTTP/1.1\r\n"; $headers = "Host: www.kolobok.us\r\nUser-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.9) Gecko/2009040821 Firefox/3.0.9\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\nAccept-Language: ru,en-us;q=0.7,en;q=0.3\r\nAccept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7\r\nKeep-Alive: 300\r\nConnection: keep-alive\r\n\r\n"; $page = getpage('www.kolobok.us', $GET.$headers); if ($page === false) die('Not get!'); if (!preg_match_all("/<a href=\"gallery.php\?smiles\.(\d+)\">([^(<\/a>)]*)<\/a>/", $page, $smlist)) {die("\nFINISH!!!!!!\n");} print_r($smlist); $html = <<<HTML <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns='http://www.w3.org/1999/xhtml' xml:lang="ru"> <head> <title>Смайлики</title> <meta http-equiv='content-type' content='text/html; charset=utf-8' /> </head> <body> <table> <tr> <td>Kolobok.us</td> </tr> HTML; $fhtml = fopen('smiles.html', 'w'); fwrite($fhtml, $html); foreach ($smlist[1] as $smnum => $sm) { $GET = "GET /content_plugins/gallery/gallery.php?smiles.{$sm} HTTP/1.1\r\n"; $page = getpage('www.kolobok.us', $GET.$headers); if ($page === false) print $sm." - Not get!\n"; fwrite($fhtml, "\t<tr>\r\n\t\t<td>".$smlist[2][$smnum]."</td>\r\n\t</tr>\r\n\t<tr>\r\n\t\t<td>"); if (preg_match_all("/\/smiles\/([^\"]*)/", $page, $smiles)) { foreach ($smiles[1] as $smile) { fwrite($fhtml, "<img onclick=\"DoSmiley(this.src);\" src=\"http://www.kolobok.us/smiles/".$smile."\"> "); } } if (preg_match_all("/href=\".*gallery\.php\?smiles\.".$sm."\.(\d+)\"/", $page, $smpages)) { foreach ($smpages[1] as $smpage) { $GET = "GET /content_plugins/gallery/gallery.php?smiles.{$sm}.{$smpage} HTTP/1.1\r\n"; $page = getpage('www.kolobok.us', $GET.$headers); if ($page === false) print $smpage." - Not get!\n"; if (preg_match_all("/\/smiles\/([^\"]*)/", $page, $smiles)) { foreach ($smiles[1] as $smile) { fwrite($fhtml, "<img onclick=\"DoSmiley(this.src);\" src=\"http://www.kolobok.us/smiles/".$smile."\"> "); } } } } fwrite($fhtml, "<td>\r\n\t</tr>\r\n"); } fwrite($fhtml, "</table>\r\n</body>\r\n</html>\r\n"); fclose($fhtml); ?>
Отредактировано Keepun (25-04-2009 04:24:04)
Зачем вашему компу оперативная память, если вы сами не хотите, чтобы софт ее всю использовал?
Отсутствует
Раз никто не хочет браться...
<?xml version="1.0"?> <?xml-stylesheet href="chrome://browser/skin/browser.css" type="text/css" ?> <overlay id="myOverlay" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <!-- browser type="content" autocompleteenabled="true" src="chrome://emptysidebar/content/smiles.html" / --> <!-- button label="Save" accesskey="S" / --> <!-- chrome://emptysidebar/content/smiles.html --> <iframe src="http://www.google.com" flex="2" id="browserTable" name="table_frame" /> </overlay>
Как всеже должен выглядеть код, чтобы страница грузилась?
https://developer.mozilla.org/En/Creating_a_Firefox_sidebar - это взял за основу
Зачем вашему компу оперативная память, если вы сами не хотите, чтобы софт ее всю использовал?
Отсутствует
Эх... никто не откликнулся...
http://rapidshare.com/files/231504011/Smiley.xpi.html - вот мое первое расширение
Лично мне не хватает только scrollbar - http://forum.mozilla-russia.org/viewtop … pid=324014
Не возражаю, если кто-то доведет до финальной стадии
P.S. При установке нужно вырубить проверку версии в Лисе (тоже странная проблема)
Зачем вашему компу оперативная память, если вы сами не хотите, чтобы софт ее всю использовал?
Отсутствует
http://rapidshare.com/files/231534731/Smiley.xpi.html - саму структуру файлов только подправил
Зачем вашему компу оперативная память, если вы сами не хотите, чтобы софт ее всю использовал?
Отсутствует
Лично мне не хватает только scrollbar
P.S. При установке нужно вырубить проверку версии в Лисе (тоже странная проблема)
guid firefox неверный. Должно быть
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
Anton, спасибо за помощь
Вот вам профиксиная версия:
http://rapidshare.com/files/231708343/Smiley_1.0.xpi.html
Зачем вашему компу оперативная память, если вы сами не хотите, чтобы софт ее всю использовал?
Отсутствует
Keepun
Прикольно! Только кое-чего не хватает: 1) кнопки для открытия/закрытия панели смайлов, чтоб можно было прикрутить её к панели AiOS. 2) Кнопок открыть/закрыть возле папок (надписей), а то у иеня сейчас они открываются только если упереть курсор в левый край экрана.
Arch Linux & xmonad
Отсутствует
http://forum.mozilla-russia.org/uploaded/Smiley_1.1.xpi - добавил кнопку для открытия панели
Зачем вашему компу оперативная память, если вы сами не хотите, чтобы софт ее всю использовал?
Отсутствует
Keepun
Вот теперь стало удобнее. Ещё бы со вторым пунктом вопрос решить ... А то приходится по нескольку раз кликать мышем перемещая курсор, пока не найдёшь нужное место. Или это только у меня так?
Arch Linux & xmonad
Отсутствует
Хм... у меня список расскрывается, если клик на строчке и не зависимо в какой части...
Вообще позже дизайн доработаю.
https://addons.mozilla.org/ru/firefox/addon/11903
Зачем вашему компу оперативная память, если вы сами не хотите, чтобы софт ее всю использовал?
Отсутствует
Хм... у меня список расскрывается, если клик на строчке и не зависимо в какой части...
Возможно это мой персональный баг, но он почему-то у меня на разных профилях и в разных версиях ФФ.
Arch Linux & xmonad
Отсутствует
Интересная вещь, однако.
Кстати, есть проблема: при закрытии боковой панели через её кнопку, кнопка на панели остаётся нажатой, пока её не нажмёшь ещё раз (после чего она становится не нажатой, а панель появляется ).
Отсутствует
MySh
Это так, на всякий случай. Вообще-то, когда код писали, родной кнопки ещё не было.
Отредактировано 68agasfer (12-05-2009 18:52:00)
Arch Linux & xmonad
Отсутствует
А я не понял, что он сделал...
Сама загвоздка в type="checkbox" и если кнопка будет на панели AinO Sidebar, то действие будет вполе логичное, но пока не понимаю, как "отжать" на самой панели при сворачивании.
Добавлено 12-05-2009 18:57:08
Кнопка типа Закладки из toolbarbuttons себя так ведет
Зачем вашему компу оперативная память, если вы сами не хотите, чтобы софт ее всю использовал?
Отсутствует
Сама загвоздка в type="checkbox" и если кнопка будет на панели AinO Sidebar, то действие будет вполе логичное, но пока не понимаю, как "отжать" на самой панели при сворачивании.
Кнопке надо добавить атрибут
observes="viewSmileySidebar"
И ещё, возможно стоит сменить "yourdomain" в id расширения ?
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
Версия 1.2.1:
Добавлены id и class для Stylish
Профиксил кнопку
И ещё, возможно стоит сменить "yourdomain" в id расширения ?
Я не прочь, но Мозилла не дает сменить GUID
Зачем вашему компу оперативная память, если вы сами не хотите, чтобы софт ее всю использовал?
Отсутствует
Keepun
Добавлены id и class для Stylish
Профиксил кнопку
Спасибо. Вот теперь можно попробовать заняться украшательством
И ещё: в расширении заявлена поддержка локалей, а на самом деле её практически нет — все пункты меню прописаны напрямую в XML-файле и выводятся только по-русски. Надо бы, наверное, что-то с этим сделать.
Отсутствует
Версия 1.2.2:
+ Добавлены "потерянные" смайлики
+ Добавлена возможность перевода на другие языки
https://addons.mozilla.org/ru/firefox/addon/11903
Зачем вашему компу оперативная память, если вы сами не хотите, чтобы софт ее всю использовал?
Отсутствует
Keepun
После обновления до 1.2.2 :
1) Пропала кнопка. В настройках панелей её тоже нет.
2) Из меню "Вид > Боковая панель >" исчезла надпись SmileySidebar.
Пробовал в 3.5b4, 3.5b5pre, 3.6a1pre на 3 разных профилях.
Если кругом одни пешки - это вовсе не означает, что ты король.
Отсутствует
Duble3, проверил на 3.5б4 - пашет
2) Из меню "Вид > Боковая панель >" исчезла надпись SmileySidebar.
"Смайлики "
Зачем вашему компу оперативная память, если вы сами не хотите, чтобы софт ее всю использовал?
Отсутствует