<p>Chamilo 1.8.7 is a intermediate release including a lot of new features, mostly focused on social network, the handling of sessions (which will help many educational institutions, public or private, to manage their contents in a more flexible way) and visual style, and a few important bugfixes. It lays the first stable stone in the Chamilo software project.</p>
<h3>New Features</h3>
<ul>
<li>Full UTF-8 support has been implemented (Feature #272). UTF-8 becomes recommended system encoding to be used. It is recommended too that html-documents created with external tools to be UTF-8 encoded.
<br/>For newly installed systems: UTF-8 is the default value of the administrator's setting "Character set". Database tables are created for storing UTF-8 encoded texts.
<br/>For upgraded systems: Upgrade procedure does not change to UTF-8 the administrator's setting "Character set". This may be done later, on administrator's decision. During upgrade database tables are converted to UTF-8. Conversion to UTF-8 of stored in the file system html-documents is not performed, this is not mandatory.
<br/>Note about integration with external systems: Keep in maind that since version 1.8.7 texts kept in database are UTF-8 encoded. If an external system accesses database records directly, some corrections mignt be necessary about encoding used by the external database.
</li>
<li>New tool: Class attendance (usable in Gradebook)</li>
<li>New Tool: Student certificate </li>
<li>Thematic advance option added in course description (shown on course homepage)</li>
$sql = "SELECT code,name FROM ".$table_course_category." WHERE auth_course_child ='TRUE' OR code = '".Database::escape_string($_course['categoryCode'])."' ORDER BY tree_pos";
$res = Database::query($sql);
$s_select_course_tutor_name="SELECT tutor_name FROM $tbl_course WHERE code='$course_code'";
$s_sql_course_titular="SELECT DISTINCT username, lastname, firstname FROM $tbl_user as user, $tbl_course_user as course_rel_user WHERE (course_rel_user.status='1') AND user.user_id=course_rel_user.user_id AND course_code='".$course_code."'";
$s_sql_course_titular="SELECT DISTINCT username, lastname, firstname FROM $tbl_user as user, $tbl_course_user as course_rel_user WHERE (course_rel_user.status='1') AND user.user_id=course_rel_user.user_id AND course_code='".$course_code."'";
$sql="SELECT username, lastname, firstname FROM $tbl_user as user, $tbl_admin as admin WHERE admin.user_id=user.user_id ORDER BY ".$target_name." ASC";
$q_result_titulars=Database::query($sql);
if(Database::num_rows($q_result_titulars)==0){
$sql="SELECT username, lastname, firstname FROM $tbl_user as user, $tbl_admin as admin WHERE admin.user_id=user.user_id ORDER BY ".$target_name." ASC";
$q_result_titulars=Database::query($sql);
}
$a_profs[0] = '-- '.get_lang('NoManager').' --';
@ -94,8 +95,7 @@ while ($a_titulars = Database::fetch_array($q_result_titulars)) {
$sql = "UPDATE $table_course_setting SET value = ".(int)$update_values['email_alert_to_teacher_on_new_user_in_course']." WHERE variable = 'email_alert_to_teacher_on_new_user_in_course' ";
$sql = "UPDATE $table_course_setting SET value = ".(int)$update_values['email_alert_manager_on_new_doc']." WHERE variable = 'email_alert_manager_on_new_doc' ";
$sql = "UPDATE $table_course_setting SET value = ".(int)$update_values['email_alert_on_new_doc_dropbox']." WHERE variable = 'email_alert_on_new_doc_dropbox' ";
$sql = "UPDATE $table_course_setting SET value = ".(int)$update_values['email_alert_manager_on_new_quiz']." WHERE variable = 'email_alert_manager_on_new_quiz' ";
$sql = "UPDATE $table_course_setting SET value = ".(int)$update_values['allow_user_edit_announcement']." WHERE variable = 'allow_user_edit_announcement' ";
$sql = "UPDATE $table_course_setting SET value = ".(int)$update_values['display_info_advance_inside_homecourse']." WHERE variable = 'display_info_advance_inside_homecourse' ";
// This is a cache for already translated language variables. By using it, we avoid repetitive translations, gaining speed.
static $cache;
// Looking up into the cache for existing translation.
if (isset($cache[$language][$dltt][$variable])) {
if (isset($cache[$language][$variable])&& !$_api_is_translated_call) {
// There is a previously saved translation, returning it.
return $cache[$language][$dltt][$variable];
return $cache[$language][$variable];
}
$_api_is_translated = false;
// There is no cached translation, we have to retrieve it:
// - from a global variable (the faster way) - on production server mode;
// - from a local variable after reloading the language files - on test server mode or when requested language is different than the genuine interface language.
* @param mixed Date format (string or int; see date formats in the Chamilo system: TIME_NO_SEC_FORMAT, DATE_FORMAT_SHORT, DATE_FORMAT_LONG, DATE_TIME_FORMAT_LONG)
* @param string $language (optional) Language indentificator. If it is omited, the current interface language is assumed.
@ -113,4 +113,7 @@ $NewUserEmailAlert = "Известяване на инструктора по e-
$NewUserEmailAlertEnable = "Да се уведомява с e-mail преподавателя, когато потребител се регистрира самостоятелно в курса";
$NewUserEmailAlertToTeacharAndTutor = "Да се уведомяват с e-mail преподавателите и инструкторите, когато потребител се регистрира самостоятелно в курса";
$NewUserEmailAlertDisable = "Изключване на уведомяването с e-mail на новозаписаните курсисти";
$AllowUserViewUserList = "Разрешанаве на курситите да виждат списъка с потребителите";
$BlocksHaveBeenUpdatedSuccessfully = "Les blocs ont été mis à jour";
$AssignSessionsTo = "Assigner des sessions à %s";
$DeleteAllAttendances = "Supprimer toutes les assistances créées";
$AttendanceSheetDescription = "Les répertoires de présences vous permettent de réunir les feuilles de présences par groupe. Par exemple, vous pourriez vouloir prendre les présence pour les cours théoriques séparément des cours pratiques.
Chaque élément montrera tous les apprenants comme présents par défaut. C'est à vous de noter leur absence en décochant les cases correspondantes.";
$SessionGCMaxLifetimeInfo = "O tempo máximo de vida do recolector de lixo é o tempo máximo que se da entre dúas execucións do recolector de lixo";
$PHPVersionInfo = "Versión PHP";
$FileUploadsInfo = "A carga de arquivos indica se a subida de arquivos está autorizada";
$UploadMaxFilesizeInfo = "Tamaño máximo dun arquivo cando se sube. Este axuste debe, na maioría dos casos, ir acompañado da variable post_max_size";
$MagicQuotesRuntimeInfo = "Esta é unha característica non recomendada que convirte os valores devoltos por todas as funcións que devolven valores externos en valores con barras de escape. Esta funcionalidade *non* debería activarse";
$PostMaxSizeInfo = "Este é o tamaño máximo dos envíos realizados ao través de formularios utilizando o método POST (é dicir, a forma típica de carga de arquivos mediante formularios)";
$SafeModeInfo = "Modo seguro é unha característica obsoleta de PHP que limita (mal) o acceso dos scripts PHP a outros recursos. Recoméndase deixalo desactivado";
$DisplayErrorsInfo = "Amosa os erros na pantalla. Activalo en servidores de desenvolvemento e desactivalo en servidores de produción";
$MaxInputTimeInfo = "O tempo máximo permitido para que un formulario sexa procesado polo servidor. Se se sobrepasa, o proceso abandoase e devolve unha páxina en branco";
$DefaultCharsetInfo = "Xogo de caracteres predeterminado que será enviado cando se devolvan as páxinas";
$RegisterGlobalsInfo = "Permite seleccionar, ou non, o uso de variables globais. O uso desta funcionalidade representa un risco de seguridade";
$ShortOpenTagInfo = "Permite utilizar etiquetas abreviadas ou non. Esta funcionalidade non se debería usar";
@ -845,4 +845,36 @@ $ToolCourseMaintenance = "Mantenimiento del curso";
$AreYouSureToDeleteAllDates = "¿Confirma que desea borrar todas las fechas?";
$AddADateTime = "Añadir fecha";
$DeleteAllAttendances = "Eliminar todas las asistencias creadas";
?>
$ThematicControl = "Control tematico";
$ThematicDetails = "Vista temática con detalles";
$ThematicList = "Vista temática como lista";
$Thematic = "Temática";
$ThematicPlan = "Plan temático";
$EditThematicPlan = "Editar plan temático";
$EditThematicAdvance = "Editar avance temático";
$ThereIsNoStillAthematicSection = "Todavía no hay una sección temática";
$NewThematicSection = "Nueva sección temática";
$DeleteAllThematics = "Borrar todas las temáticas";
$ThematicDetailsDescription = "Se detalla las temáticas con sus respectivos planes y avances, para asignar un avance como terminado se debe seleccionar la fecha de acuerdo al orden y el sistema determinará las anteriores fechas como terminadas";
$SkillToAcquireQuestions = "¿Qué habilidades se adquieren al término de esta sección temática?";
$SkillToAcquire = "Habilidad a adquirir";
$InfrastructureQuestions = "¿Qué infraestructura es necesaria para llevar a cabo con normalidad esta sección temática?";
$Infrastructure = "Infraestructura";
$AditionalNotesQuestions = "¿Qué otras cosas se requiere?";
$DurationInHours = "Duración en horas";
$ThereAreNoAttendancesInsideCourse = "No hay asistencias dentro del curso";
$YouMustSelectAtleastAStartDate = "Debes seleccionar al menos una fecha de inicio";
$EditTematicAdvance = "Editar avance temático";
$AditionalNotes = "Notas adicionales";
$StartDateFromAnAttendance = "Fecha de inicio a partir de una asistencia";
$StartDateCustom = "Fecha de inicio personalizado";
$StartDateOptions = "Opciones de fecha de inicio";
$ThematicAdvanceConfiguration = "Configuración para el avance temático";
$InfoAboutAdvanceInsideHomeCourse = "Información sobre el avance temático en la página principal del curso";
$DisplayAboutLastDoneAdvance = "Mostrar información sobre el último avance temático hecho";
$DisplayAboutNextAdvanceNotDone = "Mostrar información sobre el siguiente avance temático que no esta hecho";
$InfoAboutLastDoneAdvance = "Información sobre el último avance temático realizado";
$InfoAboutNextAdvanceNotDone = "Información sobre el siguiente avance temático que aún no se ha realizado";
$ThereIsNoAThematicAdvance = "No existe un avance temático";
$StillDoNotHaveAThematicPlan = "Aún no tiene un plan temático";