1
0
Fork 0
mirror of https://github.com/Oreolek/ifhub.club.git synced 2024-06-17 07:10: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
*/
public function GetTalksByArrayId($aTalkId) {
if (Config::Get('sys.cache.solid')) {
return $this->GetTalksByArrayIdSolid($aTalkId);
}
if (!is_array($aTalkId)) {
$aTalkId=array($aTalkId);
}
@ -245,6 +248,23 @@ class LsTalk extends Module {
$aTalks=func_array_sort_by_keys($aTalks,$aTalkId);
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;
}
/**
* Получить список отношений разговор-юзер по списку айдишников
*