Coming soon and Maintenance mode - Version 1.0.0

Version Description

Download this release

Release Info

Developer wpdevart
Plugin Icon 128x128 Coming soon and Maintenance mode
Version 1.0.0
Comparing to
See all releases

Version 1.0.0

coming_soon.php ADDED
@@ -0,0 +1,81 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Plugin Name: Coming Soon wpdevart
4
+ * Plugin URI: http://wpdevart.com/wordpress-coming-soon-plugin
5
+ * Description: Coming soon page plugin is awesome tool to show your users that you are working on your website to make it better. Our coming soon plugin is the best way to create better coming soon page.
6
+ * Version: 1.0.0
7
+ * Author: wpdevart
8
+ * License: GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html
9
+ */
10
+
11
+
12
+ class coming_soon_main{
13
+ // required variables
14
+
15
+ private $coming_soon_plugin_url;
16
+
17
+ private $coming_soon_plugin_path;
18
+
19
+ private $coming_soon_version;
20
+
21
+ public $coming_soon_options;
22
+
23
+
24
+ function __construct(){
25
+
26
+ $this->coming_soon_plugin_url = trailingslashit( plugins_url('', __FILE__ ) );
27
+ $this->coming_soon_plugin_path = trailingslashit( plugin_dir_path( __FILE__ ) );
28
+ $this->coming_soon_version = 1.0;
29
+ $this->call_base_filters();
30
+ $this->install_databese();
31
+ $this->create_admin_menu();
32
+ $this->coming_soon_front_end();
33
+
34
+ }
35
+
36
+ public function create_admin_menu(){
37
+
38
+ require_once($this->coming_soon_plugin_path.'includes/admin_menu.php');
39
+
40
+ $coming_soon_admin_menu = new coming_soon_admin_menu(array('menu_name' => 'Coming Soon','databese_parametrs'=>$this->coming_soon_options));
41
+
42
+ add_action('admin_menu', array($coming_soon_admin_menu,'create_menu'));
43
+
44
+ }
45
+
46
+ public function install_databese(){
47
+
48
+ require_once($this->coming_soon_plugin_path.'includes/install_database.php');
49
+
50
+ $coming_install_database = new install_database();
51
+
52
+ $this->coming_soon_options = $coming_install_database->installed_options;
53
+
54
+ }
55
+
56
+ public function coming_soon_front_end(){
57
+
58
+ require_once($this->coming_soon_plugin_path.'includes/front_end.php');
59
+
60
+ $coming_soon_front_end = new coming_soon_front_end(array('menu_name' => 'Coming Soon Page','databese_parametrs'=>$this->coming_soon_options));
61
+
62
+ add_action( 'template_redirect', array($coming_soon_front_end,'create_fornt_end') );
63
+ }
64
+
65
+ public function registr_requeried_scripts(){
66
+ wp_register_script('background_coming',$this->coming_soon_plugin_url.'includes/javascript/background.js');
67
+ wp_register_style('jquery-ui-style',$this->coming_soon_plugin_url.'includes/style/jquery-ui-style.css');
68
+ wp_register_style('coming-soon-admin-style',$this->coming_soon_plugin_url.'includes/style/admin-style.css');
69
+ }
70
+
71
+ public function call_base_filters(){
72
+ add_action( 'init', array($this,'registr_requeried_scripts') );
73
+ }
74
+
75
+ private function include_file(){
76
+
77
+ }
78
+ }
79
+ $cooming_soon = new coming_soon_main();
80
+
81
+ ?>
images/loading.gif ADDED
Binary file
images/loading_big.gif ADDED
Binary file
images/remove_element.png ADDED
Binary file
images/template1/background.jpg ADDED
Binary file
images/template1/button.png ADDED
Binary file
images/template1/facebook.png ADDED
Binary file
images/template1/gmail.png ADDED
Binary file
images/template1/instagram.png ADDED
Binary file
images/template1/logo.png ADDED
Binary file
images/template1/twiter.png ADDED
Binary file
images/template1/youtobe.png ADDED
Binary file
images/ui-bg_diagonals-thick_18_b81900_40x40.png ADDED
Binary file
images/ui-bg_diagonals-thick_20_666666_40x40.png ADDED
Binary file
images/ui-bg_flat_10_000000_40x100.png ADDED
Binary file
images/ui-bg_glass_100_f6f6f6_1x400.png ADDED
Binary file
images/ui-bg_glass_100_fdf5ce_1x400.png ADDED
Binary file
images/ui-bg_glass_65_ffffff_1x400.png ADDED
Binary file
images/ui-bg_gloss-wave_35_f6a828_500x100.png ADDED
Binary file
images/ui-bg_highlight-soft_100_eeeeee_1x100.png ADDED
Binary file
images/ui-bg_highlight-soft_75_ffe45c_1x100.png ADDED
Binary file
images/ui-icons_222222_256x240.png ADDED
Binary file
images/ui-icons_228ef1_256x240.png ADDED
Binary file
images/ui-icons_ef8c08_256x240.png ADDED
Binary file
images/ui-icons_ffd27a_256x240.png ADDED
Binary file
images/ui-icons_ffffff_256x240.png ADDED
Binary file
includes/admin_menu.php ADDED
@@ -0,0 +1,900 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /*############ Coming Soon Admin Menu Class ################*/
4
+
5
+ class coming_soon_admin_menu{
6
+
7
+ private $menu_name;
8
+ private $databese_parametrs;
9
+ private $plugin_url;
10
+
11
+ function __construct($param){
12
+ $this->menu_name=$param['menu_name'];
13
+ $this->databese_parametrs=$param['databese_parametrs'];
14
+ if(isset($params['plugin_url']))
15
+ $this->plugin_url=$params['plugin_url'];
16
+ else
17
+ $this->plugin_url=trailingslashit(dirname(plugins_url('',__FILE__)));
18
+
19
+ add_action( 'wp_ajax_coming_soon_page_save', array($this,'save_in_databese') );
20
+ add_action( 'wp_ajax_coming_soon_send_mail', array($this,'sending_mail') );
21
+ }
22
+
23
+ public function create_menu(){
24
+ $manage_page = add_menu_page( $this->menu_name, $this->menu_name, 'manage_options', str_replace( ' ', '-', $this->menu_name), array($this, 'main_menu_function'));
25
+ add_action('admin_print_styles-' .$manage_page, array($this,'menu_requeried_scripts'));
26
+ }
27
+
28
+ public function menu_requeried_scripts(){
29
+ wp_enqueue_script('wp-color-picker');
30
+ wp_enqueue_style( 'wp-color-picker' );
31
+ wp_enqueue_script( 'jquery-ui-datepicker' );
32
+ wp_enqueue_style('jquery-ui-style');
33
+ wp_enqueue_script( 'jquery-ui-slider' );
34
+ wp_enqueue_style('coming-soon-admin-style');
35
+
36
+
37
+ if (function_exists('add_thickbox')) add_thickbox();
38
+ }
39
+
40
+ private function generete_parametrs($page_name){
41
+ $page_parametrs=array();
42
+ if(isset($this->databese_parametrs[$page_name])){
43
+ foreach($this->databese_parametrs[$page_name] as $key => $value){
44
+ $page_parametrs[$key]=get_option($key,$value);
45
+ }
46
+ return $page_parametrs;
47
+ }
48
+ return NULL;
49
+
50
+ }
51
+ public function sending_mail(){
52
+ $mailing_lists=json_decode(stripslashes(get_option('users_mailer','')), true);
53
+ if($mailing_lists==NULL)
54
+ $mailing_lists=array();
55
+ $not_sending_mails=array();
56
+ $sending_mails=array();
57
+ if(!(isset($_POST['massage_title']) && $_POST['massage_title']!='')){
58
+ echo 'Type Message Title';
59
+ die();
60
+ }
61
+ if(!(isset($_POST['massage_description']) && $_POST['massage_description']!='')){
62
+ echo 'Type Message';
63
+ die();
64
+ }
65
+ foreach($mailing_lists as $key => $mail){
66
+ $send=wp_mail( $mail, $_POST['massage_title'], $_POST['massage_description']);
67
+ if(!$send){
68
+ array_push($not_sending_mails,$mail);
69
+ }
70
+ else
71
+ {
72
+ array_push($sending_mails,$key);
73
+ }
74
+ }
75
+ foreach($sending_mails as $key){
76
+ unset($mailing_lists[$key]);
77
+ }
78
+ update_option('users_mailer',json_encode($mailing_lists));
79
+ if(count($not_sending_mails)){
80
+ foreach($not_sending_mails as $errors){
81
+ echo $errors.',';
82
+ }
83
+ echo " Mails Not sended";
84
+ exit;
85
+ }
86
+ die('Your message was sent successfully.');
87
+
88
+ }
89
+ public function save_in_databese(){
90
+ $kk=1;
91
+ if(isset($_POST['coming_soon_options_nonce']) && wp_verify_nonce( $_POST['coming_soon_options_nonce'],'coming_soon_options_nonce')){
92
+ foreach($this->databese_parametrs[$_POST['curent_page']] as $key => $value){
93
+ if(isset($_POST[$key]))
94
+ update_option($key,$_POST[$key]);
95
+ else{
96
+ $kk=0;
97
+ echo 'parametr'.$key.' ERROR NOT SAVE';
98
+ }
99
+ }
100
+ }
101
+ if($kk){ echo "Changes have been saved";}
102
+ die();
103
+ }
104
+
105
+ public function main_menu_function(){
106
+
107
+ ?>
108
+ <style>
109
+ #saving_soon{
110
+ background-color:rgba(102,102,102,0.5);
111
+ position:fixed;
112
+ width:100%;
113
+ z-index:99999;
114
+
115
+ }
116
+ #loading_text{
117
+ margin: auto;
118
+ position: absolute;
119
+ top: 0; left: 0; bottom: 0; right: 0;
120
+ width: 40px;
121
+ height: 40px;
122
+ }
123
+ .group{
124
+ padding-left:20px;
125
+ padding-bottom:20px;
126
+ }
127
+ </style>
128
+ <script>
129
+ jQuery(document).ready(function() {
130
+ var link_my_plugin="http://wpdevart.com/wordpress-coming-soon-plugin/"
131
+ if (typeof(localStorage) != 'undefined' ) {
132
+ active_tab = localStorage.getItem("active_tab");
133
+ if(active_tab==link_my_plugin)
134
+ localStorage.setItem("active_tab",'options-group-1-tab');
135
+ }
136
+ if (active_tab != '' && jQuery(active_tab).length ) {
137
+ jQuery(active_tab).fadeIn();
138
+ } else {
139
+ jQuery('.group:first').fadeIn();
140
+ }
141
+ jQuery('.group .collapsed').each(function(){
142
+ jQuery(this).find('input:checked').parent().parent().parent().nextAll().each(
143
+ function(){
144
+ if (jQuery(this).hasClass('last')) {
145
+ jQuery(this).removeClass('hidden');
146
+ return false;
147
+ }
148
+ jQuery(this).filter('.hidden').removeClass('hidden');
149
+ });
150
+ });
151
+ if (active_tab != '' && jQuery(active_tab + '-tab').length ) {
152
+ jQuery(active_tab + '-tab').addClass('nav-tab-active');
153
+ }
154
+ else {
155
+ jQuery('.nav-tab-wrapper a:first').addClass('nav-tab-active');
156
+ }
157
+
158
+ jQuery('.nav-tab-wrapper a').click(function(evt) {
159
+ jQuery('.nav-tab-wrapper a').removeClass('nav-tab-active');
160
+ var clicked_group = jQuery(this).attr('href');
161
+ if(jQuery(this).attr('href')==link_my_plugin){
162
+ window.location=link_my_plugin;
163
+ return false;
164
+ }
165
+ jQuery(this).addClass('nav-tab-active').blur();
166
+ if (typeof(localStorage) != 'undefined' ) {
167
+ localStorage.setItem("active_tab", jQuery(this).attr('href'));
168
+ }
169
+ jQuery('.group').hide();
170
+ jQuery(clicked_group).fadeIn();
171
+ evt.preventDefault();
172
+
173
+ // Editor Height (needs improvement)
174
+ jQuery('.wp-editor-wrap').each(function() {
175
+ var editor_iframe = jQuery(this).find('iframe');
176
+ if ( editor_iframe.height() < 30 ) {
177
+ editor_iframe.css({'height':'auto'});
178
+ }
179
+ });
180
+
181
+ });
182
+
183
+ jQuery('.group .collapsed input:checkbox').click(unhideHidden);
184
+
185
+ function unhideHidden(){
186
+ if (jQuery(this).attr('checked')) {
187
+ jQuery(this).parent().parent().parent().nextAll().removeClass('hidden');
188
+ }
189
+ else {
190
+ jQuery(this).parent().parent().parent().nextAll().each(
191
+ function(){
192
+ if (jQuery(this).filter('.last').length) {
193
+ jQuery(this).addClass('hidden');
194
+ return false;
195
+ }
196
+ jQuery(this).addClass('hidden');
197
+ });
198
+
199
+ }
200
+ }
201
+
202
+ // Image Options
203
+ jQuery('.of-radio-img-img').click(function(){
204
+ jQuery(this).parent().parent().find('.of-radio-img-img').removeClass('of-radio-img-selected');
205
+ jQuery(this).addClass('of-radio-img-selected');
206
+ });
207
+
208
+ jQuery('.of-radio-img-label').hide();
209
+ jQuery('.of-radio-img-img').show();
210
+ jQuery('.of-radio-img-radio').hide();
211
+ });
212
+ </script>
213
+ <div class="main_div">
214
+ <h2>Coming Soon</h2>
215
+ <h2 class="nav-tab-wrapper in-page-tab">
216
+ <a id="options-group-1-tab" class="nav-tab" title="SEO" href="#options-group-1">General Settings</a>
217
+ <a id="options-group-2-tab" class="nav-tab" title="Layout Editor" href="#options-group-2">Design Option</a>
218
+ <a id="options-group-3-tab" class="nav-tab" title="General" href="#options-group-3">Mailing List</a>
219
+ <a id="options-group-4-tab" class="nav-tab" title="Homepage" href="#options-group-4">Liev Preview</a>
220
+ <a id="options-group-4-tab" class="nav-tab" title="Homepage" href="http://wpdevart.com/wordpress-coming-soon-plugin/"><span style="color: rgba(216, 19, 19, 1); font-weight: bold; font-size: 21px;">Upgrade to Pro Version</span></a>
221
+
222
+ </h2>
223
+ <div id="optionsframework-metabox" class="metabox-holder">
224
+ <div id="optionsframework" class="postbox">
225
+
226
+ <div id="options-group-1" class="group general_settings" style="display: none;"><h3>General Settings</h3> <?php $this->generete_general_settings_page($this->generete_parametrs('general')); ?></div>
227
+ <div id="options-group-2" class="group design_settings" style="display: none;"><h3>Design Options</h3> <?php $this->generete_design_options_page($this->generete_parametrs('design')); ?></div>
228
+ <div id="options-group-3" class="group templates" style="display: none;"><h3>Mailing List</h3><?php $this->generete_mailing_list_options_page($this->generete_parametrs('mailing_list')); ?></div>
229
+ <div id="options-group-4" class="group Homepage" style="display: none;"><h3><span style="color:red"> Please refresh this page to see changes(F5).</span></h3><?php $this->generete_mailing_live_previev_page($this->generete_parametrs('mailing_list')); ?></div>
230
+
231
+ </div>
232
+ </div>
233
+ </div>
234
+
235
+ <?php
236
+ }
237
+
238
+
239
+ public function generete_general_settings_page($page_parametrs){
240
+
241
+ ?>
242
+ <form method="post" id="coming_soon_options_form" action="admin.php?page='<?php echo str_replace( ' ', '-', $this->menu_name); ?>'">
243
+ <div class="option_group">
244
+ <h4 class="option_title">Coming Soon Mode</h4>
245
+ <label for="coming_soon_page_modeon">Enable Coming Soon</label>
246
+ <input type="radio" onchange="generete_radio_input_hidden(this)" name="coming_soon_page_moderadio" id="coming_soon_page_modeon" value="on" <?php checked($page_parametrs['coming_soon_page_mode'], "on"); ?> />
247
+ <br /><br />
248
+ <label for="coming_soon_page_modeoff">Disable Coming soon</label>
249
+ <input type="radio" onchange="generete_radio_input_hidden(this)" name="coming_soon_page_moderadio" id="coming_soon_page_modeoff" value="off" <?php checked($page_parametrs['coming_soon_page_mode'], "off"); ?>/>
250
+
251
+ <input type="hidden" class="insert_value_this" name="coming_soon_page_mode" id="coming_soon_page_mode" value="<?php echo $page_parametrs['coming_soon_page_mode'] ?>" />
252
+ </div>
253
+ <div class="option_group">
254
+ <h4 class="option_title">Mailing List </h4>
255
+
256
+ <label for="enable_mailing_liston">Enable Mailing List</label>
257
+ <input type="radio" onchange="generete_radio_input_hidden(this)" name="enable_mailing_listradio" id="enable_mailing_liston" value="on" <?php checked($page_parametrs['enable_mailing_list'], "on"); ?> />
258
+ <br /><br />
259
+ <label for="enable_mailing_listoff">Disable Mailing List</label>
260
+ <input type="radio" onchange="generete_radio_input_hidden(this)" name="enable_mailing_listradio" id="enable_mailing_listoff" value="off" <?php checked($page_parametrs['enable_mailing_list'], "off"); ?>/>
261
+
262
+ <input type="hidden" class="insert_value_this" name="enable_mailing_list" id="enable_mailing_list" value="<?php echo $page_parametrs['enable_mailing_list'] ?>" />
263
+ </div>
264
+ <div class="option_group">
265
+ <h4 class="option_title">Mailing list input text</h4>
266
+ <input type="text" size="60" value="<?php echo htmlspecialchars(stripslashes($page_parametrs['mailing_list_value_of_emptyt'])) ?>" id="mailing_list_value_of_emptyt" name="mailing_list_value_of_emptyt" />
267
+ </div>
268
+ <div class="option_group">
269
+ <h4 class="option_title">Mailing list send button text</h4>
270
+ <input type="text" size="60" value="<?php echo htmlspecialchars(stripslashes($page_parametrs['mailing_list_button_value'])) ?>" id="mailing_list_button_value" name="mailing_list_button_value" />
271
+ </div>
272
+ <div class="option_group">
273
+ <h4 class="option_title">Logo</h4>
274
+ <div id="upload_image">
275
+ <input type="text" class="upload" id="coming_soon_page_page_logo" name="coming_soon_page_page_logo" size="60" value="<?php echo $page_parametrs['coming_soon_page_page_logo'] ?>"/>
276
+ <input class="upload-button" type="button" value="Upload Image"/>
277
+ </div>
278
+ </div>
279
+ <div class="option_group">
280
+ <h4 class="option_title">Title</h4>
281
+ <input type="text" size="60" value="<?php echo htmlspecialchars(stripslashes($page_parametrs['coming_soon_page_page_title'])) ?>" id="coming_soon_page_page_title" name="coming_soon_page_page_title" />
282
+ </div>
283
+
284
+ <div class="option_group">
285
+ <h4 class="option_title">Message</h4>
286
+ <div style="width:600px"> <?php wp_editor( stripslashes($page_parametrs['coming_soon_page_page_message']), 'coming_soon_page_page_message', $settings = array('media_buttons'=>false,'textarea_rows'=>5) ); ?></div>
287
+ </div>
288
+ <div class="option_group">
289
+ <h4 class="option_title">Meta Keywords</h4><br />
290
+ <input type="text" class="upload" id="coming_soon_page_meta_keywords" name="coming_soon_page_meta_keywords" size="60" value="<?php echo $page_parametrs['coming_soon_page_meta_keywords'] ?>"/>
291
+ </div>
292
+ <div class="option_group">
293
+ <h4 class="option_title">Meta Description</h4>
294
+ <input type="text" class="upload" id="coming_soon_page_meta_description" name="coming_soon_page_meta_description" size="60" value="<?php echo $page_parametrs['coming_soon_page_meta_description'] ?>"/>
295
+ </div>
296
+
297
+ <div class="option_group">
298
+ <h4 class="option_title">Countdown(Timer)</h4><br />
299
+ <?php $countdown= json_decode(stripslashes($page_parametrs['coming_soon_page_countdown']), true); ?>
300
+ <input type="text" onchange="refresh_countdown()" placeholder="day" id="coming_soon_page_countdownday" size="6" value="<?php if(isset($countdown['days'])) echo $countdown['days']; ?>"/>
301
+ <input type="text" onchange="refresh_countdown()" placeholder="housrse" id="coming_soon_page_countdownhour" size="6" value="<?php if(isset($countdown['hours'])) echo $countdown['hours']; ?>"/>
302
+ <input type="text" onchange="refresh_countdown()" placeholder="Start Date" id="coming_soon_page_countdownstart_day" size="12" value="<?php if(isset($countdown['start_day'])) echo $countdown['start_day']; ?>"/>
303
+ <h4 style="margin-top: 26px;" class="option_title">Continue showing Coming soon page after ending date.</h4>
304
+ <input type="checkbox" onchange="refresh_countdown()" <?php checked($countdown['countedown_on'], "on"); ?> value="on" id="coming_soon_page_countdownstart_on"/>
305
+
306
+ <input type="hidden" value='<?php echo stripslashes($page_parametrs['coming_soon_page_countdown']) ?>' id="coming_soon_page_countdown" name="coming_soon_page_countdown" />
307
+
308
+ </div>
309
+ <div class="option_group" >
310
+ <h4 class="option_title">Disable coming soon page for this ips</h4>
311
+ <div id="no_blocked_ips">
312
+ </div>
313
+ </div>
314
+ <div class="option_group" >
315
+ <h4 class="option_title">Disable coming soon page for this urls <span style="color:rgba(216, 19, 19, 1);">Pro feature!</span></h4>
316
+ <div class="emelent_coming_soon_page_showed_urls">
317
+ <input onclick="alert(text_of_upgrate_version); return false" type="text" placeholder="Type Ip URl" value="">
318
+ <span class="remove_element remove_element_coming_soon_page_showed_urls"></span>
319
+ </div>
320
+ </div>
321
+ <div class="option_group">
322
+ <h4 class="option_title">Facebook</h4><br />
323
+ <input type="text" class="upload" id="coming_soon_page_facebook" name="coming_soon_page_facebook" size="60" value="<?php echo $page_parametrs['coming_soon_page_facebook'] ?>"/>
324
+ </div>
325
+ <div class="option_group">
326
+ <h4 class="option_title">Twitter</h4><br />
327
+ <input type="text" class="upload" id="coming_soon_page_twitter" name="coming_soon_page_twitter" size="60" value="<?php echo $page_parametrs['coming_soon_page_twitter'] ?>"/>
328
+ </div>
329
+ <div class="option_group">
330
+ <h4 class="option_title">Google Plus</h4><br />
331
+ <input type="text" class="upload" id="coming_soon_page_google_plus" name="coming_soon_page_google_plus" size="60" value="<?php echo $page_parametrs['coming_soon_page_google_plus'] ?>"/>
332
+ </div>
333
+ <div class="option_group">
334
+ <h4 class="option_title">YouTube</h4><br />
335
+ <input type="text" class="upload" id="coming_soon_page_youtube" name="coming_soon_page_youtube" size="60" value="<?php echo $page_parametrs['coming_soon_page_youtube'] ?>"/>
336
+ </div>
337
+
338
+ <div class="option_group">
339
+ <h4 class="option_title">Instagram</h4><br />
340
+ <input type="text" class="upload" id="coming_soon_page_instagram" name="coming_soon_page_instagram" size="60" value="<?php echo $page_parametrs['coming_soon_page_instagram'] ?>"/>
341
+ </div>
342
+ <button type="button" id="save_button" class="save_button button button-primary">Save General Settings</button>
343
+ <?php wp_nonce_field('coming_soon_options_nonce','coming_soon_options_nonce'); ?>
344
+ </form>
345
+
346
+ <script>
347
+
348
+
349
+ /////////////// ///////////////
350
+ /////////////// MANY INPUTS ///////////////
351
+ /////////////// ///////////////
352
+ var many_inputs={
353
+ main_element_for_inserting_element:'no_blocked_ips',
354
+ element_name_and_id:'coming_soon_page_showed_ips',
355
+ value_jsone_encoded:'',
356
+ jsone_no_any_problem:1,
357
+ placeholder:'Type Ip Here',
358
+
359
+ // create all elements
360
+ creates_elements:function(){
361
+ var local_this=this;
362
+
363
+ try {
364
+ var object_value=JSON.parse(this.value_jsone_encoded);
365
+ }
366
+ catch (err) {
367
+ this.jsone_no_any_problem=0;
368
+ }
369
+
370
+ if(this.jsone_no_any_problem){
371
+ for(key in object_value){
372
+ var element=this.creat_single_element(object_value[key]);
373
+ jQuery('#'+this.main_element_for_inserting_element).append(element);
374
+ }
375
+ }
376
+
377
+ var element=this.creat_single_element();
378
+ jQuery('#'+this.main_element_for_inserting_element).append(element);
379
+
380
+ var hidden_element_for_values= '<input type="hidden" value="" id="'+this.element_name_and_id+'" name="'+this.element_name_and_id+'" />'
381
+ jQuery('#'+this.main_element_for_inserting_element).prepend(hidden_element_for_values);
382
+ local_this.insert_value_on_hidden_element();
383
+
384
+ },
385
+
386
+ // function for creating element
387
+ creat_single_element:function(element_value){
388
+ var local_this=this;
389
+ element_value = typeof element_value !== 'undefined' ? element_value : '';
390
+ jQuery('#'+this.main_element_for_inserting_element).append(element=' <div class="emelent_'+this.element_name_and_id+'"> <input type="text" placeholder="'+this.placeholder+'" value="'+element_value+'" /><span class="remove_element remove_element_'+this.element_name_and_id+'"></span> </div>');
391
+ jQuery(this.get_last_element()).children('span').click(function(){
392
+ local_this.remove_single_element(jQuery(this));
393
+ });
394
+ var next_element_focus=false
395
+ jQuery(this.get_last_element()).children('input').keydown(function(){
396
+ if(event.which == 13)
397
+ next_element_focus=true;
398
+ else
399
+ next_element_focus=false;
400
+ });
401
+ jQuery(this.get_last_element()).children('input').change(function(){
402
+ if(jQuery(jQuery('.emelent_'+local_this.element_name_and_id)).index(jQuery(this).parent())==jQuery('.emelent_'+local_this.element_name_and_id).length-1){
403
+ jQuery('#'+local_this.main_element_for_inserting_element).append(local_this.creat_single_element())
404
+ if(next_element_focus)
405
+ jQuery('.emelent_'+local_this.element_name_and_id).eq(jQuery('.emelent_'+local_this.element_name_and_id).length-1).children('input').focus();
406
+ next_element_focus=false;
407
+ }
408
+ local_this.insert_value_on_hidden_element();
409
+
410
+ });
411
+
412
+ },
413
+ // function for remove element
414
+ remove_single_element:function(element){
415
+ if(jQuery('.emelent_'+this.element_name_and_id).length>1)
416
+ jQuery(element).parent().remove();
417
+ this.insert_value_on_hidden_element();
418
+ },
419
+
420
+ // set input json encoded value of all inputs
421
+ insert_value_on_hidden_element:function(){
422
+ var input_value={}
423
+ var z=0;
424
+
425
+ jQuery('.emelent_'+this.element_name_and_id).each(function(index, element) {
426
+ input_value[z]=jQuery(this).children('input').val();
427
+ z++;
428
+ });
429
+ z--;
430
+ if( input_value[z]=='')
431
+ delete input_value[z];
432
+ jQuery('#'+this.element_name_and_id).val(JSON.stringify(input_value));
433
+ },
434
+ get_last_element:function(){
435
+ return jQuery('#'+this.main_element_for_inserting_element+' .emelent_'+this.element_name_and_id).eq(jQuery('#'+this.main_element_for_inserting_element+' .emelent_'+this.element_name_and_id).length-1);
436
+ }
437
+ }
438
+
439
+ /////////////// ///////////////
440
+ /////////////// MANY INPUTS END ///////////////
441
+ /////////////// ///////////////
442
+
443
+
444
+ jQuery(document).ready(function() {
445
+ var currentTime = new Date();
446
+ var month = currentTime.getMonth();
447
+ var day = currentTime.getDate();
448
+ var year = currentTime.getFullYear();
449
+ jQuery("#coming_soon_page_countdownstart_day").datepicker({
450
+ inline: true,
451
+ nextText: '&rarr;',
452
+ prevText: '&larr;',
453
+ showOtherMonths: true,
454
+ dateFormat: 'dd/mm/yy',
455
+ dayNamesMin: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
456
+ maxDate: new Date(year,month,day)
457
+ });
458
+
459
+
460
+ many_inputs.main_element_for_inserting_element='no_blocked_ips';
461
+ many_inputs.element_name_and_id='coming_soon_page_showed_ips';
462
+ many_inputs.placeholder='Type Ip Here';
463
+ many_inputs.value_jsone_encoded='<?php echo stripslashes($page_parametrs['coming_soon_page_showed_ips']) ?>';
464
+ many_inputs.creates_elements();
465
+
466
+
467
+ //// ajax
468
+ jQuery('#save_button').click(function(){
469
+ if(tinymce.get( 'coming_soon_page_page_title')!=null)
470
+ tinymce.get( 'coming_soon_page_page_title').save();
471
+ if(tinymce.get( 'coming_soon_page_page_message')!=null)
472
+ tinymce.get( 'coming_soon_page_page_message').save()
473
+ jQuery('body').prepend('<div id="saving_soon"><span id="loading_text"><img src="<?php echo $this->plugin_url.'images/loading_big.gif' ?>" /></span></div>');
474
+ jQuery('#saving_soon').height(jQuery(window).height());
475
+ //jQuery('#saving_soon').click(function(){jQuery('#saving_soon').remove()})
476
+ jQuery.ajax({
477
+ type:'POST',
478
+ url: "<?php echo admin_url( 'admin-ajax.php?action=coming_soon_page_save' ); ?>",
479
+ data: {curent_page:'general',coming_soon_options_nonce:jQuery('#coming_soon_options_nonce').val()<?php foreach($page_parametrs as $key => $value){echo ','.$key.':jQuery("#'.$key.'").val()';} ?>},
480
+ }).done(function(date) {
481
+ alert(date)
482
+ jQuery('#saving_soon').remove();
483
+ });
484
+ });
485
+
486
+
487
+ /// for upload
488
+ /* set uploader size in resizing*/
489
+ jQuery('.upload-button').click(function () {
490
+ window.parent.uploadID = jQuery(this).prev('input');
491
+ /*grab the specific input*/
492
+ formfield = jQuery('.upload').attr('name');
493
+ tb_show('', 'media-upload.php?type=image&height=640&width=1000&TB_iframe=true');
494
+ return false;
495
+ });
496
+ window.send_to_editor = function (html) {
497
+ imgurl = jQuery('img', html).attr('src');
498
+ window.parent.uploadID.val(imgurl);
499
+ /*assign the value to the input*/
500
+ tb_remove();
501
+ };
502
+
503
+ });
504
+ function refresh_countdown(){
505
+ var countdown={}
506
+ countdown['days']=jQuery('#coming_soon_page_countdownday').val();
507
+ countdown['hours']=jQuery('#coming_soon_page_countdownhour').val();
508
+ countdown['start_day']=jQuery('#coming_soon_page_countdownstart_day').val();
509
+ if(jQuery('#coming_soon_page_countdownstart_on').prop('checked'))
510
+ countdown['countedown_on']=jQuery('#coming_soon_page_countdownstart_on').val();
511
+ else
512
+ countdown['countedown_on']='';
513
+ jQuery('#coming_soon_page_countdown').val(JSON.stringify(countdown))
514
+ }
515
+ function generete_radio_input_hidden(element){
516
+ jQuery(element).parent().find('.insert_value_this').val(jQuery(element).parent().find('input[type=radio]:checked').val())
517
+
518
+ }
519
+ var text_of_upgrate_version='If you want to use this feature upgrade to Coming soon Pro';
520
+ </script>
521
+ <?php
522
+
523
+
524
+ }
525
+ public function generete_design_options_page($page_parametrs){
526
+ ?>
527
+ <form method="post" id="coming_soon_options_form" action="admin.php?page='<?php echo str_replace( ' ', '-', $this->menu_name); ?>'">
528
+ <div class="option_group">
529
+ <h4 class="option_title">Coming soon page background type</h4>
530
+ <label for="coming_soon_page_radio_backroundcolor">Background Color</label>
531
+ <input type="radio" onchange="generete_radio_input(this)" name="coming_soon_page_radio_backroundradio" id="coming_soon_page_radio_backroundcolor" value="back_color" <?php checked($page_parametrs['coming_soon_page_radio_backroun'], "back_color"); ?>/>
532
+
533
+ <label for="coming_soon_page_radio_backroundimage">Background Image</label>
534
+ <input type="radio" onchange="generete_radio_input(this)" name="coming_soon_page_radio_backroundradio" id="coming_soon_page_radio_backroundimage" value="back_imge" <?php checked($page_parametrs['coming_soon_page_radio_backroun'], "back_imge"); ?> />
535
+
536
+ <label for="coming_soon_page_radio_backroundslider">Background Slider <span style="color:rgba(216, 19, 19, 1);">Pro feature!</span></label>
537
+ <input type="radio" onclick="alert(text_of_upgrate_version); return false" name="coming_soon_page_radio_backroundradio" />
538
+ <input type="hidden" class="insert_design_value_this" name="coming_soon_page_radio_backroun" id="coming_soon_page_radio_backroun" value="<?php echo $page_parametrs['coming_soon_page_radio_backroun'] ?>" />
539
+ </div>
540
+ <div class="option_group back_color">
541
+ <h4 class="option_title">Background Color</h4>
542
+ <div id="upload_image">
543
+ <input type="text" class="upload" id="coming_soon_page_background_color" name="coming_soon_page_background_color" size="60" value="<?php echo $page_parametrs['coming_soon_page_background_color'] ?>"/>
544
+ </div>
545
+ </div>
546
+ <div class="option_group back_imge">
547
+ <h4 class="option_title">Background Image</h4>
548
+ <input type="text" class="upload" id="coming_soon_page_background_img" name="coming_soon_page_background_img" size="60" value="<?php echo $page_parametrs['coming_soon_page_background_img'] ?>"/>
549
+ <input class="upload-button" type="button" value="Upload Image"/>
550
+ </div>
551
+
552
+ <div class="option_group back_slider">
553
+
554
+ <h4 class="option_title">Background Slider</h4>
555
+ <?php $images= json_decode(stripslashes($page_parametrs['coming_soon_page_background_imgs']), true);
556
+ if(count($images) >1){
557
+ foreach($images as $image){
558
+
559
+ ?>
560
+ <div class="slider_images_div">
561
+ <input type="text" class="upload_many_images" size="60" value="<?php echo $image ?>"/>
562
+ <input class="upload-button button button-primary" type="button" value="Upload Image"/>
563
+ <input class="remove_upload_image" type="button" value="Remove"/>
564
+ </div>
565
+ <br />
566
+ <?php }}else {?>
567
+ <div class="slider_images_div">
568
+ <input type="text" class="upload_many_images" size="60" value=""/>
569
+ <input class="upload-button button button-primary" type="button" value="Upload Image"/>
570
+ <input class="remove_upload_image" type="button" value="Remove"/>
571
+ </div>
572
+ <br />
573
+ <?php }?>
574
+
575
+ <input type="hidden" value="<?php echo stripslashes($page_parametrs['coming_soon_page_background_imgs']) ?>" name="coming_soon_page_background_imgs" id="coming_soon_page_background_imgs"/>
576
+ <input class="add_upload_image_button button button-primary" type="button" value="Add"/>
577
+ </div>
578
+
579
+ <div class="option_group">
580
+ <h4 class="option_title">Title Font Size</h4>
581
+ <div id="upload_image">
582
+ <input type="text" class="upload" id="coming_soon_page_page_title_font_size" name="coming_soon_page_page_title_font_size" size="3" value="<?php echo $page_parametrs['coming_soon_page_page_title_font_size'] ?>"/>Px
583
+ </div>
584
+ </div>
585
+
586
+ <div class="option_group">
587
+ <h4 class="option_title">Title Color</h4>
588
+ <div id="upload_image">
589
+ <input type="text" class="upload" id="coming_soon_page_page_title_color" name="coming_soon_page_page_title_color" size="60" value="<?php echo $page_parametrs['coming_soon_page_page_title_color'] ?>"/>
590
+ </div>
591
+ </div>
592
+
593
+ <div class="option_group">
594
+ <h4 class="option_title">Content position <span style="color:rgba(216, 19, 19, 1);">Pro feature!</span></h4>
595
+
596
+ <table class="bws_position_table">
597
+ <tbody>
598
+ <tr>
599
+ <td><input type="radio" onclick="alert(text_of_upgrate_version); return false" onclick="alert(text_of_upgrate_version); return false" name="page_content_position_radio"></td>
600
+ <td><input type="radio" onclick="alert(text_of_upgrate_version); return false" name="page_content_position_radio"></td>
601
+ <td><input type="radio" onclick="alert(text_of_upgrate_version); return false" name="page_content_position_radio"></td>
602
+ </tr>
603
+ <tr>
604
+ <td><input type="radio" onclick="alert(text_of_upgrate_version); return false" name="page_content_position_radio"></td>
605
+ <td><input type="radio" onclick="alert(text_of_upgrate_version); return false" checked="checked" name="page_content_position_radio"></td>
606
+ <td><input type="radio" onclick="alert(text_of_upgrate_version); return false" name="page_content_position_radio"></td>
607
+ </tr>
608
+ <tr>
609
+ <td><input type="radio" onclick="alert(text_of_upgrate_version); return false" name="page_content_position_radio"></td>
610
+ <td><input type="radio" onclick="alert(text_of_upgrate_version); return false" name="page_content_position_radio"></td>
611
+ <td><input type="radio" onclick="alert(text_of_upgrate_version); return false" name="page_content_position_radio"></td>
612
+ </tr>
613
+ </tbody>
614
+ </table>
615
+ <input type="hidden" class="insert_value_this" name="page_content_position" id="page_content_position" value="<?php echo $page_parametrs['page_content_position'] ?>" />
616
+ </div>
617
+
618
+ <div class="option_group">
619
+ <h4 class="option_title">Coming soon Content background color</h4>
620
+ <div >
621
+ <input type="text" id="coming_soon_page_content_bg_color" name="coming_soon_page_content_bg_color" size="60" value="<?php echo $page_parametrs['coming_soon_page_content_bg_color'] ?>"/>
622
+ </div>
623
+ </div>
624
+
625
+ <div class="option_group">
626
+ <h4 class="option_title">Coming page Content background transparency</h4>
627
+ <input type="text" size="3" name="coming_soon_page_content_trasparensy" value="50" id="coming_soon_page_content_trasparensy" style="border:0; color:#f6931f; font-weight:bold; width:35px" >%
628
+ <div style="width:240px" id="slider-coming_soon_page_content_trasparensy" class="ui-slider ui-slider-horizontal ui-widget ui-widget-content ui-corner-all">
629
+ <span class="ui-slider-handle ui-state-default ui-corner-all" tabindex="0" style="left: 0%;"></span>
630
+ </div>
631
+ </div>
632
+
633
+ <div class="option_group">
634
+ <h4 class="option_title">Content border radius</h4>
635
+ <div>
636
+ <input type="text" id="page_content_boreder_radius" name="page_content_boreder_radius" size="3" value="<?php echo $page_parametrs['page_content_boreder_radius'] ?>"/>Px
637
+ </div>
638
+ </div>
639
+
640
+
641
+
642
+ <div class="option_group">
643
+ <h4 class="option_title">Countdown button background color <span style="color:rgba(216, 19, 19, 1);">Pro feature!</span></h4>
644
+ <div class='disabled_for_pro'>
645
+ <div class="wp-picker-container"><a tabindex="0" class="wp-color-result" title="Select Color" data-current="Current Color" style="background-color: rgb(61, 168, 204);"></a></div>
646
+ </div>
647
+ </div>
648
+
649
+ <div class="option_group">
650
+ <h4 class="option_title">Countdown text color <span style="color:rgba(216, 19, 19, 1);">Pro feature!</span></h4>
651
+ <div class='disabled_for_pro'>
652
+ <div class="wp-picker-container"><a tabindex="0" class="wp-color-result" title="Select Color" data-current="Current Color" style="background-color: rgb(0, 0, 0);"></a></div>
653
+ </div>
654
+ </div>
655
+ <div class="option_group">
656
+ <h4 class="option_title">Countdown border radius <span style="color:rgba(216, 19, 19, 1);">Pro feature!</span></h4>
657
+ <div>
658
+ <input type="text" onclick="alert(text_of_upgrate_version); return false" size="3" value="8"/>Px
659
+ </div>
660
+ </div>
661
+
662
+ <div class="option_group">
663
+ <h4 class="option_title">Countdown font-size <span style="color:rgba(216, 19, 19, 1);">Pro feature!</span></h4>
664
+ <div>
665
+ <input type="text" onclick="alert(text_of_upgrate_version); return false" size="3" value="30"/>Px
666
+ </div>
667
+ </div>
668
+
669
+
670
+
671
+
672
+ <div class="option_group">
673
+ <h4 class="option_title">Mailing list button background color <span style="color:rgba(216, 19, 19, 1);">Pro feature!</span></h4>
674
+ <div class='disabled_for_pro'>
675
+ <div class="wp-picker-container"><a tabindex="0" class="wp-color-result" title="Select Color" data-current="Current Color" style="background-color: rgb(61, 168, 204);"></a></div>
676
+ </div>
677
+ </div>
678
+ <div class="option_group">
679
+ <h4 class="option_title">Mailing list button text color <span style="color:rgba(216, 19, 19, 1);">Pro feature!</span></h4>
680
+ <div class='disabled_for_pro'>
681
+ <div class="wp-picker-container"><a tabindex="0" class="wp-color-result" title="Select Color" data-current="Current Color" style="background-color: rgb(0, 0, 0);"></a></div>
682
+ </div>
683
+ </div>
684
+ <div class="option_group">
685
+ <h4 class="option_title">Mailing list input text color <span style="color:rgba(216, 19, 19, 1);">Pro feature!</span></h4>
686
+ <div class='disabled_for_pro'>
687
+ <div class="wp-picker-container"><a tabindex="0" class="wp-color-result" title="Select Color" data-current="Current Color" style="background-color: rgb(0, 0, 0);"></a></div>
688
+ </div>
689
+ </div>
690
+ <div class="option_group">
691
+ <h4 class="option_title">Mailing list button and input font-size <span style="color:rgba(216, 19, 19, 1);">Pro feature!</span></h4>
692
+ <div>
693
+ <input type="text" onclick="alert(text_of_upgrate_version); return false" size="3" value="25"/>Px
694
+ </div>
695
+ </div>
696
+ <div class="option_group">
697
+ <h4 class="option_title">Text color that will appear after sending Email. <span style="color:rgba(216, 19, 19, 1);">Pro feature!</span></h4>
698
+ <div class='disabled_for_pro'>
699
+ <div class="wp-picker-container"><a tabindex="0" class="wp-color-result" title="Select Color" data-current="Current Color" style="background-color: rgb(255, 255, 255);"></a></div>
700
+ </div>
701
+ </div>
702
+
703
+
704
+
705
+ <div class="option_group">
706
+ <h4 class="option_title">Facebook button background image</h4>
707
+ <div id="upload_image">
708
+ <input type="text" class="upload" id="social_facbook_bacground_image" name="social_facbook_bacground_image" size="60" value="<?php echo $page_parametrs['social_facbook_bacground_image'] ?>"/>
709
+ <input class="upload-button" type="button" value="Upload Image"/>
710
+ </div>
711
+ </div>
712
+
713
+ <div class="option_group">
714
+ <h4 class="option_title">Twitter button background image</h4>
715
+ <div id="upload_image">
716
+ <input type="text" class="upload" id="social_twiter_bacground_image" name="social_twiter_bacground_image" size="60" value="<?php echo $page_parametrs['social_twiter_bacground_image'] ?>"/>
717
+ <input class="upload-button" type="button" value="Upload Image"/>
718
+ </div>
719
+ </div>
720
+
721
+ <div class="option_group">
722
+ <h4 class="option_title">Google+ button background image</h4>
723
+ <div id="upload_image">
724
+ <input type="text" class="upload" id="social_google_bacground_image" name="social_google_bacground_image" size="60" value="<?php echo $page_parametrs['social_google_bacground_image'] ?>"/>
725
+ <input class="upload-button" type="button" value="Upload Image"/>
726
+ </div>
727
+ </div>
728
+
729
+ <div class="option_group">
730
+ <h4 class="option_title">YouTube button background image</h4>
731
+ <div id="upload_image">
732
+ <input type="text" class="upload" id="social_youtobe_bacground_image" name="social_youtobe_bacground_image" size="60" value="<?php echo $page_parametrs['social_youtobe_bacground_image'] ?>"/>
733
+ <input class="upload-button" type="button" value="Upload Image"/>
734
+ </div>
735
+ </div>
736
+
737
+ <div class="option_group">
738
+ <h4 class="option_title">Instagram button background image</h4>
739
+ <div id="upload_image">
740
+ <input type="text" class="upload" id="social_instagram_bacground_image" name="social_instagram_bacground_image" size="60" value="<?php echo $page_parametrs['social_instagram_bacground_image'] ?>"/>
741
+ <input class="upload-button" type="button" value="Upload Image"/>
742
+ </div>
743
+ </div>
744
+
745
+ <button type="button" id="save_button_design" class="save_button button button-primary">Save Design Settings</button>
746
+ <?php wp_nonce_field('coming_soon_options_nonce','coming_soon_options_nonce'); ?>
747
+ </form>
748
+ <script>
749
+ jQuery(document).ready(function(e) {
750
+
751
+
752
+ jQuery('.add_upload_image_button').click(function(){
753
+ jQuery('.slider_images_div').eq(jQuery('.slider_images_div').length-1).after(jQuery('<div class="slider_images_div"><br><input type="text" class="upload_many_images" size="60" value=""/><input class="upload-button button button-primary" type="button" value="Upload Image"/><input class="remove_upload_image" type="button" value="Remove"/></div>'))
754
+ initial_last_element_functions(this);
755
+ })
756
+ jQuery('.remove_upload_image').click(function(){
757
+ if(jQuery('.remove_upload_image').length>1)
758
+ jQuery(this).parent().remove()
759
+ })
760
+ jQuery("#coming_soon_page_background_color").wpColorPicker();
761
+ jQuery("#coming_soon_page_content_bg_color").wpColorPicker();
762
+ jQuery("#coming_soon_page_page_title_color").wpColorPicker();
763
+ jQuery("#countdown_button_color").wpColorPicker();
764
+ jQuery("#countdown_font_color").wpColorPicker();
765
+ jQuery("#mail_buttton_color").wpColorPicker();
766
+ jQuery("#mail_buttton_font_color").wpColorPicker();
767
+ jQuery("#sendmail_input_font_clolor").wpColorPicker();
768
+ jQuery("#sendmail_after_text_color").wpColorPicker();
769
+ jQuery('.disabled_for_pro div').click(function(){
770
+ alert(text_of_upgrate_version);
771
+ return false;
772
+ })
773
+ generete_radio_input(jQuery('#coming_soon_page_radio_backroundcolor'));
774
+ jQuery('#save_button_design').click(function(){
775
+ jQuery('body').prepend('<div id="saving_soon"><span id="loading_text"><img src="<?php echo $this->plugin_url.'images/loading_big.gif' ?>" /></span></div>');
776
+ jQuery('#saving_soon').height(jQuery(window).height());
777
+ //jQuery('#saving_soon').click(function(){jQuery('#saving_soon').remove()});
778
+ generete_slider_images();
779
+ generete_radio_input_hidden(jQuery('#page_content_position'));
780
+ jQuery.ajax({
781
+ type:'POST',
782
+ url: "<?php echo admin_url( 'admin-ajax.php?action=coming_soon_page_save' ); ?>",
783
+ data: {curent_page:'design',coming_soon_options_nonce:jQuery('#coming_soon_options_nonce').val()<?php foreach($page_parametrs as $key => $value){echo ','.$key.':jQuery("#'.$key.'").val()';} ?>},
784
+ }).done(function(date) {
785
+ alert(date)
786
+ jQuery('#saving_soon').remove();
787
+ });
788
+ });
789
+
790
+ jQuery( "#slider-coming_soon_page_content_trasparensy" ).slider({
791
+ orientation: "horizontal",
792
+ range: "min",
793
+ value: <?php echo $page_parametrs['coming_soon_page_content_trasparensy'] ?>,
794
+ min: 0,
795
+ max: 100,
796
+ slide: function( event, ui ) {
797
+ jQuery( "#coming_soon_page_content_trasparensy" ).val( ui.value );
798
+ }
799
+ });
800
+ jQuery( "#coming_soon_page_content_trasparensy" ).val(jQuery( "#slider-coming_soon_page_content_trasparensy" ).slider( "value" ) );
801
+ });
802
+ function initial_last_element_functions(element_of_add){
803
+ jQuery('.remove_upload_image').eq(jQuery('.remove_upload_image').length-1).click(function(){
804
+ if(jQuery('.remove_upload_image').length>1)
805
+ jQuery(this).parent().remove()
806
+ })
807
+ jQuery(element_of_add).parent().find('.upload-button').eq(jQuery(element_of_add).parent().find('.upload-button').length-1).click(function () {
808
+ window.parent.uploadID = jQuery(this).prev('input');
809
+ /*grab the specific input*/
810
+ formfield = jQuery('.upload').attr('name');
811
+ tb_show('', 'media-upload.php?type=image&height=640&width=1000&TB_iframe=true');
812
+ return false;
813
+ });
814
+ }
815
+ function generete_radio_input(element){
816
+
817
+ jQuery('.insert_design_value_this').val(jQuery(element).parent().find('input[type=radio]:checked').val())
818
+ jQuery('.back_color').hide();
819
+ jQuery('.back_imge').hide();
820
+ jQuery('.back_slider').hide();
821
+ jQuery('.'+jQuery(element).parent().find('input[type=radio]:checked').val()).show();
822
+ }
823
+ function generete_slider_images(){
824
+ var slider_images_url={};
825
+ var i=0;
826
+ jQuery('.upload_many_images').each(function() {
827
+ slider_images_url[i]=jQuery( this ).val();
828
+ i++;
829
+ });
830
+ jQuery('#coming_soon_page_background_imgs').val(JSON.stringify(slider_images_url))
831
+ }
832
+
833
+
834
+ </script>
835
+ <?php
836
+ }
837
+
838
+ public function generete_mailing_list_options_page($page_parametrs){
839
+ ?>
840
+ <style>
841
+ .mail_user{
842
+ margin-right:3px;
843
+ margin-top:15px;
844
+ background-color: #f5f5f5;
845
+ border: 1px solid #d9d9d9;
846
+ cursor: default;
847
+ display: block;
848
+ height: 20px;
849
+ white-space: nowrap;
850
+ -webkit-border-radius: 3px;
851
+ border-radius: 3px;
852
+ font-size: 13px;
853
+ display: inline-block;
854
+ padding: 3px;
855
+ vertical-align: top;
856
+ font-family: arial,sans-serif;
857
+ }
858
+
859
+ </style>
860
+ <?php
861
+ $mailing_lists=json_decode(stripslashes($page_parametrs['users_mailer']),true);
862
+ if($mailing_lists==null)
863
+ $mailing_lists=array();
864
+ foreach($mailing_lists as $email){
865
+ echo "<span class='mail_user'>".$email."</span>";
866
+ }
867
+ ?><br /><br />
868
+ <form method="post" id="coming_soon_options_form_send_mail" action="admin.php?page='<?php echo str_replace( ' ', '-', $this->menu_name); ?>'">
869
+ <input type="text" value="" placeholder="Message Title" style="width:400px;" id="massage_title" /><br />
870
+ <textarea id="massage_description" placeholder="Message" style="width:400px; height:300px"></textarea><br /><br /><br />
871
+ <button type="button" id="send_mailing" class="save_button button button-primary">Send Mail</button>
872
+ </form>
873
+
874
+ <script>
875
+ jQuery(document).ready(function(e) {
876
+ jQuery('#send_mailing').click(function(){
877
+ jQuery('body').prepend('<div id="saving_soon"><span id="loading_text"><img src="<?php echo $this->plugin_url.'images/loading_big.gif' ?>" /></span></div>');
878
+ jQuery('#saving_soon').height(jQuery(window).height());
879
+ jQuery.ajax({
880
+ type:'POST',
881
+ url: "<?php echo admin_url( 'admin-ajax.php?action=coming_soon_send_mail' ); ?>",
882
+ data: {massage_description:jQuery('#massage_description').val(),massage_title:jQuery('#massage_title').val()},
883
+ }).done(function(date) {
884
+ alert(date)
885
+ jQuery('#saving_soon').remove();
886
+ });
887
+ });
888
+ });
889
+ </script>
890
+
891
+ <?php
892
+ }
893
+ public function generete_mailing_live_previev_page(){
894
+
895
+ ?>
896
+ <iframe src="<?php echo site_url(); ?>/?special_variable_for_live_previev=sdfg564sfdh645fds4ghs515vsr5g48strh846sd6g41513btsd" width="100%" height="900px"></iframe>
897
+ <?php
898
+ }
899
+
900
+ }
includes/front_end.php ADDED
@@ -0,0 +1,496 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class coming_soon_front_end{
4
+ private $menu_name;
5
+ private $plugin_url;
6
+ private $databese_parametrs;
7
+ private $params;
8
+
9
+ function __construct($params){
10
+
11
+ $this->menu_name=$params['menu_name'];
12
+ $this->databese_parametrs=$params['databese_parametrs'];
13
+ if(isset($params['plugin_url']))
14
+ $this->plugin_url=$params['plugin_url'];
15
+ else
16
+ $this->plugin_url=trailingslashit(dirname(plugins_url('',__FILE__)));
17
+
18
+ add_action( 'wp_ajax_coming_soon_page_save_user_mail', array($this,'save_mailing_list') );
19
+ add_action( 'wp_ajax_nopriv_coming_soon_page_save_user_mail', array($this,'save_mailing_list') );
20
+ $this->params=$this->generete_params();
21
+ }
22
+ private function generete_params(){
23
+
24
+ $param_name='general';
25
+ foreach($this->databese_parametrs[$param_name] as $key => $value){
26
+ $front_end_parametrs[$key]=get_option($key,$value);
27
+ }
28
+ $param_name='design';
29
+ foreach($this->databese_parametrs[$param_name] as $key => $value){
30
+ $front_end_parametrs[$key]=get_option($key,$value);
31
+ }
32
+ $param_name='mailing_list';
33
+ foreach($this->databese_parametrs[$param_name] as $key => $value){
34
+ $front_end_parametrs[$key]=get_option($key,$value);
35
+ }
36
+
37
+ return $front_end_parametrs;
38
+
39
+
40
+
41
+ }
42
+ public function save_mailing_list(){
43
+ $params=$this->generete_params();
44
+
45
+ if(isset($_POST['user_email']) && $_POST['user_email']!='' && $this->params['enable_mailing_list']=='on'){
46
+ $email=$_POST['user_email'];
47
+ if(filter_var($email, FILTER_VALIDATE_EMAIL)){
48
+ $mailing_lists=json_decode(stripslashes($this->params['users_mailer']), true);
49
+ if(!$mailing_lists)
50
+ $mailing_lists=array();
51
+ if($mailing_lists==NULL)
52
+ $mailing_lists=array();
53
+ if(!in_array($email,$mailing_lists)) {
54
+ array_push($mailing_lists, $email);
55
+ update_option('users_mailer',json_encode($mailing_lists));
56
+ echo "<div class='information_user'>You Have Been Successfully Subscribed!</div>";
57
+ }
58
+ else{
59
+ echo "<div class='information_user'>You're Already Subscribed!</div>";
60
+ }
61
+ }
62
+ else{
63
+ echo "<div class='information_user'>Email Doesn't Exist</div>";
64
+ }
65
+ }
66
+ else{
67
+ echo "<div class='information_user'>Please Type Your Email</div>";
68
+ }
69
+ die();
70
+ }
71
+ private function get_real_ip() {
72
+ if (!empty($_SERVER['HTTP_CLIENT_IP'])) //check ip from share internet
73
+ {
74
+ $ip=$_SERVER['HTTP_CLIENT_IP'];
75
+ }
76
+ elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) //to check ip is pass from proxy
77
+ {
78
+ $ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
79
+ }
80
+ else
81
+ {
82
+ $ip=$_SERVER['REMOTE_ADDR'];
83
+ }
84
+ return $ip;
85
+ }
86
+ private function getCurrentURL(){
87
+ $currentURL = (@$_SERVER["HTTPS"] == "on") ? "https://" : "http://";
88
+ $currentURL .= $_SERVER["SERVER_NAME"];
89
+
90
+ if($_SERVER["SERVER_PORT"] != "80" && $_SERVER["SERVER_PORT"] != "443")
91
+ {
92
+ $currentURL .= ":".$_SERVER["SERVER_PORT"];
93
+ }
94
+
95
+ $currentURL .= $_SERVER["REQUEST_URI"];
96
+ return $currentURL;
97
+ }
98
+ private function if_time_is_pass(){
99
+
100
+ $countdown= json_decode(stripslashes($this->params['coming_soon_page_countdown']), true);
101
+ if($countdown['countedown_on']=='on'){
102
+ if((isset($countdown['hours']) && isset($countdown['days']) && isset($countdown['start_day'])) && (($countdown['hours'] || $countdown['days']) && $countdown['start_day'])){
103
+ $start_time=explode('/',$countdown['start_day']);
104
+ $time_diferent=mktime(0,0,0, $start_time[1],$start_time[0],$start_time[2])+$countdown['days']*3600*24+$countdown['hours']*3600-mktime(date("H"), date('i'), date("s"), date("n"), date("j"), date("Y"));
105
+ $day_left=(int)($time_diferent/(3600*24));
106
+ $hourse_left=(int)(($time_diferent-$day_left*24*3600)/(3600));
107
+ $minuts_left=(int)(($time_diferent-$day_left*24*3600-$hourse_left*3600)/(60));
108
+ $seconds_left=(int)(($time_diferent-$day_left*24*3600-$hourse_left*3600 - $minuts_left*60));
109
+ }
110
+ else{
111
+ return false;
112
+ }
113
+ if(($day_left<=0 && $hourse_left<=0 && $minuts_left<=0 && $seconds_left<=0)){
114
+ return false;
115
+ }
116
+ }
117
+ return true;
118
+
119
+ }
120
+ public function create_fornt_end(){
121
+ if($this->params['coming_soon_page_mode']=='on'){
122
+ if(!is_feed())
123
+ {
124
+ //if user not login page is redirect on coming soon template page
125
+ $ips=json_decode(stripslashes($this->params['coming_soon_page_showed_ips']), true);
126
+ if(!$ips)
127
+ $ips=array();
128
+ $in_range= in_array($this->get_real_ip(), $ips);
129
+
130
+ if ( (!is_user_logged_in() && !$in_range && $this->if_time_is_pass()) || (isset($_GET['special_variable_for_live_previev']) && $_GET['special_variable_for_live_previev']=='sdfg564sfdh645fds4ghs515vsr5g48strh846sd6g41513btsd') )
131
+ {
132
+
133
+ //get path of our coming soon display page and redirecting
134
+ $this->generete_front_end_html();
135
+ exit();
136
+ }
137
+ }
138
+ }
139
+ else
140
+ if((isset($_GET['special_variable_for_live_previev']) && $_GET['special_variable_for_live_previev']=='sdfg564sfdh645fds4ghs515vsr5g48strh846sd6g41513btsd')){
141
+ $this->generete_front_end_html();
142
+ exit();
143
+ }
144
+
145
+ }
146
+
147
+ public function generete_front_end_html(){
148
+ ?>
149
+ <!DOCTYPE html>
150
+ <html lang="en">
151
+ <head>
152
+ <meta charset="utf-8">
153
+ <title><?php bloginfo( 'name' ); $site_description = get_bloginfo( 'description' ); ?> </title>
154
+ <meta name="viewport" content="width=device-width" />
155
+ <meta name="viewport" content="initial-scale=1.0" />
156
+ <meta name="description" content="<?php echo $this->params['coming_soon_page_meta_description']; ?>">
157
+ <meta name="keywords" content="<?php echo $this->params['coming_soon_page_meta_keywords']; ?>">
158
+
159
+ <?php wp_print_scripts('jquery'); ?>
160
+
161
+ <style>
162
+ #title_style h1{
163
+ font-size:<?php echo $this->params['coming_soon_page_page_title_font_size']; ?>px;
164
+ color:<?php echo $this->params['coming_soon_page_page_title_color']; ?>;
165
+ font-size: 55px;
166
+ padding: 0px;
167
+ margin: 5px 0px 5px 0px;
168
+ }
169
+ #descrip{
170
+ margin: 5px 0px 5px 0px;
171
+ }
172
+ .soc_icon_coneiner{
173
+ display:inline-block;
174
+ margin-top:2%;
175
+ width: 100%;
176
+ }
177
+ .soc_icon_coneiner .soc_icon{
178
+ width: 7%;
179
+ display: inline-block;
180
+ margin-left: 3%;
181
+ margin-right: 3%;
182
+ }
183
+
184
+ .soc_icon_coneiner .soc_icon img{
185
+ width:100%;
186
+ max-height:82px;
187
+ }
188
+ .countdown > div{
189
+ margin-top:2%;
190
+ float:left;
191
+ color:#fff;
192
+ font-size:48px;
193
+ font-weight:bold;
194
+ }
195
+ .element_conteiner{
196
+ width:150px;
197
+ margin-left:4.3%;
198
+ display: inline-block;
199
+
200
+ }
201
+ .time_left{
202
+ border:none;
203
+ border-radius:8px;
204
+ background-color:#3DA8CC;
205
+ font-size:30px;
206
+ color:#000000;
207
+ padding-bottom: 4%;
208
+ padding-top: 5%;
209
+ padding-left: 25%;
210
+ padding-right: 25%;
211
+ font-weight:bold;
212
+ font-family: monospace;
213
+
214
+ }
215
+ .time_description{
216
+ margin-top:6px;
217
+ margin-bottom:6px;
218
+ font-size:25px;
219
+ color:#000000;
220
+ font-weight:bold;
221
+ font-family: monospace;
222
+ }
223
+ .information{
224
+ background: rgba(<?php echo hexdec(substr($this->params['coming_soon_page_content_bg_color'],1, 2)); ?>,<?php echo hexdec(substr($this->params['coming_soon_page_content_bg_color'],3, 2)); ?>,<?php echo hexdec(substr($this->params['coming_soon_page_content_bg_color'],5, 2)); ?>,<?php echo 1-($this->params['coming_soon_page_content_trasparensy']/100) ?>);
225
+ border-radius:<?php echo $this->params['page_content_boreder_radius'] ?>px;
226
+ width: 51%;
227
+ /*height:71.5%;*/
228
+ display:inline-block;
229
+ z-index:999999;
230
+ max-width:750px;
231
+ width:100%;
232
+ }
233
+
234
+ .information #logo img{
235
+ max-height:210px;
236
+ }
237
+ body{
238
+
239
+ <?php switch($this->params['coming_soon_page_radio_backroun']){
240
+
241
+ case 'back_color' :
242
+ echo 'background-color:'.$this->params['coming_soon_page_background_color'];
243
+ break;
244
+ case 'back_imge' :
245
+ echo 'background:url("'.$this->params['coming_soon_page_background_img'].'") no-repeat center center fixed;';
246
+ break;
247
+ case 'back_slider' :
248
+ break;
249
+ } ?>
250
+
251
+ -webkit-background-size: cover;
252
+ -moz-background-size: cover;
253
+ -o-background-size: cover;
254
+ background-size: cover;
255
+
256
+
257
+ }
258
+ <?php
259
+ -
260
+ $aligment_position='text-align:center;
261
+ vertical-align:middle;';
262
+ ?>
263
+ #main_inform_div{
264
+ display:table;
265
+ padding:10px;
266
+ }
267
+ .aligment{
268
+ display:table-cell;
269
+ <?php echo $aligment_position; ?>
270
+ width: 10%;
271
+ }
272
+ .user_mail_options{
273
+
274
+ }
275
+ #user_email{
276
+ font-size:25px;
277
+ border-radius:8px;
278
+ color:#000000;
279
+ width: 90%;
280
+ max-width: 350px;
281
+ padding-left:8px;
282
+ padding-top: 6px;
283
+ padding-bottom: 3px;
284
+ font-family: monospace;
285
+ }
286
+ .information_user{
287
+ margin-top:10px;
288
+ color:#FFFFFF;
289
+ font-size:25px;
290
+ font-weight:bold;
291
+ }
292
+ #Send_mail_button{
293
+ cursor:pointer;
294
+ margin-top:8px;
295
+ border:none;
296
+ border-radius:8px;
297
+ background-color:#3DA8CC;
298
+ font-size:25px;
299
+ color:#000000;
300
+ padding-bottom: 5px;
301
+ padding-top: 7px;
302
+ padding-left: 12px;
303
+ padding-right: 12px;
304
+ font-weight:bold;
305
+ font-family: monospace;
306
+ }
307
+
308
+ #slider{
309
+ left: 0px; top: 0px; overflow: hidden; margin: 0px; padding: 0px; height: 680px; width: 1903px; z-index: -999999; position: fixed;
310
+ }
311
+ </style>
312
+ </head>
313
+ <body>
314
+
315
+ <div id="main_inform_div">
316
+ <span class="aligment">
317
+ <div class="information">
318
+ <center>
319
+ <div id="logo" >
320
+ <img src="<?php echo stripslashes($this->params['coming_soon_page_page_logo']); ?>" />
321
+ </div>
322
+ <?php if($this->params['coming_soon_page_page_title']){ ?>
323
+ <div id="title_style" >
324
+ <h1><?php echo stripslashes($this->params['coming_soon_page_page_title']) ?></h1>
325
+ </div>
326
+ <?php } ?>
327
+ <div id="descrip" >
328
+ <?php echo stripslashes($this->params['coming_soon_page_page_message']) ?>
329
+ </div>
330
+ <?php $countdown= json_decode(stripslashes($this->params['coming_soon_page_countdown']), true);
331
+ if((isset($countdown['hours']) && isset($countdown['days']) && isset($countdown['start_day'])) && (($countdown['hours'] || $countdown['days']) && $countdown['start_day'])){
332
+ $start_time=explode('/',$countdown['start_day']);
333
+ $time_diferent=mktime(0,0,0, $start_time[1],$start_time[0],$start_time[2])+$countdown['days']*3600*24+$countdown['hours']*3600-mktime(date("H"), date('i'), date("s"), date("n"), date("j"), date("Y"));
334
+ $day_left=(int)($time_diferent/(3600*24));
335
+ $hourse_left=(int)(($time_diferent-$day_left*24*3600)/(3600));
336
+ $minuts_left=(int)(($time_diferent-$day_left*24*3600-$hourse_left*3600)/(60));
337
+ $seconds_left=(int)(($time_diferent-$day_left*24*3600-$hourse_left*3600 - $minuts_left*60));
338
+
339
+ if(!($day_left<=0 && $hourse_left<=0 && $minuts_left<=0 && $seconds_left<=0)){
340
+ ?>
341
+
342
+ <div class="countdown">
343
+ <span class="element_conteiner"><button disabled id="days" class="time_left"><?php echo $day_left; ?></button><div class="time_description">Days</div></span>
344
+ <span class="element_conteiner"><button disabled id="hourse" class="time_left"><?php echo $hourse_left; ?></button><div class="time_description">Hours</div></span>
345
+ <span class="element_conteiner"><button disabled id="minutes" class="time_left"><?php echo $minuts_left; ?></button><div class="time_description">Minutes</div></span>
346
+ <span class="element_conteiner"><button disabled id="secondes" class="time_left"><?php echo $seconds_left; ?></button><div class="time_description">Seconds</div></span>
347
+ </div>
348
+
349
+ <?php } } ?>
350
+ <div style="clear:both"></div>
351
+
352
+ <?php if($this->params['enable_mailing_list']=='on') { ?>
353
+ <div class="user_mail">
354
+
355
+ <div class="user_mail_options">
356
+ <input type="text" placeholder="<?php echo $this->params['mailing_list_value_of_emptyt'] ?>" name="email" id="user_email">
357
+ <button type="button" id="Send_mail_button" class="Send_mail_button button button-primary"><?php echo $this->params['mailing_list_button_value'] ?></button>
358
+ <div id="user_loading_and_saving"></div>
359
+ </div>
360
+
361
+
362
+ </div><?php } ?>
363
+ <div style="clear:both"></div>
364
+
365
+ <div class="soc_icon_coneiner">
366
+ <?php if($this->params['coming_soon_page_facebook']){ ?>
367
+ <span class="soc_icon">
368
+ <a href="<?php $this->params['coming_soon_page_facebook']; ?>"><img src="<?php echo $this->params['social_facbook_bacground_image']; ?>" /></a>
369
+ </span>
370
+ <?php } ?>
371
+ <?php if($this->params['coming_soon_page_twitter']){ ?>
372
+ <span class="soc_icon">
373
+ <a href="<?php $this->params['coming_soon_page_twitter']; ?>"><img src="<?php echo $this->params['social_twiter_bacground_image']; ?>" /></a>
374
+ </span>
375
+ <?php } ?>
376
+ <?php if($this->params['coming_soon_page_google_plus']){ ?>
377
+ <span class="soc_icon">
378
+ <a href="<?php $this->params['coming_soon_page_google_plus']; ?>"><img src="<?php echo $this->params['social_google_bacground_image']; ?>" /></a>
379
+ </span>
380
+ <?php } ?>
381
+ <?php if($this->params['coming_soon_page_youtube']){ ?>
382
+ <span class="soc_icon">
383
+ <a href="<?php $this->params['coming_soon_page_youtube']; ?>"><img src="<?php echo $this->params['social_youtobe_bacground_image']; ?>" /></a>
384
+ </span>
385
+ <?php } ?>
386
+ <?php if($this->params['coming_soon_page_instagram']){ ?>
387
+ <span class="soc_icon">
388
+ <a href="<?php $this->params['coming_soon_page_instagram']; ?>"><img src="<?php echo $this->params['social_instagram_bacground_image']; ?>" /></a>
389
+ </span>
390
+ <?php } ?>
391
+
392
+
393
+
394
+
395
+ </div>
396
+ </center>
397
+ </div>
398
+ </span>
399
+ </div>
400
+ </div>
401
+
402
+ <script type="text/javascript">
403
+
404
+ function backgroun_custom_sizes(){
405
+ /*with_of_window=jQuery(window).width()
406
+ heigth_of_window=jQuery(window).height()
407
+ if((with_of_window*1920/1080)<heigth_of_window){
408
+ jQuery('body').css('background-size', with_of_window+'px'+' auto')
409
+ }else{
410
+ jQuery('body').css('background-size','auto '+ heigth_of_window+'px')
411
+ } */
412
+ }
413
+
414
+ jQuery(window).resize(function(){
415
+ jQuery('#main_inform_div').css('height',jQuery(window).height()-28);
416
+ jQuery('#main_inform_div').width(jQuery(window).width()-28);
417
+ /* jQuery('body *').each(function(index, element) {
418
+ initial_width=1920;
419
+ curent_width=jQuery(window).width();
420
+ kaifcent=curent_width/initial_width;
421
+ jQuery(this).css("font-size", "")
422
+ if(parseInt(jQuery(this).css('font-size'))){
423
+ jQuery(this).css('font-size',parseInt(jQuery(this).css('font-size'))*kaifcent+'px')
424
+ }
425
+ }); */
426
+ backgroun_custom_sizes();
427
+
428
+
429
+ });
430
+
431
+
432
+ jQuery(document).ready(function(e) {
433
+ backgroun_custom_sizes();
434
+ if(jQuery('#days').length>=1){
435
+ setInterval(timer_coming_soon,1000)
436
+ }
437
+ /*jQuery('body *').each(function(index, element) {
438
+ initial_width=1920;
439
+ curent_width=jQuery(window).width();
440
+ kaifcent=curent_width/initial_width;
441
+ jQuery(this).css("font-size", "")
442
+ if(parseInt(jQuery(this).css('font-size'))){
443
+ jQuery(this).css('font-size',parseInt(jQuery(this).css('font-size'))*kaifcent+'px')
444
+ }
445
+ });*/
446
+ jQuery('#main_inform_div').css('height',jQuery(window).height()-28);
447
+ jQuery('#main_inform_div').width(jQuery(window).width()-28);
448
+ main_inform_div
449
+ jQuery('#Send_mail_button').click(function(){
450
+ jQuery('#user_loading_and_saving').html('<img width="35px" src="<?php echo $this->plugin_url.'images/loading.gif' ?>" />')
451
+ jQuery.ajax({
452
+ type:'POST',
453
+ url: "<?php echo admin_url( 'admin-ajax.php?action=coming_soon_page_save_user_mail' ); ?>",
454
+ data: {user_email:jQuery('#user_email').val()}
455
+ }).done(function(date) {
456
+ jQuery('#user_loading_and_saving').html(date);
457
+ jQuery('#saving_soon').remove();
458
+ });
459
+ })
460
+ });
461
+ function timer_coming_soon(){
462
+ var days_left=parseInt(jQuery('#days').text());
463
+ var hours_left=parseInt(jQuery('#hourse').text());;
464
+ var minutes_left=parseInt(jQuery('#minutes').text());;
465
+ var secondes_left=parseInt(jQuery('#secondes').text());;
466
+ var all_time=days_left*24*3600+hours_left*3600+minutes_left*60+secondes_left;
467
+ all_time--;
468
+ days_left=parseInt(all_time/(3600*24));
469
+ hours_left=parseInt((all_time-days_left*3600*24)/(3600));
470
+ minutes_left=parseInt((all_time-days_left*3600*24-hours_left*3600)/(60));
471
+ secondes_left=parseInt((all_time-days_left*3600*24-hours_left*3600-minutes_left*60));
472
+ jQuery('#days').html(days_left);
473
+ jQuery('#hourse').html(hours_left);
474
+ jQuery('#minutes').html(minutes_left);
475
+ jQuery('#secondes').html(secondes_left);
476
+ if(days_left<=0 && hours_left<=0 && minutes_left<=0 && secondes_left<=0){
477
+ window.location="<?php echo site_url(); ?>"
478
+ }
479
+ }
480
+
481
+
482
+
483
+ </script>
484
+ </body>
485
+ </html>
486
+ <?php
487
+
488
+ }
489
+
490
+
491
+ }
492
+
493
+
494
+
495
+
496
+ ?>
includes/install_database.php ADDED
@@ -0,0 +1,74 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /// class for install databese
4
+
5
+ class install_database{
6
+
7
+ public $installed_options; // all standart_options
8
+ private $plugin_url;
9
+
10
+ function __construct(){
11
+
12
+ if(isset($params['plugin_url']))
13
+ $this->plugin_url=$params['plugin_url'];
14
+ else
15
+ $this->plugin_url=trailingslashit(dirname(plugins_url('',__FILE__)));
16
+
17
+
18
+ $this->installed_options=array(
19
+ "general"=>array(
20
+ "coming_soon_page_mode" => "off",
21
+ "enable_mailing_list" => "on",
22
+ "mailing_list_value_of_emptyt" => "Email",
23
+ "mailing_list_button_value" => "Send",
24
+ "coming_soon_page_page_logo" => $this->plugin_url.'images/template1/logo.png',
25
+ "coming_soon_page_page_title" => "Coming Soon Page",
26
+ "coming_soon_page_page_message" => "<span style=\"font-size: 30px;\">We will be back soon. View some useful information on our coming soon page, share it with friends</span><br><br>",
27
+ "coming_soon_page_meta_keywords" => "",
28
+ "coming_soon_page_meta_description" => "",
29
+ "coming_soon_page_countdown" => '{"days":"99","hours":"10","start_day":"22/10/2014","countedown_on":"on"}',
30
+ "coming_soon_page_showed_ips" => "",
31
+ "coming_soon_page_facebook" => "",
32
+ "coming_soon_page_twitter" => "",
33
+ "coming_soon_page_google_plus" => "",
34
+ "coming_soon_page_youtube" => "",
35
+ "coming_soon_page_instagram" => "",
36
+ ),
37
+ "design"=>array(
38
+
39
+ "coming_soon_page_radio_backroun" => "back_imge",
40
+ "coming_soon_page_background_img" => $this->plugin_url.'images/template1/background.jpg',
41
+ "coming_soon_page_background_color" => "#cacaca",
42
+ "coming_soon_page_page_title_color" => "#000000",
43
+ "coming_soon_page_page_title_font_size" => "55",
44
+
45
+ "coming_soon_page_content_trasparensy" => "55",
46
+ "coming_soon_page_content_bg_color" => "#FFFFFF",
47
+ "page_content_position" => "center-middle",
48
+ "page_content_boreder_radius" => "8",
49
+
50
+
51
+
52
+
53
+ "social_facbook_bacground_image" => $this->plugin_url.'images/template1/facebook.png',
54
+ "social_twiter_bacground_image" => $this->plugin_url.'images/template1/twiter.png',
55
+ "social_google_bacground_image" => $this->plugin_url.'images/template1/gmail.png',
56
+ "social_youtobe_bacground_image" => $this->plugin_url.'images/template1/youtobe.png',
57
+ "social_instagram_bacground_image" => $this->plugin_url.'images/template1/instagram.png',
58
+ ),
59
+ "mailing_list"=>array(
60
+ "users_mailer" => "",
61
+ "sended_user_massage" => "Hello Our Site Is Opened",
62
+ )
63
+ );
64
+
65
+
66
+ }
67
+ public function install_databese(){
68
+ foreach( $this->installed_options as $key => $option ){
69
+ if( get_option($key,FALSE) === FALSE ){
70
+ add_option($key,$option);
71
+ }
72
+ }
73
+ }
74
+ }
includes/javascript/background.js ADDED
@@ -0,0 +1 @@
 
1
+ (function(a,d,p){a.fn.backstretch=function(c,b){(c===p||0===c.length)&&a.error("No images were supplied for Backstretch");0===a(d).scrollTop()&&d.scrollTo(0,0);return this.each(function(){var d=a(this),g=d.data("backstretch");if(g){if("string"==typeof c&&"function"==typeof g[c]){g[c](b);return}b=a.extend(g.options,b);g.destroy(!0)}g=new q(this,c,b);d.data("backstretch",g)})};a.backstretch=function(c,b){return a("body").backstretch(c,b).data("backstretch")};a.expr[":"].backstretch=function(c){return a(c).data("backstretch")!==p};a.fn.backstretch.defaults={centeredX:!0,centeredY:!0,duration:5E3,fade:0};var r={left:0,top:0,overflow:"hidden",margin:0,padding:0,height:"100%",width:"100%",zIndex:-999999},s={position:"absolute",display:"none",margin:0,padding:0,border:"none",width:"auto",height:"auto",maxHeight:"none",maxWidth:"none",zIndex:-999999},q=function(c,b,e){this.options=a.extend({},a.fn.backstretch.defaults,e||{});this.images=a.isArray(b)?b:[b];a.each(this.images,function(){a("<img />")[0].src=this});this.isBody=c===document.body;this.$container=a(c);this.$root=this.isBody?l?a(d):a(document):this.$container;c=this.$container.children(".backstretch").first();this.$wrap=c.length?c:a('<div class="backstretch"></div>').css(r).appendTo(this.$container);this.isBody||(c=this.$container.css("position"),b=this.$container.css("zIndex"),this.$container.css({position:"static"===c?"relative":c,zIndex:"auto"===b?0:b,background:"none"}),this.$wrap.css({zIndex:-999998}));this.$wrap.css({position:this.isBody&&l?"fixed":"absolute"});this.index=0;this.show(this.index);a(d).on("resize.backstretch",a.proxy(this.resize,this)).on("orientationchange.backstretch",a.proxy(function(){this.isBody&&0===d.pageYOffset&&(d.scrollTo(0,1),this.resize())},this))};q.prototype={resize:function(){try{var a={left:0,top:0},b=this.isBody?this.$root.width():this.$root.innerWidth(),e=b,g=this.isBody?d.innerHeight?d.innerHeight:this.$root.height():this.$root.innerHeight(),j=e/this.$img.data("ratio"),f;j>=g?(f=(j-g)/2,this.options.centeredY&&(a.top="-"+f+"px")):(j=g,e=j*this.$img.data("ratio"),f=(e-b)/2,this.options.centeredX&&(a.left="-"+f+"px"));this.$wrap.css({width:b,height:g}).find("img:not(.deleteable)").css({width:e,height:j}).css(a)}catch(h){}return this},show:function(c){if(!(Math.abs(c)>this.images.length-1)){var b=this,e=b.$wrap.find("img").addClass("deleteable"),d={relatedTarget:b.$container[0]};b.$container.trigger(a.Event("backstretch.before",d),[b,c]);this.index=c;clearInterval(b.interval);b.$img=a("<img />").css(s).bind("load",function(f){var h=this.width||a(f.target).width();f=this.height||a(f.target).height();a(this).data("ratio",h/f);a(this).fadeIn(b.options.speed||b.options.fade,function(){e.remove();b.paused||b.cycle();a(["after","show"]).each(function(){b.$container.trigger(a.Event("backstretch."+this,d),[b,c])})});b.resize()}).appendTo(b.$wrap);b.$img.attr("src",b.images[c]);return b}},next:function(){return this.show(this.index<this.images.length-1?this.index+1:0)},prev:function(){return this.show(0===this.index?this.images.length-1:this.index-1)},pause:function(){this.paused=!0;return this},resume:function(){this.paused=!1;this.next();return this},cycle:function(){1<this.images.length&&(clearInterval(this.interval),this.interval=setInterval(a.proxy(function(){this.paused||this.next()},this),this.options.duration));return this},destroy:function(c){a(d).off("resize.backstretch orientationchange.backstretch");clearInterval(this.interval);c||this.$wrap.remove();this.$container.removeData("backstretch")}};var l,f=navigator.userAgent,m=navigator.platform,e=f.match(/AppleWebKit\/([0-9]+)/),e=!!e&&e[1],h=f.match(/Fennec\/([0-9]+)/),h=!!h&&h[1],n=f.match(/Opera Mobi\/([0-9]+)/),t=!!n&&n[1],k=f.match(/MSIE ([0-9]+)/),k=!!k&&k[1];l=!((-1<m.indexOf("iPhone")||-1<m.indexOf("iPad")||-1<m.indexOf("iPod"))&&e&&534>e||d.operamini&&"[object OperaMini]"==={}.toString.call(d.operamini)||n&&7458>t||-1<f.indexOf("Android")&&e&&533>e||h&&6>h||"palmGetResource"in d&&e&&534>e||-1<f.indexOf("MeeGo")&&-1<f.indexOf("NokiaBrowser/8.5.0")||k&&6>=k)})(jQuery,window);
includes/style/admin-style.css ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #coming_soon_options_form{
2
+ margin-left:-20px;
3
+ }
4
+ .remove_element{
5
+ background-image:url(../../images/remove_element.png);
6
+ background-size:contain;
7
+ width: 21px;
8
+ height: 21px;
9
+ display: inline-block;
10
+ position: relative;
11
+ top: 4px;
12
+ margin-left: 7px;
13
+ cursor: pointer;
14
+ }
15
+ .option_group{
16
+ margin-bottom: 10px;
17
+ padding-top:10px;
18
+ padding-bottom:20px;
19
+ padding-left:30px;
20
+ }
21
+ .option_group:nth-child(2n-1){
22
+ background-color:rgba(186, 221, 235, 0.62);
23
+ }
24
+ .option_group:nth-child(2n),.option_group.back_imge{
25
+ background-color:rgba(244, 252, 255, 0.62);
26
+ }
27
+ .option_title{
28
+ padding-top: 0px;
29
+ margin-top: 11px;
30
+ font-size:15px;
31
+ margin-left: -20px;
32
+ }
33
+ #save_button,#send_mailing{
34
+ margin-left:20px;
35
+ font-size:25px;
36
+ font-weight:bold;
37
+ padding-top:12px;
38
+ padding-bottom:12px;
39
+ height:auto;
40
+ }
41
+ #save_button_design{
42
+ margin-left:20px;
43
+ font-size:25px;
44
+ font-weight:bold;
45
+ padding-top:12px;
46
+ padding-bottom:12px;
47
+ height:auto;
48
+ }
49
+ .emelent_coming_soon_page_showed_urls input{
50
+ width:600px;
51
+ }
52
+ .upload-button{
53
+ margin-left:5px !important;
54
+ }
55
+ .remove_upload_image{
56
+ margin-left:5px !important;
57
+ }
includes/style/jquery-ui-style.css ADDED
@@ -0,0 +1,1217 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .ui-helper-hidden {
2
+ display: none;
3
+ }
4
+ .ui-helper-hidden-accessible {
5
+ border: 0;
6
+ clip: rect(0 0 0 0);
7
+ height: 1px;
8
+ margin: -1px;
9
+ overflow: hidden;
10
+ padding: 0;
11
+ position: absolute;
12
+ width: 1px;
13
+ }
14
+ .ui-helper-reset {
15
+ margin: 0;
16
+ padding: 0;
17
+ border: 0;
18
+ outline: 0;
19
+ line-height: 1.3;
20
+ text-decoration: none;
21
+ font-size: 100%;
22
+ list-style: none;
23
+ }
24
+ .ui-helper-clearfix:before,
25
+ .ui-helper-clearfix:after {
26
+ content: "";
27
+ display: table;
28
+ border-collapse: collapse;
29
+ }
30
+ .ui-helper-clearfix:after {
31
+ clear: both;
32
+ }
33
+ .ui-helper-clearfix {
34
+ min-height: 0; /* support: IE7 */
35
+ }
36
+ .ui-helper-zfix {
37
+ width: 100%;
38
+ height: 100%;
39
+ top: 0;
40
+ left: 0;
41
+ position: absolute;
42
+ opacity: 0;
43
+ filter:Alpha(Opacity=0); /* support: IE8 */
44
+ }
45
+
46
+ .ui-front {
47
+ z-index: 100;
48
+ }
49
+
50
+
51
+ /* Interaction Cues
52
+ ----------------------------------*/
53
+ .ui-state-disabled {
54
+ cursor: default !important;
55
+ }
56
+
57
+
58
+ /* Icons
59
+ ----------------------------------*/
60
+
61
+ /* states and ../../images */
62
+ .ui-icon {
63
+ display: block;
64
+ text-indent: -99999px;
65
+ overflow: hidden;
66
+ background-repeat: no-repeat;
67
+ }
68
+
69
+
70
+ /* Misc visuals
71
+ ----------------------------------*/
72
+
73
+ /* Overlays */
74
+ .ui-widget-overlay {
75
+ position: fixed;
76
+ top: 0;
77
+ left: 0;
78
+ width: 100%;
79
+ height: 100%;
80
+ }
81
+ .ui-accordion .ui-accordion-header {
82
+ display: block;
83
+ cursor: pointer;
84
+ position: relative;
85
+ margin: 2px 0 0 0;
86
+ padding: .5em .5em .5em .7em;
87
+ min-height: 0; /* support: IE7 */
88
+ font-size: 100%;
89
+ }
90
+ .ui-accordion .ui-accordion-icons {
91
+ padding-left: 2.2em;
92
+ }
93
+ .ui-accordion .ui-accordion-icons .ui-accordion-icons {
94
+ padding-left: 2.2em;
95
+ }
96
+ .ui-accordion .ui-accordion-header .ui-accordion-header-icon {
97
+ position: absolute;
98
+ left: .5em;
99
+ top: 50%;
100
+ margin-top: -8px;
101
+ }
102
+ .ui-accordion .ui-accordion-content {
103
+ padding: 1em 2.2em;
104
+ border-top: 0;
105
+ overflow: auto;
106
+ }
107
+ .ui-autocomplete {
108
+ position: absolute;
109
+ top: 0;
110
+ left: 0;
111
+ cursor: default;
112
+ }
113
+ .ui-button {
114
+ display: inline-block;
115
+ position: relative;
116
+ padding: 0;
117
+ line-height: normal;
118
+ margin-right: .1em;
119
+ cursor: pointer;
120
+ vertical-align: middle;
121
+ text-align: center;
122
+ overflow: visible; /* removes extra width in IE */
123
+ }
124
+ .ui-button,
125
+ .ui-button:link,
126
+ .ui-button:visited,
127
+ .ui-button:hover,
128
+ .ui-button:active {
129
+ text-decoration: none;
130
+ }
131
+ /* to make room for the icon, a width needs to be set here */
132
+ .ui-button-icon-only {
133
+ width: 2.2em;
134
+ }
135
+ /* button elements seem to need a little more width */
136
+ button.ui-button-icon-only {
137
+ width: 2.4em;
138
+ }
139
+ .ui-button-icons-only {
140
+ width: 3.4em;
141
+ }
142
+ button.ui-button-icons-only {
143
+ width: 3.7em;
144
+ }
145
+
146
+ /* button text element */
147
+ .ui-button .ui-button-text {
148
+ display: block;
149
+ line-height: normal;
150
+ }
151
+ .ui-button-text-only .ui-button-text {
152
+ padding: .4em 1em;
153
+ }
154
+ .ui-button-icon-only .ui-button-text,
155
+ .ui-button-icons-only .ui-button-text {
156
+ padding: .4em;
157
+ text-indent: -9999999px;
158
+ }
159
+ .ui-button-text-icon-primary .ui-button-text,
160
+ .ui-button-text-icons .ui-button-text {
161
+ padding: .4em 1em .4em 2.1em;
162
+ }
163
+ .ui-button-text-icon-secondary .ui-button-text,
164
+ .ui-button-text-icons .ui-button-text {
165
+ padding: .4em 2.1em .4em 1em;
166
+ }
167
+ .ui-button-text-icons .ui-button-text {
168
+ padding-left: 2.1em;
169
+ padding-right: 2.1em;
170
+ }
171
+ /* no icon support for input elements, provide padding by default */
172
+ input.ui-button {
173
+ padding: .4em 1em;
174
+ }
175
+
176
+ /* button icon element(s) */
177
+ .ui-button-icon-only .ui-icon,
178
+ .ui-button-text-icon-primary .ui-icon,
179
+ .ui-button-text-icon-secondary .ui-icon,
180
+ .ui-button-text-icons .ui-icon,
181
+ .ui-button-icons-only .ui-icon {
182
+ position: absolute;
183
+ top: 50%;
184
+ margin-top: -8px;
185
+ }
186
+ .ui-button-icon-only .ui-icon {
187
+ left: 50%;
188
+ margin-left: -8px;
189
+ }
190
+ .ui-button-text-icon-primary .ui-button-icon-primary,
191
+ .ui-button-text-icons .ui-button-icon-primary,
192
+ .ui-button-icons-only .ui-button-icon-primary {
193
+ left: .5em;
194
+ }
195
+ .ui-button-text-icon-secondary .ui-button-icon-secondary,
196
+ .ui-button-text-icons .ui-button-icon-secondary,
197
+ .ui-button-icons-only .ui-button-icon-secondary {
198
+ right: .5em;
199
+ }
200
+
201
+ /* button sets */
202
+ .ui-buttonset {
203
+ margin-right: 7px;
204
+ }
205
+ .ui-buttonset .ui-button {
206
+ margin-left: 0;
207
+ margin-right: -.3em;
208
+ }
209
+
210
+ /* workarounds */
211
+ /* reset extra padding in Firefox, see h5bp.com/l */
212
+ input.ui-button::-moz-focus-inner,
213
+ button.ui-button::-moz-focus-inner {
214
+ border: 0;
215
+ padding: 0;
216
+ }
217
+ .ui-datepicker {
218
+ width: 17em;
219
+ padding: .2em .2em 0;
220
+ display: none;
221
+ }
222
+ .ui-datepicker .ui-datepicker-header {
223
+ position: relative;
224
+ padding: .2em 0;
225
+ }
226
+ .ui-datepicker .ui-datepicker-prev,
227
+ .ui-datepicker .ui-datepicker-next {
228
+ position: absolute;
229
+ top: 2px;
230
+ width: 1.8em;
231
+ height: 1.8em;
232
+ }
233
+ .ui-datepicker .ui-datepicker-prev-hover,
234
+ .ui-datepicker .ui-datepicker-next-hover {
235
+ top: 1px;
236
+ }
237
+ .ui-datepicker .ui-datepicker-prev {
238
+ left: 2px;
239
+ }
240
+ .ui-datepicker .ui-datepicker-next {
241
+ right: 2px;
242
+ }
243
+ .ui-datepicker .ui-datepicker-prev-hover {
244
+ left: 1px;
245
+ }
246
+ .ui-datepicker .ui-datepicker-next-hover {
247
+ right: 1px;
248
+ }
249
+ .ui-datepicker .ui-datepicker-prev span,
250
+ .ui-datepicker .ui-datepicker-next span {
251
+ display: block;
252
+ position: absolute;
253
+ left: 50%;
254
+ margin-left: -8px;
255
+ top: 50%;
256
+ margin-top: -8px;
257
+ }
258
+ .ui-datepicker .ui-datepicker-title {
259
+ margin: 0 2.3em;
260
+ line-height: 1.8em;
261
+ text-align: center;
262
+ }
263
+ .ui-datepicker .ui-datepicker-title select {
264
+ font-size: 1em;
265
+ margin: 1px 0;
266
+ }
267
+ .ui-datepicker select.ui-datepicker-month,
268
+ .ui-datepicker select.ui-datepicker-year {
269
+ width: 45%;
270
+ }
271
+ .ui-datepicker table {
272
+ width: 100%;
273
+ font-size: .9em;
274
+ border-collapse: collapse;
275
+ margin: 0 0 .4em;
276
+ }
277
+ .ui-datepicker th {
278
+ padding: .7em .3em;
279
+ text-align: center;
280
+ font-weight: bold;
281
+ border: 0;
282
+ }
283
+ .ui-datepicker td {
284
+ border: 0;
285
+ padding: 1px;
286
+ }
287
+ .ui-datepicker td span,
288
+ .ui-datepicker td a {
289
+ display: block;
290
+ padding: .2em;
291
+ text-align: right;
292
+ text-decoration: none;
293
+ }
294
+ .ui-datepicker .ui-datepicker-buttonpane {
295
+ background-image: none;
296
+ margin: .7em 0 0 0;
297
+ padding: 0 .2em;
298
+ border-left: 0;
299
+ border-right: 0;
300
+ border-bottom: 0;
301
+ }
302
+ .ui-datepicker .ui-datepicker-buttonpane button {
303
+ float: right;
304
+ margin: .5em .2em .4em;
305
+ cursor: pointer;
306
+ padding: .2em .6em .3em .6em;
307
+ width: auto;
308
+ overflow: visible;
309
+ }
310
+ .ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {
311
+ float: left;
312
+ }
313
+
314
+ /* with multiple calendars */
315
+ .ui-datepicker.ui-datepicker-multi {
316
+ width: auto;
317
+ }
318
+ .ui-datepicker-multi .ui-datepicker-group {
319
+ float: left;
320
+ }
321
+ .ui-datepicker-multi .ui-datepicker-group table {
322
+ width: 95%;
323
+ margin: 0 auto .4em;
324
+ }
325
+ .ui-datepicker-multi-2 .ui-datepicker-group {
326
+ width: 50%;
327
+ }
328
+ .ui-datepicker-multi-3 .ui-datepicker-group {
329
+ width: 33.3%;
330
+ }
331
+ .ui-datepicker-multi-4 .ui-datepicker-group {
332
+ width: 25%;
333
+ }
334
+ .ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,
335
+ .ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header {
336
+ border-left-width: 0;
337
+ }
338
+ .ui-datepicker-multi .ui-datepicker-buttonpane {
339
+ clear: left;
340
+ }
341
+ .ui-datepicker-row-break {
342
+ clear: both;
343
+ width: 100%;
344
+ font-size: 0;
345
+ }
346
+
347
+ /* RTL support */
348
+ .ui-datepicker-rtl {
349
+ direction: rtl;
350
+ }
351
+ .ui-datepicker-rtl .ui-datepicker-prev {
352
+ right: 2px;
353
+ left: auto;
354
+ }
355
+ .ui-datepicker-rtl .ui-datepicker-next {
356
+ left: 2px;
357
+ right: auto;
358
+ }
359
+ .ui-datepicker-rtl .ui-datepicker-prev:hover {
360
+ right: 1px;
361
+ left: auto;
362
+ }
363
+ .ui-datepicker-rtl .ui-datepicker-next:hover {
364
+ left: 1px;
365
+ right: auto;
366
+ }
367
+ .ui-datepicker-rtl .ui-datepicker-buttonpane {
368
+ clear: right;
369
+ }
370
+ .ui-datepicker-rtl .ui-datepicker-buttonpane button {
371
+ float: left;
372
+ }
373
+ .ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,
374
+ .ui-datepicker-rtl .ui-datepicker-group {
375
+ float: right;
376
+ }
377
+ .ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,
378
+ .ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header {
379
+ border-right-width: 0;
380
+ border-left-width: 1px;
381
+ }
382
+ .ui-dialog {
383
+ overflow: hidden;
384
+ position: absolute;
385
+ top: 0;
386
+ left: 0;
387
+ padding: .2em;
388
+ outline: 0;
389
+ }
390
+ .ui-dialog .ui-dialog-titlebar {
391
+ padding: .4em 1em;
392
+ position: relative;
393
+ }
394
+ .ui-dialog .ui-dialog-title {
395
+ float: left;
396
+ margin: .1em 0;
397
+ white-space: nowrap;
398
+ width: 90%;
399
+ overflow: hidden;
400
+ text-overflow: ellipsis;
401
+ }
402
+ .ui-dialog .ui-dialog-titlebar-close {
403
+ position: absolute;
404
+ right: .3em;
405
+ top: 50%;
406
+ width: 20px;
407
+ margin: -10px 0 0 0;
408
+ padding: 1px;
409
+ height: 20px;
410
+ }
411
+ .ui-dialog .ui-dialog-content {
412
+ position: relative;
413
+ border: 0;
414
+ padding: .5em 1em;
415
+ background: none;
416
+ overflow: auto;
417
+ }
418
+ .ui-dialog .ui-dialog-buttonpane {
419
+ text-align: left;
420
+ border-width: 1px 0 0 0;
421
+ background-image: none;
422
+ margin-top: .5em;
423
+ padding: .3em 1em .5em .4em;
424
+ }
425
+ .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
426
+ float: right;
427
+ }
428
+ .ui-dialog .ui-dialog-buttonpane button {
429
+ margin: .5em .4em .5em 0;
430
+ cursor: pointer;
431
+ }
432
+ .ui-dialog .ui-resizable-se {
433
+ width: 12px;
434
+ height: 12px;
435
+ right: -5px;
436
+ bottom: -5px;
437
+ background-position: 16px 16px;
438
+ }
439
+ .ui-draggable .ui-dialog-titlebar {
440
+ cursor: move;
441
+ }
442
+ .ui-draggable-handle {
443
+ -ms-touch-action: none;
444
+ touch-action: none;
445
+ }
446
+ .ui-menu {
447
+ list-style: none;
448
+ padding: 0;
449
+ margin: 0;
450
+ display: block;
451
+ outline: none;
452
+ }
453
+ .ui-menu .ui-menu {
454
+ position: absolute;
455
+ }
456
+ .ui-menu .ui-menu-item {
457
+ position: relative;
458
+ margin: 0;
459
+ padding: 3px 1em 3px .4em;
460
+ cursor: pointer;
461
+ min-height: 0; /* support: IE7 */
462
+ /* support: IE10, see #8844 */
463
+ list-style-image: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7");
464
+ }
465
+ .ui-menu .ui-menu-divider {
466
+ margin: 5px 0;
467
+ height: 0;
468
+ font-size: 0;
469
+ line-height: 0;
470
+ border-width: 1px 0 0 0;
471
+ }
472
+ .ui-menu .ui-state-focus,
473
+ .ui-menu .ui-state-active {
474
+ margin: -1px;
475
+ }
476
+
477
+ /* icon support */
478
+ .ui-menu-icons {
479
+ position: relative;
480
+ }
481
+ .ui-menu-icons .ui-menu-item {
482
+ padding-left: 2em;
483
+ }
484
+
485
+ /* left-aligned */
486
+ .ui-menu .ui-icon {
487
+ position: absolute;
488
+ top: 0;
489
+ bottom: 0;
490
+ left: .2em;
491
+ margin: auto 0;
492
+ }
493
+
494
+ /* right-aligned */
495
+ .ui-menu .ui-menu-icon {
496
+ left: auto;
497
+ right: 0;
498
+ }
499
+ .ui-progressbar {
500
+ height: 2em;
501
+ text-align: left;
502
+ overflow: hidden;
503
+ }
504
+ .ui-progressbar .ui-progressbar-value {
505
+ margin: -1px;
506
+ height: 100%;
507
+ }
508
+ .ui-progressbar .ui-progressbar-overlay {
509
+ background: url("data:image/gif;base64,R0lGODlhKAAoAIABAAAAAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAQABACwAAAAAKAAoAAACkYwNqXrdC52DS06a7MFZI+4FHBCKoDeWKXqymPqGqxvJrXZbMx7Ttc+w9XgU2FB3lOyQRWET2IFGiU9m1frDVpxZZc6bfHwv4c1YXP6k1Vdy292Fb6UkuvFtXpvWSzA+HycXJHUXiGYIiMg2R6W459gnWGfHNdjIqDWVqemH2ekpObkpOlppWUqZiqr6edqqWQAAIfkECQEAAQAsAAAAACgAKAAAApSMgZnGfaqcg1E2uuzDmmHUBR8Qil95hiPKqWn3aqtLsS18y7G1SzNeowWBENtQd+T1JktP05nzPTdJZlR6vUxNWWjV+vUWhWNkWFwxl9VpZRedYcflIOLafaa28XdsH/ynlcc1uPVDZxQIR0K25+cICCmoqCe5mGhZOfeYSUh5yJcJyrkZWWpaR8doJ2o4NYq62lAAACH5BAkBAAEALAAAAAAoACgAAAKVDI4Yy22ZnINRNqosw0Bv7i1gyHUkFj7oSaWlu3ovC8GxNso5fluz3qLVhBVeT/Lz7ZTHyxL5dDalQWPVOsQWtRnuwXaFTj9jVVh8pma9JjZ4zYSj5ZOyma7uuolffh+IR5aW97cHuBUXKGKXlKjn+DiHWMcYJah4N0lYCMlJOXipGRr5qdgoSTrqWSq6WFl2ypoaUAAAIfkECQEAAQAsAAAAACgAKAAAApaEb6HLgd/iO7FNWtcFWe+ufODGjRfoiJ2akShbueb0wtI50zm02pbvwfWEMWBQ1zKGlLIhskiEPm9R6vRXxV4ZzWT2yHOGpWMyorblKlNp8HmHEb/lCXjcW7bmtXP8Xt229OVWR1fod2eWqNfHuMjXCPkIGNileOiImVmCOEmoSfn3yXlJWmoHGhqp6ilYuWYpmTqKUgAAIfkECQEAAQAsAAAAACgAKAAAApiEH6kb58biQ3FNWtMFWW3eNVcojuFGfqnZqSebuS06w5V80/X02pKe8zFwP6EFWOT1lDFk8rGERh1TTNOocQ61Hm4Xm2VexUHpzjymViHrFbiELsefVrn6XKfnt2Q9G/+Xdie499XHd2g4h7ioOGhXGJboGAnXSBnoBwKYyfioubZJ2Hn0RuRZaflZOil56Zp6iioKSXpUAAAh+QQJAQABACwAAAAAKAAoAAACkoQRqRvnxuI7kU1a1UU5bd5tnSeOZXhmn5lWK3qNTWvRdQxP8qvaC+/yaYQzXO7BMvaUEmJRd3TsiMAgswmNYrSgZdYrTX6tSHGZO73ezuAw2uxuQ+BbeZfMxsexY35+/Qe4J1inV0g4x3WHuMhIl2jXOKT2Q+VU5fgoSUI52VfZyfkJGkha6jmY+aaYdirq+lQAACH5BAkBAAEALAAAAAAoACgAAAKWBIKpYe0L3YNKToqswUlvznigd4wiR4KhZrKt9Upqip61i9E3vMvxRdHlbEFiEXfk9YARYxOZZD6VQ2pUunBmtRXo1Lf8hMVVcNl8JafV38aM2/Fu5V16Bn63r6xt97j09+MXSFi4BniGFae3hzbH9+hYBzkpuUh5aZmHuanZOZgIuvbGiNeomCnaxxap2upaCZsq+1kAACH5BAkBAAEALAAAAAAoACgAAAKXjI8By5zf4kOxTVrXNVlv1X0d8IGZGKLnNpYtm8Lr9cqVeuOSvfOW79D9aDHizNhDJidFZhNydEahOaDH6nomtJjp1tutKoNWkvA6JqfRVLHU/QUfau9l2x7G54d1fl995xcIGAdXqMfBNadoYrhH+Mg2KBlpVpbluCiXmMnZ2Sh4GBqJ+ckIOqqJ6LmKSllZmsoq6wpQAAAh+QQJAQABACwAAAAAKAAoAAAClYx/oLvoxuJDkU1a1YUZbJ59nSd2ZXhWqbRa2/gF8Gu2DY3iqs7yrq+xBYEkYvFSM8aSSObE+ZgRl1BHFZNr7pRCavZ5BW2142hY3AN/zWtsmf12p9XxxFl2lpLn1rseztfXZjdIWIf2s5dItwjYKBgo9yg5pHgzJXTEeGlZuenpyPmpGQoKOWkYmSpaSnqKileI2FAAACH5BAkBAAEALAAAAAAoACgAAAKVjB+gu+jG4kORTVrVhRlsnn2dJ3ZleFaptFrb+CXmO9OozeL5VfP99HvAWhpiUdcwkpBH3825AwYdU8xTqlLGhtCosArKMpvfa1mMRae9VvWZfeB2XfPkeLmm18lUcBj+p5dnN8jXZ3YIGEhYuOUn45aoCDkp16hl5IjYJvjWKcnoGQpqyPlpOhr3aElaqrq56Bq7VAAAOw==");
510
+ height: 100%;
511
+ filter: alpha(opacity=25); /* support: IE8 */
512
+ opacity: 0.25;
513
+ }
514
+ .ui-progressbar-indeterminate .ui-progressbar-value {
515
+ background-image: none;
516
+ }
517
+ .ui-resizable {
518
+ position: relative;
519
+ }
520
+ .ui-resizable-handle {
521
+ position: absolute;
522
+ font-size: 0.1px;
523
+ display: block;
524
+ -ms-touch-action: none;
525
+ touch-action: none;
526
+ }
527
+ .ui-resizable-disabled .ui-resizable-handle,
528
+ .ui-resizable-autohide .ui-resizable-handle {
529
+ display: none;
530
+ }
531
+ .ui-resizable-n {
532
+ cursor: n-resize;
533
+ height: 7px;
534
+ width: 100%;
535
+ top: -5px;
536
+ left: 0;
537
+ }
538
+ .ui-resizable-s {
539
+ cursor: s-resize;
540
+ height: 7px;
541
+ width: 100%;
542
+ bottom: -5px;
543
+ left: 0;
544
+ }
545
+ .ui-resizable-e {
546
+ cursor: e-resize;
547
+ width: 7px;
548
+ right: -5px;
549
+ top: 0;
550
+ height: 100%;
551
+ }
552
+ .ui-resizable-w {
553
+ cursor: w-resize;
554
+ width: 7px;
555
+ left: -5px;
556
+ top: 0;
557
+ height: 100%;
558
+ }
559
+ .ui-resizable-se {
560
+ cursor: se-resize;
561
+ width: 12px;
562
+ height: 12px;
563
+ right: 1px;
564
+ bottom: 1px;
565
+ }
566
+ .ui-resizable-sw {
567
+ cursor: sw-resize;
568
+ width: 9px;
569
+ height: 9px;
570
+ left: -5px;
571
+ bottom: -5px;
572
+ }
573
+ .ui-resizable-nw {
574
+ cursor: nw-resize;
575
+ width: 9px;
576
+ height: 9px;
577
+ left: -5px;
578
+ top: -5px;
579
+ }
580
+ .ui-resizable-ne {
581
+ cursor: ne-resize;
582
+ width: 9px;
583
+ height: 9px;
584
+ right: -5px;
585
+ top: -5px;
586
+ }
587
+ .ui-selectable {
588
+ -ms-touch-action: none;
589
+ touch-action: none;
590
+ }
591
+ .ui-selectable-helper {
592
+ position: absolute;
593
+ z-index: 100;
594
+ border: 1px dotted black;
595
+ }
596
+ .ui-selectmenu-menu {
597
+ padding: 0;
598
+ margin: 0;
599
+ position: absolute;
600
+ top: 0;
601
+ left: 0;
602
+ display: none;
603
+ }
604
+ .ui-selectmenu-menu .ui-menu {
605
+ overflow: auto;
606
+ /* Support: IE7 */
607
+ overflow-x: hidden;
608
+ padding-bottom: 1px;
609
+ }
610
+ .ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup {
611
+ font-size: 1em;
612
+ font-weight: bold;
613
+ line-height: 1.5;
614
+ padding: 2px 0.4em;
615
+ margin: 0.5em 0 0 0;
616
+ height: auto;
617
+ border: 0;
618
+ }
619
+ .ui-selectmenu-open {
620
+ display: block;
621
+ }
622
+ .ui-selectmenu-button {
623
+ display: inline-block;
624
+ overflow: hidden;
625
+ position: relative;
626
+ text-decoration: none;
627
+ cursor: pointer;
628
+ }
629
+ .ui-selectmenu-button span.ui-icon {
630
+ right: 0.5em;
631
+ left: auto;
632
+ margin-top: -8px;
633
+ position: absolute;
634
+ top: 50%;
635
+ }
636
+ .ui-selectmenu-button span.ui-selectmenu-text {
637
+ text-align: left;
638
+ padding: 0.4em 2.1em 0.4em 1em;
639
+ display: block;
640
+ line-height: 1.4;
641
+ overflow: hidden;
642
+ text-overflow: ellipsis;
643
+ white-space: nowrap;
644
+ }
645
+ .ui-slider {
646
+ position: relative;
647
+ text-align: left;
648
+ }
649
+ .ui-slider .ui-slider-handle {
650
+ position: absolute;
651
+ z-index: 2;
652
+ width: 1.2em;
653
+ height: 1.2em;
654
+ cursor: default;
655
+ -ms-touch-action: none;
656
+ touch-action: none;
657
+ }
658
+ .ui-slider .ui-slider-range {
659
+ position: absolute;
660
+ z-index: 1;
661
+ font-size: .7em;
662
+ display: block;
663
+ border: 0;
664
+ background-position: 0 0;
665
+ }
666
+
667
+ /* support: IE8 - See #6727 */
668
+ .ui-slider.ui-state-disabled .ui-slider-handle,
669
+ .ui-slider.ui-state-disabled .ui-slider-range {
670
+ filter: inherit;
671
+ }
672
+
673
+ .ui-slider-horizontal {
674
+ height: .8em;
675
+ }
676
+ .ui-slider-horizontal .ui-slider-handle {
677
+ top: -.3em;
678
+ margin-left: -.6em;
679
+ }
680
+ .ui-slider-horizontal .ui-slider-range {
681
+ top: 0;
682
+ height: 100%;
683
+ }
684
+ .ui-slider-horizontal .ui-slider-range-min {
685
+ left: 0;
686
+ }
687
+ .ui-slider-horizontal .ui-slider-range-max {
688
+ right: 0;
689
+ }
690
+
691
+ .ui-slider-vertical {
692
+ width: .8em;
693
+ height: 100px;
694
+ }
695
+ .ui-slider-vertical .ui-slider-handle {
696
+ left: -.3em;
697
+ margin-left: 0;
698
+ margin-bottom: -.6em;
699
+ }
700
+ .ui-slider-vertical .ui-slider-range {
701
+ left: 0;
702
+ width: 100%;
703
+ }
704
+ .ui-slider-vertical .ui-slider-range-min {
705
+ bottom: 0;
706
+ }
707
+ .ui-slider-vertical .ui-slider-range-max {
708
+ top: 0;
709
+ }
710
+ .ui-sortable-handle {
711
+ -ms-touch-action: none;
712
+ touch-action: none;
713
+ }
714
+ .ui-spinner {
715
+ position: relative;
716
+ display: inline-block;
717
+ overflow: hidden;
718
+ padding: 0;
719
+ vertical-align: middle;
720
+ }
721
+ .ui-spinner-input {
722
+ border: none;
723
+ background: none;
724
+ color: inherit;
725
+ padding: 0;
726
+ margin: .2em 0;
727
+ vertical-align: middle;
728
+ margin-left: .4em;
729
+ margin-right: 22px;
730
+ }
731
+ .ui-spinner-button {
732
+ width: 16px;
733
+ height: 50%;
734
+ font-size: .5em;
735
+ padding: 0;
736
+ margin: 0;
737
+ text-align: center;
738
+ position: absolute;
739
+ cursor: default;
740
+ display: block;
741
+ overflow: hidden;
742
+ right: 0;
743
+ }
744
+ /* more specificity required here to override default borders */
745
+ .ui-spinner a.ui-spinner-button {
746
+ border-top: none;
747
+ border-bottom: none;
748
+ border-right: none;
749
+ }
750
+ /* vertically center icon */
751
+ .ui-spinner .ui-icon {
752
+ position: absolute;
753
+ margin-top: -8px;
754
+ top: 50%;
755
+ left: 0;
756
+ }
757
+ .ui-spinner-up {
758
+ top: 0;
759
+ }
760
+ .ui-spinner-down {
761
+ bottom: 0;
762
+ }
763
+
764
+ /* TR overrides */
765
+ .ui-spinner .ui-icon-triangle-1-s {
766
+ /* need to fix icons sprite */
767
+ background-position: -65px -16px;
768
+ }
769
+ .ui-tabs {
770
+ position: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
771
+ padding: .2em;
772
+ }
773
+ .ui-tabs .ui-tabs-nav {
774
+ margin: 0;
775
+ padding: .2em .2em 0;
776
+ }
777
+ .ui-tabs .ui-tabs-nav li {
778
+ list-style: none;
779
+ float: left;
780
+ position: relative;
781
+ top: 0;
782
+ margin: 1px .2em 0 0;
783
+ border-bottom-width: 0;
784
+ padding: 0;
785
+ white-space: nowrap;
786
+ }
787
+ .ui-tabs .ui-tabs-nav .ui-tabs-anchor {
788
+ float: left;
789
+ padding: .5em 1em;
790
+ text-decoration: none;
791
+ }
792
+ .ui-tabs .ui-tabs-nav li.ui-tabs-active {
793
+ margin-bottom: -1px;
794
+ padding-bottom: 1px;
795
+ }
796
+ .ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,
797
+ .ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,
798
+ .ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor {
799
+ cursor: text;
800
+ }
801
+ .ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor {
802
+ cursor: pointer;
803
+ }
804
+ .ui-tabs .ui-tabs-panel {
805
+ display: block;
806
+ border-width: 0;
807
+ padding: 1em 1.4em;
808
+ background: none;
809
+ }
810
+ .ui-tooltip {
811
+ padding: 8px;
812
+ position: absolute;
813
+ z-index: 9999;
814
+ max-width: 300px;
815
+ -webkit-box-shadow: 0 0 5px #aaa;
816
+ box-shadow: 0 0 5px #aaa;
817
+ }
818
+ body .ui-tooltip {
819
+ border-width: 2px;
820
+ }
821
+
822
+ /* Component containers
823
+ ----------------------------------*/
824
+ .ui-widget {
825
+ font-family: Trebuchet MS,Tahoma,Verdana,Arial,sans-serif;
826
+ font-size: 1.1em;
827
+ }
828
+ .ui-widget .ui-widget {
829
+ font-size: 1em;
830
+ }
831
+ .ui-widget input,
832
+ .ui-widget select,
833
+ .ui-widget textarea,
834
+ .ui-widget button {
835
+ font-family: Trebuchet MS,Tahoma,Verdana,Arial,sans-serif;
836
+ font-size: 1em;
837
+ }
838
+ .ui-widget-content {
839
+ border: 1px solid #dddddd;
840
+ background: #eeeeee url("../../images/ui-bg_highlight-soft_100_eeeeee_1x100.png") 50% top repeat-x;
841
+ color: #333333;
842
+ }
843
+ .ui-widget-content a {
844
+ color: #333333;
845
+ }
846
+ .ui-widget-header {
847
+ border: 1px solid #e78f08;
848
+ background: #f6a828 url("../../images/ui-bg_gloss-wave_35_f6a828_500x100.png") 50% 50% repeat-x;
849
+ color: #ffffff;
850
+ font-weight: bold;
851
+ }
852
+ .ui-widget-header a {
853
+ color: #ffffff;
854
+ }
855
+
856
+ /* Interaction states
857
+ ----------------------------------*/
858
+ .ui-state-default,
859
+ .ui-widget-content .ui-state-default,
860
+ .ui-widget-header .ui-state-default {
861
+ border: 1px solid #cccccc;
862
+ background: #f6f6f6 url("../../images/ui-bg_glass_100_f6f6f6_1x400.png") 50% 50% repeat-x;
863
+ font-weight: bold;
864
+ color: #1c94c4;
865
+ }
866
+ .ui-state-default a,
867
+ .ui-state-default a:link,
868
+ .ui-state-default a:visited {
869
+ color: #1c94c4;
870
+ text-decoration: none;
871
+ }
872
+ .ui-state-hover,
873
+ .ui-widget-content .ui-state-hover,
874
+ .ui-widget-header .ui-state-hover,
875
+ .ui-state-focus,
876
+ .ui-widget-content .ui-state-focus,
877
+ .ui-widget-header .ui-state-focus {
878
+ border: 1px solid #fbcb09;
879
+ background: #fdf5ce url("../../images/ui-bg_glass_100_fdf5ce_1x400.png") 50% 50% repeat-x;
880
+ font-weight: bold;
881
+ color: #c77405;
882
+ }
883
+ .ui-state-hover a,
884
+ .ui-state-hover a:hover,
885
+ .ui-state-hover a:link,
886
+ .ui-state-hover a:visited,
887
+ .ui-state-focus a,
888
+ .ui-state-focus a:hover,
889
+ .ui-state-focus a:link,
890
+ .ui-state-focus a:visited {
891
+ color: #c77405;
892
+ text-decoration: none;
893
+ }
894
+ .ui-state-active,
895
+ .ui-widget-content .ui-state-active,
896
+ .ui-widget-header .ui-state-active {
897
+ border: 1px solid #fbd850;
898
+ background: #ffffff url("../../images/ui-bg_glass_65_ffffff_1x400.png") 50% 50% repeat-x;
899
+ font-weight: bold;
900
+ color: #eb8f00;
901
+ }
902
+ .ui-state-active a,
903
+ .ui-state-active a:link,
904
+ .ui-state-active a:visited {
905
+ color: #eb8f00;
906
+ text-decoration: none;
907
+ }
908
+
909
+ /* Interaction Cues
910
+ ----------------------------------*/
911
+ .ui-state-highlight,
912
+ .ui-widget-content .ui-state-highlight,
913
+ .ui-widget-header .ui-state-highlight {
914
+ border: 1px solid #fed22f;
915
+ background: #ffe45c url("../../images/ui-bg_highlight-soft_75_ffe45c_1x100.png") 50% top repeat-x;
916
+ color: #363636;
917
+ }
918
+ .ui-state-highlight a,
919
+ .ui-widget-content .ui-state-highlight a,
920
+ .ui-widget-header .ui-state-highlight a {
921
+ color: #363636;
922
+ }
923
+ .ui-state-error,
924
+ .ui-widget-content .ui-state-error,
925
+ .ui-widget-header .ui-state-error {
926
+ border: 1px solid #cd0a0a;
927
+ background: #b81900 url("../../images/ui-bg_diagonals-thick_18_b81900_40x40.png") 50% 50% repeat;
928
+ color: #ffffff;
929
+ }
930
+ .ui-state-error a,
931
+ .ui-widget-content .ui-state-error a,
932
+ .ui-widget-header .ui-state-error a {
933
+ color: #ffffff;
934
+ }
935
+ .ui-state-error-text,
936
+ .ui-widget-content .ui-state-error-text,
937
+ .ui-widget-header .ui-state-error-text {
938
+ color: #ffffff;
939
+ }
940
+ .ui-priority-primary,
941
+ .ui-widget-content .ui-priority-primary,
942
+ .ui-widget-header .ui-priority-primary {
943
+ font-weight: bold;
944
+ }
945
+ .ui-priority-secondary,
946
+ .ui-widget-content .ui-priority-secondary,
947
+ .ui-widget-header .ui-priority-secondary {
948
+ opacity: .7;
949
+ filter:Alpha(Opacity=70); /* support: IE8 */
950
+ font-weight: normal;
951
+ }
952
+ .ui-state-disabled,
953
+ .ui-widget-content .ui-state-disabled,
954
+ .ui-widget-header .ui-state-disabled {
955
+ opacity: .35;
956
+ filter:Alpha(Opacity=35); /* support: IE8 */
957
+ background-image: none;
958
+ }
959
+ .ui-state-disabled .ui-icon {
960
+ filter:Alpha(Opacity=35); /* support: IE8 - See #6059 */
961
+ }
962
+
963
+ /* Icons
964
+ ----------------------------------*/
965
+
966
+ /* states and ../../images */
967
+ .ui-icon {
968
+ width: 16px;
969
+ height: 16px;
970
+ }
971
+ .ui-icon,
972
+ .ui-widget-content .ui-icon {
973
+ background-image: url("../../images/ui-icons_222222_256x240.png");
974
+ }
975
+ .ui-widget-header .ui-icon {
976
+ background-image: url("../../images/ui-icons_ffffff_256x240.png");
977
+ }
978
+ .ui-state-default .ui-icon {
979
+ background-image: url("../../images/ui-icons_ef8c08_256x240.png");
980
+ }
981
+ .ui-state-hover .ui-icon,
982
+ .ui-state-focus .ui-icon {
983
+ background-image: url("../../images/ui-icons_ef8c08_256x240.png");
984
+ }
985
+ .ui-state-active .ui-icon {
986
+ background-image: url("../../images/ui-icons_ef8c08_256x240.png");
987
+ }
988
+ .ui-state-highlight .ui-icon {
989
+ background-image: url("../../images/ui-icons_228ef1_256x240.png");
990
+ }
991
+ .ui-state-error .ui-icon,
992
+ .ui-state-error-text .ui-icon {
993
+ background-image: url("../../images/ui-icons_ffd27a_256x240.png");
994
+ }
995
+
996
+ /* positioning */
997
+ .ui-icon-blank { background-position: 16px 16px; }
998
+ .ui-icon-carat-1-n { background-position: 0 0; }
999
+ .ui-icon-carat-1-ne { background-position: -16px 0; }
1000
+ .ui-icon-carat-1-e { background-position: -32px 0; }
1001
+ .ui-icon-carat-1-se { background-position: -48px 0; }
1002
+ .ui-icon-carat-1-s { background-position: -64px 0; }
1003
+ .ui-icon-carat-1-sw { background-position: -80px 0; }
1004
+ .ui-icon-carat-1-w { background-position: -96px 0; }
1005
+ .ui-icon-carat-1-nw { background-position: -112px 0; }
1006
+ .ui-icon-carat-2-n-s { background-position: -128px 0; }
1007
+ .ui-icon-carat-2-e-w { background-position: -144px 0; }
1008
+ .ui-icon-triangle-1-n { background-position: 0 -16px; }
1009
+ .ui-icon-triangle-1-ne { background-position: -16px -16px; }
1010
+ .ui-icon-triangle-1-e { background-position: -32px -16px; }
1011
+ .ui-icon-triangle-1-se { background-position: -48px -16px; }
1012
+ .ui-icon-triangle-1-s { background-position: -64px -16px; }
1013
+ .ui-icon-triangle-1-sw { background-position: -80px -16px; }
1014
+ .ui-icon-triangle-1-w { background-position: -96px -16px; }
1015
+ .ui-icon-triangle-1-nw { background-position: -112px -16px; }
1016
+ .ui-icon-triangle-2-n-s { background-position: -128px -16px; }
1017
+ .ui-icon-triangle-2-e-w { background-position: -144px -16px; }
1018
+ .ui-icon-arrow-1-n { background-position: 0 -32px; }
1019
+ .ui-icon-arrow-1-ne { background-position: -16px -32px; }
1020
+ .ui-icon-arrow-1-e { background-position: -32px -32px; }
1021
+ .ui-icon-arrow-1-se { background-position: -48px -32px; }
1022
+ .ui-icon-arrow-1-s { background-position: -64px -32px; }
1023
+ .ui-icon-arrow-1-sw { background-position: -80px -32px; }
1024
+ .ui-icon-arrow-1-w { background-position: -96px -32px; }
1025
+ .ui-icon-arrow-1-nw { background-position: -112px -32px; }
1026
+ .ui-icon-arrow-2-n-s { background-position: -128px -32px; }
1027
+ .ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
1028
+ .ui-icon-arrow-2-e-w { background-position: -160px -32px; }
1029
+ .ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
1030
+ .ui-icon-arrowstop-1-n { background-position: -192px -32px; }
1031
+ .ui-icon-arrowstop-1-e { background-position: -208px -32px; }
1032
+ .ui-icon-arrowstop-1-s { background-position: -224px -32px; }
1033
+ .ui-icon-arrowstop-1-w { background-position: -240px -32px; }
1034
+ .ui-icon-arrowthick-1-n { background-position: 0 -48px; }
1035
+ .ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
1036
+ .ui-icon-arrowthick-1-e { background-position: -32px -48px; }
1037
+ .ui-icon-arrowthick-1-se { background-position: -48px -48px; }
1038
+ .ui-icon-arrowthick-1-s { background-position: -64px -48px; }
1039
+ .ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
1040
+ .ui-icon-arrowthick-1-w { background-position: -96px -48px; }
1041
+ .ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
1042
+ .ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
1043
+ .ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
1044
+ .ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
1045
+ .ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
1046
+ .ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
1047
+ .ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
1048
+ .ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
1049
+ .ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
1050
+ .ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
1051
+ .ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
1052
+ .ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
1053
+ .ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
1054
+ .ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
1055
+ .ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
1056
+ .ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
1057
+ .ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
1058
+ .ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
1059
+ .ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
1060
+ .ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
1061
+ .ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
1062
+ .ui-icon-arrow-4 { background-position: 0 -80px; }
1063
+ .ui-icon-arrow-4-diag { background-position: -16px -80px; }
1064
+ .ui-icon-extlink { background-position: -32px -80px; }
1065
+ .ui-icon-newwin { background-position: -48px -80px; }
1066
+ .ui-icon-refresh { background-position: -64px -80px; }
1067
+ .ui-icon-shuffle { background-position: -80px -80px; }
1068
+ .ui-icon-transfer-e-w { background-position: -96px -80px; }
1069
+ .ui-icon-transferthick-e-w { background-position: -112px -80px; }
1070
+ .ui-icon-folder-collapsed { background-position: 0 -96px; }
1071
+ .ui-icon-folder-open { background-position: -16px -96px; }
1072
+ .ui-icon-document { background-position: -32px -96px; }
1073
+ .ui-icon-document-b { background-position: -48px -96px; }
1074
+ .ui-icon-note { background-position: -64px -96px; }
1075
+ .ui-icon-mail-closed { background-position: -80px -96px; }
1076
+ .ui-icon-mail-open { background-position: -96px -96px; }
1077
+ .ui-icon-suitcase { background-position: -112px -96px; }
1078
+ .ui-icon-comment { background-position: -128px -96px; }
1079
+ .ui-icon-person { background-position: -144px -96px; }
1080
+ .ui-icon-print { background-position: -160px -96px; }
1081
+ .ui-icon-trash { background-position: -176px -96px; }
1082
+ .ui-icon-locked { background-position: -192px -96px; }
1083
+ .ui-icon-unlocked { background-position: -208px -96px; }
1084
+ .ui-icon-bookmark { background-position: -224px -96px; }
1085
+ .ui-icon-tag { background-position: -240px -96px; }
1086
+ .ui-icon-home { background-position: 0 -112px; }
1087
+ .ui-icon-flag { background-position: -16px -112px; }
1088
+ .ui-icon-calendar { background-position: -32px -112px; }
1089
+ .ui-icon-cart { background-position: -48px -112px; }
1090
+ .ui-icon-pencil { background-position: -64px -112px; }
1091
+ .ui-icon-clock { background-position: -80px -112px; }
1092
+ .ui-icon-disk { background-position: -96px -112px; }
1093
+ .ui-icon-calculator { background-position: -112px -112px; }
1094
+ .ui-icon-zoomin { background-position: -128px -112px; }
1095
+ .ui-icon-zoomout { background-position: -144px -112px; }
1096
+ .ui-icon-search { background-position: -160px -112px; }
1097
+ .ui-icon-wrench { background-position: -176px -112px; }
1098
+ .ui-icon-gear { background-position: -192px -112px; }
1099
+ .ui-icon-heart { background-position: -208px -112px; }
1100
+ .ui-icon-star { background-position: -224px -112px; }
1101
+ .ui-icon-link { background-position: -240px -112px; }
1102
+ .ui-icon-cancel { background-position: 0 -128px; }
1103
+ .ui-icon-plus { background-position: -16px -128px; }
1104
+ .ui-icon-plusthick { background-position: -32px -128px; }
1105
+ .ui-icon-minus { background-position: -48px -128px; }
1106
+ .ui-icon-minusthick { background-position: -64px -128px; }
1107
+ .ui-icon-close { background-position: -80px -128px; }
1108
+ .ui-icon-closethick { background-position: -96px -128px; }
1109
+ .ui-icon-key { background-position: -112px -128px; }
1110
+ .ui-icon-lightbulb { background-position: -128px -128px; }
1111
+ .ui-icon-scissors { background-position: -144px -128px; }
1112
+ .ui-icon-clipboard { background-position: -160px -128px; }
1113
+ .ui-icon-copy { background-position: -176px -128px; }
1114
+ .ui-icon-contact { background-position: -192px -128px; }
1115
+ .ui-icon-image { background-position: -208px -128px; }
1116
+ .ui-icon-video { background-position: -224px -128px; }
1117
+ .ui-icon-script { background-position: -240px -128px; }
1118
+ .ui-icon-alert { background-position: 0 -144px; }
1119
+ .ui-icon-info { background-position: -16px -144px; }
1120
+ .ui-icon-notice { background-position: -32px -144px; }
1121
+ .ui-icon-help { background-position: -48px -144px; }
1122
+ .ui-icon-check { background-position: -64px -144px; }
1123
+ .ui-icon-bullet { background-position: -80px -144px; }
1124
+ .ui-icon-radio-on { background-position: -96px -144px; }
1125
+ .ui-icon-radio-off { background-position: -112px -144px; }
1126
+ .ui-icon-pin-w { background-position: -128px -144px; }
1127
+ .ui-icon-pin-s { background-position: -144px -144px; }
1128
+ .ui-icon-play { background-position: 0 -160px; }
1129
+ .ui-icon-pause { background-position: -16px -160px; }
1130
+ .ui-icon-seek-next { background-position: -32px -160px; }
1131
+ .ui-icon-seek-prev { background-position: -48px -160px; }
1132
+ .ui-icon-seek-end { background-position: -64px -160px; }
1133
+ .ui-icon-seek-start { background-position: -80px -160px; }
1134
+ /* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
1135
+ .ui-icon-seek-first { background-position: -80px -160px; }
1136
+ .ui-icon-stop { background-position: -96px -160px; }
1137
+ .ui-icon-eject { background-position: -112px -160px; }
1138
+ .ui-icon-volume-off { background-position: -128px -160px; }
1139
+ .ui-icon-volume-on { background-position: -144px -160px; }
1140
+ .ui-icon-power { background-position: 0 -176px; }
1141
+ .ui-icon-signal-diag { background-position: -16px -176px; }
1142
+ .ui-icon-signal { background-position: -32px -176px; }
1143
+ .ui-icon-battery-0 { background-position: -48px -176px; }
1144
+ .ui-icon-battery-1 { background-position: -64px -176px; }
1145
+ .ui-icon-battery-2 { background-position: -80px -176px; }
1146
+ .ui-icon-battery-3 { background-position: -96px -176px; }
1147
+ .ui-icon-circle-plus { background-position: 0 -192px; }
1148
+ .ui-icon-circle-minus { background-position: -16px -192px; }
1149
+ .ui-icon-circle-close { background-position: -32px -192px; }
1150
+ .ui-icon-circle-triangle-e { background-position: -48px -192px; }
1151
+ .ui-icon-circle-triangle-s { background-position: -64px -192px; }
1152
+ .ui-icon-circle-triangle-w { background-position: -80px -192px; }
1153
+ .ui-icon-circle-triangle-n { background-position: -96px -192px; }
1154
+ .ui-icon-circle-arrow-e { background-position: -112px -192px; }
1155
+ .ui-icon-circle-arrow-s { background-position: -128px -192px; }
1156
+ .ui-icon-circle-arrow-w { background-position: -144px -192px; }
1157
+ .ui-icon-circle-arrow-n { background-position: -160px -192px; }
1158
+ .ui-icon-circle-zoomin { background-position: -176px -192px; }
1159
+ .ui-icon-circle-zoomout { background-position: -192px -192px; }
1160
+ .ui-icon-circle-check { background-position: -208px -192px; }
1161
+ .ui-icon-circlesmall-plus { background-position: 0 -208px; }
1162
+ .ui-icon-circlesmall-minus { background-position: -16px -208px; }
1163
+ .ui-icon-circlesmall-close { background-position: -32px -208px; }
1164
+ .ui-icon-squaresmall-plus { background-position: -48px -208px; }
1165
+ .ui-icon-squaresmall-minus { background-position: -64px -208px; }
1166
+ .ui-icon-squaresmall-close { background-position: -80px -208px; }
1167
+ .ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
1168
+ .ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
1169
+ .ui-icon-grip-solid-vertical { background-position: -32px -224px; }
1170
+ .ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
1171
+ .ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
1172
+ .ui-icon-grip-diagonal-se { background-position: -80px -224px; }
1173
+
1174
+
1175
+ /* Misc visuals
1176
+ ----------------------------------*/
1177
+
1178
+ /* Corner radius */
1179
+ .ui-corner-all,
1180
+ .ui-corner-top,
1181
+ .ui-corner-left,
1182
+ .ui-corner-tl {
1183
+ border-top-left-radius: 4px;
1184
+ }
1185
+ .ui-corner-all,
1186
+ .ui-corner-top,
1187
+ .ui-corner-right,
1188
+ .ui-corner-tr {
1189
+ border-top-right-radius: 4px;
1190
+ }
1191
+ .ui-corner-all,
1192
+ .ui-corner-bottom,
1193
+ .ui-corner-left,
1194
+ .ui-corner-bl {
1195
+ border-bottom-left-radius: 4px;
1196
+ }
1197
+ .ui-corner-all,
1198
+ .ui-corner-bottom,
1199
+ .ui-corner-right,
1200
+ .ui-corner-br {
1201
+ border-bottom-right-radius: 4px;
1202
+ }
1203
+
1204
+ /* Overlays */
1205
+ .ui-widget-overlay {
1206
+ background: #666666 url("../../images/ui-bg_diagonals-thick_20_666666_40x40.png") 50% 50% repeat;
1207
+ opacity: .5;
1208
+ filter: Alpha(Opacity=50); /* support: IE8 */
1209
+ }
1210
+ .ui-widget-shadow {
1211
+ margin: -5px 0 0 -5px;
1212
+ padding: 5px;
1213
+ background: #000000 url("../../images/ui-bg_flat_10_000000_40x100.png") 50% 50% repeat-x;
1214
+ opacity: .2;
1215
+ filter: Alpha(Opacity=20); /* support: IE8 */
1216
+ border-radius: 5px;
1217
+ }
includes/style/style.css ADDED
@@ -0,0 +1,284 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ html, body, div, span, applet, object, iframe,
2
+ h1, h2, h3, h4, h5, h6, p, blockquote, pre,
3
+ a, abbr, acronym, address, big, cite, code,
4
+ del, dfn, em, font, img, ins, kbd, q, s, samp,
5
+ small, strike, strong, sub, sup, tt, var,
6
+ dl, dt, dd, ol, ul, li,
7
+ fieldset, form, label, legend,
8
+ table, caption, tbody, tfoot, thead, tr, th, td {
9
+ margin:0;
10
+ padding:0;
11
+ border:0;
12
+ outline:0;
13
+ font-weight:inherit;
14
+ font-style:inherit;
15
+ font-size:100%;
16
+ font-family:inherit;
17
+ vertical-align:baseline;
18
+ }
19
+ body {
20
+ line-height:1 !important;
21
+ color:black;
22
+ background:white;
23
+ }
24
+ table {
25
+ border-collapse:separate;
26
+ border-spacing:0;
27
+ }
28
+ caption, th, td {
29
+ text-align:left;
30
+ font-weight:normal;
31
+ }
32
+ blockquote:before, blockquote:after,
33
+ q:before, q:after {
34
+ content:"";
35
+ }
36
+ blockquote, q {
37
+ quotes:"" "";
38
+ }
39
+ /* HTML5 tags */
40
+ header, section, footer,
41
+ aside, nav, article, figure {
42
+ display: block;
43
+ }
44
+
45
+ /*===================*/
46
+ /*=== Main Styles ===*/
47
+ /*===================*/
48
+ body {
49
+ font:14px/1.6 Georgia, Palatino, Palatino Linotype, Times, Times New Roman, serif;
50
+ color:#333;
51
+ background:#eee;
52
+ }
53
+
54
+ a, a:visited {
55
+ color:blue;
56
+ text-decoration:none;
57
+ }
58
+ a:hover, a:active {
59
+ color:#000;
60
+ text-decoration:none;
61
+ }
62
+
63
+ #dev7link {
64
+ position:absolute;
65
+ top:0;
66
+ left:50px;
67
+ background:url(images/dev7logo.png) no-repeat;
68
+ width:60px;
69
+ height:67px;
70
+ border:0;
71
+ display:block;
72
+ text-indent:-9999px;
73
+ }
74
+
75
+ .slider-wrapper {
76
+ width: 100%;
77
+ height:100%;
78
+ }
79
+
80
+ /*====================*/
81
+ /*=== Other Styles ===*/
82
+ /*====================*/
83
+ .clear {
84
+ clear:both;
85
+ }
86
+ .nivoSlider {
87
+ position:relative;
88
+ width:100%;
89
+ height:auto;
90
+ overflow: hidden;
91
+ }
92
+ .nivoSlider img {
93
+ position:absolute;
94
+ top:0px;
95
+ left:0px;
96
+ max-width: none;
97
+ }
98
+ .nivo-main-image {
99
+ display: block !important;
100
+ position: relative !important;
101
+ width: 100% !important;
102
+ }
103
+
104
+ /* If an image is wrapped in a link */
105
+ .nivoSlider a.nivo-imageLink {
106
+ position:absolute;
107
+ top:0px;
108
+ left:0px;
109
+ width:100%;
110
+ height:100%;
111
+ border:0;
112
+ padding:0;
113
+ margin:0;
114
+ z-index:6;
115
+ display:none;
116
+ background:white;
117
+ filter:alpha(opacity=0);
118
+ opacity:0;
119
+ }
120
+ /* The slices and boxes in the Slider */
121
+ .nivo-slice {
122
+ display:block;
123
+ position:absolute;
124
+ z-index:5;
125
+ height:100%;
126
+ top:0;
127
+ }
128
+ .nivo-box {
129
+ display:block;
130
+ position:absolute;
131
+ z-index:5;
132
+ overflow:hidden;
133
+ }
134
+ .nivo-box img { display:block; }
135
+
136
+ /* Caption styles */
137
+ .nivo-caption {
138
+ position:absolute;
139
+ left:0px;
140
+ bottom:0px;
141
+ background:#000;
142
+ color:#fff;
143
+ width:100%;
144
+ z-index:8;
145
+ opacity: 0.8;
146
+ overflow: hidden;
147
+ display: none;
148
+ -moz-opacity: 0.8;
149
+ filter:alpha(opacity=8);
150
+ -webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
151
+ -moz-box-sizing: border-box; /* Firefox, other Gecko */
152
+ box-sizing: border-box; /* Opera/IE 8+ */
153
+ }
154
+ .nivo-caption p {
155
+ padding:5px;
156
+ margin:0;
157
+ }
158
+ .nivo-caption a {
159
+ display:inline !important;
160
+ }
161
+ .nivo-html-caption {
162
+ display:none;
163
+ }
164
+ /* Direction nav styles (e.g. Next & Prev) */
165
+ .nivo-directionNav a {
166
+ position:absolute;
167
+ top:45%;
168
+ z-index:9;
169
+ cursor:pointer;
170
+ }
171
+ .nivo-prevNav {
172
+ left:0px;
173
+ }
174
+ .nivo-nextNav {
175
+ right:0px;
176
+ }
177
+ /* Control nav styles (e.g. 1,2,3...) */
178
+ .nivo-controlNav {
179
+ text-align:center;
180
+ padding: 15px 0;
181
+ }
182
+ .nivo-controlNav a {
183
+ cursor:pointer;
184
+ }
185
+ .nivo-controlNav a.active {
186
+ font-weight:bold;
187
+ }.theme-default .nivoSlider {
188
+ position:relative;
189
+ }
190
+ .theme-default .nivoSlider img {
191
+ position:absolute;
192
+ top:0px;
193
+ left:0px;
194
+ display:none;
195
+ }
196
+ .theme-default .nivoSlider a {
197
+ border:0;
198
+ display:block;
199
+ }
200
+
201
+ .theme-default .nivo-controlNav {
202
+ text-align: center;
203
+ }
204
+ .theme-default .nivo-controlNav a {
205
+ display:inline-block;
206
+ width:22px;
207
+ height:22px;
208
+ background:url(bullets.png) no-repeat;
209
+ text-indent:-9999px;
210
+ border:0;
211
+ margin: 0 2px;
212
+ }
213
+ .theme-default .nivo-controlNav a.active {
214
+ background-position:0 -22px;
215
+ }
216
+
217
+ .theme-default .nivo-directionNav a {
218
+ display:block;
219
+ text-indent:-9999px;
220
+ border:0;
221
+ }
222
+
223
+ .nivo-prevNav{
224
+ background: url(Arrow-left.png);
225
+ background-repeat: no-repeat;
226
+ width: 50px;
227
+ height: 75px;
228
+ }
229
+ .nivo-nextNav{
230
+ background: url(Arrow-right.png);
231
+ background-repeat: no-repeat;
232
+ width: 31px;
233
+ height: 75px;
234
+ }
235
+ .theme-default a.nivo-prevNav {
236
+ left:15px;
237
+ }
238
+ .theme-default .nivo-caption {
239
+ font-family: Helvetica, Arial, sans-serif;
240
+ }
241
+ .theme-default .nivo-caption a {
242
+ color:#fff;
243
+ border-bottom:1px dotted #fff;
244
+ }
245
+ .theme-default .nivo-caption a:hover {
246
+ color:#fff;
247
+ }
248
+
249
+ .theme-default .nivo-controlNav.nivo-thumbs-enabled {
250
+ width: 100%;
251
+ }
252
+ .theme-default .nivo-controlNav.nivo-thumbs-enabled a {
253
+ width: auto;
254
+ height: auto;
255
+ background: none;
256
+ margin-bottom: 5px;
257
+ }
258
+ .theme-default .nivo-controlNav.nivo-thumbs-enabled img {
259
+ display: block;
260
+ width: 120px;
261
+ height: auto;
262
+ }
263
+ .hero-unit{
264
+ position:absolute;
265
+ z-index:9999;
266
+ width:100%;
267
+
268
+ }
269
+ #user_loading_and_saving{
270
+ padding-top:10px;
271
+
272
+ }
273
+ .information_user{
274
+ font-size: 25px;
275
+ font-style: italic;
276
+ min-height:37px;
277
+ }
278
+ .error{
279
+ color: #C72B2B;
280
+ font-size: 25px;
281
+ font-style: italic;
282
+ font-weight: bold;
283
+ }
284
+
readme.txt ADDED
@@ -0,0 +1,156 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ === Coming soon ===
2
+ Contributors: wpdevart
3
+ Donate link: http://wpdevart.com/wordpress-coming-soon-plugin/
4
+ Tags: widget, Post , plugin, admin, twitter, page, coming soon, coming soon page, construction, landing page, launch, launch page, maintenance, maintenance mode, newsletter, offline, unavailable, under construction, wordpress coming soon, wordpress maintenance mode, wordpress under construction, landing page, underconstruction, squeeze page, countdown, maintenance page, site offline, wordpress maintenance plugin, seo
5
+ Requires at least: 3.4.0
6
+ Tested up to: 4.0
7
+ Stable tag: 1.0.0
8
+ License: GPLv2 or later
9
+ License URI: http://www.gnu.org/licenses/gpl-3.0.html
10
+
11
+ Coming soon plugin is awesome tool to show your users that you are working on your website to make it better.
12
+
13
+ == Description ==
14
+
15
+ It's not easy to create coming soon page for WordPress without coding knowledge. That's why our team do his best to help WordPress users to create coming soon pages easily and quickly.Our coming soon plugin is the best way to create better coming soon page.
16
+ Coming soon plugin will add some great features to your coming soon page.
17
+
18
+ ### Features of Coming Soon plugin
19
+
20
+ * **Easy install and use**
21
+ * **Works perfectly with all versions of WordPress**
22
+ * **Fully Responsive Coming Soon page**
23
+ * **Highly customizable Coming Soon page**
24
+ * **Ability to change Coming Soon page background color**
25
+ * **Ability to set Coming Soon page background image**
26
+ * **Ability to set Coming Soon page Title color**
27
+ * **Ability to set Coming Soon page Title font size**
28
+ * **Ability to use WordPress post toolbar for Coming soon page Content**
29
+ * **Ability to set Coming soon page Content background color**
30
+ * **Ability to set Coming soon page Content background transparency**
31
+ * **Ability to set Coming soon page Content background border radius**
32
+ * **SEO friendly Coming Soon page**
33
+ * **Set Meta description for your Coming Soon page**
34
+ * **Set Meta keywords for your Coming Soon page**
35
+ * **Full browser background option**
36
+ * **Ability to add Countdown to your Coming Soon page**
37
+ * **Ability to set full browser background image for you Coming Soon page**
38
+ * **Ability to control access by IP to Coming Soon page**
39
+ * **Custom Logo for Coming Soon page**
40
+ * **Email notifications**
41
+ * **Social Media Ready**
42
+ * **Facebook**
43
+ * **Ability to change Facebook button background image**
44
+ * **Twitter**
45
+ * **Ability to change Twitter button background image**
46
+ * **Google Plus**
47
+ * **Ability to change Google Plus button background image**
48
+ * **YouTube**
49
+ * **Ability to change YouTube button background image**
50
+ * **Instagram**
51
+ * **Ability to change Instagram button background image**
52
+ * **Uses CSS3**
53
+ * **User friendly back-end for Coming Soon page**
54
+ * **Tested on popular WordPress themes**
55
+ * **Coming soon page visible only non logged in users**
56
+
57
+ You can upgrade Coming Soon plugin to [WordPress Coming Soon Pro](http://wpdevart.com/wordpress-coming-soon-plugin) to add some features.
58
+
59
+ ### The features of Coming Soon Pro
60
+
61
+ * **Awesome Background Slider for your Coming Soon page**
62
+ * **Ability to set Coming soon page content position**
63
+ * **Ability to exclude specific pages, posts from displaying Coming Soon page**
64
+ * **Ability to set Coming Soon page Mailing list button background color**
65
+ * **Ability to set Coming Soon page Mailing list button text color**
66
+ * **Ability to set Coming Soon page Mailing list input text color**
67
+ * **Ability to set Coming Soon page Mailing list button and input font-size**
68
+ * **Ability to set Coming Soon page Countdown button background color**
69
+ * **Ability to set Coming Soon page Countdown button border radius**
70
+ * **Ability to set Coming Soon page Countdown text color**
71
+ * **Ability to set Coming Soon page Countdown font-size**
72
+
73
+ ### View our Coming Soon plugin Demo page - [Coming soon Demo](http://democomingsoon.wpdevart.com/)
74
+
75
+ ### If you found any bug in our [WordPress Coming soon](http://wpdevart.com/wordpress-coming-soon-plugin) plugin or have a question contact us at [support@wpdevart.com](mailto:support@wpdevart.com).
76
+
77
+ == Installation ==
78
+
79
+ ### First download the Coming Soon plugin ZIP file.
80
+ Installing the WordPress **Coming Soon** plugin
81
+
82
+ 1. Log in to your website administration panel.
83
+ 2. Go to Plugins page Add New > Upload Plugin .
84
+ 3. Click "Choose file" then select the Coming Soon plugin zip file.
85
+ 4. Then Install and activate the plugin.
86
+
87
+ That's all, now you can build your Coming soon page. If any problem occurs, contact us at [support@wpdevart.com](mailto:support@wpdevart.com).
88
+
89
+ == Screenshots ==
90
+
91
+ 1. **WordPress Coming** soon page Front-end
92
+ 2. **WordPress Coming** soon page Back-end(General settings)
93
+ 3. **WordPress Coming** soon page Back-end(General settings)
94
+ 4. **WordPress Coming** soon page Back-end(Design Options)
95
+ 5. **WordPress Coming** soon page Mailing list
96
+ 6. **WordPress Coming** soon page Live preview
97
+
98
+ == Changelog ==
99
+
100
+ = 1.0 =
101
+ * Initial version.
102
+
103
+ ==Wordpress Coming soon step by step guide==
104
+
105
+ ### Creating Coming Soon page
106
+
107
+ * Coming Soon Mode - Select Coming Soon plugin mode.
108
+ * Mailing List - Disable or Enable Mailing List on Coming soon page
109
+ * Mailing list input text - Type here Mailing list input text for Coming soon page
110
+ * Mailing list send button text - Type here Mailing list send button text for Coming soon page
111
+ * Logo - Select your website logo from gallery or just upload it.
112
+ * Title - Type your Coming Soon page title.
113
+ * Massage - Here you can type the massage that will appear on your coming soon page.
114
+ * Keywords - Type your Coming Soon page meta keywords.
115
+ * Description - Type your Coming Soon page meta description.
116
+ * Countdown - Type the time to activate the countdown.
117
+ * Disable coming soon page after countdown end - If you choose this option, then your coming soon page will be Enabled after countdown end.
118
+ * Disable coming soon page for this ips - Just type here users ip's who can access to you website.
119
+ * Disable coming soon page for this urls - You can exclude specific url's from displaying Coming Soon page.
120
+ * Facebook - Type here your Facebook page url.
121
+ * Twitter - Type here your Twitter page url.
122
+ * Google Plus - Type here your Google Plus page url.
123
+ * YouTube - Type here your YouTube page url.
124
+ * Instagram - Type here your Instagram page url.
125
+
126
+ The second option page is "Design Options" . On this page you can change your Coming Soon page design.
127
+
128
+ ### Coming Soon page design options
129
+
130
+ * Coming soon page backround type - Select Coming Soon plugin backround mode. There are tree background types, the first type is simple background color, second type is backround with image and the last type is background Slider.
131
+ * Background Color - Select Coming Soon page background color.
132
+ * Background image - Upload Coming Soon page background image.
133
+ * Backround slider - Upload Coming Soon page background slider images.
134
+ * Title Font Size - Set your Coming soon page Title Font Size.
135
+ * Title Color - Set your Coming soon page Title Color.
136
+ * Content position - Set your Coming Soon page content position.
137
+ * Coming soon Content background color - Set your Coming soon page content background color.
138
+ * Coming page Content background transparency - Set your Coming soon page content background transparency.
139
+ * Content border radius - Set your Coming soon page content border radius.
140
+ * Countdown button background color - Set Coming Soon page countdown button background color.
141
+ * Countdown text color - Set Coming Soon page countdown text colors.
142
+ * Countdown border radius - Set Coming Soon page countdown border radius.
143
+ * Countdown font-size - Set Coming Soon page countdown font-sizes.
144
+ * Mailing list button background color - Set Coming Soon page Mailing list button background color.
145
+ * Mailing list button text color - Set Coming Soon page Mailing list button text color.
146
+ * Mailing list input text color - Set Coming Soon page Mailing list input text color.
147
+ * Mailing list button and input font-size - Set Coming Soon page Mailing list button and input font-size.
148
+ * Text color that will appear after sending Email - Set text color that will appear after sending Email.
149
+ * Facebook button background image - Upload your button for Facebook or just use our default Facebook button.
150
+ * Twitter button background image - Upload your button for Twitter or just use our default Twitter button.
151
+ * Google Plus button background image - Upload your button for Google Plus or just use our default Google Plus button.
152
+ * YouTube button background image - Upload your button for YouTube or just use our default YouTube button.
153
+ * Instagram button background image - Upload your button for Instagram or just use our default Instagram button.
154
+
155
+ The third option page is "Mailing list" . On this page you can type Sendmail Message text and send Message to users.
156
+ The last option page is "Live Preview" . Here you can see your Coming soon page live preview.