PHP in public_html pe Ubuntu 10.10

Am avut azi urmatoarea problema:
– Ubuntu 10.10 (cat /etc/lsb-release pentru a afla ce versiune de Ubuntu folosesti)
– Apache/2.2.16 (Ubuntu)
– PHP 5.3.3-1
Totul mergea perfect cu exceptia fisierelor din public_html, care in loc sa le interpreteze, le trimitea la browser „as is” care ma intreba daca vreau sa le salvez.
Solutia, in cazul meu, a fost destul de simpla. In /etc/apache2/mods-enabled/php5.conf trebuie comentate liniile

<ifmodule mod_userdir.c>
 <directory /home/*/public_html>
 php_admin_value engine Off
 </directory>
</ifmodule>

Aflarea saptamanii din care face parte o data

Astazi m-am luptat ceva timp cu o problema de care cred ca s-au mai lovit si altii. Am o data calendaristica si vreau sa afisez din ce saptamana face parte. De exemplu, 14 aprilie 2010 (14-04-2010) face parte din saptamana 12-04-2010 – 14-04-2010.

Asadar, pentru exemplul nostru: 14-04-2010

$day = '14';
$month = '04';
$year = '2010';

Pentru aceasta trebuie sa aflam a cata zi din saptamana este:

$unixdate = mktime( 12, 0, 0, $month, $day, $year );
$dayofweek = date("w", $unixdate);

Pentru a afla ziua de luni dinainte de aceasta data:
$monday = date(‘Y-m-d’, mktime(0, 0, 0, date(‘m’, $unixdate), date(‘d’, $unixdate) – ($dayofweek – 1), date(‘Y’, $unixdate)));

Pentru a afla ziua de duminica dupa aceasta data:
$sunday = date(‘Y-m-d’, mktime(0, 0, 0, date(‘m’, $unixdate), date(‘d’, $unixdate) + (7 – $dayofweek), date(‘Y’, $unixdate)));

In final:

echo 'Data face parte din saptamana '.$monday.' - '.$sunday;

Bineinteles exemplul poate fi folosit pentru a afla orice data daca adaugam sau scadem un numar orecare de zile la o data stiuta. Nu trebuie decat inlocuita partea bolduita cu numarul de zile pe care dorim sa le adaugam sau scadem.

Despre Type Hinting in php

Am inceput sa citesc PHP Object, Patterns, and Practice si am inteles in sfarsit ce inseamna Type Hinting, desi il folosisem, dar nu stiam ca se numeste asa.
De exemplu, fara Type Hinting daca ai o metoda:

class MyClass {
  public function myFunc($unObiect) {
    echo "bla bla";
  }
}

poti sa apelezi aceasta metoda:

$obiect = new MyClass();
$obiectRau = new clasaRea();
$obiectBun = new clasaBuna();

$obiect->myFunc($obiectBun);

DAR si cu

$obiect->myFunc($obiectRau);

Cu Type Hinting, am rescrie myFunc astfel:

class MyClass {
  public function myFunc(clasaBuna $unObiect) {
    echo "bla bla";
  }
}

acum, daca vom apela

$obiect->myFunc($obiectRau); 

va da Fatal Error. De ce? Pentru ca $obiectRau nu este de tipul clasaBuna, asa cum cere definitia metodei.

Sper ca am inteles corect 🙂

Vreau youtube/phpbb/gallery

Pun o intrebare pentru geeks care viziteaza blogul meu. Am urmatoarea problema: vreau sa gasesc o suita de scripturi open source gen joomla sau xoops si care sa aiba:

– galerie foto pentru user

– galerie video pentru user: userul sa poata uploada in albumul lui orice tip de fisier iar pe site sa fie prezentat intr-un player flash.

– forum (phpbb)

– loginul pe site sa fie unitar in toate cele trei componente (foto, video, forum).

Pana acum am rasfoit joomla pe care am integrat-o cu o galerie video foarte proasta (seyret), asa ca daca stiti ceva mai bun v-as fi recunoscator, cu gallery2 (acceptabil) si cu phpbb (in cbcwrapper – o solutie care nu imi place deoarece deschide forumul in iframe si nu pot avea acces direct la linkuri. daca accesez linkul direct ajung in forum, nu in joomla+forum).

Am incercat si varianta Boonex Dolphin DAR: nu am reusit integrarea cu phpbb3 si are unele module pe bani. Poate le-as cumpara daca as sti ca merg sigur.

La XOOPS nu am gasit nimic care sa mearga cat de cat pentru partea de video.

Alte idei ?