форум общения русскоязычных пользователей CMS Текстпаттерн
Вы не зашли.
Есть такой маленький плагин под название: rah_textile_bar
Это панелька для упрощения написание новостей, которая выглядит вот так:
http://s39.radikal.ru/i083/0908/60/bd33a7f9d8ab.jpg
Меня сама панель интересует не особо, интересует её функционал, использует она синтаксис Textile и просто вместо пользователя проставляет все теги которые иначе нужно писать вручную. И собственно проблемма.
У меня сайт где все новости имеют одну структуру т.е меняется только содержание и картинка в новосте, и я предположим сделал для себя шаблон вот его часть:
"<a href=""><img src="" alt="" title=""/></a>
Описание
<a href="Ссылка">*Скачать*</a>"
Так как в данный момен идёт заполнение контентом, копирование этого шаблона каждый раз откуда-то отнимает время, хотелось бы что бы вон в той панельки, что привёл выше появилась ещё одна кнопочка при нажатии на которую в новость автоматически вставлялся бы этот текст. Как это лучше реализовать? Нужно не только для этого. Хотелось бы что бы по нажатию кнопки ещё вставлялись свои теги с задными заранее класами, например:
<teg class="">содержимое</teg>
P.S Вроде как простым скриптом на яве или ещё чём нибудь это реализовать должно быть легче, но в данный момент располагаю только минимальными знаниями в html и css... Поэтому прошу вашей помощи.
Неактивен
Содержимое плагина:
################## # # rah_textile_bar-plugin for Textpattern # version 0.3.5 # by Jukka Svahn # http://rahforum.biz # ################### if (@txpinterface == 'admin') { register_callback('rah_textile_bar','admin_side','head_end'); add_privs('rah_textile_bar', '1,2'); register_tab("extensions", "rah_textile_bar", "Textilebar"); register_callback("rah_textile_bar_page", "rah_textile_bar"); rah_textile_bar_install(); } else { if(gps('rah_textile_bar_js')) rah_textile_bar_js(); if(gps('rah_textile_bar_css')) rah_textile_bar_css(); if(gps('rah_textile_bar_img')) rah_textile_bar_img(gps('rah_textile_bar_img')); } function rah_textile_bar_install() { safe_query( "CREATE TABLE IF NOT EXISTS ".safe_pfx('rah_textile_bar')." ( `name` VARCHAR(255) NOT NULL default '', `value` LONGTEXT NOT NULL, PRIMARY KEY(`name`) )" ); if(safe_count('rah_textile_bar', "name='disable'") == 0) safe_insert("rah_textile_bar","name='disable', value=''"); } function rah_textile_bar_page() { global $step; require_privs('rah_textile_bar'); if(in_array($step,array( 'rah_textile_bar_save' ))) $step(); else rah_textile_bar_edit(); } function rah_textile_bar_save() { $value = ps('not'); if(is_array($value)) $value = implode(',',$value); $value = doSlash($value); safe_update('rah_textile_bar',"value='$value'","name='disable'"); rah_textile_bar_edit('Preferences saved'); } function rah_textile_bar_edit($message='') { pagetop('rah_textile_bar',$message); $not = fetch('value','rah_textile_bar','name','disable'); $not = explode(',',$not); $items = array( '#textilebar .link', '#textilebar .strong', '#textilebar .emphasis', '#textilebar .ins', '#textilebar .del', '#textilebar .h11', '#textilebar .h2', '#textilebar .h3', '#textilebar .h4', '#textilebar .h5', '#textilebar .h6', '#textilebar .image', '#textilebar .codeline', '#textilebar .ul', '#textilebar .ol', '#textilebar .sup', '#textilebar .sub', '#textilebar .bq', '#textilebar .bc', '#textilebar .output_form', '#textilebar .acronym' ); echo ' <link href="'.hu.'?rah_textile_bar_css=1" rel="Stylesheet" type="text/css" />'.n. ' <form method="post" action="index.php" style="width:950px;margin:0 auto;position: relative;">'.n. ' <h1><strong>rah_textile_bar</strong> | Simple Textile Inserting Bar</h1>'.n. ' <input type="submit" value="Save settings" class="publish" style="position:absolute;top:5px;right:30px;" />'.n. ' <p>» <a href="?event=plugin&step=plugin_help&name=rah_textile_bar">Documentation</a></p>'.n. ' <fieldset style="padding:20px;margin:20px 0;overflow:hidden;" id="textilebar">'.n. ' <legend>Disable and remove items from the Textile bar. Check a item to disable it.</legend>'.n. ' <table style="width:100%" cellspacing="0" cellpadding="0" border="0" class="list" id="list">'.n. ' <tr>'.n. ' <th>Icon</th>'.n. ' <th>Item name</th>'.n. ' <th>Disabled?</th>'.n. ' </tr>'.n; foreach($items as $item) { echo ' <tr>'.n. ' <td><div class="'.str_replace('#textilebar .','',$item).'"></div></td>'.n. ' <td><label for="'.str_replace('#textilebar .','',$item).'">'.str_replace('#textilebar .','',$item).'</label></td>'.n. ' <td><input type="checkbox" id="'.str_replace('#textilebar .','',$item).'" value="'.$item.'" name="not[]"'.((in_array($item,$not)) ? ' checked="checked"' : '').' /></td>'.n. ' </tr>'.n; } echo ' </table>'.n. ' </fieldset>'.n. ' <input type="hidden" name="event" value="rah_textile_bar" />'.n. ' <input type="hidden" name="step" value="rah_textile_bar_save" />'.n. ' </form>'.n; } function rah_textile_bar() { global $event; if($event == 'article') echo n. ' <script type="text/javascript" src="'.hu.'?rah_textile_bar_js=1"></script>'.n. ' <link href="'.hu.'?rah_textile_bar_css=1" rel="Stylesheet" type="text/css" />'.n.n; } function rah_textile_bar_button ($class='',$name='',$start='',$close=''){ $not = @fetch('value','rah_textile_bar','name','disable'); $not = explode(',',$not); if(!in_array('#textilebar .'.$class,$not)) return ' theButtons[theButtons.length] = new edButton('."'".$class."','".$name."','".$start."','".$close."');"; } function rah_textile_bar_js() { ob_start(); ob_end_clean(); header('Content-type: application/x-javascript'); $js = 'CXZhciBoYWtfdGV4dGlsZV90YWdfaW5pdGlhbGl6ZWQgPSAwOw0KCWZ1bmN0aW9uIGFkZEV2ZW50KG9iaiwgZXZUeXBlLCBmbil7DQoJCWlmIChvYmouYWRkRXZlbnRMaXN0ZW5lcil7DQoJCQlvYmouYWRkRXZlbnRMaXN0ZW5lcihldlR5cGUsIGZuLCB0cnVlKTsNCgkJCXJldHVybiB0cnVlOw0KCQl9IGVsc2UgaWYgKG9iai5hdHRhY2hFdmVudCl7DQoJCQl2YXIgciA9IG9iai5hdHRhY2hFdmVudCgib24iK2V2VHlwZSwgZm4pOw0KCQkJcmV0dXJuIHI7DQoJCX0gZWxzZSB7DQoJCQlyZXR1cm4gZmFsc2U7DQoJCX0NCgl9DQoNCglmdW5jdGlvbiBpbml0UXVpY2t0YWdzKGlkZW50aWZpZXIpIHsNCgkJaWYgKCFoYWtfdGV4dGlsZV90YWdfaW5pdGlhbGl6ZWQpIHsNCgkJCXZhciBnZXRDYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGV4dGFyZWEiKTsNCgkJCWZvciAodmFyIGkgPSAwOyBpIDwgZ2V0Q2FudmFzLmxlbmd0aDsgaSsrKSB7DQoJCQkJaWYgKGdldENhbnZhc1tpXS5uYW1lID09IGlkZW50aWZpZXIgIHx8IGdldENhbnZhc1tpXS5pZCA9PSBpZGVudGlmaWVyKSB7DQoJCQkJCXZhciBjYW52YXMgPSBnZXRDYW52YXNbaV07DQoJCQkJfQ0KCQkJCWlmIChjYW52YXMpIHsNCgkJCQkJdmFyIHRvb2xiYXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGV4dGlsZWJhciIpOw0KCQkJCQl0b29sYmFyLnN0eWxlLnZpc2liaWxpdHkgPSAidmlzaWJsZSI7DQoJCQkJCXZhciBlZEJ1dHRvbnMgPSBuZXcgQXJyYXkoKTsNCgkJCQkJZWRCdXR0b25zID0gdGhlQnV0dG9uczsNCgkJCQkJZm9yICh2YXIgaSA9IDA7IGkgPCBlZEJ1dHRvbnMubGVuZ3RoOyBpKyspIHsNCgkJCQkJCXZhciB0aGlzQnV0dG9uID0gZWRTaG93QnV0dG9uKGVkQnV0dG9uc1tpXSwgY2FudmFzKTsNCgkJCQkJCXRvb2xiYXIuYXBwZW5kQ2hpbGQodGhpc0J1dHRvbik7DQoJCQkJCX0NCgkJCQl9DQoJCQl9DQoJCQloYWtfdGV4dGlsZV90YWdfaW5pdGlhbGl6ZWQgPSAxOw0KCQl9DQoJfQ0KDQoJZnVuY3Rpb24gZWRTaG93QnV0dG9uKGJ1dHRvbiwgZWRDYW52YXMpIHsNCgkJdmFyIHRoZUJ1dHRvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOw0KCQl0aGVCdXR0b24uaWQgPSBidXR0b24uaWQ7DQoJCXRoZUJ1dHRvbi50aXRsZSA9IGJ1dHRvbi5pZDsNCgkJdGhlQnV0dG9uLmNsYXNzTmFtZSA9ICd0ZXh0aWxlYnV0dG9uJzsNCgkJdGhlQnV0dG9uLmNsYXNzTmFtZSArPSAnICcgKyBidXR0b24uaWQ7DQoJCXRoZUJ1dHRvbi50YWdTdGFydCA9IGJ1dHRvbi50YWdTdGFydDsNCgkJdGhlQnV0dG9uLnRhZ0VuZCA9IGJ1dHRvbi50YWdFbmQ7DQoJCXRoZUJ1dHRvbi5vcGVuID0gYnV0dG9uLm9wZW47DQoJCWlmIChidXR0b24uaWQgPT0gJ2ltYWdlJykgew0KCQkJdGhlQnV0dG9uLm9uY2xpY2sgPSBmdW5jdGlvbigpIHsgZWRJbnNlcnRJbWFnZShlZENhbnZhcyk7IH0NCgkJfSBlbHNlIGlmIChidXR0b24uaWQgPT0gJ2xpbmsnKSB7DQoJCQl0aGVCdXR0b24ub25jbGljayA9IGZ1bmN0aW9uKCkgeyBlZEluc2VydExpbmsoZWRDYW52YXMpO30NCgkJfSBlbHNlIGlmIChidXR0b24uaWQgPT0gJ291dHB1dF9mb3JtJykgew0KCQkJdGhlQnV0dG9uLm9uY2xpY2sgPSBmdW5jdGlvbigpIHsgZWRJbnNlcnRGb3JtKGVkQ2FudmFzKTt9DQoJCX0gZWxzZSBpZiAoYnV0dG9uLmlkID09ICdhY3JvbnltJykgew0KCQkJdGhlQnV0dG9uLm9uY2xpY2sgPSBmdW5jdGlvbigpIHsgZWRJbnNlcnRBY3JvbnltKGVkQ2FudmFzKTt9DQoJCX0gZWxzZSB7DQoJCQl0aGVCdXR0b24ub25jbGljayA9IGZ1bmN0aW9uKCkgeyBlZEluc2VydFRhZyhlZENhbnZhcyx0aGlzKTsgfQ0KCQl9DQoJCXRoZUJ1dHRvbi5pbm5lckhUTUwgPSAoYnV0dG9uLmRpc3BsYXkpICsgIiI7DQoJCXJldHVybiB0aGVCdXR0b247DQoJfQ0KDQoJZnVuY3Rpb24gZWRBZGRUYWcoYnV0dG9uKSB7DQoJCWlmIChidXR0b24udGFnRW5kICE9ICcnKSB7DQoJCQllZE9wZW5UYWdzW2VkT3BlblRhZ3MubGVuZ3RoXSA9IGJ1dHRvbjsNCgkJCWJ1dHRvbi5pbm5lckhUTUwgPSAnLycgKyBidXR0b24uaW5uZXJIVE1MOw0KCQkJYnV0dG9uLmNsYXNzTmFtZSA9IGJ1dHRvbi5jbGFzc05hbWUucmVwbGFjZSgidGV4dGlsZWJ1dHRvbiIsICJhY3RpdmUiKTsNCgkJfQ0KCX0NCg0KCWZ1bmN0aW9uIGVkUmVtb3ZlVGFnKGJ1dHRvbikgew0KCQlmb3IgKGkgPSAwOyBpIDwgZWRPcGVuVGFncy5sZW5ndGg7IGkrKykgew0KCQkJaWYgKGVkT3BlblRhZ3NbaV0gPT0gYnV0dG9uKSB7DQoJCQkJZWRPcGVuVGFncy5zcGxpY2UoYnV0dG9uLCAxKTsNCgkJCQlidXR0b24uaW5uZXJIVE1MID0gYnV0dG9uLmlubmVySFRNTC5yZXBsYWNlKCcvJywgJycpOw0KCQkJCWJ1dHRvbi5jbGFzc05hbWUgPSBidXR0b24uY2xhc3NOYW1lLnJlcGxhY2UoImFjdGl2ZSIsICJ0ZXh0aWxlYnV0dG9uIik7DQoJCQl9DQoJCX0NCgl9DQoNCglmdW5jdGlvbiBlZENoZWNrT3BlblRhZ3MoYnV0dG9uKSB7DQoJCXZhciB0YWcgPSAwOw0KCQlmb3IgKGkgPSAwOyBpIDwgZWRPcGVuVGFncy5sZW5ndGg7IGkrKykgew0KCQkJaWYgKGVkT3BlblRhZ3NbaV0gPT0gYnV0dG9uKSB7DQoJCQkJdGFnKys7DQoJCQl9DQoJCX0NCgkJaWYgKHRhZyA+IDApIHsNCgkJCXJldHVybiB0cnVlOw0KCQl9IGVsc2Ugew0KCQkJcmV0dXJuIGZhbHNlOw0KCQl9DQoJfQ0KDQoJZnVuY3Rpb24gZWRDbG9zZUFsbFRhZ3MoZWRDYW52YXMpIHsNCgkJdmFyIGNvdW50ID0gZWRPcGVuVGFncy5sZW5ndGg7DQoJCWZvciAobyA9IDA7IG8gPCBjb3VudDsgbysrKSB7DQoJCQllZEluc2VydFRhZyhlZENhbnZhcywgZWRPcGVuVGFnc1tlZE9wZW5UYWdzLmxlbmd0aCAtIDFdKTsNCgkJfQ0KCX0NCg0KCWZ1bmN0aW9uIGVkSW5zZXJ0VGFnKG15RmllbGQsIGJ1dHRvbikgew0KCQlpZiAoZG9jdW1lbnQuc2VsZWN0aW9uKSB7DQoJCQlteUZpZWxkLmZvY3VzKCk7DQoJCQlzZWwgPSBkb2N1bWVudC5zZWxlY3Rpb24uY3JlYXRlUmFuZ2UoKTsNCgkJCWlmIChzZWwudGV4dC5sZW5ndGggPiAwKSB7DQoJCQkJc2VsLnRleHQgPSBidXR0b24udGFnU3RhcnQgKyBzZWwudGV4dCArIGJ1dHRvbi50YWdFbmQ7DQoJCQl9IGVsc2Ugew0KCQkJCWlmICghZWRDaGVja09wZW5UYWdzKGJ1dHRvbikgfHwgYnV0dG9uLnRhZ0VuZCA9PSAnJykgew0KCQkJCQlzZWwudGV4dCA9IGJ1dHRvbi50YWdTdGFydDsNCgkJCQkJZWRBZGRUYWcoYnV0dG9uKTsNCgkJCQl9IGVsc2Ugew0KCQkJCQlzZWwudGV4dCA9IGJ1dHRvbi50YWdFbmQ7DQoJCQkJCWVkUmVtb3ZlVGFnKGJ1dHRvbik7DQoJCQkJfQ0KCQkJfQ0KCQkJbXlGaWVsZC5mb2N1cygpOw0KCQl9IGVsc2UgaWYgKG15RmllbGQuc2VsZWN0aW9uU3RhcnQgfHwgbXlGaWVsZC5zZWxlY3Rpb25TdGFydCA9PSAnMCcpIHsNCgkJCXZhciBzdGFydFBvcyA9IG15RmllbGQuc2VsZWN0aW9uU3RhcnQ7DQoJCQl2YXIgZW5kUG9zID0gbXlGaWVsZC5zZWxlY3Rpb25FbmQ7DQoJCQl2YXIgY3Vyc29yUG9zID0gZW5kUG9zOw0KCQkJdmFyIHNjcm9sbFRvcCA9IG15RmllbGQuc2Nyb2xsVG9wOw0KCQkJaWYgKHN0YXJ0UG9zICE9IGVuZFBvcykgew0KCQkJCW15RmllbGQudmFsdWUgPSBteUZpZWxkLnZhbHVlLnN1YnN0cmluZygwLCBzdGFydFBvcykgKyBidXR0b24udGFnU3RhcnQgKyBteUZpZWxkLnZhbHVlLnN1YnN0cmluZyhzdGFydFBvcywgZW5kUG9zKSArIGJ1dHRvbi50YWdFbmQgKyBteUZpZWxkLnZhbHVlLnN1YnN0cmluZyhlbmRQb3MsIG15RmllbGQudmFsdWUubGVuZ3RoKTsNCgkJCQljdXJzb3JQb3MgKz0gYnV0dG9uLnRhZ1N0YXJ0Lmxlbmd0aCArIGJ1dHRvbi50YWdFbmQubGVuZ3RoOw0KCQkJfWVsc2Ugew0KCQkJCWlmICghZWRDaGVja09wZW5UYWdzKGJ1dHRvbikgfHwgYnV0dG9uLnRhZ0VuZCA9PSAnJykgew0KCQkJCQlteUZpZWxkLnZhbHVlID0gbXlGaWVsZC52YWx1ZS5zdWJzdHJpbmcoMCwgc3RhcnRQb3MpICsgYnV0dG9uLnRhZ1N0YXJ0ICsgbXlGaWVsZC52YWx1ZS5zdWJzdHJpbmcoZW5kUG9zLCBteUZpZWxkLnZhbHVlLmxlbmd0aCk7DQoJCQkJCWVkQWRkVGFnKGJ1dHRvbik7DQoJCQkJCWN1cnNvclBvcyA9IHN0YXJ0UG9zICsgYnV0dG9uLnRhZ1N0YXJ0Lmxlbmd0aDsNCgkJCQl9IGVsc2Ugew0KCQkJCQlteUZpZWxkLnZhbHVlID0gbXlGaWVsZC52YWx1ZS5zdWJzdHJpbmcoMCwgc3RhcnRQb3MpKyBidXR0b24udGFnRW5kICsgbXlGaWVsZC52YWx1ZS5zdWJzdHJpbmcoZW5kUG9zLCBteUZpZWxkLnZhbHVlLmxlbmd0aCk7DQoJCQkJCWVkUmVtb3ZlVGFnKGJ1dHRvbik7DQoJCQkJCWN1cnNvclBvcyA9IHN0YXJ0UG9zICsgYnV0dG9uLnRhZ0VuZC5sZW5ndGg7DQoJCQkJfQ0KCQkJfQ0KCQkJbXlGaWVsZC5mb2N1cygpOw0KCQkJbXlGaWVsZC5zZWxlY3Rpb25TdGFydCA9IGN1cnNvclBvczsNCgkJCW15RmllbGQuc2VsZWN0aW9uRW5kID0gY3Vyc29yUG9zOw0KCQkJbXlGaWVsZC5zY3JvbGxUb3AgPSBzY3JvbGxUb3A7DQoJCX0gZWxzZSB7DQoJCQlpZiAoIWVkQ2hlY2tPcGVuVGFncyhidXR0b24pIHx8IGJ1dHRvbi50YWdFbmQgPT0gJycpIHsNCgkJCQlteUZpZWxkLnZhbHVlICs9IGJ1dHRvbi50YWdTdGFydDsNCgkJCQllZEFkZFRhZyhidXR0b24pOw0KCQkJfSBlbHNlIHsNCgkJCQlteUZpZWxkLnZhbHVlICs9IGJ1dHRvbi50YWdFbmQ7DQoJCQkJZWRSZW1vdmVUYWcoYnV0dG9uKTsNCgkJCX0NCgkJCW15RmllbGQuZm9jdXMoKTsNCgkJfQ0KCX0NCg0KCWZ1bmN0aW9uIGVkSW5zZXJ0Q29udGVudChteUZpZWxkLCBteVZhbHVlKSB7DQoJCWlmIChkb2N1bWVudC5zZWxlY3Rpb24pIHsNCgkJCW15RmllbGQuZm9jdXMoKTsNCgkJCXNlbCA9IGRvY3VtZW50LnNlbGVjdGlvbi5jcmVhdGVSYW5nZSgpOw0KCQkJc2VsLnRleHQgPSBteVZhbHVlOw0KCQkJbXlGaWVsZC5mb2N1cygpOw0KCQl9DQoJCWVsc2UgaWYgKG15RmllbGQuc2VsZWN0aW9uU3RhcnQgfHwgbXlGaWVsZC5zZWxlY3Rpb25TdGFydCA9PSAnMCcpIHsNCgkJCXZhciBzdGFydFBvcyA9IG15RmllbGQuc2VsZWN0aW9uU3RhcnQ7DQoJCQl2YXIgZW5kUG9zID0gbXlGaWVsZC5zZWxlY3Rpb25FbmQ7DQoJCQlteUZpZWxkLnZhbHVlID0gbXlGaWVsZC52YWx1ZS5zdWJzdHJpbmcoMCwgc3RhcnRQb3MpICsgDQoJCQlteVZhbHVlICsgbXlGaWVsZC52YWx1ZS5zdWJzdHJpbmcoZW5kUG9zLCANCgkJCW15RmllbGQudmFsdWUubGVuZ3RoKTsNCgkJCW15RmllbGQuZm9jdXMoKTsNCgkJCW15RmllbGQuc2VsZWN0aW9uU3RhcnQgPSBzdGFydFBvcyArIG15VmFsdWUubGVuZ3RoOw0KCQkJbXlGaWVsZC5zZWxlY3Rpb25FbmQgPSBzdGFydFBvcyArIG15VmFsdWUubGVuZ3RoOw0KCQl9IGVsc2Ugew0KCQkJbXlGaWVsZC52YWx1ZSArPSBteVZhbHVlOw0KCQkJbXlGaWVsZC5mb2N1cygpOw0KCQl9DQoJfQ0KDQoJZnVuY3Rpb24gZWRJbnNlcnRMaW5rKG15RmllbGQpIHsNCgkJdmFyIG15VmFsdWUgPSBwcm9tcHQoJ1VSTDonLCAnaHR0cDovLycpOw0KCQl2YXIgbXlUZXh0ID0gcHJvbXB0KCdUZXh0OicsICcnKTsNCgkJdmFyIG15VGl0bGUgPSBwcm9tcHQoJ1RpdGxlOicsICcnKTsNCgkJdmFyIG15UmVsID0gcHJvbXB0KCdSZWw6JywgJycpOw0KCQl2YXIgbXlWYWx1ZTIgPSBteVZhbHVlOw0KCQlpZiAobXlWYWx1ZSkgew0KCQkJaWYobXlSZWwpIHsNCgkJCQlteVZhbHVlID0gJzxhIHJlbD0iJyArIG15UmVsICsgJyIgaHJlZj0iJyArIG15VmFsdWUyICsgJyInOw0KCQkJCWlmKG15VGl0bGUpIHsNCgkJCQkJbXlWYWx1ZSArPSAnIHRpdGxlPSInICsgbXlUaXRsZSArICciJzsNCgkJCQl9DQoJCQkJbXlWYWx1ZSArPSAnPicgKyBteVRleHQgKyAnPC9hPic7DQoJCQl9IGVsc2Ugew0KCQkJCW15VmFsdWUgPSAnIicgKyBteVRleHQ7DQoJCQkJaWYobXlUaXRsZSkgew0KCQkJCQlteVZhbHVlICs9ICcoJyArIG15VGl0bGUgKyAnKSc7DQoJCQkJfQ0KCQkJCW15VmFsdWUgKz0gJyI6JyArIG15VmFsdWUyICsgJyAnOw0KCQkJfQ0KCQkJZWRJbnNlcnRDb250ZW50KG15RmllbGQsIG15VmFsdWUpOw0KCQl9DQoJfQ0KDQoJZnVuY3Rpb24gZWRJbnNlcnRBY3JvbnltKG15RmllbGQpIHsNCgkJdmFyIG15VmFsdWUgPSBwcm9tcHQoJ0Fjcm9ueW06JywgJycpOw0KCQl2YXIgbXlUaXRsZSA9IHByb21wdCgnQ29tZXMgZnJvbTonLCAnJyk7DQoJCXZhciBteUxhbmd1YWdlID0gcHJvbXB0KCdMYW5ndWFnZTonLCAnJyk7DQoJCXZhciBteVZhbHVlMiA9IG15VmFsdWU7DQoJCWlmIChteVZhbHVlKSB7DQoJCQlteVZhbHVlID0gJzxhY3JvbnltJzsNCgkJCWlmKG15VGl0bGUpIHsNCgkJCQlteVZhbHVlICs9ICcgdGl0bGU9IicgKyBteVRpdGxlICsgJyInOw0KCQkJfQ0KCQkJaWYobXlMYW5ndWFnZSkgew0KCQkJCW15VmFsdWUgKz0gJyBsYW5nPSInICsgbXlMYW5ndWFnZSArICciJzsNCgkJCX0NCgkJCW15VmFsdWUgKz0gJz4nICsgbXlWYWx1ZTIgKyAnPC9hY3JvbnltPic7DQoJCQllZEluc2VydENvbnRlbnQobXlGaWVsZCwgbXlWYWx1ZSk7DQoJCX0NCgl9DQoNCglmdW5jdGlvbiBlZEluc2VydEZvcm0obXlGaWVsZCkgew0KCQl2YXIgbXlWYWx1ZSA9IHByb21wdCgnRm9ybTonLCAnJyk7DQoJCWlmIChteVZhbHVlKSB7DQoJCQlteVZhbHVlID0gJzx0eHA6b3V0cHV0X2Zvcm0gZm9ybT0iJyArIG15VmFsdWUgKyciIC8+JzsNCgkJCWVkSW5zZXJ0Q29udGVudChteUZpZWxkLCBteVZhbHVlKTsNCgkJfQ0KCX0NCg0KCWZ1bmN0aW9uIGVkSW5zZXJ0SW1hZ2UobXlGaWVsZCkgew0KCQl2YXIgbXlWYWx1ZSA9IHByb21wdCgnVVJMOicsICcvaW1hZ2VzLycpOw0KCQl2YXIgbXlUaXRsZSA9IHByb21wdCgnQWx0OicsICcnKTsNCgkJdmFyIG15U3R5bGUgPSBwcm9tcHQoJ1N0eWxlOicsICcnKTsNCgkJdmFyIG15VmFsdWUyID0gbXlWYWx1ZTsNCgkJaWYgKG15VmFsdWUpIHsNCgkJCW15VmFsdWUgPSAnISc7DQoJCQlpZihteVN0eWxlKSB7DQoJCQkJbXlWYWx1ZSArPSAneycrIG15U3R5bGUgKyd9JzsNCgkJCX0NCgkJCW15VmFsdWUgKz0gbXlWYWx1ZTI7DQoJCQlpZihteVRpdGxlKSB7DQoJCQkJbXlWYWx1ZSArPSAnKCcgKyBteVRpdGxlICsgJyknOw0KCQkJfQ0KCQkJbXlWYWx1ZSArPSAnISc7DQoJCQllZEluc2VydENvbnRlbnQobXlGaWVsZCwgbXlWYWx1ZSk7DQoJCX0NCgl9DQoNCglmdW5jdGlvbiBlZEJ1dHRvbihpZCwgZGlzcGxheSwgdGFnU3RhcnQsIHRhZ0VuZCwgb3Blbikgew0KCQl0aGlzLmlkID0gaWQ7DQoJCXRoaXMuZGlzcGxheSA9IGRpc3BsYXk7DQoJCXRoaXMudGFnU3RhcnQgPSB0YWdTdGFydDsNCgkJdGhpcy50YWdFbmQgPSB0YWdFbmQ7DQoJCXRoaXMub3BlbiA9IG9wZW47DQoJfQ0KDQoJdmFyIHRoZUJ1dHRvbnMgPSBuZXcgQXJyYXkoKTsNCgl2YXIgZWRPcGVuVGFncyA9IG5ldyBBcnJheSgpOw=='; echo base64_decode($js).n. rah_textile_bar_button ('strong','strong','*','*').n. rah_textile_bar_button ('link','url','','').n. rah_textile_bar_button ('emphasis','em','_','_').n. rah_textile_bar_button ('ins','ins','+','+').n. rah_textile_bar_button ('del','del','-','-').n. rah_textile_bar_button ('h1','h1','h1. ','').n. rah_textile_bar_button ('h2','h2','h2. ','').n. rah_textile_bar_button ('h3','h3','h3. ','').n. rah_textile_bar_button ('h4','h4','h4. ','').n. rah_textile_bar_button ('h5','h5','h5. ','').n. rah_textile_bar_button ('h6','h6','h6. ','').n. rah_textile_bar_button ('image','img','','').n. rah_textile_bar_button ('codeline','codeline','@','@').n. rah_textile_bar_button ('ul','ul','* ','\n').n. rah_textile_bar_button ('ol','ol','# ','\n').n. rah_textile_bar_button ('sup','sup','^','^').n. rah_textile_bar_button ('sub','sub','~','~').n. rah_textile_bar_button ('bq','bq','bq. ','\n\n').n. rah_textile_bar_button ('bc','bc','bc. ','\n\n').n. rah_textile_bar_button ('acronym','acronym','','').n. rah_textile_bar_button ('output_form','output_form','','').n. ' $(document).ready (function() {'.n. ' $(\'textarea#body\').before(\'<div id="textilebar"></div>\');'.n. ' addEvent(window, \'load\', function() {initQuicktags(\'body\')});'.n. ' });'.n; exit(); } function rah_textile_bar_css() { ob_start(); ob_end_clean(); header('Content-type: text/css'); echo ' #textilebar { background: #fff; border-left: 1px solid #ccc; padding: 0; overflow: hidden; margin: 5px 0 0 0; } #textilebar div { display: inline; width: auto; border-right: 1px solid #ccc; border-bottom: 1px solid #ccc; border-top: 1px solid #ccc; color: #333; height: 30px; width: 30px; padding: 0; cursor: pointer; overflow: hidden; outline: 0; text-indent: -9000px; float: left; margin: 0 0 1px 0; background-color: #fff; background-image: url("'.hu.'?rah_textile_bar_img=image"); background-repeat: no-repeat; } #textilebar .strong { background-position: 10px -180px; } #textilebar .link { background-position: 7px -330px; } #textilebar .emphasis { background-position: 10px -599px; } #textilebar .ins { background-position: 10px -510px; } #textilebar .del { background-position: 8px -538px; } #textilebar .h1 { background-position: 8px 1px; } #textilebar .h2 { background-position: 8px -30px; } #textilebar .h3 { background-position: 8px -59px; } #textilebar .h4 { background-position: 8px -89px; } #textilebar .h5 { background-position: 8px -119px; } #textilebar .h6 { background-position: 8px -149px; } #textilebar .image { background-position: 8px -360px; } #textilebar .codeline { background-position: 9px -390px; } #textilebar .ul{ background-position: 8px -300px; } #textilebar .ol{ background-position: 8px -269px; } #textilebar .sup { background-position: 10px -210px; } #textilebar .sub { background-position: 10px -240px; } #textilebar .bq { background-position: 8px -450px; } #textilebar .bc { background-position: 7px -478px; } #textilebar .output_form { background-position: 8px -570px; } #textilebar .acronym { background-position: 7px -420px; } #textilebar .active { background-color: #ffc; }'; exit(); } function rah_textile_bar_img($img='') { ob_start(); ob_end_clean(); header('Content-type: image/gif'); $code = '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'; echo base64_decode($code); exit(); }
Неактивен
Сложновато, мне кажется, будет с этим плагином - в нем javascript в base64 закодирован. Попробуйте upm_quicktags - http://utterplush.com/txp-plugins/upm-quicktags
Неактивен
2Xeon: в свое время я обучил Punto Switcher всем необходимым для меня макросам. Очень удобно и не зависит, от того в какой админке я работаю или какой текстовый редактор использую.
Неактивен
the_ghost, makss спасибо, пока реализовал всё автозаменной числа 1001 на нужный мне текст.
Но я уже знаю что напишу когда буду знать ява скрипт и пхп. )))
Неактивен