Timur RamazanovТимур "TIM3R" Рамазанов // www.TIM3R.ru
Проф. интересы: кино, визуальные эффекты, дизайн
Самара, Москва. Россия
Об авторе, Путешествия, Выступления и мероприятия

5 февраля 2010 г.

Модуль «Дни рождения»

Общее описание работы модуля «Дни рождения». (Для локального сайта Самарского ИВЦ КБШ ЖД)

Модуль предназначен для вывода информации о днях рождения, которые наступили сегодня или произойдут в ближайшее время.
На экран выводится следующая информация: дата рождения, ФИО, отдел и должность.



Информация извлекается из файла birthdays.csv, который в свою очередь получен из заранее сформированного определенным образом файла birthdays.xls (формируется раз в *** дней ответственным человеком из отдела кадров). Преобразование  birthdays.xls в birthdays.csv происходит автоматически по расписанию. Для преобразования используется файл макроса macros.xls (при первом запуске требуется в настройках Microsoft Excel изменить уровень безопасности на минимальный: «Сервис» → «Макрос» → «Безопасность» → «Низкая»).
Макрос осуществляет открытие, подготовку (перемещение, удаление столбцов), обновление и конвертацию файла birthdays.xls в birthdays.csv. Файл макроса должен находиться в одной директории с файлом birthdays.xls. Файл birthdays.csv будет создан автоматически в этой же директории.

Числовое значение, показывающее, на сколько дней проводится расчет, устанавливается в конфигурационном  файле birthday_settings.ini. Расположен в одной директории с PHP-скриптами. В случае некорректного ввода этого значения система исправит это значение сама, либо будет выведено сообщение об ошибке. Допустимые значения – числовые в диапазоне от 1 до 365.

Информация из файла birthdays.csv анализируется PHP-скриптами birthday.php и near_birthday.php, которые интегрируется в страницы сайта. Данные скрипты производят анализ содержимого файла birthdays.csv, осуществляют выборку и вывод на экран данных, в соответствии со значением, расположенным в birthday_settings.ini.



Все перечисленные ниже файлы должны находиться в одной директории:
birthdays.xls – входной файл с данными для макроса;
macros.xls – автоматический преобразователь  (birthdays.xls → birthdays.csv);
birthdays.csv – выходной файл (создается автоматически макросом);
birthday_settings.ini – хранит числовое значение о количестве просчитываемых дней;
birthday.php – PHP-скрипт, внедряется на страницу сайта;
near_birthday.php - отдельная страница с данными о ближайших днях рождения.

2 комментария

  1. Анонимный24 июня 2011 г., 10:20

    не совсем понял..типа просто понды? к чему данный пост?

    ОтветитьУдалить
  2. Не "понты", а заметка о проделанной работе. Или что вы в моем блоге хотели увидеть? Ссылку на скачивание?)

    ОтветитьУдалить

Выберите тип учетной записи перед отправкой сообщения (или выберите "анонимно", без учетной записи)