diff -urN mlog-1.0/basesdatos/mysql/database.php mlog-1.0-busqueda/basesdatos/mysql/database.php
--- mlog-1.0/basesdatos/mysql/database.php	2003-02-03 12:45:00.000000000 +0100
+++ mlog-1.0-busqueda/basesdatos/mysql/database.php	2003-07-04 16:14:53.000000000 +0200
@@ -59,6 +59,54 @@
   return $historias;
 }
 
+function db_obtener_historias_busqueda ($_date, $_start, $_number, $_busqueda) {
+
+  if ($_start == "") {
+    $start = 0;
+  } else {
+    $start = $_start;
+  }
+
+  if ($_date == "") {
+    $date = "NOW()";
+  } else {
+    $date = "'".strftime ("%Y-%m-%d", strtotime($_date))." 23:59:59'";
+  }
+
+  if ($_number == "") {
+    $number = 10;
+  } else {
+    $number = $_number;
+  }
+
+  $busqueda = $_busqueda;
+
+  $historias = array();
+
+  mysql_pconnect (ML_DBHOST, ML_DBUSER, ML_DBPASS);
+  mysql_select_db (ML_DBNAME);
+
+  # Quizá con un gestor de BD que soporte consultas anidadas se pueda obtener
+  # el número de comentarios en la misma consulta (ahorro de recursos)
+  # Un outer join no vale, al menos en MySQL...
+  $query = "SELECT * FROM ".ML_PREFIX."stories WHERE fecha <= $date AND texto LIKE '%$busqueda%' ORDER BY fecha DESC LIMIT $start,$number";
+  $result = mysql_query ($query);
+
+  while ($fila = mysql_fetch_array ($result)) {
+    $h = array();
+    $h["id"] = $fila["id"];
+    $h["autor"] = $fila["autor"];
+    $h["titulo"] = $fila["titulo"];
+    $h["texto"] = $fila["texto"];
+    $h["fecha"] = $fila["fecha"];
+    $h["numcomentarios"] = db_numero_comentarios ("stories", $h["id"]);
+
+    array_push ($historias, $h);
+  }
+
+  return $historias;
+}
+
 
 # Recuperar una sola historia, dado su sid
 # Entrada:
diff -urN mlog-1.0/historias.php mlog-1.0-busqueda/historias.php
--- mlog-1.0/historias.php	2002-12-31 02:33:27.000000000 +0100
+++ mlog-1.0-busqueda/historias.php	2003-07-04 16:15:00.000000000 +0200
@@ -91,6 +91,41 @@
   include "plantillas/".ML_SKIN."/historias/finlistahistorias.php";
 }
 
+function buscador () {
+?>
+<form action="index.php" method="get">
+<p style="text-align: center"><input type="text" size="18" name="q"></p>
+<input type="hidden" name="op" value="busqueda">
+<input type="hidden" name="sid" value="">
+</form>
+<?php
+}
+
+function lista_historias_busqueda ($_busqueda) {
+
+  $busqueda = $_busqueda;
+
+  include "plantillas/".ML_SKIN."/historias/iniciolistahistorias.php";
+
+  $historias = db_obtener_historias_busqueda ("2037-12-31", 0, -1, $busqueda);
+
+  foreach ($historias as $historia) {
+    $id = $historia["id"];
+    $autor = $historia["autor"];
+    $texto = $historia["texto"];
+    $fecha = $historia["fecha"];
+    $numcomentarios = $historia["numcomentarios"];
+
+    $titulo = "<a href=\"index.php?op=historia&amp;sid=$id\">".$historia["titulo"]."</a>";
+    $editar = "";
+    $borrar = "";
+
+    include "plantillas/".ML_SKIN."/historias/listahistoria.php";
+  }
+   
+  include "plantillas/".ML_SKIN."/historias/finlistahistorias.php";
+}
+
 function borrar_historia ($_sid, $_hash) {
 
   $sid = $_sid;
diff -urN mlog-1.0/idiomas/ca.php mlog-1.0-busqueda/idiomas/ca.php
--- mlog-1.0/idiomas/ca.php	2002-12-31 02:33:51.000000000 +0100
+++ mlog-1.0-busqueda/idiomas/ca.php	2003-07-04 15:50:01.000000000 +0200
@@ -25,6 +25,7 @@
 define ("LS_PAGINASIGUIENTE", "Plana següent");
 define ("LS_PARAADMINISTRADORES", "Aquesta plana està reserva pels administradors");
 define ("LS_LISTAHISTORIAS", "Llista d'Històries");
+define ("LS_LISTAHISTORIAS_BUSQUEDA", "Resultat de la busca");
 define ("LS_EDITAR", "Editar");
 define ("LS_BORRAR", "Esborrar");
 define ("LS_BORRARHISTORIA", "Suprimir una historia");
diff -urN mlog-1.0/idiomas/en.php mlog-1.0-busqueda/idiomas/en.php
--- mlog-1.0/idiomas/en.php	2002-12-31 02:33:51.000000000 +0100
+++ mlog-1.0-busqueda/idiomas/en.php	2003-07-04 15:50:00.000000000 +0200
@@ -23,6 +23,7 @@
 define ("LS_PAGINASIGUIENTE", "Next page");
 define ("LS_PARAADMINISTRADORES", "This page is reserved for administrators");
 define ("LS_LISTAHISTORIAS", "Story List");
+define ("LS_LISTAHISTORIAS_BUSQUEDA", "Search results");
 define ("LS_EDITAR", "Edit");
 define ("LS_BORRAR", "Delete");
 define ("LS_BORRARHISTORIA", "Deleting a story");
diff -urN mlog-1.0/idiomas/es.php mlog-1.0-busqueda/idiomas/es.php
--- mlog-1.0/idiomas/es.php	2002-12-31 02:33:51.000000000 +0100
+++ mlog-1.0-busqueda/idiomas/es.php	2003-07-04 15:50:01.000000000 +0200
@@ -23,6 +23,7 @@
 define ("LS_PAGINASIGUIENTE", "P&aacute;gina siguiente");
 define ("LS_PARAADMINISTRADORES", "Esta p&aacute;gina est&aacute; reservada para administradores");
 define ("LS_LISTAHISTORIAS", "Lista de Historias");
+define ("LS_LISTAHISTORIAS_BUSQUEDA", "Resultado de la búsqueda");
 define ("LS_EDITAR", "Editar");
 define ("LS_BORRAR", "Borrar");
 define ("LS_BORRARHISTORIA", "Borrado de una historia");
diff -urN mlog-1.0/idiomas/gl.php mlog-1.0-busqueda/idiomas/gl.php
--- mlog-1.0/idiomas/gl.php	2002-12-31 02:33:51.000000000 +0100
+++ mlog-1.0-busqueda/idiomas/gl.php	2003-07-04 15:50:02.000000000 +0200
@@ -23,6 +23,7 @@
 define ("LS_PAGINASIGUIENTE", "P&aacute;xina seguinte");
 define ("LS_PARAADMINISTRADORES", "Esta p&aacute;xina est&aacute; reservada para administradores");
 define ("LS_LISTAHISTORIAS", "Lista de Historias");
+define ("LS_LISTAHISTORIAS_BUSQUEDA", "Resultado da busca");
 define ("LS_EDITAR", "Editar");
 define ("LS_BORRAR", "Borrar");
 define ("LS_BORRARHISTORIA", "Borrado dunha historia");
diff -urN mlog-1.0/index.php mlog-1.0-busqueda/index.php
--- mlog-1.0/index.php	2002-12-31 02:33:27.000000000 +0100
+++ mlog-1.0-busqueda/index.php	2003-07-04 15:42:24.000000000 +0200
@@ -19,9 +19,12 @@
   $autor = parametro ("autor");
   $direccion = parametro ("direccion");
   $texto = parametro ("texto");
+  $q = parametro ("q");
 
   if ($op == "historia") {
     include "plantillas/".ML_SKIN."/historias/verhistoria.php";
+  } else if ($op == "busqueda") {
+    include "plantillas/".ML_SKIN."/historias/listabusqueda.php"; 
   } else if (($op == "precomentario") || ($op == LS_PREVISUALIZAR)) {
     include "plantillas/".ML_SKIN."/comentarios/precomentario.php";
   } else if (($op == "nuevocomentario") || ($op == LS_ENVIAR)) {
diff -urN mlog-1.0/plantillas/default/historias/listabusqueda.php mlog-1.0-busqueda/plantillas/default/historias/listabusqueda.php
--- mlog-1.0/plantillas/default/historias/listabusqueda.php	1970-01-01 01:00:00.000000000 +0100
+++ mlog-1.0-busqueda/plantillas/default/historias/listabusqueda.php	2003-07-04 15:42:48.000000000 +0200
@@ -0,0 +1,9 @@
+<?php
+include "plantillas/".ML_SKIN."/cabecera.php"; ?>
+
+    <h2><?=LS_LISTAHISTORIAS_BUSQUEDA?>: <i>&ldquo;<?=$q?>&rdquo;</i></h2>
+
+<?php lista_historias_busqueda($q); ?>
+
+<?php
+include "plantillas/".ML_SKIN."/pie.php"; ?>
diff -urN mlog-1.0/plantillas/default/pie.php mlog-1.0-busqueda/plantillas/default/pie.php
--- mlog-1.0/plantillas/default/pie.php	2003-02-08 20:11:17.000000000 +0100
+++ mlog-1.0-busqueda/plantillas/default/pie.php	2003-07-04 15:39:18.000000000 +0200
@@ -12,6 +12,10 @@
 
       <?php calendario ($caldate) ?>
 
+      <h1>Búsqueda</h1>
+
+      <?php buscador () ?>
+
       <h1>Qui&eacute;n nos manda visitas</h1>
 
       <?php referers () ?>
diff -urN mlog-1.0/plantillas/tirandolineas/historias/listabusqueda.php mlog-1.0-busqueda/plantillas/tirandolineas/historias/listabusqueda.php
--- mlog-1.0/plantillas/tirandolineas/historias/listabusqueda.php	1970-01-01 01:00:00.000000000 +0100
+++ mlog-1.0-busqueda/plantillas/tirandolineas/historias/listabusqueda.php	2003-07-04 15:44:05.000000000 +0200
@@ -0,0 +1,9 @@
+<?php
+include "plantillas/".ML_SKIN."/cabecera.php"; ?>
+
+    <h2><?=LS_LISTAHISTORIAS_BUSQUEDA?>: <i>&ldquo;<?=$q?>&rdquo;</i></h2>
+
+<?php lista_historias_busqueda($q); ?>
+
+<?php
+include "plantillas/".ML_SKIN."/pie.php"; ?>
diff -urN mlog-1.0/plantillas/tirandolineas/pie.php mlog-1.0-busqueda/plantillas/tirandolineas/pie.php
--- mlog-1.0/plantillas/tirandolineas/pie.php	2003-02-08 20:11:18.000000000 +0100
+++ mlog-1.0-busqueda/plantillas/tirandolineas/pie.php	2003-07-04 15:43:52.000000000 +0200
@@ -18,6 +18,10 @@
 
       <?php calendario ($caldate) ?>
 
+      <h1>Búsqueda</h1>
+
+      <?php buscador () ?>
+
       <h1>M&aacute;s exhibicionistas</h1>
       <ul>
         <li><a href="http://rvr.blogalia.com/">Cuaderno de bit&aacute;cora</a></li>
