dobra, mam dwie zmienne: $customergroups - z tego co rozumem, zmienna ta ma zawierać id grup dla których robić odcięcie oraz $excluded_customergroups - jak rozumiem, id grup dla których nie robić odcięcia. u mnie grupa vip ma id 15
w zmiennej $customergropus wstawiam nr nie istniejącej grupy. czyli, skrypt nie powinien mi nikogo znaleźć. w zmiennej $excluded_customergroups ustawiam moje id 15 dla grupy vip.
zapuszczam skrypt lms-cutoff i dla grupy id 15 jak najbardzien nie wyłączył komputera, ale wyłączył mi dziesiątki innych. tak wygląda zmienna $fileter po wyłołaniu:
#v+ deleted = 0 AND cutoffstop < UNIX_TIMESTAMP() AND ((documents.paytime > 0 AND cdate + ((documents.paytime + 7) * 86400) < UNIX_TIMESTAMP()) OR documents.paytime = 0 OR documents.paytime IS NULL) AND (SELECT count(*) FROM customerassignments WHERE customerassignments.customerid = customers.id AND customerassignments.customergroupid IN (15)) = 0 AND (SELECT count(*) FROM customerassignments WHERE customerassignments.customerid = customers.id AND customerassignments.customergroupid IN (1111)) = 0 #v-
kasuję id ze zmiennej $excluded_customergroups i zostawiam nie istniejącą grupę w $customergroups, czyli nie powinien mi wyłapać żadnego komputera, gdyż taka grupa nie istnieje. ale tu jest zonk. znajduje wszystkich a zmienna $filter wygląda tak:
#v+ deleted = 0 AND cutoffstop < UNIX_TIMESTAMP() AND ((documents.paytime > 0 AND cdate + ((documents.paytime + 7) * 86400) < UNIX_TIMESTAMP()) OR documents.paytime = 0 OR documents.paytime IS NULL) AND (SELECT count(*) FROM customerassignments WHERE customerassignments.customerid = customers.id AND customerassignments.customergroupid IN (1111)) = 0 #v- czyli jest błąd w samym zapytaniu sql :(