echo '<a href="'.api_get_self().'">'.Display::return_icon('back.png',get_lang('Back'),'',ICON_SIZE_MEDIUM).'</a>'; echo '</div>'; */ $form->addElement('hidden', 'sec_token'); $form->setConstants(array('sec_token' => $token)); $form->display(); } break; case 'edit': // Action handling: Editing $url = api_get_self() . '?action=' . Security::remove_XSS($_GET['action']) . '&id=' . intval($_GET['id']) . '&' . $params; $form = $obj->return_form($url, 'edit'); // The validation or display if ($form->validate()) { if ($check) { $values = $form->exportValues(); $res = $obj->update($values); Display::display_confirmation_message(sprintf(get_lang('ItemUpdated'), $values['name']), false); } $obj->display(); } else { /*echo '<div class="actions">'; echo '<a href="'.api_get_self().'">'.Display::return_icon('back.png',get_lang('Back'),'',ICON_SIZE_MEDIUM).'</a>'; echo '</div>';*/ $form->addElement('hidden', 'sec_token'); $form->setConstants(array('sec_token' => $token)); $form->display(); } break; case 'delete': // Action handling: delete if ($check) {
static function transaction_extra_field_editar_generic($extra_field_variable, $original_data, $web_service_details, $type = 'session') { $extra_field = new ExtraField($type); $extra_field_info = $extra_field->get_handler_field_info_by_field_variable($extra_field_variable); if (empty($extra_field_info)) { return array('message' => "Extra field can't be edited extra field does not exists: extra_field_variable: " . $extra_field_variable, 'status_id' => self::TRANSACTION_STATUS_FAILED); } $extra_field_option = new ExtraFieldOption($type); $extra_field_option_info = $extra_field_option->get_field_option_by_field_and_option($extra_field_info['id'], $original_data['item_id']); $function_name = $extra_field_variable . "Detalles"; $params = array('intIdSede' => $original_data['branch_id'], "uidid" . $extra_field_variable => $original_data['item_id']); $data = Migration::soap_call($web_service_details, $function_name, $params); if ($data['error'] == false) { // Exceptional treatment for specific fields if ($extra_field_variable == 'aula') { $data['name'] = $original_data['branch_id'] . ' - ' . $data['name']; } //Update 1 item if (!empty($extra_field_option_info)) { $info_before = $extra_field_option->get_field_options_by_field($extra_field_info['id']); if (count($extra_field_option_info) > 1) { //var_dump($extra_field_option_info); //Take the first one error_log('Warning! There are several options with the same key. You should delete doubles. Check your DB with this query:'); error_log("SELECT * FROM " . $type . "_field_options WHERE field_id = {$extra_field_info['id']} AND option_value = '{$original_data['item_id']}' "); error_log('All options are going to be updated'); } $options_updated = array(); foreach ($extra_field_option_info as $option) { $extra_field_option_info = array('id' => $option['id'], 'field_id' => $extra_field_info['id'], 'option_value' => $original_data['item_id'], 'option_display_text' => $data['name'], 'option_order' => null); $extra_field_option->update($extra_field_option_info); $options_updated[] = $option['id']; } $info_after = $extra_field_option->get_field_options_by_field($extra_field_info['id']); $options_updated = implode(',', $options_updated); return array('entity' => $extra_field_variable, 'before' => $info_before, 'after' => $info_after, 'message' => "Extra field options id updated: {$options_updated}", 'status_id' => self::TRANSACTION_STATUS_FAILED); } else { return array('message' => "Extra field option not found item_id: {$original_data['item_id']}", 'status_id' => self::TRANSACTION_STATUS_FAILED); } } else { return $data; } }