Non-dynamic fetching for multiple Notice properties

This commit is contained in:
Mikael Nordfeldth 2014-06-05 00:29:43 +02:00
parent 3d807c812d
commit a900d04052

View File

@ -908,12 +908,11 @@ class Notice extends Managed_DataObject
return true; return true;
} }
protected $_attachments = -1; protected $_attachments = array();
function attachments() { function attachments() {
if (isset($this->_attachments[$this->id])) {
if ($this->_attachments != -1) { return $this->_attachments[$this->id];
return $this->_attachments;
} }
$f2ps = File_to_post::listGet('post_id', array($this->id)); $f2ps = File_to_post::listGet('post_id', array($this->id));
@ -926,14 +925,14 @@ class Notice extends Managed_DataObject
$files = File::multiGet('id', $ids); $files = File::multiGet('id', $ids);
$this->_attachments = $files->fetchAll(); $this->_attachments[$this->id] = $files->fetchAll();
return $this->_attachments; return $this->_attachments[$this->id];
} }
function _setAttachments($attachments) function _setAttachments($attachments)
{ {
$this->_attachments = $attachments; $this->_attachments[$this->id] = $attachments;
} }
function publicStream($offset=0, $limit=20, $since_id=0, $max_id=0) function publicStream($offset=0, $limit=20, $since_id=0, $max_id=0)
@ -1385,7 +1384,7 @@ class Notice extends Managed_DataObject
return $reply; return $reply;
} }
protected $_replies = -1; protected $_replies = array();
/** /**
* Pull the complete list of @-reply targets for this notice. * Pull the complete list of @-reply targets for this notice.
@ -1394,8 +1393,8 @@ class Notice extends Managed_DataObject
*/ */
function getReplies() function getReplies()
{ {
if ($this->_replies != -1) { if (isset($this->_replies[$this->id])) {
return $this->_replies; return $this->_replies[$this->id];
} }
$replyMap = Reply::listGet('notice_id', array($this->id)); $replyMap = Reply::listGet('notice_id', array($this->id));
@ -1406,14 +1405,14 @@ class Notice extends Managed_DataObject
$ids[] = $reply->profile_id; $ids[] = $reply->profile_id;
} }
$this->_replies = $ids; $this->_replies[$this->id] = $ids;
return $ids; return $ids;
} }
function _setReplies($replies) function _setReplies($replies)
{ {
$this->_replies = $replies; $this->_replies[$this->id] = $replies;
} }
/** /**
@ -1461,7 +1460,7 @@ class Notice extends Managed_DataObject
* @return array of Group objects * @return array of Group objects
*/ */
protected $_groups = -1; protected $_groups = array();
function getGroups() function getGroups()
{ {
@ -1471,9 +1470,8 @@ class Notice extends Managed_DataObject
return array(); return array();
} }
if ($this->_groups != -1) if (isset($this->_groups[$this->id])) {
{ return $this->_groups[$this->id];
return $this->_groups;
} }
$gis = Group_inbox::listGet('notice_id', array($this->id)); $gis = Group_inbox::listGet('notice_id', array($this->id));
@ -1487,14 +1485,14 @@ class Notice extends Managed_DataObject
$groups = User_group::multiGet('id', $ids); $groups = User_group::multiGet('id', $ids);
$this->_groups = $groups->fetchAll(); $this->_groups[$this->id] = $groups->fetchAll();
return $this->_groups; return $this->_groups[$this->id];
} }
function _setGroups($groups) function _setGroups($groups)
{ {
$this->_groups = $groups; $this->_groups[$this->id] = $groups;
} }
/** /**
@ -2598,7 +2596,7 @@ class Notice extends Managed_DataObject
} }
} }
protected $_faves; protected $_faves = array();
/** /**
* All faves of this notice * All faves of this notice
@ -2608,17 +2606,17 @@ class Notice extends Managed_DataObject
function getFaves() function getFaves()
{ {
if (isset($this->_faves) && is_array($this->_faves)) { if (isset($this->_faves[$this->id])) {
return $this->_faves; return $this->_faves[$this->id];
} }
$faveMap = Fave::listGet('notice_id', array($this->id)); $faveMap = Fave::listGet('notice_id', array($this->id));
$this->_faves = $faveMap[$this->id]; $this->_faves[$this->id] = $faveMap[$this->id];
return $this->_faves; return $this->_faves[$this->id];
} }
function _setFaves($faves) function _setFaves($faves)
{ {
$this->_faves = $faves; $this->_faves[$this->id] = $faves;
} }
static function fillFaves(&$notices) static function fillFaves(&$notices)
@ -2653,21 +2651,21 @@ class Notice extends Managed_DataObject
} }
} }
protected $_repeats; protected $_repeats = array();
function getRepeats() function getRepeats()
{ {
if (isset($this->_repeats) && is_array($this->_repeats)) { if (isset($this->_repeats[$this->id])) {
return $this->_repeats; return $this->_repeats[$this->id];
} }
$repeatMap = Notice::listGet('repeat_of', array($this->id)); $repeatMap = Notice::listGet('repeat_of', array($this->id));
$this->_repeats = $repeatMap[$this->id]; $this->_repeats[$this->id] = $repeatMap[$this->id];
return $this->_repeats; return $this->_repeats[$this->id];
} }
function _setRepeats($repeats) function _setRepeats($repeats)
{ {
$this->_repeats = $repeats; $this->_repeats[$this->id] = $repeats;
} }
static function fillRepeats(&$notices) static function fillRepeats(&$notices)