Ver Mensaje Individual
  #7 (permalink)  
Antiguo 08/01/2013, 09:52
mankel
 
Fecha de Ingreso: marzo-2007
Ubicación: Celayork
Mensajes: 38
Antigüedad: 17 años, 2 meses
Puntos: 3
Respuesta: Validar sesiones con Gmail

Gracias por tu respuesta GatorV.

Intenté hacerlo así como lo ejemplificaste. Aunque me marcaba algunos errores (me imagino que por el .htaccess que maneja CI). De cualquier manera, encontré una forma interesante de combinar ambos FW, y es añadir Zend como librería de CI.

Lo primero que hice fue crear
Código:
zend.php
en
Código:
application/libraries/
Código PHP:
<?php if (!defined('BASEPATH')) {exit('No direct script access allowed');}


class 
CI_Zend
{
    
/**
     * Constructor
     *
     * @param    string $class class name
     */
    
function __construct($class NULL)
    {
        
// include path for Zend Framework
        // alter it accordingly if you have put the 'Zend' folder elsewhere
        
ini_set('include_path',
        
ini_get('include_path') . PATH_SEPARATOR APPPATH 'libraries');

        if (
$class)
        {
            require_once (string) 
$class EXT;
            
log_message('debug'"Zend Class $class Loaded");
        }
        else
        {
            
log_message('debug'"Zend Class Initialized");
        }
    }

    
/**
     * Zend Class Loader
     *
     * @param    string $class class name
     */
    
function load($class)
    {
        require_once (string) 
$class EXT;
        
log_message('debug'"Zend Class $class Loaded");
    }
}

?>
Posterior a esto, añadí en
Código:
autoload.php
(
Código:
application/config/
) la librería zend.

Código PHP:
$autoload['libraries'] = array('database''session''form_validation','zend'); 
Dentro de un modelo de CI, tengo una función dónde recibo como parámetros usuario y contraseña, cargo las librerías de Zend que necesito:
Código PHP:
        $this->zend->load('Zend/Gdata/ClientLogin');
        
$this->zend->load('Zend/Gdata/Gapps');
        try{
            
$client $this->zend->ClientLogin->getHttpClient($usuario$passkey$this->zend->Zend_Gdata_Gapps->AUTH_SERVICE_NAME);
            
$service = new Zend_Gdata_Gapps($client'dominio_que_uso.com.mx');
            return 
true;
        }catch(
Exception $e){
            if(
strpos($e,"BadAuthentication")!==false){
                return 
false;
            }
        } 
El error que me marca es en la línea donde hago referencia a la propiedad ClientLogin. Gracias de antemano.