1. Introducción a phpKROND
    1. Instalando phpKROND
    2. Creando un usuario de administración
    3. Plantillas
    4. Objetos
    5. Páginas
  2. Descripción de los módulos de phpKROND
    1. Módulo krond
    2. Módulo forum
    3. Módulo descargas
    4. Módulo noticias
    5. Módulo users
    6. Módulo contenidos
    7. Módulo calendario
  3. Extendiendo phpKROND
    1. Creando plantillas
    2. Creando módulos
    3. Hojas de Estilo phpKROND
  4. Administración de phpKROND
    1. Menu de Plantillas
    2. Menú de Páginas
    3. Menú de Objetos
    4. Menú de Usuarios
    5. Logout del Sistema
  5. Administración de los Módulos de phpKROND
    1. Administrando las Noticias
    2. Administrando los Contenidos
    3. Administrando las Descargas
    4. Administrando el Forum
    5. Administrando los Usuarios Registrados
    6. Administrando el Calendario
    7. Administración de Otros Módulos


Introducción a phpKROND

La aplicación phpKROND te permitirá administrar los contenidos de tu web de una forma sencilla. Una vez instalado correctamente el programa, desde tu navegador web podrás acceder a las páginas de administración del mismo.
Supongamos a partir de ahora que la url es 'http://servidor/phpkrond/'.

Por defecto, la página de administración principal del programa se llama 'admin.php' (http://servidor/phpkrond/admin.php) pero posteriormente si deseas cambiarla puedes hacerlo, pero antes de eso, tienes que entender como funciona phpKROND.

Desde 'admin.php' puedes crear nuevas páginas en tu servidor, tambien crearás objetos que se incrustarán dentro de las páginas web que crees. También podras manipular las plantillas que utilizan las páginas y los usuarios de administración del sistema.

Instalando phpKROND

Para instalar phpKROND siga las instrucciones que encontrará en directorio 'instalacion' dentro de la documentación. En ese directorio encontrará lo necesario para una correcta instalación del sistema. Recuerde, las instrucciones de instalación están aquí.

Creando un usuario de administración

phpKROND no crea ningún usuario de administración por defecto, así que la primera vez que entras en el sistema, tendrás permiso para hacer todo lo que quieras con el programa, de hecho, cualquiera que entre en ese momento no encontrará restricciones para ello. Entrando en 'admin.php', en la sección de usuarios de administración, te aparecerá un formulario para crear un usuario de administración, este primer usuario es un SUPERusuario que puede hacer todo. Los demás usuarios de administración no son superusuarios, sólo existe un SUPERusuario y es el primero que se crea cuando la base de datos está vacía.

Como curiosidad 'curiosa', el SUPERusuario se puede borrar a sí mismo y a los demás usuarios. Si esto llegará a ocurrir, inmediatamente, aparecera el formulario para crear un nuevo usuario, este usuario que se cree será SUPERusuario.

¿ Para qué sirve un usuario de administración? phpKROND divide las páginas en dos tipos diferentes: páginas normales y páginas del sistema. En las páginas normales, puede entrar todo el mundo sin ningún problema, son páginas destinadas al público en general. Las páginas del sistema estan protegidas, solo pueden entrar los administradores y requieren de un login (nombre usuario) y password para entrar. Esta páginas se crean para administrar el propio phpKROND y para administrar los demás modulos que se instalen con phpKROND.

Plantillas

Las páginas de phpKROND utilizan plantillas, las plantillas no son más que modelos de páginas con unas características peculiares. Tienen definidas unas regiones editables o variables que son las que indican a phpKROND en donde incrustar los objetos (o contenidos) que decidimos que aparezcan en las páginas web.

Veamos un ejemplo con el siguiente código de una plantilla:

 
Contenido de la Plantilla de ejemplo
<html>
<head>
    <title>{titulo}</title>
</head>
<body>
    <div align="center">
    <table border="1" width="75%">
       <tr>
          <th colspan="2">Bienvenido a phpKROND</th>
       </tr>
       <tr>
          <td>{columna1}</td>
          <td>{columna2}</td>
       </tr>
       <tr>
          <td colspan="2">Sistema de Contenidos phpKROND</td>
       </tr>
    </table>
    </div>
</body>
</html>

Hasta ahora,  una plantilla no es nada 'complicado' o puede ser todo lo complicado que queramos, simplemente debemos recordar, que una plantilla es un modelo de página web, que tiene dentro de ella una serie de etiquetas (variables) que indican al programa donde insertar lo que nosotros decidamos.

Las etiquetas de las variables son nombres que van entre llames {}. Se pueden emplear caracteres minúsculas o mayúsculas, subrayados, guiones y números. En una plantilla no deberian aparecer etiquetas duplicadas. Las etiquetas son marcas en donde decimos que en esa etiqueta se deberá meter algo, por eso duplicarlas no tiene sentido, puesto que crearemos dos sitios en nuestra plantilla en la que meteremos lo mismo.

Las plantillas no van sólas, las plantillas tienen asociadas 3 tipos de plantillas más, estas plantillas sirven para decidir como se verá lo que incrustemos dentro de cada variable de la plantilla. En realidad estas plantillas especiales se llaman 'tipos de caja'.

Veamos un ejemplo de estos 'tipos de caja': tipo_caja_1, tipo_caja_2, tipo_caja_3

 
Contenido de las plantillas para los tipos de cajas del ejemplo
<table border="1" width="100%" cellspacing="0" cellpadding="0">
<tr>
<th bgcolor="#CCCCCC">&nbsp;</th>
</tr>
<tr>
<td>{cuerpo}</td>
</tr>
</table>
<table border="1" width="100%" cellspacing="0" cellpadding="0">
<tr>
<th width="10%" bgcolor="#CCCCCC">&nbsp;</th>
<td width="90%">{cuerpo}</td>
</tr>
</table>
<table border="1" width="100%" cellspacing="0" cellpadding="0">
<tr>
<th bgcolor="#CCCCCC">&nbsp;</th>
</tr>
</table>
<table>
<tr>
<td>{cuerpo}</td>
</tr>
</table>

Como vemos, en el código de los tipos de cajas, no son mas que plantillas pero con una peculiaridad especial, estas plantillas tienen sólo una variable, y además, esta variable se llama {cuerpo}. A diferencia del código de las plantillas, que pueden tener multitud de variables con nombres diferentes, en las plantillas que utilizan los tipos de cajas, sólo existe una variable y se llama {cuerpo}.

¿ Cuál es la función de los 'tipos de caja' ? Aunque más adelante cuando trabajemos con los objetos insistiremos sobre ello, la función de los tipos de caja es ajustar la presentación de los objetos que se incrustan en una pagina (dentro de las variables o zonas editables de una plantilla) a la presentación general de la plantilla. Existe 3 tipos de 'tipos de caja' para dar una variedad a la forma de presentar los objetos, aunque también podemos incrustar un objeto sin ningún tipo de caja que lo enmarque.

Objetos

Hasta ahora hemos visto que son las plantillas y las peculiaridades de las mismas, también hemos hablado de páginas y de objetos que se incrustan en ellas. Los objetos no son mas que 'trozos de codigo', que se agrupan bajo un nombre común. Los objetos pueden ser tanto trozos de codigo html, llamadas applets de macromedia o js, scripts en PHP o colecciones de otros objetos.

Como se ha dicho antes, un objeto puede contener diversas cosas muy diferentes, por ello existen diversos tipos de objetos::
  • Objetos Estáticos: Estos objetos son mas que trozos de codigo HTML o de otro tipo que se incrustan tal como son en la página (justo en el lugar donde nosotros hemos decidido). Un ejemplo de un objeto estático:

     
    Objeto 'Prueba Objeto Estático'
    Tipo del Objeto: 'Estático'.
    <h1>Prueba de Objeto Estatico phpKROND</h1>
    <p>Efectivamante, este objeto estatico contiene un titular y un parrafo.</p>

    Otro ejemplo que sirve para mostrar la fecha en JS:

    Objeto 'Fecha y Hora en JS'
    Tipo del Objeto: 'Estático'.
    <script language="JavaScript">
        Dias = new Array(7)
        Dias[1] = "Domingo";
        Dias[2] = "Lunes";
        Dias[3] = "Martes";
        Dias[4] = "Miércoles";
        Dias[5] = "Jueves";
        Dias[6] = "Viernes";
        Dias[7] = "Sábado";
        Meses = new Array(12)
        Meses[1] = "Enero";
        Meses[2] = "Febrero";
        Meses[3] = "Marzo";
        Meses[4] = "Abril";
        Meses[5] = "Mayo";
        Meses[6] = "Junio";
        Meses[7] = "Julio";
        Meses[8] = "Agosto";
        Meses[9] = "Septiembre";
        Meses[10] = "Octubre";
        Meses[11] = "Noviembre";
        Meses[12] = "Diciembre";
        fechaActual = new Date();
        nombreDia = Dias[fechaActual.getDay() + 1];
        mes = Meses[fechaActual.getMonth() + 1];
        dia = fechaActual.getDate();
        anyo = fechaActual.getFullYear();
        document.write ("<p class=tipo2> "+ nombreDia + ", " + dia + " de " + mes + " de " + anyo + "</p>");
    </script>

  • Objetos Dinámicos: Estos objetos son programas en PHP o llamadas a programas en PHP, que se evaluan en tiempo de ejecución  y la salida generada por dicho objeto se incrusta en la zona de la página que hemos decidido, (justamente sustituye a la variable de la plantilla de la página donde aparecerá el objeto).

     
    Objeto 'Hola Mundo'.
    Tipo del Objeto: 'Dinámico'.
    echo "Hola Mundo en PHP<br />";
    phpinfo ();

    Al ser un programa PHP, no necesita las etiquetas <?php ... ?>, todo el contenido del objeto es un programa PHP.

  • Objetos Contenedores: No son mas que colecciones de objetos anteriores, tambien pueden contener otros objetos contenedores. Asi si tenemos varios objetos estaticos, podramos agruparlo en un sólo objeto, de tipo contenedor.
Todos los objetos, a parte de tener un nombre, un tipo y un contenido, también tienen una propiedad llamada 'tipo de caja' que indica con que tipo de caja se debe incrustar el objeto en la página. Por supuesto, se puede indicar que se incruste sin ningún tipo de caja.

Páginas

Desde phpKROND crearemos páginas pero sin necesidad de estar tecleando el código html de la página. Cuando creamos una página, debemos decirle al programa que plantilla utilizará, es decir, tomamos como modelo de página a una plantilla. Así, cualquier cambio que hagamos en el código de la plantilla, todas las páginas que la utilicen adquieren dichos cambios. Esa es una de las ventajas de utilizar phpKROND.

Además, cada página, tiene asociada unas serie de sustituciones, es decir, a cada variable de la plantilla que utiliza la página, se le dice que objeto la sustituirá. De esta forma tenemos diferentes páginas, con la misma apareciencia visual, pero cada una de ellas tendrán asociadas una serie de objetos que hacen que las páginas sean diferentes (por supuesto también pueden ser iguales, pero eso es cosa del usuario si quiere hacerlo).


Descripción de los módulos de phpKROND

phpKROND trae una serie de utilidades, cómo son un módulo de descargas, un forum, un gestor de noticias tipo weblog, un gestor de contenidos, un registro de usuarios y un calendario. Todas estas utilidades se encuentran dentro del directorio 'modulos/' y se tratan como objetos dinámicos.

Módulo krond

Desde este módulo se puede gestionar todo el motor de phpKROND, creando/modificando/borrando plantillas, objetos, páginas y usuarios de administración. Las descripción de clases principales del módulo es la siguiente:
  • Clase krond_admin: permite administrar todo el sistema de phpKROND, manipular plantillas, páginas, objetos y usuarios de adminitración.
  • Clase paginas_activas: es una utilidad para listar las páginas que se encuentran en el sistema.
Por defecto, la página 'admin.php' utiliza el objeto que contiene la llamada a la clase krond_admin.

Módulo forum

El módulo forum ofrece la posibilidad de que los usuarios de la web se comuniquen de forma pública entre ellos e intercambien ideas, conocimientos y peticiones, haciendo la web mucho más participativa e interesante.

El forum se encuentra clasificado por Temas, que irá creando el administrador desde la página en la que se encuentre el objeto que llame a forum_admin. Estos temas, a su vez contendran los diferentes foros en donde los usuarios enviaran mensajes y respuestas al mismo. La página que contiene el objeto que llama a la clase 'forum_mostrar' mostrará el forum.

El fichero principal del módulo se llama forum.inc.php y contiene dos clases principales: forum_admin y forum_mostrar.
  • La clase forum_admin permite administrar todo el sistema del forum.
  • La clase forum_mostrar muestra el forum a los usuarios.

Módulo descargas

Este módulo gestiona las ficheros que se pueden descargar de la web. Permitirá llevar una estadistica del número de descargas de los ficheros además de clasificar los ficheros en diferentes categorías para una mayor organización de los archivos a descargar. Las categorías de descargas son anidables como si de un árbol de directorio se tratase.

Al igual que las clases anteriores, existen dos clases para el uso del módulo, descargas_admin y descargas_mostrar:
  • Clase descargas_admin gestoriona los ficheros y categorias de descargas. Tambien permite hacer uploads de fichero (recuerde que el servidor web debe tener permiso para escribir en los directorios de instalación de phpkrond).
  • Clase descargas_mostrar muestra los archivos y categorías del modulo.

Módulo noticias

El módulo noticias proporciona un sistema de noticias, tipo weblog, este módulo cubre desde la administración de noticias y temas de las mismas, hasta mostrar las noticas a los usuarios y un pequeño bloque que sirve para mostrar un resumen de noticias anteriores.

Las clases que lo integran son:
  • Clase noticias_admin que sirve para administrar el módulo.
  • Clase noticias_mostrar que sirve para mostrar las noticias en formato weblog.
  • Clase noticias_anteriores que genera un pequeño bloque con las noticas anteriores a las que estan presentes en la seccion principal del weblog.

Módulo users

Este módulo ofrece la posibilidad de tener usuarios registrados en su web, simplemente tienen que tener un correo electrónico y un nombre de usuario que no esté usado por otro usuario. Si desea ver cómo se puede utilizar dicha funcionalidad en sus programas, consulte el módulo del forum que utiliza este módulo para saber que usuario es el que envia los mensajes y respuestas al forum.

La descripción de las clases que componen el módulo son:
  • Clase users_admin: administra los usuarios registrados
  • Clase users_bloque: ofrece un pequeño formulario para que los usuarios registrados entren en el sistema. Útil para colocar en cualquier página, ocupando poco espacio.
  • Clase users_mostrar: Tiene el formulario principal para registrar y cambiar las preferencias de un usuario registrado.

Módulo contenidos

Este módulo ofrece tener artículos o contenidos en su web de forma organizada, las artículos se clasifican en secciones, cada sección funciona como una especie de 'directorio', pudiendo contener también otras secciones (o subsecciones según se quiera llamar).

La descripción de las clases que se utilizan en los diferentes objetos son:
  • Clase contenidos_admin: administra las secciones, articulos y configuración del módulo.
  • Clase contenidos_mostrar: muestra las secciones y articulos de la misma. Permite navegar como si de un árbol de directorios se tratase.
  • Clase contenidos_bloque: muestra un pequeño bloque que sirve para ir navegando dentro de las secciones. Útil para colocar en cualquier lugar y ofrecer un acceso rápido a secciones y articulos.

Módulo calendario

El módulo del calendario nos permitirá tener una referencia a citas (clasificadas en tipos de eventos) en un calendario. Así nuestros usuarios podran estar informados sobre fechas a recordar y cosas por el estilo.

La descripción de clases que forma este módulo es la siguiente:
  • Clase calendario_admin: administra citas y eventos del calendario.
  • Clase calendario_mostrar: muestra un calendario del mes especificado y las citas que hay marcadas en el mismo.
  • Clase calendario_bloque: muestra un pequeño calendario y marca los días que tienen citas. Útil para colocar en cualquier sitio y tener un referencia rápida de fechas.


Extendiendo phpKROND

Hasta ahora hemos hablado de lo que trae por defecto phpKROND, pero seguro que usted está más interesado en agregar sus propias plantillas, módulo y objetos al sistema. Antes de ponerse a crear nada de eso, debería echar un vistazo a cómo estan realizadas las plantillas, los objetos y los módulos. Todo ello sigue una metodología, que le ayudará a no mezclar las cosas y que llegado el momento, le facilitará su trabajo, cuando lleguen 'los cambios'.

La aplicación phpKROND está pensada para facilitar el mantenimiento y la organización de la web, por ello sería un error no prestar atención a cómo se han hecho las cosas. Por eso un consejo: 'Tranquilidad en las masas, la paciencia es una virtud'.

Creando plantillas

Toda las plantillas que ofrece phpKROND están dentro del directorio plantillas. Por defecto, phpKROND trae varias plantillas, una de ellas de nombre 'estandar' se utiliza para la propia adminitración del sistema.
El primer paso cuando crea una plantilla es utilizar su editor web favorito, y crear el modelo de página que desea. Simplemente recuerde varias reglas:
  • Las variables (o zonas editables) se marcan con {nombreVariable} dentro del codigo de la plantilla.
  • Las plantillas de los tipos de caja, contienen una sola variable de nombre {cuerpo}. Si su plantilla sólo emplea una tipo de caja puede hacer que las otras sean iguales, pero recuerde que siempre deben estar definidas.
  • Localice todos los recursos de la plantilla dentro del directorio plantillas/nombrePlantilla/, eso le permitira organizar el contenido de la plantilla sin mezclarlo con otras plantillas. Recuerde que en phpKROND puede emplear más de una plantilla como modelo de sus páginas.
  • Emplee el formato de hoja de estilo que utiliza phpKROND, los modulos que trae por defecto phpKROND la usan, así no tendra que ir cambiando los programas, simplemente adecúese a dicho formato de hoja de estilo, modificando las propiedades de la misma.

Creando módulos

Los módulos de phpKROND aportan el dinamismo a la web que se demanda por los internautas. Todos los modulos se encuentran dentro del directorio 'modulos/nombreModulo'. Veamos paso a paso la creacion de un modulo:

Nuestro módulo se va a llamar 'ipuser' y va a consistir en un programa que muestra la ip del usuario que se conecta a la página web. Ahora creamos un fichero de nombre 'ipuser.php', con el siguiente contenido:

 
Módulo 'ipuser'.
fichero 'modulos/ipusers/ipuser.php'

<?php
/**
* Obtiene la Ip del Cliente.
*
* Obtiene la IP real del cliente.
*
* @return String Ip del Cliente.
*/
function obtiene_ip () {
    if (@isset ($_SERVER['HTTP_X_FORWARDED_FOR'])){
        $ipCliente = $_SERVER['HTTP_X_FORWARDED_FOR'];
    } else {
        $ipCliente = $_SERVER['REMOTE_ADDR'];
    }
    return $ipCliente;
}

echo "Su IP es '" . obtiene_ip () . "'";

?>

Ahora sólo tenemos que crear un objeto y que dicho objeto llame al módulo.

 
Objeto: 'Calcula IP'
Tipo del objeto: 'Dinamico'
include ("modulos/ipuser/ipuser.php");

Este módulo es bastante sencillo y podiamos haber creado directamente un objeto que tuviera todo el código del fichero 'ipuser.php'. Pero para módulos más complejos es recomendable utilizar ficheros y que desde los objetos se llamen a esos ficheros cómo se ha realizado en el ejemplo.

Si desea ver más ejemplos de realización de módulos sólo tiene que echar un vistazo al código de los módulos que trae phpKROND. Puede localizar la documentación de cada módulo, que ha sido generado con la herramienta phpDocumentor, en el directorio 'doc/phpdoc/' en formato html o en formato pdf. El fichero de configuración utilizado para generar dicha documentacion es 'doc/cfgdoc4phpkrond.ini'.

Hojas de Estilo phpKROND

Como antes se dijo, phpKROND utiliza una hoja de estilo genérica para los nombres de las propiedades, esto permite intercambiar diferentes plantillas y que los módulos de phpKROND siempre encuentren definidas las propiedades de las que hacen uso.

Las propiedades que se tienen que definir en la hoja de estilo de una plantilla, se listan a continuación. Se recomiendan que todas las plantillas definan estas propiedades para un mejor ajuste visual de los programas que realice y permitir intercambiar las plantillas conservando la coherencia de la presentación en los navegadores web.

  • TH : Se utiliza como cabecera de una tabla, empleada en títulos de tablas.
  • TR, TR.fila1, TR.fila2, TR.fila3 : Se utiliza para definr las filas de una tabla. TR es el formato por defecto de la fila de la tabla. 'fila1' y 'fila2' se utilizan para intercambiar filas en listados largos y mejorar la visibilidad de las tablas en esos listados. 'fila3' se puede utilizar con la misma idea, pero también para dar un cierto enfasis a esa fila.
  • TD, TD.col1, TD.col2, TD.col3 : Persigue la misma idea que las propieades de las filas, pero adecuada a las columnas de una tabla. La importancia de las columna va en orden decreciente. TD es el formato por defecto de la celda de una tabla.
  • H1, H2, H5 : Defina estas propiedades para dar importancia a cabeceras y titulos de mensajes. Por supuesto, la importancia de los encabezados va en orden decreciente.
  • tipo1, tipo2, tipo3 : Son propiedades generales de tipos de letra.
  • BODY : Define el tipo de letra por defecto, se recomienda que coincida con la definicion de tipo2.

Por lo demás, puede agregar sus propias definiciones de propiedades de la hoja de estilo, pero recuerde, los modulos de phpkrond no los utilizarán, phpkrond sólo empleará las propiedades anteriormente descritas.


Administración de phpKROND

Todo el sistema de phpKROND se controla como un módulo más, no hay ninguna diferencia entre el modulo de administracion (de nombre krond) y los demás módulos. Simplemente, krond actua sobre las tablas destinadas a albergar las informaciones de las plantillas, páginas y objetos.

La administración se centra en controlar 5 tipos de actividades básicas, ofrenciendo un pequeño para acceder a ellas:
PlantillasPáginasObjetosUsuariosloguut

Menu de Plantillas

El primer icono Plantillas corresponde al menu de plantillas, desde este menú se relizan todas las operaciones que necesitemos sobre una plantilla:
  • Crear Plantillas.
    El formulario de creación de una plantilla pide un nombre de plantilla, el contenido de la plantilla y los contenidoes de los tipos de caja de la plantilla. El sistema comprueba que los datos son correctos. No permite nombres de plantillas duplicados o incorrectos. También verifica si el contenido del tipo de caja de la plantilla contiene la variable {cuerpo}, si no contiene dicha variable informa de ello y no crea la plantilla.

  • Modificar Plantillas.
    La modificación de plantillas nos permite realizar labores de mantenimiendo sobre la plantilla (cambiar el contenido de la plantilla o las plantillas del tipo de caja). Cualquier cambio sobre estos cambios, inmediatamente se verán reflejados en las páginas que usen la plantilla modificada.

    Un detalle a tener en cuenta, cuidado al modificar las variables de la plantilla. El sistema, cuando se crea una plantilla, también inicializa las variables de plantilla. Luego posteriormente, cuando se crean las páginas, relaciona los objetos con las variables de plantilla y con la página que creamos (o modificamos sus asignaciones). Si modificamos las variables de la plantilla, entonces el sistema recalcula de nuevo las asignaciones de páginas. Si hemos eliminado variables, entonces se eliminan las sustituciones que tienen las páginas de esa plantilla y con esa variable eliminada para evitar incongruencias. Si se añaden nuevas variables, entonces el sistema inicializa las sustituciones para esas variales y para cada página que usa la plantilla modificada. Las asignaciones de variables que permenecen en el cambio de la plantilla quedan inalteradas.

  • Borrar Plantillas.
    Elimina la plantilla del sistema, si la plantilla esta en un uso por una o más páginas, la plantilla no se podra borrar. Antes tendrá que borrar las páginas.

Menú de Páginas

El segundo icono Páginas del menu corresponde al menú de páginas, al igual que con el menú anterior de plantillas, desde aqui se realizan las operaciones con las páginas:
  • Crear Páginas.
    El formulario de creación de páginas nos pide un nombre de página (que se correspondera con un archivo físico en el sistema de ficheros localizado en el directorio raiz de instalación de phpkrond). El nombre de la página no debe contener caracteres '?', '*', '\', '/', espacios. En ese nombre de página debemos incluir la extensión del archivo. Podemos utilizar cualquier extension, pero recuerde, que la extension que utilice debe ser reconocible por el servidor como una extension de aplicación PHP. Puede ponerle extension .html, pero su servidor web tiene que estar configurado para cuando sirva paginas html lance el interprete de PHP. Más información sobre ello encontrará en la documentación de su servidor web (APACHE, IIS). Si no sabe cuales son las extension asociadas a programas php, puede utilizar '.php'.

    Las páginas que cree pueden ser tanto páginas normales (páginas públicas) o del sistema (página privadas que sólo los administradores podran ver y que requieren autenticarse en el sistema).

    Por último, para crear una página, el directorio donde instale phpKROND tiene que tener los permisos adecuados que permitan al servidor web manipular ficheros (crear, borrar y modificar) en ese directorio y subdirectorio para un correcto funcionamiento.

  • Modificar Páginas.
    La modificación permite cambiar el tipo de la página como las asignaciones de objetos que tiene la página. Esas asignaciones se realizan sobre las variables de plantilla que tiene asociada la página. No puede cambiar el nombre de una página.

  • Borrar Páginas.
    Elimina la página del sistema, borrando el archivo en el sistema de archivos.

    Al igual que pasa con la creación de páginas, el directorio donde instale phpKROND itne que tener los permisos adecuadas que permitan al servidor web manipular ficheros (crear, borrar y modificar) en ese directorio y subdirectorios para un correcto funcionamiento.

Menú de Objetos

Para las operaciones con los objetos tenemos el menú de objetos, icono Objetos. Desde él accedemos a las operaciones sobre los objetos:
  • Crear objetos.
    Desde el formulario de creación de objetos indicamos el nombre del objeto, su tipo, su contenido y su tipo de caja (de esta forma relacionamos la forma de insertar el objeto en una página, con el tipo de caja de la plantilla que este usando esa página).

  • Modificar objetos.
    Nos permitira cambiar los propiedades del objeto, nombre, tipo y tipo de caja.
    Si el objeto es de tipo contenedor, entonces nos ofrece la posibiliad de agregar objetos a ese contenedor y de 'ordenarlos' a nuestro gusto, es decir, decimos en que orden estan los objetos que contiene el contenedor.
    Tambien podemos eliminar los objetos que tiene el contenedor en su interior.

  • Borrar objetos.
    El borrado de un objeto supone la eliminación del mismo en el sistema. Pero existen algunas comprobaciones que hace el sistema antes de borrar un objeto:
    • No se puede borrar un objeto que este en uso (por una página o por un contenedor).
    • No se puede borrar un objeto contenedore que no este vacio, antes de borrarlo tendra que eliminar los objetos de su interior. Es una sencilla norma de precaución que se haga esto de esta manera.

Menú de Usuarios

Para las operaciones con los usuarios de administración tenemos el menú de usuario, icono Usuarios. Desde él accedemos a las operaciones sobre los usuarios de administración:
  • Añadir nuevos usuarios de administración al sistema.
    Las páginas del sistema son una forma de evitar que cualquier usuario entre en las zonas restringidas (páginas de administracón). Para ello, existen los usuarios de administración que son los usuarios que si pueden entrar en esas zonas. Desde aqui podra añadir nuevos usuarios.

  • Borrar usuarios.
    Elimina un usuarios del sistema. Sólo podra eliminar usuarios el SUPERusuario (que es el primero que se crea cuando no existen otros usuarios), los otros usuarios no podran hacerlo (a no ser que se borren a sí mismos).

Logout del Sistema

El último icono loguut no es un menú, sirve para salir del sistema. La autenticación de usuarios en phpKROND funciona mediante mecanismos HTTP, sesiones y cookies, para evitar que los usuarios de administración tengan que estar continuamente introduciendo la clave entre diferentes sesiones, se utilizan las cookies para guardar la clave del usuario (la clave encriptada con md5), esa clave luego se toma y se compara con la clave encriptada que está almacenada en el sistema.


Administración de los Módulos de phpKROND

Todos los módulos que trae phpKROND tienen sus propios objetos que se dedican a administrar el módulo. Por defecto, estos módulos se gestionan desde páginas del tipo 'adm_NOMBREMODULO.php', en las cuales estan incrustados los objetos de administración de dichos módulos.

Administrando las Noticias

El módulo de noticias proporcionan al webmaster un sistema de noticas tipo weblog. Un weblog no es más que una forma de tener noticias en su web ordenados por fecha, estas noticias estan clasificadas según un tema. Desde la administración del módulo podemos hacer:
  • Crear Temas de Noticias. Cada tema tiene asociado un nombre y gráfico (una imagen que aparecerá en la noticia para identificar rapidamente de que trata).

  • Borrar Temas. Eliminamos un tema de las noticias, para poder eliminarlo, el tema de las noticias no tiene que contener ninguna noticias.

  • Vaciar Temas. Borramos todas las noticias de un tema.

  • Modificar las propieades de un Tema. Cambiamos el nombre o el gráfico asociado al tema.

  • Crear Noticias. Esto nos permite la redacción de nuevas noticias (titulo, contenido y tema). Se toma como fecha de la noticia la del momento de redacción de la misma.

  • Borrar Noticias. Eliminamos una noticia del weblog.

  • Modificar Noticias: Podremos cambiar la información de la noticia (titulo, contenido y tema). Al modificar una notica, tambien se modifica la fecha.

  • También incluye una gestión de gráficos para los temas. Podremos subir archivos al servidor web, para posteriormente utilizarlo en la creación de noticias. Por supuesto, esos gráficos podemos eliminarlos desde aqui. Se recomiendan que el tamaño de los gráficos sea de 40x40 pixeles, pero el tamaño queda a elección del webmaster. Es necesario que para poder manipular los archivos de los gráficos, el servidor web tenga los permisos adecuados sobre el directorio de instalación de phpkrond (y subidirectorios) de lo contrario no se podrán realizar estas operaciones.

  • Por último, tenemos acceso a la configuración del sistema de noticias: controlando el número de columnas del weblog (por defecto es 1), el número de noticias que aparecen en una columna (8), articulos que apareceran en el bloque de noticias anteriores (noticias que ya no aparecen en el weblog), número de caracteres que sirven para crear el resumen de la noticia y el nombre de la página que contiene el objeto QUE MUESTRA LAS NOTICIAS (o contiene el weblog).

Administrando los Contenidos

El módulo de Contenidos te proporciona una gestión de documentación en tu web más elaborada, la idea sobre la que se basa es simple: secciones sobre la que se van añadiendo artículos. Las secciones se pueden organizar igual que si de un sistema de directorios, pudiendo contener una sección a otras secciones. El sistema parte desde una seccion ya creada, la seccion RAIZ (o principal) que dará nombre a toda la documentación almacenada. Operaciones que se pueden realizar:
  • Manipular la configuración del módulo. Este módulo sólo contiene una variable de configuración y que sirve para indicar al sistema en que página se ha colocado el objeto que muestra los contenidos.

  • Crear y Modificar Secciones.

  • Borrar Secciones. Podremos borrar las secciones de dos formas, por defecto sólo se borraran las secciones que esten vacias. Pero tambien podremos borrar la seccion y su contenido (subseccion y articulos).

  • Crear, modificar y borrar articulos de una seccion. Añadir nuevos artículos a las secciones o modificar artículos existentes. Los artículos contienen un título y un contenido, aparte de un contador de lecturas.

  • En la parte de configuración del módulo se pregunta por la página que contiene el objeto que muestra los contenidos, de esa forma, el bloque de los contenidos (un objeto que crea un estructura navegable tipo menú de los contenidos) sabrá a que pagina tiene que enviar a los usuarios cuando estos pulsen sobre un enlace.

Administrando las Descargas

El módulo de Descargas dará al webmaster una forma de tener controladas las descargas de los ficheros de su web. Cuando se colocan ficheros para descargas en una web, el webmaster no sabe cuantas veces se ha descargado (siempre y cuando no pueda acceder al log del servidor web). Por otro lado, el webmaster tiene que subir el fichero al servidor web mediante FTP y luego poner el enlace para que los usuarios se descarguen el archivo, con los consuguientes errores que pueden aparecer (nombre equivocado, url inexacta). Este módulo te librará de esas incomodidades, puesto que desde el mismo podras subir los ficheros y gestionará el número de descargas de los mismos.

¿ Cómo se consigue eso ? La idea es sencilla. Los usuarios no saben cual es la url exacta de descarga del fichero, simplemente llaman a 'http://servidor/phpkrond/descargas.php?op=descargar_fichero&id_fichero=idFichero'. Eso invoca al programa que lee el fichero del servidor, y envia, mendiante HTTP, el fichero al usuario que lo ha solicitado (y luego incrementa el numero de descarga).

Las operaciones de administración son:
  • Crear categorías para clasificar los ficheros de descargas. Las categorías se pueden crear unas dentro de otras, igual que si de un sistema de directorios se tratase.

  • Borrar categorías. Por defecto sólo se puede borrar una categoría si está vacia (no contiene ficheros ni otras categorias dentro de ella).

  • Vaciar categorías. Elimina todo el contenido que tiene dentro (ficheros y subcategorías).

  • Modificar categoria. Cambiar el nombre.

  • Añadir un fichero para descargarlo. Esta operación se puede hacer de dos formas, una de ellas es utilizando el protócolo HTTP. La otra forma es subiendo el archivo de forma manual y luego indicarle al sistema que se ha subido un archivo y la ruta del mismo (Recomendada para archivos grandes).

  • Borrar un fichero de descarga. Eliminamos un fichero a descargar (opcional que se pueda eliminar el fichero del servidor).

  • Modificar propiedades del fichero de descarga. Podremos modificar nombre, categoria, descripción y número de descargas del mismo.

  • Es necesario que para poder manipular los archivos de las descargas, el servidor web tenga los permisos adecuados sobre el directorio de instalación de phpkrond (y subidirectorios) de lo contrario no se podrán realizar estas operaciones.

Administrando el Forum

La administración del Fórum se hace desde la misma idea que los anteriores módulos. Antes de explicar su administración repasemos como funciona el Forum.
La organización del Forum se hace creando Temas. Por ejemplo, nuestro Forum, que será un Forum dedicado internet, contendrá dos temas 'Servidores Web' y 'Servidores de Correo'. Dentro de cada tema, creaemos varios Foros (que son los sitios donde los usuarios enviaran sus mensajes y respuestas).
  • Servidores Web (TEMA)
    • Instalación y Configuración de Apache (FORO)
    • Instalación y Configuración de IIS (FORO)
  • Servidores de Correo (TEMA)
    • Sendmail (FORO)
    • Exchange (FORO)
En lo que a la administración de los Temas y los Foros, se pueden realizar las operaciones típicas: crear, borrar y modificar.

Pero aún nos queda los mensajes y las respuestas que los usuarios envian. El módulo del Forum utiliza el modulo de usuarios registrados para obtener el nombre del usuario que envia un mensaje al forum. Si el usuario es anonimo, tomará el nombre por defecto que se le den a los usuarios anonimos. Tambien se puede configurar si se desea que sólo los usuarios registrados envien mensajes al foro.

Por supuesto tambien tenemos la gestión de los mensajes y las respuestas. A diferencia con lo anterior, no podremos modificar un mensaje o respuesta. Simplemente podemos consultar la información asociado a dicho mensaje (IP del autor, fecha, etc). Pero si que podemos borrar mensajes y respuestas (actuando como un censor).

Administrando los Usuarios Registrados

Desde este sencillo módulo, tenemos la posibilidad de tener usuarios registrados, ninguna operación podremos hacer desde aqui, sólo de consulta sobre usuarios.

Administrando el Calendario

Con el calendario tenemos la posiblidad de informar a nuestros usuarios sobre citas a recordar. Desde la administración del módulo crearemos las citas que se clasifican en eventos (tipos de eventos). Un ejemplo:
  • Tipo de Evento 'Cumpleaños'
    1 de Dic de 2003 - Cumpleaños de Hola KeTal
  • Tipo de Evento 'Feria y Fiestas'
    24 de Diciembre de 2003- Navidad
    1 de Enero de 2004 - Año Nuevo
Cada evento, lleva asociado un gráfico. En el momento de creación de un evento (o tipo de evento) indicaremos el nombre del evento y el gráfico asociado (que antes hemos subido). Operaciones que se pueden hacer:
  • Crear Eventos.

  • Borrar y Vaciar Eventos (un evento no se puede borrar si tiene alguna cita).

  • Modificar evento. Podremos cambiar el nombre o el gráfico asociado al mismo.

  • Añadir nuevas citas al calendario.

  • Modificar citas del calencadio. Podemos cambiar el título y la descripción de la cita. También podremos cambiar la fecha de la misma.

  • Borrar citas del calendario.

  • Gestión de gráficos. Añadir y borrar gráficos utilizados para los tipos de eventos. Se recomiendan que el tamaño de los gráficos sea de 40x40 pixeles, pero el tamaño queda a elección del webmaster. Es necesario que para poder manipular los archivos de los gráficos, el servidor web tenga los permisos adecuados sobre el directorio de instalación de phpkrond (y subidirectorios) de lo contrario no se podrán realizar estas operaciones.

  • Respecto a cambiar la configuración del módulo del calendario, sólo podemos cambiar el nombre la página que contiene el calendario que muestra las descripciones de las citas para un mes concreto. El bloque del calendario se puede situar en varias páginas, pero el calendario grande, lo instalaremos en una página, de esta forma, cuando pulsemos sobre un enlace del bloque del calendario, nos llevara a la página donde está el calendario grande, con la descripción de la cita sobre la que hemos pulsado.

Administración de Otros Módulos

Hasta ahora hemos visto la administración de los módulos que trae phpKROND pero usted puede crear sus propios módulos que pueden necesitar de una gestión del mismo.

Supongamos un módulo de banners de publicitarios, que entre todos los banners disponibles, va mostrando de forma aleatoria uno de ellos. Desde el módulo de administración puede gestionar los diferentes banners que puede mostrar, la prioridad en la que se muestran algunos, etc. Pero es responsabilidad suya, al igual que crea un nuevo módulo, de crear su correspondiente administración.