Example #1
0
 public function updateUser($id_user, $userdata)
 {
     $acl_man = new DoceboACLManager();
     $output = array();
     $user_data = $this->aclManager->getUser($id_user, false);
     if (!$user_data) {
         return -1;
     }
     if (isset($userdata['valid']) && $userdata['valid'] == '1') {
         $res = $this->aclManager->recoverUser($id_user);
     } elseif (isset($userdata['valid']) && $userdata['valid'] == '0') {
         $res = $this->aclManager->suspendUser($id_user);
     }
     $res = $this->aclManager->updateUser($id_user, isset($userdata['userid']) ? $userdata['userid'] : false, isset($userdata['firstname']) ? $userdata['firstname'] : false, isset($userdata['lastname']) ? $userdata['lastname'] : false, isset($userdata['password']) ? $userdata['password'] : false, isset($userdata['email']) ? $userdata['email'] : false, false, isset($userdata['signature']) ? $userdata['signature'] : false, isset($userdata['lastenter']) ? $userdata['lastenter'] : false, false);
     //additional fields
     $okcustom = true;
     if (isset($userdata['_customfields']) && $res) {
         require_once _adm_ . '/lib/lib.field.php';
         $fields =& $userdata['_customfields'];
         if (count($fields) > 0) {
             $fl = new FieldList();
             $okcustom = $fl->storeDirectFieldsForUser($id_user, $fields);
         }
     }
     return $id_user;
 }
 /**
  * @param string $id_folder folder destination of fields
  * @param array $arr_fields an array with fields to attach to folder
  * 							any element of folder is an array:
  * 							key => array( 'fvalue', 'mandatory' )
  * 							- key is the field name in current language
  * 							- fvalue is the value of the field
  * 							- mandatory is TRUE if this field is mandatory
  */
 function _add_custom_fields($id_folder, $arr_fields)
 {
     require_once $GLOBALS['where_framework'] . '/lib/lib.field.php';
     $fl = new FieldList();
     $fl->setGroupFieldsTable($GLOBALS['prefix_fw'] . ORGCHAR_FIELDTABLE);
     $fl->setFieldEntryTable($GLOBALS['prefix_fw'] . ORGCHAR_FIELDENTRYTABLE);
     $arr_all_fields = $fl->getFlatAllFields(false, false, $this->default_lang);
     // remove all fields
     foreach ($arr_all_fields as $id_field => $ftranslation) {
         $fl->removeFieldFromGroup($id_field, $id_folder);
     }
     $arr_all_fields_translation = array_flip($arr_all_fields);
     $arr_fields_value = array();
     // add selected fields
     foreach ($arr_fields as $field_translation => $field_data) {
         if (isset($arr_all_fields_translation[$field_translation])) {
             $field_id = $arr_all_fields_translation[$field_translation];
             $fl->addFieldToGroup($field_id, $id_folder, $field_data['mandatory']);
             $arr_fields_value[$field_id] = $field_data['fvalue'];
         } else {
             die("Field non trovato: {$field_translation}");
         }
     }
     $fl->storeDirectFieldsForUser($id_folder, $arr_fields_value, FALSE);
 }