|
@@ -1,4 +1,4 @@
|
|
|
-<?php // $Id: profile.php 15169 2008-04-29 06:27:22Z yannoo $
|
|
|
+<?php // $Id: profile.php 15740 2008-07-07 09:30:44Z pcool $
|
|
|
/*
|
|
|
==============================================================================
|
|
|
Dokeos - elearning and course management software
|
|
@@ -45,7 +45,7 @@ $cidReset = true;
|
|
|
require ('../inc/global.inc.php');
|
|
|
require_once (api_get_path(LIBRARY_PATH).'formvalidator/FormValidator.class.php');
|
|
|
$this_section = SECTION_MYPROFILE;
|
|
|
-
|
|
|
+
|
|
|
api_block_anonymous_users();
|
|
|
|
|
|
$htmlHeadXtra[] = '<script type="text/javascript">
|
|
@@ -272,6 +272,7 @@ if (is_profile_editable() && api_get_setting('profile', 'password') == 'true')
|
|
|
|
|
|
// EXTRA FIELDS
|
|
|
$extra = UserManager::get_extra_fields(0,50,5,'ASC');
|
|
|
+$extra_data = UserManager::get_extra_user_data(api_get_user_id(),true);
|
|
|
foreach($extra as $id => $field_details)
|
|
|
{
|
|
|
if($field_details[6] == 0)
|
|
@@ -332,6 +333,46 @@ foreach($extra as $id => $field_details)
|
|
|
if ($field_details[7] == 0) $form->freeze('extra_'.$field_details[1]);
|
|
|
$form->applyFilter('theme', 'trim');
|
|
|
break;
|
|
|
+ case USER_FIELD_TYPE_DOUBLE_SELECT:
|
|
|
+ foreach ($field_details[8] as $key=>$element)
|
|
|
+ {
|
|
|
+ if ($element[2][0] == '*')
|
|
|
+ {
|
|
|
+ $values['*'][$element[0]] = str_replace('*','',$element[2]);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ $values[0][$element[0]] = $element[2];
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ $group='';
|
|
|
+ $group[] =& HTML_QuickForm::createElement('select', 'extra_'.$field_details[1],'',$values[0],'');
|
|
|
+ $group[] =& HTML_QuickForm::createElement('select', 'extra_'.$field_details[1].'*','',$values['*'],'');
|
|
|
+ $form->addGroup($group, 'extra_'.$field_details[1], $field_details[3], ' ');
|
|
|
+ if ($field_details[7] == 0) $form->freeze('extra_'.$field_details[1]);
|
|
|
+
|
|
|
+ // recoding the selected values for double : if the user has selected certain values, we have to assign them to the correct select form
|
|
|
+ if (key_exists('extra_'.$field_details[1], $extra_data))
|
|
|
+ {
|
|
|
+ // exploding all the selected values (of both select forms)
|
|
|
+ $selected_values = explode(';',$extra_data['extra_'.$field_details[1]]);
|
|
|
+ $extra_data['extra_'.$field_details[1]] =array();
|
|
|
+
|
|
|
+ // looping through the selected values and assigning the selected values to either the first or second select form
|
|
|
+ foreach ($selected_values as $key=>$selected_value)
|
|
|
+ {
|
|
|
+ if (key_exists($selected_value,$values[0]))
|
|
|
+ {
|
|
|
+ $extra_data['extra_'.$field_details[1]]['extra_'.$field_details[1]] = $selected_value;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ $extra_data['extra_'.$field_details[1]]['extra_'.$field_details[1].'*'] = $selected_value;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ break;
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -345,10 +386,6 @@ else
|
|
|
$form->freeze();
|
|
|
}
|
|
|
|
|
|
-/*
|
|
|
- * Set initial values for all fields.
|
|
|
- */
|
|
|
-$extra_data = UserManager::get_extra_user_data(api_get_user_id(),true);
|
|
|
$user_data = array_merge($user_data,$extra_data);
|
|
|
$form->setDefaults($user_data);
|
|
|
|
|
@@ -622,7 +659,7 @@ elseif ($form->validate())
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- $sql .= " $key = '".addslashes($value)."',";
|
|
|
+ $sql .= " $key = '".Database::escape_string($value)."',";
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -630,11 +667,11 @@ elseif ($form->validate())
|
|
|
{
|
|
|
if ($userPasswordCrypted)
|
|
|
{
|
|
|
- $sql .= " password = MD5('".addslashes($password)."')";
|
|
|
+ $sql .= " password = MD5('".Database::escape_string($password)."')";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- $sql .= " password = '".addslashes($password)."'";
|
|
|
+ $sql .= " password = '".Database::escape_string($password)."'";
|
|
|
}
|
|
|
}
|
|
|
else // remove trailing , from the query we have so far
|
|
@@ -669,7 +706,7 @@ Display :: display_header(get_lang('ModifyProfile'));
|
|
|
|
|
|
if (!empty($file_deleted))
|
|
|
{
|
|
|
- Display :: display_normal_message(get_lang('FileDeleted'),false);
|
|
|
+ Display :: display_confirmation_message(get_lang('FileDeleted'),false);
|
|
|
}
|
|
|
elseif (!empty($update_success))
|
|
|
{
|
|
@@ -685,7 +722,7 @@ elseif (!empty($update_success))
|
|
|
$message.='<br />'.get_lang('ProductionUploaded');
|
|
|
}
|
|
|
|
|
|
- Display :: display_normal_message($message,false);
|
|
|
+ Display :: display_confirmation_message($message,false);
|
|
|
}
|
|
|
|
|
|
if(!empty($warning_msg))
|