Theme Spectre v.1.0 RC-0.0.1

Perfil del autor

Iniciado por Miguel92
En Diseños PHPost Más de un año


Topic en Diseños PHPost N°28
Público Privacidad
Normal Tipo
7 Respuestas
376 Visitas
3 Puntos
Archivo adjunto
ThemeSpectre Nombre del archivo
Zip Tipo
3.4MB Tamaño
Compatibilidad
Github Servidor
Miguel92 Fundador 181 14
Topics 27
Respuestas 95
Miguel92 Fundador
Más de un año
Bueno he terminado con el theme Spectre, aún que le hace falta pulir un poco...pero está listo para usar.
Lo pueden descargar directamente desde el repositorio en github, ya que si tengo que hacer cambios los subo directamente allí y es fácil buscar los cambios realizados.

 

Detalles: 
  1. Jquery 3.4.1
  2. Smarty 3.1.32
  3. PHP 7.+
  4. PHPMailer 6.+
 
Componentes usados: 
  1. Framework css - Spectre
  2. Spectre-Icons (36 iconos)
  3. LineIcons (460 iconos)
 
Tienen 2 maneras: 
1 - Instalar como si fuera un script desde cero, lo descargan, lo instalan y eso ya sería todo, no hay más...no hace falta que mires este topic!
2 - Es copiar el theme a su carpeta respectiva e instalarlo como Spectrev1.0 y poner la carpeta "Modulos" a la raíz de su sitio si seguir los siguientes paso:
 
GUIA:
Si instalaste la versión que realice con ambos recaptcha v2 y v3 no realices la consulta pero sigue los pasos y cabe destacar que algunas cosas las he tomado de la versión de Taringa V5:
ALTER TABLE `w_configuracion` ADD `c_recaptcha` int(1) NOT NULL DEFAULT '0'; 
ALTER TABLE `w_configuracion` ADD `pkey3` varchar(55) NOT NULL;
ALTER TABLE `w_configuracion` ADD `skey3` varchar(55) NOT NULL; 

Editar header.php Buscan estas líneas
// Mensajes 
$smarty->assign('tsMPs',$tsMP->mensajes); 
y debajo pegan esta
include 'modulos/spectre.php';
Luego buscan config.inc.php y borrar estas líneas
define('RC_PUK',"6LcXvL0SAAAAAPJkBrro96lnXGZ56TBRExEmVM3L"); // public key recaptcha
define('RC_PIK',"6LcXvL0SAAAAAEg1zizOxJPTjlD0ZtbbzubF2NjE"); // private key recaptcha 

¿Para qué es el archivo spectre.php?
Es un mini-archivo de configuración, en el que se puede hacer configuraciones globales y así evitar que busquen cada archivo para poder cambiar. EJ: quieren cambiar el header, simplemente buscan este archivo y modifican, sin tener que ir a templates/section/main_header.tpl.
 
ANALIZANDO EL CONTENIDO DE SPECTRE.PHP
Es la versión del theme y no deben tocarlo.
define('VersionTheme', '1.0'); 

Este es el icono que se verá en el explorador
define('LogoIco', $tsCore->settings['url'] . '/modulos/img/favicon.ico'); 
define('LogoPng', $tsCore->settings['url'] . '/modulos/img/favicon.png');
 
Para cambiar el header 1000 x 363 que sea más o menos con esa dimensión, si es PNG, JPG o JPEG es mejor que la conviertan a .WEBP para que esta sea más rápido al cargar (si no me equivo)
define('Header', $tsCore->settings['url'] . '/modulos/img/header.webp'); 

Convertidores online gratuitos, use ambos y son buenos:
https://convertio.co/es/png-webp/
https://imagen.online-convert.com/es/convertir-a-webp
 
PONER FOTOS EN TOPS
1 - Ir a inc/class/c.tops.php y buscan
  /*
getTopFotos()
*/
function getTopFotos($fecha, $desc){
//
$data = $this->setTime($fecha);
$desc = empty($desc) ? '' : 'AND f_description = '.$desc;

// VOTOS POSITIVOS
$query = db_exec(array(__FILE__, __LINE__), 'query', 'SELECT SUM(f.f_votos_pos) AS total, u.user_id, u.user_name, f_url, f_user, f_votos_pos, f_title, foto_id FROM f_fotos AS f LEFT JOIN u_miembros AS u ON f.f_user = u.user_id WHERE f.f_status = 0 AND f.f_date BETWEEN '.$data['start'].' AND '.$data['end'].' '.$desc.' GROUP BY f.f_user ORDER BY total DESC LIMIT 10');
$array['votos_pos'] = result_array($query);

// VOTOS NEGATIVOS
$query = db_exec(array(__FILE__, __LINE__), 'query', 'SELECT SUM(f.f_votos_neg) AS total, u.user_id, u.user_name, f_url, f_user, f_votos_neg, f_title, foto_id FROM f_fotos AS f LEFT JOIN u_miembros AS u ON f.f_user = u.user_id WHERE f.f_status = 0 AND f.f_date BETWEEN '.$data['start'].' AND '.$data['end'].' '.$desc.' GROUP BY f.f_user ORDER BY total DESC LIMIT 10');
$array['votos_neg'] = result_array($query);

// VISITAS
$query = db_exec(array(__FILE__, __LINE__), 'query', 'SELECT SUM(f_visitas) AS total, u.user_id, u.user_name, f_url, f_user, f_visitas, f_title, foto_id FROM f_fotos AS f LEFT JOIN u_miembros AS u ON f.f_user = u.user_id WHERE f.f_status = 0 AND f.f_date BETWEEN '.$data['start'].' AND '.$data['end'].' '.$desc.' GROUP BY f.f_user ORDER BY total DESC LIMIT 10');
$array['visitas'] = result_array($query);

// MEDALLAS
$query = db_exec(array(__FILE__, __LINE__), 'query', 'SELECT COUNT(m.medal_for) AS total, u.user_id, u.user_name, f_url, f_user, f_title, foto_id, wm.medal_id FROM w_medallas_assign AS m LEFT JOIN f_fotos AS f ON m.medal_for = f.foto_id LEFT JOIN u_miembros AS u ON f.f_user = u.user_id LEFT JOIN w_medallas AS wm ON wm.medal_id = m.medal_id WHERE wm.m_type = \'3\' AND m.medal_date BETWEEN '.$data['start'].' AND '.$data['end'].' GROUP BY m.medal_for ORDER BY total DESC LIMIT 10');
$array['medallas'] = result_array($query);

//
return $array;

}

2 - Buscar en inc/php/top.php y buscan 
case 'usuarios':         
  $smarty->assign("tsTops",$tsTops->getTopUsers($fecha, $cat));
 break;

Y debajo pegan     
case 'fotos': 
$smarty->assign("tsTops", $tsTops->getTopFotos($fecha, $desc));      
break; 


3 - Buscan en inc/class/c.posts.php y buscan la última llave } y arriba pegan lo siguiente 
/* POSTS REVIEWS */
function PostsReviews(){
global $tsCore, $tsUser;
$query = db_exec(array(__FILE__, __LINE__), 'query', 'SELECT c.cid, c.c_seo, p.post_id, p.post_title, p.post_category, p.post_date, p.post_body, p.post_hits, p.post_status FROM p_categorias AS c LEFT JOIN p_posts AS p ON p.post_category = c.cid WHERE p.post_status = 0 AND p.post_id ORDER BY p.post_hits DESC LIMIT 5');
$data = result_array($query);
//
return $data;
}
/* POSTS POPULAR */
function PostsPopular(){
global $tsCore, $tsUser;
$query = db_exec(array(__FILE__, __LINE__), 'query', 'SELECT c.cid, c.c_seo, p.post_id, p.post_user, p.post_title, p.post_category, p.post_date, p.post_body, p.post_favoritos, p.post_status FROM p_categorias AS c LEFT JOIN p_posts AS p ON p.post_category = c.cid WHERE p.post_status = 0 AND p.post_id ORDER BY p.post_favoritos DESC LIMIT 5');
$data = result_array($query);
//
return $data;
}
/* POSTS RECIENTES */
function PostsRecientes(){
global $tsCore, $tsUser;
$query = db_exec(array(__FILE__, __LINE__), 'query', 'SELECT p.post_id, p.post_user, p.post_category, p.post_title, p.post_date, u.user_name, c.cid, c.c_seo, c.c_nombre FROM p_posts AS p LEFT JOIN u_miembros AS u ON u.user_id = p.post_user LEFT JOIN p_categorias AS c ON c.cid = p.post_category = c.cid WHERE p.post_status = 0 AND p.post_id ORDER BY p.post_id DESC LIMIT 5');
$data = result_array($query);
//
return $data;
}
function getPostsAzar(){
global $tsCore, $tsUser;
$query = db_exec(array(__FILE__, __LINE__), 'query', 'SELECT p.post_id, p.post_user, p.post_category, p.post_title, p.post_date, p.post_hits, p.post_puntos, p.post_favoritos, u.user_name, c.c_seo, c.c_nombre, c.c_img FROM p_posts AS p LEFT JOIN u_miembros AS u ON u.user_id = p.post_user LEFT JOIN p_categorias AS c ON c.cid = p.post_category WHERE p.post_status = \'0\' '.($tsUser->is_admod && $tsCore->settings['c_see_mod'] == 1 ? '' : 'AND u.user_activo = \'1\' && u.user_baneado = \'0\'').' ORDER BY RAND() ASC LIMIT 5');
$data = result_array($query);
return $data;
}
/* Top Categorias*/
function topcat(){
global $tsUser, $tsCore;
$query = db_exec(array(__FILE__, __LINE__), 'query', 'SELECT c.cid, c.c_nombre,c.c_seo, c.c_img, COUNT(p.post_id) AS total, p.post_category FROM p_categorias AS c LEFT JOIN p_posts AS p ON p.post_category = c.cid WHERE post_status = 0 GROUP BY c.c_nombre ORDER BY c.c_nombre ASC');
$data = result_array($query);
return $data;
}

5 - En inc/php/posts.php buscan
    } else {
// PAGINA
$tsPage = "home";

y la reemplazan por
    } else if ($_GET['cate'] == 'categorias') {
$tsPage = "categorias";
$tsTitle = $tsTitle.' - Categorías!';
$smarty->assign("tsTopcat",$tsPosts->topcat());
$smarty->assign("tsPostsAzar",$tsPosts->getPostsAzar());
} else {
// PAGINA
$tsPage = "home";
   
 luego buscan
        // ULTIMOS COMENTARIOS        
$smarty->assign("tsComments",$tsPosts->getLastComentarios());

y debajo pegan 
      //POSTS AL AZAR      
$smarty->assign("tsPostsAzar", $tsPosts->getPostsAzar());     
//POSTS POPULARES     
$smarty->assign("tsPopular", $tsPosts->PostsPopular());

PD: Deben copiar el archivo ajax.feed.php que se encuentra en inc/php/ajax/ajax.feed.php, ya que allí sabrán si hay nueva versión o cambios en el theme porque esto es lo que verán en el panel de la administración
 
GUIA CONFIGURAR PHPMAILER
Para configurar visiten el repositorio de PHPMailer, allí explica cómo deben hacer para que este funcione correctamente, ya esta actualizado el PHPMailer

 
Eso es todo, espero no olvidarme de nada! cualquier cosa avisen!

3 puntos
7
Loading...

¿Como comentar?

Para poder comentar necesitas estar Registrado.


Si ya eres miembro ingresa a tu cuenta.