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 .= '