====== Posada en funcionament de la v.1.1.4 ====== Aprofitant el trasllat del programa de reserves al nou servidor (sermn.uab.cat), he actualitzat el programa de reserves de la //versió 1.0.6// a la //versió 1.1.4//, ja que la nova //versió 1.0.6// dóna alguns errors i avisos, segurament per temes de compatibilitat amb les noves versions de PHP. La posada en funcionament de la versió 1.1.4 ha comportat alguns petits canvis al codi del programa. Aquests canvis es descriuen tot seguit. ===== Error al càlcul dels intervals de temps per reserves ===== En principi l'únic canvis que he hagut de fer per aconseguir que funcionés correctament la versió 1.1.4 ha estat al fitxer ''./inc/bookings/timeslotrule.php'' per tal que els valors de la llista desplegable d'intervals de temps al programa de reserves es calculessin correctament, Resulta que a la funció **allSlotDuratinos()** de la **clase RuleSlot,** es treballava amb l'objecte original, i això feia que la suma d'intervals d'un //bloc de temps// fos incorrecte. Per exemple, per un bloc de 09:00 a 13:00, dividit en 4 hores, en comptes de sortir a la llista "1, 2, 3 i 4 hores," sortiem "1, 2, 4, 8 hores." La funció original és, function allSlotDurations() { $duration = array(); $cslot = $this; $cdur = $this->tgran; for ($i=0; $i<=$this->numslotsFollowing; $i++) { #echo $i.': length='.$cslot->tgran->timeString().', sum='.$dur->timeString()."
\n"; $duration[$cdur->timeString()] = $cdur->timeString(); $cdur->addTime($cslot->tgran); $cslot = $cslot->nextSlot; } return $duration; }
i la funció modificada és, function allSlotDurations() { $duration = array(); $cslot = $this; $cdur = $this->tgran; $dur = clone($cdur); for ($i=0; $i<=$this->numslotsFollowing; $i++) { $duration[$dur->timeString()] = $dur->timeString(); $dur->addTime($cslot->tgran); $cslot = $cslot->nextSlot; } return $duration; } ===== Desactivar l'accés al programa ===== Per desactivar l'accés al programa, per exemple, en cas de manteniment, només cal modificar la línia del fitxer ''./inc/actions/login.php'' on es crea el botó de login, de forma que el codi, es converteixi en, Per reactivar l'accés al programa cal desfer el canvi. ===== Solució al Bug del Masquerade ===== En el fitxer /bb/inc/auth.php i teníem el següent: if ($this->_loggedin) { // set up Authorisation parts $this->isadmin = $this->user_row['isadmin']; } L'estructura _loggedin conté les variables uid, username, name, email i isadmin, per tant, aquest són els camps que guardava de la sessió actual. En canvi, no es guardaven les variables de sessió euid, ename i eusername que són les que marquen si estas fent servir el masquerade o no. Així doncs, faltava fer la crida a la funció _checkMasq() perquè recuperes aquestes variables: if ($this->_loggedin) { // set up Authorisation parts $this->isadmin = $this->user_row['isadmin']; $this->_checkMasq(); }