Clasificación


Contenido popular

Showing most liked content since 24/01/17 en todas las áreas

  1. 9 likes
    Me dieron ganas de hacer un theme y bueno salio esto ^^ Vi una web y me gusto, la investigue y bueno así salio este theme, es de un script si lo quieren ver se llama como el theme. Diseñado en base del theme carbon, créditos para @nittox y mods utilizados. Lo hice de varios colores por si alguien no le gustaba, nos enumere y dejo como quedan en cada imagen.. #1: #2: #3 Deberán instalar el mod de portadas para visualizarlo en la home y para post relacionados, de igual manera deje c.posts.php y c.borradores.php ya editados desde 0, osea sin ninguna modificación, ni mods apartes.. dejo un texto en los archivos.. Se instala con el nombre de: youtunes Link MEGA: https://mega.nz/#F!B90jUYjA!_9P7qbfdTFS8SwVvNcKfzQ Link Mediafire: https://www.mediafire.com/#f754o12pix7dv Demo temporal: http://youtunes.hol.es/ Cualquier consulta, duda o queja me dejan en comentarios. es posible que falten algunos toques, me avisan Hasta Luego
  2. 6 likes
    Hola! Hoy les dejo este diseño estilo Instagram Blog para Blogi. Deben ejecutar las siguientes consultas en su base de datos: Si ya tienen las portadas de kmario instaladas solo ejecutar estas: ALTER TABLE p_posts ADD post_descripcion VARCHAR( 180 ) NOT NULL; ALTER TABLE p_borradores ADD b_descripcion VARCHAR( 180 ) NOT NULL Si no tienen instaladas las portadas deben ejecutar las consultas anterior y también estas: ALTER TABLE p_posts ADD post_portada VARCHAR( 180 ) NOT NULL; ALTER TABLE p_borradores ADD b_portada VARCHAR( 180 ) NOT NULL Descarga: MEGA Cualquier problema o duda pueden hablarme por MP, saludos!
  3. 6 likes
    Hola amigos, vengo a dejarles un avance de la Risus M, la cual por un problema con mi compañero solo quede yo en este proyecto. Hasta ahora llevo más del 60% terminado del diseño base y me faltan modificar varias cosas aun y como hace un tiempo atrás vi un comentario que decía ¿Por que no agregamos mas gente que colabore con el proyecto? Bueno, ahora que estoy solo yo en esto, cualquier ayuda que quieran darme o algún aporte pueden hacerlo, tengo dos opciones para hacer con Risus M hasta ahora, una sería publicarla como un simple diseño o plantilla, sin modificaciones ni nada, y la otra es terminar por completo el proyecto modificando la base de Risus, pero para esto necesito ayuda de gente que sepa de PHP. Aquí les dejo unas capturas del último avance que llevo: Más adelante subiré una demo para que puedan probarla, ahí me dejan sus comentarios, sugerencias o alguien que quiera ayudar o pueden enviarme un MP. Saludos!
  4. 5 likes
    Hola a todos, bueno hoy les traigo el Mod que publiqué hace mucho tiempo ya adaptado a la versión 1.2 y resubido, ya que parece que borré los archivos en alguna parte del tiempo. Esta nueva versión usa un reproductor HTML5 en vez de uno FLASH (swf). Aquí pueden leer un poco mas del reproductor HTML5. Aviso: Pronto vendrá la versión 2.5 la cual traerá un nuevo reproductor, con nuevo estilo, y soporte para la caratula y el titulos (aunque los pueden agregar ustedes mismos). Instalación: Hacemos esta Consulta: ALTER TABLE w_configuracion ADD c_month_mp3 VARCHAR( 5000 ) NOT NULL AFTER offline_message Luego esta: ALTER TABLE w_configuracion ADD c_month_name VARCHAR( 5000 ) NOT NULL AFTER offline_message Y luego esta ultima: ALTER TABLE w_configuracion ADD c_month_img VARCHAR( 5000 ) NOT NULL AFTER offline_message luego abren su c.core.php y buscan: $this->settings['js'] = $this->settings['tema']['t_url'].'/js'; Debajo agregan $this->settings['month_mp3'] = $this->settings['c_month_mp3']; $this->settings['month_img'] = $this->settings['c_month_img']; $this->settings['month_name'] = $this->settings['c_month_name']; luego abren su c.admin.php y buscan: 'offline_message' => $tsCore->setSecure($tsCore->parseBadWords($_POST['offline_message'])), y agregan debajo 'month_mp3' => $tsCore->setSecure($_POST['month_mp3']), 'month_img' => $tsCore->setSecure($_POST['month_img']), 'month_name' => $tsCore->setSecure($_POST['month_name']), Un poco más abajo buscan: `offline_message` = \'' . $c['offline_message'] . '\' Al lado agregan: , `c_month_mp3` = \'' .$c['month_mp3'] . '\', `c_month_img` = \'' .$c['month_img'] . '\', `c_month_name` = \'' .$c['month_name'] . '\' Abrimos m.admin_configs.tpl y buscan: <dl> <dt><label for="ai_url">Direcci&oacute;n del sitio:</label></dt> <dd><input type="text" id="ai_url" name="url" maxlength="32" value="{$tsConfig.url}" /></dd> </dl> Debajo Agregan: <dl> <dt><label for="ai_month_mp3">Link MP3:</label><br /><span>Musica del mes<br/><a>Escuchar</a></span></dt> <dd><input type="text" name="month_mp3" id="ai_month_mp3" value="{$tsConfig.month_mp3}" /></dd> </dl> <dl> <dt><label for="ai_month_name">Nombre de la cancion <font color="red">(no es necesario)</font>:</label><br /><span>Musica del mes</span></dt> <dd><input type="text" name="month_name" id="ai_month_name" value="{$tsConfig.month_name}" /></dd> </dl> <dl> <dt><label for="ai_month_img">Caratula <font color="red">(no es necesario)</font>:</label><br /><span>Musica del mes<br/>{if $tsConfig.month_img != ''}<img src="{$tsConfig.month_img}" width="48px" height="48px" title="Caratula (preview)" alt="Previsualizacion de la caratula" />{/if}</span></dt> <dd><input type="text" name="month_img" id="ai_month_img" value="{$tsConfig.month_img}" /></dd> </dl> Luego abren t.home.tpl y después de: {include file='modules/m.home_stats.tpl'} Agregan: {include file='modules/m.home_monthlymp3.tpl'} Ahora suben los siguientes archivos: m.home_monthlymp3.tpl a /templates/modules/ Demo y descarga: Click aquí Eso sería todo por la instalación. Notas: En el caso de que no pongan ninguna carátula, osea lo dejen en blanco, no se mostrará la carátula al lado ni en el home. En el caso de que no haya ningun MP3 en la administración, no se mostrara el MOD en el home. Capturas: (a los visitantes no se les muestra nada abajo del reproductor) Miembro [sin titulo de cancion]: Administrador [sin titulo de cancion]: Administración: Todos los usuarios [con titulo de cancion]: Espero que les guste!
  5. 5 likes
    Hola que tal gente., estaba con ganas de compartir algo y se me dio por compartir este complemento que hice hace mucho(ni me acuerdo cuando xD) El complemento consiste en mostrar usuarios al azar y darle la opcion al usuario de visitar su perfil... espero que les guste :3 Captura: Ahora pasamos a la instalacion... En c.posts.php vamos hasta el final y arriba del ultimo } agregamos //USUARIOS RAMDOM function Ramdom(){ global $tsCore, $tsUser; $query = db_exec(array(__FILE__, __LINE__), 'query', 'SELECT DISTINCT u.user_name, u.user_id, f.f_id FROM u_miembros AS u LEFT JOIN u_perfil AS p ON u.user_id = p.user_id LEFT JOIN u_follows AS f ON u.user_id = f.f_id WHERE u.user_id != \''.$tsUser->uid.'\' ORDER BY RAND() LIMIT 3'); $data = result_array($query); return $data; } ahora vamos al posts.php y buscamos $smarty->assign("tsStats",$tsTops->getStats()); y agregamos abajo // Usuarios Ramdom $smarty->assign("tsRamdom",$tsPosts->Ramdom()); ahora vamos a estilos.css y al final agregamos .recodiv{width: 100%;position: relative;height: auto;display: -webkit-inline-box;margin-top: 16px;} .recoportada{height: 85px;border-radius: 5px 5px 0px 0px;width: 99.9%;} .recoava{height: 50px; width: 18%; border-radius: 24px 24px 1px 14px;; display: block; position: relative; float: left;border: 3px solid #005FA3;bottom: 22px;} .reconick{float: left;width: 50%;background: #EEE;padding: 9px 0px;font-family: cursive;text-align: center;} .reconicka{float: left;width: 37.8%;padding: 9px 0px;text-align: center;background: #005fa3;border-radius: 0px 0px 5px 0px;color: #eee;} ahora solo les queda incluir el complemento en t.home.tpl {include file='modules/m.home_user-random.tpl'} Como ultimo solo tienen que descargar el archivo y agregarlo en /themes/tutema/templates/modules m.home_user-random.tpl
  6. 5 likes
    Hola gente! aca les dejo para quien le pueda interesar una pequeña modificación para poner un Video como background según Categoría ,en este caso lo he hecho para la categoria llamada 18 en mi web Dentro de: m.post_content.tpl y antes de {include file='modules/m.posts_tags.tpl'} va el siguiente Código... {if $tsPost.categoria.c_seo == '18'} {literal} <script type="text/javascript"> var vid = document.getElementById("bgvid"); var pauseButton = document.querySelector("#polina button"); if (window.matchMedia('(prefers-reduced-motion)').matches) { vid.removeAttribute("autoplay"); vid.pause(); pauseButton.innerHTML = "Paused"; } function vidFade() { vid.classList.add("stopfade"); } vid.addEventListener('ended', function() { // only functional if "loop" is removed vid.pause(); // to capture IE10 vidFade(); }); pauseButton.addEventListener("click", function() { vid.classList.toggle("stopfade"); if (vid.paused) { vid.play(); pauseButton.innerHTML = "Pause"; } else { vid.pause(); pauseButton.innerHTML = "Paused"; } }) </script> {/literal} {literal} <style type="text/css"> body { margin: 0; background: #000; } video { position: fixed; top: 50%; left: 50%; min-width: 100%; min-height: 100%; width: auto; height: auto; z-index: -100; transform: translateX(-50%) translateY(-50%); background: url('//demosthenes.info/assets/images/polina.jpg') no-repeat; background-size: cover; transition: 1s opacity; } .stopfade { opacity: .5; @media screen and (max-width: 500px) { div{width:70%;} } @media screen and (max-device-width: 800px) { html { background: url(https://thenewcode.com/assets/images/polina.jpg) #000 no-repeat center center fixed; } #bgvid { display: none; } } </style> {/literal} <html> <head> <body> <video poster="https://s3-us-west-2.amazonaws.com/s.cdpn.io/4273/polina.jpg" id="bgvid" playsinline autoplay muted loop> <!-- WCAG general accessibility recommendation is that media such as background video play through only once. Loop turned on for the purposes of illustration; if removed, the end of the video will fade in the same way created by pressing the "Pause" button --> <source src="http://thenewcode.com/assets/videos/polina.webm" type="video/webm"> <source src="http://thenewcode.com/assets/videos/polina.mp4" type="video/mp4"> </video> </head> </body> </html> {/if} Ejemplo: Contenido para Adultos Y eso es todo amigos,como ya se habrán podido dar cuenta no soy nada experto en estas cosas pero bueno , intento contribuír con lo que puedo. Estoy seguro que se puede mejorar mucho y ojalá a muchos les haya servido,eso es todo.... Saludos!
  7. 4 likes
    Bueno les presento Syntaxis 8.5 esto y asi es como les quedará luego ire subiendo todas las versiones anteriores por si ustedes quieren hacerle otro tipo de modificación o lo que ustedes quieran pero ahora solo es un theme en desarrollo ya que tiene algunas cosas que ser arreglas, asi que les dejó una cap y el demo... Demo de la web... En la parte que el post tiene imagen despues se los cambio porque son 3 imagenes dependiendo de la configuración del post [privado, publico y sponsoreado]
  8. 4 likes
    Llevamos en la 1.2 desde hace casi 4 años. Es una locura!
  9. 3 likes
    Ya había dejado unos avances pero hoy vengo a mostrarles unos cuantos más para los que quieran ver como va quedando, si tienen alguna sugerencia pueden decirme por MP o comentando aqui, ademas junto a Vellenger haremos algunos cambios al script ya que acepto ayudarme en este proyecto, y para los que quieran ayudar en lo que sea, todo aporte es bienvenido Para los que quieran verla mejor y probar la beta hasta el momento está en LiDesign, ademas de Bootstrap le he agregado Polymer para darle un mejor aspecto y nuevas funciones Saludos!
  10. 3 likes
    Bueno ya lo dice el titulo se esta traduciendo lentamente otra vez por que ya lo estaba haciendo con anteoridad pero había perdido todos los datos, asi que he vuelto a comenzar, si los que quieren participar para traducir el script completo diganme asi nos dividimos la tarea...y una vez terminado hacer un mod para que contenga el Español y el Inglés... Usuario: prueba Contraseña: prueba http://www.syntaxisultra.skn1.com/ No hagan caso al nombre del link, solo es para traducir y luego cambio el theme completo
  11. 3 likes
    Se me dio por instalar el stack lamp para terminar un par de trabajos/proyectos, y le instalé PHPost Risus de paso, ¿qué paso? me salio ese error, el cual es a causa de que quedo obsoleto en php llamar a funciones sin completar todos los argumentos que tienen estas. y bueno, como soy el aclamado MagicInventor, pude arreglarlo con este pequeño fix Vamos a /inc/ext/functions.php y buscamos $info = '', $type, $data y eso lo borramos Después justo en la misma línea, bajamos dos más y agregamos esto if(isset(func_get_args()[0])) $info = func_get_args()[0]; if(isset(func_get_args()[1])) $type = func_get_args()[1]; if(isset(func_get_args()[2])) $data = func_get_args()[2]; Tiene que quedar así: /** * Ejecutar consulta */ function db_exec() { if(isset(func_get_args()[0])) $info = func_get_args()[0]; if(isset(func_get_args()[1])) $type = func_get_args()[1]; if(isset(func_get_args()[2])) $data = func_get_args()[2]; global $db_link, $tsUser, $tsAjax, $display; Bueno eso es todo, no sé si hay mas errores, hay que testearlo mas fondo. PHPost Risus, esta un poco viejito, por ahí saque un fork actualizando (con PHP7, y con el hermoso ECMAScript 6) gratis ya que parece una moda ¿no? https://puu.sh/tNbEH.png
  12. 3 likes
    @NXRace tiene razón, te faltó una frase amenazadora como las que tenían las webs de antes: Si eres menor de edad y accedes a la web llamaremos a tus padres xD
  13. 3 likes
    No lo he visto publicado así que lo comparto, es algo simple de hacer pero algunos capas lo necesite y no sepan 1. La instalación es simple descargan m.chatango.global.tpl y suben a modules 2. abren main_footer.tpl y ponen esto arriba de <div id="pie"> : {include file='modules/m.chatango.global.tpl'} y listo. Ahora les diré unas pequeñas modificaciones: Queres sacar el permiso que sean solamente para usuarios de la web? borran: {if $tsUser->is_member} y {else} <div class="aviso"> El chat es solo para usuarios de {$tsConfig.titulo}, Pero no te preocupes, tambi&eacute;n puedes formar parte de nuestra gran familia. <a title="Reg&iacute;strate!" onclick="registro_load_form(); return false" href="" style="color: green;"><b>Reg&iacute;strate!</b> </div> {/if} Queres editar los botones de las redes sociales: buscar: facebook.com/GenerationCS y cambiar por su fanpage. y el de G+1: http://www.generationcs.com Por su url web. y si quieren sacar esos botones: borran: <span class="btf"> <iframe src="https://www.facebook.com/plugins/like.php?locale=es_LA&amp;href=https://www.facebook.com/GenerationCS&amp;ref=hl&amp;send=false&amp;layout=button_count&amp;width=100&amp;shoc_faces=false&amp;action=like&amp;colorscheme=light&amp;font=lucida+grande&amp;height=21" style="margin:0px;left:0px;top:0px;width:136px;height:23px;visibility:visible;position:static" allowtransparency="true" frameborder="0" scrolling="no"> </iframe></span> <span class="btg"> <iframe src="https://plusone.google.com/_/+1/fastbutton?bsv&amp;url=http://www.generationcs.com/&amp;lang=es" style="margin:0px;left:0px;top:0px;width:105px;height:24px;visibility:visible;position:static" allowtransparency="true" frameborder="0" scrolling="no"> </iframe></span> El chatango deberá tener un tamaño de w 350px y h 450px Cualquier consulta, duda o queja me dejan en comentarios. Hasta Luego
  14. 3 likes
    Hola a todos, hoy les traigo un theme que le puse Reset porque por culpa de reiniciar mi pc se me borro todo lo que llevaba xDDD. Está en una fase muy temprana de desarrollo, así que por eso se ve muy pobre. Espero que me den sus opiniones.
  15. 2 likes
    Hola,con lo que te dice el tutorial,te tiene que funcionar sin darte ningún error. Haz lo que te dice Basdower y en estilo.css añades esto .commentsbas{float:right;width:730px;overflow:hidden;margin-top:15px;margin-bottom:15px}.basbutton{float:left;width:50%;color:#FFF;display:block;font-weight:700;line-height:1.2;padding:14px;text-align:center;cursor:pointer;overflow:hidden;position:relative;border-radius:0;border-right:0;border-bottom:0;border-left:0}#comentarios_web{border-top:6px solid #197FB3;background:#1593FF}#comentarios_fb{border-top:6px solid #555;background:#3B5998}.basbutton span{border-radius:3px;color:#ddd;display:inline;font-size:.9em;padding:6px 11px;position:relative}#comentarios_web span{background-color:#0D79D5}#comentarios_fb span{background-color:#5872a7;padding:6px!important} Hola,lo acabo de probar y funciona bien,¿qué error te ha salido?
  16. 2 likes
    http://www.mediafire.com/file/qxtf6c2dhqgr1mj/Ultimos-Registrados.zip
  17. 2 likes
    me gustó lo que descubrí, no el mensaje oculto, sino lo que forma, un tunel con gradas o algo así
  18. 2 likes
    Hola,mira si te vale esto
  19. 2 likes
    P.d: bien hecho al cambiar la entrada campeón . Hubo [Verbo: Haber] (sinónimo de ocurrir) Hmmm, bueno, la verdad tuve que publicarlo por la entradita que habías puesto, la verdad no me había fijado en tus otros temas aquí en el Foro. No tenía ni ganas de volver a publicar otro tema aquí, pero bueno.. Exacto, pero debí haberlo puesto acá, donde supuestamente "debía". De igual manera, ya no quiero seguir discutiendo de esto, así que suerte con tu theme ! Yo nunca fui "apurado" para realizar este proyecto, yo lo hice con el tiempo que yo tuviera. Yo lo publicaría cuando Tuente estuviera de acuerdo. Por otra parte, Tuente apenas me preguntaba del theme así que bueh, lo de "dos cabezas piensan mejor que una" hay que pensarlo. El seguramente va a terminar, yo creo porque se veía muy bien. Cambiale el plural a singular. En fin, no voy a seguir respondiendo a este tema.
  20. 2 likes
    Me mata porque tienen un dominio pago y lo usan para redirigir al dominio gratis de un hosting. bárbaro
  21. 1 like
    Bueno como verán el titulo estoy al 1% por un tema de salud no pude continuar, por suerte no me ha durado dias asi que voy a continuar modificando el script... * Tiene el idioma Español. * Tiene el idioma Inglés. * Tendrá el idioma Italiano. Por ahora se hace visible en el menú y mini mensaje en la home si ustedes cambian el idioma estos cambiarán solo que me llevará bastante tiempo para traducir... DEMO: Syntaxis Ultra [inglés]
  22. 1 like
    Hola buenas, hoy estoy aquí para publicar el instalador que se pensaba que iba a estar para Risus Minimalist, pero al final, no resultó... Viene con todas estas funciones: Nuevo diseño material design chmod automático * reestructuración de algunas partes del código multi-language (cambiar el idioma a partir de un archivo). y mucho más no actualizaré más este instalador ya que no tengo alguna razón para hacerlo si alguien tiene duda y/o encuentra un error, avisame por MP en mi blog o por el foro. Las capturas pueden encontrarlas aquí, solo elimine todo el contenido que dice risus minimalista, mis créditos y mis estadísticas etc. Lo pueden usar para lo que quieran, no es necesario que me dejen creditos, por eso no los coloque en el código del instalador. Es todo 100% gratis, y si quieren venderlo o algo así pueden hacerlo xD.. NO ESTÁ 100% TERMINADO, TODAVIA FALTA ALGUNAS COSAS SIMPLES POR CAMBIAR Descarga: http://pasted.co/45348a6d (Contraseña para ver el paste: pcarafloja) Instalacion: 1.-Cargar la carpeta "installmd" a la raíz de tu sitio. 2.-Para ingresar al instalador en tu web, ingresar este link en tu navegador: http://XXXXXX/installmd/index.php?introduction=1 3.-Las XXXXX las debes de remplazar por tu dominio. Gracias, espero que le sirva!
  23. 1 like
    si no te pone colores remplaza esto function initCaptcha() { var captcha = generateCaptcha(), captchaAns = eval(captcha); $("#captcha") .attr("placeholder", captcha+" = ") .on("keyup", function() { if ($(this).val() !== "" && $(this).val() == captchaAns) $(this).addClass('correct').css({'border-color':'lime'}); else $(this).removeClass('correct').css({'border-color':'red'});; }); }
  24. 1 like
    Hola,¿cuál es es la demo?, el link has puesto son cuatro link acortados con adfly. http://www.syntaxisultras.hol.es/ https://ziruturapa.jimdo.com/ http://todoparatupc2017.hol.es/ http://www.syntaxisultra.skn1.com/
  25. 1 like
    A sos un groso es justo lo que estaba molestando yo a cada rato jejeje. El problema va a ser el tema que elijas para traducir, ya que algunos querran su tema en ingles y otros en otro tema traducido al ingles. Yo puedo ayudar con los .tpl. Por lo menos algunos, mientras no cause errores.
  26. 1 like
  27. 1 like
    eshost.com.ar no es lo mejor pero es mejor que Hostinger...
  28. 1 like
    ACLARACION: este mod no es mio. Solo lo adapte a la nueva versión. Agradecimiento a los autores al final del tema. Hola amigos. Hoy no vengo con una pregunta . Vengo para mostrarles como instalar el mod de referidos + puntos por referido. Lo que hace este mod es que la gente pueda promocionar tu pagina para ganar puntos a cambio. La manera en que funciona es así: Yo soy un usuario de tu web y quiero puntos gratis. Publicito tu web y les pido a la gente que pongan mi nombre en el campo de referidos cuando se van a registrar. Una vez que se registran a mi se me dan puntos automáticamente. Bueno comencemos con la instalación: 1) Abrimos c.registro.php .Que se encuentra en inc/class, y despues de: } else $valid = '0: Faltan datos y no se puede procesar tu solicitud.'; // retornar valor return $valid; } Agregamos: /** * @name referidos by tutan-kabron * @access public * @param * @return string */ public function checkUserEmail2(){ global $tsCore; // Variables $referido = strtolower($_POST['referido']); $which = empty($referido) ? 'referido' : 'referido'; // MENSAJE $valid = '1: El '.$which.' no existe .'; // DEFAULT // if(!empty($referido)){ $query = db_exec(array(__FILE__, __LINE__), 'query', 'SELECT `user_id` FROM `u_miembros` WHERE LOWER(user_name) = \''.$tsCore->setSecure($referido).'\' LIMIT 1'); if(db_exec('num_rows', $query) > 0) $valid = '0: El '.$which.' si existe.'; // EXISTE } else $valid = '0: Este Campo no es obligatorio.'; // retornar valor return $valid; } 2) En el mismo archivo c.registro.php buscamos mas abajo: function registerUser(){ global $tsCore, $tsUser; // DATOS NECESARIOS Y debajo de eso agregamos: $referido=$_POST['referido']; if(empty($referido)){ $referido='1'; }else{ $referido= $tsCore->setSecure($_POST['referido']); } 3) En el mismo archivo c.registro.php buscamos un poquito mas abajo: 'user_email' => $_POST['email'], Y debajo de eso agregamos: 'user_referido' => $referido, 4) Mas abajo en el mismo archivo c.registro.php buscamos: // MENSAJE PARA DAR LA BIENVENIDA BIENVENIDA Antes de eso agregamos: if($referido != '1'){ db_exec(array(__FILE__, __LINE__), 'query', 'UPDATE u_miembros SET user_referidos = user_referidos + 1 WHERE user_name = \''.$tsData['user_referido'].'\''); db_exec(array(__FILE__, __LINE__), 'query', 'INSERT INTO `referidos` (`user_referido`, `user_name`, `fecha`) VALUES (\''.$tsData['user_referido'].'\', \''.$tsData['user_nick'].'\', \''.time().'\')'); } 5) Abrimos ajax.registro.php que se encuentra en la carpeta inc/php/ajax y antes de: case 'registro-geo': Agregamos: case 'registro-check-referido': //<--- echo $tsReg->checkUserEmail2(); //---> break; 6) En el mismo archivo arriba buscamos: 'registro-check-nick' => array('n' => 1, 'p' => ''), Y debajo de eso agregamos: 'registro-check-referido' => array('n' => 1, 'p' => ''), 7) Abrimos p.registro.form.tpl que esta en la carpeta themes/tutema/templates/t.php_files y debajo de: <div class="form-line"> <label for="email">E-mail</label> <input name="email" type="text" id="email" tabindex="4" title="Ingresa tu dirección de email" onfocus="registro.focus(this)" onblur="registro.blur(this)" onkeydown="registro.clear_time(this.name)" onkeyup="registro.set_time(this.name)" autocomplete="off" /> <div class="help"><span><em></em></span></div> </div> Agregamos: <div class="form-line"> <label for="referido">Ingresa tu referido (opcional)</label> <input name="referido" type="text" id="referido" tabindex="1" title="Ingrese el nick del referido" onfocus="registro.focus(this)" onblur="registro.blur(this)" onkeydown="registro.clear_time(this.name)" onkeyup="registro.set_time(this.name)" autocomplete="off" /> <div class="help"><span><em></em></span></div> </div> 8) Abrimos registro.js que esta en la carpeta themes/tutema/js y buscamos: //Un elemento pierde el foco blur: function(el){ var name = $(el).attr('name'); switch(name){ case 'nick': case 'email': this.clear_time(name); $(el).removeClass('selected'); this.check_campo(el, false, true); break; default: $(el).removeClass('selected'); this.check_campo(el, false, true); break; } }, Lo reemplazamos por: //Un elemento pierde el foco blur: function(el){ var name = $(el).attr('name'); switch(name){ case 'nick': case 'referido': case 'email': this.clear_time(name); $(el).removeClass('selected'); this.check_campo(el, false, true); break; default: $(el).removeClass('selected'); this.check_campo(el, false, true); break; } }, 9) Mas abajo buscamos: /* password */ case 'password': Y antes de eso agregamos: /* referido by tutan-kabron */ case 'referido': //Si ya paso por aca y no hubieron cambios, devuelvo el mismo status if(!force_check && this.datos[campo] === value) if(this.datos_status[campo]=='empty') return no_empty ? this.show_status(el, this.datos_status[campo], this.datos_text[campo]) : this.hide_status(el, this.datos_status[campo], this.datos_text[campo]); else return this.show_status(el, this.datos_status[campo], this.datos_text[campo]); //Almaceno el dato this.datos[campo] = value; //Caracteres validos if(/[^a-zA-Z0-9_]/.test(value)) return this.show_status(el, 'error', 'Sólo se permiten letras, nómeros y guiones(_)'); //Compruebo si ya esta en uso //Compruebo el Cache var value_lower = value.toLowerCase(); if(!this.cache[campo]){ this.cache[campo] = new Array(); this.cache[campo][value_lower] = new Array(); }else if(this.cache[campo][value_lower]){ if(this.cache[campo][value_lower]['status']) return registro.show_status(el, 'ok', this.cache[campo][value_lower]['text']); else return registro.show_status(el, 'error', this.cache[campo][value_lower]['text']); } this.show_status(el, 'loading', 'Comprobando referido...'); $('#loading').fadeIn(250); $.ajax({ type: 'POST', url: global_data.url + '/registro-check-referido.php?t=nombre de usuario', data: 'referido='+value, success: function(h){ registro.cache[campo][value_lower] = new Array(); registro.cache[campo][value_lower]['text'] = h.substring(3); switch(h.charAt(0)){ case '0': //Estaba en uso registro.cache[campo][value_lower]['status'] = true; registro.show_status(el, 'ok', h.substring(3)); break; case '1': //No esta en uso registro.cache[campo][value_lower]['status'] = false; registro.show_status(el, 'error', h.substring(3)); break; } $('#loading').fadeOut(350); }, error: function(){ registro.show_status(el, 'error', 'Hubo un error al intentar procesar lo solicitado'); registro.datos[campo] = ''; } }); break; /* termina campo referido */ 10) Ahora buscamos el archivo c.admin.php que se encuentra en la carpeta inc/class y antes de: /* getNoticias() */ function getNoticias() Agregamos: /* getReferidos() */ function getReferidos() { // $query = db_exec(array(__FILE__, __LINE__), 'query', 'SELECT u.user_id, u.user_name, r.* from referidos AS r LEFT JOIN u_miembros AS u ON r.user_referido = u.user_name ORDER BY r.id DESC'); $data = result_array($query); // return $data; } /* getReferido() */ function getReferido() { global $tsCore; // $id = $tsCore->setSecure($_GET['id']); // $query = db_exec(array(__FILE__, __LINE__), 'query', 'SELECT `id`, `user_name`, `user_referido`, `fecha` FROM referidos WHERE id = \'' . (int)$id . '\' LIMIT 1'); $data = mysql_fetch_assoc($query); // return $data; } /* deReferidos(); */ function delReferido() { $id = $_GET['id']; if (!db_exec('num_rows', db_exec(array(__FILE__, __LINE__), 'query', 'SELECT `id` FROM `referidos` WHERE `id` = \'' . (int)$id . '\' LIMIT 1'))) { return 'El id ingresado no existe.'; } $query = db_exec(array(__FILE__, __LINE__), 'query', 'DELETE FROM `referidos` WHERE `id` = \'' . (int)$id . '\''); } 11) Abrimos el archivo admin.php que se encuentra en la carpeta inc/php y antes de: /** NOTICIAS **/ } elseif($action == 'news'){ Agregamos: /** REFERIDOS by tutan-kabron**/ } elseif($action == 'referidos'){ if(empty($act)) $smarty->assign("tsReferidos",$tsAdmin->getReferidos()); elseif($act == 'borrar'){ if($tsAdmin->delReferido()) $tsCore->redirectTo($tsCore->settings['url'].'/admin/referidos?borrar=true'); } 12)Abrimos el archivo t.admin.tpl que se encuentra en la carpeta themes/tutema/templates y antes de: {/if} Agregamos: {elseif $tsAction == 'referidos'} {include file='admin_mods/referidos.tpl'} 13) Abrimos m.admin_sidemenu.tpl que se encuentra en la carpeta themes/tutema/templates/admin_mods y al final agregan: <h4>Utilidades</h4> <ul class="cat-list"> <li id="a_users"><span class="cat-title"><a href="{$tsConfig.url}/admin/referidos">Referidos</a></span></li> </ul> 14) Abrimos c.cuenta.php que se encuentra en la carpeta inc/class y buscamos: /* loadHeadInfo($user_id) */ function loadHeadInfo($user_id){ global $tsUser, $tsCore; // INFORMACION GENERAL $query = db_exec(array(__FILE__, __LINE__), 'query', 'SELECT u.user_id, u.user_name, u.user_registro, u.user_lastactive, u.user_referidos, u.user_activo, u.user_baneado, p.user_sexo, p.user_pais, p.p_nombre, p.p_avatar, p.p_mensaje, p.p_socials, p.p_empresa, p.p_configs FROM u_miembros AS u, u_perfil AS p WHERE u.user_id = \''.(int)$user_id.'\' AND p.user_id = \''.(int)$user_id.'\''); $data = db_exec('fetch_assoc', $query); Y despues de: u.user_lastactive, Ponemos a su derecha: u.user_referidos, Quedando así: u.user_lastactive, u.user_referidos, 15) Abrimos m.perfil_headinfo.tpl que se encuentra en la carpeta themes/tutema/templates/modules y despues de: <li> <strong>{$tsInfo.stats.user_comentarios}</strong> <span>Comentarios</span> </li> Agregamos: <li> <strong>{$tsInfo.user_referidos}</strong> <span>Referidos</span> </li> 16) Suben el siguiente archivo a la carpeta themes/tutema/templates/admin_mods http://www.mediafire.com/file/x9g4xvu6a3e2zxa/referidos.tpl 17) Ahora van phpmyadmin y ponen las siguientes consultas: (Recuerden en tu phpmyadmin van a donde dice SQL para hacer las consultas) Primero hacen esta: ALTER TABLE `u_miembros` ADD `user_referidos` INT( 11 ) NOT NULL DEFAULT '0' Y luego esta: CREATE TABLE IF NOT EXISTS `referidos` ( `id` int(11) NOT NULL AUTO_INCREMENT, `user_referido` varchar(60) CHARACTER SET latin1 NOT NULL, `user_name` varchar(60) CHARACTER SET latin1 NOT NULL, `fecha` int(12) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=16 ; Eso fue todo por la parte de solamente referidos. Si quieren solamente los referidos sin puntos no sigas con los siguientes pasos. Ahora viene la parte de agregarle puntos al que reciba referidos: 1) Ahora van phpmyadmin y ponen las siguientes consultas: (Recuerden en tu phpmyadmin van a donde dice SQL para hacer las consultas) Ponen lo siguiente: ALTER TABLE w_configuracion ADD p_p_refs INT(11) NOT NULL; 2) Buscamos c.admin.php que se encuentra en la carpeta inc/class y luego de: 'offline_message' => $tsCore->setSecure($tsCore->parseBadWords($_POST['offline_message'])), Agregamos: 'p_p_refs' => $tsCore->setSecure($_POST['p_p_refs']), 3) En el mismo archivo buscamos: '\', `offline_message` = \'' . $c['offline_message'] . Y agregamos al lado (a su derecha): Fijensen que el Punto ( . ) va con un espacio a la izquierda y un espacio a la derecha. '\', `p_p_refs` = \'' . $c['p_p_refs'] . 4) Buscamos en c.registro.php que se encuentra en la carpeta inc/class: if($referido != '1'){ db_exec(array(__FILE__, __LINE__), 'query', 'UPDATE u_miembros SET user_referidos = user_referidos + 1 WHERE user_name = \''.$tsData['user_referido'].'\''); db_exec(array(__FILE__, __LINE__), 'query', 'INSERT INTO `referidos` (`user_referido`, `user_name`, `fecha`) VALUES (\''.$tsData['user_referido'].'\', \''.$tsData['user_nick'].'\', \''.time().'\')'); } Y lo reemplazamos por: if($referido != '1'){ db_exec(array(__FILE__, __LINE__), 'query', 'UPDATE u_miembros SET user_puntos = user_puntos + \''.(int)$tsCore->settings['p_p_refs'].'\' WHERE user_name = \''.$tsData['user_referido'].'\''); db_exec(array(__FILE__, __LINE__), 'query', 'UPDATE u_miembros SET user_referidos = user_referidos + 1 WHERE user_name = \''.$tsData['user_referido'].'\''); db_exec(array(__FILE__, __LINE__), 'query', 'INSERT INTO `referidos` (`user_referido`, `user_name`, `fecha`) VALUES (\''.$tsData['user_referido'].'\', \''.$tsData['user_nick'].'\', \''.time().'\')'); $aviso = 'Tu referido <a href="'.$tsCore->settings['url'].'/perfil/'.$tsData['user_nick'].'"><b>'.$tsData['user_nick'].'</b></a>se ha registrado. <br /><br/> Dale la bienvenida! <br />Obtentienes '.(int)$tsCore->settings['p_p_refs'].' puntos por tu referido'; db_exec(array(__FILE__, __LINE__), 'query', 'INSERT INTO `u_avisos` (`user_id`, `av_subject`, `av_body`, `av_date`, `av_type`) VALUES (\''.$tsUser->getUserId($tsData['user_referido']).'\', \'Nuevo referido\', \''.$aviso.'\', \''.'\', \''.time().'\', \'4\')'); } 5) Por último abrimos el archivo m.admin_configs.tpl que se encuentra en la carpeta themes/tutema/templates/admin_mods y buscamos: <dl> <dt><label for="ai_max_com">Comentarios por post:</label><br /><span>N&uacute;mero m&aacute;ximo de comentarios por p&aacute;gina en los post.</span></dt> <dd><input type="text" id="ai_max_com" name="max_com" maxlength="3" value="{$tsConfig.c_max_com}" class="searchBar" style="width: 280px;"/></dd> </dl> Y debajo ponemos: <dl> <dt><label for="p_p_refs">Puntos por referido</label><br /><span>Puntos que recibira como bonificacion un user al subir un posts.</span></dt> <dd><input type="text" id="p_p_refs" name="p_p_refs" style="width:10%" maxlength="3" value="{$tsConfig.p_p_refs}" /></dd> </dl> Y listo, terminado. Capturas: Le agradezco enormemente a: tutan-kabron por crear el mod en primer lugar. k_jupiter por modificar el mod para que tuviera puntos por referido. Vellenger por poner el fix para que el mod ande perfecto. Y a KillerJohn por pedirme si subía el tema. Espero que les sirva. Supongo que mas a los nuevos que a los usuarios viejos. Ya que los viejos, ya saben hacerlo. Saludos!
  29. 1 like
    Hola a todo el foro me gustaria una ayuda de los master estoy creando un proyecto nuevo y me gusto el tema de Taringa v6 pero tienes varios bug me puede ayudar a repararlos seria bien acomodar ese tema para compartirlo aqui en el foro. Sin mas nada que decir aqui les dejo mi web: http://apkstores.ml/ asi pueden ver los bug y tratar de ayudarme un poco gracias
  30. 1 like
  31. 1 like
    Bueno acá tenes la solución...reemplazalo c.posts.php
  32. 1 like
    Parece genial y como no creo que a mi web le entre mucha gente del celu. O entraran pero usando el wifi de su casa. Me gusta.
  33. 1 like
    pobre killer que tiene que pedir soporte para todo
  34. 1 like
    Hola,le vale cualquier mod,pero si el mod está hecho para otro theme,lo más seguro que tengas que tocar el diseño ó adaptarle algún código. Puedes probar instalandolo y si tienes problemas pide ayuda,haz copia de tus archivo
  35. 1 like
    Hola,me he dado cuenta que en m.posts_content.tpl hay un error,sobra una etiqueta div de cierre,aún así se te tiene que ver la imagen. Creo que usas el theme V5 1.2.1.4, si es ese,te dejo los archivos ya editado que lo acabo de probar,haz una copia de tus archivos. Si no es ese,di cuál es para verlo.
  36. 1 like
    Hola a todos, hoy les comparto este mod, el cual les permitirá tener una alerta cada vez que el usuario trate de ingresar a un post +18 desde el home por medio de la lista de los posts. ¡ANTES DE INSTALAR! -Deben crear la categoría con el nombre a su gusto, yo le pusé +18 en este caso. -Deben de entrar a un post creado previamente con la categoría que crearon para obtener desde la url el nombre. -Al entrar al post, nos fijamos en la url. Necesitamos lo que está entre /posts/ y la id del post. Forma base: http://localhost/posts/ XXXX / 1 / ejemplo.html Ejemplo (usando una categoría llamada +18): http://localhost/posts/ 18 / 1 / ejemplo.html El resultado sería: 18 Y la condicional sería sería: {if $p.c_seo == '18'} Como ven solo deben escribirla todo en minúsculas y sin caracteres. Haciendo click acá pueden usar la herramienta que hice para este mod,la cual les mostrara una url de ejemplo,lo que deben poner, y la condicional creada. Después de eso, pasemos a la instalación... 1.-Vamos a modules/m.home_last_posts.tpl 2.-Buscamos esto: {foreach from=$tsPostsStickys item=p} y esto: {foreach from=$tsPosts item=p} 3.-Pegamos debajo de los dos: ANTES QUE SIGAN, REVISEN CÓMO SERÍA LA CONDICIONAL ( { IF } ) AL INICIO DEL TEMA. {if $p.c_seo == 'XXXXXXXX'} <script>{literal} // ADVERTENCIA PARA POSTS PARA ADULTOS function adultpostalert_{/literal}{$p.post_id}{literal}(){ mydialog.show(); mydialog.title('Advertencia'); mydialog.body('<b><font color="red">SOLO para adultos</font></b>.<br/>Presiona <b>NO VER</b> si eres menor de edad =D.'); mydialog.buttons(true, true, 'VER', 'adultpostlaunch_{/literal}{$p.post_id}{literal}(); return false', true, false, true, 'NO VER', 'close', true, true); mydialog.center(); } function adultpostlaunch_{/literal}{$p.post_id}{literal}(){ location.href=global_data.url + '/posts/{/literal}{$p.c_seo}{literal}/{/literal}{$p.post_id}{literal}/{/literal}{$p.post_title|seo}{literal}.html' ; } {/literal}</script> {/if} 4.-Buscamos dos veces esto: href="{$tsConfig.url}/posts/{$p.c_seo}/{$p.post_id}/{$p.post_title|seo}.html" 5.-Y reemplazamos las dos veces por esto: ANTES QUE SIGAN, REVISEN CÓMO SERÍA LA CONDICIONAL ( { IF } ) AL INICIO DEL TEMA. {if $p.c_seo == 'XXXXXX'}onclick="adultpostalert_{$p.post_id}();"{else}href="{$tsConfig.url}/posts/{$p.c_seo}/{$p.post_id}/{$p.post_title|seo}.html"{/if} Y eso sería todo, se que la instalación no está muy bien detallada, pero no tengo mucho tiempo y ando desde un notebook mas lento que un programa al bajarse con InternetExplorer. Capturas: => Demo Gracias y adios.
  37. 1 like
    Yo tengo un contador parecido, que guarda cada log en un archivo y va contando las lineas, creo que consume muchos recursos, contactame por Mp y hablamos. Y no estás colocando publicidad de Google, estás usando estadísticas para uso propio, nadie más las verá, a menos que los agregues.
  38. 1 like
  39. 1 like
    Esta bueno, aunque es una red social que nunca me gusto +1 Por que es de un archivo aparte del theme.. En inc\ext\JBBCode\definitions\video.php busca: return "<iframe width=\" borra el 640 y dale el 100%, el height te recomiendo que lo dejes como esta
  40. 1 like
    ForceRedirect.js & ForceChecker.js son ForceADS, programado 100% por mi, con los nuevos estandares ecmascript 6, muy fácil de instalar en cualquier script y totalmente oculto para adsense. Muy pronto, interesados, envien MP.
  41. 1 like
    Hola,eso está en head_menu.tpl <h2 class="subtitle"> Pequeña descripción de la página aquí </h2>
  42. 1 like
  43. 1 like
    http://www.phpost.net/migrate/ ahí puedes actualizar los archivos facilmente a la última versión de Risus
  44. 1 like
    En el punto (9) en la línea de codigo hay que borrar esto... {else}{$tsControl.fondo_web} Es que lo probe en un theme en este caso SYMPLEX y me olvide de sacarlo... Otra opción es borrar eso y colocar la URL de la imagen que elijan ustedes en el caso que no sea home, posts, fotos o admin.
  45. 1 like
    Les traigo este iframe de XVideos Ya que vi que no nadie lo hizo (en realidad si, pero ya version vieja), se los traigo.. Sera para el editor wysiwyg! 1. Abrir bbcode.inc de inc\ext y buscamos: array('tag' => 'success', 'replace' => '<div class="bbcmsg success">{param}</div>') Agregamos una coma y Abajo agregamos: array('tag' => 'xvideos', 'replace' => '<iframe src="http://flashservice.xvideos.com/embedframe/{param}" frameborder="0" width="510" height="400" scrolling="no"></iframe>') Quedaría: array('tag' => 'success', 'replace' => '<div class="bbcmsg success">{param}</div>'), array('tag' => 'xvideos', 'replace' => '<iframe src="http://flashservice.xvideos.com/embedframe/{param}" frameborder="0" width="510" height="400" scrolling="no"></iframe>') el ultimo no tiene que tener coma, si ya tienen otros bbcode miren bien lo de la coma y el final que no tenga. 2. Abrimos c.core.php de inc\class y buscamos: 'success' alado agregamos: , 'xvideos' Luego abrimos wysibb.css de themes\TuTheme\css y agregamos al final: .xvideo { background-repeat: no-repeat; background-position: 8px center; padding: 1px 0 0px 7px; background-image: url('http://i.imgur.com/D8e3Zuc.png'); border-color: #DEDEDE; color: #666666; } 4. y ultimo paso abrimos wysibb.js de themes\TuTheme\js y buscamos: video: "Vídeo de YouTube", abajo agregamos: xvideo: "Insertar ID de XVideos", Buscamos: //END img upload config buttons: "bold,italic y en la parte donde esta img,video, agregan alado xvideo, quedaría así: img,video,xvideo, luego buscamos: modal_video_text: "URL del vídeo", abajo agregamos: modal_xvideo_text:"ID del XVideo", Por ultimo buscamos: transform: { '<iframe src="http://www.youtube.com/embed/{SRC}" width="640" height="360" frameborder="0" allowfullscreen></iframe>':'[swf=http://www.youtube.com/v/{SRC}]' } }, y debajo ponemos: xvideo : { title: CURLANG.xvideo, buttonHTML: '<span class="xvideo"></span>', modal: { title: CURLANG.xvideo, width: "500px", tabs: [ { input: [ {param: "URL",title:CURLANG.modal_xvideo_text} ] } ] }, transform : { '<iframe src="http://flashservice.xvideos.com/embedframe/{URL}" frameborder="0" width="510" height="400" scrolling="no"></iframe>':"[xvideos]{URL}[/xvideos]" } }, Y Listo, Aclaro que se agrega por ID, Si ven en la imagen verán que lo remarco en color rojo, ese es el id que deben poner Cualquier consultar, problema y queja (? dejen en comentarios.. Hasta luego
  46. 1 like
    Hola amigos, de PHPost, disculpen el largo retraso desde la pero es que ahora tengo otro trabajo y tengo otro proyecto que tambien le dedico tiempo, que no he podido tocar el theme, pero estoy un poco mas desocupado y he avanzado, no mucho, pero es algo... pero no los retraso... V6 Redesign (Responsive 65%) V0.9 Ahora es responsive, el algunas zonas hasta terminarlo (lo sé no lo he terminado, no jodan okno). Capturas Home (no hay cambios): Footer: Si cambió Notificaciones: se actualizo un poco. Perfil: ahora mas decente... Posts: algunos fixes... Bueno ahora lo responsive: Cosas por terminar/corregir: Terminar de hacer diseño de la pagina de Tops. Terminar de rediseñar el buscador. Terminar zonas del responsive Corregir algunos aspectos de la pagina de Perfiles. Mini pedido, algún capo que me deje alguna idea para los perfiles. Instalación (Similar a la anterior vesión) editar el archivo c.fotos.php en inc/class y buscar: function getLastFotos(){ y en la segunda consulta query buscar: f.f_date, f.f_description, f.f_url, f.f_status, y reemplazar por: f.f_date, f.f_description, f.f_url, f.f_status, f.f_user, listo. ahora nos vamos a c.posts.php en la misma carpeta y buscamos: function getLastComentarios(){ y en la consulta de query buscamos: SELECT cm.cid, cm.c_status, y reemplazamos por: SELECT cm.cid, cm.c_status, u.user_id, y listo. ahora para las imagenes de cabecera del perfil. editar el archivo c.cuenta.php y buscar: function loadHeadInfo($user_id){ en la primera consulta query buscar: p.user_sexo, p.user_pais, p.p_nombre, p.p_avatar, y luego reemplazar por: p.user_sexo, p.user_pais, p.p_nombre, p.p_avatar, p.p_fondoper, luego ir al phpmyadmin de su server y en la pestaña SQL pegar ésta consulta: ALTER TABLE `u_perfil` ADD `p_fondoper` VARCHAR(120) NOT NULL Ahora para que funcione el botón de Compartir en Google+: Subir el archivo sharrre.php en la raíz del server (public_html). Un paso mas para instalar: editar c.posts.php en inc/class y buscar: function getRelated($tags){ luego buscar p.post_category, p.post_private, c.c_seo, c.c_img y reemplazar por: p.post_category, p.post_private, c.c_seo, c.c_img, c.c_nombre OJO. el theme no se instala, solo se reemplaza la carpeta default que viene del script por mi theme. Links: Theme: Sharrre.php: https://mega.co.nz/#!bJFSwZbQ!qZWr0Q4bLKtVEXjgtxGNiWYLXrkZu63DGtSeNhxiOTE V6Redesign Responsive 0.9: https://mega.co.nz/#!aUNiFRjC!qYOnC5selPod-gIP8lGdSJSKlgnGvYmUJ5RpykU-Ll0 ¿Cuando subirás otra vesión? Si va todo bien en el transcurso de la semana subiré una actualización el fin de semana. ¿No hay mas características? Bueno, no me han dado muchas sugerencias para agregar al theme, asi que: "A caballo regalado no se le mira el diente" ¿No hay demo? No he tenido tiempo de poner demo debido a que no pensé que iba a subir la actualización hoy (30/05/2015 HS 23:00 hrs Lima) Nos vemos amigos...
  47. 1 like
    lo siento pero no tengo esa plata para pagarlo asi que es oficial me retiro de phpost ya que ahora que esta la versión paga ya no le darán bola a la gratuita, voy a ahorrar para comprar ipboard 75usd es demasiado incluso una ofensa para los que queremos y estuvimos bancando a phpost atras de nuestros monitores yo creo que
  48. 1 like
    amigos les dejo este mod que me pidio un usuario para risus, es el envio de mps masivos, solo para administradores, no solo eso, el admin puede elegir a quien mandar los mensajes; a todos, a administradores o a moderadores, esta bueno, una imagen. comienzan los pasos: abrimos el c.admin. php que se encuentra en inc/class y buscamos $num['medallas_total'] = $num['medallas_usuarios'] + $num['medallas_posts'] + $num['medallas_fotos']; $num['fotos_total'] = $num['fotos_visibles'] + $num['fotos_ocultas'] + $num['fotos_eliminadas']; return $num; } debajo ponemos //////////////////////INICIA EL MOD DE TRON///////////////// /* newMpsall() ENVIAMOS MP MASIVO */ function newMpsall(){ global $tsUser, $tsCore; // $cuerpo=$tsCore->setSecure($_POST['cuerpo']); $rangos=(int)$_POST['rangos']; $fecha= time(); if($tsUser->is_admod==1){ if($rangos==1){ $where='WHERE user_id != \''.$tsUser->uid.'\''; }elseif($rangos==2){ $where='WHERE user_id != \''.$tsUser->uid.'\' AND user_rango = 1'; }elseif($rangos==3){ $where='WHERE user_id != \''.$tsUser->uid.'\' AND user_rango = 2'; } $query = mysql_query('SELECT user_id,user_name FROM u_miembros '.$where.' ORDER BY user_id DESC'); if(!$query) die(mysql_error()); $data = result_array($query); foreach($data as $dato){ $subject='Mensaje de la administracion'; $sql = "INSERT INTO u_mensajes (mp_to,mp_from,mp_subject,mp_preview,mp_date) VALUES ('{$dato['user_id']}','{$tsUser->uid}','{$subject}','{$cuerpo}','{$fecha}')"; $result = mysql_query($sql); $mp_id = mysql_insert_id(); mysql_query('INSERT INTO `u_respuestas` (mp_id, mr_from, mr_body, mr_ip, mr_date) VALUES (\''.(int)$mp_id.'\', \'1\', \''.$cuerpo.'\', \''.$_SERVER['REMOTE_ADDR'].'\', \''.time().'\')'); } } if($result) return true; else return false; } luego abrimos ajax.admin.php que se encuentra en inc/php/ajax y buscamos 'admin-badwords-delete' => array('n' => 4, 'p' => ''), debajo ponemos 'admin-mpsall' => array('n' => 4, 'p' => 'mpsall'), luego buscamos case 'admin-badwords-delete': //<--- echo $tsAdmin->deleteBadWord(); //---> break; abajo de eso ponemos case 'admin-mpsall': if($_POST['cuerpo']){ echo $tsAdmin->newMpsall(); }else{ $smarty->assign("tsExit",'2'); } break; luego abrimos el archivo m.admin_sidemenu.ypl que se encuentra en themes/default/templates/admin_mods y buscamos <li id="a_rangos"><span class="cat-title"><a href="{$tsConfig.url}/admin/rangos">Rangos de Usuarios</a></span></li> debajo ponemos <li id="a_badwords"><span class="cat-title"><a href="javascript:enviar.mps.all();">Mensajes masivos</a></span></li> luego abrimos el admin.js que se encuentra en themes/default/js y buscamos /* AFILIADOS */ var ad_afiliado = { cache: {}, detalles: function(aid){ $.ajax({ type: 'POST', url: global_data.url + '/afiliado-detalles.php', data: 'ref=' + aid, success: function(h){ mydialog.show(true); mydialog.title('Detalles del Afiliado'); mydialog.body(h); mydialog.buttons(true, true, 'Aceptar', 'mydialog.close()', true, true); mydialog.center(); } }); } } debajo ponemos var enviar = { mps : { all:function(uid, redirect, aceptar){ if(!aceptar){ $('#loading').fadeIn(250); $.ajax({ type: 'POST', url: global_data.url + '/admin-mpsall.php?ts=false', success: function(h){ mydialog.show(); mydialog.title('Mps masivo'); mydialog.body(h); mydialog.buttons(true, true, 'Enviar', 'enviar.mps.all(' + uid + ", '" + redirect + "', 1);", true, false, true, 'Cancelar', 'close', true, true); $('#modalBody').css('padding', '20px 10px 0'); mydialog.center(); $('#loading').fadeOut(350); return; } }); } else { mydialog.procesando_inicio('Enviando...', 'Mps masivo'); var cuerpo = $('input[name=cuerpo]').val(); var rangos = $('#rangos').val(); $('#loading').fadeIn(250); $.ajax({ type: 'POST', url: global_data.url + '/admin-mpsall.php?ts=false', data: 'cuerpo=' + cuerpo + '&rangos=' + rangos, success: function(h){ switch(h.charAt(0)){ case '0': //Error mydialog.alert('Error', h.substring(3)); all.redirect("/admin/", 500); break; case '1': if(redirect == 'true') all.redirect("/admin/", 1700); else if(redirect == 'true') { mydialog.alert('Aviso', h.substring(3)); all.redirect("/admin/", 2000); } else { mydialog.close(); $('#report_' + pid).slideUp(); } break; } $('#loading').fadeOut(350); }, complete: function(){ mydialog.procesando_fin(); $('#loading').fadeOut(350); } }); } }, }, redirect: function(url_ref, time){ setTimeout(function(){document.location.href = global_data.url + url_ref;}, time) } } por ultimo subimos el archivo que les dejo a la carpeta themes/default/templates/t.php_files http://www.mediafire...oei7ddxwxdyhggx espero no haberme olvidado de nada, meavisan de algun error asi lo solucionamos. saludos
  49. 1 like
    Que tal les comparto esta mejora para el buscador del script espero les sea útil Se van al archivo c.posts,php y busca; else $search_on = 'p.post_title';luego lo cambian por: else $search_on = 'p.post_title, p.post_body'; mas abajo buscan: $w_search = 'AND MATCH('.$search_on.') AGAINST(\''.$q.'\' IN BOOLEAN MODE)';y lo cambian por esto: $trozos = explode(" ",$q); $numero = count($trozos); if ($numero == 1) { $w_search = "AND p.post_title LIKE '%$q%' OR p.post_body LIKE '%$q%'"; } elseif ($numero > 1) { $w_search = 'AND MATCH('.$search_on.') AGAINST(\''.$q.'\' IN BOOLEAN MODE)'; } con eso la busqueda por labaras y frases completas mejorara y se realizara tanto en el titulo del post y su contenido
  50. 1 like
    Hola hola! como están? espero que muy bien Bueno no hagamos mas largo esto... Con este mod podremos publicar códigos PHP, HTML y CSS en los posts con su respectivo bbCode, y bueno así se vería :3 CSS HTML PHP + HTML Todo esto se logra gracias a esta librería en JavaScript bueno comencemos :3 Vamos a inc/ext/bbcode.inc.php Y buscamos: public $restriction = Array("url", "code", "quote", "quotePHPost", "font", "size", "color", "img", "b", "i", "u", "align", "spoiler", "swf", "goear", "hr", "li"); Lo reemplazan con esto: public $restriction = Array("url", "code", "quote", "quotePHPost", "font", "size", "color", "img", "b", "i", "u", "align", "spoiler", "php", "css", "swf", "goear", "hr", "li"); Mas abajo en el mismo archivo buscamos: array("name" => "spoiler","pre" => "<div class=\"spoiler\"><div class=\"title\"><a href=\"#\" onclick=\"spoiler($(this)); return false;\">Spoiler:</a></div><div class=\"body\">","suf" => "</div></div>") Arriba de eso colocamos: array("name" => "php","pre" => "<pre class=\"brush: php; html-script: true\">","suf" => "</pre>"), array("name" => "css","pre" => "<pre class=\"brush: css;\">","suf" => "</pre>"), Ahora nos vamos a ir al archivo inc/class/c.core.php Buscamos: // RESTRICTIONS $parser->restriction = array('url', 'code', 'quote', 'quotePHPost', 'font', 'size', 'color', 'img', 'b', 'i', 'u', 'align', 'spoiler', 'swf', 'goear', 'hr', 'li'); Lo reemplazamos por: // RESTRICTIONS $parser->restriction = array('url', 'code', 'quote', 'quotePHPost', 'font', 'size', 'color', 'img', 'b', 'i', 'u', 'align', 'spoiler', 'php', 'css', 'swf', 'goear', 'hr', 'li'); Ahora vamos a themes/tutema/templates/sections/main_header.tpl Buscamos: {if $tsConfig.c_allow_live} <link href="{$tsConfig.css}/live.css" rel="stylesheet" type="text/css" /> <script src="{$tsConfig.js}/live.js" type="text/javascript"></script> {/if} Abajo de eso agregamos estas lineas: {if $tsPage == 'posts' && $tsPost.post_id} <!-- Modcito SyntaxHighlighter - WhistlerPHP --> <link href='http://alexgorbatchev.com/pub/sh/current/styles/shCore.css' rel='stylesheet' type='text/css'/> <link href='http://alexgorbatchev.com/pub/sh/current/styles/shThemeDefault.css' rel='stylesheet' type='text/css'/> <script src='http://alexgorbatchev.com/pub/sh/current/scripts/shCore.js' type='text/javascript'></script> <script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushXml.js' type='text/javascript'></script> <script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushCss.js' type='text/javascript'></script> <script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPhp.js' type='text/javascript'></script> <script language="javascript" type="text/javascript"> // {literal} SyntaxHighlighter.config.bloggerMode = false; SyntaxHighlighter.config.stripBrs = true; SyntaxHighlighter.defaults['collapse'] = true; SyntaxHighlighter.config.strings.expandSource = "Click para ver el codigo!"; SyntaxHighlighter.all(); // {/literal} </script> {/if} Guardamos y ya con eso quedaría listo :3 lo que si les aviso es que no encontré la forma de agregar los botones en la sección de agregar post xD pero apenas los ponga los publicaré para completar el mod al 100% :3 Como usarlo? es fácil para poner código php y/o html en el post debes encerrarlo entre Para código css debes encerrarlo entre [css][/css] Demos en vivo ! CSS + HTML: http://www.papita.info/posts/css/5/-CSS-3D-Buttons.html PHP + HTML: http://www.papita.info/posts/scriptsphp/2/-PHP-Stream-Zippyshare-con-Contador.html El mod trae una especie de "spoiler" por lo cual tendrán que apretar donde dice Click para ver el codigo! y saldrá :3 Cualquier duda déjenla en los comentarios... un saludo. WhistlerPHP! Perdón, creo que no se posteó bien xD maldito ipboard >_> para mostrar codigo php deben encerrarlo entre [*php][/*php] sin el *