Jump to content
  • Sky
  • Blueberry
  • Slate
  • Blackcurrant
  • Watermelon
  • Strawberry
  • Orange
  • Banana
  • Apple
  • Emerald
  • Chocolate
  • Charcoal

airkpo

Ágata
  • Content Count

    168
  • Posts on chatbox

    45
  • Joined

  • Last visited

  • Days Won

    8

airkpo last won the day on November 27 2022

airkpo had the most liked content!

Community Reputation

-64

6 Followers

About airkpo

  • Rank
    Ciempiés

Recent Profile Visitors

5109 profile views
  1. Gracias por aportar amigo, como siempre! Lo tendré en cuenta para la próxima con alguna mejora en diseño ya que no me esmere en eso. Saludos espero que te encuentres bien
  2. airkpo

    Tema Identi (Cat/Vip) 2021

    Recién noto que usaste mi catalogo en este diseño, muchas gracias!
  3. Hola a todos, Hoy les traigo otro mod sencillo que consiste en mostrar los rangos o tipos de usuarios en la home adjunto captura a continuación: Dejo link porque el foro anda pesimo https://i.imgur.com/0dXjtoo.jpeg Sin mas vueltas comencemos con la instalación: -> en c.posts.php buscamos: /* getLastComentarios() : PARA EL PORTAL */ y arriba agregamos: //TIPO DE USUARIOS(rangos) function getRangosHome(){ $query = db_exec(array(__FILE__, __LINE__), 'query', 'SELECT DISTINCT r.rango_id, r.r_name, r.r_image, r.r_color, r.r_type FROM u_rangos AS r ORDER BY r.r_type LIMIT 10'); $data = result_array($query); return $data; } ->>>>TENER EN CUENTA: donde dice LIMIT 10 es la cantidad de rangos que mostrara en la home, si usted tiene mas de esa cantidad cambiar el numero por el que corresponda! -> Seguimos, ahora en posts.php buscan: // ULTIMOS COMENTARIOS $smarty->assign("tsComments",$tsPosts->getLastComentarios()); ->y debajo agregan: //Tipos de usuario $smarty->assign("tsRangosHome",$tsPosts->getRangosHome()); ->ahora al final de estilos.css agregan: /*Rangos en la home*/ #webAffs .wMod-huser { background: url(images/icons/user.png) left center no-repeat!important; } .wMod-data ul li{ padding: 6px 0px!important; position: relative; display: block; float: left; border-bottom: dashed 1px #ddd; width: 100%; } .wMod-data ul li a{ width: 85%; POSITION: RELATIVE; display: block; float: left; } .wMod-data ul li a:hover{ text-decoration:none; } .wMod-data ul li span{ display: block; width: 15%; position: RELATIVE; float: left; } ->ahora en t.home.tpl buscamos: {include file='modules/m.home_afiliados.tpl'} ->y debajo agregamos: {include file='modules/m.home_tipodeusuarios.tpl} ->ahora descargan el siguiente archivo y lo colocan en /theme/tutema/templates/modules : https://www.mediafire.com/file/gsmg1j3zdg6kqfp/m.home_tipodeusuarios.tpl/file Eso seria todo espero haya sido de su agrado y que la instalación se entienda, saludos y gracias de antemano por pasar!
  4. Hola a todos de nuevo, vengo con otro aporte este un poco mas sencillo. Estaba viendo que idea le podia robar a T! (un clasico :v) y vi que en los post, ademas de los post relacionados, tenian populares (tops) y recientes, asi que me puse a programar algo asi para el script Captura T!Captura del mod:Lo hice para la default, pero si alguien quiere que lo adapte a algun theme en especifico me lo comenta! Tambien dejo un GIF porque pinto >:vPD: Solo tengo esos post en mi localhost asi que no cambian mucho lo que aparece en cada uno, pero en una web funcional con varios post, funciona perfecto! Ahora si pasemos a la instalacion: -> en c.posts.php buscamos: /* getRelated() */ function getRelated($tags){ global $tsCore, $tsUser; // ES UN ARRAT AHORA A UNA CADENA if(is_array($tags)) $tags = implode(", ",$tags); else str_replace('-',', ',$tags); // $query = db_exec(array(__FILE__, __LINE__), 'query', "SELECT DISTINCT p.post_id, p.post_title, p.post_category, p.post_private, c.c_seo, c.c_img FROM p_posts AS p LEFT JOIN p_categorias AS c ON c.cid = p.post_category WHERE MATCH (post_tags) AGAINST ('$tags' IN BOOLEAN MODE) AND p.post_status = 0 AND post_sticky = 0 ORDER BY rand() LIMIT 0,10"); // $data = result_array($query); // return $data; } -> y lo remplazamos por : CÓDIGO PHP: ( SELECCIONAR TODO ) /* getRelated() */ function getRelated($tags){ global $tsCore, $tsUser; // ES UN ARRAT AHORA A UNA CADENA if(is_array($tags)) $tags = implode(", ",$tags); else str_replace('-',', ',$tags); // $query = db_exec(array(__FILE__, __LINE__), 'query', "SELECT DISTINCT p.post_id, p.post_title, p.post_portada, p.post_category, p.post_private, c.c_seo, c.c_nombre, c.c_img FROM p_posts AS p LEFT JOIN p_categorias AS c ON c.cid = p.post_category WHERE MATCH (post_tags) AGAINST ('$tags' IN BOOLEAN MODE) AND p.post_status = 0 AND post_sticky = 0 ORDER BY rand() LIMIT 0,6"); // $data = result_array($query); // return $data; } /* Post Recientes :Si, de nuevo! Pero esto lo utilizamos para mejorar los post recomendados dentro del mismo post. By [email protected] */ function getPostsRecientesPost(){ $query = db_exec(array(__FILE__, __LINE__), 'query', 'SELECT p.post_id, p.post_title, p.post_category, p.post_portada, p.post_private, c.c_seo, c.c_nombre FROM p_posts AS p LEFT JOIN u_miembros AS u ON p.post_user = u.user_id '.($tsUser->is_admod && $tsCore->settings['c_see_mod'] == 1 ? '' : ' && u.user_activo = \'1\' && u.user_baneado = \'0\'').' LEFT JOIN p_categorias AS c ON c.cid = p.post_category WHERE '.($tsUser->is_admod && $tsCore->settings['c_see_mod'] == 1 ? 'p.post_id > 0' : 'p.post_status = \'0\' && u.user_activo = \'1\' && u.user_baneado = \'0\'').' GROUP BY p.post_id ORDER BY p.post_id DESC LIMIT 6'); $data = result_array($query); return $data; } ahora en posts.php buscamos: $smarty->assign("tsRelated",$tsRelated); ->y debajo agregamos : // TOP POSTS $smarty->assign("tsTopPosts",$tsTops->getTopPostsPost()); //POST RECIENTES $smarty->assign("tsPostsRecientes",$tsPosts->getPostsRecientesPost()); ->ahora en c.tops.php buscamos: /* getHomeTopUsers() : TOP DE USUARIOS semana, histórico */ function getHomeTopUsers(){ // AYER $data['ayer'] = $this->getHomeTopUsersQuery($this->setTime(2)); // SEMANA $data['semana'] = $this->getHomeTopUsersQuery($this->setTime(3)); // MES $data['mes'] = $this->getHomeTopUsersQuery($this->setTime(4)); // HISTÓRICO $data['historico'] = $this->getHomeTopUsersQuery($this->setTime(5)); // return $data; } -> debajo agregamos: /* Top Post para dentro de los post :Solo me interesa cambiar el limite y agregar portada asi que casi lo mismo */ function getTopPostsPost(){ //Incluimos solo el semanal $data['semana'] = $this->getTopPostsPostQuery($this->setTime(3)); //Tambien mensual porque en localhost no tenemos buenas estadisticas $data['mes'] = $this->getTopPostsPostQuery($this->setTime(4)); return $data; } function getTopPostsPostQuery($date){ // $query = db_exec(array(__FILE__, __LINE__), 'query', 'SELECT p.post_id, p.post_category, p.post_title, p.post_portada, p.post_puntos, c.c_seo, c.c_nombre FROM p_posts AS p LEFT JOIN p_categorias AS c ON c.cid = p.post_category WHERE p.post_status = 0 AND p.post_date BETWEEN \''.$date['start'].'\' AND \''.$date['end'].'\' ORDER BY p.post_puntos DESC LIMIT 6'); $data = result_array($query); // return $data; } ->Ahora al final de estilos.css agregas: .descubripublicaciones { background: #fff; width: 60%; margin-right: 22px; border: 1px solid #cfcfcf; float: left; -moz-border-radius: 5px; } .descubripublicaciones h4 { padding: 12px 10px; margin: 0; font-size: 14px; text-align: center; color: #444; background: #d7d7d7; border-bottom: 1px solid #c7c7c7; } .descubripublicaciones ul { margin: 0px 1px 10px; overflow: hidden; } .descubripublicaciones a { float: left; margin: 0px 0px; padding: 10px 4px; font-weight: 600; width: 77%; font-size: 12px; } .descubripublicaciones a:hover{ text-decoration:none; color:blue; } .descubripublicaciones img { width: 20%; float: left; display: block; height: 65px; padding: 2px; margin: 0 auto; } .lipublicacion {/*<li>*/ clear: both; font-size: 12px; height: 70px; border-bottom: 1px solid #d7d7d7; padding: 3px 3px 3px 3px; } li.menudescubri{ position: relative; display: block; border-bottom: 1px solid #E3e3e3; width: 100%; height: 40px; } li.menudescubri a{ text-align:center; float: left; display: block; width: 30%; } ->Finalmente borras todo el contenido del archivo m.posts_related.tpl y lo remplazan por esto: <div id="topsPostBox"> <div class="box_title"> <div class="box_txt estadisticas">TOPs posts <a class="size9" href="{$tsConfig.url}/top/">(Ver m&aacute;s)</a></div> <div class="box_rss"> <a href="/rss/top-post-semana"><span class="systemicons sRss"></span></a> </div> </div> <div class="box_cuerpo" style="padding: 0pt; height: 330px;"> <div class="filterBy"> <a href="javascript:TopsTabs('topsPostBox','Ayer')" id="Ayer">Ayer</a> - <a href="javascript:TopsTabs('topsPostBox','Semana')" id="Semana"{if $tsTopPosts.semana} class="here"{/if}>Semana</a> - <a href="javascript:TopsTabs('topsPostBox','Mes')" id="Mes">Mes</a> - <a href="javascript:TopsTabs('topsPostBox','Historico')" id="Historico"{if !$tsTopPosts.semana} class="here"{/if}>Hist&oacute;rico</a> </div> <ol id="filterByAyer" class="filterBy cleanlist" style="display:none;"> {foreach from=$tsTopPosts.ayer key=i item=p} <li> {if $i+1 < 10}0{/if}{$i+1}. <a href="{$tsConfig.url}/posts/{$p.c_seo}/{$p.post_id}/{$p.post_title|seo}.html">{$p.post_title|truncate:45}</a> <span>{$p.post_puntos}</span> </li> {/foreach} </ol> <ol id="filterBySemana" class="filterBy cleanlist" style="display:{if $tsTopPosts.semana}block{else}none{/if};"> {foreach from=$tsTopPosts.semana key=i item=p} <li> {if $i+1 < 10}0{/if}{$i+1}. <a href="{$tsConfig.url}/posts/{$p.c_seo}/{$p.post_id}/{$p.post_title|seo}.html">{$p.post_title|truncate:45}</a> <span>{$p.post_puntos}</span> </li> {/foreach} </ol> <ol id="filterByMes" class="filterBy cleanlist" style="display:none;"> {foreach from=$tsTopPosts.mes key=i item=p} <li> {if $i+1 < 10}0{/if}{$i+1}. <a href="{$tsConfig.url}/posts/{$p.c_seo}/{$p.post_id}/{$p.post_title|seo}.html">{$p.post_title|truncate:45}</a> <span>{$p.post_puntos}</span> </li> {/foreach} </ol> <ol id="filterByHistorico" class="filterBy cleanlist" style="display:{if !$tsTopPosts.semana}block{else}none{/if};"> {foreach from=$tsTopPosts.historico key=i item=p} <li> {if $i+1 < 10}0{/if}{$i+1}. <a href="{$tsConfig.url}/posts/{$p.c_seo}/{$p.post_id}/{$p.post_title|seo}.html">{$p.post_title|truncate:45}</a> <span>{$p.post_puntos}</span> </li> {/foreach} </ol> </div> <br class="space"/> </div> Listo eso seria todo, muchas gracias por pasar! dejo link del gif para que se den una idea del mod ya que las imagenes no se ven nunca https://media.giphy.com/media/ehxgY93b4xvi96ApJ0/giphy.gif
  5. Gracias por pasar amigo, hoy en día esta muerto el foro!
  6. Hola de nuevo a todos, aquí ando tratando de familiarizarme nuevamente con el script así que les comparto otro mod. Consiste en lo que dice el titulo, preguntas frecuentes administrables, las cuales se agregan y eliminan desde la admin! y luego se muestran en /pages/preguntasfrecuentes/ como muestro a continuación: -> Comencemos con la instalación: -> En c.admin.php buscamos: /* getNoticias() */ -> Arriba colocamos: /* Preguntas Frecuentes Administrables -> by [email protected] */ //get pregunta! function getPregunta() { global $tsCore; $ctid = $tsCore->setSecure($_GET['ctid']); $query = db_exec(array(_FILE_,_LINE_), 'query', 'SELECT pregunta_id, pregunta_box, respuesta_box FROM p_preguntas WHERE pregunta_id = \'' . (int)$ctid . '\' ORDER BY pregunta_id LIMIT 1'); $data = result_array($query); return $data; } //mostrar todas las preguntas function getAllPreguntas() { global $tsCore; $max = 8; // MAXIMO A MOSTRAR $limit = $tsCore->setPageLimit($max, true); //PAGINAS NUEVAS $query = db_exec(array(__FILE__, __LINE__), 'query', 'SELECT COUNT(*) FROM p_preguntas WHERE pregunta_id > \'0\''); list($total) = db_exec('fetch_row', $query); $data['pages'] = $tsCore->pageIndex($tsCore->settings['url'] . "/admin/preguntas/?o=" . $_GET['o'] . "&m=" . $_GET['m'] . "", $_GET['s'], $total, $max); //SELECT $query = db_exec(array(__FILE__, __LINE__), 'query', "SELECT pregunta_id, pregunta_box, respuesta_box FROM p_preguntas ORDER BY pregunta_id LIMIT $limit"); $data['data'] = result_array($query); return $data; } //agregar preguntas function addPregunta() { global $tsCore; $c = array( 'pregunta_box' => $tsCore->setSecure($tsCore->parseBadWords($_POST['pregunta_box'])), 'respuesta_box' => $tsCore->setSecure($tsCore->parseBadWords($_POST['respuesta_box'])), ); //No dejar en blanco espacios if (empty($c['pregunta_box'])) return 'Debes ingresar una pregunta'; if (empty($c['respuesta_box'])) return 'Debes ingresar una respuesta'; //Insert if (db_exec(array(__FILE__, __LINE__), 'query', 'INSERT INTO `p_preguntas` (`pregunta_box`, `respuesta_box`) VALUES (\'' . $c['pregunta_box'] . '\', \'' . $c['respuesta_box'] . '\')')) return true; else exit( show_error('Error al ejecutar la consulta de la l&iacute;nea '.__LINE__.' de '.__FILE__.'.', 'db') ); } //eliminar pregunta function delPregunta() { global $tsCore; $p_id = $_GET['pid']; if (!db_exec('num_rows', db_exec(array(__FILE__, __LINE__), 'query', 'SELECT `pregunta_id` FROM `p_preguntas` WHERE `pregunta_id` = \'' . (int)$p_id . '\' LIMIT 1'))) { return 'El id ingresado no existe.'; } db_exec(array(__FILE__, __LINE__), 'query', 'DELETE FROM `p_preguntas` WHERE `pregunta_id` = \'' . (int)$p_id . '\''); } -> Ahora en admin.php buscamos: // POSTS -> Arriba colocamos: //Preguntas y respuestas BY [email protected] } elseif($action == preguntas){ if(!$act) { $smarty->assign("tsAllPreguntas", $tsAdmin->getAllPreguntas()); $smarty->assign("tsPreguntas", $tsAdmin->getPregunta()); } elseif($act == 'borrar'){ if($tsAdmin->delPregunta()) $tsCore->redirectTo($tsCore->settings['url'].'/admin/preguntas?borrar=true'); } elseif($act == 'agregar'){ if(!empty($_POST['save'])){ $save = $tsAdmin->addPregunta(); if($save == 1){ $tsCore->redirectTo($tsCore->settings['url'].'/admin/preguntas?save=true'); }else { $smarty->assign("tsError",$save); } } } -> Ahora en t.admin.tpl buscamos: {elseif $tsAction == 'afs'} {include file='admin_mods/m.admin_afiliados.tpl'} -> Debajo colocamos: {elseif $tsAction == 'preguntas'} {include file='admin_mods/m.admin_preguntas.tpl'} -> Ahora en m.admin_sidemenu.tpl buscamos: <li id="a_ads"><span class="cat-title"><a href="{$tsConfig.url}/admin/ads">Publicidad</a></span></li> ->Debajo colocamos: <li id="a_cats"><span class="cat-title"><a href="{$tsConfig.url}/admin/preguntas">Preguntas Frecuentes</a></span></li> -> Ahora en t.pages.tpl buscamos: {include file='modules/m.pages_chat.tpl'} ->Debajo colocamos: {elseif $tsAction == 'preguntasfrecuentes'} {include file='modules/m.page_preguntasfrecuentes.tpl} ->Ahora en main_footer.tpl buscamos: <a href="{$tsConfig.url}/pages/chat/">Chat</a> - -> debajo colocamos: <a href="{$tsConfig.url}/pages/preguntasfrecuentes/">Preguntas Frecuentes</a> - -> realizamos las siguientes consultas: CREATE TABLE IF NOT EXISTS `p_preguntas` ( `pregunta_id` int(11) NOT NULL AUTO_INCREMENT, `pregunta_box` varchar(120) NOT NULL, `respuesta_box` varchar(320) NOT NULL, PRIMARY KEY (`pregunta_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; -> Subimos y remplazamos estos archivos y listo:https://www.mediafire.com/file/z0ngug4k7...s.rar/file <---------------------------------------------> Eso seria todo amigos cualquier consulta la pueden dejar en los comentarios, creo que no me olvide de nada, gracias por pasar de ante mano. Saludos!
×