123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151 |
- <?php
- if (!defined('entry') || !entry) {
- die('Not a valid page');
- }
- /* ===========================
-
- gelato CMS - A PHP based tumblelog CMS
- development version
- http://www.gelatocms.com/
-
- gelato CMS is a free software licensed under the GPL 2.0
- Copyright (C) 2007 by Pedro Santana <pecesama at gmail dot com>
-
- =========================== */
-
- class plantillas
- {
- public $plantilla;
- public $plantilla_cargada;
- public $texto_plantilla;
-
- public $antesBloque;
- public $bloque;
- public $despuesBloque;
- public $bloqueFinal="";
-
- public function __construct($plantilla)
- {
- $this->plantilla = ($plantilla == "") ? "tumblr" : $plantilla;
- }
-
- public function cargarPlantilla($entrada, $salida, $plantilla_usar)
- {
- $plantilla_usar = "themes/".$this->plantilla."/".$plantilla_usar.".htm";
-
- if (!file_exists($plantilla_usar)) {
- die("No se encuentra la plantilla :".$plantilla_usar);
- } else {
- if (!$fd = fopen($plantilla_usar, "r")) {
- die("Error en la plantilla");
- } else {
- $salida_xhtml = fread($fd, filesize($plantilla_usar));
- fclose($fd);
- $salida_xhtml = stripslashes($salida_xhtml);
- $this->texto_plantilla = $salida_xhtml;
- for ($i = 0; $i < count($entrada); $i++) {
- $salida_xhtml = str_replace($entrada[$i], $salida[$i], $salida_xhtml);
- }
- $this->plantilla_cargada = $salida_xhtml;
- }
- }
- }
-
- public function precargarPlantillaConBloque($entrada, $salida, $plantilla_usar, $nombreBloque)
- {
- $plantilla_usar = "themes/".$this->plantilla."/".$plantilla_usar.".htm";
-
- if (!file_exists($plantilla_usar)) {
- die("No se encuentra la plantilla :".$plantilla_usar);
- } else {
- if (!$fd = fopen($plantilla_usar, "r")) {
- die("Error en la plantilla");
- } else {
- $salida_xhtml = fread($fd, filesize($plantilla_usar));
- fclose($fd);
- $salida_xhtml = stripslashes($salida_xhtml);
- $this->texto_plantilla = $salida_xhtml;
-
- $this->cargaAntesBloque($nombreBloque);
- $this->cargaDespuesBloque($nombreBloque);
-
- $this->antesBloque = $this->procesaBloque($entrada, $salida, $this->antesBloque);
- $this->despuesBloque = $this->procesaBloque($entrada, $salida, $this->despuesBloque);
- }
- }
- }
-
- public function cargarPlantillaConBloque($entrada, $salida, $plantilla_usar, $nombreBloque)
- {
- $plantilla_usar = "themes/".$this->plantilla."/".$plantilla_usar.".htm";
-
- if (!file_exists($plantilla_usar)) {
- die("No se encuentra la plantilla :".$plantilla_usar);
- } else {
- if (!$fd = fopen($plantilla_usar, "r")) {
- die("Error en la plantilla");
- } else {
- $salida_xhtml = fread($fd, filesize($plantilla_usar));
- fclose($fd);
- $salida_xhtml = stripslashes($salida_xhtml);
- $this->texto_plantilla = $salida_xhtml;
-
- $this->cargaBloque($nombreBloque);
-
- $this->bloqueFinal .= $this->procesaBloque($entrada, $salida, $this->bloque);
- }
- }
- }
-
- public function procesaBloque($entrada, $salida, $bloque)
- {
- for ($i = 0; $i < count($entrada); $i++) {
- $bloque = str_replace($entrada[$i], $salida[$i], $bloque);
- }
- return $bloque;
- }
-
- public function cargaBloque($nombreBloque)
- {
- $inicioBloque = "[bloque: ".$nombreBloque."]";
- $finBloque = "[/bloque: ".$nombreBloque."]";
- $ini = strpos($this->texto_plantilla, $inicioBloque)+strlen($inicioBloque);
- $fin = strpos($this->texto_plantilla, $finBloque);
- $this->bloque = substr($this->texto_plantilla, $ini, ($fin-$ini));
- }
-
- public function cargaAntesBloque($nombreBloque)
- {
- $inicioBloque = "[bloque: ".$nombreBloque."]";
- $ini = strpos($this->texto_plantilla, $inicioBloque);
- $this->antesBloque = substr($this->texto_plantilla, 0, $ini);
- }
-
- public function cargaDespuesBloque($nombreBloque)
- {
- $finBloque = "[/bloque: ".$nombreBloque."]";
- $fin = strpos($this->texto_plantilla, $finBloque);
- $this->despuesBloque = substr($this->texto_plantilla, ($fin+strlen($finBloque)), strlen($this->texto_plantilla));
- }
-
- public function mostrarPlantillaConBloque()
- {
- echo $this->antesBloque.$this->bloqueFinal.$this->despuesBloque;
- }
-
- public function mostrarPlantilla()
- {
- echo $this->plantilla_cargada;
- }
-
- public function renderizaEtiqueta($texto="", $etiquetaHtml="p", $claseCss="")
- {
- echo "<".$etiquetaHtml." class=\"".$claseCss."\">".$texto."</".$etiquetaHtml.">";
- }
-
- public function renderizaTexto($texto="")
- {
- echo $texto;
- }
- }
|