diff --git a/plugin/buycourses/js/buycourses.js b/plugin/buycourses/js/buycourses.js index 4e1d1efb72..797a57411d 100644 --- a/plugin/buycourses/js/buycourses.js +++ b/plugin/buycourses/js/buycourses.js @@ -73,61 +73,25 @@ $(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(); - }); - $(".filter").click(function (e) { + var target = "#"+($(this).closest(".row").children().last()).attr("id"); var filterFields = $(this).siblings("input"); - var filterFieldsData; + var filterFieldsData = { tab: $(this).attr("id") }; $.each(filterFields, function() { - console.log($(this)); - //filterFieldsData.push($(this)); - + // Get only the first class + var className = $(this).attr("class").split(" ")[0]; + filterFieldsData[className] = $(this).val(); }); - - - var vcourse = $("#course_name").attr("value"); - var pmin = $("#price_min").attr("value"); - var pmax = $("#price_max").attr("value"); - if ($("#mostrar_disponibles").attr("checked") == "checked") { - var vshow = "YES"; - } else { - var vshow = "NO"; - } - var vcategory = $("#courses_category").attr("value"); - $.post("function.php", {tab: "courses_filter", course: vcourse, pricemin: pmin, pricemax: pmax, mostrar: vshow, category: vcategory}, + $.post("function.php", filterFieldsData, function (data) { if (data.status == "false") { alert(data.content); - $("#course_results").html(''); + $(target).html(''); } else { - $("#course_results").html(data.content); + $(target).html(data.content); } $(document).ready(acciones_ajax); }, "json"); - e.preventDefault(); e.stopPropagation(); }); diff --git a/plugin/buycourses/resources/css/style.css b/plugin/buycourses/resources/css/style.css index 14e31e117d..c8576e29ff 100644 --- a/plugin/buycourses/resources/css/style.css +++ b/plugin/buycourses/resources/css/style.css @@ -82,14 +82,14 @@ select#lsessions, select#lcourses, select#lexercises, select#status { .margin-left-fifty{ margin-left: 50px !important; } -#course_category_well h4{ +.category_well h4{ padding-left: 0; } -#course_category_well .form-content{ +.category_well .form-content{ padding-left: 1em; padding-right: 1em; } -#course_category_well .btn{ +.category_well .btn{ width: 100%; line-height: 30px; font-size: 16px; diff --git a/plugin/buycourses/src/function.php b/plugin/buycourses/src/function.php index 8f91757329..dca74d124d 100644 --- a/plugin/buycourses/src/function.php +++ b/plugin/buycourses/src/function.php @@ -27,7 +27,7 @@ $tableUser = Database::get_main_table(TABLE_MAIN_USER); $plugin = BuyCoursesPlugin::create(); $buy_name = $plugin->get_lang('Buy'); -error_log($_REQUEST['tab']); + if ($_REQUEST['tab'] == 'sync') { $sql = "SELECT code, title FROM $tableCourse;"; $res = Database::query($sql); @@ -46,48 +46,35 @@ if ($_REQUEST['tab'] == 'sync') { } if ($_REQUEST['tab'] == 'sessions_filter') { - $session = isset($_REQUEST['session']) ? Database::escape_string($_REQUEST['session']) : ''; - $priceMin = isset($_REQUEST['pricemin']) ? Database::escape_string($_REQUEST['pricemin']) : ''; - $priceMax = isset($_REQUEST['pricemax']) ? Database::escape_string($_REQUEST['pricemax']) : ''; - $category = isset($_REQUEST['category']) ? Database::escape_string($_REQUEST['category']) : ''; + $session = isset($_REQUEST['name']) ? Database::escape_string($_REQUEST['name']) : ''; + $priceMin = isset($_REQUEST['pricemin']) ? floatval($_REQUEST['pricemin']) : 0; + $priceMax = isset($_REQUEST['pricemax']) ? floatval($_REQUEST['pricemax']) : 0; + //$category = isset($_REQUEST['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 . "'"; - } + $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;"; + + $filter = ""; + if (!empty($session)) { + $filter .= " AND b.name LIKE '%".$session."%'"; } - if ($priceMax != '') { - if ($filter == '') { - $filter .= "a.price <= '" . $priceMax . "'"; - } else { - $filter .= " AND a.price <= '" . $priceMax . "'"; - } + if ($priceMin > 0) { + $filter .= " AND a.price >= ".$priceMin; } - if ($category != '') { - if ($filter == '') { - $filter .= "b.category_code='" . $category . "'"; - } else { - $filter .= " AND b.category_code='" . $category . "'"; - } + if ($priceMax > 0) { + $filter .= " AND a.price <= ".$priceMax; } - 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 . ";"; + /*if (!empty($category)) { + $filter .= " AND b.category_code = '".$category."'"; + }*/ + + if (!empty($filter)) { + $sql = substr_replace($sql, $filter.";", -1); } $resSessions = Database::query($sql); @@ -106,7 +93,7 @@ if ($_REQUEST['tab'] == 'sessions_filter') { // 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'] . "';"; $res = Database::query($sql); // loop inside a course of current session while ($row = Database::fetch_assoc($res)) { @@ -168,60 +155,65 @@ if ($_REQUEST['tab'] == 'sessions_filter') { $currencyType = findCurrency(); $content = ''; 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 .= '
+
+
+
+

'.$session['name'].'

+
'.get_lang('From').' '.$session['date_start']. + ' '.get_lang('Until').' '.$session['date_end'].'
'; if ($session['enrolled'] == "YES") { $content .= ''.$plugin->get_lang('TheUserIsAlreadyRegisteredInTheSession').''; } - $content .= '
'; - $content .= '
'; - $content .= '
'; - $content .= '
'; - $content .= $session['price'].' '.$currencyType; - $content .= '
'; - $content .= '
'; - $content .= '
'; + if ($session['enrolled'] == "TMP") { + $content .= ''.$plugin->get_lang('WaitingToReceiveThePayment').''; + } + $content .= '
+
+
+
'. + $session['price'].' '.$currencyType.' +
+
+
+
'; if ($session['enrolled'] == "NO") { - $content .= ''; - $content .= $buy_name; - $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 .= '
'; - $content .= '
'; - $content .= '
'; - $content .= '
'; - $content .= '
'; - $content .= ''.get_lang('Description').''; - $content .= '
'; - $content .= '
'; - $content .= '
'; + $content .= '
+
+
+ + + +
+
+
+
+

'.$course['title'].'

+
'.get_lang('Teacher').': '.$course['teacher'].'
+
+
+ +
'; } $content .= '
'; } @@ -230,14 +222,14 @@ if ($_REQUEST['tab'] == 'sessions_filter') { } if ($_REQUEST['tab'] == 'courses_filter') { - $course = isset($_REQUEST['course']) ? Database::escape_string($_REQUEST['course']) : ''; + $course = isset($_REQUEST['name']) ? Database::escape_string($_REQUEST['name']) : ''; $priceMin = isset($_REQUEST['pricemin']) ? floatval($_REQUEST['pricemin']) : 0; $priceMax = isset($_REQUEST['pricemax']) ? floatval($_REQUEST['pricemax']) : 0; /** * Deprecated since 2014-10-14 */ //$show = Database::escape_string($_REQUEST['show']); - $category = Database::escape_string($_REQUEST['category']); + //$category = Database::escape_string($_REQUEST['category']); $server = api_get_path(WEB_PATH); $sql = "SELECT a.course_id, a.visible, a.price, b.* @@ -258,9 +250,9 @@ if ($_REQUEST['tab'] == 'courses_filter') { $filter .= " AND a.price <= ".$priceMax; } - if (!empty($category)) { + /*if (!empty($category)) { $filter .= " AND b.category_code = '".$category."'"; - } + }*/ if (!empty($filter)) { $sql = substr_replace($sql, $filter.";", -1); diff --git a/plugin/buycourses/view/list.tpl b/plugin/buycourses/view/list.tpl index ee8878fce6..323afa42c4 100644 --- a/plugin/buycourses/view/list.tpl +++ b/plugin/buycourses/view/list.tpl @@ -21,15 +21,15 @@ $(function() {
-
+

{{ 'SearchFilter'|get_plugin_lang('BuyCoursesPlugin') }}:

- + - + - + {% for category in categories %} + - + - + {% for category in categories %} -