<?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='\
… крУто …
… блин …
… вОт …
(1) …радСТАРатьсЯ…
Потихоньку сбываются мечты Чебура-2006.
Вот это я понимаю! Супер! Еще бы по восьмерке!
(4) Я и с семеркой-то не до конца справился. Например, кое-то должно было попасть в две рубрики. Хотел сделать Топ-500, но уже на 120 силенки закончились 🙁 Дальше на упрямстве двигался, но и оно не безгранично 😉
Спасибо
(5) Понимаю, поэтому не настиваю. На мой взгляд это тот самый рейтинг, за который столько копий сломано было. Если вывести в файле суммарный рейтинг автора получится не просто сумма по программам, а сумма по топовым разработкам. Короче рейтинг не количественный, а качественный. Хотя он тоже не всегда объективен, но все же. На этой системе плюсования (от пользователей и программистов вперемежку) — лучшего не достигнуть. Так что анализ топовых авторов «по Арчибальду» может сильно отличаться от «по support-у» 😉
(7) Хотелось еще некую обзорную статистику добавить. Типа количество «рейтинговых» авторов, процент «одноразовых» и т.п. Но 200 (рейтинг > 45) — это все же мало данных. Статистику видно на рейтинге > 25, но это неподъемно.
(8) Я так понимаю ты предваряешь работу будущего рубрикатора на ИС.
Старая закалка помогла тебе систематизировать информацию вручную , не используя возможности движка ИС.
Как на духу : я вытер слезу. Взгрустнулось.
(9) Можно пробить лбом стену. Но что ты будешь делать в соседней камере?
(с) Станислав Ежи Лец.
Я не менее пессимистичен, чем Че. Мне ситуацию не свернуть. Просто имею толику свободного времени: обучаю своего будущего преемника по методу «швырнуть в воду и пусть барахтается».
А слезу зря вытер. Можно было бы ее с толком пролить в каком-нибудь форуме 8)
Что-то Чебур не подходит. Как думаешь ?
Бросит шапку наземь и воскликнет «Вот оно !!!» ?
Или постесняется , промолчит?
«Да воздастся Вам за Ваши деяния»
Глубокое уважение Вам за такой кропотливый труд на благо общества!
Удачи.
Спакуха! все на контроле! засек сразу! автор — молоток!
НО! упорядочение-выборка по ТОПУ100 — не особо интересно.. гораздо интереснее если бы автор сделал предметные подборочки: ориентированные на разрабочиков/на пользователей… я думаю (но могу ошибаться), есть достаточное колво разработок, которые имеют не сильно высокий рейтинг — но очччень интересные…
..
но автор — молодец! было бы хорошо более качественно оформить… И все-таки — когда САППОРТ сделает возможность задания произвольных тегов и выборок по ним???
.
автору респект за систематизацию, надеемся, что продолжить и впредь с углублением и повышением качества…
… всё кАк всегДА … делается во преки и не без помощи … один сплошной ЭнтузиаЗим …
… критиков много …
… поддерживающих ещё меньше …
…
… а чем ближе к помошникам и совсем никого не остаются …
… ах…ДА… ВСЕзаняты ….
Некоторые товарищи недооценивают моральный фактор. Деньги , понимаешь..
А я вот полагаю , что если мы все вместе навалимся на Арчибальда и заклюем его похвалами как следует , то он горы свернет («аналог для 8-ки»).
спасибо за труды. только вот что-то не увидел своей разработки:
http://infostart.ru/projects/4210/
дискриминация, однако… 🙂
(16) А там написано 8.1. ;)) А тут — семерка.
(13) Согласен насчет оч-чень интересных с невеликим рейтингом. Топ-500 было бы гораздо информативней — там почти все есть.
хороший список
Автор, ты молодец. Было бы неплохо чтобы движок сайта автоматически, что то подобное генерил. Все таки поиск по сайту это хорошо, но все равно удобнее когда у тебя весь список на локалке…
(20) подерживаю вас по поводу сайта.
добавлю со своей стороны что неплохо было б если б еще и выпускался диск Исфостар, где были бы все обработки и разработки что выложены на сайте…
За труд +1, мож пригодится когда-нить, хотя и уходим от 7ки
+ за труд
(18) ага, и топ-Все гарантировано даст на обсер всего! 😉
(7) Из этого файла легко вытягивается рейтин «По Арчибальду»…
Вот топ 50:
1 O-Planet 1818
2 CheBurator 938
3 dushelov 883
4 Diamond 518
5 GSoft 512
6 Robert 425
7 maljaev 402
8 clappa 389
9 Noy 388
10 z_serg_v 380
11 victuan 360
12 33lab 302
13 effector 289
14 orefkov 288
15 Abadonna 273
16 maskin 266
17 GROOVY 261
18 Tatitutu 259
19 metaeditor 258
20 quick 255
21 antonrost 245
22 azernot 244
23 ded00786 221
24 Снусмумрик 212
25 GreyK 208
26 mclarry 200
27 poppy 200
28 vet7777 196
29 defini 188
30 StrangeDevice 183
31 VRP 176
32 Antia 175
33 support 171
34 shard 163
35 СМ 154
36 Alxd 146
37 ivsnik 146
38 StadoAdama 146
39 Delon 145
40 Кузьмич 140
41 idw 128
42 it.net 126
43 wolfdmv 123
44 r_p 120
45 AdApter 117
46 zhurkin_yuri 110
47 albert 101
48 dmitish 100
49 zalst 100
50 snarkelun 100
Без 8 не надо сравнивать 🙂 Хотя первые 3 позиции — одинаковы.
(26) Так это и есть без 8 — на основании файла из (0) — простая сводная таблица…
Интересно, а под восьмерку ТОР-200 наберется то?
(28) И даже топ-500 🙂
(0) А как создавалась таблица? Неужели вручную?!
Неплохо бы сразу добавить автофильтры по колонкам Рейтинг и Автор.
И функцию ПРОМЕЖУТОЧНЫЕ.ИТОГИ по колонке рейтинг.
И вынести тип разработки в строку… опять же для автофильтра
Но… и так очень хорошо! 🙂
(25) Я не вошел даже в 50 в рейтинге «По Арчибальду»… Сижу, рыдаю…
(31) Приношу свои извинения авторам по ЗиК и ТиС. Работы отбирались по платформк Бух 7.7. Буду исправляться…
(31) Зато я на 9-ом месте! Гы! мне нравиться 🙂
(32) Делай версию №2! Только не вручную! Можно обработочку написать, которая все вытянет…
(33) Напиши! Я не умею 🙁
а кто сделает top100 самых крутых каталогов?
Забавно,но полезно с рейтингом больше 30.А у них и так все есть:)
И про меня не забыл)))
Спасибо Вам за Ваш труд
(25) Можно теперь пересчитать ;))
(39) Ну вот, теперь я 12 🙁
вот ТОП >100 7.7 По Арчибальдовски 😉
1 O-Planet 2090
2 CheBurator 1342
3 dushelov 883
4 GSoft 864
5 wolfsoft 630
6 Diamond 568
7 poppy 560
8 clappa 500
9 Robert 425
10 Antia 419
11 maljaev 402
12 Noy 388
13 z_serg_v 380
14 GROOVY 366
15 victuan 360
16 33lab 302
17 Armando 292
18 effector 289
19 orefkov 288
20 Sprite 283
21 soft25 276
22 Снусмумрик 275
23 Abadonna 273
24 maskin 266
25 WiseSnake 265
26 Tatitutu 259
27 metaeditor 258
28 quick 255
29 antonrost 245
30 azernot 244
31 fedin 237
32 ded00786 221
33 GreyK 208
34 mclarry 200
35 vet7777 196
36 defini 188
37 StrangeDevice 183
38 VRP 176
39 support 171
40 shard 163
41 Shaman100M 161
42 СМ 154
43 nitroimx 154
44 fAngel 147
45 Alxd 146
46 StadoAdama 146
47 ivsnik 146
48 Delon 145
49 Кузьмич 140
50 Валерыч 139
51 Lapitskiy 129
52 idw 128
53 it.net 126
54 AlexMir 124
55 wolfdmv 123
56 r_p 120
57 Страпот 119
58 AdApter 117
59 balance 116
60 zhurkin_yuri 110
61 vat-74 109
62 m@x 103
63 albert 101
64 snarkelun 100
65 zalst 100
66 dmitish 100
Себя увидел! 16 место. Можно было бы и комментарий добавить к первой 100-ке в каталоге. 🙂
;))
а я к примеру не увиделhttp://www.infostart.ru/profile/8784/projects/1693/
хотя это моя самая «топовая» конфа на 7ке)))))
(28) я доберусь до 8. но реализовывать буду не в экселе, а в dt.
(0)(43) ну зачем же так и сразу выносить в заголовок, мы люди не гордые 😀
предлагаю из (0) убрать)))
(45) Кстати, я понял, почему она не попала. Рубрика ТиС отдельно делалась…
Пусть висит. Работе пиар, а мне извиниться не стыдно 8)
так она вроде в отраслевых решениях
кстати на форуме как то была тема с автоматическим рейтингом разработок, вот к сожалению ссылки не помню
(47) Отраслевые решения — это одна рубрика, а конфигурация для тогрговли и склада — это другая. Я со своей конфушкой это проходил уже.
Интересная работа