Файл: public_html/wm/editor.html
Строк: 275
<?php
<HTML>
<HEAD>
<TITLE>HTML редактор</TITLE>
<STYLE type="text/css">
<!--
.button {
border-width:1 ;
font-family: Tahoma;
border-color: black;
background: white;
color:black;
}
-->
</STYLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
function viewPage() { //открыть HTML в новом окне
view = window.open("", "view");
view.document.open();
view.document.write(document.forms[0].elements[0].value);
view.document.write("<BR>"); //решаем баг старых браузеров
view.document.close()
}
//символы новой строки для разных платформ
var nl = getNewLine()
function getNewLine() {
var agent = navigator.userAgent
if (agent.indexOf("Win") >= 0) return "rn"
else if (agent.indexOf("Mac") >= 0) return "r"
return "n"
}
function getInput(func, form) {
var text = form.body.value
if (document.forms[0].mode[0].checked) var mode = 0 //без запроса
else var mode = 1 //запрос
if (func == 1) text += outline(mode)
if (func == 2) text += vertical(mode)
if (func == 3) text += font(mode)
if (func == 4) text += list(mode)
if (func == 5) text += link(mode)
form.body.value = text
}
function vertical(mode) { //Абзац
var ind = document.forms[0].select2.selectedIndex
if (ind == 0) return ""
if (ind == 1) return "<BR>" + nl
if (ind == 2)
if (mode == 0) return "<HR>" + nl
else {
var prompt1 = prompt("Введите ширину линии:", "100%")
prompt1 = (prompt1) ? " WIDTH=" + prompt1 : ""
var prompt2 = prompt("Введите толщину линии:", "2")
prompt2 = (prompt2) ? " SIZE=" + prompt2 : ""
return "<HR" + prompt1 + prompt2 + ">" + nl
}
if (ind == 3) return "<P>" + nl
}
function outline(mode) { //Документ
var ind = document.forms[0].select1.selectedIndex
if (ind == 0) return ""
if (ind == 1) return "<HTML>" + nl
if (ind == 2) return "</HTML>" + nl
if (ind == 3) return "<HEAD>" + nl
if (ind == 4) return "</HEAD>" + nl
if (ind == 5)
if (mode == 0) return "<BODY>" + nl
else {
var prompt1 = prompt("Введите цвет фона:", "white")
prompt1 = (prompt1) ? " BGCOLOR="" + prompt1 + """ : ""
var prompt2 = prompt("Введите адрес фоновой картинки:", "")
prompt2 = (prompt2) ? " BACKGROUND="" + prompt2 + """ : ""
return "<BODY" + prompt1 + prompt2 + ">" + nl
}
if (ind == 6) return "</BODY>" + nl
if (ind == 7)
if (mode == 0) return "<TITLE></TITLE>" + nl
else {
var prompt1 = prompt("Введите заголовок окна документа:", "Мой документ")
prompt1 = (prompt1) ? prompt1 : ""
return "<TITLE>" + prompt1 + "</TITLE>" + nl
}
}
function font(mode) { //Шрифт
var ind = document.forms[0].select3.selectedIndex
if (ind == 0) return ""
if (ind == 1)
if (mode == 0) return "<H></H>" + nl
else {
var prompt1 = prompt("Введите размер заголовка (1-6):", "1")
prompt1 = (prompt1) ? prompt1 : ""
var prompt2 = prompt("Введите текст заголовка:", "")
prompt2 = (prompt2) ? prompt2 : ""
return "<H" + prompt1 + ">" + prompt2 + "</H" + prompt1 + ">" + nl
}
if (ind == 2)
if (mode == 0) return "<FONT></FONT>" + nl
else {
var prompt1 = prompt("Введите размер шрифта (1-7):", "3")
prompt1 = (prompt1) ? " SIZE=" + prompt1 : ""
var prompt2 = prompt("Введите цвет шрифта:", "black")
prompt2 = (prompt2) ? " COLOR="" + prompt2 + """ : ""
var prompt3 = prompt("Введите текст:", "")
prompt3 = (prompt3) ? prompt3 : ""
return "<FONT" + prompt1 + prompt2 + ">" + prompt3 + "</FONT>" + nl
}
if (ind == 3)
if (mode == 0) return "<B></B>" + nl
else {
var prompt1 = prompt("Введите жирный текст:", "")
prompt1 = (prompt1) ? prompt1 : ""
return "<B>" + prompt1 + "</B>" + nl
}
if (ind == 4)
if (mode == 0) return "<BLINK></BLINK>" + nl
else {
var prompt1 = prompt("Введите мерцающий текст:", "")
prompt1 = (prompt1) ? prompt1 : ""
return "<BLINK>" + prompt1 + "</BLINK>" + nl
}
if (ind == 5)
if (mode == 0) return "<U></U>" + nl
else {
var prompt1 = prompt("Введите подчеркнутый текст:", "")
prompt1 = (prompt1) ? prompt1 : ""
return "<U>" + prompt1 + "</U>" + nl
}
if (ind == 6)
if (mode == 0) return "<PRE></PRE>" + nl
else {
var prompt1 = prompt("Введите предварительно отформатированный текст:", "")
prompt1 = (prompt1) ? prompt1 : ""
return "<PRE>" + prompt1 + "</PRE>" + nl
}
if (ind == 7)
if (mode == 0) return "<I></I>" + nl
else {
var prompt1 = prompt("Введите текст курсива:", "")
prompt1 = (prompt1) ? prompt1 : ""
return "<I>" + prompt1 + "</I>" + nl
}
if (ind == 8)
if (mode == 0) return "<EM></EM>" + nl
else {
var prompt1 = prompt("Введите текст:", "")
prompt1 = (prompt1) ? prompt1 : ""
return "<EM>" + prompt1 + "</EM>" + nl
}
if (ind == 9)
if (mode == 0) return "<CENTER></CENTER>" + nl
else {
var prompt1 = prompt("Введите центрированный текст:", "")
prompt1 = (prompt1) ? prompt1 : ""
return "<CENTER>" + prompt1 + "</CENTER>" + nl
}
}
function list(mode) { //Списки и таблицы
var ind = document.forms[0].select4.selectedIndex
if (ind == 0) return ""
if (ind == 1) return "<OL>" + nl
if (ind == 2) return "</OL>" + nl
if (ind == 3) return "<UL>" + nl
if (ind == 4) return "</UL>" + nl
if (ind == 5)
if (mode == 0) return "<LI></LI>" + nl
else {
var prompt1 = prompt("Введите элемент списка:", "")
prompt1 = (prompt1) ? prompt1 : ""
return "<LI>" + prompt1 + "</LI>" + nl
}
if (ind == 6)
if (mode == 0) return "<TABLE>" + nl
else {
var prompt1 = prompt("Введите ширину рамки:", "1")
prompt1 = (prompt1) ? " BORDER=" + prompt1 : ""
var prompt2 = prompt("Введите отступ от края ячейки:", "2")
prompt2 = (prompt2) ? " CELLPADDING=" + prompt2 : ""
var prompt3 = prompt("Введите расстояние между ячейками:", "0")
prompt3 = (prompt3) ? " CELLSPACING=" + prompt3 : ""
var prompt4 = prompt("Введите ширину таблицы:", "100%")
prompt4 = (prompt4) ? " WIDTH=" + prompt4 : ""
var prompt5 = prompt("Введите выравнивание таблицы относительно текста:", "center")
prompt5 = (prompt5) ? " ALIGN="" + prompt5 + """ : ""
return "<TABLE" + prompt1 + prompt2 + prompt3 + prompt4 + prompt5 + ">" + nl
}
if (ind == 7)
if (mode == 0) return "<TH>" + nl
else {
var prompt1 = prompt("Введите горизонтальное выравнивание заголвока таблицы:", "center")
prompt1 = (prompt1) ? " ALIGN="" + prompt1 + """ : ""
var prompt2 = prompt("Введите вертикальное выравнивание заголвока таблицы:", "center")
prompt2 = (prompt2) ? " VALIGN="" + prompt2 + """ : ""
var prompt3 = prompt("Введите фоновый цвет заголовка:", "lightgray")
prompt3 = (prompt3) ? " BGCOLOR="" + prompt3 + """ : ""
var prompt4 = prompt("Введите ширину заголовка:", "100%")
prompt4 = (prompt4) ? " COLSPAN=" + prompt4 : ""
var prompt5 = prompt("Введите:", "left")
prompt5 = (prompt5) ? " ROWSPAN="" + prompt5 + """ : ""
return "<TH" + prompt1 + prompt2 + prompt3 + prompt4 + prompt5 + ">" + nl
}
if (ind == 8) return "</TH>" + nl
if (ind == 9)
if (mode == 0) return "<CAPTION></CAPTION>" + nl
else {
var prompt1 = prompt("Введите выравнивание заголовка таблицы:", "center")
prompt1 = (prompt1) ? " ALIGN="" + prompt1 + """ : ""
var prompt2 = prompt("Введите текст заголовка:", "")
prompt2 = (prompt2) ? prompt2 : ""
return "<CAPTION" + prompt1 + ">" + prompt2 + "</CAPTION>" + nl
}
if (ind == 10)
if (mode == 0) return "<TR>" + nl
else {
var prompt1 = prompt("Введите горизонтальное выравнивание в строке таблицы:", "left")
prompt1 = (prompt1) ? " ALIGN=" + prompt1 : ""
var prompt2 = prompt("Введите вертикальное выравнивание в строке таблицы:", "top")
prompt2 = (prompt2) ? " VALIGN="" + prompt2 + """ : ""
var prompt3 = (confirm("Зафиксировать размеры строки?")) ? "" : " NOWRAP"
return "<TR" + prompt1 + prompt2 + prompt3 + ">" + nl
}
if (ind == 11) return "</TR>" + nl
if (ind == 12)
if (mode == 0) return "<TD>" + nl
else {
var prompt1 = prompt("Введите горизонтальное выравнивание в ячейке таблицы:", "left")
prompt1 = (prompt1) ? " ALIGN="" + prompt1 + """ : ""
var prompt2 = prompt("Введите вертикальное выравнивание в ячейке таблицы:", "")
prompt2 = (prompt2) ? " VALIGN="" + prompt2 + """ : ""
var prompt3 = prompt("Введите фоновый цвет ячейки:", "")
prompt3 = (prompt3) ? " BGCOLOR="" + prompt3 + """ : ""
var prompt4 = prompt("На сколько столбцов растянута ячейка:", "1")
prompt4 = (prompt4) ? " COLSPAN=" + prompt4 : ""
var prompt5 = prompt("На сколько строк растянута ячейка:", "1")
prompt5 = (prompt5) ? " ROWSPAN="" + prompt5 + """ : ""
return "<TD" + prompt1 + prompt2 + prompt3 + prompt4 + prompt5 + ">" + nl
}
if (ind == 13) return "</TD>" + nl
if (ind == 14) return "</TABLE>" + nl
}
function link(mode) { //Ссылки и картинки
var ind = document.forms[0].select5.selectedIndex
if (ind == 0) return ""
if (ind == 1)
if (mode == 0) return "<A>" + nl
else {
var prompt1 = prompt("Введите адрес ссылки или закладки:", "")
prompt1 = (prompt1) ? " HREF="" + prompt1 + """ : ""
return "<A" + prompt1 + ">" + nl
}
if (ind == 2)
if (mode == 0) return "<A>" + nl
else {
var prompt1 = prompt("Введите имя закладки:", "#")
prompt1 = (prompt1) ? " NAME="" + prompt1 + """ : ""
return "<A" + prompt1 + ">" + nl
}
if (ind == 3) return "</A>" + nl
if (ind == 4)
if (mode == 0) return "<IMG>" + nl
else {
var prompt1 = prompt("Введите адрес картинки:", "")
prompt1 = (prompt1) ? " SRC="" + prompt1 + """ : ""
var prompt2 = prompt("Введите высоту картинки:", "")
prompt2 = (prompt2) ? " HEIGHT=" + prompt2 : ""
var prompt3 = prompt("Введите ширину картинки:", "")
prompt3 = (prompt3) ? " WIDTH=" + prompt3 : ""
var prompt4 = prompt("Введите ширину рамки вокруг картинки:", "0")
prompt4 = (prompt4) ? " BORDER=" + prompt4 : ""
var prompt5 = prompt("Введите выравнивание для картинки:", "center")
prompt5 = (prompt5) ? " ALIGN="" + prompt5 + """ : ""
return "<IMG" + prompt1 + prompt2 + prompt3 + prompt4 + prompt5 + ">" + nl
}
}
// -->
</SCRIPT>
</HEAD>
<BODY BGCOLOR="#ffffff">
<FORM ACTION="mailto:any@email.address" METHOD="post">
<CENTER>
<TABLE BORDER=0 CELLPADDING=2>
<TR><TD BGCOLOR="#ffffcc" colspan=2>
<CENTER>
<FONT SIZE=+2>HTML редактор</FONT>
</CENTER>
</TD></TR>
<TR><TD>
<TEXTAREA COLS=50 ROWS=20 NAME="body"></TEXTAREA>
</TD><td>
<FORM>
Режим: <INPUT NAME="mode" TYPE="radio">Без запроса<INPUT NAME="mode" TYPE="radio" CHECKED>С запросом
<BR>
<TABLE>
<TR>
<TD>
<SELECT NAME="select1">
<OPTION>Страница
<OPTION>Начало документа (HTML)
<OPTION>Конец документа (/HTML)
<OPTION>Открыть заголовок (HEAD)
<OPTION>Закрыть заголовок (/HEAD)
<OPTION>Открыть тело (BODY)
<OPTION>Закрыть тело (/BODY)
<OPTION>Заголовок окна (TITLE)
</SELECT>
</TD>
<TD>
<INPUT TYPE="button" VALUE="Добавить" class="button" onClick="getInput(1, document.forms[0])">
</TD>
</TR>
<TR>
<TD>
<SELECT NAME="select2">
<OPTION>Абзац
<OPTION>Разрыв строки (BR)
<OPTION>Горизонтальная линия (HR)
<OPTION>Новый абзац (P)
</SELECT>
</TD>
<TD>
<INPUT TYPE="button" VALUE="Добавить" class="button" onClick="getInput(2, document.forms[0])"><BR>
</TD>
</TR>
<TR>
<TD>
<SELECT NAME="select3">
<OPTION>Шрифт
<OPTION>Заголовок (H1,...H6)
<OPTION>Шрифт (FONT)
<OPTION>Жирный (B)
<OPTION>Мерцающий (BLINK)
<OPTION>Подчеркнутый (U)
<OPTION>Отформатированный (PRE)
<OPTION>Курсив (I)
<OPTION>Цитата (EM)
<OPTION>Центрированный (CENTER)
</SELECT>
</TD>
<TD>
<INPUT TYPE="button" VALUE="Добавить" class="button" onClick="getInput(3, document.forms[0])"><BR>
</TD>
</TR>
<TR>
<TD>
<SELECT NAME="select4">
<OPTION>Списки и таблицы
<OPTION>Начать нумерацию (OL)
<OPTION>Прекратить нумерацию (/OL)
<OPTION>Начать маркировку (UL)
<OPTION>Прекратить маркировку (/UL)
<OPTION>Элемент списка (LI)
<OPTION>Начать таблицу (TABLE)
<OPTION>Начать строку заголовка (TH)
<OPTION>Закрыть строку заголовка (/TH)
<OPTION>Подпись к таблице (CAPTION)
<OPTION>Начать строку (TR)
<OPTION>Закрыть строку (/TR)
<OPTION>Начать ячейку (TD)
<OPTION>Закрыть ячейку (/TD)
<OPTION>Закрыть таблицу (/TABLE)
</SELECT>
</TD>
<TD>
<INPUT TYPE="button" VALUE="Добавить" class="button" onClick="getInput(4, document.forms[0])"><BR>
</TD>
</TR>
<TR>
<TD>
<SELECT NAME="select5">
<OPTION>Ссылки и картинки
<OPTION>Вставить ссылку (A HREF)
<OPTION>Вставить закладку (A NAME)
<OPTION>Закрыть ссылку (/A)
<OPTION>Вставить картинку (IMG)
</SELECT>
</TD>
<TD>
<INPUT TYPE="button" VALUE="Добавить" class="button" onClick="getInput(5, document.forms[0])">
</TD>
</TR>
</TABLE>
</FORM>
</td></TR>
<TR><TD BGCOLOR="#ffffcc" colspan=2>
<CENTER>
<INPUT TYPE="button" VALUE="Просмотр страницы" class="button" onClick="viewPage()">
<INPUT TYPE="submit" VALUE="Отправить документ" class="button">
</CENTER>
</TD></TR>
</TABLE>
</CENTER>
</FORM>
</BODY>
</HTML>
?>