Browse Source

Minor UI changes

Julio Montoya 12 years ago
parent
commit
ee971bdf03

+ 3 - 2
main/admin/session_add.php

@@ -220,8 +220,6 @@ if (!empty($categories)) {
     }
 }
 
-//Categories
-$form->addElement('select', 'session_category_id', get_lang('SessionCategory'), $select_categories, array('id' => 'session_category_id', 'class' => 'chzn-select'));
 
 //Coaches
 //$coaches = SessionManager::get_user_list();
@@ -251,6 +249,9 @@ $form->addElement('text', 'coach_access_start_date', array(get_lang('SessionCoac
 $form->addElement('text', 'coach_access_end_date', array(get_lang('SessionCoachEndDate'), get_lang('SessionCoachEndDateComment')), array('id' => 'coach_access_end_date'));
 $form->addRule(array('coach_access_start_date', 'coach_access_end_date'), get_lang('StartDateMustBeBeforeTheEndDate'), 'compare_datetime_text', '< allow_empty');
 
+//Session categories
+$form->addElement('select', 'session_category_id', get_lang('SessionCategory'), $select_categories, array('id' => 'session_category_id_name', 'class' => null));
+
 $session_field = new SessionField();
 $session_field->add_elements($form, $id);
 

+ 12 - 12
main/admin/session_course_edit.php

@@ -13,10 +13,10 @@ require_once '../inc/global.inc.php';
 $id_session = intval($_GET['id_session']);
 SessionManager::protect_session_edit($id_session);
 
-$course_code=trim(stripslashes($_GET['course_code']));
+$course_code = Database::escape_string($_GET['course_code']);
 
-$formSent=0;
-$errorMsg='';
+$formSent = 0;
+$errorMsg = '';
 
 // Database Table Definitions
 $tbl_user			= Database::get_main_table(TABLE_MAIN_USER);
@@ -26,14 +26,15 @@ $tbl_session_course	= Database::get_main_table(TABLE_MAIN_SESSION_COURSE);
 $tbl_session_rel_course_rel_user	= Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER);
 
 $course_info=api_get_course_info($_REQUEST['course_code']);
-$tool_name=$course_info['name'];
+$tool_name = $course_info['name'];
 
 $interbreadcrumb[]=array('url' => 'index.php',"name" => get_lang('PlatformAdmin'));
 $interbreadcrumb[]=array('url' => "session_list.php","name" => get_lang("SessionList"));
 $interbreadcrumb[]=array('url' => "resume_session.php?id_session=".$id_session,"name" => get_lang('SessionOverview'));
 $interbreadcrumb[]=array('url' => "session_course_list.php?id_session=$id_session","name" =>api_htmlentities($session_name,ENT_QUOTES,$charset));
 
-$result = Database::query("SELECT s.name, c.title FROM $tbl_session_course sc,$tbl_session s,$tbl_course c WHERE sc.id_session=s.id AND sc.course_code=c.code AND sc.id_session='$id_session' AND sc.course_code='".addslashes($course_code)."'");
+$result = Database::query("SELECT s.name, c.title FROM $tbl_session_course sc,$tbl_session s,$tbl_course c 
+                           WHERE sc.id_session=s.id AND sc.course_code=c.code AND sc.id_session='$id_session' AND sc.course_code='".$course_code."'");
 
 if (!list($session_name,$course_title)=Database::fetch_row($result)) {
 	header('Location: session_course_list.php?id_session='.$id_session);
@@ -68,7 +69,7 @@ if ($_POST['formSent']) {
 		$array_intersect = array_diff($coachs_course_session,$id_coachs);
 
 		foreach ($array_intersect as $nocoach_user_id) {
-			$rs2 = SessionManager::set_coach_to_course_session($nocoach_user_id, $id_session, $course_code,true);
+			$rs2 = SessionManager::set_coach_to_course_session($nocoach_user_id, $id_session, $course_code, true);
 		}
 
 		header('Location: '.Security::remove_XSS($_GET['page']).'?id_session='.$id_session);
@@ -96,19 +97,18 @@ if ($_configuration['multiple_access_urls']) {
     $sql="SELECT user_id,lastname,firstname,username FROM $tbl_user WHERE status='1'".$order_clause;
 }
 
-$result=Database::query($sql);
+$result = Database::query($sql);
 
-$coaches=Database::store_result($result);
+$coaches = Database::store_result($result);
 
 Display::display_header($tool_name);
 
-$tool_name=get_lang('ModifySessionCourse');
-api_display_tool_title($tool_name);
+$tool_name = get_lang('ModifySessionCourse');
+echo Display::page_header($tool_name);
 ?>
 <form method="post" action="<?php echo api_get_self(); ?>?id_session=<?php echo $id_session; ?>&course_code=<?php echo urlencode($course_code); ?>&page=<?php echo Security::remove_XSS($_GET['page']) ?>" style="margin:0px;">
 <input type="hidden" name="formSent" value="1">
-
-<table border="0" cellpadding="5" cellspacing="0" width="600px">
+<table>
 
 <?php
 if(!empty($errorMsg)) {

+ 39 - 4
main/inc/lib/sortable_table.class.php

@@ -96,6 +96,12 @@ class SortableTable extends HTML_Table {
      * Activates the odd even rows  
      * **/
     public $odd_even_rows_enabled = true;
+    
+    public $use_jqgrid = false;
+    
+    public $table_id = null;
+    
+    public $headers = array();
 
 
 	/**
@@ -112,8 +118,12 @@ class SortableTable extends HTML_Table {
 	 * @param string $default_order_direction The default order direction;
 	 * either the constant 'ASC' or 'DESC'
 	 */
-	public function __construct($table_name = 'table', $get_total_number_function = null, $get_data_function = null, $default_column = 1, $default_items_per_page = 20, $default_order_direction = 'ASC') {
-		parent :: __construct (array ('class' => 'data_table'));
+	public function __construct($table_name = 'table', $get_total_number_function = null, $get_data_function = null, $default_column = 1, $default_items_per_page = 20, $default_order_direction = 'ASC', $table_id = null) {
+        if (empty($table_id)) {
+            $table_id = $table_name.uniqid();
+        }
+        $this->table_id = $table_id;
+		parent :: __construct (array('class' => 'data_table', 'id' => $table_id));
 		$this->table_name = $table_name;
 		$this->additional_parameters = array ();
 		$this->param_prefix = $table_name.'_';
@@ -125,7 +135,6 @@ class SortableTable extends HTML_Table {
 		
 		//$this->direction = isset ($_SESSION[$this->param_prefix.'direction']) ? $_SESSION[$this->param_prefix.'direction'] : $default_order_direction;
 
-
 		if (isset($_SESSION[$this->param_prefix.'direction'])) {
 			$my_session_direction = $_SESSION[$this->param_prefix.'direction'];
         	if (!in_array($my_session_direction, array('ASC', 'DESC'))) {
@@ -208,6 +217,8 @@ class SortableTable extends HTML_Table {
 		}
 		return $this->pager;
 	}
+    
+    
 	
 	public function display() {
 		echo $this->return_table();
@@ -249,9 +260,32 @@ class SortableTable extends HTML_Table {
     			$html .= '</tr>';
     			$html .= '</table>';
             }
+            $col = array();
+            $colModel = array();
+            foreach($this->headers as $key => $value) {
+                $col[] = $value;
+                $colModel[] = array('name' => "$key", 'index' => "$key"); 
+            }
+            $col = json_encode($col); 
+            $colModel = json_encode($colModel); 
+            $colModel = str_replace('"name"', 'name', $colModel);
+            $colModel = str_replace('"index"', 'index', $colModel);
+    
+            if ($this->use_jqgrid) {
+                $html .= '<script>
+                    $(function() {  
+                    tableToGrid("#'.$this->table_id.'", { 
+                        height: "auto",        
+                        colNames:'.$col.' ,
+                        colModel: '.$colModel.',                        
+                        sortname: "'.$this->column.'"
+                    });    
+                });
+                </script>';
+            }
 			
 			if (count($this->form_actions) > 0) {
-				$html .= '<script type="text/javascript">                            
+				$html .= '<script>                            
                             function setCheckbox(value) {
                                 d = document.form_'.$this->table_name.';
                                 for (i = 0; i < d.elements.length; i++) {
@@ -732,6 +766,7 @@ class SortableTable extends HTML_Table {
 		if (!is_null($th_attributes)) {
 			$this->th_attributes[$column] = $th_attributes;
 		}
+        $this->headers[$column] = $label;
 	}
 
 	/**

+ 15 - 8
main/inc/lib/usermanager.lib.php

@@ -3613,7 +3613,7 @@ class UserManager {
                     $group = array();
                     foreach ($field_details['options'] as $option_id => $option_details) {
                         $options[$option_details['option_value']] = $option_details['option_display_text'];
-                        $group[] =$form->createElement('radio', 'extra_'.$field_details['field_variable'], $option_details['option_value'],$option_details['option_display_text'].'<br />',$option_details['option_value']);
+                        $group[] = $form->createElement('radio', 'extra_'.$field_details['field_variable'], $option_details['option_value'],$option_details['option_display_text'].'<br />',$option_details['option_value']);
                     }
                     $form->addGroup($group, 'extra_'.$field_details['field_variable'], $field_details['field_display_text'], '');
                     if (!$admin_permissions) {
@@ -3641,7 +3641,9 @@ class UserManager {
                     //chzn-select doesn't work for sessions??
                     $form->addElement('select','extra_'.$field_details['field_variable'], $field_details['field_display_text'], $options, array('class'=>'', 'id'=>'extra_'.$field_details['field_variable']));
                     if (!$admin_permissions) {
-                        if ($field_details['field_visible'] == 0)	$form->freeze('extra_'.$field_details['field_variable']);
+                        if ($field_details['field_visible'] == 0) {
+                            $form->freeze('extra_'.$field_details['field_variable']);
+                        }
                     }
                     break;
                 case self::USER_FIELD_TYPE_SELECT_MULTIPLE:
@@ -3651,7 +3653,9 @@ class UserManager {
                     }
                     $form->addElement('select','extra_'.$field_details['field_variable'], $field_details['field_display_text'], $options, array('multiple' => 'multiple'));
                     if (!$admin_permissions) {
-                        if ($field_details['field_visible'] == 0)	$form->freeze('extra_'.$field_details['field_variable']);
+                        if ($field_details['field_visible'] == 0) {
+                            $form->freeze('extra_'.$field_details['field_variable']);
+                        }
                     }
                     break;
                 case self::USER_FIELD_TYPE_DATE:
@@ -3660,7 +3664,9 @@ class UserManager {
                     $defaults['extra_'.$field_details['field_variable']] = date('Y-m-d 12:00:00');
                     $form -> setDefaults($defaults);
                     if (!$admin_permissions) {
-                        if ($field_details['field_visible'] == 0)	$form->freeze('extra_'.$field_details['field_variable']);
+                        if ($field_details['field_visible'] == 0) {
+                            $form->freeze('extra_'.$field_details['field_variable']);                            
+                        }
                     }
                     $form->applyFilter('theme', 'trim');
                     break;
@@ -3670,13 +3676,14 @@ class UserManager {
                     $defaults['extra_'.$field_details['field_variable']] = date('Y-m-d 12:00:00');
                     $form -> setDefaults($defaults);
                     if (!$admin_permissions) {
-                        if ($field_details['field_visible'] == 0)	
+                        if ($field_details['field_visible'] == 0) {
                             $form->freeze('extra_'.$field_details['field_variable']);
+                        }
                     }
                     $form->applyFilter('theme', 'trim');
                     break;
                 case self::USER_FIELD_TYPE_DOUBLE_SELECT:
-                    $values = array();                    
+                    $values = array();
                     foreach ($field_details['options'] as $key => $element) {                          
                         if ($element['option_display_text'][0] == '*') {
                             $values['*'][$element['option_value']] = str_replace('*', '', $element['option_display_text']);
@@ -3685,8 +3692,8 @@ class UserManager {
                         }
                     }                    
                     $group = array();
-                    $group[] = $form->createElement('select', 'extra_'.$field_details['field_variable'], '', $values[0], '');
-                    $group[] = $form->createElement('select', 'extra_'.$field_details['field_variable'].'*', '', $values['*'], '');
+                    $group[] = $form->createElement('select', 'extra_'.$field_details['field_variable'], null, $values[0], array('id'=>'first_extra_'.$field_details['field_variable']));
+                    $group[] = $form->createElement('select', 'extra_'.$field_details['field_variable'].'*', null, $values['*'], array('id'=>'second_extra_'.$field_details['field_variable']));
                     $form->addGroup($group, 'extra_'.$field_details['field_variable'], $field_details['field_display_text'], '&nbsp;');
                     
                     if (!$admin_permissions) {

+ 12 - 13
main/mySpace/index.php

@@ -38,6 +38,10 @@ $title 				= null;
 
 // access control
 api_block_anonymous_users();
+$htmlHeadXtra[] = api_get_jqgrid_js();
+$htmlHeadXtra[] = '<script>
+
+</script>';
 
 if (!$export_csv) {
 	Display :: display_header($nameTools);
@@ -396,9 +400,7 @@ if ((api_is_allowed_to_create_course() || api_is_drh()) && in_array($view, array
 	
 	//Courses
 	if ($count_courses) {
-		
 		echo Display::page_subheader($title);		
-		
 		$table = new SortableTable('courses_my_space', 'get_number_of_courses', array('MySpace','get_course_data'));
 		$parameters['view'] = 'teacher';
 		$parameters['class'] = 'data_table';
@@ -431,7 +433,7 @@ if ((api_is_allowed_to_create_course() || api_is_drh()) && in_array($view, array
         
 		echo Display::page_subheader('<img src="'.api_get_path(WEB_IMG_PATH).'session.png">&nbsp;'.get_lang('Sessions').' ('.$count_sessions.')');
         
-		$table = new SortableTable('tracking_sessions_myspace', 'count_sessions_coached');
+		$table = new SortableTable('tracking_sessions_myspace', 'count_sessions_coached', null, 1, 20, 'ASC', 'tracking_sessions_myspace');
 		$table->set_header(0, get_lang('Title'), false);
         $table->set_header(1, get_lang('SessionDisplayStartDate'), false);
         $table->set_header(2, get_lang('SessionDisplayEndDate'), false);
@@ -459,8 +461,10 @@ if ((api_is_allowed_to_create_course() || api_is_drh()) && in_array($view, array
 			$all_data[] = $row;
 		}
         
+        $table->use_jqgrid = true;
+        
         $tracking_column = 1;
-        usort($all_data, 'sort_sessions');
+        usort($all_data, 'sort_sessions');        
 /*
 		if (isset($_GET['tracking_direction']) &&  $_GET['tracking_direction'] == 'DESC') {
 			usort($all_data, 'rsort_sessions');
@@ -473,7 +477,7 @@ if ((api_is_allowed_to_create_course() || api_is_drh()) && in_array($view, array
 		}
 */
 		foreach ($all_data as $row) {
-			$table -> addRow($row);
+			$table->addRow($row);
 		}
 
 		/*  Start session over view stats */
@@ -509,12 +513,6 @@ if ((api_is_allowed_to_create_course() || api_is_drh()) && in_array($view, array
 			$csv_content[] = array(get_lang('NbStudentPerSession', '').';'.$nb_students_per_session);			
 			$csv_content[] = array();
 		} else {
-			// html part
-            
-            			/*<tr>
-						<td>'.get_lang('NbFutureSessions').'</td>
-						<td align="right">'.$nb_sessions_future.'</td>
-					</tr>*/
 			echo '
 			<div class="report_section">				
 				<table class="table table-bordered">
@@ -529,8 +527,9 @@ if ((api_is_allowed_to_create_course() || api_is_drh()) && in_array($view, array
 				</table>				
 			</div>';
 		}
-		/*  End session overview */				 
-		$table -> display();
+		$table->display();
+        
+        /*  End session overview */	
 	}
 }
 

+ 1 - 2
main/mySpace/myspace.lib.php

@@ -1219,7 +1219,7 @@ class MySpace {
 	 * Get data for courses list in sortable with pagination
 	 * @return array
 	 */
-	function get_course_data($from, $number_of_items, $column, $direction) {
+	static function get_course_data($from, $number_of_items, $column, $direction) {
 		global $courses, $csv_content, $charset, $session_id;
 
 		// definition database tables
@@ -1227,7 +1227,6 @@ class MySpace {
 		$tbl_course_user 			= Database :: get_main_table(TABLE_MAIN_COURSE_USER);
 		$tbl_session_course_user 	= Database :: get_main_table(TABLE_MAIN_SESSION_COURSE_USER);
 
-		$a_course_students  = array();
 		$course_data = array();
 		$courses_code = array_keys($courses);