Easy Forms for MailChimp - Version 4.0

Version Description

  • Added Interest Group/Segment Support
  • Ability To See Number of Subscriber Per List
  • View Subscribers MailChimp Profile
  • Customize Segment Group Label
  • Customize Submit Button Text
  • Redirect User to Specified Page On Submission
  • Customize Success Message
  • Added cURL Server Error Checking
  • Added further error checking to pages
  • Custom TinyMCE shortcode button
Download this release

Release Info

Developer eherman24
Plugin Icon 128x128 Easy Forms for MailChimp
Version 4.0
Comparing to
See all releases

Code changes from version 4.3.1 to 4.0

.gitignore DELETED
@@ -1,6 +0,0 @@
1
- # Windows Files
2
- Thumbs.db
3
- desktop.ini
4
-
5
- # OS X Files
6
- .DS_Store
 
 
 
 
 
 
classes/MCAPI_2.0.class.php CHANGED
@@ -254,12 +254,7 @@ class wpyksMCAPI {
254
  $this->ch = curl_init();
255
  curl_setopt($this->ch, CURLOPT_USERAGENT, 'MailChimp-PHP/2.0.4');
256
  curl_setopt($this->ch, CURLOPT_POST, true);
257
- // if open base directiory is set, toggle to false, else keep true
258
- if ( ini_get('open_basedir') ) {
259
- curl_setopt($this->ch, CURLOPT_FOLLOWLOCATION, false);
260
- } else {
261
- curl_setopt($this->ch, CURLOPT_FOLLOWLOCATION, true);
262
- }
263
  curl_setopt($this->ch, CURLOPT_HEADER, false);
264
  curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, true);
265
  curl_setopt($this->ch, CURLOPT_CONNECTTIMEOUT, 45);
254
  $this->ch = curl_init();
255
  curl_setopt($this->ch, CURLOPT_USERAGENT, 'MailChimp-PHP/2.0.4');
256
  curl_setopt($this->ch, CURLOPT_POST, true);
257
+ curl_setopt($this->ch, CURLOPT_FOLLOWLOCATION, true);
 
 
 
 
 
258
  curl_setopt($this->ch, CURLOPT_HEADER, false);
259
  curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, true);
260
  curl_setopt($this->ch, CURLOPT_CONNECTTIMEOUT, 45);
classes/class.yksemeBase.php CHANGED
@@ -65,7 +65,7 @@ public function uninstall()
65
  public function initialize()
66
  {
67
  // If it's not already set up, initialize our plugin session
68
- if(session_id() == '') @session_start();
69
  if(!is_array(@$_SESSION[$this->sessName]))
70
  {
71
  $_SESSION[$this->sessName] = array();
@@ -74,10 +74,6 @@ public function initialize()
74
  add_action('admin_print_styles', array(&$this, 'addStyles'));
75
  add_action('admin_print_scripts', array(&$this, 'addScripts'));
76
  add_action('admin_init', array( &$this, 'yks_easy_mc_plugin_activation_redirect' ) );
77
- // adding our custom content action
78
- // used to prevent other plugins from hooking
79
- // into the_content (such as jetpack sharedadddy, sharethis etc.)
80
- add_action( 'init', array( &$this, 'yks_mc_content' ), 1 );
81
  // tinymce buttons
82
  // only add filters and actions on wp 3.9 and above
83
  if ( get_bloginfo( 'version' ) >= '3.9' ) {
@@ -331,6 +327,24 @@ public function getBrowser()
331
  'pattern' => $pattern
332
  );
333
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
334
 
335
 
336
  /***** CONFIGURATION
@@ -582,13 +596,14 @@ public function getInterestGroups($list_id)
582
  {
583
  // table flavor
584
  case '0':
 
585
  // loop over each interest group returned
586
  foreach($interest_groups as $interest_group) {
587
  // if the interest group label is set to '' on the settings page
588
  if ( $this->optionVal['interest-group-label'] == '' ) {
589
- $user_set_interest_group_label = '<label class="prompt yks_table_label yks-mailchimpFormTableRowLabel yks-mailchimpFormTableRowLabel-required font-secondary label-text">'.$interest_group['name'].'</label>'; // display the interest group name from MailChimp
590
  } else {
591
- $user_set_interest_group_label = '<label class="prompt yks_table_label yks-mailchimpFormTableRowLabel yks-mailchimpFormTableRowLabel-required font-secondary label-text">'.$this->optionVal['interest-group-label'].'</label>'; // else display the custom name set in the settings page
592
  }
593
  ?>
594
  <!-- pass interest group data in a hidden form field , required to pass the data back to the correct interest-group -->
@@ -603,51 +618,41 @@ public function getInterestGroups($list_id)
603
 
604
  // checkbox interest groups
605
  case 'checkboxes':
606
- echo '<tr class="yks_mc_table_interest_group_holder yks_mc_table_checkbox_holder">';
607
- echo '<td class="yks_mc_table_td">';
608
- // display the label
609
- echo $user_set_interest_group_label;
610
- foreach ($interest_group['groups'] as $singleGrouping) {
611
- $checkboxValue = $interest_group['name'];
612
- echo '<label class="yks_mc_interest_group_label" for="'.$singleGrouping['name'].'"><input type="checkbox" id="'.$singleGrouping['name'].'" class="yikes_mc_interest_group_checkbox" name="'.$interest_group['form_field'].'-'.$interest_group['id'].'[]" value="'.$singleGrouping['name'].'">'.$singleGrouping['name'].'</label>';
613
- }
614
- echo '</td>';
615
- echo '</tr>';
616
  break;
617
 
618
  // radiobuttons interest groups
619
  case 'radio':
620
- echo '<tr class="yks_mc_table_interest_group_holder yks_mc_table_radio_holder">';
621
- echo '<td class="yks_mc_interest_radio_button_holder yks_mc_table_td">';
622
- // display the label
623
- echo $user_set_interest_group_label;
624
  foreach ($interest_group['groups'] as $singleGrouping) {
625
  $radioValue = $interest_group['name'];
626
  echo '<label class="yks_mc_interest_group_label" for="'.$singleGrouping['name'].'"><input type="radio" id="'.$singleGrouping['name'].'" class="yikes_mc_interest_group_radio" name="'.$interest_group['form_field'].'-'.$interest_group['id'].'" value="'.$singleGrouping['name'].'">'.$singleGrouping['name'].'</label>';
627
  }
628
- echo '</td>';
629
- echo '</tr>';
630
  break;
631
 
632
  // drop down interest groups
633
  case 'dropdown':
634
- echo '<tr class="yks_mc_table_interest_group_holder yks_mc_table_dropdown_holder">';
635
- echo '<td class="yks_mc_table_dropdown_interest_group_holder yks_mc_table_td">';
636
- // display the label
637
- echo $user_set_interest_group_label;
638
- echo '<select id="yks_mc_interest_dropdown" name="'.$interest_group['form_field'].'-'.$interest_group['id'].'" class="yks_mc_interest_group_select">';
639
- foreach ($interest_group['groups'] as $singleGrouping) {
640
- $dropDownValue = $interest_group['name'];
641
- echo '<option value="'.$singleGrouping['name'].'" name="'.$dropDownValue.'">'.$singleGrouping['name'].'</option>';
642
- }
643
- echo '</select>';
644
- echo '</td>';
645
- echo '</tr>';
646
  break;
647
  }
648
  $num++;
649
  }
650
-
651
  break;
652
 
653
  // div flavor
@@ -756,10 +761,10 @@ public function getOptionsLists()
756
  if($lists)
757
  {
758
  echo "<select id='yks-mailchimp-optIn-default-list' name='yks-mailchimp-optIn-default-list'>";
759
- echo "<option value='select_list'> Select List</option>";
760
- foreach ($lists as $lkey => $list_name)
761
  {
762
- echo "<option ".selected( isset($this->optionVal['yks-mailchimp-optIn-default-list']) ? $this->optionVal['yks-mailchimp-optIn-default-list'] : "select_list", $lkey )." value='".$lkey."'>".$list_name."</option>";
763
  }
764
  echo "</select>";
765
  }
@@ -1162,12 +1167,10 @@ public function addStyles_frontend()
1162
  {
1163
  // Register Styles
1164
  wp_register_style('ykseme-css-base', YKSEME_URL.'css/style.ykseme.css', array(), '1.0.0', 'all');
1165
- wp_register_style('ykseme-css-smoothness', '//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css', array(), '1.0.0', 'all');
1166
- wp_register_style('ykseme-animate-css', YKSEME_URL.'css/animate.css', array(), '1.0.0', 'all');
1167
  // Enqueue Styles
1168
  wp_enqueue_style('ykseme-css-base');
1169
  wp_enqueue_style('ykseme-css-smoothness');
1170
- wp_enqueue_style('ykseme-animate-css');
1171
  }
1172
 
1173
  public function addScripts()
@@ -1394,11 +1397,10 @@ public function addUserToMailchimp($p)
1394
 
1395
  // Interest group loop to build the GROUPINGS array
1396
  // The GROUPINGS array passes our interest group, and values back to the specific form
1397
- if ( isset($fd['interest-group-data']) ) {
1398
- $interest_group_option = json_decode($fd['interest-group-data'], true);
1399
- }
1400
  // if interest groups exist, continue and form an array
1401
- if ( isset($interest_group_option) ) {
1402
 
1403
  // print_r($interest_group_option);
1404
  $mv['GROUPINGS'] = array();
@@ -1519,10 +1521,10 @@ public function generateListContainers($listArr=false)
1519
  ?>
1520
  <div class="yks-list-container" id="yks-list-container_<?php echo $list['id']; ?>">
1521
  <div class="yks-status" id="yks-status" style="display: none;">
1522
- <div class="yks-success" style="padding:.25em;"><p>&nbsp;<?php _e('Your List Was Successfully Saved!','yikes-inc-easy-mailchimp-extender'); ?></p></div>
1523
  </div>
1524
  <div class="yks-status-error" id="yks-status-error" style="display: none;">
1525
- <div class="yks-error" style="padding:.25em;"><p>&nbsp;<?php _e('Your settings were not saved (or you did not change them).','yikes-inc-easy-mailchimp-extender'); ?></p></div>
1526
  </div>
1527
  <span class="yikes-lists-error" style="display:none;"><?php _e('I\'m sorry there was an error with your request.','yikes-inc-easy-mailchimp-extender'); ?></span>
1528
  <form method="post" name="yks-mailchimp-form" id="yks-mailchimp-form_<?php echo $list['id']; ?>" rel="<?php echo $list['id']; ?>">
@@ -1727,75 +1729,60 @@ public function getFrontendFormJavascript($list='')
1727
  $prefixa = "ymce";
1728
  $js .= "if ($".$prefixa."('#".$field['id']."').val() == '')";
1729
  $js .= "{
1730
- msg += '<li>".$field['label']."'+'\\n</li>';
1731
  err++;
1732
- $".$prefixa."('#".$field['id']."').addClass('yks_error_field_required shake animated').delay(1200).queue(function(next){
1733
- $".$prefixa."(this).removeClass('shake animated');
1734
- next();
1735
- });
1736
- } else {
1737
- $".$prefixa."('#".$field['id']."').removeClass('yks_error_field_required');
1738
  }";
1739
  break;
1740
  // address
1741
- case 'address':
1742
- $js .= "if($".$prefix."('#".$field['id']."').val() == '')
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1743
  {
1744
- msg += '<li>Street Address'+'\\n</li>';
1745
  err++;
1746
- $".$prefixa."('#".$field['id']."').addClass('yks_error_field_required shake animated').delay(800).queue(function(next){
1747
- $".$prefixa."(this).removeClass('shake animated');
1748
- next();
1749
- });
1750
- } else {
1751
- $".$prefixa."('#".$field['id']."').removeClass('yks_error_field_required')
1752
- }
1753
- if($".$prefix."('#".$field['id']."-city').val() == '')
1754
  {
1755
- msg += '<li>City'+'\\n</li>';
1756
  err++;
1757
- $".$prefixa."('#".$field['id']."-city').addClass('yks_error_field_required shake animated').delay(800).queue(function(next){
1758
- $".$prefixa."(this).removeClass('shake animated');
1759
- next();
1760
- });
1761
- } else {
1762
- $".$prefixa."('#".$field['id']."-city').removeClass('yks_error_field_required')
1763
  }
1764
- if($".$prefix."('#".$field['id']."-state').val() == '')
1765
  {
1766
- msg += '<li>State'+'\\n</li>';
1767
  err++;
1768
- $".$prefixa."('#".$field['id']."-state').addClass('yks_error_field_required shake animated').delay(800).queue(function(next){
1769
- $".$prefixa."(this).removeClass('shake animated');
1770
- next();
1771
- });
1772
- } else {
1773
- $".$prefixa."('#".$field['id']."-state').removeClass('yks_error_field_required')
1774
  }
1775
- if($".$prefix."('#".$field['id']."-zip').val() == '')
1776
  {
1777
- msg += '<li>Zip Code'+'\\n</li>';
1778
  err++;
1779
- $".$prefixa."('#".$field['id']."-zip').addClass('yks_error_field_required shake animated').delay(800).queue(function(next){
1780
- $".$prefixa."(this).removeClass('shake animated');
1781
- next();
1782
- });
1783
- } else {
1784
- $".$prefixa."('#".$field['id']."-zip').removeClass('yks_error_field_required')
1785
  }";
1786
  break;
1787
  // radio
1788
  case 'radio':
1789
- $js .= "if($".$prefix."('.".$field['name'].":checked').length <= 0)
1790
- {
1791
- msg += '<li>".$field['label']."\\n</li>';
1792
  err++;
1793
- $".$prefixa."('label[for=".$field['id']."]').next().find('input').addClass('yks_error_field_required shake animated').delay(800).queue(function(next){
1794
- $".$prefixa."(this).removeClass('shake animated');
1795
- next();
1796
- });
1797
- } else {
1798
- $".$prefixa."('#".$field['id']."').removeClass('yks_error_field_required')
1799
  }";
1800
  break;
1801
  }
@@ -1861,9 +1848,9 @@ public function getFrontendFormDisplay($list='', $submit_text)
1861
  ?>
1862
  <tr class="yks-mailchimpFormTableRow">
1863
  <!-- run our function to generate the interest group fields for the form, passing in the form id -->
1864
- <?php echo $this->getInterestGroups($form_id[1]); ?>
1865
  <td class="yks-mailchimpFormTableSubmit">
1866
- <input type="submit" class="ykfmc-submit" id="ykfmc-submit_<?php echo $list['id']; ?>" value="<?php if($submit_text != '') { echo $submit_text; } else { echo 'Sign Up'; } ?>" />
1867
  </td>
1868
  </tr>
1869
  </table>
@@ -1875,7 +1862,7 @@ public function getFrontendFormDisplay($list='', $submit_text)
1875
  $site_url = "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; // grab and store the current sites URL
1876
  $redirect_url = get_permalink($redirect_page); // get the permalink of the page we are going to redirect too
1877
  // if redirection was set up for this form, print out our javascript to complete the redirect
1878
- if ($redirect_value == 1) { // only redirect if successful form submission <-----
1879
  ?>
1880
  <script>
1881
  jQuery(document).ready(function() {
@@ -1883,14 +1870,17 @@ public function getFrontendFormDisplay($list='', $submit_text)
1883
  var formRedirectPage = '<?php echo $redirect_url ?>';
1884
  var formID = '<?php echo $form_id[1] ?>';
1885
  jQuery('#yks-mailchimp-form_0-'+formID).submit(function() {
1886
- var interval = setInterval(function() {
1887
- if ( jQuery('.yks-success').is(':visible') ) {
1888
- window.location.replace(formRedirectPage);
1889
- clearInterval(interval);
1890
- return;
1891
- }
1892
- //do whatever here..
1893
- }, 2000);
 
 
 
1894
  });
1895
  });
1896
  </script>
@@ -1969,14 +1959,17 @@ public function getFrontendFormDisplay($list='', $submit_text)
1969
  var formRedirectPage = '<?php echo $redirect_url ?>';
1970
  var formID = '<?php echo $form_id[1] ?>';
1971
  jQuery('#yks-mailchimp-form_0-'+formID).submit(function() {
1972
- var interval = setInterval(function() {
1973
- if ( jQuery('.yks-success').is(':visible') ) {
1974
- window.location.replace(formRedirectPage);
1975
- clearInterval(interval);
1976
- return;
1977
- }
1978
- //do whatever here..
1979
- }, 2000);
 
 
 
1980
  });
1981
  });
1982
  </script>
@@ -2021,10 +2014,10 @@ private function getFrontendFormDisplay_field($field=false)
2021
  break;
2022
  case 'address':
2023
 
2024
- $o .= '<input type="text" name="'.$field['name'].'" class="'.$field['name'].($field['require'] == 1 ? ' yks-require' : '').'" id="'.$field['id'].'" value="" /><span class="yks-mailchimp-form-tooltip">Street Address</span>';
2025
- $o .= '<input type="text" name="'.$field['name'].'-add2" class="'.$field['name'].'-add2'.($field['require'] == 1 ? ' yks-require' : '').'" id="'.$field['id'].'-add2" value="" /><span class="yks-mailchimp-form-tooltip">Apt/Suite</span>';
2026
- $o .= '<input type="text" name="'.$field['name'].'-city" class="'.$field['name'].'-city'.($field['require'] == 1 ? ' yks-require' : '').'" id="'.$field['id'].'-city" value="" /><span class="yks-mailchimp-form-tooltip">City</span>';
2027
- $o .= '<input type="text" name="'.$field['name'].'-state" class="'.$field['name'].'-state'.($field['require'] == 1 ? ' yks-require' : '').'" id="'.$field['id'].'-state" value="" /><span class="yks-mailchimp-form-tooltip">State</span>';
2028
  $o .= '<input type="text" name="'.$field['name'].'-zip" class="'.$field['name'].'-zip'.($field['require'] == 1 ? ' yks-require' : '').'" id="'.$field['id'].'-zip" value="" /><span class="yks-mailchimp-form-tooltip">Zip</span>';
2029
  break;
2030
  case 'radio':
@@ -2333,27 +2326,6 @@ private function runUpdateTasks_1_3_0()
2333
  }
2334
  }
2335
 
2336
- /****
2337
- **
2338
- ** Custom The_Content filter
2339
- ** used to prevent other plugins from hooking here
2340
- **
2341
- ****/
2342
- function yks_mc_content() {
2343
- //Create our own version of the_content so that others can't accidentally loop into our output - Taken from default-filters.php, shortcodes.php, and media.php
2344
- if ( !has_filter( 'yks_mc_content', 'wptexturize' ) ) {
2345
- add_filter( 'yks_mc_content', 'wptexturize' );
2346
- add_filter( 'yks_mc_content', 'convert_smilies' );
2347
- add_filter( 'yks_mc_content', 'convert_chars' );
2348
- add_filter( 'yks_mc_content', 'wpautop' );
2349
- add_filter( 'yks_mc_content', 'shortcode_unautop' );
2350
- add_filter( 'yks_mc_content', 'prepend_attachment' );
2351
- $vidembed = new WP_Embed();
2352
- add_filter( 'yks_mc_content', array( &$vidembed, 'run_shortcode'), 8 );
2353
- add_filter( 'yks_mc_content', array( &$vidembed, 'autoembed'), 8 );
2354
- add_filter( 'yks_mc_content', 'do_shortcode', 11);
2355
- } //end has_filter
2356
- } //end yks_mc_content
2357
 
2358
  // Check if cURL is enabled at the server level
2359
  // used on the options.php page
65
  public function initialize()
66
  {
67
  // If it's not already set up, initialize our plugin session
68
+ if(session_id() == '') session_start();
69
  if(!is_array(@$_SESSION[$this->sessName]))
70
  {
71
  $_SESSION[$this->sessName] = array();
74
  add_action('admin_print_styles', array(&$this, 'addStyles'));
75
  add_action('admin_print_scripts', array(&$this, 'addScripts'));
76
  add_action('admin_init', array( &$this, 'yks_easy_mc_plugin_activation_redirect' ) );
 
 
 
 
77
  // tinymce buttons
78
  // only add filters and actions on wp 3.9 and above
79
  if ( get_bloginfo( 'version' ) >= '3.9' ) {
327
  'pattern' => $pattern
328
  );
329
  }
330
+ // Store google analytics tracking information
331
+ // Generated on the lists page
332
+ public function getTrackingGif($page='')
333
+ {
334
+ ?>
335
+ <script type="text/javascript">
336
+ var _gaq = _gaq || [];
337
+ _gaq.push(['_setAccount', 'UA-3024863-1']);
338
+ _gaq.push(['_trackPageview', '/virtual/wordpress/plugin/yikes-inc-easy-mailchimp-extender/<?php echo $this->slugify($page); ?>']);
339
+
340
+ (function() {
341
+ var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
342
+ ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
343
+ var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
344
+ })();
345
+ </script>
346
+ <?php
347
+ }
348
 
349
 
350
  /***** CONFIGURATION
596
  {
597
  // table flavor
598
  case '0':
599
+ ?><table><?php
600
  // loop over each interest group returned
601
  foreach($interest_groups as $interest_group) {
602
  // if the interest group label is set to '' on the settings page
603
  if ( $this->optionVal['interest-group-label'] == '' ) {
604
+ echo '<b class="yks_mc_interest_group_text">'.$interest_group['name'].'</b>'; // display the interest group name from MailChimp
605
  } else {
606
+ echo '<b class="yks_mc_interest_group_text">'.$this->optionVal['interest-group-label'].'</b>'; // else display the custom name set in the settings page
607
  }
608
  ?>
609
  <!-- pass interest group data in a hidden form field , required to pass the data back to the correct interest-group -->
618
 
619
  // checkbox interest groups
620
  case 'checkboxes':
621
+ echo '<div class="yks_mc_interest_group_holder">';
622
+ foreach ($interest_group['groups'] as $singleGrouping) {
623
+ $checkboxValue = $interest_group['name'];
624
+ echo '<label class="yks_mc_interest_group_label" for="'.$singleGrouping['name'].'"><input type="checkbox" id="'.$singleGrouping['name'].'" class="yikes_mc_interest_group_checkbox" name="'.$interest_group['form_field'].'-'.$interest_group['id'].'[]" value="'.$singleGrouping['name'].'">'.$singleGrouping['name'].'</label>';
625
+ }
626
+ echo '</div>';
 
 
 
 
627
  break;
628
 
629
  // radiobuttons interest groups
630
  case 'radio':
631
+ echo '<div class="yks_mc_interest_group_holder">';
632
+ echo '<div class="yks_mc_interest_radio_button_holder">';
 
 
633
  foreach ($interest_group['groups'] as $singleGrouping) {
634
  $radioValue = $interest_group['name'];
635
  echo '<label class="yks_mc_interest_group_label" for="'.$singleGrouping['name'].'"><input type="radio" id="'.$singleGrouping['name'].'" class="yikes_mc_interest_group_radio" name="'.$interest_group['form_field'].'-'.$interest_group['id'].'" value="'.$singleGrouping['name'].'">'.$singleGrouping['name'].'</label>';
636
  }
637
+ echo '</div>';
638
+ echo '</div>';
639
  break;
640
 
641
  // drop down interest groups
642
  case 'dropdown':
643
+ echo '<div class="yks_mc_interest_group_holder">';
644
+ echo '<select id="yks_mc_interest_dropdown" name="'.$interest_group['form_field'].'-'.$interest_group['id'].'" class="yks_mc_interest_group_select">';
645
+ foreach ($interest_group['groups'] as $singleGrouping) {
646
+ $dropDownValue = $interest_group['name'];
647
+ echo '<option value="'.$singleGrouping['name'].'" name="'.$dropDownValue.'">'.$singleGrouping['name'].'</option>';
648
+ }
649
+ echo '</select>';
650
+ echo '</div>';
 
 
 
 
651
  break;
652
  }
653
  $num++;
654
  }
655
+ ?></table><?php
656
  break;
657
 
658
  // div flavor
761
  if($lists)
762
  {
763
  echo "<select id='yks-mailchimp-optIn-default-list' name='yks-mailchimp-optIn-default-list'>";
764
+ echo "<option value=''> Select List</option>";
765
+ foreach ($lists as $lkey => $lvalue)
766
  {
767
+ echo "<option ".selected( $this->optionVal['yks-mailchimp-optIn-default-list'], $lkey )." value='".$lkey."'>".$lvalue."</option>";
768
  }
769
  echo "</select>";
770
  }
1167
  {
1168
  // Register Styles
1169
  wp_register_style('ykseme-css-base', YKSEME_URL.'css/style.ykseme.css', array(), '1.0.0', 'all');
1170
+ wp_register_style('ykseme-css-smoothness', YKSEME_URL.'css/jquery-ui-1.10.4.smoothness.css', array(), '1.0.0', 'all');
 
1171
  // Enqueue Styles
1172
  wp_enqueue_style('ykseme-css-base');
1173
  wp_enqueue_style('ykseme-css-smoothness');
 
1174
  }
1175
 
1176
  public function addScripts()
1397
 
1398
  // Interest group loop to build the GROUPINGS array
1399
  // The GROUPINGS array passes our interest group, and values back to the specific form
1400
+ $interest_group_option = json_decode($fd['interest-group-data'], true);
1401
+
 
1402
  // if interest groups exist, continue and form an array
1403
+ if ( $interest_group_option ) {
1404
 
1405
  // print_r($interest_group_option);
1406
  $mv['GROUPINGS'] = array();
1521
  ?>
1522
  <div class="yks-list-container" id="yks-list-container_<?php echo $list['id']; ?>">
1523
  <div class="yks-status" id="yks-status" style="display: none;">
1524
+ <div class="yks-success" style="padding:.25em;">&nbsp;<?php _e('Your List Was Successfully Saved!','yikes-inc-easy-mailchimp-extender'); ?></div>
1525
  </div>
1526
  <div class="yks-status-error" id="yks-status-error" style="display: none;">
1527
+ <div class="yks-error" style="padding:.25em;">&nbsp;<?php _e('Your settings were not saved (or you did not change them).','yikes-inc-easy-mailchimp-extender'); ?></div>
1528
  </div>
1529
  <span class="yikes-lists-error" style="display:none;"><?php _e('I\'m sorry there was an error with your request.','yikes-inc-easy-mailchimp-extender'); ?></span>
1530
  <form method="post" name="yks-mailchimp-form" id="yks-mailchimp-form_<?php echo $list['id']; ?>" rel="<?php echo $list['id']; ?>">
1729
  $prefixa = "ymce";
1730
  $js .= "if ($".$prefixa."('#".$field['id']."').val() == '')";
1731
  $js .= "{
1732
+ msg += '".$field['label']."'+'\\n';
1733
  err++;
 
 
 
 
 
 
1734
  }";
1735
  break;
1736
  // address
1737
+ case 'address':
1738
+ $js .= "if($prefix('#{".$field['id']."}').val() == '')
1739
+ {
1740
+ msg += '".$field['label'].": Street Address'+\\n;
1741
+ err++;
1742
+ }
1743
+ if($prefix('#{".$field['id']."}-city').val() == '')
1744
+ {
1745
+ msg += '* {".$field['label']."}: City'+\\n;
1746
+ err++;
1747
+ }
1748
+ if($prefix('#{".$field['id']."}-state').val() == '')
1749
+ {
1750
+ msg += '* {".$field['label']."}: State'+\\n;
1751
+ err++;
1752
+ }
1753
+ if($prefix('#{".$field['id']."}-zip').val() == '')
1754
+ {
1755
+ msg += '* {".$field['label']."}: Zip Code'+\\n;
1756
+ err++;
1757
+ }";
1758
+
1759
+ $js .= "if($prefix('#{".$field['id']."}').val() == '')
1760
  {
1761
+ msg += '*{".$field['label']."}: Street Address'+\\n;
1762
  err++;
1763
+ }
1764
+ if($prefix('#{".$field['id']."}-city').val() == '')
 
 
 
 
 
 
1765
  {
1766
+ msg += '* {".$field['label']."}: City'+\\n;
1767
  err++;
 
 
 
 
 
 
1768
  }
1769
+ if($prefix('#{".$field['id']."}-state').val() == '')
1770
  {
1771
+ msg += '* {".$field['label']."}: State'+\\n;
1772
  err++;
 
 
 
 
 
 
1773
  }
1774
+ if($prefix('#{".$field['id']."}-zip').val() == '')
1775
  {
1776
+ msg += '* {".$field['label']."}: Zip Code'+\\n;
1777
  err++;
 
 
 
 
 
 
1778
  }";
1779
  break;
1780
  // radio
1781
  case 'radio':
1782
+ $js .= "if($prefix('.{".$field['name']."}:checked').length <= 0)
1783
+ {
1784
+ msg += '* {".$field['label']."}'+\\n;
1785
  err++;
 
 
 
 
 
 
1786
  }";
1787
  break;
1788
  }
1848
  ?>
1849
  <tr class="yks-mailchimpFormTableRow">
1850
  <!-- run our function to generate the interest group fields for the form, passing in the form id -->
1851
+ <?php $this->getInterestGroups($form_id); ?>
1852
  <td class="yks-mailchimpFormTableSubmit">
1853
+ <p><input type="submit" class="ykfmc-submit" id="ykfmc-submit_<?php echo $list['id']; ?>" value="<?php if($submit_text != '') { echo $submit_text; } else { echo 'Sign Up'; } ?>" /></p>
1854
  </td>
1855
  </tr>
1856
  </table>
1862
  $site_url = "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; // grab and store the current sites URL
1863
  $redirect_url = get_permalink($redirect_page); // get the permalink of the page we are going to redirect too
1864
  // if redirection was set up for this form, print out our javascript to complete the redirect
1865
+ if ($redirect_value == 1) {
1866
  ?>
1867
  <script>
1868
  jQuery(document).ready(function() {
1870
  var formRedirectPage = '<?php echo $redirect_url ?>';
1871
  var formID = '<?php echo $form_id[1] ?>';
1872
  jQuery('#yks-mailchimp-form_0-'+formID).submit(function() {
1873
+
1874
+ // delay a few seconds to display the success message
1875
+ setTimeout(function() {
1876
+
1877
+ // when success message is visible - redirect user
1878
+ if(jQuery('.yks-success').is(':visible')) {
1879
+ window.location.replace(formRedirectPage);
1880
+ }
1881
+
1882
+ }, 1500);
1883
+
1884
  });
1885
  });
1886
  </script>
1959
  var formRedirectPage = '<?php echo $redirect_url ?>';
1960
  var formID = '<?php echo $form_id[1] ?>';
1961
  jQuery('#yks-mailchimp-form_0-'+formID).submit(function() {
1962
+
1963
+ // delay a few seconds to display the success message
1964
+ setTimeout(function() {
1965
+
1966
+ // when success message is visible - redirect user
1967
+ if(jQuery('.yks-success').is(':visible')) {
1968
+ window.location.replace(formRedirectPage);
1969
+ }
1970
+
1971
+ }, 1500);
1972
+
1973
  });
1974
  });
1975
  </script>
2014
  break;
2015
  case 'address':
2016
 
2017
+ $o .= '<input type="text" name="'.$field['name'].'" class="'.$field['name'].($field['require'] == 1 ? ' yks-require' : '').'" id="'.$field['id'].'" value="" /><span class="yks-mailchimp-form-tooltip">Street Address</span><br />';
2018
+ $o .= '<input type="text" name="'.$field['name'].'-add2" class="'.$field['name'].'-add2'.($field['require'] == 1 ? ' yks-require' : '').'" id="'.$field['id'].'-add2" value="" /><span class="yks-mailchimp-form-tooltip">Apt/Suite</span><br />';
2019
+ $o .= '<input type="text" name="'.$field['name'].'-city" class="'.$field['name'].'-city'.($field['require'] == 1 ? ' yks-require' : '').'" id="'.$field['id'].'-city" value="" /><span class="yks-mailchimp-form-tooltip">City</span><br />';
2020
+ $o .= '<input type="text" name="'.$field['name'].'-state" class="'.$field['name'].'-state'.($field['require'] == 1 ? ' yks-require' : '').'" id="'.$field['id'].'-state" value="" /><span class="yks-mailchimp-form-tooltip">State</span><br />';
2021
  $o .= '<input type="text" name="'.$field['name'].'-zip" class="'.$field['name'].'-zip'.($field['require'] == 1 ? ' yks-require' : '').'" id="'.$field['id'].'-zip" value="" /><span class="yks-mailchimp-form-tooltip">Zip</span>';
2022
  break;
2023
  case 'radio':
2326
  }
2327
  }
2328
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2329
 
2330
  // Check if cURL is enabled at the server level
2331
  // used on the options.php page
css/animate.css DELETED
@@ -1,3303 +0,0 @@
1
- @charset "UTF-8";
2
-
3
- /*!
4
- Animate.css - http://daneden.me/animate
5
- Licensed under the MIT license
6
-
7
- Copyright (c) 2013 Daniel Eden
8
-
9
- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
10
-
11
- The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
12
-
13
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
14
- */
15
-
16
- .animated {
17
- -webkit-animation-duration: 1s;
18
- animation-duration: 1s;
19
- -webkit-animation-fill-mode: both;
20
- animation-fill-mode: both;
21
- }
22
-
23
- .animated.infinite {
24
- -webkit-animation-iteration-count: infinite;
25
- animation-iteration-count: infinite;
26
- }
27
-
28
- .animated.hinge {
29
- -webkit-animation-duration: 2s;
30
- animation-duration: 2s;
31
- }
32
-
33
- @-webkit-keyframes bounce {
34
- 0%, 20%, 50%, 80%, 100% {
35
- -webkit-transform: translateY(0);
36
- transform: translateY(0);
37
- }
38
-
39
- 40% {
40
- -webkit-transform: translateY(-30px);
41
- transform: translateY(-30px);
42
- }
43
-
44
- 60% {
45
- -webkit-transform: translateY(-15px);
46
- transform: translateY(-15px);
47
- }
48
- }
49
-
50
- @keyframes bounce {
51
- 0%, 20%, 50%, 80%, 100% {
52
- -webkit-transform: translateY(0);
53
- -ms-transform: translateY(0);
54
- transform: translateY(0);
55
- }
56
-
57
- 40% {
58
- -webkit-transform: translateY(-30px);
59
- -ms-transform: translateY(-30px);
60
- transform: translateY(-30px);
61
- }
62
-
63
- 60% {
64
- -webkit-transform: translateY(-15px);
65
- -ms-transform: translateY(-15px);
66
- transform: translateY(-15px);
67
- }
68
- }
69
-
70
- .bounce {
71
- -webkit-animation-name: bounce;
72
- animation-name: bounce;
73
- }
74
-
75
- @-webkit-keyframes flash {
76
- 0%, 50%, 100% {
77
- opacity: 1;
78
- }
79
-
80
- 25%, 75% {
81
- opacity: 0;
82
- }
83
- }
84
-
85
- @keyframes flash {
86
- 0%, 50%, 100% {
87
- opacity: 1;
88
- }
89
-
90
- 25%, 75% {
91
- opacity: 0;
92
- }
93
- }
94
-
95
- .flash {
96
- -webkit-animation-name: flash;
97
- animation-name: flash;
98
- }
99
-
100
- /* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
101
-
102
- @-webkit-keyframes pulse {
103
- 0% {
104
- -webkit-transform: scale(1);
105
- transform: scale(1);
106
- }
107
-
108
- 50% {
109
- -webkit-transform: scale(1.1);
110
- transform: scale(1.1);
111
- }
112
-
113
- 100% {
114
- -webkit-transform: scale(1);
115
- transform: scale(1);
116
- }
117
- }
118
-
119
- @keyframes pulse {
120
- 0% {
121
- -webkit-transform: scale(1);
122
- -ms-transform: scale(1);
123
- transform: scale(1);
124
- }
125
-
126
- 50% {
127
- -webkit-transform: scale(1.1);
128
- -ms-transform: scale(1.1);
129
- transform: scale(1.1);
130
- }
131
-
132
- 100% {
133
- -webkit-transform: scale(1);
134
- -ms-transform: scale(1);
135
- transform: scale(1);
136
- }
137
- }
138
-
139
- .pulse {
140
- -webkit-animation-name: pulse;
141
- animation-name: pulse;
142
- }
143
-
144
- @-webkit-keyframes rubberBand {
145
- 0% {
146
- -webkit-transform: scale(1);
147
- transform: scale(1);
148
- }
149
-
150
- 30% {
151
- -webkit-transform: scaleX(1.25) scaleY(0.75);
152
- transform: scaleX(1.25) scaleY(0.75);
153
- }
154
-
155
- 40% {
156
- -webkit-transform: scaleX(0.75) scaleY(1.25);
157
- transform: scaleX(0.75) scaleY(1.25);
158
- }
159
-
160
- 60% {
161
- -webkit-transform: scaleX(1.15) scaleY(0.85);
162
- transform: scaleX(1.15) scaleY(0.85);
163
- }
164
-
165
- 100% {
166
- -webkit-transform: scale(1);
167
- transform: scale(1);
168
- }
169
- }
170
-
171
- @keyframes rubberBand {
172
- 0% {
173
- -webkit-transform: scale(1);
174
- -ms-transform: scale(1);
175
- transform: scale(1);
176
- }
177
-
178
- 30% {
179
- -webkit-transform: scaleX(1.25) scaleY(0.75);
180
- -ms-transform: scaleX(1.25) scaleY(0.75);
181
- transform: scaleX(1.25) scaleY(0.75);
182
- }
183
-
184
- 40% {
185
- -webkit-transform: scaleX(0.75) scaleY(1.25);
186
- -ms-transform: scaleX(0.75) scaleY(1.25);
187
- transform: scaleX(0.75) scaleY(1.25);
188
- }
189
-
190
- 60% {
191
- -webkit-transform: scaleX(1.15) scaleY(0.85);
192
- -ms-transform: scaleX(1.15) scaleY(0.85);
193
- transform: scaleX(1.15) scaleY(0.85);
194
- }
195
-
196
- 100% {
197
- -webkit-transform: scale(1);
198
- -ms-transform: scale(1);
199
- transform: scale(1);
200
- }
201
- }
202
-
203
- .rubberBand {
204
- -webkit-animation-name: rubberBand;
205
- animation-name: rubberBand;
206
- }
207
-
208
- @-webkit-keyframes shake {
209
- 0%, 100% {
210
- -webkit-transform: translateX(0);
211
- transform: translateX(0);
212
- }
213
-
214
- 10%, 30%, 50%, 70%, 90% {
215
- -webkit-transform: translateX(-10px);
216
- transform: translateX(-10px);
217
- }
218
-
219
- 20%, 40%, 60%, 80% {
220
- -webkit-transform: translateX(10px);
221
- transform: translateX(10px);
222
- }
223
- }
224
-
225
- @keyframes shake {
226
- 0%, 100% {
227
- -webkit-transform: translateX(0);
228
- -ms-transform: translateX(0);
229
- transform: translateX(0);
230
- }
231
-
232
- 10%, 30%, 50%, 70%, 90% {
233
- -webkit-transform: translateX(-10px);
234
- -ms-transform: translateX(-10px);
235
- transform: translateX(-10px);
236
- }
237
-
238
- 20%, 40%, 60%, 80% {
239
- -webkit-transform: translateX(10px);
240
- -ms-transform: translateX(10px);
241
- transform: translateX(10px);
242
- }
243
- }
244
-
245
- .shake {
246
- -webkit-animation-name: shake;
247
- animation-name: shake;
248
- }
249
-
250
- @-webkit-keyframes swing {
251
- 20% {
252
- -webkit-transform: rotate(15deg);
253
- transform: rotate(15deg);
254
- }
255
-
256
- 40% {
257
- -webkit-transform: rotate(-10deg);
258
- transform: rotate(-10deg);
259
- }
260
-
261
- 60% {
262
- -webkit-transform: rotate(5deg);
263
- transform: rotate(5deg);
264
- }
265
-
266
- 80% {
267
- -webkit-transform: rotate(-5deg);
268
- transform: rotate(-5deg);
269
- }
270
-
271
- 100% {
272
- -webkit-transform: rotate(0deg);
273
- transform: rotate(0deg);
274
- }
275
- }
276
-
277
- @keyframes swing {
278
- 20% {
279
- -webkit-transform: rotate(15deg);
280
- -ms-transform: rotate(15deg);
281
- transform: rotate(15deg);
282
- }
283
-
284
- 40% {
285
- -webkit-transform: rotate(-10deg);
286
- -ms-transform: rotate(-10deg);
287
- transform: rotate(-10deg);
288
- }
289
-
290
- 60% {
291
- -webkit-transform: rotate(5deg);
292
- -ms-transform: rotate(5deg);
293
- transform: rotate(5deg);
294
- }
295
-
296
- 80% {
297
- -webkit-transform: rotate(-5deg);
298
- -ms-transform: rotate(-5deg);
299
- transform: rotate(-5deg);
300
- }
301
-
302
- 100% {
303
- -webkit-transform: rotate(0deg);
304
- -ms-transform: rotate(0deg);
305
- transform: rotate(0deg);
306
- }
307
- }
308
-
309
- .swing {
310
- -webkit-transform-origin: top center;
311
- -ms-transform-origin: top center;
312
- transform-origin: top center;
313
- -webkit-animation-name: swing;
314
- animation-name: swing;
315
- }
316
-
317
- @-webkit-keyframes tada {
318
- 0% {
319
- -webkit-transform: scale(1);
320
- transform: scale(1);
321
- }
322
-
323
- 10%, 20% {
324
- -webkit-transform: scale(0.9) rotate(-3deg);
325
- transform: scale(0.9) rotate(-3deg);
326
- }
327
-
328
- 30%, 50%, 70%, 90% {
329
- -webkit-transform: scale(1.1) rotate(3deg);
330
- transform: scale(1.1) rotate(3deg);
331
- }
332
-
333
- 40%, 60%, 80% {
334
- -webkit-transform: scale(1.1) rotate(-3deg);
335
- transform: scale(1.1) rotate(-3deg);
336
- }
337
-
338
- 100% {
339
- -webkit-transform: scale(1) rotate(0);
340
- transform: scale(1) rotate(0);
341
- }
342
- }
343
-
344
- @keyframes tada {
345
- 0% {
346
- -webkit-transform: scale(1);
347
- -ms-transform: scale(1);
348
- transform: scale(1);
349
- }
350
-
351
- 10%, 20% {
352
- -webkit-transform: scale(0.9) rotate(-3deg);
353
- -ms-transform: scale(0.9) rotate(-3deg);
354
- transform: scale(0.9) rotate(-3deg);
355
- }
356
-
357
- 30%, 50%, 70%, 90% {
358
- -webkit-transform: scale(1.1) rotate(3deg);
359
- -ms-transform: scale(1.1) rotate(3deg);
360
- transform: scale(1.1) rotate(3deg);
361
- }
362
-
363
- 40%, 60%, 80% {
364
- -webkit-transform: scale(1.1) rotate(-3deg);
365
- -ms-transform: scale(1.1) rotate(-3deg);
366
- transform: scale(1.1) rotate(-3deg);
367
- }
368
-
369
- 100% {
370
- -webkit-transform: scale(1) rotate(0);
371
- -ms-transform: scale(1) rotate(0);
372
- transform: scale(1) rotate(0);
373
- }
374
- }
375
-
376
- .tada {
377
- -webkit-animation-name: tada;
378
- animation-name: tada;
379
- }
380
-
381
- /* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
382
-
383
- @-webkit-keyframes wobble {
384
- 0% {
385
- -webkit-transform: translateX(0%);
386
- transform: translateX(0%);
387
- }
388
-
389
- 15% {
390
- -webkit-transform: translateX(-25%) rotate(-5deg);
391
- transform: translateX(-25%) rotate(-5deg);
392
- }
393
-
394
- 30% {
395
- -webkit-transform: translateX(20%) rotate(3deg);
396
- transform: translateX(20%) rotate(3deg);
397
- }
398
-
399
- 45% {
400
- -webkit-transform: translateX(-15%) rotate(-3deg);
401
- transform: translateX(-15%) rotate(-3deg);
402
- }
403
-
404
- 60% {
405
- -webkit-transform: translateX(10%) rotate(2deg);
406
- transform: translateX(10%) rotate(2deg);
407
- }
408
-
409
- 75% {
410
- -webkit-transform: translateX(-5%) rotate(-1deg);
411
- transform: translateX(-5%) rotate(-1deg);
412
- }
413
-
414
- 100% {
415
- -webkit-transform: translateX(0%);
416
- transform: translateX(0%);
417
- }
418
- }
419
-
420
- @keyframes wobble {
421
- 0% {
422
- -webkit-transform: translateX(0%);
423
- -ms-transform: translateX(0%);
424
- transform: translateX(0%);
425
- }
426
-
427
- 15% {
428
- -webkit-transform: translateX(-25%) rotate(-5deg);
429
- -ms-transform: translateX(-25%) rotate(-5deg);
430
- transform: translateX(-25%) rotate(-5deg);
431
- }
432
-
433
- 30% {
434
- -webkit-transform: translateX(20%) rotate(3deg);
435
- -ms-transform: translateX(20%) rotate(3deg);
436
- transform: translateX(20%) rotate(3deg);
437
- }
438
-
439
- 45% {
440
- -webkit-transform: translateX(-15%) rotate(-3deg);
441
- -ms-transform: translateX(-15%) rotate(-3deg);
442
- transform: translateX(-15%) rotate(-3deg);
443
- }
444
-
445
- 60% {
446
- -webkit-transform: translateX(10%) rotate(2deg);
447
- -ms-transform: translateX(10%) rotate(2deg);
448
- transform: translateX(10%) rotate(2deg);
449
- }
450
-
451
- 75% {
452
- -webkit-transform: translateX(-5%) rotate(-1deg);
453
- -ms-transform: translateX(-5%) rotate(-1deg);
454
- transform: translateX(-5%) rotate(-1deg);
455
- }
456
-
457
- 100% {
458
- -webkit-transform: translateX(0%);
459
- -ms-transform: translateX(0%);
460
- transform: translateX(0%);
461
- }
462
- }
463
-
464
- .wobble {
465
- -webkit-animation-name: wobble;
466
- animation-name: wobble;
467
- }
468
-
469
- @-webkit-keyframes bounceIn {
470
- 0% {
471
- opacity: 0;
472
- -webkit-transform: scale(.3);
473
- transform: scale(.3);
474
- }
475
-
476
- 50% {
477
- opacity: 1;
478
- -webkit-transform: scale(1.05);
479
- transform: scale(1.05);
480
- }
481
-
482
- 70% {
483
- -webkit-transform: scale(.9);
484
- transform: scale(.9);
485
- }
486
-
487
- 100% {
488
- opacity: 1;
489
- -webkit-transform: scale(1);
490
- transform: scale(1);
491
- }
492
- }
493
-
494
- @keyframes bounceIn {
495
- 0% {
496
- opacity: 0;
497
- -webkit-transform: scale(.3);
498
- -ms-transform: scale(.3);
499
- transform: scale(.3);
500
- }
501
-
502
- 50% {
503
- opacity: 1;
504
- -webkit-transform: scale(1.05);
505
- -ms-transform: scale(1.05);
506
- transform: scale(1.05);
507
- }
508
-
509
- 70% {
510
- -webkit-transform: scale(.9);
511
- -ms-transform: scale(.9);
512
- transform: scale(.9);
513
- }
514
-
515
- 100% {
516
- opacity: 1;
517
- -webkit-transform: scale(1);
518
- -ms-transform: scale(1);
519
- transform: scale(1);
520
- }
521
- }
522
-
523
- .bounceIn {
524
- -webkit-animation-name: bounceIn;
525
- animation-name: bounceIn;
526
- }
527
-
528
- @-webkit-keyframes bounceInDown {
529
- 0% {
530
- opacity: 0;
531
- -webkit-transform: translateY(-2000px);
532
- transform: translateY(-2000px);
533
- }
534
-
535
- 60% {
536
- opacity: 1;
537
- -webkit-transform: translateY(30px);
538
- transform: translateY(30px);
539
- }
540
-
541
- 80% {
542
- -webkit-transform: translateY(-10px);
543
- transform: translateY(-10px);
544
- }
545
-
546
- 100% {
547
- -webkit-transform: translateY(0);
548
- transform: translateY(0);
549
- }
550
- }
551
-
552
- @keyframes bounceInDown {
553
- 0% {
554
- opacity: 0;
555
- -webkit-transform: translateY(-2000px);
556
- -ms-transform: translateY(-2000px);
557
- transform: translateY(-2000px);
558
- }
559
-
560
- 60% {
561
- opacity: 1;
562
- -webkit-transform: translateY(30px);
563
- -ms-transform: translateY(30px);
564
- transform: translateY(30px);
565
- }
566
-
567
- 80% {
568
- -webkit-transform: translateY(-10px);
569
- -ms-transform: translateY(-10px);
570
- transform: translateY(-10px);
571
- }
572
-
573
- 100% {
574
- -webkit-transform: translateY(0);
575
- -ms-transform: translateY(0);
576
- transform: translateY(0);
577
- }
578
- }
579
-
580
- .bounceInDown {
581
- -webkit-animation-name: bounceInDown;
582
- animation-name: bounceInDown;
583
- }
584
-
585
- @-webkit-keyframes bounceInLeft {
586
- 0% {
587
- opacity: 0;
588
- -webkit-transform: translateX(-2000px);
589
- transform: translateX(-2000px);
590
- }
591
-
592
- 60% {
593
- opacity: 1;
594
- -webkit-transform: translateX(30px);
595
- transform: translateX(30px);
596
- }
597
-
598
- 80% {
599
- -webkit-transform: translateX(-10px);
600
- transform: translateX(-10px);
601
- }
602
-
603
- 100% {
604
- -webkit-transform: translateX(0);
605
- transform: translateX(0);
606
- }
607
- }
608
-
609
- @keyframes bounceInLeft {
610
- 0% {
611
- opacity: 0;
612
- -webkit-transform: translateX(-2000px);
613
- -ms-transform: translateX(-2000px);
614
- transform: translateX(-2000px);
615
- }
616
-
617
- 60% {
618
- opacity: 1;
619
- -webkit-transform: translateX(30px);
620
- -ms-transform: translateX(30px);
621
- transform: translateX(30px);
622
- }
623
-
624
- 80% {
625
- -webkit-transform: translateX(-10px);
626
- -ms-transform: translateX(-10px);
627
- transform: translateX(-10px);
628
- }
629
-
630
- 100% {
631
- -webkit-transform: translateX(0);
632
- -ms-transform: translateX(0);
633
- transform: translateX(0);
634
- }
635
- }
636
-
637
- .bounceInLeft {
638
- -webkit-animation-name: bounceInLeft;
639
- animation-name: bounceInLeft;
640
- }
641
-
642
- @-webkit-keyframes bounceInRight {
643
- 0% {
644
- opacity: 0;
645
- -webkit-transform: translateX(2000px);
646
- transform: translateX(2000px);
647
- }
648
-
649
- 60% {
650
- opacity: 1;
651
- -webkit-transform: translateX(-30px);
652
- transform: translateX(-30px);
653
- }
654
-
655
- 80% {
656
- -webkit-transform: translateX(10px);
657
- transform: translateX(10px);
658
- }
659
-
660
- 100% {
661
- -webkit-transform: translateX(0);
662
- transform: translateX(0);
663
- }
664
- }
665
-
666
- @keyframes bounceInRight {
667
- 0% {
668
- opacity: 0;
669
- -webkit-transform: translateX(2000px);
670
- -ms-transform: translateX(2000px);
671
- transform: translateX(2000px);
672
- }
673
-
674
- 60% {
675
- opacity: 1;
676
- -webkit-transform: translateX(-30px);
677
- -ms-transform: translateX(-30px);
678
- transform: translateX(-30px);
679
- }
680
-
681
- 80% {
682
- -webkit-transform: translateX(10px);
683
- -ms-transform: translateX(10px);
684
- transform: translateX(10px);
685
- }
686
-
687
- 100% {
688
- -webkit-transform: translateX(0);
689
- -ms-transform: translateX(0);
690
- transform: translateX(0);
691
- }
692
- }
693
-
694
- .bounceInRight {
695
- -webkit-animation-name: bounceInRight;
696
- animation-name: bounceInRight;
697
- }
698
-
699
- @-webkit-keyframes bounceInUp {
700
- 0% {
701
- opacity: 0;
702
- -webkit-transform: translateY(2000px);
703
- transform: translateY(2000px);
704
- }
705
-
706
- 60% {
707
- opacity: 1;
708
- -webkit-transform: translateY(-30px);
709
- transform: translateY(-30px);
710
- }
711
-
712
- 80% {
713
- -webkit-transform: translateY(10px);
714
- transform: translateY(10px);
715
- }
716
-
717
- 100% {
718
- -webkit-transform: translateY(0);
719
- transform: translateY(0);
720
- }
721
- }
722
-
723
- @keyframes bounceInUp {
724
- 0% {
725
- opacity: 0;
726
- -webkit-transform: translateY(2000px);
727
- -ms-transform: translateY(2000px);
728
- transform: translateY(2000px);
729
- }
730
-
731
- 60% {
732
- opacity: 1;
733
- -webkit-transform: translateY(-30px);
734
- -ms-transform: translateY(-30px);
735
- transform: translateY(-30px);
736
- }
737
-
738
- 80% {
739
- -webkit-transform: translateY(10px);
740
- -ms-transform: translateY(10px);
741
- transform: translateY(10px);
742
- }
743
-
744
- 100% {
745
- -webkit-transform: translateY(0);
746
- -ms-transform: translateY(0);
747
- transform: translateY(0);
748
- }
749
- }
750
-
751
- .bounceInUp {
752
- -webkit-animation-name: bounceInUp;
753
- animation-name: bounceInUp;
754
- }
755
-
756
- @-webkit-keyframes bounceOut {
757
- 0% {
758
- -webkit-transform: scale(1);
759
- transform: scale(1);
760
- }
761
-
762
- 25% {
763
- -webkit-transform: scale(.95);
764
- transform: scale(.95);
765
- }
766
-
767
- 50% {
768
- opacity: 1;
769
- -webkit-transform: scale(1.1);
770
- transform: scale(1.1);
771
- }
772
-
773
- 100% {
774
- opacity: 0;
775
- -webkit-transform: scale(.3);
776
- transform: scale(.3);
777
- }
778
- }
779
-
780
- @keyframes bounceOut {
781
- 0% {
782
- -webkit-transform: scale(1);
783
- -ms-transform: scale(1);
784
- transform: scale(1);
785
- }
786
-
787
- 25% {
788
- -webkit-transform: scale(.95);
789
- -ms-transform: scale(.95);
790
- transform: scale(.95);
791
- }
792
-
793
- 50% {
794
- opacity: 1;
795
- -webkit-transform: scale(1.1);
796
- -ms-transform: scale(1.1);
797
- transform: scale(1.1);
798
- }
799
-
800
- 100% {
801
- opacity: 0;
802
- -webkit-transform: scale(.3);
803
- -ms-transform: scale(.3);
804
- transform: scale(.3);
805
- }
806
- }
807
-
808
- .bounceOut {
809
- -webkit-animation-name: bounceOut;
810
- animation-name: bounceOut;
811
- }
812
-
813
- @-webkit-keyframes bounceOutDown {
814
- 0% {
815
- -webkit-transform: translateY(0);
816
- transform: translateY(0);
817
- }
818
-
819
- 20% {
820
- opacity: 1;
821
- -webkit-transform: translateY(-20px);
822
- transform: translateY(-20px);
823
- }
824
-
825
- 100% {
826
- opacity: 0;
827
- -webkit-transform: translateY(2000px);
828
- transform: translateY(2000px);
829
- }
830
- }
831
-
832
- @keyframes bounceOutDown {
833
- 0% {
834
- -webkit-transform: translateY(0);
835
- -ms-transform: translateY(0);
836
- transform: translateY(0);
837
- }
838
-
839
- 20% {
840
- opacity: 1;
841
- -webkit-transform: translateY(-20px);
842
- -ms-transform: translateY(-20px);
843
- transform: translateY(-20px);
844
- }
845
-
846
- 100% {
847
- opacity: 0;
848
- -webkit-transform: translateY(2000px);
849
- -ms-transform: translateY(2000px);
850
- transform: translateY(2000px);
851
- }
852
- }
853
-
854
- .bounceOutDown {
855
- -webkit-animation-name: bounceOutDown;
856
- animation-name: bounceOutDown;
857
- }
858
-
859
- @-webkit-keyframes bounceOutLeft {
860
- 0% {
861
- -webkit-transform: translateX(0);
862
- transform: translateX(0);
863
- }
864
-
865
- 20% {
866
- opacity: 1;
867
- -webkit-transform: translateX(20px);
868
- transform: translateX(20px);
869
- }
870
-
871
- 100% {
872
- opacity: 0;
873
- -webkit-transform: translateX(-2000px);
874
- transform: translateX(-2000px);
875
- }
876
- }
877
-
878
- @keyframes bounceOutLeft {
879
- 0% {
880
- -webkit-transform: translateX(0);
881
- -ms-transform: translateX(0);
882
- transform: translateX(0);
883
- }
884
-
885
- 20% {
886
- opacity: 1;
887
- -webkit-transform: translateX(20px);
888
- -ms-transform: translateX(20px);
889
- transform: translateX(20px);
890
- }
891
-
892
- 100% {
893
- opacity: 0;
894
- -webkit-transform: translateX(-2000px);
895
- -ms-transform: translateX(-2000px);
896
- transform: translateX(-2000px);
897
- }
898
- }
899
-
900
- .bounceOutLeft {
901
- -webkit-animation-name: bounceOutLeft;
902
- animation-name: bounceOutLeft;
903
- }
904
-
905
- @-webkit-keyframes bounceOutRight {
906
- 0% {
907
- -webkit-transform: translateX(0);
908
- transform: translateX(0);
909
- }
910
-
911
- 20% {
912
- opacity: 1;
913
- -webkit-transform: translateX(-20px);
914
- transform: translateX(-20px);
915
- }
916
-
917
- 100% {
918
- opacity: 0;
919
- -webkit-transform: translateX(2000px);
920
- transform: translateX(2000px);
921
- }
922
- }
923
-
924
- @keyframes bounceOutRight {
925
- 0% {
926
- -webkit-transform: translateX(0);
927
- -ms-transform: translateX(0);
928
- transform: translateX(0);
929
- }
930
-
931
- 20% {
932
- opacity: 1;
933
- -webkit-transform: translateX(-20px);
934
- -ms-transform: translateX(-20px);
935
- transform: translateX(-20px);
936
- }
937
-
938
- 100% {
939
- opacity: 0;
940
- -webkit-transform: translateX(2000px);
941
- -ms-transform: translateX(2000px);
942
- transform: translateX(2000px);
943
- }
944
- }
945
-
946
- .bounceOutRight {
947
- -webkit-animation-name: bounceOutRight;
948
- animation-name: bounceOutRight;
949
- }
950
-
951
- @-webkit-keyframes bounceOutUp {
952
- 0% {
953
- -webkit-transform: translateY(0);
954
- transform: translateY(0);
955
- }
956
-
957
- 20% {
958
- opacity: 1;
959
- -webkit-transform: translateY(20px);
960
- transform: translateY(20px);
961
- }
962
-
963
- 100% {
964
- opacity: 0;
965
- -webkit-transform: translateY(-2000px);
966
- transform: translateY(-2000px);
967
- }
968
- }
969
-
970
- @keyframes bounceOutUp {
971
- 0% {
972
- -webkit-transform: translateY(0);
973
- -ms-transform: translateY(0);
974
- transform: translateY(0);
975
- }
976
-
977
- 20% {
978
- opacity: 1;
979
- -webkit-transform: translateY(20px);
980
- -ms-transform: translateY(20px);
981
- transform: translateY(20px);
982
- }
983
-
984
- 100% {
985
- opacity: 0;
986
- -webkit-transform: translateY(-2000px);
987
- -ms-transform: translateY(-2000px);
988
- transform: translateY(-2000px);
989
- }
990
- }
991
-
992
- .bounceOutUp {
993
- -webkit-animation-name: bounceOutUp;
994
- animation-name: bounceOutUp;
995
- }
996
-
997
- @-webkit-keyframes fadeIn {
998
- 0% {
999
- opacity: 0;
1000
- }
1001
-
1002
- 100% {
1003
- opacity: 1;
1004
- }
1005
- }
1006
-
1007
- @keyframes fadeIn {
1008
- 0% {
1009
- opacity: 0;
1010
- }
1011
-
1012
- 100% {
1013
- opacity: 1;
1014
- }
1015
- }
1016
-
1017
- .fadeIn {
1018
- -webkit-animation-name: fadeIn;
1019
- animation-name: fadeIn;
1020
- }
1021
-
1022
- @-webkit-keyframes fadeInDown {
1023
- 0% {
1024
- opacity: 0;
1025
- -webkit-transform: translateY(-20px);
1026
- transform: translateY(-20px);
1027
- }
1028
-
1029
- 100% {
1030
- opacity: 1;
1031
- -webkit-transform: translateY(0);
1032
- transform: translateY(0);
1033
- }
1034
- }
1035
-
1036
- @keyframes fadeInDown {
1037
- 0% {
1038
- opacity: 0;
1039
- -webkit-transform: translateY(-20px);
1040
- -ms-transform: translateY(-20px);
1041
- transform: translateY(-20px);
1042
- }
1043
-
1044
- 100% {
1045
- opacity: 1;
1046
- -webkit-transform: translateY(0);
1047
- -ms-transform: translateY(0);
1048
- transform: translateY(0);
1049
- }
1050
- }
1051
-
1052
- .fadeInDown {
1053
- -webkit-animation-name: fadeInDown;
1054
- animation-name: fadeInDown;
1055
- }
1056
-
1057
- @-webkit-keyframes fadeInDownBig {
1058
- 0% {
1059
- opacity: 0;
1060
- -webkit-transform: translateY(-2000px);
1061
- transform: translateY(-2000px);
1062
- }
1063
-
1064
- 100% {
1065
- opacity: 1;
1066
- -webkit-transform: translateY(0);
1067
- transform: translateY(0);
1068
- }
1069
- }
1070
-
1071
- @keyframes fadeInDownBig {
1072
- 0% {
1073
- opacity: 0;
1074
- -webkit-transform: translateY(-2000px);
1075
- -ms-transform: translateY(-2000px);
1076
- transform: translateY(-2000px);
1077
- }
1078
-
1079
- 100% {
1080
- opacity: 1;
1081
- -webkit-transform: translateY(0);
1082
- -ms-transform: translateY(0);
1083
- transform: translateY(0);
1084
- }
1085
- }
1086
-
1087
- .fadeInDownBig {
1088
- -webkit-animation-name: fadeInDownBig;
1089
- animation-name: fadeInDownBig;
1090
- }
1091
-
1092
- @-webkit-keyframes fadeInLeft {
1093
- 0% {
1094
- opacity: 0;
1095
- -webkit-transform: translateX(-20px);
1096
- transform: translateX(-20px);
1097
- }
1098
-
1099
- 100% {
1100
- opacity: 1;
1101
- -webkit-transform: translateX(0);
1102
- transform: translateX(0);
1103
- }
1104
- }
1105
-
1106
- @keyframes fadeInLeft {
1107
- 0% {
1108
- opacity: 0;
1109
- -webkit-transform: translateX(-20px);
1110
- -ms-transform: translateX(-20px);
1111
- transform: translateX(-20px);
1112
- }
1113
-
1114
- 100% {
1115
- opacity: 1;
1116
- -webkit-transform: translateX(0);
1117
- -ms-transform: translateX(0);
1118
- transform: translateX(0);
1119
- }
1120
- }
1121
-
1122
- .fadeInLeft {
1123
- -webkit-animation-name: fadeInLeft;
1124
- animation-name: fadeInLeft;
1125
- }
1126
-
1127
- @-webkit-keyframes fadeInLeftBig {
1128
- 0% {
1129
- opacity: 0;
1130
- -webkit-transform: translateX(-2000px);
1131
- transform: translateX(-2000px);
1132
- }
1133
-
1134
- 100% {
1135
- opacity: 1;
1136
- -webkit-transform: translateX(0);
1137
- transform: translateX(0);
1138
- }
1139
- }
1140
-
1141
- @keyframes fadeInLeftBig {
1142
- 0% {
1143
- opacity: 0;
1144
- -webkit-transform: translateX(-2000px);
1145
- -ms-transform: translateX(-2000px);
1146
- transform: translateX(-2000px);
1147
- }
1148
-
1149
- 100% {
1150
- opacity: 1;
1151
- -webkit-transform: translateX(0);
1152
- -ms-transform: translateX(0);
1153
- transform: translateX(0);
1154
- }
1155
- }
1156
-
1157
- .fadeInLeftBig {
1158
- -webkit-animation-name: fadeInLeftBig;
1159
- animation-name: fadeInLeftBig;
1160
- }
1161
-
1162
- @-webkit-keyframes fadeInRight {
1163
- 0% {
1164
- opacity: 0;
1165
- -webkit-transform: translateX(20px);
1166
- transform: translateX(20px);
1167
- }
1168
-
1169
- 100% {
1170
- opacity: 1;
1171
- -webkit-transform: translateX(0);
1172
- transform: translateX(0);
1173
- }
1174
- }
1175
-
1176
- @keyframes fadeInRight {
1177
- 0% {
1178
- opacity: 0;
1179
- -webkit-transform: translateX(20px);
1180
- -ms-transform: translateX(20px);
1181
- transform: translateX(20px);
1182
- }
1183
-
1184
- 100% {
1185
- opacity: 1;
1186
- -webkit-transform: translateX(0);
1187
- -ms-transform: translateX(0);
1188
- transform: translateX(0);
1189
- }
1190
- }
1191
-
1192
- .fadeInRight {
1193
- -webkit-animation-name: fadeInRight;
1194
- animation-name: fadeInRight;
1195
- }
1196
-
1197
- @-webkit-keyframes fadeInRightBig {
1198
- 0% {
1199
- opacity: 0;
1200
- -webkit-transform: translateX(2000px);
1201
- transform: translateX(2000px);
1202
- }
1203
-
1204
- 100% {
1205
- opacity: 1;
1206
- -webkit-transform: translateX(0);
1207
- transform: translateX(0);
1208
- }
1209
- }
1210
-
1211
- @keyframes fadeInRightBig {
1212
- 0% {
1213
- opacity: 0;
1214
- -webkit-transform: translateX(2000px);
1215
- -ms-transform: translateX(2000px);
1216
- transform: translateX(2000px);
1217
- }
1218
-
1219
- 100% {
1220
- opacity: 1;
1221
- -webkit-transform: translateX(0);
1222
- -ms-transform: translateX(0);
1223
- transform: translateX(0);
1224
- }
1225
- }
1226
-
1227
- .fadeInRightBig {
1228
- -webkit-animation-name: fadeInRightBig;
1229
- animation-name: fadeInRightBig;
1230
- }
1231
-
1232
- @-webkit-keyframes fadeInUp {
1233
- 0% {
1234
- opacity: 0;
1235
- -webkit-transform: translateY(20px);
1236
- transform: translateY(20px);
1237
- }
1238
-
1239
- 100% {
1240
- opacity: 1;
1241
- -webkit-transform: translateY(0);
1242
- transform: translateY(0);
1243
- }
1244
- }
1245
-
1246
- @keyframes fadeInUp {
1247
- 0% {
1248
- opacity: 0;
1249
- -webkit-transform: translateY(20px);
1250
- -ms-transform: translateY(20px);
1251
- transform: translateY(20px);
1252
- }
1253
-
1254
- 100% {
1255
- opacity: 1;
1256
- -webkit-transform: translateY(0);
1257
- -ms-transform: translateY(0);
1258
- transform: translateY(0);
1259
- }
1260
- }
1261
-
1262
- .fadeInUp {
1263
- -webkit-animation-name: fadeInUp;
1264
- animation-name: fadeInUp;
1265
- }
1266
-
1267
- @-webkit-keyframes fadeInUpBig {
1268
- 0% {
1269
- opacity: 0;
1270
- -webkit-transform: translateY(2000px);
1271
- transform: translateY(2000px);
1272
- }
1273
-
1274
- 100% {
1275
- opacity: 1;
1276
- -webkit-transform: translateY(0);
1277
- transform: translateY(0);
1278
- }
1279
- }
1280
-
1281
- @keyframes fadeInUpBig {
1282
- 0% {
1283
- opacity: 0;
1284
- -webkit-transform: translateY(2000px);
1285
- -ms-transform: translateY(2000px);
1286
- transform: translateY(2000px);
1287
- }
1288
-
1289
- 100% {
1290
- opacity: 1;
1291
- -webkit-transform: translateY(0);
1292
- -ms-transform: translateY(0);
1293
- transform: translateY(0);
1294
- }
1295
- }
1296
-
1297
- .fadeInUpBig {
1298
- -webkit-animation-name: fadeInUpBig;
1299
- animation-name: fadeInUpBig;
1300
- }
1301
-
1302
- @-webkit-keyframes fadeOut {
1303
- 0% {
1304
- opacity: 1;
1305
- }
1306
-
1307
- 100% {
1308
- opacity: 0;
1309
- }
1310
- }
1311
-
1312
- @keyframes fadeOut {
1313
- 0% {
1314
- opacity: 1;
1315
- }
1316
-
1317
- 100% {
1318
- opacity: 0;
1319
- }
1320
- }
1321
-
1322
- .fadeOut {
1323
- -webkit-animation-name: fadeOut;
1324
- animation-name: fadeOut;
1325
- }
1326
-
1327
- @-webkit-keyframes fadeOutDown {
1328
- 0% {
1329
- opacity: 1;
1330
- -webkit-transform: translateY(0);
1331
- transform: translateY(0);
1332
- }
1333
-
1334
- 100% {
1335
- opacity: 0;
1336
- -webkit-transform: translateY(20px);
1337
- transform: translateY(20px);
1338
- }
1339
- }
1340
-
1341
- @keyframes fadeOutDown {
1342
- 0% {
1343
- opacity: 1;
1344
- -webkit-transform: translateY(0);
1345
- -ms-transform: translateY(0);
1346
- transform: translateY(0);
1347
- }
1348
-
1349
- 100% {
1350
- opacity: 0;
1351
- -webkit-transform: translateY(20px);
1352
- -ms-transform: translateY(20px);
1353
- transform: translateY(20px);
1354
- }
1355
- }
1356
-
1357
- .fadeOutDown {
1358
- -webkit-animation-name: fadeOutDown;
1359
- animation-name: fadeOutDown;
1360
- }
1361
-
1362
- @-webkit-keyframes fadeOutDownBig {
1363
- 0% {
1364
- opacity: 1;
1365
- -webkit-transform: translateY(0);
1366
- transform: translateY(0);
1367
- }
1368
-
1369
- 100% {
1370
- opacity: 0;
1371
- -webkit-transform: translateY(2000px);
1372
- transform: translateY(2000px);
1373
- }
1374
- }
1375
-
1376
- @keyframes fadeOutDownBig {
1377
- 0% {
1378
- opacity: 1;
1379
- -webkit-transform: translateY(0);
1380
- -ms-transform: translateY(0);
1381
- transform: translateY(0);
1382
- }
1383
-
1384
- 100% {
1385
- opacity: 0;
1386
- -webkit-transform: translateY(2000px);
1387
- -ms-transform: translateY(2000px);
1388
- transform: translateY(2000px);
1389
- }
1390
- }
1391
-
1392
- .fadeOutDownBig {
1393
- -webkit-animation-name: fadeOutDownBig;
1394
- animation-name: fadeOutDownBig;
1395
- }
1396
-
1397
- @-webkit-keyframes fadeOutLeft {
1398
- 0% {
1399
- opacity: 1;
1400
- -webkit-transform: translateX(0);
1401
- transform: translateX(0);
1402
- }
1403
-
1404
- 100% {
1405
- opacity: 0;
1406
- -webkit-transform: translateX(-20px);
1407
- transform: translateX(-20px);
1408
- }
1409
- }
1410
-
1411
- @keyframes fadeOutLeft {
1412
- 0% {
1413
- opacity: 1;
1414
- -webkit-transform: translateX(0);
1415
- -ms-transform: translateX(0);
1416
- transform: translateX(0);
1417
- }
1418
-
1419
- 100% {
1420
- opacity: 0;
1421
- -webkit-transform: translateX(-20px);
1422
- -ms-transform: translateX(-20px);
1423
- transform: translateX(-20px);
1424
- }
1425
- }
1426
-
1427
- .fadeOutLeft {
1428
- -webkit-animation-name: fadeOutLeft;
1429
- animation-name: fadeOutLeft;
1430
- }
1431
-
1432
- @-webkit-keyframes fadeOutLeftBig {
1433
- 0% {
1434
- opacity: 1;
1435
- -webkit-transform: translateX(0);
1436
- transform: translateX(0);
1437
- }
1438
-
1439
- 100% {
1440
- opacity: 0;
1441
- -webkit-transform: translateX(-2000px);
1442
- transform: translateX(-2000px);
1443
- }
1444
- }
1445
-
1446
- @keyframes fadeOutLeftBig {
1447
- 0% {
1448
- opacity: 1;
1449
- -webkit-transform: translateX(0);
1450
- -ms-transform: translateX(0);
1451
- transform: translateX(0);
1452
- }
1453
-
1454
- 100% {
1455
- opacity: 0;
1456
- -webkit-transform: translateX(-2000px);
1457
- -ms-transform: translateX(-2000px);
1458
- transform: translateX(-2000px);
1459
- }
1460
- }
1461
-
1462
- .fadeOutLeftBig {
1463
- -webkit-animation-name: fadeOutLeftBig;
1464
- animation-name: fadeOutLeftBig;
1465
- }
1466
-
1467
- @-webkit-keyframes fadeOutRight {
1468
- 0% {
1469
- opacity: 1;
1470
- -webkit-transform: translateX(0);
1471
- transform: translateX(0);
1472
- }
1473
-
1474
- 100% {
1475
- opacity: 0;
1476
- -webkit-transform: translateX(20px);
1477
- transform: translateX(20px);
1478
- }
1479
- }
1480
-
1481
- @keyframes fadeOutRight {
1482
- 0% {
1483
- opacity: 1;
1484
- -webkit-transform: translateX(0);
1485
- -ms-transform: translateX(0);
1486
- transform: translateX(0);
1487
- }
1488
-
1489
- 100% {
1490
- opacity: 0;
1491
- -webkit-transform: translateX(20px);
1492
- -ms-transform: translateX(20px);
1493
- transform: translateX(20px);
1494
- }
1495
- }
1496
-
1497
- .fadeOutRight {
1498
- -webkit-animation-name: fadeOutRight;
1499
- animation-name: fadeOutRight;
1500
- }
1501
-
1502
- @-webkit-keyframes fadeOutRightBig {
1503
- 0% {
1504
- opacity: 1;
1505
- -webkit-transform: translateX(0);
1506
- transform: translateX(0);
1507
- }
1508
-
1509
- 100% {
1510
- opacity: 0;
1511
- -webkit-transform: translateX(2000px);
1512
- transform: translateX(2000px);
1513
- }
1514
- }
1515
-
1516
- @keyframes fadeOutRightBig {
1517
- 0% {
1518
- opacity: 1;
1519
- -webkit-transform: translateX(0);
1520
- -ms-transform: translateX(0);
1521
- transform: translateX(0);
1522
- }
1523
-
1524
- 100% {
1525
- opacity: 0;
1526
- -webkit-transform: translateX(2000px);
1527
- -ms-transform: translateX(2000px);
1528
- transform: translateX(2000px);
1529
- }
1530
- }
1531
-
1532
- .fadeOutRightBig {
1533
- -webkit-animation-name: fadeOutRightBig;
1534
- animation-name: fadeOutRightBig;
1535
- }
1536
-
1537
- @-webkit-keyframes fadeOutUp {
1538
- 0% {
1539
- opacity: 1;
1540
- -webkit-transform: translateY(0);
1541
- transform: translateY(0);
1542
- }
1543
-
1544
- 100% {
1545
- opacity: 0;
1546
- -webkit-transform: translateY(-20px);
1547
- transform: translateY(-20px);
1548
- }
1549
- }
1550
-
1551
- @keyframes fadeOutUp {
1552
- 0% {
1553
- opacity: 1;
1554
- -webkit-transform: translateY(0);
1555
- -ms-transform: translateY(0);
1556
- transform: translateY(0);
1557
- }
1558
-
1559
- 100% {
1560
- opacity: 0;
1561
- -webkit-transform: translateY(-20px);
1562
- -ms-transform: translateY(-20px);
1563
- transform: translateY(-20px);
1564
- }
1565
- }
1566
-
1567
- .fadeOutUp {
1568
- -webkit-animation-name: fadeOutUp;
1569
- animation-name: fadeOutUp;
1570
- }
1571
-
1572
- @-webkit-keyframes fadeOutUpBig {
1573
- 0% {
1574
- opacity: 1;
1575
- -webkit-transform: translateY(0);
1576
- transform: translateY(0);
1577
- }
1578
-
1579
- 100% {
1580
- opacity: 0;
1581
- -webkit-transform: translateY(-2000px);
1582
- transform: translateY(-2000px);
1583
- }
1584
- }
1585
-
1586
- @keyframes fadeOutUpBig {
1587
- 0% {
1588
- opacity: 1;
1589
- -webkit-transform: translateY(0);
1590
- -ms-transform: translateY(0);
1591
- transform: translateY(0);
1592
- }
1593
-
1594
- 100% {
1595
- opacity: 0;
1596
- -webkit-transform: translateY(-2000px);
1597
- -ms-transform: translateY(-2000px);
1598
- transform: translateY(-2000px);
1599
- }
1600
- }
1601
-
1602
- .fadeOutUpBig {
1603
- -webkit-animation-name: fadeOutUpBig;
1604
- animation-name: fadeOutUpBig;
1605
- }
1606
-
1607
- @-webkit-keyframes flip {
1608
- 0% {
1609
- -webkit-transform: perspective(400px) translateZ(0) rotateY(0) scale(1);
1610
- transform: perspective(400px) translateZ(0) rotateY(0) scale(1);
1611
- -webkit-animation-timing-function: ease-out;
1612
- animation-timing-function: ease-out;
1613
- }
1614
-
1615
- 40% {
1616
- -webkit-transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1);
1617
- transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1);
1618
- -webkit-animation-timing-function: ease-out;
1619
- animation-timing-function: ease-out;
1620
- }
1621
-
1622
- 50% {
1623
- -webkit-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
1624
- transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
1625
- -webkit-animation-timing-function: ease-in;
1626
- animation-timing-function: ease-in;
1627
- }
1628
-
1629
- 80% {
1630
- -webkit-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(.95);
1631
- transform: perspective(400px) translateZ(0) rotateY(360deg) scale(.95);
1632
- -webkit-animation-timing-function: ease-in;
1633
- animation-timing-function: ease-in;
1634
- }
1635
-
1636
- 100% {
1637
- -webkit-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1);
1638
- transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1);
1639
- -webkit-animation-timing-function: ease-in;
1640
- animation-timing-function: ease-in;
1641
- }
1642
- }
1643
-
1644
- @keyframes flip {
1645
- 0% {
1646
- -webkit-transform: perspective(400px) translateZ(0) rotateY(0) scale(1);
1647
- -ms-transform: perspective(400px) translateZ(0) rotateY(0) scale(1);
1648
- transform: perspective(400px) translateZ(0) rotateY(0) scale(1);
1649
- -webkit-animation-timing-function: ease-out;
1650
- animation-timing-function: ease-out;
1651
- }
1652
-
1653
- 40% {
1654
- -webkit-transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1);
1655
- -ms-transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1);
1656
- transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1);
1657
- -webkit-animation-timing-function: ease-out;
1658
- animation-timing-function: ease-out;
1659
- }
1660
-
1661
- 50% {
1662
- -webkit-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
1663
- -ms-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
1664
- transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
1665
- -webkit-animation-timing-function: ease-in;
1666
- animation-timing-function: ease-in;
1667
- }
1668
-
1669
- 80% {
1670
- -webkit-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(.95);
1671
- -ms-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(.95);
1672
- transform: perspective(400px) translateZ(0) rotateY(360deg) scale(.95);
1673
- -webkit-animation-timing-function: ease-in;
1674
- animation-timing-function: ease-in;
1675
- }
1676
-
1677
- 100% {
1678
- -webkit-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1);
1679
- -ms-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1);
1680
- transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1);
1681
- -webkit-animation-timing-function: ease-in;
1682
- animation-timing-function: ease-in;
1683
- }
1684
- }
1685
-
1686
- .animated.flip {
1687
- -webkit-backface-visibility: visible;
1688
- -ms-backface-visibility: visible;
1689
- backface-visibility: visible;
1690
- -webkit-animation-name: flip;
1691
- animation-name: flip;
1692
- }
1693
-
1694
- @-webkit-keyframes flipInX {
1695
- 0% {
1696
- -webkit-transform: perspective(400px) rotateX(90deg);
1697
- transform: perspective(400px) rotateX(90deg);
1698
- opacity: 0;
1699
- }
1700
-
1701
- 40% {
1702
- -webkit-transform: perspective(400px) rotateX(-10deg);
1703
- transform: perspective(400px) rotateX(-10deg);
1704
- }
1705
-
1706
- 70% {
1707
- -webkit-transform: perspective(400px) rotateX(10deg);
1708
- transform: perspective(400px) rotateX(10deg);
1709
- }
1710
-
1711
- 100% {
1712
- -webkit-transform: perspective(400px) rotateX(0deg);
1713
- transform: perspective(400px) rotateX(0deg);
1714
- opacity: 1;
1715
- }
1716
- }
1717
-
1718
- @keyframes flipInX {
1719
- 0% {
1720
- -webkit-transform: perspective(400px) rotateX(90deg);
1721
- -ms-transform: perspective(400px) rotateX(90deg);
1722
- transform: perspective(400px) rotateX(90deg);
1723
- opacity: 0;
1724
- }
1725
-
1726
- 40% {
1727
- -webkit-transform: perspective(400px) rotateX(-10deg);
1728
- -ms-transform: perspective(400px) rotateX(-10deg);
1729
- transform: perspective(400px) rotateX(-10deg);
1730
- }
1731
-
1732
- 70% {
1733
- -webkit-transform: perspective(400px) rotateX(10deg);
1734
- -ms-transform: perspective(400px) rotateX(10deg);
1735
- transform: perspective(400px) rotateX(10deg);
1736
- }
1737
-
1738
- 100% {
1739
- -webkit-transform: perspective(400px) rotateX(0deg);
1740
- -ms-transform: perspective(400px) rotateX(0deg);
1741
- transform: perspective(400px) rotateX(0deg);
1742
- opacity: 1;
1743
- }
1744
- }
1745
-
1746
- .flipInX {
1747
- -webkit-backface-visibility: visible !important;
1748
- -ms-backface-visibility: visible !important;
1749
- backface-visibility: visible !important;
1750
- -webkit-animation-name: flipInX;
1751
- animation-name: flipInX;
1752
- }
1753
-
1754
- @-webkit-keyframes flipInY {
1755
- 0% {
1756
- -webkit-transform: perspective(400px) rotateY(90deg);
1757
- transform: perspective(400px) rotateY(90deg);
1758
- opacity: 0;
1759
- }
1760
-
1761
- 40% {
1762
- -webkit-transform: perspective(400px) rotateY(-10deg);
1763
- transform: perspective(400px) rotateY(-10deg);
1764
- }
1765
-
1766
- 70% {
1767
- -webkit-transform: perspective(400px) rotateY(10deg);
1768
- transform: perspective(400px) rotateY(10deg);
1769
- }
1770
-
1771
- 100% {
1772
- -webkit-transform: perspective(400px) rotateY(0deg);
1773
- transform: perspective(400px) rotateY(0deg);
1774
- opacity: 1;
1775
- }
1776
- }
1777
-
1778
- @keyframes flipInY {
1779
- 0% {
1780
- -webkit-transform: perspective(400px) rotateY(90deg);
1781
- -ms-transform: perspective(400px) rotateY(90deg);
1782
- transform: perspective(400px) rotateY(90deg);
1783
- opacity: 0;
1784
- }
1785
-
1786
- 40% {
1787
- -webkit-transform: perspective(400px) rotateY(-10deg);
1788
- -ms-transform: perspective(400px) rotateY(-10deg);
1789
- transform: perspective(400px) rotateY(-10deg);
1790
- }
1791
-
1792
- 70% {
1793
- -webkit-transform: perspective(400px) rotateY(10deg);
1794
- -ms-transform: perspective(400px) rotateY(10deg);
1795
- transform: perspective(400px) rotateY(10deg);
1796
- }
1797
-
1798
- 100% {
1799
- -webkit-transform: perspective(400px) rotateY(0deg);
1800
- -ms-transform: perspective(400px) rotateY(0deg);
1801
- transform: perspective(400px) rotateY(0deg);
1802
- opacity: 1;
1803
- }
1804
- }
1805
-
1806
- .flipInY {
1807
- -webkit-backface-visibility: visible !important;
1808
- -ms-backface-visibility: visible !important;
1809
- backface-visibility: visible !important;
1810
- -webkit-animation-name: flipInY;
1811
- animation-name: flipInY;
1812
- }
1813
-
1814
- @-webkit-keyframes flipOutX {
1815
- 0% {
1816
- -webkit-transform: perspective(400px) rotateX(0deg);
1817
- transform: perspective(400px) rotateX(0deg);
1818
- opacity: 1;
1819
- }
1820
-
1821
- 100% {
1822
- -webkit-transform: perspective(400px) rotateX(90deg);
1823
- transform: perspective(400px) rotateX(90deg);
1824
- opacity: 0;
1825
- }
1826
- }
1827
-
1828
- @keyframes flipOutX {
1829
- 0% {
1830
- -webkit-transform: perspective(400px) rotateX(0deg);
1831
- -ms-transform: perspective(400px) rotateX(0deg);
1832
- transform: perspective(400px) rotateX(0deg);
1833
- opacity: 1;
1834
- }
1835
-
1836
- 100% {
1837
- -webkit-transform: perspective(400px) rotateX(90deg);
1838
- -ms-transform: perspective(400px) rotateX(90deg);
1839
- transform: perspective(400px) rotateX(90deg);
1840
- opacity: 0;
1841
- }
1842
- }
1843
-
1844
- .flipOutX {
1845
- -webkit-animation-name: flipOutX;
1846
- animation-name: flipOutX;
1847
- -webkit-backface-visibility: visible !important;
1848
- -ms-backface-visibility: visible !important;
1849
- backface-visibility: visible !important;
1850
- }
1851
-
1852
- @-webkit-keyframes flipOutY {
1853
- 0% {
1854
- -webkit-transform: perspective(400px) rotateY(0deg);
1855
- transform: perspective(400px) rotateY(0deg);
1856
- opacity: 1;
1857
- }
1858
-
1859
- 100% {
1860
- -webkit-transform: perspective(400px) rotateY(90deg);
1861
- transform: perspective(400px) rotateY(90deg);
1862
- opacity: 0;
1863
- }
1864
- }
1865
-
1866
- @keyframes flipOutY {
1867
- 0% {
1868
- -webkit-transform: perspective(400px) rotateY(0deg);
1869
- -ms-transform: perspective(400px) rotateY(0deg);
1870
- transform: perspective(400px) rotateY(0deg);
1871
- opacity: 1;
1872
- }
1873
-
1874
- 100% {
1875
- -webkit-transform: perspective(400px) rotateY(90deg);
1876
- -ms-transform: perspective(400px) rotateY(90deg);
1877
- transform: perspective(400px) rotateY(90deg);
1878
- opacity: 0;
1879
- }
1880
- }
1881
-
1882
- .flipOutY {
1883
- -webkit-backface-visibility: visible !important;
1884
- -ms-backface-visibility: visible !important;
1885
- backface-visibility: visible !important;
1886
- -webkit-animation-name: flipOutY;
1887
- animation-name: flipOutY;
1888
- }
1889
-
1890
- @-webkit-keyframes lightSpeedIn {
1891
- 0% {
1892
- -webkit-transform: translateX(100%) skewX(-30deg);
1893
- transform: translateX(100%) skewX(-30deg);
1894
- opacity: 0;
1895
- }
1896
-
1897
- 60% {
1898
- -webkit-transform: translateX(-20%) skewX(30deg);
1899
- transform: translateX(-20%) skewX(30deg);
1900
- opacity: 1;
1901
- }
1902
-
1903
- 80% {
1904
- -webkit-transform: translateX(0%) skewX(-15deg);
1905
- transform: translateX(0%) skewX(-15deg);
1906
- opacity: 1;
1907
- }
1908
-
1909
- 100% {
1910
- -webkit-transform: translateX(0%) skewX(0deg);
1911
- transform: translateX(0%) skewX(0deg);
1912
- opacity: 1;
1913
- }
1914
- }
1915
-
1916
- @keyframes lightSpeedIn {
1917
- 0% {
1918
- -webkit-transform: translateX(100%) skewX(-30deg);
1919
- -ms-transform: translateX(100%) skewX(-30deg);
1920
- transform: translateX(100%) skewX(-30deg);
1921
- opacity: 0;
1922
- }
1923
-
1924
- 60% {
1925
- -webkit-transform: translateX(-20%) skewX(30deg);
1926
- -ms-transform: translateX(-20%) skewX(30deg);
1927
- transform: translateX(-20%) skewX(30deg);
1928
- opacity: 1;
1929
- }
1930
-
1931
- 80% {
1932
- -webkit-transform: translateX(0%) skewX(-15deg);
1933
- -ms-transform: translateX(0%) skewX(-15deg);
1934
- transform: translateX(0%) skewX(-15deg);
1935
- opacity: 1;
1936
- }
1937
-
1938
- 100% {
1939
- -webkit-transform: translateX(0%) skewX(0deg);
1940
- -ms-transform: translateX(0%) skewX(0deg);
1941
- transform: translateX(0%) skewX(0deg);
1942
- opacity: 1;
1943
- }
1944
- }
1945
-
1946
- .lightSpeedIn {
1947
- -webkit-animation-name: lightSpeedIn;
1948
- animation-name: lightSpeedIn;
1949
- -webkit-animation-timing-function: ease-out;
1950
- animation-timing-function: ease-out;
1951
- }
1952
-
1953
- @-webkit-keyframes lightSpeedOut {
1954
- 0% {
1955
- -webkit-transform: translateX(0%) skewX(0deg);
1956
- transform: translateX(0%) skewX(0deg);
1957
- opacity: 1;
1958
- }
1959
-
1960
- 100% {
1961
- -webkit-transform: translateX(100%) skewX(-30deg);
1962
- transform: translateX(100%) skewX(-30deg);
1963
- opacity: 0;
1964
- }
1965
- }
1966
-
1967
- @keyframes lightSpeedOut {
1968
- 0% {
1969
- -webkit-transform: translateX(0%) skewX(0deg);
1970
- -ms-transform: translateX(0%) skewX(0deg);
1971
- transform: translateX(0%) skewX(0deg);
1972
- opacity: 1;
1973
- }
1974
-
1975
- 100% {
1976
- -webkit-transform: translateX(100%) skewX(-30deg);
1977
- -ms-transform: translateX(100%) skewX(-30deg);
1978
- transform: translateX(100%) skewX(-30deg);
1979
- opacity: 0;
1980
- }
1981
- }
1982
-
1983
- .lightSpeedOut {
1984
- -webkit-animation-name: lightSpeedOut;
1985
- animation-name: lightSpeedOut;
1986
- -webkit-animation-timing-function: ease-in;
1987
- animation-timing-function: ease-in;
1988
- }
1989
-
1990
- @-webkit-keyframes rotateIn {
1991
- 0% {
1992
- -webkit-transform-origin: center center;
1993
- transform-origin: center center;
1994
- -webkit-transform: rotate(-200deg);
1995
- transform: rotate(-200deg);
1996
- opacity: 0;
1997
- }
1998
-
1999
- 100% {
2000
- -webkit-transform-origin: center center;
2001
- transform-origin: center center;
2002
- -webkit-transform: rotate(0);
2003
- transform: rotate(0);
2004
- opacity: 1;
2005
- }
2006
- }
2007
-
2008
- @keyframes rotateIn {
2009
- 0% {
2010
- -webkit-transform-origin: center center;
2011
- -ms-transform-origin: center center;
2012
- transform-origin: center center;
2013
- -webkit-transform: rotate(-200deg);
2014
- -ms-transform: rotate(-200deg);
2015
- transform: rotate(-200deg);
2016
- opacity: 0;
2017
- }
2018
-
2019
- 100% {
2020
- -webkit-transform-origin: center center;
2021
- -ms-transform-origin: center center;
2022
- transform-origin: center center;
2023
- -webkit-transform: rotate(0);
2024
- -ms-transform: rotate(0);
2025
- transform: rotate(0);
2026
- opacity: 1;
2027
- }
2028
- }
2029
-
2030
- .rotateIn {
2031
- -webkit-animation-name: rotateIn;
2032
- animation-name: rotateIn;
2033
- }
2034
-
2035
- @-webkit-keyframes rotateInDownLeft {
2036
- 0% {
2037
- -webkit-transform-origin: left bottom;
2038
- transform-origin: left bottom;
2039
- -webkit-transform: rotate(-90deg);
2040
- transform: rotate(-90deg);
2041
- opacity: 0;
2042
- }
2043
-
2044
- 100% {
2045
- -webkit-transform-origin: left bottom;
2046
- transform-origin: left bottom;
2047
- -webkit-transform: rotate(0);
2048
- transform: rotate(0);
2049
- opacity: 1;
2050
- }
2051
- }
2052
-
2053
- @keyframes rotateInDownLeft {
2054
- 0% {
2055
- -webkit-transform-origin: left bottom;
2056
- -ms-transform-origin: left bottom;
2057
- transform-origin: left bottom;
2058
- -webkit-transform: rotate(-90deg);
2059
- -ms-transform: rotate(-90deg);
2060
- transform: rotate(-90deg);
2061
- opacity: 0;
2062
- }
2063
-
2064
- 100% {
2065
- -webkit-transform-origin: left bottom;
2066
- -ms-transform-origin: left bottom;
2067
- transform-origin: left bottom;
2068
- -webkit-transform: rotate(0);
2069
- -ms-transform: rotate(0);
2070
- transform: rotate(0);
2071
- opacity: 1;
2072
- }
2073
- }
2074
-
2075
- .rotateInDownLeft {
2076
- -webkit-animation-name: rotateInDownLeft;
2077
- animation-name: rotateInDownLeft;
2078
- }
2079
-
2080
- @-webkit-keyframes rotateInDownRight {
2081
- 0% {
2082
- -webkit-transform-origin: right bottom;
2083
- transform-origin: right bottom;
2084
- -webkit-transform: rotate(90deg);
2085
- transform: rotate(90deg);
2086
- opacity: 0;
2087
- }
2088
-
2089
- 100% {
2090
- -webkit-transform-origin: right bottom;
2091
- transform-origin: right bottom;
2092
- -webkit-transform: rotate(0);
2093
- transform: rotate(0);
2094
- opacity: 1;
2095
- }
2096
- }
2097
-
2098
- @keyframes rotateInDownRight {
2099
- 0% {
2100
- -webkit-transform-origin: right bottom;
2101
- -ms-transform-origin: right bottom;
2102
- transform-origin: right bottom;
2103
- -webkit-transform: rotate(90deg);
2104
- -ms-transform: rotate(90deg);
2105
- transform: rotate(90deg);
2106
- opacity: 0;
2107
- }
2108
-
2109
- 100% {
2110
- -webkit-transform-origin: right bottom;
2111
- -ms-transform-origin: right bottom;
2112
- transform-origin: right bottom;
2113
- -webkit-transform: rotate(0);
2114
- -ms-transform: rotate(0);
2115
- transform: rotate(0);
2116
- opacity: 1;
2117
- }
2118
- }
2119
-
2120
- .rotateInDownRight {
2121
- -webkit-animation-name: rotateInDownRight;
2122
- animation-name: rotateInDownRight;
2123
- }
2124
-
2125
- @-webkit-keyframes rotateInUpLeft {
2126
- 0% {
2127
- -webkit-transform-origin: left bottom;
2128
- transform-origin: left bottom;
2129
- -webkit-transform: rotate(90deg);
2130
- transform: rotate(90deg);
2131
- opacity: 0;
2132
- }
2133
-
2134
- 100% {
2135
- -webkit-transform-origin: left bottom;
2136
- transform-origin: left bottom;
2137
- -webkit-transform: rotate(0);
2138
- transform: rotate(0);
2139
- opacity: 1;
2140
- }
2141
- }
2142
-
2143
- @keyframes rotateInUpLeft {
2144
- 0% {
2145
- -webkit-transform-origin: left bottom;
2146
- -ms-transform-origin: left bottom;
2147
- transform-origin: left bottom;
2148
- -webkit-transform: rotate(90deg);
2149
- -ms-transform: rotate(90deg);
2150
- transform: rotate(90deg);
2151
- opacity: 0;
2152
- }
2153
-
2154
- 100% {
2155
- -webkit-transform-origin: left bottom;
2156
- -ms-transform-origin: left bottom;
2157
- transform-origin: left bottom;
2158
- -webkit-transform: rotate(0);
2159
- -ms-transform: rotate(0);
2160
- transform: rotate(0);
2161
- opacity: 1;
2162
- }
2163
- }
2164
-
2165
- .rotateInUpLeft {
2166
- -webkit-animation-name: rotateInUpLeft;
2167
- animation-name: rotateInUpLeft;
2168
- }
2169
-
2170
- @-webkit-keyframes rotateInUpRight {
2171
- 0% {
2172
- -webkit-transform-origin: right bottom;
2173
- transform-origin: right bottom;
2174
- -webkit-transform: rotate(-90deg);
2175
- transform: rotate(-90deg);
2176
- opacity: 0;
2177
- }
2178
-
2179
- 100% {
2180
- -webkit-transform-origin: right bottom;
2181
- transform-origin: right bottom;
2182
- -webkit-transform: rotate(0);
2183
- transform: rotate(0);
2184
- opacity: 1;
2185
- }
2186
- }
2187
-
2188
- @keyframes rotateInUpRight {
2189
- 0% {
2190
- -webkit-transform-origin: right bottom;
2191
- -ms-transform-origin: right bottom;
2192
- transform-origin: right bottom;
2193
- -webkit-transform: rotate(-90deg);
2194
- -ms-transform: rotate(-90deg);
2195
- transform: rotate(-90deg);
2196
- opacity: 0;
2197
- }
2198
-
2199
- 100% {
2200
- -webkit-transform-origin: right bottom;
2201
- -ms-transform-origin: right bottom;
2202
- transform-origin: right bottom;
2203
- -webkit-transform: rotate(0);
2204
- -ms-transform: rotate(0);
2205
- transform: rotate(0);
2206
- opacity: 1;
2207
- }
2208
- }
2209
-
2210
- .rotateInUpRight {
2211
- -webkit-animation-name: rotateInUpRight;
2212
- animation-name: rotateInUpRight;
2213
- }
2214
-
2215
- @-webkit-keyframes rotateOut {
2216
- 0% {
2217
- -webkit-transform-origin: center center;
2218
- transform-origin: center center;
2219
- -webkit-transform: rotate(0);
2220
- transform: rotate(0);
2221
- opacity: 1;
2222
- }
2223
-
2224
- 100% {
2225
- -webkit-transform-origin: center center;
2226
- transform-origin: center center;
2227
- -webkit-transform: rotate(200deg);
2228
- transform: rotate(200deg);
2229
- opacity: 0;
2230
- }
2231
- }
2232
-
2233
- @keyframes rotateOut {
2234
- 0% {
2235
- -webkit-transform-origin: center center;
2236
- -ms-transform-origin: center center;
2237
- transform-origin: center center;
2238
- -webkit-transform: rotate(0);
2239
- -ms-transform: rotate(0);
2240
- transform: rotate(0);
2241
- opacity: 1;
2242
- }
2243
-
2244
- 100% {
2245
- -webkit-transform-origin: center center;
2246
- -ms-transform-origin: center center;
2247
- transform-origin: center center;
2248
- -webkit-transform: rotate(200deg);
2249
- -ms-transform: rotate(200deg);
2250
- transform: rotate(200deg);
2251
- opacity: 0;
2252
- }
2253
- }
2254
-
2255
- .rotateOut {
2256
- -webkit-animation-name: rotateOut;
2257
- animation-name: rotateOut;
2258
- }
2259
-
2260
- @-webkit-keyframes rotateOutDownLeft {
2261
- 0% {
2262
- -webkit-transform-origin: left bottom;
2263
- transform-origin: left bottom;
2264
- -webkit-transform: rotate(0);
2265
- transform: rotate(0);
2266
- opacity: 1;
2267
- }
2268
-
2269
- 100% {
2270
- -webkit-transform-origin: left bottom;
2271
- transform-origin: left bottom;
2272
- -webkit-transform: rotate(90deg);
2273
- transform: rotate(90deg);
2274
- opacity: 0;
2275
- }
2276
- }
2277
-
2278
- @keyframes rotateOutDownLeft {
2279
- 0% {
2280
- -webkit-transform-origin: left bottom;
2281
- -ms-transform-origin: left bottom;
2282
- transform-origin: left bottom;
2283
- -webkit-transform: rotate(0);
2284
- -ms-transform: rotate(0);
2285
- transform: rotate(0);
2286
- opacity: 1;
2287
- }
2288
-
2289
- 100% {
2290
- -webkit-transform-origin: left bottom;
2291
- -ms-transform-origin: left bottom;
2292
- transform-origin: left bottom;
2293
- -webkit-transform: rotate(90deg);
2294
- -ms-transform: rotate(90deg);
2295
- transform: rotate(90deg);
2296
- opacity: 0;
2297
- }
2298
- }
2299
-
2300
- .rotateOutDownLeft {
2301
- -webkit-animation-name: rotateOutDownLeft;
2302
- animation-name: rotateOutDownLeft;
2303
- }
2304
-
2305
- @-webkit-keyframes rotateOutDownRight {
2306
- 0% {
2307
- -webkit-transform-origin: right bottom;
2308
- transform-origin: right bottom;
2309
- -webkit-transform: rotate(0);
2310
- transform: rotate(0);
2311
- opacity: 1;
2312
- }
2313
-
2314
- 100% {
2315
- -webkit-transform-origin: right bottom;
2316
- transform-origin: right bottom;
2317
- -webkit-transform: rotate(-90deg);
2318
- transform: rotate(-90deg);
2319
- opacity: 0;
2320
- }
2321
- }
2322
-
2323
- @keyframes rotateOutDownRight {
2324
- 0% {
2325
- -webkit-transform-origin: right bottom;
2326
- -ms-transform-origin: right bottom;
2327
- transform-origin: right bottom;
2328
- -webkit-transform: rotate(0);
2329
- -ms-transform: rotate(0);
2330
- transform: rotate(0);
2331
- opacity: 1;
2332
- }
2333
-
2334
- 100% {
2335
- -webkit-transform-origin: right bottom;
2336
- -ms-transform-origin: right bottom;
2337
- transform-origin: right bottom;
2338
- -webkit-transform: rotate(-90deg);
2339
- -ms-transform: rotate(-90deg);
2340
- transform: rotate(-90deg);
2341
- opacity: 0;
2342
- }
2343
- }
2344
-
2345
- .rotateOutDownRight {
2346
- -webkit-animation-name: rotateOutDownRight;
2347
- animation-name: rotateOutDownRight;
2348
- }
2349
-
2350
- @-webkit-keyframes rotateOutUpLeft {
2351
- 0% {
2352
- -webkit-transform-origin: left bottom;
2353
- transform-origin: left bottom;
2354
- -webkit-transform: rotate(0);
2355
- transform: rotate(0);
2356
- opacity: 1;
2357
- }
2358
-
2359
- 100% {
2360
- -webkit-transform-origin: left bottom;
2361
- transform-origin: left bottom;
2362
- -webkit-transform: rotate(-90deg);
2363
- transform: rotate(-90deg);
2364
- opacity: 0;
2365
- }
2366
- }
2367
-
2368
- @keyframes rotateOutUpLeft {
2369
- 0% {
2370
- -webkit-transform-origin: left bottom;
2371
- -ms-transform-origin: left bottom;
2372
- transform-origin: left bottom;
2373
- -webkit-transform: rotate(0);
2374
- -ms-transform: rotate(0);
2375
- transform: rotate(0);
2376
- opacity: 1;
2377
- }
2378
-
2379
- 100% {
2380
- -webkit-transform-origin: left bottom;
2381
- -ms-transform-origin: left bottom;
2382
- transform-origin: left bottom;
2383
- -webkit-transform: rotate(-90deg);
2384
- -ms-transform: rotate(-90deg);
2385
- transform: rotate(-90deg);
2386
- opacity: 0;
2387
- }
2388
- }
2389
-
2390
- .rotateOutUpLeft {
2391
- -webkit-animation-name: rotateOutUpLeft;
2392
- animation-name: rotateOutUpLeft;
2393
- }
2394
-
2395
- @-webkit-keyframes rotateOutUpRight {
2396
- 0% {
2397
- -webkit-transform-origin: right bottom;
2398
- transform-origin: right bottom;
2399
- -webkit-transform: rotate(0);
2400
- transform: rotate(0);
2401
- opacity: 1;
2402
- }
2403
-
2404
- 100% {
2405
- -webkit-transform-origin: right bottom;
2406
- transform-origin: right bottom;
2407
- -webkit-transform: rotate(90deg);
2408
- transform: rotate(90deg);
2409
- opacity: 0;
2410
- }
2411
- }
2412
-
2413
- @keyframes rotateOutUpRight {
2414
- 0% {
2415
- -webkit-transform-origin: right bottom;
2416
- -ms-transform-origin: right bottom;
2417
- transform-origin: right bottom;
2418
- -webkit-transform: rotate(0);
2419
- -ms-transform: rotate(0);
2420
- transform: rotate(0);
2421
- opacity: 1;
2422
- }
2423
-
2424
- 100% {
2425
- -webkit-transform-origin: right bottom;
2426
- -ms-transform-origin: right bottom;
2427
- transform-origin: right bottom;
2428
- -webkit-transform: rotate(90deg);
2429
- -ms-transform: rotate(90deg);
2430
- transform: rotate(90deg);
2431
- opacity: 0;
2432
- }
2433
- }
2434
-
2435
- .rotateOutUpRight {
2436
- -webkit-animation-name: rotateOutUpRight;
2437
- animation-name: rotateOutUpRight;
2438
- }
2439
-
2440
- @-webkit-keyframes slideInDown {
2441
- 0% {
2442
- opacity: 0;
2443
- -webkit-transform: translateY(-2000px);
2444
- transform: translateY(-2000px);
2445
- }
2446
-
2447
- 100% {
2448
- -webkit-transform: translateY(0);
2449
- transform: translateY(0);
2450
- }
2451
- }
2452
-
2453
- @keyframes slideInDown {
2454
- 0% {
2455
- opacity: 0;
2456
- -webkit-transform: translateY(-2000px);
2457
- -ms-transform: translateY(-2000px);
2458
- transform: translateY(-2000px);
2459
- }
2460
-
2461
- 100% {
2462
- -webkit-transform: translateY(0);
2463
- -ms-transform: translateY(0);
2464
- transform: translateY(0);
2465
- }
2466
- }
2467
-
2468
- .slideInDown {
2469
- -webkit-animation-name: slideInDown;
2470
- animation-name: slideInDown;
2471
- }
2472
-
2473
- @-webkit-keyframes slideInLeft {
2474
- 0% {
2475
- opacity: 0;
2476
- -webkit-transform: translateX(-2000px);
2477
- transform: translateX(-2000px);
2478
- }
2479
-
2480
- 100% {
2481
- -webkit-transform: translateX(0);
2482
- transform: translateX(0);
2483
- }
2484
- }
2485
-
2486
- @keyframes slideInLeft {
2487
- 0% {
2488
- opacity: 0;
2489
- -webkit-transform: translateX(-2000px);
2490
- -ms-transform: translateX(-2000px);
2491
- transform: translateX(-2000px);
2492
- }
2493
-
2494
- 100% {
2495
- -webkit-transform: translateX(0);
2496
- -ms-transform: translateX(0);
2497
- transform: translateX(0);
2498
- }
2499
- }
2500
-
2501
- .slideInLeft {
2502
- -webkit-animation-name: slideInLeft;
2503
- animation-name: slideInLeft;
2504
- }
2505
-
2506
- @-webkit-keyframes slideInRight {
2507
- 0% {
2508
- opacity: 0;
2509
- -webkit-transform: translateX(2000px);
2510
- transform: translateX(2000px);
2511
- }
2512
-
2513
- 100% {
2514
- -webkit-transform: translateX(0);
2515
- transform: translateX(0);
2516
- }
2517
- }
2518
-
2519
- @keyframes slideInRight {
2520
- 0% {
2521
- opacity: 0;
2522
- -webkit-transform: translateX(2000px);
2523
- -ms-transform: translateX(2000px);
2524
- transform: translateX(2000px);
2525
- }
2526
-
2527
- 100% {
2528
- -webkit-transform: translateX(0);
2529
- -ms-transform: translateX(0);
2530
- transform: translateX(0);
2531
- }
2532
- }
2533
-
2534
- .slideInRight {
2535
- -webkit-animation-name: slideInRight;
2536
- animation-name: slideInRight;
2537
- }
2538
-
2539
- @-webkit-keyframes slideOutLeft {
2540
- 0% {
2541
- -webkit-transform: translateX(0);
2542
- transform: translateX(0);
2543
- }
2544
-
2545
- 100% {
2546
- opacity: 0;
2547
- -webkit-transform: translateX(-2000px);
2548
- transform: translateX(-2000px);
2549
- }
2550
- }
2551
-
2552
- @keyframes slideOutLeft {
2553
- 0% {
2554
- -webkit-transform: translateX(0);
2555
- -ms-transform: translateX(0);
2556
- transform: translateX(0);
2557
- }
2558
-
2559
- 100% {
2560
- opacity: 0;
2561
- -webkit-transform: translateX(-2000px);
2562
- -ms-transform: translateX(-2000px);
2563
- transform: translateX(-2000px);
2564
- }
2565
- }
2566
-
2567
- .slideOutLeft {
2568
- -webkit-animation-name: slideOutLeft;
2569
- animation-name: slideOutLeft;
2570
- }
2571
-
2572
- @-webkit-keyframes slideOutRight {
2573
- 0% {
2574
- -webkit-transform: translateX(0);
2575
- transform: translateX(0);
2576
- }
2577
-
2578
- 100% {
2579
- opacity: 0;
2580
- -webkit-transform: translateX(2000px);
2581
- transform: translateX(2000px);
2582
- }
2583
- }
2584
-
2585
- @keyframes slideOutRight {
2586
- 0% {
2587
- -webkit-transform: translateX(0);
2588
- -ms-transform: translateX(0);
2589
- transform: translateX(0);
2590
- }
2591
-
2592
- 100% {
2593
- opacity: 0;
2594
- -webkit-transform: translateX(2000px);
2595
- -ms-transform: translateX(2000px);
2596
- transform: translateX(2000px);
2597
- }
2598
- }
2599
-
2600
- .slideOutRight {
2601
- -webkit-animation-name: slideOutRight;
2602
- animation-name: slideOutRight;
2603
- }
2604
-
2605
- @-webkit-keyframes slideOutUp {
2606
- 0% {
2607
- -webkit-transform: translateY(0);
2608
- transform: translateY(0);
2609
- }
2610
-
2611
- 100% {
2612
- opacity: 0;
2613
- -webkit-transform: translateY(-2000px);
2614
- transform: translateY(-2000px);
2615
- }
2616
- }
2617
-
2618
- @keyframes slideOutUp {
2619
- 0% {
2620
- -webkit-transform: translateY(0);
2621
- -ms-transform: translateY(0);
2622
- transform: translateY(0);
2623
- }
2624
-
2625
- 100% {
2626
- opacity: 0;
2627
- -webkit-transform: translateY(-2000px);
2628
- -ms-transform: translateY(-2000px);
2629
- transform: translateY(-2000px);
2630
- }
2631
- }
2632
-
2633
- .slideOutUp {
2634
- -webkit-animation-name: slideOutUp;
2635
- animation-name: slideOutUp;
2636
- }
2637
-
2638
- @-webkit-keyframes slideInUp {
2639
- 0% {
2640
- opacity: 0;
2641
- -webkit-transform: translateY(2000px);
2642
- transform: translateY(2000px);
2643
- }
2644
-
2645
- 100% {
2646
- opacity: 1;
2647
- -webkit-transform: translateY(0);
2648
- transform: translateY(0);
2649
- }
2650
- }
2651
-
2652
- @keyframes slideInUp {
2653
- 0% {
2654
- opacity: 0;
2655
- -webkit-transform: translateY(2000px);
2656
- -ms-transform: translateY(2000px);
2657
- transform: translateY(2000px);
2658
- }
2659
-
2660
- 100% {
2661
- opacity: 1;
2662
- -webkit-transform: translateY(0);
2663
- -ms-transform: translateY(0);
2664
- transform: translateY(0);
2665
- }
2666
- }
2667
-
2668
- .slideInUp {
2669
- -webkit-animation-name: slideInUp;
2670
- animation-name: slideInUp;
2671
- }
2672
-
2673
- @-webkit-keyframes slideOutDown {
2674
- 0% {
2675
- -webkit-transform: translateY(0);
2676
- transform: translateY(0);
2677
- }
2678
-
2679
- 100% {
2680
- opacity: 0;
2681
- -webkit-transform: translateY(2000px);
2682
- transform: translateY(2000px);
2683
- }
2684
- }
2685
-
2686
- @keyframes slideOutDown {
2687
- 0% {
2688
- -webkit-transform: translateY(0);
2689
- -ms-transform: translateY(0);
2690
- transform: translateY(0);
2691
- }
2692
-
2693
- 100% {
2694
- opacity: 0;
2695
- -webkit-transform: translateY(2000px);
2696
- -ms-transform: translateY(2000px);
2697
- transform: translateY(2000px);
2698
- }
2699
- }
2700
-
2701
- .slideOutDown {
2702
- -webkit-animation-name: slideOutDown;
2703
- animation-name: slideOutDown;
2704
- }
2705
-
2706
- @-webkit-keyframes hinge {
2707
- 0% {
2708
- -webkit-transform: rotate(0);
2709
- transform: rotate(0);
2710
- -webkit-transform-origin: top left;
2711
- transform-origin: top left;
2712
- -webkit-animation-timing-function: ease-in-out;
2713
- animation-timing-function: ease-in-out;
2714
- }
2715
-
2716
- 20%, 60% {
2717
- -webkit-transform: rotate(80deg);
2718
- transform: rotate(80deg);
2719
- -webkit-transform-origin: top left;
2720
- transform-origin: top left;
2721
- -webkit-animation-timing-function: ease-in-out;
2722
- animation-timing-function: ease-in-out;
2723
- }
2724
-
2725
- 40% {
2726
- -webkit-transform: rotate(60deg);
2727
- transform: rotate(60deg);
2728
- -webkit-transform-origin: top left;
2729
- transform-origin: top left;
2730
- -webkit-animation-timing-function: ease-in-out;
2731
- animation-timing-function: ease-in-out;
2732
- }
2733
-
2734
- 80% {
2735
- -webkit-transform: rotate(60deg) translateY(0);
2736
- transform: rotate(60deg) translateY(0);
2737
- -webkit-transform-origin: top left;
2738
- transform-origin: top left;
2739
- -webkit-animation-timing-function: ease-in-out;
2740
- animation-timing-function: ease-in-out;
2741
- opacity: 1;
2742
- }
2743
-
2744
- 100% {
2745
- -webkit-transform: translateY(700px);
2746
- transform: translateY(700px);
2747
- opacity: 0;
2748
- }
2749
- }
2750
-
2751
- @keyframes hinge {
2752
- 0% {
2753
- -webkit-transform: rotate(0);
2754
- -ms-transform: rotate(0);
2755
- transform: rotate(0);
2756
- -webkit-transform-origin: top left;
2757
- -ms-transform-origin: top left;
2758
- transform-origin: top left;
2759
- -webkit-animation-timing-function: ease-in-out;
2760
- animation-timing-function: ease-in-out;
2761
- }
2762
-
2763
- 20%, 60% {
2764
- -webkit-transform: rotate(80deg);
2765
- -ms-transform: rotate(80deg);
2766
- transform: rotate(80deg);
2767
- -webkit-transform-origin: top left;
2768
- -ms-transform-origin: top left;
2769
- transform-origin: top left;
2770
- -webkit-animation-timing-function: ease-in-out;
2771
- animation-timing-function: ease-in-out;
2772
- }
2773
-
2774
- 40% {
2775
- -webkit-transform: rotate(60deg);
2776
- -ms-transform: rotate(60deg);
2777
- transform: rotate(60deg);
2778
- -webkit-transform-origin: top left;
2779
- -ms-transform-origin: top left;
2780
- transform-origin: top left;
2781
- -webkit-animation-timing-function: ease-in-out;
2782
- animation-timing-function: ease-in-out;
2783
- }
2784
-
2785
- 80% {
2786
- -webkit-transform: rotate(60deg) translateY(0);
2787
- -ms-transform: rotate(60deg) translateY(0);
2788
- transform: rotate(60deg) translateY(0);
2789
- -webkit-transform-origin: top left;
2790
- -ms-transform-origin: top left;
2791
- transform-origin: top left;
2792
- -webkit-animation-timing-function: ease-in-out;
2793
- animation-timing-function: ease-in-out;
2794
- opacity: 1;
2795
- }
2796
-
2797
- 100% {
2798
- -webkit-transform: translateY(700px);
2799
- -ms-transform: translateY(700px);
2800
- transform: translateY(700px);
2801
- opacity: 0;
2802
- }
2803
- }
2804
-
2805
- .hinge {
2806
- -webkit-animation-name: hinge;
2807
- animation-name: hinge;
2808
- }
2809
-
2810
- /* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
2811
-
2812
- @-webkit-keyframes rollIn {
2813
- 0% {
2814
- opacity: 0;
2815
- -webkit-transform: translateX(-100%) rotate(-120deg);
2816
- transform: translateX(-100%) rotate(-120deg);
2817
- }
2818
-
2819
- 100% {
2820
- opacity: 1;
2821
- -webkit-transform: translateX(0px) rotate(0deg);
2822
- transform: translateX(0px) rotate(0deg);
2823
- }
2824
- }
2825
-
2826
- @keyframes rollIn {
2827
- 0% {
2828
- opacity: 0;
2829
- -webkit-transform: translateX(-100%) rotate(-120deg);
2830
- -ms-transform: translateX(-100%) rotate(-120deg);
2831
- transform: translateX(-100%) rotate(-120deg);
2832
- }
2833
-
2834
- 100% {
2835
- opacity: 1;
2836
- -webkit-transform: translateX(0px) rotate(0deg);
2837
- -ms-transform: translateX(0px) rotate(0deg);
2838
- transform: translateX(0px) rotate(0deg);
2839
- }
2840
- }
2841
-
2842
- .rollIn {
2843
- -webkit-animation-name: rollIn;
2844
- animation-name: rollIn;
2845
- }
2846
-
2847
- /* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
2848
-
2849
- @-webkit-keyframes rollOut {
2850
- 0% {
2851
- opacity: 1;
2852
- -webkit-transform: translateX(0px) rotate(0deg);
2853
- transform: translateX(0px) rotate(0deg);
2854
- }
2855
-
2856
- 100% {
2857
- opacity: 0;
2858
- -webkit-transform: translateX(100%) rotate(120deg);
2859
- transform: translateX(100%) rotate(120deg);
2860
- }
2861
- }
2862
-
2863
- @keyframes rollOut {
2864
- 0% {
2865
- opacity: 1;
2866
- -webkit-transform: translateX(0px) rotate(0deg);
2867
- -ms-transform: translateX(0px) rotate(0deg);
2868
- transform: translateX(0px) rotate(0deg);
2869
- }
2870
-
2871
- 100% {
2872
- opacity: 0;
2873
- -webkit-transform: translateX(100%) rotate(120deg);
2874
- -ms-transform: translateX(100%) rotate(120deg);
2875
- transform: translateX(100%) rotate(120deg);
2876
- }
2877
- }
2878
-
2879
- .rollOut {
2880
- -webkit-animation-name: rollOut;
2881
- animation-name: rollOut;
2882
- }
2883
-
2884
- @-webkit-keyframes zoomIn {
2885
- 0% {
2886
- opacity: 0;
2887
- -webkit-transform: scale(.3);
2888
- transform: scale(.3);
2889
- }
2890
-
2891
- 50% {
2892
- opacity: 1;
2893
- }
2894
- }
2895
-
2896
- @keyframes zoomIn {
2897
- 0% {
2898
- opacity: 0;
2899
- -webkit-transform: scale(.3);
2900
- -ms-transform: scale(.3);
2901
- transform: scale(.3);
2902
- }
2903
-
2904
- 50% {
2905
- opacity: 1;
2906
- }
2907
- }
2908
-
2909
- .zoomIn {
2910
- -webkit-animation-name: zoomIn;
2911
- animation-name: zoomIn;
2912
- }
2913
-
2914
- @-webkit-keyframes zoomInDown {
2915
- 0% {
2916
- opacity: 0;
2917
- -webkit-transform: scale(.1) translateY(-2000px);
2918
- transform: scale(.1) translateY(-2000px);
2919
- -webkit-animation-timing-function: ease-in-out;
2920
- animation-timing-function: ease-in-out;
2921
- }
2922
-
2923
- 60% {
2924
- opacity: 1;
2925
- -webkit-transform: scale(.475) translateY(60px);
2926
- transform: scale(.475) translateY(60px);
2927
- -webkit-animation-timing-function: ease-out;
2928
- animation-timing-function: ease-out;
2929
- }
2930
- }
2931
-
2932
- @keyframes zoomInDown {
2933
- 0% {
2934
- opacity: 0;
2935
- -webkit-transform: scale(.1) translateY(-2000px);
2936
- -ms-transform: scale(.1) translateY(-2000px);
2937
- transform: scale(.1) translateY(-2000px);
2938
- -webkit-animation-timing-function: ease-in-out;
2939
- animation-timing-function: ease-in-out;
2940
- }
2941
-
2942
- 60% {
2943
- opacity: 1;
2944
- -webkit-transform: scale(.475) translateY(60px);
2945
- -ms-transform: scale(.475) translateY(60px);
2946
- transform: scale(.475) translateY(60px);
2947
- -webkit-animation-timing-function: ease-out;
2948
- animation-timing-function: ease-out;
2949
- }
2950
- }
2951
-
2952
- .zoomInDown {
2953
- -webkit-animation-name: zoomInDown;
2954
- animation-name: zoomInDown;
2955
- }
2956
-
2957
- @-webkit-keyframes zoomInLeft {
2958
- 0% {
2959
- opacity: 0;
2960
- -webkit-transform: scale(.1) translateX(-2000px);
2961
- transform: scale(.1) translateX(-2000px);
2962
- -webkit-animation-timing-function: ease-in-out;
2963
- animation-timing-function: ease-in-out;
2964
- }
2965
-
2966
- 60% {
2967
- opacity: 1;
2968
- -webkit-transform: scale(.475) translateX(48px);
2969
- transform: scale(.475) translateX(48px);
2970
- -webkit-animation-timing-function: ease-out;
2971
- animation-timing-function: ease-out;
2972
- }
2973
- }
2974
-
2975
- @keyframes zoomInLeft {
2976
- 0% {
2977
- opacity: 0;
2978
- -webkit-transform: scale(.1) translateX(-2000px);
2979
- -ms-transform: scale(.1) translateX(-2000px);
2980
- transform: scale(.1) translateX(-2000px);
2981
- -webkit-animation-timing-function: ease-in-out;
2982
- animation-timing-function: ease-in-out;
2983
- }
2984
-
2985
- 60% {
2986
- opacity: 1;
2987
- -webkit-transform: scale(.475) translateX(48px);
2988
- -ms-transform: scale(.475) translateX(48px);
2989
- transform: scale(.475) translateX(48px);
2990
- -webkit-animation-timing-function: ease-out;
2991
- animation-timing-function: ease-out;
2992
- }
2993
- }
2994
-
2995
- .zoomInLeft {
2996
- -webkit-animation-name: zoomInLeft;
2997
- animation-name: zoomInLeft;
2998
- }
2999
-
3000
- @-webkit-keyframes zoomInRight {
3001
- 0% {
3002
- opacity: 0;
3003
- -webkit-transform: scale(.1) translateX(2000px);
3004
- transform: scale(.1) translateX(2000px);
3005
- -webkit-animation-timing-function: ease-in-out;
3006
- animation-timing-function: ease-in-out;
3007
- }
3008
-
3009
- 60% {
3010
- opacity: 1;
3011
- -webkit-transform: scale(.475) translateX(-48px);
3012
- transform: scale(.475) translateX(-48px);
3013
- -webkit-animation-timing-function: ease-out;
3014
- animation-timing-function: ease-out;
3015
- }
3016
- }
3017
-
3018
- @keyframes zoomInRight {
3019
- 0% {
3020
- opacity: 0;
3021
- -webkit-transform: scale(.1) translateX(2000px);
3022
- -ms-transform: scale(.1) translateX(2000px);
3023
- transform: scale(.1) translateX(2000px);
3024
- -webkit-animation-timing-function: ease-in-out;
3025
- animation-timing-function: ease-in-out;
3026
- }
3027
-
3028
- 60% {
3029
- opacity: 1;
3030
- -webkit-transform: scale(.475) translateX(-48px);
3031
- -ms-transform: scale(.475) translateX(-48px);
3032
- transform: scale(.475) translateX(-48px);
3033
- -webkit-animation-timing-function: ease-out;
3034
- animation-timing-function: ease-out;
3035
- }
3036
- }
3037
-
3038
- .zoomInRight {
3039
- -webkit-animation-name: zoomInRight;
3040
- animation-name: zoomInRight;
3041
- }
3042
-
3043
- @-webkit-keyframes zoomInUp {
3044
- 0% {
3045
- opacity: 0;
3046
- -webkit-transform: scale(.1) translateY(2000px);
3047
- transform: scale(.1) translateY(2000px);
3048
- -webkit-animation-timing-function: ease-in-out;
3049
- animation-timing-function: ease-in-out;
3050
- }
3051
-
3052
- 60% {
3053
- opacity: 1;
3054
- -webkit-transform: scale(.475) translateY(-60px);
3055
- transform: scale(.475) translateY(-60px);
3056
- -webkit-animation-timing-function: ease-out;
3057
- animation-timing-function: ease-out;
3058
- }
3059
- }
3060
-
3061
- @keyframes zoomInUp {
3062
- 0% {
3063
- opacity: 0;
3064
- -webkit-transform: scale(.1) translateY(2000px);
3065
- -ms-transform: scale(.1) translateY(2000px);
3066
- transform: scale(.1) translateY(2000px);
3067
- -webkit-animation-timing-function: ease-in-out;
3068
- animation-timing-function: ease-in-out;
3069
- }
3070
-
3071
- 60% {
3072
- opacity: 1;
3073
- -webkit-transform: scale(.475) translateY(-60px);
3074
- -ms-transform: scale(.475) translateY(-60px);
3075
- transform: scale(.475) translateY(-60px);
3076
- -webkit-animation-timing-function: ease-out;
3077
- animation-timing-function: ease-out;
3078
- }
3079
- }
3080
-
3081
- .zoomInUp {
3082
- -webkit-animation-name: zoomInUp;
3083
- animation-name: zoomInUp;
3084
- }
3085
-
3086
- @-webkit-keyframes zoomOut {
3087
- 0% {
3088
- opacity: 1;
3089
- -webkit-transform: scale(1);
3090
- transform: scale(1);
3091
- }
3092
-
3093
- 50% {
3094
- opacity: 0;
3095
- -webkit-transform: scale(.3);
3096
- transform: scale(.3);
3097
- }
3098
-
3099
- 100% {
3100
- opacity: 0;
3101
- }
3102
- }
3103
-
3104
- @keyframes zoomOut {
3105
- 0% {
3106
- opacity: 1;
3107
- -webkit-transform: scale(1);
3108
- -ms-transform: scale(1);
3109
- transform: scale(1);
3110
- }
3111
-
3112
- 50% {
3113
- opacity: 0;
3114
- -webkit-transform: scale(.3);
3115
- -ms-transform: scale(.3);
3116
- transform: scale(.3);
3117
- }
3118
-
3119
- 100% {
3120
- opacity: 0;
3121
- }
3122
- }
3123
-
3124
- .zoomOut {
3125
- -webkit-animation-name: zoomOut;
3126
- animation-name: zoomOut;
3127
- }
3128
-
3129
- @-webkit-keyframes zoomOutDown {
3130
- 40% {
3131
- opacity: 1;
3132
- -webkit-transform: scale(.475) translateY(-60px);
3133
- transform: scale(.475) translateY(-60px);
3134
- -webkit-animation-timing-function: linear;
3135
- animation-timing-function: linear;
3136
- }
3137
-
3138
- 100% {
3139
- opacity: 0;
3140
- -webkit-transform: scale(.1) translateY(2000px);
3141
- transform: scale(.1) translateY(2000px);
3142
- -webkit-transform-origin: center bottom;
3143
- transform-origin: center bottom;
3144
- }
3145
- }
3146
-
3147
- @keyframes zoomOutDown {
3148
- 40% {
3149
- opacity: 1;
3150
- -webkit-transform: scale(.475) translateY(-60px);
3151
- -ms-transform: scale(.475) translateY(-60px);
3152
- transform: scale(.475) translateY(-60px);
3153
- -webkit-animation-timing-function: linear;
3154
- animation-timing-function: linear;
3155
- }
3156
-
3157
- 100% {
3158
- opacity: 0;
3159
- -webkit-transform: scale(.1) translateY(2000px);
3160
- -ms-transform: scale(.1) translateY(2000px);
3161
- transform: scale(.1) translateY(2000px);
3162
- -webkit-transform-origin: center bottom;
3163
- -ms-transform-origin: center bottom;
3164
- transform-origin: center bottom;
3165
- }
3166
- }
3167
-
3168
- .zoomOutDown {
3169
- -webkit-animation-name: zoomOutDown;
3170
- animation-name: zoomOutDown;
3171
- }
3172
-
3173
- @-webkit-keyframes zoomOutLeft {
3174
- 40% {
3175
- opacity: 1;
3176
- -webkit-transform: scale(.475) translateX(42px);
3177
- transform: scale(.475) translateX(42px);
3178
- -webkit-animation-timing-function: linear;
3179
- animation-timing-function: linear;
3180
- }
3181
-
3182
- 100% {
3183
- opacity: 0;
3184
- -webkit-transform: scale(.1) translateX(-2000px);
3185
- transform: scale(.1) translateX(-2000px);
3186
- -webkit-transform-origin: left center;
3187
- transform-origin: left center;
3188
- }
3189
- }
3190
-
3191
- @keyframes zoomOutLeft {
3192
- 40% {
3193
- opacity: 1;
3194
- -webkit-transform: scale(.475) translateX(42px);
3195
- -ms-transform: scale(.475) translateX(42px);
3196
- transform: scale(.475) translateX(42px);
3197
- -webkit-animation-timing-function: linear;
3198
- animation-timing-function: linear;
3199
- }
3200
-
3201
- 100% {
3202
- opacity: 0;
3203
- -webkit-transform: scale(.1) translateX(-2000px);
3204
- -ms-transform: scale(.1) translateX(-2000px);
3205
- transform: scale(.1) translateX(-2000px);
3206
- -webkit-transform-origin: left center;
3207
- -ms-transform-origin: left center;
3208
- transform-origin: left center;
3209
- }
3210
- }
3211
-
3212
- .zoomOutLeft {
3213
- -webkit-animation-name: zoomOutLeft;
3214
- animation-name: zoomOutLeft;
3215
- }
3216
-
3217
- @-webkit-keyframes zoomOutRight {
3218
- 40% {
3219
- opacity: 1;
3220
- -webkit-transform: scale(.475) translateX(-42px);
3221
- transform: scale(.475) translateX(-42px);
3222
- -webkit-animation-timing-function: linear;
3223
- animation-timing-function: linear;
3224
- }
3225
-
3226
- 100% {
3227
- opacity: 0;
3228
- -webkit-transform: scale(.1) translateX(2000px);
3229
- transform: scale(.1) translateX(2000px);
3230
- -webkit-transform-origin: right center;
3231
- transform-origin: right center;
3232
- }
3233
- }
3234
-
3235
- @keyframes zoomOutRight {
3236
- 40% {
3237
- opacity: 1;
3238
- -webkit-transform: scale(.475) translateX(-42px);
3239
- -ms-transform: scale(.475) translateX(-42px);
3240
- transform: scale(.475) translateX(-42px);
3241
- -webkit-animation-timing-function: linear;
3242
- animation-timing-function: linear;
3243
- }
3244
-
3245
- 100% {
3246
- opacity: 0;
3247
- -webkit-transform: scale(.1) translateX(2000px);
3248
- -ms-transform: scale(.1) translateX(2000px);
3249
- transform: scale(.1) translateX(2000px);
3250
- -webkit-transform-origin: right center;
3251
- -ms-transform-origin: right center;
3252
- transform-origin: right center;
3253
- }
3254
- }
3255
-
3256
- .zoomOutRight {
3257
- -webkit-animation-name: zoomOutRight;
3258
- animation-name: zoomOutRight;
3259
- }
3260
-
3261
- @-webkit-keyframes zoomOutUp {
3262
- 40% {
3263
- opacity: 1;
3264
- -webkit-transform: scale(.475) translateY(60px);
3265
- transform: scale(.475) translateY(60px);
3266
- -webkit-animation-timing-function: linear;
3267
- animation-timing-function: linear;
3268
- }
3269
-
3270
- 100% {
3271
- opacity: 0;
3272
- -webkit-transform: scale(.1) translateY(-2000px);
3273
- transform: scale(.1) translateY(-2000px);
3274
- -webkit-transform-origin: center top;
3275
- transform-origin: center top;
3276
- }
3277
- }
3278
-
3279
- @keyframes zoomOutUp {
3280
- 40% {
3281
- opacity: 1;
3282
- -webkit-transform: scale(.475) translateY(60px);
3283
- -ms-transform: scale(.475) translateY(60px);
3284
- transform: scale(.475) translateY(60px);
3285
- -webkit-animation-timing-function: linear;
3286
- animation-timing-function: linear;
3287
- }
3288
-
3289
- 100% {
3290
- opacity: 0;
3291
- -webkit-transform: scale(.1) translateY(-2000px);
3292
- -ms-transform: scale(.1) translateY(-2000px);
3293
- transform: scale(.1) translateY(-2000px);
3294
- -webkit-transform-origin: center top;
3295
- -ms-transform-origin: center top;
3296
- transform-origin: center top;
3297
- }
3298
- }
3299
-
3300
- .zoomOutUp {
3301
- -webkit-animation-name: zoomOutUp;
3302
- animation-name: zoomOutUp;
3303
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
css/style.ykseme.css CHANGED
@@ -252,13 +252,6 @@
252
  margin-bottom:10px;
253
  }
254
 
255
- .widget .yks_mc_interest_group_label {
256
- text-align:center;
257
- width:45%;
258
- float:left;
259
- word-break: break-word;
260
- }
261
-
262
  .widget_yikes_mc_widget input, .widget_yikes_mc_widget .yks-mailchimpFormDivRowField {
263
  width:100%;
264
  }
@@ -314,12 +307,12 @@ body.mailchimp-forms_page_yks-mailchimp-about-yikes #ykseme-page-header {
314
  text-align: center;
315
  */
316
  border-left: 4px solid #7ad03a;
317
- padding: 5px 15px;
318
  background-color:#fff;
319
  -webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
320
  box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
321
  min-height:25px;
322
- line-height: 1.2;
323
  margin-top:1em;
324
  }
325
 
@@ -648,9 +641,9 @@ body.mailchimp-forms_page_yks-mailchimp-about-yikes #ykseme-page-header {
648
 
649
  .yks-mailchimp-form-tooltip {
650
  color: #CCC !important;
651
- font-size: 12px;
652
- display:block;
653
- margin: 0 0 15px 0;
654
  }
655
 
656
  #yks-mailchimp-debug-info, #yks-mailchimp-debug-info table,
@@ -697,46 +690,21 @@ body.mailchimp-forms_page_yks-mailchimp-about-yikes #ykseme-page-header {
697
  margin-bottom:.5em;
698
  }
699
 
700
- /* Table Interest Group Styles */
701
- td.yks_mc_table_dropdown_interest_group_holder, td.yks-mailchimpFormTableSubmit {
702
- border-top:0;
703
- }
704
- .yks_table_label {
705
- display:block;
706
- margin:.75em 0;
707
- }
708
-
709
- .yks_mc_table_interest_group_holder {
710
- width: 100%;
711
- margin-bottom: 0;
712
- display:block;
713
- }
714
- .yks_mc_table_dropdown_interest_group_holder {
715
- display:block;
716
- }
717
-
718
  .yks_mc_interest_group_holder select {
719
  width:100%;
720
  }
721
 
722
  .yikes_mc_interest_group_checkbox, .yks_mc_interest_group_label {
723
- display:inline-block;
724
- margin: 0 5px;
725
- }
726
-
727
- .widget .yks_mc_table_td:last-child {
728
- border-top:0;
729
- border-bottom:0;
730
  }
731
 
732
  .yikes_mc_interest_group_radio {
733
  margin-right: .5em;
734
  }
735
 
736
- .content .yks_mc_interest_radio_button_holder, .content .yks_mc_table_td {
737
- display:inline-block;
738
- width:100%;
739
- }
740
 
741
  /*** Subscriber List Styles ***/
742
  .yks-mc-subscriber-go-back {
@@ -825,16 +793,6 @@ label[for="yikes_mailchimp_comment_subscribe"]:hover {
825
  cursor:pointer;
826
  }
827
 
828
- label[for="single-optin-message"], label[for="double-optin-message"] {
829
- display:block;
830
- width:55%;
831
- }
832
-
833
- #wp-double_optin_message-wrap, #wp-single_optin_message-wrap {
834
- display:block;
835
- margin-top:1.5em;
836
- }
837
-
838
  .yikes_widget_logo {
839
  display:block;
840
  margin:0 auto;
@@ -862,35 +820,4 @@ label[for="single-optin-message"], label[for="double-optin-message"] {
862
  .yks_mc_no_phpini_success {
863
  color :#29CA01;
864
  font-weight:bold;
865
- }
866
-
867
-
868
- /** Date Picker Styles **/
869
- .yks-mailchimpFormDatepickerContainer .ui-datepicker-prev, .yks-mailchimpFormDatepickerContainer .ui-datepicker-next {
870
- margin-top:.5em;
871
- }
872
-
873
- /* Form Error Classes */
874
- .yks_error_field_required {
875
- border: 1px solid rgb(252, 182, 182) !important;
876
- background: rgb(255, 213, 213) !important;
877
- }
878
-
879
- #yks_form_error_message {
880
- padding:.75em;
881
- font-size:12px;
882
- float:left;
883
- margin-bottom:1em;
884
- display:none;
885
- }
886
- #yks_form_error_message ul {
887
- list-style-type: square;
888
- width: 100%;
889
- float:left;
890
- margin-top:.5em;
891
- margin: 0.75em 0 1.25em 1.25em;
892
- }
893
- #yks_form_error_message ul li {
894
- width: 33%;
895
- float:left;
896
- }
252
  margin-bottom:10px;
253
  }
254
 
 
 
 
 
 
 
 
255
  .widget_yikes_mc_widget input, .widget_yikes_mc_widget .yks-mailchimpFormDivRowField {
256
  width:100%;
257
  }
307
  text-align: center;
308
  */
309
  border-left: 4px solid #7ad03a;
310
+ padding:1px 12px;
311
  background-color:#fff;
312
  -webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
313
  box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
314
  min-height:25px;
315
+ line-height: 3.2;
316
  margin-top:1em;
317
  }
318
 
641
 
642
  .yks-mailchimp-form-tooltip {
643
  color: #CCC !important;
644
+ font-size: 10px;
645
+ margin: 0;
646
+ padding: 0 0 0 10px;
647
  }
648
 
649
  #yks-mailchimp-debug-info, #yks-mailchimp-debug-info table,
690
  margin-bottom:.5em;
691
  }
692
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
693
  .yks_mc_interest_group_holder select {
694
  width:100%;
695
  }
696
 
697
  .yikes_mc_interest_group_checkbox, .yks_mc_interest_group_label {
698
+ float:left !important;
699
+ margin:.35em;
700
+ max-width: 45% !important;
701
+ word-break: break-word;
 
 
 
702
  }
703
 
704
  .yikes_mc_interest_group_radio {
705
  margin-right: .5em;
706
  }
707
 
 
 
 
 
708
 
709
  /*** Subscriber List Styles ***/
710
  .yks-mc-subscriber-go-back {
793
  cursor:pointer;
794
  }
795
 
 
 
 
 
 
 
 
 
 
 
796
  .yikes_widget_logo {
797
  display:block;
798
  margin:0 auto;
820
  .yks_mc_no_phpini_success {
821
  color :#29CA01;
822
  font-weight:bold;
823
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
images/Thumbs.db ADDED
Binary file
images/pagination/Thumbs.db ADDED
Binary file
images/smoothness/Thumbs.db ADDED
Binary file
languages/yikes-inc-easy-mailchimp-extender-fr_FR.mo DELETED
Binary file
languages/yikes-inc-easy-mailchimp-extender-fr_FR.po DELETED
@@ -1,831 +0,0 @@
1
- msgid ""
2
- msgstr ""
3
- "Project-Id-Version: Yikes Inc. Easy MailChimp Plugin\n"
4
- "POT-Creation-Date: 2014-06-05 16:14-0500\n"
5
- "PO-Revision-Date: 2014-06-05 16:16-0500\n"
6
- "Last-Translator: Evan <evan.m.herman@gmail.com>\n"
7
- "Language-Team: Yikes Inc. <evan@yikesinc.com>\n"
8
- "Language: en\n"
9
- "MIME-Version: 1.0\n"
10
- "Content-Type: text/plain; charset=UTF-8\n"
11
- "Content-Transfer-Encoding: 8bit\n"
12
- "X-Generator: Poedit 1.6.4\n"
13
- "X-Poedit-Basepath: .\n"
14
- "Plural-Forms: nplurals=2; plural=(n != 1);\n"
15
- "X-Poedit-KeywordsList: __;_e\n"
16
- "X-Poedit-SearchPath-0: ../.\n"
17
-
18
- #: .././classes/class.yksemeBase.php:126
19
- #: .././classes/class.yksemeBase.php:1310
20
- msgid "Thank You for subscribing!"
21
- msgstr "Merci pour votre inscription!"
22
-
23
- #: .././classes/class.yksemeBase.php:127
24
- #: .././classes/class.yksemeBase.php:1311
25
- msgid ""
26
- "Thank You for subscribing! Check your email for the confirmation message."
27
- msgstr ""
28
- "Merci pour votre inscription! Vérifiez votre e-mail pour le message de "
29
- "confirmation."
30
-
31
- #: .././classes/class.yksemeBase.php:128
32
- msgid "Select Your Area of Interest"
33
- msgstr "Sélectionnez votre domaine d'intérêt"
34
-
35
- #: .././classes/class.yksemeBase.php:919
36
- msgid "Click on a subscriber to see further information"
37
- msgstr "Cliquez sur un abonné de voir plus d'informations"
38
-
39
- #: .././classes/class.yksemeBase.php:924
40
- msgid "E-Mail"
41
- msgstr "Courriel: "
42
-
43
- #: .././classes/class.yksemeBase.php:925
44
- msgid "Date Subscribed"
45
- msgstr "Date de souscrit"
46
-
47
- #: .././classes/class.yksemeBase.php:946
48
- msgid "Sorry You Don't Currently Have Any Subscribers In This List!"
49
- msgstr "Désolé vous n'avez pas actuellement Les abonnés de cette liste!"
50
-
51
- #: .././classes/class.yksemeBase.php:1003
52
- msgid "Back to Subscriber List"
53
- msgstr "Retour à la liste des abonnés"
54
-
55
- #: .././classes/class.yksemeBase.php:1004
56
- msgid "Subscriber Details"
57
- msgstr "Abonné Détails"
58
-
59
- #: .././classes/class.yksemeBase.php:1015
60
- msgid "Overview"
61
- msgstr "Présentation"
62
-
63
- #: .././classes/class.yksemeBase.php:1020
64
- msgid "First Name"
65
- msgstr "Prénom"
66
-
67
- #: .././classes/class.yksemeBase.php:1023
68
- msgid "Last Updated"
69
- msgstr "Dernière Mise à Jour"
70
-
71
- #: .././classes/class.yksemeBase.php:1026
72
- msgid "Preferred Email Type"
73
- msgstr "Email préféré type"
74
-
75
- #: .././classes/class.yksemeBase.php:1033
76
- msgid "Last Name"
77
- msgstr "Nom de famille"
78
-
79
- #: .././classes/class.yksemeBase.php:1036
80
- msgid "Language"
81
- msgstr "Langue"
82
-
83
- #: .././classes/class.yksemeBase.php:1063
84
- msgid "Groups Subscribed To"
85
- msgstr "Groupes souscrit à"
86
-
87
- #: .././classes/class.yksemeBase.php:1113
88
- msgid "Subscriber Notes"
89
- msgstr "Notes abonnés"
90
-
91
- #: .././classes/class.yksemeBase.php:1118
92
- msgid "Written by"
93
- msgstr "Ecrit par"
94
-
95
- #: .././classes/class.yksemeBase.php:1118
96
- msgid "Created on"
97
- msgstr "Créé le"
98
-
99
- #: .././classes/class.yksemeBase.php:1274
100
- #: .././classes/class.yksemeBase.php:1276
101
- msgid "MailChimp Forms"
102
- msgstr "MailChimp formes"
103
-
104
- #: .././classes/class.yksemeBase.php:1276
105
- msgid "MailChimp Settings"
106
- msgstr "Paramètres MailChimp"
107
-
108
- #: .././classes/class.yksemeBase.php:1277
109
- msgid "Manage List Forms"
110
- msgstr "Gérer la liste formes"
111
-
112
- #: .././classes/class.yksemeBase.php:1278 .././pages/about.php:5
113
- msgid "About YIKES, Inc."
114
- msgstr "À propos de YIKES, Inc."
115
-
116
- #: .././classes/class.yksemeBase.php:1466
117
- msgid "One or more fields are empty"
118
- msgstr "Un ou plusieurs champs sont vides"
119
-
120
- #: .././classes/class.yksemeBase.php:1518
121
- msgid "Your List Was Successfully Saved!"
122
- msgstr "Votre liste a été enregistrée avec succès!"
123
-
124
- #: .././classes/class.yksemeBase.php:1521
125
- msgid "Your settings were not saved (or you did not change them)."
126
- msgstr ""
127
- "Vos paramètres n'ont pas été enregistrés (ou que vous n'avez pas à changer)."
128
-
129
- #: .././classes/class.yksemeBase.php:1523
130
- msgid "I'm sorry there was an error with your request."
131
- msgstr "Je suis désolé qu'il y avait une erreur avec votre demande."
132
-
133
- #: .././classes/class.yksemeBase.php:1529
134
- msgid "MailChimp List name"
135
- msgstr "Liste MailChimp nom"
136
-
137
- #: .././classes/class.yksemeBase.php:1535
138
- #: .././classes/class.yksemeBase.php:1545
139
- #, php-format
140
- msgid "%1$s"
141
- msgstr "%1$s"
142
-
143
- #: .././classes/class.yksemeBase.php:1553
144
- msgid "MailChimp List ID"
145
- msgstr "MailChimp Liste ID"
146
-
147
- #: .././classes/class.yksemeBase.php:1559
148
- msgid "Shortcode"
149
- msgstr "ShortCode"
150
-
151
- #: .././classes/class.yksemeBase.php:1562
152
- msgid ""
153
- "Paste this shortcode into whatever page or post you want to add this form to"
154
- msgstr ""
155
- "Collez ce shortcode dans n'importe quelle page ou message que vous voulez "
156
- "ajouter cette forme de"
157
-
158
- #: .././classes/class.yksemeBase.php:1567
159
- msgid "PHP Snippet"
160
- msgstr "Snippet PHP"
161
-
162
- #: .././classes/class.yksemeBase.php:1570
163
- msgid "Use this code to add this form to a template file"
164
- msgstr "Utilisez ce code pour ajouter cette forme à un fichier de modèle"
165
-
166
- #: .././classes/class.yksemeBase.php:1575
167
- msgid "Number of Subscribers"
168
- msgstr "Nombre d'abonnés"
169
-
170
- #: .././classes/class.yksemeBase.php:1584
171
- msgid "Form Fields"
172
- msgstr "Formulaire champs"
173
-
174
- #: .././classes/class.yksemeBase.php:1586
175
- msgid ""
176
- "Check the fields you want included in your form (Email Address is required)."
177
- msgstr ""
178
- "Vérifiez les champs que vous souhaitez inclure dans votre formulaire "
179
- "(adresse e-mail est requise)."
180
-
181
- #: .././classes/class.yksemeBase.php:1589
182
- msgid ""
183
- "Use the green arrows to drag-and-drop the fields and rearrange their order."
184
- msgstr ""
185
- "Utilisez les flèches vertes pour faire glisser et déposer les champs et les "
186
- "réorganiser."
187
-
188
- #: .././classes/class.yksemeBase.php:1595
189
- msgid "Active Fields"
190
- msgstr "Les champs actifs"
191
-
192
- #: .././classes/class.yksemeBase.php:1604
193
- msgid "Drag"
194
- msgstr "Traîner"
195
-
196
- #: .././classes/class.yksemeBase.php:1604
197
- msgid "drop"
198
- msgstr "tomber"
199
-
200
- #: .././classes/class.yksemeBase.php:1609
201
- msgid "Merge field"
202
- msgstr "Champ de fusion"
203
-
204
- #: .././classes/class.yksemeBase.php:1610
205
- msgid "Placeholder"
206
- msgstr "Emplacement"
207
-
208
- #: .././classes/class.yksemeBase.php:1618
209
- msgid "Redirect User On Submission"
210
- msgstr "Rediriger l'utilisateur sur la soumission"
211
-
212
- #: .././classes/class.yksemeBase.php:1622
213
- msgid "choose a page to redirect the user to after they submit the form."
214
- msgstr ""
215
- "choisir une page de rediriger l'utilisateur vers après leur soumettre le "
216
- "formulaire."
217
-
218
- #: .././classes/class.yksemeBase.php:1625
219
- msgid "Select A Post/Page"
220
- msgstr "Sélectionner un post / page"
221
-
222
- #: .././classes/class.yksemeBase.php:1682
223
- msgid "Save Form Settings"
224
- msgstr "Enregistrer les paramètres de formulaire"
225
-
226
- #: .././classes/class.yksemeBase.php:1683
227
- msgid "Delete Form"
228
- msgstr "Effacer le formulaire"
229
-
230
- #: .././classes/class.yksemeBase.php:1684
231
- msgid "Re-Import Form Fields from MailChimp"
232
- msgstr "Re-Import des champs de formulaire de MailChimp"
233
-
234
- #: .././classes/class.yksemeBase.php:2223
235
- msgid "Sign Me Up For MAILCHIMP-REPLACE-THIS-TEXT's Newsletter"
236
- msgstr "Je m'inscris à la newsletter de MailChimp-REPLACE-CE-TEXT"
237
-
238
- #: .././pages/about.php:42
239
- msgid "YIKES, Inc. Web Design and Development"
240
- msgstr "OUPS, Inc. Conception et développement Web"
241
-
242
- #: .././pages/about.php:44
243
- msgid "Smart, effective, beautifully designed web solutions"
244
- msgstr "Des solutions intelligentes, efficaces, magnifiquement conçus web"
245
-
246
- #: .././pages/about.php:47
247
- msgid ""
248
- "YIKES is located in the Fishtown neighborhood of Philadelphia where we build "
249
- "custom WordPress themes and plugins every day."
250
- msgstr ""
251
- "YIKES est situé dans le quartier de Fishtown Philadelphie où nous "
252
- "construisons personnalisé thèmes et plugins WordPress chaque jour."
253
-
254
- #: .././pages/about.php:51
255
- msgid ""
256
- "At YIKES we love WordPress! Co-Owner, Tracy Levesque has presented at "
257
- "WordCamps"
258
- msgstr ""
259
- "Au YIKES nous aimons WordPress! Co-propriétaire, Tracy Levesque a présenté à "
260
- "WordCamps"
261
-
262
- #: .././pages/about.php:51
263
- msgid "and"
264
- msgstr "et"
265
-
266
- #: .././pages/about.php:51
267
- msgid "She also teaches WordPress classes for"
268
- msgstr "Elle donne également des cours de WordPress pour"
269
-
270
- #: .././pages/about.php:55
271
- msgid ""
272
- "In addition to making great WordPress sites we are also committed to the "
273
- "sustainable business movement. We observe the triple bottom line: people, "
274
- "planet, profit and work to help build a more socially, environmentally and "
275
- "financially sustainable local economy. We even have a"
276
- msgstr ""
277
- "En plus de faire de grands sites WordPress, nous sommes également engagés à "
278
- "la circulation de l'entreprise durable. Nous observons le triple bottom "
279
- "line: people, planet, profit et de travail pour aider à construire une "
280
- "économie locale plus socialement, écologiquement et financièrement viable. "
281
- "Nous avons même un"
282
-
283
- #: .././pages/about.php:55
284
- msgid "LEED Platinum office"
285
- msgstr "Bureau LEED Platinum"
286
-
287
- #: .././pages/about.php:59
288
- msgid ""
289
- "If you're interested in hiring us for WordPress development, or just want to "
290
- "learn more about us, please visit"
291
- msgstr ""
292
- "Si vous êtes intéressé à nous embaucher pour le développement WordPress, ou "
293
- "voulez juste en savoir plus sur nous, s'il vous plaît visitez"
294
-
295
- #: .././pages/lists.php:51
296
- msgid "Oops.. The list ID you entered appears to be incorrect."
297
- msgstr "Oups .. L'ID de liste que vous avez entré n'est pas correcte."
298
-
299
- #: .././pages/lists.php:65
300
- msgid "There was an error!"
301
- msgstr "Il y avait une erreur!"
302
-
303
- #: .././pages/lists.php:156
304
- msgid "You need to select a Mailchimp list in order to create a form for it"
305
- msgstr ""
306
- "Vous devez sélectionner une liste MailChimp afin de créer un formulaire pour "
307
- "qu'il"
308
-
309
- #: .././pages/lists.php:215
310
- msgid "Are you sure you want to delete this form?"
311
- msgstr "Etes-vous sûr de vouloir supprimer cette forme?"
312
-
313
- #: .././pages/lists.php:258
314
- msgid ""
315
- "Are you sure you want to re-import this form and its fields from MailChimp?"
316
- msgstr ""
317
- "Etes-vous sûr de vouloir ré-importer ce formulaire et ses champs de "
318
- "MailChimp?"
319
-
320
- #: .././pages/lists.php:279
321
- msgid " was successfully updated"
322
- msgstr "a été mis à jour avec succès"
323
-
324
- #: .././pages/lists.php:293
325
- msgid "It looks like this form is already up to date!"
326
- msgstr "Il ressemble à ce formulaire est déjà à jour!"
327
-
328
- #: .././pages/lists.php:418
329
- msgid "Are you sure you want to unsubscribe"
330
- msgstr "Etes-vous sûr de vouloir vous désinscrire"
331
-
332
- #: .././pages/lists.php:418
333
- msgid "from this list?"
334
- msgstr "de cette liste?"
335
-
336
- #: .././pages/lists.php:434
337
- msgid "was successfully unsubscribed from this list."
338
- msgstr "a été désinscrit succès de cette liste."
339
-
340
- #: .././pages/lists.php:544 .././pages/options.php:234
341
- #: .././pages/options.php:465
342
- msgid "Easy Mailchimp Forms by YIKES, Inc."
343
- msgstr "Facile MailChimp Formulaires par YIKES, Inc."
344
-
345
- #: .././pages/lists.php:550
346
- msgid "Before you can add MailChimp forms to your site, you need to"
347
- msgstr ""
348
- "Avant de pouvoir ajouter des formulaires MailChimp à votre site, vous avez "
349
- "besoin de"
350
-
351
- #: .././pages/lists.php:550
352
- msgid "go to the MailChimp Settings page"
353
- msgstr "aller à la page Paramètres MailChimp"
354
-
355
- #: .././pages/lists.php:550 .././templates/yikes-mailchimp-widget.php:156
356
- msgid "and add your API Key."
357
- msgstr "et ajouter votre clé API."
358
-
359
- #: .././pages/lists.php:558
360
- msgid "You must enter a valid API key to import and manage your lists."
361
- msgstr ""
362
- "Vous devez entrer une clé API valide pour importer et gérer vos listes."
363
-
364
- #: .././pages/lists.php:569
365
- msgid "Your Lists"
366
- msgstr "Vos listes"
367
-
368
- #: .././pages/lists.php:579
369
- msgid "Manage Forms"
370
- msgstr "Gérer les formulaires"
371
-
372
- #: .././pages/options.php:46
373
- msgid "The options were saved successfully!"
374
- msgstr "Les options ont été enregistrées avec succès!"
375
-
376
- #: .././pages/options.php:49
377
- msgid "The options could not be saved (or you did not change them)."
378
- msgstr ""
379
- "Les options ne pouvaient être sauvés (ou que vous n'avez pas à changer)."
380
-
381
- #: .././pages/options.php:104
382
- msgid "Valid API Key"
383
- msgstr "Clé API valide"
384
-
385
- #: .././pages/options.php:110
386
- msgid "Sorry, that is an invalid MailChimp API key."
387
- msgstr "Désolé, c'est une clé non valide API MailChimp."
388
-
389
- #: .././pages/options.php:116
390
- msgid ""
391
- "Sorry, that is an invalid MailChimp API key. Please check the console for "
392
- "further information."
393
- msgstr ""
394
- "Désolé, c'est une clé non valide API MailChimp. S'il vous plaît vérifier la "
395
- "console pour plus d'informations."
396
-
397
- #: .././pages/options.php:125
398
- msgid "Error: Please enter a valid Mail Chimp API Key."
399
- msgstr "Erreur: S'il vous plaît entrer un email chimpanzé clé API valide."
400
-
401
- #: .././pages/options.php:143
402
- msgid ""
403
- "Are you sure you want to reset your MailChimp settings? This cannot be "
404
- "undone."
405
- msgstr ""
406
- "Etes-vous sûr que vous voulez réinitialiser vos paramètres MailChimp? Cela "
407
- "ne peut pas être annulée."
408
-
409
- #: .././pages/options.php:156
410
- msgid "MailChimp settings have successfully been reset"
411
- msgstr "MailChimp paramètres ont été réinitialisés avec succès"
412
-
413
- #: .././pages/options.php:237
414
- msgid "Manage Mailchimp Forms Settings"
415
- msgstr "Gérer MailChimp Forms Paramètres"
416
-
417
- #: .././pages/options.php:243
418
- msgid "WordPress Version Number Error"
419
- msgstr "WordPress numéro de version erreur"
420
-
421
- #: .././pages/options.php:244
422
- msgid ""
423
- "We're sorry, but it looks like your using an outdated version of WordPress. "
424
- "You won't be able to access the tinyMCE button to insert forms into pages "
425
- "and posts unless you update to 3.9 or later."
426
- msgstr ""
427
- "Nous sommes désolés, mais il semble que votre utilisation d'une version à "
428
- "jour de WordPress. Vous ne serez pas en mesure d'accéder au bouton de "
429
- "TinyMCE pour insérer des formes dans des pages et des postes, sauf si vous "
430
- "mettez à jour vers 3.9 ou une version ultérieure."
431
-
432
- #: .././pages/options.php:253
433
- msgid "LocalHost Detected :"
434
- msgstr "LocalHost détecté:"
435
-
436
- #: .././pages/options.php:254
437
- msgid ""
438
- "It looks like your using Easy MailChimp Forms by YIKES Inc. on localhost."
439
- msgstr ""
440
- "Il semble que votre utilisation d'Easy MailChimp formes par YIKES Inc. sur "
441
- "localhost."
442
-
443
- #: .././pages/options.php:255
444
- msgid ""
445
- "If you are unable to validate your API key, and receive the error message"
446
- msgstr ""
447
- "Si vous ne parvenez pas à valider votre clé API, et recevez le message "
448
- "d'erreur"
449
-
450
- #: .././pages/options.php:255
451
- msgid "\"SSL certificate problem: unable to get local issuer certificate\" "
452
- msgstr ""
453
- "\"Problème de certificat SSL: impossible d'obtenir locale certificat de "
454
- "l'émetteur\" "
455
-
456
- #: .././pages/options.php:255
457
- msgid "follow the tutorial located "
458
- msgstr "suivre le tutoriel situé "
459
-
460
- #: .././pages/options.php:268
461
- msgid "Your Mailchimp API Key"
462
- msgstr "Votre clé API MailChimp"
463
-
464
- #: .././pages/options.php:276
465
- msgid ""
466
- "Please enter your MailChimp API Key above. The API Key allows your WordPress "
467
- "site to communicate with your MailChimp account."
468
- msgstr ""
469
- "S'il vous plaît, entrez votre clé API MailChimp ci-dessus. La clé API permet "
470
- "à votre site WordPress pour communiquer avec votre compte MailChimp."
471
-
472
- #: .././pages/options.php:277
473
- msgid "For more help, visit the MailChimp Support article"
474
- msgstr "Pour plus d'aide, consultez l'article MailChimp soutien"
475
-
476
- #: .././pages/options.php:277
477
- msgid "Where can I find my API Key?"
478
- msgstr "Où puis-je trouver ma clé de l'API?"
479
-
480
- #: .././pages/options.php:282
481
- msgid "Preferred Form Layout"
482
- msgstr "Privilégiées disposition du formulaire"
483
-
484
- #: .././pages/options.php:285
485
- msgid "table"
486
- msgstr "table"
487
-
488
- #: .././pages/options.php:286
489
- msgid "div"
490
- msgstr "div"
491
-
492
- #: .././pages/options.php:294
493
- msgid "Choose whether you want your forms to use a table or div layout."
494
- msgstr ""
495
- "Choisissez si vous voulez que vos formulaires à utiliser une table ou div "
496
- "disposition."
497
-
498
- #: .././pages/options.php:299
499
- msgid "Advanced Error Messaging"
500
- msgstr "Messagerie Erreur avancée"
501
-
502
- #: .././pages/options.php:302
503
- msgid "Disabled"
504
- msgstr "Désactivé"
505
-
506
- #: .././pages/options.php:303
507
- msgid "Enabled"
508
- msgstr "Activé"
509
-
510
- #: .././pages/options.php:311
511
- msgid ""
512
- "Enable if you're having problems with your forms sending data to MailChimp. "
513
- "Enabling Advanced Error Messaging will show you the exact error codes "
514
- "MailChimp is returning."
515
- msgstr ""
516
- "Activer si vous avez des problèmes avec vos formes envoi de données à "
517
- "MailChimp. Activation avancée Messagerie d'erreur vous indiquera les codes "
518
- "d'erreur exact MailChimp est de retour."
519
-
520
- #: .././pages/options.php:319
521
- msgid "Single Opt-In"
522
- msgstr "Simple Opt-In"
523
-
524
- #: .././pages/options.php:320
525
- msgid "Double Opt-In"
526
- msgstr "Double Opt-In"
527
-
528
- #: .././pages/options.php:328
529
- msgid ""
530
- "A single opt-in will add the user to your list without any further "
531
- "interaction."
532
- msgstr ""
533
- "Un opt-in unique va ajouter l'utilisateur à votre liste sans autre "
534
- "interaction."
535
-
536
- #: .././pages/options.php:329
537
- msgid ""
538
- "A double opt-in will send an email to the user asking them to confirm their "
539
- "subscription."
540
- msgstr ""
541
- "Un double opt-in va envoyer un e-mail à l'utilisateur en leur demandant de "
542
- "confirmer leur abonnement."
543
-
544
- #: .././pages/options.php:330
545
- msgid "This will also dictate the opt-in settings for people leaving comments."
546
- msgstr ""
547
- "Ce sera également dicter les paramètres d'opt-in pour les personnes laissant "
548
- "des commentaires."
549
-
550
- #: .././pages/options.php:335
551
- msgid "Custom Opt-In Message"
552
- msgstr "Personnalisé Opt-In message"
553
-
554
- #: .././pages/options.php:337
555
- msgid "Double Opt-In Message"
556
- msgstr "Double Opt-In message"
557
-
558
- #: .././pages/options.php:341
559
- msgid "Single Opt-In Message"
560
- msgstr "Simple Opt-In message"
561
-
562
- #: .././pages/options.php:351
563
- msgid "Note: You can include html markup in your confirmation message."
564
- msgstr ""
565
- "Remarque: Vous pouvez inclure les balises HTML dans votre message de "
566
- "confirmation."
567
-
568
- #: .././pages/options.php:356
569
- msgid "Interest Group Label"
570
- msgstr "Label Groupe d'intérêt"
571
-
572
- #: .././pages/options.php:365
573
- msgid ""
574
- "Text to display above interest groups. Leave blank to use MailChimp interest "
575
- "group names."
576
- msgstr ""
577
- "Texte à afficher au-dessus des groupes d'intérêt. Laissez vide pour utiliser "
578
- "MailChimp noms de groupes d'intérêt."
579
-
580
- #: .././pages/options.php:370
581
- msgid "Display opt-in checkbox on comment forms?"
582
- msgstr "Affichage opt-in case sur les formulaires de commentaires?"
583
-
584
- #: .././pages/options.php:373
585
- msgid "Hide"
586
- msgstr "Cacher"
587
-
588
- #: .././pages/options.php:374
589
- msgid "Show"
590
- msgstr "Afficher"
591
-
592
- #: .././pages/options.php:382
593
- msgid ""
594
- "This will display a checkbox just above the submit button on all comment "
595
- "forms. If selected, any users leaving comments will also be added to the "
596
- "mailing list."
597
- msgstr ""
598
- "Cela permet d'afficher une case à cocher au-dessus du bouton d'envoi de "
599
- "toutes les formes de commentaire. Si elle est sélectionnée, tous les "
600
- "utilisateurs qui quittent commentaires seront également ajoutés à la liste "
601
- "de diffusion."
602
-
603
- #: .././pages/options.php:387
604
- msgid "Custom Comment Checkbox Text"
605
- msgstr "Commentaire personnalisé cocher texte"
606
-
607
- #: .././pages/options.php:394
608
- msgid "Default List"
609
- msgstr "Liste par Défaut"
610
-
611
- #: .././pages/options.php:409
612
- msgid ""
613
- "This is the default list users will be subscribed to when submitting a "
614
- "comment."
615
- msgstr ""
616
- "Il s'agit de la liste par défaut les utilisateurs seront souscrites lors de "
617
- "la présentation d'un commentaire."
618
-
619
- #: .././pages/options.php:410
620
- msgid ""
621
- "It is best to select a form where only the email , first name and/or last "
622
- "name are required or you may run into issues."
623
- msgstr ""
624
- "Il est préférable de choisir une forme où seul le courrier électronique, le "
625
- "prénom et / ou nom de famille sont tenus ou vous pouvez rencontrer des "
626
- "problèmes."
627
-
628
- #: .././pages/options.php:422
629
- msgid "Plugin Information"
630
- msgstr "Informations Plugin"
631
-
632
- #: .././pages/options.php:425
633
- msgid "If you experience any issues with our plugin, please"
634
- msgstr "Si vous rencontrez des problèmes avec notre plugin, s'il vous plaît"
635
-
636
- #: .././pages/options.php:425
637
- msgid "submit a New Issue on our Github Issue Tracker"
638
- msgstr "présenter une nouvelle émission sur notre Tracker Github d'émission"
639
-
640
- #: .././pages/options.php:425
641
- msgid ""
642
- "Please include the information below to help us troubleshoot your problem."
643
- msgstr ""
644
- "S'il vous plaît inclure les informations ci-dessous pour nous aider à régler "
645
- "votre problème."
646
-
647
- #: .././pages/options.php:433
648
- msgid "Plugin Version"
649
- msgstr "Version Plugin"
650
-
651
- #: .././pages/options.php:437
652
- msgid "Wordpress Version"
653
- msgstr "Version Wordpress"
654
-
655
- #: .././pages/options.php:441
656
- msgid "Browser Information"
657
- msgstr "Information sur le navigateur"
658
-
659
- #: .././pages/options.php:469
660
- msgid "Error"
661
- msgstr "Erreur"
662
-
663
- #: .././pages/options.php:470
664
- msgid ""
665
- "We're sorry, but cURL is disabled on your server. The MailChimp API utilizes "
666
- "cURL to send and retrieve data."
667
- msgstr ""
668
- "Nous sommes désolés, mais cURL est désactivé sur votre serveur. L'API "
669
- "MailChimp utilise cURL pour envoyer et récupérer des données."
670
-
671
- #: .././pages/options.php:475
672
- msgid "Help!"
673
- msgstr "A l'aide!"
674
-
675
- #: .././pages/options.php:475
676
- msgid "What is cURL?"
677
- msgstr "Quelle est cURL?"
678
-
679
- #: .././pages/options.php:475
680
- msgid "Check phpinfo()"
681
- msgstr "Vérifiez la fonction phpinfo ()"
682
-
683
- #: .././pages/options.php:477
684
- msgid "Steps To Resolve The Issue"
685
- msgstr "Étapes pour résoudre le problème"
686
-
687
- #: .././pages/options.php:481
688
- msgid ""
689
- "You can enable cURL by turning on the cURL module within your php.ini file"
690
- msgstr ""
691
- "Vous pouvez activer cURL en tournant sur le module cURL dans votre fichier "
692
- "php.ini"
693
-
694
- #: .././pages/options.php:481
695
- msgid "You should find the php.ini file located here : "
696
- msgstr "Vous devriez trouver le fichier php.ini situé ici: "
697
-
698
- #: .././pages/options.php:482
699
- msgid ""
700
- "Once found, open up php.ini and locate the line \";extension=php_curl.dll\"."
701
- msgstr ""
702
- "Une fois trouvé, ouvrez le fichier php.ini et recherchez la ligne \"; "
703
- "extension = php_curl.dll\"."
704
-
705
- #: .././pages/options.php:483
706
- msgid ""
707
- "Remove the semi colon before the line, to un-comment it and make the cURL "
708
- "module active."
709
- msgstr ""
710
- "Retirez le point-virgule avant la ligne, pour non-commenter et faire le "
711
- "module cURL active."
712
-
713
- #: .././pages/options.php:484
714
- msgid "Re-save and close the file."
715
- msgstr "Re-enregistrer et fermer le fichier."
716
-
717
- #: .././pages/options.php:485
718
- msgid "Restart your Apache and MySQL services and re-load this page."
719
- msgstr "Redémarrez vos services Apache et MySQL et re-charge sur cette page."
720
-
721
- #: .././templates/shortcode_error.php:1
722
- msgid "There was an error calling the mailchimp list."
723
- msgstr "Il y avait une erreur d'appeler la liste de mailchimp."
724
-
725
- #: .././templates/shortcode_error_data.php:1
726
- msgid ""
727
- "The list doesn't exist! Make sure you have imported the list on the \"Manage "
728
- "List Forms\" page."
729
- msgstr ""
730
- "La liste n'existe pas! Assurez-vous que vous avez importé la liste sur le "
731
- "\"Gérer Formulaires de liste\" page."
732
-
733
- #: .././templates/shortcode_error_exists.php:1
734
- msgid "This list was already placed on this page!"
735
- msgstr "Cette liste a été déjà mis sur cette page!"
736
-
737
- #: .././templates/shortcode_error_no_API_key.php:1
738
- msgid "Woops! No Valid API Key Found. Double check your settings."
739
- msgstr ""
740
- "Oups! Pas de clé API valide n'a été trouvée. Double vérifier vos paramètres."
741
-
742
- #: .././templates/shortcode_form.php:13
743
- msgid "Oops.. Don't forget to fill-in the following fields"
744
- msgstr "Oups .. Ne pas oublier de remplir les champs suivants"
745
-
746
- #: .././templates/shortcode_form.php:14
747
- msgid "Error - The following fields are required, and may not be left blank "
748
- msgstr ""
749
- "Erreur - Les champs suivants sont obligatoires, et ne peuvent pas être "
750
- "laissées en blanc"
751
-
752
- #: .././templates/shortcode_form.php:112
753
- msgid "required field"
754
- msgstr "champ obligatoire"
755
-
756
- #: .././templates/yikes-mailchimp-widget.php:15
757
- #: .././templates/yikes-mailchimp-widget.php:18
758
- msgid "MailChimp Signup Form"
759
- msgstr "MailChimp Formulaire d'inscription"
760
-
761
- #: .././templates/yikes-mailchimp-widget.php:27
762
- msgid "Select Which Form You Would Like To Display:"
763
- msgstr "Sélectionnez quelle forme vous souhaitez afficher:"
764
-
765
- #: .././templates/yikes-mailchimp-widget.php:30
766
- msgid "Select a Form to Display"
767
- msgstr "Sélectionnez un formulaire pour afficher"
768
-
769
- #: .././templates/yikes-mailchimp-widget.php:47
770
- msgid "Please import MailChimp forms"
771
- msgstr "S'il vous plaît importer des formulaires MailChimp"
772
-
773
- #: .././templates/yikes-mailchimp-widget.php:49
774
- msgid "Please import some lists from MailChimp"
775
- msgstr "S'il vous plaît importer des listes de MailChimp"
776
-
777
- #: .././templates/yikes-mailchimp-widget.php:52
778
- msgid "Import Lists Now"
779
- msgstr "Listes d'importation maintenant"
780
-
781
- #: .././templates/yikes-mailchimp-widget.php:73
782
- msgid ""
783
- "Oops! It looks like you haven't imported any lists yet. You must import at "
784
- "least one list to use the Easy MailChimp widget."
785
- msgstr ""
786
- "Oops! Il semble que vous n'avez pas encore importé des listes. Vous devez "
787
- "importer au moins une liste à utiliser le widget facile MailChimp."
788
-
789
- #: .././templates/yikes-mailchimp-widget.php:80
790
- msgid ""
791
- "Oops! It looks like you forgot to select a form to display here. Go to "
792
- "'Appearance > Widgets' and select a form to display."
793
- msgstr ""
794
- "Oops! On dirait que vous avez oublié de sélectionner un formulaire pour "
795
- "afficher ici. Allez sur 'Apparence> Widgets »et sélectionnez une forme à "
796
- "afficher."
797
-
798
- #: .././templates/yikes-mailchimp-widget.php:117
799
- msgid "Sign Up For Our Newsletter"
800
- msgstr "Inscrivez-vous à notre Newsletter"
801
-
802
- #: .././templates/yikes-mailchimp-widget.php:129
803
- msgid "Sign Me Up"
804
- msgstr "Je m'inscris"
805
-
806
- #: .././templates/yikes-mailchimp-widget.php:133
807
- msgid "Title:"
808
- msgstr "Titre:"
809
-
810
- #: .././templates/yikes-mailchimp-widget.php:138
811
- msgid "Form Text:"
812
- msgstr "Formulaire de texte:"
813
-
814
- #: .././templates/yikes-mailchimp-widget.php:146
815
- msgid "Submit Button Text:"
816
- msgstr "Bouton Envoyer texte:"
817
-
818
- #: .././templates/yikes-mailchimp-widget.php:156
819
- msgid "Oops! It looks like you haven't added your API key! Head over to the"
820
- msgstr ""
821
- "Oops! Il semble que vous n'avez pas ajouté votre clé API! Rendez-vous sur le"
822
-
823
- #: .././templates/yikes-mailchimp-widget.php:156
824
- msgid "Settings page"
825
- msgstr "page Paramètres"
826
-
827
- #~ msgid "No forms have been added yet."
828
- #~ msgstr "Aucune forme n'a encore été ajoutée."
829
-
830
- #~ msgid "Re-load this page."
831
- #~ msgstr "Recharger cette page."
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
pages/about.php CHANGED
@@ -60,4 +60,6 @@
60
  </p>
61
  </div>
62
 
63
- </div>
 
 
60
  </p>
61
  </div>
62
 
63
+ </div>
64
+
65
+ <?php $this->getTrackingGif('about'); ?>
pages/lists.php CHANGED
@@ -13,7 +13,7 @@
13
  {
14
  if($('#yks-list-wrapper .yks-list-container').size() <= 0)
15
  {
16
- var plugin_directory_url = '<?php echo plugin_dir_url( __FILE__ ); ?>';
17
  $('#yks-lists-dropdown').next().css('opacity',0);
18
  $('#yks-list-wrapper').css({ 'background' : 'url("'+plugin_directory_url+'yikes-inc-easy-mailchimp-extender/images/yks_mc_lets_get_started.png")', 'height' : '175px' , 'width' : '400px' , 'background-repeat' : 'no-repeat' , 'background-position' : 'center', 'margin-top' : '-6em' });
19
  }
@@ -252,8 +252,6 @@
252
  // function which imports a specified list from MailChimp
253
  $('.yks-mailchimp-import').live('click', function(e){
254
  var i = $(this).attr('rel');
255
- var form_name = $(this).parents('tbody').find('tr:first-child').find('.yks-mailchimp-listname').text();
256
- console.log(form_name);
257
 
258
  $("<div id='yks_mc_reset_plugin_settings'><div class='yks-mc-icon-yks-mc-warning yks-mc-delete-form-warning-icon'></div><p><?php _e("Are you sure you want to re-import this form and its fields from MailChimp?",'yikes-inc-easy-mailchimp-extender'); ?></p></div>").dialog({
259
  title : "Re-Import Form?",
@@ -275,23 +273,12 @@
275
  {
276
  $($('#yks-list-container_'+i)).replaceWith(MAILCHIMP);
277
  $('#yks-list-container_'+i).yksYellowFade();
278
- // alert the user that it was a success
279
- $("<div id='yks_mc_reset_plugin_settings'><div class='dashicons dashicons-yes yks-mc-success-icon'></div><p>Your MailChimp form \"<strong>"+form_name+"</strong>\"<?php _e(' was successfully updated', 'yikes-inc-easy-mailchimp-extender' ); ?></p></div>").dialog({
280
- title : "Form Successfully Updated",
281
- buttons : {
282
- "Ok" : function() {
283
- $(this).dialog("close");
284
- }
285
- },
286
- modal: true,
287
- resizable: false
288
- });
289
  initializeScrollableLists();
290
  }
291
  else
292
  {
293
  $("<div id='yks_mc_reset_plugin_settings'><div class='dashicons dashicons-yes yks-mc-success-icon'></div><p><?php _e("It looks like this form is already up to date!", "yikes-inc-easy-mailchimp-extender" ); ?></p></div>").dialog({
294
- title : "Form Up To Date",
295
  buttons : {
296
  "Ok" : function() {
297
  $(this).dialog("close");
@@ -581,4 +568,6 @@
581
  <?php echo $this->generateListContainers(); ?>
582
  </div>
583
  <?php } //end else statement if there is an api key ?>
584
- </div>
 
 
13
  {
14
  if($('#yks-list-wrapper .yks-list-container').size() <= 0)
15
  {
16
+ var plugin_directory_url = '<?php echo plugin_dir_url( $file ); ?>';
17
  $('#yks-lists-dropdown').next().css('opacity',0);
18
  $('#yks-list-wrapper').css({ 'background' : 'url("'+plugin_directory_url+'yikes-inc-easy-mailchimp-extender/images/yks_mc_lets_get_started.png")', 'height' : '175px' , 'width' : '400px' , 'background-repeat' : 'no-repeat' , 'background-position' : 'center', 'margin-top' : '-6em' });
19
  }
252
  // function which imports a specified list from MailChimp
253
  $('.yks-mailchimp-import').live('click', function(e){
254
  var i = $(this).attr('rel');
 
 
255
 
256
  $("<div id='yks_mc_reset_plugin_settings'><div class='yks-mc-icon-yks-mc-warning yks-mc-delete-form-warning-icon'></div><p><?php _e("Are you sure you want to re-import this form and its fields from MailChimp?",'yikes-inc-easy-mailchimp-extender'); ?></p></div>").dialog({
257
  title : "Re-Import Form?",
273
  {
274
  $($('#yks-list-container_'+i)).replaceWith(MAILCHIMP);
275
  $('#yks-list-container_'+i).yksYellowFade();
 
 
 
 
 
 
 
 
 
 
 
276
  initializeScrollableLists();
277
  }
278
  else
279
  {
280
  $("<div id='yks_mc_reset_plugin_settings'><div class='dashicons dashicons-yes yks-mc-success-icon'></div><p><?php _e("It looks like this form is already up to date!", "yikes-inc-easy-mailchimp-extender" ); ?></p></div>").dialog({
281
+ title : "Reset MailChimp Settings?",
282
  buttons : {
283
  "Ok" : function() {
284
  $(this).dialog("close");
568
  <?php echo $this->generateListContainers(); ?>
569
  </div>
570
  <?php } //end else statement if there is an api key ?>
571
+ </div>
572
+
573
+ <?php $this->getTrackingGif('lists'); ?>
pages/options.php CHANGED
@@ -30,32 +30,34 @@ jQuery(document).ready(function ($) {
30
  $('#yks-mailchimp-form').submit(function (e) {
31
  // Make sure the api key exists
32
  if (blankFieldCheck()) {
33
- tinyMCE.triggerSave();
34
  $('#yks-status').slideUp('fast');
35
- $.ajax({
36
- type: 'POST',
37
- url: ajaxurl,
38
- data: {
39
- action: 'yks_mailchimp_form',
40
- form_action: 'update_options',
41
- form_data: $('#yks-mailchimp-form').serialize()
42
- },
43
- dataType: 'json',
44
- success: function (MAILCHIMP) {
45
- if (MAILCHIMP == '1') {
46
- $('#yks-status').html('<div class=updated><p><?php _e('The options were saved successfully!', 'yikes-inc-easy-mailchimp-extender'); ?></p></div>');
47
- $('#yks-status').slideDown('fast');
48
- } else {
49
- $('#yks-status').html("<div class=error><p><?php _e("The options could not be saved (or you did not change them).", "yikes-inc-easy-mailchimp-extender"); ?></p></div>");
50
- $('#yks-status').slideDown('fast');
51
- console.log(MAILCHIMP);
52
- }
53
- },
54
- error : function(MAILCHIMP2) {
55
- console.log(MAILCHIMP2.responseText);
56
- }
57
- });
58
- }
 
 
 
59
  e.preventDefault();
60
  });
61
 
@@ -92,7 +94,7 @@ jQuery(document).ready(function ($) {
92
  },
93
  dataType: 'html',
94
  success: function(response) {
95
- // if our response contains 'Everything's Chimpy' - everything's good to go
96
  if(response.indexOf('Everything\'s Chimpy!') > -1) {
97
  var yikes_mc_ajax_response = response;
98
  jQuery('#ajax_list_replace').html(yikes_mc_ajax_response);
@@ -107,13 +109,13 @@ jQuery(document).ready(function ($) {
107
  // if our response contains 'Invalid MailChimp API Key' - display an error
108
  } else if (response.indexOf('Invalid Mailchimp API Key') > -1) {
109
  jQuery('.mailChimp_api_key_preloader').fadeOut('fast', function() {
110
- jQuery('.mailChimp_api_key_validation_message').html("<img src=<?php echo plugins_url().'/yikes-inc-easy-mailchimp-extender/images/yikes-mc-error-icon.png'; ?> alt=message > <?php _e("Sorry, that is an invalid MailChimp API key.","yikes-inc-easy-mailchimp-extender"); ?>").css("color", "red").fadeIn();
111
  });
112
  console.log('MailChimp API Response : '+response);
113
  } else {
114
  // if our response contains anything else, other than whats above, just let them know its invalid
115
  jQuery('.mailChimp_api_key_preloader').fadeOut('fast', function() {
116
- jQuery('.mailChimp_api_key_validation_message').html("<img src=<?php echo plugins_url().'/yikes-inc-easy-mailchimp-extender/images/yikes-mc-error-icon.png'; ?> alt=message > <?php _e("Sorry, that is an invalid MailChimp API key. Please check the console for further information.","yikes-inc-easy-mailchimp-extender"); ?>").css("color", "red").fadeIn();
117
  });
118
  console.log('MailChimp API Response : '+response);
119
  };
@@ -122,7 +124,7 @@ jQuery(document).ready(function ($) {
122
  } else {
123
  // if the length of the API input value is less than 1 (aka 0)
124
  jQuery('.mailChimp_api_key_preloader').fadeOut('fast', function() {
125
- jQuery('.mailChimp_api_key_validation_message').html("<img src=<?php echo plugins_url().'/yikes-inc-easy-mailchimp-extender/images/yikes-mc-error-icon.png'; ?> alt=message > <?php _e("Error: Please enter a valid Mail Chimp API Key.", "yikes-inc-easy-mailchimp-extender"); ?>").css("color", "red").fadeIn();
126
  });
127
  }
128
  }, 1);
@@ -208,24 +210,6 @@ jQuery(document).ready(function() {
208
  <?php
209
  $api_key_option = get_option( 'api_validation' );
210
  $wordPress_version = get_bloginfo( 'version' );
211
-
212
- // set up the options for our WYSIWYG editors
213
- // for the optin messages
214
- $single_optin_message_parameters = array(
215
- 'teeny' => true,
216
- 'textarea_rows' => 15,
217
- 'tabindex' => 1,
218
- 'textarea_name' => 'single-optin-message',
219
- 'drag_drop_upload' => true
220
- );
221
-
222
- $double_optin_message_parameters = array(
223
- 'teeny' => true,
224
- 'textarea_rows' => 15,
225
- 'tabindex' => 1,
226
- 'textarea_name' => 'double-optin-message',
227
- 'drag_drop_upload' => true
228
- );
229
  ?>
230
  <div class="wrap">
231
 
@@ -334,21 +318,10 @@ jQuery(document).ready(function() {
334
  <!-- Custom Opt-In Message -->
335
  <th scope="row"><label for="yks-mailchimp-custom-optIn-message"><?php _e('Custom Opt-In Message','yikes-inc-easy-mailchimp-extender'); ?></label></th>
336
  <td>
337
- <label for="double-optin-message" <?php if ($this->optionVal['optin'] == 'false') { echo 'style="display:none;"'; } ?>><b><?php _e('Double Opt-In Message','yikes-inc-easy-mailchimp-extender'); ?></b>
338
- <?php wp_editor( $this->optionVal['double-optin-message'] , 'double_optin_message', $double_optin_message_parameters); ?>
339
- </label>
340
-
341
- <label for="single-optin-message" <?php if ($this->optionVal['optin'] == 'true') { echo 'style="display:none;"'; } ?>><b><?php _e('Single Opt-In Message','yikes-inc-easy-mailchimp-extender'); ?></b>
342
- <?php wp_editor( $this->optionVal['single-optin-message'] , 'single_optin_message', $single_optin_message_parameters); ?>
343
- </label>
344
-
345
- </td>
346
- </tr>
347
- <tr>
348
- <td></td>
349
- <!-- Advanced Debug Description -->
350
- <td class="yks-settings-description">
351
- <em><?php _e('Note: You can include html markup in your confirmation message.','yikes-inc-easy-mailchimp-extender'); ?></em>
352
  </td>
353
  </tr>
354
  <tr valign="top">
@@ -451,7 +424,7 @@ jQuery(document).ready(function() {
451
  </div>
452
 
453
  <!-- Display Tracking Info? -->
454
- <?php
455
 
456
  // if cURL is not enabled on the site
457
  // we need to display an error and let the user know how to resolve the issue
@@ -467,7 +440,7 @@ jQuery(document).ready(function() {
467
 
468
  <div class="error">
469
  <h2><?php _e( 'Error', 'yikes-inc-easy-mailchimp-extender' ); ?></h2>
470
- <p><?php _e( 'We\'re sorry, but cURL is disabled on your server. The MailChimp API utilizes cURL to send and retrieve data.', 'yikes-inc-easy-mailchimp-extender' ); ?></p>
471
  <?php
472
  $this->yks_check_if_php_ini_exists();
473
  ?>
@@ -482,7 +455,7 @@ jQuery(document).ready(function() {
482
  <li><?php _e( 'Once found, open up php.ini and locate the line ";extension=php_curl.dll".', 'yikes-inc-easy-mailchimp-extender' ); ?></li>
483
  <li><?php _e( 'Remove the semi colon before the line, to un-comment it and make the cURL module active.', 'yikes-inc-easy-mailchimp-extender' ); ?></li>
484
  <li><?php _e( 'Re-save and close the file.', 'yikes-inc-easy-mailchimp-extender' ); ?></li>
485
- <li><?php _e( 'Restart your Apache and MySQL services and re-load this page.', 'yikes-inc-easy-mailchimp-extender' ); ?></li>
486
  </ol>
487
  <?php } else { ?>
488
  <p>Please get in touch with your hosting provider, and let them know that you need cURL enabled on your server for the plugin to communicate with the MailChimp API.</p>
30
  $('#yks-mailchimp-form').submit(function (e) {
31
  // Make sure the api key exists
32
  if (blankFieldCheck()) {
 
33
  $('#yks-status').slideUp('fast');
34
+ $.ajax({
35
+ type: 'POST',
36
+ url: ajaxurl,
37
+ data: {
38
+ action: 'yks_mailchimp_form',
39
+ form_action: 'update_options',
40
+ form_data: $('#yks-mailchimp-form').serialize()
41
+ },
42
+ dataType: 'json',
43
+ success: function (MAILCHIMP) {
44
+ if (MAILCHIMP == '1') {
45
+ console.log(MAILCHIMP);
46
+ $('#yks-status').html('<div class="updated"><p><?php _e('The options were saved successfully!', 'yikes-inc-easy-mailchimp-extender'); ?></p></div>');
47
+ $('#yks-status').slideDown('fast');
48
+ } else {
49
+ $('#yks-status').html('<div class="error"><p><?php _e('The options could not be saved (or you did not change them).', 'yikes-inc-easy-mailchimp-extender'); ?></p></div>');
50
+ $('#yks-status').slideDown('fast');
51
+ console.log(MAILCHIMP);
52
+ }
53
+ },
54
+ error : function(MAILCHIMP2) {
55
+ console.log(MAILCHIMP2.responseText);
56
+ }
57
+ });
58
+ } else {
59
+ // alert('not blank');
60
+ }
61
  e.preventDefault();
62
  });
63
 
94
  },
95
  dataType: 'html',
96
  success: function(response) {
97
+ // if our response contains 'Everything's Chimpty' - everythings good to go
98
  if(response.indexOf('Everything\'s Chimpy!') > -1) {
99
  var yikes_mc_ajax_response = response;
100
  jQuery('#ajax_list_replace').html(yikes_mc_ajax_response);
109
  // if our response contains 'Invalid MailChimp API Key' - display an error
110
  } else if (response.indexOf('Invalid Mailchimp API Key') > -1) {
111
  jQuery('.mailChimp_api_key_preloader').fadeOut('fast', function() {
112
+ jQuery('.mailChimp_api_key_validation_message').html('<img src="<?php echo plugins_url().'/yikes-inc-easy-mailchimp-extender/images/yikes-mc-error-icon.png'; ?>" alt=message > <?php _e('Sorry, that is an invalid MailChimp API key.','yikes-inc-easy-mailchimp-extender'); ?>').css("color", "red").fadeIn();
113
  });
114
  console.log('MailChimp API Response : '+response);
115
  } else {
116
  // if our response contains anything else, other than whats above, just let them know its invalid
117
  jQuery('.mailChimp_api_key_preloader').fadeOut('fast', function() {
118
+ jQuery('.mailChimp_api_key_validation_message').html('<img src="<?php echo plugins_url().'/yikes-inc-easy-mailchimp-extender/images/yikes-mc-error-icon.png'; ?>" alt=message > <?php _e('Sorry, that is an invalid MailChimp API key. Please check the console for further information.','yikes-inc-easy-mailchimp-extender'); ?>').css("color", "red").fadeIn();
119
  });
120
  console.log('MailChimp API Response : '+response);
121
  };
124
  } else {
125
  // if the length of the API input value is less than 1 (aka 0)
126
  jQuery('.mailChimp_api_key_preloader').fadeOut('fast', function() {
127
+ jQuery('.mailChimp_api_key_validation_message').html('<img src="<?php echo plugins_url().'/yikes-inc-easy-mailchimp-extender/images/yikes-mc-error-icon.png'; ?>" alt=message > <?php _e('Error: Please enter a valid Mail Chimp API Key.','yikes-inc-easy-mailchimp-extender'); ?>').css("color", "red").fadeIn();
128
  });
129
  }
130
  }, 1);
210
  <?php
211
  $api_key_option = get_option( 'api_validation' );
212
  $wordPress_version = get_bloginfo( 'version' );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
213
  ?>
214
  <div class="wrap">
215
 
318
  <!-- Custom Opt-In Message -->
319
  <th scope="row"><label for="yks-mailchimp-custom-optIn-message"><?php _e('Custom Opt-In Message','yikes-inc-easy-mailchimp-extender'); ?></label></th>
320
  <td>
321
+ <label for="double-optin-message" <?php if ($this->optionVal['optin'] == 'false') { echo 'style="display:none;"'; } ?>><b><?php _e('Double Opt-In Message','yikes-inc-easy-mailchimp-extender'); ?></b><br />
322
+ <textarea name="double-optin-message" class="double-optin-message" id="double-optin-message" value="<?php echo $this->optionVal['double-optin-message']; ?>"><?php echo $this->optionVal['double-optin-message']; ?></textarea></label>
323
+ <label for="single-optin-message" <?php if ($this->optionVal['optin'] == 'true') { echo 'style="display:none;"'; } ?>><b><?php _e('Single Opt-In Message','yikes-inc-easy-mailchimp-extender'); ?></b><br />
324
+ <textarea name="single-optin-message" class="single-optin-message" id="single-optin-message" value="<?php echo $this->optionVal['single-optin-message']; ?>"><?php echo $this->optionVal['single-optin-message']; ?></textarea></label>
 
 
 
 
 
 
 
 
 
 
 
325
  </td>
326
  </tr>
327
  <tr valign="top">
424
  </div>
425
 
426
  <!-- Display Tracking Info? -->
427
+ <?php $this->getTrackingGif('options');
428
 
429
  // if cURL is not enabled on the site
430
  // we need to display an error and let the user know how to resolve the issue
440
 
441
  <div class="error">
442
  <h2><?php _e( 'Error', 'yikes-inc-easy-mailchimp-extender' ); ?></h2>
443
+ <p><?php _e( 'We\'re sorry, but cURL is disabled on your server. The MailChimp API utilizes cURL to send and retreive data.', 'yikes-inc-easy-mailchimp-extender' ); ?></p>
444
  <?php
445
  $this->yks_check_if_php_ini_exists();
446
  ?>
455
  <li><?php _e( 'Once found, open up php.ini and locate the line ";extension=php_curl.dll".', 'yikes-inc-easy-mailchimp-extender' ); ?></li>
456
  <li><?php _e( 'Remove the semi colon before the line, to un-comment it and make the cURL module active.', 'yikes-inc-easy-mailchimp-extender' ); ?></li>
457
  <li><?php _e( 'Re-save and close the file.', 'yikes-inc-easy-mailchimp-extender' ); ?></li>
458
+ <li><?php _e( ' Restart your Apache and MySQL services and re-load this page.', 'yikes-inc-easy-mailchimp-extender' ); ?></li>
459
  </ol>
460
  <?php } else { ?>
461
  <p>Please get in touch with your hosting provider, and let them know that you need cURL enabled on your server for the plugin to communicate with the MailChimp API.</p>
readme.md CHANGED
@@ -1,35 +1,24 @@
1
  Easy MailChimp Forms
2
  ===========
3
- Easy MailChimp Forms allows you to painlessly add MailChimp signup forms to your WordPress site. You can add forms to posts, pages or sidebars with shortcodes, widgets or template tags. Simply copy and paste your MailChimp API Key into the plugin admin settings and it will pull in all your MailChimp lists. From there you can choose the lists you want to make forms for. For a single list you can check off the fields you want to include on your form and order them via an easy drag-and-drop interface. This plugin adds plenty of CSS selectors to the form code allowing you to completely customize the look of your forms.
4
-
5
- **Note:** You will need a MailChimp API key to allow this plugin to communicate with your MailChimp account. For help on retrieving your API key, check out #4 of the [FAQ?](http://wordpress.org/plugins/yikes-inc-easy-mailchimp-extender/faq/ "FAQ") section. You can also read the MailChimp knowledge base article [Where can I find my API Key?](http://kb.mailchimp.com/article/where-can-i-find-my-api-key "Where can I find my API Key?").
6
 
7
  Instructions on how to use the plugin can be [found on the FAQ](http://wordpress.org/plugins/yikes-inc-easy-mailchimp-extender/faq/ "found on the FAQ"). If you experience any problems, please submit a New Issue on our [Github Issue Tracker](https://github.com/yikesinc/yikes-inc-easy-mailchimp-extender/issues "Github Issue Tracker") and we'll look in to it as soon as possible.
8
 
9
  Features
10
  ===========
11
 
12
- 1. Easily import MailChimp forms from a MailChimp account
13
- 1. Use MailChimp Interest Group/Segments
14
- 1. Add MailChimp forms sidebars/widgetized areas with widgets
15
- 1. Set forms to single or double opt-in
16
- 1. Customize the success message
17
- 1. Customize the submit button text
18
- 1. Redirect users to a page on submission
19
- 1. Unsubscribe users from MailChimp lists
20
- 1. View subscriber MailChimp profiles
21
- 1. View individual form subscriber count
22
- 1. Display multiple forms on a single page
23
- 1. Add commenters to your MailChimp lists with a comment form opt-in check box
24
- 1. Easily add forms to pages and posts with a button in the page/post editor
25
- 1. Use cURL error detection to troubleshoot MailChimp connection issues
26
-
27
- Coming Soon
28
- ===========
29
- 1. ReCaptcha for spam prevention
30
- 1. MailChimp Campaign statistic tracking
31
- 1. Track list growth, campaign opens, un-subscribes, user interactivity and much more!
32
- 1. View further MailChimp account details such as account level, emails left for the month etc.
33
 
34
  Installation
35
  ===========
@@ -38,7 +27,7 @@ Installation
38
  1. Log in to yourdomain.com/wp-admin
39
  1. Click Plugins -> Add New -> Upload
40
  1. Activate the plugin
41
- 1. Go over to [MailChimp.com](http://www.mailchimp.com) and login.
42
  1. On the right hand menu, click your profile picture and select 'Account Settings' and then go to 'Extras > API Keys'.
43
  1. Enter your API key into the text field inside 'MailChimp Forms > MailChimp Settings'
44
  1. Start importing forms from MailChimp and adding them to posts, pages and widgets!
@@ -46,79 +35,53 @@ Installation
46
  Frequently Asked Questions
47
  ===========
48
 
49
- #### Do I need to have a MailChimp Account?
50
  Yes, you can register for one for free at [MailChimp](https://mailchimp.com/signup/ "MailChimp Signup").
51
 
52
- #### Do I need to have lists already set up in MailChimp?
53
  Yes, you have to have at least 1 list set up in MailChimp.
54
 
55
  For more help, visit the MailChimp Support article [How do I create a new list?](http://kb.mailchimp.com/article/where-can-i-find-my-api-key "How do I create a new list?")
56
 
57
- #### What do I do first?
58
  The first step is to add your MailChimp API key. This will allow your site to communicate with your MailChimp account. This is done on the plugin "MailChimp Settings" page.
59
 
60
- #### Where do I find my API Key?
61
  From your MailChimp Dashboard, click on your account name in the upper left hand corner of the screen under the MailChimp logo to expose the "Account Settings" menu. Click on "Account Settings" to go to the Account Settings screen and the click on the "Extras" menu. Under "Extras" choose "API keys." From there you can create a new key if you do not already have one.
62
 
63
  For more help, visit the MailChimp Support article [Where can I find my API Key?](http://kb.mailchimp.com/article/where-can-i-find-my-api-key "Where can I find my API Key?")
64
 
65
- #### How to I add my MailChimp lists?
66
  After you add your API key, the plugin will fetch all of your MailChimp list information and load it into the plugin admin. Go to the plugin "Manage List Forms" page to choose the lists you want to make forms for.
67
 
68
- #### How do I add the MailChimp signup forms to my site?
69
- You can use a shortcode to add a form to a page or post, use the MailChimp form button in the visual editor or use a widget to add it to a sidebar. Each list on the plugin "Manage List Forms" displays a shortcode at the top. Copy the shortcode and paste it into any post or page where you want a form to appear. For example, if my form had the shortcode [yks-mailchimp-list id="1234567891"] I would copy and paste that into the page or post I wanted to add that form to.
70
-
71
- #### I input a valid MailChimp API key, but it returns invalid every time. I've already tried a new API key, but no dice. What's up?
72
 
73
- **Step 1:** Ensure that cURL is enabled at the server level. You will see an error at the top of the settings page if cURL is disabled. If you see no error, continue to step 2.
 
74
 
75
- **Step 2:** If you have entered your MailChimp API key and are still getting the error "*Error: Please enter a valid Mail Chimp API Key*," please check the developer console inside your browser for further information.
76
-
77
- - Right-click in the API Key input field, and select 'Inpsect Element'
78
- - Once the developer console is open, select the Console tab to see a more specific error.
79
-
80
- For information on how to use your browser's developer console, read the WordPress Codex article, [Using Your Browser to Diagnose JavaScript Errors](http://codex.wordpress.org/Using_Your_Browser_to_Diagnose_JavaScript_Errors).
81
-
82
- **Possible Errors And Resolutions**
83
 
84
- * Could not resolve host: xxxx.api.mailchimp.com - the host you have provided is incorrect. The host is the string after the last dash (example: us2)
85
- * Invalid Mailchimp API Key: xxxxxxxxxxxxxxxxxx-xxx - Your API key is invalid. You can confirm a valid key by logging into [MailChimp](http://mailchimp.com) and checking the active API key registered to your account.
86
 
87
- #### I don't want the form to be the 100% width. How can I adjust the width myself?
88
- You can adjust the width of the forms on your site by changing the width of the element with the class .yks-mailchimpFormContainer. This is the parent container for the form. Adjusting this width will control the width of the input fields inside of it.
89
 
90
- #### How can I translate this plugin?
91
- Easy MailChimp Forms is now translated into multiple languages:
 
 
 
 
 
 
92
 
93
- + Arabic
94
- + Chinese
95
- + English
96
- + French
97
- + German
98
- + Greek
99
- + Hebrew
100
- + Hindi
101
- + Hong Kong
102
- + Italian
103
- + Japanese
104
- + Korean
105
- + Persian
106
- + Portuguese (Brazilian)
107
- + Portuguese (European)
108
- + Romanian
109
- + Russian
110
- + Spanish
111
- + Swedish
112
- + Taiwanese
113
- + Tamil
114
- + Urdu
115
- + Vietnamese
116
- + Welsh
117
-
118
- Read the Codex article [Installing WordPress in Your Language](http://codex.wordpress.org/Installing_WordPress_in_Your_Language) for more information. Also, please refer to our [Developer Docs](http://wordpress.org/plugins/yikes-inc-easy-mailchimp-extender/other_notes/).
119
 
120
  #### Do you provide any hooks, or filters for me to take advantage of?
121
- Yes! With the 4.0 version of our plugin we have added a few hooks that allow you to add or manipulate existing data. Check out the [Other Notes](http://wordpress.org/plugins/yikes-inc-easy-mailchimp-extender/other_notes/) tab for more information.
122
 
123
  Developer Documentation
124
  ===========
@@ -415,41 +378,38 @@ These functions should be used in conjunction with the `yikes_mc_get_form_data`
415
  ?>
416
  ```
417
 
418
- Changes
419
  ===========
420
- ### 4.3.1
421
- * Removed the_content filter, added custom filter to prevent other plugins from hooking in
422
- * Re-work redirect function to prevent infinite loop (and no redirect) issue
423
-
424
- ### 4.3
425
- * Updated radio button fields
426
- * Re-worked related JS and PHP functions
427
-
428
- ### 4.2.2
429
- * Added open_basedir conditional check to toggle CURLOPT_FOLLOWLOCATION based on users server settings
430
- * Prevents warning being thrown for users on shared hosts with an open_basedir set
431
-
432
- ### 4.2.1
433
- * Removed all unnecessary Google tracking codes and functions
434
-
435
- ### 4.2
436
- * Updated FAQ
437
- * Re-worked the redirect for a better user experience
438
- * Unified error messages into a single container on the front end
439
- * Converted custom opt-in messages to utilize the WYSIWYG editors ( now allowing for html and images to be used in your success messages )
440
- * Re-styled front end interest group containers
441
-
442
- ### 4.1
443
- * Fixed JavaScript errors on when Address field is set to required
444
- * Added user feedback on successful re-import of form
445
- * Fixed some style issues
446
- * Added animate.css
447
- * Added class to required fields that were left empty
448
- * Remove outdated jQuery
449
- * Now error is appended to the form, instead of alerted through JavaScript
450
- * Fixed date picker field, and images associated to it
451
- * Added ability to include html mark-up to confirmation fields
452
 
 
 
 
453
  ### 4.0
454
  * Added Interest Group/Segment Support
455
  * Ability To See Number of Subscriber Per List
@@ -512,20 +472,20 @@ Changes
512
  * Added ability to choose Divs or Tables
513
 
514
  ### 1.3.1:
515
- * Added nopriv ajax action for anonymous users
516
 
517
  ### 1.3.0:
518
- * Added custom merge_vars field
519
 
520
  ### 1.2.0:
521
- * Removed required from First Name and Last Name fields
522
- * Added update routines for future versions
523
 
524
  ### 1.1.0:
525
- * Changed the list logic and added a notice for the MERGE VAR naming schema
526
 
527
  ### 1.0.1:
528
- * Changed CSS paths from Absolute to Relative
529
 
530
  ### 1.0.0:
531
  * Initial Release
1
  Easy MailChimp Forms
2
  ===========
3
+ Easy MailChimp Forms allows you to painlessly add MailChimp signup forms to your WordPress site. You can add forms to posts or pages with shortcodes or to template files with PHP tags. Simply copy and paste your MailChimp API Key into the plugin admin settings and it will pull in all your MailChimp lists. From there you can choose the lists you want to make forms for. For a single list you can check off the fields you want to include on your form and order them via an easy drag-and-drop interface. This plugin adds plenty of CSS selectors to the form code allowing you to completely customize the look of your forms.
 
 
4
 
5
  Instructions on how to use the plugin can be [found on the FAQ](http://wordpress.org/plugins/yikes-inc-easy-mailchimp-extender/faq/ "found on the FAQ"). If you experience any problems, please submit a New Issue on our [Github Issue Tracker](https://github.com/yikesinc/yikes-inc-easy-mailchimp-extender/issues "Github Issue Tracker") and we'll look in to it as soon as possible.
6
 
7
  Features
8
  ===========
9
 
10
+ 1. Easily Import MailChimp Forms
11
+ 1. Interest Group/Segment Support
12
+ 1. Custom Widget
13
+ 1. Single or Double Opt-In Option
14
+ 1. Customize the Success Message
15
+ 1. Customize the Submit Button Text
16
+ 1. Redirect Users to Selected Page On Submission
17
+ 1. Remove Users From MailChimp Lists
18
+ 1. View Subscriber MailChimp Profiles
19
+ 1. View Individual List Subscriber Count
20
+ 1. Display Multiple Forms On a Single Page
21
+ 1. Built on the Newest MailChimp API - v2.0
 
 
 
 
 
 
 
 
 
22
 
23
  Installation
24
  ===========
27
  1. Log in to yourdomain.com/wp-admin
28
  1. Click Plugins -> Add New -> Upload
29
  1. Activate the plugin
30
+ 1. Go over to <a href="http://www.mailchimp.com" target="_blank">MailChimp.com</a>, login.
31
  1. On the right hand menu, click your profile picture and select 'Account Settings' and then go to 'Extras > API Keys'.
32
  1. Enter your API key into the text field inside 'MailChimp Forms > MailChimp Settings'
33
  1. Start importing forms from MailChimp and adding them to posts, pages and widgets!
35
  Frequently Asked Questions
36
  ===========
37
 
38
+ #### Do I need to have a MailChimp Account?
39
  Yes, you can register for one for free at [MailChimp](https://mailchimp.com/signup/ "MailChimp Signup").
40
 
41
+ #### Do I need to have lists already set up in MailChimp?
42
  Yes, you have to have at least 1 list set up in MailChimp.
43
 
44
  For more help, visit the MailChimp Support article [How do I create a new list?](http://kb.mailchimp.com/article/where-can-i-find-my-api-key "How do I create a new list?")
45
 
46
+ #### What do I do first?
47
  The first step is to add your MailChimp API key. This will allow your site to communicate with your MailChimp account. This is done on the plugin "MailChimp Settings" page.
48
 
49
+ #### Where do I find my API Key?
50
  From your MailChimp Dashboard, click on your account name in the upper left hand corner of the screen under the MailChimp logo to expose the "Account Settings" menu. Click on "Account Settings" to go to the Account Settings screen and the click on the "Extras" menu. Under "Extras" choose "API keys." From there you can create a new key if you do not already have one.
51
 
52
  For more help, visit the MailChimp Support article [Where can I find my API Key?](http://kb.mailchimp.com/article/where-can-i-find-my-api-key "Where can I find my API Key?")
53
 
54
+ #### How to I add my MailChimp lists?
55
  After you add your API key, the plugin will fetch all of your MailChimp list information and load it into the plugin admin. Go to the plugin "Manage List Forms" page to choose the lists you want to make forms for.
56
 
57
+ #### How do I add the MailChimp signup forms to my site?
58
+ You can use a shortcode to add a form to a page or post. For each list on the plugin "Manage List Forms" page you will see a shortcode at the top. Copy the shortcode and paste it into any post or page where you want a form to appear. For example, if my form had the shortcode [yks-mailchimp-list id="1234567891"] I would copy and paste that into the page or post I wanted to add that form to.
 
 
59
 
60
+ #### Don't I have to enter a list ID for each list I want to add to my site?
61
+ Not anymore! With the 2.0 version of the MailChimp API all list information can be imported with just the API key.
62
 
63
+ #### My Information isn't showing up when people subscribe, what gives?
64
+ You're likely using an old version of the plugin. Please update to the latest version and import your list data.
 
 
 
 
 
 
65
 
66
+ #### My list data was changed/the form isn't showing up since the 2.0 update, what's up with that?
67
+ Due to the code overhaul required for the features of the new version, the structure we were using to save data had to be completely changed over to conform to the MailChimp schema. The old unique IDs the plugin gave to lists have been deprecated. The custom fields that you have are now pulled in from the MailChimp servers. If your form isn't showing up with the shortcode, just copy and paste it again to fix this issue.
68
 
69
+ #### I don't want the form to be the 100% width. How can I adjust the width my self?
70
+ You can adjust the width of the forms on your site by changing the width of the element with the class .yks-mailchimpFormContainer. This is the parent container that houses the form. Adjusting this width will control the width of the input fields inside of it as well.
71
 
72
+ #### I input a valid MailChimp API key, but it returns invalid every time. I've already tried a new API key, but no dice. What's up?
73
+ The MaillChimp API requires that cURL be enabled on your server. If cURL is disabled at the server level, you will see a warning message at the top of the settings page letting you know so. You can enable cURL from within the php.ini file, generally located in the root of your WordPress installation, by following these steps:
74
+ <ul>
75
+ <li>Open php.ini</li>
76
+ <li>Locate the line ';extension=php_curl.dll'</li>
77
+ <li>Delete the semi-colon (;) from before the line, to uncomment it.</li>
78
+ <li>Save the file, close out and try again</li>
79
+ </ul>
80
 
81
+ If you are having trouble locating your php.ini file, you may not have access to directly edit it. If that is the case you should contact your host provider, and have them enable cURL for you
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
82
 
83
  #### Do you provide any hooks, or filters for me to take advantage of?
84
+ Yes! With the latest release we have added a few places for you to hook into, to add or manipulate existing data. Check out the developer documentation tab for more information.
85
 
86
  Developer Documentation
87
  ===========
378
  ?>
379
  ```
380
 
381
+ Translations
382
  ===========
383
+ Easy MailChimp Forms is now translated into multiple languages:
384
+ <ul>
385
+ <li>Viatnemese</li>
386
+ <li>Swedish</li>
387
+ <li>Hindi</li>
388
+ <li>Chinese</li>
389
+ <li>Hong Kong</li>
390
+ <li>Taiwanese</li>
391
+ <li>Greek</li>
392
+ <li>Hebrew</li>
393
+ <li>Korean</li>
394
+ <li>Persian</li>
395
+ <li>Romanian</li>
396
+ <li>Tamil</li>
397
+ <li>Urdu</li>
398
+ <li>English</li>
399
+ <li>Arabic</li>
400
+ <li>French</li>
401
+ <li>Portugese (European)</li>
402
+ <li>Portugese (Brazilian)</li>
403
+ <li>Russian</li>
404
+ <li>Italian</li>
405
+ <li>Japanese</li>
406
+ <li>German</li>
407
+ <li>Welsh</li>
408
+ </ul>
 
 
 
 
 
 
409
 
410
+
411
+ Changes
412
+ ===========
413
  ### 4.0
414
  * Added Interest Group/Segment Support
415
  * Ability To See Number of Subscriber Per List
472
  * Added ability to choose Divs or Tables
473
 
474
  ### 1.3.1:
475
+ * Added nopriv ajax action for anonymous users*
476
 
477
  ### 1.3.0:
478
+ * Added custom merge_vars field*
479
 
480
  ### 1.2.0:
481
+ * Removed required from First Name and Last Name fields*
482
+ * Added update routines for future versions*
483
 
484
  ### 1.1.0:
485
+ * Changed the list logic and added a notice for the MERGE VAR naming schema*
486
 
487
  ### 1.0.1:
488
+ * Changed CSS paths from Absolute to Relative*
489
 
490
  ### 1.0.0:
491
  * Initial Release
readme.txt CHANGED
@@ -4,55 +4,49 @@ Donate link: http://yikesinc.com
4
  Tags: mailchimp, marketing, email, mailing lists, newsletter, signup, forms, signup form
5
  Requires at least: 3.0
6
  Tested up to: 3.9.1
7
- Stable tag: 4.3.1
8
  License: GPLv2 or later
9
 
10
  Easy MailChimp Forms allows you to painlessly add MailChimp signup forms to your WordPress site.
11
 
12
  == Description ==
13
 
14
- Easy MailChimp Forms allows you to painlessly add MailChimp signup forms to your WordPress site. You can add forms to posts, pages or sidebars with shortcodes, widgets or template tags. Simply copy and paste your MailChimp API Key into the plugin admin settings and it will pull in all your MailChimp lists. From there you can choose the lists you want to make forms for. For a single list you can check off the fields you want to include on your form and order them via an easy drag-and-drop interface. This plugin adds plenty of CSS selectors to the form code allowing you to completely customize the look of your forms.
15
 
16
- **Note:** You will need a MailChimp API key to allow this plugin to communicate with your MailChimp account. For help on retrieving your API key, check out [question #4 of the FAQ](http://wordpress.org/plugins/yikes-inc-easy-mailchimp-extender/faq/). You can also read the MailChimp knowledge base article [Where can I find my API key and how can I use the API](http://kb.mailchimp.com/article/where-can-i-find-my-api-key/).
17
 
18
- **Features**
19
-
20
- * Easily import MailChimp forms from a MailChimp account
21
- * Use MailChimp Interest Group/Segments
22
- * Add MailChimp forms sidebars/widgetized areas with widgets
23
- * Set forms to single or double opt-in
24
- * Customize the success message
25
- * Customize the submit button text
26
- * Redirect users to a page on submission
27
- * Unsubscribe users from MailChimp lists
28
- * View subscriber MailChimp profiles
29
- * View individual form subscriber count
30
- * Display multiple forms on a single page
31
- * Add commenters to your MailChimp lists with a comment form opt-in check box
32
- * Easily add forms to pages and posts with a button in the page/post editor
33
- * Use cURL error detection to troubleshoot MailChimp connection issues
34
-
35
-
36
- **Coming to v.4.4**
37
 
38
- * ReCaptcha for spam prevention
39
- * MailChimp Campaign statistic tracking
40
- * Track list growth, campaign opens, un-subscribes, user interactivity and much more!
41
- * View further MailChimp account details such as account level, emails left for the month etc.
42
-
43
- Instructions on how to use the plugin can be [found in the FAQ](http://wordpress.org/plugins/yikes-inc-easy-mailchimp-extender/faq/). If you experience any problems, please submit a New Issue on our [Github Issue Tracker](https://github.com/yikesinc/yikes-inc-easy-mailchimp-extender/issues) and we'll look in to it as soon as possible.
44
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
45
 
46
  == Installation ==
47
 
48
  1. Download the plugin .zip file
49
- 2. Log in to yourdomain.com/wp-admin
50
- 3. Click Plugins -> Add New -> Upload
51
- 4. Activate the plugin
52
- 5. Head over to [MailChimp.com](http://www.mailchimp.com) and login.
53
- 6. On the right hand menu, click your profile picture and select 'Account Settings' and then go to 'Extras > API Keys'.
54
- 7. Enter your API key into the text field inside 'MailChimp Forms > MailChimp Settings'
55
- 8. Go to the 'Manage List Forms' page, start importing forms from MailChimp and adding them to posts, pages and widgets!
56
 
57
  == Frequently Asked Questions ==
58
 
@@ -76,60 +70,38 @@ For more help, visit the MailChimp Support article [Where can I find my API Key?
76
  After you add your API key, the plugin will fetch all of your MailChimp list information and load it into the plugin admin. Go to the plugin "Manage List Forms" page to choose the lists you want to make forms for.
77
 
78
  = How do I add the MailChimp signup forms to my site? =
79
- You can use a shortcode to add a form to a page or post, use the MailChimp form button in the visual editor or use a widget to add it to a sidebar. Each list on the plugin "Manage List Forms" displays a shortcode at the top. Copy the shortcode and paste it into any post or page where you want a form to appear. For example, if my form had the shortcode [yks-mailchimp-list id="1234567891"] I would copy and paste that into the page or post I wanted to add that form to.
80
 
81
- = I input a valid MailChimp API key, but it returns invalid every time. I've already tried a new API key, but no dice. What's up? =
 
82
 
83
- **Step 1:** Ensure that cURL is enabled at the server level. You will see an error at the top of the settings page if cURL is disabled. If you see no error, continue to step 2.
 
84
 
85
- **Step 2:** If you have entered your MailChimp API key and are still getting the error "*Error: Please enter a valid Mail Chimp API Key*," please check the developer console inside your browser for further information.
 
86
 
87
- - Right-click in the API Key input field, and select 'Inpsect Element'
88
- - Once the developer console is open, select the Console tab to see a more specific error.
89
 
90
- For information on how to use your browser's developer console, read the WordPress Codex article, [Using Your Browser to Diagnose JavaScript Errors](http://codex.wordpress.org/Using_Your_Browser_to_Diagnose_JavaScript_Errors).
 
 
91
 
92
- **Possible Errors And Resolutions**
 
 
 
 
 
 
93
 
94
  * Could not resolve host: xxxx.api.mailchimp.com - the host you have provided is incorrect. The host is the string after the last dash (example: us2)
95
- * Invalid Mailchimp API Key: xxxxxxxxxxxxxxxxxx-xxx - Your API key is invalid. You can confirm a valid key by logging into [MailChimp](http://mailchimp.com) and checking the active API key registered to your account.
96
-
97
- = I don't want the form to be the 100% width. How can I adjust the width myself? =
98
- You can adjust the width of the forms on your site by changing the width of the element with the class .yks-mailchimpFormContainer. This is the parent container for the form. Adjusting this width will control the width of the input fields inside of it.
99
-
100
- = How can I translate this plugin? =
101
- Easy MailChimp Forms is now translated into multiple languages:
102
-
103
- * Arabic
104
- * Chinese
105
- * English
106
- * French
107
- * German
108
- * Greek
109
- * Hebrew
110
- * Hindi
111
- * Hong Kong
112
- * Italian
113
- * Japanese
114
- * Korean
115
- * Persian
116
- * Portuguese (Brazilian)
117
- * Portuguese (European)
118
- * Romanian
119
- * Russian
120
- * Spanish
121
- * Swedish
122
- * Taiwanese
123
- * Tamil
124
- * Urdu
125
- * Vietnamese
126
- * Welsh
127
-
128
- Read the Codex article [Installing WordPress in Your Language](http://codex.wordpress.org/Installing_WordPress_in_Your_Language) for more information. Also, please refer to our [Developer Docs](http://wordpress.org/plugins/yikes-inc-easy-mailchimp-extender/other_notes/).
129
 
130
  = Do you provide any hooks, or filters for me to take advantage of? =
131
- Yes! With the 4.0 version of our plugin we have added a few hooks that allow you to add or manipulate existing data. Check out the [Other Notes](http://wordpress.org/plugins/yikes-inc-easy-mailchimp-extender/other_notes/) tab for more information.
132
-
133
 
134
  == Developer Docs. ==
135
 
@@ -161,12 +133,12 @@ This example will alter text on the admin dashboard on the manage lists page.
161
 
162
  $translated_text = __( 'MailChimp Lists', 'yikes-inc-easy-mailchimp-extender' );
163
  break;
164
-
165
  case 'Save Form Settings' :
166
-
167
  $translated_text = __( 'Save Form', 'yikes-inc-easy-mailchimp-extender' );
168
  break;
169
-
170
  case 'Create a Form For This List' :
171
 
172
  $translated_text = __( '<== Import This List', 'yikes-inc-easy-mailchimp-extender' );
@@ -320,19 +292,19 @@ This example will catch the user submitted data, *of all forms*, store the users
320
  function catch_user_data( $form_ID, $merge_variables ) {
321
  // if the user is logged in
322
  if ( is_user_logged_in() ) {
323
-
324
  // get the logged in user id
325
  $user_id = get_current_user_id();
326
-
327
  // if the first name field is set
328
  if ( isset( $merge_variables['FNAME'] ) ) {
329
-
330
  // update logged in users first name with the provided name in MC form
331
  wp_update_user( array( 'ID' => $user_id, 'first_name' => $merge_variables['FNAME'] ) );
332
-
333
  // can be used for any of the fields in the form + any fields in the user profile
334
  }
335
-
336
  }
337
  }
338
  add_filter( 'yikes_mc_get_form_data' , 'catch_user_data', 10, 2 );
@@ -368,19 +340,19 @@ This example will catch the user submitted data *from a specific form*, store th
368
  function catch_user_data_from_specific_form( $form_ID, $merge_variables ) {
369
  // if the user is logged in
370
  if ( is_user_logged_in() ) {
371
-
372
  // get the logged in user id
373
  $user_id = get_current_user_id();
374
-
375
  // if the first name field is set
376
  if ( isset( $merge_variables['FNAME'] ) ) {
377
-
378
  // update logged in users first name with the provided name in MC form
379
  wp_update_user( array( 'ID' => $user_id, 'first_name' => $merge_variables['FNAME'] ) );
380
-
381
  // can be used for any of the fields in the form + any fields in the user profile
382
  }
383
-
384
  }
385
  }
386
  add_filter( 'yikes_mc_get_form_data_3d13f0f784' , 'catch_user_data_from_specific_form', 10, 2 );
@@ -446,39 +418,6 @@ These functions should be used in conjunction with the `yikes_mc_get_form_data`
446
 
447
  == Changelog ==
448
 
449
- = 4.3.1 =
450
- * Removed the_content filter, added custom filter to prevent other plugins from hooking in
451
- * Re-work redirect function to prevent infinite loop (and no redirect) issue
452
-
453
- = 4.3 =
454
- * Updated radio button fields
455
- * Re-worked related JS and PHP functions
456
-
457
- = 4.2.2 =
458
- * Added open_basedir conditional check to toggle CURLOPT_FOLLOWLOCATION based on users server settings
459
- * Prevents warning being thrown for users on shared hosts with an open_basedir set
460
-
461
- = 4.2.1 =
462
- * Removed all unnecessary Google tracking codes and functions
463
-
464
- = 4.2 =
465
- * Updated FAQ
466
- * Re-worked the redirect for a better user experience
467
- * Unified error messages into a single container on the front end
468
- * Converted custom opt-in messages to utilize the WYSIWYG editors ( now allowing for html and images to be used in your success messages )
469
- * Re-styled front end interest group containers
470
-
471
- = 4.1 =
472
- * Fixed JavaScript errors on when Address field is set to required
473
- * Added user feedback on successful re-import of form
474
- * Fixed some style issues
475
- * Added animate.css
476
- * Added class to required fields that were left empty
477
- * Remove outdated jQuery
478
- * Now error is appended to the form, instead of alerted through JavaScript
479
- * Fixed date picker field, and images associated to it
480
- * Added ability to include html mark-up to confirmation fields
481
-
482
  = 4.0 =
483
  * Added Interest Group/Segment Support
484
  * Ability To See Number of Subscriber Per List
@@ -559,10 +498,6 @@ These functions should be used in conjunction with the `yikes_mc_get_form_data`
559
  * Initial Release
560
 
561
  == Upgrade Notice ==
562
- = 4.3.1 =
563
- * Removed the_content filter, added custom filter to prevent other plugins from hooking in
564
- * Re-work redirect function to prevent infinite loop (and no redirect) issue
565
-
566
  = 3.0 =
567
  * Update Mail Chimp API to v2.0
568
  * Added API Key Validation Check
4
  Tags: mailchimp, marketing, email, mailing lists, newsletter, signup, forms, signup form
5
  Requires at least: 3.0
6
  Tested up to: 3.9.1
7
+ Stable tag: 4.0
8
  License: GPLv2 or later
9
 
10
  Easy MailChimp Forms allows you to painlessly add MailChimp signup forms to your WordPress site.
11
 
12
  == Description ==
13
 
14
+ Easy MailChimp Forms allows you to painlessly add MailChimp signup forms to your WordPress site. You can add forms to posts, pages or widgets with shortcodes or to template files with PHP tags. Simply copy and paste your MailChimp API Key into the plugin admin settings and it will pull in all your MailChimp lists. From there you can choose the lists you want to make forms for. For a single list you can check off the fields you want to include on your form and order them via an easy drag-and-drop interface. This plugin adds plenty of CSS selectors to the form code allowing you to completely customize the look of your forms.
15
 
 
16
 
17
+ <em>Note:</em> You will need a MailChimp API key to allow this plugin to communicate with your MailChimp account. For help on retreiving your API key, check out #4 of the <a href="http://wordpress.org/plugins/yikes-inc-easy-mailchimp-extender/faq/">FAQ</a> section. You can also read up more <a href="http://kb.mailchimp.com/article/where-can-i-find-my-api-key/" target="_blank">here</a>.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18
 
19
+ **Features**
 
 
 
 
 
20
 
21
+ * Easily Import MailChimp Forms
22
+ * MailChimp Interest Group/Segment Support
23
+ * Custom MailChimp Widget
24
+ * Set forms to Single or Double Opt-In Option
25
+ * Customize the Success Message
26
+ * Customize the Submit Button Text
27
+ * Redirect Users to Selected Page On Submission
28
+ * Unsubscribe Users From MailChimp Lists
29
+ * View Subscriber MailChimp Profiles
30
+ * View Individual Form Subscriber Count
31
+ * Display Multiple Forms On a Single Page
32
+ * Built on the Newest MailChimp API - v2.0
33
+ * Comment form opt-in check box - add commenter's to your MailChimp lists with ease
34
+ * custom tinyMCE button to easily add forms to pages and posts
35
+ * cURL error detection
36
+
37
+
38
+ Instructions on how to use the plugin can be [found in the FAQ](http://wordpress.org/plugins/yikes-inc-easy-mailchimp-extender/faq/ "found in the FAQ"). If you experience any problems, please submit a New Issue on our [Github Issue Tracker](https://github.com/yikesinc/yikes-inc-easy-mailchimp-extender/issues "Github Issue Tracker") and we'll look in to it as soon as possible.
39
 
40
  == Installation ==
41
 
42
  1. Download the plugin .zip file
43
+ 1. Log in to yourdomain.com/wp-admin
44
+ 1. Click Plugins -> Add New -> Upload
45
+ 1. Activate the plugin
46
+ 1. Head over to <a href="http://www.mailchimp.com" target="_blank">MailChimp.com</a>, login.
47
+ 1. On the right hand menu, click your profile picture and select 'Account Settings' and then go to 'Extras > API Keys'.
48
+ 1. Enter your API key into the text field inside 'MailChimp Forms > MailChimp Settings'
49
+ 1. Go to the 'Manage List Forms' page, start importing forms from MailChimp and adding them to posts, pages and widgets!
50
 
51
  == Frequently Asked Questions ==
52
 
70
  After you add your API key, the plugin will fetch all of your MailChimp list information and load it into the plugin admin. Go to the plugin "Manage List Forms" page to choose the lists you want to make forms for.
71
 
72
  = How do I add the MailChimp signup forms to my site? =
73
+ You can use a shortcode to add a form to a page or post. For each list on the plugin "Manage List Forms" page you will see a shortcode at the top. Copy the shortcode and paste it into any post or page where you want a form to appear. For example, if my form had the shortcode [yks-mailchimp-list id="1234567891"] I would copy and paste that into the page or post I wanted to add that form to.
74
 
75
+ = Don't I have to enter a list ID for each list I want to add to my site? =
76
+ Not anymore! With the 2.0 version of the MailChimp API all list information can be imported with just the API key.
77
 
78
+ = My Information isn't showing up when people subscribe, what gives? =
79
+ You're likely using an old version of the plugin. Please update to the latest version and import your list data.
80
 
81
+ = My list data was changed/the form isn't showing up since the 2.0 update, what's up with that? =
82
+ Due to the code overhaul required for the features of the new version, the structure we were using to save data had to be completely changed over to conform to the MailChimp schema. The old unique IDs the plugin gave to lists have been deprecated. The custom fields that you have are now pulled in from the MailChimp servers. If your form isn't showing up with the shortcode, just copy and paste it again to fix this issue.
83
 
84
+ = I don't want the form to be the 100% width. How can I adjust the width my self? =
85
+ You can adjust the width of the forms on your site by changing the width of the element with the class .yks-mailchimpFormContainer. This is the parent container that houses the form. Adjusting this width will control the width of the input fields inside of it as well.
86
 
87
+ = I input a valid MailChimp API key, but it returns invalid every time. I've already tried a new API key, but no dice. What's up? =
88
+
89
+ Step 1) Ensure that cURL is enabled at the server level ( You will see an error at the top of the settings page if cURL is disabled. If you see no error, continue to step 2.
90
 
91
+ Step 2) If you have entered your MailChimp API key and still find that it is returning the error "<em>Error: Please enter a valid Mail Chimp API Key</em>", please check the developer console inside your browser for further information as to why it's not validating.
92
+
93
+ - You can do this, by right clicking in the API Key input field, and selecting 'Inpsect Element'
94
+ - Once the developer console is open, select the Console tab, where you should see a more specific error.
95
+ - (For information on how to check your browsers developer console, <a href="http://codex.wordpress.org/Using_Your_Browser_to_Diagnose_JavaScript_Errors" target="_blank">read here</a>.)
96
+
97
+ <strong>Possible Errors And Resolutions</strong>
98
 
99
  * Could not resolve host: xxxx.api.mailchimp.com - the host you have provided is incorrect. The host is the string after the last dash (example: us2)
100
+ * Invalid Mailchimp API Key: xxxxxxxxxxxxxxxxxx-xxx - Your API key is invalid. You can confirm a valid key by logging into <a href="http://mailchimp.com" target="_blank">MailChimp</a> and checking the active API key registered to your account.
101
+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
102
 
103
  = Do you provide any hooks, or filters for me to take advantage of? =
104
+ Yes! With the latest release we have added a few places for you to hook into, to add or manipulate existing data. Check out the <a href="http://wordpress.org/plugins/yikes-inc-easy-mailchimp-extender/other_notes/">Other Notes</a> tab for more information.
 
105
 
106
  == Developer Docs. ==
107
 
133
 
134
  $translated_text = __( 'MailChimp Lists', 'yikes-inc-easy-mailchimp-extender' );
135
  break;
136
+
137
  case 'Save Form Settings' :
138
+
139
  $translated_text = __( 'Save Form', 'yikes-inc-easy-mailchimp-extender' );
140
  break;
141
+
142
  case 'Create a Form For This List' :
143
 
144
  $translated_text = __( '<== Import This List', 'yikes-inc-easy-mailchimp-extender' );
292
  function catch_user_data( $form_ID, $merge_variables ) {
293
  // if the user is logged in
294
  if ( is_user_logged_in() ) {
295
+
296
  // get the logged in user id
297
  $user_id = get_current_user_id();
298
+
299
  // if the first name field is set
300
  if ( isset( $merge_variables['FNAME'] ) ) {
301
+
302
  // update logged in users first name with the provided name in MC form
303
  wp_update_user( array( 'ID' => $user_id, 'first_name' => $merge_variables['FNAME'] ) );
304
+
305
  // can be used for any of the fields in the form + any fields in the user profile
306
  }
307
+
308
  }
309
  }
310
  add_filter( 'yikes_mc_get_form_data' , 'catch_user_data', 10, 2 );
340
  function catch_user_data_from_specific_form( $form_ID, $merge_variables ) {
341
  // if the user is logged in
342
  if ( is_user_logged_in() ) {
343
+
344
  // get the logged in user id
345
  $user_id = get_current_user_id();
346
+
347
  // if the first name field is set
348
  if ( isset( $merge_variables['FNAME'] ) ) {
349
+
350
  // update logged in users first name with the provided name in MC form
351
  wp_update_user( array( 'ID' => $user_id, 'first_name' => $merge_variables['FNAME'] ) );
352
+
353
  // can be used for any of the fields in the form + any fields in the user profile
354
  }
355
+
356
  }
357
  }
358
  add_filter( 'yikes_mc_get_form_data_3d13f0f784' , 'catch_user_data_from_specific_form', 10, 2 );
418
 
419
  == Changelog ==
420
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
421
  = 4.0 =
422
  * Added Interest Group/Segment Support
423
  * Ability To See Number of Subscriber Per List
498
  * Initial Release
499
 
500
  == Upgrade Notice ==
 
 
 
 
501
  = 3.0 =
502
  * Update Mail Chimp API to v2.0
503
  * Added API Key Validation Check
templates/shortcode_form.php CHANGED
@@ -1,37 +1,25 @@
1
  <script type="text/javascript">
2
  $ymce = jQuery.noConflict();
3
  jQuery(document).ready(function($ymce){
4
- function blankFieldCheck(formID)
5
  {
6
  err = 0;
7
  msg = '';
8
  <?php echo $this->getFrontendFormJavascript($list); ?>
9
  if(msg != '')
10
  {
11
- jQuery('#yks_form_error_message').remove();
12
- // set up our alert for empty fields,
13
- // msg = "<?php _e('Oops.. Don\'t forget to fill-in the following fields','yikes-inc-easy-mailchimp-extender'); ?>"+":\n\n"+msg;
14
- msg = "<?php _e('Error - The following fields are required, and may not be left blank ','yikes-inc-easy-mailchimp-extender'); ?>"+":\n\n"+'<ul>'+msg+'</ul>';
15
- // prepend the notification to the user instead of alerting it
16
- // fade it in
17
- // and slide the user back up the the message so they don't miss it.
18
- jQuery('#yks-mailchimp-form_'+formID).prepend('<span id="yks_form_error_message">'+ msg+'</span>').delay(550).queue(function(next){
19
- jQuery('#yks_form_error_message').fadeIn();
20
- var offset_top = jQuery('#yks-mailchimpFormContainerInner_'+formID).offset().top;
21
- jQuery("html, body").animate({ scrollTop: offset_top - 50 }, 500 );
22
- next();
23
- });
24
-
25
  }
26
  return (err > 0 ? false : true);
27
  }
28
  $ymce('#yks-mailchimp-form_<?php echo $list['id']; ?>').submit(function(e){
29
- var singleOptinMessage = '<?php echo str_replace( '\'' , '"' , preg_replace('/\r?\n/', '\\n', apply_filters('yks_mc_content' , $this->optionVal['single-optin-message']))); ?>';
30
- var doubleOptinMessage = '<?php echo str_replace( '\'' , '"' , preg_replace('/\r?\n/', '\\n', apply_filters('yks_mc_content' , $this->optionVal['double-optin-message']))); ?>';
31
  var optinValue = '<?php echo $this->optionVal['optin']; ?>';
32
  e.preventDefault();
33
  // Make sure the api key exists
34
- if(blankFieldCheck("<?php echo $list['id']; ?>"))
35
  {
36
  $ymce('#ykfmc-submit_<?php echo $list['id']; ?>').attr('disabled', 'disabled');
37
  $ymce('#yks-status-<?php echo $list['id']; ?>').slideUp('fast');
@@ -61,18 +49,9 @@ $ymce = jQuery.noConflict();
61
  }
62
  else
63
  {
64
- // bundle the MailChimp returned error
65
- // with our yiks mc error messages
66
- $ymce('#yks_form_error_message').fadeOut('fast', function() {
67
- jQuery(this).remove();
68
- });
69
- $ymce('#ykfmc-submit_<?php echo $list['id']; ?>').removeAttr('disabled');
70
- $ymce('#yks-mailchimp-form_<?php echo $list['id']; ?>').prepend('<span id="yks_form_error_message">'+MAILCHIMP+'</span>').delay(1000).queue(function(next){
71
- jQuery('#yks_form_error_message').fadeIn();
72
- var offset_top = jQuery('#yks-mailchimpFormContainerInner_<?php echo $list['id']; ?>').offset().top;
73
- jQuery("html, body").animate({ scrollTop: offset_top - 50 }, 500 );
74
- next();
75
- });
76
  }
77
  }
78
  });
@@ -107,10 +86,11 @@ $ymce = jQuery.noConflict();
107
 
108
  ?>
109
 
110
- <div class="yks-mailchimpFormContainerInner" id="yks-mailchimpFormContainerInner_<?php echo $list['id']; ?>">
111
- <div class="yks-require-description">
112
  <span class='yks-required-label'>*</span> = <?php _e('required field','yikes-inc-easy-mailchimp-extender'); ?>
113
- </div>
 
 
114
  <form method="post" name="yks-mailchimp-form" id="yks-mailchimp-form_<?php echo $list['id']; ?>" rel="<?php echo $list['id']; ?>">
115
  <input type="hidden" name="yks-mailchimp-list-ct" id="yks-mailchimp-list-ct_<?php echo $list['id']; ?>" value="<?php echo $listCt; ?>" />
116
  <input type="hidden" name="yks-mailchimp-list-id" id="yks-mailchimp-list-id_<?php echo $list['id']; ?>" value="<?php echo $list['list-id']; ?>" />
@@ -128,4 +108,4 @@ $ymce = jQuery.noConflict();
128
  do_action( 'yks_mc_after_form_'.$form_id[1] );
129
  ?>
130
 
131
- </div>
1
  <script type="text/javascript">
2
  $ymce = jQuery.noConflict();
3
  jQuery(document).ready(function($ymce){
4
+ function blankFieldCheck()
5
  {
6
  err = 0;
7
  msg = '';
8
  <?php echo $this->getFrontendFormJavascript($list); ?>
9
  if(msg != '')
10
  {
11
+ msg = "<?php _e('Oops.. Don\'t forget to fill-in the following fields','yikes-inc-easy-mailchimp-extender'); ?>"+":\n\n"+msg;
12
+ alert(msg);
 
 
 
 
 
 
 
 
 
 
 
 
13
  }
14
  return (err > 0 ? false : true);
15
  }
16
  $ymce('#yks-mailchimp-form_<?php echo $list['id']; ?>').submit(function(e){
17
+ var singleOptinMessage = '<?php echo $this->optionVal['single-optin-message']; ?>';
18
+ var doubleOptinMessage = '<?php echo $this->optionVal['double-optin-message']; ?>';
19
  var optinValue = '<?php echo $this->optionVal['optin']; ?>';
20
  e.preventDefault();
21
  // Make sure the api key exists
22
+ if(blankFieldCheck())
23
  {
24
  $ymce('#ykfmc-submit_<?php echo $list['id']; ?>').attr('disabled', 'disabled');
25
  $ymce('#yks-status-<?php echo $list['id']; ?>').slideUp('fast');
49
  }
50
  else
51
  {
52
+ $ymce('#ykfmc-submit_<?php echo $list['id']; ?>').removeAttr('disabled');
53
+ $ymce('#yks-status-<?php echo $list['id']; ?>').html('<div class="yks-error"><p>'+ MAILCHIMP +'</p></div>');
54
+ $ymce('#yks-status-<?php echo $list['id']; ?>').slideDown('fast');
 
 
 
 
 
 
 
 
 
55
  }
56
  }
57
  });
86
 
87
  ?>
88
 
89
+ <div class="yks-require-description">
 
90
  <span class='yks-required-label'>*</span> = <?php _e('required field','yikes-inc-easy-mailchimp-extender'); ?>
91
+ </div>
92
+
93
+ <div class="yks-mailchimpFormContainerInner" id="yks-mailchimpFormContainerInner_<?php echo $list['id']; ?>">
94
  <form method="post" name="yks-mailchimp-form" id="yks-mailchimp-form_<?php echo $list['id']; ?>" rel="<?php echo $list['id']; ?>">
95
  <input type="hidden" name="yks-mailchimp-list-ct" id="yks-mailchimp-list-ct_<?php echo $list['id']; ?>" value="<?php echo $listCt; ?>" />
96
  <input type="hidden" name="yks-mailchimp-list-id" id="yks-mailchimp-list-id_<?php echo $list['id']; ?>" value="<?php echo $list['list-id']; ?>" />
108
  do_action( 'yks_mc_after_form_'.$form_id[1] );
109
  ?>
110
 
111
+ </div>
yikes-inc-easy-mailchimp-extender.php CHANGED
@@ -4,7 +4,7 @@
4
  Plugin Name: Easy MailChimp Forms
5
  Plugin URI: http://www.yikesinc.com/services/yikes-inc-easy-mailchimp-extender/
6
  Description: Mailchimp API integration in the form of a shortcode or php snippet
7
- Version: 4.3.1
8
  Author: YIKES Inc
9
  Author URI: http://yikesinc.com
10
  License: GPL2
@@ -30,7 +30,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
30
 
31
  /** Configuration **/
32
  if(!defined('YKSEME_DEBUG')) define('YKSEME_DEBUG', false);
33
- if(!defined('YKSEME_VERSION_CURRENT')) define('YKSEME_VERSION_CURRENT', '4.3.1');
34
  if(!defined('YKSEME_REQ_PHP')) define('YKSEME_REQ_PHP', '5.0');
35
  if(!defined('YKSEME_AUTHOR')) define('YKSEME_AUTHOR', 'YIKES Inc');
36
  if(!defined('YKSEME_SITE')) define('YKSEME_SITE', site_url().'/');
4
  Plugin Name: Easy MailChimp Forms
5
  Plugin URI: http://www.yikesinc.com/services/yikes-inc-easy-mailchimp-extender/
6
  Description: Mailchimp API integration in the form of a shortcode or php snippet
7
+ Version: 4.0
8
  Author: YIKES Inc
9
  Author URI: http://yikesinc.com
10
  License: GPL2
30
 
31
  /** Configuration **/
32
  if(!defined('YKSEME_DEBUG')) define('YKSEME_DEBUG', false);
33
+ if(!defined('YKSEME_VERSION_CURRENT')) define('YKSEME_VERSION_CURRENT', '4.0');
34
  if(!defined('YKSEME_REQ_PHP')) define('YKSEME_REQ_PHP', '5.0');
35
  if(!defined('YKSEME_AUTHOR')) define('YKSEME_AUTHOR', 'YIKES Inc');
36
  if(!defined('YKSEME_SITE')) define('YKSEME_SITE', site_url().'/');