Разработка:storages/achievementcats

Материал из DOF
Версия от 18:40, 31 августа 2016; Polikarpov (обсуждение | вклад) (save( $object = null, $options = [] ))
Перейти к: навигация, поиск
Плагин
Название achievementcats
Тип storages


Таблица в базе данных

achievementcats - Справочник разделов(категорий) шаблонов достижений

Подробный формат полей в таблице:

  • id - ID раздела.
  • name - Название раздела.
  • parentid - ID родительского раздела.
  • departmentid - ID подразделения.
  • sortorder - Поле для стандартной сортировки разделов.
  • createdate - Дата создания раздела.
  • status - Статус раздела.

Методы:

Публичные методы:

save( $object = null, $options = [] )

Сохранить раздел

Метод сохранения раздела достижений

Аргументы:

  • $fromid(int) - счет, с которого списываем сумму.
  • $object(object) - Объект раздела
    • Обязательные поля:
      • ->name - Имя раздела
      • ->departmentid - Подразделение раздела
    • Необязательные поля
      • ->parentid - ID родительского раздела
      • ->sortorder - Вес сортировки
  • $options(array) - Массив дополнительных параметров

Возвращаемые значения:

  • bool - В случае ошибки сохранения
  • int - ID сохраненного раздела

Пояснения: Метод реализует механизм сохранения(создания или обновления) раздела в системе.

Логика работы:

  • Проверка входных данных
  • Клонирование исходного объекта для безопасной манипуляции с данными
  • Нормализация свойств переданного раздела
  • Выбор механизма сохранения(создание или обновление)
    • Сохранение
      • Генерация служебных полей(сортировка, дата создания)
      • Добавление записи в БД
    • Обновление
      • Генерация служебных полей(сортировка)
      • Обновление записи в БД

Приватные методы:

get_sortorder($saveobj)

Генерация поля сортировки раздела

Метод генерации поля сортировки на основе объекта раздела

Аргументы:

  • saveobj(object) - Объект раздела

Возвращаемые значения:

  • int - Вес раздела

Пояснения: Метод реализует механизм генерации поля сортировки раздела. В данный момент не используется и для всех разделов возвращает 0