Beispiel #1
0
            $username = $email;
        }
        UserManager::update_user($user_id, $firstname, $lastname, $username, $password, $auth_source, $email, $status, $official_code, $phone, $picture_uri, $expiration_date, $active, null, $hr_dept_id, null, $language, null, $send_mail, $reset_password);
        if (api_get_setting('openid_authentication') == 'true' && !empty($user['openid'])) {
            $up = UserManager::update_openid($user_id, $user['openid']);
        }
        $currentUserId = api_get_user_id();
        if ($user_id != $currentUserId) {
            if ($platform_admin == 1) {
                UserManager::add_user_as_admin($user_id);
            } else {
                UserManager::remove_user_admin($user_id);
            }
        }
        $extraFieldValue = new ExtraFieldValue('user');
        $extraFieldValue->saveFieldValues($user);
        $tok = Security::get_token();
        header('Location: user_list.php?action=show_message&message=' . urlencode(get_lang('UserUpdated')) . '&sec_token=' . $tok);
        exit;
    }
}
$message = null;
if ($error_drh) {
    $err_msg = get_lang('StatusCanNotBeChangedToHumanResourcesManager');
    $message = Display::return_message($err_msg, 'error');
}
$content = null;
$bigImage = Usermanager::getUserPicture(api_get_user_id(), USER_IMAGE_SIZE_BIG);
$normalImage = Usermanager::getUserPicture(api_get_user_id(), USER_IMAGE_SIZE_ORIGINAL);
$content .= '<a class="expand-image" href="' . $bigImage . '" /><img src="' . $normalImage . '"></a>';
// Display form
Beispiel #2
0
 /**
  * Creates a course
  * @param   array $params columns in the main.course table
  *
  * @return  mixed  false if the course was not created, array with the course info
  */
 public static function create_course($params, $extraFields = array())
 {
     global $_configuration;
     // Check portal limits
     $access_url_id = 1;
     if (api_get_multiple_access_url()) {
         $access_url_id = api_get_current_access_url_id();
     }
     if (isset($_configuration[$access_url_id]) && is_array($_configuration[$access_url_id])) {
         if (isset($_configuration[$access_url_id]['hosting_limit_courses']) && $_configuration[$access_url_id]['hosting_limit_courses'] > 0) {
             $num = self::count_courses($access_url_id);
             if ($num >= $_configuration[$access_url_id]['hosting_limit_courses']) {
                 api_warn_hosting_contact('hosting_limit_courses');
                 return api_set_failure(get_lang('PortalCoursesLimitReached'));
             }
         }
         if (isset($_configuration[$access_url_id]['hosting_limit_active_courses']) && $_configuration[$access_url_id]['hosting_limit_active_courses'] > 0) {
             $num = self::countActiveCourses($access_url_id);
             if ($num >= $_configuration[$access_url_id]['hosting_limit_active_courses']) {
                 api_warn_hosting_contact('hosting_limit_active_courses');
                 return api_set_failure(get_lang('PortalActiveCoursesLimitReached'));
             }
         }
     }
     if (empty($params['title'])) {
         return false;
     }
     if (empty($params['wanted_code'])) {
         $params['wanted_code'] = $params['title'];
         // Check whether the requested course code has already been occupied.
         $params['wanted_code'] = CourseManager::generate_course_code(api_substr($params['title'], 0, self::MAX_COURSE_LENGTH_CODE));
     }
     // Create the course keys
     $keys = AddCourse::define_course_keys($params['wanted_code']);
     $params['exemplary_content'] = isset($params['exemplary_content']) ? $params['exemplary_content'] : false;
     if (count($keys)) {
         $params['code'] = $keys['currentCourseCode'];
         $params['visual_code'] = $keys['currentCourseId'];
         $params['directory'] = $keys['currentCourseRepository'];
         $course_info = api_get_course_info($params['code']);
         if (empty($course_info)) {
             $course_id = AddCourse::register_course($params);
             $course_info = api_get_course_info_by_id($course_id);
             if (!empty($course_info)) {
                 AddCourse::prepare_course_repository($course_info['directory'], $course_info['code']);
                 AddCourse::fill_db_course($course_id, $course_info['directory'], $course_info['course_language'], $params['exemplary_content']);
                 if (api_get_setting('gradebook.gradebook_enable_grade_model') == 'true') {
                     //Create gradebook_category for the new course and add
                     // a gradebook model for the course
                     if (isset($params['gradebook_model_id']) && !empty($params['gradebook_model_id']) && $params['gradebook_model_id'] != '-1') {
                         GradebookUtils::create_default_course_gradebook($course_info['code'], $params['gradebook_model_id']);
                     }
                 }
                 // If parameter defined, copy the contents from a specific
                 // template course into this new course
                 $template = api_get_setting('course.course_creation_use_template');
                 if (!empty($template)) {
                     // Include the necessary libraries to generate a course copy
                     require_once api_get_path(SYS_CODE_PATH) . 'coursecopy/classes/CourseBuilder.class.php';
                     require_once api_get_path(SYS_CODE_PATH) . 'coursecopy/classes/CourseRestorer.class.php';
                     require_once api_get_path(SYS_CODE_PATH) . 'coursecopy/classes/CourseSelectForm.class.php';
                     // Call the course copy object
                     $originCourse = api_get_course_info_by_id($template);
                     $originCourse['official_code'] = $originCourse['code'];
                     $cb = new CourseBuilder(null, $originCourse);
                     $course = $cb->build(null, $originCourse['code']);
                     $cr = new CourseRestorer($course);
                     $cr->set_file_option();
                     $cr->restore($course_info['id']);
                     //course_info[id] is the course.code value (I know...)
                 }
                 $params['course_code'] = $course_info['code'];
                 $params['item_id'] = $course_info['real_id'];
                 $courseFieldValue = new ExtraFieldValue('course');
                 $courseFieldValue->saveFieldValues($params);
                 return $course_info;
             }
         }
     }
     return false;
 }
Beispiel #3
0
 $unsubscribe = isset($course['unsubscribe']) ? $course['unsubscribe'] : '';
 $course['course_code'] = $course_code;
 if (!stristr($department_url, 'http://')) {
     $department_url = 'http://' . $department_url;
 }
 $manager = Database::getManager();
 $courseObj = $manager->getRepository('ChamiloCoreBundle:Course')->find($courseId);
 if ($courseObj) {
     $url = $manager->getRepository('ChamiloCoreBundle:AccessUrl')->find(api_get_current_access_url_id());
     $courseObj->setTitle($title)->setCourseLanguage($course_language)->setCategoryCode($category_code)->setVisualCode($visual_code)->setDepartmentName($department_name)->setDepartmentUrl($department_url)->setDiskQuota(intval($disk_quota))->setVisibility($visibility)->setSubscribe(intval($subscribe))->setUnsubscribe(intval($unsubscribe))->setCurrentUrl($url);
     $manager->persist($courseObj);
     $manager->flush();
 }
 // update the extra fields
 $courseFieldValue = new ExtraFieldValue('course');
 $courseFieldValue->saveFieldValues($course);
 $addTeacherToSessionCourses = isset($course['add_teachers_to_sessions_courses']) && !empty($course['add_teachers_to_sessions_courses']) ? 1 : 0;
 $sessionCoaches = isset($course['session_coaches']) ? $course['session_coaches'] : '';
 // Updating teachers
 if ($addTeacherToSessionCourses) {
     if (!empty($sessionCoaches)) {
         foreach ($sessionCoaches as $sessionId => $teacherInfo) {
             $coachesToSubscribe = $teacherInfo['coaches_by_session'];
             SessionManager::updateCoaches($sessionId, $courseId, $coachesToSubscribe, true);
         }
     }
     CourseManager::updateTeachers($courseId, $teachers, true, true, false);
 } else {
     // Normal behaviour
     CourseManager::updateTeachers($courseId, $teachers, true, false);
     // Updating session coaches
Beispiel #4
0
        UserManager::updatePassword(api_get_user_id(), $password);
    }
    if (api_get_setting('profile', 'officialcode') == 'true' && isset($user_data['official_code'])) {
        $sql .= ", official_code = '" . Database::escape_string($user_data['official_code']) . "'";
    }
    $sql .= " WHERE user_id  = '" . api_get_user_id() . "'";
    Database::query($sql);
    if ($passwordWasChecked == false) {
        Display::addFlash(Display::return_message(get_lang('ProfileReg'), 'normal', false));
    } else {
        if ($validPassword) {
            Display::addFlash(Display::return_message(get_lang('ProfileReg'), 'normal', false));
        }
    }
    $extraField = new ExtraFieldValue('user');
    $extraField->saveFieldValues($user_data);
    $userInfo = api_get_user_info();
    Session::write('_user', $userInfo);
    // re-init the system to take new settings into account
    //$_SESSION['_user']['uidReset'] = true;
    //$_SESSION['noredirection'] = true;
    $url = api_get_self();
    header("Location: " . $url);
    exit;
}
// the header
$actions = null;
if (api_get_setting('social.allow_social_tool') != 'true') {
    if (api_get_setting('profile.extended_profile') == 'true') {
        $actions .= '<div class="actions">';
        if (api_get_setting('social.allow_social_tool') == 'true' && api_get_setting('message.allow_message_tool') == 'true') {
 /**
  * Edit a session
  * @author Carlos Vargas from existing code
  * @param integer   $id Session primary key
  * @param string    $name
  * @param string    $startDate
  * @param string    $endDate
  * @param string    $displayStartDate
  * @param string    $displayEndDate
  * @param string    $coachStartDate
  * @param string    $coachEndDate
  * @param integer   $coachId
  * @param integer   $sessionCategoryId
  * @param int       $visibility
  * @param string    $description
  * @param bool      $showDescription
  * @param int       $duration
  * @param array     $extraFields
  * @param int       $sessionAdminId
  * @param boolean $sendSubscritionNotification Optional.
  *          Whether send a mail notification to users being subscribed
  * @return mixed
  */
 public static function edit_session($id, $name, $startDate, $endDate, $displayStartDate, $displayEndDate, $coachStartDate, $coachEndDate, $coachId, $sessionCategoryId, $visibility, $description = null, $showDescription = 0, $duration = null, $extraFields = array(), $sessionAdminId = 0, $sendSubscritionNotification = false)
 {
     $name = trim(stripslashes($name));
     $coachId = intval($coachId);
     $sessionCategoryId = intval($sessionCategoryId);
     $visibility = intval($visibility);
     $tbl_session = Database::get_main_table(TABLE_MAIN_SESSION);
     if (empty($name)) {
         $msg = get_lang('SessionNameIsRequired');
         return $msg;
     } elseif (empty($coachId)) {
         $msg = get_lang('CoachIsRequired');
         return $msg;
     } elseif (!empty($startDate) && !api_is_valid_date($startDate, 'Y-m-d H:i')) {
         $msg = get_lang('InvalidStartDate');
         return $msg;
     } elseif (!empty($endDate) && !api_is_valid_date($endDate, 'Y-m-d H:i')) {
         $msg = get_lang('InvalidEndDate');
         return $msg;
     } elseif (!empty($startDate) && !empty($endDate) && $startDate >= $endDate) {
         $msg = get_lang('StartDateShouldBeBeforeEndDate');
         return $msg;
     } else {
         $sql = "SELECT id FROM {$tbl_session} WHERE name='" . Database::escape_string($name) . "'";
         $rs = Database::query($sql);
         $exists = false;
         while ($row = Database::fetch_array($rs)) {
             if ($row['id'] != $id) {
                 $exists = true;
             }
         }
         if ($exists) {
             $msg = get_lang('SessionNameAlreadyExists');
             return $msg;
         } else {
             $values = ['name' => $name, 'duration' => $duration, 'id_coach' => $coachId, 'description' => $description, 'show_description' => intval($showDescription), 'visibility' => $visibility, 'send_subscription_notification' => $sendSubscritionNotification];
             if (!empty($sessionAdminId)) {
                 $values['session_admin_id'] = $sessionAdminId;
             }
             if (!empty($startDate)) {
                 $values['access_start_date'] = $startDate;
             }
             if (!empty($endDate)) {
                 $values['access_end_date'] = $endDate;
             }
             if (!empty($displayStartDate)) {
                 $values['display_start_date'] = $displayStartDate;
             }
             if (!empty($displayEndDate)) {
                 $values['display_end_date'] = $displayEndDate;
             }
             if (!empty($coachStartDate)) {
                 $values['coach_access_start_date'] = $coachStartDate;
             }
             if (!empty($coachEndDate)) {
                 $values['coach_access_end_date'] = $coachEndDate;
             }
             if (!empty($sessionCategoryId)) {
                 $values['session_category_id'] = $sessionCategoryId;
             }
             Database::update($tbl_session, $values, array('id = ?' => $id), true);
             if (!empty($extraFields)) {
                 $extraFields['item_id'] = $id;
                 $sessionFieldValue = new ExtraFieldValue('session');
                 $sessionFieldValue->saveFieldValues($extraFields);
             }
             return $id;
         }
     }
 }
 }
 if (isset($_REQUEST['activate_end_date_check']) && $_REQUEST['activate_end_date_check'] == 1) {
     $expired_on = $_REQUEST['expired_on'];
 } else {
     $expired_on = null;
 }
 $learnPath->setCategoryId($_REQUEST['category_id']);
 $learnPath->set_modified_on();
 $learnPath->set_publicated_on($publicated_on);
 $learnPath->set_expired_on($expired_on);
 if (isset($_REQUEST['remove_picture']) && $_REQUEST['remove_picture']) {
     $learnPath->delete_lp_image();
 }
 $extraFieldValue = new ExtraFieldValue('lp');
 $params = array('lp_id' => $learnPath->id);
 $extraFieldValue->saveFieldValues($_REQUEST);
 if ($_FILES['lp_preview_image']['size'] > 0) {
     $learnPath->upload_image($_FILES['lp_preview_image']);
 }
 if (api_get_setting('search.search_enabled') === 'true') {
     require_once api_get_path(LIBRARY_PATH) . 'specific_fields_manager.lib.php';
     $specific_fields = get_specific_field_list();
     foreach ($specific_fields as $specific_field) {
         $learnPath->set_terms_by_prefix($_REQUEST[$specific_field['code']], $specific_field['code']);
         $new_values = explode(',', trim($_REQUEST[$specific_field['code']]));
         if (!empty($new_values)) {
             array_walk($new_values, 'trim');
             delete_all_specific_field_value(api_get_course_id(), $specific_field['id'], TOOL_LEARNPATH, $learnPath->lp_id);
             foreach ($new_values as $value) {
                 if (!empty($value)) {
                     add_specific_field_value($specific_field['id'], api_get_course_id(), TOOL_LEARNPATH, $learnPath->lp_id, $value);