Extend buy_course plugin to include sessions - refs #7272

1.9.x
Imanol Losada 11 years ago
parent 4601849aeb
commit be487d6bee
  1. 1
      main/lang/english/trad4all.inc.php
  2. 1
      main/lang/spanish/trad4all.inc.php
  3. 30
      plugin/buycourses/js/buycourses.js
  4. 3
      plugin/buycourses/lang/english.php
  5. 11
      plugin/buycourses/lang/french.php
  6. 9
      plugin/buycourses/lang/spanish.php
  7. 99
      plugin/buycourses/src/buy_course.lib.php
  8. 220
      plugin/buycourses/src/function.php
  9. 4
      plugin/buycourses/src/list.php
  10. 10
      plugin/buycourses/src/process.php
  11. 58
      plugin/buycourses/src/success.php
  12. 2
      plugin/buycourses/view/configuration.tpl
  13. 30
      plugin/buycourses/view/list.tpl
  14. 46
      plugin/buycourses/view/success.tpl

@ -1624,4 +1624,5 @@ $LegalAgreementAccepted = "Legal agreement accepted";
$FieldTypeMobilePhoneNumber = "Mobile phone"; $FieldTypeMobilePhoneNumber = "Mobile phone";
$CountryDialCode = "Include the country dial code"; $CountryDialCode = "Include the country dial code";
$MobilePhoneNumberWrong = "Mobile phone number is incomplete or contains not valid characters"; $MobilePhoneNumberWrong = "Mobile phone number is incomplete or contains not valid characters";
$SessionName = "Session name";
?> ?>

@ -1616,4 +1616,5 @@ $LegalAgreementAccepted = "Condiciones legales aceptadas";
$FieldTypeMobilePhoneNumber = "Número de móvil"; $FieldTypeMobilePhoneNumber = "Número de móvil";
$CountryDialCode = "Incluya el prefijo de llamada del país"; $CountryDialCode = "Incluya el prefijo de llamada del país";
$MobilePhoneNumberWrong = "El número de móvil que ha escrito está incompleto o contiene caracteres no válidos."; $MobilePhoneNumberWrong = "El número de móvil que ha escrito está incompleto o contiene caracteres no válidos.";
$SessionName = "Nombre de la sesión";
?> ?>

@ -35,7 +35,7 @@ $(document).ready(function () {
var visible = $(this).parent().parent().prev().prev().children().attr("checked"); var visible = $(this).parent().parent().prev().prev().children().attr("checked");
var price = $(this).parent().parent().prev().children().attr("value"); var price = $(this).parent().parent().prev().children().attr("value");
var course_id = $(this).attr('id'); var course_id = $(this).attr('id');
var courseOrSession = $(this).parent().parent()[0].attributes[0].value; var courseOrSession = $(this).parent().parent()[0].attributes[0].value;
if (courseOrSession.indexOf("session") > -1) { if (courseOrSession.indexOf("session") > -1) {
courseOrSession = "session_id"; courseOrSession = "session_id";
} else { } else {
@ -55,7 +55,7 @@ $(document).ready(function () {
$("#" + courseOrSession + data.course_id).parent().children().each(function () { $("#" + courseOrSession + data.course_id).parent().children().each(function () {
$(this).removeClass("btop"); $(this).removeClass("btop");
}); });
} }
}, "json"); }, "json");
}); });
@ -73,6 +73,30 @@ $(document).ready(function () {
e.stopPropagation(); e.stopPropagation();
}); });
$('#confirm_session_filter').click(function (e) {
var vsession = $("#session_name").attr("value");
var sessionpmin = $("#session_price_min").attr("value");
var sessionpmax = $("#session_price_max").attr("value");
if ($("#mostrar_disponibles").attr("checked") == "checked") {
var vshow = "YES";
} else {
var vshow = "NO";
}
var vsessioncategory = $("#sessions_category").attr("value");
$.post("function.php", {tab: "sessions_filter", session: vsession, pricemin: sessionpmin, pricemax: sessionpmax, mostrar: vshow, category: vsessioncategory},
function (data) {
if (data.status == "false") {
alert(data.content);
$("#session_results").html('');
} else {
$("#session_results").html(data.content);
}
$(document).ready(acciones_ajax);
}, "json");
e.preventDefault();
e.stopPropagation();
});
$('#confirm_filter').click(function (e) { $('#confirm_filter').click(function (e) {
var vcourse = $("#course_name").attr("value"); var vcourse = $("#course_name").attr("value");
@ -229,4 +253,4 @@ function acciones_ajax() {
} }

@ -1,4 +1,3 @@
<?php <?php
$strings['plugin_title'] = "Sell courses"; $strings['plugin_title'] = "Sell courses";
$strings['plugin_comment'] = "Sell courses directly through your Chamilo portal, using a PayPal account to receive funds. This plugin is in beta version. Neither the Chamilo association nor the developers involved could be considered responsible of any issue you might suffer using this plugin."; $strings['plugin_comment'] = "Sell courses directly through your Chamilo portal, using a PayPal account to receive funds. This plugin is in beta version. Neither the Chamilo association nor the developers involved could be considered responsible of any issue you might suffer using this plugin.";
@ -66,3 +65,5 @@ $strings['ErrorContactPlatformAdmin'] = "Unknown error. Please contact the platf
$strings['PayPalConfig'] = "PayPal configuration:"; $strings['PayPalConfig'] = "PayPal configuration:";
$strings['TransfersConfig'] = "Bank transfers configuration:"; $strings['TransfersConfig'] = "Bank transfers configuration:";
$strings['PayPalPaymentOKPleaseConfirm'] = "PayPal reports the transaction is ready to be executed. To acknowledge that you are OK to proceed, please click the confirmation button below. Once clicked, you will be registered to the course and the funds will be transferred from your PayPal account to our shop. You can always access your courses through the 'My courses' tab. Thank you for your custom!"; $strings['PayPalPaymentOKPleaseConfirm'] = "PayPal reports the transaction is ready to be executed. To acknowledge that you are OK to proceed, please click the confirmation button below. Once clicked, you will be registered to the course and the funds will be transferred from your PayPal account to our shop. You can always access your courses through the 'My courses' tab. Thank you for your custom!";
$strings['EnrollToSessionXSuccessful'] = "Your subscription to the session is complete";
$strings['TheUserIsAlreadyRegisteredInTheSession'] = 'The user is already registered in the session.';

@ -1,22 +1,17 @@
<?php <?php
//Needed in order to show the plugin title
$strings['plugin_title'] = "Vente de cours"; $strings['plugin_title'] = "Vente de cours";
$strings['plugin_comment'] = "Vendez vos cours directement depuis votre portail Chamilo, au travers d'un compte PayPal. Plugin en version beta, à utiliser avec précaution. Ni l'association Chamilo ni les développeurs impliqués dans le développement de ce plugin ne sauraient être tenus responsables d'un quelconque inconvénient causé par celui-ci."; $strings['plugin_comment'] = "Vendez vos cours directement depuis votre portail Chamilo, au travers d'un compte PayPal. Plugin en version beta, à utiliser avec précaution. Ni l'association Chamilo ni les développeurs impliqués dans le développement de ce plugin ne sauraient être tenus responsables d'un quelconque inconvénient causé par celui-ci.";
$strings['Visible'] = "Montrer dans la liste"; $strings['Visible'] = "Montrer dans la liste";
$strings['Options'] = "Options"; $strings['Options'] = "Options";
$strings['Price'] = "Prix"; $strings['Price'] = "Prix";
$strings['SyncCourseDatabase'] = "Synchroniser les cours depuis la base de données"; $strings['SyncCourseDatabase'] = "Synchroniser les cours depuis la base de données";
$strings['Private'] = "Privé - Accès autorisé seulement aux inscrits au cours"; $strings['Private'] = "Privé - Accès autorisé seulement aux inscrits au cours";
$strings['CourseVisibilityClosed'] = "Fermé - Pas d'accès au cours"; $strings['CourseVisibilityClosed'] = "Fermé - Pas d'accès au cours";
$strings['OpenToThePlatform'] = "Ouvert - Accès autorisé seulement pour les utilisateurs inscrits à la plateforme"; $strings['OpenToThePlatform'] = "Ouvert - Accès autorisé seulement pour les utilisateurs inscrits à la plateforme";
$strings['OpenToTheWorld'] = "Public - Accès autorisé à tous"; $strings['OpenToTheWorld'] = "Public - Accès autorisé à tous";
$strings['Description'] = "Description"; $strings['Description'] = "Description";
$strings['Buy'] = "Acheter"; $strings['Buy'] = "Acheter";
$strings['Mostrar_disponibles'] = "Montrer les cours disponibles"; $strings['Mostrar_disponibles'] = "Montrer les cours disponibles";
$strings['include_sessions'] = "Inclure les sessions"; $strings['include_sessions'] = "Inclure les sessions";
$strings['paypal_enable'] = "Activer PayPal"; $strings['paypal_enable'] = "Activer PayPal";
$strings['transfer_enable'] = "Activer les transferts bancaires"; $strings['transfer_enable'] = "Activer les transferts bancaires";
@ -24,10 +19,8 @@ $strings['unregistered_users_enable'] = "Permettre l'accès aux utilisateurs non
$strings['Cancelacionpedido'] = "La commande a été annulée."; $strings['Cancelacionpedido'] = "La commande a été annulée.";
$strings['AlreadyBuy'] = "Vous êtes déjà inscrit au cours"; $strings['AlreadyBuy'] = "Vous êtes déjà inscrit au cours";
$strings['bc_subject'] = "Confirmation de commande de cours"; $strings['bc_subject'] = "Confirmation de commande de cours";
$strings['paypal'] = "PayPal"; $strings['paypal'] = "PayPal";
$strings['confirmar_compra'] = "Confirmer achat de cours"; $strings['confirmar_compra'] = "Confirmer achat de cours";
$strings['TheUserIsAlreadyRegistered'] = "L'utilisateur est déjà inscrit"; $strings['TheUserIsAlreadyRegistered'] = "L'utilisateur est déjà inscrit";
$strings['ProblemToSaveTheCurrencyType'] = "Problème de sauvegarde du type de devise"; $strings['ProblemToSaveTheCurrencyType'] = "Problème de sauvegarde du type de devise";
$strings['ProblemToSaveThePaypalParameters'] = "Problème de sauvegarde des paramètres de Paypal"; $strings['ProblemToSaveThePaypalParameters'] = "Problème de sauvegarde des paramètres de Paypal";
@ -48,7 +41,7 @@ $strings['PaymentsConfiguration'] = "Configuration des paiements";
$strings['bc_message'] = "Cher/Chère {{name}}. <br />À la réception de la confirmation de paiement, nous terminerons le processus d'inscrtipion au cours <strong>{{curso}}</strong>.<br><br><strong>N'oubliez pas d'indiquer le numéro de référence de la commande lors de votre transfert: <div style='display:inline;text-align:center; font-weight:bold; font-size:20px; color:#333'>{{reference}}</div></strong>"; $strings['bc_message'] = "Cher/Chère {{name}}. <br />À la réception de la confirmation de paiement, nous terminerons le processus d'inscrtipion au cours <strong>{{curso}}</strong>.<br><br><strong>N'oubliez pas d'indiquer le numéro de référence de la commande lors de votre transfert: <div style='display:inline;text-align:center; font-weight:bold; font-size:20px; color:#333'>{{reference}}</div></strong>";
$strings['Categories'] = "Catégories"; $strings['Categories'] = "Catégories";
$strings['BankTransfer'] = 'Transfert bancaire'; $strings['BankTransfer'] = 'Transfert bancaire';
$strings['EnrollToCourseXSuccessful'] = "Votre inscription au cours au cours %s est terminée."; $strings['EnrollToCourseXSuccessful'] = "Votre inscription au cours %s est terminée.";
$strings['SearchFilter'] = "Filtre de recherche"; $strings['SearchFilter'] = "Filtre de recherche";
$strings['MinimumPrice'] = "Prix minimum"; $strings['MinimumPrice'] = "Prix minimum";
$strings['MaximumPrice'] = "Prix maximum"; $strings['MaximumPrice'] = "Prix maximum";
@ -72,3 +65,5 @@ $strings['ErrorContactPlatformAdmin'] = "Une erreur inconnue s'est produite. Veu
$strings['PayPalConfig'] = "Configuration PayPal:"; $strings['PayPalConfig'] = "Configuration PayPal:";
$strings['TransfersConfig'] = "Configuration des transfers bancaires:"; $strings['TransfersConfig'] = "Configuration des transfers bancaires:";
$strings['PayPalPaymentOKPleaseConfirm'] = "PayPal nous indique que la transaction est prête à être exécutée. Par mesure de sécurité, nous vous demandons de bien vouloir confirmer une dernière fois la transaction en cliquant sur le bouton de confirmation ci-dessous. Une fois cliqué, vous serez immédiatement enregistré au cours, et les fonds correspondants seront soustraits de votre compte PayPal. Vous pouvez accéder à vos cours à tout moment à partir de l'onglet 'Mes cours'. Merci de votre fidélité!"; $strings['PayPalPaymentOKPleaseConfirm'] = "PayPal nous indique que la transaction est prête à être exécutée. Par mesure de sécurité, nous vous demandons de bien vouloir confirmer une dernière fois la transaction en cliquant sur le bouton de confirmation ci-dessous. Une fois cliqué, vous serez immédiatement enregistré au cours, et les fonds correspondants seront soustraits de votre compte PayPal. Vous pouvez accéder à vos cours à tout moment à partir de l'onglet 'Mes cours'. Merci de votre fidélité!";
$strings['EnrollToSessionXSuccessful'] = "Votre inscription au session %s est terminée.";
$strings['TheUserIsAlreadyRegisteredInTheSession'] = "L'utilisateur est déjà inscrit au session";

@ -1,22 +1,17 @@
<?php <?php
//Needed in order to show the plugin title
$strings['plugin_title'] = "Venta de cursos"; $strings['plugin_title'] = "Venta de cursos";
$strings['plugin_comment'] = "Vender cursos a través de PayPal directamente desde su portal Chamilo. Plugin en versión Beta, a usar con mucha precaución. La asociación Chamilo y los desarrolladores involucrados no pueden ser considerados responsables de cualquier inconveniente que se presente."; $strings['plugin_comment'] = "Vender cursos a través de PayPal directamente desde su portal Chamilo. Plugin en versión Beta, a usar con mucha precaución. La asociación Chamilo y los desarrolladores involucrados no pueden ser considerados responsables de cualquier inconveniente que se presente.";
$strings['Visible'] = "Mostrar en el listado"; $strings['Visible'] = "Mostrar en el listado";
$strings['Options'] = "Opciones"; $strings['Options'] = "Opciones";
$strings['Price'] = "Precio"; $strings['Price'] = "Precio";
$strings['SyncCourseDatabase'] = "Sincronizar cursos de la base de datos"; $strings['SyncCourseDatabase'] = "Sincronizar cursos de la base de datos";
$strings['Private'] = "Privado - acceso autorizado s&oacute;lo para los miembros del curso"; $strings['Private'] = "Privado - acceso autorizado s&oacute;lo para los miembros del curso";
$strings['CourseVisibilityClosed'] = "Cerrado - no hay acceso a este curso"; $strings['CourseVisibilityClosed'] = "Cerrado - no hay acceso a este curso";
$strings['OpenToThePlatform'] = "Abierto - acceso autorizado s&oacute;lo para los usuarios registrados en la plataforma"; $strings['OpenToThePlatform'] = "Abierto - acceso autorizado s&oacute;lo para los usuarios registrados en la plataforma";
$strings['OpenToTheWorld'] = "P&uacute;blico - acceso autorizado a cualquier persona"; $strings['OpenToTheWorld'] = "P&uacute;blico - acceso autorizado a cualquier persona";
$strings['Description'] = "Descripci&oacute;n"; $strings['Description'] = "Descripci&oacute;n";
$strings['Buy'] = "Comprar"; $strings['Buy'] = "Comprar";
$strings['Mostrar_disponibles'] = "Mostrar cursos disponibles"; $strings['Mostrar_disponibles'] = "Mostrar cursos disponibles";
$strings['include_sessions'] = "Incluir sesiones"; $strings['include_sessions'] = "Incluir sesiones";
$strings['paypal_enable'] = "Habilitar PayPal"; $strings['paypal_enable'] = "Habilitar PayPal";
$strings['transfer_enable'] = "Habilitar transferencia"; $strings['transfer_enable'] = "Habilitar transferencia";
@ -24,10 +19,8 @@ $strings['unregistered_users_enable'] = "Permitir usuarios sin registro en la pl
$strings['Cancelacionpedido'] = "El pedido se ha cancelado."; $strings['Cancelacionpedido'] = "El pedido se ha cancelado.";
$strings['AlreadyBuy'] = "Ya está matriculado en el curso"; $strings['AlreadyBuy'] = "Ya está matriculado en el curso";
$strings['bc_subject'] = "Confirmación pedido de cursos"; $strings['bc_subject'] = "Confirmación pedido de cursos";
$strings['paypal'] = 'PayPal'; $strings['paypal'] = 'PayPal';
$strings['confirmar_compra'] = 'Confirmar compra de curso'; $strings['confirmar_compra'] = 'Confirmar compra de curso';
$strings['TheUserIsAlreadyRegistered'] = 'El usuario ya está registrado'; $strings['TheUserIsAlreadyRegistered'] = 'El usuario ya está registrado';
$strings['ProblemToSaveTheCurrencyType'] = 'Problema al guardar el tipo de moneda'; $strings['ProblemToSaveTheCurrencyType'] = 'Problema al guardar el tipo de moneda';
$strings['ProblemToSaveThePaypalParameters'] = 'Problema para guardar los parametros de Paypal'; $strings['ProblemToSaveThePaypalParameters'] = 'Problema para guardar los parametros de Paypal';
@ -72,3 +65,5 @@ $strings['ErrorContactPlatformAdmin'] = "Se ha producido un error desconocido. P
$strings['PayPalConfig'] = "Configuraci&oacute;n PayPal:"; $strings['PayPalConfig'] = "Configuraci&oacute;n PayPal:";
$strings['TransfersConfig'] = "Configuraci&oacute;n de transferencias:"; $strings['TransfersConfig'] = "Configuraci&oacute;n de transferencias:";
$strings['PayPalPaymentOKPleaseConfirm'] = "PayPal nos indicó que todo estaba listo para ejecutar el pago. Por seguridad, le pedimos confirme una última vez su pedido dando clic en el botón de confirmación a bajo. Una vez le haya dado clic, será registrado al curso y el monto correspondiente será retirado de su cuenta PayPal. Siempre puede acceder a sus cursos a partir de la pestaña 'Mis cursos'. Gracias por su compra!"; $strings['PayPalPaymentOKPleaseConfirm'] = "PayPal nos indicó que todo estaba listo para ejecutar el pago. Por seguridad, le pedimos confirme una última vez su pedido dando clic en el botón de confirmación a bajo. Una vez le haya dado clic, será registrado al curso y el monto correspondiente será retirado de su cuenta PayPal. Siempre puede acceder a sus cursos a partir de la pestaña 'Mis cursos'. Gracias por su compra!";
$strings['EnrollToSessionXSuccessful'] = "Su inscripción en la sesión %s se ha completado.";
$strings['TheUserIsAlreadyRegisteredInTheSession'] = 'El usuario ya está registrado en la sesión.';

@ -31,7 +31,7 @@ function sync()
$sql = "UPDATE $tableBuySessionRelCourse SET sync = 1 WHERE id_session='" . $row['id'] . "';"; $sql = "UPDATE $tableBuySessionRelCourse SET sync = 1 WHERE id_session='" . $row['id'] . "';";
Database::query($sql); Database::query($sql);
} else { } else {
$sql = "INSERT INTO $tableBuySessionRelCourse (id_session, course_code, nbr_users, sync) $sql = "INSERT INTO $tableBuySessionRelCourse (id_session, course_code, nbr_users, sync)
VALUES ('" . $row['id_session'] . "', '" . $row['course_code'] . "', '" . $row['nbr_users'] . "', 1);"; VALUES ('" . $row['id_session'] . "', '" . $row['course_code'] . "', '" . $row['nbr_users'] . "', 1);";
Database::query($sql); Database::query($sql);
} }
@ -39,10 +39,8 @@ function sync()
$sql = "DELETE FROM $tableBuySessionRelCourse WHERE sync = 0;"; $sql = "DELETE FROM $tableBuySessionRelCourse WHERE sync = 0;";
Database::query($sql); Database::query($sql);
$tableBuyCourse = Database::get_main_table(TABLE_BUY_COURSE); $tableBuyCourse = Database::get_main_table(TABLE_BUY_COURSE);
$tableCourse = Database::get_main_table(TABLE_MAIN_COURSE); $tableCourse = Database::get_main_table(TABLE_MAIN_COURSE);
$sql = "UPDATE $tableBuyCourse SET sync = 0"; $sql = "UPDATE $tableBuyCourse SET sync = 0";
Database::query($sql); Database::query($sql);
@ -50,7 +48,7 @@ function sync()
$sql = "SELECT id, code, title FROM $tableCourse"; $sql = "SELECT id, code, title FROM $tableCourse";
$res = Database::query($sql); $res = Database::query($sql);
while ($row = Database::fetch_assoc($res)) { while ($row = Database::fetch_assoc($res)) {
$sql = "SELECT id_session FROM $tableBuySessionRelCourse $sql = "SELECT id_session FROM $tableBuySessionRelCourse
WHERE course_code = '" . $row['code'] . "' LIMIT 1"; WHERE course_code = '" . $row['code'] . "' LIMIT 1";
$courseIdSession = Database::fetch_assoc(Database::query($sql))['id_session']; $courseIdSession = Database::fetch_assoc(Database::query($sql))['id_session'];
if (!is_numeric($courseIdSession)) { if (!is_numeric($courseIdSession)) {
@ -63,8 +61,8 @@ function sync()
$sql = "UPDATE $tableBuyCourse SET sync = 1, session_id = $courseIdSession WHERE course_id='" . $row['id'] . "';"; $sql = "UPDATE $tableBuyCourse SET sync = 1, session_id = $courseIdSession WHERE course_id='" . $row['id'] . "';";
Database::query($sql); Database::query($sql);
} else { } else {
$sql = "INSERT INTO $tableBuyCourse (session_id, course_id, code, title, visible, sync) $sql = "INSERT INTO $tableBuyCourse (session_id, course_id, code, title, visible, sync)
VALUES ('" . $courseIdSession . "', '" . $row['id'] . "', '" . VALUES ('" . $courseIdSession . "', '" . $row['id'] . "', '" .
$row['code'] . "', '" . $row['title'] . "', 0, 1);"; $row['code'] . "', '" . $row['title'] . "', 0, 1);";
Database::query($sql); Database::query($sql);
} }
@ -87,8 +85,8 @@ function sync()
$sql = "UPDATE $tableBuySession SET sync = 1 WHERE session_id='" . $row['id'] . "';"; $sql = "UPDATE $tableBuySession SET sync = 1 WHERE session_id='" . $row['id'] . "';";
Database::query($sql); Database::query($sql);
} else { } else {
$sql = "INSERT INTO $tableBuySession (session_id, name, date_start, date_end, visible, sync) $sql = "INSERT INTO $tableBuySession (session_id, name, date_start, date_end, visible, sync)
VALUES ('" . $row['id'] . "', '" . $row['name'] . "', '" . VALUES ('" . $row['id'] . "', '" . $row['name'] . "', '" .
$row['date_start'] . "', '" . $row['date_end'] . "', 0, 1);"; $row['date_start'] . "', '" . $row['date_end'] . "', 0, 1);";
Database::query($sql); Database::query($sql);
} }
@ -129,13 +127,11 @@ function listCourses()
$sql = "SELECT a.course_id, a.visible, a.price, b.* $sql = "SELECT a.course_id, a.visible, a.price, b.*
FROM $tableBuyCourse a, $tableCourse b FROM $tableBuyCourse a, $tableCourse b
WHERE a.course_id = b.id;"; WHERE a.course_id = b.id;";
$res = Database::query($sql); $res = Database::query($sql);
$aux = array(); $aux = array();
while ($row = Database::fetch_assoc($res)) { while ($row = Database::fetch_assoc($res)) {
$aux[] = $row; $aux[] = $row;
} }
return $aux; return $aux;
} }
@ -175,7 +171,7 @@ function userSessionList()
WHERE a.code = b.code AND a.code = '" . $rowSessionCourse['course_code'] . "' AND a.visible = 1;"; WHERE a.code = b.code AND a.code = '" . $rowSessionCourse['course_code'] . "' AND a.visible = 1;";
$res = Database::query($sql); $res = Database::query($sql);
// loop inside a course of current session // loop inside a course of current session
while ($row = Database::fetch_assoc($res)) { while ($row = Database::fetch_assoc($res)) {
//check teacher //check teacher
$sql = "SELECT lastname, firstname $sql = "SELECT lastname, firstname
FROM course_rel_user a, user b FROM course_rel_user a, user b
@ -198,13 +194,15 @@ function userSessionList()
//check if the user is enrolled in the current session //check if the user is enrolled in the current session
if (isset($_SESSION['_user']) || $_SESSION['_user']['user_id'] != '') { if (isset($_SESSION['_user']) || $_SESSION['_user']['user_id'] != '') {
$sql = "SELECT 1 FROM $tableSessionRelUser $sql = "SELECT 1 FROM $tableSessionRelUser
WHERE user_id='" . $_SESSION['_user']['user_id'] . "';"; WHERE id_session='".$rowSession['session_id']."' AND
id_user='" . $_SESSION['_user']['user_id'] . "';";
Database::query($sql); Database::query($sql);
if (Database::affected_rows() > 0) { if (Database::affected_rows() > 0) {
$rowSession['enrolled'] = "YES"; $rowSession['enrolled'] = "YES";
} else { } else {
$sql = "SELECT 1 FROM $tableBuySessionTemporal $sql = "SELECT 1 FROM $tableBuySessionTemporal
WHERE user_id='" . $_SESSION['_user']['user_id'] . "';"; WHERE id_session='".$rowSession['session_id']."' AND
id_user='" . $_SESSION['_user']['user_id'] . "';";
Database::query($sql); Database::query($sql);
if (Database::affected_rows() > 0) { if (Database::affected_rows() > 0) {
$rowSession['enrolled'] = "TMP"; $rowSession['enrolled'] = "TMP";
@ -214,7 +212,8 @@ function userSessionList()
} }
} else { } else {
$sql = "SELECT 1 FROM $tableBuySessionTemporal $sql = "SELECT 1 FROM $tableBuySessionTemporal
WHERE user_id='" . $_SESSION['_user']['user_id'] . "';"; WHERE id_session='".$rowSession['session_id']."' AND
id_user='" . $_SESSION['_user']['user_id'] . "';";
Database::query($sql); Database::query($sql);
if (Database::affected_rows() > 0) { if (Database::affected_rows() > 0) {
$rowSession['enrolled'] = "TMP"; $rowSession['enrolled'] = "TMP";
@ -252,7 +251,6 @@ function userCourseList()
WHERE a.course_code='" . $row['code'] . "' WHERE a.course_code='" . $row['code'] . "'
AND a.role<>'' AND a.role<>'NULL' AND a.role<>'' AND a.role<>'NULL'
AND a.user_id=b.user_id;"; AND a.user_id=b.user_id;";
$tmp = Database::query($sql); $tmp = Database::query($sql);
$rowTmp = Database::fetch_assoc($tmp); $rowTmp = Database::fetch_assoc($tmp);
$row['teacher'] = $rowTmp['firstname'] . ' ' . $rowTmp['lastname']; $row['teacher'] = $rowTmp['firstname'] . ' ' . $rowTmp['lastname'];
@ -295,7 +293,6 @@ function userCourseList()
$row['price'] = number_format($row['price'], 2, '.', ' '); $row['price'] = number_format($row['price'], 2, '.', ' ');
$aux[] = $row; $aux[] = $row;
} }
return $aux; return $aux;
} }
@ -305,7 +302,7 @@ function userCourseList()
function checkUserBuy($parameter, $user, $type = 'COURSE') function checkUserBuy($parameter, $user, $type = 'COURSE')
{ {
$sql = "SELECT 1 FROM %s WHERE %s ='" . $parameter . "' AND id_user='" . $user . "';"; $sql = "SELECT 1 FROM %s WHERE %s ='" . $parameter . "' AND id_user='" . $user . "';";
$sql = $type === 'SESSION' ? $sql = $type === 'SESSION' ?
sprintf($sql, Database::get_main_table(TABLE_MAIN_SESSION_USER), 'id_session') : sprintf($sql, Database::get_main_table(TABLE_MAIN_SESSION_USER), 'id_session') :
sprintf($sql, Database::get_main_table(TABLE_MAIN_COURSE_USER), 'course_code'); sprintf($sql, Database::get_main_table(TABLE_MAIN_COURSE_USER), 'course_code');
Database::query($sql); Database::query($sql);
@ -319,27 +316,10 @@ function checkUserBuy($parameter, $user, $type = 'COURSE')
/** /**
* *
*/ */
/*function checkUserCourse($course, $user)
{
$tableCourseRelUser = Database::get_main_table(TABLE_MAIN_COURSE_USER);
$sql = "SELECT 1 FROM $tableCourseRelUser
WHERE course_code='" . $course . "'
AND user_id='" . $user . "';";
Database::query($sql);
if (Database::affected_rows() > 0) {
return true;
} else {
return false;
}
}*/
/**
*
*/
function checkUserBuyTransfer($parameter, $user, $type = 'COURSE') function checkUserBuyTransfer($parameter, $user, $type = 'COURSE')
{ {
$sql = "SELECT 1 FROM %s WHERE %s ='" . $parameter . "' AND id_user='" . $user . "';"; $sql = "SELECT 1 FROM %s WHERE %s ='" . $parameter . "' AND id_user='" . $user . "';";
$sql = $type === 'SESSION' ? $sql = $type === 'SESSION' ?
sprintf($sql, Database::get_main_table(TABLE_BUY_SESSION_TEMPORAL), 'session_id') : sprintf($sql, Database::get_main_table(TABLE_BUY_SESSION_TEMPORAL), 'session_id') :
sprintf($sql, Database::get_main_table(TABLE_BUY_COURSE_TEMPORAL), 'course_code'); sprintf($sql, Database::get_main_table(TABLE_BUY_COURSE_TEMPORAL), 'course_code');
Database::query($sql); Database::query($sql);
@ -350,23 +330,6 @@ function checkUserBuyTransfer($parameter, $user, $type = 'COURSE')
} }
} }
/**
*
*/
/*function checkUserCourseTransfer($course, $user)
{
$tableBuyCourseTemporal = Database::get_main_table(TABLE_BUY_COURSE_TEMPORAL);
$sql = "SELECT 1 FROM $tableBuyCourseTemporal
WHERE course_code='" . $course . "'
AND user_id='" . $user . "';";
Database::query($sql);
if (Database::affected_rows() > 0) {
return true;
} else {
return false;
}
}*/
/** /**
* *
*/ */
@ -489,7 +452,7 @@ function findCurrency()
* @param string $code The session code * @param string $code The session code
* @return array Info about the session * @return array Info about the session
*/ */
function sessionInfo($code) //TODO function sessionInfo($code)
{ {
$tableBuySession = Database::get_main_table(TABLE_BUY_SESSION); $tableBuySession = Database::get_main_table(TABLE_BUY_SESSION);
$tableSession = Database::get_main_table(TABLE_MAIN_SESSION); $tableSession = Database::get_main_table(TABLE_MAIN_SESSION);
@ -498,7 +461,6 @@ function sessionInfo($code) //TODO
$tableBuyCourse = Database::get_main_table(TABLE_BUY_COURSE); $tableBuyCourse = Database::get_main_table(TABLE_BUY_COURSE);
$tableCourse = Database::get_main_table(TABLE_MAIN_COURSE); $tableCourse = Database::get_main_table(TABLE_MAIN_COURSE);
$tableSessionRelUser = Database::get_main_table(TABLE_MAIN_SESSION_USER); $tableSessionRelUser = Database::get_main_table(TABLE_MAIN_SESSION_USER);
//$tableBuyCourseTemporal = Database::get_main_table(TABLE_BUY_COURSE_TEMPORAL);
$tableBuySessionTemporal = Database::get_main_table(TABLE_BUY_SESSION_TEMPORAL); $tableBuySessionTemporal = Database::get_main_table(TABLE_BUY_SESSION_TEMPORAL);
$code = Database::escape_string($code); $code = Database::escape_string($code);
@ -506,7 +468,7 @@ function sessionInfo($code) //TODO
FROM $tableBuySession a, $tableSession b FROM $tableBuySession a, $tableSession b
WHERE a.session_id=b.id WHERE a.session_id=b.id
AND a.visible = 1 AND a.visible = 1
AND b.id = '" . $code . "';"; AND b.id = '".$code."';";
$res = Database::query($sql); $res = Database::query($sql);
$rowSession = Database::fetch_assoc($res); $rowSession = Database::fetch_assoc($res);
$sqlSessionCourse = "SELECT DISTINCT a.id_session, a.course_code, a.nbr_users $sqlSessionCourse = "SELECT DISTINCT a.id_session, a.course_code, a.nbr_users
@ -519,22 +481,22 @@ function sessionInfo($code) //TODO
// get course of current session // get course of current session
$sql = "SELECT a.course_id, a.session_id, a.visible, a.price, b.* $sql = "SELECT a.course_id, a.session_id, a.visible, a.price, b.*
FROM $tableBuyCourse a, $tableCourse b FROM $tableBuyCourse a, $tableCourse b
WHERE a.code = b.code AND a.code = '" . $rowSessionCourse['course_code'] . "' AND a.visible = 1;"; WHERE a.code = b.code AND a.code = '".$rowSessionCourse['course_code']."' AND a.visible = 1;";
$res = Database::query($sql); $res = Database::query($sql);
// loop inside a course of current session // loop inside a course of current session
while ($row = Database::fetch_assoc($res)) { while ($row = Database::fetch_assoc($res)) {
//check teacher //check teacher
$sql = "SELECT lastname, firstname $sql = "SELECT lastname, firstname
FROM course_rel_user a, user b FROM course_rel_user a, user b
WHERE a.course_code='" . $row['code'] . "' WHERE a.course_code='".$row['code']."'
AND a.role<>'' AND a.role<>'NULL' AND a.role<>'' AND a.role<>'NULL'
AND a.user_id=b.user_id;"; AND a.user_id=b.user_id;";
$tmp = Database::query($sql); $tmp = Database::query($sql);
$rowTmp = Database::fetch_assoc($tmp); $rowTmp = Database::fetch_assoc($tmp);
$row['teacher'] = $rowTmp['firstname'] . ' ' . $rowTmp['lastname']; $row['teacher'] = $rowTmp['firstname'].' '.$rowTmp['lastname'];
//check images //check images
if (file_exists("../../courses/" . $row['code'] . "/course-pic85x85.png")) { if (file_exists("../../courses/".$row['code']."/course-pic85x85.png")) {
$row['course_img'] = "courses/" . $row['code'] . "/course-pic85x85.png"; $row['course_img'] = "courses/".$row['code']."/course-pic85x85.png";
} else { } else {
$row['course_img'] = "main/img/without_picture.png"; $row['course_img'] = "main/img/without_picture.png";
} }
@ -545,13 +507,13 @@ function sessionInfo($code) //TODO
//check if the user is enrolled in the current session //check if the user is enrolled in the current session
if (isset($_SESSION['_user']) || $_SESSION['_user']['user_id'] != '') { if (isset($_SESSION['_user']) || $_SESSION['_user']['user_id'] != '') {
$sql = "SELECT 1 FROM $tableSessionRelUser $sql = "SELECT 1 FROM $tableSessionRelUser
WHERE user_id='" . $_SESSION['_user']['user_id'] . "';"; WHERE user_id='".$_SESSION['_user']['user_id']."';";
Database::query($sql); Database::query($sql);
if (Database::affected_rows() > 0) { if (Database::affected_rows() > 0) {
$rowSession['enrolled'] = "YES"; $rowSession['enrolled'] = "YES";
} else { } else {
$sql = "SELECT 1 FROM $tableBuySessionTemporal $sql = "SELECT 1 FROM $tableBuySessionTemporal
WHERE user_id='" . $_SESSION['_user']['user_id'] . "';"; WHERE user_id='".$_SESSION['_user']['user_id']."';";
Database::query($sql); Database::query($sql);
if (Database::affected_rows() > 0) { if (Database::affected_rows() > 0) {
$rowSession['enrolled'] = "TMP"; $rowSession['enrolled'] = "TMP";
@ -561,7 +523,7 @@ function sessionInfo($code) //TODO
} }
} else { } else {
$sql = "SELECT 1 FROM $tableBuySessionTemporal $sql = "SELECT 1 FROM $tableBuySessionTemporal
WHERE user_id='" . $_SESSION['_user']['user_id'] . "';"; WHERE user_id='".$_SESSION['_user']['user_id']."';";
Database::query($sql); Database::query($sql);
if (Database::affected_rows() > 0) { if (Database::affected_rows() > 0) {
$rowSession['enrolled'] = "TMP"; $rowSession['enrolled'] = "TMP";
@ -668,11 +630,7 @@ function calculateReference($bc_codetext)
$sql = "SELECT MAX(cod) as cod FROM $tableBuyTemporal"; $sql = "SELECT MAX(cod) as cod FROM $tableBuyTemporal";
$res = Database::query($sql); $res = Database::query($sql);
$row = Database::fetch_assoc($res); $row = Database::fetch_assoc($res);
if ($row['cod'] != '') { $reference = ($row['cod'] != '') ? $row['cod'] : '1';
$reference = $row['cod'];
} else {
$reference = '1';
}
$randomText = randomText(); $randomText = randomText();
$reference .= $randomText; $reference .= $randomText;
return $reference; return $reference;
@ -693,6 +651,5 @@ function pendingList($bc_codetext)
while ($row = Database::fetch_assoc($res)) { while ($row = Database::fetch_assoc($res)) {
$aux[] = $row; $aux[] = $row;
} }
return $aux; return $aux;
} }

@ -13,6 +13,8 @@ require_once api_get_path(LIBRARY_PATH) . 'mail.lib.inc.php';
require_once api_get_path(LIBRARY_PATH) . 'course.lib.php'; require_once api_get_path(LIBRARY_PATH) . 'course.lib.php';
$tableBuySession = Database::get_main_table(TABLE_BUY_SESSION); $tableBuySession = Database::get_main_table(TABLE_BUY_SESSION);
$tableBuySessionRelCourse = Database::get_main_table(TABLE_BUY_SESSION_COURSE);
$tableSessionRelCourse = Database::get_main_table(TABLE_MAIN_SESSION_COURSE);
$tableBuyCourse = Database::get_main_table(TABLE_BUY_COURSE); $tableBuyCourse = Database::get_main_table(TABLE_BUY_COURSE);
$tableBuyCourseCountry = Database::get_main_table(TABLE_BUY_COURSE_COUNTRY); $tableBuyCourseCountry = Database::get_main_table(TABLE_BUY_COURSE_COUNTRY);
$tableBuyCoursePaypal = Database::get_main_table(TABLE_BUY_COURSE_PAYPAL); $tableBuyCoursePaypal = Database::get_main_table(TABLE_BUY_COURSE_PAYPAL);
@ -20,6 +22,7 @@ $tableBuyCourseTransfer = Database::get_main_table(TABLE_BUY_COURSE_TRANSFER);
$tableBuyCourseTemporal = Database::get_main_table(TABLE_BUY_COURSE_TEMPORAL); $tableBuyCourseTemporal = Database::get_main_table(TABLE_BUY_COURSE_TEMPORAL);
$tableSession = Database::get_main_table(TABLE_MAIN_SESSION); $tableSession = Database::get_main_table(TABLE_MAIN_SESSION);
$tableCourse = Database::get_main_table(TABLE_MAIN_COURSE); $tableCourse = Database::get_main_table(TABLE_MAIN_COURSE);
$tableSessionRelUser = Database::get_main_table(TABLE_MAIN_SESSION_USER);
$tableCourseRelUser = Database::get_main_table(TABLE_MAIN_COURSE_USER); $tableCourseRelUser = Database::get_main_table(TABLE_MAIN_COURSE_USER);
$tableUser = Database::get_main_table(TABLE_MAIN_USER); $tableUser = Database::get_main_table(TABLE_MAIN_USER);
@ -27,14 +30,14 @@ $plugin = BuyCoursesPlugin::create();
$buy_name = $plugin->get_lang('Buy'); $buy_name = $plugin->get_lang('Buy');
if ($_REQUEST['tab'] == 'sync') { if ($_REQUEST['tab'] == 'sync') {
$sql = "SELECT code, title FROM $tableCourse;"; $sql = "SELECT code, title FROM $tableCourse;";
$res = Database::query($sql); $res = Database::query($sql);
while ($row = Database::fetch_assoc($res)) { while ($row = Database::fetch_assoc($res)) {
$aux_code .= $row['code']; $aux_code .= $row['code'];
$aux_title .= $row['title']; $aux_title .= $row['title'];
} }
$sql = "SELECT name, date_start, date_end FROM $tableSession;"; $sql = "SELECT name, date_start, date_end FROM $tableSession;";
$res = Database::query($sql); $res = Database::query($sql);
while ($row = Database::fetch_assoc($res)) { while ($row = Database::fetch_assoc($res)) {
@ -42,7 +45,189 @@ if ($_REQUEST['tab'] == 'sync') {
$aux_date_start .= $row['date_start']; $aux_date_start .= $row['date_start'];
$aux_date_end .= $row['date_end']; $aux_date_end .= $row['date_end'];
} }
echo json_encode(array("status" => "true", "content" => $content));
}
if ($_REQUEST['tab'] == 'sessions_filter') {
$session = Database::escape_string($_REQUEST['session']);
$priceMin = Database::escape_string($_REQUEST['pricemin']);
$priceMax = Database::escape_string($_REQUEST['pricemax']);
$show = Database::escape_string($_REQUEST['show']);
$category = Database::escape_string($_REQUEST['category']);
$server = api_get_path(WEB_PATH);
$filter = '';
if ($session != '') {
$filter .= "b.name LIKE '%" . $session . "%'";
}
if ($priceMin != '') {
if ($filter == '') {
$filter .= "a.price >= '" . $priceMin . "'";
} else {
$filter .= " AND a.price >= '" . $priceMin . "'";
}
}
if ($priceMax != '') {
if ($filter == '') {
$filter .= "a.price <= '" . $priceMax . "'";
} else {
$filter .= " AND a.price <= '" . $priceMax . "'";
}
}
if ($category != '') {
if ($filter == '') {
$filter .= "b.category_code='" . $category . "'";
} else {
$filter .= " AND b.category_code='" . $category . "'";
}
}
if ($filter == '') {
$sql = "SELECT a.session_id, a.visible, a.price, b.*
FROM $tableBuySession a, $tableSession b
WHERE a.session_id = b.id AND a.visible = 1;";
} else {
$sql = "SELECT a.session_id, a.visible, a.price, b.*
FROM $tableBuySession a, $tableSession b
WHERE a.session_id = b.id AND a.visible = 1 AND " . $filter . ";";
}
$resSessions = Database::query($sql);
$auxSessions = array();
// loop through all sessions
while ($rowSession = Database::fetch_assoc($resSessions)) {
// get courses of current session
$sqlSessionCourse = "SELECT DISTINCT a.id_session, a.course_code, a.nbr_users
FROM $tableBuySessionRelCourse a, $tableSessionRelCourse b
WHERE a.id_session = b.id_session AND a.id_session = " . $rowSession['session_id'] . ";";
$resSessionCourse = Database::query($sqlSessionCourse);
$aux = array();
// loop through courses of current session
while ($rowSessionCourse = Database::fetch_assoc($resSessionCourse)) {
// get course of current session
$sql = "SELECT a.course_id, a.session_id, a.visible, a.price, b.*
FROM $tableBuyCourse a, $tableCourse b
WHERE a.code = b.code AND a.code = '" . $rowSessionCourse['course_code'] . "' AND a.visible = 1;";
$res = Database::query($sql);
// loop inside a course of current session
while ($row = Database::fetch_assoc($res)) {
//check teacher
$sql = "SELECT lastname, firstname
FROM course_rel_user a, user b
WHERE a.course_code='" . $row['code'] . "'
AND a.role<>'' AND a.role<>'NULL'
AND a.user_id=b.user_id;";
$tmp = Database::query($sql);
$rowTmp = Database::fetch_assoc($tmp);
$row['teacher'] = $rowTmp['firstname'] . ' ' . $rowTmp['lastname'];
//check images
if (file_exists("../../courses/" . $row['code'] . "/course-pic85x85.png")) {
$row['course_img'] = "courses/" . $row['code'] . "/course-pic85x85.png";
} else {
$row['course_img'] = "main/img/without_picture.png";
}
$row['price'] = number_format($row['price'], 2, '.', ' ');
$aux[] = $row;
}
}
//check if the user is enrolled in the current session
if (isset($_SESSION['_user']) || $_SESSION['_user']['user_id'] != '') {
$sql = "SELECT 1 FROM $tableSessionRelUser
WHERE user_id='" . $_SESSION['_user']['user_id'] . "';";
Database::query($sql);
if (Database::affected_rows() > 0) {
$rowSession['enrolled'] = "YES";
} else {
$sql = "SELECT 1 FROM $tableBuySessionTemporal
WHERE user_id='" . $_SESSION['_user']['user_id'] . "';";
Database::query($sql);
if (Database::affected_rows() > 0) {
$rowSession['enrolled'] = "TMP";
} else {
$rowSession['enrolled'] = "NO";
}
}
} else {
$sql = "SELECT 1 FROM $tableBuySessionTemporal
WHERE user_id='" . $_SESSION['_user']['user_id'] . "';";
Database::query($sql);
if (Database::affected_rows() > 0) {
$rowSession['enrolled'] = "TMP";
} else {
$rowSession['enrolled'] = "NO";
}
}
// add courses to current session
$rowSession['courses'] = $aux;
// add the current whole session
$auxSessions[] = $rowSession;
}
$currencyType = findCurrency();
foreach ($auxSessions as $session) {
$content .= '<div class="well_border span8">';
$content .= '<div class="row">';
$content .= '<div class="span4 ">';
$content .= '<div class="categories-course-description">';
$content .= '<h3>'.$session['name'].'</h3>';
$content .= '<h5>'.get_lang('From').' '.$session['date_start'];
$content .= ' '.get_lang('Until').' '.$session['date_end'].'</h5>';
$content .= '</div>';
$content .= '</div>';
$content .= '<div class="span right">';
$content .= '<div class="sprice right">';
$content .= $session['price'].' '.$currencyType;
$content .= '</div>';
$content .= '<div class="cleared"></div>';
$content .= '<div class="btn-toolbar right">';
if ($session['enrolled'] == "NO") {
$content .= '<a class="btn btn-success" title=""';
$content .= 'href="'.$server.'plugin/buycourses/src/process.php?scode='.$session['session_id'].'">';
$content .= $buy_name;
$content .= '</a>';
}
$content .= '</div>';
$content .= '</div>';
$content .= '</div>';
$courses = $session['courses'];
foreach ($courses as $course) {
$content .= '<div class="row">';
$content .= '<div class="span">';
$content .= '<div class="thumbnail">';
$content .= '<a class="ajax" rel="gb_page_center[778]" title=""';
$content .= 'href="'.$server.'main/inc/src/course_home.ajax.php?';
$content .= 'a=show_course_information&code='.$course['code'].'">';
$content .= '<img alt="" src="' . $server . $course['course_img'] . '">';
$content .= '</a>';
$content .= '</div>';
$content .= '</div>';
$content .= '<div class="span4">';
$content .= '<div class="categories-course-description">';
$content .= '<h3>' . $course['title'] . '</h3>';
$content .= '<h5>' . get_lang('Teacher') . ': ' . $course['teacher'] . '</h5>';
$content .= '</div>';
if ($course['enrolled'] == "YES") {
$content .= '<span class="label label-info">'.$plugin->get_lang('TheUserIsAlreadyRegistered').'</span>';
}
$content .= '</div>';
$content .= '<div class="span right">';
$content .= '<div class="cleared"></div>';
$content .= '<div class="btn-toolbar right">';
$content .= '<a class="ajax btn btn-primary" title=""';
$content .= 'href="'.$server.'main/inc/src/course_home.ajax.php?';
$content .= 'a=show_course_information&code='.$course['code'].'">'.get_lang('Description').'</a>';
$content .= '</div>';
$content .= '</div>';
$content .= '</div>';
}
$content .= '</div>';
}
echo json_encode(array("status" => "true", "content" => $content)); echo json_encode(array("status" => "true", "content" => $content));
} }
@ -85,12 +270,12 @@ if ($_REQUEST['tab'] == 'courses_filter') {
if ($filter == '') { if ($filter == '') {
$sql = "SELECT a.course_id, a.visible, a.price, b.* $sql = "SELECT a.course_id, a.visible, a.price, b.*
FROM $tableBuyCourse a, $tableCourse b FROM $tableBuyCourse a, $tableCourse b
WHERE a.course_id = b.id WHERE a.course_id = b.id AND a.session_id = 0
AND a.visible = 1;"; AND a.visible = 1;";
} else { } else {
$sql = "SELECT a.course_id, a.visible, a.price, b.* $sql = "SELECT a.course_id, a.visible, a.price, b.*
FROM $tableBuyCourse a, $tableCourse b FROM $tableBuyCourse a, $tableCourse b
WHERE a.course_id = b.id WHERE a.course_id = b.id AND a.session_id = 0
AND a.visible = 1 AND " . $filter . ";"; AND a.visible = 1 AND " . $filter . ";";
} }
@ -143,27 +328,32 @@ if ($_REQUEST['tab'] == 'courses_filter') {
$content .= '<div class="row">'; $content .= '<div class="row">';
$content .= '<div class="span">'; $content .= '<div class="span">';
$content .= '<div class="thumbnail">'; $content .= '<div class="thumbnail">';
$content .= '<a class="ajax" rel="gb_page_center[778]" title="" href="' . $server . 'main/inc/ajax/course_home.ajax.php?a=show_course_information&code=' . $course['code'] . '">'; $content .= '<a class="ajax" rel="gb_page_center[778]" title=""';
$content .= '<img alt="" src="' . $server . $course['course_img'] . '">'; $content .= 'href="'.$server.'main/inc/src/course_home.ajax.php?';
$content .= 'a=show_course_information&code='.$course['code'].'">';
$content .= '<img alt="" src="'.$server.$course['course_img'].'">';
$content .= '</a>'; $content .= '</a>';
$content .= '</div>'; $content .= '</div>';
$content .= '</div>'; $content .= '</div>';
$content .= '<div class="span4">'; $content .= '<div class="span4">';
$content .= '<div class="categories-course-description">'; $content .= '<div class="categories-course-description">';
$content .= '<h3>' . $course['title'] . '</h3>'; $content .= '<h3>'.$course['title'].'</h3>';
$content .= '<h5>' . get_lang('Teacher') . ': ' . $course['teacher'] . '</h5>'; $content .= '<h5>'.get_lang('Teacher').': '.$course['teacher'].'</h5>';
$content .= '</div>'; $content .= '</div>';
if ($course['enrolled'] == "YES") { if ($course['enrolled'] == "YES") {
$content .= '<span class="label label-info">' . $plugin->get_lang('TheUserIsAlreadyRegistered') . '</span>'; $content .= '<span class="label label-info">'.$plugin->get_lang('TheUserIsAlreadyRegistered').'</span>';
} }
$content .= '</div>'; $content .= '</div>';
$content .= '<div class="span right">'; $content .= '<div class="span right">';
$content .= '<div class="sprice right">' . $course['price'] . ' ' . $currencyType . ' </div>'; $content .= '<div class="sprice right">'.$course['price'].' '.$currencyType.'</div>';
$content .= '<div class="cleared"></div>'; $content .= '<div class="cleared"></div>';
$content .= '<div class="btn-toolbar right">'; $content .= '<div class="btn-toolbar right">';
$content .= '<a class="ajax btn btn-primary" title="" href="' . $server . 'main/inc/ajax/course_home.ajax.php?a=show_course_information&code=' . $course['code'] . '">' . get_lang('Description') . '</a>&nbsp;'; $content .= '<a class="ajax btn btn-primary" title=""';
$content .= 'href="'.$server.'main/inc/src/course_home.ajax.php?';
$content .= 'a=show_course_information&code='.$course['code'].'">'.get_lang('Description').'</a>&nbsp;';
if ($course['enrolled'] != "YES") { if ($course['enrolled'] != "YES") {
$content .= '<a class="btn btn-success" title="" href="' . $server . 'plugin/buycourses/src/process.php?code=' . $course['id'] . '">' . $buy_name . '</a>'; $content .= '<a class="btn btn-success" title=""';
$content .= 'href="'.$server.'plugin/buycourses/src/process.php?code='.$course['id'].'">'.$buy_name.'</a>';
} }
$content .= '</div>'; $content .= '</div>';
$content .= '</div>'; $content .= '</div>';
@ -244,11 +434,11 @@ if ($_REQUEST['tab'] == 'delete_account') {
if ($_REQUEST['tab'] == 'save_mod') { if ($_REQUEST['tab'] == 'save_mod') {
$_REQUEST['id'] = Database::escape_string($_REQUEST['id']); $_REQUEST['id'] = Database::escape_string($_REQUEST['id']);
$id = intval($_REQUEST['course_id']); $id = intval($_REQUEST['course_id']);
$tableBuy = $tableBuyCourse; $tableBuy = $tableBuyCourse;
$tableField = 'course_id'; $tableField = 'course_id';
if (isset($_REQUEST['session_id'])) { if (isset($_REQUEST['session_id'])) {
$id = intval($_REQUEST['session_id']); $id = intval($_REQUEST['session_id']);
$tableBuy = $tableBuySession; $tableBuy = $tableBuySession;

@ -52,8 +52,8 @@ $tpl->assign('currency', $currencyType);
$result = array_shift( $result = array_shift(
Database::select( Database::select(
'selected_value', 'selected_value',
Database::get_main_table(TABLE_MAIN_SETTINGS_CURRENT), Database::get_main_table(TABLE_MAIN_SETTINGS_CURRENT),
array('where'=> array('variable = ?' => array('buycourses_include_sessions'))) array('where'=> array('variable = ?' => array('buycourses_include_sessions')))
) )
); );

@ -29,21 +29,21 @@ if (!empty($_GET['code'])) {
$result = array_shift( $result = array_shift(
Database::select( Database::select(
'selected_value', 'selected_value',
Database::get_main_table(TABLE_MAIN_SETTINGS_CURRENT), Database::get_main_table(TABLE_MAIN_SETTINGS_CURRENT),
array('where'=> array('variable = ?' => array('buycourses_include_sessions'))) array('where'=> array('variable = ?' => array('buycourses_include_sessions')))
) )
); );
if ($codeType === 'SESSION' && $result['selected_value'] === 'true') { if ($codeType === 'SESSION' && $result['selected_value'] === 'true') {
$tableSession = Database::get_main_table(TABLE_MAIN_SESSION); $tableSession = Database::get_main_table(TABLE_MAIN_SESSION);
$tableBuySession = Database::get_main_table(TABLE_BUY_SESSION); $tableBuySession = Database::get_main_table(TABLE_BUY_SESSION);
$sql = "SELECT a.session_id, a.name, a.date_start, a.date_end, a.price $sql = "SELECT a.session_id, a.name, a.date_start, a.date_end, a.price
FROM $tableBuySession a, $tableSession b FROM $tableBuySession a, $tableSession b
WHERE a.session_id = " . $code . " WHERE a.session_id = ".$code."
AND a.session_id = b.id;"; AND a.session_id = b.id;";
$res = Database::query($sql); $res = Database::query($sql);
$row = Database::fetch_assoc($res); $row = Database::fetch_assoc($res);
$_SESSION['bc_title'] = $row['name']; $_SESSION['bc_title'] = $row['name'];
$_SESSION['bc_codetext'] = 'THIS_IS_A_SESSION'; $_SESSION['bc_codetext'] = 'THIS_IS_A_SESSION';
$tpl->assign('session', sessionInfo($code)); $tpl->assign('session', sessionInfo($code));

@ -34,13 +34,13 @@ require_once("paypalfunctions.php");
* PayPal Express Checkout Call * PayPal Express Checkout Call
*/ */
// Check to see if the Request object contains a variable named 'token' // Check to see if the Request object contains a variable named 'token'
$token = ""; $token = "";
if (isset($_REQUEST['token'])) { if (isset($_REQUEST['token'])) {
$token = $_REQUEST['token']; $token = $_REQUEST['token'];
} }
// If the Request object contains the variable 'token' then it means that the user is coming from PayPal site. // If the Request object contains the variable 'token' then it means that the user is coming from PayPal site.
if ($token != "") { if ($token != "") {
$sql = "SELECT * FROM $tableBuyCoursePaypal WHERE id='1';"; $sql = "SELECT * FROM $tableBuyCoursePaypal WHERE id='1';";
$res = Database::query($sql); $res = Database::query($sql);
@ -106,9 +106,13 @@ if (!isset($_POST['paymentOption'])) {
$tpl = new Template($templateName); $tpl = new Template($templateName);
$_SESSION['bc_codetext'] === 'THIS_IS_A_SESSION' ? if ($_SESSION['bc_codetext'] === 'THIS_IS_A_SESSION') {
$tpl->assign('session', sessionInfo($_SESSION['bc_code'])) : $tpl->assign('isSession', 'YES');
$tpl->assign('session', sessionInfo($_SESSION['bc_code']));
} else {
$tpl->assign('course', courseInfo($_SESSION['bc_code'])); $tpl->assign('course', courseInfo($_SESSION['bc_code']));
}
$tpl->assign('server', $_configuration['root_web']); $tpl->assign('server', $_configuration['root_web']);
$tpl->assign('title', $_SESSION['bc_title']); $tpl->assign('title', $_SESSION['bc_title']);
$tpl->assign('price', $_SESSION['Payment_Amount']); $tpl->assign('price', $_SESSION['Payment_Amount']);
@ -210,31 +214,28 @@ if (!isset($_POST['paymentOption'])) {
* refund: A reversal has occurred on this transaction because you have given the customer a refund. * refund: A reversal has occurred on this transaction because you have given the customer a refund.
* other: A reversal has occurred on this transaction due to a reason not listed above. * other: A reversal has occurred on this transaction due to a reason not listed above.
*/ */
//api_get_session_info($session_id)
$reasonCode = $resArray["PAYMENTINFO_0_REASONCODE"]; $reasonCode = $resArray["PAYMENTINFO_0_REASONCODE"];
// Insert the user information to activate the user // Insert the user information to activate the user
if ($paymentStatus == "Completed") { if ($paymentStatus == "Completed") {
$user_id = $_SESSION['bc_user_id']; $userId = $_SESSION['bc_user_id'];
if ($_SESSION['bc_codetext'] === 'THIS_IS_A_SESSION') { if ($_SESSION['bc_codetext'] === 'THIS_IS_A_SESSION') {
$session_id = $_SESSION['bc_code']; $sessionId = $_SESSION['bc_code'];
$all_session_information = Session::api_get_session_info($session_id); $all_session_information = SessionManager::fetch($sessionId);
if (SessionManager::suscribe_users_to_session($session_id, array($user_id), SessionManager::suscribe_users_to_session(
api_get_session_visibility($session_id), false)) { $sessionId,
//$send = api_get_session_setting('email_alert_to_teacher_on_new_user_in_session', $session_id); array($userId),
//if ($send == 1) { api_get_session_visibility($sessionId),
//SessionManager::email_to_tutor($user_id, $session_id, $send_to_tutor_also = false); false
/*} else if ($send == 2) { );
CourseManager::email_to_tutor($user_id, $session_id, $send_to_tutor_also = true); $url = Display::url(
}*/ $all_session_information['name'],
//$url = Display::url($all_session_information['name'], api_get_session_url($session_id)); $_configuration['root_web']."main/session/index.php?session_id=".$sessionId
$_SESSION['bc_message'] = 'EnrollToSessionXSuccessful'; );
$_SESSION['bc_url'] = '';//$url; $_SESSION['bc_message'] = 'EnrollToSessionXSuccessful';
$_SESSION['bc_success'] = true; $_SESSION['bc_url'] = $url;
} else { $_SESSION['bc_success'] = true;
$_SESSION['bc_message'] = 'ErrorContactPlatformAdmin';
$_SESSION['bc_success'] = false;
}
} else { } else {
$course_code = $_SESSION['bc_codetext']; $course_code = $_SESSION['bc_codetext'];
$all_course_information = CourseManager::get_course_information($course_code); $all_course_information = CourseManager::get_course_information($course_code);
@ -254,6 +255,7 @@ if (!isset($_POST['paymentOption'])) {
$_SESSION['bc_success'] = false; $_SESSION['bc_success'] = false;
} }
} }
// Activate the use // Activate the use
$TABLE_USER = Database::get_main_table(TABLE_MAIN_USER); $TABLE_USER = Database::get_main_table(TABLE_MAIN_USER);
$sql = "UPDATE " . $TABLE_USER . " SET active='1' WHERE user_id='" . $_SESSION['bc_user_id'] . "'"; $sql = "UPDATE " . $TABLE_USER . " SET active='1' WHERE user_id='" . $_SESSION['bc_user_id'] . "'";
@ -282,18 +284,18 @@ if (!isset($_POST['paymentOption'])) {
$_user['lastLogin'] = api_strtotime($uData['login_date'], 'UTC'); $_user['lastLogin'] = api_strtotime($uData['login_date'], 'UTC');
$is_platformAdmin = (bool)(!is_null($uData['is_admin'])); $is_platformAdmin = (bool)(!is_null($uData['is_admin']));
$is_allowedCreateCourse = (bool)(($uData ['status'] == COURSEMANAGER) or (api_get_setting('drhCourseManagerRights') and $uData['status'] == DRH)); $is_allowedCreateCourse = (bool)(($uData ['status'] == COURSEMANAGER) or (api_get_setting('drhCourseManagerRights') and $uData['status'] == DRH));
ConditionalLogin::check_conditions($uData); ConditionalLogin::check_conditions($uData);
Session::write('_user', $_user); Session::write('_user', $_user);
UserManager::update_extra_field_value($_user['user_id'], 'already_logged_in', 'true'); UserManager::update_extra_field_value($_user['user_id'], 'already_logged_in', 'true');
Session::write('is_platformAdmin', $is_platformAdmin); Session::write('is_platformAdmin', $is_platformAdmin);
Session::write('is_allowedCreateCourse', $is_allowedCreateCourse); Session::write('is_allowedCreateCourse', $is_allowedCreateCourse);
} else { } else {
header('location:' . api_get_path(WEB_PATH)); header('location:' . api_get_path(WEB_PATH));
} }

@ -15,7 +15,7 @@ $(function() {
</script> </script>
{% if sessionsAreIncluded == "YES" %} {% if sessionsAreIncluded == "YES" %}
<div class="ui-tabs ui-widget ui-widget-content ui-corner-all" id="tabs"> <ul class="ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all"> <li class="ui-state-default ui-corner-top ui-tabs-selected ui-state-active"> <a href="#tabs-1"> Cursos</a></li><li class="ui-state-default ui-corner-top"> <a href="#tabs-2"> Sesiones</a></li></ul> <div class="ui-tabs ui-widget ui-widget-content ui-corner-all" id="tabs"> <ul class="ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all"> <li class="ui-state-default ui-corner-top ui-tabs-selected ui-state-active"> <a href="#tabs-1">{{ 'Courses'|get_lang }}</a></li><li class="ui-state-default ui-corner-top"> <a href="#tabs-2">{{ 'Sessions'|get_lang }}</a></li></ul>
{% endif %} {% endif %}
<div id="tabs-1" class="row"> <div id="tabs-1" class="row">

@ -15,13 +15,13 @@ $(function() {
</script> </script>
{% if sessionsAreIncluded == "YES" %} {% if sessionsAreIncluded == "YES" %}
<div class="ui-tabs ui-widget ui-widget-content ui-corner-all" id="tabs"> <ul class="ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all"> <li class="ui-state-default ui-corner-top ui-tabs-selected ui-state-active"> <a href="#tabs-1"> Cursos</a></li><li class="ui-state-default ui-corner-top"> <a href="#tabs-2"> Sesiones</a></li></ul> <div class="ui-tabs ui-widget ui-widget-content ui-corner-all" id="tabs"> <ul class="ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all"> <li class="ui-state-default ui-corner-top ui-tabs-selected ui-state-active"> <a href="#tabs-1">{{ 'Courses'|get_lang }}</a></li><li class="ui-state-default ui-corner-top"> <a href="#tabs-2">{{ 'Sessions'|get_lang }}</a></li></ul>
{% endif %} {% endif %}
<div id="tabs-1" class="row"> <div id="tabs-1" class="row">
<div class="span3"> <div class="span3">
<div id="course_category_well" class="well"> <div id="course_category_well" class="well">
<ul class="nav nav-list"> <ul class="nav nav-list">
<li class="nav-header"><h4>{{ 'SearchFilter'|get_plugin_lang('BuyCoursesPlugin') }}:</h4></li> <li class="nav-header"><h4>{{ 'SearchFilter'|get_plugin_lang('BuyCoursesPlugin') }}:</h4></li>
<li class="nav-header">{{ 'CourseName'|get_lang }}:</li> <li class="nav-header">{{ 'CourseName'|get_lang }}:</li>
<li><input type="text" id="course_name" style="width:95%"/></li> <li><input type="text" id="course_name" style="width:95%"/></li>
@ -42,7 +42,7 @@ $(function() {
</li> </li>
<br /> <br />
<li class="ta-center"> <li class="ta-center">
<input type="button" class="btn btn-primary" value="Search Courses" id="confirm_filter" /> <input type="button" class="btn btn-primary" value="{{ 'Search'|get_lang }}" id="confirm_filter" />
</li> </li>
</ul> </ul>
</div> </div>
@ -100,19 +100,19 @@ $(function() {
<div id="tabs-2" class="row"> <div id="tabs-2" class="row">
<div class="span3"> <div class="span3">
<div id="course_category_well" class="well"> <div id="course_category_well" class="well">
<ul class="nav nav-list"> <ul class="nav nav-list">
<li class="nav-header"><h4>{{ 'SearchFilter'|get_plugin_lang('BuyCoursesPlugin') }}:</h4></li> <li class="nav-header"><h4>{{ 'SearchFilter'|get_plugin_lang('BuyCoursesPlugin') }}:</h4></li>
<li class="nav-header">{{ 'Nombre de la sesión'|get_lang }}:</li> <li class="nav-header">{{ 'SessionName'|get_lang }}:</li>
<li><input type="text" id="course_name" style="width:95%"/></li> <li><input type="text" id="session_name" style="width:95%"/></li>
<li class="nav-header">{{ 'MinimumPrice'|get_plugin_lang('BuyCoursesPlugin') }}: <li class="nav-header">{{ 'MinimumPrice'|get_plugin_lang('BuyCoursesPlugin') }}:
<input type="text" id="price_min" class="span1"/> <input type="text" id="session_price_min" class="span1"/>
</li> </li>
<li class="nav-header">{{ 'MaximumPrice'|get_plugin_lang('BuyCoursesPlugin') }}: <li class="nav-header">{{ 'MaximumPrice'|get_plugin_lang('BuyCoursesPlugin') }}:
<input type="text" id="price_max" class="span1"/> <input type="text" id="session_price_max" class="span1"/>
</li> </li>
<li class="nav-header">{{ 'Categories'|get_lang }}:</li> <li class="nav-header">{{ 'Categories'|get_lang }}:</li>
<li> <li>
<select id="courses_category"> <select id="sessions_category">
<option value="" selected="selected"></option> <option value="" selected="selected"></option>
{% for category in categories %} {% for category in categories %}
<option value="{{ category.code }}">{{ category.name }}</option> <option value="{{ category.code }}">{{ category.name }}</option>
@ -121,7 +121,7 @@ $(function() {
</li> </li>
<br /> <br />
<li class="ta-center"> <li class="ta-center">
<input type="button" class="btn btn-primary" value="Search Courses" id="confirm_filter" /> <input type="button" class="btn btn-primary" value="{{ 'Search'|get_lang }}" id="confirm_session_filter" />
</li> </li>
</ul> </ul>
</div> </div>
@ -137,8 +137,14 @@ $(function() {
<div class="row"> <div class="row">
<div class="span4 "> <div class="span4 ">
<div class="categories-course-description"> <div class="categories-course-description">
<h3>{{ session.name }}</h3> <h3>{{ session.name }}</h3>
<h5>{{ 'From'|get_lang }} {{ session.date_start }} {{ 'To'|get_lang }} {{ session.date_end }}</h5> <h5>{{ 'From'|get_lang }} {{ session.date_start }} {{ 'Until'|get_lang }} {{ session.date_end }}</h5>
{% if session.enrolled == "YES" %}
<span class="label label-info">{{ 'TheUserIsAlreadyRegisteredInTheSession'|get_plugin_lang('BuyCoursesPlugin') }}</span>
{% endif %}
{% if session.enrolled == "TMP" %}
<span class="label label-warning">{{ 'WaitingToReceiveThePayment'|get_plugin_lang('BuyCoursesPlugin') }}</span>
{% endif %}
</div> </div>
</div> </div>
<div class="span right"> <div class="span right">

@ -20,11 +20,52 @@
<br/><br/> <br/><br/>
<div class="well_border span8"> <div class="well_border span8">
{% if isSession == "YES" %}
<div class="row">
<div class="span4">
<div class="categories-course-description">
<h3>{{ session.name }}</h3>
<h5>{{ 'From'|get_lang }} {{ session.date_start }} {{ 'To'|get_lang }} {{ session.date_end }}</h5>
</div>
</div>
<div class="span right">
<div class="sprice right">
{{ session.price }} {{ currency }}
</div>
<div class="cleared"></div>
</div>
</div>
{% for course in session.courses %}
<div class="row">
<div class="span">
<div class="thumbnail">
<a class="ajax" rel="gb_page_center[778]" title="" href="{{ server }}plugin/buycourses/src/ajax.php?code={{ course.code }}">
<img alt="" src="{{ server }}{{ course.course_img }}">
</a>
</div>
</div>
<div class="span4">
<div class="categories-course-description">
<h3>{{ course.title }}</h3>
<h5>{{ 'Teacher'|get_lang }}: {{ course.teacher }}</h5>
</div>
</div>
<div class="span right">
<div class="cleared"></div>
<div class="btn-toolbar right">
<a class="ajax btn btn-primary" title="" href="{{ server }}plugin/buycourses/src/ajax.php?code={{ course.code }}">
{{ 'Description'|get_lang }}
</a>
</div>
</div>
</div>
{% endfor %}
{% else %}
<div class="row"> <div class="row">
<div class="span"> <div class="span">
<div class="thumbnail"> <div class="thumbnail">
<a class="ajax" rel="gb_page_center[778]" title="" <a class="ajax" rel="gb_page_center[778]" title=""
href="{{ server }}plugin/buycourses/function/ajax.php?code={{ course.code }}"> href="{{ server }}plugin/buycourses/src/ajax.php?code={{ course.code }}">
<img alt="" src="{{ server }}{{ course.course_img }}"> <img alt="" src="{{ server }}{{ course.course_img }}">
</a> </a>
</div> </div>
@ -40,11 +81,12 @@
<div class="cleared"></div> <div class="cleared"></div>
<div class="btn-toolbar right"> <div class="btn-toolbar right">
<a class="ajax btn btn-primary" title="" <a class="ajax btn btn-primary" title=""
href="{{ server }}plugin/buycourses/function/ajax.php?code={{ course.code }}">{{'Description'|get_lang }}</a> href="{{ server }}plugin/buycourses/src/ajax.php?code={{ course.code }}">{{'Description'|get_lang }}</a>
</div> </div>
</div> </div>
</div> </div>
{% endif %}
</div> </div>
</div> </div>
<div class="cleared"></div> <div class="cleared"></div>

Loading…
Cancel
Save