Adding extra_field when showing before/after data

skala
Julio Montoya 13 years ago
parent b4a7162a42
commit 79479af7f2
  1. 29
      main/inc/lib/main_api.lib.php
  2. 28
      tests/migrate/migration.custom.class.php

@ -1147,14 +1147,14 @@ function _api_format_user($user, $add_password = false) {
* @author Patrick Cool <patrick.cool@UGent.be>
* @version 21 September 2004
*/
function api_get_user_info($user_id = '', $check_if_user_is_online = false, $show_password = false) {
function api_get_user_info($user_id = '', $check_if_user_is_online = false, $show_password = false, $add_extra_values = false) {
if ($user_id == '') {
return _api_format_user($GLOBALS['_user']);
}
$sql = "SELECT * FROM ".Database :: get_main_table(TABLE_MAIN_USER)." WHERE user_id='".Database::escape_string($user_id)."'";
$result = Database::query($sql);
if (Database::num_rows($result) > 0) {
$result_array = Database::fetch_array($result);
$result_array = Database::fetch_array($result);
if ($check_if_user_is_online) {
$use_status_in_platform = user_is_online($user_id);
@ -1169,7 +1169,12 @@ function api_get_user_info($user_id = '', $check_if_user_is_online = false, $sho
}
$result_array['user_is_online_in_chat'] = $user_online_in_chat;
}
$user = _api_format_user($result_array, $show_password);
$user = _api_format_user($result_array, $show_password);
if ($add_extra_values) {
$extra_field_values = new ExtraField('user');
$user['extra_fields'] = $extra_field_values->get_handler_extra_data($user_id);
}
return $user;
}
return false;
@ -1308,7 +1313,7 @@ function api_get_cidreq($add_session_id = true, $add_group_id = true) {
* particular course, not specially the current one.
* @todo Same behaviour as api_get_user_info so that api_get_course_id becomes absolete too.
*/
function api_get_course_info($course_code = null) {
function api_get_course_info($course_code = null, $add_extra_values = false) {
if (!empty($course_code)) {
$course_code = Database::escape_string($course_code);
$course_table = Database::get_main_table(TABLE_MAIN_COURSE);
@ -1322,6 +1327,10 @@ function api_get_course_info($course_code = null) {
$_course = array();
if (Database::num_rows($result) > 0) {
$course_data = Database::fetch_array($result);
if ($add_extra_values) {
$extra_field_values = new ExtraField('course');
$course_data['extra_fields'] = $extra_field_values->get_handler_extra_data($course_code);
}
$_course = api_format_course_array($course_data);
}
return $_course;
@ -1337,7 +1346,7 @@ function api_get_course_info($course_code = null) {
* Now if the course_code is given, the returned array gives info about that
* particular course, not specially the current one.
*/
function api_get_course_info_by_id($id = null) {
function api_get_course_info_by_id($id = null, $add_extra_values = false) {
if (!empty($id)) {
$id = intval($id);
$course_table = Database::get_main_table(TABLE_MAIN_COURSE);
@ -1351,6 +1360,10 @@ function api_get_course_info_by_id($id = null) {
$_course = array();
if (Database::num_rows($result) > 0) {
$course_data = Database::fetch_array($result);
if ($add_extra_values) {
$extra_field_values = new ExtraField('course');
$course_data['extra_fields'] = $extra_field_values->get_handler_extra_data($course_code);
}
$_course = api_format_course_array($course_data);
}
return $_course;
@ -1880,7 +1893,7 @@ function api_get_session_name($session_id) {
* @param int Session ID
* @return array information of the session
*/
function api_get_session_info($session_id) {
function api_get_session_info($session_id, $add_extra_values = false) {
$data = array();
if (!empty($session_id)) {
$session_id = intval($session_id);
@ -1890,6 +1903,10 @@ function api_get_session_info($session_id) {
if (Database::num_rows($result)>0) {
$data = Database::fetch_array($result, 'ASSOC');
if ($add_extra_values) {
$extra_field_values = new ExtraField('session');
$data['extra_fields'] = $extra_field_values->get_handler_extra_data($session_id);
}
}
}
return $data;

@ -727,6 +727,7 @@ class MigrationCustom {
if ($user_info['error'] == false) {
global $api_failureList;
$chamilo_user_info = UserManager::add($user_info);
$chamilo_user_info = api_get_user_info($chamilo_user_info['user_id'], true);
if ($chamilo_user_info) {
return array(
'entity' => 'user',
@ -752,9 +753,9 @@ class MigrationCustom {
$uidIdPersonaId = $data['item_id'];
$user_id = self::get_user_id_by_persona_id($uidIdPersonaId);
if ($user_id) {
$chamilo_user_info_before = api_get_user_info($user_id);
$chamilo_user_info_before = api_get_user_info($user_id, true);
$result = UserManager::delete_user($user_id);
$chamilo_user_info = api_get_user_info($user_id);
$chamilo_user_info = api_get_user_info($user_id, true);
if ($result) {
return array(
'entity' => 'user',
@ -787,9 +788,9 @@ class MigrationCustom {
if ($user_info['error'] == false) {
//Edit user
$user_info['user_id'] = $user_id;
$chamilo_user_info_before = api_get_user_info($user_id);
$chamilo_user_info_before = api_get_user_info($user_id, true);
UserManager::update($user_info);
$chamilo_user_info = api_get_user_info($user_id);
$chamilo_user_info = api_get_user_info($user_id, true);
return array(
'entity' => 'user',
'before' => $chamilo_user_info_before,
@ -927,6 +928,7 @@ class MigrationCustom {
$course_info = Migration::soap_call($web_service_details, 'cursoDetalles', array('uididcurso' => $uidCursoId));
if ($course_info['error'] == false) {
$course_info = CourseManager::create_course($course_info);
$course_info = api_get_course_info($course_info['code'], true);
if (!empty($course_info)) {
return array(
'entity' => 'course',
@ -951,9 +953,9 @@ class MigrationCustom {
static function transaction_6($data) {
$course_code = self::get_real_course_code($data['item_id']);
if (!empty($course_code)) {
$course_info_before = api_get_course_info($course_code);
$course_info_before = api_get_course_info($course_code, true);
CourseManager::delete_course($course_code);
$course_info = api_get_course_info($course_code);
$course_info = api_get_course_info($course_code, true);
return array(
'entity' => 'course',
'before' => $course_info_before,
@ -976,7 +978,7 @@ class MigrationCustom {
$uidCursoId = $data['item_id'];
$course_code = self::get_real_course_code($uidCursoId);
if (!empty($course_code)) {
$course_info = api_get_course_info($course_code);
$course_info = api_get_course_info($course_code, true);
$data_to_update = Migration::soap_call($web_service_details, 'cursoDetalles', array('uididcurso' => $uidCursoId));
if ($data_to_update['error'] == false) {
@ -984,7 +986,7 @@ class MigrationCustom {
$data_to_update['code'] = $course_info['code'];
unset($data_to_update['error']);
CourseManager::update($data_to_update);
$course_info_after = api_get_course_info($course_code);
$course_info_after = api_get_course_info($course_code, true);
return array(
'entity' => 'course',
@ -1047,7 +1049,7 @@ class MigrationCustom {
if ($session_info['error'] == false) {
unset($session_info['error']);
$session_id = SessionManager::add($session_info);
$session_info = api_get_session_info($session_id);
$session_info = api_get_session_info($session_id, true);
if ($session_id) {
return array(
'entity' => 'session',
@ -1075,9 +1077,9 @@ class MigrationCustom {
$uidIdPrograma = $data['item_id'];
$session_id = self::get_session_id_by_programa_id($uidIdPrograma);
if (!empty($session_id)) {
$session_info_before = api_get_session_info($session_id);
$session_info_before = api_get_session_info($session_id, true);
SessionManager::delete_session($session_id, true);
$session_info = api_get_session_info($session_id);
$session_info = api_get_session_info($session_id, true);
return array(
'entity' => 'session',
'before' => $session_info_before,
@ -1103,9 +1105,9 @@ class MigrationCustom {
if ($session_info['error'] == false) {
$session_info['id'] = $session_id;
unset($session_info['error']);
$session_info_before = api_get_session_info($session_id);
$session_info_before = api_get_session_info($session_id, true);
SessionManager::update($session_info);
$session_info = api_get_session_info($session_id);
$session_info = api_get_session_info($session_id, true);
return array(
'entity' => 'session',
'before' => $session_info_before,

Loading…
Cancel
Save