<?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='\
5 баллов! Посмеялся от души.
Теперь у меня есть оправдание, почему я пью много пива — проггер и админ в одном лице. Вот и приходится за двоих… Распечатал — отнесу зам. директора, чтобы не прикалывался, что я постоянно выпимши.
(2) улыбнуло:)
(2) Василий, а ты ещё с предложением о включении стоимости n-го числа бутылок к з/п подойди. Вдруг прокатит! 😉
очень понравилось
(2) аналогично, но благо жена держит руку на пульсе……..
(4) Ага меня и так недавно вз…и (по смыслу взули). Строгач в трудовую и 100% премии в минуса.
Еще дабавлю:
Если средней упитанности (как я — 95 кг) — это Совместитель (админ и программист в одном лице). И если Программист во мне начинает думать мысль, то Админ сразу же — А нафига? Лучше пива выпей. И тогда сразу вдвойне пофиг — ибо пиво пьют, как уже было сказано, оба — и Админ и Программист. Они у меня в этом вопроссе хорошо ладят…
95 кг — СРЕДНЕЙ упитанности??? :)))))))))))))))))
Ну не худой же!
А мне про мысль и курить понравилось. Когда мысль — сигарета выкуривается за минуту, в остальных же ситуациях — около 4-х! 😉 Причем самые нормальные мысли приходят именно в эту минуту ))
(11) тоже так думал, пока не бросил. А в общем-то курение не способствует мысли, — просто нормальная мысль приходит в перерывчик, когда можно куда нибудь выйти, и в тишине не отвлекаясь (либо в шуме с чьей-то подсказки) подумать. Почувствовать себя с утра иначе, чем «до первой утренней сигареты» стоит того чтобы бросить.
Ну в общем-то да, сигарета — это просто предлог отвлечься. А бросать надо АднозначнА!
(13) Угум. И еще пиво не пить…
Можно, конечно, не пить, не курить, не шлятся по бабам — и жизнь станет пресной, скучной и бессмысленной.
— Прикинь, курение сокращает жизнь на 30 лет.
— А сколько тебе сейчас?
— 40.
— Вот видишь. А если б не курил — было бы 70…
— Вам бы надо было травки попить..
— Ага! Ты еще скажи шприцов покурить!
(14) Ну не програмер я, чего поделаешь. 🙂 Предпочитаю пиву коньячок с сыром.
(16) Да уж от коньячка даже трезвенники не откажутся… Грешен — сам его, собаку, полюбляю. Предпочтение отдаю молдавским не моложе 8 лет — армянские сильно накладно… — никак не получается купить бутылочку и по рюмочке в день для настроения: не успеешь глазом моргнуть — бутылка уж пустая. Все хорошее рано или поздно кончается — и снова приходится бежать в магазин…
Эээх… А после коньячка пивасиком шлифануть, да с хорошенькой сигареточкой (к примеру Черный Капитан с шоколадным привкусом) — хоть деньги на ветер не выброшены…
(18) моежт ты так хотел написать:
«…да с хорошенькой брюнеткой (к примеру Черненькой Капитанкой с шоколадным привкусом) — хоть деньги на ветер не выброшены…
))))
(19) Это по умолчанию имелось в виду…
(14) Глупо сравнивать сигарету с выпивкой или бабами. Так как от сигареты (в отличии от второго и третьего) кайф вымышленный… Просто организм получает дозу наркотика, после голодания. Может и избитое сравнение, но это всё равно что снять неудобные туфли, после целого дня, сомнительный кайф, если можно носить удобную обувь… Гораздо больше удовольствия получаешь, когда чувствуешь переполняющую тебя энергию, после того как откажешься от этой бесполезной привычки. 🙂
Понравилось, молодец!
«Мне сорок пять лет. Все нормальные люди давно застрелились или хотя бы спились. А я даже курить и то чуть не бросил. Хорошо, один поэт сказал мне:
– Если утром не закурить, тогда и просыпаться глупо…
….В любой ситуации необходима какая то доля абсурда.» (с) Довлатов С.
(21) Присоединяюсь.
Имхо, расширить тему: «Админы и программисты, ахтунг! no smoking!»
(17) Армянский хоть и мягок, предпочитаю кизлярский, кввк или кс — резкий и душистый; ставропольский — с фруктовым вкусом, хеннеси — как вода, вкус приходит только с 201 грамма (никаких денег не напасесся.)
Да — уж!!! Это, точно подмеченно…)))
Стиль суперский, и очень точно выдержан.
Узнаю себя