Exemple #1
0
 /**
  * Return all content to replace and all content to be replace
  * @param int $user_id
  * @param int $course_id
  * @param bool $is_preview
  * @return array
  */
 static function get_all_info_to_certificate($user_id, $course_id, $is_preview = false)
 {
     $info_list = array();
     $user_id = intval($user_id);
     $course_info = api_get_course_info($course_id);
     //info portal
     $organization_name = api_get_setting('platform.institution');
     $portal_name = api_get_setting('platform.site_name');
     // Extra user data information
     $extra_user_info_data = UserManager::get_extra_user_data($user_id, false, false, false, true);
     // get extra fields
     $extraField = new ExtraField('user');
     $extraFields = $extraField->get_all(['filter = ? AND visible = ?' => [1, 1]]);
     //Student information
     $user_info = api_get_user_info($user_id);
     $first_name = $user_info['firstname'];
     $last_name = $user_info['lastname'];
     $official_code = $user_info['official_code'];
     //Teacher information
     $info_teacher_id = UserManager::get_user_id_of_course_admin_or_session_admin($course_info);
     $teacher_info = api_get_user_info($info_teacher_id);
     $teacher_first_name = $teacher_info['firstname'];
     $teacher_last_name = $teacher_info['lastname'];
     // info gradebook certificate
     $info_grade_certificate = UserManager::get_info_gradebook_certificate($course_id, $user_id);
     $date_certificate = $info_grade_certificate['created_at'];
     $date_long_certificate = '';
     $date_no_time = api_convert_and_format_date(api_get_utc_datetime(), DATE_FORMAT_LONG_NO_DAY);
     if (!empty($date_certificate)) {
         $date_long_certificate = api_convert_and_format_date($date_certificate);
         $date_no_time = api_convert_and_format_date($date_certificate, DATE_FORMAT_LONG_NO_DAY);
     }
     if ($is_preview) {
         $date_long_certificate = api_convert_and_format_date(api_get_utc_datetime());
         $date_no_time = api_convert_and_format_date(api_get_utc_datetime(), DATE_FORMAT_LONG_NO_DAY);
     }
     $url = api_get_path(WEB_PATH) . 'certificates/index.php?id=' . $info_grade_certificate['id'];
     //replace content
     $info_to_replace_in_content_html = array($first_name, $last_name, $organization_name, $portal_name, $teacher_first_name, $teacher_last_name, $official_code, $date_long_certificate, $date_no_time, $course_id, $course_info['name'], $info_grade_certificate['grade'], $url, '<a href="' . $url . '" target="_blank">' . get_lang('CertificateOnlineLink') . '</a>', '((certificate_barcode))');
     $info_to_be_replaced_in_content_html = array('((user_firstname))', '((user_lastname))', '((gradebook_institution))', '((gradebook_sitename))', '((teacher_firstname))', '((teacher_lastname))', '((official_code))', '((date_certificate))', '((date_certificate_no_time))', '((course_code))', '((course_title))', '((gradebook_grade))', '((certificate_link))', '((certificate_link_html))', '((certificate_barcode))');
     if (!empty($extraFields)) {
         foreach ($extraFields as $extraField) {
             $valueExtra = isset($extra_user_info_data[$extraField['variable']]) ? $extra_user_info_data[$extraField['variable']] : '';
             $info_to_be_replaced_in_content_html[] = '((' . strtolower($extraField['variable']) . '))';
             $info_to_replace_in_content_html[] = $valueExtra;
         }
     }
     $info_list[] = $info_to_be_replaced_in_content_html;
     $info_list[] = $info_to_replace_in_content_html;
     return $info_list;
 }
 /**
  * Creates a multi array with the user fields that we can show. We look the visibility with the api_get_setting function
  * The username is always NOT able to change it.
  * @author Julio Montoya Armas <*****@*****.**>, Chamilo: Personality Test modification
  * @return array[value_name][name]
  *            array[value_name][visibilty]
  */
 static function make_field_list()
 {
     //	LAST NAME and FIRST NAME
     $field_list_array = array();
     $field_list_array['lastname']['name'] = get_lang('Lastname');
     $field_list_array['firstname']['name'] = get_lang('Firstname');
     if (api_get_setting('profile', 'name') != 'true') {
         $field_list_array['firstname']['visibility'] = 0;
         $field_list_array['lastname']['visibility'] = 0;
     } else {
         $field_list_array['firstname']['visibility'] = 1;
         $field_list_array['lastname']['visibility'] = 1;
     }
     $field_list_array['username']['name'] = get_lang('Username');
     $field_list_array['username']['visibility'] = 0;
     //	OFFICIAL CODE
     $field_list_array['official_code']['name'] = get_lang('OfficialCode');
     if (api_get_setting('profile', 'officialcode') != 'true') {
         $field_list_array['official_code']['visibility'] = 1;
     } else {
         $field_list_array['official_code']['visibility'] = 0;
     }
     // EMAIL
     $field_list_array['email']['name'] = get_lang('Email');
     if (api_get_setting('profile', 'email') != 'true') {
         $field_list_array['email']['visibility'] = 1;
     } else {
         $field_list_array['email']['visibility'] = 0;
     }
     // OPENID URL
     //$field_list_array[] = 'openid_authentication';
     /*
               if (is_profile_editable() && api_get_setting('openid_authentication') == 'true') {
               $form->addElement('text', 'openid', get_lang('OpenIDURL'), array('size' => 40));
               if (api_get_setting('profile', 'openid') != 'true') {
               $form->freeze('openid');
               }
               $form->applyFilter('openid', 'trim');
               //if (api_get_setting('registration', 'openid') == 'true')
               //	$form->addRule('openid', get_lang('ThisFieldIsRequired'), 'required');
               } */
     // PHONE
     $field_list_array['phone']['name'] = get_lang('Phone');
     if (api_get_setting('profile', 'phone') != 'true') {
         $field_list_array['phone']['visibility'] = 0;
     } else {
         $field_list_array['phone']['visibility'] = 1;
     }
     //	LANGUAGE
     $field_list_array['language']['name'] = get_lang('Language');
     if (api_get_setting('profile', 'language') != 'true') {
         $field_list_array['language']['visibility'] = 0;
     } else {
         $field_list_array['language']['visibility'] = 1;
     }
     // 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) {
             continue;
         }
         switch ($field_details[2]) {
             case ExtraField::FIELD_TYPE_TEXT:
                 $field_list_array['extra_' . $field_details[1]]['name'] = $field_details[3];
                 if ($field_details[7] == 0) {
                     $field_list_array['extra_' . $field_details[1]]['visibility'] = 0;
                 } else {
                     $field_list_array['extra_' . $field_details[1]]['visibility'] = 1;
                 }
                 break;
             case ExtraField::FIELD_TYPE_TEXTAREA:
                 $field_list_array['extra_' . $field_details[1]]['name'] = $field_details[3];
                 if ($field_details[7] == 0) {
                     $field_list_array['extra_' . $field_details[1]]['visibility'] = 0;
                 } else {
                     $field_list_array['extra_' . $field_details[1]]['visibility'] = 1;
                 }
                 break;
             case ExtraField::FIELD_TYPE_RADIO:
                 $field_list_array['extra_' . $field_details[1]]['name'] = $field_details[3];
                 if ($field_details[7] == 0) {
                     $field_list_array['extra_' . $field_details[1]]['visibility'] = 0;
                 } else {
                     $field_list_array['extra_' . $field_details[1]]['visibility'] = 1;
                 }
                 break;
             case ExtraField::FIELD_TYPE_SELECT:
                 $field_list_array['extra_' . $field_details[1]]['name'] = $field_details[3];
                 if ($field_details[7] == 0) {
                     $field_list_array['extra_' . $field_details[1]]['visibility'] = 0;
                 } else {
                     $field_list_array['extra_' . $field_details[1]]['visibility'] = 1;
                 }
                 break;
             case ExtraField::FIELD_TYPE_SELECT_MULTIPLE:
                 $field_list_array['extra_' . $field_details[1]]['name'] = $field_details[3];
                 if ($field_details[7] == 0) {
                     $field_list_array['extra_' . $field_details[1]]['visibility'] = 0;
                 } else {
                     $field_list_array['extra_' . $field_details[1]]['visibility'] = 1;
                 }
                 break;
             case ExtraField::FIELD_TYPE_DATE:
                 $field_list_array['extra_' . $field_details[1]]['name'] = $field_details[3];
                 if ($field_details[7] == 0) {
                     $field_list_array['extra_' . $field_details[1]]['visibility'] = 0;
                 } else {
                     $field_list_array['extra_' . $field_details[1]]['visibility'] = 1;
                 }
                 break;
             case ExtraField::FIELD_TYPE_DATETIME:
                 $field_list_array['extra_' . $field_details[1]]['name'] = $field_details[3];
                 if ($field_details[7] == 0) {
                     $field_list_array['extra_' . $field_details[1]]['visibility'] = 0;
                 } else {
                     $field_list_array['extra_' . $field_details[1]]['visibility'] = 1;
                 }
                 break;
             case ExtraField::FIELD_TYPE_DOUBLE_SELECT:
                 $field_list_array['extra_' . $field_details[1]]['name'] = $field_details[3];
                 if ($field_details[7] == 0) {
                     $field_list_array['extra_' . $field_details[1]]['visibility'] = 0;
                 } else {
                     $field_list_array['extra_' . $field_details[1]]['visibility'] = 1;
                 }
                 break;
             case ExtraField::FIELD_TYPE_DIVIDER:
                 //$form->addElement('static',$field_details[1], '<br /><strong>'.$field_details[3].'</strong>');
                 break;
         }
     }
     return $field_list_array;
 }
 /**
  * Add a line to the csv file
  *
  * @param	array	Possible answers
  * @param	array	User's answers
  * @param 	mixed	User ID or user details as string - Used as a string in the result string
  * @param	boolean	Whether to display user fields or not
  * @return	string	One line of the csv file
  */
 public static function export_complete_report_row_xls($survey_data, $possible_options, $answers_of_user, $user, $display_extra_user_fields = false)
 {
     $return = array();
     if ($survey_data['anonymous'] == 0) {
         if (intval($user) !== 0) {
             $sql = 'SELECT firstname, lastname
                     FROM ' . Database::get_main_table(TABLE_MAIN_USER) . '
                     WHERE user_id=' . intval($user);
             $rs = Database::query($sql);
             if ($row = Database::fetch_array($rs)) {
                 $user_displayed = api_get_person_name($row['firstname'], $row['lastname']);
             } else {
                 $user_displayed = '-';
             }
             $return[] = $user_displayed;
         } else {
             $return[] = $user;
         }
     } else {
         $return[] = '-';
         // The user column
     }
     if ($display_extra_user_fields) {
         //show user fields data, if any, for this user
         $user_fields_values = UserManager::get_extra_user_data(intval($user), false, false, false, true);
         foreach ($user_fields_values as $value) {
             $return[] = api_html_entity_decode(strip_tags($value), ENT_QUOTES);
         }
     }
     if (is_array($possible_options)) {
         foreach ($possible_options as $question_id => &$possible_option) {
             if (is_array($possible_option) && count($possible_option) > 0) {
                 foreach ($possible_option as $option_id => &$value) {
                     $my_answers_of_user = $answers_of_user[$question_id] == null ? array() : $answers_of_user[$question_id];
                     $key = array_keys($my_answers_of_user);
                     if (substr($key[0], 0, 4) == 'open') {
                         $return[] = api_html_entity_decode(strip_tags($answers_of_user[$question_id][$key[0]]['option_id']), ENT_QUOTES);
                     } elseif (!empty($answers_of_user[$question_id][$option_id])) {
                         //$return .= 'v';
                         if ($answers_of_user[$question_id][$option_id]['value'] != 0) {
                             $return[] = $answers_of_user[$question_id][$option_id]['value'];
                         } else {
                             $return[] = 'v';
                         }
                     } else {
                         $return[] = '';
                     }
                 }
             }
         }
     }
     return $return;
 }
Exemple #4
0
 /**
  * return all content to replace and all content to be replace
  */
 static function get_all_info_to_certificate($user_id, $course_id, $is_preview = false)
 {
     $info_list = array();
     $user_id = intval($user_id);
     $course_info = api_get_course_info($course_id);
     //info portal
     $organization_name = api_get_setting('platform.institution');
     $portal_name = api_get_setting('platform.site_name');
     //Extra user data information
     $extra_user_info_data = UserManager::get_extra_user_data($user_id, false, false, false, true);
     //Student information
     $user_info = api_get_user_info($user_id);
     $first_name = $user_info['firstname'];
     $last_name = $user_info['lastname'];
     $official_code = $user_info['official_code'];
     //Teacher information
     $info_teacher_id = UserManager::get_user_id_of_course_admin_or_session_admin($course_info);
     $teacher_info = api_get_user_info($info_teacher_id);
     $teacher_first_name = $teacher_info['firstname'];
     $teacher_last_name = $teacher_info['lastname'];
     // info gradebook certificate
     $info_grade_certificate = UserManager::get_info_gradebook_certificate($course_id, $user_id);
     $date_certificate = $info_grade_certificate['created_at'];
     $date_no_time = null;
     $date_long_certificate = '';
     if (!empty($date_certificate)) {
         $date_long_certificate = api_convert_and_format_date($date_certificate);
         $date_no_time = api_convert_and_format_date($date_certificate, DATE_FORMAT_LONG_NO_DAY);
     }
     if ($is_preview) {
         $date_long_certificate = api_convert_and_format_date(api_get_utc_datetime());
         $date_no_time = api_convert_and_format_date(api_get_utc_datetime(), DATE_FORMAT_LONG_NO_DAY);
     }
     $url = Certificate::getCertificatePublicURL($info_grade_certificate['id']);
     //replace content
     $info_to_replace_in_content_html = array($first_name, $last_name, $organization_name, $portal_name, $teacher_first_name, $teacher_last_name, $official_code, $date_long_certificate, $date_no_time, $course_id, $course_info['name'], $info_grade_certificate['grade'], $url, '<a href="' . $url . '" target="_blank">' . get_lang('CertificateOnlineLink') . '</a>', '((certificate_barcode))');
     $info_to_be_replaced_in_content_html = array('((user_firstname))', '((user_lastname))', '((gradebook_institution))', '((gradebook_sitename))', '((teacher_firstname))', '((teacher_lastname))', '((official_code))', '((date_certificate))', '((date_certificate_no_time))', '((course_code))', '((course_title))', '((gradebook_grade))', '((certificate_link))', '((certificate_link_html))', '((certificate_barcode))');
     if (!empty($extra_user_info_data)) {
         foreach ($extra_user_info_data as $key_extra => $value_extra) {
             $info_to_be_replaced_in_content_html[] = '((' . strtolower($key_extra) . '))';
             $info_to_replace_in_content_html[] = $value_extra;
         }
     }
     $info_list[] = $info_to_be_replaced_in_content_html;
     $info_list[] = $info_to_replace_in_content_html;
     return $info_list;
 }
 /**
  * Exports the complete report as an XLS file
  * @return	boolean		False on error
  */
 public function exportCompleteReportXLS($document_path = '', $user_id = null, $export_user_fields = false, $export_filter = 0, $exercise_id = 0, $hotpotato_name = null)
 {
     global $charset;
     $this->getExercisesReporting($document_path, $user_id, $export_filter, $exercise_id, $hotpotato_name);
     $filename = 'exercise_results_' . date('YmdGis') . '.xls';
     if (!empty($user_id)) {
         $filename = 'exercise_results_user_' . $user_id . '_' . date('YmdGis') . '.xls';
     }
     $workbook = new Spreadsheet_Excel_Writer();
     $workbook->setTempDir(api_get_path(SYS_ARCHIVE_PATH));
     $workbook->setVersion(8);
     // BIFF8
     $workbook->send($filename);
     $worksheet =& $workbook->addWorksheet('Report ' . date('YmdGis'));
     $worksheet->setInputEncoding(api_get_system_encoding());
     $line = 0;
     $column = 0;
     //skip the first column (row titles)
     // check if exists column 'user'
     $with_column_user = false;
     foreach ($this->results as $result) {
         if (!empty($result['last_name']) && !empty($result['first_name'])) {
             $with_column_user = true;
             break;
         }
     }
     if ($with_column_user) {
         $worksheet->write($line, $column, get_lang('Email'));
         $column++;
         if (api_is_western_name_order()) {
             $worksheet->write($line, $column, get_lang('FirstName'));
             $column++;
             $worksheet->write($line, $column, get_lang('LastName'));
             $column++;
         } else {
             $worksheet->write($line, $column, get_lang('LastName'));
             $column++;
             $worksheet->write($line, $column, get_lang('FirstName'));
             $column++;
         }
     }
     if ($export_user_fields) {
         //show user fields section with a big th colspan that spans over all fields
         $extra_user_fields = UserManager::get_extra_fields(0, 1000, 5, 'ASC', false, 1);
         //show the fields names for user fields
         foreach ($extra_user_fields as $field) {
             $worksheet->write($line, $column, api_html_entity_decode(strip_tags($field[3]), ENT_QUOTES, $charset));
             $column++;
         }
     }
     $worksheet->write($line, $column, get_lang('Title'));
     $column++;
     $worksheet->write($line, $column, get_lang('StartDate'));
     $column++;
     $worksheet->write($line, $column, get_lang('EndDate'));
     $column++;
     $worksheet->write($line, $column, get_lang('Duration') . ' (' . get_lang('MinMinutes') . ')');
     $column++;
     $worksheet->write($line, $column, get_lang('Score'));
     $column++;
     $worksheet->write($line, $column, get_lang('Total'));
     $column++;
     $worksheet->write($line, $column, get_lang('Status'));
     $line++;
     foreach ($this->results as $row) {
         $column = 0;
         if ($with_column_user) {
             $worksheet->write($line, $column, api_html_entity_decode(strip_tags($row['email']), ENT_QUOTES, $charset));
             $column++;
             if (api_is_western_name_order()) {
                 $worksheet->write($line, $column, api_html_entity_decode(strip_tags($row['first_name']), ENT_QUOTES, $charset));
                 $column++;
                 $worksheet->write($line, $column, api_html_entity_decode(strip_tags($row['last_name']), ENT_QUOTES, $charset));
                 $column++;
             } else {
                 $worksheet->write($line, $column, api_html_entity_decode(strip_tags($row['last_name']), ENT_QUOTES, $charset));
                 $column++;
                 $worksheet->write($line, $column, api_html_entity_decode(strip_tags($row['first_name']), ENT_QUOTES, $charset));
                 $column++;
             }
         }
         if ($export_user_fields) {
             //show user fields data, if any, for this user
             $user_fields_values = UserManager::get_extra_user_data($row['user_id'], false, false, false, true);
             foreach ($user_fields_values as $value) {
                 $worksheet->write($line, $column, api_html_entity_decode(strip_tags($value), ENT_QUOTES, $charset));
                 $column++;
             }
         }
         $worksheet->write($line, $column, api_html_entity_decode(strip_tags($row['title']), ENT_QUOTES, $charset));
         $column++;
         $worksheet->write($line, $column, $row['start_date']);
         $column++;
         $worksheet->write($line, $column, $row['end_date']);
         $column++;
         $worksheet->write($line, $column, $row['duration']);
         $column++;
         $worksheet->write($line, $column, $row['result']);
         $column++;
         $worksheet->write($line, $column, $row['max']);
         $column++;
         $worksheet->write($line, $column, $row['status']);
         $line++;
     }
     $workbook->close();
     return true;
 }
 /**
  * Get all information that the user with user_id = $user_data has
  * entered in the additionally defined profile fields
  * @param integer $user_id the id of the user
  * @author Patrick Cool <*****@*****.**>, Ghent University, Belgium
  * @version Dokeos 1.8.6
  * @since November 2008
  */
 function get_user_overview_export_extra_fields($user_id)
 {
     $extra_data = UserManager::get_extra_user_data($user_id, true);
     return $extra_data;
 }
Exemple #7
0
 }
 $data = array();
 $extra_fields = UserManager::get_extra_fields(0, 0, 5, 'ASC', false);
 if ($export['addcsvheader'] == '1' and $export['file_type'] == 'csv') {
     if ($_configuration['password_encryption'] != 'none') {
         $data[] = array('UserId', 'LastName', 'FirstName', 'Email', 'UserName', 'AuthSource', 'Status', 'OfficialCode', 'PhoneNumber');
     } else {
         $data[] = array('UserId', 'LastName', 'FirstName', 'Email', 'UserName', 'Password', 'AuthSource', 'Status', 'OfficialCode', 'PhoneNumber');
     }
     foreach ($extra_fields as $extra) {
         $data[0][] = $extra[1];
     }
 }
 $res = Database::query($sql);
 while ($user = Database::fetch_array($res, 'ASSOC')) {
     $student_data = UserManager::get_extra_user_data($user['UserId'], true, false);
     foreach ($student_data as $key => $value) {
         $key = substr($key, 6);
         if (is_array($value)) {
             $user[$key] = $value[$key];
         } else {
             $user[$key] = $value;
         }
     }
     $data[] = $user;
 }
 switch ($file_type) {
     case 'xml':
         Export::arrayToXml($data, $filename, 'Contact', 'Contacts');
         exit;
         break;
    if (api_get_setting('extended_profile') == 'true') {
        if (api_get_setting('extendedprofile_registration', 'mycomptetences') == 'true' && api_get_setting('extendedprofile_registrationrequired', 'mycomptetences') == 'true') {
            $form->addRule('competences', get_lang('ThisFieldIsRequired'), 'required');
        }
        if (api_get_setting('extendedprofile_registration', 'mydiplomas') == 'true' && api_get_setting('extendedprofile_registrationrequired', 'mydiplomas') == 'true') {
            $form->addRule('diplomas', get_lang('ThisFieldIsRequired'), 'required');
        }
        if (api_get_setting('extendedprofile_registration', 'myteach') == 'true' && api_get_setting('extendedprofile_registrationrequired', 'myteach') == 'true') {
            $form->addRule('teach', get_lang('ThisFieldIsRequired'), 'required');
        }
        if (api_get_setting('extendedprofile_registration', 'mypersonalopenarea') == 'true' && api_get_setting('extendedprofile_registrationrequired', 'mypersonalopenarea') == 'true') {
            $form->addRule('openarea', get_lang('ThisFieldIsRequired'), 'required');
        }
    }
    // EXTRA FIELDS
    $extra_data = UserManager::get_extra_user_data(api_get_user_id(), true);
    $extraField = new ExtraField('user');
    $extraField->set_extra_fields_in_form($form, $extra_data, 'registration', false, null);
}
if (isset($_SESSION['user_language_choice']) && $_SESSION['user_language_choice'] != '') {
    $defaults['language'] = $_SESSION['user_language_choice'];
} else {
    $defaults['language'] = api_get_setting('platformLanguage');
}
if (!empty($_GET['username'])) {
    $defaults['username'] = Security::remove_XSS($_GET['username']);
}
if (!empty($_GET['email'])) {
    $defaults['email'] = Security::remove_XSS($_GET['email']);
}
if (!empty($_GET['phone'])) {
Exemple #9
0
$form->addElement('select_language', 'language', get_lang('Language'), null);
// Send email
$group = array();
$group[] = $form->createElement('radio', 'send_mail', null, get_lang('Yes'), 1);
$group[] = $form->createElement('radio', 'send_mail', null, get_lang('No'), 0);
$form->addGroup($group, 'mail', get_lang('SendMailToNewUser'), '&nbsp;');
// Expiration Date
$form->addElement('radio', 'radio_expiration_date', get_lang('ExpirationDate'), get_lang('NeverExpires'), 0);
$group = array();
$group[] = $form->createElement('radio', 'radio_expiration_date', null, get_lang('On'), 1);
$group[] = $form->createElement('datepicker', 'expiration_date', null, array('form_name' => $form->getAttribute('name'), 'onchange' => 'javascript: enable_expiration_date();'));
$form->addGroup($group, 'max_member_group', null, '', false);
// Active account or inactive account
$form->addElement('radio', 'active', get_lang('ActiveAccount'), get_lang('Active'), 1);
$form->addElement('radio', 'active', '', get_lang('Inactive'), 0);
$extra_data = UserManager::get_extra_user_data(0, true);
$return_params = UserManager::set_extra_fields_in_form($form, $extra_data, 'user_add');
$jquery_ready_content = $return_params['jquery_ready_content'];
// the $jquery_ready_content variable collects all functions that will be load in the $(document).ready javascript function
$htmlHeadXtra[] = '<script>
$(document).ready(function(){
	' . $jquery_ready_content . '
});
</script>';
// Set default values
$defaults['admin']['platform_admin'] = 0;
$defaults['mail']['send_mail'] = 1;
$defaults['password']['password_auto'] = 1;
$defaults['active'] = 1;
$defaults['expiration_date'] = array();
$days = api_get_setting('account_valid_duration');
 /**
  * Save message notification
  * @param int	    $type message type
  * NOTIFICATION_TYPE_MESSAGE,
  * NOTIFICATION_TYPE_INVITATION,
  * NOTIFICATION_TYPE_GROUP
  * @param array	    $user_list recipients: user list of ids
  * @param string	$title
  * @param string	$content
  * @param array	    $sender_info
  * result of api_get_user_info() or GroupPortalManager:get_group_data()
  */
 public function save_notification($type, $user_list, $title, $content, $senderInfo = array())
 {
     $this->type = intval($type);
     $content = $this->formatContent($content, $senderInfo);
     $titleToNotification = $this->formatTitle($title, $senderInfo);
     $settingToCheck = '';
     $avoid_my_self = false;
     switch ($this->type) {
         case self::NOTIFICATION_TYPE_DIRECT_MESSAGE:
         case self::NOTIFICATION_TYPE_MESSAGE:
             $settingToCheck = 'mail_notify_message';
             $defaultStatus = self::NOTIFY_MESSAGE_AT_ONCE;
             break;
         case self::NOTIFICATION_TYPE_INVITATION:
             $settingToCheck = 'mail_notify_invitation';
             $defaultStatus = self::NOTIFY_INVITATION_AT_ONCE;
             break;
         case self::NOTIFICATION_TYPE_GROUP:
             $settingToCheck = 'mail_notify_group_message';
             $defaultStatus = self::NOTIFY_GROUP_AT_ONCE;
             $avoid_my_self = true;
             break;
         default:
             $defaultStatus = self::NOTIFY_MESSAGE_AT_ONCE;
             break;
     }
     $settingInfo = UserManager::get_extra_field_information_by_name($settingToCheck);
     if (!empty($user_list)) {
         foreach ($user_list as $user_id) {
             if ($avoid_my_self) {
                 if ($user_id == api_get_user_id()) {
                     continue;
                 }
             }
             $userInfo = api_get_user_info($user_id);
             // Extra field was deleted or removed? Use the default status.
             $userSetting = $defaultStatus;
             if (!empty($settingInfo)) {
                 $extra_data = UserManager::get_extra_user_data($user_id);
                 if (isset($extra_data[$settingToCheck]) && !empty($extra_data[$settingToCheck])) {
                     $userSetting = $extra_data[$settingToCheck];
                 }
             }
             $sendDate = null;
             switch ($userSetting) {
                 // No notifications
                 case self::NOTIFY_MESSAGE_NO:
                 case self::NOTIFY_INVITATION_NO:
                 case self::NOTIFY_GROUP_NO:
                     break;
                     // Send notification right now!
                 // Send notification right now!
                 case self::NOTIFY_MESSAGE_AT_ONCE:
                 case self::NOTIFY_INVITATION_AT_ONCE:
                 case self::NOTIFY_GROUP_AT_ONCE:
                     $extraHeaders = [];
                     if (isset($senderInfo['email'])) {
                         $extraHeaders = array('reply_to' => array('name' => $senderInfo['complete_name'], 'mail' => $senderInfo['email']));
                     }
                     if (!empty($userInfo['email'])) {
                         api_mail_html($userInfo['complete_name'], $userInfo['mail'], Security::filter_terms($titleToNotification), Security::filter_terms($content), $this->adminName, $this->adminEmail, $extraHeaders);
                     }
                     $sendDate = api_get_utc_datetime();
             }
             // Saving the notification to be sent some day.
             $params = array('sent_at' => $sendDate, 'dest_user_id' => $user_id, 'dest_mail' => $userInfo['email'], 'title' => $title, 'content' => cut($content, $this->max_content_length), 'send_freq' => $userSetting);
             $this->save($params);
         }
     }
 }
 /**
  * Save message notification
  * @param    array    message type NOTIFICATION_TYPE_MESSAGE, NOTIFICATION_TYPE_INVITATION, NOTIFICATION_TYPE_GROUP
  * @param    array    recipients: user list of ids
  * @param    string    title
  * @param    string    content of the message
  * @param    array    result of api_get_user_info() or UserGroup->get()
  */
 public function save_notification($type, $user_list, $title, $content, $sender_info = array(), $text_content = null)
 {
     $this->type = intval($type);
     $content = $this->format_content($content, $sender_info);
     $sender_id = 0;
     if (!empty($sender_info) && isset($sender_info['user_id'])) {
         $sender_id = $sender_info['user_id'];
         $this->set_sender_info($sender_id);
     }
     $setting_to_check = '';
     $avoid_my_self = false;
     $default_status = self::NOTIFY_MESSAGE_AT_ONCE;
     switch ($this->type) {
         case self::NOTIFICATION_TYPE_MESSAGE:
             $setting_to_check = 'mail_notify_message';
             $default_status = self::NOTIFY_MESSAGE_AT_ONCE;
             break;
         case self::NOTIFICATION_TYPE_INVITATION:
             $setting_to_check = 'mail_notify_invitation';
             $default_status = self::NOTIFY_INVITATION_AT_ONCE;
             break;
         case self::NOTIFICATION_TYPE_GROUP:
             $setting_to_check = 'mail_notify_group_message';
             $default_status = self::NOTIFY_GROUP_AT_ONCE;
             $avoid_my_self = true;
             break;
     }
     $setting_info = UserManager::get_extra_field_information_by_name($setting_to_check);
     if (!empty($user_list)) {
         foreach ($user_list as $user_id) {
             if ($avoid_my_self) {
                 if ($user_id == api_get_user_id()) {
                     continue;
                 }
             }
             $user_info = api_get_user_info($user_id);
             //Extra field was deleted or removed? Use the default status
             if (empty($setting_info)) {
                 $user_setting = $default_status;
             } else {
                 $extra_data = UserManager::get_extra_user_data($user_id);
                 $user_setting = $extra_data[$setting_to_check];
             }
             $params = array();
             switch ($user_setting) {
                 //No notifications
                 case self::NOTIFY_MESSAGE_NO:
                 case self::NOTIFY_INVITATION_NO:
                 case self::NOTIFY_GROUP_NO:
                     break;
                     //Send notification right now!
                 //Send notification right now!
                 case self::NOTIFY_MESSAGE_AT_ONCE:
                 case self::NOTIFY_INVITATION_AT_ONCE:
                 case self::NOTIFY_GROUP_AT_ONCE:
                     if (!empty($user_info['mail'])) {
                         $name = api_get_person_name($user_info['firstname'], $user_info['lastname']);
                         if (!empty($sender_info['complete_name']) && !empty($sender_info['email'])) {
                             $extra_headers = array();
                             $extra_headers['reply_to']['mail'] = $sender_info['email'];
                             $extra_headers['reply_to']['name'] = $sender_info['complete_name'];
                             api_mail_html($name, $user_info['mail'], Security::filter_terms($title), Security::filter_terms($content), $sender_info['complete_name'], $sender_info['email'], $extra_headers, array(), null, $text_content);
                         } else {
                             api_mail_html($name, $user_info['mail'], Security::filter_terms($title), Security::filter_terms($content), $sender_info['complete_name'], $sender_info['email'], array(), null, $text_content);
                         }
                     }
                     $params['sent_at'] = api_get_utc_datetime();
                     // Saving the notification to be sent some day.
                 // Saving the notification to be sent some day.
                 default:
                     $params['dest_user_id'] = $user_id;
                     $params['dest_mail'] = $user_info['mail'];
                     $params['title'] = $title;
                     $params['content'] = Text::cut($content, $this->max_content_length);
                     $params['send_freq'] = $user_setting;
                     $params['sender_id'] = $sender_id;
                     $this->save($params);
                     break;
             }
         }
     }
 }
Exemple #12
0
    array(
        'class' => 'nextPage next',
    )
);

$socialRightInformation =  SocialManager::social_wrapper_div($personal_info, 4);

//$social_right_content .= SocialManager::social_wrapper_div($wallSocial, 5);


if ($show_full_profile) {

    // Extra information
    $t_uf    = Database :: get_main_table(TABLE_MAIN_USER_FIELD);
    $t_ufo    = Database :: get_main_table(TABLE_MAIN_USER_FIELD_OPTIONS);
    $extra_user_data = UserManager::get_extra_user_data($user_id);
    $extra_information = '';
    if (is_array($extra_user_data) && count($extra_user_data)>0 ) {

        $extra_information .= '<div><h3>'.get_lang('ExtraInformation').'</h3></div>';
        $extra_information .='<div class="social-profile-info">';
        $extra_information_value = '';
        foreach($extra_user_data as $key=>$data) {
            //Avoding parameters
            if (in_array($key, array('mail_notify_invitation','mail_notify_message', 'mail_notify_group_message' ))) {
                continue;
            }
            // get display text, visibility and type from user_field table
            $field_variable = str_replace('extra_','',$key);
            $sql = "SELECT field_display_text,field_visible,field_type,id "
                ." FROM $t_uf WHERE field_variable ='$field_variable'";
 /**
  * Exports the complete report as an XLS file
  * @return	boolean		False on error
  */
 public function exportCompleteReportXLS($document_path = '', $user_id = null, $export_user_fields = false, $export_filter = 0, $exercise_id = 0, $hotpotato_name = null)
 {
     global $charset;
     $this->getExercisesReporting($document_path, $user_id, $export_filter, $exercise_id, $hotpotato_name);
     $filename = 'exercise_results_' . api_get_local_time() . '.xls';
     if (!empty($user_id)) {
         $filename = 'exercise_results_user_' . $user_id . '_' . api_get_local_time() . '.xls';
     }
     $spreadsheet = new PHPExcel();
     $spreadsheet->setActiveSheetIndex(0);
     $worksheet = $spreadsheet->getActiveSheet();
     $line = 0;
     $column = 0;
     //skip the first column (row titles)
     // check if exists column 'user'
     $with_column_user = false;
     foreach ($this->results as $result) {
         if (!empty($result['last_name']) && !empty($result['first_name'])) {
             $with_column_user = true;
             break;
         }
     }
     $officialCodeInList = api_get_setting('exercise.show_official_code_exercise_result_list');
     if ($with_column_user) {
         if (api_is_western_name_order()) {
             $worksheet->SetCellValueByColumnAndRow($line, $column, get_lang('FirstName'));
             $column++;
             $worksheet->SetCellValueByColumnAndRow($line, $column, get_lang('LastName'));
             $column++;
         } else {
             $worksheet->SetCellValueByColumnAndRow($line, $column, get_lang('LastName'));
             $column++;
             $worksheet->SetCellValueByColumnAndRow($line, $column, get_lang('FirstName'));
             $column++;
         }
         if ($officialCodeInList === 'true') {
             $worksheet->SetCellValueByColumnAndRow($line, $column, get_lang('OfficialCode'));
             $column++;
         }
         $worksheet->SetCellValueByColumnAndRow($line, $column, get_lang('Email'));
         $column++;
     }
     $worksheet->SetCellValueByColumnAndRow($line, $column, get_lang('Groups'));
     $column++;
     if ($export_user_fields) {
         //show user fields section with a big th colspan that spans over all fields
         $extra_user_fields = UserManager::get_extra_fields(0, 1000, 5, 'ASC', false, 1);
         //show the fields names for user fields
         foreach ($extra_user_fields as $field) {
             $worksheet->SetCellValueByColumnAndRow($line, $column, api_html_entity_decode(strip_tags($field[3]), ENT_QUOTES, $charset));
             $column++;
         }
     }
     $worksheet->SetCellValueByColumnAndRow($line, $column, get_lang('Title'));
     $column++;
     $worksheet->SetCellValueByColumnAndRow($line, $column, get_lang('StartDate'));
     $column++;
     $worksheet->SetCellValueByColumnAndRow($line, $column, get_lang('EndDate'));
     $column++;
     $worksheet->SetCellValueByColumnAndRow($line, $column, get_lang('Duration') . ' (' . get_lang('MinMinutes') . ')');
     $column++;
     $worksheet->SetCellValueByColumnAndRow($line, $column, get_lang('Score'));
     $column++;
     $worksheet->SetCellValueByColumnAndRow($line, $column, get_lang('Total'));
     $column++;
     $worksheet->SetCellValueByColumnAndRow($line, $column, get_lang('Status'));
     $column++;
     $worksheet->SetCellValueByColumnAndRow($line, $column, get_lang('ToolLearnpath'));
     $column++;
     $worksheet->SetCellValueByColumnAndRow($line, $column, get_lang('UserIsCurrentlySubscribed'));
     $line++;
     foreach ($this->results as $row) {
         $column = 0;
         if ($with_column_user) {
             if (api_is_western_name_order()) {
                 $worksheet->SetCellValueByColumnAndRow($line, $column, api_html_entity_decode(strip_tags($row['first_name']), ENT_QUOTES, $charset));
                 $column++;
                 $worksheet->SetCellValueByColumnAndRow($line, $column, api_html_entity_decode(strip_tags($row['last_name']), ENT_QUOTES, $charset));
                 $column++;
             } else {
                 $worksheet->SetCellValueByColumnAndRow($line, $column, api_html_entity_decode(strip_tags($row['last_name']), ENT_QUOTES, $charset));
                 $column++;
                 $worksheet->SetCellValueByColumnAndRow($line, $column, api_html_entity_decode(strip_tags($row['first_name']), ENT_QUOTES, $charset));
                 $column++;
             }
             if ($officialCodeInList === 'true') {
                 $worksheet->SetCellValueByColumnAndRow($line, $column, api_html_entity_decode(strip_tags($row['official_code']), ENT_QUOTES, $charset));
                 $column++;
             }
             $worksheet->SetCellValueByColumnAndRow($line, $column, api_html_entity_decode(strip_tags($row['email']), ENT_QUOTES, $charset));
             $column++;
         }
         $worksheet->SetCellValueByColumnAndRow($line, $column, api_html_entity_decode(strip_tags(implode(", ", GroupManager::get_user_group_name($row['user_id']))), ENT_QUOTES, $charset));
         $column++;
         if ($export_user_fields) {
             //show user fields data, if any, for this user
             $user_fields_values = UserManager::get_extra_user_data($row['user_id'], false, false, false, true);
             foreach ($user_fields_values as $value) {
                 $worksheet->SetCellValueByColumnAndRow($line, $column, api_html_entity_decode(strip_tags($value), ENT_QUOTES, $charset));
                 $column++;
             }
         }
         $worksheet->SetCellValueByColumnAndRow($line, $column, api_html_entity_decode(strip_tags($row['title']), ENT_QUOTES, $charset));
         $column++;
         $worksheet->SetCellValueByColumnAndRow($line, $column, $row['start_date']);
         $column++;
         $worksheet->SetCellValueByColumnAndRow($line, $column, $row['end_date']);
         $column++;
         $worksheet->SetCellValueByColumnAndRow($line, $column, $row['duration']);
         $column++;
         $worksheet->SetCellValueByColumnAndRow($line, $column, $row['result']);
         $column++;
         $worksheet->SetCellValueByColumnAndRow($line, $column, $row['max']);
         $column++;
         $worksheet->SetCellValueByColumnAndRow($line, $column, $row['status']);
         $column++;
         $worksheet->SetCellValueByColumnAndRow($line, $column, $row['lp_name']);
         $column++;
         $worksheet->SetCellValueByColumnAndRow($line, $column, $row['is_user_subscribed']);
         $line++;
     }
     $file = api_get_path(SYS_ARCHIVE_PATH) . api_replace_dangerous_char($filename);
     $writer = new PHPExcel_Writer_Excel2007($spreadsheet);
     $writer->save($file);
     DocumentManager::file_send_for_download($file, true, $filename);
     return true;
 }
Exemple #14
0
 /**
  * Creates a multi array with the user fields that we can show. We look the visibility with the api_get_setting function
  * The username is always NOT able to change it.
  * @author Julio Montoya Armas <*****@*****.**>, Chamilo: Personality Test modification
  * @return array[value_name][name]
  * 		   array[value_name][visibilty]
  */
 static function make_field_list()
 {
     //	LAST NAME and FIRST NAME
     $field_list_array = array();
     $field_list_array['lastname']['name'] = get_lang('Lastname');
     $field_list_array['firstname']['name'] = get_lang('Firstname');
     if (api_get_setting('profile', 'name') != 'true') {
         $field_list_array['firstname']['visibility'] = 0;
         $field_list_array['lastname']['visibility'] = 0;
     } else {
         $field_list_array['firstname']['visibility'] = 1;
         $field_list_array['lastname']['visibility'] = 1;
     }
     $field_list_array['username']['name'] = get_lang('Username');
     $field_list_array['username']['visibility'] = 0;
     //	OFFICIAL CODE
     $field_list_array['official_code']['name'] = get_lang('OfficialCode');
     if (api_get_setting('profile', 'officialcode') != 'true') {
         $field_list_array['official_code']['visibility'] = 1;
     } else {
         $field_list_array['official_code']['visibility'] = 0;
     }
     // EMAIL
     $field_list_array['email']['name'] = get_lang('Email');
     if (api_get_setting('profile', 'email') != 'true') {
         $field_list_array['email']['visibility'] = 1;
     } else {
         $field_list_array['email']['visibility'] = 0;
     }
     // OPENID URL
     //$field_list_array[] = 'openid_authentication';
     /*
     		if (is_profile_editable() && api_get_setting('openid_authentication') == 'true') {
     			$form->addElement('text', 'openid', get_lang('OpenIDURL'), array('size' => 40));
     			if (api_get_setting('profile', 'openid') != 'true') {
     				$form->freeze('openid');
     			}
     			$form->applyFilter('openid', 'trim');
     			//if (api_get_setting('registration', 'openid') == 'true')
     			//	$form->addRule('openid', get_lang('ThisFieldIsRequired'), 'required');
     		}*/
     // PHONE
     $field_list_array['phone']['name'] = get_lang('Phone');
     if (api_get_setting('profile', 'phone') != 'true') {
         $field_list_array['phone']['visibility'] = 0;
     } else {
         $field_list_array['phone']['visibility'] = 1;
     }
     //	LANGUAGE
     $field_list_array['language']['name'] = get_lang('Language');
     if (api_get_setting('profile', 'language') != 'true') {
         $field_list_array['language']['visibility'] = 0;
     } else {
         $field_list_array['language']['visibility'] = 1;
     }
     // 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) {
             continue;
         }
         switch ($field_details[2]) {
             case UserManager::USER_FIELD_TYPE_TEXT:
                 $field_list_array['extra_' . $field_details[1]]['name'] = $field_details[3];
                 if ($field_details[7] == 0) {
                     $field_list_array['extra_' . $field_details[1]]['visibility'] = 0;
                 } else {
                     $field_list_array['extra_' . $field_details[1]]['visibility'] = 1;
                 }
                 break;
             case UserManager::USER_FIELD_TYPE_TEXTAREA:
                 $field_list_array['extra_' . $field_details[1]]['name'] = $field_details[3];
                 if ($field_details[7] == 0) {
                     $field_list_array['extra_' . $field_details[1]]['visibility'] = 0;
                 } else {
                     $field_list_array['extra_' . $field_details[1]]['visibility'] = 1;
                 }
                 break;
             case UserManager::USER_FIELD_TYPE_RADIO:
                 $field_list_array['extra_' . $field_details[1]]['name'] = $field_details[3];
                 if ($field_details[7] == 0) {
                     $field_list_array['extra_' . $field_details[1]]['visibility'] = 0;
                 } else {
                     $field_list_array['extra_' . $field_details[1]]['visibility'] = 1;
                 }
                 break;
             case UserManager::USER_FIELD_TYPE_SELECT:
                 $field_list_array['extra_' . $field_details[1]]['name'] = $field_details[3];
                 if ($field_details[7] == 0) {
                     $field_list_array['extra_' . $field_details[1]]['visibility'] = 0;
                 } else {
                     $field_list_array['extra_' . $field_details[1]]['visibility'] = 1;
                 }
                 break;
             case UserManager::USER_FIELD_TYPE_SELECT_MULTIPLE:
                 $field_list_array['extra_' . $field_details[1]]['name'] = $field_details[3];
                 if ($field_details[7] == 0) {
                     $field_list_array['extra_' . $field_details[1]]['visibility'] = 0;
                 } else {
                     $field_list_array['extra_' . $field_details[1]]['visibility'] = 1;
                 }
                 break;
             case UserManager::USER_FIELD_TYPE_DATE:
                 $field_list_array['extra_' . $field_details[1]]['name'] = $field_details[3];
                 if ($field_details[7] == 0) {
                     $field_list_array['extra_' . $field_details[1]]['visibility'] = 0;
                 } else {
                     $field_list_array['extra_' . $field_details[1]]['visibility'] = 1;
                 }
                 break;
             case UserManager::USER_FIELD_TYPE_DATETIME:
                 $field_list_array['extra_' . $field_details[1]]['name'] = $field_details[3];
                 if ($field_details[7] == 0) {
                     $field_list_array['extra_' . $field_details[1]]['visibility'] = 0;
                 } else {
                     $field_list_array['extra_' . $field_details[1]]['visibility'] = 1;
                 }
                 break;
             case UserManager::USER_FIELD_TYPE_DOUBLE_SELECT:
                 $field_list_array['extra_' . $field_details[1]]['name'] = $field_details[3];
                 if ($field_details[7] == 0) {
                     $field_list_array['extra_' . $field_details[1]]['visibility'] = 0;
                 } else {
                     $field_list_array['extra_' . $field_details[1]]['visibility'] = 1;
                 }
                 /*
                 					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], '&nbsp;');
                 					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;
             case UserManager::USER_FIELD_TYPE_DIVIDER:
                 //$form->addElement('static',$field_details[1], '<br /><strong>'.$field_details[3].'</strong>');
                 break;
         }
     }
     return $field_list_array;
 }
Exemple #15
0
     $sql .= " AND user.user_id = au.user_id  AND access_url_id =  {$current_access_url_id}  ";
 }
 //only users no teachers/coaches
 $sql .= " AND course_user.status = 5 ";
 $sql .= $sort_by_first_name ? " ORDER BY user.firstname, user.lastname" : " ORDER BY user.lastname, user.firstname";
 $rs = Database::query($sql);
 $counter = 1;
 while ($user = Database::fetch_array($rs, 'ASSOC')) {
     if (isset($user['legal_agreement'])) {
         if ($user['legal_agreement'] == 1) {
             $user['legal_agreement'] = get_lang('Yes');
         } else {
             $user['legal_agreement'] = get_lang('No');
         }
     }
     $extra_fields = UserManager::get_extra_user_data($user['user_id'], false, false, false, true);
     if (!empty($extra_fields)) {
         foreach ($extra_fields as $key => $extra_value) {
             $user[$key] = $extra_value;
         }
     }
     if ($_GET['type'] == 'pdf') {
         $user_info = api_get_user_info($user['user_id']);
         $user_image = Display::img($user_info['avatar'], null, array('width' => $user_image_pdf_size . 'px'));
         if ($is_western_name_order) {
             $user_pdf = array($counter, $user_image, $user['official_code'], $user['firstname'] . ', ' . $user['lastname'], $user['email'], $user['phone']);
         } else {
             $user_pdf = array($counter, $user_image, $user['official_code'], $user['lastname'] . ', ' . $user['firstname'], $user['email'], $user['phone']);
         }
         $a_users[] = $user_pdf;
     } else {
 /**
  * Get all information that the user with user_id = $user_data has
  * entered in the additionally defined profile fields
  * @param integer $user_id the id of the user
  * @author Patrick Cool <*****@*****.**>, Ghent University, Belgium
  * @version Dokeos 1.8.6
  * @since November 2008
  */
 public static function get_user_overview_export_extra_fields($user_id)
 {
     // include the user manager
     $extra_data = UserManager::get_extra_user_data($user_id, true);
     return $extra_data;
 }
Exemple #17
0
                    url: "' . api_get_path(WEB_AJAX_PATH) . 'social.ajax.php?a=readUrlWithOpenGraph",
                    data: "social_wall_new_msg_main=" + e.originalEvent.clipboardData.getData("text"),
                    success: function(response) {
                        $(".url_preview").html(response);
                        $("[name=\'url_content\']").val(response);
                    }
                });
            });
        });
</script>';
$socialRightInformation = null;
$social_right_content = null;
$show_full_profile = true;
if ($show_full_profile) {
    $t_ufo = Database::get_main_table(TABLE_EXTRA_FIELD_OPTIONS);
    $extra_user_data = UserManager::get_extra_user_data($user_id, false, true);
    $extra_information = '';
    if (is_array($extra_user_data) && count($extra_user_data) > 0) {
        $extra_information_value = '';
        $extraField = new ExtraField('user');
        foreach ($extra_user_data as $key => $data) {
            // Avoiding parameters
            if (in_array($key, array('mail_notify_invitation', 'mail_notify_message', 'mail_notify_group_message'))) {
                continue;
            }
            // get display text, visibility and type from user_field table
            $field_variable = str_replace('extra_', '', $key);
            $extraFieldInfo = $extraField->get_handler_field_info_by_field_variable($field_variable);
            if ($extraFieldInfo['visible'] != 1) {
                continue;
            }
/**
 * Get all information that the user with user_id = $user_data has 
 * entered in the additionally defined profile fields
 *
 * @param integer $user_id the id of the user
 * 
 * @author Patrick Cool <*****@*****.**>, Ghent University, Belgium
 * @version Dokeos 1.8.6
 * @since November 2008
 */
function get_user_overview_export_extra_fields($user_id)
{
    // include the user manager
    require_once api_get_path(LIBRARY_PATH) . 'usermanager.lib.php';
    $extra_data = UserManager::get_extra_user_data($user_id, true);
    return $extra_data;
}