czwartek, 31 grudnia 2009

Ajax post + Json

Z cyklu tipsy i tipsiki - przesyłając JSON używając Ajax i metody post po stronie php konieczne jest usunięcie nadmiarowych znaków '\' przy pomocy funkcji stripslashes() np.



$json = stripslashes($_POST('json'));
$obj = json_decode($json);

wtorek, 22 grudnia 2009

Javascript - niespodzianka parseInt()

Niedawno udało mi się zrobić trudną do wykrycia na pierwszy rzut oka gafę... :). Łańcuchy "00", "01", "02" itd musiałem zmienić na wartości całkowite. Nie przeczuwając nadciągających komplikacji ot tak przekazałem łańcuchy do funkcji parseInt(). Niestety w praniu okazało się, że w przypadku braku jednoznacznie określonego systemu liczbowego funkcja stara się go sama określić na podstawie zawartości łańcucha, tzn dla 0x.. będziemy pracować w systemie szesnastkowym, a dla 0... w oktalnym. Wynik funkcji parseInt("08") to wcale nie oczekiwane 8, ale .. 0, identyczna sytuacja występuje w przypadku "09". Dwoma metodami rozwiązania 'problemu' jest przekazanie parseInt() podstawy systemu liczbowego jako drugi argument albo sięgnięcie po funkcję parseFloat(), która zawsze pracuje w systemie dziesiętnym.

poniedziałek, 21 grudnia 2009

Moodle - aktualizacja do 1.9.7+

Natknąłem się na mały problem podczas aktualizacji moodli do aktualnej wersji stabilnej 1.9.7+ z 1.9.5. Sama aktualizacja jest raczej banalna - ogranicza się do następujących kroków:
- pobranie świeżej wersji .tar z http://download.moodle.org/
- odwiedzenie katalogu nadrzędnego względem głównego moodli, dla ubuntu jest to /usr/share
- sudo tar xvzf moodleXXXX.tar .
- odwiedzeniu panelu administracyjnego moodli
Niby wszystko poszło ok.. z wyjątkiem jednego maleńkiego ostrzeżenia o treści ... 'WARNING!!! The code you are using is OLDER than the version that made these databases!'. Okazało się, że w pliku version.php nie zgadza się wartość zmiennej version ($version = 2007101570;). Po skorygowaniu jej (np $version = 2009121697;) i ponownym odwiedzeniu panelu administracyjnego moodli aktualizacja zakończyła się pełnym powodzeniem :).