Показать страницуСсылки сюдаНаверх Эта страница только для чтения. Вы можете посмотреть её исходный текст, но не можете его изменить. Сообщите администратору, если считаете, что это неправильно. ====== Настройка SORM Sunkar (Казахстан) ====== ===== Настройка в биллинге ===== Переходим в меню системных опций, раздел внешних интеграций и выбираем **СОРМ Sunkar** {{:billing:configuration:sunkar.jpg?500|}} \\ Включаем "Разрешить", придумываем пароль в поле Секрет (в дальнейшем в скриптах API_KEY) ===== Скрипт выгрузки ===== <note important>Скрипты дорабатываются и могут изменяться!</note> В данном скрипте необходимо подставить свои данные в переменные:\\ **ADMIN_URL**, **API_KEY**, **FTP_USER**, **FTP_PASS**, **FTP_ADDRESS**.\\ <alert type="warning">Скрипт использует **wget** и **ftp**, убедитесь что данные программы установлены на сервере</alert> Скрипт запуска **unloading.sh** <file sh> #!/bin/bash WORK_DIR="/root/" ADMIN_URL="https://admin.isp.demo" API="sunkar" API_KEY="0123456789" EXTENSION="txt" EXTRA="" FTP_ENABLED=1 FTP_ADDRESS="192.168.0.1" FTP_USER="" FTP_PASS="" FTP_DIR="/" WGET=$(which wget) PHP=$(which php) FTP=$(which ftp) ftpupload() { $FTP -n $FTP_ADDRESS <<END_SCRIPT quote USER $FTP_USER quote PASS $FTP_PASS binary put $FILE quit END_SCRIPT } # обычный запуск REQUESTS=( ABONENTS ) if [ ! -z $WGET ]; then cd $WORK_DIR for REQUEST in ${REQUESTS[*]} do URL="$ADMIN_URL/ajax/index/$API/?key=$API_KEY&request=$REQUEST&file=true$EXTRA" RESULT=$($PHP downloader.php $URL) echo "$RESULT" if [ "$RESULT" == "1" ]; then echo "error" exit 1 else FILE="$RESULT" fi if [ "$FTP_ENABLED" -eq 1 ]; then if [ ! -z $FILE ]; then echo "`date` $FTP_ADDRESS $FTP_USER, SEND FILE: $FILE" ftpupload fi fi if [ ! -z $FILE ]; then rm -f $FILE fi done else echo "command 'wget' not found!" fi exit 0 </file> ===== Скрипт загрузчика ===== **downloader.php** <file php> <?php if( isset($argv[1]) AND count($argv) == 2 ) { $URL=$argv[1]; $ch = curl_init($URL); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_POST, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $data = curl_exec($ch); $header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE); $header = substr($data, 0, $header_size); $body = substr($data, $header_size); curl_close($ch); $filename = explode ("filename=", $header); if( isset($filename[1]) ) { $name = str_replace('"', "", $filename[1]); $name = str_replace(array("\n", "\r"), '', $name); file_put_contents($name, $body); echo "{$name}"; } } else { echo 0; } </file> ===== CRON ===== <code> # ежедневная выгрузка 00 06 * * * root /root/unloading.sh </code> billing/configuration/sormsunkar.txt Последнее изменение: 8 мес. назад — alexd