Some advices for common programmers problems

Allegro is a polish online auction website. Useful URLs:
www.allegro.pl
www.aukro.com.ua
www.testwebapi.pl
webapi.allegro.pl

to be continued

Gallery2 is a nice open source project with the goal to develop and support leading photo sharing web application solutions. It can be embedded in Seagull. The process of integrating is described here. When you have a working Gallery2 installation, integrating it with Seagull should be no problem. Example of nice looking Seagull-based site with Gallery2 is Sp30.. Seagull version is 0.6.1 and Gallery 2.1.2.

However some problems may occur. First one I met is coding conflict between G2 and Seagull, because first uses only UTF-8 and Seagull ISO-8859-2. I solved this problem by simply putting:

$result['bodyHtml'] = iconv(”UTF-8″,”ISO-8859-2″, $result['bodyHtml']);

in a function GalleryEmbed::handleRequest(). File GalleryEmbed.class can be found in gallery2/modules/core/classes/.
Function iconv() should be installed on a server.

When uploading new image, G2 tries to save it in /tmp so when you do not have appropriate permissions, the uploading process will fail.

Here is some good stuff where you can find lot of ajax example
AJAX:Getting_Started (Mozilla)

Simple Ajax Class

Ajax Cookbook

Ajax patterns

The best one which show you how to implemete callback function into ajax request function
take-command-ajax

Good luck ;)

Dzwoni klient i mówi że strona nie działa. No tak - ale co nie działa?
Na stronie nie widac żadnych elementów nawigacyjnych. Po chwili dochodzę do wniosku że nie widać żadnych blocków (block) - ale dlaczego. Nie widac żadnych błędów.

Rozpocząłem więc dochodzenie do przyczyny. Trwało to prawie 3 h. Niestety gdy administrator serera wyłącza wyświetlanie błedów mało można zrobić. Po kolejnej godzinie pracy błedy już włączone.

Ale już za późno bo problem został rozwiazany w poniższy sposób:

1) backup bazy przez phpmyadmin
2) backup plików tar
3) usunięcie zawartości katalogu /var
4) ponowna instalacja Seagulla
5) Logowanie, wyrejestrowanie modułów (publisher + dodatkowe), zarejestrowanie ponowne
6) Przywrócenie opcji w www.site.config.php

Niestety zabrakło czasu więc na dojście do przyczyny problemu - ale wszelkie poszlaki wskazują na to że przyczyną była automatyczna zmiana właściciela plików w katalogu var których właścicielem powinien być apache.

Do zrobienia:
1) rotacja loga php-txt.log
2) okresowe czyszczenie sesji plików - session_save.path
3) określenie warunków napraw stron, programów, serwerów wynikających z działania osób trzecich

cd /usr/lib/openssl
# generujemy klucz prywatny
openssl genrsa -out server.key 1024
# generujemy żądanie
openssl req -new -key server.key -out newreq.pem
# podpisujemy przez RootCA
./CA.pl -sign

scp newcert.pem root@10.8.16.200:
scp server.key root@10.8.16.200:
scp demoCA/cacert.pem root@10.8.16.200:
#
# Na docelowym serwerze kopiujemy do katalogu ssl apacha
# i konfigurujemy plik zawierajacy VirtualHosta 443 np. sites-enabled/default
SSLCertificateFile /etc/apache2/ssl/newcert.pem
SSLCertificateKeyFile /etc/apache2/ssl/server.key
SSLCertificateChainFile /etc/apache2/ssl/cacert.pem