static function transaction_10($data, $web_service_details)
 {
     $uidIdPrograma = $data['item_id'];
     global $data_list;
     $session_id = self::get_session_id_by_programa_id($uidIdPrograma, $data_list);
     if (!empty($session_id)) {
         $session_info = Migration::soap_call($web_service_details, 'programaDetalles', array('intIdSede' => $data['branch_id'], 'uididprograma' => $data['item_id']));
         if ($session_info['error'] == false) {
             self::fix_access_dates($session_info);
             $session_info['id'] = $session_id;
             unset($session_info['error']);
             $session_info_before = api_get_session_info($session_id, true);
             SessionManager::update($session_info);
             $session_info = api_get_session_info($session_id, true);
             return array('entity' => 'session', 'before' => $session_info_before, 'after' => $session_info, 'message' => "Session updated {$uidIdPrograma} with data: " . print_r($session_info, 1), 'status_id' => self::TRANSACTION_STATUS_SUCCESSFUL);
         } else {
             return $session_info;
         }
     } else {
         return array('message' => "Session does not exists {$uidIdPrograma}", 'status_id' => self::TRANSACTION_STATUS_FAILED);
     }
 }
Ejemplo n.º 2
0
</script>';
$form->addElement('html', '</div>');
$form->addElement('button', 'submit', $button);
if (!empty($session_info)) {
    $session_info['display_start_date'] = api_get_local_time($session_info['display_start_date'], null, null, true);
    $session_info['display_end_date'] = api_get_local_time($session_info['display_end_date'], null, null, true);
    $session_info['access_start_date'] = api_get_local_time($session_info['access_start_date'], null, null, true);
    $session_info['access_end_date'] = api_get_local_time($session_info['access_end_date'], null, null, true);
    $session_info['coach_access_start_date'] = api_get_local_time($session_info['coach_access_start_date'], null, null, true);
    $session_info['coach_access_end_date'] = api_get_local_time($session_info['coach_access_end_date'], null, null, true);
    $form->setDefaults($session_info);
}
if ($form->validate()) {
    $params = $form->getSubmitValues();
    if (isset($params['id'])) {
        SessionManager::update($params);
        header('Location: resume_session.php?id_session=' . $params['id']);
        exit;
    } else {
        $session_id = SessionManager::add($params);
        if ($session_id) {
            // integer => no error on session creation
            header('Location: add_courses_to_session.php?id_session=' . $session_id . '&add=true&msg=');
            exit;
        }
    }
}
function check_session_name($name)
{
    $session = SessionManager::get_session_by_name($name);
    return empty($session) ? true : false;
 /**
  * Edits a session (helper method)
  *
  * @param string Name of the session
  * @param string Start date, use the 'YYYY-MM-DD' format
  * @param string End date, use the 'YYYY-MM-DD' format
  * @param int Access delays of the coach (days before)
  * @param int Access delays of the coach (days after)
  * @param int Nolimit (0 = no limit of time, 1 = limit of time)
  * @param int Visibility
  * @param string User id field name for the coach
  * @param string User id value for the coach
  * @param string Original session id field name (use "chamilo_session_id" to use internal id)
  * @param string Original session id value
  * @param array Array of extra fields
  * @return mixed True on success, WSError otherwise
  */
 protected function editSessionHelper($name, $start_date, $end_date, $coach_access_start_date, $coach_access_end_date, $nolimit, $visibility, $user_id_field_name, $user_id_value, $session_id_field_name, $session_id_value, $extras)
 {
     $session_id = $this->getSessionId($session_id_field_name, $session_id_value);
     if ($session_id instanceof WSError) {
         return $session_id;
     } else {
         // Verify that coach exists and get its id
         $user_id = $this->getUserId($user_id_field_name, $user_id_value);
         if ($user_id instanceof WSError) {
             return $user_id;
         }
         $params = array('id' => $session_id, 'name' => $name, 'access_start_date' => $start_date, 'access_end_date' => $end_date, 'coach_access_start_date' => $coach_access_start_date, 'coach_access_end_date' => $coach_access_end_date, 'visibility' => $visibility);
         $result_id = SessionManager::update($params);
         if (!is_int($result_id)) {
             return new WSError(302, 'Could not edit the session');
         } else {
             if (!empty($extras)) {
                 $extras_associative = array();
                 foreach ($extras as $extra) {
                     $extras_associative[$extra['field_name']] = $extra['field_value'];
                 }
                 // Create the extra fields
                 foreach ($extras_associative as $fname => $fvalue) {
                     SessionManager::create_session_extra_field($fname, 1, $fname);
                     SessionManager::update_session_extra_field_value($session_id, $fname, $fvalue);
                 }
             }
             return true;
         }
     }
 }