Jump to content

Buscar en La Comunidad

Showing results for tags 'mod'.



More search options

  • Search By Tags

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

Tipo de Contenido


Foros

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

Calendars

  • Risus2's Calendario

Encontramos 130 resultados

  1. Adaptar Mod Video en Perfil por rangos

    Hola amigos alguien podría ayudarme a adaptar este mod para que solo puedan utilizarlo usuarios de determinados rangos? el mod es el siguiente: Lo que quería es que en la creación de un rango esté la opción de si los usuarios de ese rango pueden publicar un vídeo en su perfil, el mod que siga siendo el mismo solo que tenga esa opción alguien podría? espero sus respuestas!!
  2. Bueno les presento un complemento que lo tengo en demo32.hol.es, lo hice porque el panel de la izquierda era muy tosco y feo así que decidí cambiarlo por el de la derecha si alguien quiere este panel, se los pasaré...lo hago así porque no se si les gustará o si lo usarán o no! Para ello deben tener el conjunto de Glyphicon Halflings aunque también se los dejaré por si acaso! Si la imagen no se ve haz clic aquí Después le haré el mod para que el usuario elija la imagen del fondo desde su cuenta!...
  3. [Mod] Fondo del perfil

    Hola, este es un mod/mini-mod/complemento que aplica un background solo en el perfil... he tratado de hacerlo con home, fotos, tops, etc. desde la cuenta, en teoría lo que quería hacer es que los usuarios eligieran las imágenes que querían poner para las secciones ya mencionadas, pero solo logré para el perfil... Si el mod ya existía pido perdón, porque no lo he visto 1) Ejecutar esta consulta ALTER TABLE `u_perfil` ADD `p_fondo` VARCHAR(200) NOT NULL; 2) Ir a c.cuenta.php y buscar function loadHeadInfo($user_id){ global $tsUser, $tsCore; // INFORMACION GENERAL y dentro de esta función buscamos p.p_socials, p.p_empresa, y agregar a lado de esto p.p_fondo, Luego buscar más abajo } // COMPROBAR PORCENTAJE $total = array(5,8,9,8,9); // CAMPOS EN CADA CATEGORIA $tid = $save - 1; y arriba agregamos case 9: // IN DB $perfilData = array( 'fondo' => $tsCore->setSecure($_POST['fondo']), //Este es para el perfil ); break; 3) Vamos a estilos.css y en body dentro de las llaves {...} agregaremos esto background-position: center center; background-repeat: no-repeat; background-attachment: fixed; background-size: cover; 4) Luego buscar tuTheme/templates/t.cuenta.tpl y debajo de <li><a onclick="cuenta.chgtab(this)">Cambiar Nick</a></li> agregamos <li><a onclick="cuenta.chgtab(this)">Fondo</a></li> un poco más abajo debajo de {include file='modules/m.cuenta_nick.tpl'} agregamos {include file='modules/m.cuenta_fondo.tpl'} 5) Crearemos el archivo m.cuenta_fondo.tpl y la colocaremos en modules <div class="content-tabs fondo" style="display:none"> <fieldset> <div class="alert-cuenta cuenta-9"></div> <div class="field" style="padding: 5px 0"> <label for="fondo" style="display: inline-block;">Fondo del Perfil:</label> <input type="text" value="{$tsPerfil.p_fondo}" maxlength="200" name="fondo" id="fondo" class="text cuenta-save-9" style="width:65%; display: inline-block;"> </div> </fieldset> <div class="buttons"> <input type="button" value="Guardar" onclick="cuenta.save(9)" class="mBtn btnOk"/> </div> <div class="clearfix"></div> </div> 6) Último paso vamos a templates/sections/main_header.tpl y buscamos </head> <body> y arriba agregamos {literal} <style> body { background-image: url({/literal}{$tsInfo.p_fondo}{literal}); } </style> {/literal} RESULTADO FINAL: Para evitar las puntas blancas busquen en estilos.css /****** Bordes Redondos ******/ debajo agregan ↓ ↓ ↓ .rtop { border-radius: 11px 11px 0 0; } .rbott { border-radius: 0 0 11px 11px; } y listo quedará más lindo Para el fondo con opaco → ir a sections/main_header.tpl y buscar <body> debajo pegamos <div id="background_transparent"></div> y en estilo.css debajo de body { ... } pegamos Fondo 1 #background_transparent { background-color: rgba(255,255,255,.6); position: fixed; height: 100%; top: 0; width: 100%; z-index: -1; } Fondo 2 #background_transparent { background-color: rgba(0,0,0,.8); position: fixed; height: 100%; top: 0; width: 100%; z-index: -1; } Fondo1 Fondo2
  4. Pedido MOD Agrandar tamaño de la letra a gusto

    Bueno el mod consistiría en que el usuario pueda agrandar el tamaño de la letra a su vista, por ejemplo la fuente por default es 13px, que el usuario pueda agrandarla hasta 22px que es un tamaño que ya sin anteojos ya se podría leer fácilmente digamos, entonces a el usuario le aparezcan 2 botones por ejemplo [ - ] [ + ] y vaya subiendo y bajando el tamaño de la letra según los clicks del usuario por ejemplo cuando el usuario empiece a clieckear el botón [ + ] vaya subiendo el tamaño de la letra de esta forma: (13px por default)(16px 1 click)(18px 2 clicks)(21px 3 clicks)(24px 4 clicks), luego de bajada lo mismo hasta que se estanque en 13px que es el tamaño por default. alguien podría lograr hacerlo? espero sus respuestas!!! gracias!
  5. Donde agregar esto?

    Bueno antes hice un tema pidiendo si alguien podía adaptar un mod, pero ahora creo que ya se como hacer para que esto funcione, pero no se donde agregarlo. El mod es el siguiente: Lo que quiero hacer es que el icono aparte de que aparezca al lado del nombre en el perfil también aparezca dentro del post y al pasar el ratón por arriba del nombre como se muestra en estas imagenes: ASI SE VE EL MOD ORIGINAL LO QUE QUIERO ES AGREGAR ESE ICONO EN ESTAS PARTES DE LA WEB Entonces lo que creo que hay que hacer basándome en el mod original es agregar el u.user_vips, al PHP correspondiente y el {if $tsInfo.user_vips} al lado del NICK, lo que no se es en que archivos se encuentran en que php se agrega el u.user_vips, y en que parte, y en que archivo se agrega el info.user_vips, alguno podría ayudarme? gracias! @Kmario19 @Vellenger necesito su ayuda
  6. Adaptar MOD Verificar Usuarios

    Hola amigos quería pedir ayuda para adaptar este mod: Lo que quiero hacer es que aparte de que el icono de verificación aparezca al lado del nombre del usuario en su perfil, también aparezca al lado de su nombre en sus posts, y cuando pasas el ratón por encima de su nombre como se muestra en las siguientes imagenes: Alguno podría adaptarlo?, muchas gracias!
  7. Pedido MOD Registrados por país

    Hola busco un MOD donde se muestre una lista de países junto al numero de registrados que tiene ese país, por ejemplo: Registrados Argentina 10 México 6 Venezuela 3 Existe un mod así?, gracias por pasar
  8. Algunos Mod Theme Carbon v1

    aqui de nuevo tenia tiempo si entrar a el foro serán tan amables de pasarme algunos mod o adaptarlos seria de gran ayuda por los momentos pediré 4 mod 1: Caja de me gusta de facebook en el home y post 2: Quiero poner algunos módulos de publicidad en el home y post seria el de 300x250 y 160x600 3: adaptar el editor Whisiwyg a el tema carbon v1 4: LazyLoad en los post URL: http://zona-gamer.ml/
  9. Hola gente de Phpost, hoy les traigo Social Locker para PHPost administrable, para los que no lo conocen, nos permite bloquear cierto contenido (en este caso con el bbcode [sociallocker]) y pedir como "pago" una acción social. Unas capturas: Instalación: En admin.php buscar: /** NOTICIAS **/ Agregar arriba: /** Social locker **/ } elseif($action == 'social-locker'){ if(!empty($_POST['save'])){ if($tsAdmin->saveSocialLocker()) $tsCore->redirectTo($tsCore->settings['url'].'/admin/social-locker?save=true'); } else { $smarty->assign('tsLocker', $tsAdmin->getLocker()); } En posts.php buscar: $smarty->assign("tsPages",$tsPages); Agregar abajo: // Social Locker $smarty->assign('tsLocker', $tsPosts->getLocker()); En c.admin.php buscar: /* savePConfigs() Agregar arriba: /* getLocker() */ function getLocker() { $query = db_exec(array(__FILE__, __LINE__), 'query', 'SELECT * FROM s_locker'); $data = db_exec('fetch_assoc', $query); $data['btn'] = unserialize($data['botones_data']); return $data; } /* saveLocker() */ function saveSocialLocker() { global $tsCore; // $s = array( 'titulo' => $tsCore->setSecure($_POST['locker_titulo']), 'body' => $tsCore->setSecure($_POST['locker_body']), 'tema' => empty($_POST['locker_tema']) ? 0 : $_POST['locker_tema'], 'modo' => empty($_POST['locker_modo']) ? 0 : $_POST['locker_modo'], 'cerrar_seg' => (int)$_POST['locker_cerrar_seg'], 'cerrar' => empty($_POST['locker_cerrar']) ? 0 : 1, 'obligar' => empty($_POST['locker_obligar']) ? 0 : 1, 'hide_members' => empty($_POST['locker_hide_members']) ? 0 : 1, 'fb_app_id' => $tsCore->setSecure($_POST['locker_fb_app_id']), 'g_client_id' => $tsCore->setSecure($_POST['locker_g_client_id']), 'contador' => empty($_POST['locker_contador']) ? 0 : 1 ); // $btns = array ( // like 'like' => $_POST['locker_like'], 'like_url' => $_POST['locker_like_url'], 'like_text' => $_POST['locker_like_text'], // FB Share 'fbshare' => $_POST['locker_fbshare'], 'fbshare_url' => $_POST['locker_fbshare_url'], 'fbshare_text' => $_POST['locker_fbshare_text'], // Tweet 'tweet' => $_POST['locker_tweet'], 'tweet_url' => $_POST['locker_tweet_url'], 'tweet_body' => $_POST['locker_tweet_body'], 'tweet_via' => $_POST['locker_tweet_via'], 'tweet_text' => $_POST['locker_tweet_text'], // Follow 'follow' => $_POST['locker_follow'], 'follow_user' => $_POST['locker_follow_user'], 'follow_text' => $_POST['locker_follow_text'], // G+1 'g' => $_POST['locker_g'], 'g_url' => $_POST['locker_g_url'], 'g_text' => $_POST['locker_g_text'], // G Share 'gshare' => $_POST['locker_gshare'], 'gshare_url' => $_POST['locker_gshare_url'], 'gshare_text' => $_POST['locker_gshare_text'], // Linkedin Share 'inshare' => $_POST['locker_inshare'], 'inshare_url' => $_POST['locker_inshare_url'], 'inshare_text' => $_POST['locker_inshare_text'], // Youtube Subscribe 'yt' => $_POST['locker_yt'], 'yt_id' => $_POST['locker_yt_id'], 'yt_text' => $_POST['locker_yt_text'] ); $btns = $tsCore->setSecure(serialize($btns)); // UPDATE if (db_exec(array(__FILE__, __LINE__), 'query', 'UPDATE `s_locker` SET `titulo` = \'' . $s['titulo'] . '\', `body` = \'' . $s['body'] . '\', `tema` = \'' . $s['tema'] . '\', `modo` = \'' . $s['modo'] . '\', `cerrar_seg` = \'' . $s['cerrar_seg'] . '\', `cerrar` = \'' . $s['cerrar'] . '\', `obligar` = \'' . $s['obligar'] . '\', `hide_members` = \'' . $s['hide_members'] . '\', `fb_app_id` = \'' . $s['fb_app_id'] . '\', `g_client_id` = \'' . $s['g_client_id'] . '\', `contador` = \'' . $s['contador'] . '\', `botones_data` = \'' . $btns . '\' WHERE `id` = \'1\'')) return true; else exit( show_error('Error al ejecutar la consulta de la línea '.__LINE__.' de '.__FILE__.'.', 'db') ); } En c.posts.php buscar: /* getSideData($array) */ Agregar arriba: /* getLocker() */ function getLocker() { global $tsCore; $query = db_exec(array(__FILE__, __LINE__), "query", "SELECT * FROM s_locker"); $data = db_exec("fetch_assoc", $query); $data["btn"] = unserialize($data["botones_data"]); // Datos del post $dataPost = $this->getPost(); $post_id = intval($_GET["post_id"]); // Titulo del post $titulo = $dataPost["post_title"]; // Categoria $categoria = $dataPost["categoria"]; // URL del post $urlPost = $tsCore->settings["url"] . "/posts/" . $categoria["c_seo"] . "/" . $post_id . "/" . $tsCore->setSEO($titulo) . ".html"; // Fix saltos de linea $data["body"] = preg_replace("[\n|\r|\n\r]", " ", $data["body"]); // Remplazamos BBCodes $bbcodes = array("[post_title]", "[post_url]"); $bbreturn = array($titulo, $urlPost); $count = count($data); for($i = 0; $i < $count; $i++) { $data = str_replace($bbcodes, $bbreturn, $data); $data["btn"] = str_replace($bbcodes, $bbreturn, $data["btn"]); } return $data; } En c.core.php busca: // 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 agrega , 'sociallocker' quedando de esta manera: // 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', 'sociallocker')); En bbcode.inc.php busca: array('tag' => 'success', 'replace' => '<div class="bbcmsg success">{param}</div>') Y remplaza por: array('tag' => 'success', 'replace' => '<div class="bbcmsg success">{param}</div>'), array('tag' => 'sociallocker', 'replace' => '<div id="socialloker_by_Basdower">{param}</div>') (Agregamos una coma y el nuevo bbcode) En t.posts.tpl busca: {include file='sections/main_header.tpl'} Agrega abajo: <link href="{$tsConfig.tema.t_url}/css/pandalocker.css" rel="stylesheet" type="text/css" /> <script src="{$tsConfig.js}/pandalocker.js" type="text/javascript"></script> {if $tsLocker.hide_members == 1 && $tsUser->is_member == 1}{else} <script>{literal}$(function(){if($("#socialloker_by_Basdower").length) {$('#socialloker_by_Basdower').sociallocker({ text:{header: '{/literal}{$tsLocker.titulo}{literal}',message: '{/literal}{$tsLocker.body}{literal}'},{/literal}{if $tsLocker.obligar == 1}demo: true,{/if}{literal}theme: '{/literal}{if $tsLocker.tema == 0}starter{elseif $tsLocker.tema == 1}secrets{elseif $tsLocker.tema == 2}flat{elseif $tsLocker.tema == 3}dandyish{elseif $tsLocker.tema == 4}glass{/if}{literal}',overlap:{mode: '{/literal}{if $tsLocker.modo == 0}full{elseif $tsLocker.modo == 1}transparence{elseif $tsLocker.modo == 2}blurring{/if}{literal}'},locker:{{/literal}{if $tsLocker.cerrar_seg > 0}{literal}timer: '{/literal}{$tsLocker.cerrar_seg}{literal}',{/literal}{/if}{literal}close: {/literal}{if $tsLocker.cerrar == 1}true{else}false{/if}{literal}},{/literal}{if $tsLocker.btn.like == 1 || $tsLocker.btn.fbshare == 1}{literal}facebook:{{/literal}{if $tsLocker.btn.like == 1}{literal}like:{url: '{/literal}{$tsLocker.btn.like_url}{literal}',title: '{/literal}{$tsLocker.btn.like_text}{literal}'},{/literal}{/if}{literal}{/literal}{if $tsLocker.btn.fbshare == 1}{literal}share:{url: '{/literal}{$tsLocker.btn.fbshare_url}{literal}',title: '{/literal}{$tsLocker.btn.fbshare_text}{literal}'},{/literal}{/if}{literal}appId: '{/literal}{$tsLocker.fb_app_id}{literal}'},{/literal}{/if}{literal}{/literal}{if $tsLocker.btn.tweet == 1 || $tsLocker.btn.follow == 1}{literal}twitter:{{/literal}{if $tsLocker.btn.tweet == 1}{literal}tweet:{url: '{/literal}{$tsLocker.btn.tweet_url}{literal}',text: '{/literal}{$tsLocker.btn.tweet_body}{literal}',via: '{/literal}{$tsLocker.btn.tweet_via}{literal}',title: '{/literal}{$tsLocker.btn.tweet_text}{literal}'},{/literal}{/if}{literal}{/literal}{if $tsLocker.btn.follow == 1}{literal}follow:{url: '{/literal}{$tsLocker.btn.follow_user}{literal}',title: '{/literal}{$tsLocker.btn.follow_text}{literal}'}{/literal}{/if}{literal}},{/literal}{/if}{literal}{/literal}{if $tsLocker.btn.g == 1 || $tsLocker.btn.gshare == 1}{literal}google:{{/literal}{if $tsLocker.btn.g == 1}{literal}plus:{url: '{/literal}{$tsLocker.btn.g_url}{literal}',title: '{/literal}{$tsLocker.btn.g_text}{literal}'},{/literal}{/if}{literal}{/literal}{if $tsLocker.btn.gshare == 1}{literal}share:{url: '{/literal}{$tsLocker.btn.gshare_url}{literal}',title: '{/literal}{$tsLocker.btn.gshare_text}{literal}'}{/literal}{/if}{literal}},{/literal}{/if}{literal}{/literal}{if $tsLocker.btn.inshare == 1}{literal}linkedin:{share:{url: '{/literal}{$tsLocker.btn.inshare_url}{literal}',title: '{/literal}{$tsLocker.btn.inshare_text}{literal}'}},{/literal}{/if}{literal}{/literal}{if $tsLocker.btn.yt == 1}{literal}youtube:{subscribe:{channelId: '{/literal}{$tsLocker.btn.yt_id}{literal}',clientId: '{/literal}{$tsLocker.g_client_id}{literal}',title: '{/literal}{$tsLocker.btn.yt_text}{literal}'}},{/literal}{/if}{literal}buttons:{order: [{/literal}{if $tsLocker.btn.like == 1}{literal}"facebook-like",{/literal}{/if}{literal}{/literal}{if $tsLocker.btn.fbshare == 1}{literal}"facebook-share",{/literal}{/if}{literal}{/literal}{if $tsLocker.btn.tweet == 1}{literal}"twitter-tweet",{/literal}{/if}{literal}{/literal}{if $tsLocker.btn.follow == 1}{literal}"twitter-follow",{/literal}{/if}{literal}{/literal}{if $tsLocker.btn.g == 1}{literal}"google-plus",{/literal}{/if}{literal}{/literal}{if $tsLocker.btn.gshare == 1}{literal}"google-share",{/literal}{/if}{literal}{/literal}{if $tsLocker.btn.inshare == 1}{literal}"linkedin-share",{/literal}{/if}{literal}{/literal}{if $tsLocker.btn.yt == 1}{literal}"youtube-subscribe"{/literal}{/if}{literal}],counters: {/literal}{if $tsLocker.contador == 1}true{else}false{/if}{literal},lazy: true} }); }});{/literal}</script> {/if} En m.admin_sidemenu.tpl busca: <li id="a_ads"><span class="cat-title"><a href="{$tsConfig.url}/admin/ads">Publicidad</a></span></li> Y agrega abajo: <li id="a_social"><span class="cat-title"><a href="{$tsConfig.url}/admin/social-locker">Social Locker</a></span></li> En t.admin.tpl busca: {/if} Agrega arriba: {elseif $tsAction == 'social-locker'} {include file='admin_mods/m.admin_social_locker.tpl'} En admin.css busca: li#a_badwords {background-image: url(../images/icons/stop.png);} Y agrega abajo: li#a_social {background-image: url(../images/icons/social-locker.png);background-position: 0px -5px;} Realiza estas consultas SQL: CREATE TABLE IF NOT EXISTS `s_locker` ( `id` INT NOT NULL AUTO_INCREMENT , `titulo` VARCHAR(150) NOT NULL , `body` TEXT NOT NULL , `tema` INT NOT NULL , `modo` INT NOT NULL , `cerrar_seg` INT NOT NULL , `cerrar` INT NOT NULL , `obligar` INT NOT NULL , `hide_members` INT NOT NULL , `fb_app_id` VARCHAR(50) NOT NULL , `g_client_id` VARCHAR(100) NOT NULL , `contador` INT NOT NULL , `botones_data` TEXT NOT NULL , PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; INSERT INTO `s_locker`(`titulo`, `body`, `tema`, `modo`, `cerrar_seg`, `cerrar`, `obligar`, `hide_members`, `fb_app_id`, `g_client_id`, `contador`, `botones_data`) VALUES ('¡Este contenido está bloqueado!', 'Utilice uno de los botones de abajo para desbloquear el contenido.', 0, 0, 0, 0, 0, 0, '', '', 1, 'a:26:{s:4:"like";s:1:"0";s:8:"like_url";s:0:"";s:9:"like_text";s:4:"Like";s:7:"fbshare";s:1:"0";s:11:"fbshare_url";s:0:"";s:12:"fbshare_text";s:5:"share";s:5:"tweet";s:1:"0";s:9:"tweet_url";s:0:"";s:10:"tweet_body";s:0:"";s:9:"tweet_via";s:0:"";s:10:"tweet_text";s:5:"tweet";s:6:"follow";s:1:"0";s:11:"follow_user";s:0:"";s:11:"follow_text";s:6:"follow";s:1:"g";s:1:"0";s:5:"g_url";s:0:"";s:6:"g_text";s:5:"+1 us";s:6:"gshare";s:1:"0";s:10:"gshare_url";s:0:"";s:11:"gshare_text";s:5:"share";s:7:"inshare";s:1:"0";s:11:"inshare_url";s:0:"";s:12:"inshare_text";s:5:"share";s:2:"yt";s:1:"0";s:5:"yt_id";s:0:"";s:7:"yt_text";s:9:"subscribe";}') Y finalmente sube estos archivos a sus respectivas carpetas. DEMO (No prometo que dure mucho xD) Notas: Utilizar el bbcode [sociallocker][/sociallocker] para bloquear el contenido. Debido a los límites de la API de Twitter y LinkedIn es posible desbloquear el contenido cerrando la ventana de dialogo sin compartir. Para el boton share de fb es recomendable utilizar Open Graph. Para los botones de Compartir con FB y Suscribirse a YT es necesario crear una api: Facebook App ID, Google Client ID si no los piensan usar, no es necesario. Bueno eso es todo, nos vemos en otro aporte.
  10. Pedido MOD

    hola gente, quisiera saber si hay un mod que se pueda restringir a cada rango el maximo de post permitidos por dia. Algún desarrollador audas que lo quiera hacer?
  11. mod karma

    hola amigos estoy reconstruyendo mi web despues de mucho tiempo como el sitio de taringa pero no encuentro nada al respecto sobre el mod karma por posteo o comparimiento en la comunidad agradezco su respuestas. mi web: http://www.systemarg.com
  12. Mod puntos por comentar

    Hola amigos de nuevo, quería ver si alguien hace o ya ah hecho, ya que no creo que sea algo muy novedoso, la idea de hacer un mod en el que los usuarios ganen puntos por comentar post. Es decir si comentan 2 veces en el mismo post no se le dan dos puntos, sino 1 solo porque es 1 punto por post. En fin me ayudaría mucho a promover a que la gente se ayude y comente entre todos en mi web. Saludos!
  13. 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!
  14. Mod referidos

    Hola amigos, de nuevo con dudas. Estoy intentando instalar el mod referidos: Pero no existe el archivo a.sidebar.tpl y bueno quería consultarles como hago para instalarlo en mi web. Seguro es re fácil, pero como se poco y nada, no me sale. web: www.dibujandoconestilo.esy.es Saludos.
  15. Hola hoy les traigo una modificación más + mod o como quieran llamarlo... caps.. 1) Abrimos inc/class/c.cuenta.php y buscamos $data['p_socials'] = unserialize($data['p_socials']); $data['p_socials']['f'] = $data['p_socials'][0]; $data['p_socials']['t'] = $data['p_socials'][1]; y debajo agregamos $data['p_socials']['y'] = $data['p_socials'][2]; $data['p_socials']['i'] = $data['p_socials'][3]; $data['p_socials']['l'] = $data['p_socials'][4]; $data['p_socials']['p'] = $data['p_socials'][5]; más abajo buscamos $data['p_nombre'] = $tsCore->setSecure($tsCore->parseBadWords($data['p_nombre']), true); $data['p_mensaje'] = $tsCore->setSecure($tsCore->parseBadWords($data['p_mensaje']), true); $data['p_socials'] = unserialize($data['p_socials']); $data['p_socials']['f'] = $data['p_socials'][0]; $data['p_socials']['t'] = $data['p_socials'][1]; y debajo agregamos $data['p_socials']['y'] = $data['p_socials'][2]; $data['p_socials']['i'] = $data['p_socials'][3]; $data['p_socials']['l'] = $data['p_socials'][4]; $data['p_socials']['p'] = $data['p_socials'][5]; ahora más abajo buscamos if(!empty($sitio)) $sitio = substr($sitio, 0, 4) == 'http' ? $sitio : 'http://'.$sitio; // EXTERNAS $facebook = $tsCore->setSecure($tsCore->parseBadWords($_POST['facebook']), true); /* ELIMINAR */ $twitter = $tsCore->setSecure($tsCore->parseBadWords($_POST['twitter']), true); /* ELIMINAR */ $youtube = $tsCore->setSecure($tsCore->parseBadWords($_POST['youtube']), true); /* ELIMINAR */ for($i = 0; $i < 5; $i++) $gustos[$i] = $tsCore->setSecure($tsCore->parseBadWords($_POST['g_'.$i]), true); // IN DB $perfilData = array( 'nombre' => $tsCore->setSecure($tsCore->parseBadWords($_POST['nombrez']), true), 'mensaje' => $tsCore->setSecure($tsCore->parseBadWords($_POST['mensaje']), true), 'sitio' => $tsCore->setSecure($tsCore->parseBadWords($sitio), true), 'socials' => serialize(array($facebook,$twitter,$youtube)), /* ELIMINAR */ y la reemplazamos if(!empty($sitio)) $sitio = substr($sitio, 0, 4) == 'http' ? $sitio : 'http://'.$sitio; // EXTERNAS for($i = 0; $i < 5; $i++) $gustos[$i] = $tsCore->setSecure($tsCore->parseBadWords($_POST['g_'.$i]), true); // IN DB $perfilData = array( 'nombre' => $tsCore->setSecure($tsCore->parseBadWords($_POST['nombrez']), true), 'mensaje' => $tsCore->setSecure($tsCore->parseBadWords($_POST['mensaje']), true), 'sitio' => $tsCore->setSecure($tsCore->parseBadWords($sitio), true), Luego buscamos case 8: .... setSecure($_SERVER['REMOTE_ADDR']).'\')')) return array('error' => 'Proceso iniciado, recibirá la respuesta en el correo indicado cuando valoremos el cambio.'); } break; debajo agregaremos esto case 9: // EXTERNAS $facebook = $tsCore->setSecure($tsCore->parseBadWords($_POST['facebook']), true); $twitter = $tsCore->setSecure($tsCore->parseBadWords($_POST['twitter']), true); $youtube = $tsCore->setSecure($tsCore->parseBadWords($_POST['youtube']), true); $instagram = $tsCore->setSecure($tsCore->parseBadWords($_POST['instagram']), true); $linkedin = $tsCore->setSecure($tsCore->parseBadWords($_POST['linkedin']), true); $pinterest = $tsCore->setSecure($tsCore->parseBadWords($_POST['pinterest']), true); // IN DB $perfilData = array( 'socials' => serialize(array($facebook,$twitter,$youtube,$instagram,$linkedin,$pinterest)), ); break; 3) Ahora buscamos en templates/t.cuenta.tpl <li><a onclick="cuenta.chgtab(this)">Cambiar Nick</a></li> y debajo agregamos esto <li><a onclick="cuenta.chgtab(this)">Redes</a></li> Luego más abajo buscamos {include file='modules/m.cuenta_nick.tpl'} y debajo agregamos esto {include file='modules/m.cuenta_redes.tpl'} 4) Ahora vamos a templates/modules/ y creamos un archivo llamado m.cuenta_redes.tpl y en el alojaremos todo esto <div class="content-tabs redes" style="display:none"> <fieldset> <div class="alert-cuenta cuenta-9"></div> <h2 class="active rsocial">Redes Sociales:</h2> <div class="field"> <div id="redesociales"> <span class="fa fa-facebook Linkfa"></span> <strong>facebook.com/</strong> <input type="text" value="{$tsPerfil.p_socials.f}" maxlength="64" name="facebook" id="ft" class="text cuenta-save-9"> </div> <div id="redesociales"> <span class="fa fa-twitter Linktw"></span> <strong>twitter.com/</strong> <input type="text" value="{$tsPerfil.p_socials.t}" maxlength="64" name="twitter" id="ft2" class="text cuenta-save-9"> </div> <div id="redesociales"> <span class="fa fa-youtube Linkyo"></span> <strong>youtube.com/</strong> <input type="text" value="{$tsPerfil.p_socials.y}" maxlength="64" name="youtube" id="ft2" class="text cuenta-save-9"> </div> <div id="redesociales"> <span class="icon icon-instagram Linkins"></span> <strong>instagram.com/</strong> <input type="text" value="{$tsPerfil.p_socials.i}" maxlength="64" name="instagram" id="ft2" class="text cuenta-save-9"> </div> <div id="redesociales"> <span class="fa fa-linkedin Linkli"></span> <strong>linkedin.com/</strong> <input type="text" value="{$tsPerfil.p_socials.l}" maxlength="64" name="linkedin" id="ft2" class="text cuenta-save-9"> </div> <div id="redesociales"> <span class="fa fa-pinterest Linkpi"></span> <strong>pinterest.com/</strong> <input type="text" value="{$tsPerfil.p_socials.p}" maxlength="64" name="pinterest" id="ft2" class="text cuenta-save-9"> </div> </div> <div class="buttons"> <input type="button" value="Guardar" onclick="cuenta.save(9)" class="mBtn btnOk"> </div> <div class="clearfix"></div> </div> 5) En extras.css al final de todo agregaremos ATENCIÓN ACÁ USTEDES PUEDEN MODIFICARLO PARA ADAPTARLO A SU THEME Y UTILIZA FONTAWESOME /* Cuenta */ h2.rsocial { margin: 0px; padding: 8px; font-size: 30px; color: #357997; line-height: 1em; text-align: center; font-family: 'Century gothic'; border-top: 1px dashed #145665; border-bottom: 1px dashed #145665; } #redesociales { width: 100%; padding: 8px; display: block; } #redesociales span { color: #EEE; padding: 6px; font-size: 20px; } #redesociales span.Linkfa, #redesociales span.Linkyo, #redesociales span.Linkins, #redesociales span.Linkli, #redesociales span.Linktw, #redesociales span.Linkpi { padding: 5px 15px; text-align:center; border-radius:3px; } #redesociales span.Linkfa { background:#3B5998;} #redesociales span.Linkyo{ background:#D14836;} #redesociales span.Linkins{ background:#14589E;} #redesociales span.Linkli{ background:#007FB1;} #redesociales span.Linktw{ background:#00ACED;} #redesociales span.Linkpi{ background:DarkRed;} #redesociales strong { color: #333; font-size: 20px; padding-left: 3px; font-weight: normal; text-shadow: 0px 0px 3px #888; text-transform: uppercase!important; } #redesociales input[type="text"] { float: right; color: #555; font-weight: bold; padding: 6px; width: 270px; font-size: 20px; margin-right: 18%; } @media screen and (max-width: 768px) { #redesociales strong { display: none!important; } #redesociales input[type="text"] { float: both; color: #555; font-weight: bold; padding: 6px; width: 270px; font-size: 20px; margin-left: -18%; } } 6) Ahora volvemos a templates/modules/ y crearemos otro archivo llamado m.redes_sociales.tpl <div id="redes-perfil"> {if $tsInfo.p_socials.f} <a target="_blank" href="http://www.facebook.com/{$tsInfo.p_socials.f}" class="qtip" title="{$tsInfo.p_socials.f}"> <span class="fa fa-facebook Linkfa"></span> </a> {/if} {if $tsInfo.p_socials.t} <a target="_blank" href="http://www.twitter.com/{$tsInfo.p_socials.t}" class="qtip" title="@{$tsInfo.p_socials.t}"> <span class="fa fa-twitter Linktw"></span> </a> {/if} {if $tsInfo.p_socials.y} <a target="_blank" href="http://www.youtube.com/{$tsInfo.p_socials.y}" class="qtip" title="{$tsInfo.p_socials.y}"> <span class="fa fa-youtube Linkyo"></span> </a> {/if} {if $tsInfo.p_socials.i} <a target="_blank" href="http://www.instagram.com/{$tsInfo.p_socials.i}" class="qtip" title="@{$tsInfo.p_socials.i}"> <span class="fa fa-instagram Linkins"></span> </a> {/if} {if $tsInfo.p_socials.l} <a target="_blank" href="http://www.linkedin.com/{$tsInfo.p_socials.l}" class="qtip" title="{$tsInfo.p_socials.l}"> <span class="fa fa-linkedin Linkli"></span> </a> {/if} {if $tsInfo.p_socials.p} <a target="_blank" href="http://www.pinterest.com/{$tsInfo.p_socials.p}" class="qtip" title="{$tsInfo.p_socials.p}"> <span class="fa fa-pinterest Linkpi"></span> </a> {/if} </div> 7) y por último agregan {include file='modules/m.redes_sociales.tpl'} en m.perfil_headinfo o en donde ustedes quieran..
  16. Pedido de MOD

    Hola Amigos de la comunidad.. se podría limitar los post que se podran crear por día? Algún programador que se anime a hacerlo.. seria un buen aporte para los que usan los hosting gratis.. por ejemplo un usuario nuevo que solo pueda crear 3 post por día hasta el rango X, y del rango X hasta el rango X... Se ve practico y bueno... Espero me escuchen la petición
  17. Hola que tal, Nesecito un mod "Ultimos juegos agregados" y ponerlo en los post, Parecido al top fotos en la home. Gracias Saludos.!! Para la version risu 1.2 Con el mod de juegos instalado.
  18. Pedido de MOD

    Hola amigos de la comunidad, quisiera saber si hay un mod que puedo poner para que los usuarios que se registren no usen los Nicks Como Administrador, Admin, Moderador, Etc..
  19. Implementar Scroll infinito

    Eh escuchado sobre el Scroll Infinito, lo tienen muchas web y hasta la versión mobile de Kmario, me gustaría tenerla en Venezuelawarez ya que la paginacion no me funciona, he tratado de copiarme de la versión mobile de Kmario pero no lo hago funcionar. Me gustaria colocarla en http://venezuelawarez.co.ve/articulos/ http://venezuelawarez.co.ve/descargas/ http://venezuelawarez.co.ve/musica/ y en todas las demás paginas, alguien me podría explicar como hacerlo?
  20. Ayuda Mod

    Hola! yo otra vez con una pequeñisima inquietud La cosa es asi, estuve viendo y buscando pero al parecer no existe asi q lo voy a pedir aver si alguien puede mas o menos orientar con esto,Básicamente seria una lista similar a esta Pero,q muestre los users q se encuentren en una determinada pagina (en tiempo real si es posible,o como sea mejor) ejemplo: lo q sea / pages/ chat Desde ya agradezco cualquier ayuda,saludos!!! PD: killeringa.org theme V5
  21. Ayuda con Mod

    Como estan? espero que muy bien! Bueno era solo para molestarlos con una pequeña duda,es q lo he intentado muchas veces sin lograrlo,la cosa es asi,en mi web tengo una categoria +18 NO es seccion,solo categoria como las demas,PERO queria preguntarles si de alguna manera es posible aplicar la siguiente modificacion Para que solo afecte a dicha categoria y no a toda la web , en este caso el ID de la cat es 34,bueno espero que alguien me pueda orientar un poco,de todas formas sino es on ese mod pues q sea de otra menera pero q se logre un resultado similar,desde ya muchisimas gracias! PD.: mi web killeringa.org , Theme V5 EDIT: aqui uno similar EDIT_2:o quizás solo adaptar esto como un simple aviso http://www.w3schools.com/howto/tryit.asp?filename=tryhow_css_modal2
  22. Error con el mod zona vip de Vallenger

    Hola comunidad, bueno quería preguntarles si saben la solución a este error tan raro. Lo que me pasas es que instale el mod Zona Vip de Vallenger, pero lo adapte para la 1.2, ya que su mod estaba hecho en la 1.1, el problema es que al intentarlo se ve que en algo le falle porque ahora me aparece para agregar vips y rangos vips, eso todo bien. Pero a la hora de ir a la zona vip, ahi esta todo mal. En usuarios vip aparece un usuario que no tiene nombre, solo el simbolo @ y cuando le doy para borrarlo o ver su perfil me dice que no existe, :/ Ah y cuando agrego usuario a vip, aparece en el menu de administracion pero en la zona vip no aparece. Ademas, pasa que cuando doy a agregar post lo agrega al inicio y no a la zona vip. El tema que estoy usando es el cralke. Les dejo una captura de la pagina. Ojala sepan saber de donde viene la falla, la verdad que no sabria por donde empezar.
  23. Hola Usuarios de PHPost hoy les traigo la actualización del mod Ultimos shouts en la home a la v1.2 de risus, es para la v4 pero fácilmente podrán adaptado al diseño de su theme. Versión anterior: Empecemos con la Instalación en c.posts.php buscamos: /* getRelated() */ Agregamos arriba: /* Ultimos Shouts en la home */ function getNews($start = 0, $limit = 10){ global $tsUser, $tsCore; // OBTENEMOS LAS ULTIMAS PUBLICACIONES $query = db_exec(array(__FILE__, __LINE__), 'query', 'SELECT *,u.* FROM u_muro LEFT JOIN u_miembros AS u ON p_user = u.user_id ORDER BY p_date DESC LIMIT '.$start.','.$limit.''); while($row = db_exec('fetch_array', $query)){ // MENCIONES $row['p_body'] = $tsCore->parseBadWords($tsCore->parseBBCode($tsCore->setMenciones($row['p_body'])), true); // CARGAR ADJUNTOS if($row['p_type'] != 1){ $queryDos = db_exec(array(__FILE__, __LINE__), 'query', 'SELECT * FROM u_muro_adjuntos WHERE pub_id = \''.$row['pub_id'].'\' LIMIT 1'); $adj = db_exec('fetch_assoc', $queryDos); // $data[] = array_merge($row,$adj); } else $data[] = $row; // } // RETORNAMOS return array('total' => count($data), 'data' => $data); } -Si desean cambiar la cantidad de shouts que se mostraran en la home editen la variable $limit (por defecto se mostraran 10) En post.php buscamos: // TOP POSTS $smarty->assign("tsTopPosts",$tsTops->getHomeTopPosts()); Abajo de eso agregamos: //ULTIMOS SHOUTS EN LA HOME $smarty->assign("tsMuro",$tsPosts->getNews()); En t.home.tpl agregamos el modulo donde ustedes gusten: {include file='modules/m.home_shouts.tpl'} Creamos un archivo llamado m.home_shouts.tpl (lo guardamos en la carpeta modules) <div id="ultimos_shouts"> <div class="widget clearfix"> <div class="title-w clearfix"><h3>&Uacute;ltimos Shouts</h3></div> {if $tsMuro == 0} <div class="emptyData">No hay shouts :(</div> {else} {foreach from=$tsMuro.data item=s} <div class="Story" id="pub_{$s.pub_id}"> {if $s.p_user == $tsUser->uid || $s.p_user_pub == $tsUser->uid || $tsUser->is_admod || $tsUser->permisos.moepm} <div class="Story_Hide"> <a href="#" onclick="muro.del_pub({$s.pub_id},1); return false;" title="Eliminar la publicación" class="qtip uiClose"></a> </div> {/if} {if $s.p_user_pub == $s.p_user} <a href="{$tsConfig.url}/perfil/{$s.user_name}" class="Story_Pic"><img src="{$tsConfig.url}/files/avatar/{$s.p_user}_50.jpg" alt="Avatar de {$s.user_name}" /></a> {else} <a href="{$tsConfig.url}/perfil/{$s.user_name}" class="Story_Pic"><img src="{$tsConfig.url}/files/avatar/{$s.p_user}_50.jpg" alt="Avatar de {$s.user_name}" /></a> <a href="{$tsConfig.url}/perfil/{$tsUser->getUserName($s.p_user_pub)}" class="Story_Pic_mim"><img src="{$tsConfig.url}/files/avatar/{$s.p_user_pub}_50.jpg"/></a> {/if} <div class="autor"> {if $s.user_id == $s.p_user} <a href="{$tsConfig.url}/perfil/{$tsUser->getUserName($s.p_user_pub)}" class="hovercard a_blue" uid="{$s.p_user_pub}">@{$tsUser->getUserName($s.p_user_pub)}</a><br> {if $s.p_user_pub != $s.p_user} <span>publico via @<a href="{$tsConfig.url}/perfil/{$s.user_name}" class="hovercard a_blue" uid="{$s.p_user}">{$s.user_name}</a></span> {/if} {else} <a href="{$tsConfig.url}/perfil/{$s.user_name}" class="hovercard a_blue" uid="{$s.p_user_pub}">{$s.user_name}</a> {/if} </div> <div class="Story_Content"> <div class="Story_Head"> <div class="Story_Message"> <span>{$s.p_body|quot}</span> <div class="mvm clearfix"> {if $s.p_type != 1} {if $s.p_type == 2} {if $tsUser->is_member} <a href="{$tsConfig.url}/perfil/{$s.user_name}/{$s.pub_id}" class="uiPhoto"><img src="{$s.a_img}" class="basdower"></a> {else} <img src="{$s.a_img}" class="basdower"> {/if} {elseif $s.p_type == 3} <div class="uiLink"> <div><a href="{$s.a_url}" target="_blank" class="a_blue"><strong>{$s.a_title}</strong></a></div> <a href="{$s.a_url}" target="_blank" class="h-blue">{$s.a_url}</a> </div> {elseif $s.p_type == 4} <a href="{$tsConfig.url}/perfil/{$s.user_name}/{$s.pub_id}" class="uiVideoThumb"> <span><b>{$s.a_title|truncate:35}</b></span> <img src="http://img.youtube.com/vi/{$s.a_url}/0.jpg" class="basdower"> <i></i> </a> {/if} {/if} </div> </div> </div> <div class="Story_Foot"> <div class="Story_Info"> <i class="stream w_{if $s.p_type == 1 && $s.p_user_pub == $s.p_user_pub}0{else}{$s.p_type}{/if}"></i> <span class="text">{$s.p_date|fecha}</span> · <a {if $tsUser->is_member}onclick="muro.like_this({$s.pub_id}, 'pub', this); return false;"{else}href="javascript:open_login_box('open');"{/if} class="a_blue">Me gusta</a> · <a {if $tsUser->is_member}href="{$tsConfig.url}/perfil/{$s.user_name}/{$s.pub_id}"{else}href="javascript:open_login_box('open');"{/if} class="a_blue">Abrir</a> </div> </div> </div> <div class="clearBoth"></div> </div> {/foreach} {/if} </div> </div> {literal} <script> // Eliminar publiccion y like var muro={stream:{status:0},like_this:function(a,b,c){muro.stream.status=1,$("#loading").slideDown(250),$.ajax({type:"POST",url:global_data.url+"/muro-likes.php",dataType:"json",data:"id="+a+"&type="+b,success:function(d){"ok"==d.status?($(c).text(d.link),"pub"==b?($("#lk_"+a).html(d.text),""!=d.text?($("#lk_"+a).parent().parent().show(),$("#cb_"+a).show()):$("#lk_"+a).parent().parent().hide()):($("#lk_cm_"+a).text(d.text),""==d.text?$("#lk_cm_"+a).parent().hide():$("#lk_cm_"+a).parent().show())):mydialog.alert("Error:",d.text.substring(3)),$("#loading").slideUp(350)},complete:function(){muro.stream.status=0}})},del_pub:function(a,b){var c=1==b?"publicaci&oacute;n":"comentario";var d=1==b?"esta ":"este ";mydialog.mask_close=!1,mydialog.show(!0),mydialog.title("Eliminar "+c),mydialog.body("\xbfSeguro que quieres eliminar "+d+c),mydialog.buttons(!0,!0,"Eliminar "+c,"muro.eliminar("+a+", "+b+")",!0,!0,!0,"Cancelar","close",!0,!1),mydialog.center()},eliminar:function(a,b){muro.stream.status=1;var c=1==b?"pub":"cmt";$("#loading").slideDown(250),$.ajax({type:"POST",url:global_data.url+"/muro-stream.php?do=delete",data:"id="+a+"&type="+c,success:function(b){switch(b.charAt(0)){case"0":mydialog.alert("Error:",b.substring(3));break;case"1":mydialog.close(),$("#"+c+"_"+a).hide().remove()}$("#loading").slideUp(450)},complete:function(){muro.stream.status=0,$("#loading").slideUp(350)}})}}; </script> <style> #ultimos_shouts .widget{display:block;float:none;margin-bottom:10px} #ultimos_shouts .widget .title-w{padding-bottom:5px;border-bottom:1px solid #C1c1c1;margin-bottom:5px;color:#000} #ultimos_shouts .widget .title-w h3{font-size:14px;margin:0;float:left} #ultimos_shouts .Story{padding:10px 0;border-bottom:1px solid #E9E9E9;position:relative} #ultimos_shouts .Story_Hide{position:absolute;right:0;display:none} #ultimos_shouts .Story_Hide .uiClose{background:url({/literal}{$tsConfig.tema.t_url}{literal}/images/icons/muro/fb_close_big.png) no-repeat center top;height:15px;width:15px;display:block} #ultimos_shouts .Story:hover .Story_Hide{display:block} #ultimos_shouts .Story_Pic{float:left;margin-right:10px} #ultimos_shouts .Story_Pic_mim{display:inline;float:none;position:absolute;left:20px;top:30px;border:1px solid #fff;background:#fff} #ultimos_shouts .Story_Pic_mim img{vertical-align:top;height:32px;width:32px} #ultimos_shouts .autor{float:left} #ultimos_shouts .Story_Content{float:left;margin-top:10px} #ultimos_shouts .a_blue{color:#3B5998!important;font-weight:bold} #ultimos_shouts .stream{background:url({/literal}{$tsConfig.tema.t_url}{literal}/images/icons/muro/stream.png) no-repeat left top;display:inline-block;width:16px;height:16px;top:3px;left:0;vertical-align:middle} #ultimos_shouts .w_1{background-position:left -16px} #ultimos_shouts .w_2{background-position:left -32px} #ultimos_shouts .w_3{background-position:left -48px} #ultimos_shouts .w_4{background-position:left -64px} #ultimos_shouts .Story_Foot{margin-top:10px} #ultimos_shouts .Story_Foot .Story_Info{color:#999} #ultimos_shouts .Story_Message img.basdower{width:100%} #ultimos_shouts .Story_Message .uiLink{border-left:2px solid #CCC;padding-left:10px} #ultimos_shouts .uiVideoThumb{position:relative} #ultimos_shouts .Story_Message .uiVideoThumb i{background:url({/literal}{$tsConfig.tema.t_url}{literal}/images/icons/muro/fb_video_play.png) no-repeat scroll 0 0 transparent;bottom:0;height:32px;left:0;position:absolute;width:39px} </style> {/literal} Captura: Créditos: Creación del mod: A quien correspondan. @tutan-kabron por su fix: Bueno eso es todo, nos vemos en otro aporte.
  24. Hola gente, tiro una idea para un mod, no se si ya existe o no pero para la 1.2 no lo vi este mod, paso a explicar como sería... La idea es que desde la administración puedas poner un mensaje así como cuando pones una noticia, pero al poner el mensaje y enviarlo les aparezca a todos los usuarios conectados en la pantalla, que salga como un cuadro con el mensaje y que bueno el usuario pueda cerrar el cuadro claro, pero bueno serviría para hacer algún evento en la página y esas cosas, no se quizá a alguien le guste la idea y se anime a hacerlo.. se vería algo así (lo hice con paint )
  25. Bug panel Mod (comunidades Kmario)

    Instalé las comunidades Kmario y al hacerlo tuve un bug en el panel de moderación, todo lo demás anda perfecto 100% El bug es el siguiente.. El problema como ven es donde antes informaba cuantas denuncias en post habían y esas cosas en el cuadro verde por alguna razón se bugueo y nose solucionarlo, la página esta en LocalHost, la estoy creando y cuando este terminada sin bugs le pondré un nombre y la subiré, si alguien sabe solucionar este bug muchas gracias, saludos Perdón por no ponerlo en el tema, pero ahora que entro y me fijo tampoco anda ninguna función de las comunidades para el moderador como muestra en esta foto..
×