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. 2
      main/inc/lib/course.lib.php
  3. 67
      main/inc/lib/sessionmanager.lib.php
  4. 94
      main/mySpace/index.php

@ -73,7 +73,7 @@ switch ($action) {
break;
case 'search_session_by_course':
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();
if (!empty($results)) {
foreach ($results as $item) {

@ -1594,7 +1594,7 @@ class CourseManager
if ($session_id != 0) {
$sql_query .= ' AND scu.id_session = '.$session_id;
}
$rs = Database::query($sql_query);
while($student = Database::fetch_array($rs)) {
$students[$student['id_user']] = $student;

@ -12,6 +12,7 @@
*/
class SessionManager
{
public static $_debug = false;
public function __construct()
{
}
@ -806,6 +807,9 @@ class SessionManager
$sql_query = vsprintf($sql, $queryVariables);
if (self::$_debug) {
error_log($sql_query);
}
$rs = Database::query($sql_query);
while ($user = Database::fetch_array($rs)) {
$users[$user['user_id']] = $user;
@ -816,7 +820,10 @@ class SessionManager
*/
$sql = "SELECT * FROM $tbl_course_lp
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);
$lessons_total = 0;
while ($row = Database::fetch_array($result))
@ -845,7 +852,12 @@ class SessionManager
AND parent_id = 0
AND active IN (1, 0)
AND session_id = %s";
$sql_query = sprintf($sql, $course['real_id'], $sessionId);
if (self::$_debug) {
error_log($sql_query);
}
$result = Database::query($sql_query);
$row = Database::fetch_array($result);
$assignments_total = $row['count'];
@ -856,6 +868,9 @@ class SessionManager
$sql = "SELECT count(distinct page_id) as count FROM $wiki
WHERE c_id = %s and session_id = %s";
$sql_query = sprintf($sql, $course['real_id'], $sessionId);
if (self::$_debug) {
error_log($sql_query);
}
$result = Database::query($sql_query);
$row = Database::fetch_array($result);
$wiki_total = $row['count'];
@ -884,6 +899,9 @@ class SessionManager
FROM $forum f
where f.c_id = %s and f.session_id = %s";
$sql_query = sprintf($sql, $course['real_id'], $sessionId);
if (self::$_debug) {
error_log($sql_query);
}
$result = Database::query($sql_query);
$row = Database::fetch_array($result);
$forums_total = $row['count'];
@ -900,6 +918,9 @@ class SessionManager
AND access_session_id = %s
AND access_user_id = %s ";
$sql_query = sprintf($sql, $course['code'], $sessionId, $user['user_id']);
if (self::$_debug) {
error_log($sql_query);
}
$result = Database::query($sql_query);
$row = Database::fetch_array($result);
$course_description_progress = ($row['count'] > 0) ? 100 : 0;
@ -918,7 +939,12 @@ class SessionManager
//Assignments
$assignments_done = Tracking::count_student_assignments($user['user_id'], $course['code'], $sessionId);
$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
//total revisions per user
@ -926,6 +952,9 @@ class SessionManager
FROM $wiki
where c_id = %s and session_id = %s and user_id = %s";
$sql_query = sprintf($sql, $course['real_id'], $sessionId, $user['user_id']);
if (self::$_debug) {
error_log($sql_query);
}
$result = Database::query($sql_query);
$row = Database::fetch_array($result);
$wiki_revisions = $row['count'];
@ -938,17 +967,29 @@ class SessionManager
AND default_value_type = 'wiki_page_id'
AND c_id = %s";
$sql_query = sprintf($sql, $user['user_id'], $course['code'], $course['real_id']);
if (self::$_debug) {
error_log($sql_query);
}
$result = Database::query($sql_query);
$row = Database::fetch_array($result);
$wiki_read = $row['count'];
$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_done = (isset($survey_user_list[$user['user_id']]) ? $survey_user_list[$user['user_id']] : 0);
$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_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
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']);
if (self::$_debug) {
error_log($sql_query);
}
$result = Database::query($sql_query);
$row = Database::fetch_array($result);
$forums_done = $row['count'];
$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 = ($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);
$user_table = Database::get_main_table(TABLE_MAIN_USER);
$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();
@ -2139,11 +2189,13 @@ class SessionManager
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
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 ";
if (count($conditions)>0) {
$sql_query .= ' AND ';
foreach ($conditions as $field=>$value) {
$sql_query .= ' AND ';
$field = Database::escape_string($field);
$value = Database::escape_string($value);
$sql_query .= $field." '".$value."'";
@ -2153,6 +2205,9 @@ class SessionManager
$sql_query .= ' ORDER BY '.Database::escape_string(implode(',',$order_by));
}
//echo $sql_query;
if (self::$_debug) {
error_log(preg_replace('/\s+/', ' ', $sql_query));
}
$sql_result = Database::query($sql_query);
if (Database::num_rows($sql_result)>0) {
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);
$url = $ajax_path . 'session.ajax.php?a=' . $sessionAjax;
$a = 'search_course';
$an = 'search_session';
$sessionList = array();
$courseList = array();
$sessionId = isset($_GET['session_id']) ? $_GET['session_id'] : null;
$courseId = isset($_GET['course_id']) ? $_GET['course_id'] : null;
if (!empty($sessionId)) {
$sessionList = array();
if ($sessionId == 'T') {
$sessionInfo = SessionManager::fetch($sessionId);
$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);
$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'));
//course filter
$a = 'search_course';
if (!empty($_GET['session_id'])) {
$a = 'search_course_by_session';
@ -674,16 +698,8 @@ if ($is_platform_admin && in_array($view, array('admin')) && $display != 'yourst
if ($display == 'lpprogressoverview') {
$a = 'search_course_by_session_all';
}
$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'));
//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'];
echo '<script>
$(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 . '";
$("#generateReport").click(function(e){
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() {
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;
select2("#course_name", "' . $ajax_path . 'course.ajax.php?a=' . $a . '&session_id=" + sessionId);
});
if (display == "lpprogressoverview" || display == "progressoverview" || display == "surveyoverview") {
if (isEmpty($("#session_name").val())) {
$("#course_name").select2("readonly", true);
if (isEmpty(courseId)) {
select2("#course_name", "'. $ajax_path . 'course.ajax.php?a=' . $a . '&session_id=" + sessionId);
}
}
});
$("#course_name").on("change", function() {
var sessionId = $("#session_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") {
window.location = "'.$self.'?view=admin&display='.$display.'&session_id="+sessionId+"&course_id="+courseId;
}
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") {
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())) {
$(divId).select2("destroy");
}
var text = $(divId).select2("data").text;
var id = $(divId).val();
$(divId).select2({
placeholder: "Elegir una opción",
allowClear: true,
@ -923,7 +972,14 @@ if ($is_platform_admin && in_array($view, array('admin')) && $display != 'yourst
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);
}

Loading…
Cancel
Save