From 1e29ca035c7acbf896a4972ec825bab0dabb1790 Mon Sep 17 00:00:00 2001 From: Mzhelskiy Maxim Date: Sun, 28 Sep 2008 20:07:57 +0000 Subject: [PATCH] =?UTF-8?q?=D0=B2=20=D0=BF=D1=80=D0=BE=D1=84=D0=B8=D0=BB?= =?UTF-8?q?=D0=B5=20=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0=D1=82?= =?UTF-8?q?=D0=B5=D0=BB=D1=8F=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B0=20=D0=B2=D0=BE=D0=B7=D0=BC=D0=BE=D0=B6=D0=BD=D0=BE?= =?UTF-8?q?=D1=81=D1=82=D1=8C=20=D1=81=D0=BC=D0=BE=D1=82=D1=80=D0=B5=D1=82?= =?UTF-8?q?=D1=8C=20=D1=83=20=D0=BA=D0=BE=D0=B3=D0=BE=20=D0=BE=D0=BD=20?= =?UTF-8?q?=D1=81=D0=BE=D1=81=D1=82=D0=BE=D0=B8=D1=82=20=D0=B2=20=D0=B4?= =?UTF-8?q?=D1=80=D1=83=D0=B7=D1=8C=D1=8F=D1=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- classes/actions/ActionProfile.class.php | 5 ++++ classes/modules/user/User.class.php | 13 +++++++++++ .../modules/user/mapper/User.mapper.class.php | 23 +++++++++++++++++++ .../habra/actions/ActionProfile/whois.tpl | 16 +++++++++++++ 4 files changed, 57 insertions(+) diff --git a/classes/actions/ActionProfile.class.php b/classes/actions/ActionProfile.class.php index 9bcd87dc..79f8e62b 100644 --- a/classes/actions/ActionProfile.class.php +++ b/classes/actions/ActionProfile.class.php @@ -128,6 +128,10 @@ class ActionProfile extends Action { * Получаем список друзей */ $aUsersFrend=$this->User_GetUsersFrend($this->oUserProfile->getId()); + /** + * Получаем список тех у кого в друзьях + */ + $aUsersSelfFrend=$this->User_GetUsersSelfFrend($this->oUserProfile->getId()); /** * Получаем список блогов в которых состоит юзер */ @@ -142,6 +146,7 @@ class ActionProfile extends Action { $this->Viewer_Assign('aBlogsUser',$aBlogsUser); $this->Viewer_Assign('aBlogsOwner',$aBlogsOwner); $this->Viewer_Assign('aUsersFrend',$aUsersFrend); + $this->Viewer_Assign('aUsersSelfFrend',$aUsersSelfFrend); $this->Viewer_AddHtmlTitle('Профиль '.$this->oUserProfile->getLogin()); $this->Viewer_AddHtmlTitle('Whois'); /** diff --git a/classes/modules/user/User.class.php b/classes/modules/user/User.class.php index 6a12d806..5e0cac3a 100644 --- a/classes/modules/user/User.class.php +++ b/classes/modules/user/User.class.php @@ -388,5 +388,18 @@ class User extends Module { } return $data; } + /** + * Получает список тех у кого в друзьях + * + * @param unknown_type $sUserId + * @return unknown + */ + public function GetUsersSelfFrend($sUserId) { + if (false === ($data = $this->Cache_Get("user_self_frend_{$sUserId}"))) { + $data = $this->oMapper->GetUsersSelfFrend($sUserId); + $this->Cache_Set($data, "user_self_frend_{$sUserId}", array("frend_change_frend_{$sUserId}"), 60*5); + } + return $data; + } } ?> \ No newline at end of file diff --git a/classes/modules/user/mapper/User.mapper.class.php b/classes/modules/user/mapper/User.mapper.class.php index 4006d77f..a3bf9183 100644 --- a/classes/modules/user/mapper/User.mapper.class.php +++ b/classes/modules/user/mapper/User.mapper.class.php @@ -367,5 +367,28 @@ class Mapper_User extends Mapper { } return $aUsers; } + + public function GetUsersSelfFrend($sUserId) { + $sql = "SELECT + u.* + FROM + ".DB_TABLE_FREND." as uf, + ".DB_TABLE_USER." as u + WHERE + uf.user_frend_id = ?d + AND + uf.user_id = u.user_id + AND + u.user_activate = 1 + ORDER BY u.user_login; + "; + $aUsers=array(); + if ($aRows=$this->oDb->select($sql,$sUserId)) { + foreach ($aRows as $aUser) { + $aUsers[]=new UserEntity_User($aUser); + } + } + return $aUsers; + } } ?> \ No newline at end of file diff --git a/templates/skin/habra/actions/ActionProfile/whois.tpl b/templates/skin/habra/actions/ActionProfile/whois.tpl index 57349c3c..71bf89c4 100644 --- a/templates/skin/habra/actions/ActionProfile/whois.tpl +++ b/templates/skin/habra/actions/ActionProfile/whois.tpl @@ -103,6 +103,22 @@ {/if} + + + {if $aUsersSelfFrend} +
+
+
+ В друзьях у: +
+
+ {foreach from=$aUsersSelfFrend item=oUserFrend} + посмотреть профиль{$oUserFrend->getLogin()} + {/foreach} +
+
+
+ {/if} {if $aBlogsOwner}