Jump to content

Clasificación


Contenido popular

Showing most liked content since 25/08/17 en todas las áreas

  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
    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
  3. 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
  4. 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
  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
    Outlast Deluxe Edition se proporciona a través de la tecla Steam para Windows, Mac y Linux y también se proporciona sin DRM para Windows, Mac y Linux. Para la redención de claves, se requiere una cuenta gratuita de Steam. DESCRIPCIÓN Outlast Deluxe Edition incluye: Outlast Outlast: Whistleblower Steam: http://store.steampowered.com/app/238320/Outlast/?l=spanish http://store.steampowered.com/app/273300/Outlast_Whistleblower_DLC/ Método: https://www.humblebundle.com/store/outlast-deluxe Sorry por el post crap
  10. 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
  11. 2 points
    6 años desde que mi uní al foro y casi dos años sin subir un nuevo tema, pero ver que aun hay gente que descarga mis antiguos "themes". Los amo <3
  12. 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
  13. 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
  14. 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
  15. 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!
  16. 2 points
  17. 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
  18. 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`
  19. 2 points
    Cromos: Sí Logros: Ni Análisis: Variados. http://store.steampowered.com/app/428430/Endorlight/ KEY: https://woobox.com/e5t9qs?embed=1
  20. 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.
  21. 1 point
    Los switchsMD serán removidos en la versión risus2_v_1_0_1_beta del script.
  22. 1 point
  23. 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.
  24. 1 point
  25. 1 point
    Muy buenas gente de Phpost . Pues después de un mes de estar sin pc, por fin he podido terminar el theme Carbon. En esta versión están todas las paginas rediseñadas y se adaptan a diferentes tamaños de pantalla. El theme carbon, es un theme que utiliza como base el framework Bulma css. Con diseño simple, elegante, 100% adaptable a cualquier tamaño de pantalla (responsive), ademas de servir como base para nuevos diseños que podrían ser diseñados por la comunidad de Phpost. Características: 100% responsive (Gracias al framework bulma.io) Reemplazo de los iconos default, por la libreria de iconos fontawesome.io Portadas para cada post en la Home Ligero, pesa tan solo 1.93mb (En comparacion del theme default 2.56mb) Cambios v.1.0 Administración y moderación 100% responsive Arreglo de errores de diseño en las secciones: Tops, Cuenta, Buscador, Portal Arreglo de errores de diseño en las ventanas modal (Responsive) Nuevo diseño del editor de post y comentarios Rediseño del footer Pequeñas mejoras en la home Incluido Lazyload en las portadas (se utilizo la librería bLazy.js) Agradecimiento especial a @Rengo por ayudarme a corregir algunos errores. Y a @zkreations por el tutorial de como implementar el librería bLazy, la verdad me cayo como anillo al dedo, ya que pase horas y horas intentando implementar dicha librería hasta que me tope con su tutorial . Lo puedes encontrar en su blog zkreations.com lo recomiendo ya que hay bastantes artículos de diseño y son simples de implementar, ademas de tener consejos,etc. Imagenes Vista desde un teléfono móvil También dejo una demo DEMO User: demo Pass: demo123 Instalación Primero realiza la siguiente consulta en tu base de datos ALTER TABLE p_posts ADD post_portada VARCHAR( 180 ) NOT NULL; ALTER TABLE p_borradores ADD b_portada VARCHAR( 180 ) NOT NULL Después descarga el theme y remplaza los archivos necesarios LINK Instala el theme desde el panel de administración Listo ya lo tienes Bueno eso es todo, espero disfruten el theme, cualquier sugerencia o duda los responderé en este tema. Te pido ademas que no retires mi copyright, fue bastante trabajoso editar todo desde la default y volverlo responsive. No olvides dejar tu me gusta para seguir compartiendo diseños y aumentar mi ego (Es mi único alimento ) Un saludo ..
  26. 1 point
    amigo hay un error en el buscador..
  27. 1 point
    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
  28. 1 point
    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!
  29. 1 point
    Hola amigos , hoy les traigo un tema que a raíz de la caída de phpost no lo pude compartir antes , pero como saben que cuando hago algo para phpost siempre lo termino compartiendo . Bueno Caps: Se instala como "dark_white" sin las comillas Descargar: http://www.mediafire.com/?cq8vidxl1y7u56y Demo: http://demo.wordpost.net/ Bueno espero que les haya gustado . es BETA ya que quisiera trabajar un poco mas con el pero para iniciar con el pie derecho lo publico, e dejado demo por si lo quieren probar antes de ponerlo en su web ; Solo que para ver algunas novedades necesitan poder ver su admin -few Saludos!!!
  30. 1 point
  31. 1 point
    No hay soporte para esta versión, lo recomendable sería esperar la release del domingo.
  32. 1 point
    Por dios como recién lo veo, no me llegan las notificaciones o no sé que pasó, muchas gracias perdón por contestar más tarde solo que estaba viendo los temas que había hecho y me encontré con tu respuesta nunca me llegó la notificación de este comentario, muchísimas gracias porque me sirvió perfectamente!
  33. 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:
  34. 1 point
  35. 1 point
    Cuando la terminan de instalar no se preocupen si no se ve el fondo, el logo, background, porque hay que agregarle las configuraciones en Administración → Control de web y buscan la "configuración de la web" y "opciones del logo"... En sitemap hay que darle al botón "Restaurar Sitemap"
  36. 1 point
    Si no fuera tan malo con php, me encantaría ayudar! porque esta buena la idea...
  37. 1 point
  38. 1 point
  39. 1 point
    Esta genial! justo estaba viendo como hacer algo asì jeje gracias!
  40. 1 point
    Clcik derecho en Chrome -> inspeccionar -> Consola y te marcara los errores un tu sitio
  41. 1 point
  42. 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
  43. 1 point
    Recien me doy cuenta q sos @Basdower
  44. 1 point
  45. 1 point
    Acá tenés una buena explicación de eso: https://www.pickaweb.es/ayuda/como-utilizar-htaccess-para-redireccionar/
  46. 1 point
    estaría bueno si le agregas el icono del estado del usuario en linea, desconectado etc....
  47. 1 point
    es por seo mi estimado.... así se indexa mejor en los navegadores, de igual forma el navegador cambiaría los caracteres especiales automáticamente.
  48. 1 point
    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
  49. 1 point
    se puede aplicar a un script aunque tenga mil mods, solo se borra la carpeta smarty, guardando la carpeta plugins, se cambia c.smarty.php por el que viene en la descarga, en el archivo footer.php se cambia template_exist() por templateExist() y template_dir por setTemplateDir(), pones la carpeta smarty de la descarga y combinas tu carpeta plugins con la de la descarga y ya
  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!!
×