Adding new session screen see BT#1630 no sorting funcionality yet ...

skala
Julio Montoya 14 years ago
parent cf03c1ec59
commit 32d673acfd
  1. 258
      main/inc/ajax/course_home.ajax.php
  2. 14
      main/inc/lib/text.lib.php
  3. 153
      main/session/index.php

@ -8,21 +8,21 @@ $action = $_GET['a'];
switch ($action) {
case 'set_visibility':
require_once '../global.inc.php';
if(api_is_allowed_to_edit(null,true)) {
$tool_table = Database::get_course_table(TABLE_TOOL_LIST);
$tool_id = Security::remove_XSS($_GET["id"]);
$tool_info = api_get_tool_information($tool_id);
$tool_visibility = $tool_info['visibility'];
$tool_image = $tool_info['image'];
$new_image = str_replace('.gif','_na.gif',$tool_image);
$requested_image = ($tool_visibility == 0 ) ? $tool_image : $new_image;
$requested_clase = ($tool_visibility == 0 ) ? 'visible' : 'invisible';
$requested_message = ($tool_visibility == 0 ) ? 'is_active' : 'is_inactive';
$requested_view = ($tool_visibility == 0 ) ? 'visible.gif' : 'invisible.gif';
$requested_visible = ($tool_visibility == 0 ) ? 1 : 0;
if (api_is_allowed_to_edit(null,true)) {
$tool_table = Database::get_course_table(TABLE_TOOL_LIST);
$tool_id = Security::remove_XSS($_GET["id"]);
$tool_info = api_get_tool_information($tool_id);
$tool_visibility = $tool_info['visibility'];
$tool_image = $tool_info['image'];
$new_image = str_replace('.gif','_na.gif',$tool_image);
$requested_image = ($tool_visibility == 0 ) ? $tool_image : $new_image;
$requested_clase = ($tool_visibility == 0 ) ? 'visible' : 'invisible';
$requested_message = ($tool_visibility == 0 ) ? 'is_active' : 'is_inactive';
$requested_view = ($tool_visibility == 0 ) ? 'visible.gif' : 'invisible.gif';
$requested_visible = ($tool_visibility == 0 ) ? 1 : 0;
$requested_view = ($tool_visibility == 0 ) ? 'visible.gif' : 'invisible.gif';
$requested_visible = ($tool_visibility == 0 ) ? 1 : 0;
$requested_view = ($tool_visibility == 0 ) ? 'visible.gif' : 'invisible.gif';
$requested_visible = ($tool_visibility == 0 ) ? 1 : 0;
//HIDE AND REACTIVATE TOOL
if ($_GET["id"]==strval(intval($_GET["id"]))) {
@ -44,41 +44,15 @@ switch ($action) {
$sql="UPDATE $tool_table SET visibility=$requested_visible WHERE id='".intval($_GET['id'])."'";
Database::query($sql);
}
/*
-----------------------------------------------------------
HIDE
-----------------------------------------------------------
*/
/* if(isset($_GET['visibility']) && $_GET['visibility']==0) // visibility 1 -> 0
{
if ($_GET["id"]==strval(intval($_GET["id"]))) {
$sql="UPDATE $tool_table SET visibility=0 WHERE id='".intval($_GET["id"])."'";
Database::query($sql);
}
}
/*
-----------------------------------------------------------
REACTIVATE
-----------------------------------------------------------
*/
/* elseif(isset($_GET['visibility'])&& $_GET['visibility']==1) // visibility 0,2 -> 1
{
if ($_GET["id"]==strval(intval($_GET["id"]))) {
Database::query("UPDATE $tool_table SET visibility=1 WHERE id='".intval($_GET["id"])."'");
}
}
*/
$response_data = array(
'image' => $requested_image,
'tclass' => $requested_clase,
'message' => $requested_message,
'view' => $requested_view
);
print(json_encode($response_data));
}
}
$response_data = array(
'image' => $requested_image,
'tclass' => $requested_clase,
'message' => $requested_message,
'view' => $requested_view
);
print(json_encode($response_data));
}
break;
case 'show_course_information' :
@ -99,6 +73,192 @@ switch ($action) {
// Function that displays the details of the course description in html.
echo CourseManager::get_details_course_description_html($descriptions, api_get_system_encoding(), false);
break;
case 'session_courses_lp_default':
require_once '../global.inc.php';
$libpath = api_get_path(LIBRARY_PATH);
require_once $libpath.'course.lib.php';
//require_once $libpath.'usermanager.lib.php';
require_once $libpath.'sessionmanager.lib.php';
require_once api_get_path(SYS_CODE_PATH).'newscorm/learnpathList.class.php';
$page = $_REQUEST['page']; //page
$limit = $_REQUEST['rows']; // quantity of rows
$sidx = $_REQUEST['sidx']; //index to filter
$sord = $_REQUEST['sord']; //asc or desc
$session_id = $_REQUEST['session_id'];
if(!$sidx) $sidx =1;
$start = $limit*$page - $limit;
$course_list = SessionManager::get_course_list_by_session_id($session_id);
$count = 0;
foreach ($course_list as $item) {
$list = new LearnpathList(api_get_user_id(),$item['code']);
$flat_list = $list->get_flat_list();
$lps[$item['code']] = $flat_list;
foreach($flat_list as $lp_id => $lp_item) {
$temp[$count]['id']= $lp_id;
$temp[$count]['cell']=array($lp_item['publicated_on'], $item['code'], $lp_item['lp_name']);
$count++;
}
}
$i =0;
foreach($temp as $key=>$row) {
$row = $row['cell'];
if ($key >= $start && $key < ($start + $limit)) {
$responce->rows[$i]['id']= $key;
$responce->rows[$i]['cell']=array($row[0], $row[1], $row[2]);
$i++;
}
}
if($count > 0 && $limit > 0) {
$total_pages = ceil($count/$limit);
} else {
$total_pages = 0;
}
$responce->total = $total_pages;
if ($page > $total_pages) {
$responce->page= $total_pages;
} else {
$responce->page = $page;
}
$responce->records = $count;
echo json_encode($responce);
break;
case 'session_courses_lp_by_week':
require_once '../global.inc.php';
$libpath = api_get_path(LIBRARY_PATH);
require_once $libpath.'course.lib.php';
//require_once $libpath.'usermanager.lib.php';
require_once $libpath.'sessionmanager.lib.php';
require_once api_get_path(SYS_CODE_PATH).'newscorm/learnpathList.class.php';
$page = $_REQUEST['page']; //page
$limit = $_REQUEST['rows']; // quantity of rows
$sidx = $_REQUEST['sidx']; //index to filter
$sord = $_REQUEST['sord']; //asc or desc
$session_id = $_REQUEST['session_id'];
if(!$sidx) $sidx =1;
$start = $limit*$page - $limit;
$course_list = SessionManager::get_course_list_by_session_id($session_id);
$count = 0;
foreach ($course_list as $item) {
$list = new LearnpathList(api_get_user_id(),$item['code']);
$flat_list = $list->get_flat_list();
$lps[$item['code']] = $flat_list;
foreach($flat_list as $lp_id => $lp_item) {
$temp[$count]['id']= $lp_id;
$temp[$count]['cell']=array(get_week_from_day($lp_item['publicated_on']), $lp_item['publicated_on'], $item['code'], $lp_item['lp_name']);
$count++;
}
}
$i =0;
foreach($temp as $key=>$row) {
$row = $row['cell'];
if ($key >= $start && $key < ($start + $limit)) {
$responce->rows[$i]['id']= $key;
$responce->rows[$i]['cell']=array($row[0], $row[1], $row[2],$row[3]);
$i++;
}
}
if($count > 0 && $limit > 0) {
$total_pages = ceil($count/$limit);
} else {
$total_pages = 0;
}
$responce->total = $total_pages;
if ($page > $total_pages) {
$responce->page= $total_pages;
} else {
$responce->page = $page;
}
$responce->records = $count;
echo json_encode($responce);
break;
case 'session_courses_lp_by_course':
require_once '../global.inc.php';
$libpath = api_get_path(LIBRARY_PATH);
require_once $libpath.'course.lib.php';
//require_once $libpath.'usermanager.lib.php';
require_once $libpath.'sessionmanager.lib.php';
require_once api_get_path(SYS_CODE_PATH).'newscorm/learnpathList.class.php';
$page = $_REQUEST['page']; //page
$limit = $_REQUEST['rows']; // quantity of rows
$sidx = $_REQUEST['sidx']; //index to filter
$sord = $_REQUEST['sord']; //asc or desc
$session_id = $_REQUEST['session_id'];
if(!$sidx) $sidx =1;
$start = $limit*$page - $limit;
$course_list = SessionManager::get_course_list_by_session_id($session_id);
$count = 0;
foreach ($course_list as $item) {
$list = new LearnpathList(api_get_user_id(),$item['code']);
$flat_list = $list->get_flat_list();
$lps[$item['code']] = $flat_list;
foreach($flat_list as $lp_id => $lp_item) {
$temp[$count]['id']= $lp_id;
$temp[$count]['cell']=array($lp_item['publicated_on'], $item['code'], $lp_item['lp_name']);
$count++;
}
}
$i =0;
foreach($temp as $key=>$row) {
$row = $row['cell'];
if ($key >= $start && $key < ($start + $limit)) {
$responce->rows[$i]['id']= $key;
$responce->rows[$i]['cell']=array($row[0], $row[1], $row[2],$row[3]);
$i++;
}
}
if($count > 0 && $limit > 0) {
$total_pages = ceil($count/$limit);
} else {
$total_pages = 0;
}
$responce->total = $total_pages;
if ($page > $total_pages) {
$responce->page= $total_pages;
} else {
$responce->page = $page;
}
$responce->records = $count;
echo json_encode($responce);
break;
default:
echo '';
}

@ -576,6 +576,20 @@ function get_last_week() {
return $arrdays;
}
/**
* Gets the week from a day
* @param string date in UTC (2010-01-01 12:12:12)
* @return int int with the week number of the year
*/
function get_week_from_day($date) {
if (!empty($date)) {
$time = api_strtotime($date,'UTC');
return date('W', $date);
} else {
return date('W');
}
}
/**
* Deprecated functions

@ -7,58 +7,175 @@ require_once $libpath.'course.lib.php';
//require_once $libpath.'usermanager.lib.php';
require_once $libpath.'sessionmanager.lib.php';
require_once $libpath.'formvalidator/FormValidator.class.php';
require_once $libpath.'text.lib.php';
require_once api_get_path(SYS_CODE_PATH).'newscorm/learnpathList.class.php';
api_block_anonymous_users(); // Only users who are logged in can proceed.
$this_section = SECTION_COURSES;
$htmlHeadXtra[] = '<link rel="stylesheet" href="'.api_get_path(WEB_LIBRARY_PATH).'javascript/jquery-ui/cupertino/jquery-ui-1.8.7.custom.css" type="text/css">';
$htmlHeadXtra[] = '<script src="'.api_get_path(WEB_LIBRARY_PATH).'javascript/jquery-1.4.4.min.js" type="text/javascript" language="javascript"></script>'; //jQuery
$htmlHeadXtra[] = '<script src="'.api_get_path(WEB_LIBRARY_PATH).'javascript/jquery-ui/cupertino/jquery-ui-1.8.7.custom.min.js" type="text/javascript" language="javascript"></script>'; //jQuery
$htmlHeadXtra[] = '<script src="'.api_get_path(WEB_LIBRARY_PATH).'javascript/jquery-ui/cupertino/jquery-ui-1.8.7.custom.min.js" type="text/javascript" language="javascript"></script>';
$htmlHeadXtra[] = '<link rel="stylesheet" href="'.api_get_path(WEB_LIBRARY_PATH).'javascript/jqgrid/css/ui.jqgrid.css" type="text/css">';
$htmlHeadXtra[] = '<script src="'.api_get_path(WEB_LIBRARY_PATH).'javascript/jqgrid/js/i18n/grid.locale-en.js" type="text/javascript" language="javascript"></script>';
$htmlHeadXtra[] = '<script src="'.api_get_path(WEB_LIBRARY_PATH).'javascript/jqgrid/js/jquery.jqGrid.min.js" type="text/javascript" language="javascript"></script>';
Display :: display_header($nameTools);
$session_id = intval($_GET['id_session']);
$session_id = intval($_GET['session_id']);
$session_info = SessionManager::fetch($session_id);
$session_list = SessionManager::get_sessions_by_coach(api_get_user_id());
$course_list = SessionManager::get_course_list_by_session_id($session_id);
$course_select = array();
echo Display::tag('h1', $session_info['name']);
$session_select = array();
foreach ($session_list as $item) {
$session_select[$item['id']] = $item['name'];
}
/*
foreach ($course_list as $course_item) {
$course_select[$course_item['id']] = $course_item['title'];
}*/
// Session list form
$form = new FormValidator('exercise_admin', 'get', api_get_self().'?session_id='.$session_id);
$form->addElement('select', 'session_id', get_lang('SessionList'), $session_select, 'onchange="javascript:change_session()"');
$defaults['session_id'] = $session_id;
$form->setDefaults($defaults);
$form->display();
echo Display::tag('h1', $session_info['name']);
//Listing LPs from all courses
$lps = array();
foreach ($course_list as $item) {
$list = new LearnpathList(api_get_user_id(),$item['code']);
$flat_list = $list->get_flat_list();
$lps[$item['code']] = $flat_list;
foreach ($flat_list as $item) {
//var_dump(get_week_from_day($item['publicated_on']));
}
}
$form = new FormValidator('exercise_admin', 'post', api_get_self());
$form->addElement('select', 'course_id', get_lang('CourseList'),$course_select,'onchange="javascript:feedbackselection()"');
$form->display();
if ($form->validate()) {
}
?>
<br />
<script>
$(function() {
$( "#tabs" ).tabs();
$( "#sub_tab" ).tabs();
function change_session() {
document.exercise_admin.submit();
}
$(function() {
$( "#tabs" ).tabs();
$( "#sub_tab" ).tabs();
$("#list_default").jqGrid({
url:'<?php echo api_get_path(WEB_AJAX_PATH).'course_home.ajax.php?a=session_courses_lp_default&session_id='.$session_id; ?>',
datatype: 'json',
colNames:['Date','Course', 'LP'],
colModel :[
{name:'date', index:'date', width:120, align:'right'},
{name:'course', index:'course', width:150},
{name:'lp', index:'lp', width:250}
],
pager: '#pager1',
rowNum:100,
/* rowList:[10,20,30], */
sortname: 'date',
sortorder: 'desc',
viewrecords: true
});
</script>
$("#list_course").jqGrid({
url:'<?php echo api_get_path(WEB_AJAX_PATH).'course_home.ajax.php?a=session_courses_lp_by_course&session_id='.$session_id; ?>',
datatype: 'json',
colNames:['Date','Course', 'LP'],
colModel :[
{name:'date', index:'date', width:120},
{name:'course', index:'course', width:150},
{name:'lp', index:'lp', width:250}
],
pager: '#pager2',
rowNum:100,
/* rowList:[10,20,30], */
sortname: 'date',
sortorder: 'desc',
viewrecords: true,
grouping:true,
groupingView : {
groupField : ['course'],
groupColumnShow : [false],
groupText : ['<b>Course {0} - {1} Item(s)</b>']
}
});
$("#list_week").jqGrid({
url:'<?php echo api_get_path(WEB_AJAX_PATH).'course_home.ajax.php?a=session_courses_lp_by_week&session_id='.$session_id; ?>',
datatype: 'json',
colNames:['Week','Date','Course', 'LP'],
colModel :[
{name:'week', index:'week', width:120, align:'right'},
{name:'date', index:'date', width:120, align:'right'},
{name:'course', index:'course', width:150},
{name:'lp', index:'lp', width:250}
],
pager: '#pager3',
rowNum:100,
/* rowList:[10,20,30], */
sortname: 'date',
sortorder: 'desc',
viewrecords: true,
grouping:true,
groupingView : {
groupField : ['week'],
groupColumnShow : [false],
groupText : ['<b>Week {0} - {1} Item(s)</b>']
}
});
});
</script>
<?php
$lp_table1 = Display::tag('table','',array('id'=>'list_default'));
$lp_table1 .= Display::tag('div','',array('id'=>'pager1'));
$lp_table2 = Display::tag('table','',array('id'=>'list_week'));
$lp_table2 .= Display::tag('div','',array('id'=>'pager2'));
$headers = array(get_lang('MyCourses'), get_lang('MyQCM'), get_lang('MyResults'));
$sub_header = array(get_lang('AllCourses'), get_lang('PerWeek'), get_lang('ParMatiere'));
$tabs = Display::tabs($sub_header, array('aaaa','bbb','ccc'),'sub_tab');
$lp_table3 = Display::tag('table','',array('id'=>'list_course'));
$lp_table3 .= Display::tag('div','',array('id'=>'pager3'));
$headers = array(get_lang('LearningPaths'), get_lang('MyQCM'), get_lang('MyResults'));
$sub_header = array(get_lang('AllLearningPaths'), get_lang('PerWeek'), get_lang('ByCourse'));
$tabs = Display::tabs($sub_header, array($lp_table1,$lp_table2, $lp_table3),'sub_tab');
echo Display::tabs($headers, array($tabs,'bbb','ccc'));
exit;
// Footer
Display :: display_footer();
Loading…
Cancel
Save