nc_bbcode_bar ( string $winID, string $formID, string $textareaID, [bool $help = false, [array $codes = array(), [string $prefix = "", [string $suffix = "", [bool $noscript = false]]]]] )
отображает панельку вставки BB-кодов
Функция принимает следующие параметры:
| Параметр | Описание |
|---|---|
| $winID | идентификатор окна для JS кода |
| $formID | идентификатор формы для JS кода |
| $textareaID | идентификатор textarea для JS кода |
| $help | выводить строку с подсказками |
| $codes | какие коды выводить, по-умолчанию все |
| $prefix | префикс вывода панельки с кодами |
| $suffix | суффикс вывода панельки с кодами |
| $noscript | не подключать JS код |
| Параметр | Описание |
|---|---|
| SIZE | цвет шрифта в формате HexRGB (FFAA00), требуется закрывающий [COLOR=FF9900]...[/COLOR] |
| SMILE | разрешить смайлики |
| B | жирный шрифт, без параметров, требуется закрывающий [B]...[/B] |
| I | наклонный шрифт, без параметров, требуется закрывающий [I]...[/I] |
| U | подчёркнутый текст, без параметров, требуется закрывающий , требуется закрывающий [U]...[/U] |
| S | зачёркнутый текст, без параметров, требуется закрывающий [S]...[/S] |
| LIST | элемент списка, без параметров, требуется закрывающий [LIST]...[/LIST] |
| QUOTE | цитата сообщения, требуется закрывающий [QUOTE]...[/QUOTE] или [QUOTE='имя_пользователя']...[/QUOTE] |
| CODE | блок моноширинного текста, без параметров, требуется закрывающий [CODE]...[/CODE] |
| IMG | вставка изображения, [IMG='адрес_изображения'] |
| URL | вставка гиперссылки, требуется закрывающий [URL]адрес_url[/URL] или [URL='адрес_url']текст_ссылки[/URL] |
| CUT | сокращение текста при выводе объекта в списке, требуется закрывающий [CUT]...[/CUT] или [CUT='текст_ссылки'']...[/CUT] |
Массив допустимых кодов $codes, все возможные значения:
array("SIZE", "COLOR", "SMILE", "B", "I", "U", "S", "LIST", "QUOTE", "CODE", "IMG", "URL", "CUT")
Последовательность и количество элементов учитывается, т.е. если значению массива $codes будет соответствовать
array("LIST", "B", "U")
то будут учитываться только эти коды, в указанной последовательности.
Для корректного отображения панельки с BB-кодами, следует прописать следующие классы CSS-файл макета дизайна.
select.nc_bbcode_bar_size {
margin: 0 0;
padding: 0;
width: 100px;
height: 20px;
font-size: 12px;
vertical-align: top;
border: 1px solid #a1a1a1;
border-radius: 2px;
}
img.nc_bbcode_wicon {
border: 0;
width: 27px;
height: 20px;
}
img.nc_bbcode_icon {
border: 0;
width: 20px;
height: 20px;
}
div.nc_bbcode_error {
padding: 3px 0;
color: #AA0000;
font-weight: bold
}
input.nc_bbcode_helpbox {
margin: 0 0 3px;
padding: 2px 0;
width: 100%;
font-size: 10px;
font-family: Verdana, Arial, sans-serif;
background: none;
border: 0;
}
div.nc_bbcode_colors {
position: absolute;
background: #FFFFFF;
padding: 3px;
border: solid 1px #AAAAAA;
}
div.nc_bbcode_color_top {
white-space: nowrap;
}
div.nc_bbcode_color {
padding-top: 2px;
white-space: nowrap;
}
input.nc_bbcode_color {
padding: 0;
cursor: pointer;
height: 20px;
width: 20px;
border: 0;
}
input.nc_bbcode_color_white {
padding: 0;
cursor: pointer;
height: 20px;
width: 20px;
border: 1px solid #AAAAAA;
}
div.nc_bbcode_smiles {
position: absolute;
background: #FFFFFF;
padding: 3px;
border: solid 1px #AAAAAA;
}
div.nc_bbcode_smile_top {
white-space: nowrap;
}
div.nc_bbcode_smile {
padding-top: 2px;
white-space: nowrap;
}
input.nc_bbcode_smile {
padding: 0;
cursor: pointer;
height: 22px;
width: 22px;
border: 0;
}
img.nc_bbcode_smile_in_text {
margin: 0 0 -3px 0;
}
div.nc_bbcode_url {
position: absolute;
background: #FFFFFF;
padding: 3px;
border: solid 1px #AAAAAA;
height: 75px;
width: 250px;
}
div.nc_bbcode_url input {
float: right;
width: 130px;
height: 23px;
border: 1px solid gray;
font-size: 12px;
color: #555;
background: #fff;
padding: 0 5px;
}
div.nc_bbcode_url span {
float: left;
height: 23px;
width: 70px;
padding: 1px;
}
div.nc_bbcode_img {
position: absolute;
background: #FFFFFF;
padding: 3px;
border: solid 1px #AAAAAA;
height: 52px;
width: 250px;
}
div.nc_bbcode_img input {
float: right;
width: 130px;
height: 23px;
border: 1px solid gray;
font-size: 12px;
color: #555;
background: #fff;
padding: 0 5px;
}
div.nc_bbcode_img span {
float: left;
height: 23px;
width: 110px;
padding: 1px;
}
/* BBcodes in text */
div.nc_bbcode_quote_1_top {
margin: 0 25px 0 25px;
}
div.nc_bbcode_quote_1 {
padding: 20px;
border: 1px solid #CCCCCC;
background: #FFFFFF;
}
div.nc_bbcode_quote_2_top {
margin: 0 25px 0 25px;
}
div.nc_bbcode_quote_2 {
padding: 20px;
border: 1px solid #CCCCCC;
background: #FFFFFF;
}
div.nc_bbcode_code {
margin: 10px 25px;
}
span.nc_bbcode_list_closed {
margin-left: 1em;
text-indent: -.65em;
display: block;
}
div.nc_bbcode_list {
margin-left: 1em;
text-indent: -.65em;
}
span.nc_bbcode_color {
}
span.nc_bbcode_size {
}
a.nc_bbcode_url_1 {
}
a.nc_bbcode_url_2 {
}
img.nc_bbcode_img {
}
span.nc_bbcode_s {
}
a.nc_bbcode_cut_link {
}
div.nc_bbcode_url {
position: absolute;
background: #FFFFFF;
padding: 3px;
border: solid 1px #AAAAAA;
height: 81px;
width: 250px;
}
div.nc_bbcode_url input {
float: right;
width: 130px;
height: 23px;
border: 1px solid gray;
font-size: 12px;
color: #555;
background: #fff;
padding: 1px 5px;
margin-top: 2px;
}
div.nc_bbcode_url span {
float: left;
height: 23px;
width: 70px;
padding: 1px;
margin-top: 2px;
}
div.nc_bbcode_img {
position: absolute;
background: #FFFFFF;
padding: 3px;
border: solid 1px #AAAAAA;
height: 56px;
width: 270px;
}
div.nc_bbcode_img input {
float: right;
width: 130px;
height: 23px;
border: 1px solid gray;
font-size: 12px;
color: #555;
background: #fff;
padding: 1px 5px;
margin-top: 2px;
}
div.nc_bbcode_img span {
float: left;
height: 23px;
width: 120px;
padding: 1px;
margin-top: 2px;
}
Допустим, нам требуется прикрутить панельку BB-кодов к альтернативной форме добавления. Это будет выглядеть следующим образом:
<form id='addPost' name='adminForm' enctype='multipart/form-data' method='post' action='/netcat/add.php'>
...
<?= nc_bbcode_bar('this', 'addPost', 'blogMessage', true)?>
<textarea rows='10' name='f_Text' id='blogMessage'><?=$f_Text?></textarea>
...
</form>
Для ограничения используемых кодов следует указать массив $codes:
<?= nc_bbcode_bar('this', 'addPost', 'blogMessage', true, array("B", "I", "U", "S") )?>