Встроенный в JakoDorgen cкриптовый язык
Особенности скрипта: - Переменные, начинающиеся со знака $ - глобальные, т.е. видны в любом месте скрипта, а без знака $ - локальные. Есть ещё суперглобальные $$, которые видны во всех скриптах. Регистр значения не имеет. - Строки складываются знаком + - В строках отсчёт символов идёт с 1, а не с 0. - Нету сокращений +=, ++ и т.д. - Массивы только одномерные. - return не прерывает выполнение функции (только в доргене, а в JakoScript и MassArticleParser исправлено). - В условиях и вызове функций обязательны скобки:
print("Привет!");
if($a>0){$b=$b+$a;}
Функции:
substr - часть строки strlen - длина строки echo или print - вывод rand - случайное число sleep и usleep - пауза doevents - делает прерывание timer - возвращает время, истекшее с момента загрузки системы (в миллисекундах) hex - преобразует строку в шестнадцатеричное число oct - возвращает строку, представляющую восьмеричное представление числа chr - символ asc - код символа val - перевод строки в число isnumeric - возвращает 1 если строка является числом и 0 если нет. str_replace - земена в строке str_ireplace - земена в строке без учёта регистра strpos - поиск строки (если строка не найдена возвращает 0). Еще есть chrpos - ищет символ по asc коду. trim - удаление пробела в начале и конце строки (есть ещё ltrim и rtrim) strtolower - преобразует строку в нижний регистр strtoupper - преобразует строку в верхний регистр abs - модуль floor - округление до целого в меньшую сторону ceil - округление до целого в большую сторону sin - синус cos - косинус readfile - чтение файла. Например: $a=readfile('D:\test.txt'); writefile - запись в файл. Например: writefile('D:\test.txt','Тест'); В readfile и writefile можно указывать кодировку: $a=readfile('D:\test.txt','windows-1251'); По умолчанию кодировка utf-8.
alert("Текст сообщения") - выводит сообщение
httpclient_open(url,http-заголовок,прокси,кодировка) - загружает страницу из интернета. Пример: $h="GET / HTTP/1.0\r\nHost: www.google.ru\r\n\r\n"; $r=httpclient_open('http://www.google.ru/',$h,'','utf-8'); print($r); По умолчанию таймаут 10 секунд. Можно свой сделать: httpclient_open(url,http-заголовок,прокси,кодировка, таймаут миллисекунд) .
escape() - возвращает 16-ричное кодированное представление строки (ещё строка к нижнему регистру приводится). escapeuri() - преобразует строку URI в ее escape-представление.
copyfile(откуда копировать, куда копировать); - копирует файл. deletefile(файл); - удаляет файл. createfolder(имя папки) - создаёт папку deletefolder(имя папки) - удаляет папку getfiles(folder) - возвращает список файлов в указанной папке. getdirectories(folder) - возвращает список папок в указанной папке.
getadt(номер статьи, кол-во символов) и getiadt(номер статьи, кол-во символов) - возвращают анонсы статей. getadt как [ARTICLE_SHORT_TEXT-200], а getiadt как [ARTICLE_SHORT_TEXT-200S].
reloadprojects() - перезагружает проекты из proj.txt. updateprojects() - обновляет отображение информации о загруженных проектах.
reloadevents() - перезагружает events.txt.
inputbox(text,title,defaulttext) - выводит окошко с полем для ввода данных. MsgBox (text, buttons, title) - отображает сообщение в диалоговом окне, ожидает нажатия кнопки и возвращает целое число, определяющее нажатую кнопку. close_program() - закрыть программу. start_generating() - начать генерирование. stop_generating() - остановить генерирование.
getprojectinfo(num,'site') - имя сайта, где num - номер проекта. getprojectinfo(num,'title') - тайтл getprojectinfo(num,'headcaption') - надпись в шапае getprojectinfo(num,'keywords_file') - файл ключевиков getprojectinfo(num,'texts_file') - файл текстовки getprojectinfo(num,'articles_folder') - папка со статьями getprojectinfo(num,'profile') - профиль getprojectinfo(num,'template') - шаблон getprojectinfo(num,'status') - статус (0 - none, 1 - ok, 2 - error) getprojectinfo(num,'save_folder') - папка, в которую сохраняется сайт getprojectinfo(num,'ftp_host') - фтп хост getprojectinfo(num,'ftp_user') - фтп-логин getprojectinfo(num,'ftp_password') - фтп-пароль getprojectinfo(num,'ftp_folder') - фтп-папка
$template_file - содержит используемый при текущем генерировании шаблон (полный путь). Она нужна в тех случаях, когда шаблон не задан точно, а выбирается рандомно. В таких случаях getprojectinfo(num,'template') не будет работать.
httpclient_getcontent(url) - функция для получения страницы из интернета. statusbox_show(text) - функция выводит маленькое окошко с текстом. Для закрытия - statusbox_close();
ftp_connect(host,login,pass) - соединение с фтп-сервером. ftp_upload(soursefile,targetfile) - закачать файл на сервер. ftp_createfolder(folder) - создать папку на сервере. ftp_deletefile(file) - удалить файл на сервере. ftp_close() - закрыть фтп-соединение.
app('path') - путь к программе, app('version') - версия программы, app('sites_folder') - папка для сохранения сайтов.
StartProcess(path,arg,windowstyle,waitforexit); - запускает программу. path - путь к запускаемой программе; arg - аргументы, которые передаются ей; windowstyle - стиль окна, 0 -обычное; 1- невидимое; 2-свёрнутое; 3-развёрнутое; waitforexit - 1 или 0, ждать окончания работы программы или нет.
date("формат") - возвращает текущую дату в заданом формате. Примеры: date("DD.MM.Y") // 05.03.2012 date("D.M.Y") // 5.3.2012 date("D.M.YY") // 5.3.12
idate() - возвращает текущую дату (значение даты OLE-автоматизации - количество дней, прошедших после полуночи 30 декабря 1899 г.).
datetostr(дата) - возвращает из даты в виде количества дней, прошедших после полуночи 30 декабря 1899 г. дату в привычном виде: 05.02.2014.
count(массив) - возвращает кол-во элементов в массиве. explode( delimiter , string, var ) - возвращает массив строк, полученных разбиением строки string с использованием delimiter в качестве разделителя. Пример: $a='test1|test2|test3'; explode('|',$a,$b); $c=count($b)-1; for($i=0;$i<=$c;$i=$i+1){ echo($b[$i]+"\r\n"); }
preg_match(pattern, subject, var) - функция для регулярных выражений (стандарт .NET). Пример использования: preg_match('<(.*?)>',"<p>Это <a href='http://site.ru'>пример</a> <b>поиска</b></p>",$b); $c=count($b)-1; for($i=0;$i<=$c;$i=$i+1){ echo($b[$i]+"\r\n"); }
webbrowser(url) - загружает страницу из интерета. В отличие от httpclient_open и httpclient_getcontent загрузка происходит через IE и с его настройками: t=webbrowser('http://www.yandex.ru/'); .
strip_tags('текст') - удаляет теги из текста.
Внутри скриптов можно вставлять html-код в блоке [HTML][/HTML]: [SCRIPT] $a=1; if($a==1){ [HTML] <font color="#009900"><b>OK</b></font> [/HTML] } [/SCRIPT]
Вывести переменную внутри [HTML][/HTML] можно макросом [VAR-имя переменной]: [SCRIPT] $a='Привет!'; [HTML] <font color="#009900"><b>[VAR-$a]</b></font> [/HTML] [/SCRIPT]
Кроме [HTML][/HTML] ещё можно заключать html-код в [ESTRING][/ESTRING]. Как и [HTML][/HTML] этот блок преобразовывается с экранированием кавычек и слэшей, но без print, т.е. просто в строку в кавычках. Например: [ESTRING] <font color="#009900"><b>OK</b></font> [/ESTRING] будет преобразован в: "<font color=\"#009900\"><b>OK</b></font>". С помощью этого блока можно записывать в переменные значения, выводимые макросами, для дальнейшей обработки. Например: [SCRIPT_P] $a=[ESTRING][ARTICLE_TEXT][/ESTRING]; [/SCRIPT_P] В этом примере в переменную $a будет записан текст статьи, выводимый макросом [ARTICLE_TEXT].
Знаки:
* умножение / деление \ целочисленное деление % остаток от деления + сложение - вычитание == равно != не равно >= больше, либо равно <= меньше, либо равно > больше < меньше && и (AND) || или (OR)
%^Imports:script_functions.txt^% - команда для добавлений в скрипт функций из файла.
Константы:
$page_keyword - ключевик $page_title - заголовок страницы $page_metakeywords - meta keywords страницы $page_metadescription - meta description страницы $page_type - тип страницы (1 - главная, 2 - категоря, 3 - статья, 4 - карта сайта, 5 - пользовательская страница) $page_file - файл страницы $page_url - URL страницы $categories_count - кол-во категорий. $category_url[] - массив url-ов категорий. $category_name[] - массив названий категорий. $articlespage_count - кол-во страниц со статьями. $articlespage_url[] - массив url-ов страниц со статьями. $articlespage_keyword[] - массив ключевиков страниц со статьями. $articlespage_ctg[] - массив номеров категорий страниц со статьями. $articlespage_idate[] - массив дат статей в формате количества дней, прошедших после полуночи 30 декабря 1899 г.. $articlespage_date[] - массив дат статей в обычном формате, т.е. "25.06.2012". $keywords_count - кол-во ключевиков. $keyword[] - массив ключевиков. $current_article - номер текущей статьи. $current_project - номер текущего проекта. $article_category_num - номер категории текущей статьи. projectscount() - кол-во проектов.
Порядок создания страниц: Сначала создаются страницы статей, потом категорий, а потом все остальные.
|
|