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

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

@ -45,32 +45,6 @@ switch ($action) {
$sql="UPDATE $tool_table SET visibility=$requested_visible WHERE id='".intval($_GET['id'])."'"; $sql="UPDATE $tool_table SET visibility=$requested_visible WHERE id='".intval($_GET['id'])."'";
Database::query($sql); 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( $response_data = array(
'image' => $requested_image, 'image' => $requested_image,
'tclass' => $requested_clase, 'tclass' => $requested_clase,
@ -99,6 +73,192 @@ switch ($action) {
// Function that displays the details of the course description in html. // Function that displays the details of the course description in html.
echo CourseManager::get_details_course_description_html($descriptions, api_get_system_encoding(), false); echo CourseManager::get_details_course_description_html($descriptions, api_get_system_encoding(), false);
break; 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: default:
echo ''; echo '';
} }

@ -576,6 +576,20 @@ function get_last_week() {
return $arrdays; 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 * Deprecated functions

@ -7,58 +7,175 @@ require_once $libpath.'course.lib.php';
//require_once $libpath.'usermanager.lib.php'; //require_once $libpath.'usermanager.lib.php';
require_once $libpath.'sessionmanager.lib.php'; require_once $libpath.'sessionmanager.lib.php';
require_once $libpath.'formvalidator/FormValidator.class.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. api_block_anonymous_users(); // Only users who are logged in can proceed.
$this_section = SECTION_COURSES; $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[] = '<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-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); Display :: display_header($nameTools);
$session_id = intval($_GET['id_session']); $session_id = intval($_GET['session_id']);
$session_info = SessionManager::fetch($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_list = SessionManager::get_course_list_by_session_id($session_id);
$course_select = array(); $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) { foreach ($course_list as $course_item) {
$course_select[$course_item['id']] = $course_item['title']; $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()) { if ($form->validate()) {
} }
?> ?>
<br /> <br />
<script> <script>
function change_session() {
document.exercise_admin.submit();
}
$(function() { $(function() {
$( "#tabs" ).tabs(); $( "#tabs" ).tabs();
$( "#sub_tab" ).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 <?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'));
$lp_table3 = Display::tag('table','',array('id'=>'list_course'));
$lp_table3 .= Display::tag('div','',array('id'=>'pager3'));
$headers = array(get_lang('MyCourses'), get_lang('MyQCM'), get_lang('MyResults'));
$sub_header = array(get_lang('AllCourses'), get_lang('PerWeek'), get_lang('ParMatiere')); $headers = array(get_lang('LearningPaths'), get_lang('MyQCM'), get_lang('MyResults'));
$tabs = Display::tabs($sub_header, array('aaaa','bbb','ccc'),'sub_tab'); $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')); echo Display::tabs($headers, array($tabs,'bbb','ccc'));
exit;
// Footer // Footer
Display :: display_footer(); Display :: display_footer();
Loading…
Cancel
Save