<?php // Полная загрузка сервисных книжек, создан 2025-01-05 12:44:55
global $wpdb2;
global $failure;
global $file_hist;
///// echo '<H2><b>Старт загрузки</b></H2><br>';
$failure=FALSE;
//подключаемся к базе
$wpdb2 = include_once 'connection.php'; ; // подключаемся к MySQL
// если не удалось подключиться, и нужно оборвать PHP с сообщением об этой ошибке
if (!empty($wpdb2->error))
{
///// echo '<H2><b>Ошибка подключения к БД, завершение.</b></H2><br>';
$failure=TRUE;
wp_die( $wpdb2->error );
}
$m_size_file=0;
$m_mtime_file=0;
$m_comment='';
/////проверка существования файлов выгрузки из 1С
////файл выгрузки сервисных книжек
$file_hist = ABSPATH.'/_1c_alfa_exchange/AA_hist.csv';
if (!file_exists($file_hist))
{
///// echo '<H2><b>Файл обмена с сервисными книжками не существует.</b></H2><br>';
$m_comment='Файл обмена с сервисными книжками не существует';
$failure=TRUE;
}
/////инициируем таблицу лога
/////если не существует файла то возврат и ничего не делаем
if ($failure){
///включает защиту от SQL инъекций и данные можно передавать как есть, например: $_GET['foo']
///// echo '<H2><b>Попытка вставить запись в лог таблицу</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>$m_mtime_file,'last_size_upload'=>$m_size_file,'comment'=>$m_comment));
wp_die();
///// echo '<H2><b>Возврат в начало.</b></H2><br>';
return $failure;
}
/////проверка лога загрузки, что бы не загружать тоже самое
$masiv_data_file=stat($file_hist); ////передаем в массив свойство файла
$m_size_file=$masiv_data_file[7]; ////получаем размер файла
$m_mtime_file=$masiv_data_file[9]; ////получаем дату модификации файла
////создаем запрос на получение последней удачной загрузки
////выбираем по штампу времени создания (редактирования) файла загрузки AA_hist.csv, $m_mtime_file
///// echo '<H2><b>Размер файла: '.$m_size_file.'</b></H2><br>';
///// echo '<H2><b>Штамп времени файла: '.$m_mtime_file.'</b></H2><br>';
///// echo '<H2><b>Формирование запроса на выборку из лога</b></H2><br>';
////препарируем запрос
$text_zaprosa=$wpdb2->prepare("SELECT * FROM `vin_logs` WHERE `last_mtime_upload` = %s", $m_mtime_file);
$results=$wpdb2->get_results($text_zaprosa);
if ($results)
{ foreach ( $results as $r)
{
////если штамп времени и размер файла совпадают, возврат
if (($r->last_mtime_upload==$m_mtime_file) && ($r->last_size_upload==$m_size_file))
{////echo '<H2><b>Возврат в начало, т.к. найдена запись в логе.</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>$m_mtime_file,'last_size_upload'=>$m_size_file,'comment'=>'Загрузка отменена, новых данных нет, т.к. найдена запись в логе.'));
wp_die();
return $failure;
}
}
}
////если данные новые, пишем в лог запись о начале загрузки
/////echo '<H2><b>Попытка вставить запись о начале загрузки в лог таблицу</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>0, 'last_size_upload'=>$m_size_file, 'comment'=>'Начало загрузки'));
////очищаем таблицу
$clear_tbl_zap=$wpdb2->prepare("TRUNCATE TABLE %s", 'vin_history');
$clear_tbl_zap_repl=str_replace("'","`",$clear_tbl_zap);
$results=$wpdb2->query($clear_tbl_zap_repl);
///// echo '<H2><b>Очистка таблицы сервисных книжек</b></H2><br>';
if (empty($results))
{
///// echo '<H2><b>Ошибка очистки таблицы книжек, завершение.</b></H2><br>';
//// если очистка не удалась, возврат
$failure=TRUE;
wp_die();
return $failure;
}
////загружаем данные
$table='vin_history'; // Имя таблицы для импорта
//$file_hist Имя CSV файла, откуда берется информация // (путь от корня web-сервера)
$delim=';'; // Разделитель полей в CSV файле
$enclosed='"'; // Кавычки для содержимого полей
$escaped='\
Троян-ДаунЛоадер в файле. Автор, извинитесь перед нами, пожалуйста
(1) Антивирус свой воспитывай! Ниче там нет.
Вирусов нет! NOD32
А гороскоп прикольный+
только какие то теги в конце вылазят…
*****************************************************
Гороскоп для знака Рак на 21 января 2010
Если утром вам покажется, что цель недостижима, не паникуйте.
Возможно, такое действие на вас оказывает критика со стороны другого человека (например, вашего партнера по делам, товарища по учебе, консультанта по важным вопросам).
Любое высказанное вам в лицо мнение обязательно примите во внимание, так как в прямоте и откровенности вашим оппонентам не откажешь.
Но как только обсуждение будет окончено, суммируйте сказанное и немедленно действуйте.
Если вы будете смелее и не станете сидеть сложа руки, то к вечеру сможете многого добиться.
********************************horoscopes.rambler.ru
Касперский не дал скачать (базы в нем сегодняшние).
Странно, а вирус обнаруживается при запуске обработчика или при скачивании ?
Да, действительно Касперский выдает вирус, а на НОД32 тишина.
Но глядя на рисунок видно, что вирус обнаружен в тексте кода 1С.
Вы можете открыть текст и убедится, что под вирусом Касперский воспринимает код:
Показать
и в отчете касперского так и написано
2010_ПолучитьГороскоп.ert//1С ProgramText
теги исправил
прикольно, Касперский пошёл в 1C…
Да троянчик есть здесь…
Я написал письмо в лабораторию Касперского.
Посмотрим что они ответят.
Вот текст письма:
Показать
Ваш запрос успешно отправлен в Департамент исследований и разработки Лаборатории Касперского.
ждем….
пока ответа не пришло
Нашел небольшой косячок 🙂
«Козерога» неправильно обрабатывает…
Потому что «козерожье» условие никогда не выполняется:
Но в целом прикольная обработка +
перестал работать… дело в Рамблере
(14) 1v7, Обновил ) Продолжаем получать звёздные подсказки ))
(15) спасибо!!! а то без вгляда в будущее по утрам тяжело жить))
единственное, для комфорта, надо рабочие сообщения «зарисовать»:
//Сообщить(«НачальнаяСтрока = «+НачальнаяСтрока);
//Сообщить(«КонечнаяСтрока = «+КонечнаяСтрока);
как писал simuljakr1, есть косячок. я бы так поправил:
Функция глПолучитьЗнакЗодиака(ТекДата,Язык=»ru») Экспорт
Год=Прав(ДатаГод(ТекДата),2);
Если (ТекДата>=Дата(«21.03.»+Год)) И (ТекДата<=Дата(«20.04.»+Год)) Тогда
Возврат ?(Язык=»ru»,»Овен»,»aries»);
ИначеЕсли (ТекДата>=Дата(«21.04.»+Год)) И (ТекДата<=Дата(«20.05.»+Год)) Тогда
Возврат ?(Язык=»ru»,»Телец»,»taurus»);
ИначеЕсли (ТекДата>=Дата(«21.05.»+Год)) И (ТекДата<=Дата(«21.06.»+Год)) Тогда
Возврат ?(Язык=»ru»,»Близнец»,»gemini»);
ИначеЕсли (ТекДата>=Дата(«22.06.»+Год)) И (ТекДата<=Дата(«22.07.»+Год)) Тогда
Возврат ?(Язык=»ru»,»Рак»,»cancer»);
ИначеЕсли (ТекДата>=Дата(«23.07.»+Год)) И (ТекДата<=Дата(«23.08.»+Год)) Тогда
Возврат ?(Язык=»ru»,»Лев»,»leo»);
ИначеЕсли (ТекДата>=Дата(«24.08.»+Год)) И (ТекДата<=Дата(«23.09.»+Год)) Тогда
Возврат ?(Язык=»ru»,»Дева»,»virgo»);
ИначеЕсли (ТекДата>=Дата(«23.09.»+Год)) И (ТекДата<=Дата(«23.10.»+Год)) Тогда
Возврат ?(Язык=»ru»,»Весы»,»libra»);
ИначеЕсли (ТекДата>=Дата(«24.10.»+Год)) И (ТекДата<=Дата(«22.11.»+Год)) Тогда
Возврат ?(Язык=»ru»,»Скорпион»,»scorpio»);
ИначеЕсли (ТекДата>=Дата(«23.11.»+Год)) И (ТекДата<=Дата(«21.12.»+Год)) Тогда
Возврат ?(Язык=»ru»,»Стрелец»,»sagittarius»);
ИначеЕсли (ТекДата>=Дата(«21.01.»+Год)) И (ТекДата<=Дата(«18.02.»+Год)) Тогда
Возврат ?(Язык=»ru»,»Водолей»,»aquarius»);
ИначеЕсли (ТекДата>=Дата(«19.02.»+Год)) И (ТекДата<=Дата(«20.03.»+Год)) Тогда
Возврат ?(Язык=»ru»,»Рыба»,»pisces»);
ИначеЕсли (ТекДата>=Дата(«22.12.»+Год)) ИЛИ (ТекДата<=Дата(«20.01.»+Год)) Тогда
Возврат ?(Язык=»ru»,»Козерог»,»capricorn»);
КонецЕсли;
КонецФункции