devBlog Webowe.pl | aplikacje webowe »

aplikacje webowe, aplikacje internetowe, AJAX, web 2.0, skrypty, widgety, JavaScript, Ext JS, PHP, Smarty, Apache, mod_rewrite, .NET, Java, Flash, webdesign i inne

Archiwum dla kategorii: ‘PHP

TYPO3 4.3.1

Ukazała się nowa wersja TYPO3 oznaczona numerem 4.3.1. Jest to pierwsze wydanie w serii 4.3 zawierające poprawki błędów oraz poprawki związane z bezpieczeństwem.

Więcej informacji na stronie projektu TYPO3.

  • 0 komentarzy
  • W kategoriach: Frameworki, PHP, TYPO3
  • TYPO3 4.3 wydany

    TYPO3

    W dniu wczorajszym ukazała się nowa wersja systemu CMS TYPO3 oznaczona numerem 4.3.

    Pośród najważniejszych zmian znajdziemy m. in.:

    • odnowiona edycja stron na frontendzie – elementy treści mogą być przenoszone przez drag&drop, edycja treści w edytorze otwieranym w lightboxie, zapisywanie zmian przy pomocy AJAXa. Wspierane są zarówno szablony klasyczne jak i TemplaVoila. Funkcjonalność ta dostępna jest jako rozszerzenie – zdecydowano się nie implementować jej w rdzeniu systemu, gdyż developerzy uznali, że dzięki temu łatwiej będzie zarządzać aktualizacjami.
    • Extbase i Fluid – dwa rozszerzenia, które mają ułatwić migrację do TYPO3 w wersji 5. Obydwa rozszerzenia to porty z frameworku FLOW3. Extbase umożliwia korzystanie z modelu MVC z zachowaniem kompatybilności z TYPO3 v5. Fluid zaś zapewnia nowy silnik szablonów.
    • Salted MD5 Hashes – aby hasła były bezpieczne. Ponadto dane mogą być przesyłane poprzez kanał RSA nawet gdy witryna nie wspiera HTTPS. Możliwe jest też uwierzytelnianie użytkowników poprzez OpenID.
    • Backend – flash uploader do jednoczesnego wgrywania wielu plików oraz automatyczne uzupełnianie kodu i zintegrowanie dokumentowanie w edytorze TypoScript. Powinno to pomóc początkującym koderom TypoScript w jego poznaniu a także ułatwić tworzenie poprawnego kodu.
    • Nowy kosz na śmieci.
    • Harmonogram systemowy – i to bez użycia CRONa.
    • Warunki w TSconfig (PageTSconfig oraz UserTSconfig).
    • Wzrost wydajności – automatyczne ładowanie plików wczytuje teraz do pamięci tylko potrzebne pliki. Dodano też opcjonalny framework cache’ujący pochodzący z FLOW3
    • i inne.

    Więcej informacji na stronie projektu.

  • 0 komentarzy
  • W kategoriach: PHP, TYPO3, Wiadomości
  • Magazyn Typo3 już w sprzedaży

    Do sprzedaży trafił pierwszy numer magazynu poświęconego systemowi CMS o nazwie Typo3. Magazyn nosi tytuł “Magazyn Typo3“. Wydawany jest w wersji elektronicznej i papierowej. Adresowany jest zarówno do początkujących użytkowników systemu jak i do tych bardziej zaawansowanych. Czasopismo zostało podzielone na działy oznaczone zgodnie ze stopniem trudności.

    Redaktorem naczelnym pisma został Daniel Ciunkiewicz, dotychczas manager projektów TYPO3, programista, wdrożeniowiec i szkoleniowiec z zakresu funkcjonalności systemu TYPO3, a także felietonista publikujący artykuły w czasopismach i w portalach branżowych. Zespół redakcyjny dwumiesięcznika liczy sześć osób, których wspiera czterech stałych współpracowników.

    Na stronie magazynu dostępny jest za darmo do pobrania numer zerowy magazynu. Można także kupić online wydania cyfrowe kolejnych numerów.

    Strona magazynu: Magazyn Typo3.

  • 0 komentarzy
  • W kategoriach: PHP, TYPO3, Wiadomości
  • Plesk i PEAR

    Od jakiegoś czasu wśród moich serwerów pojawił się jeden działający w oparciu Plesk postawiony na Debianie. Generalnie jestem zadowolony z tego rozwiązania, ale oczywiście od czasu do czasu napotykam na różne kwiatki (choć rzadko). Jednym z takich kwiatków okazał się PEAR (choć to nie jego wina, tylko Pleska).

    W czym rzecz? Ano w tym, że niby mam PEAR, ale nie działa. Tzn. można instalować pakiety, ale za diabła żaden skrypt PHP nie może uzyskać dostępu do plików PEAR. Próba uruchomienia poniższego skryptu

    <?php
    require ("PEAR.php");
    ?>

    kończy się tak:

    Warning: require(PEAR.php) [function.require]: failed to open stream: No such file or directory in /var/www/vhosts/domena.com/httpdocs/pear.php on line 2

    Fatal error: require() [function.require]: Failed opening required ‘PEAR.php’ (include_path=’.:/usr/share/php’) in /var/www/vhosts/domena.com/httpdocs/pear.php on line 2

    Zacząłem więc po kolei sprawdzać w czym rzecz. Najpierw odpaliłem phpinfo().

    Directive Local Value Master Value
    include_path .:/usr/share/php .:/usr/share/php
    open_basedir /var/www/vhosts/domena.com/httpdocs:/tmp /usr/share/php

    include_path
    PEAR znajduje się w include_path, czyli w /usr/share/php, więc powinno chodzić. No ale nie chodzi.

    open_basedir
    No to jesteśmy (prawie) w domu. Nadrzędna wartość open_basedir jest OK – zawiera /usr/share/php, ale LOKALNA już nie – i dlatego nie działa.

    Rozwiązanie

    Trzeba przygotować sobie plik vhost.conf o zawartości analogicznej do poniższej i wgrać go do katalogu /var/www/vhosts/domena.com/conf/. Jest to jedyne rozwiązanie żeby na trwałe zmienić konfigurację dla wybranego vhosta (bo musimy zmienić LOKALNĄ wartość). Broń Boże wprowadzać zmainy w pliku httpd.include!

    <Directory /var/www/vhosts/domena.com/httpdocs>
    php_admin_flag safe_mode off
    php_admin_value open_basedir "/var/www/vhosts/domena.com/httpdocs:/tmp:/usr/share/php"
    </Directory>

    Na koniec trzeba powiadomić Pleska o tym, że zmieniła się konfiguracja serwera. Robimy to takim poleceniem:

    /usr/local/psa/admin/bin/websrvmng -a

    Podobno nie trzeba po tym nawet Apache’a restartować, ale bez tego mi nie działało. Dlatego dorzucamy jeszcze to:

    /etc/init.d/apache2 restart

    I teraz wszystko pięknie hula!

  • 0 komentarzy
  • W kategoriach: Apache, PEAR, PHP, Plesk
  • Aplikacje webowe (głównie ich interfejsy) często-gęsto wykorzystują format JSON np. do pobierania danych do interfejsu użytkownika (np. dane do grida). Jak podaje Wikipedia “JSON (wymawiane jak imię “Jason” — jā’sən), to skrót od “JavaScript Object Notation”. Jest to lekki format wymiany danych komputerowych. JSON ma tą przewagę nad formatem XML, że może być przetworzony w języku JavaScript w łatwy sposób z wykorzystaniem wbudowanej funkcji eval() tego języka.

    Pomimo nazwy JSON jest niezależnym od konkretnego języka tekstowym formatem danych. Wiele języków programowania, w tym Perl, C, Python wspierają ten format danych poprzez dodatkowe pakiety bądź biblioteki. Wśród tych języków programowania są ActionScript, C, C#, ColdFusion, E, Java, JavaScript, ML, Objective CAML, Perl, PHP, Python, REBOL oraz Ruby.

    JSON jest bardzo przydatny jako format wymiany danych w programowaniu aplikacji opartych o model AJAX. Przykładowo

    myObject = eval("return " + json_data);

    W typowych przypadkach dane w formacie JSON są pobierane z serwera przy wykorzystaniu obiektu XMLHttpRequest języka JavaScript”.

    Można oczywiście samodzielnie przygotowywać po stronie serwera skrypty, które będą nam generowały dane w potrzebnej strukturze, ale po co wyważać otwarte drzwi? Użytkownicy PHP mają tu w zasadzie dwie możliwości zależnie od wersji PHP, na której pracują.
    (more…)

  • 3 komentarzy
  • W kategoriach: AJAX, JavaScript, PHP
  • e-mailPodanie adresu e-mail na stronie jest niekiedy niezbędne. Jednakże naraża to właściciela takiego adresu na to, że jego adres zostanie odnaleziony przez roboty wyszukujące adresy e-mail a w konsekwencji skrzynka zostanie zasypana niechcianą korespondencją, czyli zwyczajnym spamem.

    Jak się przed tym zabezpieczyć? W internecie można znaleźć co najmniej kilka rozwiązań tego problemu, różnią się one jednak skutecznością.

    (more…)

  • 0 komentarzy
  • W kategoriach: PHP
  • Smarty Template Engine logoДмитрий Петрович Штефлюк jest ukraińskim programistą wykorzystującym w swej pracy głównie takie technologie, narzędzia i języki jak ASP.NET, C#, VB.NET, PHP, AJAX, Ruby, MySQL. Дмитрий jest także autorem kilku ciekawych i prostych w użyciu pluginów dla systemu szablonów Smarty, rozszerzających jego możliwości o wsparcie dla typowych działań AJAXa.

    Adresy:

  • 0 komentarzy
  • W kategoriach: AJAX, PHP, Smarty
  • Kategorie