<?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='\
В этом контексте появилась мысль о том, что возможно стоит подумать о введении динамики и зависимостей от текущей ситуации в свод правил.
Также мысль о том, что существуют разные уровни решений. Т.е. можно локально решить кого-то забанить. А можно решать и думать о том, что ситуация сильно «зажата» и стоит немного отпустить вожжи или наоборот, стоит немного ужесточить правила, чтобы придержать разболтавшуюся ситуацию. Это тоже можно включить в функции Совета.
Наверное, ты знаешь, что алкоголик всегда имеет повод. Но наверное не в курсе, что алкоголик иногда имеет почти гипнотический дар убеждать своих близких, что у него действительно есть повод пить, и все с ним соглашаются, что он вынужден поступать так. Этой проблемой зависимости близкого окружения больного от его параноидального дара убеждения занимаются психологи. В сознании людей внушаемых и посредственных, иногда может наступить момент, когда данность подменяется чувством призрачной необходимости. И люди начинают оправдывать того, кого совсем недавно осуждали.
Я не отношу себя к людям внушаемым и посредственным. Поэтому, все, что ты можешь написать, не способно оправдать одного факта, который я постоянно имею в памяти.
То, что происходит последнее время на Инфостарте мне не нравится. В том, что происходит, виноват ты и твое окружение. Ты рвешься на трибуну. Если это произойдет — будет еще хуже.
Кстати, тем, кто считает также, как и я, рекомендую в топике особо не отписываться, чтобы не засорять эфир, ибо не фиг сайт IT сообщества превращать в трибуну для утешения личных амбиций. Сам тут писать тоже больше не буду. Просто молча минусуем.
(0) > Исходя из таких аналогий можно говорить, например, о том, что чем дальше отклонился показатель от нормы и чем скорее его нужно вернуть к норме, тем больше энергии (и жесткости, назовем это так) нужно затратить
Это свойственно для любой системы, которая вышла из равновесия.
Но для «простых» систем методов восстановления раз, два и обчелся 🙂
А для сложных, в частности, для человеческого общества, их может быть очень много, и не всегда заранее известно какой самый правильный.
«Суха теория, мой друг, а древо жизни пышно зеленеет»
(3) > Просто молча минусуем.
А мы плюсуем, не молча.
Мы — это те, кто поняли уже давно, что ситуация на ИС достигла критической отметки.
> Это свойственно для любой системы, которая вышла из равновесия.
Само понимание идей равновесия и сложности процессов управления полезно некоторым программистам, дабы они не мнили, что их работа просто верх мыслительных способностей, а руководитель и управленец, в том числе и пользователь их программ, туп и ничего не понимает:-)
Я пока не вижу для себя смысла быть в Совете или реальной пользы от моего присутствия, т.к. некоторые (далеко не все) товарсчи продолжают провокации, попытки вызвать ответную реакцию и затем обвинить во флуде, вижу у них предвзятое отношение и злобу (скрытую обиду:-), что говорит о мелочности и испорченности таких людей:-) Работать с такими плечом к плечу просто невозможно:-)
Т.е. на данный момент (я повторюсь, на данный момент, мои мнения динамичны и меняются вместе с ситуацией), я вижу, что смогу реализовать что-то, если принимать решения (речь НЕ о модерации, одного меня не хватит) буду я единолично, с оглядкой и советом с Доржи, а исполнение безусловное, но с возможностью обсуждения будет на модераторах. Лезть в технические вопросы связанные с 1С или развитием портала (программирование) я не буду, а вижу себя третейским судьей по моральным, этическим и социальным вопросам, естественно с оглядкой на Доржи, т.е. его младший помошник, судья модераторов и конфликтов на глобальном уровне. Естественно у Доржи только всегда будет право наложить вето, ну модераторы могут единогласно (т.е. если даже один модератор против, то уже нельзя) вынести мое решение по конкретному вопросу на референдум, т.е. в опрос, опять же, если Доржи не наложит вето и на это. Детали можно уточнить, ведь по каждой мелочи судью не зовут, многие вопросы будут решать сами модераторы, но судья может отменить их действия и наложить вето, а модераторы либо могут обжаловать у Доржи, либо, если Доржи не наложит вето, запустить референдум по этому вопросу. Причем для референдума, модераторы должны совместно подготовить в письменном виде обоснования и я тоже должен его написать со своей стороны свои доводы (это если референдум таки запускается, но не в остальных случаях, хотя и в остальных случаях, если будут возникать вопросы почему, то по мере наличия времени я буду обьяснять почему), народ знакомится с доводами обоих сторон (моими и модераторов, обсуждение доводов запрещено, чтоб избежать вспышок флуда и скандалов), а потом голосует.
Тем более, что я человек как бы «со стороны», с 1С и средой 1С’ников не связанный, к группировкам не принадлежу и имею волю к тому, чтобы, в случае необходимости, быть объективным как к «своим», так и к «чужим»:-) Обращаюсь к «своим»: «Вы не торопитесь соглашаться, ибо поблажек и выноса решения в пользу «своих» не будет», но и ожидаемости и одинаковости по решениям тоже не ждите, ибо руководствоваться я буду очень многими вещами при принятии решения.
Изменится ситуация — изменится и мое мнение, учтите это, прежде чем делать выводы:-)
(7) > Вы не торопитесь соглашаться, ибо поблажек и выноса решения в пользу «своих» не будет
я не против, у кого совесть чиста и намерения светлые, бояться нечего 🙂
Обращаюсь ко всем, тема динамических систем управления меня интересует, я над ней недавно задумался, а я имею привычку думать сначала сам, а не бежать и читать книжки, а потом уже сверяться и анализировать, где я не додумал или наоброт думал также, т.е. сверяю пути.
Так что, если кому есть по теме, хоть свои мысли, хоть свою критику, хоть материалы — я буду рад почитать:-) Что порвут не боюсь, ибо хочу развиваться, а не стоять на месте:-)
Дадим шанс Венгеру проявить свою объективность:http://infostart.ru/forum/forum19/topic8972/messages/?PAGEN_1=6
Олег, может я чтото и пропустил, не переходи на личности
человек открыл тему, тем более интересную, давайте обсуждать ее а не все остальное, никоим образом с ней не связанное. Симпатии и антипатии есть всегда, но надо одно отделять от другого.
К примеру у нас в клубе сегодня было заседание на тему экспертных систем, и не смотря на то что я отношусь к ним нейтрально в рамках мероприятия пришлось защищать их. Но это ведь не значит что те кто были против противостоят мне во всем остальном.
Не надо очередных групповых минусований, а то последнее время очень часто это стало происходить.
Размножается ветками …
да потому что вместо выяснения в одной (раз уж без этого никак нельзя) начинают переносить на все
Статья относится исключительно к устойчивым системам — только такими и можно управлять. Если система неустойчива изначально, или управляющее воздействие вывело ее за пределы области сходимости, дальше будет не ситуационное управление, а эквилибристика.
(2)> То, что происходит последнее время на Инфостарте мне не нравится. В том, что происходит, виноват ты и твое окружение. Ты рвешься на трибуну. Если это произойдет — будет еще хуже.
(6)> Это свойственно для любой системы, которая вышла из равновесия.
А если действительно человек смотрит на вещи другими понятиями. И при этом смотрит вперед не на шаг. При этом понимает, что если не выровнять составляющие принципы по управлению данной системой, то ничего хорошего с этого не получится. А то, что рвется на трибуну, пытаясь что-то изменить, так тут проще всего стоять в сторонке и говорить о том, о чем, в принципе нельзя говорить, пока саму с этим не столкнутся. Попробуй сам что-то предпринять или предложить по исправлению тех или иных проблем в системе. Говорить со стороны всегда проще.
(7) «а вижу себя третейским судьей по моральным, этическим и социальным вопросам»
хм… %))
однако