Example #1
0
 /**
  * update the uf_name in the user object
  *
  * @param int    $contactId id of the contact to update
  *
  * @return void
  * @access public
  * @static
  */
 static function updateUFName($contactId)
 {
     $config =& CRM_Core_Config::singleton();
     if ($config->userFramework == 'Standalone') {
         $ufName = CRM_Contact_BAO_Contact::getPrimaryOpenId($contactId);
     } else {
         $ufName = CRM_Contact_BAO_Contact::getPrimaryEmail($contactId);
     }
     if (!$ufName) {
         return;
     }
     $ufmatch =& new CRM_Core_DAO_UFMatch();
     $ufmatch->contact_id = $contactId;
     $ufmatch->domain_id = CRM_Core_Config::domainID();
     if (!$ufmatch->find(true) || $ufmatch->uf_name == $ufName) {
         // if object does not exist or the OpenID has not changed
         return;
     }
     // save the updated ufmatch object
     $ufmatch->uf_name = $ufName;
     $ufmatch->save();
     require_once 'CRM/Core/BAO/CMSUser.php';
     CRM_Core_BAO_CMSUser::updateUFName($ufmatch->uf_id, $ufName);
 }
Example #2
0
 /**
  * Test case for getPrimaryOpenId( ).
  */
 public function testGetPrimaryOpenId()
 {
     //get the contact params
     $params = $this->contactParams();
     $params['openid'][2] = $params['openid'][1];
     $params['openid'][2]['location_type_id'] = 2;
     $params['openid'][2]['openid'] = 'http://primaryopenid.org/';
     unset($params['openid'][1]['is_primary']);
     //create contact
     $contact = CRM_Contact_BAO_Contact::create($params);
     $contactId = $contact->id;
     //get the primary openid
     $openID = CRM_Contact_BAO_Contact::getPrimaryOpenId($contactId);
     //Now check the primary openid
     $this->assertEquals($openID, strtolower($params['openid'][2]['openid']), 'Check Primary OpenID');
     //cleanup DB by deleting the contact
     $this->contactDelete($contactId);
 }
Example #3
0
 /**
  * update the uf_name in the user object
  *
  * @param int    $contactId id of the contact to update
  *
  * @return void
  * @access public
  * @static
  */
 static function updateUFName($contactId)
 {
     if (!$contactId) {
         return;
     }
     $config = CRM_Core_Config::singleton();
     if ($config->userFramework == 'Standalone') {
         $ufName = CRM_Contact_BAO_Contact::getPrimaryOpenId($contactId);
     } else {
         $ufName = CRM_Contact_BAO_Contact::getPrimaryEmail($contactId);
     }
     if (!$ufName) {
         return;
     }
     $update = false;
     // 1.do check for contact Id.
     $ufmatch = new CRM_Core_DAO_UFMatch();
     $ufmatch->contact_id = $contactId;
     $ufmatch->domain_id = CRM_Core_Config::domainID();
     if (!$ufmatch->find(true)) {
         return;
     }
     if ($ufmatch->uf_name != $ufName) {
         $update = true;
     }
     // CRM-6928
     // 2.do check for duplicate ufName.
     $ufDupeName = new CRM_Core_DAO_UFMatch();
     $ufDupeName->uf_name = $ufName;
     $ufDupeName->domain_id = CRM_Core_Config::domainID();
     if ($ufDupeName->find(true) && $ufDupeName->contact_id != $contactId) {
         $update = false;
     }
     if (!$update) {
         return;
     }
     // save the updated ufmatch object
     $ufmatch->uf_name = $ufName;
     $ufmatch->save();
     require_once 'CRM/Core/BAO/CMSUser.php';
     CRM_Core_BAO_CMSUser::updateUFName($ufmatch->uf_id, $ufName);
 }