<?php // Полная загрузка сервисных книжек, создан 2025-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='\
В WinXPx64 запускается, но ничего не показывает. 🙁
(1) Фиг его знает.. не имел возможности проверить 😥
+(2) На Windows 7 по моей просьбе проверили — пашет, но там оно и не надо, свой виджет есть
А в Win2000:
Clock.exe — Unable To Locate DLL : The dynamic link library gdiplus.dll could not be found in the specified path …
:-((((
(4)http://www.dll.ru/dll/180.html
это родная мелкософтовская
В Win2000 запустилось.
Очень хорошая программа для прогрева процессора… 😉
(6) 😀 погнался за красотой сделал секунды непрерывными, на затраты не посмотрел. перезалил, секунды дискретные, у меня сейчас грузит проц на 2% (было больше 30…)
окружность корявая, края рваный… блур какой-нибудь нужен… и не блокируется запуск нескольких копий…
Края, на мой вкус, нормальные.. А блокировку щас приделаю.
прямоугольный циферблат сделай — чтоб удобно было на экран положить…
(10) Ну да, блин. Я столько провозился чтобы он круглый стал! 😉
И вообще, это побочный эффект от
http://infostart.ru/public/59436/index.php?fimages=yes#images
(10) Качай, вредный Чебур 😀
Второй файл — квадратные
Халявщик! 😉 хочу чтобы циферблат был квадратный, а лучше — прямоуголный…
Прикольно!
Особенно если в инишнике проставить 20! 😀
А такую форму часов можно сделать? 😉
(16) Не хочу, чтобы Дали с того света за нарушение авторских прав привлек 😀
ты хоть чего-нибудь выложи, потом критикуй. если не заметил — это моя программа, какое отношение она к дистрибутивам имеет? не нравится — не ешь. утомил ты меня…
(23) А что, музыка — это идея ❗
Библия была, почему бы и не музыка? Я за!
(23) Вот только не надо передергивать и не путать твердое с горячим. Вот ты лично какое отношение к 1С имеешь, что здесь разорался?
А если нажать на кнопочку «свернуть все программы», часы тоже сворачиваются(исчезают с рабочего стола). Так у всех или только у меня?
(31) Часы — обычное окно, просто родителем ему назначен Рабочий стол.
Поэтому они ведут себя как все другие окна, т.е. и сворачиваются
Еще момент… если после передвижки часов по рабочему столу дважды кликнуть в трей(там где часики) — программка закрывается. 🙂 Ну и бог с ней. красиво, но в свете сворачивания — малофункционально.
(33) Ну, эту проблемку, думаю, решим 😉
можно добавить , чтобы выбор был Поверх всех окон?
(35) Если поверх, тогда проще их сделать как обычное окно, без родителя Рабочий стол. Тогда будет просто форма со статусом StayOnTop.
Не думал, что они народ сильно заинтересуют, раз интересно — подработаю
(36) Интересно, потому как на столе «висят» крупные часы. А висты и прочая «лабуда» выше ХР на столе имеют свои часы. А тем кто на ХР и ниже — простенько и приятненько 🙂
Хорошо, а если чуть попрозрачней? наверное память скушают?
добавлены продвинутые:
три дизайна часов, возможность «всегда поверх всех окон», запоминание стартовой позиции
описание ini-файла внутри самого файла в секции «COMMENTS»
Очень неплохая штучка
[+]
У себя приделал вдогонку грабилку температуры с америкосовского сервера в режиме реального времени. Но, блин, не дружит с проксей. 😥
Если кому-нить надо для беспроксового применения, пишите — выложу
Добрый вечер.Выложите часики,пожалуйста. 🙂
28.11.09 Добавлены часы с погодой. Версия 1.1.0.5
!!! Не работают через прокси
Описание ini — в самом ini
Двойной клик — вывод информационного окошка
Правый: меню
«Обновить» — принудительное обновление с сайта
(сохраняет файл AdvClock.HTM )
«Погода» — открыть в установленном по умолчанию браузуре ранее «ограбленный» файл с сайта AdvClock.HTM
Верхнее табло:
Темп°С/Ветер м/с
Лапочка: синяя — AM, оранжевая — PM
Огромное спасибо. но я живу в Латвии и хотелось бы температуру в Латвии. 😥
(44) А кто ж не дает?
http://russian.wunderground.com/global/stations/WUNKL.html
Открываем
там выбираем нужный город хоть в Латвии, хоть в Гвинея-Бисау 😉
копируем новый адрес ссылки и записываем его
вместо
URL=http://russian.wunderground.com/global/stations/WUNKL.html
URL=ЭтотНовыйАдрес в файле AdvClock.INI
(44)Вот Рига
http://www.wunderground.com/global/stations/26422.html
Я очень извиняюсь, я не настолько сильна в комп. что-бы сразу уловить что вы пишете. Не могли бы вы написать подробнее, я вам буду очень благодарна. Плюсики я и так поставила где только можно. 🙂
Я открыла, и что мне дальше делать??????? 😥
открыть в Блокноте, найти строку
URL=http://russian.wunderground.com/global/stations/WUNKL.html
заменить ее на строку
URL=http://www.wunderground.com/global/stations/26422.html
сохранить.
Перезапустить часы
А почему с прокси не дружит? если используются сокеты, то поддержку проксти типа «connect» — сделать легко (а теперь это самый распространенный тип прокси) … если же используются функции типа *Internet* — то они берут настройки соединения из IE.