Clasificación


Contenido popular

Showing most liked content since 27/01/17 en Posts

  1. 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!
  2. 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!
  3. 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!
  4. 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
  5. 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!
  6. 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]
  7. 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
  8. 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!
  9. 3 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
  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. 2 likes
    Hola este es mi primer tema en phpost (asi que no me maten xD) actualmente esta en desarrollo pero lo comparto para lo que quieran ayudarme xD. Funciones: Registro de usuario login de usuario agregar post mensaje de usuario buscador categoria agregar imagen (Desabilitado por que no me gusto xD) agregar afiliado (en desarrollo) bbcode(en desarrollo) caja de comentario slider(funcional terminado no estatico) ya se que falta mucho pero la idea inicial era solamente dejar que el usuario solo se registre y publique contenido, y por otro lado estoy leyendo la documentación de smarty ya que phpost no te explica en la documentación que hacer cada variable o función del sistema xD Descargar: mega.nz/#!OxYRGb4K!hWb1G5XEhpDh2vpx5DT6PFR1_-3MVyvPaqccZYRwJhk
  14. 2 likes
    Edita el archivo main_header.tpl que esta en themes\default\templates\sections busca: <title>{$tsConfig.titulo} | {$tsConfig.slogan} </title> y remplaza por: <title>{$tsTitle}</title>
  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
    Hola, estoy en localhost, necesito quitar esta columna gris del theme AdminLTE. Lo que pretendo es dejar la home que cubra todo. Esa parte me hace referencia a main_header, en esta parte <div class="content-wrapper"> Desde ya, Gracias
  22. 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]
  23. 1 like
    va bien, ¿como piensas traducir el texto de algunas modals que vienen en archvios .js?
  24. 1 like
    Creo que esto podría funcionar, no lo probé asi que pruebalo en local o algo: En c.core.php buscas: // 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')); Y lo cambias por: // BBCodes permitidos $parser->setRestriction(array('url', 'code', 'quote', 'font', 'size', 'color', 'img', 'b', 'i', 'u', 's', 'align', 'spoiler', 'video', 'goear', 'hr', 'sub', 'sup', 'table', 'td', 'tr', 'ul', 'li', 'ol', 'notice', 'info', 'warning', 'error', 'success')); O simplemente borras: 'swf', y en bbcode.inc.php buscas: array('tag' => 'swf', 'replace' => '<embed src="{param}" quality="high" width="640px" height="390px" type="application/x-shockwave-flash" allowfullscreen="true" allownetworking="internal" autoplay="false" wmode="transparent">', 'parse' => false, 'validParam' => $swfValidator), y lo borras. Ahora vas a acciones.js y buscas esto y lo borras: lang['ingrese la url de swf'] = "Ingrese la URL del archivo swf"; Luego lo mismo con esto: {name:lang['Insertar archivo SWF'], beforeInsert:function(h){ markit_swf(h); }}, Luego tambien lo mismo con esto: function markit_swf(h){ if(h.selection!='' && h.selection.substring(0,7)=='http://'){ h.replaceWith = '[align=center][swf=' + h.selection + ']Link: [url]' + h.selection + '[/url][/align]\n'; h.openWith = ''; h.closeWith = ''; }else{ var msg = prompt(lang['ingrese la url de swf'], 'http://'); if(msg != null){ h.replaceWith = '[align=center][swf=' + msg + ']\nlink: [url]' + msg + '[/url][/align]\n'; h.openWith = ''; h.closeWith = ''; }else{ h.replaceWith = ''; h.openWith = ''; h.closeWith = ''; } } } Luego con esto: lang['Insertar archivo SWF'] = "Insertar archivo SWF"; Seguramente haya que borrar algo más en Bbcode.inc.php, no estoy muy seguro, pero deberías probar si te anda.
  25. 1 like
    Hola amigos de phpost. Quería preguntarles que opinan. Eh estado viendo que hay mucha gente que quiere tener su web ( y ni hablar si miras en web hostings, la cantidad de gente que a alquilado pc con el famoso cpanel). Así que a pesar de la enorme competencia y el echo de que tenes que hacer que mucha gente mire tu web, pensé en la idea de querer crear un web hosting. La manera en que creo que puede ser redituable es de la siguiente forma: - Comprar dedicados: principalmente en ovh. Tienen o los vps que obviamente muchas web no entraran ahí. O los dedicados que podes mandarle muchas webs (siempre pensando en webs dentro de todo sencillas o para gente nueva en el diseño web, no para gente que tiene 10 mil usuarios conectados todo el tiempo). - Comprar el cpanel: mire varios paneles pero el mas comodo y actualizado es cpanel. Además es al que mas se acostumbra la mayoría. - Hacer mucha publicidad: hacer spam por todos lados. - Diseñar una web bonita: en este caso necesitaría de su ayuda. Ya que mi forma de diseñar las webs es muy básica y da asco. - Comprar dominios .com: comprar a una empresa que te ofrece los dominios .com re baratos. ¿Como sería la cosa entonces? Ésta es la situación hipotética: Yo alquilo el dedicado, ofrezco el servicio para que alojen sus webs + dominio .com, al precio de 3,50 dolares al mes. El dedicado saldra aproximadamente 120 dolares, hablando de un procesador Intel Xeon e5 1620 v 1, con 128 gb de ram ddr3, 4 nucleos, 8 threads, 3.7 GHz, 2 x 2 Tb de disco duro. Le mandamos aproximadamente 256 webs. Ganando 1 dolar neto por web que compren. Es decir que son 256 dolares - 160 dolares (el cpanel sale 40 dolares por dedicado). Son 94 dolares de ganancia. En fin, son aproximaciones. Capaz que alcanza para hostear muchas mas webs. Así que antes de intentar algo, quería preguntarles que les parece ¿Vale la pena hacerlo? o les parece que no da ni para intentarlo.
  26. 1 like
  27. 1 like
  28. 1 like
    A continuación les dejo la actualización o nueva versión de PHPost Risus Blog, la cual solucioné varios errores que tenía y le cambie el diseño, ademas agregue nuevas funciones para hacerla más similar a una CMS. ¿Qué trae de nuevo? Junto a la posibilidad de agregar una thumbnail o portada al escribir una entrada, ahora también se puede agregar una descripción, la cual incluiré en el tema Instagram Blog que subiré en breve. El diseño es responsive, utiliza Bootstrap 3 y Fontawesome como proveedor de iconos. Demo: LiDesign Descarga: Mega Cualquier problema me avisan
  29. 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/
  30. 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.
  31. 1 like
  32. 1 like
    Skylium es lo mejor de lo mejor
  33. 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!
  34. 1 like
  35. 1 like
    Bueno acá tenes la solución...reemplazalo c.posts.php
  36. 1 like
    Hola,gracias +1 Nota:Veo que lo has hecho en la v5,no todos los themes tiene el {include file='modules/m.posts_tags.tpl'}, dentro de m.post_content.tpl , este include si lo tienen {include file='modules/m.posts_metadata.tpl'} pueden poner el código junto a eso. Puedes crear un archivo con ese código, subirlo a la carpeta modules y llamarlo con la sentencia include,ejemplo: m.posts_video.tpl {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"> 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} <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> {/if} {include file='modules/m.posts_video.tpl'}
  37. 1 like
  38. 1 like
    Hola a todos, Voy a publicar este tema para informar que me salí oficialmente del proyecto que estaba realizando con @Tuente. La razón de porque me salí es porque el señor Tuente nunca respondía los mensajes, y ahora dale que fue por "un problema que yo tuve", siendo que para realizar un trabajo se necesita comunicación, yo puedo crear algo y a el no le puede parecer. Esa es la razón porque el instalador de Risus Minimalist lo publiqué en el Foro, ya repare la descarga por cierto. Acá les dejo una captura: Acá la última vez que me respondió. Eso es todo, nos vemos!
  39. 1 like
    Todo proyecto lleva su tiempo, no hay que ser apurados y liberar todo de una, como dice el dicho, lo bueno se hace esperar Por otro lado una pena que solo siga uno con esto, ya que con dos cabezas piensan mejor que una, terminarían mas rápido. en fin, terminen para este año
  40. 1 like
    jaja Estoy avanzando con Risus blog y este proyecto al mismo tiempo, ya estoy por subir otro tema para blogi
  41. 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.
  42. 1 like
  43. 1 like
    Pues esta horrible Como vas a comprar un .net y redirigirlo asi
  44. 1 like
    Ola como estan aqui les traigo la vercion casi ya terminada de AdminLTE 2.0 totalmente responsive provado en varios moviles algunas capturas Demo http://uploaders.ga/ - Gracias Pasto ! PD : falta añadir algunos diseños pero son pequeños ya cuando lo termine a full lo posteare ! https://mega.nz/#!DhJgzC4S si le piden la clave !_aiM32VGHiliRNagnHnaZ5glNLdylVuaQPnYpB4lj2c la Instalacion suben todo a su FTP como si subieran el Scrip de phpost configuran y disfrutan no doy mas detalles ya que estoy en el trabajo nos vemos en el siguiente pot
  45. 1 like
    Hola,eso tiene un montón de trabajo, ya lo han intentado hacer en el foro,si buscas información de lo que vale traducir una web,por los 20 euros,dolares... que ofreces ,te traducirian solo el título si no es muy largo. Puedes hacerlo gratis con los traductores que hay,por ejemplo el de google,hay otras maneras pero esta es fácil.Lo que se te deforma la web,yo lo acabo de probar para enseñartelo y se me ve bien. Entras aquí y rellena con tus datos lo que te pide,son 3 pasos, en el último te da el código del traductor,que es más o menos así <div id="google_translate_element"></div><script type="text/javascript"> function googleTranslateElementInit() { new google.translate.TranslateElement({pageLanguage: 'es', layout: google.translate.TranslateElement.InlineLayout.SIMPLE}, 'google_translate_element'); } </script><script type="text/javascript" src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script> Tienes que añadirle {literal} código {/literal} dejándolo así <div id="google_translate_element"></div>{literal}<script type="text/javascript"> function googleTranslateElementInit() { new google.translate.TranslateElement({pageLanguage: 'es', layout: google.translate.TranslateElement.InlineLayout.SIMPLE}, 'google_translate_element'); } </script><script type="text/javascript" src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>{/literal} En las imágenes que te dejo,he creado un archivo con el nombre de m.home_traductor.tpl ,dentro he puesto el código del traductor,y lo subo dentro de la carpeta modules,despues para ponerlo donde quieras pones esto {include file='modules/m.home_traductor.tpl'} , yo para probarlo rápido lo he puesto en head_menu.tpl . Si no te sirve,espero que tengas suerte con tu pedido,saludos.
  46. 1 like
    vengo a figurar con todos los mods que he creado, cuales son? lo siento eso es clasificado!!!! solo les dejo una pista : "no existen" LoL
  47. 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
  48. 1 like
    Probe el MOD y funciona al 100% y lo que me di cuenta es cuando alguien sube un archivo se sube a la carpeta files...Existe la posibilidad de que se pueda hacer de otra manera un ejemplo: hacer otro hosting que se llame subidos y cuando alguien sube un archivo se guarde en ese hosting y no en el de la web (seria externo)
  49. 1 like
    Hola gente les dejo un tip para mejorar el filtro de búsqueda de los posts, ya que el principal objetivo y relación de búsqueda es única y exclusivamente con los títulos y yo quise agregarle tambien el contenido del post, aunque pueden salir muchos resultados con una sola palabra, si lo hacemos más especifico tendremos mejores resultados. aquí una prueba: SOLO EL TITULO MAS EL CONTENIDO Como pueden ver tiene un mejor filtro de búsqueda y aunque por ahí se colen uno que otro post que no tiene nada que ver, me parece una mejor opción de búsqueda si contamos con una o muy pocas palabras claves para buscar. Para aplicar este filtro la modificación es muy sencilla, abrimos c.post.php y casi al final del archivo buscamos: else $search_on = 'p.post_title'; Lo reemplazamos por: else $search_on = 'p.post_title, p.post_body'; Y así filtrará las palabras del titulo y el contenido del post. Espero les guste el minimod, cualquier cosa comenten... saludos y nos vemos en otro mod
  50. 1 like
    Gracias por la ayuda y los consejos Vellenger +1 Al principio tuve muchos problemas para importar la Base de datos, a mi nuevo hosting, pero luego de varios intentos erroneos y practicar en mi Localhost con XAMPP, pude aprender a migrar de hosting. Es muy pero muy fácil. 1ro. respaldar tus archivos en el hosting viejo desde el directorio Raiz, también respaldar la base de datos pero sin respaldar las tablas w_configuracion y w_temas, si respaldan estas dos tablas van a tener problemas a la hora de hacer una nueva instalación, Yo lo que hice fue respaldar tabla por tabla en total son 38 tablas sin contar las dos que no debemos respaldar. 2do. hay que subir la Risus totalmente nueva, con una Base de Datos nueva. 3ro. instalar la Risus nueva, con la base de datos nueva, como cuando lo hicimos al comienzo. 4to. una vez instalado, reemplazamos de nuestra nueva instalación las carpetas: files, inc, themes, esas 3 carpetas las vamos a reemplazar por los respaldos que habíamos hecho anteriormente, es muy importante reemplazar esas 3 carpetas con todas sus sub-carpetas para que la web funcione exactamente como la teníamos anteriormente con todos los cambios que le habíamos hechos, fix y mod, todo funcionara correctamente si lo hacen de esa manera. 5to. ingresar al phpMy Admin de nuestro C-panel, recomiendo respaldar la Base de datos de la nueva instalación por si cometemos algún error podremos volver muy fácilmente sin comenzar de nuevo. 6to. dentro de nuestra nueva base de datos en el phpMy Admin, lo que hice fue Borrar todas las tablas sin borrar las tablas w_configuracion y w_temas, esas dos no hay que borrarlas, el resto de las tablas si, luego de borrar el resto de las 38 tablas lo que hice fue importarlas una por una con los respaldos que hice desde el antigo hosting. Es un método lento pero muy efectivo, fue el único método que me funciono, al principio intente hacerlo importando la Base de datos completa pero era imposible me daba error incompatibilidad entre los dos phpMy Admin, pero al hacerlo así tabla por tabla todo fue muy fácil y perfecto, me tomo solo 20 minutos migrar el sitio haciéndolo de este modo XD. Es ideal para todo aquel que quiera migrar de hosting o quiera tener un clon de su propia pagina en su Localhost XD