public function performHandlerTasks() { if (($author_id = Application::param('author_id')) && ($entry_id = Application::param('entry_id'))) { $entry = new Entry(); $entry->clauseSafe('author_id', $author_id); $entry->clauseSafe('entry_id', $entry_id); $this->entry_to_manage_for = $entry; } else { $this->redirectOnAccessDenied(); } if (!LogbookAccess::currentUserCanManageAccess($this->entryToManageFor())) { $this->redirectOnAccessDenied(); } if ($group_id = Application::param('group_id')) { $this->group_to_manage_for = new Group(); $this->group_to_manage_for->clauseSafe('group_id', $group_id); } if (Application::formPosted()) { if (Application::param('choose_group')) { $this->chooseGroup(); } if (Application::param('manage_access')) { $this->manageAccess(); } } }
public static function blogEntry($author_id = '',$entry_id = '') { $entry = new Entry(); $min_access = Application::user()->minAccessLevel(); $access = $entry->also('Access'); $access->clause('access_level',$min_access,Clause::GTE); if(Application::user()->id()) { $lbk_user = $entry->also('LogbookUser'); $lbk_user->clauseSafe('user_id',Application::user()->id()); } if($author_id) $entry->clauseSafe('author_id',Logbook::current()->authorId()); $entry->maybe('BlogTag'); if(!$entry_id) $entry_id = Application::param('entry_id'); if($entry_id&&$author_id) $entry->clauseSafe('entry_id',$entry_id); $entry->order('entry_date'); /*$entry->order('author_id'); $entry->order('entry_id');*/ $entry->maybe('Comment'); $entry->descending(); try { $page = $entry->page(1,1); $ret = current($page->objects()); Logbook::current()->setAuthorId($ret->get('author_id')); } catch(Exception $exc) { $ret = new Entry(); } return $ret; }
protected function entryToEdit() { if(!is_object($this->entry_to_edit)) { $fetch = new Entry(); $fetch->maybe('BlogTag'); $fetch->noForeign(); $fetch->clauseSafe('author_id',Logbook::current()->authorId()); if($id = Application::param('entry_id')) $fetch->clauseSafe('entry_id',Application::param('entry_id')); else throw new AccessDeniedException('Tried to edit an empty entry id'); $this->entry_to_edit = $fetch; } return $this->entry_to_edit; }