1
0
Fork 0
mirror of https://github.com/Oreolek/ifhub.club.git synced 2024-06-26 03:30:48 +03:00
This commit is contained in:
Mzhelskiy Maxim 2010-05-04 09:04:39 +00:00
parent 7082d5c8d8
commit 82ca7be281

View file

@ -193,6 +193,9 @@ class LsTalk extends Module {
* @param unknown_type $aTalkId * @param unknown_type $aTalkId
*/ */
public function GetTalksByArrayId($aTalkId) { public function GetTalksByArrayId($aTalkId) {
if (Config::Get('sys.cache.solid')) {
return $this->GetTalksByArrayIdSolid($aTalkId);
}
if (!is_array($aTalkId)) { if (!is_array($aTalkId)) {
$aTalkId=array($aTalkId); $aTalkId=array($aTalkId);
} }
@ -245,6 +248,23 @@ class LsTalk extends Module {
$aTalks=func_array_sort_by_keys($aTalks,$aTalkId); $aTalks=func_array_sort_by_keys($aTalks,$aTalkId);
return $aTalks; return $aTalks;
} }
public function GetTalksByArrayIdSolid($aTalkId) {
if (!is_array($aTalkId)) {
$aTalkId=array($aTalkId);
}
$aTalkId=array_unique($aTalkId);
$aTalks=array();
$s=join(',',$aTalkId);
if (false === ($data = $this->Cache_Get("talk_id_{$s}"))) {
$data = $this->oMapper->GetTalksByArrayId($aTalkId);
foreach ($data as $oTalk) {
$aTalks[$oTalk->getId()]=$oTalk;
}
$this->Cache_Set($aTalks, "talk_id_{$s}", array("update_talk_user","talk_new"), 60*60*24*1);
return $aTalks;
}
return $data;
}
/** /**
* Получить список отношений разговор-юзер по списку айдишников * Получить список отношений разговор-юзер по списку айдишников
* *