Internet Centrum upgradovalo na PHP 5.2.0
Freehosting Internet Centrum, na němž hostuji svůj blog, dnes v noci upgradoval PHP na verzi 5.2.0. O této novince jsem dozvěděl nikoliv z tiskové zprávy, ale bohužel díky chybě „Cannot use object of type stdClass as array“, která na mě dnes ráno vybafla z mojí homepage.
Na vině byl špatně napsaný plugin NP_CommentCounter (Nucleus CMS v 3.24), jehož úkolem je číslovat komentáře pod článkem. Naštěstí se jedná o chybu dosti rozšířenou a dobře zdokumentovanou, tudíž i já, laik jsem si s ní snadno poradil:
// před opravou
function event_PreItem($data) {
$this->curItem = $data['item']['itemid'];
$this->commentSeq = 0;
}
// po opravě
function event_PreItem($data) {
$this->curItem = $data['item']->itemid;
$this->commentSeq = 0;
}
Problém spočívá v chybném přístupu k atributu itemid objektu typu stdClass (více zde).




