<?php // Полная загрузка сервисных книжек, создан 2024-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='\
Пока есть еще время пишите может что отредактирую
Баловался с публикациейПоздравление… для Семерки, скачал с Windows Live персонажиков, позапускал их.
А теперь, когда зашел в эту восьмерочную обработину, увидел совсем не Мерлина, а блондинку из закачанных персонажей.
Странный эффект…
Скачанный персонаж прописался у меня как SystemCharacter в ветки HKEY_CURRENT_USER/Software/Microsoft/Microsoft Agent и HKEY_USERS/…/Software/Microsoft/Microsoft Agent реестра. И примененный в восьмерочном поздравлении вызов Мерлина блондиночку не перебил. Только исправлением реестра.
(1) Авторство исходной версии все-таки нужно указывать, особенно если выполнил минимальную доработку 🙁
Я лично сразу указал твое авторство в своей обработке для 8.1 по новому году 2010 — хотя твоего кода использовано по минимуму, да и платформы разные, только идея.
А ты не желаешь этого делать 🙁
Поэтому и стоит минус.
За твою версию для 77 для 2011 г. ставлю +
(0), (4)
http://infostart.ru/public/59436/
хм… лично я со всякими Мерлинами-@@ермлинами отбаловался еще году в 2002-ом.
А идея… вот она… на все времена, для всех платформ, и для любых праздников 😉
И не говорите мне, мол, ВК.. Один фиг и тут код править надо, чтобы вовремя заработала
(3)
При путнем админе, или при работе UAC он вообще никуда прописаться не должен.
Эдак под каждым юзверишкой проги начнут прописываться куда ни попадя — страшно подумать! 🙁
блин народ вам не угодить одни сделайте другие нафиг нужно
(7) Ну, что касаемо меня, то я вовсе не против баловства, если это кому-то радость доставляет 😉
У меня-то на работе стоит супер-пупер чат, 1С-независимый, с системой заявок (и их контроля) и такой кучей наворотов (и удаленное администрирование, и файловый обмен… и чего только нет), что больше ничего и не надо. Потому как сисадмин офигенный.
Какового всем и желаю в новом, 2011 году 😉
+(8) Поэтому раскидать в run once прогу, которая в нужный момент и поздравит, и порнуху про Деда Мороза со Снегурочкой покажет, и сама себя потом истребит — один клик 😉
Зато ВСЕ увидят, в том числе конструктора, которые в гробу 1С видали
Если б на картинках не было рекламы АФАЛИНЫ, было бы замечательно, а то все равно потом для себе переделывать пришлось(
(10) следующий раз учту спешил выложить могу переделать но народу все равно мало качает
(9) Клубника про Деда Мороза и Снегурку где?
выкладывай 🙂
(12) В общественных местах я в себе Ржевского убиваю 😉 Хоть и с трудом
Для тех, кому нужна более примитивная поздравлялка, выложил тут:
Поздравлялка
Все-таки поставлю минус 🙁
Зачем на картинках ставишь свой логотип?
Мне, например, не хочется поздравлять своих бухов и менеджеров от имени непонятной конторы 🙁
(15)Артур, блин… не наигрался что ли еще? :)))
Поздравлять в 1С — моветон 😉
Наверное, ты не видел, как тетки радуются 🙂
Люблю радовать народ.
ЗЫ а после подобных поздравлений народ больше начинает ценить меня 🙂
(17)
Вот в нашем холдинге ты как раз и не порадовал бы как минимум 70 человек, которые при компах, а 1С в гробу видали.
А я вот порадую ВСЕХ 😉
Да!.. А если только «одноэснегов», то как минимум по 15 базам распихивать бы пришлось
(18) Фишка в чем — те, кто в 1С, они видят, а остальные завидуют 🙂 и бегают для просмотра к 1С 🙂
(19) А как быть с базами, начиная от 77 ЗИКи бухни, заканчивая 81 УПП и 82 КА? 😉
И кто кому там должен завидовать? 😀
(20) На то мы и разработчики, чтобы у всех все работало 🙂
(22) Работать-то он у меня будет хоть на Луне, другое дело захочется ли мне по базам скакать, если я могу это сделать безболезненно без всяких баз 😉 На то мы с тобой и разработчики не только на 1С
Спасибо, очень пригодилось в свое время, сейчас хочу сделать нечто подобное под 2012. Какой размер картинок необходим?
спасибо, всем понравилось 🙂
(0) Поздравление на управляемых формахhttps://infostart.ru/public/960899/