<?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) Если вставила игра — кидайте бабла! 🙂
Грибочки они, конечно, могут вставить. Особенно, если выращены в Голландии 🙂
(2) у нас тоже хорошие растут..
🙂
Плюсик поставил. Авансом. 🙂
Что бы стимулировать рисование новых уровней 😉
Класс! Хде только клюшки взять что бы посмотреть? ) Делал бы тогда уж внешним приложением…
(5) «Где взять, где взять?… Купить!» 🙂
Сила!
Только в оригинале была удобная фича — шифт+стрелочка выхватывает объект с соседней ячейки без перемещения.
Даёшь редактор уровней!
(7) легко сделать…
Редактор уровней есть в виде залипухи… Для выкладывания сыроват. Ну не руками же я уровень рисовал ! :))
Обновил версию…
Теперь Картмен может бегать независимо от падения шариков..
Добавил бомочки..
Скоро чувствую дойдем до стратегий.
(11) Давно уже есть…
И квесты тоже..
Вах! А «сцылко» есть живая? Очень посмотреть хочется. Заранее благодарен.
(13) в профиле моём смотри, там есть сборник игр, даже герои есть,
http://kvest1c.narod.ru/
а квест, тут есть:
Обновил версию.
Тестируем..
И это, чего бобла то никто не кинул ?
🙂
Граждане, пока не качайте …Редактор уровней выйдет сегодня скорее всего, ближе к вечеру… В обновленной версии.
Вышел редактор уровней.. качайте — рисуйте сами…
Хорошая игрушка, спасибо. Давным-давно играл в такую и почти все проходил.
А что редактор — это здорово, без монстров можно будет поиграть. А то у меня подозрение, что они слишком шустрые на быстром компе..)
(18) потом сделаю автонастройку скорости…
(19) Та ладно ? Начиная с Supaplex есть куча на PC
Самая продвинутая на данный момент — safrosoft Rox
(20) Нет там обработки ожидания
(15)
:))
ну откуда у адинэсников дэньги..
мы бедные…
у нас кризис..
(22) Это, типа теорему БЖС все подтверждают ?
🙂
(23)
:))
НВЯПНЗЧТБЖС
Одного непонятно, чего все качают старые версии ? 🙂
Ну нет чтоб уровень прислать, али об ошибках написать…
супер 🙂 прям ностальгия по игрульке Boulder
+мульен аффтару
Кто хочет плюсов — рисуйте уровни!
(27) Не, мне лучше монеткой выслать:)
О, тоже клас!
Браво!
Фон картинок не мешало бы сделать прозрачным, знаю — гемор, но выглядеть будет посимпотнее.
http://www.forum.mista.ru/topic.php?id=384578
Нашёл тебя тут:
Пришёл по этой ссылке…кстати в теме ведётся разговор о моей игрушке:
Tactical 1C v1.3
Не понимаю, что там непонятного кстати, или было непонятное =)
Вообщем всё суперско сделал
Ужажаю!
Очепятка в предисловии: не Boulser, а Boulder.
Хорошо сделано… маладца… (как всегда, впрочем)…
Прямо как в детстве Boulder Dash.
написана на 1С или только обёртка для очередной скопип.. флешки?
(34) целиком на 1с без ВК
Обнаружил забавный глюк.
Если при запуске на компе есть открытая аська, оно разворачивает окно аськи, и в поле поиска начинает гнать много-много букв «л». 🙂
(37) это из-за посыла сендкея..
Оно в принципе поддается лечению?
Я бы на досуге попробовал пофиксить, потому что аська пока что нужна 🙂
(39) да забороть то можно, скрой аську в трей..
Посыл сендкей идёт в активное окно, надо просто, чтоб 1с-ина всегда была «главнее»
Крукто! Любимая тема. Но хочу такую же под 8.x (естественно не на УФ)
А то по 7.7 уже давно не работаю и не имею 🙁