Exemple #1
0
 public static function removeTagToContact($params)
 {
     // I supose params = TagId
     $myProcManager = ProcManager::getInstance();
     $currentUserId = $myProcManager->getCurrentProcess()->getLoginContext()->getEyeosUser()->getId();
     $peopleController = PeopleController::getInstance();
     $tag = new PeopleTag();
     $tag->setId($params[0]);
     $tag->setName($peopleController->getTagName($params[0]));
     $tag->setUserId($currentUserId);
     $contact = $peopleController->getContact($currentUserId, $params[1]);
     //print_r($contact); exit;
     $peopleController->removeTagToContact($tag, $contact);
     $listsName = array();
     $state = $contact->getRelation()->getState();
     if ($state == 'pending') {
         $listsName[] = 'pending';
     }
     $tagsPerImpression = ImpressionsManager::getInstance()->getTagsPerImpression($contact->getImpression());
     foreach ($tagsPerImpression as $tagPerImpression) {
         $listsName[] = $peopleController->getTagName($tagPerImpression->getTagId());
     }
     return $listsName;
 }
 public function testRemoveTagToContact()
 {
     $source = '9';
     $target = '18';
     $target2 = '34';
     $this->contactManager->addNewContact($source, $target);
     $this->contactManager->addNewContact($source, $target2);
     //Testing addTagToContact();
     $tag = new PeopleTag();
     $tag->setId(7);
     $tag->setName('Friends');
     $contacts = $this->contactManager->getAllContacts($source);
     $this->contactManager->addTagToContact($tag, $contacts[0]);
     $tagsPerImpression = $contacts[0]->getImpression()->getTagsPerImpression();
     $this->assertEquals(1, count($tagsPerImpression));
     $this->assertEquals(7, $tagsPerImpression[0]->getTagId());
     //Testing removeTagToContact()
     $this->contactManager->removeTagToContact($tag, $contacts[0]);
     $tagsPerImpression = $contacts[0]->getImpression()->getTagsPerImpression();
     $this->assertEquals(0, count($tagsPerImpression));
 }
 public function getTagName($tagId)
 {
     try {
         $tag = new PeopleTag();
         $tag->setId($tagId);
         $this->dao->read($tag, $tagId);
         return $tag->getName();
     } catch (Exception $e) {
         throw new EyePeopleException('Unable to get tag name of tag ' . $tagId, 0, $e);
     }
 }
Exemple #4
0
 public function removeTagToImpression(PeopleTag $tag, ImpressionTO $impressionTO)
 {
     try {
         $tagsPerImpression = $this->provider->retrieveAllTagPerImpressionTO($impressionTO->getId());
         foreach ($tagsPerImpression as $currentTagPerImpression) {
             if ($tag->getId() == $currentTagPerImpression->getTagId()) {
                 $tagPerImpressionToRemove = $currentTagPerImpression;
                 break;
             }
         }
         $this->provider->deleteTagPerImpressionTO($tagPerImpressionToRemove);
     } catch (EyePeopleException $e) {
         throw new EyePeopleException('Unable to remove the tag ' . $tag->getName());
     }
 }
 /**
  * Update the Lists of a Contact whit a new one and return a list of changes
  *
  * @param string $contactId The id of the contact involved in the changes
  * @param array $newLists The array with the new list of the contact
  *
  * @return array $results = (
  *			'add' => array,			The list of the id that was added
  *			'delete' => array		The list of the id that was removed
  * )
  *
  */
 private static function syncLists($contactId, $newLists)
 {
     $myProcManager = ProcManager::getInstance();
     $peopleController = PeopleController::getInstance();
     $currentUserId = $myProcManager->getCurrentProcess()->getLoginContext()->getEyeosUser()->getId();
     $contact = $peopleController->getContact($currentUserId, $contactId);
     //Retrive the old list
     $oldLists = array();
     $tagsPerImpression = ImpressionsManager::getInstance()->getTagsPerImpression($contact->getImpression());
     foreach ($tagsPerImpression as $tagPerImpression) {
         $oldLists[] = $tagPerImpression->getTagId();
     }
     //Check if we have to add Tags
     $results = array('add' => array(), 'delete' => array());
     foreach ($newLists as $newTagId) {
         if (!in_array($newTagId, $oldLists)) {
             //Add the tag to the contact
             $tag = new PeopleTag();
             $tag->setId($newTagId);
             $tag->setName($peopleController->getTagName($newTagId));
             $tag->setUserId($currentUserId);
             $peopleController->addTagToContact($tag, $contact);
             //Update the return value
             $results['add'][] = (int) $newTagId;
         }
     }
     //Check if we have to delete Tags
     foreach ($oldLists as $oldTagId) {
         if (!in_array($oldTagId, $newLists)) {
             //Add the tag to the contact
             $tag = new PeopleTag();
             $tag->setId($oldTagId);
             $tag->setName($peopleController->getTagName($oldTagId));
             $tag->setUserId($currentUserId);
             $peopleController->removeTagToContact($tag, $contact);
             //Update the return value
             $results['delete'][] = (int) $oldTagId;
         }
     }
     return $results;
 }
 public function testRemoveTagToImpression()
 {
     $userId = 3;
     $allImpressions = array();
     //Testing create Impression
     $allImpressions[] = $this->impressionsManager->createImpression(3, 5);
     $allImpressions[] = $this->impressionsManager->createImpression(3, 8);
     $allImpressions[] = $this->impressionsManager->createImpression(3, 9);
     $allImpressions[] = $this->impressionsManager->createImpression(7, 9);
     //Testing addTagToImpression()
     $newTag = new PeopleTag();
     $newTag->setId(9);
     $newTag->setName('Family');
     $newTag2 = new PeopleTag();
     $newTag2->setId(17);
     $newTag2->setName('Friends');
     $this->impressionsManager->addTagToImpression($allImpressions[0], $newTag);
     $this->assertEquals(1, count($allImpressions[0]->getTagsPerImpression()));
     $this->impressionsManager->addTagToImpression($allImpressions[0], $newTag2);
     $this->assertEquals(2, count($allImpressions[0]->getTagsPerImpression()));
     $this->impressionsManager->addTagToImpression($allImpressions[1], $newTag2);
     $this->assertEquals(1, count($allImpressions[1]->getTagsPerImpression()));
     $tagsPerImpression = $allImpressions[0]->getTagsPerImpression();
     $this->assertEquals(9, $tagsPerImpression[0]->getTagId());
     //Testing removeTagToImpression
     $this->impressionsManager->removeTagToImpression($allImpressions[0], $newTag);
     $this->assertEquals(1, count($allImpressions[0]->getTagsPerImpression()));
     $this->impressionsManager->removeTagToImpression($allImpressions[0], $newTag2);
     $this->assertEquals(0, count($allImpressions[0]->getTagsPerImpression()));
     $this->impressionsManager->removeTagToImpression($allImpressions[1], $newTag2);
     $this->assertEquals(0, count($allImpressions[1]->getTagsPerImpression()));
 }