Exemple #1
0
 /**
  * @param int $iUserId
  * @param array $aEmails
  * @return bool
  */
 public function UpdateSuggestTable($iUserId, $aEmails)
 {
     if (0 < count($aEmails)) {
         $aExistingEmails = array();
         if ($this->oConnection->Execute($this->oCommandCreator->GetExistingEmails($iUserId, array_keys($aEmails)))) {
             $oRow = null;
             while (false !== ($oRow = $this->oConnection->GetNextRecord())) {
                 if ($oRow->view_email && 0 < strlen($oRow->view_email)) {
                     $aExistingEmails[] = $oRow->view_email;
                 }
             }
         }
         $aNonExistingEmails = array_diff(array_keys($aEmails), $aExistingEmails);
         if (0 < count($aNonExistingEmails)) {
             foreach ($aEmails as $sEmail => $sName) {
                 if (in_array($sEmail, $aNonExistingEmails)) {
                     $this->oConnection->Execute($this->oCommandCreator->CreateAutoCreateContact($iUserId, $sEmail, $sName));
                 }
             }
         }
         $this->oConnection->Execute($this->oCommandCreator->UpdateContactFrequencyByEmails($iUserId, array_keys($aEmails)));
     }
     return true;
 }