/**
  * Установить права по умолчанию для страницы $element по отношению к пользователю $owner_id
  * @param umiHierarchyElement $element экземпляр страницы
  * @param Integer $owner_id id пользователя или группы пользователей
  * @return Integer уровен доступа к странице, который был выбран системой
  */
 public function setDefaultElementPermissions(iUmiHierarchyElement $element, $owner_id)
 {
     $module = $element->getModule();
     $method = $element->getMethod();
     $level = 0;
     if ($this->isAllowedMethod($owner_id, $module, $method, true)) {
         $level = permissionsCollection::E_READ_ALLOWED_BIT;
     }
     if ($this->isAllowedMethod($owner_id, $module, $method . ".edit", true)) {
         $level = permissionsCollection::E_READ_ALLOWED_BIT + permissionsCollection::E_EDIT_ALLOWED_BIT + permissionsCollection::E_CREATE_ALLOWED_BIT + permissionsCollection::E_DELETE_ALLOWED_BIT + permissionsCollection::E_MOVE_ALLOWED_BIT;
     }
     $this->setElementPermissions($owner_id, $element->getId(), $level);
     return $level;
 }
 public function calculateLastMessageId(iUmiHierarchyElement $element)
 {
     $sel = new selector('pages');
     $sel->types('hierarchy-type')->name('forum', 'message');
     $sel->order('publish_time')->desc();
     $sel->limit(0, 1);
     if ($element->getMethod() == 'conf') {
         $lastTopics = new selector('pages');
         $lastTopics->types('hierarchy-type')->name('forum', 'topic');
         $lastTopics->where('hierarchy')->page($element->id)->childs(1);
         $lastTopics->order('last_post_time')->desc();
         $lastTopics->limit(0, 1);
         if ($lastTopics->first) {
             $sel->where('hierarchy')->page($lastTopics->first->id)->childs(1);
         } else {
             return null;
         }
     } else {
         $sel->where('hierarchy')->page($element->id)->childs(1);
     }
     return $sel->first;
 }