Jump to content
  • Sky
  • Blueberry
  • Slate
  • Blackcurrant
  • Watermelon
  • Strawberry
  • Orange
  • Banana
  • Apple
  • Emerald
  • Chocolate
  • Charcoal

Rhuan

Equipo Popular
  • Content Count

    1559
  • Posts on chatbox

    7
  • Joined

  • Last visited

  • Days Won

    1

Rhuan last won the day on December 9 2018

Rhuan had the most liked content!

Community Reputation

647 Exaltado

About Rhuan

  • Rank
    ... - .- ..-. ..-. .-.-.
  • Birthday 04/20/2011

Recent Profile Visitors

17689 profile views
  1. En realidad es un error que no había notado porque antes de PHP 7 los argumentos de una función no eran obligatorios. Para solucionarlo abre el archivo /inc/class/c.chat.php y busca: public function sendMessage($message) { Y lo reemplazas por: public function sendMessage() {
  2. Rhuan

    Optimizar consulta de recomendación

    Pues quedaría así: db_exec(array(__FILE__, __LINE__), 'query', " INSERT INTO u_monitor (user_id, obj_user, obj_uno, obj_dos, obj_tres, not_type, not_date) SELECT f_user, '{$tsUser->uid}', '{$temaid}', 0, 0, 50, ".time()." FROM u_follows WHERE f_id = '{$comid}' AND f_type = 4 ");
  3. Rhuan

    Optimizar consulta de recomendación

    En este caso es un poco diferente ya que además del tipo de notificación cambia también el tipo de follow. En este caso es 4 y por defecto en el script no existe ese tipo de follow por lo que no sabría decirte exactamente como es. Copia y pega aquí el código de la función setFollowNotifaction que esta en c.monitor.php para que pueda ver cómo debería ser. Y tranquilo que no molestas xD
  4. Rhuan

    Optimizar consulta de recomendación

    Es exactamente lo mismo pero cambiando el tipo de notificación que en setSpam() era 6 y al publicar un post es 5. Básicamente tienes que sustituir esa función que comentas por: db_exec(array(__FILE__, __LINE__), 'query', " INSERT INTO u_monitor (user_id, obj_user, obj_uno, obj_dos, obj_tres, not_type, not_date) SELECT f_user, '{$tsUser->uid}', '{$postID}', 0, 0, 5, ".time()." FROM u_follows WHERE f_id = '{$tsUser->uid}' AND f_type = 1 ");
  5. Rhuan

    Optimizar consulta de recomendación

    Lo has hecho mal. Te he dicho que sustituyas la función setFollowNotification por la consulta y has sustituido la consulta de arriba que no tiene nada que ver xD Debería quedar así: public function setSpam(){ global $tsCore, $tsUser, $tsActividad; // $postid = $_POST['postid']; // TIENE SEGUIDORES? $query = db_exec(array(__FILE__, __LINE__), 'query', 'SELECT follow_id FROM u_follows WHERE f_id = \''.$tsUser->uid.'\' AND f_type = \'1\' LIMIT 1'); $seguidores = db_exec('num_rows', $query); // YA LO HA RECOMENDADO? $query = db_exec(array(__FILE__, __LINE__), 'query', 'SELECT follow_id FROM u_follows WHERE f_id = \''.(int)$postid.'\' AND f_user = \''.$tsUser->uid.'\' AND f_type = \'3\' LIMIT 1'); $recomendado = db_exec('num_rows', $query); if($seguidores < 1) return '0-Debes tener al menos un seguidor'; if($recomendado > 0) return '0-No puedes recomendar el mismo post m&aacute;s de una vez.'; // $query = db_exec(array(__FILE__, __LINE__), 'query', 'SELECT post_user FROM p_posts WHERE post_id = \''.(int)$postid.'\' LIMIT 1'); $data = db_exec('fetch_assoc', $query); // if($tsUser->uid != $data['post_user']){ // GUARDAMOS EN FOLLOWS PUES ES LA RECOMENDACION PARA SU SEGUIDORES! xD db_exec(array(__FILE__, __LINE__), 'query', 'INSERT INTO u_follows (f_id, f_user, f_type, f_date) VALUES (\''.(int)$postid.'\', \''.$tsUser->uid.'\', \'3\', \''.time().'\') '); // NOTIFICAR $query = db_exec(array(__FILE__, __LINE__), 'query', " INSERT INTO u_monitor (user_id, obj_user, obj_uno, obj_dos, obj_tres, not_type, not_date) SELECT f_user, '{$tsUser->uid}', '{$postid}', 0, 0, 6, ".time()." FROM u_follows WHERE f_id = '{$tsUser->uid}' AND f_type = 1 "); // COMPROBAR if($query) { $tsActividad->setActividad(4, $postid); return '1-La recomendaci&oacute;n fue enviada.'; } } else return '0-No puedes recomendar tus posts.'; }
  6. Rhuan

    Optimizar consulta de recomendación

    Pensándolo hoy mejor sin sueño, sí que puedes optimizar esa consulta muchísimo si evitas mover los datos entre mysql y php. En tu código las funciones que se encargan de seleccionar e insertar las notificaciones son setFollowNotification y setNotification respectivamente. Tendrás que sustituirlas por una consulta que seleccione e inserte las notificaciones directamente en la base de datos, sin tener que seleccionar los datos e iterarlos en php para hacer múltiples inserts. Es más fácil de lo que parece, sería algo así: db_exec(array(__FILE__, __LINE__), 'query', " INSERT INTO u_monitor (user_id, obj_user, obj_uno, obj_dos, obj_tres, not_type, not_date) SELECT f_user, '{$tsUser->id}', '{$postId}', 0, 0, 6, FROM u_follows WHERE f_id = '{$f_id}' AND f_type = '{$f_type}' "); Haciendo así los inserts tarda poco menos de 2 segundos en insertar medio millón de filas. Haciendo los inserts por separado petó el script después de 5 minutos y solo hizo 84 mil xD Por cierto, $f_id es $tsUser->uid y $f_type es 1, que se me ha olvidado sustituirlo en el código.
  7. Rhuan

    RChat de Rhuan no funciona. Error 403

    Puedes pasarme el código de tu .htaccess? Es raro que solo /chat tenga ese error.
  8. Rhuan

    RChat de Rhuan no funciona. Error 403

    Comprueba que existe el archivo /inc/php/chat.php, si no existe es que la instalación ha fallado parcial o completamente. Puedes realizar la instalación manualmente moviendo así los archivos: "/install/php_files/php/chat.php" => "/inc/php/chat.php" "/install/php_files/php/ajax/ajax.chat.php" => "/inc/php/ajax/ajax.chat.php" "/install/php_files/class/c.chat.php" => "/inc/class/c.chat.php" "/install/temp_files/audio/chat_new.mp3" => "/themes/TU_TEMA/audio/chat_new.mp3" "/install/temp_files/audio/chat_new.wav" => "/themes/TU_TEMA/audio/chat_new.wav" "/install/temp_files/css/chat.css" => "/themes/TU_TEMA/css/chat.css""/install/temp_files/js/chat.js" => "/themes/TU_TEMA/js/chat.js" "/install/temp_files/images/chat/cargando.gif" => "/themes/TU_TEMA/images/chat/cargando.gif" "/install/temp_files/images/chat/loading.gif" => "/themes/TU_TEMA/images/chat/loading.gif" "/install/temp_files/images/chat/sound-on.png" => "/themes/TU_TEMA/images/chat/sound-on.png" "/install/temp_files/images/chat/sound-off.png" => "/themes/TU_TEMA/images/chat/sound-off.png" "/install/temp_files/templates/t.chat.tpl" => "/themes/TU_TEMA/templates/t.chat.tpl" "/install/temp_files/templates/t.php_files/p.chat.load.tpl" => "/themes/TU_TEMA/templates/t.php_files/p.chat.load.tpl" "/install/temp_files/templates/t.php_files/p.chat.banlist.tpl" => "/themes/TU_TEMA/templates/t.php_files/p.chat.banlist.tpl" "/install/temp_files/templates/t.php_files/p.chat.online.tpl" => "/themes/TU_TEMA/templates/t.php_files/p.chat.online.tpl" Después ejecuta la siguiente consulta en la pestaña SQL de phpMyAdmin: CREATE TABLE IF NOT EXISTS `c_chat_messages` ( `msg_id` int(12) NOT NULL AUTO_INCREMENT, `msg_user` int(12) NOT NULL, `msg_text` text NOT NULL, `msg_date` int(12) NOT NULL, PRIMARY KEY (`msg_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;"; $chat_sql['blacklist'] = "CREATE TABLE IF NOT EXISTS `c_chat_blacklist` ( `ban_id` int(12) NOT NULL AUTO_INCREMENT, `ban_user` int(12) NOT NULL, `ban_expire` int(12) NOT NULL, `ban_date` int(12) NOT NULL, PRIMARY KEY (`ban_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1; Y ya estaría instalado manualmente.
  9. Te pregunta la versión del editor por si lo tienes instalado, no la versión de PHPost. En tu caso no lo tienes instalado y tienes que seleccionar "Ninguna".
  10. Es post es de la versión beta del editor, es una versión muy antigua y no funciona bien. La versión final con el link funcionando la encuentras aquí:
  11. ¿Qué ha pasado @Isidro? Solo puedo ver los temas del "Foro del staff" y de la versión 2.0 D:

  12. Rhuan

    [Desarrollo] Bootstrapost

    No tienes muy buen gusto con los colores xD, te recomiendo usar una paleta de colores predefinida o alguna aplicación para combinar colores.
  13. Rhuan

    Por que pasa esto con risus

    Deja la URL de tu web.
  14. A eso me refería con "ponerlo directamente en el TPL". No es necesario que sea justo arriba de </body> siempre y cuando esté debajo del elemento HTML que quieres manipular, en este caso los inputs de la contraseña y el checkbox del login. Si no te funciona, asegúrate que el <input> de la contraseña tenga el atributo id="password" y el del checkbox tenga id="vermipass".
  15. No te preocupes jajaja, se pone debajo de esta línea: elseif($contador_saltos > 5 || $contador_caracteres > 150) return '0: Tu shout es demasiado largo'; Es el mismo lugar que el anterior.
×