elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Tutorial básico de Quickjs


  Mostrar Mensajes
Páginas: 1 ... 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 [61] 62 63 64 65 66 67 68 69 70 71 72
601  Programación / PHP / Re: Como detecto cuando el usuario abandone la pagina ?? en: 16 Julio 2008, 22:41 pm
Citar
vaya, si el tiempo (10+5) se queda por abajo del tiempo actual entonces se supone que esta aparte debemos detectar si esta aun o no existente su session
Tu quieres hacer un método que averigue si aun está en la página. Ya te comentamos que eso no se puede por las desventajas que ya describimos. Esto no detecta nada, sólo supone que ya no está, que pasaron 5 minutos y ya se fue.

Por ejemplo en el foro siempre estoy loggueado. La cookie de mi sesión caducará como en mil años. Sin embargo si no accedo a la página después de un rato aparezco como desconectado.



Ok si ya veo, solo que me estuve empenando en hacerlo de otra forma... pero ya veo que es mejor hacerlo directamente con un temporizados FIJO...

Por otra parte... si el usuario cierra la ventana ya no podre comprobar su hora actual con la hora limite maximo, entonces tendria que comprobar todos los usuarios que esten en la tabla LOG y tengan el campo fehc_logout vacio...
602  Programación / PHP / Re: Como detecto cuando el usuario abandone la pagina ?? en: 16 Julio 2008, 22:27 pm
A ver... no te entendí bien. Pero yo una vez hice algo parecido y es mas o menos así.

Cada que el usuario visite una página se actualiza el campo fecha_login con la fecha y hora actual.

Ahora si quieres saber si el usuario está online haces algo así
Código:
if fecha_login + 5mins > hora_actual:
    está online
else
    está offline

Espero que te sea de ayuda. No te entiendo bien y tampoco nunca he manejado las sesiones php, pero hacer un daemon real se me hace un poquillo complicado.

Ok si.. has echo la parte mas facil y ovia, pero el problema (segun yo) es como determinar si esta o no esta para despues determina si se tiene que actualizar para agregarle 5 minutos mas... ??..

Vaya tu codigo lo unico que haria es:

1- El usuario tiene un login a las 10:00
2- Entra la condicion y hace esto  if( ((10)+5) > 11:00)  //asumiendo que son las 11:00, como 10+5 es mayor que 11, entonces se asume que esta dentro, por lo cual esta condicion no veo el caso que se haga de esta forma, ya que si esta aun dentro del tiempo limite pues no veo la necesidad de cerrar la sesion ni nada !!...
3- Despues tu dices solamente else esta ofline, pues si, pero eso simplemente no dice nada ni ayuda mucho, vaya, si el tiempo (10+5) se queda por abajo del tiempo actual entonces se supone que esta aparte debemos detectar si esta aun o no existente su session... como se haria eso ???...

En fin, tu ejemplo no es claro y mucho menos tu explicacion :S !!!

Por otro lado mi explicacion dad esta mas clara que el agua, seria imposible que no entendieras la explicacion que di en el POST anterior :S !!

603  Programación / PHP / Re: Como detecto cuando el usuario abandone la pagina ?? en: 16 Julio 2008, 19:56 pm
Bueno... Ya entrando en materia y tratando de enfocar el sistema de LOG para detectar inicio y cierre de sesiones mediante el metodo que plasmo SirLanceCC el cual seria: "Una vez obtenido el LOG de una sesion, establecer un parametro temporizador a 5 minutos (es un ejemplo), y se estuviera checando constantemente dicho tiempo, en el caso que el usuario no muestre actividad pues la sesion se da por cerrada, de lo contrario cada que se muestre movimiento se establecen los 5 minutos apartir de la deteccion de su movimiento en el web"

Pero me gustaria saber si pueden colaborar conmigo en esta parte, asi que les explicare lo basico en mi sistema:

Cuando el usuario accede al sitio se le asigna una SESSION y despues se llama a una funcion, esta es deamon_logd(), la cual consiste en retomar la SESSION actual y comprobar su existencia en la tabla LOG si esta no existe entonces se procede a insertar los datos del usuario en la tabla (ip, sesion, navegador, sistema operativo, nick y fecha_login). Como es de suponerse, si el usuario aun no se logea al sitio web (con su username y password) el nick que le corresponde en la insercion que se realizo en la tabla LOG es el de Visitante, por otro lado, si el usuario deside logearse entonces solo se realiza una actualizacion a la tabla LOG modificando el nick por el nick que le corresponde en su registro del sitio web.

Mi problema surgio al momento de decirme, Y como detecto o determino si el usuario se salio de la pagina para actualiza la tabla LOG y escribir los datos en fecha_logout correspondiente a la session del usuario que se salio.

En fin, ustedes me propusieron establecer un temporizados, pero de momento no se me ocurre como manejar este temporizador dentro la funcion deamon_logd(), asi que les coloco el codigo de la funcion ya mencionada para ver que podemos hacer, de todo modos estare pensando haber se le puede hacer para ahorrar recursos, sea mas rapido el procedimiento y no genere errores o confusiones:

Código:
function deamon_logd()
{
$ip= $_SERVER['REMOTE_ADDR'];
$nav= get_browser();

//Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14

$log_cons= consultar_con( "LOG", "SESION='". session_id(). "'" );

if( mysql_num_rows($log_cons)==0 ) //no existe la SESION, esta entrando nuevo usuario
{
//recolectamos informacion
while (list($key, $val)=each($nav))
{
if( !strcmp($key, "parent" ) )
$navegador= $val;
else if( !strcmp($key, "platform" ) )
$so= $val;
}

$trama= array(
"nick"=>"'Visitante'",
"ip"=>"'". $ip. "'",
"so"=>"'". $so. "'",
"navegador"=>"'". $navegador. "'",
"sesion"=>"'". session_id(). "'",
"fecha_login"=>"'". time(). "'"
);

insertar_bdd( "LOG", $trama );
}
else //la SESION ya existe
{
if( usuario_legitimo() ) //si el usuario esta logeado al sistema web
{
$trama= array(
"sesion"=>"'". session_id(). "'",
"nick"=>"'". $_SESSION["log_usr"]. "'"
);

actualizar_bdd( "LOG", $trama ); //se actualiza el nick
}
}

unset($log_cons);
}
604  Programación / PHP / Re: Como detecto cuando el usuario abandone la pagina ?? en: 16 Julio 2008, 19:45 pm
Creo que si utilizo un evento que tome la senal al cerrarse la pagina (onclose), entonces el problema seria como lo menciona Hans el Topo, y esto generaria una insercion masiva de datos extras en el LOG y ocacionaria el crecimiento de la TABLA LOG considerablemente :S.... Y sin menciona tambien lo que opino SirLanceCC que al cerrase el navegador por algun error, muerte del proceso o fallo de la luz, entonces la session nunca seria detectada como cerrada y permaneceria abierta :S !... Tendriamos en el LOG sesiones abiertas en muchos casos :'(....

Creo que lo normal sería establecer un tiempo de espera. Por ejemplo 5 minutos. Si no se detecto actividad de ese usuario en cinco minutos darlo por offline. Si realizó alguna ación darle otros 5 minutos.

En cambio eso si suena un poco mas razonable, fiable y manejable, ya que segun bels_mike es un metodo utilziado en otras aplicaciones.

605  Seguridad Informática / Seguridad / Tesis - Seguridad Informatica, by Diabliyo [23-02-10] en: 16 Julio 2008, 16:56 pm
Hola:

Aqui les comparto mi documento de tesis, espero y les sirva de algo :D, el titulo de la tesis lo dice todo :D !!...

PDF: DESCARGAR
606  Programación / PHP / [SOLUCIONADO] Como detecto cuando el usuario abandone la pagina ?? en: 12 Julio 2008, 02:09 am
Hola:

En mi sistema web tengo un Sistema de Log en donde el procedimiento es el siguiente:

1- Cuando el usuario accede a la pagina, guardo en la base de datos cierta informacion de el, por ejemplo:

Código:
<?php
$trama= array(
"nick"=>"'visitante'',
"ip"=>"'a.b.c.d'",
"navegador"=>"'AbcDe'",
"tiempo_login"=>"'". time(). "'" );

insertar_bdd( "LOG", $trama );
?>

2- Cuando el mismo usuario se conecta a la pagina (usando su username y password, vaya logearse), entonces actualizo el LOG:

Código:
<?php
$trama= array(
"ip"=>"'a.b.c.d'",
"nick"=>"'". $_SESSION["log_usr"]. "'"  );

actualizar_bdd( "LOG", $trama );
?>


Pero bueno, tengo un segundo campo en la base de datos LOG que es tiempo_logout, ya que tiempo_login toma el tiempo desde que accedio al sitio web, pero como pudo hacerle para registrar el tiempo_logout asumiendo que el usuario simplemente cierra el navegador o abandona la pagina sin cerrar su sesion !!???...

En realidad ya tengo mas de 7 horas programando y me he quedado trabado en esta parte jejeje, creo que ya me sature, hasta me duele el cuello, en fin... alguna idea !??

bye bye
607  Programación / PHP / Re: Proyecto de Software en PHP un poco lento a veces !!! en: 8 Julio 2008, 00:29 am
si únicamente tarda al realizar las secciones el problema debe andar ... en las secciones :D

Bueno, la cosa no es asi de simple... aunque me gustaria saber si existe alguien interesado en ser parte del proyecto, por lo cual espero que sea muy positivo y con deseos de involucrarse en eso del soft. libre, para que pueda descargase el software onefloor (ya puesto mas arriba), instalarlo en su Servidor Local y hacer sus pruebas para observar el problema !!...

Explicare un poco para ver en que podemos solucionar el problema...


Esta es la index, de esta forma cargo el tema, no nos vamos a centrar tanto como se carga:

Código:
<?php
include( "modulos/modulos.php" );

switch( $_GET["log"] )
{
case 'entrar':
$user_site= htmlentities($_POST["log_usr"], ENT_QUOTES);
$pass_site= htmlentities($_POST["log_pass"], ENT_QUOTES);

if( login( $user_site, $pass_site ) )
{
$_SESSION["log_usr"]= $_POST["log_usr"];
$_SESSION["log_pwd"]= $_POST["log_pass"];
}
header( "Location: index.php" );
break;
case 'salir':
session_destroy();
header( "Location: index.php" );
break;
}
?>
<html>
<head>
<title><?php echo TITULO_WEB;?></title>
<meta name="verify-v1" content="9RkdHyFpE6q/IBB8Z/nVs54fhHuLn67+9UhaP3sDN8U=" />
<meta http-equiv="Content-Language" content="ES">
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="<?php echo META_DESCRIPCION; ?>">
<meta name="keywords" content="<?php echo META_CLAVES; ?>">
<meta name="classification" content="<?php echo META_CLASIFICACION; ?>">
<link href="<?php echo TEMA_URL; ?>/css/estilo.css" type="text/css" rel="stylesheet">
<script language="javascript" type="text/javascript" src="script.js"></script>
</head>

<body>
<?php
if( !strcmp(BASE_USR, "") && !strcmp(BASE_PASS, "") && !strcmp( BASE, "") )
include( "install.php" );

else
{
include( TEMA_URL. "/cuerpo/logos.php" );
include( TEMA_URL. "/cuerpo/menus.php" );
include( TEMA_URL. "/cuerpo/noticias.php" );
include( TEMA_URL. "/cuerpo/extras.php" );
include( TEMA_URL. "/cuerpo/firma.php" );
}
?>
</body>
</html>

Aqui el code menus.php:

Código:
<?php
//    <!-- main -->

echo '<div id="main">

          <div id="sidebar">';

$cons_m= consultar_enorden( "MENUS", "ID" ); //consultamos MENUX ordenados por ID

if( $cons_m=="ERROR" )
echo "Error o_O";
else
{
if( mysql_num_rows( $cons_m )==0 )
echo "<p>En construccion</p>";
else
{
while( $menus= mysql_fetch_array($cons_m) )
{
echo "<p>". $menus["NOMBRE"]; //imprimimos MENU

$tipo_usr= consultar_datos_usuario( $_SESSION["log_usr"], "tipo_usuario" ); //obtenemos grupo al que pertenece el usuario
$grp_cons= consultar( "PRIVILEGIOS", "*" ); //tomamos todos los privilegios
$not_see=""; //variable

if( strcmp($tipo_usr, "Administrador") ) //si no eres admin, se accede
{
while( $grp_buf= mysql_fetch_array($grp_cons) ) //listamos todos los grupos
{
if( strcmp($grp_buf["NOMBRE"], $tipo_usr) && strcmp( $grp_buf["SECCIONES"], "vacio" ) ) //si el grupo es distinto al grupo que ese USER tiene asignado
{
if( strcmp($not_see, "" ) )
$not_see .= ":";
$not_see .= $grp_buf["SECCIONES"]; //concatenamos
}
}
}

$cons_s= consultar_enorden_con( "SECCIONES", "RELACION='". $menus["NOMBRE"]. "'", "ID" ); //consultamos

unset($grp_cons);
unset($grp_buf);

while( $secciones=mysql_fetch_array($cons_s) )
{
if( grupos_comprueba_miembro($not_see, $secciones["ID"]) ) //si este ID es dinstinto a los que no se permite ver
{
echo "<br>";
echo "<a href=\"index.php?ver=". $secciones["ID"]. "\">";
echo $secciones["NOMBRE"];
echo "</a>";
}
}
echo "</p>";

unset($cons_s);
unset($secciones);
}

unset($menus);
}
}
unset($cons_m);

echo "<p>";

include( "login.php" );     //cargamos parte de LOGIN
         

echo "</div>";

?>

Aqui codigo de noticias.php:

Código:
<?php          
echo "<div id=\"text\" >";

$cons= consultar( "NOTICIAS", "*" ); //consultamos

if( $cons=="ERROR" ) //si da error, entonecs se formo mal la consulta
echo "Error o_O";
else
{
if( mysql_num_rows( $cons )==0 ) //si NO existen noticias, esta en construccion el sitio
echo "<p>En Construccion</p>";
else
{
unset($cons); //borramos variable

if( isset($_GET["ver"]) ) //entonces vemos contenido de la sección
{
switch( $_GET["ver"] )
{
case 'registrarme':
include( "registro.php" );
break;
default:
$cons= consultar_con( "SECCIONES", "ID='". $_GET["ver"]. "'" ); //consultamos sección ID a ver

if( mysql_num_rows($cons)==0 ) //la sección noe xiste
echo "<p>sección Inexistente</p>";
else
/*
ARGUMENTO 2
0= Modo TH TR
1= Modo H1 P
2= Modo DIV
3: Modo SPAN
*/
ver_noticia( $_GET["ver"], 2, 0 ); //panel de desiciones para mostrar noticia
unset($cons);
break;
}
}
else if( isset($_GET["hoja"]) ) //entonces vemos noticia en formato completo
{
$cons= consultar_con( "NOTICIAS", "ID='". $_GET["hoja"]. "'" ); //consultamos sección ID a ver

if( mysql_num_rows($cons)==0 ) //la sección noe xiste
echo "<p>Noticia Inexistente</p>";
else
{
include ("comentarios.php");
ver_noticia( 0, 2, $_GET["hoja"] ); //panel de desiciones para mostrar noticia
}
unset($cons);
}
else //vemos pagina por defecto
{
$index_cons= consultar( "SERVER_CONFIG", "*" ); //consultamos la configuracion
$index_buf= mysql_fetch_array($index_cons);

if( strcmp( $index_buf["INDEX_DEFAULT"], "" ) ) //si la variable NO esta vacia
{
$w= explode( "=", $index_buf["INDEX_DEFAULT"] );
ver_noticia( $w[1], 2, 0 );
unset($w);
}
else
echo "<p>Hoja por DEFAULT sin configurar...</p>";

unset($index_cons);
unset($index_buf);
}
}
}


echo '</div>

    </div>';

//    <!-- end main -->
?>

Apartir de noticias.php, la funcion ver_noticias() esta dentro de desktop_functions.php, la cual accede a un switch... ver codigo:

Código:
<?php
//Funcion principal para decidir el tipo de noticia a mostrar segu su ID
function ver_noticia( $id, $modo, $print_full )
{
if( $print_full==0 )
{
$a= consultar_con( "SECCIONES", "ID='". $id. "'"); //consultamos secciones
$a_tmp= mysql_fetch_array($a);

$b= consultar_enorden_con( "NOTICIAS", "sección='". $a_tmp["NOMBRE"]. "':MENU='". $a_tmp["RELACION"]. "'", "ID DESC" ); //consultamos noticias ordenadas por ID
}
else
{
$b= consultar_con( "NOTICIAS", "ID='". $print_full. "'" ); //consultamos noticia
$b_tmp= mysql_fetch_array($b);

$a= consultar_con( "SECCIONES", "NOMBRE='". $b_tmp["sección"]. "':RELACION='". $b_tmp["MENU"]. "'"); //consultamos secciones
$a_tmp= mysql_fetch_array($a);
}

if( mysql_num_rows($b)==0 )
echo "<p>sección/Noticia Vacia</p>";
else
{
switch( $a_tmp["TIPO"] )
{
case 'noticia':
switch($modo)
{
case 0:
ver_noticiapost_thtd($b, $print_full); //enviamos consulta
break;
case 1:
ver_noticiapost_h1p($b);
break;
case 2:
ver_noticiapost_div($b, $print_full ); //enviamos consulta
break;
case 3:
ver_noticiapost_span($b);
break;
}
break;
case 'noticia_limpia':
switch($modo)
{
case 0:
ver_noticialimpia_thtd($b, $print_full); //enviamos consulta
break;
case 1:
ver_noticialimpia_h1p($b);
break;
case 2:
ver_noticialimpia_div($b, $print_full ); //enviamos consulta
break;
case 3:
ver_noticialimpia_span($b);
break;
}
break;
case 'galeria':
switch($modo)
{
case 0:
ver_noticiagaleria_thtd($b, $print_full); //enviamos consulta
break;
case 1:
ver_noticiagaleria_h1p($b);
break;
case 2:
ver_noticiagaleria_div($b, $print_full ); //enviamos consulta
break;
case 3:
ver_noticiagaleria_span($b);
break;
}
break;
case 'descriptiva':
switch($modo)
{
case 0:
ver_noticiadescriptiva_thtd($b, $print_full); //enviamos consulta
break;
case 1:
ver_noticiadescriptiva_h1p($b);
break;
case 2:
ver_noticiadescriptiva_div($b, $print_full ); //enviamos consulta
break;
case 3:
ver_noticiadescriptiva_span($b);
break;
}
break;
}
}
unset($a);
unset($a_tmp);
unset($b);
}
?>
608  Programación / PHP / Re: Proyecto de Software en PHP un poco lento a veces !!! en: 7 Julio 2008, 18:03 pm
Algun interesado en cooperar, ser parte del proyecto, colaborar o sino quiere involucrarse tanto, pues expresar ideas sobre cuales son las razones de que una aplicacion se alente, o nose... si quieren codigo pidanlo y les muestro todo el que sea necesario, de echo por eso brinde el LINK a la aplicacion para que se la descargen y puedan ver el code al gusto y calar con su propio Servidor HTTP...
609  Programación / PHP / Proyecto de Software Libre en PHP !!.. Se aceptan PARTICIPANTES/COLABORADORES en: 3 Julio 2008, 16:50 pm
Hola:

Tengo mas de 8 meses codificando y puliendo mi aplicacion de software base a la cual llamo OneFloor (verla funcionando en http://em-clanmoh.sie-group.net/ y www.sie-group.net/), mi aplicacion en PHP no es un gestor de paginas web personales ni nada de eso, sino que algo mas de la RAIZ, vaya, OneFloor es un sistema para creacion de sitios web al gusto, ya que OneFloor basicamente es el sistema base para iniciar un proyecto de software brindandote un servicio de modulacion muy completo y seguro, en donde cada desarrollador puede disenar una aplicacion de software por separado codificando cada modulo y parte del sistema en un Modulo independiente (archivo.php), posteriormente subir este archivo al sistema OneFloor y este sera leido e interpretado por la aplicacion y formara parte del Panel del Sistema de Administracion, aparte cuenta con un conjunto de funciones muy utiles para facilmente realizar tareas como:

- Cortar noticias.
- Calendarios.
- Insertar, Modificar, Actualizar, Eliminar, Buscar Registros, Buscar Coinsidencias, Listas con limites, etc... de la Base de Datos.
- Cargar Temas y AutoProgramacion de los mismos (muy facil acoplar un tema al sistema).
- Manipulacion y moificacion de Menus y Secciones.
- Existen 4 formas de como visualizar el contenido de una sección:
--- Forma 'Posting' :: Los mensajes se cuelgan como los POST's de un foro.
--- Forma 'Hoja' :: Se cuega un solo mensaje en la sección y su modo visual es como una hoja simple de HTML.
--- Forma 'Galeria' :: Se visualizan los mensajes como Galerias, en recuadros con una foto establecida al frente.
--- Forma 'Descriptiva' :: Tipica forma de cuando estas en una sección de descargas.
- Puedes permitir o no permitir comentarios en secciones.
- Puedes Bloquear o Desbloquear secciones.
- Creacion de Grupos.
- Puedes asociar secciones a los grupos y que solo los integrantes del grupo vean dichas secciones.
- Sistema de Usuarios (mensajeria, perfil, avatars, firmas, etc...).
- Sistema de Descarga (contadores, estadisticas).
- Sistema de Publicidad (agregar, eliminar, modificar publicidad, pueden ser imagenes o anuncios con texto).
- Se permite BBCode :D.
- y mas cosas...

Palabras sobran, pero no ahi mejor como poder utilizarlo y ver el codigo, aparte el codigo pesa solamente unos 1.4 MB ;), todas las variables se protegen al ser insertadas en la BDD y de momento por mas intentos que hago no he encontrado vulnerabilidade de: HTML Injection, SQL Injection, XSS, LFI, RFI ni ninguna otra...

Licencia de OneFloor

OneFloor v1.0 :: Sistema para Gestión de Proyectos PHP y Sitios Web Personales, Desarrollado por SIE-Group.net
Licenciado bajo Creative Commons Reconocimiento-No comercial 2.5 México License, para la Comunidad de Software Libre.

Cual es la finalidad de este POST

Debido a que mi aplicacion puede ser copiada, distirbuida y modificada preservando siempre mi autoria, quisiera pedir la ayuda de la comunidad de internet para resolver un problema que me tiene hasta el chongo en mi software :S, el problema no es de seguridad, sino de rapidez, he notado que el sistema a veces al acceder varias veces a la misma sección se queda como pensando, nolo se, me gustaria que ustedes mismos lo comprobaran accediendo a http://em-clanmoh.sie-group.net y den click a todas las secciones de la derecha y notaran la lentitud en cierto momento.

Nose cual sera la causa directamente y consisamente de este problema, pero acepto cualquier comentario o aportacion y con gusto hasta podemos ir estudiando partes de codigo que ustedes me propongan a verificar para resolver este problema !!...

NOTA: La primer version estable aun no la ofresco por los detalles que les menciono mas arriba, pero la pueden descargar la version inestable de aqui:

Link: http://www.sie-group.net/files/onefloor-1.0-unstable.tar.gz

Gracias por su tiempo de antemano !!

bye bye
610  Programación / PHP / Como pegar carita en un TEXTAREA con javascript y PHP !! en: 30 Junio 2008, 23:29 pm
Hola:

Pues mi problema es que no logro pegar una carita en un textarea apartir de una imagen que le dan click, pero tomando en cuenta que la carita (imagen) esta en una nueva ventana (pop-up). Aparte, las caritas las genero mediante una funcion en PHP, ya que las caritas estan guardadas en la Base de Datos.

Inicialmente tenia un conjunto de 10 caritas muy simples, las cuales no tenia problema para insertarlas al TEXTAREA, ya que simplemente llamaba la funcion listar_caritas() (en php), me listaba las caritas dentro del mismo form sin usar pop-up y a cada carita le asignaba algo asi

Código:
echo "<a href=\"javascript:void(0);\" onclick=\"reemplazar_carita( ':ass_suck:', document.forms.formulario_comentarios.comentario_mensaje); return false;\">";
echo "<img src=\"direccion/carita.gif\">";
echo "</a>";

Y esto es lo que tengo en mi script.js

Código:
function reemplazar_carita(text, textarea)
{
// Attempt to create a text range (IE).
if (typeof(textarea.caretPos) != "undefined" && textarea.createTextRange)
{
var caretPos = textarea.caretPos;

caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text;
caretPos.select();
}
// Mozilla text range replace.
else if (typeof(textarea.selectionStart) != "undefined")
{
var begin = textarea.value.substr(0, textarea.selectionStart);
var end = textarea.value.substr(textarea.selectionEnd);
var scrollPos = textarea.scrollTop;

textarea.value = begin + text + end;

if (textarea.setSelectionRange)
{
textarea.focus();
textarea.setSelectionRange(begin.length + text.length, begin.length + text.length);
}
textarea.scrollTop = scrollPos;
}
// Just put it on the end.
else
{
textarea.value += text;
textarea.focus(textarea.value.length - 1);
}
}

Pero debido a que encontre un conjunto de caritas mas (15), quiero que estas caritas NO esten disponibles directamente en el mismo FORM, sino que cuando el usuaro de click en [>Ver Caritas Extras<], le salga un POPUP donde se listen las caritas extras y apartir de ahi al dar click se inserten en el TEXTAREA !!...

Actualmente de esta manera abro el pop-up y listo las caritas:

Código:
<?php
echo "<div id=\"espacio_caritas\">";
listar_caritas(); //funcion que lista las caritas normalmente y que se insertan con un solo clik
echo "[><a href=\"javascript:void(0);\" onclick=\"ver_caritas();\">Ver Caritas-Extra</a><]";
echo "</div>";
echo "<form name=\"formulario_comentarios\">";
echo "<textarea name=\"comentario_mensaje\"></textarea>";
echo "</form>";
?>

Código:
function ver_caritas()
          {
          var ventanita;
          ventanita= window.open( 'loader.php?mod=caritas_extra', '', 'width:100px,height:100px' );
          }

Código:
<?php
//LOADER.PHP

switch( $_GET["mod"] )
          {
          case 'caritas_extra':
                    listar_caritas_extra(); //esta funcion lista las caritas extra
                    break;
          case 'caritas_blabla':
                    break;
          default:
                    echo "Hola jejejej xD";
                    break;
          }




//esto es solo una aproximacion de como se quedan listadas las caritas en el HTML
function lista_cartas_extra()
{
echo "<a href=\"javascript:void(0);\" onclick=\"reemplazar_carita( ':ass_suck:', document.forms.formulario_comentarios.comentario_mensaje); return false;\"><img src=\"". CARITAS_URL. "/012.gif\" border=\"0\" alt=\":ass_suck:\" title=\":ass_suck:\"></a> ";
}
?>
Páginas: 1 ... 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 [61] 62 63 64 65 66 67 68 69 70 71 72
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines