Version Description
Added new feature: - Exit intent: Buttons will expand
Download this release
Release Info
Developer | buttonizer |
Plugin | Smart Floating / Sticky Buttons – Call, Sharing, Chat Widgets & More – Buttonizer |
Version | 1.0.3 |
Comparing to | |
See all releases |
Code changes from version 1.0.2 to 1.0.3
- buttonizer.php +7 -7
- classes/admin/CompanyOpened.php +21 -67
- classes/admin/General.php +40 -29
- classes/admin/IconManager.php +58 -0
- classes/admin/InitializeAdmin.php +9 -4
- classes/default/main.php +20 -5
- classes/default/maintain.php +7 -7
- css/buttonizer.css +5 -1
- css/style.css +54 -0
- js/buttonizer.js +17 -1
- js/company-openingtimes.js +25 -27
- js/dashboard.js +1 -1
- readme.txt +18 -12
buttonizer.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: Buttonizer - Smart Floating Action Button
|
4 |
Plugin URI: https://buttonizer.pro
|
5 |
Description: The Buttonizer is a new way to give a boost to your number of interactions, actions and conversions from your website visitor by adding one or multiple Customizable Smart Floating Button in the corner of your website.
|
6 |
-
Version: 1.0.
|
7 |
Author: Buttonizer
|
8 |
Author URI: https://buttonizer.pro
|
9 |
License: GPL2
|
@@ -31,7 +31,7 @@ Copyright 2017 Buttonizer
|
|
31 |
define('BUTTONIZER_NAME', 'buttonizer');
|
32 |
define('BUTTONIZER_DIR', dirname(__FILE__));
|
33 |
define('BUTTONIZER_PLUGIN_DIR', __FILE__ );
|
34 |
-
define('BUTTONIZER_VERSION','1.0.
|
35 |
|
36 |
# No script kiddies
|
37 |
defined( 'ABSPATH' ) or die('No script kiddies please!');
|
@@ -137,11 +137,11 @@ $oButtonizer->get()->add_action('after_uninstall', 'buttonizer_uninstall_cleanup
|
|
137 |
// System, buttonizer is loaded
|
138 |
do_action('buttonizer_loaded');
|
139 |
|
140 |
-
if(defined("BUTTONIZER_DEFINED")) {
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
}
|
145 |
|
146 |
// Ok, define
|
147 |
define('BUTTONIZER_DEFINED','1.0');
|
3 |
Plugin Name: Buttonizer - Smart Floating Action Button
|
4 |
Plugin URI: https://buttonizer.pro
|
5 |
Description: The Buttonizer is a new way to give a boost to your number of interactions, actions and conversions from your website visitor by adding one or multiple Customizable Smart Floating Button in the corner of your website.
|
6 |
+
Version: 1.0.3
|
7 |
Author: Buttonizer
|
8 |
Author URI: https://buttonizer.pro
|
9 |
License: GPL2
|
31 |
define('BUTTONIZER_NAME', 'buttonizer');
|
32 |
define('BUTTONIZER_DIR', dirname(__FILE__));
|
33 |
define('BUTTONIZER_PLUGIN_DIR', __FILE__ );
|
34 |
+
define('BUTTONIZER_VERSION','1.0.3');
|
35 |
|
36 |
# No script kiddies
|
37 |
defined( 'ABSPATH' ) or die('No script kiddies please!');
|
137 |
// System, buttonizer is loaded
|
138 |
do_action('buttonizer_loaded');
|
139 |
|
140 |
+
// if(defined("BUTTONIZER_DEFINED")) {
|
141 |
+
// echo "<div style='clear: both;'></div><img src='". plugins_url('/assets/buttonizer.png', BUTTONIZER_PLUGIN_DIR) ."' style='height: 40px; margin-right: 10px; float: left; vertical-align: top;'> Hey, looks like you try to install me (Buttonizer), while you already have an older version (or the free version) installed and activated? Deactivate all older Buttonizer plugins before trying again.<div style='clear: both; height: 20px'></div>";
|
142 |
+
// trigger_error("Error", E_USER_ERROR);
|
143 |
+
// exit;
|
144 |
+
// }
|
145 |
|
146 |
// Ok, define
|
147 |
define('BUTTONIZER_DEFINED','1.0');
|
classes/admin/CompanyOpened.php
CHANGED
@@ -37,80 +37,34 @@ class CompanyOpened
|
|
37 |
|
38 |
public function createTable()
|
39 |
{
|
40 |
-
echo '<
|
41 |
-
echo '<
|
42 |
-
echo '
|
43 |
-
|
44 |
-
echo '
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
echo '
|
56 |
-
|
57 |
-
<td>' . $this->fieldOpeningTimeSelector( 'monday', true ) . '</td>
|
58 |
-
<td>' . $this->fieldOpeningTimeSelector( 'tuesday', true ) . '</td>
|
59 |
-
<td>' . $this->fieldOpeningTimeSelector( 'wednesday', true ) . '</td>
|
60 |
-
<td>' . $this->fieldOpeningTimeSelector( 'thursday', true ) . '</td>
|
61 |
-
<td>' . $this->fieldOpeningTimeSelector( 'friday', true ) . '</td>
|
62 |
-
<td>' . $this->fieldOpeningTimeSelector( 'saturday', true ) . '</td>
|
63 |
-
<td>' . $this->fieldOpeningTimeSelector( 'sunday', true ) . '</td>
|
64 |
-
</tr>' ;
|
65 |
-
// Closed today
|
66 |
-
echo '<tr>
|
67 |
-
<td><b>Is it closed today? ' . (( ButtonizerLicense()->is__premium_only() ? ( !ButtonizerLicense()->is_plan( 'premium' ) ? '<span class="buttonizer-pro-feature">PRO</span>' : '' ) : '<span class="buttonizer-pro-feature">PRO</span>' )) . '</b></td>
|
68 |
-
<td>' . $this->fieldClosedToday( 'monday' ) . '</td>
|
69 |
-
<td>' . $this->fieldClosedToday( 'tuesday' ) . '</td>
|
70 |
-
<td>' . $this->fieldClosedToday( 'wednesday' ) . '</td>
|
71 |
-
<td>' . $this->fieldClosedToday( 'thursday' ) . '</td>
|
72 |
-
<td>' . $this->fieldClosedToday( 'friday' ) . '</td>
|
73 |
-
<td>' . $this->fieldClosedToday( 'saturday' ) . '</td>
|
74 |
-
<td>' . $this->fieldClosedToday( 'sunday' ) . '</td>
|
75 |
-
</tr>' ;
|
76 |
-
echo '</tbody>' ;
|
77 |
-
echo '</table>' ;
|
78 |
echo '<div class="buttonizer-pro-text"><i class="fa fa-lock"></i> You are missing the fun! When upgrading to <a href="admin.php?page=Buttonizer-pricing">Buttonizer Pro</a> you will unlock opening hours.</div>' ;
|
79 |
}
|
80 |
|
81 |
-
public function
|
82 |
{
|
83 |
-
|
84 |
-
// Get all 24-hours from a day
|
85 |
-
for ( $i = 0 ; $i < 24 ; $i++ ) {
|
86 |
-
// Set a zero before the hours less than 10 hours. (00, 01, 02 ...)
|
87 |
-
if ( $i < 10 ) {
|
88 |
-
$i = '0' . $i;
|
89 |
-
}
|
90 |
-
// Get all minutes in this hour
|
91 |
-
for ( $j = 0 ; $j < 60 ; $j++ ) {
|
92 |
-
// Set a zero before the minutes less than 10 minutes. (00, 01, 02 ...)
|
93 |
-
if ( $j < 10 ) {
|
94 |
-
$j = '0' . $j;
|
95 |
-
}
|
96 |
-
// Make a readable string. 00:00, 12:43, 16:16, ...
|
97 |
-
$sTime = $i . ':' . $j;
|
98 |
-
// Make a query
|
99 |
-
$sSelectBuilder .= '<option value=\'' . $sTime . '\'' . (( $value == $sTime ? 'selected="selected"' : '' )) . '>' . $sTime . '</option>';
|
100 |
-
}
|
101 |
-
}
|
102 |
-
return $sSelectBuilder;
|
103 |
}
|
104 |
|
105 |
-
public function
|
106 |
{
|
107 |
-
|
108 |
-
return '<select class="buttonizer-click-to-pro" readonly><option disabled selected>' . (( $bIsClosedSelector == false ? '10:00' : '17:00' )) . '</option></select>';
|
109 |
-
}
|
110 |
-
|
111 |
-
public function fieldClosedToday( $sDay = 'monday' )
|
112 |
-
{
|
113 |
-
return '<input type="checkbox" class="buttonizer-click-to-pro" readonly />';
|
114 |
}
|
115 |
|
116 |
}
|
37 |
|
38 |
public function createTable()
|
39 |
{
|
40 |
+
echo '<div class="time-table">' ;
|
41 |
+
echo '<h4>' . $this->fieldOpenedToday( 'monday' ) . '</h4>' ;
|
42 |
+
echo $this->fieldOpeningTimeSelector( 'monday', false ) ;
|
43 |
+
echo '<h4>' . $this->fieldOpenedToday( 'tuesday' ) . '</h4>' ;
|
44 |
+
echo $this->fieldOpeningTimeSelector( 'tuesday', false ) ;
|
45 |
+
echo '<h4>' . $this->fieldOpenedToday( 'wednesday' ) . '</h4>' ;
|
46 |
+
echo $this->fieldOpeningTimeSelector( 'wednesday', false ) ;
|
47 |
+
echo '<h4>' . $this->fieldOpenedToday( 'thursday' ) . '</h4>' ;
|
48 |
+
echo $this->fieldOpeningTimeSelector( 'thursday', false ) ;
|
49 |
+
echo '<h4>' . $this->fieldOpenedToday( 'friday' ) . '</h4>' ;
|
50 |
+
echo $this->fieldOpeningTimeSelector( 'friday', false ) ;
|
51 |
+
echo '<h4>' . $this->fieldOpenedToday( 'saturday' ) . '</h4>' ;
|
52 |
+
echo $this->fieldOpeningTimeSelector( 'saturday', false ) ;
|
53 |
+
echo '<h4>' . $this->fieldOpenedToday( 'sunday' ) . '</h4>' ;
|
54 |
+
echo $this->fieldOpeningTimeSelector( 'sunday', false ) ;
|
55 |
+
echo '</div>' ;
|
56 |
+
echo '<script>initOpeningTimes()</script>' ;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
57 |
echo '<div class="buttonizer-pro-text"><i class="fa fa-lock"></i> You are missing the fun! When upgrading to <a href="admin.php?page=Buttonizer-pricing">Buttonizer Pro</a> you will unlock opening hours.</div>' ;
|
58 |
}
|
59 |
|
60 |
+
public function fieldOpeningTimeSelector( $sDay )
|
61 |
{
|
62 |
+
return '<div class="buttonizer-slider buttonizer-click-to-pro" data-day="' . $sDay . '"></div>';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
63 |
}
|
64 |
|
65 |
+
public function fieldOpenedToday( $sDay = 'monday' )
|
66 |
{
|
67 |
+
return '<input type="checkbox" class="buttonizer-click-to-pro" readonly /> <span class="buttonizer-click-to-pro">Opened on ' . $sDay . ' (<span class="opening-' . $sDay . '"></span>)</span>';
|
|
|
|
|
|
|
|
|
|
|
|
|
68 |
}
|
69 |
|
70 |
}
|
classes/admin/General.php
CHANGED
@@ -27,10 +27,12 @@ class General
|
|
27 |
private $aSubCatagories = array() ;
|
28 |
private $aSubPages = array() ;
|
29 |
private $aFontAwesome = array() ;
|
|
|
30 |
private $bHasProFeature = false ;
|
31 |
-
public function __construct( $aFontAwesome )
|
32 |
{
|
33 |
$this->aFontAwesome = $aFontAwesome;
|
|
|
34 |
$this->loadData();
|
35 |
$this->registerStylingSettings();
|
36 |
$this->registerAdvancedSettings();
|
@@ -128,8 +130,27 @@ class General
|
|
128 |
</span>
|
129 |
</span>
|
130 |
Milliseconds: ', array( &$this, 'field_time_to_timeout' ) );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
131 |
$this->aSubPages['advanced'] .= '</tbody></table>';
|
132 |
-
if ( !ButtonizerLicense()->is_not_paying() ) {
|
133 |
$this->aSubPages['advanced'] .= '<div class="buttonizer-pro-text"><i class="fa fa-lock"></i> You are missing the fun! When upgrading to <a href="admin.php?page=Buttonizer-pricing">Buttonizer Pro</a> you will get these features.</div>';
|
134 |
}
|
135 |
}
|
@@ -183,33 +204,12 @@ class General
|
|
183 |
|
184 |
public function field_icon_icon()
|
185 |
{
|
186 |
-
$
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
$p = '<div class="icon-or-image" data-type="' . (( $sValueImage != '' ? 'image' : 'icon' )) . '">
|
193 |
-
<div class="icon-placeholder" ' . (( $sValueImage != '' ? 'style="display: none;"' : '' )) . '>
|
194 |
-
<div class="placeholder-choose">
|
195 |
-
or <a href="javascript:void(0)">upload image</a>
|
196 |
-
</div>';
|
197 |
-
$p .= '<select name="buttonizer_general_settings[' . $fieldName . ']" id="' . $fieldName . '" style="font-family: \'FontAwesome\', \'Helvetica\';" class="fa-chooser">';
|
198 |
-
$p .= '<option value="+">+</option>';
|
199 |
-
foreach ( $this->aFontAwesome as $key => $row ) {
|
200 |
-
$p .= '<option value="' . $key . '" ' . (( $icon_image == $key ? 'selected="selected"' : '' )) . '>' . $row . ' ' . $key . '</option>';
|
201 |
-
}
|
202 |
-
$p .= '</select>';
|
203 |
-
$p .= '</div><div class="image-placeholder" ' . (( $sValueImage == '' ? 'style="display: none;"' : '' )) . '>';
|
204 |
-
$p .= '
|
205 |
-
<div class="placeholder-choose">
|
206 |
-
or <a href="javascript:void(0)">use an icon</a>
|
207 |
-
</div>
|
208 |
-
|
209 |
-
<div class="form-group smartcat-uploader" data-image="' . $sValueImage . '">
|
210 |
-
<input type="hidden" name="buttonizer_general_settings[custom_icon]" value="' . $sValueImage . '">
|
211 |
-
</div>
|
212 |
-
</div>';
|
213 |
return $p;
|
214 |
}
|
215 |
|
@@ -254,6 +254,17 @@ class General
|
|
254 |
return '<input type="text" class="buttonizer-click-to-pro" readonly value="0" /><span class="buttonizer-pro-feature">PRO</span>';
|
255 |
}
|
256 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
257 |
// Share page
|
258 |
public function field_share_facebook()
|
259 |
{
|
27 |
private $aSubCatagories = array() ;
|
28 |
private $aSubPages = array() ;
|
29 |
private $aFontAwesome = array() ;
|
30 |
+
private $oIconManager = array() ;
|
31 |
private $bHasProFeature = false ;
|
32 |
+
public function __construct( $aFontAwesome, $oIconManager )
|
33 |
{
|
34 |
$this->aFontAwesome = $aFontAwesome;
|
35 |
+
$this->oIconManager = $oIconManager;
|
36 |
$this->loadData();
|
37 |
$this->registerStylingSettings();
|
38 |
$this->registerAdvancedSettings();
|
130 |
</span>
|
131 |
</span>
|
132 |
Milliseconds: ', array( &$this, 'field_time_to_timeout' ) );
|
133 |
+
// Exit intent
|
134 |
+
$this->aSubPages['advanced'] .= $this->createFormField( '
|
135 |
+
<span class="info-class">
|
136 |
+
<i class="fa fa-info-circle"></i>
|
137 |
+
<span>
|
138 |
+
When selected, the buttons will open with a effect when your guest/user tries to escape from your website. The user gets attracted from your buttons.
|
139 |
+
</span>
|
140 |
+
</span>
|
141 |
+
Exit intent', array( &$this, 'field_exit_intent' ) );
|
142 |
+
$this->aSubPages['advanced'] .= $this->createFormField( '
|
143 |
+
<span class="info-class">
|
144 |
+
<i class="fa fa-info-circle"></i>
|
145 |
+
<span>
|
146 |
+
When the exit intent activates, there will be shown some text next to the head-button. You can edit that here.<br />
|
147 |
+
<br />
|
148 |
+
When empty, no message will be shown.
|
149 |
+
</span>
|
150 |
+
</span>
|
151 |
+
Exit intent text', array( &$this, 'field_exit_intent_text' ) );
|
152 |
$this->aSubPages['advanced'] .= '</tbody></table>';
|
153 |
+
if ( !ButtonizerLicense()->is_not_paying() && !ButtonizerLicense()->is_plan( 'premium' ) ) {
|
154 |
$this->aSubPages['advanced'] .= '<div class="buttonizer-pro-text"><i class="fa fa-lock"></i> You are missing the fun! When upgrading to <a href="admin.php?page=Buttonizer-pricing">Buttonizer Pro</a> you will get these features.</div>';
|
155 |
}
|
156 |
}
|
204 |
|
205 |
public function field_icon_icon()
|
206 |
{
|
207 |
+
$p = $this->oIconManager->generator( array(
|
208 |
+
'icon' => ( isset( $this->aSavedData['icon_icon'] ) ? $this->aSavedData['icon_icon'] : '' ),
|
209 |
+
'icon_fieldname' => 'buttonizer_general_settings[icon_icon]',
|
210 |
+
'image' => ( isset( $this->aSavedData['custom_icon'] ) ? $this->aSavedData['custom_icon'] : '' ),
|
211 |
+
'image_fieldname' => 'buttonizer_general_settings[custom_icon]',
|
212 |
+
) );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
213 |
return $p;
|
214 |
}
|
215 |
|
254 |
return '<input type="text" class="buttonizer-click-to-pro" readonly value="0" /><span class="buttonizer-pro-feature">PRO</span>';
|
255 |
}
|
256 |
|
257 |
+
// Exit intent
|
258 |
+
public function field_exit_intent()
|
259 |
+
{
|
260 |
+
return '<input type="checkbox" class="buttonizer-click-to-pro" readonly /> <span class="buttonizer-pro-feature">PRO</span>';
|
261 |
+
}
|
262 |
+
|
263 |
+
public function field_exit_intent_text()
|
264 |
+
{
|
265 |
+
return '<input type="text" class="buttonizer-click-to-pro" readonly value="" /><span class="buttonizer-pro-feature">PRO</span>';
|
266 |
+
}
|
267 |
+
|
268 |
// Share page
|
269 |
public function field_share_facebook()
|
270 |
{
|
classes/admin/IconManager.php
ADDED
@@ -0,0 +1,58 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/*
|
4 |
+
This program is free software; you can redistribute it and/or
|
5 |
+
modify it under the terms of the GNU General Public License
|
6 |
+
as published by the Free Software Foundation; either version 2
|
7 |
+
of the License, or (at your option) any later version.
|
8 |
+
|
9 |
+
This program is distributed in the hope that it will be useful,
|
10 |
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
11 |
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
12 |
+
GNU General Public License for more details.
|
13 |
+
|
14 |
+
You should have received a copy of the GNU General Public License
|
15 |
+
along with this program; if not, write to the Free Software
|
16 |
+
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
17 |
+
|
18 |
+
Copyright 2017 Buttonizer
|
19 |
+
*/
|
20 |
+
namespace Buttonizer\Admin;
|
21 |
+
|
22 |
+
# No script kiddies
|
23 |
+
defined( 'ABSPATH' ) or die( 'No script kiddies please!' );
|
24 |
+
class IconManager
|
25 |
+
{
|
26 |
+
private $aFontAwesome = array() ;
|
27 |
+
public function __construct( $aFontAwesome )
|
28 |
+
{
|
29 |
+
$this->aFontAwesome = $aFontAwesome;
|
30 |
+
}
|
31 |
+
|
32 |
+
public function generator( $aData )
|
33 |
+
{
|
34 |
+
if ( !isset( $aData['image'] ) || !isset( $aData['icon'] ) || !isset( $aData['image_fieldname'] ) || !isset( $aData['icon_fieldname'] ) ) {
|
35 |
+
return 'Invalid.';
|
36 |
+
}
|
37 |
+
$p = $this->generator_start( $aData );
|
38 |
+
return $p;
|
39 |
+
}
|
40 |
+
|
41 |
+
private function generator_start( $aData )
|
42 |
+
{
|
43 |
+
$p = '<div class="icon-or-image" data-type="' . (( $aData['image'] != '' ? 'image' : 'icon' )) . '">
|
44 |
+
<div class="icon-placeholder" ' . (( $aData['image'] != '' ? 'style="display: none;"' : '' )) . '>
|
45 |
+
<div class="placeholder-choose">
|
46 |
+
or <span class="buttonizer-click-to-pro" style="color: #0073aa; text-decoration: underline; cursor: pointer;">upload image (PRO ONLY)</span>
|
47 |
+
</div>';
|
48 |
+
$p .= '<select name="' . $aData['icon_fieldname'] . '" id="' . $fieldName . '" style="font-family: \'FontAwesome\', \'Helvetica\';" class="fa-chooser">';
|
49 |
+
$p .= '<option value="+">+</option>';
|
50 |
+
foreach ( $this->aFontAwesome as $key => $row ) {
|
51 |
+
$p .= '<option value="' . $key . '" ' . (( $aData['icon'] == $key ? 'selected="selected"' : '' )) . '>' . $row . ' ' . $key . '</option>';
|
52 |
+
}
|
53 |
+
$p .= '</select>';
|
54 |
+
$p .= '</div>';
|
55 |
+
return $p;
|
56 |
+
}
|
57 |
+
|
58 |
+
}
|
classes/admin/InitializeAdmin.php
CHANGED
@@ -26,6 +26,7 @@ class InitializeAdmin {
|
|
26 |
// Define some data
|
27 |
private $aButtonizerPageButtons;
|
28 |
private $aPluginTabs = array();
|
|
|
29 |
private $aFontAwesome = null;
|
30 |
|
31 |
// Construct
|
@@ -65,9 +66,9 @@ class InitializeAdmin {
|
|
65 |
/* Get media */
|
66 |
public function getPluginScripts() {
|
67 |
wp_enqueue_media();
|
68 |
-
wp_enqueue_style(
|
69 |
-
wp_enqueue_script(
|
70 |
-
array( 'jquery','wp-color-picker'
|
71 |
false,
|
72 |
true
|
73 |
);
|
@@ -96,6 +97,10 @@ class InitializeAdmin {
|
|
96 |
* Tabs and things
|
97 |
*/
|
98 |
function plugin_options_page() {
|
|
|
|
|
|
|
|
|
99 |
$tab = isset($_GET['tab']) ? $_GET['tab'] : 'buttonizer_buttons';
|
100 |
|
101 |
?>
|
@@ -227,7 +232,7 @@ class InitializeAdmin {
|
|
227 |
public function getPageGeneralSettings() {
|
228 |
require BUTTONIZER_DIR . '/classes/admin/General.php';
|
229 |
|
230 |
-
new General($this->aFontAwesome);
|
231 |
}
|
232 |
|
233 |
/* Buttonizer opening times */
|
26 |
// Define some data
|
27 |
private $aButtonizerPageButtons;
|
28 |
private $aPluginTabs = array();
|
29 |
+
private $oIconManager = null;
|
30 |
private $aFontAwesome = null;
|
31 |
|
32 |
// Construct
|
66 |
/* Get media */
|
67 |
public function getPluginScripts() {
|
68 |
wp_enqueue_media();
|
69 |
+
wp_enqueue_style(array('wp-color-picker'));
|
70 |
+
wp_enqueue_script(
|
71 |
+
array( 'jquery','wp-color-picker','jquery-ui-slider'),
|
72 |
false,
|
73 |
true
|
74 |
);
|
97 |
* Tabs and things
|
98 |
*/
|
99 |
function plugin_options_page() {
|
100 |
+
// Add IconManager
|
101 |
+
require BUTTONIZER_DIR . '/classes/admin/IconManager.php';
|
102 |
+
$this->oIconManager = new IconManager($this->aFontAwesome);
|
103 |
+
|
104 |
$tab = isset($_GET['tab']) ? $_GET['tab'] : 'buttonizer_buttons';
|
105 |
|
106 |
?>
|
232 |
public function getPageGeneralSettings() {
|
233 |
require BUTTONIZER_DIR . '/classes/admin/General.php';
|
234 |
|
235 |
+
new General($this->aFontAwesome, $this->oIconManager);
|
236 |
}
|
237 |
|
238 |
/* Buttonizer opening times */
|
classes/default/main.php
CHANGED
@@ -156,7 +156,7 @@ class Button
|
|
156 |
$linkNewTab = ( isset( $this->aButtons['button_' . $bNmbr . '_url_newtab'] ) ? 'target="_blank"' : '' );
|
157 |
$hideLabel = ( isset( $this->aButtons['button_' . $bNmbr . '_hide_label'] ) ? $this->aButtons['button_' . $bNmbr . '_hide_label'] : '' );
|
158 |
|
159 |
-
if ( $link != '#' && strpos( 'javascript:', $link ) !== false ) {
|
160 |
$linkInfo = parse_url( $link );
|
161 |
if ( !$buttonIsPhone && empty($linkInfo['scheme']) && substr( $link, 0, 1 ) != '/' ) {
|
162 |
$link = 'http://' . $link;
|
@@ -179,16 +179,28 @@ class Button
|
|
179 |
return '0';
|
180 |
}
|
181 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
182 |
// Is the store opened right now?
|
183 |
private function isOpened()
|
184 |
{
|
185 |
$sDayOfWeek = $this->getDay( date( 'N' ) );
|
186 |
$bIsOpened = true;
|
187 |
// Result
|
188 |
-
$
|
189 |
-
// If result == 1 =>
|
190 |
|
191 |
-
if ( $
|
192 |
$bIsOpened = false;
|
193 |
} else {
|
194 |
// Get the time right now
|
@@ -290,7 +302,7 @@ class Button
|
|
290 |
} else {
|
291 |
|
292 |
if ( $this->iAmountOfButtons > 1 || $this->iAmountOfShareButtons > 0 ) {
|
293 |
-
$output = '<a href="javascript:void(0)" class="buttonizer_head"
|
294 |
} else {
|
295 |
$output = '';
|
296 |
}
|
@@ -301,11 +313,14 @@ class Button
|
|
301 |
if ( isset( $this->aSettings['google_analytics'] ) && $this->aSettings['google_analytics'] != '' ) {
|
302 |
$output .= '<script>(function(i,s,o,g,r,a,m){i[\'GoogleAnalyticsObject\']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,\'script\',\'https://www.google-analytics.com/analytics.js\',\'ga\');ga(\'create\', \'' . $this->aSettings['google_analytics'] . '\', \'auto\');</script>';
|
303 |
}
|
|
|
304 |
echo '<div class="buttonizer-button ' . (( $showOnScroll > 0 || $showAfterTimeout > 0 ? 'hide' : '' )) . '" id="buttonizer-button"><div class="buttonizer_inner" id="buttonizer-sys">' . $output . '</div></div>
|
305 |
<script type="text/javascript">
|
306 |
buttonizer.init({
|
307 |
scrollBarTop: ' . $showOnScroll . ',
|
308 |
showAfter: ' . $showAfterTimeout . ',
|
|
|
|
|
309 |
});
|
310 |
</script>
|
311 |
<style>.buttonizer-button { right: ' . $this->aSettings['position_right'] . '%; bottom: ' . $this->aSettings['position_bottom'] . '%; } .buttonizer-button a:hover, .buttonizer-button a:focus{ background:' . $this->aSettings['button_pushed'] . '; } .buttonizer-button a { background:' . $this->aSettings['button_unpushed'] . '; } .buttonizer-button a i { color: ' . $this->aSettings['icon_color'] . '; }</style>' ;
|
156 |
$linkNewTab = ( isset( $this->aButtons['button_' . $bNmbr . '_url_newtab'] ) ? 'target="_blank"' : '' );
|
157 |
$hideLabel = ( isset( $this->aButtons['button_' . $bNmbr . '_hide_label'] ) ? $this->aButtons['button_' . $bNmbr . '_hide_label'] : '' );
|
158 |
|
159 |
+
if ( $link != '#' && $link != '' && strpos( 'javascript:', $link ) !== false ) {
|
160 |
$linkInfo = parse_url( $link );
|
161 |
if ( !$buttonIsPhone && empty($linkInfo['scheme']) && substr( $link, 0, 1 ) != '/' ) {
|
162 |
$link = 'http://' . $link;
|
179 |
return '0';
|
180 |
}
|
181 |
|
182 |
+
// Exit intent
|
183 |
+
private function enableExitIntent()
|
184 |
+
{
|
185 |
+
return '0';
|
186 |
+
}
|
187 |
+
|
188 |
+
// Exit intent
|
189 |
+
private function enableExitIntentText()
|
190 |
+
{
|
191 |
+
return '';
|
192 |
+
}
|
193 |
+
|
194 |
// Is the store opened right now?
|
195 |
private function isOpened()
|
196 |
{
|
197 |
$sDayOfWeek = $this->getDay( date( 'N' ) );
|
198 |
$bIsOpened = true;
|
199 |
// Result
|
200 |
+
$bTodayOpened = ( isset( $this->aOpeningData['buttonizer_' . $sDayOfWeek . '_opened'] ) ? $this->aOpeningData['buttonizer_' . $sDayOfWeek . '_opened'] : '' );
|
201 |
+
// If result == 1 => Opened
|
202 |
|
203 |
+
if ( $bTodayOpened != '1' ) {
|
204 |
$bIsOpened = false;
|
205 |
} else {
|
206 |
// Get the time right now
|
302 |
} else {
|
303 |
|
304 |
if ( $this->iAmountOfButtons > 1 || $this->iAmountOfShareButtons > 0 ) {
|
305 |
+
$output = '<a href="javascript:void(0)" class="buttonizer_head" onclick="onButtonizerClickEvent(\'Open/Close Buttonizer button\')">' . $sIcon . '</a>' . $this->sOutput;
|
306 |
} else {
|
307 |
$output = '';
|
308 |
}
|
313 |
if ( isset( $this->aSettings['google_analytics'] ) && $this->aSettings['google_analytics'] != '' ) {
|
314 |
$output .= '<script>(function(i,s,o,g,r,a,m){i[\'GoogleAnalyticsObject\']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,\'script\',\'https://www.google-analytics.com/analytics.js\',\'ga\');ga(\'create\', \'' . $this->aSettings['google_analytics'] . '\', \'auto\');</script>';
|
315 |
}
|
316 |
+
list($sShadowColorRed, $sShadowColorGreen, $sShadowColorBlue) = sscanf( $this->aSettings['button_unpushed'], '#%02x%02x%02x' );
|
317 |
echo '<div class="buttonizer-button ' . (( $showOnScroll > 0 || $showAfterTimeout > 0 ? 'hide' : '' )) . '" id="buttonizer-button"><div class="buttonizer_inner" id="buttonizer-sys">' . $output . '</div></div>
|
318 |
<script type="text/javascript">
|
319 |
buttonizer.init({
|
320 |
scrollBarTop: ' . $showOnScroll . ',
|
321 |
showAfter: ' . $showAfterTimeout . ',
|
322 |
+
' . (( ButtonizerLicense()->is__premium_only() ? 'exitIntent: ' . $this->enableExitIntent() . ',' : '' )) . '
|
323 |
+
' . (( ButtonizerLicense()->is__premium_only() ? 'exitIntentText: "' . $this->enableExitIntentText() . '",' : '' )) . '
|
324 |
});
|
325 |
</script>
|
326 |
<style>.buttonizer-button { right: ' . $this->aSettings['position_right'] . '%; bottom: ' . $this->aSettings['position_bottom'] . '%; } .buttonizer-button a:hover, .buttonizer-button a:focus{ background:' . $this->aSettings['button_pushed'] . '; } .buttonizer-button a { background:' . $this->aSettings['button_unpushed'] . '; } .buttonizer-button a i { color: ' . $this->aSettings['icon_color'] . '; }</style>' ;
|
classes/default/maintain.php
CHANGED
@@ -84,37 +84,37 @@ class Maintain {
|
|
84 |
// Monday
|
85 |
'monday_opened_from' => '10:00',
|
86 |
'monday_closing_on' => '17:00',
|
87 |
-
'
|
88 |
|
89 |
// Tuesday
|
90 |
'tuesday_opened_from' => '10:00',
|
91 |
'tuesday_closing_on' => '17:00',
|
92 |
-
'
|
93 |
|
94 |
// Wednesday
|
95 |
'wednesday_opened_from' => '10:00',
|
96 |
'wednesday_closing_on' => '17:00',
|
97 |
-
'
|
98 |
|
99 |
// Thursday
|
100 |
'thursday_opened_from' => '10:00',
|
101 |
'thursday_closing_on' => '17:00',
|
102 |
-
'
|
103 |
|
104 |
// Friday
|
105 |
'friday_opened_from' => '10:00',
|
106 |
'friday_closing_on' => '17:00',
|
107 |
-
'
|
108 |
|
109 |
// Saturday
|
110 |
'saturday_opened_from' => '10:00',
|
111 |
'saturday_closing_on' => '17:00',
|
112 |
-
'
|
113 |
|
114 |
// Sunday
|
115 |
'sunday_opened_from' => '10:00',
|
116 |
'sunday_closing_on' => '17:00',
|
117 |
-
'
|
118 |
);
|
119 |
|
120 |
// Update and save default opening settings
|
84 |
// Monday
|
85 |
'monday_opened_from' => '10:00',
|
86 |
'monday_closing_on' => '17:00',
|
87 |
+
'monday_opened' => false,
|
88 |
|
89 |
// Tuesday
|
90 |
'tuesday_opened_from' => '10:00',
|
91 |
'tuesday_closing_on' => '17:00',
|
92 |
+
'tuesday_opened' => false,
|
93 |
|
94 |
// Wednesday
|
95 |
'wednesday_opened_from' => '10:00',
|
96 |
'wednesday_closing_on' => '17:00',
|
97 |
+
'wednesday_opened' => false,
|
98 |
|
99 |
// Thursday
|
100 |
'thursday_opened_from' => '10:00',
|
101 |
'thursday_closing_on' => '17:00',
|
102 |
+
'thursday_opened' => false,
|
103 |
|
104 |
// Friday
|
105 |
'friday_opened_from' => '10:00',
|
106 |
'friday_closing_on' => '17:00',
|
107 |
+
'friday_opened' => false,
|
108 |
|
109 |
// Saturday
|
110 |
'saturday_opened_from' => '10:00',
|
111 |
'saturday_closing_on' => '17:00',
|
112 |
+
'saturday_opened' => true,
|
113 |
|
114 |
// Sunday
|
115 |
'sunday_opened_from' => '10:00',
|
116 |
'sunday_closing_on' => '17:00',
|
117 |
+
'sunday_opened' => true,
|
118 |
);
|
119 |
|
120 |
// Update and save default opening settings
|
css/buttonizer.css
CHANGED
@@ -83,6 +83,10 @@
|
|
83 |
text-align: center;
|
84 |
}
|
85 |
|
|
|
|
|
|
|
|
|
86 |
.buttonizer-button a.buttonizer_head .text {
|
87 |
top: 15px;
|
88 |
right: 70px;
|
@@ -90,7 +94,7 @@
|
|
90 |
visibility: hidden;
|
91 |
}
|
92 |
|
93 |
-
.buttonizer-button a.buttonizer_head.onlyone:hover .text {
|
94 |
opacity: 1;
|
95 |
visibility: visible;
|
96 |
}
|
83 |
text-align: center;
|
84 |
}
|
85 |
|
86 |
+
.buttonizer-button .buttonizer_inner.exit_intent_animation a.buttonizer_head {
|
87 |
+
animation: buttonizer_exit_intent 1s;
|
88 |
+
}
|
89 |
+
|
90 |
.buttonizer-button a.buttonizer_head .text {
|
91 |
top: 15px;
|
92 |
right: 70px;
|
94 |
visibility: hidden;
|
95 |
}
|
96 |
|
97 |
+
.buttonizer-button a.buttonizer_head.onlyone:hover .text, .buttonizer-button a.buttonizer_head .text.showlabel {
|
98 |
opacity: 1;
|
99 |
visibility: visible;
|
100 |
}
|
css/style.css
CHANGED
@@ -550,3 +550,57 @@ h2 .button {
|
|
550 |
vertical-align: top;
|
551 |
color: #FFFFFF;
|
552 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
550 |
vertical-align: top;
|
551 |
color: #FFFFFF;
|
552 |
}
|
553 |
+
|
554 |
+
.time-table {
|
555 |
+
max-width: 700px;
|
556 |
+
}
|
557 |
+
|
558 |
+
/* jQuery slider */
|
559 |
+
.ui-slider {
|
560 |
+
position: relative;
|
561 |
+
text-align: left;
|
562 |
+
height: 4px;
|
563 |
+
border: 1px solid rgba(46, 119, 137, 0.17);
|
564 |
+
background-color: #e5e5e5;
|
565 |
+
border-radius: 3px;
|
566 |
+
-webkit-border-radius: 3px;
|
567 |
+
-moz-border-radius: 3px;
|
568 |
+
}
|
569 |
+
|
570 |
+
.ui-slider.ui-slider-disabled {
|
571 |
+
opacity: 0.5;
|
572 |
+
}
|
573 |
+
|
574 |
+
.ui-slider .ui-slider-handle {
|
575 |
+
position: absolute;
|
576 |
+
z-index: 2;
|
577 |
+
width: 25px;
|
578 |
+
height: 25px;
|
579 |
+
cursor: default;
|
580 |
+
-ms-touch-action: none;
|
581 |
+
touch-action: none;
|
582 |
+
|
583 |
+
border-radius: 100%;
|
584 |
+
-webkit-border-radius: 100%;
|
585 |
+
-moz-border-radius: 100%;
|
586 |
+
|
587 |
+
margin-left: -8px;
|
588 |
+
|
589 |
+
border: 1px solid #c5c5c5;
|
590 |
+
background: #f6f6f6;
|
591 |
+
font-weight: normal;
|
592 |
+
color: #454545;
|
593 |
+
|
594 |
+
top: -12px;
|
595 |
+
}
|
596 |
+
|
597 |
+
.ui-slider .ui-slider-range {
|
598 |
+
position: absolute;
|
599 |
+
z-index: 1;
|
600 |
+
height: 4px;
|
601 |
+
top: -1px;
|
602 |
+
font-size: .7em;
|
603 |
+
display: block;
|
604 |
+
border: 1px solid rgba(48, 120, 138, 0.29);
|
605 |
+
background: #ee8216;
|
606 |
+
}
|
js/buttonizer.js
CHANGED
@@ -1,21 +1,29 @@
|
|
1 |
var buttonizer = {
|
2 |
settings: {
|
3 |
buttonizerOpened: false,
|
|
|
4 |
wHeight: 0,
|
5 |
scrollBarTop: 0,
|
6 |
showAfter: 0,
|
|
|
|
|
7 |
currentPageUrl: '',
|
8 |
-
currentPageTitle: ''
|
|
|
9 |
},
|
10 |
init: function(options) {
|
11 |
options = jQuery.extend({
|
12 |
scrollBarTop: 0,
|
13 |
showAfter: 0,
|
|
|
|
|
14 |
}, options);
|
15 |
|
16 |
this.settings.scrollBarTop = options.scrollBarTop;
|
17 |
this.settings.showAfter = options.showAfter;
|
18 |
this.settings.wHeight = Math.max(document.body.scrollHeight, document.body.offsetHeight, document.documentElement.clientHeight, document.documentElement.scrollHeight, document.documentElement.offsetHeight);
|
|
|
|
|
19 |
|
20 |
document.addEventListener('DOMContentLoaded', this.ready);
|
21 |
},
|
@@ -25,6 +33,10 @@ var buttonizer = {
|
|
25 |
if(buttonizer.settings.buttonizerOpened && !document.getElementById("buttonizer-button").contains(e.target)) {
|
26 |
document.getElementById("buttonizer-sys").className = 'buttonizer_inner';
|
27 |
buttonizer.settings.buttonizerOpened = false;
|
|
|
|
|
|
|
|
|
28 |
}
|
29 |
}, false);
|
30 |
|
@@ -32,6 +44,10 @@ var buttonizer = {
|
|
32 |
if(buttonizer.settings.buttonizerOpened == true) {
|
33 |
document.getElementById("buttonizer-sys").className = 'buttonizer_inner';
|
34 |
buttonizer.settings.buttonizerOpened = false;
|
|
|
|
|
|
|
|
|
35 |
}else{
|
36 |
document.getElementById("buttonizer-sys").className = 'buttonizer_inner opened';
|
37 |
buttonizer.settings.buttonizerOpened = true;
|
1 |
var buttonizer = {
|
2 |
settings: {
|
3 |
buttonizerOpened: false,
|
4 |
+
buttonizerHasOpened: false,
|
5 |
wHeight: 0,
|
6 |
scrollBarTop: 0,
|
7 |
showAfter: 0,
|
8 |
+
exitIntent: 0,
|
9 |
+
exitIntentText: 'Are you looking for this?',
|
10 |
currentPageUrl: '',
|
11 |
+
currentPageTitle: '',
|
12 |
+
showedExitIntent: false,
|
13 |
},
|
14 |
init: function(options) {
|
15 |
options = jQuery.extend({
|
16 |
scrollBarTop: 0,
|
17 |
showAfter: 0,
|
18 |
+
exitIntent: 0,
|
19 |
+
exitIntentText: 'Are you looking for this?'
|
20 |
}, options);
|
21 |
|
22 |
this.settings.scrollBarTop = options.scrollBarTop;
|
23 |
this.settings.showAfter = options.showAfter;
|
24 |
this.settings.wHeight = Math.max(document.body.scrollHeight, document.body.offsetHeight, document.documentElement.clientHeight, document.documentElement.scrollHeight, document.documentElement.offsetHeight);
|
25 |
+
this.settings.exitIntent = options.exitIntent;
|
26 |
+
this.settings.exitIntentText = options.exitIntentText;
|
27 |
|
28 |
document.addEventListener('DOMContentLoaded', this.ready);
|
29 |
},
|
33 |
if(buttonizer.settings.buttonizerOpened && !document.getElementById("buttonizer-button").contains(e.target)) {
|
34 |
document.getElementById("buttonizer-sys").className = 'buttonizer_inner';
|
35 |
buttonizer.settings.buttonizerOpened = false;
|
36 |
+
|
37 |
+
if(document.querySelector("#buttonizer-sys .buttonizer_head .text") != null) {
|
38 |
+
document.querySelector("#buttonizer-sys .buttonizer_head .text").remove();
|
39 |
+
}
|
40 |
}
|
41 |
}, false);
|
42 |
|
44 |
if(buttonizer.settings.buttonizerOpened == true) {
|
45 |
document.getElementById("buttonizer-sys").className = 'buttonizer_inner';
|
46 |
buttonizer.settings.buttonizerOpened = false;
|
47 |
+
|
48 |
+
if(document.querySelector("#buttonizer-sys .buttonizer_head .text") != null) {
|
49 |
+
document.querySelector("#buttonizer-sys .buttonizer_head .text").remove();
|
50 |
+
}
|
51 |
}else{
|
52 |
document.getElementById("buttonizer-sys").className = 'buttonizer_inner opened';
|
53 |
buttonizer.settings.buttonizerOpened = true;
|
js/company-openingtimes.js
CHANGED
@@ -1,33 +1,31 @@
|
|
1 |
-
function
|
2 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
|
4 |
-
|
5 |
-
|
6 |
-
document.getElementById("buttonizer_" + day + "_closing_on").disabled = true;
|
7 |
-
}else{
|
8 |
-
document.getElementById("buttonizer_" + day + "_opened_from").disabled = false;
|
9 |
-
document.getElementById("buttonizer_" + day + "_closing_on").disabled = false;
|
10 |
-
}
|
11 |
-
}
|
12 |
|
13 |
-
function initialize_day_closed(day) {
|
14 |
-
var dayButton = document.getElementById("buttonizer_"+ day +"_closed");
|
15 |
|
16 |
-
|
17 |
-
|
18 |
-
|
|
|
|
|
|
|
|
|
|
|
19 |
|
20 |
-
|
|
|
|
|
|
|
21 |
}
|
22 |
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
initialize_day_closed("tuesday");
|
27 |
-
initialize_day_closed("wednesday");
|
28 |
-
initialize_day_closed("thursday");
|
29 |
-
initialize_day_closed("friday");
|
30 |
-
initialize_day_closed("saturday");
|
31 |
-
initialize_day_closed("sunday");
|
32 |
-
}, false);
|
33 |
-
}
|
1 |
+
function initOpeningTimes() {
|
2 |
+
jQuery(document).ready(function() {
|
3 |
+
jQuery(".buttonizer-slider").each(function() {
|
4 |
+
var day = jQuery(this).data("day");
|
5 |
+
var disabled = jQuery("#buttonizer_"+ day +"_opened").is(":checked");
|
6 |
+
var openedFrom = jQuery("#buttonizer_" + day + "_opened_from");
|
7 |
+
var closingOn = jQuery("#buttonizer_" + day + "_closing_on");
|
8 |
+
var slider = jQuery(this);
|
9 |
|
10 |
+
|
11 |
+
/* Premium Code Stripped by Freemius */
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
|
|
|
|
|
13 |
|
14 |
+
if(slider.hasClass("buttonizer-click-to-pro")) {
|
15 |
+
slider.slider({
|
16 |
+
range: true,
|
17 |
+
min: 0,
|
18 |
+
max: 1440,
|
19 |
+
disabled: true,
|
20 |
+
values: [ 420, 1020 ]
|
21 |
+
});
|
22 |
|
23 |
+
jQuery(".opening-" + day).html("10:00-17:00");
|
24 |
+
}
|
25 |
+
});
|
26 |
+
});
|
27 |
}
|
28 |
|
29 |
+
|
30 |
+
/* Premium Code Stripped by Freemius */
|
31 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
js/dashboard.js
CHANGED
@@ -128,7 +128,7 @@ var buttonizer = {
|
|
128 |
'<div class="color-buttonizer-orange buttonizer-pro-checklist"><i class="fa fa-check"></i> Show buttons on specific pages: Use page rules</div>' +
|
129 |
'<div class="color-buttonizer-blue buttonizer-pro-checklist"><i class="fa fa-check"></i> Unlimited page rules</div>' +
|
130 |
'<div class="color-buttonizer-orange buttonizer-pro-checklist"><i class="fa fa-check"></i> Add custom image or button-icon</div>' +
|
131 |
-
'<div class="color-buttonizer-blue buttonizer-pro-checklist"><i class="fa fa-check"></i> Exit intend
|
132 |
'<div class="color-buttonizer-orange buttonizer-pro-checklist"><i class="fa fa-check"></i> Show on scroll</div>' +
|
133 |
'<div class="color-buttonizer-blue buttonizer-pro-checklist"><i class="fa fa-check"></i> Show on timeout</div>' +
|
134 |
'<br />' +
|
128 |
'<div class="color-buttonizer-orange buttonizer-pro-checklist"><i class="fa fa-check"></i> Show buttons on specific pages: Use page rules</div>' +
|
129 |
'<div class="color-buttonizer-blue buttonizer-pro-checklist"><i class="fa fa-check"></i> Unlimited page rules</div>' +
|
130 |
'<div class="color-buttonizer-orange buttonizer-pro-checklist"><i class="fa fa-check"></i> Add custom image or button-icon</div>' +
|
131 |
+
'<div class="color-buttonizer-blue buttonizer-pro-checklist"><i class="fa fa-check"></i> Exit intend</div>' +
|
132 |
'<div class="color-buttonizer-orange buttonizer-pro-checklist"><i class="fa fa-check"></i> Show on scroll</div>' +
|
133 |
'<div class="color-buttonizer-blue buttonizer-pro-checklist"><i class="fa fa-check"></i> Show on timeout</div>' +
|
134 |
'<br />' +
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Buy plugin: https://buttonizer.pro
|
|
4 |
Tags: conversion button, smart action button, call button, smart button, buttonizer, floating action button, google event tracking, material design, call to action, conversion, Social Sharing, button
|
5 |
Requires at least: 4.2
|
6 |
Tested up to: 4.8.1
|
7 |
-
Stable tag: 1.0.
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
@@ -14,9 +14,9 @@ Add & manage floating action buttons. From call buttons to social sharing button
|
|
14 |
|
15 |
The Buttonizer is a smart conversion-targeted button that will make your website more efficient. From making a simple call button, to a navigation button to open Facebook messenger. The Buttonizer is a new way to give a boost to your number of interactions, actions and conversions from your website visitor by adding one or multiple Customizable Smart Multifunctional Floating Button in the corner of your website.
|
16 |
|
17 |
-
With the Buttonizer it
|
18 |
|
19 |
-
And the beauty of all: All actions are hidden in one button. The moment a visitor clicks on your Floating Action Button it will *pop* all specific buttons you
|
20 |
|
21 |
Download the Buttonizer for free and make your first Smart Conversion Button in just five minutes.
|
22 |
|
@@ -47,7 +47,7 @@ Next to choosing the color of your button, the color when someone click / hover
|
|
47 |
|
48 |
= SHOW ON DESKTOP, MOBILE OR BOTH =
|
49 |
|
50 |
-
Decide for each button if you want to show it on your desktop, mobile or both. Sometimes you want your visitors to do specific actions on your mobile website than your desktop and the other way around. For instance navigating to your address, or direct calling your business or share your content on Whats
|
51 |
|
52 |
= PAGE CATEGORIES =
|
53 |
|
@@ -55,7 +55,7 @@ Of Course you can add a button for all your pages. But it is also possible to sh
|
|
55 |
|
56 |
= OPENING HOURS =
|
57 |
|
58 |
-
Show a floating action button only when your business is open. As an example: Add Facebook Messenger as a button and set it to show only on opening hours so your clients won
|
59 |
|
60 |
= AUTO EVENT TRACKING IN GOOGLE ANALYTICS =
|
61 |
|
@@ -83,25 +83,25 @@ You can decide if you want your Buttonizer to show after a specific amount of ti
|
|
83 |
* Click the Activate Plugin link.
|
84 |
|
85 |
= For manual installation: =
|
86 |
-
* You should have access to the server where WordPress is installed. If you don
|
87 |
* Copy the plugin zip file up to your server and unzip it somewhere on the file system.
|
88 |
-
* Copy the
|
89 |
* Login to your website and go to the Plugins section of your admin panel.
|
90 |
-
* Look for
|
91 |
|
92 |
== Frequently Asked Questions ==
|
93 |
|
94 |
= What is a Floating Action Button and why should I use it? =
|
95 |
|
96 |
-
A floating action button is a button that
|
97 |
|
98 |
Maybe you noticed already that a lot of applications (mobile and web) have their primary floating action button (FAB), on the right corner of their website or app. You see this a lot with chat funtions. The Floating Action Button is becoming a standard in application and webdesign. Webvisitors are getting more and more used to the fact that there is a floating action button which is the primary action you can make on that page, on the right corner of a website.
|
99 |
|
100 |
The Buttonizer is a new way to give a boost to your number of interactions, actions and conversions from your website visitor by adding a Customizable Smart Multifunctional Floating Button in the corner of your website.
|
101 |
|
102 |
-
= What
|
103 |
|
104 |
-
With Buttonizer you don
|
105 |
|
106 |
And the beauty of all: All actions are hidden in one button. The moment a visitor clicks on your Floating Action Button it will *pop* all specific buttons you�ve set for that page. Track each single button in Google Analytics so you can see which actions your visitors prefer.
|
107 |
|
@@ -109,5 +109,11 @@ In fact the Buttonizer is an addiction to use. You
|
|
109 |
|
110 |
== Changelog ==
|
111 |
|
112 |
-
= 1.0 =
|
|
|
|
|
|
|
|
|
|
|
|
|
113 |
Launch of the Buttonizer Floating Action Button Plugin!
|
4 |
Tags: conversion button, smart action button, call button, smart button, buttonizer, floating action button, google event tracking, material design, call to action, conversion, Social Sharing, button
|
5 |
Requires at least: 4.2
|
6 |
Tested up to: 4.8.1
|
7 |
+
Stable tag: 1.0.3
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
14 |
|
15 |
The Buttonizer is a smart conversion-targeted button that will make your website more efficient. From making a simple call button, to a navigation button to open Facebook messenger. The Buttonizer is a new way to give a boost to your number of interactions, actions and conversions from your website visitor by adding one or multiple Customizable Smart Multifunctional Floating Button in the corner of your website.
|
16 |
|
17 |
+
With the Buttonizer it's possible to add buttons to a select number of pages with "page rules", decide for each button if it shows on mobile and/or desktop, style your button with your own icons & colors, add social sharing buttons, Show the button on opening hours and make use of many more rules.
|
18 |
|
19 |
+
And the beauty of all: All actions are hidden in one button. The moment a visitor clicks on your Floating Action Button it will *pop* all specific buttons you've set for that page. Track each single button in Google Analytics so you can see which actions your visitors prefer.
|
20 |
|
21 |
Download the Buttonizer for free and make your first Smart Conversion Button in just five minutes.
|
22 |
|
47 |
|
48 |
= SHOW ON DESKTOP, MOBILE OR BOTH =
|
49 |
|
50 |
+
Decide for each button if you want to show it on your desktop, mobile or both. Sometimes you want your visitors to do specific actions on your mobile website than your desktop and the other way around. For instance navigating to your address, or direct calling your business or share your content on Whats'app. Buttonizer lets you make an infinite number of combination of floating action buttons which are hidden on one clear simple button on the right corner of your screen.
|
51 |
|
52 |
= PAGE CATEGORIES =
|
53 |
|
55 |
|
56 |
= OPENING HOURS =
|
57 |
|
58 |
+
Show a floating action button only when your business is open. As an example: Add Facebook Messenger as a button and set it to show only on opening hours so your clients won't chat with your company outside opening hours.
|
59 |
|
60 |
= AUTO EVENT TRACKING IN GOOGLE ANALYTICS =
|
61 |
|
83 |
* Click the Activate Plugin link.
|
84 |
|
85 |
= For manual installation: =
|
86 |
+
* You should have access to the server where WordPress is installed. If you don't, see your system administrator.
|
87 |
* Copy the plugin zip file up to your server and unzip it somewhere on the file system.
|
88 |
+
* Copy the "Buttonizer" folder into the /wp-content/plugins directory of your WordPress installation.
|
89 |
* Login to your website and go to the Plugins section of your admin panel.
|
90 |
+
* Look for "Buttonizer" and click Activate.
|
91 |
|
92 |
== Frequently Asked Questions ==
|
93 |
|
94 |
= What is a Floating Action Button and why should I use it? =
|
95 |
|
96 |
+
A floating action button is a button that 'float' on the right corner of your website.
|
97 |
|
98 |
Maybe you noticed already that a lot of applications (mobile and web) have their primary floating action button (FAB), on the right corner of their website or app. You see this a lot with chat funtions. The Floating Action Button is becoming a standard in application and webdesign. Webvisitors are getting more and more used to the fact that there is a floating action button which is the primary action you can make on that page, on the right corner of a website.
|
99 |
|
100 |
The Buttonizer is a new way to give a boost to your number of interactions, actions and conversions from your website visitor by adding a Customizable Smart Multifunctional Floating Button in the corner of your website.
|
101 |
|
102 |
+
= What's the difference between floating action buttons or other conversion buttons? =
|
103 |
|
104 |
+
With Buttonizer you don't just add the same button to every page on your website. No, the key is that each action must be relevant. With the Buttonizer it's possible to add buttons to a select number of pages with "page rules", decide for each button if it shows on mobile and/or desktop, style your button with your own icons & colors, add social sharing buttons, Show the button on opening hours and make use of many more rules.
|
105 |
|
106 |
And the beauty of all: All actions are hidden in one button. The moment a visitor clicks on your Floating Action Button it will *pop* all specific buttons you�ve set for that page. Track each single button in Google Analytics so you can see which actions your visitors prefer.
|
107 |
|
109 |
|
110 |
== Changelog ==
|
111 |
|
112 |
+
= 1.0.3 =
|
113 |
+
Added new feature:
|
114 |
+
- Exit intent: Buttons will expand
|
115 |
+
|
116 |
+
|
117 |
+
|
118 |
+
= 1.0.2 =
|
119 |
Launch of the Buttonizer Floating Action Button Plugin!
|