Xinha 0.95 – problem z wysyłaniem danych formularza

Opublikowano: 04.11.2008 | Kategoria: Internet, Programowanie | Tagi: , | Brak komentarzy »

Nie sądziłem, że na taką “pierdołę” stracę ponad 4 godziny. Z różnych przyczyn i nowych założeń, musiałem w pewnym projekcie zmienić javascriptowy edytor WYSIWYG. Dotychczas “najprzyjemniejszy” wydawał mi się TinyMCE. Spora ilość pluginów, praktycznie brak różnic w przeglądarkach. Posiada kilka niedociągnięć i drobnych błędów, ale jest użyteczny i używalny – nie spotkałem jeszcze edytora doskonałego.

Zmiana edytora wynikła głównie z potrzeby wykorzystania bardziej zaawansowanego uploadera plików, z możliwością zarządzania folderami i plikami na serwerze. Do TinyMCE jest w tym celu wykorzystywany płatny plugin MCFileManager, a ja w miarę możliwości szukałem czegoś “otwartego”. Przypomniałem sobie o edytorze Xinha, z którego gdzieś tam kiedyś korzystałem.

Miłe zaskoczenie. Wszystko na dzień dobry w języku polskim – wystarczy zmienić wartość zmiennej podczas konfiguracji. Dokumentacja może nie jest zbyt rozbudowana, ale wystarczająca do pierwszego odpalenia. To co najbardziej mnie zainteresowało, to funkcje do prostej obróbki plików graficznych – skalowanie, przycinanie (crop), obracanie. Zmodyfikowany plik możemy zapisać w innym formacie graficznym i w innej jakości – super. Ponadto wygodne zarządzanie plikami na serwerze – można tworzyć nowe foldery, usuwać i edytować stare, modyfikować pliki graficzne wcześniej wgrane.

Oczywiście nie mogło się obyć bez problemów przy “wkładaniu” edytora do projektu. Otóż problem okazał się wynikać z tak prozaicznej przyczyny, że był dość trudny do wykrycia i usunięcia. Zatem używając Xinha, nigdy nie wkładaj formularza do tabelki. Rób odwrotnie – wkładaj tabelkę do formularza.

Tak jest ŹLE:

<table>
<form>
<tr>
<td><input type="text" name="jakies_pole"/></td>
</tr>
</form>
</table>

Tak jest DOBRZE:

<form>
<table>
<tr>
<td><input type="text" name="jakies_pole"/></td>
</tr>
</table>
</form>

Banał, ale można stracić na niego sporo czasu.


CodeIgniter 1.7.0 – problem z DB_utility

Opublikowano: 02.11.2008 | Kategoria: Programowanie | Tagi: , | Brak komentarzy »

Po upgradzie z 1.6.3 do wersji 1.7.0 zaczęły się pojawiać dziwne problemy przy przetwarzaniu wyników zapytania do bazy na xml i csv (funkcje xml_from_result i csv_from_result):

You must submit a valid result object

Pomogła mała modyfikacja pliku system/database/DB_utility.php

Zmieniamy w tym pliku linię 178 i 220 z

if ( ! is_object($query) OR ! method_exists($query, 'field_names'))

na

if ( ! is_object($query) OR ! method_exists($query, 'result_object'))

Nie wiem, czy to dobre i ostateczne rozwiązanie, ale działa…


Forum Vanilla – obrazki w profilach a https…

Opublikowano: 11.09.2008 | Kategoria: Internet, Programowanie | Tagi: , , | Brak komentarzy »

W Vanilla 1.1.4 występuje problem z obsługą obrazków serwowanych przez zewnętrzny serwer http, jeżeli samo forum działa na serwerze https. Przeanalizowałem problem i znalazłem rozwiązanie.

W pliku ./library/People/People.Class.User.php (~ linia 251) zmieniamy linijki:

$this->Icon = PrependString($this->Context->Configuration['HTTP_METHOD'].'://', ForceIncomingString('Icon',''));
$this->Picture = PrependString($this->Context->Configuration['HTTP_METHOD'].'://', ForceIncomingString('Picture',''));

na:

$this->Icon = PrependString('http://', ForceIncomingString('Icon',''));
$this->Picture = PrependString('http://', ForceIncomingString('Picture',''));

Jeżeli mieliśmy już jakichś użytkowników, to wypadało by im ręcznie zmienić adresy avatarów/ikon i obrazków w bazie danych – tabela LUM_User, kolumny Icon i Picture.

P.S. W wersji 1.5 rc3 zapowiedziano:
Added support for ssl hosted images and icons on profiles
Być może problem zostanie rozwiązany w inny sposób.