ここの情報は古いです。ご理解頂いた上でお取り扱いください。

source: OpenPNE3/trunk/lib/model/Member.php @ 11001

Last change on this file since 11001 was 11001, checked in by ShogoKawahara, 13 years ago

#3293:changed Profile and MemberProfile? model to profile's access authority

File size: 5.0 KB
Line 
1<?php
2
3/**
4 * This file is part of the OpenPNE package.
5 * (c) OpenPNE Project (http://www.openpne.jp/)
6 *
7 * For the full copyright and license information, please view the LICENSE
8 * file and the NOTICE file that were distributed with this source code.
9 */
10
11/**
12 * Member
13 *
14 * @package    OpenPNE
15 * @subpackage model
16 * @author     Kousuke Ebihara <ebihara@tejimaya.com>
17 */ 
18class Member extends BaseMember
19{
20  public function getProfiles($viewableCheck = false, $myMemberId = null)
21  {
22    if ($viewableCheck)
23    {
24      return MemberProfilePeer::getViewableProfileListByMemberId($this->getId(), $myMemberId);
25    }
26    return MemberProfilePeer::getProfileListByMemberId($this->getId());
27  }
28
29  public function getProfile($profileName)
30  {
31    $profile = MemberProfilePeer::retrieveByMemberIdAndProfileName($this->getId(), $profileName);
32    return $profile;
33  }
34
35  public function getConfig($configName)
36  {
37    $config = MemberConfigPeer::retrieveByNameAndMemberId($configName, $this->getId());
38
39    if (!$config)
40    {
41      return null;
42    }
43
44    return $config->getValue();
45  }
46
47  public function setConfig($configName, $value)
48  {
49    $config = MemberConfigPeer::retrieveByNameAndMemberId($configName, $this->getId());
50    if (!$config)
51    {
52      $config = new MemberConfig();
53      $config->setMember($this);
54      $config->setName($configName);
55    }
56    $config->setValue($value);
57    $config->save();
58  }
59
60  public function getFriends($limit = null, Criteria $c = null)
61  {
62    if (!$c)
63    {
64      $c = new Criteria();
65    }
66    if (!is_null($limit)) {
67      $c->setLimit($limit);
68    }
69    $c->add(MemberRelationshipPeer::MEMBER_ID_TO, $this->getId());
70    $c->add(MemberRelationshipPeer::IS_FRIEND, true);
71    $c->addJoin(MemberPeer::ID, MemberRelationshipPeer::MEMBER_ID_FROM);
72    return MemberPeer::doSelect($c);
73  }
74
75  public function countFriends(Criteria $c = null)
76  {
77    if (!$c)
78    {
79      $c = new Criteria();
80    }
81    $c->add(MemberRelationshipPeer::MEMBER_ID_TO, $this->getId());
82    $c->add(MemberRelationshipPeer::IS_FRIEND, true);
83    $c->addJoin(MemberPeer::ID, MemberRelationshipPeer::MEMBER_ID_FROM);
84    return MemberPeer::doCount($c);
85  }
86
87  public function getFriendPreTo(Criteria $c = null)
88  {
89    if (!$c)
90    {
91      $c = new Criteria();
92    }
93    $c->add(MemberRelationshipPeer::IS_FRIEND_PRE, true);
94    return $this->getMemberRelationshipsRelatedByMemberIdTo($c);
95  }
96
97  public function countFriendPreTo(Criteria $c = null)
98  {
99    if (!$c)
100    {
101      $c = new Criteria();
102    }
103    $c->add(MemberRelationshipPeer::IS_FRIEND_PRE, true);
104    return $this->countMemberRelationshipsRelatedByMemberIdTo($c);
105  }
106
107  public function getFriendPreFrom(Criteria $c = null)
108  {
109    if (!$c)
110    {
111      $c = new Criteria();
112    }
113    $c->add(MemberRelationshipPeer::IS_FRIEND_PRE, true);
114    return $this->getMemberRelationshipsRelatedByMemberIdFrom($c);
115  }
116
117  public function countFriendPreFrom(Criteria $c = null)
118  {
119    if (!$c)
120    {
121      $c = new Criteria();
122    }
123    $c->add(MemberRelationshipPeer::IS_FRIEND_PRE, true);
124    return $this->countMemberRelationshipsRelatedByMemberIdFrom($c);
125  }
126
127  public function getImage()
128  {
129    $c = new Criteria();
130    $c->addDescendingOrderByColumn(MemberImagePeer::IS_PRIMARY, true);
131    $result = $this->getMemberImages($c);
132
133    if ($result)
134    {
135      return array_shift($result);
136    }
137
138    return false;
139  }
140 
141  public function getImageFileName()
142  {
143    if($this->getImage())
144    {
145      return $this->getImage()->getFile();
146    }
147    return false;
148  }
149
150  public function updateLastLoginTime()
151  {
152    $this->setConfig('lastLogin', time());
153  }
154
155  public function getLastLoginTime()
156  {
157    return $this->getConfig('lastLogin');
158  }
159
160  public function isOnBlackList()
161  {
162    $uid = $this->getConfig('mobile_uid');
163    if ($uid)
164    {
165      return (bool)BlacklistPeer::retrieveByUid($uid);
166    }
167
168    return false;
169  }
170
171  public function getInvitingMembers()
172  {
173    return MemberPeer::retrivesByInviteMemberId($this->getId());
174  }
175
176  public function getInviteMember()
177  {
178    return MemberPeer::retrieveByPk($this->getInviteMemberId());
179  }
180
181  public function getEmailAddress($isPriorityMobile = null)
182  {
183    if(is_null($isPriorityMobile))
184    {
185      $isPriorityMobile = false;
186      if (sfConfig::get('sf_app') == 'mobile_frontend')
187      {
188        $isPriorityMobile = true;
189      }
190    }
191
192    $memberPcAddress     = $this->getConfig('pc_address');
193    $memberMobileAddress = $this->getConfig('mobile_address');
194
195    if ($memberMobileAddress && ($isPriorityMobile || !$memberPcAddress))
196    {
197      return $memberMobileAddress;
198    }
199
200    if ($memberPcAddress)
201    {
202      return $memberPcAddress;
203    }
204
205    return null;
206  }
207
208  public function getEmailAddresses()
209  {
210    $result = array();
211
212    $memberPcAddress     = $this->getConfig('pc_address');
213    $memberMobileAddress = $this->getConfig('mobile_address');
214
215    if ($memberPcAddress)
216    {
217      $result[] = $memberPcAddress;
218    }
219
220    if ($memberMobileAddress)
221    {
222      $result[] = $memberMobileAddress;
223    }
224
225    return $result;
226  }
227}
Note: See TracBrowser for help on using the repository browser.