Ayuda con este codigo

Started by LA-GUERRA, February 22, 2010, 09:20:52 PM

Previous topic - Next topic

LA-GUERRA

Este es el codigo original


require_once( 'xxx.php' );

$variable = new xxx( ' ' , ' ' , ' ' );

echo $variable->funcion();


Lo que quiero es poner
$variable->funcion();
en
'body' => $message['body'],

Es decir algo así:

'body' => $variable->funcion();,

pero cuando lo hago me marca error, me pueden decir como ponerlo correctamente.

Gracias por su ayuda, buen día.

vicram10

'body' => $variable->funcion(),

No se si fue error tuyo pero tenias un punto y coma innecesario ";"

prueba asi

LA-GUERRA

lo puse de esta manera y me sigue marcando error... que puede ser???

vicram10

que error marca (no soy nostradamus :) )

pon una captura.. aunque puede ser probando

Primero igualas la variable a lo que quieres

$test = $variable->funcion();

y luego usas esa variable en el otro

'body' => $test,

pero sin saber que error sale, ni que posee la funcion dentro es muy dificil encontrar respuesta valedera

LA-GUERRA

lo hice como me dijiste y me aparecen en blanco todos los mensajes puede ser que en la funcion este el error???

vicram10

y te aparecera todos los mensajes en blancos por que modificas el 'body'

por eso en tu otro post te habia dicho que cualquier cambio que hagas con esa varaible, afectaria por completo a toda tu web en la parte de Display de los posts, sin importar que seas admin o user normal, todo sera afectado

LA-GUERRA

puse algo asi


$test = $variable->funcion();
'body' => $test,


pero no me arroja el resultado que deviera ser me pone todo en blanco eso quiere decir que el valor de $test no tiene nada??? si es asi quiere decir que $variable->funcion() no esta funcionando correctamente??? o no la leee como deviera leerla?

El codigo origuinal ya lo probe y funciona bien, pero cuando lo quiero incorporar al display.php con todo lo que me han indicado no me da nada.

vicram10

depende de que es lo que tiene esa funcion.. no conozco por eso te digo que nose..
Pero para que quieres hacer eso?

Como te he dicho.. si haces cualquier post y tu modificas esa variable en el display.. TODO tu foro sufrira el efecto y sin importar que es lo que pongan en el Topic siempre le aparecera lo que tu le diste..

No se cual es el proposito que quieres hacer.. pero ahi estaras borrando todos los mensajes para visualizar y que muestre solo lo que tu quieres..

Supongamos que la funcion esa tiene el valor "HOLA"

Entonces HOLA estara en todos los posts, solamente esa palabra nada mas.. eso es lo que quieres??

LA-GUERRA

haci es algo asi quiero...

pongo el link donde estoy utilizando el codigo original

http://www.totalizee.com.mx/info/prueva%20de%20traduccionp.php

puedes notar que funciona correctament, para mostrar el resultado lo hago de esta manera y si da echo $variable->funcion(); pero a la hora de implementarlo en display.php no me da...  :( :(


vicram10

y puedes colocar que es lo que tiene esa funcion.. por que asi sabremos que respuesta darte...
y sigo sin entender por que quieres hacer eso.. entonces estaria al pedo tu foro, por que todos los topicos tendran lo mismo.. ejemplo HELLO WORLD..  :o

LA-GUERRA

Bueno aqui el codigo original.

index.php

<?php


require_once( 'Labs_gTranslate.class.php' );

$labsgTranslate = new Labs_gTranslate( 'es' , 'en' , 'Hola mundo' );

echo
$labsgTranslate->traducir();

?>


Labs_gTranslate.class.php

<?php

class Labs_gTranslate {

  private
$_googleurl          = NULL;

  private
$_idiomaorigen          = NULL;
  private
$_idiomadestino       = NULL;
  private
$_texto             = NULL;

  private
$_traduccionesvalidas    = NULL;
  private
$_datosget             = NULL;
 
/*
     Constructor de la clase.
  */
 
public function __construct( $p_idiomaorigen , $p_idiomadestino , $p_texto ) {

     
$this->_googleurl = 'http://ajax.googleapis.com/ajax/services/language/translate';
     
$this->_idiomaorigen = $p_idiomaorigen;
     
$this->_idiomadestino = $p_idiomadestino;
     
$this->_texto = $p_texto;

     
$this->_traduccionesvalidas = array( 'en|es' , 'en|fr' , 'en|it' , 'es|en' , 'es|fr' , 'es|it' , 'fr|en' , 'fr|es' , 'fr|it' , 'it|en' , 'it|es' , 'it|fr' );

     
$this->_datosget = array( 'langpair' =>NULL, 'q' =>NULL );

  }
 
/*
     Conecta con el Servidor de API's de Google y retorna el texto traducido.
  */

 
public function traducir() {

     
$idiomapar = $this->_idiomaorigen . '|' . $this->_idiomadestino;

     if( !
$this->validarIdioma( $idiomapar ) ) {

        return
false; // TRADUCCION_IDIOMA_PAR_DESCONOCIDO

     
}

     
$this->_datosget['langpair'] = $idiomapar;
     
$consulta = $this->construirConsulta();

     
$ch = curl_init();
     
curl_setopt( $ch , CURLOPT_URL , $this->_googleurl . $consulta );
     
curl_setopt( $ch , CURLOPT_RETURNTRANSFER , 1 );
     
$salida = curl_exec( $ch );

     
$salidaprocesada = $this->filtrarSalida( $salida );

     return
$salidaprocesada;

  }
 
/*
     Comprueba que la traduccion a realizar sea valida.
  */
 
private function validarIdioma( $p_idiomapar ) {

     if(
in_array( $p_idiomapar , $this->_traduccionesvalidas ) ) {

        return
true;

     }

     return
false;

  }
 
/*
     Construye el fragmento de URL valida con los datos para la traduccion.
  */
 
private function construirConsulta() {

     if( (
$this->_idiomaorigen || $this->_idiomadestino || $this->_texto ) == ( '' || NULL ) ) {

        return
false; // TRADUCCION_DATOS_DESCONOCIDOS

     
}

     
$this->_datosget['q'] = $this->_texto;

     return
'?v=1.0&' . http_build_query( $this->_datosget );

  }
 
/*
     Decodifica la cadena JSON y retorna el texto traducido.
  */
 
private function filtrarSalida( $p_salida ) {

     
$json = json_decode( $p_salida , true );

     return
$json['responseData']['translatedText'];

  }

                   
}

?>


Lo que deseo es que todos los post sean traducidos al idioma que dese es decir algo asi:


require_once( 'Labs_gTranslate.class.php' );

$labsgTranslate = new Labs_gTranslate( 'es' , 'en' , $message['body'] );

'body' => $variable->funcion(),



ya logre incorporar a Display.php el siguiente codigo


require_once($sourcedir . '/Labs_gTranslate.class.php');

$labsgTranslate = new Labs_gTranslate( 'es' , 'en' , $message['body'] );


solo me falta la ultima linea, es posible hacer esto????

LA-GUERRA

De plano nadie me puede ayudar a poner esto??? :(

Advertisement: