08-21-2022, 02:03 PM
Capturas
Ejecutar estas consultas
En admin.php --> inc --> php --> admin.php
Buscar:
Arriba agregar:
En posts.php --> inc --> php --> posts.php
Buscar:
Debajo agregar:
En c.admin.php --> inc --> class --> c.admin.php
Buscar:
Arriba agregar:
En c.posts.php --> inc --> class --> c.posts.php
Buscar:
Arriba agregar:
En c.core.php --> inc --> class --> c.core.php
Buscar:
Después de:
Agregar:
En bbcode.inc.php --> inc --> ext --> bbcode.inc.php
Buscar:
Reemplazar por:
En admin.css --> themes --> default --> css --> admin.css
Buscar:
Debajo agregar:
En t.admin.tpl --> themes --> default --> templates --> t.admin.tpl
Buscar:
Arriba agregar:
En t.posts.tpl --> themes --> default --> templates --> t.posts.tpl
Buscar:
Agregar debajo:
En m.admin_sidemenu.tpl --> themes --> default --> templates --> admin_mods --> m.admin_sidemenu.tpl
Buscar:
Debajo agregar:
Y subir esta carpeta
Mega
http://Registrate o inicia tu sesión par... contenido
Google Drive
http://Registrate o inicia tu sesión par... contenido
Mediafire
http://Registrate o inicia tu sesión par... contenido
Uptobox
http://Registrate o inicia tu sesión par... contenido
4shared
http://Registrate o inicia tu sesión par... contenido
Notas:
Creditos: Basdower
[img]Registrate o inicia tu sesión para ver este contenido[/img]
[img]Registrate o inicia tu sesión para ver este contenido[/img]
[img]Registrate o inicia tu sesión para ver este contenido[/img]
Ejecutar estas consultas
Código PHP:
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 ;
Código PHP:
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";}')
En admin.php --> inc --> php --> admin.php
Buscar:
Código PHP:
/** NOTICIAS **/
Arriba agregar:
Código PHP:
/** 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 --> inc --> php --> posts.php
Buscar:
Código PHP:
$smarty->assign("tsPages",$tsPages);
Debajo agregar:
Código PHP:
// Social Locker
$smarty->assign('tsLocker', $tsPosts->getLocker());
En c.admin.php --> inc --> class --> c.admin.php
Buscar:
Código PHP:
/*
savePConfigs()
Arriba agregar:
Código PHP:
/*
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 --> inc --> class --> c.posts.php
Buscar:
Código PHP:
/*
getSideData($array)
*/
Arriba agregar:
Código PHP:
/*
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 --> inc --> class --> c.core.php
Buscar:
Código PHP:
// 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'));
Después de:
Código PHP:
, 'success'
Agregar:
Código PHP:
, 'sociallocker'
En bbcode.inc.php --> inc --> ext --> bbcode.inc.php
Buscar:
Código PHP:
array('tag' => 'success', 'replace' => '<div class="bbcmsg success">{param}</div>')
Reemplazar por:
Código PHP:
array('tag' => 'success', 'replace' => '<div class="bbcmsg success">{param}</div>'),
array('tag' => 'sociallocker', 'replace' => '<div id="socialloker_by_Basdower">{param}</div>')
En admin.css --> themes --> default --> css --> admin.css
Buscar:
Código PHP:
li#a_badwords {background-image: url(../images/icons/stop.png);}
Debajo agregar:
Código PHP:
li#a_social {background-image: url(../images/icons/social-locker.png);background-position: 0px -5px;}
En t.admin.tpl --> themes --> default --> templates --> t.admin.tpl
Buscar:
Código PHP:
{/if}
Arriba agregar:
Código PHP:
{elseif $tsAction == 'social-locker'}
{include file='admin_mods/m.admin_social_locker.tpl'}
En t.posts.tpl --> themes --> default --> templates --> t.posts.tpl
Buscar:
Código PHP:
{include file='sections/main_header.tpl'}
Agregar debajo:
Código PHP:
<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 --> themes --> default --> templates --> admin_mods --> m.admin_sidemenu.tpl
Buscar:
Código PHP:
<li id="a_ads"><span class="cat-title"><a href="{$tsConfig.url}/admin/ads">Publicidad</a></span></li>
Debajo agregar:
Código PHP:
<li id="a_social"><span class="cat-title"><a href="{$tsConfig.url}/admin/social-locker">Social Locker</a></span></li>
Y subir esta carpeta
Mega
http://Registrate o inicia tu sesión par... contenido
Google Drive
http://Registrate o inicia tu sesión par... contenido
Mediafire
http://Registrate o inicia tu sesión par... contenido
Uptobox
http://Registrate o inicia tu sesión par... contenido
4shared
http://Registrate o inicia tu sesión par... contenido
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.
Creditos: Basdower

