<?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='\
Эк закрутил 😮
Ну и ?
А что принципиально нового то ?…
Давно ужо все пихают в ert всё что не поподя — файло,ВК и т.д…
Тот же формекс или 1c++
Я вот тут подумал: может делать подобное внедрение прямо в модуль обработки при компилировании?
Декомпилятор для 1С 7.7 уже написан. Всё бесполезно 😉
(4) Ссылку в студию!
(5) Релиз пока не вышел 🙂
картинка только 🙂
Есть
А про декомпилятор информация откуда ❓
(7) От автора 😀
А что автор говорит по поводу релиза?
Будет ли он открытым и когда?
(9) Релиз будет, факт.
По поводу открытости вопрос сложный. Скрывать там особо нечего (написано всё это, хе-хе, на C#), но и финансовый вопрос интересен. Когда — думаю, в очередной период сдачи налогового расчёта по авансовым платежам по транспортному налогу 😀
P.S.: Декомпилятор не работает без запущенного экземпляра 1С. Фича! 🙂
Я эту тему создавал не для обсуждения декомпилятора 👿
Делайте отдельную тему и мусорте там
вот если бы для 8.1 была бы приблуда, а так для 7.7. уже не актуально
(12) +1
обидно что пообещанное на конец 2009-го так и не вышло 🙁
2(13): обещаного 2 года ждут 😉
(10)
а на рисунке (6) НЕТ запущеннного )))
да рисунок…
Задолбали короче говоря…
Какая польза от этого декомпилятора то
Серьезных коммерческих продуктов с помощью КЗК все равно никто не делает.
Многие как и Я пользуются КЗК что бы временно защитить разработку которая была сделана на условиях оплаты по факту. Что бы тебя не кинули
После оплаты я код всегда открываю. Многие делают точно так же.
Оставлять код закодированным просто не удобно. Приходишь к клиенту нужно что то поправить а опа код закрыт исходников нет….
По этому давайте прекратим эту тему про де компилятор вообще.
(16) Как скажешь…
— тему твою в форуме поднял
— плюс поставил
— комментарий написал
и все для того чтобы в лицо сказали «ЗАДОЛБАЛИ»
хорошо хоть не послал 😥 и на том спасибо.
Красиво пишешь , но не верю … слова расходятся с делом.
ответ тогда следует читать в (2) там все четко написано
Извините кого обидел — но тему декомпилятора я не поднимал.
Напостил про декомпилятор Artem N
2(6) Судя по картинке, декомпилятор этот делается на основе демки КЗК. Если это так, то автора ждет неприятный сюрприз на реальных защищенных обработках. И его желание финансово что-нибудь поиметь с этого вполне может обернуться не очень хорошими последствиями для здоровья.
(20) На картинке вообще testcases, неужели не очевидно? 🙂 Задачи поломать КЗК2 автор не ставил.
(19) Извини, так получилось. Но в (7) ты сам меня поддержал 😉
2(21) «Задачи поломать КЗК2 автор не ставил» — очень странно видеть такое утверждение в комментариях к теме о КЗК в контексте декомпилятора. С учетом того, что в 7.7 и декомпилировать-то нечего, если не используется КЗК.
(22) Если в настройках КЗК2 «Дополнительная обработка скомпилированного кода» флажок установлен, то декомпилятор, понятно, не декомпилирует 🙂 Потому что он для этого не предназначен.
А вот если этот флажок сброшен, то на выходе получаем девственно чистый код…
Но я продолжаю придерживаться точки зрения (4), потому что деобфуксация возможна 😉
2(23) Попробуй. За руки никто не держит. Пример конфиги со скомпилированным глобальником я тебе выслал. Как получишь из него «девственно чистый код», милости просим.
Итак подведя итог ПОИМЕТЬ халяву желание не убить!
и желание сделать красиво — практично — безапасно (но с оплатой труда) тоже. Как результат ? правильно основное правило надо делать продукт взлом которого в разы дороже и сложнее чем просто купить (потом (когда обьем продаж спадет ) -открывать код (и делать закрытый продукт с новыми функциями)- как рекламно распространительный ход работает на ура).
(24) Автору писькой меряться не с руки 😀 Да и тебе не 20 лет вроде 😐 Поэтому «на слабо» поведётся тот, у кого будет желание доработать декомпилятор, выпущенный под BSD-лицензией.
2(26) Да никакого «на слабо». Подобные «декомпиляторы» были еще до выпуска КЗК 2.0, еще на этапе его первоначального публичного тестирования. Если интересно, можешь покопать архивы Мисты и Одинэссии на эту тему. Просто не вижу в этом повода для бравады типа (4). Еще раз: будет чем реально похвастать — милости просим.
Я эту тему создавал не для обсуждения декомпилятора
Делайте отдельную тему и мусорте там
Автор-то прав, однако 😀
(28) Согласен, автор прав!
Предупреждаю ВСЕХ — Буду модерить все дальнейшее в ветке не по теме!
(29) Ага, только, думаю, «они больше не будут» 😉
(30) Если автор темы попросит, могу скрыть все сообщения не по теме
(0) Почему бы тексты модулей в описании не покрасить? 🙂
Почему бы тексты модулей в описании не покрасить?
Покрасил 😀
(33) Что скажешь на (31) ?
(32) ОФФ. Скрытая реклама 🙂 😀 ?
(34) Я намекнул на качество оформления и направление, в котором можно его улучшить. Автор прислушался к рекомендациям и поправил публикацию. Материал стал выглядеть лучше. Как пользователь КЗК 2.0 я оценил материал как полезный. Для меня полезный и, что не мало важно, неплохо оформленный. За что собственно и поставил плюс.
Разукрашка , что видно по HTML-коду страницы.
…и это несмотря на то, что при оформлении публикации не использовалась
Так как пользователи КЗК относятся к мысли в (3)?
(36) ждут КЗК для 8.1 и 8.2
(36) Можно конечно, но актуальнее будет выпустить КЗК для 8.1.
…или обещенного 3 года ждут? 🙂
(38) скоро будет три.. недолго осталось 🙂
(36) Ну, как пользователь КЗК2, скажу следующее:
Если тебе, Альф, не влом, то в виде опции, почему бы и нет 😉
(36) АЛьф, сделайте возможность встраивать precomp.dll, никак пользователь не может запустить защищенную обработку. Не могу понять, что он не так делает.