Jump to content
  • Sign Up

Search the Community

Showing results for tags 'complemento'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • El núcleo de PHPost
    • Novedades e Información
    • Presentaciones
    • Off Topic
  • La esquina
    • Rincón del PC
    • Rincón del móvil
  • Actualizaciones individuales de PHPost Risus's PHP 7/8
  • Actualizaciones individuales de PHPost Risus's Smarty
  • Actualizaciones individuales de PHPost Risus's EXTRAS
  • Actualizaciones individuales de PHPost Risus's Fixes
  • Actualizaciones individuales de PHPost Risus's Actualizaciones
  • Actualizaciones individuales de PHPost Risus's Complementos

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


AIM


MSN


Sitio web


ICQ


Yahoo


Jabber


Skype


Localización


Intereses

Found 2 results

  1. Bueno como dice el titulo "Mostrar titulo de los posts Anterior y Siguiente v2", ya que este es una actualización mejorada! Topic de la v1 Básicamente se puede realizar tranquilamente desde cero: 1 - Buscan en inc/class/c.posts.php y van hasta la última llave } /* OBTENER LOS TITULOS DE LOS POSTS ANTERIOR/SIGUIENTE */ public function getTitles($from) { global $tsCore; $pid = (int)$_GET["post_id"]; $pid = $from ? $pid - 1 : $pid + 1; $opt = $from ? "<" : ">"; if($pid < 0) return false; // Post $sql = db_exec([__FILE__, __LINE__], "query", "SELECT post_id, post_title, c_seo FROM p_posts LEFT JOIN p_categorias ON post_category = cid WHERE post_id = {$pid}"); // Existe? if(db_exec('num_rows', $sql) === 0) { $sql = db_exec([__FILE__, __LINE__], "query", "SELECT post_id FROM p_posts WHERE post_id {$opt} {$pid} ORDER BY post_id DESC LIMIT 1"); } $data = db_exec('fetch_assoc', $sql); if(!empty($data)) { $data["post_title"] = $tsCore->setSEO($data["post_title"]); $data["post_url"] = "{$tsCore->settings["url"]}/posts/{$data["c_seo"]}/{$data["post_id"]}/{$data["post_title"]}.html"; } return !empty($data) ? $data : false; } 2 - En inc/php/posts.php buscan $tsPages['autor'] = $tsPost['post_user']; y debajo agregan $smarty->assign("tsAnterior", $tsPosts->getTitles(true)); $smarty->assign("tsSiguente", $tsPosts->getTitles(false)); 3 - Luego buscan en tema/templates/modules/m.posts_content.tpl y buscan {if $tsPost.user_firma && $tsConfig.c_allow_firma} y arriba agregan (o donde deseen), obviamente ustedes lo tendrían que adaptar a su theme... Pero si usan bootstrap no tiene que hacer tantos cambios. <div class="post-antsig"> <div class="post-anterior"> <a href="{$tsAnterior.post_url}" class="d-flex justify-content-start align-items-center"> <div class="icon ml-2"> <!-- Acá puede ir un icono o imagen, deciden ustedes --> <i class="icon-angle-left"></i> </div> <div class="titulo"> <small class="text-uppercase">No te piedas</small> <span>{$tsAnterior.post_title|truncate:34}</span> </div> </a> </div> <div class="post-siguiente"> <a href="{$tsSiguente.post_url}" class="d-flex justify-content-end align-items-center t-end"> <div class="titulo"> <small class="text-uppercase">A continuación</small> <span>{$tsSiguente.post_title|truncate:34}</span> </div> <div class="icon mr-2"> <!-- Acá puede ir un icono o imagen, deciden ustedes --> <i class="icon-angle-right"></i> </div> </a> </div> </div> Así quedaría terminado!
  2. Editar CSS desde la administración En esta versión se creará una copia de seguridad, pero una vez que hayas realizado el cambio y quieras volver a editar se sobrescribirá la copia de seguridad por el nuevo contenido. 1 - Ir a tu-tema/js/admin.js y debajo de todo agregar /** * Editar CSS * Versión 14.02.2022 */ $(document).ready(() => $("#opciones").on('change', e => $("#mostrarCss").val(e.target.value))) var editar_css = new function() { this.editar = () => { var fileCss = $('input[name=archivo_css]').val(); if(this.verificar_archivo(fileCss)) { $.post(global_data.url + '/css-editar.php', 'css=' + fileCss, h => { $("textarea[name=editar_css]").html(h) .css({ width: '100%', height: '500px', resize: 'vertical' }) $("textarea[name=editar_css], button[name=guardar_css]").show(); }) } }, this.guardar = () => { var params = [ 'name=' + $('input[name=archivo_css]').val(), 'contenido=' + $('textarea[name=editar_css]').val() ].join('&') $.post(global_data.url + '/css-guardar.php', params, h => { mydialog.show(); mydialog.title('Guardado...'); mydialog.body('Los cambios fueron aplicados'); /** * Si realizaste este cambio * https://www.phpost.net/foro/topic/32471-peque%C3%B1o-ajuste-para-los-botones-del-modal/ mydialog.buttons([ {mostrar:true,texto:'Aceptar',accion:'admincss()',activo:true}, {mostrar:true,texto:'Cancelar',accion:'cerrar',accion:true} ]); */ mydialog.buttons(true, true, 'Aceptar', 'admincss()', true, false, true, 'Cancelar', 'close', true, true); mydialog.center(); }) }, this.verificar_archivo = filename => { var ext = (/[.]/.exec(filename)) ? /[^.]+$/.exec(filename.toLowerCase()) : ''; if(ext && /^(css)$/.test(ext)) return true; else return false; } } // admincss admincss = () => location.href = global_data.url + '/admin/css' 2 - Ir a templates/t.admin.tpl y buscamos {elseif $tsAction == 'rangos'} {include file='admin_mods/m.admin_rangos.tpl'} debajo de agregamos {elseif $tsAction == 'css'} {include file='admin_mods/m.admin_css.tpl'} 3 - Ir a templates/admin_mods/ y crear un archivo llamado m.admin_css.tpl y agregar lo siguiente <style> #opciones { padding: 2px; } #opciones > option { padding: 2px; margin-bottom: 4px; } </style> <div class="boxy-title"> <h3>Editar CSS</h3> </div> <div id="res" class="boxy-content"> <span class="mensajes error">Seleccione un archivo, si no se encuentra escribalo!</span> <div style="display:grid;gap:10px;grid-template-columns: 200px 1fr;"> <div> <select id="opciones" size="10"> <option value=''>Selecciona un archivo</option> {foreach $tsListaCSS item=css} <option value="{$css.file_name}">{$css.name}</option> {/foreach} </select> </div> <div > <div style="display: flex;"> <input type="text" name="archivo_css" id="mostrarCss" placeholder="Ej: estilo.css o css/admin.css" size="15"/> <button class="mBtn btnOk" style="width:120px;margin-left: 10px;" onclick="editar_css.editar(); return false;">Editar</button> </div> <textarea name="editar_css" placeholder="El contenido del css se mostrará aquí" style="margin:10px 0;display: none;"></textarea> <button class="mBtn btnPrimary" onclick="editar_css.guardar(); return false;" name="guardar_css" style="display: none;">Guardar</button> </div> </div> </div> 4 - En la misma carpeta buscan m.admin_sidemenu.tpl y buscan <li id="a_temas"><span class="cat-title"><a href="{$tsConfig.url}/admin/temas">Temas y apariencia</a></span></li> y agregan <li id="a_rangos"><span class="cat-title"><a href="{$tsConfig.url}/admin/css">Editar CSS</a></span></li> 5 - Luego van a inc/php/admin.php y buscan } elseif($action == 'medals') { y arriba agregan # EDITAR CSS } elseif($action == 'css') { $smarty->assign('tsListaCSS', $tsAdmin->obtenemos_css()); 6 - Después en inc/class/c.admin.php buscan /* saveAds() */ function saveAds() y arriba agregan, para que funcione bien, tiene que haber realizado Actualizar a Smarty 4.0 /** * EDITAR CSS */ public function obtenemos_css() { global $smarty; # Solo será esta extensión $ext = 'css'; # Definimos una variable para crear un arreglo $lista_css = []; # Ahora buscaremos todos los css existentes $dir_css = opendir( $smarty->template_dir["tema"] ); # Recorremos todas las carpetas while ($style = readdir($dir_css)) { if($style === '.' || $style === '..') continue; if(is_file($smarty->template_dir["tema"] . $style)) { preg_match_all('/([a-zA-Z0-9_-]+\.(css))/', $style, $css); $file_css = $css[1][0]; if($file_css !== NULL) { array_push($lista_css, [ 'name' => ucfirst(substr($file_css, 0, -4)), 'file_name' => $file_css ]); } } if (is_dir($smarty->template_dir["tema"] . $style)) { if($style === $ext) { $carpeta_css = opendir( $smarty->template_dir["tema"] . $ext ); while ($style = readdir($carpeta_css)) { if($style === '.' || $style === '..') continue; array_push($lista_css, [ 'name' => ucfirst(substr($style, 0, -4)), 'file_name' => $style ]); } closedir( $carpeta_css ); } } } closedir( $dir_css ); return $lista_css; } 7 - Por último van a inc/php/ajax y crean un archivo llamado ajax.css.php y pegan esto o descargan este archivo, en caso que no se cree la carpeta "css_backup", deberán crearla manualmente en files/uploads/ y darle los permisos de escritura 0777 <?php if ( ! defined('TS_HEADER')) exit('No se permite el acceso directo al script'); /** * Controlador AJAX * * @name ajax.css.php * @author Miguel92 */ /**********************************\ * (VARIABLES POR DEFAULT) * \*********************************/ // NIVELES DE ACCESO Y PLANTILLAS DE CADA ACCIÓN $files = [ 'css-editar' => ['n' => 2, 'p' => ''], 'css-guardar' => ['n' => 2, 'p' => ''], ]; /**********************************\ * (VARIABLES LOCALES ESTE ARCHIVO) * \*********************************/ // REDEFINIR VARIABLES $tsPage = 'ajax/p.css.'.$files[$action]['p']; $tsLevel = $files[$action]['n']; $tsAjax = empty($files[$action]['p']) ? 1 : 0; /**********************************\ * (INSTRUCCIONES DE CODIGO) * \*********************************/ // DEPENDE EL NIVEL $tsLevelMsg = $tsCore->setLevel($tsLevel, true); if($tsLevelMsg != 1) { echo '0: '.$tsLevelMsg; die();} /** * Creamos la carpeta "css_backup" para almacenar las copias */ $backups = "../../files/uploads/css_backup"; if(!is_dir($backups)) { mkdir($backups); chmod($backups, 0777); } $myBackUp = $backups . '/$1-backup.css'; switch($action){ case 'css-editar': $file_css = $tsCore->setSecure($_POST['css'], true); $notExt = substr($file_css, 0, -4); if(file_exists($smarty->template_dir["tema"] . $file_css)) { $css = file_get_contents($smarty->template_dir["tema"] . $file_css); # Creamos un backup, solo por seguridad file_put_contents(str_replace('$1', $notExt, $myBackUp), $css); echo $css; } elseif(file_exists($smarty->template_dir["css"] . $file_css)) { $css = file_get_contents($smarty->template_dir["css"] . $file_css); # Creamos un backup, solo por seguridad file_put_contents(str_replace('$1', $notExt, $myBackUp), $css); echo $css; } else echo 'Error: el archivo no existe'; break; case 'css-guardar': $nombre = $tsCore->setSecure($_POST["name"]); $contenido = $_POST['contenido']; $contenido = str_replace( ['\\n', "&#039;", '&quot;'], ['\n', "'", '"'], $contenido ); $dir = (file_exists($smarty->template_dir["tema"] . $nombre)) ? "tema" : "css"; $css = $smarty->template_dir[$dir] . $nombre; file_put_contents($css, $contenido); break; }
×