Phpost

Versión completa: Social Locker administrable
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Capturas
[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` (
    `
idINT NOT NULL AUTO_INCREMENT ,
    `
tituloVARCHAR(150NOT NULL ,
    `
bodyTEXT NOT NULL ,
    `
temaINT NOT NULL ,
    `
modoINT NOT NULL ,
    `
cerrar_segINT NOT NULL ,
    `
cerrarINT NOT NULL ,
    `
obligarINT NOT NULL ,
    `
hide_membersINT NOT NULL ,
    `
fb_app_idVARCHAR(50NOT NULL ,
    `
g_client_idVARCHAR(100NOT NULL ,
    `
contadorINT NOT NULL ,
    `
botones_dataTEXT NOT NULL ,
    
PRIMARY KEY (`id`)
ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=
 
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.'000000''''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']) ? $_POST['locker_tema'],
            
'modo' => empty($_POST['locker_modo']) ? $_POST['locker_modo'],
            
'cerrar_seg' => (int)$_POST['locker_cerrar_seg'],
            
'cerrar' => empty($_POST['locker_cerrar']) ? 1,
            
'obligar' => empty($_POST['locker_obligar']) ? 1,
            
'hide_members' => empty($_POST['locker_hide_members']) ? 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']) ? 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 == && $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}demotrue,{/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 == || $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 == || $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.== || $tsLocker.btn.gshare == 1}{literal}google:{{/literal}{if $tsLocker.btn.== 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.== 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},lazytrue}  });
    }});{/
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
Gracias
Re sube las capturas, no entiendo el mod Sad
(05-05-2024, 03:11 PM)York0x escribió: [ -> ]Re sube las capturas, no entiendo el mod Sad

Hola, es como tienen algunos foros y webs, para ver el contenido tienes que compartirlo en redes sociales, te sale tus redes sociales y como no las comparta no ve el contenido.