Fix session-course visibility and price configuration - refs #7370

1.10.x
Imanol Losada 10 years ago
parent 02ab654c33
commit 62f33385a5
  1. 8
      plugin/buycourses/database.php
  2. 19
      plugin/buycourses/js/buycourses.js
  3. 10
      plugin/buycourses/src/buy_course.lib.php
  4. 2
      plugin/buycourses/src/function.php

@ -31,7 +31,7 @@ $tableSession = Database::get_main_table(TABLE_MAIN_SESSION);
$sql = "SELECT id, name, date_start, date_end FROM $tableSession";
$res = Database::query($sql);
while ($row = Database::fetch_assoc($res)) {
$presql = "INSERT INTO $table (session_id, name, date_start, date_end, visible)
$presql = "INSERT INTO $table (id, name, date_start, date_end, visible)
VALUES ('" . $row['id'] . "','" . $row['name'] . "','" . $row['date_start'] . "','" . $row['date_end'] . "','NO')";
Database::query($presql);
}
@ -59,7 +59,7 @@ while ($row = Database::fetch_assoc($res)) {
$table = Database::get_main_table(TABLE_BUY_SESSION_COURSE);
$sql = "CREATE TABLE IF NOT EXISTS $table (
id INT unsigned NOT NULL auto_increment PRIMARY KEY,
id_session SMALLINT(5) unsigned DEFAULT '0',
session_id SMALLINT(5) unsigned DEFAULT '0',
course_code VARCHAR(40),
nbr_users SMALLINT(5) unsigned DEFAULT '0',
sync int)";
@ -69,8 +69,8 @@ $tableSessionCourse = Database::get_main_table(TABLE_MAIN_SESSION_COURSE);
$sql = "SELECT * FROM $tableSessionCourse";
$res = Database::query($sql);
while ($row = Database::fetch_assoc($res)) {
$presql = "INSERT INTO $table (id_session, course_code, nbr_users)
VALUES ('" . $row['id_session'] . "','" . $row['course_code'] . "','" . $row['nbr_users'] . "')";
$presql = "INSERT INTO $table (session_id, c_id, nbr_users)
VALUES ('" . $row['session_id'] . "','" . $row['c_id'] . "','" . $row['nbr_users'] . "')";
Database::query($presql);
}

@ -32,17 +32,18 @@ $(document).ready(function () {
});
$(".save").click(function () {
var visible = $(this).parent().parent().prev().prev().children().attr("checked");
var price = $(this).parent().parent().prev().children().attr("value");
var currentRow = $(this).closest("tr");
var courseOrSessionObject ={
tab: "save_mod",
visible: currentRow.find("[name='visible']").is(':checked') ? 1 : 0,
price: currentRow.find("[name='price']").val()
};
var course_id = $(this).attr('id');
var courseOrSession = $(this).parent().parent()[0].attributes[0].value;
if (courseOrSession.indexOf("session") > -1) {
courseOrSession = "session_id";
} else {
courseOrSession = "course_id";
}
var courseOrSessionObject = {tab: "save_mod", visible: visible, price: price};
var courseOrSession = ($(this).closest("td").attr('id')).indexOf("session") > -1 ? "session_id" : "course_id";
courseOrSessionObject[courseOrSession] = course_id;
$.post("function.php", courseOrSessionObject,
function (data) {
if (data.status == "false") {

@ -25,14 +25,14 @@ function sync()
$sql = "SELECT session_id, c_id, nbr_users FROM $tableSessionRelCourse";
$res = Database::query($sql);
while ($row = Database::fetch_assoc($res)) {
$sql = "SELECT 1 FROM $tableBuySessionRelCourse WHERE id_session=" . $row['session_id'];
$sql = "SELECT 1 FROM $tableBuySessionRelCourse WHERE session_id=" . $row['session_id'];
$result = Database::query($sql);
if (Database::affected_rows($result) > 0) {
$sql = "UPDATE $tableBuySessionRelCourse SET sync = 1 WHERE id_session=" . $row['session_id'];
$sql = "UPDATE $tableBuySessionRelCourse SET sync = 1 WHERE session_id=" . $row['session_id'];
Database::query($sql);
} else {
$courseCode = api_get_course_info_by_id($row['c_id'])['code'];
$sql = "INSERT INTO $tableBuySessionRelCourse (id_session, course_code, nbr_users, sync)
$sql = "INSERT INTO $tableBuySessionRelCourse (session_id, course_code, nbr_users, sync)
VALUES (" . $row['session_id'] . ", '" . $courseCode . "', " . $row['nbr_users'] . ", 1);";
Database::query($sql);
}
@ -49,9 +49,9 @@ function sync()
$sql = "SELECT id, code, title FROM $tableCourse";
$res = Database::query($sql);
while ($row = Database::fetch_assoc($res)) {
$sql = "SELECT id_session FROM $tableBuySessionRelCourse
$sql = "SELECT session_id FROM $tableBuySessionRelCourse
WHERE course_code = '" . $row['code'] . "' LIMIT 1";
$courseIdSession = Database::fetch_assoc(Database::query($sql))['id_session'];
$courseIdSession = Database::fetch_assoc(Database::query($sql))['session_id'];
if (!is_numeric($courseIdSession)) {
$courseIdSession = 0;
}

@ -442,7 +442,7 @@ if ($_REQUEST['tab'] == 'save_mod') {
$tableField = 'session_id';
}
$visible = (isset($_REQUEST['visible'])) ? 1 : 0;
$visible = intval($_REQUEST['visible']);
$price = Database::escape_string($_REQUEST['price']);
$sql = "UPDATE $tableBuy

Loading…
Cancel
Save