Browse Source

Adding more fixes to the PDF export see BT#4080

Julio Montoya 13 years ago
parent
commit
a9a93ac9da

+ 2 - 1
main/gradebook/gradebook_flatview.php

@@ -127,6 +127,7 @@ if (isset($_GET['exportpdf']))	{
         $params['join_firstname_lastname'] = true;
         $params['show_usercode'] = true;
         $params['export_pdf'] = true;        
+        $params['only_total_category'] = false;
 		export_pdf_flatview($cat, $users, $alleval, $alllinks, $params);
 	} else {
 		Display :: display_header(get_lang('ExportPDF'));
@@ -134,7 +135,7 @@ if (isset($_GET['exportpdf']))	{
 }
 
 if (isset ($_GET['print']))	{
-	$printable_data = get_printable_data ($cat[0], $users, $alleval, $alllinks);
+	$printable_data = get_printable_data($cat[0], $users, $alleval, $alllinks);
 	echo print_table($printable_data[1],$printable_data[0], get_lang('FlatView'), $cat[0]->get_name());
 	exit;
 }

+ 42 - 41
main/gradebook/lib/flatview_data_generator.class.php

@@ -12,7 +12,6 @@
  */
 class FlatViewDataGenerator
 {
-
 	// Sorting types constants
 	const FVDG_SORT_LASTNAME = 1;
 	const FVDG_SORT_FIRSTNAME = 2;
@@ -67,8 +66,13 @@ class FlatViewDataGenerator
                 $headers[] = get_lang('LastnameAndFirstname');	
             }
         } else {
-            $headers[] = get_lang('LastName');
-            $headers[] = get_lang('FirstName');
+            if (api_is_western_name_order()) {
+                $headers[] = get_lang('FirstName');
+                $headers[] = get_lang('LastName');                
+            } else {
+                $headers[] = get_lang('LastName');
+                $headers[] = get_lang('FirstName');                
+            }
         }
 		if (!isset($items_count)) {
 			$items_count = count($this->evals_links) - $items_start;
@@ -109,8 +113,12 @@ class FlatViewDataGenerator
             $allcat  = $this->category->get_subcategories(null, $course_code, $session_id, 'ORDER BY id');   
             
             foreach ($allcat as $sub_cat) {
-                 $sub_cat_weight = 100*$sub_cat->get_weight()/$main_weight;                 
-                 $headers[] = Display::url($sub_cat->get_name(), api_get_self().'?selectcat='.$sub_cat->get_id()).' '.$sub_cat_weight.' % ';
+                 $sub_cat_weight = 100*$sub_cat->get_weight()/$main_weight;
+                 $add_weight = " $sub_cat_weight %";
+                 if (isset($this->params['export_pdf']) && $this->params['export_pdf']) {
+                    $add_weight = null;
+                 }
+                 $headers[] = Display::url($sub_cat->get_name(), api_get_self().'?selectcat='.$sub_cat->get_id()).$add_weight;                    
             }               
         } else {
             if (!isset($this->params['only_total_category'])) {
@@ -122,7 +130,7 @@ class FlatViewDataGenerator
                 }
             }            
         }
-        $headers[] = get_lang('GradebookQualificationTotal').' 100%';
+        $headers[] = api_strtoupper(get_lang('GradebookQualificationTotal'));
 		return $headers;
 	}
 	
@@ -178,12 +186,14 @@ class FlatViewDataGenerator
 		if ($items_count < 0) {
 			$items_count = 0;
 		}
+        
 		// copy users to a new array that we will sort
 		// TODO - needed ?
 		$usertable = array ();
 		foreach ($this->users as $user) {
 			$usertable[] = $user;
 		}
+        
 		// sort users array
 		if ($users_sorting & self :: FVDG_SORT_LASTNAME) {
 			usort($usertable, array ('FlatViewDataGenerator','sort_by_last_name'));
@@ -240,7 +250,7 @@ class FlatViewDataGenerator
         if (isset($this->params['export_pdf']) && $this->params['export_pdf']) {     
             $export_to_pdf = true;
         }
-        
+                
 		foreach ($selected_users as $user) {             
 			$row = array();     
             if ($export_to_pdf) {
@@ -265,11 +275,21 @@ class FlatViewDataGenerator
                 }
             } else {
                 if ($export_to_pdf) {
-                    $row['lastname']    = $user[2];	//last name
-                    $row['firstname']   = $user[3];	//first name    
+                    if (api_is_western_name_order()) {
+                        $row['firstname']   = $user[3];
+                        $row['lastname']    = $user[2];                        
+                    } else {
+                        $row['lastname']    = $user[2];
+                        $row['firstname']   = $user[3];
+                    }
                 } else {
-                    $row[]    = $user[2];	//last name
-                    $row[]   = $user[3];	//first name    
+                    if (api_is_western_name_order()) {
+                        $row[]   = $user[3];	//first name    
+                        $row[]   = $user[2];	//last name                        
+                    } else {
+                        $row[]   = $user[2];	//last name
+                        $row[]   = $user[3];	//first name                            
+                    }
                 }
             }
           
@@ -304,19 +324,11 @@ class FlatViewDataGenerator
                     //$temp_score = $scoredisplay->display_score($score, SCORE_DIV_PERCENT, SCORE_ONLY_SCORE);                    
                     $temp_score = $scoredisplay->display_score($score, SCORE_DIV_SIMPLE_WITH_CUSTOM);
                     
-                    if (!isset($this->params['only_total_category'])) {
+                    if (!isset($this->params['only_total_category']) || (isset($this->params['only_total_category']) && $this->params['only_total_category'] == false)) {
                         if (!$show_all) {
-                            if ($export_to_pdf) {
-                                $row['score'] = $temp_score.' ';                   
-                            } else {
-                                $row[] = $temp_score.' ';                   
-                            }
+                           $row[] = $temp_score.' ';   
                         } else {                 
-                            if ($export_to_pdf) {
-                                $row['score'] = $temp_score;                        
-                            } else {
-                                $row[] = $temp_score;
-                            }
+                           $row[] = $temp_score;
                         }                    
                     }
                     $item_value_total +=$item_value;    
@@ -347,32 +359,20 @@ class FlatViewDataGenerator
                     $temp_score = $scoredisplay->display_score($score, SCORE_DIV_PERCENT, SCORE_ONLY_SCORE);
                     //$temp_score = $scoredisplay->display_score($score, SCORE_DIV_SIMPLE_WITH_CUSTOM);
                     
-                    if (!isset($this->params['only_total_category'])) {
+                    if (!isset($this->params['only_total_category']) || (isset($this->params['only_total_category']) && $this->params['only_total_category'] == false)) {
                         if (!$show_all) {                            
                             if (in_array($item->get_type() , array(LINK_EXERCISE, LINK_DROPBOX, LINK_STUDENTPUBLICATION, 
                                                                 LINK_LEARNPATH, LINK_FORUM_THREAD,  LINK_ATTENDANCE,LINK_SURVEY))) {
                                 if (!empty($score[0])) {
-                                    if ($export_to_pdf) {
-                                        $row['score'] = $temp_score.' ';
-                                    } else {
-                                        $row[] = $temp_score.' ';
-                                    }                                        
+                                   $row[] = $temp_score.' ';                                        
                                 } else {
-                                    $row['score'] = '';
+                                   $row[] = '';
                                 }
                             } else {                                
-                                if ($export_to_pdf) {
-                                    $row['score'] = $temp_score.' ';
-                                } else {
-                                    $row[] = $temp_score.' ';
-                                }
+                                $row[] = $temp_score.' ';
                             }					
-                        } else {                            
-                            if ($export_to_pdf) {
-                                $row['score'] = $temp_score;
-                            } else {
-                                $row[] = $temp_score;
-                            }                            
+                        } else {                         
+                           $row[] = $temp_score;                           
                         }          
                     }
                     $item_value_total +=$item_value;              
@@ -396,7 +396,8 @@ class FlatViewDataGenerator
                     $row[] = $scoredisplay->display_score($total_score, SCORE_DIV_SIMPLE_WITH_CUSTOM_LETTERS);
                 }
 			}
-			unset($score);
+			unset($score); 
+            //var_dump($row);exit;
 			$data[] = $row;
 		}        
 		return $data;

+ 42 - 64
main/gradebook/lib/gradebook_functions.inc.php

@@ -30,16 +30,6 @@ require_once api_get_path(LIBRARY_PATH).'grade_model.lib.php';
  * @return  boolean True on success, false on failure
  */
 function add_resource_to_course_gradebook($category_id, $course_code, $resource_type, $resource_id, $resource_name='', $weight=0, $max=0, $resource_description='',  $visible=0, $session_id = 0) {
-    /* See defines in lib/be/linkfactory.class.php
-    define('LINK_EXERCISE',1);
-    define('LINK_DROPBOX',2);
-    define('LINK_STUDENTPUBLICATION',3);
-    define('LINK_LEARNPATH',4);
-    define('LINK_FORUM_THREAD',5),
-    define('LINK_WORK',6);
-    */ 
-    require_once api_get_path(SYS_CODE_PATH).'gradebook/lib/be.inc.php';
-   
     $link = LinkFactory :: create($resource_type);
     $link->set_user_id(api_get_user_id());
     $link->set_course_code($course_code);
@@ -72,17 +62,11 @@ function add_resource_to_course_gradebook($category_id, $course_code, $resource_
 }
 
 function block_students() {    
-	//if (!api_is_allowed_to_create_course()) {
     if (!api_is_allowed_to_edit()) {		
 		api_not_allowed();
 	}
 }
 
-/**
- * Returns the info header for the user result page
- * @param $userid
- */
-
 /**
  * Returns the course name from a given code
  * @param string $code
@@ -95,6 +79,7 @@ function get_course_name_from_code($code) {
 		return $col['title'];
 	}
 }
+
 /**
  * Builds an img tag for a gradebook item
  * @param string $type value returned by a gradebookitem's get_icon_name()
@@ -157,7 +142,6 @@ function get_icon_file_name ($type) {
 	return api_get_path(WEB_IMG_PATH).$icon;
 }
 
-
 /**
  * Builds the course or platform admin icons to edit a category
  * @param object $cat category object
@@ -211,11 +195,6 @@ function build_edit_icons_cat($cat, $selectcat) {
             } else {
                 //$modify_icons .= '&nbsp;<img src="../img/deplacer_fichier_na.gif" border="0" title="' . get_lang('Move') . '" alt="" />';
             }
-
-            if (empty($grade_model_id) || $grade_model_id == -1) {
-                /*$modify_icons .= ' <a href="gradebook_edit_all.php?id_session='.api_get_session_id().'&amp;cidReq='.$cat->get_course_code().'&selectcat=' . $cat->get_id() . '"> '.
-                    Display::return_icon('percentage.png', get_lang('EditAllWeights'),'',ICON_SIZE_SMALL).' </a>';                            */
-            }
             if ($cat->is_locked() && !api_is_platform_admin()) {
                 $modify_icons .= Display::return_icon('delete_na.png', get_lang('DeleteAll'),'',ICON_SIZE_SMALL);
             } else {
@@ -371,8 +350,7 @@ function get_resource_from_course_gradebook($link_id) {
  * @return   bool    false on error, true on success
  */
 function remove_resource_from_course_gradebook($link_id) {
-    if ( empty($link_id) ) { return false; }
-    require_once api_get_path(SYS_CODE_PATH).'gradebook/lib/be.inc.php';
+    if ( empty($link_id) ) { return false; }    
     // TODO find the corresponding category (the first one for this course, ordered by ID)
     $l = Database::get_main_table(TABLE_MAIN_GRADEBOOK_LINK);
     $sql = "DELETE FROM $l WHERE id = ".(int)$link_id;
@@ -409,8 +387,7 @@ function get_course_id_by_link_id($id_link) {
 	return $array['id'];
 }
 
-function get_table_type_course($type) {
-	global $_configuration;
+function get_table_type_course($type) {	
 	global $table_evaluated;
 	return Database::get_course_table($table_evaluated[$type][0]);
 }
@@ -699,17 +676,18 @@ function load_gradebook_select_in_tool($form) {
     }
 }
 
-function export_pdf_flatview($cat, $users, $alleval, $alllinks, $params = array()) {
-    // Beginning of PDF report creation
-
+/**
+ * PDF report creation
+ */
+function export_pdf_flatview($cat, $users, $alleval, $alllinks, $params = array()) {    
+    //Getting data
     $printable_data = get_printable_data($cat[0], $users, $alleval, $alllinks, $params);    
 
     // Reading report's CSS
     $css_file = api_get_path(SYS_CODE_PATH).'gradebook/print.css';
     $css = file_exists($css_file) ? @file_get_contents($css_file) : '';
 
-    // HTML report creation first
-    $time = time();
+    // HTML report creation first    
     $course_code = trim($cat[0]->get_course_code());
     $organization = api_get_setting('Institution');
 
@@ -757,17 +735,20 @@ function export_pdf_flatview($cat, $users, $alleval, $alllinks, $params = array(
     }
     
     if ($use_grade_model) {   
-        if ($parent_id == 0) {
-            $title = '<h2 align="center">'.get_lang('FlatView').'</h2>';    
+        if ($parent_id == 0) {         
+            $title = '<h2 align="center">'.api_strtoupper(get_lang('Average')).'<br />'.get_lang('Detailed').'</h2>';
         } else {
-            $title = '<h2 align="center">'.$cat[0]->get_description().' - ('.$cat[0]->get_name().') </h2>';            
+            $title = '<h2 align="center"> '.api_strtoupper(get_lang('Average')).'<br />'.$cat[0]->get_description().' - ('.$cat[0]->get_name().')</h2>';
         }
     } else {
-        $title = '<h2 align="center">'.get_lang('FlatView').'</h2>';
+        if ($parent_id == 0) {
+            $title = '<h2 align="center">'.api_strtoupper(get_lang('Average')).'<br />'.get_lang('Detailed').'</h2>';
+        } else {
+            $title = '<h2 align="center">'.api_strtoupper(get_lang('Average')).'</h2>';
+        }
     }
     
     Display::$global_template->assign('pdf_title', $title);
-
     //Showing only the current teacher/admin instead the all teacherlist name see BT#4080
     //$teacher_list = CourseManager::get_teacher_list_from_course_code_to_string($course_code);
     $user_info = api_get_user_info();    
@@ -783,59 +764,55 @@ function export_pdf_flatview($cat, $users, $alleval, $alllinks, $params = array(
  
     $columns  = count($printable_data[0]);
     $has_data = is_array($printable_data[1]) && count($printable_data[1]) > 0;
-
-    if (api_is_western_name_order()) {
-        // Choosing the right person name order according to the current language.        
-        if (!isset($params['join_firstname_lastname'])) {                  
-            //list($printable_data[0][$firstname_position], $printable_data[0][$lastname_position]) = array($printable_data[0][$lastname_position], $printable_data[0][$firstname_position]);
-            if ($has_data) {
-                foreach ($printable_data[1] as &$printable_data_row) {
-                    list($printable_data_row['firstname'], $printable_data_row['lastname']) = array($printable_data_row['lastname'], $printable_data_row['firstname']);
-                }
-            }
-        }        
-    }
-    
+        
     $table = new HTML_Table(array('class' => 'data_table'));
     $row = 0;
     $column = 0;    
     
-    $table->setHeaderContents($row, $column, get_lang('NumberAbbreviation'));$column++;
+    $table->setHeaderContents($row, $column, get_lang('NumberAbbreviation'));
+    $column++;
     foreach ($printable_data[0] as $printable_data_cell) {
+        $printable_data_cell = strip_tags($printable_data_cell);
         $table->setHeaderContents($row, $column, $printable_data_cell);
         $column++;
     }
     $row++;
+    
     if ($has_data) {
         $counter = 1;
+        //var_dump($printable_data);exit;
         foreach ($printable_data[1] as &$printable_data_row) {
             $column = 0;
             $table->setCellContents($row, $column, $counter); 
             $table->updateCellAttributes($row, $column, 'align="center"');
-            $column++; $counter++;
-                
+            $column++; 
+            $counter++;            
+            
             foreach ($printable_data_row as $key => &$printable_data_cell) {
                 $attributes = array();
                 $attributes['align'] = 'center';                
-                if (in_array($key, array('name'))) {
+                $attributes['style'] = null;
+                
+                if ($key === 'name') {
                     $attributes['align'] = 'left';
                 }
-                if (in_array($key, array('total'))) {
-                    $attributes['style'] = 'font-weight:bold';                    
-                }                
+                if ($key === 'total') {
+                    $attributes['style'] = 'font-weight:bold';                 
+                }
+                //var_dump($key, $printable_data_cell, $attributes);
                 $table->setCellContents($row, $column, $printable_data_cell);
                 $table->updateCellAttributes($row, $column, $attributes);
                 $column++;
             }
             $table->updateRowAttributes($row, $row % 2 ? 'class="row_even"' : 'class="row_odd"', true);
             $row++;
-        }
+        }   
+        //exit;
     } else {
         $column = 0;
         $table->setCellContents($row, $column, get_lang('NoResults'));
         $table->updateCellAttributes($row, $column, 'colspan="'.$columns.'" align="center" class="row_odd"');
-    }
-    
+    }    
     
     Display::$global_template->assign('pdf_table', $table->toHtml());
 
@@ -849,16 +826,17 @@ function export_pdf_flatview($cat, $users, $alleval, $alllinks, $params = array(
     //Header
     $html = $gradebook_flatview;  
     
-    $html         = api_utf8_encode($html);
+    $html = api_utf8_encode($html);
     $page_format = $params['orientation'] == 'landscape' ? 'A4-L' : 'A4';
     $pdf = new PDF($page_format, $params['orientation']);
 
-    // Sending the created PDF report to the client
-    $file_name = date('YmdHi_', $time);
+    // Sending the created PDF report to the client    
+    $file_name = null;
     if (!empty($course_code)) {
-        $file_name .= $course_code.'_';
+        $file_name .= $course_code;
     }
-    $file_name .= get_lang('FlatView').'.pdf';
+    $file_name = api_get_utc_datetime();
+    $file_name = get_lang('FlatView').'_'.$file_name.'.pdf';
     $pdf->content_to_pdf($html, $css, $file_name, api_get_course_id());
     exit;	
 }

+ 4 - 4
main/lang/spanish/gradebook.inc.php

@@ -80,7 +80,7 @@ $LinkDeleted = "El componente de evaluación ha sido eliminado";
 $EditEvaluation = "Modificar componente de evaluación";
 $DeleteResult = "Eliminar resultados";
 $Display = "Nivel";
-$Average = "Media";
+$Average = "Promedio";
 $ViewStatistics = "Ver estadísticas";
 $ResultAdded = "Resultado añadido";
 $EvaluationStatistics = "Estadísticas de evaluación";
@@ -103,9 +103,9 @@ $OverMax = "El valor que ha intentado guardar es superior al límite máximo est
 $MoreInfo = "Más información";
 $ResultsPerUser = "Resultados por usuario";
 $TotalUser = "Total por usuario";
-$AverageTotal = "Media total";
+$AverageTotal = "Promedio total";
 $Evaluation = "Componente de evaluación";
-$EvaluationAverage = "Media de la evaluación";
+$EvaluationAverage = "Promedio de la evaluación";
 $EditCategory = "Editar sus propiedades";
 $EditAllWeights = "Editar ponderaciones";
 $GradebookQualificationTotal = "Total";
@@ -133,7 +133,7 @@ $NoResultsAvailable = "No hay resultados disponibles";
 $CannotChangeTheMaxNote = "No se puede cambiar la nota máxima";
 $GradebookWeightUpdated = "Peso(s) modificado(s) correctamente";
 $ChooseItem = "Seleccione un item";
-$AverageResultsVsResource = "Media de resultados por componente de evaluación";
+$AverageResultsVsResource = "Promedio de resultados por componente de evaluación";
 $ToViewGraphScoreRuleMustBeEnabled = "Para ver el gráfico las reglas de puntuación deben haberse definido";
 $GradebookPreviousWeight = "Ponderación previa";
 $AddAssessment = "Crear";

+ 14 - 13
main/lang/spanish/trad4all.inc.php

@@ -817,7 +817,7 @@ $AssignSessions = "Asignar sesiones de formación";
 $Timezone = "Zona horaria";
 $DashboardPluginsHaveBeenUpdatedSucesslly = "Los plugins del panel de control han sido actualizados correctamente";
 $LoginEnter = "Entrar";
-$AttendanceSheetDescription = "Las listas de asistencia permiten registrar las faltas de asistencia de los estudiantes. En caso de ausencia de un estudiante, el profesor deberá registrarlo manualmente en la casilla correspondiente.
+$AttendanceSheetDescription = "Las listas de asistencia permiten registrar las faltas de asistencia de los estudiantes. En caso de ausencia de un estudiante, el profesor deberá registrarlo manualmente en la casilla correspondiente.
 Es posible crear más de una lista de asistencia por cada curso; así por ejemplo, podrá registrar separadamente la asistencia a las clases teóricas y prácticas.";
 $ThereAreNoRegisteredLearnersInsidetheCourse = "No hay estudiantes inscritos en este curso";
 $GoToAttendanceCalendarList = "Ir al calendario de asistencia";
@@ -928,14 +928,14 @@ $SendInformation = "Enviar la información";
 $YouMustAcceptLicence = "Debe aceptar la licencia para poder usar este software";
 $SelectOne = "Seleccione uno";
 $ContactInformationHasBeenSent = "Información de contacto enviada";
-$ContactInformationDescription = "Estimado usuario,
-
-está a punto de instalar una de las mejores plataformas e-learning de código abierto que existen en el mercado. Al igual de muchos otros proyectos de código abierto, Chamilo está respaldado por una amplia comunidad de profesores, estudiantes, desarrolladores y creadores de contenido.
-
-Si sabemos algo más de quien va a gestionar este sistema e-learning, podremos dar a conocer a otros que nuestro software lo utiliza y a usted podremos informarle sobre eventos que pueden ser de su interés.
-
-Cumplimentar este formulario, implica la aceptación de que la asociación Chamilo o sus miembros puedan enviarle información por correo electrónico sobre eventos importantes o actualizaciones en el software Chamilo. Esto ayudará a crecer a la comunidad como una entidad organizada, donde el flujo de información, se haga con respeto permanente a su tiempo y su privacidad.
-
+$ContactInformationDescription = "Estimado usuario,
+
+está a punto de instalar una de las mejores plataformas e-learning de código abierto que existen en el mercado. Al igual de muchos otros proyectos de código abierto, Chamilo está respaldado por una amplia comunidad de profesores, estudiantes, desarrolladores y creadores de contenido.
+
+Si sabemos algo más de quien va a gestionar este sistema e-learning, podremos dar a conocer a otros que nuestro software lo utiliza y a usted podremos informarle sobre eventos que pueden ser de su interés.
+
+Cumplimentar este formulario, implica la aceptación de que la asociación Chamilo o sus miembros puedan enviarle información por correo electrónico sobre eventos importantes o actualizaciones en el software Chamilo. Esto ayudará a crecer a la comunidad como una entidad organizada, donde el flujo de información, se haga con respeto permanente a su tiempo y su privacidad.
+
 De cualquier forma, tenga en cuenta que no tiene la obligación de rellenar este formulario. Si desea permanecer en el anonimato, perderemos la oportunidad de ofrecerle todos los privilegios de ser un administrador de portal registrado, pero respetaremos su decisión. Basta con dejar vacío este formulario y hacer clic en \"Siguiente\" para seguir instalando Chamilo.";
 $CompanyActivity = "Sector";
 $DateUnLock = "Desbloquear fecha";
@@ -1133,11 +1133,11 @@ $CertificateOnlineLink = "Vínculo al certificado en línea";
 $NewExercises = "Nuevo ejercicio";
 $MyAverage = "Mi promedio";
 $AllAttempts = "Todos los intentos";
-$NoCookies = "Las cookies no están activadas en su navegador.
+$NoCookies = "Las cookies no están activadas en su navegador.
 Chamilo utiliza \"cookies\" para almacenar sus datos de conexión, por lo que no le será posible entrar si las cookies no están habilitadas. Por favor, cambie la configuración de su navegador y recargue esta página.";
-$NoJavascript = "Su navegador no tiene activado JavaScript.
+$NoJavascript = "Su navegador no tiene activado JavaScript.
 Chamilo se sirve de JavaScript para proporcionar un interfaz más dinámico. Es probable que muchas prestaciones sigan funcionando pero otras no lo harán, especialmente las relacionadas con la usabilidad. Le recomendamos que cambie la configuración de su navegador y recargue esta página.";
-$NoFlash = "Su navegador no tiene activado el soporte de Flash.
+$NoFlash = "Su navegador no tiene activado el soporte de Flash.
 Chamilo sólo se apoya en Flash para algunas de sus funciones por lo que su ausencia no le impedirá continuar. Pero si quiere beneficiarse del conjunto de las herramientas de Chamilo, le recomendamos que instale-active el plugin de Flash y reinicialice su navegador.";
 $Attempt = "Intento";
 $SaveForNow = "Guardar y continuar más tarde";
@@ -1217,7 +1217,7 @@ $LoginX = "Nombre de usuario: %s";
 $ChatConnected = "Chat (Conectado)";
 $ChatDisconnected = "Chat (Desconectado)";
 $ThingsToDo = "Actividades por realizar";
-$WamiFlashDialog = "Se mostrará un cuadro de diálogo en el que se le pedirá permiso para poder acceder al micrófono, responda afirmativamente y cierre el cuadro de diálogo (si no desea que vuelva a aparecer, antes de cerrar marque la opción
+$WamiFlashDialog = "Se mostrará un cuadro de diálogo en el que se le pedirá permiso para poder acceder al micrófono, responda afirmativamente y cierre el cuadro de diálogo (si no desea que vuelva a aparecer, antes de cerrar marque la opción
 recordar)";
 $WamiStartRecorder = "Inicie la grabación pulsando el micrófono y deténgala pulsándolo de nuevo. Cada vez que haga esto se generará un archivo.";
 $InputNameHere = "Escriba el nombre aquí";
@@ -1232,4 +1232,5 @@ $CourseList = "Lista de cursos";
 $NumberAbbreviation = "N°";
 $FirstnameAndLastname = "Nombres y Apellidos";
 $LastnameAndFirstname = "Apellidos y Nombres";
+$Detailed = "Detallado";
 ?>