Jump to content

Buscar en La Comunidad

Showing results for tags 'fix'.



More search options

  • Search By Tags

    Añade tags separandolos por comas.
  • Search By Author

Tipo de Contenido


Foros

  • El núcleo de PHPost
    • Novedades e información
    • Off Topic
    • Presentaciones
  • PHPost Risus
    • Actualizaciones
    • Versión 1.1
    • Versión 1.2
  • La esquina
    • Rincón del PC
    • Rincón del móvil
  • Next [last version]'s Fix's
  • Next [last version]'s Theme
  • Next [last version]'s Notas!
  • Risus2's Tutoriales
  • Risus2's MODS
  • Risus2's Servicios
  • Next [last version]'s Bugs
  • Risus2's Webs
  • Risus2's Bugs
  • Risus2's Opinión
  • Juegos de Steam Gratis's Activos
  • Risus2's JS
  • Risus2's PHP y Smarty
  • Risus2's El Script
  • Risus2's Diseño
  • Juegos de Steam Gratis's Finalizados
  • Risus2's Off-topic
  • Risus2's Fixes

Calendars

  • Risus2's Calendario

Encontramos 47 resultados

  1. Hola a todos les comparto rápidamente este par de fix a unos problemas que se han presentado desde la ultima actualización del bbcode usando ahora JBBCode, el problema es que al bbcode se parsea primero los emoticones y luego a html por lo que si, por ejemplo, un texto se presenta así: [b]Instrucciones:[/b] 1. Descargar... El parser primero realiza los emoticones, como el del vampiro que es :[ y por lo tanto rompe el bbcode para cerrar la etiqueta de negrita B y todo lo demás aparecerá en negrita, así mismo con cualquier otra etiqueta. Hago referencia a este topic publicado por @boltador: Y otro topic más que no recuerdo pero había reportado @fem se puede apreciar en la demo que con un quote también se rompe el bbcode: Entonces para solucionarlo básicamente trata de parsear primero todos los tags del bbocode y después, si es permitido, parsear los emoticones y menciones. Para ello vamos al archivo inc/class/c.core.php y buscamos la función parseBBCode y la reemplazaremos por esta: function parseBBCode($bbcode, $type = 'normal', $smiles = true, $mentions = true) { // Class BBCode include_once(TS_EXTRA . 'bbcode.inc.php'); $parser =& BBCode::getInstance(); // Seleccionar texto $parser->setText($bbcode); // Seleccionar tipo switch ($type) { // NORMAL case 'normal': // BBCodes permitidos $parser->setRestriction(array('url', 'code', 'quote', 'font', 'size', 'color', 'img', 'b', 'i', 'u', 's', 'align', 'spoiler', 'swf', 'video', 'goear', 'hr', 'sub', 'sup', 'table', 'td', 'tr', 'ul', 'li', 'ol', 'notice', 'info', 'warning', 'error', 'success')); break; // FIRMA case 'firma': // BBCodes permitidos $parser->setRestriction(array('url', 'font', 'size', 'color', 'img', 'b', 'i', 'u', 's', 'align', 'spoiler')); break; // NOTICIAS case 'news': // BBCodes permitidos $parser->setRestriction(array('url', 'b', 'i', 'u', 's')); break; // SOLO SMILES (Esta opción se mantiene por compatibilidad con versiones anteriores, pero en su lugar se recomienda utilizar la opción "normal") case 'smiles': $parser->setRestriction(array('url', 'code', 'quote', 'quotePHPost', 'font', 'size', 'color', 'img', 'b', 'i', 'u', 'align', 'spoiler', 'swf', 'goear', 'hr', 'li')); break; } // HTML $html = $parser->getAsHtml(); // SMILES if ($smiles) $html = $parser->parseSmiles(); // MENCIONES if ($mentions) $html = $parser->parseMentions(); // Retornar resultado return $html; } Ahora en el archivo inc/ext/bbcode.inc.php buscar: return nl2br($this->text); Reemplazar por: return $this->text = nl2br($this->text); Mas abajo buscar: $this->text = substr($this->text, 0, -1); Reemplazar por: return $this->text = substr($this->text, 0, -1); Casi al final buscar: $this->text = str_replace($bbcode, $html, $this->text); Reemplazar por: return $this->text = str_replace($bbcode, $html, $this->text); Y listo con eso se arreglaría el problema. Ahora el segundo detalle es que la opción de "Sin Smileys" que tienen los posts, no funciona. Para solucionarlo ir al archivo inc/class/c.posts.php y buscar: $tsCore->parseBBCode($postData['post_body'], 'firma') Reemplazar por: $tsCore->parseBBCode($postData['post_body'], 'normal', false) Y con esto ya estaría funcionando la opción de NO parsear emoticones. Les dejo algunas capturas: Post: Antes: Ahora: Sin emoticones: Bueno, eso sería todo por este post. Dejen sus dudas, comentarios sugerencias. Ante cualquier problema no dudes en comentarlo, intentaré ayudarte lo más rápido que pueda. Nos vemos en otro aporte, hasta entonces!
  2. Hola de nuevo, publico el fix definitivo para evitar que nos publiquen shout en blanco o larguisimos ya sea mediante el uso de las teclas o de forma escrita de esta forma (\n \t \r) solo para molestar, la prueba la pueden hacer en la pagina demo y verán que el bug esta por default y no afecta en la seguridad pero jode mucho en los muros de sitios que tienen el modulo en la pagina de inicio. Demo del bug en la version default: http://demo.phpost.net/perfil/pitudo 1) Se van al archivo c.muro.php y buscan: // TIPO DE PUBLICACION y arriba de eso colocan esto: //COMPROBAR SI EL CAMPO ESTA VACIO $a = trim($_POST['data']); $a = preg_replace("/\r\n+|\r+|\n+|\t+/i", "<br/>", $a); $b = str_replace(array('\n','\r','\t'), array('n','r','t'), $a); $data = $b; 2) En el mismo archivo buscan esto: $text = str_replace(array("\n","\t",' '),"",$data); // VACIO? if(strlen($text) <= 0) return '0: Tu publicaci&oacute;n debe tener al menos una letra.'; y lo cambian por esto: if($a){ $data = $tsCore->setSecure($data, true); }else{ return '0: Tu shout esta vacio'; } Les dejo unas capturas de como se ve ya solucionado y como dije pueden comprobar este fallo en la demo oficial
  3. Este pequeño bug lo tiene el script por defecto y se que es una boludes pero a pesar de que es muy divertido publicar shout vacios en los sitios que no lo tienen aplicado y usan el modulo de shouts en la home pues ya me canso jaja asi que les dejo el fix hay otro que tambien sirve para limpiar las tabulaciones o saltos de linea excesivos que se pueden hacer en las publicaciones pero como depende de su como tengan modificado su muro y bueno asi que solo dejo este para que no les publiquen shouts vacios va. se van a c.muro.php y buscan: $data = $tsCore->setSecure($_POST['data'], true); $data = $tsCore->setSecure($_POST['data'], true); y abajo agregan esto: $data = str_replace("\n"," ",$_POST['data']); Capturas de que esto pasa en la default y en otras plantillas sin actualizar, dejo una demo del error y una captura en caso de que me baneen la cuetna ya que lo hago en un sitio con el error. compartinga.com
  4. Es algo sencillo pero que jode mucho al la hora de querer completar el perfil y tenerlo al 100% de manera falsa jaja, por si a alguien le interesa y le sirve en c.cuenta.php busacas: $updates = $tsCore->getIUP($perfilData, 'user_'); y abajo agregas: //FIX ESPACIOS BACIOS O LLENADO FALSO CON SALTOS DE LINEA O ESPACIOS if ($updates == ' '){ $updates = str_replace(' ', '', $updates); $updates = str_replace("\n"," ",$updates); }else{ $updates = str_replace(' ', '', $updates); $updates = str_replace("\n"," ",$updates); } // luego buscas un poco mas abajo esto: $updates = $tsCore->getIUP($perfilData, 'p_'); y abajo agregas: //FIX ESPACIOS BACIOS O LLENADO FALSO CON SALTOS DE LINEA O ESPACIOS if ($updates == ' '){ $updates = str_replace(' ', '', $updates); $updates = str_replace("\n"," ",$updates); }else{ $updates = str_replace(' ', '', $updates); $updates = str_replace("\n"," ",$updates); } // y ahora si ya no abra errores, gracias por reportarlo
  5. http://www.vellenger.com/posts/complementos/33/Fuente-de-Informacion-Multiple-V5.html Bueno vengo a comentarles del siguiente fix, lo que pasa es que si tenes activada la opcion para revisar los posts despues de su publicacion el MOD tira error en la consulta, lo que deben modificar es lo siguiente: if(db_exec(array(__FILE__, __LINE__), 'query', 'INSERT INTO `p_posts` (post_user, post_category, post_title, post_body, post_date, post_tags, post_ip, post_private, post_block_comments, post_sponsored, post_sticky, post_smileys, post_visitantes, post_status) VALUES (\''.$tsUser->uid.'\', \''.(int)$postData['category'].'\', \''.$postData['title'].'\', \''.$postData['body'].'\', \''.$postData['date'].'\', \''.$postData['tags'].'\', \''.$_SERVER['REMOTE_ADDR'].'\', \''.(int)$postData['private'].'\', \''.(int)$postData['block_comments'].'\', \''.(int)$postData['sponsored'].'\', \''.(int)$postData['sticky'].'\', \''.(int)$postData['smileys'].'\', \''.(int)$postData['visitantes'].'\', '.(!$tsUser->is_admod && ($tsCore->settings['c_desapprove_post'] == 1 || $tsUser->permisos['gorpap'] == true) ? '\'3\'' : '\'0\'').')')) { $postID = db_exec('insert_id'); En esta linea que esta mas o menos en la 143, 144 por ahi ahahah (post_user, post_category, post_title, post_body, post_date, post_tags, post_ip, post_private, post_block_comments, post_sponsored, post_sticky, post_smileys, post_visitantes, post_status, post_fuenteon, post_fuente1, post_fuente2, post_fuente3, post_fuente4, post_fuente5) VALUES (\''.$tsUser->uid.'\', \''.(int)$postData['category'].'\', \''.$postData['title'].'\', \''.$postData['body'].'\', \''.$postData['date'].'\', \''.$postData['tags'].'\', \''.$_SERVER['REMOTE_ADDR'].'\', \''.(int)$postData['private'].'\', \''.(int)$postData['block_comments'].'\', \''.(int)$postData['sponsored'].'\', \''.(int)$postData['sticky'].'\', \''.(int)$postData['smileys'].'\', \''.(int)$postData['visitantes'].'\', '.(!$tsUser->is_admod && ($tsCore->settings['c_desapprove_post'] == 1 || $tsUser->permisos['gorpap'] == true) ? '\'3\'' : '\'0\', \''.(int)$postData['fuenteon'].'\', \''.$postData['fuente1'].'\', \''.$postData['fuente2'].'\', \''.$postData['fuente3'].'\', \''.$postData['fuente4'].'\', \''.$postData['fuente5'].'\'').')')) { $postID = mysql_insert_id(); No lo reemplazen por esto! ---------------------------------------------------- Agregar despues de post_visitantes, post_fuenteon, post_fuente1, post_fuente2, post_fuente3, post_fuente4, post_fuente5, ---------------------------------------------------- Luego de: , \''.(int)$postData['visitantes'].'\', Agregar: \''.(int)$postData['fuenteon'].'\', \''.$postData['fuente1'].'\', \''.$postData['fuente2'].'\', \''.$postData['fuente3'].'\', \''.$postData['fuente4'].'\', \''.$postData['fuente5'].'\', Eso seria todo! Gracias a @Vellenger por el aporte de este grande MOD, todavia estoy viendo para obtener el titulo de la URL y que lo muestre en el post, y no mostrarme la URL como link porque queda medio feo... Si alguien sabe como implementarlo y me pudiera ayudar seria genial! En el foro esta, pero para implementarlo solo para una URL y lo quiero para las 5 fuentes, no solo para 1.
  6. Ayuda con fix Mod Fotos

    Hola gente, queria preguntar si algun fix para la secion fotos? por que el hosting http://content.pimp-my-profile.com funciona mal y quisiera cambiarlo por uno que ande.. desde ya muchas gracias por su atencion
  7. [fix]ultimos shouts en la home

    EL mod de recursante: tenia un bug asi cuando se daba la bienvenida por muro para arreglaro es facil abren b.shouts-beta.tpl y buscan: {$s.p_nick} buscan todo lo que coincida y reemplazan por: {$tsUser->getUserName($s.p_user_pub)} y quedaria ya bien:
  8. Taringa V6

    Hola a todos, como saben estoy haciendo el tema v6 de taringa Necesito que me ayuden a fixear unas cosas... No Loguea No funciona facebook connect Focus del busca Etc... El desarollo lo voy a continuar ni bien esten arreglados estos problemas... Archivos V6 inc Theme Header.php https://mega.nz/#!IpZXnTJa!mBruui3R2uWXbT2MZqEr6-h0yJ0w6G1l-OHMKoJ9kgo Demo
  9. [Fix] En los mensajes.

    Bien, me encontre un error en el diseño Default (seguro nadie se había dado cuenta). Al pasar el ratón por encima, aparecen estas opciones que no se ven ya que usan imágenes de Facebook, las cuales ya no existen (como Facebook cambio todo su diseño) Su solución es simple. Van a MENSAJES.css y buscan: .uiGrid i{ background-image: url("http://b.static.ak.fbcdn.net/rsrc.php/v1/zG/r/3aUCNXyvgB6.png"); background-repeat: no-repeat; display: inline-block; height: 12px; width: 12px; } .uiGrid i.read { background-position: -11px -85px; height: 11px; width: 11px; } .uiGrid i.read:hover {background-position: 0 -85px;} .uiGrid i.unread { vertical-align: middle; background-position: -11px -73px; height: 11px; width: 11px; } .uiGrid i.unread:hover {background-position: 0 -73px;} .uiGrid i.delete { background-image: url("http://b.static.ak.fbcdn.net/rsrc.php/v1/za/r/1Be-brvKO2y.png"); height: 11px; margin-top: 1px; width: 11px; } .uiGrid i.delete:hover {background-position: left -22px;} .uiGrid i.return { background-position: -8px -114px; width: 8px; margin-right: 5px; vertical-align: middle; } .uiGrid i.pop { background-position: -23px -64px; height: 13px; width: 9px; }Lo remplazan por: .uiGrid i{ background-image: url("http://i.imgur.com/zMol1Xb.png"); background-repeat: no-repeat; display: inline-block; height: 16px; width: 16px; } .uiGrid i.read { height: 11px; width: 11px; } .uiGrid i.unread { vertical-align: middle; height: 16px; width: 16px; } .uiGrid i.delete { background: url(http://i.imgur.com/GFQ0Nbv.png); height: 16px; width: 16px; } .uiGrid i.return { width: 16px; margin-right: 5px; vertical-align: middle; } .uiGrid i.pop { height: 16px; width: 16px; }Ya esta miren: Adios carnalitos !
  10. Fix de Taringa V6

    Hola a todo el foro me gustaria una ayuda de los master estoy creando un proyecto nuevo y me gusto el tema de Taringa v6 pero tienes varios bug me puede ayudar a repararlos seria bien acomodar ese tema para compartirlo aqui en el foro. Sin mas nada que decir aqui les dejo mi web: http://apkstores.ml/ asi pueden ver los bug y tratar de ayudarme un poco gracias
  11. [Ayuda] Comunidades panel en moderacion

    Bueno la pregunta es si tienen la sección de comunidades Temas eliminados y tambien quiero agregar Comunidades eliminadas y he agregado en la parte de Denuncias -> TEMAS y COMUNIDADES que a estos 2 los agregue bien y funcionan...Como sabran nunca he descargado la actualización de las comunidades ni nada parecido, ya que no estaba conectado con internet lo hice todo manualmente, e incluido la instalación correspondiente que tenia cuando habia buscado hace tiempo y agregue más cosas que no las tenia... Tengo: templates/admin_mods/m.mod_report_temas.tpl templates/admin_mods/m.mod_report_comunidades.tpl Faltaria: templates/admin_mods/m.mod_papelera_temas.tpl templates/admin_mods/m.mod_papelera_comunidades.tpl y si hay que hacer o agregar algo más en inc/class/c.moderacion.php para que estos tengan efecto, los 2 verdes andan faltan que funcione los 2 rojo más los 2 ficheros para el directorio admin_mods La comunidad que tengo es entre el año 2014/5 creo, pero es viejo, igualmente funciona todo correctamente y tambien es casi 100% responsive + bootstrap para que no sea tan pesado y le voy a agregar un Mod de premios que se de desde la administración solamente tengo que encontrar algunos iconos o Icon Font para usar con este... En la sección de administración o el archivo m.admin_welcome.tpl he agregado un especie de mod en el que se puede decir que versión del theme + quien la creo versión de la comunidad + quien la creo/editor del mismo lo hice de la misma manera que cuando se instala una versión actualizada del Risus.. cap en caso que no se vea Otra pregunta que no tiene que ver, pero quiero saber si hay topics y si tienen los enlaces... por que lo que quiero es hacer ej: Si es navidad va a ser otro logo, Si es san valentin sea otro logo Desde ya MUCHAS GRACIAS por tomarse el tiempo de verlo
  12. Hola, como verán recientemente hay un usuario que anda molestando con un error en la fuente de los BBcodes. El error consiste básicamente en que dicho BBcode carece de verificación, entonces se podía ingresar algunos carácteres HTML y poner una fuente gigante lo que no permitía navegar por los posts y al cliquear llevaba a una página, no representa un error grave en sí, por lo que no hay que alarmarse ya que sus datos personales y de hosting están seguros. Sin embargo puede ser muy molesto, por lo que es muy recomendado instalar este fix. Instalación automática: Para solucionarlo suban la carpeta INC que subí AQUÍ en la raíz de su sitio y reemplacen los archivos y ya estará solucionado el error. Instalación manual: Si han modificado los archivos, pueden optar por instalarlo manualmente: Abran el archivo bbcode.inc.php ubicado en /inc/ext/bbcode.inc.php y busquen (está en la línea 10): require_once 'JBBCode/validators/ImgValidator.php'; Y abajo coloquen: require_once 'JBBCode/validators/FontValidator.php'; Busquen: $imgValidator = new \JBBCode\validators\ImgValidator(); Y debajo coloquen: $fontValidator = new \JBBCode\validators\FontValidator(); Busquen: array('tag' => 'font', 'replace' => '<span style="font-family: {option}">{param}</span>', 'option' => true), Y lo reemplazan por: array('tag' => 'font', 'replace' => '<span style="font-family: {option}">{param}</span>', 'option' => true, 'validOption' => $fontValidator), 2. Crear un archivo con nombre FontValidator.php dentro de /inc/ext/JBBcode/validators/ con el siguiente contenido: <?php namespace JBBCode\validators; require_once dirname(dirname(__FILE__)) . DIRECTORY_SEPARATOR . 'InputValidator.php'; /** * Validador de fuentes para evitar kakeos * * @author Alan * @since Sep 2016 */ class FontValidator implements \JBBCode\InputValidator { /** * Retorna true si $input es alfabético * * @param $input string a validar */ public function validate($input) { return !!preg_match('/^[a-z0-9\s]+$/i', $input); } } Y ya debería funcionar, no digo que esto sea un fix oficial ya que lamentablemente ya no pertenezco al staff pero cuando Isidro lo vea podrá decidir que es lo que hace. Saludos!
  13. Les traigo un mod actualizado y fixeado. Mod original: Actualizado a la ultima version. Fix de los link ocultos. Abren el c.posts.php de inc/class y buscan: // DATOS DEL POST $query = db_exec(array(__FILE__, __LINE__), 'query', 'SELECT c.* ,m.*, u.user_id FROM `p_posts` AS c LEFT JOIN `u_miembros` AS u ON c.post_user = u.user_id LEFT JOIN `u_perfil` AS m ON c.post_user = m.user_id WHERE `post_id` = \''.(int)$post_id.'\' '.($tsUser->is_admod && $tsCore->settings['c_see_mod'] == 1 ? '' : 'AND u.user_activo = \'1\' && u.user_baneado = \'0\'').' LIMIT 1'); // $postData = db_exec('fetch_assoc', $query); Abajo agregan: //Comentó este post $sql_comment = db_exec(array(__FILE__, __LINE__), 'query', 'SELECT cid FROM p_comentarios WHERE c_post_id = \''.(int)$post_id.'\' AND c_user = \''.(int)$tsUser->uid.'\' LIMIT 1'); if(!$tsUser->is_member){ $replacement = '<div class="emptyData">Para poder ver los links necesitas estar <a href="javascript:registro_load_form();"> Registrado </a> . O.. ya tienes cuenta? <a href="javascript:open_login_box();"> Logueate!</a></div>'; $postData[post_body] = preg_replace('/[url[^>]+\]\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|$!:,.;]*[A-Z0-9+&@#\/%=~_|$][\/url[^>]+\]/i', $replacement, $postData[post_body]); $postData[post_body] = preg_replace('/\[url=(.*?)\](.*?)\[\/url\]/is', $replacement, $postData[post_body]); }elseif(db_exec('num_rows', $sql_comment) == 0){ $replacement = '<div class="emptyData">Para poder ver los links debes comentar el post</div>'; $postData[post_body] = preg_replace('/[url[^>]+\]\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|$!:,.;]*[A-Z0-9+&@#\/%=~_|$][\/url[^>]+\]/i', $replacement, $postData[post_body]); $postData[post_body] = preg_replace('/\[url=(.*?)\](.*?)\[\/url\]/is', $replacement, $postData[post_body]); } Y listo!! Caps: (Deslogueado): (Logueado pero sin comentar el post): (Logueado y con el post comentado): Cualquier consultar, problema y queja (? dejen en comentarios.. Hasta luego
  14. Hola... me puse a ver nuevamente el script, como hago siempre... por momento me dan ganas de usarlo!!!! y despues entro al foro y veo lo muerto que esta y se me van las ganas... PERO BUENO! Ahora estoy con ganas asi que me puse a ver un error que nunca se soluciono y yo reporte hace mucho tiempo, y el error esta en que AL PONER EL MAXIMO DE NOTIFICACIONES QUE QUEREMOS MOSTRAR EN EL MONITOR DESDE LA ADMINISTRACION, estos valores no son tomados y se nos hace una lista interminable de notificaciones, "en su momento llegue a tener mas de 200" para solucionar esto hacemos lo siguiente... Abrimos inc/class/c.monitor.php y buscamos. // DATOS $sql = 'SELECT m.*, u.user_name AS usuario FROM u_monitor AS m LEFT JOIN u_miembros AS u ON m.obj_user = u.user_id WHERE m.user_id = \''.$tsUser->uid.'\' ORDER BY m.not_id DESC'; Remplazamos por: // DATOS $sql = 'SELECT m.*, u.user_name AS usuario FROM u_monitor AS m LEFT JOIN u_miembros AS u ON m.obj_user = u.user_id WHERE m.user_id = \''.$tsUser->uid.'\' ORDER BY m.not_id DESC LIMIT '.$tsCore->settings['c_max_nots'].''; Y listo con esto el monitor ya pondra la cantidad de notificaciones que nosotros pongamos desde la administracion. Terminando.... El Fix fue aplicado en la ultima version del script, anque creo que funcionara para todas las versiones ya que es un error que viene hace rato.... saludos y ojala el foro se ponga otra vez en movimiento
  15. Que tal, hace unos dias instlate en mi sitio el Editor WYSIWYG de Tronlar para 1.2 y note que habia un error o bug al intentar comentar en un post el cual solo deja comentar si presionan el boton [/] del editor, depues hice lo que comentó omarb dejando el editor por defecto, afortunadamente me tope con un sitio diseñado por Kmario19 y note que en su theme no tenia el problema, revisando el codigo identifique estas lineas para resolver el error de los comentarios En el archivo: m.posts_comments_form.tpl (../themes/default/templates/modules) buscamos <div class="floatL"> <a class="boto gris floatL" onclick="comentario.nuevo('true')"><div class="btexto">Comentar</div></a> <a onclick="comentario.preview('body_comm','new')" class="boto gris" style="padding: 6px 8px;"><span class="i oji"></span></a> </div> y lo reemplazamos por: <div class="floatL"> <input type="button" onclick="comentario.nuevo('true')" class="mBtn btnOk" value="Enviar Comentario" tabindex="3" id="btnsComment"> <input type="button" onclick="comentario.preview('body_comm','new')" class="mBtn btnGreen" value="Vista Previa" tabindex="2" style="width:auto;"> </div> Si lo desean ya solo le dan estilo con CSS NOTA: El editor es el mismo que publico Tronlar aqui: yo solo modifique los iconos y re-ordene un poco
  16. Muchos Usuarios experimentan con este mod: ...el problema de que se postea correcto, pero al comentar o enviar mps, el boton ''Responder'' no funciona y no publica...(a menos que le des clic en [/] del editor.) Mi solución: Solo dejar el wysiwyg para publicar (posts), publicar temas y comentar temas (De comunidades) Pero volver a el editor antiguo en MP's, Siguen todos los pasos de la instalación pero en acciones.js de tutheme/js buscan: //Imprimir editores function print_editor() { //Editor de posts if($('#markItUp').length && !$('.wysibb-texarea').length || $('#wysibb').length && !$('.wysibb-texarea').length){ $('#markItUp, #wysibb').removeAttr('onblur onfocus class style').css('height', '400').addClass('required').wysibb(); $('#moreemofn, #emoticons').remove(); } //Editor de posts comentarios if($('#body_comm').length && !$('.wysibb-texarea').length){ $('#body_comm').removeAttr('onblur onfocus class style title').css('height', '100').html('').wysibb(); $('#moreemofn, #emoticons').remove(); } //Editor de respuestas shouts if($('#fulcomx textarea') && !$('#markItUpbody_comm').length){ $('#fulcomx textarea').markItUp(mySettings_cmt_shout); } //Editor de respuestas en fotos if($('#mensaje') && !$('#markItUpbody_comm').length){ $('#mensaje').markItUp(mySettings_cmt_shout); } //Editor de respuestas comunidades if($('#body_resp') && !$('#markItUpbody_resp').length){ $('#body_resp').markItUp(mySettings_cmt); } //Editor de respuestas en mensajes if($('#respuesta').length && !$('.wysibb-texarea').length){ var wbbOpt = { buttons: "smilebox,|,bold,italic,underline,strike,sup,sub,|,img,video,link,|,removeFormat" } $('#respuesta').removeAttr('onblur onfocus class style title').css('height', '80').html('').wysibb(wbbOpt); } } /* FIN - Editor */ y lo reemplazan por: //Imprimir editores function print_editor() { //Editor de posts if($('#markItUp').length && !$('.wysibb-texarea').length || $('#wysibb').length && !$('.wysibb-texarea').length){ $('#markItUp, #wysibb').removeAttr('onblur onfocus class style').css('height', '400').addClass('required').wysibb(); $('#moreemofn, #emoticons').remove(); } //Editor de posts comentarios if($('#body_comm') && !$('#markItUpbody_comm').length){ $('#body_comm').markItUp(mySettings_cmt); } //Editor de respuestas shouts if($('#fulcomx textarea') && !$('#markItUpbody_comm').length){ $('#fulcomx textarea').markItUp(mySettings_cmt_shout); } //Editor de respuestas en fotos if($('#mensaje') && !$('#markItUpbody_comm').length){ $('#mensaje').markItUp(mySettings_cmt_shout); } //Editor de respuestas comunidades if($('#body_resp') && !$('#markItUpbody_resp').length){ $('#body_resp').markItUp(mySettings_cmt); } //Editor de respeustas en mensajes privados if($('#respuesta') && !$('#markItUpbody_comm').length){ $('#respuesta').markItUp(mySettings_cmt_shout); } } /* FIN - Editor */ bye.
  17. Hola gente les comparto un mini-fix de un pequeñ problemita con el que me topé y es que al momento de hacer una denuncia de un postt, si este tiene una comilla simple en su título ( ' ) ocasiona un error en la sintaxis javascript y no permite hacer la denuncia. Algo como esto: http://i.imgur.com/ffUoHAV.png Bueno, para quienes han tenido este problema hay varias formas de solucionarlo, les comparto a mi parecer la mas sencilla sin editar tantos archivos. Ir al archivo templates/modules/m_posts_metadata.tpl y buscar: denuncia.nueva('post',{$tsPost.post_id}, '{$tsPost.post_title}', '{$tsPost.user_name}')Reemplazar por: denuncia.nueva('post',{$tsPost.post_id}, '{$tsPost.post_title|replace:"&#039;":"\&#039;"}', '{$tsPost.user_name}')Y listo eso es todo: PDATA: A quienes interese en el archivo templates/t.php_files/p.denuncia.form.tpl hay un par de errores de ortografía, sin son como yo de compulsivo en estos asuntos, ya saben que hacer... Por eso siempre hay que leer la letra pequeña. Nos vemos en otro aporte
  18. Existe un pequeño error en la sección "Censuras" del panel de administración que se produce al intentar modificar las opciones de un término guardado previamente. Si accedes a esta sección, pulsas Editar sobre un término que ya tengas configurado y después cambias las opciones "Método" o "Tipo", al guardar los cambios recibes el mensaje de error "Ya existe un filtro así". Esto se produce porque la consulta SQL no tiene en cuenta estos dos filtros. Para solucionarlo abrimos inc/class/c.admin.php y buscamos: if (!db_exec('num_rows', db_exec(array(__FILE__, __LINE__), 'query', 'SELECT wid FROM w_badwords WHERE LOWER(word) = \'' . $tsCore->setSecure(strtolower($_POST['before'])) . '\' && LOWER(swop) = \'' . $tsCore-> setSecure(strtolower($_POST['after'])) . '\''))) Lo sustituimos por esto: if (!db_exec('num_rows', db_exec(array(__FILE__, __LINE__), 'query', 'SELECT wid FROM w_badwords WHERE LOWER(word) = \'' . $tsCore->setSecure(strtolower($_POST['before'])) . '\' && LOWER(swop) = \'' . $tsCore->setSecure(strtolower($_POST['after'])) . '\' && method = '.(int)$method.' && type = '.(int)$type.''))) Guardamos y listo.
  19. Hola amigos, hoy les traigo este Fix que un amigo me pidió para el theme y ahora se los comparto a ustedes. Es un fix de los márgenes del main container, así haremos que la web siempre esté centrada y no se valla... a la putha. Solo me paso estando desconectado de mi usuario, pero conectado no me pasaba, pero igual no hace daño tenerlo jajaja. 1.- Vamos a el archivo main_Header.tpl y buscamos: <section {if $tsPage != 'home' && $tsPage != 'posts'}id="maincontainer"{/if}> 2.- Lo cambiamos por: {if $tsPage != 'home' && $tsPage != 'posts'} <section style="margin: 10px auto!important;" id="maincontainer"> {else} <section {if $tsPage != 'home' && $tsPage != 'posts'}id="maincontainer"{/if}> {/if} y eso sería todo . Aca les dejo unas caps para que no sea tan crap (las tome a diferente hora xD en otro pc): -Antes: -Después: @Leal espero mi -1 :3
  20. Hola! Comienzo esto con una advertencia: No sé php, pero a prueba y error logré adaptar la api V3 de imgur, por esta razón no suelo compartir cosas en el foro pero ya que logré que me funcione y lo están pidiendo quiero compartirlo. Pido por favor a los que saben que corrijan todos los errores que pueda tener, o bien avisen si es un completo desastre Para usar la nueva api hay que registrar una nueva aplicación en imgur para obtener una id, en el ejemplo ya les doy una creada, pero creo que sería conveniente que cada uno cree la suya ya que imgur tiene algunas limitaciones para usuarios free y mejor prevenirse. Aclaro que este fix es para los que usen el editor Wysiwyg, no recuerdo bien como era el otro. Entran al archivo inc/php/iupload.php y reemplazan todo el contenido por el siguiente: <? function upload($image) { $client_id = '73036cb13e58514'; $server = 'https://api.imgur.com/3/image.json'; $headers = array('Authorization: Client-ID ' . $client_id); $image = file_get_contents($image); $pvars = array('image' => base64_encode($image)); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $server); curl_setopt($ch, CURLOPT_TIMEOUT , 30); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HTTPHEADER , $headers); curl_setopt($ch, CURLOPT_POSTFIELDS, $pvars); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); $result = curl_exec($ch); curl_close($ch); return $result; } if(isset($_FILES['img'])) { $isIframe = ($_POST["iframe"]) ? true:false; $idarea = $_POST["idarea"]; $response = upload($_FILES['img']['tmp_name']); $data = json_decode($response, true); $img_url = $data['data']['link']; if($isIframe) { echo '<html><body>OK<script>window.parent.$("#'.$idarea.'").insertImage("'.$img_url.'","'.$img_url.'").closeModal().updateUI();</script></body></html>'; }else { header("Content-type: text/javascript"); echo '{"status":1,"msg":"OK","image_link":"'.$img_url.'","thumb_link":"'.$img_url.'"}'; } }else { header("Content-type: text/javascript"); echo '{"status":0,"msg":"Empty"}'; } ?> La id que deberían modificar está después de $client_id = al principio del código, para eso tienen que estar registrados en imgur.com e ir a: https://api.imgur.com/oauth2/addclient Llenan los datos y eligen la opción Anonymous usage without user authorization Y van a obtener el id: Lo reemplazan en el archivo y ya debería funcionar. Al menos en mi caso anduvo. Espero que sirva!
  21. Hola amigos, comprobando las novedades de la actualización me topé con algunos errores, y aquí las posibles soluciones... 1) Evitar que otro admin borre tu cuenta Sucede que otro administrador puede borrar tu cuenta completa desde la administración, y no se le debería permitir borrar la cuenta del primer usuario del sitio, o sea el creador del sitio. Para evitar eso, vamos al c.admin.php y en la línea 1004 aprox. buscan: function deleteContent($user_id){ global $tsUser; y debajo de eso agregamos: if( $user_id == 1) return "No puedes eliminar " . ($_POST['bocuenta'] ? "la cuenta" : "contenido") . " del primer administrador"; Con eso, nadie podrá borrar contenido o la cuenta completa del administrador. 2) Remplazar el Restriction por setRestriction Al parecer, a Isidrin se le paso un código Pues, se puede comprobar en el bbcode.inc.php en la línea 38 aprox, el $restriction está en privado. private $restriction; Y no se puede llamar desde otro archivo, entonces el archivo c.core.php en la línea 444 aprox. lo llama, y se produce un error. $parser->restriction = array('url', 'code', 'quote', 'quotePHPost', 'font', 'size', 'color', 'img', 'b', 'i', 'u', 'align', 'spoiler', 'swf', 'goear', 'hr', 'li'); Para resolverlo, buscan lo anterior en la línea indicada y lo remplazan por: $parser->setRestriction(array('url', 'code', 'quote', 'quotePHPost', 'font', 'size', 'color', 'img', 'b', 'i', 'u', 'align', 'spoiler', 'swf', 'goear', 'hr', 'li')); Y se resolverá 3) Establecer el máximo del size Un usuario al momento de utilizar este bbcode le puede cambiar el número de pixeles que va a tener como tamaño el texto, y si le agrega un número exagerado se muestra enorme el texto y nada bueno. Para resolverlo, remplacen en el archivo SizeValidator.php ubicado en Raiz > inc > ext > JBBCode > validators lo siguiente: return is_numeric($input) && $input > 0; por: if( $input > 0 && $input < 25 ) return is_numeric($input); return false; Donde el número de pixeles no debe ser mayor o igual a 25... Por ahora, eso es todo _______________________ Tambien quiero reportar un bug, sucede que se puede agregar bbcodes en los muros, cosa que no sucedia en versiones anteriores. Y para Isidro, por favor para que active el boton Source del CKEditor, pues con eso me ayudo un poco para hacer los topic
  22. Fix Menciones en nuevo BBCode

    Hola bueno debido a las nuevas modificaciones de seguridad se han actualizado muchos archivos y modificados otros tantos pero bueno a lo que vamos iba a hacer una mencion a un user en una page actualizada y bueno vi que la url me daba error ya que dicha url me mandaba a www . Domain . Com / NICKUSUARIO cuando en verdad deberia segun lo que tengo entendido salvo que en la nueva version de risus se haya modificado la url del perfil ya que no he probado una version limpia sin modificaciones pero bueno a lo que se va en las versiones anteriores la url del perfil es www . Domain . Com / PERFIL / NICKUSUARIO entonces para fixear esto se van al archivo bbcode.inc.php que esta en inc/ext/ de la raiz del sitio y del script y buscan /** * @name parseMentions * @access public * @param string * @return string * @info PONE LOS LINKS A LOS MENCIONADOS */ public function parseMentions() { global $tsUser; $founds = array(); $this->text .= ' '; preg_match_all('/\[email protected]([a-zA-Z0-9_-]{4,16}+)\b/', $this->text, $users); foreach ($users[1] as $user) { if (!in_array($user, $founds)) { $uid = $tsUser->getUserID($user); if (!empty($uid)) { $find = '@' . $user . ' '; $replace = '@<a href="' . $this->settings['url'] . '/' . $user . '" class="hovercard" uid="' . $uid . '">' . $user . '</a> '; $this->text = str_replace($find, $replace, $this->text); } $founds[] = $user; } } $this->text = substr($this->text, 0, -1); } y lo cambian por /** * @name parseMentions * @access public * @param string * @return string * @info PONE LOS LINKS A LOS MENCIONADOS */ public function parseMentions() { global $tsUser; $founds = array(); $this->text .= ' '; preg_match_all('/\[email protected]([a-zA-Z0-9_-]{4,16}+)\b/', $this->text, $users); foreach ($users[1] as $user) { if (!in_array($user, $founds)) { $uid = $tsUser->getUserID($user); if (!empty($uid)) { $find = '@' . $user . ' '; $replace = '@<a href="' . $this->settings['url'] . '/perfil/' . $user . '" class="hovercard" uid="' . $uid . '">' . $user . '</a> '; $this->text = str_replace($find, $replace, $this->text); } $founds[] = $user; } } $this->text = substr($this->text, 0, -1); } bueno eso es todo Un Saludo
  23. Aqui una correccion para poder usar la herramienta del buscador de IP de la Moderacion, la cual utilizaba un servidor de busqueda para la localizacion de las IP entrantes en nuestras web, pero al parecer elservidor esta inactivo y no se puede utilizar, y mirando su fecha de expiracion esta pronto y no creo regrese, asi que aqui les dejo otro servicio el cual pueden utilizar. Para aplicarlo simplemente se van al archivo m.mod_buscador.tpl ubicado en /themes/default/templates/admin_mods/ y buscan http://oxi.mx/g/ y lo cambian por http://es.geoipview.com/?q= , deberan reemplazarlo las 5 veces que salen para la busqueda en cada seccion. Esto aclaro no es un error del Script, mas bien un descuido del uso de servidores externos, su utilidad no es muy utilizada pero para los que quieran tener las herramientas de uso aqui la manera de corregirla..
  24. Indiferentemente de si se activa o no la opción "Revisión de post tras su publicación" el script muestra las mismas opciones de acceso al post tras completar el proceso de publicación. En el caso de que el post necesite revisión previa, el enlace "Acceder al post" nos envía a la ventana de "Post en revisión", algo que en mi opinión resulta redundante. Con este pequeño FIX cambiaremos la redirección según sea necesario, es decir, si el post requiere revisión nos enviará a la página principal, de lo contrario accederemos a nuestro post. El proceso es muy sencillo. Abrimos inc/php/agregar.php y buscamos: 'but' => 'Acceder al post', 'link' => "{$tsCore->settings['url']}/posts/{$tsCat['c_seo']}/$tsPost/{$tsCore->setSEO($_POST['titulo'])}.html"));Lo sustituimos por esto: 'but' => ''.(!$tsUser->is_admod && ($tsUser->permisos['gorpap'] == true || $tsCore->settings['c_desapprove_post'] == 1) ? 'P&aacute;gina principal' : 'Acceder al post').'', 'link' => ''.(!$tsUser->is_admod && ($tsUser->permisos['gorpap'] == true || $tsCore->settings['c_desapprove_post'] == 1) ? ''.$tsCore->settings['url'].'/posts/' : ''.$tsCore->settings['url'].'/posts/'.$tsCat['c_seo'].'/'.$tsPost.'/'.$tsCore->setSEO($_POST['titulo']).'.html').''));Eso es todo. Un saludo.
  25. Este FIX es para completar el fantástico MOD creado por Kmario19 que permite visualizar la última actividad de los usuarios en nuestra web. Según avisaba el autor en el topic aún estaba pendiente de añadir la identificación por IP que permitiría guardar los registros de actividad de los visitantes de forma independiente en función de su IP. Aquí te dejo los pasos para incluir la identificación por IP de usuarios y visitantes. Paso 1- En primer lugar debes instalar el MOD indicado arriba siguiendo los pasos explicados en el topic por Kmario19. Paso 2- Lo siguiente es añadir una nueva consulta a la base de datos donde se guardará la IP del usuario: ALTER TABLE `u_localizacion` ADD `ip` VARCHAR( 40 ) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL AFTER `fecha` Paso 3- Abrimos el archivo inc/class/c.localizacion.php y buscamos: // YA TUVO ACTIVIDAD? $sql = mysql_query('SELECT id_user FROM u_localizacion WHERE id_user = '.$user_id); // if (mysql_num_rows($sql) > 0) { // ACTUALIZAMOS LA LOCALIZACION mysql_query('UPDATE u_localizacion SET tipo = \''.$tipo.'\', lugar = \''.$lugar.'\', titulo = \''.$titulo.'\', url = \''.$url.'\', fecha = \''.time().'\' WHERE id_user = '.$user_id); } else { // INSERTAMOS NUEVA LOCALIZACION mysql_query('INSERT INTO u_localizacion (tipo, id_user, lugar, titulo, url, fecha) VALUES (\''.$tipo.'\', \''.$user_id.'\', \''.$lugar.'\', \''.$titulo.'\', \''.$url.'\', \''.time().'\')'); }Lo sustituimos todo por esto: $newip = $tsCore->setSecure($_SERVER['REMOTE_ADDR'] ? $_SERVER['REMOTE_ADDR'] : $_SERVER['X_FORWARDED_FOR']); $caduca = time() - (2 * 3600);// 2 horas $data = db_exec('fetch_assoc', db_exec(array(__FILE__, __LINE__), 'query', 'SELECT id_user, ip FROM u_localizacion WHERE id_user = \''.$user_id.'\' LIMIT 1')); // // Borramos registros de visitantes tras 2 horas db_exec(array(__FILE__, __LINE__), 'query', 'DELETE FROM u_localizacion WHERE id_user = 0 AND fecha <= '.$caduca.''); // HA INICIADO SESION? if ($data['id_user'] >= 1) { // ACTUALIZAMOS LA LOCALIZACION DEL USUARIO db_exec(array(__FILE__, __LINE__), 'query', 'UPDATE u_localizacion SET tipo = \''.$tipo.'\', lugar = \''.$lugar.'\', titulo = \''.$titulo.'\', url = \''.$url.'\', fecha = \''.time().'\' WHERE id_user = '.$user_id); // // ES UN VISITANTE? } elseif ($data['id_user'] == 0 && $data['ip'] == $newip) { // ACTUALIZAMOS LA LOCALIZACION DEL VISITANTE MEDIANTE SU IP db_exec(array(__FILE__, __LINE__), 'query', 'UPDATE u_localizacion SET tipo = \''.$tipo.'\', lugar = \''.$lugar.'\', titulo = \''.$titulo.'\', url = \''.$url.'\', fecha = \''.time().'\' WHERE ip = \''.$newip.'\' AND id_user = 0'); // } else { // INSERTAMOS NUEVA LOCALIZACION db_exec(array(__FILE__, __LINE__), 'query', 'INSERT INTO u_localizacion (tipo, id_user, lugar, titulo, url, fecha, ip) VALUES (\''.$tipo.'\', \''.$user_id.'\', \''.$lugar.'\', \''.$titulo.'\', \''.$url.'\', \''.time().'\', \''.$newip.'\')'); }Eso sería todo. Ahora las visitas serán filtradas por su IP y se mostrarán los registros de visitantes de forma independiente. Sólo está probado en localhost. EXTRA
×