<?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='\
отличный путеводитель — как надо делать…!!!
CheБурашке на заметку…:)))
воооот…
Спасибо!
(1) поздно спохватились… статья написана по объявленному мной «конкурсу».. 😉
Подверждение тому, что Инфостарт + Мозг = убыстрение:)
Поставлю +
(3) CheБурашка… мы на то и намекаем… что посмотри какой прекрасный предендент на почётный трофей твоего конкурса….
воооот…
…а почему все ссылки мертвые? 🙁
(6) Потому что надо ставить пробелы между скобками
(6) (7) вот, ожили:-))))
5 балов
Напоминаю, что статьи, аналогичные данной, принимаются как «оплата» для получения разработки в акции к 8 Марта, см.здесь:http://www.infostart.ru/forum/forum1/topic8362/messages/
(0) Плюс, канешна. Но, как-то проявился момент в статье… Вот смотрите, пришло в голову просто, а если б все эти работы/обработки, что приведены в статье, были б платные (ну, по 10$)? Не думаю, что все б так лихо тогда можно было сделать, как описано в статье… А автор статьи, как раз характерный представитель аудитории ИС… И вряд ли он (она) бы их тогда покупал(а), может одну-две, да и то, сомнения, так пожно половину суммы отдать ИС’у, что заказчик выложит за работу:-)
(11)Ну, во-первых не он (она), а она, во-вторых, что- то память у vengerа короткая, мы с тобой «тарифы» вместе делали, ты еще помнится ссылочку на мой профайл кинул, да по e-mail, перекинулись письмами;-))).
А насчет оплаты, я предполагала, что такие мысли обязательно возникнут, поэтому прошлась по всем ссылкам и проверила, стоят ли мои плюсы. Кроме того, положила обработку, из тех что в этом внедрении были сделаны.
В — четвертых, скачивают все, ресурс такой, я тоже, но благодарю авторов, и эта статья тому подтверждение:-)))
(12) Помню-помню, отчего ж:-) Я просто подчеркнул, что я счас о любом человеке говорю. И в основном о том, что ценность ИС как раз в большом кол-ве бесплатных (и это нормально). И к тому, что как только многое станет платным, многие уйдут, так как нельзя будет пользоваться как «справочником» с примерами в своей работе. Просто эт к разговорам о том, как получить прибыли с портала.
(13)>многие уйдут, так как нельзя будет пользоваться >как «справочником» с примерами в своей работе
Интересная мысль, что — что а справочником и не пахнет, во всяком случае в моей работе, большинство обработок, скаченных здесь переделывались, хотя бы потому что для Казахстана не подходят, и не только поэтому, а еще и потому, что задачи все индивидуальные и очень непростые, и может быть я плохо описала, что работа была срочная и «изобретать велосипед» некогда было…
Чем мне нравится портал, так это тем, что с ним РАБОТАТЬ можно, а не только флеймом заниматься…
(14) > что — что а справочником и не пахнет
Это для пользователя не пахнет, у него если не заработало, он сделать то ничего не может, а для программиста — можно переделать под себя, можно доработать, можно посмотреть подходы, идеи, мысли. Только не шибко структурированный и с не шибко развитыми системами поиска, навигации и т.п., но то, что есть сейчас — и портал, и имя, и коллектив и база разработок и разрабов — это, надо отдать им должное, тоже результат вполне впечатляющий!!! Молодцы ребята — это однозначно!!! Но только не ждите, что мы, хоть Вас и любим, будем постоянно об этом говорить, в жизни тоже ж так:-) Мы скорее будем ворчать на баги, но это ведь любя:-)
(14) > Чем мне нравится портал, так это тем, что с ним РАБОТАТЬ
Абсолютно верно. Этим он пока и привлекал людей, но чем больше людей тем больше флуда, тем меньше нормальных людей и больше флудеров. Сейчас, ИМХО, переломный период в жизни портала и если владельцы упустят момент, то инфостарт превратиться в еще одну мисту, с которой невозможно РАБОТАТЬ!
Уже десятки тем существует по этому поводу, но воз и ныне там.
Возможно Вашу статью через пол года — год найдет какой нибудь «новобранец» и скажет еханый бабай вот клево здесь раньше было, а теперь в этой «куче» ничего нельзя найти… и посоветоваться не с кем…
ЗЫ: Наболело.
(15)>…хоть Вас и любим…:-)))))
(16) > Возможно Вашу статью через пол года — год найдет какой нибудь «новобранец» и скажет еханый бабай вот клево здесь раньше было, а теперь в этой «куче» ничего нельзя найти… и посоветоваться не с кем…
Это проблема всего И-Нета, всех поисковиков и каталогов. И что, ведь никто не предлагает ввести цензуру на весь И-нет в связи с этим. Думают, улучшают поисковики, думают над системами data mining, много чего думают. Я про человечество, но ведь не говорят об ограничении кол-ва пользователей И-нета или сайтов И-нета. Ведь нет?
(17) Это я снаружи вредный, но внутри добрый и пушистый, ранимый и нежный:-))
(18) Это проблема всего И-Нета, всех поисковиков и каталогов.
Ну на других сайтах это решается модерированием. Причем чуть ли не для каждой рубрики свой модератор. Что мешает это сделать и на инфостарте?
Правила то описаны, но кто то же должен следить за их исполнением.
(20) Модерирование решает несколько другие проблемы. Возьмем ситуацию, допустим, за три года существования ИС членами сообщества написано 100 перенумераторов. Что по вашему должен сделать модератор? Оставить одну? С какого бодуна, по каким критериям? Понятно, что совсем паршивые можно и удалить, а с остальными нормальными и хорошими, с разными вариациями и фишками, куда их модератор должен засунуть, по каким критериям и т.д. и т.п.?
Т.е. модерация решает проблему флуда, флейма, некорректного поведения, ботов и т.д. А с объемом информации надо на другом уровне работать.
(21) Наверное , дело еще грустнее : как разделить совсем паршивые и не очень
паршивые ?
«А с объемом информации надо на другом уровне работать «.
Это означает — найти(взрастить) искусника(ов) и беречь их .
Хорошая статья,позитивная…
(20)а с чего ты взял что тут не кому заниматься порядком??!!Мне так кажця,что тут с модератотами порядок,ну может еще парочку подзавести….
>»А с объемом информации надо на другом уровне работать «.
Это означает — найти(взрастить) искусника(ов) и беречь их .
Главное ядро,а если посмотреть на ТОР 100 оно тут есть,люди которые тут живут…живут сайтом,его проблемами…
Насчет модерации согласен, часто вижу кк тематические ветки уходят в никуда, что плохо ((((
Например эта ))))))
> И что, ведь никто не предлагает ввести цензуру на весь И-нет в связи с этим. Думают, улучшают поисковики, думают над системами data mining, много чего думают.
//
дешевле нанять одного модератора… а не изобретать лисапеды…
(21) > допустим, за три года существования ИС членами сообщества написано 100 перенумераторов
Ощущение, что гораздо больше.
(26) куда мы катимся…
(27) > дешевле нанять одного модератора… а не изобретать лисапеды…
Специально для Че:-) См. 21-й коммент. Модератор не поможет.
Модерирование решает несколько другие проблемы. Возьмем ситуацию, допустим, за три года существования ИС членами сообщества написано 100 перенумераторов. Что по вашему должен сделать модератор? Оставить одну? С какого бодуна, по каким критериям? Понятно, что совсем паршивые можно и удалить, а с остальными нормальными и хорошими, с разными вариациями и фишками, куда их модератор должен засунуть, по каким критериям и т.д. и т.п.?
Т.е. модерация решает проблему флуда, флейма, некорректного поведения, ботов и т.д. А с объемом информации надо на другом уровне работать.
(21) (30) Поможет еще как поможет. Модератор может заниматься еще и структурированием и «чисткой» базы. Возьмем твой пример: модератор отнесет все перенумераторы в категорию например «Перенумераторы» в разрезе платформ и упорядоченных по рейтингу. Согласись что на инфостарте нет нормального рубрикатора. Каждый пихает обработку куда ему вздумается и как ему вздумается. Должны быть правила оформления и за этими правилами кто то должен следить!
P.S. Проблемы надо решать по мере их поступления. А главное что их НАДО решать.
Приз получен, выражаю благодарность Че!
Хоть и бегло пробежался по статье, но сама идея статьи понравилось:) Я тоже собираюсь инфостартом воспользоваться для внутреннего проекта…
Согласен с автором статьи по поводу
Чем мне нравится портал, так это тем, что с ним РАБОТАТЬ можно, а не только флеймом заниматься…
Не скажу за других, а моё имхо — на сайте черпаются в основном идеи, помогающие в работе, а не «готовые решения»…
А касательно поднятой темы сложности поиска — не ругайте новичков, которые вместо поиска пользуются ЛЕНТОЙ ФОРУМА ЭКСТРЕННОЙ ПЕРВОЙ ПОМОЩИ — она есть ГЛАВНАЯ ПРИВЛЕКАТЕЛЬНОСТЬ, ибо первая помощь завсегда может оказаться ЕДИНСТВЕННО НЕОБХОДИМОЙ 😉
(0) не обидели хоть? работы на мильон (учитывая срочность/внезапность — на два), а оценили, как всегда, в тарелку?
имхо, как минимум — две недели на теплых островах. просто как минимум
(36) Я по-простому перевожу.
Миша хотел сказать : не менее 60 тыс.руб.
где-то так
(37) Примерно в 3 раза больше 🙂