lms
lms copied to clipboard
błąd w obsłudze HOOK-a?
https://github.com/lmsgit/lms/blob/f38beefd947f5db5d2172e9c84c552c8bc2c5597/modules/customerassignmentadd.php#L40
powoduje, że dane zwrócone przez hook: https://github.com/lmsgit/lms/blob/f38beefd947f5db5d2172e9c84c552c8bc2c5597/modules/customerassignmentadd.php#L75
są pomijane w liniach w wierszach: https://github.com/lmsgit/lms/blob/f38beefd947f5db5d2172e9c84c552c8bc2c5597/modules/customerassignmentadd.php#L79-L84
Pytanie czy jest to celowe i będzie się częściej pojawiać, czy błąd? Najprościej było by przekazać result do hook i go ponownie pobrać przed zrobieniem extract. Niekoniecznie jest to najbardziej eleganckie.
(zgłoszenie utworzone na podstawie otrzymanego maila)
Pytanie: po co w hooku walidującym zmieniać walidowane dane? Nie wiem czy w ogóle nie powinno wylecieć zwracanie $a z tego typu hook-a.
Zdarzała się już potrzeba modyfikowania tego typu danych w zależności od specyficznych założeń użytkownika. Przykład: Klienci z miasta X mają mieć dzień wystawiania 1 z miasta Y dzień naliczania 15. Dodanie tego w pluginie modyfikującym zobowiązania pozwala uniknąć błędów pracowników. Przykład teoretyczny ale nie odbiega daleko od tego co się zdarzało i tego co chciałem zrealizować. Takie ograniczenie danych zmniejsza możliwości dostosowania LMS poprzez wtyczki.
@ZdanowskiS zwróć uwagę, że extract($result);
zmienia pewne właściwości zobowiązania (nie w tablicy asocjacyjnej $a
). Czy hook powinien te dodatkowe dane uzyskiwać jako dodatkowe parametry czy raczej w ogóle ich nie powinien uzyskiwać, albo uzyskiwać w postaci podmienionych już pól w $a
?
Jeżeli w ramach LMS ma być możliwe modyfikowanie zachowania modułów pod indywidualne potrzeby przekazanie i odczytanie wszystkich danych z wtyczek jest niezbędne. Bez przekazania zmiennej i późniejszego odczytania moduł straci elastyczność. Przyjrzałem się jak zmieniane są właściwości zobowiązania. Zwracanie danych do $a być może w jakiejś sytuacji też będzie problemowe. Wydaje mi się jednak że w razie potrzeby wykonywane zmiany można odwrócić w ramach plugina. Prawdopodobnie zemści się to na kompatybilności wtyczek przy aktualizacjach, jeżeli walidacja ulegnie zmianie. Pytanie jak użycie dwóch zmiennych jako standardu wpłynie na inne modułu gdzie pojawi się extract? Czy będzie to jedna zmienna ($a) czy 2 zmienne przekazywane do hook, nie będzie to tak mocno ograniczać elastyczności jak obecna sytuacja.