Commit inicial - WordPress Análisis de Precios Unitarios

- WordPress core y plugins
- Tema Twenty Twenty-Four configurado
- Plugin allow-unfiltered-html.php simplificado
- .gitignore configurado para excluir wp-config.php y uploads

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
root
2025-11-03 21:04:30 -06:00
commit a22573bf0b
24068 changed files with 4993111 additions and 0 deletions

View File

@@ -0,0 +1,83 @@
<?php
/**
* Contains functions, hooks and classes required for activating the plugin.
*
* @author Paul Kashtanoff <pavelkashtanoff@gmail.com>
* @copyright (c) 2014, OnePress
*
* @since 4.0.0
* @package sociallocker
*/
/**
* Changes the text of the button which is shown after the success activation of the plugin.
*
* @since 3.1.0
* @return string
*/
function sociallocker_license_manager_success_button() {
return __('Learn how to use the plugin <i class="fa fa-lightbulb-o"></i>', 'plugin-sociallocker');
}
add_action('onp_license_manager_success_button_' . $sociallocker->pluginName, 'sociallocker_license_manager_success_button');
/**
* Returns an URL where we should redirect a user to, after the success activation of the plugin.
*
* @since 3.1.0
* @return string
*/
function sociallocker_license_manager_success_redirect() {
return opanda_get_admin_url('how-to-use', array('onp_sl_page' => 'sociallocker'));
}
add_action('onp_license_manager_success_redirect_' . $sociallocker->pluginName, 'sociallocker_license_manager_success_redirect');
/**
* The activator class performing all the required actions on activation.
*
* @see Factory325_Activator
* @since 1.0.0
*/
class SocialLocker_Activation extends Factory325_Activator {
/**
* Runs activation actions.
*
* @since 1.0.0
*/
public function activate() {
$this->setupLicense();
}
/**
* Setups the license.
*
* @since 1.0.0
*/
protected function setupLicense() {
$this->plugin->license->setDefaultLicense( array(
'Embedded' => '2b35dec65674314f5d8d9fe900dc03b8',
'Key' => '2b35dec65674314f5d8d9fe900dc03b8',
'Category' => 'paid',
'Build' => 'premium',
'Title' => __('OnePress Special License', 'sociallocker'),
'Description' => __('You are already Activated. To Change the license, Enter a key
you received with the plugin into the form below.', 'sociallocker')
));
$this->plugin->license->setLicense( array(
'Embedded' => '2b35dec65674314f5d8d9fe900dc03b8',
'Key' => '2b35dec65674314f5d8d9fe900dc03b8',
'Category' => 'paid',
'Build' => 'premium',
'Title' => __('OnePress Special License', 'sociallocker'),
'Description' => __('You are already Activated. To Change the license, Enter a key
you received with the plugin into the form below.', 'sociallocker')));
}
}
$sociallocker->registerActivation('SocialLocker_Activation');

View File

@@ -0,0 +1,232 @@
/**
* StyleRoller
*/
.call-to-action.sociallocker-styleroller-banner {
border-radius: 4px;
background: url("../img/styleroller/banner-bg.png");
padding: 0px !important;
border: 10px solid #fff !important;
border-radius: 8px;
color: #525a5e !important;
}
.call-to-action.sociallocker-styleroller-banner,
.call-to-action.sociallocker-styleroller-banner p {
font-size: 16px;
line-height: 150%;
}
.call-to-action.sociallocker-styleroller-banner .factory-inner-wrap {
padding: 30px;
padding-left: 320px;
padding-right: 10px;
background: transparent url("../img/styleroller/pallete.png") -5px center no-repeat;
border-radius: 8px;
}
.call-to-action.sociallocker-styleroller-banner .factory-inner-wrap {
padding: 30px;
padding-left: 320px;
padding-right: 10px;
background: transparent url("../img/styleroller/en_US/pallete.png") -5px center no-repeat;
border-radius: 8px;
}
.call-to-action.sociallocker-styleroller-banner.onp-sl-ru_RU .factory-inner-wrap {
background: transparent url("../img/styleroller/ru_RU/pallete.png") -6px center no-repeat;
}
.call-to-action.sociallocker-styleroller-banner .onp-hightlight {
background-color: #1bbc9d;
color: #fff;
display: inline-block;
padding: 3px 5px;
margin-right: 5px;
}
.call-to-action.sociallocker-styleroller-banner .factory-buttons {
margin-top: 5px;
}
.call-to-action.sociallocker-styleroller-banner .btn {
padding: 8px 30px;
background-color: #ecf0f1;
border: 0px;
border-bottom: 2px solid #bec3c7;
font-size: 16px;
box-shadow: none;
}
.call-to-action.sociallocker-styleroller-banner .btn-primary {
background-color: #1bbc9d;
-moz-box-shadow: none;
-webkit-box-shadow: none;
box-shadow: none;
outline: none;
border: 0px;
border-bottom: 2px solid #16a086;
}
.call-to-action.sociallocker-styleroller-banner .btn:hover {
background-color: #f6f8f8;
}
.call-to-action.sociallocker-styleroller-banner .btn-primary:hover {
background-color: #20d1af;
}
.call-to-action.sociallocker-styleroller-banner .factory-icon {
display: none;
}
.call-to-action.sociallocker-styleroller-banner .fa {
margin-right: 7px;
}
.call-to-action.sociallocker-styleroller-banner .factory-header {
font-weight: bolder;
font-size: 20px;
}
/**
* Rate Us
*/
.onp-sl-rateus-popup {
padding-bottom: 0px !important;
padding-top: 0px !important;
width: 500px !important;
border-radius: 10px !important;
}
.onp-sl-rateus-popup .onp-sl-achievement {
border-bottom: 1px solid #f1f1f1;
padding: 35px 40px 20px 40px;
background-color: #f4f4f4;
width: 100%;
-moz-box-sizing: content-box;
box-sizing: content-box;
margin-left: -40px;
-webkit-border-top-left-radius: 10px;
-webkit-border-top-right-radius: 10px;
-moz-border-radius-topleft: 10px;
-moz-border-radius-topright: 10px;
border-top-left-radius: 10px;
border-top-right-radius: 10px;
text-align: center;
}
.onp-sl-rateus-popup .onp-sl-count {
font-size: 80px;
line-height: 80px;
display: inline-block;
vertical-align: top;
font-weight: bold;
}
.onp-sl-unlock-via-facebook-like .onp-sl-count-explanation2,
.onp-sl-unlock-via-facebook-share .onp-sl-count-explanation2 {
color: #3c5a9a;
}
.onp-sl-unlock-via-twitter-tweet .onp-sl-count-explanation2,
.onp-sl-unlock-via-twitter-follow .onp-sl-count-explanation2 {
color: #4086cc;
}
.onp-sl-unlock-via-google-plus .onp-sl-count-explanation2,
.onp-sl-unlock-via-google-share .onp-sl-count-explanation2 {
color: #4086cc;
}
.onp-sl-rateus-popup .onp-sl-count-explanation {
display: inline-block;
vertical-align: top;
position: relative;
top: 8px;
font-size: 30px;
line-height: 33px;
margin-left: 8px;
text-align: left;
}
.onp-sl-rateus-popup .onp-sl-units {
text-transform: capitalize;
font-weight: bold;
}
.onp-sl-rateus-popup .onp-sl-exclamation {
font-size: 80px;
line-height: 80px;
display: inline-block;
display: none;
}
.onp-sl-rateus-popup .onp-sl-text {
padding-top: 20px;
padding-bottom: 20px;
text-align: center;
}
.onp-sl-rateus-popup .onp-sl-text p {
font-size: 16px;
margin: 0;
}
.onp-sl-rateus-popup .onp-sl-text p + p {
margin-top: 10px;
}
.onp-sl-rateus-popup .onp-sl-buttons {
padding-top: 5px;
text-align: center;
}
.onp-sl-rateus-popup .onp-sl-button {
display: inline-block;
-moz-box-sizing: border-box;
box-sizing: border-box;
background-color: #f1f1f1;
text-decoration: none;
background-color: #f1f1f1;
border-bottom: 2px solid rgba(0,0,0,0.2);
color: #111;
padding: 10px 15px 10px 15px;
border-radius: 6px;
font-size: 15px;
}
.onp-sl-rateus-popup .onp-sl-button + .onp-sl-button {
margin-left: 5px;
}
.onp-sl-rateus-popup .onp-sl-button-primary {
color: #7c5d1b;
background: #fded90;
border-bottom: 5px solid #e1b149;
font-weight: bold;
padding: 12px 30px 12px 30px;
font-size: 20px;
}
.onp-sl-rateus-popup .onp-sl-button-primary:hover {
background: #feeb80;
border-bottom: 5px solid #d6a437;
}
.onp-sl-rateus-popup .onp-sl-button-link {
margin-top: 13px;
display: inline-block;
font-size: 14px;
}
.onp-sl-rateus-popup .onp-sl-button-link + .onp-sl-button-link {
margin-left: 10px;
}
.onp-sl-rateus-popup .onp-sl-button-primary .fa {
margin-right: 7px;
}
.onp-sl-rateus-popup .onp-sl-status-bar {
background-color: #f4f4f4;
padding: 10px 40px;
text-align: center;
margin-top: 30px;
position: relative;
width: 100%;
-moz-box-sizing: content-box;
box-sizing: content-box;
margin-left: -40px;
-webkit-border-bottom-right-radius: 10px;
-webkit-border-bottom-left-radius: 10px;
-moz-border-radius-bottomright: 10px;
-moz-border-radius-bottomleft: 10px;
border-bottom-right-radius: 10px;
border-bottom-left-radius: 10px;
}
/**
* Hides the vk note on the plugins page
*/
.plugins-php .onp-sl-vk-note {
display: none;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@@ -0,0 +1,74 @@
/*!
* Notices
*
* @author Paul Kashtanoff <paul@byonepress.com>
* @copyright (c) 2015, OnePress Ltd
*
* @package factory-notices
* @since 1.0.0
*/
(function($){
var achievementPopups = {
init: function() {
var self = this;
$("#onp-sl-review .onp-sl-button-link, #onp-sl-review .onp-sl-button-primary").click(function(){
var $popup = $("#onp-sl-review");
$(".factory-popup-overlay").fadeOut(300);
$popup.fadeOut(300);
var data = {
achievementType: 'review',
achievementValue: $(this).data('achievement-value'),
action: "onp_sl_hide_achievement"
};
$.ajax({
url: ajaxurl,
type: "post",
data: data
});
self.setCookie("onp_sl_review_closed", 1, 1000);
if ( $(this).is(".onp-sl-button-primary") ) return true;
else return false;
});
},
setCookie: function (name, value, days) {
var expires;
if (days) {
var date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
expires = "; expires=" + date.toGMTString();
} else {
expires = "";
}
document.cookie = encodeURIComponent(name) + "=" + encodeURIComponent(value) + expires + "; path=/";
},
getCookie: function(name) {
var nameEQ = encodeURIComponent(name) + "=";
var ca = document.cookie.split(';');
for (var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) === ' ') c = c.substring(1, c.length);
if (c.indexOf(nameEQ) === 0) return decodeURIComponent(c.substring(nameEQ.length, c.length));
}
return null;
}
};
$(function(){
achievementPopups.init();
});
})(jQuery);

View File

@@ -0,0 +1,228 @@
<?php
/**
* A set of hooks for the admin part of the Social Locker plugin.
*
* @author Paul Kashtanoff <pavelkashtanoff@gmail.com>
* @copyright (c) 2014, OnePress
*
* @since 4.0.0
* @package sociallocker
*/
// ---
// Assets
//
/**
* Adds scripts and styles in the admin area.
*
* @see the 'admin_enqueue_scripts' action
*
* @since 1.0.0
* @return void
*/
function sociallocker_icon_admin_assets( $hook ) {
}
add_action('admin_enqueue_scripts', 'sociallocker_icon_admin_assets');
// ---
// Help
//
/**
* Registers a help section for the Connect Locker.
*
* @since 1.0.0
*/
function sociallocker_register_help( $pages ) {
global $opanda_help_cats;
if ( !$opanda_help_cats ) $opanda_help_cats = array();
array_unshift($pages, array(
'name' => 'sociallocker',
'title' => __('Plugin: Social Locker', 'plugin-sociallocker'),
'items' => array(
array(
'name' => 'social-locker',
'title' => __('Social Locker', 'plugin-sociallocker'),
'hollow' => true,
'items' => array(
array(
'name' => 'what-is-social-locker',
'title' => __('What is it?', 'plugin-sociallocker')
),
array(
'name' => 'usage-example-social-locker',
'title' => __('Quick Start Guide', 'plugin-sociallocker')
),
array(
'name' => 'gdpr-social-locker',
'title' => __('GDPR Compatibility', 'plugin-sociallocker')
)
/**
array(
'name' => 'other-notes-social-locker',
'title' => __('Other Notes', 'plugin-sociallocker')
)
*/
)
),
array(
'name' => 'signin-locker',
'title' => __('Sign-In Locker', 'plugin-sociallocker'),
'hollow' => true,
'items' => array(
array(
'name' => 'what-is-signin-locker',
'title' => __('What is it?', 'plugin-sociallocker')
),
array(
'name' => 'usage-example-signin-locker',
'title' => __('Quick Start Guide', 'plugin-sociallocker')
),
array(
'name' => 'gdpr-signin-locker',
'title' => __('GDPR Compatibility', 'plugin-sociallocker')
)
)
)
)
));
return $pages;
}
add_filter('opanda_help_pages', 'sociallocker_register_help');
/**
* Shows the intro page for the plugin Social Locker.
*
* @since 1.0.0
* @param FactoryPages321_AdminPage $manager
* @return void
*/
function sociallocker_help_page_optinpanda( $manager ) {
require SOCIALLOCKER_DIR . '/plugin/admin/pages/help/sociallocker.php';
}
add_action('opanda_help_page_sociallocker', 'sociallocker_help_page_optinpanda');
// ---
// Menu
//
/**
* Changes the menu title if the Social Locker is an only plugin installed from BizPanda.
*
* @since 1.0.0
* @return string A new menu title.
*/
function sociallocker_change_menu_title( $title ) {
//if ( !BizPanda::isSinglePlugin() ) return $title;
return __('Social Locker', 'plugin-sociallocker');
}
add_filter('opanda_menu_title', 'sociallocker_change_menu_title');
/**
* Changes the shortcode icon if the Social Locker is an only plugin installed from BizPanda.
*
* @since 1.0.0
* @return string A new menu title.
*/
function sociallocker_change_shortcode_icon( $icon ) {
if ( !BizPanda::isSinglePlugin() ) return $icon;
return SOCIALLOCKER_URL . '/plugin/admin/assets/img/shortcode-icon.png';
}
add_filter('opanda_shortcode_icon', 'sociallocker_change_shortcode_icon');
/**
* Changes the menu title of the page 'New Item' if the Social Locker is an only plugin installed from BizPanda.
*
* @since 1.0.0
* @return string A new menu title.
*/
function sociallocker_change_new_item_menu_title( $title ) {
if ( !BizPanda::isSinglePlugin() ) return $title;
return __('+ New Locker', 'plugin-sociallocker');
}
add_filter('factory_menu_title_new-item-opanda', 'sociallocker_change_new_item_menu_title');
/**
* Changes labels of Panda Items if the Social Locker is an only plugin installed from BizPanda.
*
* @since 4.0.0
* @return mixed A set of new labels
*/
function sociallocker_change_items_lables( $labels ) {
if ( !BizPanda::isSinglePlugin() ) return $labels;
$labels['all_items'] = __('All Lockers', 'plugin-sociallocker');
$labels['add_new'] = __('+ New Locker', 'plugin-sociallocker');
return $labels;
}
add_filter('opanda_items_lables', 'sociallocker_change_items_lables');
/**
* Makes internal page "License Manager" for the Social Locker
*
* @since 1.0.0
* @return bool true
*/
function sociallocker_make_internal_license_manager( $internal ) { global $sociallocker;
if ( in_array( $sociallocker->license->type, array( 'free' ) ) ) {
return $internal;
}
if ( BizPanda::isSinglePlugin() ) return $internal;
return true;
}
add_filter('factory_page_is_internal_license-manager-sociallocker-next', 'sociallocker_make_internal_license_manager');
/**
* Returns an URL of page "Go Premium".
*/
function onp_sl_get_premium_page_url( $url, $name, $campaign = 'na' ) {
if ( !empty( $name ) && !in_array( $name, array('social-locker', 'signin-locker') )) return $url;
if ( get_option('onp_sl_skip_trial', false) ) {
return onp_sl_get_premium_url( $campaign );
} else {
return admin_url('edit.php?post_type=opanda-item&page=premium-sociallocker-next');
}
}
add_filter('opanda_premium_url', 'onp_sl_get_premium_page_url', 10, 3);
/**
* Returns an URL where the user can purchaes the plugin.
*/
function onp_sl_get_premium_url( $campaign = 'na' ) {
global $sociallocker;
return onp_licensing_325_get_purchase_url( $sociallocker, $campaign );
}
#comp merge
require(SOCIALLOCKER_DIR . '/plugin/admin/activation.php');
require(SOCIALLOCKER_DIR . '/plugin/admin/notices.php');
require(SOCIALLOCKER_DIR . '/plugin/admin/pages/license-manager.php');
#endcomp

View File

@@ -0,0 +1,228 @@
<?php
// ------------------------------------------------------------------------------------------
// StyleRoller
// ------------------------------------------------------------------------------------------
/**
* Shows offers to purhcase the StyleRoller from time to time.
*
* @since 3.5.0
*/
function onp_sl_styleroller_notices( $notices ) {
if ( defined('ONP_SL_STYLER_PLUGIN_ACTIVE') ) return $notices;
// show messages only for administrators
if ( !factory_325_is_administrator() ) return $notices; global $sociallocker;
if ( in_array( $sociallocker->license->type, array( 'free','trial' ) ) ) {
return $notices;
}
global $sociallocker;
$closed = get_option('factory_notices_closed', array());
// leans when the premium versio was activated
$premiumActivated = isset( $sociallocker->license->data['Activated'] )
? $sociallocker->license->data['Activated'] // for new users
: 0; // for old users
$isNewUser = ( $premiumActivated !== 0 );
$secondsInDay = 60*60*24;
$inSeconds = time() - $premiumActivated;
$inDays = $inSeconds / $secondsInDay;
$forceToShow = defined('ONP_DEBUG_SHOW_STYLEROLLER_MESSAGE') && ONP_DEBUG_SHOW_STYLEROLLER_MESSAGE;
$lang = $sociallocker->options['lang'];
// offers a discount for new users who purchased the Social Locker a day ago
if ( ( $isNewUser && $inDays >= 1 && $inDays <= 3 && !isset( $closed['sociallocker-styleroller-after-a-day'] ) )
|| $forceToShow ) {
$premiumActivated = $premiumActivated + 24 * 60 * 60;
$expiresIn = ceil( ( 3 - $inDays ) * 24 );
$notices[] = array(
'id' => 'sociallocker-styleroller-after-a-day',
// content and color
'class' => 'call-to-action sociallocker-styleroller-banner onp-sl-'.$lang,
'header' => '<span class="onp-hightlight">' . __('You\'ve got the 40% discount on the StyleRoller Add-On!', 'plugin-sociallocker') . '</span>' . sprintf( __('(Expires In %sh)', 'plugin-sociallocker'), $expiresIn ),
'message' => __('<p>It\'s a day since you activated the Social Locker. We would like to make you a small gift, the 40% discount on the StyleRoller Add-on. This is a time-limited offer which will be valid within 2 days.</p><p>The StyleRoller Add-on will help you to brand the Social Locker to fit the look and feel of your website, create your own unique attention-grabbing themes and, as a result, increase the number of likes and shares.</p>', 'plugin-sociallocker'),
'plugin' => $sociallocker->pluginName,
'where' => array('plugins','dashboard', 'edit'),
// buttons and links
'buttons' => array(
array(
'class' => 'btn btn-primary',
'title' => __('Get StyleRoller For 40% Off', 'plugin-sociallocker'),
'action' => $sociallocker->options['styleroller'] . '-special/?' . http_build_query(array(
'onp_special' => md5( $premiumActivated ) . $premiumActivated,
'onp_target' => base64_encode( get_site_url() ),
'utm_source' => 'plugin',
'utm_medium' => 'styleroller-banner',
'utm_campaign' => 'after-a-day'
))
),
array(
'title' => __('Hide this message', 'plugin-sociallocker'),
'class' => 'btn btn-default',
'action' => 'x'
)
)
);
}
// offers a discount for new users who purchased the Social Locker a week ago
if ( ( $isNewUser && $inDays >= 7 && $inDays <= 9 && !isset( $closed['sociallocker-styleroller-after-a-week'] ) ) || $forceToShow ) {
$premiumActivated = $premiumActivated + 7 * 24 * 60 * 60;
$expiresIn = ceil( ( 9 - $inDays ) * 24 );
$notices[] = array(
'id' => 'sociallocker-styleroller-after-a-week',
// content and color
'class' => 'call-to-action sociallocker-styleroller-banner onp-sl-'.$lang,
'icon' => 'fa fa-frown-o',
'header' => '<span class="onp-hightlight">' . __('Last Chance To Get StyleRoller For 40% Off!', 'plugin-sociallocker') . '</span>' . sprintf( __('(Expires In %sh)', 'plugin-sociallocker'), $expiresIn ),
'message' => __('We have noticed you have been using the Social Locker already more than a week. Did you know what via the StyleRoller, an add-on for creating own attention-grabbing themes, you can improve conversions of your lockers by up to 300%? Learn how, click the button below.', 'plugin-sociallocker'),
'plugin' => $sociallocker->pluginName,
'where' => array('plugins','dashboard', 'edit'),
// buttons and links
'buttons' => array(
array(
'class' => 'btn btn-primary',
'title' => __('Get StyleRoller For 40% Off', 'plugin-sociallocker'),
'action' => $sociallocker->options['styleroller'] . '-special/?' . http_build_query(array(
'onp_special' => md5( $premiumActivated ) . $premiumActivated,
'onp_target' => base64_encode( get_site_url() ),
'utm_source' => 'plugin',
'utm_medium' => 'styleroller-banner',
'utm_campaign' => 'after-a-week'
))
),
array(
'title' => __('Hide this message', 'plugin-sociallocker'),
'class' => 'btn btn-default',
'action' => 'x'
)
)
);
}
// this banner only for old users
if ( ( !$isNewUser ) || $forceToShow ) {
$firstShowTime = get_option('onp_sl_styleroller_firt_time', false);
if ( !$firstShowTime ) {
$firstShowTime = time();
update_option( 'onp_sl_styleroller_firt_time', time() );
}
$inSeconds = time() - $firstShowTime;
$inDays = $inSeconds / $secondsInDay;
// this offer is available only 2 days
if ( ( $inDays <= 2 && !isset( $closed['sociallocker-styleroller-new-addon'] ) ) || $forceToShow ) {
$expiresIn = ceil( ( 2 - $inDays ) * 24 );
$notices[] = array(
'id' => 'sociallocker-styleroller-new-addon',
// content and color
'class' => 'call-to-action sociallocker-styleroller-banner onp-sl-'.$lang,
'icon' => 'fa fa-frown-o',
'header' => '<span class="onp-hightlight">' . __('You\'ve got the 40% discount on the StyleRoller Add-On!', 'plugin-sociallocker') . '</span>' . sprintf( __('(Expires In %sh)', 'plugin-sociallocker'), $expiresIn ),
'message' => __('We would like to make you a small gift, the 40% discount on the StyleRoller Add-on. This is a time-limited offer which will be valid within 2 days. The StyleRoller Add-on will help you to brand the Social Locker to fit the look and feel of your website, create your own unique attention-grabbing themes and, as a result, increase the number of likes and shares.', 'plugin-sociallocker'),
'plugin' => $sociallocker->pluginName,
'where' => array('plugins','dashboard', 'edit'),
// buttons and links
'buttons' => array(
array(
'class' => 'btn btn-primary',
'title' => __('Get StyleRoller For 40% Off', 'plugin-sociallocker'),
'action' => $sociallocker->options['styleroller'] . '-special/?' . http_build_query(array(
'onp_special' => md5( $firstShowTime ) . $firstShowTime,
'onp_target' => base64_encode( get_site_url() ),
'utm_source' => 'plugin',
'utm_medium' => 'styleroller-banner',
'utm_campaign' => 'new-addon'
))
),
array(
'title' => __('Hide this message', 'plugin-sociallocker'),
'class' => 'btn btn-default',
'action' => 'x'
)
)
);
}
// this offer apperas after a week withing a day
if ( ( $inDays >= 7 && $inDays <= 9 && !isset( $closed['sociallocker-styleroller-new-addon-after-a-week'] ) ) || $forceToShow ) {
$firstShowTime = $firstShowTime + 7 * 24 * 60 * 60;
$expiresIn = ceil( ( 9 - $inDays ) * 24 );
$notices[] = array(
'id' => 'sociallocker-styleroller-new-addon-after-a-week',
// content and color
'class' => 'call-to-action sociallocker-styleroller-banner onp-sl-'.$lang,
'icon' => 'fa fa-frown-o',
'header' => '<span class="onp-hightlight">' . __('Last Chance To Get StyleRoller For 40% Off!', 'plugin-sociallocker') . '</span>' . sprintf( __('(Expires In %sh)', 'plugin-sociallocker'), $expiresIn ),
'message' => __('Did you know what via the StyleRoller, an add-on for creating own attention-grabbing themes for Social Locker, you can improve conversions of your lockers by up to 300%? Click the button to learn more and get the discount.', 'plugin-sociallocker'),
'plugin' => $sociallocker->pluginName,
'where' => array('plugins','dashboard', 'edit'),
// buttons and links
'buttons' => array(
array(
'class' => 'btn btn-primary',
'title' => __('Get StyleRoller For 40% Off', 'plugin-sociallocker'),
'action' => $sociallocker->options['styleroller'] . '-special/?' . http_build_query(array(
'onp_special' => md5( $firstShowTime ) . $firstShowTime,
'onp_target' => base64_encode( get_site_url() ),
'utm_source' => 'plugin',
'utm_medium' => 'styleroller-banner',
'utm_campaign' => 'new-addon-after-a-week'
))
),
array(
'title' => __('Hide this message', 'plugin-sociallocker'),
'class' => 'btn btn-default',
'action' => 'x'
)
)
);
}
}
return $notices;
}
add_filter('factory_notices_' . $sociallocker->pluginName, 'onp_sl_styleroller_notices');
/**
* Assets for the StyleRoller banner.
*/
function onp_sl_assets_for_styleroller_notices( $hook ) {
// sytles for the plugin notices
if ( $hook == 'index.php' || $hook == 'plugins.php' || $hook == 'edit.php' ) {
wp_enqueue_style( 'sociallocker-notices', SOCIALLOCKER_URL . '/plugin/admin/assets/css/notices.010000.css' );
wp_enqueue_script( 'sociallocker-notices', SOCIALLOCKER_URL . '/plugin/admin/assets/js/notices.010000.js' );
}
}
add_action('admin_enqueue_scripts', 'onp_sl_assets_for_styleroller_notices' );

View File

@@ -0,0 +1,25 @@
<div class="onp-help-section">
<h1><?php _e('Social Locker', 'plugin-sociallocker'); ?></h1>
<p>
<?php _e('Social Locker hides some piece of value content on your website and ask the user to like or share (in other words, "pay with a like", "pay with a tweet" and so on) to get instant access to your content.') ?>
</p>
<p><?php _e('Social Locker gives you the following benefits:', 'plugin-sociallocker') ?></p>
<p><strong><?php _e('1. More Social Traffic') ?></strong></p>
<p><?php _e('Social Locker will add systematically viral traffic to your website, your opt-in funnel or your sales-page. When users share or tweet your page to get access to the content you locked, their friends see it and some of them visit your website. That repeats again and again.', 'plugin-sociallocker') ?></p>
<p><strong><?php _e('2. More Quality Fans & Followers') ?></strong></p>
<p><?php _e('Every blogger and internet entrepreneur knows how difficult it is to get fans and followers, especially for new websites with a low budget..', 'plugin-sociallocker') ?></p>
<p><?php _e('Get every visitor of your site to follow you. Keep in contact with your audience and build loyalty. Just lock some valued content and tell visitors that the locked content is available only for your fans and followers.') ?></p>
<p><strong><?php _e('3. Better SEO Ranking') ?></strong></p>
<p><?php _e('Google\'s search algorithm takes over 200 factors into consideration when determining which results to show for a search query and in what order. Social media is one of the most important factors in their algorithm and has a significant influence on how a site ranks in a search.', 'plugin-sociallocker') ?></p>
<p><?php _e('Results in the organic search results\' top positions have a high number of likes, shares and tweets. So, the better your social media performance, the better your SEO results.') ?>
<p style="margin-top: 25px;">
<a href="<?php $manager->actionUrl('index', array( 'onp_sl_page' => 'usage-example-social-locker' )) ?>" class="btn btn-default"><?php _e('Learn how to configure and use Social Locker', 'plugin-sociallocker') ?><i class="fa fa-long-arrow-right"></i></a>
</p>
</div>

View File

@@ -0,0 +1,37 @@
<?php
/**
* License page is a place where a user can check updated and manage the license.
*/
class SocialLocker_LicenseManagerPage extends OnpLicensing325_LicenseManagerPage {
public $purchasePrice = '$28';
public function configure() {
if( !current_user_can('administrator') )
$this->capabilitiy = "manage_opanda_licensing";
$this->purchasePrice = '$27'; global $sociallocker;
if ( in_array( $sociallocker->license->type, array( 'free' ) ) ) {
$this->menuTitle = __('Social Locker', 'plugin-sociallocker');
$this->menuIcon = BizPanda::getMenuIcon();
}
global $sociallocker;
if ( !in_array( $sociallocker->license->type, array( 'free' ) ) ) {
$this->menuPostType = OPANDA_POST_TYPE;
}
}
}
FactoryPages321::register($sociallocker, 'SocialLocker_LicenseManagerPage');

View File

@@ -0,0 +1,456 @@
<?php
/**
* The file contains a short help info.
*
* @author Paul Kashtanoff <paul@byonepress.com>
* @copyright (c) 2014, OnePress Ltd
*
* @package core
* @since 1.0.0
*/
/**
* Common Settings
*/
class OnpSL_PremiumPage extends FactoryPages321_AdminPage {
public $menuPostType = OPANDA_POST_TYPE;
public $id = "premium";
public function __construct(Factory325_Plugin $plugin) {
parent::__construct($plugin);
add_filter( 'factory_menu_title_premium-sociallocker-next' , array( $this, 'fixMenuTitle') ) ;
}
public function fixMenuTitle() {
if ( BizPanda::isSinglePlugin() ) return __('Go Premium', 'optinpanda');
return __('<span class="factory-fontawesome-320"><i class="fa fa-star-o" style="margin-right: 5px;"></i>Social Locker</span>', 'optinpanda');
}
public function assets($scripts, $styles) {
$this->scripts->request('jquery');
$this->styles->add(OPANDA_BIZPANDA_URL . '/assets/admin/css/premium.030100.css');
$this->styles->request('bootstrap.core', 'bootstrap');
}
/**
* Shows 'Get more features!'
*
* @sinve 1.0.0
* @return void
*
*/
public function indexAction() {
global $sociallocker;
$alreadyActivated = get_option('onp_trial_activated_' . $sociallocker->pluginName, false);
$skipTrial = get_option('onp_sl_skip_trial', false);
if ( $skipTrial ) {
wp_redirect( onp_sl_get_premium_url('go-premium') );
exit;
}
?>
<div class="wrap factory-bootstrap-331 factory-fontawesome-320">
<div class="onp-page-content">
<div class="onp-inner-wrap">
<div class="onp-page-section">
<?php if ( !$alreadyActivated ) { ?>
<h1><?php _e('Try Premium Version For 7 Days For Free!', 'plugin-sociallocker'); ?></h1>
<?php } else { ?>
<h1><?php _e('Upgrade Social Locker To Premium!', 'plugin-sociallocker'); ?></h1>
<?php } ?>
<?php if ( !$alreadyActivated ) { ?>
<p>
<?php printf( __('The plugin you are using is a free version of the popular <a target="_blank" href="%s"> Social Locker</a> plugin.
We offer you to try the premium version for 7 days absolutely for free. We sure you will love it.', 'plugin-sociallocker'), onp_sl_get_premium_url('go-premium') ) ?>
</p>
<p>
<?php _e('Check out the table below to know about the premium features.', 'plugin-sociallocker'); ?>
</p>
<?php } else { ?>
<p>
<?php _e('The plugin you are using is a free version of the popular <a target="_blank" href="%s"> Social Locker plugin</a> sold on CodeCanyon.', 'plugin-sociallocker') ?>
<?php _e('Check out the table below to know about all the premium features.', 'plugin-sociallocker'); ?>
</p>
<?php } ?>
</div>
<div class="onp-page-section">
<h2><i class="fa fa-star-o"></i> Comparison of Free & Premium Versions</h2>
<p>Click on the dotted title to learn more about a given feature.</p>
<table class="table table-bordered onp-how-comparation">
<tbody>
<tr class="onp-how-group">
<td class="onp-how-group-title"><i class="fa fa-cogs"></i> Common Features</td>
<td class="onp-how-yes">Free</td>
<td class="onp-how-yes onp-how-premium">Premium</td>
</tr>
<tr>
<td class="onp-how-title">Unlimited Lockers</td>
<td class="onp-how-yes">yes</td>
<td class="onp-how-yes onp-how-premium">yes</td>
</tr>
<tr>
<td class="onp-how-title">Manual Lock (via shortcodes)</td>
<td class="onp-how-yes">yes</td>
<td class="onp-how-yes onp-how-premium">yes</td>
</tr>
<tr>
<td class="onp-how-title">Batch Lock (3 modes)</td>
<td class="onp-how-yes">yes</td>
<td class="onp-how-yes onp-how-premium">yes</td>
</tr>
<tr>
<td class="onp-how-title"><a href="#extra-options">Visibility Options</a></td>
<td class="onp-how-no">-</td>
<td class="onp-how-yes onp-how-premium"><strong>yes</strong></td>
</tr>
<td class="onp-how-title"><a href="#extra-options">Advanced Options</a></td>
<td class="onp-how-no">-</td>
<td class="onp-how-yes onp-how-premium"><strong>yes</strong></td>
</tr>
<tr class="onp-how-group-separator">
<td colspan="3"></td>
</tr>
<tr class="onp-how-group">
<td class="onp-how-group-title"><i class="fa fa-bullhorn"></i> Social Locker</td>
<td class="onp-how-yes">Free</td>
<td class="onp-how-yes onp-how-premium">Premium</td>
</tr>
<tr>
<td class="onp-how-title">Facebook Like</td>
<td class="onp-how-yes">yes</td>
<td class="onp-how-yes onp-how-premium">yes</td>
</tr>
<tr>
<td class="onp-how-title">Twitter Tweet</td>
<td class="onp-how-yes">yes</td>
<td class="onp-how-yes onp-how-premium">yes</td>
</tr>
<tr>
<td class="onp-how-title">Google +1</td>
<td class="onp-how-yes">yes</td>
<td class="onp-how-yes onp-how-premium">yes</td>
</tr>
<tr>
<td class="onp-how-title">Facebook Share</a></td>
<td class="onp-how-no">-</td>
<td class="onp-how-yes onp-how-premium"><strong>yes</strong></td>
</tr>
<tr>
<td class="onp-how-title">Twitter Follow</td>
<td class="onp-how-no">-</td>
<td class="onp-how-yes onp-how-premium"><strong>yes</strong></td>
</tr>
<tr>
<td class="onp-how-title">LinkedIn Share</td>
<td class="onp-how-no">-</td>
<td class="onp-how-yes onp-how-premium"><strong>yes</strong></td>
</tr>
<tr>
<td class="onp-how-title">Google Share</td>
<td class="onp-how-no">-</td>
<td class="onp-how-yes onp-how-premium"><strong>yes</strong></td>
</tr>
<tr>
<td class="onp-how-title">YouTube Subscribe</td>
<td class="onp-how-no">-</td>
<td class="onp-how-yes onp-how-premium"><strong>yes</strong></td>
</tr>
<tr class="onp-how-group-separator">
<td colspan="3"></td>
</tr>
<tr class="onp-how-group">
<td class="onp-how-group-title"><i class="fa fa-user"></i> Sign-In Locker</td>
<td class="onp-how-yes">Free</td>
<td class="onp-how-yes onp-how-premium">Premium</td>
</tr>
<tr>
<td class="onp-how-title">Facebook Sign-In</td>
<td class="onp-how-yes">yes</td>
<td class="onp-how-yes onp-how-premium">yes</td>
</tr>
<tr>
<td class="onp-how-title">Twitter Sign-In</td>
<td class="onp-how-yes">yes</td>
<td class="onp-how-yes onp-how-premium">yes</td>
</tr>
<tr>
<td class="onp-how-title">Google Sign-In</td>
<td class="onp-how-yes">yes</td>
<td class="onp-how-yes onp-how-premium">yes</td>
</tr>
<tr>
<td class="onp-how-title">LinkedIn Sign-In</a></td>
<td class="onp-how-no">-</td>
<td class="onp-how-yes onp-how-premium"><strong>yes</strong></td>
</tr>
<tr>
<td class="onp-how-title">Sign-In via Email</td>
<td class="onp-how-no">-</td>
<td class="onp-how-yes onp-how-premium"><strong>yes</strong></td>
</tr>
<tr>
<td class="onp-how-title">Action "Twitter Follow"</td>
<td class="onp-how-no">-</td>
<td class="onp-how-yes onp-how-premium"><strong>yes</strong></td>
</tr>
<tr>
<td class="onp-how-title">Action "LinkedIn Follow"</td>
<td class="onp-how-no">-</td>
<td class="onp-how-yes onp-how-premium"><strong>yes</strong></td>
</tr>
<tr>
<td class="onp-how-title">Action "Subscribe to Youtube"</td>
<td class="onp-how-no">-</td>
<td class="onp-how-yes onp-how-premium"><strong>yes</strong></td>
</tr>
<tr>
<td class="onp-how-title"><strong>Export Leads In CSV</strong></td>
<td class="onp-how-no">-</td>
<td class="onp-how-yes onp-how-premium"><strong>yes</strong></td>
</tr>
<tr class="onp-how-group-separator">
<td colspan="3"></td>
</tr>
<tr class="onp-how-group">
<td class="onp-how-group-title"><i class="fa fa-adjust"></i> Overlap Modes</td>
<td class="onp-how-yes">Free</td>
<td class="onp-how-yes onp-how-premium">Premium</td>
</tr>
<tr>
<td class="onp-how-title">Full</td>
<td class="onp-how-yes">yes</td>
<td class="onp-how-yes onp-how-premium">yes</td>
</tr>
<tr>
<td class="onp-how-title">Transparency</td>
<td class="onp-how-yes">yes</td>
<td class="onp-how-yes onp-how-premium">yes</td>
</tr>
<tr>
<td class="onp-how-title"><a href="#blurring">Blurring (new!)</a></td>
<td class="onp-how-no">-</td>
<td class="onp-how-yes onp-how-premium"><strong>yes</strong></td>
</tr>
<tr class="onp-how-group-separator">
<td colspan="3"></td>
</tr>
<tr class="onp-how-group">
<td class="onp-how-group-title"><i class="fa fa-picture-o"></i> Themes</td>
<td class="onp-how-yes">Free</td>
<td class="onp-how-yes onp-how-premium">Premium</td>
</tr>
<tr>
<td class="onp-how-title onp-how-group-in-group">The 'Secrets' Theme</td>
<td class="onp-how-yes">yes</td>
<td class="onp-how-yes onp-how-premium">yes</td>
</tr>
<tr>
<td class="onp-how-title onp-how-group-in-group"><a href="#extra-themes">Theme 'Flat' (new!)</a></td>
<td class="onp-how-no">-</td>
<td class="onp-how-yes onp-how-premium"><strong>yes</strong></td>
</tr>
<tr>
<td class="onp-how-title onp-how-group-in-group"><a href="#extra-themes">Theme 'Dandyish' </a></td>
<td class="onp-how-no">-</td>
<td class="onp-how-yes onp-how-premium"><strong>yes</strong></td>
</tr>
<tr>
<td class="onp-how-title onp-how-group-in-group"><a href="#extra-themes">Theme 'Glass'</a></td>
<td class="onp-how-no">-</td>
<td class="onp-how-yes onp-how-premium"><strong>yes</strong></td>
</tr>
<tr>
<td class="onp-how-title onp-how-group-in-group"><a href="#extra-themes">Theme 'Friendly Giant'</a></td>
<td class="onp-how-no">-</td>
<td class="onp-how-yes onp-how-premium"><strong>yes</strong></td>
</tr>
<tr>
<td class="onp-how-title onp-how-group-in-group"><a href="#extra-themes">Theme 'Dark Force'</a></td>
<td class="onp-how-no">-</td>
<td class="onp-how-yes onp-how-premium"><strong>yes</strong></td>
</tr>
<tr class="onp-how-group-separator">
<td colspan="3"></td>
</tr>
<tr class="onp-how-group">
<td class="onp-how-group-title"><i class="fa fa-picture-o"></i> Services</td>
<td class="onp-how-yes">Free</td>
<td class="onp-how-yes onp-how-premium">Premium</td>
</tr>
<tr>
<td class="onp-how-title onp-how-group-in-group"><a href="#updates">Updates</a></td>
<td class="onp-how-no">not guaranteed</td>
<td class="onp-how-yes onp-how-premium"><strong>primary updates</strong></td>
</tr>
<tr>
<td class="onp-how-title"><a href="#support">Support</a></td>
<td class="onp-how-no">not guaranteed</td>
<td class="onp-how-yes onp-how-premium"><strong>dedicated support</strong></td>
</tr>
</tbody>
</table>
<?php if ( !$alreadyActivated ) { ?>
<div>
<a class="button button-primary" id="activate-trial-btn" href="<?php echo onp_licensing_325_manager_link($this->plugin->pluginName, 'activateTrial', false ) ?>">
<i class="fa fa-star-o"></i>
Click Here To Activate Your Free Trial For 7 Days
<i class="fa fa-star-o"></i>
<br />
<small>(instant activation by one click)</small>
</a>
</div>
<?php } else { ?>
<div class='factory-bootstrap-331'>
<a class="btn btn-gold" id="onp-sl-purchase-btn" href="<?php echo onp_sl_get_premium_url( 'go-premium' ) ?>">
<i class="fa fa-star"></i>
Purchase Social Locker Premium For $28 Only
<i class="fa fa-star"></i>
</a>
</div>
<?php } ?>
<?php if ( !$alreadyActivated ) { ?>
<p style="text-align: center; margin-top: 20px;">
<a href="<?php echo onp_sl_get_premium_url( 'go-premium' ) ?>" style="color: #111;"><strong>Or Buy The Social Locker Right Now For $28 Only</strong></a>
</p>
<?php } ?>
</div>
<div class="onp-page-section" id="social-options">
<h1>
<i class="fa fa-star-o"></i> <?php _e('Drive More Traffic & Build Quality Followers', 'plugin-sociallocker'); ?>
</h1>
<p><?php _e('The premium version of the plugin provides 8 social buttons for all major social networks: Facebook, Twitter, Google, LinkedIn, YouTube, including the Twitter Follow button. You can use them together or separately for customized results.', 'plugin-sociallocker') ?></p>
<p class='onp-img'>
<img src='http://cconp.s3.amazonaws.com/bizpanda/social-options-a.png' />
</p>
</div>
<div class="onp-page-section" id="extra-options">
<h1>
<i class="fa fa-star-o"></i> <?php _e('Set How, When and For Whom Your Lockers Appear', 'plugin-sociallocker'); ?>
</h1>
<p>Each website has its own unique audience. We know that a good business is an agile business. The premium version of Social Locker provides 8 additional options that allow you to configure the lockers flexibly to meet your needs.</p>
<p class='onp-img'>
<img src='http://cconp.s3.amazonaws.com/bizpanda/advanced-options.png' />
</p>
<div class="clearfix"></div>
</div>
<div class="onp-page-section" id='blurring'>
<h1>
<i class="fa fa-star-o"></i> <?php _e('Create Highly Shareable Content Via The Blur Effect', 'plugin-sociallocker'); ?>
</h1>
<p>The previous versions of the plugin allowed only to hide the locked content totally. But recently we have added the long-awaited option to overlap content and make it transparent or blurred.</p>
<p class='onp-img'>
<img src='http://cconp.s3.amazonaws.com/bizpanda/blur-effect.png' />
</p>
<p>When we tested this feature on sites of some our customers, we were blown away how this feature attracts attention of the huge number of visitors. If people see and understand that they will get after unlocking, the plugin works more effectively.</p>
</div>
<div class="onp-page-section" id='extra-themes'>
<h1>
<i class="fa fa-star-o"></i> <?php _e('5 Extra Stunning Themes For Your Lockers', 'plugin-sociallocker'); ?>
</h1>
<p>
<p>The premium version of Social Locker comes with 5 extra impressive, polished styles which create interest and attract attention (3 for the classic Social Locker and 2 for the Sign-In Locker). They are nicely animated and don't look obtrusive:</p>
</p>
<p class='onp-img'>
<img src='http://cconp.s3.amazonaws.com/bizpanda/new-themes.png' />
</p>
</div>
<div class="onp-page-section" id='updates'>
<h1>
<i class="fa fa-star-o"></i> <?php _e('Get New Features & Updates Almost Every Week', 'plugin-sociallocker'); ?>
</h1>
<p>We release about 3-4 updates each month, adding new features and fixing bugs. The Free version does not guarantee that you will get all the major updates. But if you upgrade to the Premium version, your copy of the plugin will be always up-to-date.</p>
</div>
<div class="onp-page-section" id='support'>
<h1>
<i class="fa fa-star-o"></i> <?php _e('Guaranteed Support Within 24h', 'plugin-sociallocker'); ?>
</h1>
<p>
All of our plugins come with free support. We care about your plugin after purchase just as much as you do. We want to make your life easier and make you happy about choosing our plugins.
</p>
<p>
Unfortunately we receive plenty of support requests every day and we cannot answer to all the users quickly. But for the users of the premium version (and the trial version), we guarantee to respond to every inquiry within 1 business day (typical response time is 3 hours).
</p>
</div>
<?php if ( !$alreadyActivated ) { ?>
<div class="onp-page-section">
<div>
<a class="button button-primary" id="activate-trial-btn" href="<?php echo onp_licensing_325_manager_link($this->plugin->pluginName, 'activateTrial', false ) ?>">
<i class="fa fa-star-o"></i>
Click Here To Activate Your Free Trial For 7 Days
<i class="fa fa-star-o"></i>
<br />
<small>(instant activation by one click)</small>
</a>
</div>
</div>
<div class="onp-page-section">
<p style="text-align: center;">
<a href="<?php echo onp_sl_get_premium_url( 'go-premium' ) ?>" style="color: #111;"><strong>Or Buy The Social Locker Right Now For $28 Only</strong></a>
</p>
<div class="onp-remark">
<div class="onp-inner-wrap">
<p><?php _e('You can purchase the premium version at any time within your trial period or right now. After purchasing you will get a license key to unlock all the plugin features.', 'plugin-sociallocker'); ?></p>
<p><?php printf(__('<strong>To purchase the Social Locker</strong>, <a target="_blank" href="%s">click here</a> to visit the plugin page on CodeCanyon. Then click the "Purchase" button on the right sidebar.', 'plugin-sociallocker'), onp_sl_get_premium_url( 'go-premium' )); ?></p>
</div>
</div>
</div>
<?php } else { ?>
<div class="onp-page-section">
<div class='factory-bootstrap-331'>
<a class="btn btn-gold" id="onp-sl-purchase-btn" href="<?php echo onp_sl_get_premium_url( 'go-premium' ) ?>">
<i class="fa fa-star"></i>
Purchase Social Locker Premium For $28 Only
<i class="fa fa-star"></i>
</a>
</div>
</div>
<?php } ?>
</div>
</div>
</div>
<?php
}
}
FactoryPages321::register($sociallocker, 'OnpSL_PremiumPage');