[svn r14918] the admin can now edit users extra-fields

skala
Eric Marguin 18 years ago
parent 859a609073
commit 0cca7a3e3a
  1. 79
      main/admin/user_edit.php

@ -1,4 +1,4 @@
<?php // $Id: user_edit.php 14632 2008-03-17 17:49:21Z elixir_inter $
<?php // $Id: user_edit.php 14918 2008-04-16 12:50:35Z elixir_inter $
/*
==============================================================================
Dokeos - elearning and course management software
@ -85,6 +85,8 @@ $user_data['send_mail'] = 0;
$user_data['old_password'] = $user_data['password'];
unset($user_data['password']);
$user_data = array_merge($user_data, Usermanager :: get_extra_user_data($user_id,true));
// Create the form
$form = new FormValidator('user_add','post','','',array('style' => 'width: 60%; float: '.($text_dir=='rtl'?'right;':'left;')));
$form->addElement('hidden','user_id',$user_id);
@ -207,6 +209,71 @@ if(! $user_data['platform_admin'] )
$form->addElement('radio','active',get_lang('ActiveAccount'),get_lang('Active'),1);
$form->addElement('radio','active','',get_lang('Inactive'),0);
}
// EXTRA FIELDS
$extra = UserManager::get_extra_fields(0,50,5,'ASC');
foreach($extra as $id => $field_details)
{
if($field_details[6] == 0)
{
continue;
}
switch($field_details[2])
{
case USER_FIELD_TYPE_TEXT:
$form->addElement('text', 'extra_'.$field_details[1], $field_details[3], array('size' => 40));
$form->applyFilter('extra_'.$field_details[1], 'stripslashes');
$form->applyFilter('extra_'.$field_details[1], 'trim');
if ($field_details[7] == 0) $form->freeze('extra_'.$field_details[1]);
break;
case USER_FIELD_TYPE_TEXTAREA:
$form->add_html_editor('extra_'.$field_details[1], $field_details[3], false);
//$form->addElement('textarea', 'extra_'.$field_details[1], $field_details[3], array('size' => 80));
$form->applyFilter('extra_'.$field_details[1], 'stripslashes');
$form->applyFilter('extra_'.$field_details[1], 'trim');
if ($field_details[7] == 0) $form->freeze('extra_'.$field_details[1]);
break;
case USER_FIELD_TYPE_RADIO:
$group = array();
foreach($field_details[8] as $option_id => $option_details)
{
$options[$option_details[1]] = $option_details[2];
$group[] =& HTML_QuickForm::createElement('radio', 'extra_'.$field_details[1], $option_details[1],$option_details[2].'<br />',$option_details[1]);
}
$form->addGroup($group, 'extra_'.$field_details[1], $field_details[3], '');
break;
case USER_FIELD_TYPE_SELECT:
$options = array();
foreach($field_details[8] as $option_id => $option_details)
{
$options[$option_details[1]] = $option_details[2];
}
$form->addElement('select','extra_'.$field_details[1],$field_details[3],$options,'');
break;
case USER_FIELD_TYPE_SELECT_MULTIPLE:
$options = array();
foreach($field_details[8] as $option_id => $option_details)
{
$options[$option_details[1]] = $option_details[2];
}
$form->addElement('select','extra_'.$field_details[1],$field_details[3],$options,array('multiple' => 'multiple'));
break;
case USER_FIELD_TYPE_DATE:
$form->addElement('datepickerdate', 'extra_'.$field_details[1], $field_details[3]);
$form->_elements[$form->_elementIndex['extra_'.$field_details[1]]]->setLocalOption('minYear',1900);
if ($field_details[7] == 0) $form->freeze('extra_'.$field_details[1]);
$form->applyFilter('theme', 'trim');
break;
case USER_FIELD_TYPE_DATETIME:
$form->addElement('datepicker', 'extra_'.$field_details[1], $field_details[3]);
if ($field_details[7] == 0) $form->freeze('extra_'.$field_details[1]);
$form->applyFilter('theme', 'trim');
break;
}
}
// Submit button
$form->addElement('submit', 'submit', 'OK');
@ -314,6 +381,16 @@ if( $form->validate())
api_sql_query($sql,__FILE__,__LINE__);
}
}
$extras = array();
foreach($user as $key => $value)
{
if(substr($key,0,6)=='extra_') //an extra field
{
$myres = UserManager::update_extra_field_value($user_id,substr($key,6),$value);
}
}
if (!empty ($email) && $send_mail)
{
$emailto = '"'.$firstname.' '.$lastname.'" <'.$email.'>';

Loading…
Cancel
Save