Y más pichicates
Hoy fúe un día de mucho trabajo. Por lo mismo quede con las ganas de seguir tecleando en la noche.
Hacía tiempo que quería hacerle algunas modificaciones (si es que no migrar) mi weblog. Recordaba que tenía la posibilidad de extender la classe, para luego integrarla con un @REF@ref@.
Lo primero que se me ocurrió: contar las entradas. Deinyer! deinyer! que es código trasnochado y áltamente tóxico y muy poco probado!.
class LocalWeblog extends Weblog function subst_local($eid) { $q = $this->dbquery("SELECT comments.eid as eid, COUNT(comments.eid) AS howmany FROM entries RIGHT JOIN comments ON entries.eid = comments.eid GROUP BY entries.eid"); while ($r = $this->dbfetch($q)) { foreach($r as $k => $v) { $this->$k = $v; } if ($this->articulo[eid] == $this->eid) { return "$this->howmany "; } } }
Luego lo llamo desde mi weblog como 4REF4eid4 y listoco, me muestra el conteo de comentarios para el eid.
Un detalle, declaro $this->articulo[eid] en la función print_entries() de weblog.inc
function print_entries($format, $r, $rows, $sep) { $af = $this->getvar($format); for ($i=0; $i<$rows; $i++) { $arr = $this->dbfetch($r); # # pichicate extra, recupero el valor de eid # $this->articulo[eid] = $arr[eid]; echo $this->subst_tokens($af, $arr) . " "; echo $sep; } }
Y ahora si, el constructor lo cambiamos de Weblog a LocalWeblog (la nueva clase extendida que hereda a Weblog) y listo.
Ahora estoy trabajando en incorporar el feisimo hack de los comentarios dentro de weblog. Alguna idea?.