Weaver Xtreme Theme Support - Version 3.1.6

Version Description

  • New: Legacy options for Weaver Xtreme Plus 3.1
  • New: support for some new Weaver Xtreme Plus 3.1 options
  • Tweak: don't need plugin stylesheet any more - included in Weaver Xtreme
  • Tweak: no need for separate JS lib - included in Weaver Xtreme
  • Note: jumped to 3.1.6 to match corresponding Weaver Xtrme version
  • WP 4.8 compatibility update
Download this release

Release Info

Developer wpweaver
Plugin Icon 128x128 Weaver Xtreme Theme Support
Version 3.1.6
Comparing to
See all releases

Code changes from version 3.1 to 3.1.6

admin/add-weaverx-sapi-options.php CHANGED
@@ -19,11 +19,18 @@ function weaverx_admin_ts_head() { // action definition
19
  add_action('weaverx_admin_subthemes', 'weaverx_ts_weaverx_admin_subthemes');
20
  add_action('weaverx_admin_mainopts', 'weaverx_ts_weaverx_admin_mainopts');
21
  add_action('weaverx_admin_advancedopts', 'weaverx_ts_weaverx_admin_advancedopts');
 
22
 
23
-
24
-
 
 
 
25
  }
 
 
26
  // admin actions function definitions
 
27
 
28
  function weaverx_ts_weaverx_admin_subthemes() {
29
  require_once( dirname(__FILE__ ) . '/admin-subthemes.php');
19
  add_action('weaverx_admin_subthemes', 'weaverx_ts_weaverx_admin_subthemes');
20
  add_action('weaverx_admin_mainopts', 'weaverx_ts_weaverx_admin_mainopts');
21
  add_action('weaverx_admin_advancedopts', 'weaverx_ts_weaverx_admin_advancedopts');
22
+ }
23
 
24
+ /* function wvrx_admin_error_notice() {
25
+ echo 'This request contained ' . count( $_POST ) . ' POST vars, ' . count( $_GET ) . ' GET vars, and ' . count( $_COOKIE ) . ' Cookies.';
26
+ echo '<pre>POST:'; var_dump($_POST); echo '</pre>';
27
+ echo '<pre>GET:'; var_dump($_GET); echo '</pre>';
28
+ echo '<pre>COOKIE:'; var_dump($_COOKIE); echo '</pre>';
29
  }
30
+
31
+ //add_action( 'admin_notices', 'wvrx_admin_error_notice' );
32
  // admin actions function definitions
33
+ */
34
 
35
  function weaverx_ts_weaverx_admin_subthemes() {
36
  require_once( dirname(__FILE__ ) . '/admin-subthemes.php');
admin/admin-advancedopts.php CHANGED
@@ -246,7 +246,7 @@ By default, Weaver Xtreme Plus will use the style-weaverxt.css file. &diams;', '
246
 
247
  <h3><?php _e('Include Widget Areas in Print', 'weaver-xtreme' /*adm*/);?></h3>
248
 
249
- <label><input type="checkbox" name="<?php weaverx_sapi_main_name('_print_show_widgets'); ?>" id="_inline_style" <?php checked(weaverx_getopt_checked( '_print_show_widgets' )); ?> />
250
  <?php _e('Include all widget areas and full Footer content on browser Print page operation. &diams;', 'weaver-xtreme' /*adm*/);?>
251
  </label><br /><br />
252
 
246
 
247
  <h3><?php _e('Include Widget Areas in Print', 'weaver-xtreme' /*adm*/);?></h3>
248
 
249
+ <label><input type="checkbox" name="<?php weaverx_sapi_main_name('_print_show_widgets'); ?>" id="_print_show_widgets" <?php checked(weaverx_getopt_checked( '_print_show_widgets' )); ?> />
250
  <?php _e('Include all widget areas and full Footer content on browser Print page operation. &diams;', 'weaver-xtreme' /*adm*/);?>
251
  </label><br /><br />
252
 
admin/admin-lib-ts-2.php CHANGED
@@ -661,7 +661,7 @@ function weaverx_form_menu_opts( $value, $submit = false ) {
661
  array('name' => '<span class="i-left dashicons dashicons-editor-code"></span><small>' . __('Left HTML', 'weaver-xtreme' /*adm*/) . '</small>',
662
  'id' => $id . '_html_left', 'type' => '+textarea',
663
  'placeholder' => __('Any HTML, including shortcodes.', 'weaver-xtreme' /*adm*/),
664
- 'info' => __('Add HTML Left (Works best with Centered Menu) (&diams;)(&starf;Plus)', 'weaver-xtreme' /*adm*/)),
665
  array( 'name' => '<span class="i-left dashicons dashicons-visibility"></span><small>' . __('Hide Area', 'weaver-xtreme' /*adm*/) . '</small>',
666
  'id' => $id .'_hide_left', 'type' => '+select_hide',
667
  'info' => '<em>' . $name . '</em>' . __(': Hide Left HTML', 'weaver-xtreme' /*adm*/) ),
@@ -670,7 +670,7 @@ function weaverx_form_menu_opts( $value, $submit = false ) {
670
  array('name' => '<span class="i-left dashicons dashicons-editor-code"></span><small>' . __('Right HTML', 'weaver-xtreme' /*adm*/) . '</small>',
671
  'id' => $id . '_html_right', 'type' => $right_text,
672
  'placeholder' => __('Any HTML, including shortcodes.', 'weaver-xtreme' /*adm*/),
673
- 'info' => __('Add HTML to Menu on Right (Works best with Centered Menu) (&diams;)', 'weaver-xtreme' /*adm*/) . $right_plus),
674
 
675
 
676
  array( 'name' => '<span class="i-left dashicons dashicons-visibility"></span><small>' . __('Hide Area', 'weaver-xtreme' /*adm*/) . '</small>',
661
  array('name' => '<span class="i-left dashicons dashicons-editor-code"></span><small>' . __('Left HTML', 'weaver-xtreme' /*adm*/) . '</small>',
662
  'id' => $id . '_html_left', 'type' => '+textarea',
663
  'placeholder' => __('Any HTML, including shortcodes.', 'weaver-xtreme' /*adm*/),
664
+ 'info' => __('Add HTML Left (Works best with Centered Menu)(&starf;Plus)', 'weaver-xtreme' /*adm*/)),
665
  array( 'name' => '<span class="i-left dashicons dashicons-visibility"></span><small>' . __('Hide Area', 'weaver-xtreme' /*adm*/) . '</small>',
666
  'id' => $id .'_hide_left', 'type' => '+select_hide',
667
  'info' => '<em>' . $name . '</em>' . __(': Hide Left HTML', 'weaver-xtreme' /*adm*/) ),
670
  array('name' => '<span class="i-left dashicons dashicons-editor-code"></span><small>' . __('Right HTML', 'weaver-xtreme' /*adm*/) . '</small>',
671
  'id' => $id . '_html_right', 'type' => $right_text,
672
  'placeholder' => __('Any HTML, including shortcodes.', 'weaver-xtreme' /*adm*/),
673
+ 'info' => __('Add HTML to Menu on Right (Works best with Centered Menu)', 'weaver-xtreme' /*adm*/) . $right_plus),
674
 
675
 
676
  array( 'name' => '<span class="i-left dashicons dashicons-visibility"></span><small>' . __('Hide Area', 'weaver-xtreme' /*adm*/) . '</small>',
admin/admin-lib-ts.php CHANGED
@@ -49,7 +49,7 @@ function weaverx_process_options_themes() {
49
  }
50
 
51
  // save/restore options
52
- if ( weaverx_submitted( 'weaverx_clear_messages' )) {
53
  return true;
54
  }
55
  if (weaverx_submitted('reset_weaverx')) {
@@ -702,6 +702,7 @@ function weaverx_ex_set_current_to_serialized_values($contents) {
702
  $new_cache[$key] = $val; // keep
703
  }
704
  $opts = $restore['weaverx_base']; // fetch base opts
 
705
  weaverx_delete_all_options();
706
 
707
  foreach ($opts as $key => $val) {
@@ -713,17 +714,21 @@ function weaverx_ex_set_current_to_serialized_values($contents) {
713
  weaverx_setopt($key,$val,false);
714
  }
715
  } else if ($type == 'backup') {
716
- weaverx_delete_all_options();
717
 
718
  $opts = $restore['weaverx_base']; // fetch base opts
719
  foreach ($opts as $key => $val) {
720
  weaverx_setopt($key, $val, false); // overwrite with saved values
721
  }
722
  }
723
- weaverx_setopt('weaverx_version_id',$version); // keep version, force save of db
724
- weaverx_setopt('wvrx_css_saved','');
 
 
 
725
  weaverx_setopt('last_option','Weaver Xtreme');
726
  weaverx_save_opts('loading theme'); // OK, now we've saved the options, update them in the DB
 
727
  return true;
728
  }
729
 
49
  }
50
 
51
  // save/restore options
52
+ if ( weaverx_submitted( 'weaverx_clear_messages' ) ) {
53
  return true;
54
  }
55
  if (weaverx_submitted('reset_weaverx')) {
702
  $new_cache[$key] = $val; // keep
703
  }
704
  $opts = $restore['weaverx_base']; // fetch base opts
705
+
706
  weaverx_delete_all_options();
707
 
708
  foreach ($opts as $key => $val) {
714
  weaverx_setopt($key,$val,false);
715
  }
716
  } else if ($type == 'backup') {
717
+ weaverx_delete_all_options( );
718
 
719
  $opts = $restore['weaverx_base']; // fetch base opts
720
  foreach ($opts as $key => $val) {
721
  weaverx_setopt($key, $val, false); // overwrite with saved values
722
  }
723
  }
724
+
725
+ weaverx_setopt('weaverx_version_id',$version, false); // keep version, force save of db
726
+ weaverx_setopt('wvrx_css_saved','', false);
727
+
728
+
729
  weaverx_setopt('last_option','Weaver Xtreme');
730
  weaverx_save_opts('loading theme'); // OK, now we've saved the options, update them in the DB
731
+
732
  return true;
733
  }
734
 
admin/admin-mainopts.php CHANGED
@@ -141,11 +141,11 @@ With <em>Weaver Xtreme Plus</em>, you can also specify background images for var
141
  do_action('weaverxplus_admin','general_appearance');
142
  }
143
 
144
- function wvrx_ts_new_xp_opt($opt) {
145
  // don't support new xp opts in old xp
146
- if ( !function_exists('weaverxplus_plugin_installed') || version_compare( WEAVER_XPLUS_VERSION, '2.90', '>=') )
147
  return $opt;
148
- return array('name' => $opt['name'], 'info' => __('This option requires X-Plus Version 3.0','weaver-xtreme'), 'type' => 'note' );
149
  }
150
 
151
  // ======================== Main Options > Custom ========================
@@ -389,7 +389,7 @@ array( 'name' => __('Header Other options', 'weaver-xtreme'), 'type' => 'break')
389
  'id' => 'header_image_height_int', 'type' => 'val_px',
390
  'info' => __('Change the suggested height of the Header Image. This only affects the clipping window on the Appearance:Header page. Header images will be responsively sized. If used with <em>Header Image Rendering</em>, this value will be used to set the minimum height of the BG image. (Default: 188px)', 'weaver-xtreme' /*adm*/)),
391
 
392
- wvrx_ts_new_xp_opt(
393
  array('name' => __('Header Image Rendering', 'weaver-xtreme' /*adm*/) . '</small>',
394
  'id' => 'header_image_render', 'type' => '+select_id', //code
395
  'info' => __('How to render header image: as img in header or as header area bg image. When rendered as a BG image, other options such as moving Title/Tagline or having image link to home page are not meaningful. (Default: &lt;img&gt; in header div) (&starf;Plus)', 'weaver-xtreme' /*adm*/),
@@ -435,7 +435,7 @@ array( 'name' => __('Header Other options', 'weaver-xtreme'), 'type' => 'break')
435
  array('name' => '<small>' . __('Show On Home Page Only', 'weaver-xtreme' /*adm*/) . '</small>', 'id' => 'header_image_html_home_only', 'type' => 'checkbox',
436
  'info' => __('Check to use the Image HTML Replacement only on your Front/Home page.', 'weaver-xtreme' /*adm*/)),
437
 
438
- wvrx_ts_new_xp_opt(
439
  array('name' => '<small>' . __('Also show BG Header Image', 'weaver-xtreme' /*adm*/) . '</small>', 'id' => 'header_image_html_plus_bg', 'type' => '+checkbox',
440
  'info' => __('If you have Image HTML Replacement defined - including Per Page/Post - and also have have set the standard Header Image to display as a BG image, then show <em>both</em> the BG image and the replacement HTML. (&starf;Plus)', 'weaver-xtreme' /*adm*/)) ),
441
 
@@ -893,6 +893,11 @@ function weaverx_mainopts_content() {
893
  array('name' => '<span class="i-left" style="font-size:150%;">&harr;</span><small>' . __('Featured Image Width, Pages', 'weaver-xtreme' /*adm*/) . '</small>',
894
  'id' => 'page_fi_width', 'type' => '+val_percent',
895
  'info' => __('Width of Featured Image on Pages. Max Width in %, overrides FI Size selection. (&starf;Plus)', 'weaver-xtreme' /*adm*/) ),
 
 
 
 
 
896
 
897
  array('name' => __('Lists - &lt;HR&gt; - Tables', 'weaver-xtreme' /*adm*/), 'id' => '-list-view', 'type'=>'subheader_alt',
898
  'info' => __('Other options related to content', 'weaver-xtreme' /*adm*/)),
@@ -1207,6 +1212,10 @@ function weaverx_mainopts_posts() {
1207
  array('name' => __('Full Width FI BG Image:', 'weaver-xtreme' /*adm*/), 'type' => 'note',
1208
  'info' => __('To create full width Post BG images from the FI, check the <em>Post Area Extend BG Attributes</em> box at <em>Full Width</em> tab.', 'weaver-xtreme' /*adm*/)),
1209
 
 
 
 
 
1210
  array('name' => '<span class="i-left" style=font-size:120%;">&nbsp;&#10538;</span>' . __('FI Location - Full Post', 'weaver-xtreme' /*adm*/),
1211
  'id' => 'post_full_fi_location', 'type' => 'fi_location_post',
1212
  'info' => __('Where to display Featured Image for full blog posts.', 'weaver-xtreme' /*adm*/)),
141
  do_action('weaverxplus_admin','general_appearance');
142
  }
143
 
144
+ function wvrx_ts_new_xp_opt($vers, $opt) {
145
  // don't support new xp opts in old xp
146
+ if ( function_exists('weaverxplus_plugin_installed') && version_compare( WEAVER_XPLUS_VERSION, $vers, '>=') )
147
  return $opt;
148
+ return array('name' => $opt['name'], 'info' => __('This option requires X-Plus Version greater or equal to ','weaver-xtreme') . $vers , 'type' => 'note' );
149
  }
150
 
151
  // ======================== Main Options > Custom ========================
389
  'id' => 'header_image_height_int', 'type' => 'val_px',
390
  'info' => __('Change the suggested height of the Header Image. This only affects the clipping window on the Appearance:Header page. Header images will be responsively sized. If used with <em>Header Image Rendering</em>, this value will be used to set the minimum height of the BG image. (Default: 188px)', 'weaver-xtreme' /*adm*/)),
391
 
392
+ wvrx_ts_new_xp_opt( '3.0', // >= 3.0
393
  array('name' => __('Header Image Rendering', 'weaver-xtreme' /*adm*/) . '</small>',
394
  'id' => 'header_image_render', 'type' => '+select_id', //code
395
  'info' => __('How to render header image: as img in header or as header area bg image. When rendered as a BG image, other options such as moving Title/Tagline or having image link to home page are not meaningful. (Default: &lt;img&gt; in header div) (&starf;Plus)', 'weaver-xtreme' /*adm*/),
435
  array('name' => '<small>' . __('Show On Home Page Only', 'weaver-xtreme' /*adm*/) . '</small>', 'id' => 'header_image_html_home_only', 'type' => 'checkbox',
436
  'info' => __('Check to use the Image HTML Replacement only on your Front/Home page.', 'weaver-xtreme' /*adm*/)),
437
 
438
+ wvrx_ts_new_xp_opt( '3.0', // >= 3.0
439
  array('name' => '<small>' . __('Also show BG Header Image', 'weaver-xtreme' /*adm*/) . '</small>', 'id' => 'header_image_html_plus_bg', 'type' => '+checkbox',
440
  'info' => __('If you have Image HTML Replacement defined - including Per Page/Post - and also have have set the standard Header Image to display as a BG image, then show <em>both</em> the BG image and the replacement HTML. (&starf;Plus)', 'weaver-xtreme' /*adm*/)) ),
441
 
893
  array('name' => '<span class="i-left" style="font-size:150%;">&harr;</span><small>' . __('Featured Image Width, Pages', 'weaver-xtreme' /*adm*/) . '</small>',
894
  'id' => 'page_fi_width', 'type' => '+val_percent',
895
  'info' => __('Width of Featured Image on Pages. Max Width in %, overrides FI Size selection. (&starf;Plus)', 'weaver-xtreme' /*adm*/) ),
896
+ array('name' => '<small>' . __("Don't add link to FI", 'weaver-xtreme' /*adm*/) . '</small>',
897
+ 'id' => 'page_fi_nolink', 'type' => '+checkbox',
898
+ 'info' => __('Do not add link to Featured Image. (&starf;Plus)', 'weaver-xtreme' /*adm*/) ),
899
+
900
+
901
 
902
  array('name' => __('Lists - &lt;HR&gt; - Tables', 'weaver-xtreme' /*adm*/), 'id' => '-list-view', 'type'=>'subheader_alt',
903
  'info' => __('Other options related to content', 'weaver-xtreme' /*adm*/)),
1212
  array('name' => __('Full Width FI BG Image:', 'weaver-xtreme' /*adm*/), 'type' => 'note',
1213
  'info' => __('To create full width Post BG images from the FI, check the <em>Post Area Extend BG Attributes</em> box at <em>Full Width</em> tab.', 'weaver-xtreme' /*adm*/)),
1214
 
1215
+ array('name' => '<small>' . __("Don't add link to FI", 'weaver-xtreme' /*adm*/) . '</small>',
1216
+ 'id' => 'post_fi_nolink', 'type' => '+checkbox',
1217
+ 'info' => __('Do not add link to Featured Image for any post layout. (&starf;Plus)', 'weaver-xtreme' /*adm*/) ),
1218
+
1219
  array('name' => '<span class="i-left" style=font-size:120%;">&nbsp;&#10538;</span>' . __('FI Location - Full Post', 'weaver-xtreme' /*adm*/),
1220
  'id' => 'post_full_fi_location', 'type' => 'fi_location_post',
1221
  'info' => __('Where to display Featured Image for full blog posts.', 'weaver-xtreme' /*adm*/)),
admin/admin-saverestore.php CHANGED
@@ -16,7 +16,7 @@ function weaverx_ts_admin_saverestore() {
16
  if (! $style_date ) $style_date = __('No saved settings', 'weaver-xtreme' /*adm*/);
17
  ?>
18
 
19
- <div class="atw-option-header" style="clear:both;"><?php _e('Save/Restore Theme Settings', 'weaver-xtreme' /*adm*/);weaverx_help_link('help.html#SaveRestore',_e('Help on Save/Restore Themes', 'weaver-xtreme' /*adm*/));?></div>
20
  <p>
21
  <?php _e('Note: if you have Weaver Xtreme Plus installed, then options marked with &starf;Plus will be included in saves and restores.', 'weaver-xtreme' /*adm*/); ?>
22
  </p>
@@ -127,7 +127,7 @@ function weaverx_saverestore(){
127
  if (function_exists('weaverxplus_plugin_installed'))
128
  echo '<p>' .
129
  __('Note: Downloaded settings include <em>Weaver Xtreme Plus</em> settings.
130
- Setting files from Weaver Xtreme Plus can be uploaded to the Free Weaver Xtreme version, but will not be used or saved by the free version.', 'weaver-xtreme' /*adm*/)
131
  . '</p>';
132
  ?>
133
 
@@ -156,6 +156,22 @@ __('Note: Any Weaver Xtreme Plus settings will <em>not</em> be restored for Weav
156
  </table>
157
  <?php weaverx_nonce_field('uploadtheme'); ?>
158
  </form>
 
 
 
 
 
 
 
 
159
  <?php
 
 
 
 
 
 
160
  }
 
 
161
  ?>
16
  if (! $style_date ) $style_date = __('No saved settings', 'weaver-xtreme' /*adm*/);
17
  ?>
18
 
19
+ <div class="atw-option-header" style="clear:both;"><?php _e('Save/Restore Theme Settings', 'weaver-xtreme' /*adm*/);weaverx_help_link('help.html#SaveRestore',__('Help on Save/Restore Themes', 'weaver-xtreme' /*adm*/));?></div>
20
  <p>
21
  <?php _e('Note: if you have Weaver Xtreme Plus installed, then options marked with &starf;Plus will be included in saves and restores.', 'weaver-xtreme' /*adm*/); ?>
22
  </p>
127
  if (function_exists('weaverxplus_plugin_installed'))
128
  echo '<p>' .
129
  __('Note: Downloaded settings include <em>Weaver Xtreme Plus</em> settings.
130
+ Setting files from Weaver Xtreme Plus can be uploaded to the Free Weaver Xtreme version, but will not be used or saved by the free version. If you get error messages while downloading or uploading (a very rare host related issue), try the Customizer save/restore options instead.', 'weaver-xtreme' /*adm*/)
131
  . '</p>';
132
  ?>
133
 
156
  </table>
157
  <?php weaverx_nonce_field('uploadtheme'); ?>
158
  </form>
159
+
160
+ <h3 class="atw-option-header" style="color:blue;">
161
+ <?php _e('Save/Restore Current Settings in files on your site\'s host file system. (&starf;Plus)', 'weaver-xtreme' /*adm*/); ?>
162
+ </h3>
163
+ <p>
164
+ <?php _e('This option allows you to save and restore current subtheme settings on the file system of your site\' host.', 'weaver-xtreme' /*adm*/); ?>
165
+ </p>
166
+ <p>
167
  <?php
168
+ if (!function_exists('weaverxplus_plugin_installed') || !version_compare(WEAVER_XPLUS_VERSION, '3.1','>=') ) {
169
+ echo '<strong>'; _e('This option requires Weaver Xtreme Plus version greater or equal to ','weaver_xtreme') ; echo '3.1</strong>';
170
+ } else {
171
+ do_action('weaverxplus_admin','save_restore_files');
172
+ }
173
+ echo '</p>';
174
  }
175
+
176
+
177
  ?>
admin/assets/css/admin-style.min.css CHANGED
@@ -1,4 +1,4 @@
1
- .hide_me{display:none}textarea.wvrx-edit-dir{background-color:yellow!important;direction:rtl!important}.wvr-green{font-weight:bold;color:green}.wvr-yellow{font-weight:bold;color:orange}.wvr-red{font-weight:bold;color:red}.wvr-blue{font-weight:bold;color:blue}.a-plus{background-color:#f5fbef;border:1px solid #ccc;padding-left:20px;padding-right:20px;margin-left:20px;margin-right:20%}.i-left{float:left;font-size:14px}.i-left-bg{float:left;font-size:16px;color:#70ff29}.i-left-fg{float:left;font-size:16px;color:#290bbd}a.anchorx{display:block;position:relative;top:-40px;visibility:hidden}.options-intro{text-align:center;margin:-10px auto -5px auto;font-size:90%;background-color:ivory;padding:4px 10px 4px 10px;border:1px solid green;max-width:90%}.options-intro a{font-weight:bold;text-decoration:none;color:blue}.options-intro-menu{text-align:center}#wpcontent{background-color:#fffff8;color:black}input.color{border:1px solid #2bff1c}select{font-size:12px}.font-bold{font-weight:bold}.font-bold-title{font-weight:900}
2
  .font-italic a,.font-italic{font-style:italic!important}.font-sans-serif{font-family:sans-serif}.font-arial{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif}.font-arialNarrow{font-family:"Arial Narrow",Arial,sans-serif}.font-impact{font-family:Impact,Haettenschweiler,Charcoal,"Arial Narrow Bold",sans-serif}.font-lucidaSans{font-family:"Lucida Sans",Geneva,Tahoma,sans-serif}.font-trebuchetMS{font-family:"Trebuchet MS","Lucida Grande","Lucida Sans Unicode","Lucida Sans",Tahoma,sans-serif}.font-verdana{font-family:Verdana,Geneva,Candara,sans-serif}.font-serif{font-family:TimesNewRoman,"Times New Roman",Times,Baskerville,Georgia,serif}.font-garamond{font-family:Garamond,Baskerville,"Baskerville Old Face","Hoefler Text","Times New Roman",serif}.font-georgia{font-family:Georgia,Times,"Times New Roman",serif}
3
  .font-lucidaBright{font-family:"Lucida Bright","Book Antiqua",Georgia,serif}.font-palatino{font-family:"Palatino Linotype",Palatino,"Lucida Bright","Book Antiqua",serif}.font-timesNewRoman{font-family:TimesNewRoman,"Times New Roman",Times,Baskerville,Georgia,serif}.font-monospace{font-family:monospace}.font-consolas{font-family:Consolas,monaco,"Andale Mono",AndaleMono,monospace}.font-courier{font-family:"Courier New",Courier,"Lucida Sans Typewriter","Lucida Typewriter",monospace}.font-lucidaConsole{font-family:"Lucida Console","Lucida Sans Typewriter",Monaco,"Bitstream Vera Sans Mono",monospace}.font-papyrus{font-family:Papyrus,fantasy,cursive,serif}.font-comicSans{font-family:"Comic Sans MS",cursive,serif}p{margin-right:5%}.submit input{background:#f8f8f8;background-image:linear-gradient(#a8ddff,#88b3cf);border-radius:4px}
4
  .atw-help ul{list-style:disc;margin-left:30px}.atw-option-section{font-weight:bold;font-size:120%;color:blue}.tab ul{margin-left:1.15em;list-style:disc outside none}.tab ol{list-style-position:outside;margin-left:1.4em;margin-bottom:.6em}.js_button{background:#eee!important;font-weight:600!important;color:#585858!important}div.yetii{width:95%;margin:0 0 20px 0}ul.yetii{list-style-type:none;width:100%;float:left;border-bottom:4px ridge #ddd;margin-bottom:8px}ul.yetii li{margin:0 2px 0 0;float:left}ul.yetii a{float:left;display:block;padding:4px 8px;border:1px solid #ddd;border-bottom:0;color:#666;background:#eee;text-decoration:none;font-weight:bold;background-image:linear-gradient(#f0f0f0,#c8c8c8);border-top-left-radius:6px;border-top-right-radius:6px}ul.yetii a:hover{background:#fff}ul.yetii a.active{background:#fff;color:#00f;background-image:linear-gradient(#f8f8f8,#eee)}div.yetiisub{width:100%;margin:0 0 20px 0}ul.yetiisub{list-style-type:none;width:100%;float:left;margin-bottom:8px}
1
+ .hide_me{display:none}textarea.wvrx-edit-dir{background-color:yellow!important;direction:rtl!important}.atw-green{font-weight:bold;color:green}.atw-yellow{font-weight:bold;color:orange}.atw-red{font-weight:bold;color:red}.atw-blue{font-weight:bold;color:blue}.a-plus{background-color:#f5fbef;border:1px solid #ccc;padding-left:20px;padding-right:20px;margin-left:20px;margin-right:20%}.i-left{float:left;font-size:14px}.i-left-bg{float:left;font-size:16px;color:#70ff29}.i-left-fg{float:left;font-size:16px;color:#290bbd}a.anchorx{display:block;position:relative;top:-40px;visibility:hidden}.options-intro{text-align:center;margin:-10px auto -5px auto;font-size:90%;background-color:ivory;padding:4px 10px 4px 10px;border:1px solid green;max-width:90%}.options-intro a{font-weight:bold;text-decoration:none;color:blue}.options-intro-menu{text-align:center}#wpcontent{background-color:#fffff8;color:black}input.color{border:1px solid #2bff1c}select{font-size:12px}.font-bold{font-weight:bold}.font-bold-title{font-weight:900}
2
  .font-italic a,.font-italic{font-style:italic!important}.font-sans-serif{font-family:sans-serif}.font-arial{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif}.font-arialNarrow{font-family:"Arial Narrow",Arial,sans-serif}.font-impact{font-family:Impact,Haettenschweiler,Charcoal,"Arial Narrow Bold",sans-serif}.font-lucidaSans{font-family:"Lucida Sans",Geneva,Tahoma,sans-serif}.font-trebuchetMS{font-family:"Trebuchet MS","Lucida Grande","Lucida Sans Unicode","Lucida Sans",Tahoma,sans-serif}.font-verdana{font-family:Verdana,Geneva,Candara,sans-serif}.font-serif{font-family:TimesNewRoman,"Times New Roman",Times,Baskerville,Georgia,serif}.font-garamond{font-family:Garamond,Baskerville,"Baskerville Old Face","Hoefler Text","Times New Roman",serif}.font-georgia{font-family:Georgia,Times,"Times New Roman",serif}
3
  .font-lucidaBright{font-family:"Lucida Bright","Book Antiqua",Georgia,serif}.font-palatino{font-family:"Palatino Linotype",Palatino,"Lucida Bright","Book Antiqua",serif}.font-timesNewRoman{font-family:TimesNewRoman,"Times New Roman",Times,Baskerville,Georgia,serif}.font-monospace{font-family:monospace}.font-consolas{font-family:Consolas,monaco,"Andale Mono",AndaleMono,monospace}.font-courier{font-family:"Courier New",Courier,"Lucida Sans Typewriter","Lucida Typewriter",monospace}.font-lucidaConsole{font-family:"Lucida Console","Lucida Sans Typewriter",Monaco,"Bitstream Vera Sans Mono",monospace}.font-papyrus{font-family:Papyrus,fantasy,cursive,serif}.font-comicSans{font-family:"Comic Sans MS",cursive,serif}p{margin-right:5%}.submit input{background:#f8f8f8;background-image:linear-gradient(#a8ddff,#88b3cf);border-radius:4px}
4
  .atw-help ul{list-style:disc;margin-left:30px}.atw-option-section{font-weight:bold;font-size:120%;color:blue}.tab ul{margin-left:1.15em;list-style:disc outside none}.tab ol{list-style-position:outside;margin-left:1.4em;margin-bottom:.6em}.js_button{background:#eee!important;font-weight:600!important;color:#585858!important}div.yetii{width:95%;margin:0 0 20px 0}ul.yetii{list-style-type:none;width:100%;float:left;border-bottom:4px ridge #ddd;margin-bottom:8px}ul.yetii li{margin:0 2px 0 0;float:left}ul.yetii a{float:left;display:block;padding:4px 8px;border:1px solid #ddd;border-bottom:0;color:#666;background:#eee;text-decoration:none;font-weight:bold;background-image:linear-gradient(#f0f0f0,#c8c8c8);border-top-left-radius:6px;border-top-right-radius:6px}ul.yetii a:hover{background:#fff}ul.yetii a.active{background:#fff;color:#00f;background-image:linear-gradient(#f8f8f8,#eee)}div.yetiisub{width:100%;margin:0 0 20px 0}ul.yetiisub{list-style-type:none;width:100%;float:left;margin-bottom:8px}
admin/assets/js/jscolor/arrow.gif DELETED
Binary file
admin/assets/js/jscolor/cross.gif DELETED
Binary file
admin/assets/js/jscolor/demo.html DELETED
@@ -1,12 +0,0 @@
1
- <html>
2
- <head>
3
- <title>jscolor demo</title>
4
- </head>
5
- <body>
6
-
7
- <script type="text/javascript" src="jscolor.js"></script>
8
-
9
- Click here: <input class="color" value="66ff00">
10
-
11
- </body>
12
- </html>
 
 
 
 
 
 
 
 
 
 
 
 
admin/assets/js/jscolor/hs.png DELETED
Binary file
admin/assets/js/jscolor/hv.png DELETED
Binary file
admin/assets/js/jscolor/jscolor.js DELETED
@@ -1,1010 +0,0 @@
1
- /**
2
- * jscolor, JavaScript Color Picker
3
- *
4
- * @version 1.4.4
5
- * @license GNU Lesser General Public License, http://www.gnu.org/copyleft/lesser.html
6
- * @author Jan Odvarko, http://odvarko.cz
7
- * @created 2008-06-15
8
- * @updated 2014-12-09
9
- * @link http://jscolor.com
10
- */
11
-
12
-
13
- var jscolor = {
14
-
15
-
16
- dir : '', // location of jscolor directory (leave empty to autodetect)
17
- bindClass : 'color', // class name
18
- binding : true, // automatic binding via <input class="...">
19
- preloading : true, // use image preloading?
20
-
21
-
22
- install : function() {
23
- jscolor.addEvent(window, 'load', jscolor.init);
24
- },
25
-
26
-
27
- init : function() {
28
- if(jscolor.binding) {
29
- jscolor.bind();
30
- }
31
- if(jscolor.preloading) {
32
- jscolor.preload();
33
- }
34
- },
35
-
36
-
37
- getDir : function() {
38
- if(!jscolor.dir) {
39
- var detected = jscolor.detectDir();
40
- jscolor.dir = detected!==false ? detected : 'jscolor/';
41
- }
42
- return jscolor.dir;
43
- },
44
-
45
-
46
- detectDir : function() {
47
- var base = location.href;
48
-
49
- var e = document.getElementsByTagName('base');
50
- for(var i=0; i<e.length; i+=1) {
51
- if(e[i].href) { base = e[i].href; }
52
- }
53
-
54
- var e = document.getElementsByTagName('script');
55
- for(var i=0; i<e.length; i+=1) {
56
- if(e[i].src && /(^|\/)jscolor\.js([?#].*)?$/i.test(e[i].src)) {
57
- var src = new jscolor.URI(e[i].src);
58
- var srcAbs = src.toAbsolute(base);
59
- srcAbs.path = srcAbs.path.replace(/[^\/]+$/, ''); // remove filename
60
- srcAbs.query = null;
61
- srcAbs.fragment = null;
62
- return srcAbs.toString();
63
- }
64
- }
65
- return false;
66
- },
67
-
68
-
69
- bind : function() {
70
- var matchClass = new RegExp('(^|\\s)('+jscolor.bindClass+')(\\s*(\\{[^}]*\\})|\\s|$)', 'i');
71
- var e = document.getElementsByTagName('input');
72
- for(var i=0; i<e.length; i+=1) {
73
- if(jscolor.isColorAttrSupported && e[i].type.toLowerCase() == 'color') {
74
- // skip inputs of type 'color' if the browser supports this feature
75
- continue;
76
- }
77
- var m;
78
- if(!e[i].color && e[i].className && (m = e[i].className.match(matchClass))) {
79
- var prop = {};
80
- if(m[4]) {
81
- try {
82
- prop = (new Function ('return (' + m[4] + ')'))();
83
- } catch(eInvalidProp) {}
84
- }
85
- e[i].color = new jscolor.color(e[i], prop);
86
- }
87
- }
88
- },
89
-
90
-
91
- preload : function() {
92
- for(var fn in jscolor.imgRequire) {
93
- if(jscolor.imgRequire.hasOwnProperty(fn)) {
94
- jscolor.loadImage(fn);
95
- }
96
- }
97
- },
98
-
99
-
100
- images : {
101
- pad : [ 181, 101 ],
102
- sld : [ 16, 101 ],
103
- cross : [ 15, 15 ],
104
- arrow : [ 7, 11 ]
105
- },
106
-
107
-
108
- imgRequire : {},
109
- imgLoaded : {},
110
-
111
-
112
- requireImage : function(filename) {
113
- jscolor.imgRequire[filename] = true;
114
- },
115
-
116
-
117
- loadImage : function(filename) {
118
- if(!jscolor.imgLoaded[filename]) {
119
- jscolor.imgLoaded[filename] = new Image();
120
- jscolor.imgLoaded[filename].src = jscolor.getDir()+filename;
121
- }
122
- },
123
-
124
-
125
- fetchElement : function(mixed) {
126
- return typeof mixed === 'string' ? document.getElementById(mixed) : mixed;
127
- },
128
-
129
-
130
- addEvent : function(el, evnt, func) {
131
- if(el.addEventListener) {
132
- el.addEventListener(evnt, func, false);
133
- } else if(el.attachEvent) {
134
- el.attachEvent('on'+evnt, func);
135
- }
136
- },
137
-
138
-
139
- fireEvent : function(el, evnt) {
140
- if(!el) {
141
- return;
142
- }
143
- if(document.createEvent) {
144
- var ev = document.createEvent('HTMLEvents');
145
- ev.initEvent(evnt, true, true);
146
- el.dispatchEvent(ev);
147
- } else if(document.createEventObject) {
148
- var ev = document.createEventObject();
149
- el.fireEvent('on'+evnt, ev);
150
- } else if(el['on'+evnt]) { // alternatively use the traditional event model (IE5)
151
- el['on'+evnt]();
152
- }
153
- },
154
-
155
-
156
- getElementPos : function(e) {
157
- var e1=e, e2=e;
158
- var x=0, y=0;
159
- if(e1.offsetParent) {
160
- do {
161
- x += e1.offsetLeft;
162
- y += e1.offsetTop;
163
- } while(e1 = e1.offsetParent);
164
- }
165
- while((e2 = e2.parentNode) && e2.nodeName.toUpperCase() !== 'BODY') {
166
- x -= e2.scrollLeft;
167
- y -= e2.scrollTop;
168
- }
169
- return [x, y];
170
- },
171
-
172
-
173
- getElementSize : function(e) {
174
- return [e.offsetWidth, e.offsetHeight];
175
- },
176
-
177
-
178
- getRelMousePos : function(e) {
179
- var x = 0, y = 0;
180
- if (!e) { e = window.event; }
181
- if (typeof e.offsetX === 'number') {
182
- x = e.offsetX;
183
- y = e.offsetY;
184
- } else if (typeof e.layerX === 'number') {
185
- x = e.layerX;
186
- y = e.layerY;
187
- }
188
- return { x: x, y: y };
189
- },
190
-
191
-
192
- getViewPos : function() {
193
- if(typeof window.pageYOffset === 'number') {
194
- return [window.pageXOffset, window.pageYOffset];
195
- } else if(document.body && (document.body.scrollLeft || document.body.scrollTop)) {
196
- return [document.body.scrollLeft, document.body.scrollTop];
197
- } else if(document.documentElement && (document.documentElement.scrollLeft || document.documentElement.scrollTop)) {
198
- return [document.documentElement.scrollLeft, document.documentElement.scrollTop];
199
- } else {
200
- return [0, 0];
201
- }
202
- },
203
-
204
-
205
- getViewSize : function() {
206
- if(typeof window.innerWidth === 'number') {
207
- return [window.innerWidth, window.innerHeight];
208
- } else if(document.body && (document.body.clientWidth || document.body.clientHeight)) {
209
- return [document.body.clientWidth, document.body.clientHeight];
210
- } else if(document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) {
211
- return [document.documentElement.clientWidth, document.documentElement.clientHeight];
212
- } else {
213
- return [0, 0];
214
- }
215
- },
216
-
217
-
218
- URI : function(uri) { // See RFC3986
219
-
220
- this.scheme = null;
221
- this.authority = null;
222
- this.path = '';
223
- this.query = null;
224
- this.fragment = null;
225
-
226
- this.parse = function(uri) {
227
- var m = uri.match(/^(([A-Za-z][0-9A-Za-z+.-]*)(:))?((\/\/)([^\/?#]*))?([^?#]*)((\?)([^#]*))?((#)(.*))?/);
228
- this.scheme = m[3] ? m[2] : null;
229
- this.authority = m[5] ? m[6] : null;
230
- this.path = m[7];
231
- this.query = m[9] ? m[10] : null;
232
- this.fragment = m[12] ? m[13] : null;
233
- return this;
234
- };
235
-
236
- this.toString = function() {
237
- var result = '';
238
- if(this.scheme !== null) { result = result + this.scheme + ':'; }
239
- if(this.authority !== null) { result = result + '//' + this.authority; }
240
- if(this.path !== null) { result = result + this.path; }
241
- if(this.query !== null) { result = result + '?' + this.query; }
242
- if(this.fragment !== null) { result = result + '#' + this.fragment; }
243
- return result;
244
- };
245
-
246
- this.toAbsolute = function(base) {
247
- var base = new jscolor.URI(base);
248
- var r = this;
249
- var t = new jscolor.URI;
250
-
251
- if(base.scheme === null) { return false; }
252
-
253
- if(r.scheme !== null && r.scheme.toLowerCase() === base.scheme.toLowerCase()) {
254
- r.scheme = null;
255
- }
256
-
257
- if(r.scheme !== null) {
258
- t.scheme = r.scheme;
259
- t.authority = r.authority;
260
- t.path = removeDotSegments(r.path);
261
- t.query = r.query;
262
- } else {
263
- if(r.authority !== null) {
264
- t.authority = r.authority;
265
- t.path = removeDotSegments(r.path);
266
- t.query = r.query;
267
- } else {
268
- if(r.path === '') {
269
- t.path = base.path;
270
- if(r.query !== null) {
271
- t.query = r.query;
272
- } else {
273
- t.query = base.query;
274
- }
275
- } else {
276
- if(r.path.substr(0,1) === '/') {
277
- t.path = removeDotSegments(r.path);
278
- } else {
279
- if(base.authority !== null && base.path === '') {
280
- t.path = '/'+r.path;
281
- } else {
282
- t.path = base.path.replace(/[^\/]+$/,'')+r.path;
283
- }
284
- t.path = removeDotSegments(t.path);
285
- }
286
- t.query = r.query;
287
- }
288
- t.authority = base.authority;
289
- }
290
- t.scheme = base.scheme;
291
- }
292
- t.fragment = r.fragment;
293
-
294
- return t;
295
- };
296
-
297
- function removeDotSegments(path) {
298
- var out = '';
299
- while(path) {
300
- if(path.substr(0,3)==='../' || path.substr(0,2)==='./') {
301
- path = path.replace(/^\.+/,'').substr(1);
302
- } else if(path.substr(0,3)==='/./' || path==='/.') {
303
- path = '/'+path.substr(3);
304
- } else if(path.substr(0,4)==='/../' || path==='/..') {
305
- path = '/'+path.substr(4);
306
- out = out.replace(/\/?[^\/]*$/, '');
307
- } else if(path==='.' || path==='..') {
308
- path = '';
309
- } else {
310
- var rm = path.match(/^\/?[^\/]*/)[0];
311
- path = path.substr(rm.length);
312
- out = out + rm;
313
- }
314
- }
315
- return out;
316
- }
317
-
318
- if(uri) {
319
- this.parse(uri);
320
- }
321
-
322
- },
323
-
324
-
325
- //
326
- // Usage example:
327
- // var myColor = new jscolor.color(myInputElement)
328
- //
329
-
330
- color : function(target, prop) {
331
-
332
-
333
- this.required = true; // refuse empty values?
334
- this.adjust = true; // adjust value to uniform notation?
335
- this.hash = false; // prefix color with # symbol?
336
- this.caps = true; // uppercase?
337
- this.slider = true; // show the value/saturation slider?
338
- this.valueElement = target; // value holder
339
- this.styleElement = target; // where to reflect current color
340
- this.onImmediateChange = null; // onchange callback (can be either string or function)
341
- this.hsv = [0, 0, 1]; // read-only 0-6, 0-1, 0-1
342
- this.rgb = [1, 1, 1]; // read-only 0-1, 0-1, 0-1
343
- this.minH = 0; // read-only 0-6
344
- this.maxH = 6; // read-only 0-6
345
- this.minS = 0; // read-only 0-1
346
- this.maxS = 1; // read-only 0-1
347
- this.minV = 0; // read-only 0-1
348
- this.maxV = 1; // read-only 0-1
349
-
350
- this.pickerOnfocus = true; // display picker on focus?
351
- this.pickerMode = 'HSV'; // HSV | HVS
352
- this.pickerPosition = 'bottom'; // left | right | top | bottom
353
- this.pickerSmartPosition = true; // automatically adjust picker position when necessary
354
- this.pickerButtonHeight = 20; // px
355
- this.pickerClosable = false;
356
- this.pickerCloseText = 'Close';
357
- this.pickerButtonColor = 'ButtonText'; // px
358
- this.pickerFace = 10; // px
359
- this.pickerFaceColor = 'ThreeDFace'; // CSS color
360
- this.pickerBorder = 1; // px
361
- this.pickerBorderColor = 'ThreeDHighlight ThreeDShadow ThreeDShadow ThreeDHighlight'; // CSS color
362
- this.pickerInset = 1; // px
363
- this.pickerInsetColor = 'ThreeDShadow ThreeDHighlight ThreeDHighlight ThreeDShadow'; // CSS color
364
- this.pickerZIndex = 10000;
365
-
366
-
367
- for(var p in prop) {
368
- if(prop.hasOwnProperty(p)) {
369
- this[p] = prop[p];
370
- }
371
- }
372
-
373
-
374
- this.hidePicker = function() {
375
- if(isPickerOwner()) {
376
- removePicker();
377
- }
378
- };
379
-
380
-
381
- this.showPicker = function() {
382
- if(!isPickerOwner()) {
383
- var tp = jscolor.getElementPos(target); // target pos
384
- var ts = jscolor.getElementSize(target); // target size
385
- var vp = jscolor.getViewPos(); // view pos
386
- var vs = jscolor.getViewSize(); // view size
387
- var ps = getPickerDims(this); // picker size
388
- var a, b, c;
389
- switch(this.pickerPosition.toLowerCase()) {
390
- case 'left': a=1; b=0; c=-1; break;
391
- case 'right':a=1; b=0; c=1; break;
392
- case 'top': a=0; b=1; c=-1; break;
393
- default: a=0; b=1; c=1; break;
394
- }
395
- var l = (ts[b]+ps[b])/2;
396
-
397
- // picker pos
398
- if (!this.pickerSmartPosition) {
399
- var pp = [
400
- tp[a],
401
- tp[b]+ts[b]-l+l*c
402
- ];
403
- } else {
404
- var pp = [
405
- -vp[a]+tp[a]+ps[a] > vs[a] ?
406
- (-vp[a]+tp[a]+ts[a]/2 > vs[a]/2 && tp[a]+ts[a]-ps[a] >= 0 ? tp[a]+ts[a]-ps[a] : tp[a]) :
407
- tp[a],
408
- -vp[b]+tp[b]+ts[b]+ps[b]-l+l*c > vs[b] ?
409
- (-vp[b]+tp[b]+ts[b]/2 > vs[b]/2 && tp[b]+ts[b]-l-l*c >= 0 ? tp[b]+ts[b]-l-l*c : tp[b]+ts[b]-l+l*c) :
410
- (tp[b]+ts[b]-l+l*c >= 0 ? tp[b]+ts[b]-l+l*c : tp[b]+ts[b]-l-l*c)
411
- ];
412
- }
413
- drawPicker(pp[a], pp[b]);
414
- }
415
- };
416
-
417
-
418
- this.importColor = function() {
419
- if(!valueElement) {
420
- this.exportColor();
421
- } else {
422
- if(!this.adjust) {
423
- if(!this.fromString(valueElement.value, leaveValue)) {
424
- styleElement.style.backgroundImage = styleElement.jscStyle.backgroundImage;
425
- styleElement.style.backgroundColor = styleElement.jscStyle.backgroundColor;
426
- styleElement.style.color = styleElement.jscStyle.color;
427
- this.exportColor(leaveValue | leaveStyle);
428
- }
429
- } else if(!this.required && /^\s*$/.test(valueElement.value)) {
430
- valueElement.value = '';
431
- styleElement.style.backgroundImage = styleElement.jscStyle.backgroundImage;
432
- styleElement.style.backgroundColor = styleElement.jscStyle.backgroundColor;
433
- styleElement.style.color = styleElement.jscStyle.color;
434
- this.exportColor(leaveValue | leaveStyle);
435
-
436
- } else if(this.fromString(valueElement.value)) {
437
- // OK
438
- } else {
439
- this.exportColor();
440
- }
441
- }
442
- };
443
-
444
-
445
- this.exportColor = function(flags) {
446
- if(!(flags & leaveValue) && valueElement) {
447
- var value = this.toString();
448
- if(this.caps) { value = value.toUpperCase(); }
449
- if(this.hash) { value = '#'+value; }
450
- valueElement.value = value;
451
- }
452
- if(!(flags & leaveStyle) && styleElement) {
453
- styleElement.style.backgroundImage = "none";
454
- styleElement.style.backgroundColor =
455
- '#'+this.toString();
456
- styleElement.style.color =
457
- 0.213 * this.rgb[0] +
458
- 0.715 * this.rgb[1] +
459
- 0.072 * this.rgb[2]
460
- < 0.5 ? '#FFF' : '#000';
461
- }
462
- if(!(flags & leavePad) && isPickerOwner()) {
463
- redrawPad();
464
- }
465
- if(!(flags & leaveSld) && isPickerOwner()) {
466
- redrawSld();
467
- }
468
- };
469
-
470
-
471
- this.fromHSV = function(h, s, v, flags) { // null = don't change
472
- if(h !== null) { h = Math.max(0.0, this.minH, Math.min(6.0, this.maxH, h)); }
473
- if(s !== null) { s = Math.max(0.0, this.minS, Math.min(1.0, this.maxS, s)); }
474
- if(v !== null) { v = Math.max(0.0, this.minV, Math.min(1.0, this.maxV, v)); }
475
-
476
- this.rgb = HSV_RGB(
477
- h===null ? this.hsv[0] : (this.hsv[0]=h),
478
- s===null ? this.hsv[1] : (this.hsv[1]=s),
479
- v===null ? this.hsv[2] : (this.hsv[2]=v)
480
- );
481
-
482
- this.exportColor(flags);
483
- };
484
-
485
-
486
- this.fromRGB = function(r, g, b, flags) { // null = don't change
487
- if(r !== null) { r = Math.max(0.0, Math.min(1.0, r)); }
488
- if(g !== null) { g = Math.max(0.0, Math.min(1.0, g)); }
489
- if(b !== null) { b = Math.max(0.0, Math.min(1.0, b)); }
490
-
491
- var hsv = RGB_HSV(
492
- r===null ? this.rgb[0] : r,
493
- g===null ? this.rgb[1] : g,
494
- b===null ? this.rgb[2] : b
495
- );
496
- if(hsv[0] !== null) {
497
- this.hsv[0] = Math.max(0.0, this.minH, Math.min(6.0, this.maxH, hsv[0]));
498
- }
499
- if(hsv[2] !== 0) {
500
- this.hsv[1] = hsv[1]===null ? null : Math.max(0.0, this.minS, Math.min(1.0, this.maxS, hsv[1]));
501
- }
502
- this.hsv[2] = hsv[2]===null ? null : Math.max(0.0, this.minV, Math.min(1.0, this.maxV, hsv[2]));
503
-
504
- // update RGB according to final HSV, as some values might be trimmed
505
- var rgb = HSV_RGB(this.hsv[0], this.hsv[1], this.hsv[2]);
506
- this.rgb[0] = rgb[0];
507
- this.rgb[1] = rgb[1];
508
- this.rgb[2] = rgb[2];
509
-
510
- this.exportColor(flags);
511
- };
512
-
513
-
514
- this.fromString = function(hex, flags) {
515
- var m = hex.match(/^\W*([0-9A-F]{3}([0-9A-F]{3})?)\W*$/i);
516
- if(!m) {
517
- return false;
518
- } else {
519
- if(m[1].length === 6) { // 6-char notation
520
- this.fromRGB(
521
- parseInt(m[1].substr(0,2),16) / 255,
522
- parseInt(m[1].substr(2,2),16) / 255,
523
- parseInt(m[1].substr(4,2),16) / 255,
524
- flags
525
- );
526
- } else { // 3-char notation
527
- this.fromRGB(
528
- parseInt(m[1].charAt(0)+m[1].charAt(0),16) / 255,
529
- parseInt(m[1].charAt(1)+m[1].charAt(1),16) / 255,
530
- parseInt(m[1].charAt(2)+m[1].charAt(2),16) / 255,
531
- flags
532
- );
533
- }
534
- return true;
535
- }
536
- };
537
-
538
-
539
- this.toString = function() {
540
- return (
541
- (0x100 | Math.round(255*this.rgb[0])).toString(16).substr(1) +
542
- (0x100 | Math.round(255*this.rgb[1])).toString(16).substr(1) +
543
- (0x100 | Math.round(255*this.rgb[2])).toString(16).substr(1)
544
- );
545
- };
546
-
547
-
548
- function RGB_HSV(r, g, b) {
549
- var n = Math.min(Math.min(r,g),b);
550
- var v = Math.max(Math.max(r,g),b);
551
- var m = v - n;
552
- if(m === 0) { return [ null, 0, v ]; }
553
- var h = r===n ? 3+(b-g)/m : (g===n ? 5+(r-b)/m : 1+(g-r)/m);
554
- return [ h===6?0:h, m/v, v ];
555
- }
556
-
557
-
558
- function HSV_RGB(h, s, v) {
559
- if(h === null) { return [ v, v, v ]; }
560
- var i = Math.floor(h);
561
- var f = i%2 ? h-i : 1-(h-i);
562
- var m = v * (1 - s);
563
- var n = v * (1 - s*f);
564
- switch(i) {
565
- case 6:
566
- case 0: return [v,n,m];
567
- case 1: return [n,v,m];
568
- case 2: return [m,v,n];
569
- case 3: return [m,n,v];
570
- case 4: return [n,m,v];
571
- case 5: return [v,m,n];
572
- }
573
- }
574
-
575
-
576
- function removePicker() {
577
- delete jscolor.picker.owner;
578
- document.getElementsByTagName('body')[0].removeChild(jscolor.picker.boxB);
579
- }
580
-
581
-
582
- function drawPicker(x, y) {
583
- if(!jscolor.picker) {
584
- jscolor.picker = {
585
- box : document.createElement('div'),
586
- boxB : document.createElement('div'),
587
- pad : document.createElement('div'),
588
- padB : document.createElement('div'),
589
- padM : document.createElement('div'),
590
- sld : document.createElement('div'),
591
- sldB : document.createElement('div'),
592
- sldM : document.createElement('div'),
593
- btn : document.createElement('div'),
594
- btnS : document.createElement('span'),
595
- btnT : document.createTextNode(THIS.pickerCloseText)
596
- };
597
- for(var i=0,segSize=4; i<jscolor.images.sld[1]; i+=segSize) {
598
- var seg = document.createElement('div');
599
- seg.style.height = segSize+'px';
600
- seg.style.fontSize = '1px';
601
- seg.style.lineHeight = '0';
602
- jscolor.picker.sld.appendChild(seg);
603
- }
604
- jscolor.picker.sldB.appendChild(jscolor.picker.sld);
605
- jscolor.picker.box.appendChild(jscolor.picker.sldB);
606
- jscolor.picker.box.appendChild(jscolor.picker.sldM);
607
- jscolor.picker.padB.appendChild(jscolor.picker.pad);
608
- jscolor.picker.box.appendChild(jscolor.picker.padB);
609
- jscolor.picker.box.appendChild(jscolor.picker.padM);
610
- jscolor.picker.btnS.appendChild(jscolor.picker.btnT);
611
- jscolor.picker.btn.appendChild(jscolor.picker.btnS);
612
- jscolor.picker.box.appendChild(jscolor.picker.btn);
613
- jscolor.picker.boxB.appendChild(jscolor.picker.box);
614
- }
615
-
616
- var p = jscolor.picker;
617
-
618
- // controls interaction
619
- p.box.onmouseup =
620
- p.box.onmouseout = function() { target.focus(); };
621
- p.box.onmousedown = function() { abortBlur=true; };
622
- p.box.onmousemove = function(e) {
623
- if (holdPad || holdSld) {
624
- holdPad && setPad(e);
625
- holdSld && setSld(e);
626
- if (document.selection) {
627
- document.selection.empty();
628
- } else if (window.getSelection) {
629
- window.getSelection().removeAllRanges();
630
- }
631
- dispatchImmediateChange();
632
- }
633
- };
634
- if('ontouchstart' in window) { // if touch device
635
- var handle_touchmove = function(e) {
636
- var event={
637
- 'offsetX': e.touches[0].pageX-touchOffset.X,
638
- 'offsetY': e.touches[0].pageY-touchOffset.Y
639
- };
640
- if (holdPad || holdSld) {
641
- holdPad && setPad(event);
642
- holdSld && setSld(event);
643
- dispatchImmediateChange();
644
- }
645
- e.stopPropagation(); // prevent move "view" on broswer
646
- e.preventDefault(); // prevent Default - Android Fix (else android generated only 1-2 touchmove events)
647
- };
648
- p.box.removeEventListener('touchmove', handle_touchmove, false)
649
- p.box.addEventListener('touchmove', handle_touchmove, false)
650
- }
651
- p.padM.onmouseup =
652
- p.padM.onmouseout = function() { if(holdPad) { holdPad=false; jscolor.fireEvent(valueElement,'change'); } };
653
- p.padM.onmousedown = function(e) {
654
- // if the slider is at the bottom, move it up
655
- switch(modeID) {
656
- case 0: if (THIS.hsv[2] === 0) { THIS.fromHSV(null, null, 1.0); }; break;
657
- case 1: if (THIS.hsv[1] === 0) { THIS.fromHSV(null, 1.0, null); }; break;
658
- }
659
- holdSld=false;
660
- holdPad=true;
661
- setPad(e);
662
- dispatchImmediateChange();
663
- };
664
- if('ontouchstart' in window) {
665
- p.padM.addEventListener('touchstart', function(e) {
666
- touchOffset={
667
- 'X': e.target.offsetParent.offsetLeft,
668
- 'Y': e.target.offsetParent.offsetTop
669
- };
670
- this.onmousedown({
671
- 'offsetX':e.touches[0].pageX-touchOffset.X,
672
- 'offsetY':e.touches[0].pageY-touchOffset.Y
673
- });
674
- });
675
- }
676
- p.sldM.onmouseup =
677
- p.sldM.onmouseout = function() { if(holdSld) { holdSld=false; jscolor.fireEvent(valueElement,'change'); } };
678
- p.sldM.onmousedown = function(e) {
679
- holdPad=false;
680
- holdSld=true;
681
- setSld(e);
682
- dispatchImmediateChange();
683
- };
684
- if('ontouchstart' in window) {
685
- p.sldM.addEventListener('touchstart', function(e) {
686
- touchOffset={
687
- 'X': e.target.offsetParent.offsetLeft,
688
- 'Y': e.target.offsetParent.offsetTop
689
- };
690
- this.onmousedown({
691
- 'offsetX':e.touches[0].pageX-touchOffset.X,
692
- 'offsetY':e.touches[0].pageY-touchOffset.Y
693
- });
694
- });
695
- }
696
-
697
- // picker
698
- var dims = getPickerDims(THIS);
699
- p.box.style.width = dims[0] + 'px';
700
- p.box.style.height = dims[1] + 'px';
701
-
702
- // picker border
703
- p.boxB.style.position = 'absolute';
704
- p.boxB.style.clear = 'both';
705
- p.boxB.style.left = x+'px';
706
- p.boxB.style.top = y+'px';
707
- p.boxB.style.zIndex = THIS.pickerZIndex;
708
- p.boxB.style.border = THIS.pickerBorder+'px solid';
709
- p.boxB.style.borderColor = THIS.pickerBorderColor;
710
- p.boxB.style.background = THIS.pickerFaceColor;
711
-
712
- // pad image
713
- p.pad.style.width = jscolor.images.pad[0]+'px';
714
- p.pad.style.height = jscolor.images.pad[1]+'px';
715
-
716
- // pad border
717
- p.padB.style.position = 'absolute';
718
- p.padB.style.left = THIS.pickerFace+'px';
719
- p.padB.style.top = THIS.pickerFace+'px';
720
- p.padB.style.border = THIS.pickerInset+'px solid';
721
- p.padB.style.borderColor = THIS.pickerInsetColor;
722
-
723
- // pad mouse area
724
- p.padM.style.position = 'absolute';
725
- p.padM.style.left = '0';
726
- p.padM.style.top = '0';
727
- p.padM.style.width = THIS.pickerFace + 2*THIS.pickerInset + jscolor.images.pad[0] + jscolor.images.arrow[0] + 'px';
728
- p.padM.style.height = p.box.style.height;
729
- p.padM.style.cursor = 'crosshair';
730
-
731
- // slider image
732
- p.sld.style.overflow = 'hidden';
733
- p.sld.style.width = jscolor.images.sld[0]+'px';
734
- p.sld.style.height = jscolor.images.sld[1]+'px';
735
-
736
- // slider border
737
- p.sldB.style.display = THIS.slider ? 'block' : 'none';
738
- p.sldB.style.position = 'absolute';
739
- p.sldB.style.right = THIS.pickerFace+'px';
740
- p.sldB.style.top = THIS.pickerFace+'px';
741
- p.sldB.style.border = THIS.pickerInset+'px solid';
742
- p.sldB.style.borderColor = THIS.pickerInsetColor;
743
-
744
- // slider mouse area
745
- p.sldM.style.display = THIS.slider ? 'block' : 'none';
746
- p.sldM.style.position = 'absolute';
747
- p.sldM.style.right = '0';
748
- p.sldM.style.top = '0';
749
- p.sldM.style.width = jscolor.images.sld[0] + jscolor.images.arrow[0] + THIS.pickerFace + 2*THIS.pickerInset + 'px';
750
- p.sldM.style.height = p.box.style.height;
751
- try {
752
- p.sldM.style.cursor = 'pointer';
753
- } catch(eOldIE) {
754
- p.sldM.style.cursor = 'hand';
755
- }
756
-
757
- // "close" button
758
- function setBtnBorder() {
759
- var insetColors = THIS.pickerInsetColor.split(/\s+/);
760
- var pickerOutsetColor = insetColors.length < 2 ? insetColors[0] : insetColors[1] + ' ' + insetColors[0] + ' ' + insetColors[0] + ' ' + insetColors[1];
761
- p.btn.style.borderColor = pickerOutsetColor;
762
- }
763
- p.btn.style.display = THIS.pickerClosable ? 'block' : 'none';
764
- p.btn.style.position = 'absolute';
765
- p.btn.style.left = THIS.pickerFace + 'px';
766
- p.btn.style.bottom = THIS.pickerFace + 'px';
767
- p.btn.style.padding = '0 15px';
768
- p.btn.style.height = '18px';
769
- p.btn.style.border = THIS.pickerInset + 'px solid';
770
- setBtnBorder();
771
- p.btn.style.color = THIS.pickerButtonColor;
772
- p.btn.style.font = '12px sans-serif';
773
- p.btn.style.textAlign = 'center';
774
- try {
775
- p.btn.style.cursor = 'pointer';
776
- } catch(eOldIE) {
777
- p.btn.style.cursor = 'hand';
778
- }
779
- p.btn.onmousedown = function () {
780
- THIS.hidePicker();
781
- };
782
- p.btnS.style.lineHeight = p.btn.style.height;
783
-
784
- // load images in optimal order
785
- switch(modeID) {
786
- case 0: var padImg = 'hs.png'; break;
787
- case 1: var padImg = 'hv.png'; break;
788
- }
789
- p.padM.style.backgroundImage = "url('"+jscolor.getDir()+"cross.gif')";
790
- p.padM.style.backgroundRepeat = "no-repeat";
791
- p.sldM.style.backgroundImage = "url('"+jscolor.getDir()+"arrow.gif')";
792
- p.sldM.style.backgroundRepeat = "no-repeat";
793
- p.pad.style.backgroundImage = "url('"+jscolor.getDir()+padImg+"')";
794
- p.pad.style.backgroundRepeat = "no-repeat";
795
- p.pad.style.backgroundPosition = "0 0";
796
-
797
- // place pointers
798
- redrawPad();
799
- redrawSld();
800
-
801
- jscolor.picker.owner = THIS;
802
- document.getElementsByTagName('body')[0].appendChild(p.boxB);
803
- }
804
-
805
-
806
- function getPickerDims(o) {
807
- var dims = [
808
- 2*o.pickerInset + 2*o.pickerFace + jscolor.images.pad[0] +
809
- (o.slider ? 2*o.pickerInset + 2*jscolor.images.arrow[0] + jscolor.images.sld[0] : 0),
810
- o.pickerClosable ?
811
- 4*o.pickerInset + 3*o.pickerFace + jscolor.images.pad[1] + o.pickerButtonHeight :
812
- 2*o.pickerInset + 2*o.pickerFace + jscolor.images.pad[1]
813
- ];
814
- return dims;
815
- }
816
-
817
-
818
- function redrawPad() {
819
- // redraw the pad pointer
820
- switch(modeID) {
821
- case 0: var yComponent = 1; break;
822
- case 1: var yComponent = 2; break;
823
- }
824
- var x = Math.round((THIS.hsv[0]/6) * (jscolor.images.pad[0]-1));
825
- var y = Math.round((1-THIS.hsv[yComponent]) * (jscolor.images.pad[1]-1));
826
- jscolor.picker.padM.style.backgroundPosition =
827
- (THIS.pickerFace+THIS.pickerInset+x - Math.floor(jscolor.images.cross[0]/2)) + 'px ' +
828
- (THIS.pickerFace+THIS.pickerInset+y - Math.floor(jscolor.images.cross[1]/2)) + 'px';
829
-
830
- // redraw the slider image
831
- var seg = jscolor.picker.sld.childNodes;
832
-
833
- switch(modeID) {
834
- case 0:
835
- var rgb = HSV_RGB(THIS.hsv[0], THIS.hsv[1], 1);
836
- for(var i=0; i<seg.length; i+=1) {
837
- seg[i].style.backgroundColor = 'rgb('+
838
- (rgb[0]*(1-i/seg.length)*100)+'%,'+
839
- (rgb[1]*(1-i/seg.length)*100)+'%,'+
840
- (rgb[2]*(1-i/seg.length)*100)+'%)';
841
- }
842
- break;
843
- case 1:
844
- var rgb, s, c = [ THIS.hsv[2], 0, 0 ];
845
- var i = Math.floor(THIS.hsv[0]);
846
- var f = i%2 ? THIS.hsv[0]-i : 1-(THIS.hsv[0]-i);
847
- switch(i) {
848
- case 6:
849
- case 0: rgb=[0,1,2]; break;
850
- case 1: rgb=[1,0,2]; break;
851
- case 2: rgb=[2,0,1]; break;
852
- case 3: rgb=[2,1,0]; break;
853
- case 4: rgb=[1,2,0]; break;
854
- case 5: rgb=[0,2,1]; break;
855
- }
856
- for(var i=0; i<seg.length; i+=1) {
857
- s = 1 - 1/(seg.length-1)*i;
858
- c[1] = c[0] * (1 - s*f);
859
- c[2] = c[0] * (1 - s);
860
- seg[i].style.backgroundColor = 'rgb('+
861
- (c[rgb[0]]*100)+'%,'+
862
- (c[rgb[1]]*100)+'%,'+
863
- (c[rgb[2]]*100)+'%)';
864
- }
865
- break;
866
- }
867
- }
868
-
869
-
870
- function redrawSld() {
871
- // redraw the slider pointer
872
- switch(modeID) {
873
- case 0: var yComponent = 2; break;
874
- case 1: var yComponent = 1; break;
875
- }
876
- var y = Math.round((1-THIS.hsv[yComponent]) * (jscolor.images.sld[1]-1));
877
- jscolor.picker.sldM.style.backgroundPosition =
878
- '0 ' + (THIS.pickerFace+THIS.pickerInset+y - Math.floor(jscolor.images.arrow[1]/2)) + 'px';
879
- }
880
-
881
-
882
- function isPickerOwner() {
883
- return jscolor.picker && jscolor.picker.owner === THIS;
884
- }
885
-
886
-
887
- function blurTarget() {
888
- if(valueElement === target) {
889
- THIS.importColor();
890
- }
891
- if(THIS.pickerOnfocus) {
892
- THIS.hidePicker();
893
- }
894
- }
895
-
896
-
897
- function blurValue() {
898
- if(valueElement !== target) {
899
- THIS.importColor();
900
- }
901
- }
902
-
903
-
904
- function setPad(e) {
905
- var mpos = jscolor.getRelMousePos(e);
906
- var x = mpos.x - THIS.pickerFace - THIS.pickerInset;
907
- var y = mpos.y - THIS.pickerFace - THIS.pickerInset;
908
- switch(modeID) {
909
- case 0: THIS.fromHSV(x*(6/(jscolor.images.pad[0]-1)), 1 - y/(jscolor.images.pad[1]-1), null, leaveSld); break;
910
- case 1: THIS.fromHSV(x*(6/(jscolor.images.pad[0]-1)), null, 1 - y/(jscolor.images.pad[1]-1), leaveSld); break;
911
- }
912
- }
913
-
914
-
915
- function setSld(e) {
916
- var mpos = jscolor.getRelMousePos(e);
917
- var y = mpos.y - THIS.pickerFace - THIS.pickerInset;
918
- switch(modeID) {
919
- case 0: THIS.fromHSV(null, null, 1 - y/(jscolor.images.sld[1]-1), leavePad); break;
920
- case 1: THIS.fromHSV(null, 1 - y/(jscolor.images.sld[1]-1), null, leavePad); break;
921
- }
922
- }
923
-
924
-
925
- function dispatchImmediateChange() {
926
- if (THIS.onImmediateChange) {
927
- var callback;
928
- if (typeof THIS.onImmediateChange === 'string') {
929
- callback = new Function (THIS.onImmediateChange);
930
- } else {
931
- callback = THIS.onImmediateChange;
932
- }
933
- callback.call(THIS);
934
- }
935
- }
936
-
937
-
938
- var THIS = this;
939
- var modeID = this.pickerMode.toLowerCase()==='hvs' ? 1 : 0;
940
- var abortBlur = false;
941
- var
942
- valueElement = jscolor.fetchElement(this.valueElement),
943
- styleElement = jscolor.fetchElement(this.styleElement);
944
- var
945
- holdPad = false,
946
- holdSld = false,
947
- touchOffset = {};
948
- var
949
- leaveValue = 1<<0,
950
- leaveStyle = 1<<1,
951
- leavePad = 1<<2,
952
- leaveSld = 1<<3;
953
-
954
- jscolor.isColorAttrSupported = false;
955
- var el = document.createElement('input');
956
- if(el.setAttribute) {
957
- el.setAttribute('type', 'color');
958
- if(el.type.toLowerCase() == 'color') {
959
- jscolor.isColorAttrSupported = true;
960
- }
961
- }
962
-
963
- // target
964
- jscolor.addEvent(target, 'focus', function() {
965
- if(THIS.pickerOnfocus) { THIS.showPicker(); }
966
- });
967
- jscolor.addEvent(target, 'blur', function() {
968
- if(!abortBlur) {
969
- window.setTimeout(function(){ abortBlur || blurTarget(); abortBlur=false; }, 0);
970
- } else {
971
- abortBlur = false;
972
- }
973
- });
974
-
975
- // valueElement
976
- if(valueElement) {
977
- var updateField = function() {
978
- THIS.fromString(valueElement.value, leaveValue);
979
- dispatchImmediateChange();
980
- };
981
- jscolor.addEvent(valueElement, 'keyup', updateField);
982
- jscolor.addEvent(valueElement, 'input', updateField);
983
- jscolor.addEvent(valueElement, 'blur', blurValue);
984
- valueElement.setAttribute('autocomplete', 'off');
985
- }
986
-
987
- // styleElement
988
- if(styleElement) {
989
- styleElement.jscStyle = {
990
- backgroundImage : styleElement.style.backgroundImage,
991
- backgroundColor : styleElement.style.backgroundColor,
992
- color : styleElement.style.color
993
- };
994
- }
995
-
996
- // require images
997
- switch(modeID) {
998
- case 0: jscolor.requireImage('hs.png'); break;
999
- case 1: jscolor.requireImage('hv.png'); break;
1000
- }
1001
- jscolor.requireImage('cross.gif');
1002
- jscolor.requireImage('arrow.gif');
1003
-
1004
- this.importColor();
1005
- }
1006
-
1007
- };
1008
-
1009
-
1010
- jscolor.install();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/assets/js/theme/hide-css.js DELETED
@@ -1,16 +0,0 @@
1
- /**
2
- * weaverx_hide_css, JavaScript specialized hide table row
3
- *
4
- * @version 1.1
5
- * @license GNU Lesser General Public License, http://www.gnu.org/copyleft/lesser.html
6
- * @author Bruce Wampler
7
- */
8
- function weaverx_ToggleRowCSS(his, me, show, hide) {
9
- if (his.style.display != 'none') {
10
- his.style.display = 'none';
11
- me.innerHTML = '<img src="' + show + '" alt="show" />';
12
- } else {
13
- his.style.display = 'table-row';
14
- me.innerHTML = '<img src="' + hide + '" alt="hide" />';
15
- }
16
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/assets/js/theme/hide-css.min.js DELETED
@@ -1 +0,0 @@
1
- function weaverx_ToggleRowCSS(d,c,a,b){if(d.style.display!="none"){d.style.display="none";c.innerHTML='<img src="'+a+'" alt="show" />'}else{d.style.display="table-row";c.innerHTML='<img src="'+b+'" alt="hide" />'}};
 
admin/assets/js/theme/media-lib.js DELETED
@@ -1,22 +0,0 @@
1
- /**
2
- * media-lib.js, JavaScript specialized open WP thickbox media uploader
3
- *
4
- * @version 1.1
5
- * @license GNU Lesser General Public License, http://www.gnu.org/copyleft/lesser.html
6
- * @author Bruce Wampler
7
- */
8
- var weaverx_fillin;
9
- function weaverx_media_lib(fillarea) {
10
- weaverx_fillin = fillarea;
11
- tb_show('', 'media-upload.php?post_id=0&amp;type=image&amp;TB_iframe=true&amp;width=800&amp;height=600');
12
- return;
13
- }
14
-
15
- jQuery(document).ready(function() {
16
- window.send_to_editor = function(html) {
17
- imgurl = jQuery('img',html).attr('src');
18
- jQuery('#' + weaverx_fillin).val(imgurl);
19
- tb_remove();
20
- jQuery('#' + weaverx_fillin).focus();
21
- }
22
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/assets/js/theme/media-lib.min.js DELETED
@@ -1 +0,0 @@
1
- var weaverx_fillin;function weaverx_media_lib(a){weaverx_fillin=a;tb_show("","media-upload.php?post_id=0&amp;type=image&amp;TB_iframe=true&amp;width=800&amp;height=600");return}jQuery(document).ready(function(){window.send_to_editor=function(a){imgurl=jQuery("img",a).attr("src");jQuery("#"+weaverx_fillin).val(imgurl);tb_remove();jQuery("#"+weaverx_fillin).focus()}});
 
admin/assets/js/yetii/bsdlicense.txt DELETED
@@ -1,29 +0,0 @@
1
- Copyright (c) kminek.pl & Grzegorz Wójcik
2
-
3
- All rights reserved.
4
-
5
- Redistribution and use in source and binary forms, with or without modification, are permitted
6
- provided that the following conditions are met:
7
-
8
- * Redistributions of source code must retain the above copyright notice,
9
- this list of conditions and the following disclaimer.
10
-
11
- * Redistributions in binary form must reproduce the above copyright notice,
12
- this list of conditions and the following disclaimer in the documentation and/or other
13
- materials provided with the distribution.
14
-
15
- * Neither the name of the kminek.pl & Grzegorz Wójcik nor the names of its contributors
16
- may be used to endorse or promote products derived from this software without
17
- specific prior written permission.
18
-
19
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20
- "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21
- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
22
- A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
23
- CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
24
- EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
25
- PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
26
- PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
27
- LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
28
- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
29
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/assets/js/yetii/html5.min.js DELETED
@@ -1,8 +0,0 @@
1
- /*
2
- HTML5 Shiv v3.7.0 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
3
- */
4
- (function(l,f){function m(){var a=e.elements;return"string"==typeof a?a.split(" "):a}function i(a){var b=n[a[o]];b||(b={},h++,a[o]=h,n[h]=b);return b}function p(a,b,c){b||(b=f);if(g)return b.createElement(a);c||(c=i(b));b=c.cache[a]?c.cache[a].cloneNode():r.test(a)?(c.cache[a]=c.createElem(a)).cloneNode():c.createElem(a);return b.canHaveChildren&&!s.test(a)?c.frag.appendChild(b):b}function t(a,b){if(!b.cache)b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag();
5
- a.createElement=function(c){return!e.shivMethods?b.createElem(c):p(c,a,b)};a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+m().join().replace(/[\w\-]+/g,function(a){b.createElem(a);b.frag.createElement(a);return'c("'+a+'")'})+");return n}")(e,b.frag)}function q(a){a||(a=f);var b=i(a);if(e.shivCSS&&!j&&!b.hasCSS){var c,d=a;c=d.createElement("p");d=d.getElementsByTagName("head")[0]||d.documentElement;c.innerHTML="x<style>article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}</style>";
6
- c=d.insertBefore(c.lastChild,d.firstChild);b.hasCSS=!!c}g||t(a,b);return a}var k=l.html5||{},s=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,r=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,j,o="_html5shiv",h=0,n={},g;(function(){try{var a=f.createElement("a");a.innerHTML="<xyz></xyz>";j="hidden"in a;var b;if(!(b=1==a.childNodes.length)){f.createElement("a");var c=f.createDocumentFragment();b="undefined"==typeof c.cloneNode||
7
- "undefined"==typeof c.createDocumentFragment||"undefined"==typeof c.createElement}g=b}catch(d){g=j=!0}})();var e={elements:k.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video",version:"3.7.0",shivCSS:!1!==k.shivCSS,supportsUnknownElements:g,shivMethods:!1!==k.shivMethods,type:"default",shivDocument:q,createElement:p,createDocumentFragment:function(a,b){a||(a=f);
8
- if(g)return a.createDocumentFragment();for(var b=b||i(a),c=b.frag.cloneNode(),d=0,e=m(),h=e.length;d<h;d++)c.createElement(e[d]);return c}};l.html5=e;q(f)})(this,document);
 
 
 
 
 
 
 
 
admin/assets/js/yetii/yetii.js DELETED
@@ -1,207 +0,0 @@
1
- /*
2
- Yetii - Yet (E)Another Tab Interface Implementation
3
- version 1.6
4
- http://www.kminek.pl/lab/yetii/
5
- Copyright (c) Grzegorz Wojcik
6
- Code licensed under the BSD License:
7
- http://www.kminek.pl/bsdlicense.txt
8
- */
9
-
10
- function Yetii() {
11
-
12
- this.defaults = {
13
-
14
- id: null,
15
- active: 1,
16
- interval: null,
17
- wait: null,
18
- persist: null,
19
- tabclass: 'tab',
20
- activeclass: 'active',
21
- callback: null,
22
- leavecallback: null
23
-
24
- };
25
-
26
- this.activebackup = null;
27
-
28
- for (var n in arguments[0]) { this.defaults[n]=arguments[0][n]; };
29
-
30
- this.getTabs = function() {
31
-
32
- var retnode = [];
33
- var elem = document.getElementById(this.defaults.id).getElementsByTagName('*');
34
-
35
- var regexp = new RegExp("(^|\\s)" + this.defaults.tabclass.replace(/\-/g, "\\-") + "(\\s|$)");
36
-
37
- for (var i = 0; i < elem.length; i++) {
38
- if (regexp.test(elem[i].className)) retnode.push(elem[i]);
39
- }
40
-
41
- return retnode;
42
-
43
- };
44
-
45
- this.links = document.getElementById(this.defaults.id + '-nav').getElementsByTagName('a');
46
- this.listitems = document.getElementById(this.defaults.id + '-nav').getElementsByTagName('li');
47
-
48
- this.show = function(number) {
49
-
50
- for (var i = 0; i < this.tabs.length; i++) {
51
-
52
- this.tabs[i].style.display = ((i+1)==number) ? 'block' : 'none';
53
-
54
- if ((i+1)==number) {
55
- this.addClass(this.links[i], this.defaults.activeclass);
56
- this.addClass(this.listitems[i], this.defaults.activeclass + 'li');
57
- } else {
58
- this.removeClass(this.links[i], this.defaults.activeclass);
59
- this.removeClass(this.listitems[i], this.defaults.activeclass + 'li');
60
- }
61
-
62
- }
63
-
64
-
65
- if (this.defaults.leavecallback && (number != this.activebackup)) this.defaults.leavecallback(this.defaults.active);
66
-
67
- this.activebackup = number;
68
-
69
-
70
- this.defaults.active = number;
71
-
72
- if (this.defaults.callback) this.defaults.callback(number);
73
-
74
-
75
- };
76
-
77
- this.rotate = function(interval) {
78
-
79
- this.show(this.defaults.active);
80
- this.defaults.active++;
81
-
82
- if (this.defaults.active > this.tabs.length) this.defaults.active = 1;
83
-
84
-
85
- var self = this;
86
-
87
- if (this.defaults.wait) clearTimeout(this.timer2);
88
-
89
- this.timer1 = setTimeout(function(){self.rotate(interval);}, interval*1000);
90
-
91
- };
92
-
93
- this.next = function() {
94
-
95
- var _target = (this.defaults.active + 1 > this.tabs.length) ? 1 : this.defaults.active + 1;
96
- this.show(_target);
97
- this.defaults.active = _target;
98
-
99
- };
100
-
101
- this.previous = function() {
102
-
103
- var _target = ((this.defaults.active - 1) == 0) ? this.tabs.length : this.defaults.active - 1;
104
- this.show(_target);
105
- this.defaults.active = _target;
106
-
107
- };
108
-
109
- this.previous = function() {
110
-
111
- this.defaults.active--;
112
- if(!this.defaults.active) this.defaults.active = this.tabs.length;
113
- this.show(this.defaults.active);
114
-
115
- };
116
-
117
- this.gup = function(name) {
118
- name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
119
- var regexS = "[\\?&]"+name+"=([^&#]*)";
120
- var regex = new RegExp( regexS );
121
- var results = regex.exec( window.location.href );
122
- if (results == null) return null;
123
- else return results[1];
124
- };
125
-
126
- this.parseurl = function(tabinterfaceid) {
127
-
128
- var result = this.gup(tabinterfaceid);
129
-
130
- if (result==null) return null;
131
- if (parseInt(result)) return parseInt(result);
132
- if (document.getElementById(result)) {
133
- for (var i=0;i<this.tabs.length;i++) {
134
- if (this.tabs[i].id == result) return (i+1);
135
- }
136
- }
137
-
138
- return null;
139
-
140
- };
141
-
142
- this.createCookie = function(name,value,days) {
143
- if (days) {
144
- var date = new Date();
145
- date.setTime(date.getTime()+(days*24*60*60*1000));
146
- var expires = "; expires="+date.toGMTString();
147
- }
148
- else var expires = "";
149
- document.cookie = name+"="+value+expires+"; path=/";
150
- };
151
-
152
- this.readCookie = function(name) {
153
- var nameEQ = name + "=";
154
- var ca = document.cookie.split(';');
155
- for(var i=0;i < ca.length;i++) {
156
- var c = ca[i];
157
- while (c.charAt(0)==' ') c = c.substring(1,c.length);
158
- if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
159
- }
160
- return null;
161
- };
162
-
163
- this.contains = function(el, item, from) {
164
- return el.indexOf(item, from) != -1;
165
- };
166
-
167
- this.hasClass = function(el, className){
168
- return this.contains(el.className, className, ' ');
169
- };
170
-
171
- this.addClass = function(el, className){
172
- if (!this.hasClass(el, className)) el.className = (el.className + ' ' + className).replace(/\s{2,}/g, ' ').replace(/^\s+|\s+$/g, '');
173
- };
174
-
175
- this.removeClass = function(el, className){
176
- el.className = el.className.replace(new RegExp('(^|\\s)' + className + '(?:\\s|$)'), '$1');
177
- el.className.replace(/\s{2,}/g, ' ').replace(/^\s+|\s+$/g, '');
178
- };
179
-
180
-
181
- this.tabs = this.getTabs();
182
- this.defaults.active = (this.parseurl(this.defaults.id)) ? this.parseurl(this.defaults.id) : this.defaults.active;
183
- if (this.defaults.persist && this.readCookie(this.defaults.id)) this.defaults.active = this.readCookie(this.defaults.id);
184
- this.activebackup = this.defaults.active;
185
- this.show(this.defaults.active);
186
-
187
- var self = this;
188
- for (var i = 0; i < this.links.length; i++) {
189
- this.links[i].customindex = i+1;
190
- this.links[i].onclick = function(){
191
-
192
- if (self.timer1) clearTimeout(self.timer1);
193
- if (self.timer2) clearTimeout(self.timer2);
194
-
195
- self.show(this.customindex);
196
-
197
- if (self.defaults.persist) self.createCookie(self.defaults.id, this.customindex, 0);
198
-
199
- if (self.defaults.wait) self.timer2 = setTimeout(function(){self.rotate(self.defaults.interval);}, self.defaults.wait*1000);
200
-
201
- return false;
202
- };
203
- }
204
-
205
- if (this.defaults.interval) this.rotate(this.defaults.interval);
206
-
207
- };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/assets/js/yetii/yetii.min.js DELETED
@@ -1,4 +0,0 @@
1
- function Yetii(){this.defaults={id:null,active:1,interval:null,wait:null,persist:null,tabclass:"tab",activeclass:"active",callback:null,leavecallback:null};this.activebackup=null;for(var c in arguments[0]){this.defaults[c]=arguments[0][c]}this.getTabs=function(){var d=[];var f=document.getElementById(this.defaults.id).getElementsByTagName("*");var g=new RegExp("(^|\\s)"+this.defaults.tabclass.replace(/\-/g,"\\-")+"(\\s|$)");for(var e=0;e<f.length;e++){if(g.test(f[e].className)){d.push(f[e])}}return d};this.links=document.getElementById(this.defaults.id+"-nav").getElementsByTagName("a");this.listitems=document.getElementById(this.defaults.id+"-nav").getElementsByTagName("li");this.show=function(e){for(var d=0;d<this.tabs.length;d++){this.tabs[d].style.display=((d+1)==e)?"block":"none";if((d+1)==e){this.addClass(this.links[d],this.defaults.activeclass);this.addClass(this.listitems[d],this.defaults.activeclass+"li")}else{this.removeClass(this.links[d],this.defaults.activeclass);this.removeClass(this.listitems[d],this.defaults.activeclass+"li")
2
- }}if(this.defaults.leavecallback&&(e!=this.activebackup)){this.defaults.leavecallback(this.defaults.active)}this.activebackup=e;this.defaults.active=e;if(this.defaults.callback){this.defaults.callback(e)}};this.rotate=function(e){this.show(this.defaults.active);this.defaults.active++;if(this.defaults.active>this.tabs.length){this.defaults.active=1}var d=this;if(this.defaults.wait){clearTimeout(this.timer2)}this.timer1=setTimeout(function(){d.rotate(e)},e*1000)};this.next=function(){var d=(this.defaults.active+1>this.tabs.length)?1:this.defaults.active+1;this.show(d);this.defaults.active=d};this.previous=function(){var d=((this.defaults.active-1)==0)?this.tabs.length:this.defaults.active-1;this.show(d);this.defaults.active=d};this.previous=function(){this.defaults.active--;if(!this.defaults.active){this.defaults.active=this.tabs.length}this.show(this.defaults.active)};this.gup=function(e){e=e.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");var d="[\\?&]"+e+"=([^&#]*)";var g=new RegExp(d);var f=g.exec(window.location.href);
3
- if(f==null){return null}else{return f[1]}};this.parseurl=function(f){var d=this.gup(f);if(d==null){return null}if(parseInt(d)){return parseInt(d)}if(document.getElementById(d)){for(var e=0;e<this.tabs.length;e++){if(this.tabs[e].id==d){return(e+1)}}}return null};this.createCookie=function(f,g,h){if(h){var e=new Date();e.setTime(e.getTime()+(h*24*60*60*1000));var d="; expires="+e.toGMTString()}else{var d=""}document.cookie=f+"="+g+d+"; path=/"};this.readCookie=function(e){var g=e+"=";var d=document.cookie.split(";");for(var f=0;f<d.length;f++){var h=d[f];while(h.charAt(0)==" "){h=h.substring(1,h.length)}if(h.indexOf(g)==0){return h.substring(g.length,h.length)}}return null};this.contains=function(d,e,f){return d.indexOf(e,f)!=-1};this.hasClass=function(e,d){return this.contains(e.className,d," ")};this.addClass=function(e,d){if(!this.hasClass(e,d)){e.className=(e.className+" "+d).replace(/\s{2,}/g," ").replace(/^\s+|\s+$/g,"")}};this.removeClass=function(e,d){e.className=e.className.replace(new RegExp("(^|\\s)"+d+"(?:\\s|$)"),"$1");
4
- e.className.replace(/\s{2,}/g," ").replace(/^\s+|\s+$/g,"")};this.tabs=this.getTabs();this.defaults.active=(this.parseurl(this.defaults.id))?this.parseurl(this.defaults.id):this.defaults.active;if(this.defaults.persist&&this.readCookie(this.defaults.id)){this.defaults.active=this.readCookie(this.defaults.id)}this.activebackup=this.defaults.active;this.show(this.defaults.active);var a=this;for(var b=0;b<this.links.length;b++){this.links[b].customindex=b+1;this.links[b].onclick=function(){if(a.timer1){clearTimeout(a.timer1)}if(a.timer2){clearTimeout(a.timer2)}a.show(this.customindex);if(a.defaults.persist){a.createCookie(a.defaults.id,this.customindex,0)}if(a.defaults.wait){a.timer2=setTimeout(function(){a.rotate(a.defaults.interval)},a.defaults.wait*1000)}return false}}if(this.defaults.interval){this.rotate(this.defaults.interval)}};
 
 
 
 
help/help.html CHANGED
@@ -291,9 +291,9 @@ h1 {
291
  </ul>
292
  <li><a href="#widg-sum"><strong>Widget Summary</strong></a>
293
  <ul>
294
- <li><strong><a href="#widg-login">Weaver X Login Widget</a></strong></li>
295
- <li><strong><a href="#widg_pp_text">Weaver X Per Page Text</a></strong></li>
296
- <li><strong><a href="#widg_text_2">Weaver X Text 2</a></strong></li>
297
  </ul>
298
  </li>
299
  </ul>
@@ -567,16 +567,16 @@ Wrap content in a box.</p>
567
  'theme' = 'dark' . . . . . . . dark or light - display theme for player<br />
568
  'wmode' = 'transparent' . Keeps video behind menu bars, etc. Other values available - see YouTube</p>
569
  <h2><a name="widg-sum" id="widg-sum"></a>Widget Summary</h2>
570
- <h3><a name="widg-login" id="widg-login"></a>Weaver X Login Widget</h3>
571
  <p>This simple widget shows a login in link, or a welcome, Site Admin, and Log out choice if the user is logged in.</p>
572
- <h3><a name="widg_pp_text" id="widg_pp_text"></a>Weaver X Per Page Text</h3>
573
  <p>This widget will work like a text widget, but the title and content are defined by custom fields set on a Per Page basis. For any page, define the Custom Field <em>wvrx_ts_pp_title</em>if you want a title, and define Custom Field<em>wvrx_ts_pp_text</em> as the content. Content can include arbitrary text, HTML, and shortcodes. The text will not automatically add paragraphs. The widget will display only if the custom fields are defined when that page is displayed. (This widget won't display on the default blog or other archive-like pages.)</p>
574
- <h3><a name="widg_text_2" id="widg_text_2"></a>Weaver X Text 2</h3>
575
  <p>This widget lets you add two columns of text. It is most useful in wide widget areas such as a content top or bottom widget area, or a wide footer widget area.</p>
576
  <p>&nbsp;</p>
577
  <h2><br />
578
  </h2>
579
- <p>The Weaver X Theme Support Plugin and this document are &copy; 2014, Bruce E. Wampler. <a ref="http://weavertheme.com">Web Site - WeaverTheme.com</a></p>
580
 
581
  </div>
582
  </div>
291
  </ul>
292
  <li><a href="#widg-sum"><strong>Widget Summary</strong></a>
293
  <ul>
294
+ <li><strong><a href="#widg-login">Weaver Login Widget</a></strong></li>
295
+ <li><strong><a href="#widg_pp_text">Weaver Per Page Text</a></strong></li>
296
+ <li><strong><a href="#widg_text_2">Weaver Text 2 Col</a></strong></li>
297
  </ul>
298
  </li>
299
  </ul>
567
  'theme' = 'dark' . . . . . . . dark or light - display theme for player<br />
568
  'wmode' = 'transparent' . Keeps video behind menu bars, etc. Other values available - see YouTube</p>
569
  <h2><a name="widg-sum" id="widg-sum"></a>Widget Summary</h2>
570
+ <h3><a name="widg-login" id="widg-login"></a>Weaver Login Widget</h3>
571
  <p>This simple widget shows a login in link, or a welcome, Site Admin, and Log out choice if the user is logged in.</p>
572
+ <h3><a name="widg_pp_text" id="widg_pp_text"></a>Weaver Per Page Text</h3>
573
  <p>This widget will work like a text widget, but the title and content are defined by custom fields set on a Per Page basis. For any page, define the Custom Field <em>wvrx_ts_pp_title</em>if you want a title, and define Custom Field<em>wvrx_ts_pp_text</em> as the content. Content can include arbitrary text, HTML, and shortcodes. The text will not automatically add paragraphs. The widget will display only if the custom fields are defined when that page is displayed. (This widget won't display on the default blog or other archive-like pages.)</p>
574
+ <h3><a name="widg_text_2" id="widg_text_2"></a>Weaver Text 2 Col</h3>
575
  <p>This widget lets you add two columns of text. It is most useful in wide widget areas such as a content top or bottom widget area, or a wide footer widget area.</p>
576
  <p>&nbsp;</p>
577
  <h2><br />
578
  </h2>
579
+ <p>The Weaver X Theme Support Plugin and this document are &copy; 2017, Bruce E. Wampler. <a ref="http://weavertheme.com">Web Site - WeaverTheme.com</a></p>
580
 
581
  </div>
582
  </div>
includes/wvrx-ts-admin-page-posts.php CHANGED
@@ -203,7 +203,6 @@ function wvrx_ts_pwp_cols() {
203
  'info' => __('Use <em>Masonry</em> for multi-column display. <em>Not compatible with FI BG images.</em>','weaverx-theme-support' /*adm*/),
204
  'value' => array(
205
  array('val' => '', 'desc' => '&nbsp;' ),
206
- array('val' => '1', 'desc' => __('1 Column','weaverx-theme-support' /*adm*/) ),
207
  array('val' => '2', 'desc' => __('2 Columns','weaverx-theme-support' /*adm*/) ),
208
  array('val' => '3', 'desc' => __('3 Columns','weaverx-theme-support' /*adm*/) ),
209
  array('val' => '4', 'desc' => __('4 Columns','weaverx-theme-support' /*adm*/) ),
@@ -706,7 +705,7 @@ function wvrx_ts_save_post_fields($post_id) {
706
  '_pp_footer_add_class', '_pp_container_add_class', '_pp_content_add_class', '_pp_post_add_class',
707
  '_pp_infobar_add_class', '_pp_wrapper_add_class', '_pp_header_add_class', '_pp_header_image_html_text',
708
  '_pp_alt_primary_menu', '_pp_alt_secondary_menu', '_pp_alt_mini_menu', '_pp_video_active', '_pp_video_url',
709
- '_pp_video_aspect', '_pp_video_render'
710
  );
711
 
712
  if (weaverx_allow_multisite()) {
@@ -774,11 +773,11 @@ Custom styles will not be displayed by the Page Editor.'
774
  ?>
775
  <br /><br />
776
  <textarea class="wvrx-edit" placeholder=" " name="_pp_post_styles" rows=2 style="width: 95%"><?php echo(get_post_meta($post->ID, "_pp_post_styles", true)); ?></textarea>
777
- </small><br />
778
  <?php
779
 
780
  if (!$raw_template) {
781
- _e('<em>Per Page Area Added Classes</em><br />Add classes to selected wrapping areas for this page only. Useful for full width layouts - e.g. Parallax.','weaver-xtreme-plus' /*adm*/);
782
  // 'footer', 'container', 'content', 'post', 'infobar', 'wrapper', 'header' as "_pp_{$area}_add_class"
783
  $areas = array ('wrapper', 'header', 'infobar', 'container', 'content', 'post', 'footer');
784
 
@@ -810,9 +809,10 @@ Custom styles will not be displayed by the Page Editor.'
810
  } else {
811
  ?>
812
  <hr /><p>
813
- You may replace one of the standard Header Menus (Primary, Secondary, or Header Mini) on this page. If there the menu hasn't been
814
- set in the Menus options, then you can set that menu for just this page.
815
- <br /><br />
 
816
  <label for="_pp_alt_primary_menu"><strong><?php echo('Alternate Primary Menu' /*a*/ ); ?></strong></label> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
817
  <select id="_pp_alt_primary_menu" name="_pp_alt_primary_menu">
818
  <option value=''> </option>
@@ -847,8 +847,49 @@ Custom styles will not be displayed by the Page Editor.'
847
  </p>
848
  <?php
849
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
850
 
851
- echo '<hr /><span style="clear:both;"/></span><strong>' . __('Header Image Replacement HTML','weaver-xtreme-plus') . '</strong> (&starf;Plus)' ;
852
  ?>
853
  </p>
854
  <p>
203
  'info' => __('Use <em>Masonry</em> for multi-column display. <em>Not compatible with FI BG images.</em>','weaverx-theme-support' /*adm*/),
204
  'value' => array(
205
  array('val' => '', 'desc' => '&nbsp;' ),
 
206
  array('val' => '2', 'desc' => __('2 Columns','weaverx-theme-support' /*adm*/) ),
207
  array('val' => '3', 'desc' => __('3 Columns','weaverx-theme-support' /*adm*/) ),
208
  array('val' => '4', 'desc' => __('4 Columns','weaverx-theme-support' /*adm*/) ),
705
  '_pp_footer_add_class', '_pp_container_add_class', '_pp_content_add_class', '_pp_post_add_class',
706
  '_pp_infobar_add_class', '_pp_wrapper_add_class', '_pp_header_add_class', '_pp_header_image_html_text',
707
  '_pp_alt_primary_menu', '_pp_alt_secondary_menu', '_pp_alt_mini_menu', '_pp_video_active', '_pp_video_url',
708
+ '_pp_video_aspect', '_pp_video_render', '_pp_alt_theme'
709
  );
710
 
711
  if (weaverx_allow_multisite()) {
773
  ?>
774
  <br /><br />
775
  <textarea class="wvrx-edit" placeholder=" " name="_pp_post_styles" rows=2 style="width: 95%"><?php echo(get_post_meta($post->ID, "_pp_post_styles", true)); ?></textarea>
776
+ </small><br /><br />
777
  <?php
778
 
779
  if (!$raw_template) {
780
+ _e('<strong>Per Page Area Added Classes</strong><br />Add classes to selected wrapping areas for this page only. Useful for full width layouts - e.g. Parallax.','weaver-xtreme-plus' /*adm*/);
781
  // 'footer', 'container', 'content', 'post', 'infobar', 'wrapper', 'header' as "_pp_{$area}_add_class"
782
  $areas = array ('wrapper', 'header', 'infobar', 'container', 'content', 'post', 'footer');
783
 
809
  } else {
810
  ?>
811
  <hr /><p>
812
+ <?php
813
+ _e("<strong>Replacement Menus</strong><br />You may replace one of the standard Header Menus (Primary, Secondary, or Header Mini) on this page. If there the menu hasn't been set in the Menus options, then you can set that menu for just this page.",'weaver-xtreme-plus' /*adm*/);
814
+ ?>
815
+ <br />
816
  <label for="_pp_alt_primary_menu"><strong><?php echo('Alternate Primary Menu' /*a*/ ); ?></strong></label> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
817
  <select id="_pp_alt_primary_menu" name="_pp_alt_primary_menu">
818
  <option value=''> </option>
847
  </p>
848
  <?php
849
  }
850
+ echo '<p>';
851
+ _e("<strong>Alternate Subtheme</strong><br />You may specify an alternate Weaver Xtreme subtheme that you have saved on your host filesystem for this page. See Legacy Weaver Xtreme Admin : Save/Restore tab to save a subtheme.",'weaver-xtreme' /*adm*/);
852
+
853
+ echo '<br /><br />';
854
+ if (version_compare( WEAVER_XPLUS_VERSION, '3.1', '>=')) {
855
+ _e('<em>Please select a previously saved theme settings file (either .wxt or .wxb).</em>','weaver-xtreme');
856
+ _e('Note: This page will still use the default site subtheme settings to display in the Page Editor (i.e., on this screen).','weaver-xtreme');
857
+
858
+ // build the theme file list
859
+ $themes = array();
860
+ $upload_dir = wp_upload_dir();
861
+ $theme_dir = trailingslashit( $upload_dir['basedir'] ) . 'weaverx-subthemes/';
862
+ if( $media_dir = opendir($theme_dir) ) {
863
+ while ($m_file = readdir($media_dir)) {
864
+ $len = strlen($m_file);
865
+ $ext = $len > 4 ? substr($m_file,$len-4,4) : '';
866
+ if($ext == '.wxt' || $ext == '.wxb' ) {
867
+ $themes[] = $m_file;
868
+ }
869
+ }
870
+ }
871
+ ?>
872
+ <br />
873
+
874
+ <label for="_pp_alt_theme"><strong><?php echo('Alternate Subtheme for this Page: ' /*a*/ ); ?></strong></label> &nbsp;
875
+ <select id="_pp_alt_theme" name="_pp_alt_theme">
876
+ <option value=''> </option>
877
+ <?php
878
+ foreach ( $themes as $subtheme ) {
879
+ $selected = get_post_meta($post->ID, "_pp_alt_theme", true) == $subtheme ? ' selected="selected"' : '';
880
+ echo '<option'. $selected .' value="'. $subtheme .'">'. $subtheme .'</option>';
881
+ }
882
+ ?>
883
+ </select>
884
+ <?php
885
+
886
+
887
+ } else {
888
+ _e('<em>This option requires Weaver Xtreme Plus version 3.1 or greater.</em>','weaver-xtreme');
889
+ }
890
+
891
 
892
+ echo '<br /><hr /><span style="clear:both;"/></span><strong>' . __('Header Image Replacement HTML','weaver-xtreme-plus') . '</strong> (&starf;Plus)' ;
893
  ?>
894
  </p>
895
  <p>
includes/wvrx-ts-runtime-lib.php CHANGED
@@ -53,65 +53,65 @@ Click the<span style="color:red; vertical-align: middle; margin-left:.25em;" cla
53
 
54
  <h3><?php _e('Shortcodes','weaverx-theme-support' /*adm*/); ?></h3>
55
  <ul>
56
- <li><?php wvrx_ts_fix_short($prefix, __('<span class="wvr-blue">Blog Info - [bloginfo]</span> - Display blog info as provided by WordPress bloginfo function','weaverx-theme-support' /*adm*/)); ?>
57
  <?php wvrx_ts_help_link('help.html#bloginfo',__('Help for Blog Info','weaverx-theme-support' /*adm*/));?><br />
58
  <code><?php wvrx_ts_fix_short($prefix, __("[bloginfo name='WP bloginfo name' style='style-rules']",'weaverx-theme-support' /*adm*/)); ?></code>
59
  </li>
60
- <li><?php wvrx_ts_fix_short($prefix, __('<span class="wvr-blue">Box - [box]</span> - Display content in a Box','weaverx-theme-support' /*adm*/)); ?>
61
  <?php wvrx_ts_help_link('help.html#box',__('Help for Box','weaverx-theme-support' /*adm*/));?><br />
62
  <code><?php wvrx_ts_fix_short($prefix, __("[box background=#fff align=left border=true border_rule='border-css' border_radius=4 color=#000 margin=1 padding=1 shadow=1 style='style-rules' width=100]text[/box]",'weaverx-theme-support' /*adm*/)); ?></code>
63
  </li>
64
- <li><?php wvrx_ts_fix_short($prefix, __('<span class="wvr-blue">DIV - [div]text[/div]</span> - Wrap content in a &lt;div&gt; tag','weaverx-theme-support' /*adm*/)); ?>
65
  <?php wvrx_ts_help_link('help.html#scdiv',__('Help for Header Div','weaverx-theme-support' /*adm*/));?><br />
66
  <code><?php wvrx_ts_fix_short($prefix, __("[div id='class_id' class='class_name' style='style_values']text[/div]",'weaverx-theme-support' /*adm*/)); ?></code>
67
  </li>
68
- <li<?php wvrx_ts_fix_short($prefix, __('><span class="wvr-blue">Header Image - [header_image]</span> - Display default header image','weaverx-theme-support' /*adm*/)); ?>
69
  <?php wvrx_ts_help_link('help.html#headerimage',__('Help for Header Image','weaverx-theme-support' /*adm*/));?><br />
70
  <code><?php wvrx_ts_fix_short($prefix, __("[header_image h='size' w='size' style='inline-style']",'weaverx-theme-support' /*adm*/)); ?></code>
71
  </li>
72
 
73
- <li><?php wvrx_ts_fix_short($prefix, __('<span class="wvr-blue">HTML - [html]</span> - Wrap content in any HTML tag','weaverx-theme-support' /*adm*/)); ?>
74
  <?php wvrx_ts_help_link('help.html#schtml',__('Help for HTML','weaverx-theme-support' /*adm*/));?><br />
75
  <code><?php wvrx_ts_fix_short($prefix, __("[html html-tag args='parameters']",'weaverx-theme-support' /*adm*/)); ?></code>
76
  </li>
77
- <li><?php wvrx_ts_fix_short($prefix, __('<span class="wvr-blue">iFrame - [iframe]</span> - Display external content in an iframe','weaverx-theme-support' /*adm*/)); ?>
78
  <?php wvrx_ts_help_link('help.html#sciframe',__('Help for iframe','weaverx-theme-support' /*adm*/));?><br />
79
  <code><?php wvrx_ts_fix_short($prefix, __("[iframe src='//example.com' height=600 percent=100 style='style']",'weaverx-theme-support' /*adm*/)); ?></code>
80
  </li>
81
- <li><?php wvrx_ts_fix_short($prefix, __('<span class="wvr-blue">Login - [login style="CSS Style"]</span> - Show simple Login/Logout link','weaverx-theme-support' /*adm*/)); ?>
82
  <?php wvrx_ts_help_link('help.html#sclogin',__('Help for login','weaverx-theme-support' /*adm*/));?><br />
83
  <code><?php wvrx_ts_fix_short($prefix, __("[login style=\"CSS Style\"]",'weaverx-theme-support' /*adm*/)); ?></code>
84
  </li>
85
 
86
- <li><?php wvrx_ts_fix_short($prefix, __('<span class="wvr-blue">Show If- [show_if]</span> - Show content only if args meet specified conditions','weaverx-theme-support' /*adm*/)); ?>
87
  <?php wvrx_ts_help_link('help.html#scshowif',__('Help for Show/Hide If','weaverx-theme-support' /*adm*/));?><br />
88
  <code><?php wvrx_ts_fix_short($prefix, __('[show|hide_if device=device logged_in=true/false not_post_id=id-list post_id=id-list user_can=what]text[/show|hide_if]','weaverx-theme-support' /*adm*/)); ?></code>
89
  </li>
90
- <li><?php wvrx_ts_fix_short($prefix, __('<span class="wvr-blue">Hide If - [hide_if]</span> - Hide content','weaverx-theme-support' /*adm*/)); ?>
91
  </li>
92
 
93
- <li><?php wvrx_ts_fix_short($prefix, __('<span class="wvr-blue">Site Tagline - [site_tagline style="style" matchtheme=false]</span> - Display the site tagline','weaverx-theme-support' /*adm*/)); ?>
94
  <?php wvrx_ts_help_link('help.html#sitetitlesc',__('Help for Site Tagline','weaverx-theme-support' /*adm*/));?><br />
95
  <code><?php wvrx_ts_fix_short($prefix, __("[site_tagline style='inline-style']",'weaverx-theme-support' /*adm*/)); ?></code>
96
  </li>
97
- <li><?php wvrx_ts_fix_short($prefix, __('<span class="wvr-blue">Site Title - [site_title style="style" matchtheme=false]</span> - Display the site title','weaverx-theme-support' /*adm*/)); ?>
98
  <?php wvrx_ts_help_link('help.html#sitetitlesc',__('Help for Site Title','weaverx-theme-support' /*adm*/));?><br />
99
  <code><?php wvrx_ts_fix_short($prefix, __("[site_title style='inline-style']",'weaverx-theme-support' /*adm*/)); ?></code>
100
  </li>
101
- <li><?php wvrx_ts_fix_short($prefix, __('<span class="wvr-blue">SPAN - [span]text[/span]</span> - Wrap content in a &lt;span&gt; tag','weaverx-theme-support' /*adm*/)); ?>
102
  <?php wvrx_ts_help_link('help.html#scdiv',__('Help for Span','weaverx-theme-support' /*adm*/));?><br />
103
  <code><?php wvrx_ts_fix_short($prefix, __("[span id='class_id' class='class_name' style='style_values']text[/span]",'weaverx-theme-support' /*adm*/)); ?></code>
104
  </li>
105
- <li><?php wvrx_ts_fix_short($prefix, __('<span class="wvr-blue">Tab Group - [tab_group]</span> - Display content on separate tabs','weaverx-theme-support' /*adm*/));?>
106
  <?php wvrx_ts_help_link('help.html#tab_group',__('Help for Tab Group','weaverx-theme-support' /*adm*/));?><br />
107
  <code><?php wvrx_ts_fix_short($prefix, __('[tab_group][tab]...[/tab][tab]...[/tab][/tab_group]','weaverx-theme-support' /*adm*/)); ?></code>
108
  </li>
109
- <li><?php wvrx_ts_fix_short($prefix, __('<span class="wvr-blue">Vimeo - [vimeo]</span> - Display video from Vimeo responsively, with options','weaverx-theme-support' /*adm*/)); ?>
110
  <?php wvrx_ts_help_link('help.html#video',__('Help for Video','weaverx-theme-support' /*adm*/));?><br />
111
  <code><?php wvrx_ts_fix_short($prefix, __('[vimeo vimeo-url id=videoid sd=0 percent=100 center=1 color=#hex autoplay=0 loop=0 portrait=1 title=1 byline=1]','weaverx-theme-support' /*adm*/)); ?></code>
112
  </li>
113
 
114
- <li><?php wvrx_ts_fix_short($prefix, __('<span class="wvr-blue">YouTube - [youtube]</span> - Display video from YouTube responsively, with options','weaverx-theme-support' /*adm*/)); ?>
115
  <?php wvrx_ts_help_link('help.html#video',__('Help for Video','weaverx-theme-support' /*adm*/));?><br />
116
  <code><?php wvrx_ts_fix_short($prefix, __('[youtube youtube-url id=videoid sd=0 percent=100 center=1 rel=0 privacy=0 see_help_for_others]','weaverx-theme-support' /*adm*/)); ?></code>
117
  </li>
@@ -135,15 +135,15 @@ Click the<span style="color:red; vertical-align: middle; margin-left:.25em;" cla
135
 
136
  <h3><?php _e('Widgets','weaverx-theme-support' /*adm*/); ?></h3>
137
  <ul>
138
- <li><?php _e('<span class="wvr-blue">Weaver X Login Widget</span> - Simplified login widget','weaverx-theme-support' /*adm*/); ?>
139
  <?php wvrx_ts_help_link('help.html#widg-login',__('Help for Login Widget','weaverx-theme-support' /*adm*/));?>
140
  </li>
141
 
142
- <li><?php _e('<span class="wvr-blue">Weaver X Per Page Text</span> - Display text on a per page basis, based on a Custom Field value','weaverx-theme-support' /*adm*/); ?>
143
  <?php wvrx_ts_help_link('help.html##widg_pp_text',__('Help for Per Page Text Widget','weaverx-theme-support' /*adm*/));?>
144
  </li>
145
 
146
- <li><?php _e('<span class="wvr-blue">Weaver X Text 2</span> - Display text in two columns - great for wide top/bottom widgets','weaverx-theme-support' /*adm*/); ?>
147
  <?php wvrx_ts_help_link('help.html#widg_text_2',__('Help for Two Column Text Widget','weaverx-theme-support' /*adm*/));?>
148
  </li>
149
  </ul>
@@ -183,6 +183,9 @@ diagnose the problem, but you can delete it from your forum post right after you
183
 
184
  <button id="btn-sysinfo" class="button-primary">Copy To Clipboard</button>
185
  <?php
 
 
 
186
  }
187
 
188
  add_action('weaverx_ts_show_version','weaverx_ts_show_version_action');
53
 
54
  <h3><?php _e('Shortcodes','weaverx-theme-support' /*adm*/); ?></h3>
55
  <ul>
56
+ <li><?php wvrx_ts_fix_short($prefix, __('<span class="atw-blue">Blog Info - [bloginfo]</span> - Display blog info as provided by WordPress bloginfo function','weaverx-theme-support' /*adm*/)); ?>
57
  <?php wvrx_ts_help_link('help.html#bloginfo',__('Help for Blog Info','weaverx-theme-support' /*adm*/));?><br />
58
  <code><?php wvrx_ts_fix_short($prefix, __("[bloginfo name='WP bloginfo name' style='style-rules']",'weaverx-theme-support' /*adm*/)); ?></code>
59
  </li>
60
+ <li><?php wvrx_ts_fix_short($prefix, __('<span class="atw-blue">Box - [box]</span> - Display content in a Box','weaverx-theme-support' /*adm*/)); ?>
61
  <?php wvrx_ts_help_link('help.html#box',__('Help for Box','weaverx-theme-support' /*adm*/));?><br />
62
  <code><?php wvrx_ts_fix_short($prefix, __("[box background=#fff align=left border=true border_rule='border-css' border_radius=4 color=#000 margin=1 padding=1 shadow=1 style='style-rules' width=100]text[/box]",'weaverx-theme-support' /*adm*/)); ?></code>
63
  </li>
64
+ <li><?php wvrx_ts_fix_short($prefix, __('<span class="atw-blue">DIV - [div]text[/div]</span> - Wrap content in a &lt;div&gt; tag','weaverx-theme-support' /*adm*/)); ?>
65
  <?php wvrx_ts_help_link('help.html#scdiv',__('Help for Header Div','weaverx-theme-support' /*adm*/));?><br />
66
  <code><?php wvrx_ts_fix_short($prefix, __("[div id='class_id' class='class_name' style='style_values']text[/div]",'weaverx-theme-support' /*adm*/)); ?></code>
67
  </li>
68
+ <li<?php wvrx_ts_fix_short($prefix, __('><span class="atw-blue">Header Image - [header_image]</span> - Display default header image','weaverx-theme-support' /*adm*/)); ?>
69
  <?php wvrx_ts_help_link('help.html#headerimage',__('Help for Header Image','weaverx-theme-support' /*adm*/));?><br />
70
  <code><?php wvrx_ts_fix_short($prefix, __("[header_image h='size' w='size' style='inline-style']",'weaverx-theme-support' /*adm*/)); ?></code>
71
  </li>
72
 
73
+ <li><?php wvrx_ts_fix_short($prefix, __('<span class="atw-blue">HTML - [html]</span> - Wrap content in any HTML tag','weaverx-theme-support' /*adm*/)); ?>
74
  <?php wvrx_ts_help_link('help.html#schtml',__('Help for HTML','weaverx-theme-support' /*adm*/));?><br />
75
  <code><?php wvrx_ts_fix_short($prefix, __("[html html-tag args='parameters']",'weaverx-theme-support' /*adm*/)); ?></code>
76
  </li>
77
+ <li><?php wvrx_ts_fix_short($prefix, __('<span class="atw-blue">iFrame - [iframe]</span> - Display external content in an iframe','weaverx-theme-support' /*adm*/)); ?>
78
  <?php wvrx_ts_help_link('help.html#sciframe',__('Help for iframe','weaverx-theme-support' /*adm*/));?><br />
79
  <code><?php wvrx_ts_fix_short($prefix, __("[iframe src='//example.com' height=600 percent=100 style='style']",'weaverx-theme-support' /*adm*/)); ?></code>
80
  </li>
81
+ <li><?php wvrx_ts_fix_short($prefix, __('<span class="atw-blue">Login - [login style="CSS Style"]</span> - Show simple Login/Logout link','weaverx-theme-support' /*adm*/)); ?>
82
  <?php wvrx_ts_help_link('help.html#sclogin',__('Help for login','weaverx-theme-support' /*adm*/));?><br />
83
  <code><?php wvrx_ts_fix_short($prefix, __("[login style=\"CSS Style\"]",'weaverx-theme-support' /*adm*/)); ?></code>
84
  </li>
85
 
86
+ <li><?php wvrx_ts_fix_short($prefix, __('<span class="atw-blue">Show If- [show_if]</span> - Show content only if args meet specified conditions','weaverx-theme-support' /*adm*/)); ?>
87
  <?php wvrx_ts_help_link('help.html#scshowif',__('Help for Show/Hide If','weaverx-theme-support' /*adm*/));?><br />
88
  <code><?php wvrx_ts_fix_short($prefix, __('[show|hide_if device=device logged_in=true/false not_post_id=id-list post_id=id-list user_can=what]text[/show|hide_if]','weaverx-theme-support' /*adm*/)); ?></code>
89
  </li>
90
+ <li><?php wvrx_ts_fix_short($prefix, __('<span class="atw-blue">Hide If - [hide_if]</span> - Hide content','weaverx-theme-support' /*adm*/)); ?>
91
  </li>
92
 
93
+ <li><?php wvrx_ts_fix_short($prefix, __('<span class="atw-blue">Site Tagline - [site_tagline style="style" matchtheme=false]</span> - Display the site tagline','weaverx-theme-support' /*adm*/)); ?>
94
  <?php wvrx_ts_help_link('help.html#sitetitlesc',__('Help for Site Tagline','weaverx-theme-support' /*adm*/));?><br />
95
  <code><?php wvrx_ts_fix_short($prefix, __("[site_tagline style='inline-style']",'weaverx-theme-support' /*adm*/)); ?></code>
96
  </li>
97
+ <li><?php wvrx_ts_fix_short($prefix, __('<span class="atw-blue">Site Title - [site_title style="style" matchtheme=false]</span> - Display the site title','weaverx-theme-support' /*adm*/)); ?>
98
  <?php wvrx_ts_help_link('help.html#sitetitlesc',__('Help for Site Title','weaverx-theme-support' /*adm*/));?><br />
99
  <code><?php wvrx_ts_fix_short($prefix, __("[site_title style='inline-style']",'weaverx-theme-support' /*adm*/)); ?></code>
100
  </li>
101
+ <li><?php wvrx_ts_fix_short($prefix, __('<span class="atw-blue">SPAN - [span]text[/span]</span> - Wrap content in a &lt;span&gt; tag','weaverx-theme-support' /*adm*/)); ?>
102
  <?php wvrx_ts_help_link('help.html#scdiv',__('Help for Span','weaverx-theme-support' /*adm*/));?><br />
103
  <code><?php wvrx_ts_fix_short($prefix, __("[span id='class_id' class='class_name' style='style_values']text[/span]",'weaverx-theme-support' /*adm*/)); ?></code>
104
  </li>
105
+ <li><?php wvrx_ts_fix_short($prefix, __('<span class="atw-blue">Tab Group - [tab_group]</span> - Display content on separate tabs','weaverx-theme-support' /*adm*/));?>
106
  <?php wvrx_ts_help_link('help.html#tab_group',__('Help for Tab Group','weaverx-theme-support' /*adm*/));?><br />
107
  <code><?php wvrx_ts_fix_short($prefix, __('[tab_group][tab]...[/tab][tab]...[/tab][/tab_group]','weaverx-theme-support' /*adm*/)); ?></code>
108
  </li>
109
+ <li><?php wvrx_ts_fix_short($prefix, __('<span class="atw-blue">Vimeo - [vimeo]</span> - Display video from Vimeo responsively, with options','weaverx-theme-support' /*adm*/)); ?>
110
  <?php wvrx_ts_help_link('help.html#video',__('Help for Video','weaverx-theme-support' /*adm*/));?><br />
111
  <code><?php wvrx_ts_fix_short($prefix, __('[vimeo vimeo-url id=videoid sd=0 percent=100 center=1 color=#hex autoplay=0 loop=0 portrait=1 title=1 byline=1]','weaverx-theme-support' /*adm*/)); ?></code>
112
  </li>
113
 
114
+ <li><?php wvrx_ts_fix_short($prefix, __('<span class="atw-blue">YouTube - [youtube]</span> - Display video from YouTube responsively, with options','weaverx-theme-support' /*adm*/)); ?>
115
  <?php wvrx_ts_help_link('help.html#video',__('Help for Video','weaverx-theme-support' /*adm*/));?><br />
116
  <code><?php wvrx_ts_fix_short($prefix, __('[youtube youtube-url id=videoid sd=0 percent=100 center=1 rel=0 privacy=0 see_help_for_others]','weaverx-theme-support' /*adm*/)); ?></code>
117
  </li>
135
 
136
  <h3><?php _e('Widgets','weaverx-theme-support' /*adm*/); ?></h3>
137
  <ul>
138
+ <li><?php _e('<span class="atw-blue">Weaver Login Widget</span> - Simplified login widget','weaverx-theme-support' /*adm*/); ?>
139
  <?php wvrx_ts_help_link('help.html#widg-login',__('Help for Login Widget','weaverx-theme-support' /*adm*/));?>
140
  </li>
141
 
142
+ <li><?php _e('<span class="atw-blue">Weaver Per Page Text</span> - Display text on a per page basis, based on a Custom Field value','weaverx-theme-support' /*adm*/); ?>
143
  <?php wvrx_ts_help_link('help.html##widg_pp_text',__('Help for Per Page Text Widget','weaverx-theme-support' /*adm*/));?>
144
  </li>
145
 
146
+ <li><?php _e('<span class="atw-blue">Weaver Text 2 Col</span> - Display text in two columns - great for wide top/bottom widgets','weaverx-theme-support' /*adm*/); ?>
147
  <?php wvrx_ts_help_link('help.html#widg_text_2',__('Help for Two Column Text Widget','weaverx-theme-support' /*adm*/));?>
148
  </li>
149
  </ul>
183
 
184
  <button id="btn-sysinfo" class="button-primary">Copy To Clipboard</button>
185
  <?php
186
+ //if (WEAVERX_DEV_MODE && isset($GLOBALS['POST_COPY']) && $GLOBALS['POST_COPY'] != false ) {
187
+ // echo '<pre>$_POST:'; var_dump($GLOBALS['POST_COPY']); echo '</pre>';
188
+ //}
189
  }
190
 
191
  add_action('weaverx_ts_show_version','weaverx_ts_show_version_action');
includes/wvrx-ts-shortcodes.php CHANGED
@@ -322,7 +322,7 @@ function wvrx_ts_sc_tab_group( $args, $content ) {
322
 
323
  // enqueue the theme support jslib only now when it will actually be needed!
324
 
325
- wp_enqueue_script('wvrxtsJSLib', wvrx_ts_plugins_url('/js/wvrx-ts-jslib', WVRX_TS_MINIFY . '.js'),array('jquery'),WVRX_TS_VERSION,true);
326
 
327
  if ( !isset( $GLOBALS['wvrx_ts_tab_id'] ) )
328
  $GLOBALS['wvrx_ts_tab_id'] = 1;
322
 
323
  // enqueue the theme support jslib only now when it will actually be needed!
324
 
325
+ // wp_enqueue_script('wvrxtsJSLib', wvrx_ts_plugins_url('/js/wvrx-ts-jslib', WVRX_TS_MINIFY . '.js'),array('jquery'),WVRX_TS_VERSION,true);
326
 
327
  if ( !isset( $GLOBALS['wvrx_ts_tab_id'] ) )
328
  $GLOBALS['wvrx_ts_tab_id'] = 1;
includes/wvrx-ts-widgets.php CHANGED
@@ -10,7 +10,7 @@ class WeaverX_Widget_Text extends WP_Widget {
10
  $widget_ops = array('classname' => 'WeaverX_Widget_Text',
11
  'description' => __('Text Widget with Two Columns - with HTML and shortcode support. Also adds shortcodes to standard Text widget.','weaverx-theme-support' /*adm*/));
12
  $control_ops = array('width' => 400, 'height' => 350);
13
- parent::__construct('wvrx2_text', __('Weaver X Text 2','weaverx-theme-support' /*adm*/), $widget_ops, $control_ops);
14
  }
15
 
16
  function widget( $args, $instance ) {
@@ -75,7 +75,7 @@ class WeaverX_Widget_PPText extends WP_Widget {
75
  function __construct() {
76
  $widget_ops = array('classname' => 'wvrx_widget_pptext', 'description' =>
77
  __('Display text on a Per Page basis. Add to Widget area to see instructions.','weaverx-theme-support' /*adm*/) );
78
- parent::__construct('wvrx_pptext', __('Weaver X Per Page Text','weaverx-theme-support' /*adm*/), $widget_ops);
79
  }
80
 
81
  function widget( $args, $instance ) {
@@ -117,7 +117,7 @@ class WeaverX_Widget_Login extends WP_Widget {
117
 
118
  function __construct() {
119
  $widget_ops = array('classname' => 'wvrx_widget_login', 'description' => __( "Log in/out, admin", 'weaverx-theme-support' /*adm*/ ) );
120
- parent::__construct('wvrx_login', __('Weaver X Login','weaverx-theme-support' /*adm*/), $widget_ops);
121
  }
122
 
123
  function widget( $args, $instance ) {
10
  $widget_ops = array('classname' => 'WeaverX_Widget_Text',
11
  'description' => __('Text Widget with Two Columns - with HTML and shortcode support. Also adds shortcodes to standard Text widget.','weaverx-theme-support' /*adm*/));
12
  $control_ops = array('width' => 400, 'height' => 350);
13
+ parent::__construct('wvrx2_text', __('Weaver Text 2 Col','weaverx-theme-support' /*adm*/), $widget_ops, $control_ops);
14
  }
15
 
16
  function widget( $args, $instance ) {
75
  function __construct() {
76
  $widget_ops = array('classname' => 'wvrx_widget_pptext', 'description' =>
77
  __('Display text on a Per Page basis. Add to Widget area to see instructions.','weaverx-theme-support' /*adm*/) );
78
+ parent::__construct('wvrx_pptext', __('Weaver Per Page Text','weaverx-theme-support' /*adm*/), $widget_ops);
79
  }
80
 
81
  function widget( $args, $instance ) {
117
 
118
  function __construct() {
119
  $widget_ops = array('classname' => 'wvrx_widget_login', 'description' => __( "Log in/out, admin", 'weaverx-theme-support' /*adm*/ ) );
120
+ parent::__construct('wvrx_login', __('Weaver Login','weaverx-theme-support' /*adm*/), $widget_ops);
121
  }
122
 
123
  function widget( $args, $instance ) {
js/wvrx-ts-jslib.js DELETED
@@ -1,27 +0,0 @@
1
- /* *********************************************************************************
2
- * Weaver X Theme Support JavaScript support Library
3
- *
4
- * Author: WeaverTheme - www.weavertheme.com
5
- * @version 1.0
6
- * @license GNU Lesser General Public License, http://www.gnu.org/copyleft/lesser.html
7
- * @author Bruce Wampler
8
- *
9
- * Notes - this library requires jQuery to be loaded
10
- * this library was cobbled together over a long period of time, so it contains a
11
- * bit of a jumble of straight JavaScript and jQuery calls. So it goes. It works.
12
- *
13
- *
14
- ************************************************************************************* */
15
-
16
-
17
- jQuery(document).ready(function($) { // self-defining function
18
- // Tabs
19
- $('.wvr-tabs-nav').delegate('span:not(.wvr-tabs-current)', 'click', function() {
20
- $(this).addClass('wvr-tabs-current').siblings().removeClass('wvr-tabs-current')
21
- .parents('.wvr-tabs').find('.wvr-tabs-pane').hide().eq($(this).index()).show();
22
- });
23
- $('.wvr-tabs-pane').hide();
24
- $('.wvr-tabs-nav span:first-child').addClass('wvr-tabs-current');
25
- $('.wvr-tabs-panes .wvr-tabs-pane:first-child').show();
26
-
27
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
js/wvrx-ts-jslib.min.js DELETED
@@ -1 +0,0 @@
1
- jQuery(document).ready(function(a){a(".wvr-tabs-nav").delegate("span:not(.wvr-tabs-current)","click",function(){a(this).addClass("wvr-tabs-current").siblings().removeClass("wvr-tabs-current").parents(".wvr-tabs").find(".wvr-tabs-pane").hide().eq(a(this).index()).show()});a(".wvr-tabs-pane").hide();a(".wvr-tabs-nav span:first-child").addClass("wvr-tabs-current");a(".wvr-tabs-panes .wvr-tabs-pane:first-child").show()});
 
readme.txt CHANGED
@@ -9,8 +9,8 @@ License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
  Text Domain: weaverx-theme-support
11
  Requires at least: 4.5
12
- Tested up to: 4.7
13
- Stable tag: 3.1
14
 
15
  A useful shortcode and widget collection for Weaver Xtreme
16
 
@@ -38,9 +38,9 @@ Includes complete documentation help file. Instructions for using the shortcodes
38
 
39
  = Widgets Included =
40
 
41
- * **Weaver X 2 Column Text Widget** - Add text into two columns in a widget
42
- * **Weaver X Per Page Text Widget** - Add a text widget on a per page basis
43
- * **Weaver X Login** - Simplified login widget
44
 
45
  = Licenses =
46
 
@@ -76,10 +76,19 @@ See ChangeLog for changes to this version.
76
 
77
  == ChangeLog ==
78
 
 
 
 
 
 
 
 
 
 
79
  = 3.1 =
80
- New: Support for WordPress Custom Header Video
81
- Tweak: show version in output
82
- Tweak: updated per page / per post option scan
83
  Fix: removed duplicated tagline width option
84
 
85
  = 3.0 =
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
  Text Domain: weaverx-theme-support
11
  Requires at least: 4.5
12
+ Tested up to: 4.8
13
+ Stable tag: 3.1.6
14
 
15
  A useful shortcode and widget collection for Weaver Xtreme
16
 
38
 
39
  = Widgets Included =
40
 
41
+ * **Weaver 2 Column Text Widget** - Add text into two columns in a widget
42
+ * **Weaver Per Page Text Widget** - Add a text widget on a per page basis
43
+ * **Weaver Login** - Simplified login widget
44
 
45
  = Licenses =
46
 
76
 
77
  == ChangeLog ==
78
 
79
+ = 3.1.6 =
80
+ * New: Legacy options for Weaver Xtreme Plus 3.1
81
+ * New: support for some new Weaver Xtreme Plus 3.1 options
82
+ * Tweak: don't need plugin stylesheet any more - included in Weaver Xtreme
83
+ * Tweak: no need for separate JS lib - included in Weaver Xtreme
84
+ * Note: jumped to 3.1.6 to match corresponding Weaver Xtrme version
85
+ * WP 4.8 compatibility update
86
+
87
+
88
  = 3.1 =
89
+ * New: Support for WordPress Custom Header Video
90
+ * Tweak: show version in output
91
+ * * Tweak: updated per page / per post option scan
92
  Fix: removed duplicated tagline width option
93
 
94
  = 3.0 =
weaverx-ts-admin-style.css CHANGED
@@ -8,10 +8,10 @@ textarea.wvrx-edit-dir {direction: ltr !important;}
8
  .wvrx_ts_yellow {font-weight:bold;color:orange;}
9
  .wvrx_ts_red {font-weight:bold;color:red;}
10
 
11
- .wvr-help ul {list-style: disc; margin-left:30px;}
12
- .wvr-option-section {font-weight:bold;font-size:120%;color:blue;}
13
 
14
- .wvr-wrap {
15
  max-width:95%;
16
  }
17
 
@@ -104,17 +104,17 @@ ul.yetiisub a.active {
104
  border-color: #00c;
105
  color: #00f;
106
  }
107
- .wvr-small-submit {
108
  padding: 1.0em 0;
109
  margin: 1px 0;
110
  font-size:90%;
111
  }
112
 
113
- .wvr-option-header {background:#D0D0D8;line-height:1.8em;width:95%;color:blue;font-size:large;font-weight:bold;padding-left:4px;}
114
- .wvr-option-subheader {background:#EAEAEA;line-height:1.8em;width:95%;color:blue;font-size:larger;font-weight:bold;padding-left:4px;}
115
- .wvr-row-header {background:#D0D0D8;line-height:1.8em;padding-left:4px;}
116
- .wvr-row-subheader {background:#EAEAEA;padding-left:4px;}
117
- .wvr-row-subheader-alt {background:#F4F4F4;padding-left:4px;}
118
  /* layouts for layout boxes */
119
  .l_layout {display:block; width:140px; height:110px; float:left; margin-right:10px; margin-bottom:10px; display:inline;border:1px solid #888; color:black;text-align:center;font:15px arial,sans-serif;}
120
  .l_layout span {display:block;}
8
  .wvrx_ts_yellow {font-weight:bold;color:orange;}
9
  .wvrx_ts_red {font-weight:bold;color:red;}
10
 
11
+ .atw-help ul {list-style: disc; margin-left:30px;}
12
+ .atw-option-section {font-weight:bold;font-size:120%;color:blue;}
13
 
14
+ .atw-wrap {
15
  max-width:95%;
16
  }
17
 
104
  border-color: #00c;
105
  color: #00f;
106
  }
107
+ .atw-small-submit {
108
  padding: 1.0em 0;
109
  margin: 1px 0;
110
  font-size:90%;
111
  }
112
 
113
+ .atw-option-header {background:#D0D0D8;line-height:1.8em;width:95%;color:blue;font-size:large;font-weight:bold;padding-left:4px;}
114
+ .atw-option-subheader {background:#EAEAEA;line-height:1.8em;width:95%;color:blue;font-size:larger;font-weight:bold;padding-left:4px;}
115
+ .atw-row-header {background:#D0D0D8;line-height:1.8em;padding-left:4px;}
116
+ .atw-row-subheader {background:#EAEAEA;padding-left:4px;}
117
+ .atw-row-subheader-alt {background:#F4F4F4;padding-left:4px;}
118
  /* layouts for layout boxes */
119
  .l_layout {display:block; width:140px; height:110px; float:left; margin-right:10px; margin-bottom:10px; display:inline;border:1px solid #888; color:black;text-align:center;font:15px arial,sans-serif;}
120
  .l_layout span {display:block;}
weaverx-ts-admin-style.min.css CHANGED
@@ -1,4 +1,4 @@
1
- .hide_me{display:none}textarea.wvrx-edit-dir{direction:ltr!important}.wvrx_ts_green{font-weight:bold;color:green}.wvrx_ts_yellow{font-weight:bold;color:orange}.wvrx_ts_red{font-weight:bold;color:red}.wvr-help ul{list-style:disc;margin-left:30px}.wvr-option-section{font-weight:bold;font-size:120%;color:blue}.wvr-wrap{max-width:95%}.tab ul{margin-left:1.15em;list-style:disc outside none}.tab ol{list-style-position:outside;margin-left:1.4em;margin-bottom:.6em}.js_button{background:#eee!important;font-weight:600!important;color:#585858!important}div.yetii{width:95%;margin:0 0 20px 0}ul.yetii{list-style-type:none;width:100%;float:left;border-bottom:4px ridge #ddd;margin-bottom:8px}ul.yetii li{margin:0 2px 0 0;float:left}ul.yetii a{float:left;display:block;padding:4px 8px;border:1px solid #ddd;border-bottom:0;color:#666;background:#eee;text-decoration:none;font-weight:bold}ul.yetii a:hover{background:#fff}ul.yetii a.active{background:#fff;border-color:#00c;color:#00f}div.yetiisub{width:100%;margin:0 0 20px 0}
2
- ul.yetiisub{list-style-type:none;width:100%;float:left;margin-bottom:8px}ul.yetiisub li{margin:0 2px 2px 0;float:left}ul.yetiisub a{float:left;padding:4px 8px;border:1px solid #ccc;color:#666;background:#f0f0f0;text-decoration:none;font-style:italic;font-weight:bold}ul.yetiisub a:hover{background:#fefefe!important}ul.yetiisub a.active{background:#fff;border-color:#00c;color:#00f}.wvr-small-submit{padding:1.0em 0;margin:1px 0;font-size:90%}.wvr-option-header{background:#d0d0d8;line-height:1.8em;width:95%;color:blue;font-size:large;font-weight:bold;padding-left:4px}.wvr-option-subheader{background:#eaeaea;line-height:1.8em;width:95%;color:blue;font-size:larger;font-weight:bold;padding-left:4px}.wvr-row-header{background:#d0d0d8;line-height:1.8em;padding-left:4px}.wvr-row-subheader{background:#eaeaea;padding-left:4px}.wvr-row-subheader-alt{background:#f4f4f4;padding-left:4px}.l_layout{display:block;width:140px;height:110px;float:left;margin-right:10px;margin-bottom:10px;display:inline;border:1px solid #888;color:black;text-align:center;font:15px arial,sans-serif}
3
  .l_layout span{display:block}.l_header{width:140px;height:20px;background:#CCF;line-height:20px}.l_content{width:100px;height:70px;background:beige;float:left;display:inline;line-height:70px}.l_contentcenter{width:60px;height:70px;background:beige;float:left;display:inline;line-height:70px}.l_content2{width:80px;height:70px;background:beige;float:left;display:inline;line-height:70px}.l_contentw{width:140px;height:70px;background:beige;float:left;display:inline;line-height:70px}.l_stdbar{width:40px;height:70px;float:left;display:inline}.l_widebar{width:60px;height:70px;float:left;display:inline}.l_righttop{width:40px;height:20px;background:#FE8;float:left;display:inline;line-height:20px}.l_righttopwide{width:60px;height:20px;background:#FE8;float:left;display:inline;line-height:20px}.l_rightup{width:40px;height:25px;margin:0;background:#FAA;float:left;display:inline;line-height:25px}.l_rightright{width:40px;height:50px;margin:0;background:#FAA;float:left;display:inline;line-height:50px}
4
  .l_rightdown{width:40px;height:25px;margin:0;background:#AFA;float:left;display:inline;line-height:25px}.l_leftleft{width:40px;height:70px;margin:0;background:#AFA;float:left;display:inline;line-height:70px}.l_leftshort{width:30px;height:50px;margin:0;background:#AFA;float:left;display:inline;line-height:50px}.l_skinny{width:30px;height:50px;margin:0;background:#FAA;float:left;display:inline;line-height:50px}.l_footer{clear:left;width:140px;height:20px;background:#DDF;color:#000;line-height:20px}
1
+ .hide_me{display:none}textarea.wvrx-edit-dir{direction:ltr!important}.wvrx_ts_green{font-weight:bold;color:green}.wvrx_ts_yellow{font-weight:bold;color:orange}.wvrx_ts_red{font-weight:bold;color:red}.atw-help ul{list-style:disc;margin-left:30px}.atw-option-section{font-weight:bold;font-size:120%;color:blue}.atw-wrap{max-width:95%}.tab ul{margin-left:1.15em;list-style:disc outside none}.tab ol{list-style-position:outside;margin-left:1.4em;margin-bottom:.6em}.js_button{background:#eee!important;font-weight:600!important;color:#585858!important}div.yetii{width:95%;margin:0 0 20px 0}ul.yetii{list-style-type:none;width:100%;float:left;border-bottom:4px ridge #ddd;margin-bottom:8px}ul.yetii li{margin:0 2px 0 0;float:left}ul.yetii a{float:left;display:block;padding:4px 8px;border:1px solid #ddd;border-bottom:0;color:#666;background:#eee;text-decoration:none;font-weight:bold}ul.yetii a:hover{background:#fff}ul.yetii a.active{background:#fff;border-color:#00c;color:#00f}div.yetiisub{width:100%;margin:0 0 20px 0}
2
+ ul.yetiisub{list-style-type:none;width:100%;float:left;margin-bottom:8px}ul.yetiisub li{margin:0 2px 2px 0;float:left}ul.yetiisub a{float:left;padding:4px 8px;border:1px solid #ccc;color:#666;background:#f0f0f0;text-decoration:none;font-style:italic;font-weight:bold}ul.yetiisub a:hover{background:#fefefe!important}ul.yetiisub a.active{background:#fff;border-color:#00c;color:#00f}.atw-small-submit{padding:1.0em 0;margin:1px 0;font-size:90%}.atw-option-header{background:#d0d0d8;line-height:1.8em;width:95%;color:blue;font-size:large;font-weight:bold;padding-left:4px}.atw-option-subheader{background:#eaeaea;line-height:1.8em;width:95%;color:blue;font-size:larger;font-weight:bold;padding-left:4px}.atw-row-header{background:#d0d0d8;line-height:1.8em;padding-left:4px}.atw-row-subheader{background:#eaeaea;padding-left:4px}.atw-row-subheader-alt{background:#f4f4f4;padding-left:4px}.l_layout{display:block;width:140px;height:110px;float:left;margin-right:10px;margin-bottom:10px;display:inline;border:1px solid #888;color:black;text-align:center;font:15px arial,sans-serif}
3
  .l_layout span{display:block}.l_header{width:140px;height:20px;background:#CCF;line-height:20px}.l_content{width:100px;height:70px;background:beige;float:left;display:inline;line-height:70px}.l_contentcenter{width:60px;height:70px;background:beige;float:left;display:inline;line-height:70px}.l_content2{width:80px;height:70px;background:beige;float:left;display:inline;line-height:70px}.l_contentw{width:140px;height:70px;background:beige;float:left;display:inline;line-height:70px}.l_stdbar{width:40px;height:70px;float:left;display:inline}.l_widebar{width:60px;height:70px;float:left;display:inline}.l_righttop{width:40px;height:20px;background:#FE8;float:left;display:inline;line-height:20px}.l_righttopwide{width:60px;height:20px;background:#FE8;float:left;display:inline;line-height:20px}.l_rightup{width:40px;height:25px;margin:0;background:#FAA;float:left;display:inline;line-height:25px}.l_rightright{width:40px;height:50px;margin:0;background:#FAA;float:left;display:inline;line-height:50px}
4
  .l_rightdown{width:40px;height:25px;margin:0;background:#AFA;float:left;display:inline;line-height:25px}.l_leftleft{width:40px;height:70px;margin:0;background:#AFA;float:left;display:inline;line-height:70px}.l_leftshort{width:30px;height:50px;margin:0;background:#AFA;float:left;display:inline;line-height:50px}.l_skinny{width:30px;height:50px;margin:0;background:#FAA;float:left;display:inline;line-height:50px}.l_footer{clear:left;width:140px;height:20px;background:#DDF;color:#000;line-height:20px}
weaverx-ts-style.css DELETED
@@ -1,122 +0,0 @@
1
- /*
2
- Style file for Weaver X Theme Support
3
-
4
- License: GPL
5
-
6
- Weaver X Theme Support
7
- Copyright (C) 2014-2015 Bruce E. Wampler - weaver@weavertheme.com
8
-
9
- This program is free software: you can redistribute it and/or modify
10
- it under the terms of the GNU General Public License as published by
11
- the Free Software Foundation, either version 3 of the License, or
12
- (at your option) any later version.
13
-
14
- This program is distributed in the hope that it will be useful,
15
- but WITHOUT ANY WARRANTY; without even the implied warranty of
16
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
- GNU General Public License for more details.
18
-
19
- You should have received a copy of the GNU General Public License
20
- along with this program. If not, see <http://www.gnu.org/licenses/>.
21
-
22
- PLEASE - DO NOT EDIT THIS FILE
23
-
24
- If you MUST change the CSS for these shortcodes and widgets, use the
25
- Custom CSS features of Weaver X, or use a custom CSS plugin
26
- such as JetPack, which let you add CSS to your theme or plugins
27
- without modifying theme or plugin .css files.
28
- */
29
-
30
- /* rules for areas hidden in various hybrid "desktop" views */
31
-
32
- @media screen and (min-width:768px) { /* rules for desk top */
33
- .wvr-hide-desktop {display:none !important;}
34
- .wvr-hide-all {display:none !important;}
35
- .wvr-show-phone {display:none !important;}
36
- .wvr-show-mobile {display:none !important;}
37
- .wvr-show-smalltablet {display:none !important;}
38
- }
39
-
40
- @media screen and (min-width:581px) and (max-width:767px) { /* rules for small tablets */
41
- .wvr-hide-smalltablet {display:none !important;}
42
- .wvr-hide-mobile {display:none !important;}
43
- .wvr-hide-all {display:none !important;}
44
- .wvr-show-desktop {display:none !important;}
45
- .wvr-show-phone {display:none !important;}
46
- }
47
-
48
- @media screen and (max-width:580px) { /* rules for phones */
49
- .wvr-hide-phone {display:none !important;}
50
- .wvr-hide-mobile {display:none !important;}
51
- .wvr-hide-all {display:none !important;}
52
- .wvr-show-desktop {display:none !important;}
53
- .wvr-show-smalltablet {display:none !important;}
54
- }
55
-
56
- /* Tabs */
57
- .wvr-tabs {
58
- -webkit-box-sizing: border-box;
59
- -moz-box-sizing: border-box;
60
- box-sizing: border-box;
61
- margin: 0 0 1.5em 0;
62
- background:transparent;
63
- }
64
-
65
- .wvr-tabs-style .wvr-tabs-nav { /* top "bar" behind tabs */
66
- padding: 0px 20px 0px 0px;
67
- margin: 0;
68
- height: 32px;
69
- background-color: transparent;
70
- }
71
- .wvr-tabs-style .wvr-tabs-nav span { /* bg color of a tab */
72
- display: block;
73
- float: left;
74
- padding: 0 20px;
75
- height: 32px;
76
- line-height: 32px;
77
- margin-right: 5px;
78
- cursor: pointer;
79
- border-top: 1px solid #888; /* border-color */
80
- border-right: 1px solid #888;
81
- border-left: 1px solid #888;
82
- background: #ccc; /* tab-bg */
83
- border-top-left-radius:6px;
84
- border-top-right-radius:6px;
85
- position:relative;
86
- z-index:1;
87
- }
88
-
89
- .wvr-tabs-style .wvr-tabs-nav span.wvr-tabs-current {
90
- position:relative;
91
- z-index:3;
92
- }
93
-
94
- .wvr-tabs-style .wvr-tabs-nav span.wvr-tabs-current,
95
- .wvr-tabs-style .wvr-tabs-nav span:hover {
96
- background: #eee; /* tab-current-color */
97
- }
98
-
99
- .wvr-tabs-nav span {
100
- -moz-box-sizing: border-box;
101
- -webkit-box-sizing: border-box;
102
- box-sizing: border-box;
103
- }
104
-
105
- span.wvr-tabs-current {
106
- -moz-box-sizing: border-box;
107
- -webkit-box-sizing: border-box;
108
- box-sizing: border-box;
109
- }
110
-
111
- .wvr-tabs-style .wvr-tabs-pane {
112
- padding: 15px;
113
- border: 1px solid #888; /* border-color */
114
- min-height: 20px; /* pane-min-height */
115
- background-color: transparent; /* pane-bg */
116
- position: relative;
117
- z-index: 2;
118
- }
119
-
120
- .wvr-tabs-panes {position:relative;z-index:2;} /* add line to tab */
121
-
122
- .wvr-tabs-nav {position:relative;z-index:3;}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
weaverx-ts-style.min.css DELETED
@@ -1,2 +0,0 @@
1
- @media screen and (min-width:768px){.wvr-hide-desktop{display:none!important}.wvr-hide-all{display:none!important}.wvr-show-phone{display:none!important}.wvr-show-mobile{display:none!important}.wvr-show-smalltablet{display:none!important}}@media screen and (min-width:581px) and (max-width:767px){.wvr-hide-smalltablet{display:none!important}.wvr-hide-mobile{display:none!important}.wvr-hide-all{display:none!important}.wvr-show-desktop{display:none!important}.wvr-show-phone{display:none!important}}@media screen and (max-width:580px){.wvr-hide-phone{display:none!important}.wvr-hide-mobile{display:none!important}.wvr-hide-all{display:none!important}.wvr-show-desktop{display:none!important}.wvr-show-smalltablet{display:none!important}}.wvr-tabs{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:0 0 1.5em 0;background:transparent}.wvr-tabs-style .wvr-tabs-nav{padding:0 20px 0 0;margin:0;height:32px;background-color:transparent}.wvr-tabs-style .wvr-tabs-nav span{display:block;float:left;padding:0 20px;height:32px;line-height:32px;margin-right:5px;cursor:pointer;border-top:1px solid #888;border-right:1px solid #888;border-left:1px solid #888;background:#ccc;border-top-left-radius:6px;border-top-right-radius:6px;position:relative;z-index:1}
2
- .wvr-tabs-style .wvr-tabs-nav span.wvr-tabs-current{position:relative;z-index:3}.wvr-tabs-style .wvr-tabs-nav span.wvr-tabs-current,.wvr-tabs-style .wvr-tabs-nav span:hover{background:#eee}.wvr-tabs-nav span{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}span.wvr-tabs-current{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.wvr-tabs-style .wvr-tabs-pane{padding:15px;border:1px solid #888;min-height:20px;background-color:transparent;position:relative;z-index:2}.wvr-tabs-panes{position:relative;z-index:2}.wvr-tabs-nav{position:relative;z-index:3}
 
 
weaverx-ts.php CHANGED
@@ -5,7 +5,7 @@ Plugin URI: http://weavertheme.com/plugins
5
  Description: Weaver Xtreme Theme Support - a package of useful shortcodes and widgets that integrates closely with the Weaver Xtreme and Weaver Foundation themes.
6
  Author: wpweaver
7
  Author URI: http://weavertheme.com/about/
8
- Version: 3.1
9
  License: GPL V3
10
 
11
  Weaver Xtreme Theme Support
@@ -43,7 +43,7 @@ function wvrx_is_user_logged_in() {
43
 
44
  if ( strpos( $theme, '/weaver-xtreme') !== false ) { // only load if Weaver Xtreme is the theme
45
 
46
- define ('WVRX_TS_VERSION','3.1');
47
  define ('WVRX_TS_MINIFY','.min'); // '' for dev, '.min' for production
48
  define ('WVRX_TS_APPEARANCE_PAGE', false );
49
 
@@ -63,18 +63,14 @@ function wvrx_ts_enqueue_scripts() { // action definition
63
 
64
  // add plugin CSS here, too.
65
 
66
- wp_register_style('wvrx-ts-style-sheet',wvrx_ts_plugins_url('weaverx-ts-style', WVRX_TS_MINIFY.'.css'),null,WVRX_TS_VERSION,'all');
67
- wp_enqueue_style('wvrx-ts-style-sheet');
 
 
68
  }
69
 
70
  add_action('wp_enqueue_scripts', 'wvrx_ts_enqueue_scripts' );
71
 
72
- /* not compatible with pre 2.2 XPlus
73
- function wvrx_ts_admin_enqueue_scripts() {
74
- wp_enqueue_script('wvrxtsJSLib', wvrx_ts_plugins_url('/admin/assets/js/jscolor/jscolor','.js'),array('jquery'),WVRX_TS_VERSION,true);
75
- }
76
-
77
- add_action( 'admin_enqueue_scripts', 'wvrx_ts_admin_enqueue_scripts' ); */
78
 
79
  require_once(dirname( __FILE__ ) . '/includes/wvrx-ts-runtime-lib.php'); // NOW - load the basic library
80
  require_once(dirname( __FILE__ ) . '/includes/wvrx-ts-widgets.php'); // widgets runtime library
5
  Description: Weaver Xtreme Theme Support - a package of useful shortcodes and widgets that integrates closely with the Weaver Xtreme and Weaver Foundation themes.
6
  Author: wpweaver
7
  Author URI: http://weavertheme.com/about/
8
+ Version: 3.1.6
9
  License: GPL V3
10
 
11
  Weaver Xtreme Theme Support
43
 
44
  if ( strpos( $theme, '/weaver-xtreme') !== false ) { // only load if Weaver Xtreme is the theme
45
 
46
+ define ('WVRX_TS_VERSION','3.1.6');
47
  define ('WVRX_TS_MINIFY','.min'); // '' for dev, '.min' for production
48
  define ('WVRX_TS_APPEARANCE_PAGE', false );
49
 
63
 
64
  // add plugin CSS here, too.
65
 
66
+ // these are now in Weaver Xtreme 3.1 so don't need double loading
67
+
68
+ //wp_register_style('wvrx-ts-style-sheet',wvrx_ts_plugins_url('weaverx-ts-style', WVRX_TS_MINIFY.'.css'),null,WVRX_TS_VERSION,'all');
69
+ //wp_enqueue_style('wvrx-ts-style-sheet');
70
  }
71
 
72
  add_action('wp_enqueue_scripts', 'wvrx_ts_enqueue_scripts' );
73
 
 
 
 
 
 
 
74
 
75
  require_once(dirname( __FILE__ ) . '/includes/wvrx-ts-runtime-lib.php'); // NOW - load the basic library
76
  require_once(dirname( __FILE__ ) . '/includes/wvrx-ts-widgets.php'); // widgets runtime library