Ejemplo n.º 1
0
 /**
  * 
  * @return \Dashbird\Model\Entities\User
  */
 public function GetUser()
 {
     return \Dashbird\Library\Services\UserService::Instance()->GetUser();
 }
Ejemplo n.º 2
0
 public function SetPostShares($UserIds)
 {
     \Pvik\Database\SQL\Manager::GetInstance()->DeleteWithParameters('DELETE FROM PostShares WHERE PostShares.PostId = %s', array($this->PostId));
     // CAUTION: PostShares in the cache maybe still have a reference to this object
     // manually delete cache posts
     $CachePostShares = \Pvik\Database\Generic\ModelTable::Get('PostShares')->GetCache()->GetAllCacheInstances();
     foreach ($CachePostShares as $CachePostShare) {
         /* @var $CachePostShare PostShare */
         if ($CachePostShare->PostId == $this->PostId) {
             \Pvik\Database\Generic\ModelTable::Get('PostShares')->GetCache()->Delete($CachePostShare);
         }
     }
     // clear all reference keys
     $this->SetFieldData('PostShares', null);
     // validate userIds
     $UserShares = \Dashbird\Library\Services\UserService::Instance()->GetUser()->UserShares;
     $FilteredUserIds = array();
     foreach ($UserIds as $UserId) {
         if ($UserShares->HasValue('ConnectedUserId', $UserId) && !in_array($UserId, $FilteredUserIds)) {
             $FilteredUserIds[] = $UserId;
         }
     }
     $UserIds = $FilteredUserIds;
     $UserIds[] = $this->UserId;
     // add him self to shared
     foreach ($UserIds as $UserId) {
         $PostShare = new \Dashbird\Model\Entities\PostShare();
         $PostShare->PostId = $this->PostId;
         $PostShare->UserId = $UserId;
         $PostShare->Insert();
     }
 }