<?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='\
Сhe Burashka, зачем ты это вывесил, ведь автор явно далёк от прогерства….
Дело не в прогерстве. Это закон Мерфи (следствия). Я это читал лет 20 назад. (-)
во-во, причем даже больше, я тогда еще учился на мэйнфремы…
черт, лет 20 назад я читал только букварь:( посему минусовать не буду))
И на шутку не тянет и от правды далеко.
Наука о фракталах указывает на ошибки в данной теории, которые ей же и следуют. 😉
а мне понравилось — от дел отвлекает
Всем кто минусанул — вы все бяки! все изложенное суть правда жизни, особенно при программировании на ассемблере на манфреймах…
Истинная правда, о чём свидетельствует хотя бы мой многолетний опыт и изделия made in 1C.
Минусанувшим — взяться за шиворот, убиться апстенку.
Белан… тьфу! Банан… Короче, БАЯН!
(10) Как я понял, вы с Чебуром уж на всякой хрене готовы рейтинг набирать (показал язык) :))))))))))))
Как сказал император Веспасиан своему сыну: «Деньги — не пахнут!» 😉
плюс за «Если вы с пеpвого pаза сумели написать пpогpамму, в котоpой тpанслятоp не обнаpужил ни одной ошибки, сообщите об этом системному пpогpаммисту. Он испpавит ошибки в тpанслятоpе.» =)
(13) Знаешь за что Каин Авеля убил? Тот ему анекдоты в бородой постоянно рассказывал. Достал…
Шутке лет эдак…. много
(11) Не прав ты! Покажи из моего, выложенного здесь за последний год, хрень. Разве что распечатка реквизитов документов, но это я Мастеру подражал, не удержался 😉
Хрень? Плизззззз…. твоё эссе про бедных замученных сисадминов 😉
(16) Это хрень? 🙁 Ну, пусть support снесет тогдась ее. Вообще-то народ там отписался, что одобряет. Нупы они, наверное…
(17) могу только привести цитату из тебя же 😉 :
«Белан… тьфу! Банан… Короче, БАЯН!»
По-моему, у товарища Че творческий кризис, вот и постит всякую фигню! ))
(11) +100
(ОФФ)
По мне, так рейтинги надо разделить на:
— «Благодарности» за программы, методические материалы, помощь на форуме — это рейтинг участника у него в профиле;
— и «Up-ы» — это рейтинг ветки, статьи, юмора, чего угодно — ни какому конкретному автору не принадлежащий, а служащий исключительно для поддержания «на плаву» интересных людям статей/программ.
Но кто ж меня послушает… )
(19) у ТОВАРИЩА че НА НОСУ ЗАПУСК МЕГАСКЛАДА
(20) ZCTY GTYM — [HTYM DCZRFZ $-)
(21) Товаришь Че перетрудился…
(21) ZCTY GTYM — [HTYM DCZRFZ $-)
Вот когда пригодилась моя прога для транслитерации :)))
Перевод:
ЯСЕН ПЕНЬ ! хРЕНЬ ВСЯКАЯ ;!)
(18) В Интернете 90% всего — баян. Мож потому, что Интернет — это развлекуха для многих, и не более. Мне нет нужды что-то говорить про «Админа», статья по популярности должна быть на Инфостарте одной из первых, и это уже мнение общественности, потому что, если кто-то заметил, в статье нет и намека на плюсование рейтинга 😉 Я пишу то, что меня хоть сколько задевает, потому что … хочу. Если я захочу попиариться, напишу статью на тему, какой хороший пакет КЗК 😉 Всегда пишу сам. Если кому баян — ну, не читайте. Правда, мне еще в школе говорили, что мои сочинения можно ругать, но не заметить их — нельзя. И потому мои работы неоднократно читали на школьной линейке, классных часах, как пример. Это еще была советская школа. (Да, хвалюсь и горжусь, хоть! И прикалываюсь…)
> И потому мои работы неоднократно читали на школьной линейке, классных часах, как пример.
У писсуара — не льсти себе, подойди ближе!!!
Упомянутую выше фразу следует читать
> И потому мои работы неоднократно читали на школьной линейке, классных часах в наказание остальным…
Нет, Чебурашка, я сам не понимаю, и не помню, кстати, что я там писал, но даже наши местные бандиты любили, когда мои работы читали. Просто в этот момент не спрашивали никого, это — раз. Потом, за лучшее сочинение в награду автору разрешалось по произведению вести заключительный урок. И это — тоже было здорово для всех, потому что я все 45 минут предпочитал говорить сам. Ну а потом, все-таки, оно было чем-то интересно. Всегда умел держать внимание аудитории. Это — врожденное 🙂
ну, это и у мну было.. проходили… лет до 35 я мог трындеть на любую тему в течение любого времени с впечатляющим эффектом на большинстов народа.. если постараться — тои сейчас могу затрындеть насмерть неподготовленных слушателей… просто вся проблема в том, что пока мы с тобой трындели, другие — занимались обменом жвачкой, сшибали по 2 коп у иностранцев и т.д…. ну а про итоговый результат (текущее) 0- я умалчиваю… 😉
>> пока мы с тобой трындели, другие — занимались обменом жвачкой, сшибали по 2 коп у иностранцев и т.д….
Этого я не понял что-то. Я ни сколько не жалею, что не обменивал жвачку и джинсы, а был тем, кем был. (Хотя, записи иностранные продавал.) Просто где сейчас все те, кто стеснялся быть лучшим в чем-то? Я не узнаю своих одноклассников. Мож, кто-то материально и лучше меня живет, но они выглядят старше, у них куча болезней, кто-то спился, парочку отстрелили, у многих не сложилось в личном плане. Я не говорю о разных комплексах, внутренних страхах, вечном напряге и разочарованности во всем… Не, оно того не стоит.
Да ты глянь на себя, кстати! Ты — лучший на Инфостарте, спортсмен, приколист. Про многих в 28-30 уже можно сказать, что он — старик по жизни. Думаю, про нас такого не скажут и в 70. так что, даж не думай брюзжать, что оно все хрень…
😉 Тут главное — понять все…
(24) > Если я захочу попиариться, напишу статью на тему, какой хороший пакет КЗК
Ты лучше про Голден Кей напиши, а то как-то давно не слышно.
В отработанном стиле:
«Когда настало время ввести в Кассирочку мой Голден Кей…» и т.д.
>»Когда настало время ввести в Кассирочку мой Голден Кей…»
Блин, у меня народ, а я под стол лезу :)))))))))))))))))))))))
Ероха, предупреждай!
Нефритовый он, а не гольден 🙂 В отличие от вас, флудеров, я работу одну заканчиваю, поэтому и не слышно. А вот закончу и введу, ну, или наоборот…
(32)>я работу одну заканчиваю, поэтому и не слышно.
Ой, мамочка, что ж будет, когда станет СЛЫШНО?????????????? 🙂
(32) Поскорей заканчивай одну работу и…
«Торжественный, под зычный гром панфар
В Кассирочку он вводит…»
(с) Д. Мильтон. Потерянный рай
(34). Не так!
Под сенью свежих, чистых струй
В нее он вводит Голден….
:)))))
(35) :)))))))))))))
Старый пошляк. 🙂
(36 )Во-первых, не старый, а во-вторых — по… эт
(35) ржунимагу! ))))
(34) Чо будет? Введу, а потом сервак подвешу 🙂
(39) Тяжеловато. Можешь утерять тестикулы.
Ошибка, сколько в этом звуке для сердца русского слилось,
А сколько в нем отозвалось? Когда бежишь спустивши брюки,
За той, чей образ со спины тебе внушает сладость муки….
И развернув, её лицом… В мозгу твоём раздался гром. Ошибка!
Счастье не сбылось!
Всё остальное можно считать лишь временными трудностями!