'------------------------------------------------ - -------------------------
'Функция: экранирование HTML-кода
'Параметр: информация, вводимая пользователем, StrInput
'------------------------------------------------ - -------------------------
функция FunInput(StrInput)
если не isnull(Str), то
StrInput=RePlace(StrInput,<,<)
StrInput=заменить(StrInput,>,>)
StrinPut=replace(Strinput,chr(32), )
stringinput = заменить (strinput, chr (34),)
stringinput=replace(strinput,chr(39),')
stringinput = заменить (strinput, chr (13),)
FunInput=строка
конец, если
конечная функция
'------------------------------------------------ - -------------------------
'Функция: предотвратить SQL-инъекцию
'Параметр: данные StrValue, отправленные пользователем.
'Тип данных BloType
'Значение параметра: истинные числовые данные
' ложные данные символов
'------------------------------------------------ - -------------------------
функция FunSQL(StrValue,BloType)
если БлоТип, то
если Isnumeric(StrValue), то
FunSQL=clng(StrValue)
еще
Стрвалуе=0
конец, если
еще
если не isnull(StrValue), то
StrValue=lcase(StrValue)
StrValue=Заменить(StrValue,','')
StrValue=replace(StrValue,select,)
StrValue = заменить (StrValue, обновление,)
StrValue = заменить (StrValue, вставить,)
StrValue = заменить (StrValue, удалить,)
StrValue=заменить(StrValue,;,)
StrValue=заменить(StrValue, ,)
StrValue=replace(StrValue,chr(255),)
StrValue=заменить(StrValue,*,)
StrValue=заменить(StrValue,%,)
конец, если
конец, если
FunSQL=StrValue
конечная функция
'------------------------------------------------ - ----------------------
'Функция: преобразование общего типа
' Параметр: тип данных _Type
' _Значение данных
'Значение параметра: _Type 1: преобразование в числовые данные
' _Type 2: Преобразование в символьные данные
' _Type 3: Преобразование в логические данные
'------------------------------------------------ - ----------------------
функция FunSwitch(Value_,Type_)
при ошибке продолжить дальше
выберите тип регистра_
случай 1
если числовое (Значение_), то
если не isnull(Value_), то
FunSwitch=clng(Value_)
еще
FunSwitch=0
конец, если
еще
FunSwitch=0
конец, если
случай 2
если не isnull(Value_), то
FunSwitch=cstr(Value_)
еще
FunSwitch=
конец, если
случай 3
если не isnull(Value_) и isnumeric(Value_), то
FunSwitch=cbool(Value_)
еще
FunSwitch=ложь
конец, если
еще случай
response.redirect(Error.asp?err=Пожалуйста, укажите тип данных, которые будут переданы в FunSwitch!)
конец выбора
если номер ошибки<>0, то
response.redirect(Error.asp?err=Во время преобразования данных произошла неизвестная ошибка!)
ошибка.очистить
конец, если
конечная функция
''---------------------------------------------------------------- -----------------------
' Функция: проверить, поступают ли данные извне.
' Параметры: Нет
'------------------------------------------------ - -------------------------
функция проверки()
server_v1 = Cstr(Request.ServerVariables(HTTP_REFERER))
server_v2 = Cstr(Request.ServerVariables(SERVER_NAME))
если Mid(server_v1,8,len(server_v2))<>server_v2, то
checkfrom=истина
еще
проверка от = ложь
конец, если
конечная функция
''---------------------------------------------------------------- -----------------------
'Функция: окно подсказки JS
' Параметры: StrURL: Адрес страницы, на которую нужно вернуться после нажатия кнопки ОК.
'StrMSG: подсказка диалогового окна
'------------------------------------------------ - -------------------------
Функция FunMsg(StrURL,StrMSG)
Response.write <script Language='javascript'>&_
Vbcrlf&alert(&StrMSG&);&_
Vbcrlf&window.location=&StrURL&;&_
Vbcrlf&</script>
Конечная функция
'------------------------------------------------ - ----------------------
'Функция: универсальный пейджинг
'Параметр: Intpagecount общее количество страниц
'Intmypage номер текущей страницы
'Общее количество записей Intrecordcount
'Intpagesize Количество записей, отображаемых на каждой странице.
'------------------------------------------------ - ----------------------
функция funpage(Intpagecount,Intmypage,Intrecordcount,Intpagesize)
'в случае ошибки продолжить дальше
dim Intfor,Intlist,intlist_b
Dim запрос, a, x, temp
действие = http:// & Request.ServerVariables(HTTP_HOST) & Request.ServerVariables(SCRIPT_NAME)
запрос = Split(Request.ServerVariables(QUERY_STRING), &)
Для каждого запроса x In
а = Разделить(х, =)
Если StrComp(a(0), page, vbTextCompare) <> 0 Тогда
температура = температура & a(0) & = & a(1) & &
Конец, если
Следующий
если intmypage>1, то
funpage=funpage & <a href='&action&?&temp&page=1' title='Верхняя страница' class='no'><font face='Webdings'>9</font></a>
funpage=funpage&<a href='&action&?&temp&page=&Intmypage-1 & ' title='Предыдущая страница' class='no'><font face='Webdings'>7</font></a>
еще
funpage=funpage &<font face='Webdings'>9</font>
funpage=funpage&<font face='Webdings'>7</font>
конец, если
если Intlist<>0, то
если cintmypage= Intlist, то
Интерспис=Интерспис+5
конец, если
еще
Intlist=Intmypage+5
конец, если
если intlist-9<1 тогда
intlist_b=1
еще
intlist_b=intlist-9
конец, если
для Intfor=intlist_b в Intlist
если intfor<=Intpagecount тогда
if intfor=Intmypage then '-------сделаем текст на текущей странице красным и некликабельным
funpage =funpage & strMode& <font color='#FF0000'><b>& Intfor & </b></font>
еще
funpage=funpage & strMode & <a href='&action&?&temp&page= & Intfor &' class='no'> & Intfor & </a>
конец, если
конец, если
strMode= <font color='#BBBBBB'>|</font>
следующий
если intmypage<intpagecount, то
funpage=funpage& <a href='&action&?&temp&page=& Intmypage+1 &' title='Следующая страница' class='no'><font face='Webdings'>8</font></a>
funpage=funpage &<a href='&action&?&temp&page=& Intpagecount & ' title='Последняя страница' class='no'><font face='Webdings'>:</font></a>
еще
funpage=funpage& <font face='Webdings'>8</font>
funpage=funpage &<font face='Webdings'>:</font></a>
конец, если
funpage=<ширина таблицы='100%' border='0' cellpacing='0' cellpadding='0'><tr>&_
vbcrlf&<td width='40%' style=font:14px> Текущая &Intmypage& page&Intpagesize& Records/всего страниц &Intpagecount& страниц/&Intrecordcount& записей</td>&_
vbcrlf&<td width='60%' align='right'>&_
vbcrlf&<table width='360' border='0' cellpacing='0' cellpadding='0'><tr>&_
vbcrlf&<td align='right' style=font:14px>&funpage& </td>&_
vbcrlf&</tr></table></td></tr>&_
vbcrlf&</table>
если номер ошибки<>0, то
ошибка.очистить
response.redirect(error.asp?err=В функции пейджинга произошла ошибка, обратитесь к администратору!|)
конец, если
конечная функция
'********************************************** * *
'Имя функции: Выделение
'Функция: искомые ключевые слова отображаются выделенными цветами.
'Параметр strText — это строка или переменная, содержащая строку или переменную, которую нужно выделить.
'strFind — строка или переменная, которую нужно выделить,
'strBeforeВыделенный префикс HTML-кода: <font color=red>
'strAfterСуффикс выделенного HTML-кода:</font>
'********************************************** * ***
Выделение функции(strText, strFind, strBefore, strAfter)
ДимПос
Дим нЛен
Дим нЛенВсе
nLen = Len(strFind)
nLenAll = nLen + Len(strBefore) + Len(strAfter) + 1
Выделение = стртекст
Если nLen > 0 и Len(Highlight) > 0, то
nPos = InStr(1, Highlight, strFind, 1)
Делать, пока nPos > 0
Выделение = Влево(Выделение, nPos - 1) & _
strBefore & Mid(Highlight, nPos, nLen) & strAfter & _
Mid(Highlight, nPos + nLen)
nPos = InStr(nPos + nLenAll, Highlight, strFind, 1)
Петля
Конец, если
Конечная функция