public function listAction()
 {
     $this->_helper->viewRenderer->setNeverRender(true);
     $fields = new Model_Fields();
     $sites = new Model_Sites();
     $sitesRows = $sites->get($this->user, $this->_getParam('startIndex'), $this->_getParam('results'));
     $jsonObj = new StdClass();
     $jsonObj->recordsReturned = count($sitesRows);
     $jsonObj->totalRecords = $sites->getNumSites($this->user);
     $jsonObj->startIndex = $this->_getParam('startIndex');
     $jsonObj->sort = null;
     $jsonObj->dir = 'asc';
     $jsonObj->records = array();
     foreach ($sitesRows as $site) {
         $jsonObjSite = new StdClass();
         $jsonObjSite->id = $site->id;
         $jsonObjSite->site = $site->site;
         $trusted = unserialize($site->trusted);
         $jsonObjSite->trusted = is_bool($trusted) && $trusted || is_array($trusted);
         if (is_array($trusted) && isset($trusted['Zend_OpenId_Extension_Sreg']) && count($trusted['Zend_OpenId_Extension_Sreg']) > 0) {
             $translatedTrusted = array();
             foreach ($trusted['Zend_OpenId_Extension_Sreg'] as $identifier => $value) {
                 $translatedTrusted[$this->view->translate($fields->getFieldName($identifier))] = $value;
             }
             $jsonObjSite->infoExchanged = $translatedTrusted;
         } else {
             $jsonObjSite->infoExchanged = false;
         }
         $jsonObj->records[] = $jsonObjSite;
     }
     echo Zend_Json::encode($jsonObj);
 }
 public function __construct($options = null, Users_Model_Profile $profile = null, $sregRequest = null, $sregProps = null)
 {
     $this->_profile = $profile;
     $this->_sregRequest = $sregRequest;
     $this->_sregProps = $sregProps;
     $fields = new Model_Fields();
     $fieldsArr = $fields->getValues($this->_profile);
     for ($i = 0; $i < count($fieldsArr); $i++) {
         $this->_formElements[$fieldsArr[$i]->openid] = array('field' => $fieldsArr[$i], 'element' => $fieldsArr[$i]->getFormElement());
     }
     parent::__construct($options);
 }
Beispiel #3
0
 public function getFields()
 {
     $fields = new Model_Fields();
     return $fields->getValues($this);
 }
Beispiel #4
0
 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();
     }
 }