Crear Usuario con API de CB desde script externo a Carpeta Joomla

10 years 4 months ago - 10 years 4 months ago #237612 by nikomed
Hola:

Pues llevo dos días peleándome con la manera de poder usar la API de CB desde un archivo php, fuera de la carpeta de joomla.

He seguido este manual: www.joomlapolis.com/support/tutorials/120-api-usage/18362-registering-a-user-through-cb-api

Pero nada, no hay forma. Explico lo que me pasa:
No tengo ningún error de librerías, de interprete, de include ni nada por el estilo.
Voy a copiar las ultimas líneas de mi código, que aun que es prácticamente igual al código del ejemplo, hice un pequeño cambio para encontrar el problema:
if ( $user->store() ) {
		 if ( ( $user->confirmed == 0 ) && ( $confirmation != 0 ) ) {
		 $user->_setActivationCode();
		 
		 if ( ! $user->store() ) {
		 return false;
		 }
		 }
		 
		 $_PLUGINS->trigger( 'onAfterUserRegistration', array( &$user, &$user, true ) );
		 
		 return true;
}
  else{
     echo $user->getError();
}

Es aquí donde tengo el problema, no entra en el if, y se va al else, dándome el error de: "Por favor, introduzca un nombre.

Lo he revisado ya mil veces, y en todos los campos, escribo algo, incluso lo he comprobado, pero nada, siempre termina en el else. Es como si al hacer alguna llamada dentro del ->store se perdiera los datos. Lo normal seria algún error si faltara algún import o algo, pero nada. :-S

Lo raro es que he podido usar alguna parte de la API de CB, por ejemplo:

$_CB_database->setQuery( "SELECT username FROM #__users WHERE username = '$checkusername'");
$usern = $_CB_database->loadResult();
if ($usern) {
return "El usuario ya está dado de alta." ;
}

Si no tengo bien cargada la api, no debería de funcionar nada, pero esas líneas, que las tengo antes del registro funcionan perfectamente.

Gracias!

Please Log in to join the conversation.

10 years 4 months ago #237615 by Hertak
Hola, esto es un poco avanzado para mi jeje te recomiendo postear en el foro de soporte profesional o en el de cbsubs en inglés, ellos te daran una idea clara del problema. Lamento no poder ayudarte si necesitas ayuda con el idioma avisame y yo creo el post o crealo tu y avisame que hago el seguimiento.

Please Log in to join the conversation.

10 years 4 months ago #237616 by nikomed
je, vaya, bueno no pasa nada.
Pero si pudieras traducirlo tu al ingles, te lo agradecería.
Yo siempre tiro de google y tal, y como requiere una explicación larga, no se va a quedar muy bien.
Si no es mucha molestia, claro.

Gracias

Please Log in to join the conversation.

10 years 4 months ago #237617 by Hertak
Estoy escribiendo el post. Ahora creo que pediran los datos relevantes como versión php, url de prueba. Preguntarán si tienes activado el reporte de errores en joomal y demás puedes prepararte algo así con todos los detalles que puedas para analizar bien el errorsería bueno que ellos pudieran reproducir el error.
Prepara todo que cuando haga el post te paso el link para hacerle el seguimiento y ahí colocas esos datos.

Please Log in to join the conversation.

10 years 4 months ago - 10 years 4 months ago #237618 by nikomed
Ufff, va a estar complicado pasarles una URL.

El script del que hablo forma parte de una API Móvil, y tiene contraseña para acceder, por lo que no voy a poder dárselo así. :-S No se que solución darle a eso.

La versión de php es: 5.3.3-7+squeeze9
Otro detalle importantes es que: el mensaje de error que he puesto traducido al español, pertenece a la constante: JLIB_DATABASE_ERROR_PLEASE_ENTER_YOUR_NAME

También tengo el log con los errores, si.

Please Log in to join the conversation.

10 years 4 months ago #237620 by Hertak
Creo que lo del mobil era importante pero ya veremos el post está www.joomlapolis.com/forum/153-professional-member-support/223637-create-a-user-through-cb-api-from-external-script-on-joomla-folder#237619 lo he reducido un poco pero creo que es el concepto básico miralo y dime cualquier cosa lo arrego.

Please Log in to join the conversation.

Moderators: beatnantmarionetarhkrileonHertak
Time to create page: 0.193 seconds

Facebook Twitter LinkedIn