Drupal, дополнительный функционал.
Есть несколько сайтов на системе Drupal 6.
Нужен скрипт, который будет собирать статистику с сайтов.
1. Сбор статистики по редакторам
Скрипт по крону должен залазить в базы сайтов. (Часть баз локально,
часть удаленно) Доступы к базам вносятся через страницу кофигурации
(см. ниже)
Скрипт должен извлекать информацию по пользователям с ролью "Редактор"
(задается в конфиге для каждого сайта) следующего плана:
* Сайт
* Имейл пользователя
* дата
* "тип_материала"
* количество созданных материалов типа "тип_материала" за один день
Например:
сайт1, [email protected], 2010-12-01, 'story', 2
сайт1, [email protected], 2010-12-01, 'page', 1
сайт1, [email protected], 2010-12-02, 'page', 5
сайт1, [email protected], 2010-12-07, 'page', 5
сайт1, [email protected], 2010-12-10, 'story', 1
Данные сохранить в базе из под которой запускается скрипт, а не из той к
которой идет удалененный коннект.
Данные хранить в адекватных форматах.
2. сделать страницу статистика по Редакторам.
Фильтр:
* Редактор: выпадающий список редакторов из таблицы статистики (по умолчанию все)
* Период: с ... по ... (включительно)
Вывод информации по редактору/редакторам:
сайты, даты | Всего (сумма по строками) | тип1 | тип 2 |
--------------------------------------------------------------------------
[+] всего | 60 | 28 | 32 |
--------------------------------------------------------------------------
[-] сайт 1 | 10 | 6 | 4 |
--------------------------------------------------------------------------
2010-12-01 | 1 | 1 | 0 |
2010-12-02 | 8 | 5 | 3 |
2010-12-03 | 1 | 0 | 1 |
--------------------------------------------------------------------------
[+] сайт 2 | 20 | 16 | 4 |
--------------------------------------------------------------------------
.............
--------------------------------------------------------------------------
[-] сайт 3 | 30 | 6 | 24 |
--------------------------------------------------------------------------
2010-12-01 | 13 | 2 | 11 |
2010-12-02 | 5 | 1 | 4 |
2010-12-03 | 12 | 3 | 9 |
--------------------------------------------------------------------------
[+] свернуть/развернуть все (для [+] всего )
[+] свернуть/развернуть по сайту (для [+] сайт ...)
3. сделать страницу статистика по Сайтам.
Фильтр:
* Сайт: выпадающий список сайтов из таблицы статистики. выбирается один сайт или все сайты.
* Период: с ... по ... (включительно)
Вывод информации по сайту:
пользователь, даты | Всего (сумма по строками) | тип1 | тип 2 |
--------------------------------------------------------------------------
[+] всего | 60 | 28 | 32 |
--------------------------------------------------------------------------
[-] Редактор 1 | 10 | 6 | 4 |
--------------------------------------------------------------------------
2010-12-01 | 1 | 1 | 0 |
2010-12-02 | 8 | 5 | 3 |
2010-12-03 | 1 | 0 | 1 |
--------------------------------------------------------------------------
[+] Редактор 2 | 20 | 16 | 4 |
--------------------------------------------------------------------------
.............
--------------------------------------------------------------------------
[-] Редактор 3 | 30 | 6 | 24 |
--------------------------------------------------------------------------
2010-12-01 | 13 | 2 | 11 |
2010-12-02 | 5 | 1 | 4 |
2010-12-03 | 12 | 3 | 9 |
--------------------------------------------------------------------------
[+] свернуть/развернуть все (для [+] всего)
[+] свернуть/развернуть по сайту (для [+] сайт ...)
4. Страница управление сайтами
Глобальная кофигурация:
* Название роли редктора (обязательно)
* Название словаря таксономии (обязательно)
* Цена за один матриал
тип матриала1 = цена
тип матриала2 = цена
тип матриала3 = цена
Необходимо для каждого сайта сохранять информацию:
* Название сайта (обязательно)
* Доступ БД в формате Database URL mysql://username:password@localhost/databasename (обязательно)
* Название роли редактора (если пусто, то глобальная)
* Название словаря таксономии (если пусто, то глобальная)
5. Сбор статистики по таксономии
Если у сайта есть словарь таксономии (как указано в настйроках)
то собирать статистику по материалам:
сайт + термин таксономии + тип материала + количество материалов типа + дата
6. сделать страницу статистика по терминам.
Фильтр: период от .. до (включительно)
сайт, термин | Всего (сумма по строками) | тип1 | тип 2 |
--------------------------------------------------------------------------
всего | 60 | 28 | 32 |
--------------------------------------------------------------------------
[-] Сайт 1 | 10 | 6 | 4 |
--------------------------------------------------------------------------
термин 1-1 | 1 | 1 | 0 |
термин 1-2 | 8 | 5 | 3 |
термин 1-3 | 1 | 0 | 1 |
--------------------------------------------------------------------------
[+] Сайт 2 | 20 | 16 | 4 |
--------------------------------------------------------------------------
.............
--------------------------------------------------------------------------
[-] Сайт 3 | 30 | 6 | 24 |
--------------------------------------------------------------------------
термин 3-1 | 13 | 2 | 11 |
термин 3-2 | 5 | 1 | 4 |
термин 3-3 | 12 | 3 | 9 |
--------------------------------------------------------------------------
[+] свернуть/развернуть по сайту (для [+] сайт ...)