Logo
Indice de foros · Recomienda una Web · El 11 Ideal
Nuevo tema | Responder
Nick: Contraseña:
Autor
Mensaje
Total: 16 Páginas: 1
1
Blipi
Nuev@
Mensajes: 15
Estado: Desconectad@
Tema: El 11 Ideal
Si os habeis leido mi presentacion sabreis ke os hablo de mi (nuestro) mayor proyecto, un juego para navegador echo en PHP.
http://prototype.freewebhostx.com/el11ideal
Os dejo el link de la version alpha, simplemente se puede registrar, crear un club, y crear algunos aspectos basicos de jugadores. Pero bueno, se puede ver perfectamente todo el diseño grafico y funcionamiento.

NO intentéis cambiar de idioma, porque los archivos de idioma de las otras lenguas aun no estan hechos, y esto provocaría que solo vierais errores xD
En caso de que ya lo hayáis echo, entrad aquí y se pondrá bien
http://prototype.freewebhostx.com/el11ideal/lang.php?l=es
(veréis errores, pero cuando volváis al indice estará todo bien)

Informacion adicional
Se que hay problemas en los acentos, pero esto no es algo que me preocupe, ya que el problema recae en que he creado un sistema que permite parsear más de un lenguaje sin necesidad de crear varias veces la misma pagina, y en este utilizo utf8_encode() para mostrar todo bien. Debido a que aun no todo esta adaptado para este sistema, se muestran esos errores.
Tambien tiene skins/plantillas intercambiables, que funcionan en compenetracion con el sistema de lenguajes, aunque ahora mismo solo esta creado el skin que podeis ver.
Todo funciona mediante clases (class) echas en php, y alguna que otra cosa en javascript.
Me atreveria a decir que esta protegida contra cualquier ataque del tipo inyeccion sql, xss, etc.
Ah, si intentaráis registrar todos los jugadores y club y tal, una vez acabado esto os mostrará errores, es simplemente porque aun no esta lista la pagina principal xD
Falta pulir algunos detalles del sistema, pero en general es bastante seguro y rapido.

Cualquier detalle, error, mejora, opinion, por favor comentad!

Editado por última vez: 30 Ene 2010 16:29
30 Ene 2010 16:29
Blipi
Nuev@
Mensajes: 15
Estado: Desconectad@
Tema: RE: El 11 Ideal
Ams, pido perdon porque tenia un error el la DB (esque yo lo pruebo el localhost y luego lo subo, y la DB de internet estaba mal), lo digo sobretodo por los que ya lo han probado, como feeltubb, sry de veras...
Ahora ya funciona todo pero e tenido que resetear la DB
30 Ene 2010 16:44
sajhu
Nuev@
Mensajes: 578
Estado: Desconectad@

Avatar de sajhu

Tema: RE: El 11 Ideal
mm mira cuando meti a un jugador me sale esto : ¡Jugador {NAME}{SURNAME} fichado!

si puedes pasa el codigo de esa parte y te ayudo a que salga lo que debe salir
Imagen obtenida de http://www.imagengratis.org/images/electrosfi.png
Electros Is Back.
30 Ene 2010 22:34
sajhu
Nuev@
Mensajes: 578
Estado: Desconectad@

Avatar de sajhu

Tema: RE: El 11 Ideal
Escrito originalmente por: Blipi


Me atreveria a decir que esta protegida contra cualquier ataque del tipo inyeccion sql, xss, etc.


yo de ti ni lo mensionaba, no mas espera que llegue Omega y le da una buena tunda xd
Imagen obtenida de http://www.imagengratis.org/images/electrosfi.png
Electros Is Back.
30 Ene 2010 22:36
Blipi
Nuev@
Mensajes: 15
Estado: Desconectad@
Tema: RE: El 11 Ideal
No creo que pueda, toda variable es parseada mediante htmlspecialchars() y mysql_real_escape_string() (o algo así pk ablo d memoria), de todas formas si alguien kiere probar por mi adelante xd k así corrijo bugs xd

El tema de {NAME}{SURNAME} no es que sea un error.
El archivo de idioma contiene la frase que tu has citado, esta frase es reemplazada por el mensaje en una plantilla html. Esto lo hago mediante php, cualquier cosa entre llaves {} en la plantilla es reemplazada. Lo que ocurre es que aun no me dio tiempo de poner la substitución de eso xd

para que se entienda mejor yo tengo un archivo llamado "playercreate.tpl" que es un simple html sin ningún texto, solo palabras entre {}. Otro archivo "playercreate.php" coge esa plantilla y todo lo k esta entre {} lo substituye por las frases del idioma que tienes seleccionado. En este caso {MSG} se substituye por "El jugador ... {NAME}{SURNAME} ..." y luego estas 2 palabras entre {} serian vueltas a cambiar por el nombre desde el archivo php.

No se si se entiende muy bien pero esta es la idea xdd

Editado por última vez: 31 Ene 2010 00:13
31 Ene 2010 00:07
sajhu
Nuev@
Mensajes: 578
Estado: Desconectad@

Avatar de sajhu

Tema: RE: El 11 Ideal
si si se utilizarlo aunke para no gastar tanta enegia puedes suar variables estaticas, y tener un file con cada idiona es mas facil
Imagen obtenida de http://www.imagengratis.org/images/electrosfi.png
Electros Is Back.
31 Ene 2010 00:21
Blipi
Nuev@
Mensajes: 15
Estado: Desconectad@
Tema: RE: El 11 Ideal
Eso hago, simplificando:
playercreate.tpl = plantilla html
playercreate.php = procesador
es/playercreate.lng = archivo idioma
Template::parsetemplate($name, $values=array())
Lang::getlang($name) -> se guarda mediante array_merge en la variable global $lng=array()

$lang->getlang("playercreate");
echo $template->parsetemplate("playercreate", $lng);

Haciendolo así me estalvio crear muchos archivos para cada idioma, me estalvio muchas consultas sql, y gracias al uso de clases lo tengo todo bien estructurado
31 Ene 2010 00:33
sajhu
Nuev@
Mensajes: 578
Estado: Desconectad@

Avatar de sajhu

Tema: RE: El 11 Ideal
no encesitas clases xd
mira asi

<?php
define
("CONSTANT""Hello world.");
echo 
CONSTANT// outputs "Hello world."
echo Constant// outputs "Constant" and issues a notice.

define("GREETING""Hello you."true);
echo 
GREETING// outputs "Hello you."
echo Greeting// outputs "Hello you."

?>

Imagen obtenida de http://www.imagengratis.org/images/electrosfi.png
Electros Is Back.
31 Ene 2010 00:42
Blipi
Nuev@
Mensajes: 15
Estado: Desconectad@
Tema: RE: El 11 Ideal
Mmm ya se que es la función define, y te aseguro que si algo es una perdida de recursos es usar define para cada mensaje.
Es mucho mas practico declarar cada idioma en arrays y luego usar un preg_replace(), que que con una sola línea ya cambias todos los {} por su texto en la array.
Intentar parsear todos los textos de una template mediante declares (constantes) es un suicidio, tendrías que hacer una fuincion especial para cada define (constante), ya que no hay ninguna forma de obtener todas las constantes declaradas, a diferencia de las arrays que tienes el método anterior, y si me apuras un foreach() con posterior str_replace.

Clases, nadie te obliga a usarlas, pero un código echo mediante clases es mucho mas estructurado, claro, y infinitamente mas fácil de depurar. Además que las clases te permiten definir un rango mas alto de variables, ya que puedes definirlas como public o pruvate, haciendo mas llevadera la programación.
Mientras uses clases puedes agrupar las variables bien, yo por ejemplo tengo el usuario en la clase User, y esta misma deriva en la clase User::Team.
No es una cuestión de obligación, sino de simplificar.

Las constantes las uso exclusivamente para medidas de seguridad, son perfectas para esto, y para declarar el directorio raíz relativo (relative path, normalmente ./)

Editado por última vez: 31 Ene 2010 01:01
31 Ene 2010 00:58
sajhu
Nuev@
Mensajes: 578
Estado: Desconectad@

Avatar de sajhu

Tema: RE: El 11 Ideal
jaja si, y yo apoyo las clases :D, pero primero
para que quieres tener tantos idiomas?
Imagen obtenida de http://www.imagengratis.org/images/electrosfi.png
Electros Is Back.
31 Ene 2010 01:20
Blipi
Nuev@
Mensajes: 15
Estado: Desconectad@
Tema: RE: El 11 Ideal
Si algún día terminamos el juego, espero k si, aunk ahora mismo hemos perdido el rastro del diseñador gráfico xdd, el plan es que no se limite solo a españa, y almenos intentaríamos incluir el ingles. El tema de poner catalán tmbien es pk tanto yo como el diseñador gráfico somos catalanes y nos hacia ilu ponerlo xd
tanpoko serian tantos xdd de momento solo 3 xd

weno m voy a la cama k aki es muy tarde ya!

Editado por última vez: 31 Ene 2010 01:41
31 Ene 2010 01:30
sajhu
Nuev@
Mensajes: 578
Estado: Desconectad@

Avatar de sajhu

Tema: RE: El 11 Ideal
jaja si debe ser xd, gl :D
Imagen obtenida de http://www.imagengratis.org/images/electrosfi.png
Electros Is Back.
31 Ene 2010 01:55
elefren
Nuev@
Mensajes: 98
Estado: Desconectad@

Avatar de elefren

Tema: RE: El 11 Ideal
muy bueno, te habra dado algun dolor de cabeza programar parte de lo que llevas ehh !!
1 Feb 2010 01:11
Blipi
Nuev@
Mensajes: 15
Estado: Desconectad@
Tema: RE: El 11 Ideal
Jajaj weno llevo mucho tiempo invertido en ello, y la verdad, cosas como cambiar la alineación, ke justo lo e acabado hoy me a llevado mas de un quebradero de cabeza xdd
1 Feb 2010 03:14
sajhu
Nuev@
Mensajes: 578
Estado: Desconectad@

Avatar de sajhu

Tema: RE: El 11 Ideal
umm estoy intentando ahcer algo por el estilo con mi nueva pagina.. apenas estoy empezando

<?
function lang($lang){
    
$langs = array("es","en");
    if(!
in_array($lang,$langs)){
        
$msg "Error: el lenguaje seleccionado no está disponible";
    }else{
        
$arr = array(
        
// "{}" => "",
        
"{}" => "",
        ); 
//END LANG ARRAY
    
}
}
?>


el problema que se me presento es como cambiar mediante php las frases que estan dentro del html :S
Imagen obtenida de http://www.imagengratis.org/images/electrosfi.png
Electros Is Back.
9 Feb 2010 16:31
Blipi
Nuev@
Mensajes: 15
Estado: Desconectad@
Tema: RE: El 11 Ideal
Ahora no estoy en mi pc y no estoy seguro del code, d todas formas yo lo hago mas o menos así:
archivo_lenguaje.lng:
$lng = array_merge($lng, array("PLANTILLA"=>"texto");

lang.php:
function parse_lang($lang_name){
global $lng;
include("lang/" . $lang_name . ".lng");
}

template.php:
function parse_template($name, $array){
$template = file_get_contents("templates/".$name.".tpl");
return preg_replace('#\{([a-z0-9\-_]*?)\}#Ssie', '( ( isset($array[\'\1\']) ) ? $array[\'\1\'] : \'\' );',$template);
}
14 Feb 2010 23:04
Total: 16 Páginas: 1
1
Autor
Mensaje
Indice de foros · Recomienda una Web · El 11 Ideal
Nuevo tema | Responder
Nick: Contraseña:
eForo v3.2.1 © 2003 - 2007 | Tiempo: 0.0868 seg | Consultas: 22