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 .= '
'; + if ($session['enrolled'] == "NO") { + $content .= ''; + $content .= $buy_name; + $content .= ''; + } + $content .= '
'; + $content .= '
'; + $content .= '
'; + $courses = $session['courses']; + foreach ($courses as $course) { + $content .= '
'; + $content .= '
'; + $content .= '
'; + $content .= ''; + $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 .= ''.get_lang('Description').''; + $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 .= '' . get_lang('Description') . ' '; + $content .= ''.get_lang('Description').' '; if ($course['enrolled'] != "YES") { - $content .= '' . $buy_name . ''; + $content .= ''.$buy_name.''; } $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 %}
@@ -40,11 +81,12 @@
{{'Description'|get_lang }} + href="{{ server }}plugin/buycourses/src/ajax.php?code={{ course.code }}">{{'Description'|get_lang }}
+ {% endif %}