Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/02/2012, 20:02
Avatar de raptor00
raptor00
 
Fecha de Ingreso: febrero-2012
Ubicación: México
Mensajes: 11
Antigüedad: 12 años, 9 meses
Puntos: 0
Pregunta Joomla, PHP, include(), sesiones

Hola a todos.

Bien primero comienzo por explicar que estoy tratando de insertar información en la tabla jos_content de joomla, con el siguiente script que se llama inserta.php

Código PHP:
// Le decimos que estamos en Joomla
define('_JEXEC'1);

// Definimos la constante de directorio actual y el separador de directorios (windows server: \ y linux server: /)
define('JPATH_BASE'dirname(__FILE__));
define('DS'DIRECTORY_SEPARATOR);

// Cargamos los ficheros de framework de Joomla 1.5, y las definiciones de constantes (IMPORTANTE AMBAS LÍNEAS)
require_once(JPATH_BASE DS 'includes' DS 'defines.php');
require_once(
JPATH_BASE DS 'includes' DS 'framework.php');

// Iniciamos nuestra aplicación (site: frontend)
$mainframe = &JFactory::getApplication('site');

$title $titulo_noticia;
$alias $titulo_noticia;
$introtext $cuerpo_noticia;
$fulltext $cuerpo_noticia;
$state 1;
$sectionid 6;
$catid 36;
$created date("Y-m-d h:i:s");
$created_by 62;

$object->title $title;
$object->alias $alias;
$object->introtext $introtext;
$object->fulltext $fulltext ;
$object->state $state;
$object->sectionid $sectionid;
$object->catid $catid;
$object->created $created;
$object->created_by $created_by;

$table '#__content';

$db = &JFactory::getDBO();

$db->insertObject($table$object'id');

echo 
$object->id;

echo 
" Se insertó noticia correctamente. <br>"
esto funciona de maravillas.

Ahora bien, en otro archivo tengo una función que me ejecuta según el valor de una variable varios include(), cada uno de estos include() me llama a un archivo de estos que me inserta los datos en la tabla de joomla.
Pero como esta función esta dentro de un ciclo puede suceder que se ejecuten uno o todos los inlcude(), cada include() me inserta datos en un sitio web diferente.
Código PHP:
switch($myvariable)
            {
               case 
1:
                  include(
"../sitioweb1/inserta.php");
                  break;
               case 
2:
                  include(
"../sitioweb2/inserta.php");                 
                   break;
               case 
3:
                  include(
"../sitioweb3/inserta.php");
                  break;
            } 
El problema esta dado que al pasar la primera vez por ejemplo: por el case1 el inserta bien los datos, pero cuando la variable toma el valor 2 al insertar me inserta en el primer sitio no en el segundo, asi sucede con el valor 3, se inserta 3 veces en el primer sitio, es como si se quedara alguna sesión abierta en cache del primero.
Esto sucede solo con las rutas relativas.

Si le pongo rutas absolutas funciona bien aquí lo muestro:
Código PHP:
switch($myvariable)
            {
               case 
1:
                  include(
"http://misitioweb1.com/inserta.php");
                  break;
               case 
2:
                   include(
"http://misitioweb2.com/inserta.php"); 
                   break;
               case 
3:
                  include(
"http://misitioweb3.com/inserta.php");
                  break;
            } 
Pero esto es un problema porque hay que activar en el servidor la opción que permita que el include() ejecute direcciones absolutas y esto no es aconsejable.

Mi pregunta es: ¿como puedo solucionar este problema?