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 blogEntries() { $entry = new Entry(); $entry->clause('author_id',Application::param('author_id')); $entry->order($this->order_by); if($this->descending) $entry->descending(); $entry->maybe('Comment'); try { $ret = $entry->page($this->page_num,$this->num_per_page); } catch(Exception $e) { $ret = false; } return $ret; }
public function publishLookupTables() { $ucv = new UserCanView(); SimpleQuery::create('TRUNCATE ' . $ucv->tableName()); $ucv->clearQueryCache(); $user = new User(); $cont = true; $num = 1; while ($cont) { try { $users = $user->page($num, 10)->objects(); $num++; foreach ($users as $user) { $entry = new Entry(); $cont_entry = true; $entry_num = 1; while ($cont_entry) { try { $entries = $entry->page($entry_num, 10)->objects(); $entry_num++; foreach ($entries as $entry) { if (LogbookAccess::userCanDoAction($user, $entry, LogbookAccess::VIEW)) { $ucv = new UserCanView(); $ucv->construct($entry->get('author_id'), $entry->id(), $user->id()); $ucv->save(); } } } catch (Exception $exc) { $cont_entry = false; } } } } catch (Exception $exc) { $cont = false; } } }