<?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='\
Как говорится — «возлежамши под лавкою» 🙂
не туда плюс зафигачил ) Хуже не будет)
В тему!
(0) Офисная флора и фауна довольно развита в общеобразовательном плане, оказывается;-) Но они тоже люди и есть хотят;-)
(4) еще как хотят 🙂
В свое время мне стихи программерские понравились (читать с выражением!):
Маяковский
2 46 38 1
116 14 20 !!
15 14 21
14 0 17!!
Есенин
14 126 14
132 17 43…
16 42 511
704 83
170! 16 39
514 700 142
612 349
17 114 02
Пушкин
17 30 48
140 10 01
126 138
140 3 501
Веселые:
2 15 42
42 15
37 08 5
20 20 20!
7 14 100
02 00 13
37 08 5
20 20 20!
Грустные:
511 16
5 20 337
712 19
2000047
(6) Это боянище 3-4 летней давности
(7) Не факт, что все это знают
Или помнят. А, тем более, наизусть 🙂
только что после прочтения кликая на плюс прочитал «добавить бонус» 🙂
(10) так добавь его 😉
Василий, как тебе удобнее? Виза, веб-мани? 🙂
(11) У меня реквизиты указаны в профиле :)))))
(11) P.S. Ты бы затестил сворачивание 1С в трей для клюшек 😉
(13) Затестю, конечно! Это не вызывает озабоченности 🙂
Как только появится версия для 7-ки.
(14) Как бы комменты читать надо 😉 Давно уже все есть.
(15) давно? 23 секунды? 🙂
—————————
13. Душелов 21.01.2009 01:01:27
Это совершенно гениальная переписка двух менеджеров, которым не выплатили годовой бонус
(11) P.S. Ты бы затестил сворачивание 1С в трей для клюшек 😉
—————————
5. Душелов 21.01.2009 01:01:04
[Tray1C] Сворачивание 1С в системный трей.
Добавил пример для 7.7
Ну там оконо минуты 🙂
*около..
Ладно, сил уже нет.. Пойду спать 🙂
😉
ЗачетищЕЕЕ!!!
+
ой, здорово, ребята! спасибки!
Отрывок из поэмы «Серый волк и 7 козлят»
По мотивам анекдота:
Семь козлят бьют серого волка.
— За что бьёте, волкИ!!!…
— Молчи, Козёл !!!
=============================
Глава 5. ..
— Мы волки очень добродушны
И добродущны и не злы
Поверьте, — серый отчечает
Поверьте, славные колы
-Кого ты здесь назвал козлами
Ты будешь кровью шас блевать
Гурьбою ригулист в атаку
И волка принялись топтать
-За что же бьёте вы, злодеи..
За что же бьёте вы, волки..
Козлы зловеще издевались,
Рогы так остры и колки
В отчет на просьбы о пощаде
Ему сказали: — Трепещи!!!
Сейчас тебя козла замочим,
У нас пощады не ищи
Про Красную шапочку повеселили 🙂
И я развлёкся чтивом, глядишь… спасибо за манагеров, красную шапку и программерские стихи…