Solve a merge with Daniel

1.9.x
Daniel Barreto 12 years ago committed by Francis Gonzales
parent 3d4cd1fb23
commit 385a3f2430
  1. 2
      main/inc/ajax/session.ajax.php
  2. 67
      main/inc/lib/sessionmanager.lib.php
  3. 90
      main/mySpace/index.php

@ -73,7 +73,7 @@ switch ($action) {
break; break;
case 'search_session_by_course': case 'search_session_by_course':
if (api_is_platform_admin()) { if (api_is_platform_admin()) {
$results = SessionManager::get_sessions_list(array('s.name LIKE' => "%".$_REQUEST['q']."%")); $results = SessionManager::get_sessions_list(array('s.name LIKE' => "%".$_REQUEST['q']."%", 'c.id ='=>$_REQUEST['course_id']));
$results2 = array(); $results2 = array();
if (!empty($results)) { if (!empty($results)) {
foreach ($results as $item) { foreach ($results as $item) {

@ -12,6 +12,7 @@
*/ */
class SessionManager class SessionManager
{ {
public static $_debug = false;
public function __construct() public function __construct()
{ {
} }
@ -806,6 +807,9 @@ class SessionManager
$sql_query = vsprintf($sql, $queryVariables); $sql_query = vsprintf($sql, $queryVariables);
if (self::$_debug) {
error_log($sql_query);
}
$rs = Database::query($sql_query); $rs = Database::query($sql_query);
while ($user = Database::fetch_array($rs)) { while ($user = Database::fetch_array($rs)) {
$users[$user['user_id']] = $user; $users[$user['user_id']] = $user;
@ -816,7 +820,10 @@ class SessionManager
*/ */
$sql = "SELECT * FROM $tbl_course_lp $sql = "SELECT * FROM $tbl_course_lp
WHERE c_id = %s "; //AND session_id = %s WHERE c_id = %s "; //AND session_id = %s
$sql_query = sprintf($sql, $course['id']); $sql_query = sprintf($sql, $course['real_id']);
if (self::$_debug) {
error_log($sql_query);
}
$result = Database::query($sql_query); $result = Database::query($sql_query);
$lessons_total = 0; $lessons_total = 0;
while ($row = Database::fetch_array($result)) while ($row = Database::fetch_array($result))
@ -845,7 +852,12 @@ class SessionManager
AND parent_id = 0 AND parent_id = 0
AND active IN (1, 0) AND active IN (1, 0)
AND session_id = %s"; AND session_id = %s";
$sql_query = sprintf($sql, $course['real_id'], $sessionId); $sql_query = sprintf($sql, $course['real_id'], $sessionId);
if (self::$_debug) {
error_log($sql_query);
}
$result = Database::query($sql_query); $result = Database::query($sql_query);
$row = Database::fetch_array($result); $row = Database::fetch_array($result);
$assignments_total = $row['count']; $assignments_total = $row['count'];
@ -856,6 +868,9 @@ class SessionManager
$sql = "SELECT count(distinct page_id) as count FROM $wiki $sql = "SELECT count(distinct page_id) as count FROM $wiki
WHERE c_id = %s and session_id = %s"; WHERE c_id = %s and session_id = %s";
$sql_query = sprintf($sql, $course['real_id'], $sessionId); $sql_query = sprintf($sql, $course['real_id'], $sessionId);
if (self::$_debug) {
error_log($sql_query);
}
$result = Database::query($sql_query); $result = Database::query($sql_query);
$row = Database::fetch_array($result); $row = Database::fetch_array($result);
$wiki_total = $row['count']; $wiki_total = $row['count'];
@ -884,6 +899,9 @@ class SessionManager
FROM $forum f FROM $forum f
where f.c_id = %s and f.session_id = %s"; where f.c_id = %s and f.session_id = %s";
$sql_query = sprintf($sql, $course['real_id'], $sessionId); $sql_query = sprintf($sql, $course['real_id'], $sessionId);
if (self::$_debug) {
error_log($sql_query);
}
$result = Database::query($sql_query); $result = Database::query($sql_query);
$row = Database::fetch_array($result); $row = Database::fetch_array($result);
$forums_total = $row['count']; $forums_total = $row['count'];
@ -900,6 +918,9 @@ class SessionManager
AND access_session_id = %s AND access_session_id = %s
AND access_user_id = %s "; AND access_user_id = %s ";
$sql_query = sprintf($sql, $course['code'], $sessionId, $user['user_id']); $sql_query = sprintf($sql, $course['code'], $sessionId, $user['user_id']);
if (self::$_debug) {
error_log($sql_query);
}
$result = Database::query($sql_query); $result = Database::query($sql_query);
$row = Database::fetch_array($result); $row = Database::fetch_array($result);
$course_description_progress = ($row['count'] > 0) ? 100 : 0; $course_description_progress = ($row['count'] > 0) ? 100 : 0;
@ -918,7 +939,12 @@ class SessionManager
//Assignments //Assignments
$assignments_done = Tracking::count_student_assignments($user['user_id'], $course['code'], $sessionId); $assignments_done = Tracking::count_student_assignments($user['user_id'], $course['code'], $sessionId);
$assignments_left = $assignments_total - $assignments_done; $assignments_left = $assignments_total - $assignments_done;
$assignments_progress = round((( $assignments_done * 100 ) / $assignments_total ), 2); if (!empty($assignments_total)) {
$assignments_progress = round((( $assignments_done * 100 ) / $assignments_total ), 2);
} else {
$assignments_progress = 0;
}
//Wiki //Wiki
//total revisions per user //total revisions per user
@ -926,6 +952,9 @@ class SessionManager
FROM $wiki FROM $wiki
where c_id = %s and session_id = %s and user_id = %s"; where c_id = %s and session_id = %s and user_id = %s";
$sql_query = sprintf($sql, $course['real_id'], $sessionId, $user['user_id']); $sql_query = sprintf($sql, $course['real_id'], $sessionId, $user['user_id']);
if (self::$_debug) {
error_log($sql_query);
}
$result = Database::query($sql_query); $result = Database::query($sql_query);
$row = Database::fetch_array($result); $row = Database::fetch_array($result);
$wiki_revisions = $row['count']; $wiki_revisions = $row['count'];
@ -938,17 +967,29 @@ class SessionManager
AND default_value_type = 'wiki_page_id' AND default_value_type = 'wiki_page_id'
AND c_id = %s"; AND c_id = %s";
$sql_query = sprintf($sql, $user['user_id'], $course['code'], $course['real_id']); $sql_query = sprintf($sql, $user['user_id'], $course['code'], $course['real_id']);
if (self::$_debug) {
error_log($sql_query);
}
$result = Database::query($sql_query); $result = Database::query($sql_query);
$row = Database::fetch_array($result); $row = Database::fetch_array($result);
$wiki_read = $row['count']; $wiki_read = $row['count'];
$wiki_unread = $wiki_total - $wiki_read; $wiki_unread = $wiki_total - $wiki_read;
$wiki_progress = round((( $wiki_read * 100 ) / $wiki_total), 2); if (!empty($wiki_total)) {
$wiki_progress = round((( $wiki_read * 100 ) / $wiki_total), 2);
} else {
$wiki_progress = 0;
}
//Surveys //Surveys
$surveys_done = (isset($survey_user_list[$user['user_id']]) ? $survey_user_list[$user['user_id']] : 0); $surveys_done = (isset($survey_user_list[$user['user_id']]) ? $survey_user_list[$user['user_id']] : 0);
$surveys_left = $surveys_total - $surveys_done; $surveys_left = $surveys_total - $surveys_done;
$surveys_progress = round((( $surveys_done * 100 ) / $surveys_total), 2); if (!empty($surveys_total)) {
$surveys_progress = round((( $surveys_done * 100 ) / $surveys_total), 2);
} else {
$surveys_progress = 0;
}
//Forums //Forums
#$forums_done = Tracking::count_student_messages($user['user_id'], $course_code, $session_id); #$forums_done = Tracking::count_student_messages($user['user_id'], $course_code, $session_id);
@ -956,12 +997,19 @@ class SessionManager
INNER JOIN $forum f ON f.forum_id = p.forum_id INNER JOIN $forum f ON f.forum_id = p.forum_id
WHERE p.poster_id = %s and f.session_id = %s and p.c_id = %s"; WHERE p.poster_id = %s and f.session_id = %s and p.c_id = %s";
$sql_query = sprintf($sql, $user['user_id'], $sessionId, $course['real_id']); $sql_query = sprintf($sql, $user['user_id'], $sessionId, $course['real_id']);
if (self::$_debug) {
error_log($sql_query);
}
$result = Database::query($sql_query); $result = Database::query($sql_query);
$row = Database::fetch_array($result); $row = Database::fetch_array($result);
$forums_done = $row['count']; $forums_done = $row['count'];
$forums_left = $forums_total - $forums_done; $forums_left = $forums_total - $forums_done;
$forums_progress = round((( $forums_done * 100 ) / $forums_total), 2); if (!empty($forums_total)) {
$forums_progress = round((( $forums_done * 100 ) / $forums_total), 2);
} else {
$forums_progress = 0;
}
//Overall Total //Overall Total
$overall_total = ($course_description_progress + $exercises_progress + $forums_progress + $assignments_progress + $wiki_progress + $surveys_progress) / 6; $overall_total = ($course_description_progress + $exercises_progress + $forums_progress + $assignments_progress + $wiki_progress + $surveys_progress) / 6;
@ -2129,6 +2177,8 @@ class SessionManager
$session_category_table = Database::get_main_table(TABLE_MAIN_SESSION_CATEGORY); $session_category_table = Database::get_main_table(TABLE_MAIN_SESSION_CATEGORY);
$user_table = Database::get_main_table(TABLE_MAIN_USER); $user_table = Database::get_main_table(TABLE_MAIN_USER);
$table_access_url_rel_session = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_SESSION); $table_access_url_rel_session = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_SESSION);
$session_course_table = Database::get_main_table(TABLE_MAIN_SESSION_COURSE);
$course_table = Database::get_main_table(TABLE_MAIN_COURSE);
$access_url_id = api_get_current_access_url_id(); $access_url_id = api_get_current_access_url_id();
@ -2139,11 +2189,13 @@ class SessionManager
INNER JOIN $user_table u ON s.id_coach = u.user_id INNER JOIN $user_table u ON s.id_coach = u.user_id
INNER JOIN $table_access_url_rel_session ar ON ar.session_id = s.id INNER JOIN $table_access_url_rel_session ar ON ar.session_id = s.id
LEFT JOIN $session_category_table sc ON s.session_category_id = sc.id LEFT JOIN $session_category_table sc ON s.session_category_id = sc.id
LEFT JOIN $session_course_table sco ON (sco.id_session = s.id)
INNER JOIN $course_table c ON sco.course_code = c.code
WHERE ar.access_url_id = $access_url_id "; WHERE ar.access_url_id = $access_url_id ";
if (count($conditions)>0) { if (count($conditions)>0) {
$sql_query .= ' AND ';
foreach ($conditions as $field=>$value) { foreach ($conditions as $field=>$value) {
$sql_query .= ' AND ';
$field = Database::escape_string($field); $field = Database::escape_string($field);
$value = Database::escape_string($value); $value = Database::escape_string($value);
$sql_query .= $field." '".$value."'"; $sql_query .= $field." '".$value."'";
@ -2153,6 +2205,9 @@ class SessionManager
$sql_query .= ' ORDER BY '.Database::escape_string(implode(',',$order_by)); $sql_query .= ' ORDER BY '.Database::escape_string(implode(',',$order_by));
} }
//echo $sql_query; //echo $sql_query;
if (self::$_debug) {
error_log(preg_replace('/\s+/', ' ', $sql_query));
}
$sql_result = Database::query($sql_query); $sql_result = Database::query($sql_query);
if (Database::num_rows($sql_result)>0) { if (Database::num_rows($sql_result)>0) {
while ($result = Database::fetch_array($sql_result)) { while ($result = Database::fetch_array($sql_result)) {

@ -650,11 +650,20 @@ if ($is_platform_admin && in_array($view, array('admin')) && $display != 'yourst
} }
$sessionFilter->addElement('header', '', $tool_name); $sessionFilter->addElement('header', '', $tool_name);
$url = $ajax_path . 'session.ajax.php?a=' . $sessionAjax; $url = $ajax_path . 'session.ajax.php?a=' . $sessionAjax;
$a = 'search_course';
$an = 'search_session';
$sessionList = array(); $sessionList = array();
$courseList = array();
$sessionId = isset($_GET['session_id']) ? $_GET['session_id'] : null; $sessionId = isset($_GET['session_id']) ? $_GET['session_id'] : null;
$courseId = isset($_GET['course_id']) ? $_GET['course_id'] : null;
if (!empty($sessionId)) { if (!empty($sessionId)) {
$sessionList = array(); $sessionList = array();
if ($sessionId == 'T') { if ($sessionId == 'T') {
$sessionInfo = SessionManager::fetch($sessionId); $sessionInfo = SessionManager::fetch($sessionId);
$sessionList[] = array('id' => 'T', 'text' => 'TODOS'); $sessionList[] = array('id' => 'T', 'text' => 'TODOS');
@ -662,10 +671,25 @@ if ($is_platform_admin && in_array($view, array('admin')) && $display != 'yourst
$sessionInfo = SessionManager::fetch($sessionId); $sessionInfo = SessionManager::fetch($sessionId);
$sessionList[] = array('id' => $sessionInfo['id'], 'text' => $sessionInfo['name']); $sessionList[] = array('id' => $sessionInfo['id'], 'text' => $sessionInfo['name']);
} }
$sessionInfo = SessionManager::fetch($sessionId);
$sessionList[] = array('id' => $sessionInfo['id'], 'text' => $sessionInfo['name']);
$a = 'search_course_by_session';
} }
if (!empty($courseId)) {
$courseList = array();
$courseInfo = api_get_course_info_by_id($courseId);
$courseList[] = array('id' => $courseInfo['real_id'], 'text' => $courseInfo['name']);
$an = 'search_session_by_course';
}
$url = $ajax_path . 'session.ajax.php?a='. $an . '&course_id=' . $_GET['course_id'];
$sessionFilter->addElement('select_ajax', 'session_name', get_lang('SearchSession'), null, array('url' => $url, 'defaults' => $sessionList, 'width' => '400px')); $sessionFilter->addElement('select_ajax', 'session_name', get_lang('SearchSession'), null, array('url' => $url, 'defaults' => $sessionList, 'width' => '400px'));
//course filter //course filter
$a = 'search_course'; $a = 'search_course';
if (!empty($_GET['session_id'])) { if (!empty($_GET['session_id'])) {
$a = 'search_course_by_session'; $a = 'search_course_by_session';
@ -676,14 +700,6 @@ if ($is_platform_admin && in_array($view, array('admin')) && $display != 'yourst
} }
$url = $ajax_path . 'course.ajax.php?a='. $a .'&session_id=' . $_GET['session_id']; $url = $ajax_path . 'course.ajax.php?a='. $a .'&session_id=' . $_GET['session_id'];
$courseList = array();
$courseId = isset($_GET['course_id']) ? $_GET['course_id'] : null;
if (!empty($courseId)) {
$courseList = array();
$courseInfo = api_get_course_info_by_id($courseId);
$courseList[] = array('id' => $courseInfo['real_id'], 'text' => $courseInfo['name']);
}
$sessionFilter->addElement('select_ajax', 'course_name', get_lang('SearchCourse'), null, array('url' => $url, 'defaults' => $courseList, 'width' => '400px')); $sessionFilter->addElement('select_ajax', 'course_name', get_lang('SearchCourse'), null, array('url' => $url, 'defaults' => $courseList, 'width' => '400px'));
//Exercise filter //Exercise filter
@ -815,6 +831,15 @@ if ($is_platform_admin && in_array($view, array('admin')) && $display != 'yourst
$url = $ajax_path . 'course.ajax.php?a='. $a .'&session_id=' . $_GET['session_id']; $url = $ajax_path . 'course.ajax.php?a='. $a .'&session_id=' . $_GET['session_id'];
echo '<script> echo '<script>
$(function() { $(function() {
if (display == "lpprogressoverview" || display == "progressoverview" || display == "surveyoverview") {
if (!isEmpty($("#session_name").val())) {
$("#course_name").select2("readonly", true);
}
if (!isEmpty($("#course_name").val())) {
$("#session_name").select2("readonly", true);
}
}
var display = "' . $display . '"; var display = "' . $display . '";
$("#generateReport").click(function(e){ $("#generateReport").click(function(e){
url = "'.$self.'?view=admin&display='.$display.'"; url = "'.$self.'?view=admin&display='.$display.'";
@ -847,26 +872,48 @@ if ($is_platform_admin && in_array($view, array('admin')) && $display != 'yourst
}); });
$("#session_name").on("change", function() { $("#session_name").on("change", function() {
var sessionId = $(this).val(); var sessionId = $("#session_name").val();
var courseId = $("#course_name").val();
console.log("session:"+sessionId);
console.log("course:"+courseId);
if (isEmpty(sessionId)) {
select2("#course_name", "' . $ajax_path . 'course.ajax.php?a=search_course");
if (isEmpty(courseId)) {
select2("#session_name", "' . $ajax_path . 'session.ajax.php?a=search_session");
} else {
select2("#session_name", "' . $ajax_path . 'session.ajax.php?a=search_session_by_course&course_id=" + courseId);
}
} else {
select2("#course_name", "' . $ajax_path . 'course.ajax.php?a=search_course_by_session&session_id=" + sessionId);
}
//window.location = "'.$self.'?view=admin&display='.$display.'&session_id="+sessionId; //window.location = "'.$self.'?view=admin&display='.$display.'&session_id="+sessionId;
select2("#course_name", "' . $ajax_path . 'course.ajax.php?a=' . $a . '&session_id=" + sessionId);
});
if (display == "lpprogressoverview" || display == "progressoverview" || display == "surveyoverview") { if (isEmpty(courseId)) {
if (isEmpty($("#session_name").val())) { select2("#course_name", "'. $ajax_path . 'course.ajax.php?a=' . $a . '&session_id=" + sessionId);
$("#course_name").select2("readonly", true);
} }
} });
$("#course_name").on("change", function() { $("#course_name").on("change", function() {
var sessionId = $("#session_name").val(); var sessionId = $("#session_name").val();
var courseId = $("#course_name").val(); var courseId = $("#course_name").val();
var display = "' . $display . '"; var display = "' . $display . '";
console.log("session:"+sessionId);
console.log("course:"+courseId);
if (isEmpty(courseId)) {
select2("#session_name", "' . $ajax_path . 'session.ajax.php?a=search_session");
if (isEmpty(sessionId)) {
select2("#course_name", "' . $ajax_path . 'course.ajax.php?a=search_course");
} else {
select2("#course_name", "' . $ajax_path . 'course.ajax.php?a=search_course_by_session&session_id=" + sessionId);
}
} else {
select2("#session_name", "' . $ajax_path . 'session.ajax.php?a=search_session_by_course&course_id=" + courseId);
}
if (display == "accessoverview" || display == "exerciseprogress") { if (display == "accessoverview" || display == "exerciseprogress") {
window.location = "'.$self.'?view=admin&display='.$display.'&session_id="+sessionId+"&course_id="+courseId; window.location = "'.$self.'?view=admin&display='.$display.'&session_id="+sessionId+"&course_id="+courseId;
} }
if (isEmpty(sessionId)) { if (isEmpty(sessionId)) {
select2("#course_name", "'. $ajax_path . 'course.ajax.php?a=search_course&session_id=" + sessionId); select2("#session_name", "' . $ajax_path . 'session.ajax.php?a=search_session_by_course&course_id=" + courseId);
} }
if (typeof $("#survey_name") == "object") { if (typeof $("#survey_name") == "object") {
var surveyId = $("#survey_name").val(); var surveyId = $("#survey_name").val();
@ -902,6 +949,8 @@ if ($is_platform_admin && in_array($view, array('admin')) && $display != 'yourst
if (typeof $(divId).select2 == "function" && isEmpty($(divId).val())) { if (typeof $(divId).select2 == "function" && isEmpty($(divId).val())) {
$(divId).select2("destroy"); $(divId).select2("destroy");
} }
var text = $(divId).select2("data").text;
var id = $(divId).val();
$(divId).select2({ $(divId).select2({
placeholder: "Elegir una opción", placeholder: "Elegir una opción",
allowClear: true, allowClear: true,
@ -923,7 +972,14 @@ if ($is_platform_admin && in_array($view, array('admin')) && $display != 'yourst
results: data results: data
}; };
} }
} },
initSelection: function (item, callback) {
var data = { id: id, text: text };
callback(data);
},
formatResult: function (item) { return ("<div>" + item.text + "</div>"); },
formatSelection: function (item) { return (item.text); },
escapeMarkup: function (m) { return m; }
}); });
$(divId).select2("readonly", false); $(divId).select2("readonly", false);
} }

Loading…
Cancel
Save