コード例 #1
0
ファイル: User.php プロジェクト: sdgdsffdsfff/auth-center
 public function generatePersonalInfo(array $ldapData, $profileId)
 {
     if (!$this->id) {
         throw new Exception('Can\'t call User::generatePersonalInfo() on an empty User object');
     }
     $ldapConfig = Zend_Registry::get('config')->ldap;
     if (!isset($ldapConfig->fields)) {
         return;
     }
     $fieldValues = new Model_FieldsValues();
     $fields = new Model_Fields();
     foreach ($ldapConfig->fields->toArray() as $openIdField => $ldapField) {
         if (!($fieldRow = $fields->getByOpenIdIdentifier($openIdField))) {
             continue;
         }
         if (!isset($ldapData[$ldapField])) {
             if (strpos($ldapField, '+') == false) {
                 continue;
             }
             $subfields = explode('+', $ldapField);
             array_walk($subfields, 'trim');
             $value = array();
             foreach ($subfields as $subfield) {
                 if (!isset($ldapData[$subfield])) {
                     continue;
                 }
                 $value[] = $ldapData[$subfield][0];
             }
             $value = implode(' ', $value);
         } else {
             $value = $ldapData[$ldapField][0];
         }
         $fieldsValue = $fieldValues->createRow();
         $fieldsValue->user_id = $this->id;
         $fieldsValue->profile_id = $profileId;
         $fieldsValue->field_id = $fieldRow->id;
         $fieldsValue->value = $value;
         $fieldsValue->save();
     }
 }