diff --git a/categories.js b/categories.js index 06e876f..3501b71 100644 --- a/categories.js +++ b/categories.js @@ -4,9 +4,23 @@ var form = document.getElementById("form-categories"); for(var i = 0; i < categories.length; ++i) { - categories[i].addEventListener('change', function() { + categories[i].addEventListener('change', function(event) { 'use strict'; - form.submit(); + var cat_id = event.target.id.replace('cat_',''); + + var xhr = new XMLHttpRequest(); + xhr.open("GET", "updateCategories.php?id="+cat_id+"&val="+event.target.checked); + xhr.send(null); + + var events = document.getElementsByClassName('event_in_cat_'+cat_id); + + for(var i = 0; i < events.length; ++i) + { + var evt = events[i]; + evt.className = evt.className.replace(' bad_cat',''); + if(event.target.checked == false) + evt.className += ' bad_cat'; + } }, false); } diff --git a/databaseOperations.php b/databaseOperations.php index 788c514..e9e4ee0 100755 --- a/databaseOperations.php +++ b/databaseOperations.php @@ -191,6 +191,7 @@ function getCategoriesForOneEvent($db, $eventId) $request->execute(array($eventId)); $result = $request->fetchAll(); $request->closeCursor(); + $categories = array(); foreach($result as $oneResult) $categories[] = $oneResult["cat_id"]; return $categories; diff --git a/index.css b/index.css index c675900..afb2182 100755 --- a/index.css +++ b/index.css @@ -80,6 +80,7 @@ form input[type="checkbox"] { display:none; } + input[type="checkbox"] + label span { display:inline-block; width:19px; @@ -252,6 +253,10 @@ input[type="checkbox"]:checked + label span { text-decoration: none; } +#calendar .week .day .bad_cat { + display: none; +} + @media only screen and (max-width: 1000px) and (max-height: 500px){ #exMois diff --git a/index.php b/index.php index 8a48faf..b4003ca 100644 --- a/index.php +++ b/index.php @@ -12,6 +12,16 @@ $weekOffset = $_GET['w']; else $weekOffset = 0; +function categoriesOK($session, $categories) +{ + foreach($session as $cat=>$cat_status) + { + if($cat_status && in_array($cat, $categories)) + return true; + } + return false; +} + ?> @@ -78,7 +88,7 @@ $weekOffset = 0;
- + Ajouter un Évènement + + Ajouter un Évènement
@@ -100,7 +110,7 @@ $weekOffset = 0; $date = strtotime('+1 day', $date) ) { - $events = getEventsByDateAndCategories($db, $date, $_SESSION['categorieStatus']); + $events = getEventsByDate($db, $date); $class = ''; if(date('m', $date) != date('m', $monthDate)) @@ -116,14 +126,21 @@ $weekOffset = 0; '.$days[date("N",$date)].' '.date("d", $date)); if(date('m', $date) != date('m', $monthDate)) - echo('/'.date("m",$date).''); + echo('/'.date("m",$date).''); echo(' '); diff --git a/updateCategories.php b/updateCategories.php new file mode 100644 index 0000000..608b87b --- /dev/null +++ b/updateCategories.php @@ -0,0 +1,10 @@ +