diff --git a/main/lang/english/trad4all.inc.php b/main/lang/english/trad4all.inc.php
index becbe27bf9..a606143785 100755
--- a/main/lang/english/trad4all.inc.php
+++ b/main/lang/english/trad4all.inc.php
@@ -1624,4 +1624,5 @@ $LegalAgreementAccepted = "Legal agreement accepted";
$FieldTypeMobilePhoneNumber = "Mobile phone";
$CountryDialCode = "Include the country dial code";
$MobilePhoneNumberWrong = "Mobile phone number is incomplete or contains not valid characters";
+$SessionName = "Session name";
?>
\ No newline at end of file
diff --git a/main/lang/spanish/trad4all.inc.php b/main/lang/spanish/trad4all.inc.php
index d2b6b59bb3..b1b9357f6c 100644
--- a/main/lang/spanish/trad4all.inc.php
+++ b/main/lang/spanish/trad4all.inc.php
@@ -1616,4 +1616,5 @@ $LegalAgreementAccepted = "Condiciones legales aceptadas";
$FieldTypeMobilePhoneNumber = "Número de móvil";
$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.";
+$SessionName = "Nombre de la sesión";
?>
\ No newline at end of file
diff --git a/plugin/buycourses/js/buycourses.js b/plugin/buycourses/js/buycourses.js
index 3b9985148d..4b7d1c89ad 100644
--- a/plugin/buycourses/js/buycourses.js
+++ b/plugin/buycourses/js/buycourses.js
@@ -35,7 +35,7 @@ $(document).ready(function () {
var visible = $(this).parent().parent().prev().prev().children().attr("checked");
var price = $(this).parent().parent().prev().children().attr("value");
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) {
courseOrSession = "session_id";
} else {
@@ -55,7 +55,7 @@ $(document).ready(function () {
$("#" + courseOrSession + data.course_id).parent().children().each(function () {
$(this).removeClass("btop");
});
- }
+ }
}, "json");
});
@@ -73,6 +73,30 @@ $(document).ready(function () {
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) {
var vcourse = $("#course_name").attr("value");
@@ -229,4 +253,4 @@ function acciones_ajax() {
}
-
+
diff --git a/plugin/buycourses/lang/english.php b/plugin/buycourses/lang/english.php
index f30e7e17f9..f569b51ff8 100644
--- a/plugin/buycourses/lang/english.php
+++ b/plugin/buycourses/lang/english.php
@@ -1,4 +1,3 @@
-
À la réception de la confirmation de paiement, nous terminerons le processus d'inscrtipion au cours {{curso}}.
N'oubliez pas d'indiquer le numéro de référence de la commande lors de votre transfert: {{reference}}
";
$strings['Categories'] = "Catégories";
$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['MinimumPrice'] = "Prix minimum";
$strings['MaximumPrice'] = "Prix maximum";
@@ -72,3 +65,5 @@ $strings['ErrorContactPlatformAdmin'] = "Une erreur inconnue s'est produite. Veu
$strings['PayPalConfig'] = "Configuration PayPal:";
$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['EnrollToSessionXSuccessful'] = "Votre inscription au session %s est terminée.";
+$strings['TheUserIsAlreadyRegisteredInTheSession'] = "L'utilisateur est déjà inscrit au session";
diff --git a/plugin/buycourses/lang/spanish.php b/plugin/buycourses/lang/spanish.php
index b9942f6fec..90ed780839 100644
--- a/plugin/buycourses/lang/spanish.php
+++ b/plugin/buycourses/lang/spanish.php
@@ -1,22 +1,17 @@
0) {
$rowSession['enrolled'] = "YES";
} else {
$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);
if (Database::affected_rows() > 0) {
$rowSession['enrolled'] = "TMP";
@@ -214,7 +212,8 @@ function userSessionList()
}
} else {
$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);
if (Database::affected_rows() > 0) {
$rowSession['enrolled'] = "TMP";
@@ -252,7 +251,6 @@ function userCourseList()
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'];
@@ -295,7 +293,6 @@ function userCourseList()
$row['price'] = number_format($row['price'], 2, '.', ' ');
$aux[] = $row;
}
-
return $aux;
}
@@ -305,7 +302,7 @@ function userCourseList()
function checkUserBuy($parameter, $user, $type = 'COURSE')
{
$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_COURSE_USER), 'course_code');
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')
{
$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_COURSE_TEMPORAL), 'course_code');
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
* @return array Info about the session
*/
-function sessionInfo($code) //TODO
+function sessionInfo($code)
{
$tableBuySession = Database::get_main_table(TABLE_BUY_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);
$tableCourse = Database::get_main_table(TABLE_MAIN_COURSE);
$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);
$code = Database::escape_string($code);
@@ -506,7 +468,7 @@ function sessionInfo($code) //TODO
FROM $tableBuySession a, $tableSession b
WHERE a.session_id=b.id
AND a.visible = 1
- AND b.id = '" . $code . "';";
+ AND b.id = '".$code."';";
$res = Database::query($sql);
$rowSession = Database::fetch_assoc($res);
$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
$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;";
+ 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)) {
+ 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'] . "'
+ 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'];
+ $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";
+ 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";
}
@@ -545,13 +507,13 @@ function sessionInfo($code) //TODO
//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'] . "';";
+ 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'] . "';";
+ WHERE user_id='".$_SESSION['_user']['user_id']."';";
Database::query($sql);
if (Database::affected_rows() > 0) {
$rowSession['enrolled'] = "TMP";
@@ -561,7 +523,7 @@ function sessionInfo($code) //TODO
}
} else {
$sql = "SELECT 1 FROM $tableBuySessionTemporal
- WHERE user_id='" . $_SESSION['_user']['user_id'] . "';";
+ WHERE user_id='".$_SESSION['_user']['user_id']."';";
Database::query($sql);
if (Database::affected_rows() > 0) {
$rowSession['enrolled'] = "TMP";
@@ -668,11 +630,7 @@ function calculateReference($bc_codetext)
$sql = "SELECT MAX(cod) as cod FROM $tableBuyTemporal";
$res = Database::query($sql);
$row = Database::fetch_assoc($res);
- if ($row['cod'] != '') {
- $reference = $row['cod'];
- } else {
- $reference = '1';
- }
+ $reference = ($row['cod'] != '') ? $row['cod'] : '1';
$randomText = randomText();
$reference .= $randomText;
return $reference;
@@ -693,6 +651,5 @@ function pendingList($bc_codetext)
while ($row = Database::fetch_assoc($res)) {
$aux[] = $row;
}
-
return $aux;
}
diff --git a/plugin/buycourses/src/function.php b/plugin/buycourses/src/function.php
index 7ada9c8fb0..3fcd16153b 100644
--- a/plugin/buycourses/src/function.php
+++ b/plugin/buycourses/src/function.php
@@ -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';
$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);
$tableBuyCourseCountry = Database::get_main_table(TABLE_BUY_COURSE_COUNTRY);
$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);
$tableSession = Database::get_main_table(TABLE_MAIN_SESSION);
$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);
$tableUser = Database::get_main_table(TABLE_MAIN_USER);
@@ -27,14 +30,14 @@ $plugin = BuyCoursesPlugin::create();
$buy_name = $plugin->get_lang('Buy');
if ($_REQUEST['tab'] == 'sync') {
-
+
$sql = "SELECT code, title FROM $tableCourse;";
$res = Database::query($sql);
while ($row = Database::fetch_assoc($res)) {
$aux_code .= $row['code'];
$aux_title .= $row['title'];
}
-
+
$sql = "SELECT name, date_start, date_end FROM $tableSession;";
$res = Database::query($sql);
while ($row = Database::fetch_assoc($res)) {
@@ -42,7 +45,189 @@ if ($_REQUEST['tab'] == 'sync') {
$aux_date_start .= $row['date_start'];
$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 .= '
';
+ $content .= '
';
+ $content .= '
';
+ $content .= '
';
+ $content .= '
'.$session['name'].'
';
+ $content .= ''.get_lang('From').' '.$session['date_start'];
+ $content .= ' '.get_lang('Until').' '.$session['date_end'].'
';
+ $content .= '';
+ $content .= '
';
+ $content .= '
';
+ $content .= '
';
+ $content .= $session['price'].' '.$currencyType;
+ $content .= '
';
+ $content .= '
';
+ $content .= '
';
+ $content .= '
';
+ $content .= '
';
+ $courses = $session['courses'];
+ foreach ($courses as $course) {
+ $content .= '
';
+ $content .= '
';
+ $content .= '
';
+ $content .= '
';
+ $content .= '
';
+ $content .= '
';
+ $content .= '
' . $course['title'] . '
';
+ $content .= '' . get_lang('Teacher') . ': ' . $course['teacher'] . '
';
+ $content .= '';
+ if ($course['enrolled'] == "YES") {
+ $content .= '
'.$plugin->get_lang('TheUserIsAlreadyRegistered').'';
+ }
+ $content .= '
';
+ $content .= '
';
+ $content .= '
';
+ $content .= '
';
+ $content .= '
';
+ $content .= '
';
+ }
+ $content .= '
';
+ }
+
echo json_encode(array("status" => "true", "content" => $content));
}
@@ -85,12 +270,12 @@ if ($_REQUEST['tab'] == 'courses_filter') {
if ($filter == '') {
$sql = "SELECT a.course_id, a.visible, a.price, 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;";
} else {
$sql = "SELECT a.course_id, a.visible, a.price, 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 . ";";
}
@@ -143,27 +328,32 @@ if ($_REQUEST['tab'] == 'courses_filter') {
$content .= '';
$content .= '
';
$content .= '
';
$content .= '
';
$content .= '
';
$content .= '
';
- $content .= '
' . $course['title'] . '
';
- $content .= '' . get_lang('Teacher') . ': ' . $course['teacher'] . '
';
+ $content .= ''.$course['title'].'
';
+ $content .= ''.get_lang('Teacher').': '.$course['teacher'].'
';
$content .= '';
if ($course['enrolled'] == "YES") {
- $content .= '
' . $plugin->get_lang('TheUserIsAlreadyRegistered') . '';
+ $content .= '
'.$plugin->get_lang('TheUserIsAlreadyRegistered').'';
}
$content .= '
';
$content .= '
';
- $content .= '
' . $course['price'] . ' ' . $currencyType . '
';
+ $content .= '
'.$course['price'].' '.$currencyType.'
';
$content .= '
';
$content .= '
';
$content .= '
';
@@ -244,11 +434,11 @@ if ($_REQUEST['tab'] == 'delete_account') {
if ($_REQUEST['tab'] == 'save_mod') {
$_REQUEST['id'] = Database::escape_string($_REQUEST['id']);
-
+
$id = intval($_REQUEST['course_id']);
$tableBuy = $tableBuyCourse;
$tableField = 'course_id';
-
+
if (isset($_REQUEST['session_id'])) {
$id = intval($_REQUEST['session_id']);
$tableBuy = $tableBuySession;
diff --git a/plugin/buycourses/src/list.php b/plugin/buycourses/src/list.php
index 2ccd0e6ff7..0f59dc5eb7 100644
--- a/plugin/buycourses/src/list.php
+++ b/plugin/buycourses/src/list.php
@@ -52,8 +52,8 @@ $tpl->assign('currency', $currencyType);
$result = array_shift(
Database::select(
- 'selected_value',
- Database::get_main_table(TABLE_MAIN_SETTINGS_CURRENT),
+ 'selected_value',
+ Database::get_main_table(TABLE_MAIN_SETTINGS_CURRENT),
array('where'=> array('variable = ?' => array('buycourses_include_sessions')))
)
);
diff --git a/plugin/buycourses/src/process.php b/plugin/buycourses/src/process.php
index 0eacd74867..5502f8f799 100644
--- a/plugin/buycourses/src/process.php
+++ b/plugin/buycourses/src/process.php
@@ -29,21 +29,21 @@ if (!empty($_GET['code'])) {
$result = array_shift(
Database::select(
- 'selected_value',
- Database::get_main_table(TABLE_MAIN_SETTINGS_CURRENT),
+ 'selected_value',
+ Database::get_main_table(TABLE_MAIN_SETTINGS_CURRENT),
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);
$tableBuySession = Database::get_main_table(TABLE_BUY_SESSION);
$sql = "SELECT a.session_id, a.name, a.date_start, a.date_end, a.price
FROM $tableBuySession a, $tableSession b
- WHERE a.session_id = " . $code . "
+ WHERE a.session_id = ".$code."
AND a.session_id = b.id;";
$res = Database::query($sql);
- $row = Database::fetch_assoc($res);
+ $row = Database::fetch_assoc($res);
$_SESSION['bc_title'] = $row['name'];
$_SESSION['bc_codetext'] = 'THIS_IS_A_SESSION';
$tpl->assign('session', sessionInfo($code));
diff --git a/plugin/buycourses/src/success.php b/plugin/buycourses/src/success.php
index 4944a67239..a1468a864b 100644
--- a/plugin/buycourses/src/success.php
+++ b/plugin/buycourses/src/success.php
@@ -34,13 +34,13 @@ require_once("paypalfunctions.php");
* 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 = "";
if (isset($_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 != "") {
$sql = "SELECT * FROM $tableBuyCoursePaypal WHERE id='1';";
$res = Database::query($sql);
@@ -106,9 +106,13 @@ if (!isset($_POST['paymentOption'])) {
$tpl = new Template($templateName);
- $_SESSION['bc_codetext'] === 'THIS_IS_A_SESSION' ?
- $tpl->assign('session', sessionInfo($_SESSION['bc_code'])) :
+ if ($_SESSION['bc_codetext'] === 'THIS_IS_A_SESSION') {
+ $tpl->assign('isSession', 'YES');
+ $tpl->assign('session', sessionInfo($_SESSION['bc_code']));
+ } else {
$tpl->assign('course', courseInfo($_SESSION['bc_code']));
+ }
+
$tpl->assign('server', $_configuration['root_web']);
$tpl->assign('title', $_SESSION['bc_title']);
$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.
* 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"];
// Insert the user information to activate the user
if ($paymentStatus == "Completed") {
- $user_id = $_SESSION['bc_user_id'];
+ $userId = $_SESSION['bc_user_id'];
if ($_SESSION['bc_codetext'] === 'THIS_IS_A_SESSION') {
- $session_id = $_SESSION['bc_code'];
- $all_session_information = Session::api_get_session_info($session_id);
- if (SessionManager::suscribe_users_to_session($session_id, array($user_id),
- api_get_session_visibility($session_id), false)) {
- //$send = api_get_session_setting('email_alert_to_teacher_on_new_user_in_session', $session_id);
- //if ($send == 1) {
- //SessionManager::email_to_tutor($user_id, $session_id, $send_to_tutor_also = 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'], api_get_session_url($session_id));
- $_SESSION['bc_message'] = 'EnrollToSessionXSuccessful';
- $_SESSION['bc_url'] = '';//$url;
- $_SESSION['bc_success'] = true;
- } else {
- $_SESSION['bc_message'] = 'ErrorContactPlatformAdmin';
- $_SESSION['bc_success'] = false;
- }
+ $sessionId = $_SESSION['bc_code'];
+ $all_session_information = SessionManager::fetch($sessionId);
+ SessionManager::suscribe_users_to_session(
+ $sessionId,
+ array($userId),
+ api_get_session_visibility($sessionId),
+ false
+ );
+ $url = Display::url(
+ $all_session_information['name'],
+ $_configuration['root_web']."main/session/index.php?session_id=".$sessionId
+ );
+ $_SESSION['bc_message'] = 'EnrollToSessionXSuccessful';
+ $_SESSION['bc_url'] = $url;
+ $_SESSION['bc_success'] = true;
} else {
$course_code = $_SESSION['bc_codetext'];
$all_course_information = CourseManager::get_course_information($course_code);
@@ -254,6 +255,7 @@ if (!isset($_POST['paymentOption'])) {
$_SESSION['bc_success'] = false;
}
}
+
// Activate the use
$TABLE_USER = Database::get_main_table(TABLE_MAIN_USER);
$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');
$is_platformAdmin = (bool)(!is_null($uData['is_admin']));
-
+
$is_allowedCreateCourse = (bool)(($uData ['status'] == COURSEMANAGER) or (api_get_setting('drhCourseManagerRights') and $uData['status'] == DRH));
-
+
ConditionalLogin::check_conditions($uData);
Session::write('_user', $_user);
UserManager::update_extra_field_value($_user['user_id'], 'already_logged_in', 'true');
Session::write('is_platformAdmin', $is_platformAdmin);
-
+
Session::write('is_allowedCreateCourse', $is_allowedCreateCourse);
-
+
} else {
header('location:' . api_get_path(WEB_PATH));
}
diff --git a/plugin/buycourses/view/configuration.tpl b/plugin/buycourses/view/configuration.tpl
index 328035da27..e5aad1e38d 100644
--- a/plugin/buycourses/view/configuration.tpl
+++ b/plugin/buycourses/view/configuration.tpl
@@ -15,7 +15,7 @@ $(function() {
{% if sessionsAreIncluded == "YES" %}
-
+
{% endif %}
diff --git a/plugin/buycourses/view/list.tpl b/plugin/buycourses/view/list.tpl
index 1e8bfe741a..59e18d4226 100644
--- a/plugin/buycourses/view/list.tpl
+++ b/plugin/buycourses/view/list.tpl
@@ -15,13 +15,13 @@ $(function() {
{% if sessionsAreIncluded == "YES" %}
-
+
{% endif %}
@@ -100,19 +100,19 @@ $(function() {
@@ -137,8 +137,14 @@ $(function() {
-
{{ session.name }}
- {{ 'From'|get_lang }} {{ session.date_start }} {{ 'To'|get_lang }} {{ session.date_end }}
+ {{ session.name }}
+ {{ 'From'|get_lang }} {{ session.date_start }} {{ 'Until'|get_lang }} {{ session.date_end }}
+ {% if session.enrolled == "YES" %}
+ {{ 'TheUserIsAlreadyRegisteredInTheSession'|get_plugin_lang('BuyCoursesPlugin') }}
+ {% endif %}
+ {% if session.enrolled == "TMP" %}
+ {{ 'WaitingToReceiveThePayment'|get_plugin_lang('BuyCoursesPlugin') }}
+ {% endif %}
diff --git a/plugin/buycourses/view/success.tpl b/plugin/buycourses/view/success.tpl
index 135341fd3c..e98de18a7f 100644
--- a/plugin/buycourses/view/success.tpl
+++ b/plugin/buycourses/view/success.tpl
@@ -20,11 +20,52 @@
+ {% if isSession == "YES" %}
+
+
+
+
{{ session.name }}
+ {{ 'From'|get_lang }} {{ session.date_start }} {{ 'To'|get_lang }} {{ session.date_end }}
+
+
+
+
+ {{ session.price }} {{ currency }}
+
+
+
+
+ {% for course in session.courses %}
+
+
+
+
+
{{ course.title }}
+ {{ 'Teacher'|get_lang }}: {{ course.teacher }}
+
+
+
+
+ {% endfor %}
+ {% else %}
+ {% endif %}