Jump to content

Clasificación


Contenido popular

Showing most liked content since 22/08/17 en Posts

  1. 5 points
    Bueno esto ya lo tengo implementado en la última versión de risus2_v_0_1_2_alpha, ya que tiene agregado plugin smarty: "NOBBCODE", elimina el bbcode de una string. con lo que podemos lograr esto: Ver el contenido del post sin bbcodes ↓ ↓ ↓ Para lograr eso debemos buscar el archivo c.posts.php que esta alojado en la carpeta engine\inc\class\ una vez abierto el archivo procederemos a buscar [linea: 318] /*********/ $query = db_exec(array(__FILE__, __LINE__), 'query', 'SELECT p.post_id, p.post_user, p.post_category, p.post_title, p.post_imgport, y a lado agregaremos p.post_body, con lo les quedará asi /*********/ $query = db_exec(array(__FILE__, __LINE__), 'query', 'SELECT p.post_id, p.post_user, p.post_category, p.post_title, p.post_imgport, p.post_body, Luego va al theme Default y buscan en templates\modules\home\m.home_postshowcase.tpl y buscamos Linea 125 <div class="desc"><a><i class="fa fa-clock-o" aria-hidden="true"></i> {$p.post_date|hace}</a></div> y debajo pegamos <div class="p-2 small">{$p.post_body|nobbcode|truncate:80}</div> luego más abajo buscamos Linea 166 <div class="desc"><a><i class="p-1 fa fa-clock-o" aria-hidden="true"></i> {$p.post_date|hace}</a></div> y debajo pegamos <div class="p-2 small">{$p.post_body|nobbcode|truncate:80}</div>
  2. 4 points
    ¡Hola a todos! ¡Se que muchos estaban esperando una release más o menos presentable! ¡Y hoy se las traigo! La nueva release de Risus2, risus2_v_0_1_2_alpha, trae mas de 35 cambios, los cuales son: Para usar LazyLoad en <img> usas "data-lazy" en vez de "src". Para usar las Hovercard o Livecards usas "data-vcard" en vez de " class="hovercard" uid="XXX" ". Para usar los Bootstrap Tooltips basta con usar "title" y el JS lo convertirá automaticamente. Ahora se usa LazyLoad en todas las imagenes que se encuentren en los TPLS. Todas las secciones fueron re-diseñadas para ser 95% Bootstrap y Responsive. Se implementaron: Imagen y fondo del perfil (Gracias Kmario19) y Imagen de portada en los posts. Se trató de usar iconos font-awesome en vez de imagenes (quedó en un 40% aprox). Se usan sonidos .MP3 en vez de .SWF (y son nuevos) mediante Jquery en las notificaciones LIVE. Nuevos Emojis (Se implementarán más en la quinta release) Ahora puedes editar la imagen de afiliado y e-mail publico desde la administración. Se eliminó el public-id de Google ya que este no se usará más... Fix en Smarty ya que no mostraba los templates cuando estaba en modo: suspendido/mantenimiento. Funciones wastedbydie o wastedbyexit serán lo mismo que die y exit solo que con un estilo personalizado y cambiable desde functions.php Arreglos en el caché de Smarty. Funciones como bind() y live() actualizadas a on(). Nueva Hovercard/Vcard Fix Recaptcha v2 mal implementada. Se eliminaron todas las imagenes que venian en /files: uploads/ y avatar/. Nueva carpeta /res/ en la raíz del sitio para usar los recursos de Bootstrap, Jquery y algunas imagenes, ya sea en el script o instalador/upgrade. Se eliminaron los créditos y aportes de los archivos, ya que estos se mostrarán en la página de creditos del blog oficial. Responsive y Bootstrap: BBCODE. Actualización de Info/Leyenda de archivos del /engine/inc/ Cuando se accede directamente a los archivos de /inc/, aparece el mismo mensaje pero con un estilo. Nuevo favicon Se eliminan archivos y código innecesarios y obsoletos del script anterior (Risus) y nuevo (Risus2). Se renombran algunos templates. Nuevas mejoras/fixes en el instalador. Unificación de Acciones.js y Funciones.js por script.js Todos los recursos son locales, es decir, no hay nada que se cargue externamente en css, php, js, etc. Se realiza verificación de que la imagen exista en imagen de portada (posts/perfil) y fondo de perfil. Nuevo avatar default. Robots.txt (mejora de "seo") Fix header al redireccionar a la install Buscador: Ahora puedes buscar a personas mediante su correo electronico y usuario! Nuevo post y foto que se publican al finalizar instalación. Ahora puedes usar font-awesome en los iconos de las categorías, pronto las imágenes de las categorías quedarán obsoletas! Agregado plugin smarty: "NOBBCODE", elimina el bbcode de una string. Espero que les guste y la disfruten! Pronto seguiré mejorando y por favor, reporten todos los bugs que vayan encontrando. Muchas gracias! Descarga y LOG aquí:http://risus2.blogspot.cl/2017/08/risus2v012alpha.html
  3. 4 points
    Hola a todos. Estoy contento informarles que hubo más de 20 personas que instalaron el script, así que a todos, muchas gracias! Traté de corregir varios bugs en esa release, sobretodo, en el instalador, ya que en el ni siquiera se podía instalar el script. Tengo que decir que 12 horas después de que publiqué la primera release, publiqué la misma versión solo que con el instalador fixed, es decir, r2install_v_0_1_3_alpha. Ahora, creo que la próxima versión será la 1.0.0-beta, la cual traerá más cambios y fixes. Esta la publicaré a finales de mes y se podría decir que será una versión 100% estable para su uso. Por favor, si pueden publicar sus bugs y/o recomendaciones, se los agradecería bastante, ya que estos irán parcheados y/o incluidos en la versión ya mencionada. https://www.phpost.net/foro/forum/122-opinión/ https://www.phpost.net/foro/forum/123-bugs/ También modifiqué el sitio de Risus2 (el blog) para mostrar las versiones más recientes y también la sección de créditos. http://risus2.blogspot.com
  4. 3 points
    Bueno ya pueden descargar el proyecto ya tiene más modificaciones, aunque lo más probable que me haya olvidado de unas secciones pero todo lo que se ve ya esta terminado, en el caso que llegarán a encontrar parte sin editar por favor decirmelo. Tiene el instalador, los archivos INC modificados, 2 themes [Default, MozzFire], aunque cuando lo instalan ni siquiera tienen que ir a la administración a cambiar de theme porque ya lo tiene hecho, se agrego un nuevo panel que controla los METAS! Pueden leer el README.md que tiene todos los pasos que he hecho al theme y los que se hizo, y también pueden descargar el proyecto desde mi repositorio en gtihub → MozzFire V.2 ←, porque en el caso que le vaya haciendo actualizaciones las subo y les digo que archivos son los que tienen que modificar. Ya no se llama install, ahora es instalador y ni siquiera tienen que escribirlo se coloca solo y lo instalan como si fuera nuevo, hasta que logre crear el actualizador para que los que ya tienen no pierdan nada. En el README.md tiene los mods usados. Debe ir a https://www.google.com/recaptcha/admin#list para buscar y cambiar clave del sitio y clave secreta solo buscan los archivos y lo cambian por sus claves en inc/class/c.registro.php y templates/t.php_files/p.registro.form.tpl.php [ver mod ] → Descargar MozzFire V.2 ← → Demo Demo32 ← usuario: Demo pass: demouser Para entra al club MOZZFIRE: Aquí Para reportar Bugs: Aquí Apto para PHP 7.1
  5. 3 points
    Hola a todos! El momento que todos habían esperado, ¡Risus2! la versión más estable hasta el momento: Notas (r2install_v_1_0_0_beta | risus2_v_1_0_0_beta):Algunos hosts eliminan parte del archivo config.inc.php, por favor, copia el contenido manualmente y pasalo al archivo de tu host.Bugs arreglados en instalador y muchas mejoras:-Bug no poder continuar.-Bug al colocar la URL completa.-Funciones.-Nuevos archivos.-Al ingresar al instalador, y luego ingresar una base de datos anteriores de Risus2 o Phpost Risus podrás migrarlos y usarlas.Previsualizar post (obviamente con un límite) en el home.Funcion en el Núcleo implementada: limitwords($x, $length) [limita los caracteres mostrados de una string en php].Nueva VCARD.Más funciones actualizadas en los archivos .JS: bind() a on() | unbind() a off() | attr() por prop()Archivos header.php, footer.php y c.smarty.php modificados para que el caché de Smarty funcione correctamente y se guarde en la raíz del sitio.Nuevo sistema de errores functions.phpFix en los comentarios de los posts.Ahora al hacer click en las imagenes de portada de los posts en el home también se puede ingresar.Transformación Bootstrap al registro.Ahora se usa font-awesome icons en vez de la campanita que aparecía en las notificaciones (monitor) y en actividad.Fix c.monitor.php y c.muro.php para que funcione con Php 7.1+.Links arreglados en admin (créditos).Ahora cada página tendrá su propio icono font-awesome para ser usado en el Jumbotron (cambiable desde /engine/inc/php/...) [esto será administrable en futuras versiones].Ahora muestra Livecard en el último usuario registrado.Ahora puedes obtener el nombre del rango mediante la function $tsUser->getUserRango(ID) [esto se usa desde ahora en t.mensajes.tpl}Se agregaron clases como FORM-GROUP ., FORM-INPUT, custom-***, y switch-md en la mayoría de , <textarea>, radios y checkboxes.Cambios en el menú: Se agrego la condicional para las fotos.Se cambió /agregar/ un poco.Ahora el menú movil clona el menú normal, así que no es necesario editarlo dos veces.Ahora los iconos de categorías, medallas, rangos, editor y banderas de paises se encuentran dentro de la carpeta /res/ para que los temas no sean más pesados.Nuevo diseño para las fotos y posts (home). Descarga en Github Capturas: Cedida por @ElBatman:
  6. 3 points
    Les traigo el desarrollo de una plantilla que estaba haciendo para mi sitio, lo realizaba cuando tenía tiempo. Espero que a alguien le pueda llegar a servir pero bueno acá se los dejo: DESCARGA: https://drive.google.com/file/d/0B165_Uw6nN9KSzJuM3lXMk9jRTA/view?usp=sharing
  7. 3 points
    The Walking Dead - Season 1 gratis para Steam https://www.humblebundle.com/store/the-walking-dead-season-1 Deben agregarlo al carrito y completar la transacción. El juego está con un 100% de descuento, por lo que obviamente les saldrá $0. Tienen 2 días para obtenerlo. Cromos: Si Logros: Si Reviews: Extremadamente positivos (96%) Mas info en: http://store.steampowered.com/app/207610/The_Walking_Dead/
  8. 3 points
    Pedido: [PEDIDO] Sección Videos con Youtube Usuario: @unfernacho Mod: [MOD] Sección Video Creado por: @aperpen Bueno comencemos: 1) - Abrimos c.admin.php y buscamos /****************** ADMINISTRACIÓN DE NOTICIAS ******************/ y arriba pegamos 1) - Abrimos c.moderacion.php y buscamos Ahora buscamos en el c.swat.php // MENSAJES case 'mensaje': // YA HA REPORTADO? y arriba pegamos case 'video': // ¿ES MI VIDEO O ESTÁ OCULTO? $query = db_exec(array(__FILE__, __LINE__), 'query', 'SELECT `vid_id`, `vid_user`, `vid_status` FROM `v_videos` WHERE `vid_id` = \''.(int)$obj_id.'\' LIMIT 1') or exit( show_error('Error al ejecutar la consulta de la línea '.__LINE__.' de '.__FILE__.'.', 'db') ); $my_video = db_exec('fetch_assoc', $query); if(empty($my_video['vid_id'])) return '0: Este video no existe'; if($my_video['vid_user'] == $tsUser->uid) return '0: No puedes denunciar tus propios videos.'; if($my_video['vid_status'] == '1') return '0: No puedes denunciar videos ocultos.'; // YA HA REPORTADO? $query = db_exec(array(__FILE__, __LINE__), 'query', 'SELECT `did` FROM `w_denuncias` WHERE `obj_id` = \''.(int)$obj_id.'\' AND `d_user` = '.$tsUser->uid.' AND `d_type` = \'5\''); $denuncio = db_exec('num_rows' $query); if(!empty($denuncio)) return '0: Ya habías denunciado este video.'; // CUANTAS DENUNCIAS LLEVA? $denuncias = db_exec('num_rows', db_exec(array(__FILE__, __LINE__), 'SELECT `did` FROM `w_denuncias` WHERE `obj_id` = \''.(int)$obj_id.'\'')); // OCULTAMOS EL VIDEO SI YA LLEVA MÁS DE 3 DENUNCIAS if($denuncias >= 2){ db_exec(array(__FILE__, __LINE__), 'UPDATE `v_videos` SET `vid_status` = \'1\' WHERE `vid_id` = \''.(int)$obj_id.'\'') or exit( show_error('Error al ejecutar la consulta de la línea '.__LINE__.' de '.__FILE__.'.', 'db') ) mdb_exec(array(__FILE__, __LINE__), 'UPDATE `w_stats` SET `stats_videos` = stats_videos - \'1\' WHERE `stats_no` = \'1\''); } // INSERTAR NUEVA DENUNCIA if(mdb_exec(array(__FILE__, __LINE__), 'INSERT INTO `w_denuncias` (`obj_id`, `d_user`, `d_razon`, `d_extra`, `d_type`, `d_date`) VALUES (\''.(int)$obj_id.'\', \''.$tsUser->uid.'\', \''.$razon.'\', \''.$extras.'\', \'5\', \''.$date.'\')')){ return '1: La denuncia fue enviada.'; } else return '0: Error, inténtalo más tarde.'; break; En el archivo c.core.php buscamos function getNovemods() { $datos = db_exec('fetch_assoc', db_exec(array(__FILE__, __LINE__), 'query', 'SELECT (SELECT count(post_id) FROM p_posts WHERE post_status = \'3\') as revposts, (SELECT count(cid) FROM p_comentarios WHERE c_status = \'1\' ) as revcomentarios, (SELECT count(DISTINCT obj_id) FROM w_denuncias WHERE d_type = \'1\') as repposts, (SELECT count(DISTINCT obj_id) FROM w_denuncias WHERE d_type = \'2\') as repmps, (SELECT count(DISTINCT obj_id) FROM w_denuncias WHERE d_type = \'3\') as repusers, (SELECT count(DISTINCT obj_id) FROM w_denuncias WHERE d_type = \'4\') as repfotos, (SELECT count(susp_id) FROM u_suspension) as suspusers, (SELECT count(post_id) FROM p_posts WHERE post_status = \'2\') as pospelera, (SELECT count(foto_id) FROM f_fotos WHERE f_status = \'2\') as fospelera')); $datos['total'] = $datos['repposts'] + $datos['repfotos'] + $datos['repmps'] + $datos['repusers'] + $datos['revposts'] + $datos['revcomentarios']; return $datos; } y reemplazamos por function getNovemods() { $datos = db_exec('fetch_assoc', db_exec(array(__FILE__, __LINE__), 'query', 'SELECT (SELECT count(post_id) FROM p_posts WHERE post_status = \'3\') as revposts, (SELECT count(cid) FROM p_comentarios WHERE c_status = \'1\' ) as revcomentarios, (SELECT count(DISTINCT obj_id) FROM w_denuncias WHERE d_type = \'1\') as repposts, (SELECT count(DISTINCT obj_id) FROM w_denuncias WHERE d_type = \'2\') as repmps, (SELECT count(DISTINCT obj_id) FROM w_denuncias WHERE d_type = \'3\') as repusers, (SELECT count(DISTINCT obj_id) FROM w_denuncias WHERE d_type = \'4\') as repfotos, (SELECT count(DISTINCT obj_id) FROM w_denuncias WHERE d_type = \'5\') as repvideos, (SELECT count(susp_id) FROM u_suspension) as suspusers, (SELECT count(post_id) FROM p_posts WHERE post_status = \'2\') as pospelera, (SELECT count(foto_id) FROM f_fotos WHERE f_status = \'2\') as fospelera')); $datos['total'] = $datos['repposts'] + $datos['repfotos'] + $datos['repvideos'] + $datos['repmps'] + $datos['repusers'] + $datos['revposts'] + $datos['revcomentarios']; return $datos; } Ahora en admin.php buscamos //FOTOS } elseif($action == 'fotos'){ if(!$act) { $smarty->assign("tsAdminFotos",$tsAdmin->GetAdminFotos()); } y debajo pegamos //VIDEOS } elseif($action == 'videos'){ if(!$act) { $smarty->assign("tsAdminVideos",$tsAdmin->GetAdminVideos()); } Ahora en moderacion.php buscamos // SUSPENSIONES elseif($action == 'banusers'){ y arriba pegamos elseif($action == 'videos'){ include('../ext/datos.php'); if(empty($act)){ $smarty->assign("tsReports",$tsMod->getDenuncias($action)); $smarty->assign("tsDenuncias",$tsDenuncias[$action]); }elseif($act == 'info'){ $smarty->assign("tsDenuncia",$tsMod->getDenuncia($action)); $smarty->assign("tsDenuncias",$tsDenuncias[$action]); } elseif ($act == 'borrar'){ $tsMod->deleteVideo($vid_); header('location: /moderacion/videos'); } } Luego buscamos // CONTENIDO DESAPROBADO y arriba pegamos elseif($action == 'vipelera'){ $smarty->assign("tsVipelera",$tsMod->getVipelera()); } Ahora en ajax buscamos el archivo ajax.admin.php y buscaremos 'admin-badwords-delete' => array('n' => 4, 'p' => ''), debajo pegamos 'admin-video-borrar' => array('n' => 4, 'p' => ''), 'admin-video-setOpenClosed' => array('n' => 4, 'p' => ''), 'admin-video-setShowHide' => array('n' => 4, 'p' => ''), luego buscamos case 'admin-users-InActivo': y arriba pegamos case 'admin-video-borrar': //<--- echo $tsAdmin->DelVideo(); //---> break; case 'admin-video-setOpenClosed': //<--- echo $tsAdmin->setOpenClosedVideo(); //---> break; case 'admin-video-setShowHide': //<--- echo $tsAdmin->setShowHideVideo(); //---> break; En ajax.denuncia.php buscamos 'denuncia-usuario' => array('n' => 2, 'p' => 'form'), y debajo pegamos 'denuncia-video' => array('n' => 2, 'p' => 'form'), después buscamos case 'denuncia-mensaje': y arriba pegamos case 'denuncia-video': // CREAR DENUNCIA if($_POST['razon']){ $tsAjax = 1; echo $tsSwat->setDenuncia($obj_id, 'video'); // FORMULARIO DE DENUNCIA } else { // VARS $tsData = array( 'obj_id' => $obj_id, 'obj_title' => $tsCore->setSecure($_POST['obj_title']), 'obj_user' => $tsCore->setSecure($_POST['obj_user']), ); // DATOS include("../ext/datos.php"); $smarty->assign("tsData",$tsData); $smarty->assign("tsDenuncias",$tsDenuncias['videos']); } break; Ahora en el archivo ajax.moderacion.php buscamos 'moderacion-mps' => array('n' => 3, 'p' => 'main'), y debajo pegamos 'moderacion-videos' => array('n' => 3, 'p' => 'main'), despues buscamos case 'moderacion-fotos': y arriba pegamos case 'moderacion-videos': //<-- $vid = (int)$_POST['vid']; // ACCIONES SECUNDARIAS switch($do){ case 'reboot': $tsAjax = 1; echo $tsMod->rebootVideo($_POST['id']); break; case 'borrar': if($_POST['razon']){ $tsAjax = 1; echo $tsMod->deleteVideo($vid); }else { include('../ext/datos.php'); $tsPage = 'php_files/p.videos.mod'; $smarty->assign("tsDenuncias",$tsDenuncias['videos']); } break; Ahora buscamos el archivo datos.php en el directorio inc/ext y buscamos al final de todo ); y arriba pegamos 'videos' => array( '', 'Ya está publicado', 'Se hace Spam', 'El video no anda', 'Es racista o irrespetuosa', 'Contiene información personal', 'Contiene pedofilia', 'Es gore o asquerosa', 'Otra razón (especificar)' ), Ahora buscamos en acciones.js case 'fotoid': if(global_data.fotoid!='') return r+global_data.fotoid; break; y debajo pegamos case 'videoid': if(global_data.videoid!='') return r+global_data.videoid; break; Ahora buscamos en admin.js medallas : { borrar:function(mid, gew){ y arriba pegamos videos : { borrar:function(vid, gew){ if(!gew){ mydialog.show(); mydialog.title('Borrar Video'); mydialog.body('&#191;Quiere borrar este video permanentemente?'); mydialog.buttons(true, true, 'Sí', 'admin.videos.borrar(' + vid + ', 1)', true, false, true, 'No', 'close', true, true); mydialog.center(); }else{ $('#loading').fadeIn(250); $.post(global_data.url + '/admin-video-borrar.php', 'vid_id=' + vid, function(a){ mydialog.alert((a.charAt(0) == '0' ? 'Opps!' : 'Hecho'), a.substring(3), false); mydialog.center(); success: $('#video_' + vid).fadeOut(); $('#loading').fadeOut(350); }); } }, setOpenClosed:function(vid){ $('#loading').fadeIn(250); $.ajax({ type: 'POST', url: global_data.url +'/admin-video-setOpenClosed.php', data: 'vid=' + vid, success: function(h){ switch(h.charAt(0)){ case '0': //Error mydialog.alert('Error', h.substring(3)); break; case '1': // $('#comments_video_' + vid).html('<font color="red">Cerrados</font>'); break; case '2': // $('#comments_video_' + vid).html('<font color="green">Abiertos</font>'); break; } $('#loading').fadeOut(350); } }); }, setShowHide:function(vid){ $('#loading').fadeIn(250); $.ajax({ type: 'POST', url: global_data.url +'/admin-video-setShowHide.php', data: 'vid=' + vid, success: function(h){ switch(h.charAt(0)){ case '0': //Error mydialog.alert('Error', h.substring(3)); break; case '1': // $('#status_video_' + vid).html('<font color="purple">Oculto</font>'); break; case '2': // $('#status_video_' + vid).html('<font color="green">Visible</font>'); break; } $('#loading').fadeOut(350); } }); }, }, En moderacion.js buscamos users: { action: function(uid, action, redirect){ y arriba pegamos videos : { // BORRAR borrar:function(vid, redirect, aceptar){ if(!aceptar){ $.ajax({ type: 'POST', url: global_data.url + '/moderacion-videos.php?do=borrar', success: function(h){ mydialog.show(); mydialog.title('Borrar Video'); mydialog.body(h); mydialog.buttons(true, true, 'Borrar', 'mod.videos.borrar(' + vid + ", '" + redirect + "', 1);", true, false, true, 'Cancelar', 'close', true, true); $('#modalBody').css('padding', '20px 10px 0'); mydialog.center(); return; } }); } else { mydialog.procesando_inicio('Eliminando...', 'Borrar Video'); var razon = $('#razon').val() var razon_desc = $('input[name=razon_desc]').val(); $('#loading').fadeIn(250); $.ajax({ type: 'POST', url: global_data.url + '/moderacion-videos.php?do=borrar', data: 'vid=' + vid + '&razon=' + razon + '&razon_desc=' + razon_desc, success: function(h){ switch(h.charAt(0)){ case '0': //Error mydialog.alert('Error', h.substring(3)); break; case '1': if(redirect == 'true') mod.redirect("/moderacion/videos", 1200); else if(redirect == 'videos') { mydialog.alert('Aviso', h.substring(3)); mod.redirect("/videos/", 2000); } else { mydialog.close(); $('#report_' + vid).slideUp(); } break; } $('#loading').fadeOut(350); }, complete: function(){ mydialog.procesando_fin(); $('#loading').fadeOut(350); } }); } }, }, En el archivo p.denuncia.form.tpl buscamos {elseif $tsAction == 'denuncia-mensaje'} y arriba pegamos {elseif $tsAction == 'denuncia-video'} <div align="center" style="padding:10px 10px 0"> <b>Denunciar video:</b><br /> {$tsData.obj_title}<br /><br /> <b>Razón de la denuncia:</b><br /> <select name="razon"> {foreach from=$tsDenuncias key=i item=denuncia} {if $denuncia}<option value="{$i}">{$denuncia}</option>{/if} {/foreach} </select><br /> <b>Aclaración y comentarios:</b><br /> <textarea tabindex="6" rows="5" cols="40" name="extras"><textarea><br /> <span class="size9">Para atender tu caso rápidamente, adjunta pruebas de tu denuncia.<br /> (capturas de pantalla)</span> </div> Ahora en main_header.tpl buscamos fotoid:'{$tsFoto.foto_id}', y debajo pegamos videoid:'{$tsVideo.vid_id}', Ahora en head_menu.tpl buscamos {if $tsConfig.c_fotos_private == '1' && !$tsUser->is_member}{else} <li class="tabbed {if $tsPage == 'fotos'}here{/if}" id="tabbedfotos"> <a title="Ir a Fotos" onclick="menu('fotos', this.href); return false;" href="{$tsConfig.url}/fotos/">Fotos <img alt="Drop Down" src="{$tsConfig.tema.t_url}/images/arrowdown.png"></a> </li> {/if} y debajo pegamos <li class="tabbed {if $tsPage == 'videos'}here{/if}" id="tabbedvideos"> <a title="Ir a Videos" onclick="menu('videos', this.href); return false;" href="{$tsConfig.url}/videos/">Videos <img alt="Drop Down" src="{$tsConfig.tema.t_url}/images/arrowdown.png"></a> </li> Ahora en head_submenu.tpl buscamos <div id="subMenuTops" class="subMenu {if $tsPage == 'tops'}here{/if}"> <ul class="floatL tabsMenu"> arriba pegamos <div id="subMenuVideos" class="subMenu {if $tsPage == 'videos'}here{/if}"> <ul class="floatL tabsMenu"> <li{if $tsAction == '' && $tsAction != 'agregar' && $tsAction != 'album' && $tsAction != 'favoritas' || $tsAction == 'ver'} class="here"{/if}><a href="{$tsConfig.url}/videos/">Inicio</a></li> {if $tsAction == 'album' && $tsVUser.0 != $tsUser->uid}<li class="here"><a href="{$tsConfig.url}/videos/{$tsVUser.1}">Álbum de {$tsVUser.1}</a></li>{/if} {if $tsUser->is_admod}<li{if $tsAction == 'agregar'} class="here"{/if}><a href="{$tsConfig.url}/videos/agregar/">Agregar Video</a></li>{/if} {if $tsUser->is_member} <li{if $tsAction == 'album' && $tsVUser.0 == $tsUser->uid} class="here"{/if}><a href="{$tsConfig.url}/videos/album/{$tsUser->nick}">Mis Videos</a></li>{/if} <li><a href="{$tsConfig.url}/buscadorv/">Buscador</a></li> </ul> <div class="clearBoth"></div> </div> Ahora en t.admin.tpl buscamos {/if} </div> y arriba pegamos {elseif $tsAction == 'videos'} {include file='admin_mods/m.admin_videos.tpl'} Ahora en t.moderacion.tpl buscamos {elseif $tsAction == 'posts'} {include file='admin_mods/m.mod_report_posts.tpl} y debajo pegamos {elseif $tsAction == 'videos'} {include file='admin_mods/m.admin_videos.tpl'} mas abajo buscamos {if $tsUser->is_admod || $tsUser->permisos.morp}{include file='admin_mods/m.mod_papelera_posts.tpl'}{/if} y debajo pegamos {elseif $tsAction == 'vipelera'} {if $tsUser->is_admod}{include file='admin_mods/m.mod_papelera_videos.tpl'}{/if} Ahora en m.admin_sidemenu.tpl buscamos <li id="a_posts"><span class="cat-title"><a href="{$tsConfig.url}/admin/posts">Todos los Posts</a></span></li> y debajo pegamos <li id="a_film"><span class="cat-title"><a href="{$tsConfig.url}/admin/videos">Todos los Videos</a></span></li> Ahora en m.mod_sidemenu.tpl buscamos </ul> {if $tsUser->is_admod || $tsUser->permisos.movub || $tsUser->permisos.moub} <h4>Gestión</h4> y arriba pegamos <li id="a_film"><span class="cat-title"><a onclick="$('#a_film').addClass('active');" href="{$tsConfig.url}/moderacion/videos">Videos <span class="cadGe cadGe_{if $tsConfig.novemods.repvideos > 15}red{elseif $tsConfig.novemods.repvideos > 5}purple{else}green{/if}">{$tsConfig.novemods.repvideos}</span></a></span></li> ahora buscamos </ul> {/if} {if $tsUser->is_admod || $tsUser->permisos.mocp || $tsUser->permisos.mocc} <h4>Contenido desaprobado</h4> y arriba pegan {if $tsUser->is_admod}<li id="a_vipelera"><span class="cat-title"><a onclick="$('#a_vipelera').addClass('active');" href="{$tsConfig.url}/moderacion/vipelera">Videos eliminados <span class="cadGe cadGe_{if $tsConfig.novemods.vispelera > 15}red{elseif $tsConfig.novemods.vispelera > 5}purple{else}green{/if}">{$tsConfig.novemods.vispelera}</span></a></span></li>{/if} Ahora en admin.css buscamos li#a_badwords {background-image: url(../images/icons/stop.png);} debajo pegamos li#a_film {background-image: url(../images/film.png);} Ahora en moderacion.css buscamos li#a_revposts {background-image: url(../images/icons/exclamation.png);} y debajo pegamos li#a_vipelera {background-image: url(../images/film.png);} li#a_film {background-image: url(../images/film.png);} Ahora en .htaccess buscamos # ADMIN y arriba pegamos # VIDEOS RewriteRule ^videos/([A-Za-z0-9_-]+).php$ inc/php/videos.php?action=$1 [QSA,L] RewriteRule ^videos/album/([A-Za-z0-9_-]+)$ inc/php/videos.php?action=album&user=$1 [QSA,L] RewriteRule ^videos/album/([A-Za-z0-9_-]+)/([0-9]+)$ inc/php/videos.php?action=album&user=$1&page=$2 [QSA,L] RewriteRule ^videos/([A-Za-z0-9_-]+)/([0-9]+)/([A-Za-z0-9_-]+).html$ inc/php/videos.php?action=ver&user=$1&vid=$2 [QSA,L] RewriteRule ^admin/videos/([A-Za-z0-9_-]+)/([0-9]+)$ inc/php/admin.php?action=videos&act=$1&vid=$2 [QSA,L] RewriteRule ^videos/([A-Za-z0-9_-]+)/([0-9]+)$ inc/php/videos.php?action=$1&id=$2 [QSA,L] Para hacer las consultas CREATE TABLE IF NOT EXISTS `v_videos` ( `vid_id` int(11) NOT NULL AUTO_INCREMENT, `vid_title` varchar(40) NOT NULL, `vid_date` int(10) NOT NULL, `vid_description` text NOT NULL, `vid_url` varchar(200) NOT NULL, `vid_user` int(11) NOT NULL, `vid_closed` int(1) NOT NULL DEFAULT '0', `vid_visitas` int(1) NOT NULL DEFAULT '0', `vid_votos_pos` int(3) NOT NULL DEFAULT '0', `vid_votos_neg` int(3) NOT NULL DEFAULT '0', `vid_status` int(1) NOT NULL DEFAULT '0', `vid_last` int(1) NOT NULL DEFAULT '0', `vid_hits` int(11) NOT NULL DEFAULT '0', `vid_ip` varchar(15) NOT NULL DEFAULT '0', PRIMARY KEY (`vid_id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1; CREATE TABLE IF NOT EXISTS `v_comentarios` ( `cid` int(11) NOT NULL AUTO_INCREMENT, `c_vid_id` int(11) NOT NULL, `c_user` int(11) NOT NULL, `c_date` int(10) NOT NULL, `c_body` text NOT NULL, `c_ip` varchar(15) NOT NULL, PRIMARY KEY (`cid`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; CREATE TABLE IF NOT EXISTS `v_votos` ( `vid` int(11) NOT NULL AUTO_INCREMENT, `v_vid_id` int(11) NOT NULL, `v_user` int(11) NOT NULL, `v_type` int(1) NOT NULL, `v_date` int(11) NOT NULL, PRIMARY KEY (`vid`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; ALTER TABLE `w_medallas` ADD `m_cond_video` INT( 11 ) NOT NULL; ALTER TABLE `w_stats` ADD `stats_videos` INT NOT NULL; ALTER TABLE `w_stats` ADD `stats_video_comments` INT NOT NULL; ALTER TABLE `u_miembros` ADD `user_videos` INT(11) NOT NULL; Descargar [Mod] Sección Video Actualizado - By Miguel92
  9. 2 points
    Bueno les presento el primer theme o skin como quieran llamarlo, pero usando Material Design aunque solo hay que hacer unos pequeños ajuste pero ya esta lista para usar... ASÍ QUEDARÁ ↓ ↓ ↓ ↓ ↓ Lo pueden descargar tranquilamente desde mi repositorio en GitHub así en el caso que vaya agregando las modificaciones ya solamente descargan el archivo modificado o ver para evitar descargar todo otra vez...tiene la carpeta res que solo tiene el css y el js necesario para que funcione y en la carpeta themes tiene el skin con algunas modificaciones PD: lo instalan como MaterialDesign
  10. 2 points
    Hola,os este theme V5 actualizado a la versión 1.2.6.000 y aparte le he le he corregido algunas cosas,comunidades,shouts,fix en los juegos,rss web,rss usuario.... Esta versión es para intalar como el script de PHPOST,desde cero,despues cuando tenga otro rato, dejo aquí el theme,para que no tengan problemas el que ya tenga en su web un theme. Si la tienes instalada y no has instalado ningún mod,puedes subir todos los archivos menos config.inc , cache , files , install ,si tienes ya instalado algún mod ó algo,despues voy a dejar el theme y los archivos editado solo. Cualquier cosa avisan,saludos Instalación: www.tuweb.com www.tuweb.com/install/index.php Imágenes Rss web Rss usuario Actualizado 21/11/2016 Megahttps://mega.nz/#!9RdBDJxB!5l0kvAvkK9tFsEBFt6ttNAzlqKjDRBOSsnwP6Yqdfes Mediafirehttp://www.mediafire.com/file/mgxx2sancwrl12j/Theme+V5-v2a.rar Pass Tronlar
  11. 2 points
    Se refiere a que busques en el archivo c.posts.php de la carpeta inc/class la función "function newPost()" y que copies y pegues el contenido acá, es decir lo que está entre llaves De igual forma, que copies y peques el contenido del archivo m.agregar_form.tpl acá Tenias la web en modo mantenimiento, es por eso que él no puede revisar por el mismo el tpl
  12. 2 points
    Encontré un "pequeño" bug en las comunidades al intentar editar un tema sin estar siquiera logueado. Para solucionarlo vamos al archivo comunidades.php dentro de inc/php Buscamos }elseif($act == 'editar-tema') { y abajo agregamos if(!$tsCom->verify_permisos($get_com['com']['c_id'])) {$tsError = 'Tu rango no te permite realizar esta operación.';}; Esto es todo, créditos @bits4me
  13. 2 points
    FIX DE: [MOD -Actualizado] Sección Videos - parte 1 Primer error: imagen Solución: Buscar el archivo c.swat.php y buscamos case: 'videos': y borramos todos hasta el break; y en su lugar colocaremos este, también se SOLUCIONA el error de que no denunciaba, ahora con este si ya se podrá case 'video': // ¿ES MI VIDEO O ESTÁ OCULTO? $query = db_exec(array(__FILE__, __LINE__), 'query', 'SELECT `vid_id`, `vid_user`, `vid_status` FROM `v_videos` WHERE `vid_id` = \''.(int)$obj_id.'\' LIMIT 1') or exit( show_error('Error al ejecutar la consulta de la l&iacute;nea '.__LINE__.' de '.__FILE__.'.', 'db') ); $my_video = db_exec('fetch_assoc', $query); if(empty($my_video['vid_id'])) return '0: Este video no existe'; if($my_video['vid_user'] == $tsUser->uid) return '0: No puedes denunciar tus propios videos.'; if($my_video['vid_status'] == '1') return '0: No puedes denunciar videos ocultos.'; // YA HA REPORTADO? $query = db_exec(array(__FILE__, __LINE__), 'query', 'SELECT `did` FROM `w_denuncias` WHERE `obj_id` = \''. (int)$obj_id.'\' AND `d_user` = '.$tsUser->uid.' AND `d_type` = \'5\''); $denuncio = db_exec('num_rows', $query); if(!empty($denuncio)) return '0: Ya habías denunciado este video.'; // CUANTAS DENUNCIAS LLEVA? $denuncias = db_exec('num_rows', db_exec(array(__FILE__, __LINE__), 'SELECT `did` FROM `w_denuncias` WHERE `obj_id` = \''.(int)$obj_id.'\'')); // OCULTAMOS EL VIDEO SI YA LLEVA MÁS DE 3 DENUNCIAS if($denuncias >= 2){ db_exec(array(__FILE__, __LINE__), 'UPDATE `v_videos` SET `vid_status` = \'1\' WHERE `vid_id` = \''.(int)$obj_id.'\'') or exit( show_error('Error al ejecutar la consulta de la l&iacute;nea '.__LINE__.' de '.__FILE__.'.', 'db') ); db_exec(array(__FILE__, __LINE__), 'UPDATE `w_stats` SET `stats_videos` = stats_videos - \'1\' WHERE `stats_no` = \'1\''); } // INSERTAR NUEVA DENUNCIA if(db_exec(array(__FILE__, __LINE__), 'query', 'INSERT INTO `w_denuncias` (`obj_id`, `d_user`, `d_razon`, `d_extra`, `d_type`, `d_date`) VALUES (\''.(int)$obj_id.'\', \''.$tsUser->uid.'\', \''.$razon.'\', \''.$extras.'\', \'5\', \''.$date.'\')')){ return '1: La denuncia fue enviada.'; } else return '0: Error, int&eacute;ntalo m&aacute;s tarde.'; break; Segundo error: imagen Solución: Buscamos el archivo p.denuncia.form.tpl y buscamos {elseif $tsAction == 'denuncia-video'} .... y reemplazamos por este {elseif $tsAction == 'denuncia-video'} <div align="center" style="padding:10px 10px 0"> <b>Denunciar video:</b><br /> {$tsData.obj_title}<br /><br /> <b>Razón de la denuncia:</b><br /> <select name="razon"> {foreach from=$tsDenuncias key=i item=denuncia} {if $denuncia}<option value="{$i}">{$denuncia}</option>{/if} {/foreach} </select><br /> <b>Aclaración y comentarios:</b><br /> <textarea tabindex="6" rows="5" cols="40" name="extras"></textarea><br /> <span class="size9">Para atender tu caso rápidamente, adjunta pruebas de tu denuncia.<br /> (capturas de pantalla)</span> </div> Tercer error: En moderación de videos, buscamos en c.moderacion.php case 'videos': $query = db_exec(array(__FILE__, __LINE__), 'query', 'SELECT r.*, SUM(d_total) AS total, v.vid_id, v.vid_title, v.vid_status, u.user_id, u.user_name FROM w_denuncias AS r LEFT JOIN v_videos AS v ON r.obj_id = v.vid_id LEFT JOIN u_miembros AS u ON v.vid_user = u.user_id WHERE d_type = \'5\' && v.vid_status < 2 GROUP BY r.obj_id ORDER BY total DESC, r.d_date DESC'); $data = result_array($query); break; y la reemplazamos por case 'videos': $query = db_exec(array(__FILE__, __LINE__), 'query', 'SELECT r.*, SUM(d_total) AS total, v.vid_id, v.vid_title, v.vid_status, u.user_id, u.user_name FROM w_denuncias AS r LEFT JOIN v_videos AS v ON r.obj_id = v.vid_id LEFT JOIN u_miembros AS u ON v.vid_user = u.user_id WHERE d_type = \'5\' && v.vid_status < 2 GROUP BY r.obj_id ORDER BY total DESC, r.d_date DESC'); $data = result_array($query); break; Luego buscamos el archivo t.moderacion.tpl y buscamos {elseif $tsAction == 'videos'} {include file='admin_mods/m.admin_videos.tpl'} y la reemplazamos por {elseif $tsAction == 'videos'} {include file='admin_mods/m.mod_report_videos.tpl'} Cuarto error: imagen Solución: Ir a ajax.moderacion.php y arriba de ?> le agregaremos una llave } Se que todavía falta arreglar algunas cosas pero, hasta ahora he podido solucionar eso, en cuanto tenga más soluciones se los haré saber!! Espero que sea suficiente, ya que no todos los usuarios serán moderadores ni administradores
  14. 2 points
    Bueno realizando pedido: Usuario: @CJ23 Pedido: [Pedido] Selector de temas Espero que alguien más le sirva! solo un pequeño de talle con el cache, o solo creo que me pasa a mi porque tengo en uno de los themes más archivos que en los otros y me salta el error de que me falta un archivo que solo lo tiene un theme He tomado el [MOD] Selector de themes por usuario del usuario → @alexander1712, pero como no lo encontré actualizado he decidido actualizarlo a la Versión 1 y Versión 2(en uno solo), si ya existía pido perdón...Pero como dije antes "pero como no lo encontré actualizado" Sin utilizar el migrado migrador... Bueno empecemos 1) - Realizar la consulta ALTER TABLE `u_miembros` ADD `user_theme` INT NOT NULL 2) - Buscamos el archivo c.core.php en inc/class y vamos al final y arriba de la última llave colocaremos function set_theme_by_user($uid) { $uid = (int) $uid; $query = db_exec(array(__FILE__,__LINE__),'query', 'SELECT user_theme FROM u_miembros where user_id = '.$uid); if($result = db_exec('fetch_array',$query)) { if($result['user_theme']!=0) { $query = db_exec(array(__FILE__,__LINE__),'query', 'SELECT * FROM w_temas WHERE tid = '.$result['user_theme']); $data = db_exec('fetch_assoc', $query); $data['t_url'] = $this->settings['url'] . '/themes/' . $data['t_path']; $this->settings['tema'] = $data; } } } function get_RLtheme() { $query = db_exec(array(__FILE__,__LINE__),'query', 'SELECT tid, t_name FROM w_temas'); return result_array($query); } 3) - Ahora buscamos en la raíz header.php y buscamos // Mensajes $tsMP = new tsMensajes(); y debajo pegamos // definimos el template por usuario, si no esta loggeado queda default if($tsUser->is_member) $tsCore->set_theme_by_user($tsUser->uid); Luego más abajo buscamos // Smarty $smarty =& tsSmarty::getInstance(); y la reemplazamos por // Smarty // $smarty =& tsSmarty::getInstance(); // Por si tienen que volverlo a como estaba antes $smarty =& tsSmarty::getInstance($tsTema); 4) - Ahora en c.cuenta.php buscamos // ACTUALIZAR if($save == 1) { db_exec(array(__FILE__, __LINE__), 'query', 'UPDATE u_miembros SET user_email = \''.$tsCore->setSecure($perfilData['email'], true).'\' WHERE user_id = \''.$tsUser->uid.'\''); array_splice($perfilData, 0, 1); // HACK $updates = $tsCore->getIUP($perfilData, 'user_'); if(!db_exec(array(__FILE__, __LINE__), 'query', 'UPDATE u_perfil SET '.$updates.' WHERE user_id = \''.$tsUser->uid.'\'')) return array('error' => show_error('Error al ejecutar la consulta de la línea '.__LINE__.' de '.__FILE__.'.', 'db')); debajo pegamos db_exec(array(__FILE__, __LINE__), 'query', 'UPDATE u_miembros SET user_theme = '.(int)$_POST['theme'].' WHERE user_id = '.$tsUser->uid); 5) - Ahora en c.smarty.php buscamos function tsSmarty() { global $tsCore; // $this->template_dir = TS_ROOT.DIRECTORY_SEPARATOR.'themes'.DIRECTORY_SEPARATOR.TS_TEMA.DIRECTORY_SEPARATOR.'templates'; $this->compile_dir = TS_ROOT.DIRECTORY_SEPARATOR.'cache'; $this->template_cb = array('url' => $tsCore->settings['url'], 'title' => $tsCore->settings['titulo']); // $this->_tpl_hooks = array(); } y la reemplazamos por function tsSmarty($leader) { global $tsCore; // $this->template_dir = TS_ROOT.DIRECTORY_SEPARATOR.'themes'.DIRECTORY_SEPARATOR.TS_TEMA.DIRECTORY_SEPARATOR.'templates'; $this->compile_dir = TS_ROOT.DIRECTORY_SEPARATOR.'cache/'.$leader; $this->template_cb = array('url' => $tsCore->settings['url'], 'title' => $tsCore->settings['titulo']); // $this->_tpl_hooks = array(); } y un poco más abajo buscamos public static function &getInstance() { static $instance; if( is_null($instance) ) { $instance = new tsSmarty(); } y la reemplazamos, lo que se hizo fue agregar el $leader en public static function &getInstance() y en new tsSmarty() public static function &getInstance($leader) { static $instance; if( is_null($instance) ) { $instance = new tsSmarty($leader); } 6) - Ahora en c.admin.php buscamos // NUEVO if (db_exec(array(__FILE__, __LINE__), 'query', 'INSERT INTO `w_temas` (`t_name`, `t_url`, `t_path`, `t_copy`) VALUES (\'' . $tsCore->setSecure($temadb['nombre']) . '\', \'' . $tsCore->setSecure($temadb['url']) . '\', \'' . $tsCore->setSecure($tema_path) . '\', \'' . $tsCore->setSecure($temadb['copy']) . '\')')) return 1; else return 'Ocurrió un error durante la instalación. Consulta el foro ofcial de PHPost.'; } y la reemplazamos por // NUEVO if (db_exec(array(__FILE__, __LINE__), 'query', 'INSERT INTO `w_temas` (`t_name`, `t_url`, `t_path`, `t_copy`) VALUES (\'' . $tsCore->setSecure($temadb['nombre']) . '\', \'' . $tsCore->setSecure($temadb['url']) . '\', \'' . $tsCore->setSecure($tema_path) . '\', \'' . $tsCore->setSecure($temadb['copy']) . '\')')) { mkdir('../../cache/'.$tema_path); return 1; } else { return 'Ocurrió un error durante la instalación. Consulta el foro ofcial de PHPost.'; } 7) - Ahora en cuenta.php buscamos // PERFIL INFO $tsPerfil = $tsCuenta->loadPerfil(); $smarty->assign("tsPerfil",$tsPerfil); debajo pegamos // themes info $smarty->assign("tsRLThemes",$tsCore->get_RLtheme()); 8) - Y último paso buscamos m.cuenta_cuenta.tpl: <select class="cuenta-save-1" name="ano"> {section name=year start=$tsEndY loop=$tsEndY step=-1 max=$tsMax} <option value="{$smarty.section.year.index}" {if $tsPerfil.user_ano == $smarty.section.year.index}selected="selected"{/if}>{$smarty.section.year.index}</option> {/section} </select> </div> y debajo pegamos esto por cada theme que tengamos instalado <div class="field"> <label for="pais">Diseño:</label> <select class="cuenta-save-1" name="theme"> <option value="0">Tema por defecto</option> {foreach from=$tsRLThemes item=theme} <option value="{$theme.tid}" {if $code == $tsPerfil.user_pais}selected="selected"{/if}>{$theme.t_name}</option> {/foreach} </select> </div> Espero no haberme olvidado de algo!... Iba a usar también el mod Cambiar plantilla(usuario) de @Rhuan pero no me funciono, solo me recargaba la página...capaz lo hice mal pero ni idea...he seguido todos los pasos!
  15. 2 points
  16. 2 points
    no es nuevo ni complicado lo tengo desde hace mucho.... por cierto si vas a compartir algo deberías de hacerlo aquí, sino que caso tiene
  17. 2 points
    Hola,de nada,no me molesta para nada,cualquier duda pregunta. Hola,de nada,despues cuando tenga otro rato lo miro. Para la imagen de portada,borrad lo que hayáis hecho de ese mod y hacéis esto. Suben esta carpeta le dan a sustituir y ejecutan esta consulta en vuestra base de datos. ALTER TABLE `p_posts` ADD `post_imgport` VARCHAR( 500 ) NOT NULL AFTER `post_title`
  18. 2 points
    Cromos: Sí Logros: Ni Análisis: Variados. http://store.steampowered.com/app/428430/Endorlight/ KEY: https://woobox.com/e5t9qs?embed=1
  19. 2 points
    Steam: http://store.steampowered.com/app/505440/GooCubelets_The_Void/ http://store.steampowered.com/app/460660/ Key: http://www.grabthegames.com/giveaway-goocubelets-ocd-and-the-void.html Cromos: Sí Logros: Sí Análisis: Variados.
  20. 2 points
    https://gleam.io/ZKqzW/free-steam-keys-for-safeguard-garrison Deben completar las 3 tareas del link (unirse a un grupo y hacer click en 2 links, no es necesario registrarse en ellos). Recomiendo que se salgan del grupo una vez que obtengan la key, para evitar que les envíen spam. Cromos: Si Logros: Si Reviews: Mayormente negativos (33%) Mas información del juego en: http://store.steampowered.com/app/585580/The_Safeguard_Garrison/ ??? Lo único bueno que tiene, es que se pueden sacar muchos logros y éstos sirven para adornar el perfil, pueden ver los logros disponibles en: http://steamcommunity.com/stats/585580/achievements
  21. 2 points
    Hola a todos. Las siguientes funciones de Risus fueron actualizadas en Risus2 a: Jquery 1.7.1 a 3.2.1. Live() por On() [gracias @Altffenser por decirme] Mydialog -> Bootstrap 4: Modals. Tipsy -> Bootstrap 4: Tooltips. Size() por Length. Plugin Jcrop actualizado a la última versión. Se removió autogrow, ya que será implementado de mejor manera en futuras versiones. Recaptcha 1 a Recaptcha 2. También creo que actualizaré Jquery colors, form. Y también el editor será reemplazado por el Wysibb, aunque todavía no puedo confirmar nada. Para concluir, Me falta actualizar los Hovercard o Vcard a los popovers de Bootstrap.
  22. 2 points
    http://store.steampowered.com/app/233130/Shadow_Warrior/ Cromos: Si Logros: Si Reviews: Muy positivos (93%) Ya lo habían regalado en HumbleBundle, pero ahora lo pueden sacar directamente en Steam sin tener que hacer cuentas aparte. La promoción termina el 23 de agosto, una vez que agreguen el juego a su cuenta, será suyo para siempre.
  23. 2 points
    Hola a todos. Primero que nada, hoy quiero agradecerles a todos los que están participando constantemente con el proyecto y también dar las gracias por la "gran" aceptación que tuvo en la primera versión (que fue un desastre, tengo que admitirlo ), y la segunda que venía con más fixes que la primera release traía. He estado trabajando arduamente a la par con mis estudios para poder traerles releases con muchos fixes, novedades, etc. Respondere algunas preguntas que varios usuarios haría ¿Puedo trabajar en themes o modificaciones? Por el momento, no recomiendo empezar a diseñar o trabajar en modificaciones, ya que hasta la quinta release (risus2_v_0_1_5_alpha), van a cambiar varias cosas que tengo pensadas, y por lo tanto, la idea es mantener una versión más o menos estable la cual se pueda trabajar tranquilamente. ¿Cómo puedo usar mis themes de Risus a Risus2? También, haré una guía de como adaptar temas de Risus a Risus2, ya que varios me la han pedido, no se que opinan al respecto, déjenlo acá abajo en las respuestas. ¿Qué es la herramienta del theme? La herramienta de theme no es un editor, es una herramienta la cual genera un .ZIP y el archivo install.php para poder empezar a trabajar en el theme y no hacerlo en el default. Esto es casi lo mismo que copiar la carpeta /default/, renombrarla y colocarle el install.php, aunque debido a los cambios, les recomendaría usar esta herramienta la cual será subida cuando @Miguel92 y yo terminemos de diseñar el theme default para la tercera release. ¿Cúando se publicará la tercera release? Aproximadamente la semana del 18 de Septiembre del 2017. Por cierto, me gustaría que opinaran de que les gustaría que hubiera en la segunda release y futuras para incluirlas, por favor, vayan a la sección de opinión y dejen lo que les gustaría ver. ¿Creación de archivos? Lo único que se requiere al crear un archivo nuevo, es colocar la información del archivo, aquí lo explico. ¿Mi Risus2? Exacto, es tu Risus2, en esta sección podrás publicar tu propia versión del script, es decir, cuando modifiques a gran escala el script, tu podrás publicarlo ahí. Nota: Esto no es para publicar themes o modificaciones, para ellos existe la sección diseño y mods. También los avances de la segunda release, no son muchos, pero algo es algo: Solución de bug al instalar un theme desde la Administración. Bugs de ortografía y al colocar keys de recaptcha en la instalación. Bugs de Recaptcha v2 mal implementado. Diseño V0.3 (Leer Más) Jquery 3.2.1 y Actualización de todas las funciones obsoletas en el JS como live por on, size por length, etc.. (Leer más) Nuevo archivo de las Keys de Recaptcha. Se eliminaron todas las fotos que vienen en /files/uploads/, las cuales, se me olvidaron borrar... Se crea una página de créditos dentro del blog para darle créditos al trabajo de cada persona. Ahora se usan cookies en vez de sesiones en el install. Espero que sigan apoyando al proyecto! Un saludo a todos!
  24. 1 point
    Los switchsMD serán removidos en la versión risus2_v_1_0_1_beta del script.
  25. 1 point
  26. 1 point
    FIX O SOLUCIÓN: buscar en style.css /** SWITCHS **/ input[type="checkbox"].switchmd{position:absolute;margin:8px 0 0 16px}input[type="checkbox"].switchmd+label{position:relative;padding:5px 0 0 50px}input[type="checkbox"].switchmd+label{content:"";position:absolute;display:block;left:0;top:0;width:40px;height:24px;border-radius:16px;background:#fff;border:1px solid #d9d9d9;-webkit-transition:all 0.3s;transition:all 0.3s}input[type="checkbox"].switchmd+label:after{content:"";position:absolute;display:block;left:0;top:0;width:24px;height:24px;border-radius:16px;background:#fff;border:1px solid #d9d9d9;-webkit-transition:all 0.3s;transition:all 0.3s}input[type="checkbox"].switchmd+label:hover:after{box-shadow:0 0 5px rgba(0,0,0,.3)}input[type="checkbox"].switchmd:checked+label:after{margin-left:16px}input[type="checkbox"].switchmd:checked+label{background:#55D069}input[type="checkbox"].switchmd-sm{margin:5px 0 0 10px}input[type="checkbox"].switchmd-sm+label{position:relative;padding:0 0 0 32px;line-height:1.3em}input[type="checkbox"].switchmd-sm+label{width:25px;height:15px;border-radius:10px}input[type="checkbox"].switchmd-sm+label:after{width:15px;height:15px;border-radius:10px}input[type="checkbox"].switchmd-sm+label:hover:after{box-shadow:0 0 3px rgba(0,0,0,.3)}input[type="checkbox"].switchmd-sm:checked+label:after{margin-left:10px}input[type="checkbox"].switchmd-lg{margin:10px 0 0 20px}input[type="checkbox"].switchmd-lg+label{position:relative;padding:7px 0 0 60px;line-height:2.3em}input[type="checkbox"].switchmd-lg+label{width:50px;height:30px;border-radius:20px}input[type="checkbox"].switchmd-lg+label:after{width:30px;height:30px;border-radius:20px}input[type="checkbox"].switchmd-lg+label:hover:after{box-shadow:0 0 8px rgba(0,0,0,.3)}input[type="checkbox"].switchmd-lg:checked+label:after{margin-left:20px} y reemplazarlo por /** SWITCHS **/ input[type="checkbox"].switchmd{position:absolute;margin:8px 0 0 16px}input[type="checkbox"].switchmd+label{position:relative;padding:5px 0 0 50px}input[type="checkbox"].switchmd+label:before{content:"";position:absolute;display:block;left:0;top:0;width:40px;height:24px;border-radius:16px;background:#fff;border:1px solid #d9d9d9;-webkit-transition:all 0.3s;transition:all 0.3s}input[type="checkbox"].switchmd+label:after{content:"";position:absolute;display:block;left:0;top:0;width:24px;height:24px;border-radius:16px;background:#fff;border:1px solid #d9d9d9;-webkit-transition:all 0.3s;transition:all 0.3s}input[type="checkbox"].switchmd+label:hover:after{box-shadow:0 0 5px rgba(0,0,0,.3)}input[type="checkbox"].switchmd:checked+label:after{margin-left:16px}input[type="checkbox"].switchmd:checked+label:before{background:#55D069}input[type="checkbox"].switchmd-sm{margin:5px 0 0 10px}input[type="checkbox"].switchmd-sm+label{position:relative;padding:0 0 0 32px;line-height:1.3em}input[type="checkbox"].switchmd-sm+label:before{width:25px;height:15px;border-radius:10px}input[type="checkbox"].switchmd-sm+label:after{width:15px;height:15px;border-radius:10px}input[type="checkbox"].switchmd-sm+label:hover:after{box-shadow:0 0 3px rgba(0,0,0,.3)}input[type="checkbox"].switchmd-sm:checked+label:after{margin-left:10px}input[type="checkbox"].switchmd-lg{margin:10px 0 0 20px}input[type="checkbox"].switchmd-lg+label{position:relative;padding:7px 0 0 60px;line-height:2.3em}input[type="checkbox"].switchmd-lg+label:before{width:50px;height:30px;border-radius:20px}input[type="checkbox"].switchmd-lg+label:after{width:30px;height:30px;border-radius:20px}input[type="checkbox"].switchmd-lg+label:hover:after{box-shadow:0 0 8px rgba(0,0,0,.3)}input[type="checkbox"].switchmd-lg:checked+label:after{margin-left:20px} Para poner portada obligatoriamente..busca en default/modules/agregar/m.agregar_form.tpl y buscar <li class="form-group"> <label>Imagen de Portada</label> <input type="text" tabindex="2" name="imgport" maxlength="500" size="500" class="form-control text-inp" value="{if $tsDraft.b_imgport == '' || $tsDraft.b_imgport == 'NOIMAGE'}{else}{$tsDraft.b_imgport}{/if}"/> </li> y reemplazarla por <li class="form-group"> <label>Imagen de Portada</label> <span style="display: none;" class="errormsg text-danger"></span> <input type="text" tabindex="2" name="imgport" maxlength="500" size="500" class="form-control text-inp required" value="{if $tsDraft.b_imgport == '' || $tsDraft.b_imgport == 'NOIMAGE'}{else}{$tsDraft.b_imgport}{/if}"/> </li> La imagen sin la obligación estaría predefinida.
  27. 1 point
    Que temática tan interesante la de tu web, te recomiendo o bien buscar un buen diseñador o ir leyendo temas básicos de diseño si es que quieres aprender a editar tu sitio, que sin lugar a dudas entenderás porque esa paleta de colores para tu web es un desastre. Espero mejores tu web y con gusto podría ayudarte pero ando muy oxidado con PHPost (ó todo script). Éxitos.
  28. 1 point
    en realidad lo único que aporto fue una carita
  29. 1 point
    No hay soporte para esta versión, lo recomendable sería esperar la release del domingo.
  30. 1 point
    Para hacer esto: 1- Vamos a c.cuenta.php y buscamos // REAL STATS $data['stats'] = db_exec('fetch_assoc', db_exec(array(__FILE__, __LINE__), 'query', 'SELECT u.user_id, u.user_rango, u.user_puntos, u.user_posts, y a lado agregamos → u.user_videos, más abajo buscamos $q3 = db_exec('fetch_row', db_exec(array(__FILE__, __LINE__), 'query', 'SELECT COUNT(cid) AS c FROM p_comentarios WHERE c_user = \''.(int)$user_id.'\' && c_status = \'0\'')); debajo pegamos $q4 = db_exec('fetch_row', db_exec(array(__FILE__, __LINE__), 'query', 'SELECT COUNT(vid_id) AS v FROM v_videos WHERE vid_user = \''.(int)$user_id.'\' && vid_status = \'0\'')); después buscamos $data['stats']['user_seguidores'] = $q2[0]; $data['stats']['user_comentarios'] = $q3[0]; y debajo pegamos $data['stats']['user_videos'] = $q4[0]; Luego en el archivo m.perfil_headinfo.tpl buscamos <li> <strong>{$tsInfo.stats.user_fotos}</strong> <span>Fotos</span> </li> y debajo pegamos <li> <strong>{$tsInfo.stats.user_videos}</strong> <span>Videos</span> </li> RESULTADO:
  31. 1 point
    Hola, tras una larga espera para algunos, por fin voy a publicar la primera versión del chat de RC Design adaptado a Risus. Como cualquier chat que se desarrolla con ajax y php, el consumo de recursos del servidor es considerable y por esa razón no se recomienda utilizar este complemento en servidores gratuitos o con planes muy básicos, pero cabe mencionar que aunque este consumo sigue siendo elevado, si lo comparamos con otros chats publicados aquí, el de este es mucho menor. Actualización 16/02/2015 a las 16:00 - Descarga actualizada, corregido un bug que impedía mostrar emoticonos. 08/03/2015 a las 22:50 - Descarga actualizada: se añadió seguridad adicional para evitar el flood y se añadieron las mejoras de la versión "grupos de WhatsApp". Más capturas Eliminar un mensaje o todos del usuario. Suspender usuario por nick. Características Rangos y color iguales que en la web. Suspender usuario por nick y por mensaje. Ver/editar/eliminar usuarios suspendidos. Borrar mensajes individualmente o todos de un usuario. BBCodes: [b], [i], [u], [br], [url], [color]. Imágenes y URLs automáticas. Censuras globales (desde la administración). Emoticonos globales a través de censuras (desde la administración). Antiflood, suspende durante 2 horas. El antiflood no afecta al staff. Sonido al recibir mensajes (desactivado por defecto). Diseño separado para funcionar con cualquier plantilla. Créditos DuvanJ: por hacer de conejillo de indias y probar el chat en su web. tutan-kabron: por encontrar y dar solución al error al parsear emoticonos. Descarga Para Risus 1.2 o superior: rchat_cbox_1.1.zip Instrucciones Subir el directorio "install" a la raíz y acceder desde el navegador a tuweb.com
  32. 1 point
  33. 1 point
    Muchachos. Estoy tratando de agilizar la web, y me tope con este compresor. Se llama J I C. La web de github es : https://github.com/brunobar79/J-I-C y su web de ejemplo mostrando sus capacidades es : http://makeitsolutions.com/labs/jic/ Mi web: www.dibujandoconestilo.com Según lo que leí seria muy útil para comprimir las imágenes antes de subirlas sin perder mucha calidad (siempre y cuando no bajes el image ratio a menos de 20 por ciento, ahí si que pierde mucha calidad la foto). Pasa de imágenes de 1.5 mb a 30 kb, y bueno si la imagen pesa 90 kb supongo que lo comprimirá a 50kb, ya que es mas reducida ya de por si. Lo que no se es como se instala, y si lo llego a instalar me rompe sobrescribe algún archivo o algo de la web. Lo quería usar para comprimir las imágenes que tengo en mi web que son las portadas de los post. Ya que las imágenes que las representan son pequeñas pero el tamaño sigue siendo el mismo. Osea que si la imagen pesa 1 mb, es 1 mb de imagen en la pagina de inicio por portada de post. Si es que no le estoy mandando fruta jeje. Y de pasada si no lo conocían pueden echarle un ojo capaz les sirve para algo o capaz les parezca malo, por mi parte me encanto.
  34. 1 point
    Ahora no estoy en la pc grande, ya que contiene todos mis archivos...en cuando la use te paso la solución!
  35. 1 point
    Si no fuera tan malo con php, me encantaría ayudar! porque esta buena la idea...
  36. 1 point
  37. 1 point
    perfil.js: load: function(aid, obj){ // ACTUAL muro.stream.type = aid; // var atxt = (muro.stream.type == 'foto') ? 'a' : 'e'; atxt = 'Haz un comentario sobre est' + atxt + ' ' + muro.stream.type + '...'; // if(aid != 'status') { $('.btnStatus').hide(); $('.attaDesc').show(); $("#btn-adjuntar").css("display", "inline"); $('#attaDesc').attr('placeholder', atxt).val(atxt); } else { $('.btnStatus').show(); $('.attaDesc').hide(); } // $('span.uiComposer .nub, span.uiComposer span').hide(); $('span.uiComposer a').show(); $(obj).hide().parent().find('span, i').show(); // $('#attaContent > div').hide(); $('#' + aid + 'Frame').show(); // return false; },
  38. 1 point
    vale, lo are apenas tenga un rato libre
  39. 1 point
    En un mensaje del post digo como poner el título. Aquí lo tienes sin mods y con el título del post corregido. Mediafire Aquí lo tienes versión poringa Mediafire
  40. 1 point
    Hola,son 3 archivos los que tienes que editar,te dejo los archivos editados de la última versión del script. http://www.mediafire.com/file/nwqe6wv4jag1g70/fixbbcodekmario.rar
  41. 1 point
    avcs es necesario tener videos, pero no solo de youtube, asi se hace un collage bueno digno de ir a ver si hay mas es mucho trabajo io hice una pero no la termine por cuestiones de trabajo donde si gano money
  42. 1 point
    mmm reto nuevo... es mas de lo mismo de siempre algo inutil, pero bueno espero alguien se anime, se puede crear de cero o utilizar lo que ya existe para no crear mas tablas innecesarias pero ya se hizo algo asi una ves y no tuvo exito, creo que si alguien quiere ver un video se va a youtube directamente que el sitio mas optimo para eso.
  43. 1 point
    No,algo estas haciendo mal,como mucho que te tarde 5 minutos en notar el cambio. ¿Donde has subido la carpeta que te he mandado? , al subirla te dice que el archivo ya existe,le das a sobreescribir. Aquí es donde tienes que subir la carpeta descomprimida y se te tiene que ver así
  44. 1 point
    Hola,el post debería estar en pedido de complementos y el foro tiene un buscador.
  45. 1 point
    como es diseño para la v5 el tema tiene un plugin que, otros temas no tienen por eso pasa eso, pero se aclaro en por lo mismo que esta echo tomando en cuenta solo elementos de la v5
  46. 1 point
  47. 1 point
    Acá tenés una buena explicación de eso: https://www.pickaweb.es/ayuda/como-utilizar-htaccess-para-redireccionar/
  48. 1 point
    pensé que ya le habías integrado la función para subir una imagen y no solo un link
  49. 1 point
    si, eso era algo imagine jeje, por eso se me hacia raro que no lo hubieras puesto asi que es lo mas normal
  50. 1 point
    Por Favor Tronlar, me gustaría me ayudases con esto: deseo que los post de los novatos,nuevos...no salgan en la home,hasta que no aumenten de rango,puntos. Te he enviado dos mensajes, publique pidiendo ayuda, pero nada y me contestaste me ibas a ayudar, te agradezco que por favor puedas ayudarme a solucionar esto, pue realmente no se hacerlo yo. Gracias!!
×