MailPoet Newsletters (Previous) - Version 2.7.2

Version Description

  • 2016-06-01 =
  • Fixed broken CSS for Premium page
  • Fixed Custom Fields not saving on front-end
  • Fixed image ratio for specific locations
  • Fixed issue with missing rule (onlyNumberSp) in Italian & German translations
  • Fixed broken email validation in Dutch language with long extensions
  • Fixed undefined property notice on Bounce pages
  • Added SparkPost API support
  • Fixed security issues. Thanks again to Falk Huber (T-Systems) for reporting them
  • Added new menu icon (New MailPoet Branding)
  • Fixed sending preview of an email with an empty subject
  • Added Ukrainian JS validation language
  • Replaced deprecated get_currentuserinfo() with wp_get_current_user()
  • Fixed PHP notices that may have appeared during the sending process
Download this release

Release Info

Developer wysija
Plugin Icon 128x128 MailPoet Newsletters (Previous)
Version 2.7.2
Comparing to
See all releases

Code changes from version 2.7.1 to 2.7.2

Files changed (57) hide show
  1. classes/WJ_FieldRender.php +1 -1
  2. classes/WJ_Sparkpost.php +86 -0
  3. controllers/back/campaigns.php +5 -0
  4. core/base.php +6 -10
  5. core/constants.php +0 -1
  6. css/admin-dashicons.css +0 -1
  7. css/admin-premium.css +1 -1
  8. helpers/back.php +17 -9
  9. helpers/bookmarks.php +3 -0
  10. helpers/bounce.php +8 -0
  11. helpers/mailer.php +5 -1
  12. helpers/render_engine.php +5 -3
  13. helpers/themes.php +1 -1
  14. img/menu-icon.png +0 -0
  15. inc/phpmailer/class.phpmailer.php +4 -0
  16. index.php +1 -1
  17. js/admin-config-settings.js +1 -1
  18. js/validate/languages/jquery.validationEngine-ca.js +4 -0
  19. js/validate/languages/jquery.validationEngine-cz.js +4 -0
  20. js/validate/languages/jquery.validationEngine-da.js +5 -1
  21. js/validate/languages/jquery.validationEngine-de.js +4 -0
  22. js/validate/languages/jquery.validationEngine-en.js +4 -0
  23. js/validate/languages/jquery.validationEngine-es.js +4 -0
  24. js/validate/languages/jquery.validationEngine-et.js +5 -1
  25. js/validate/languages/jquery.validationEngine-fi.js +5 -1
  26. js/validate/languages/jquery.validationEngine-he.js +4 -0
  27. js/validate/languages/jquery.validationEngine-hr.js +5 -1
  28. js/validate/languages/jquery.validationEngine-hu.js +4 -0
  29. js/validate/languages/jquery.validationEngine-id.js +4 -0
  30. js/validate/languages/jquery.validationEngine-it.js +135 -40
  31. js/validate/languages/jquery.validationEngine-lt.js +4 -0
  32. js/validate/languages/jquery.validationEngine-nl.js +5 -1
  33. js/validate/languages/jquery.validationEngine-no.js +4 -0
  34. js/validate/languages/jquery.validationEngine-pl.js +39 -2
  35. js/validate/languages/jquery.validationEngine-pt.js +4 -0
  36. js/validate/languages/jquery.validationEngine-pt_BR.js +4 -0
  37. js/validate/languages/jquery.validationEngine-ro.js +5 -1
  38. js/validate/languages/jquery.validationEngine-sr_Cyrl.js +206 -0
  39. js/validate/languages/jquery.validationEngine-sr_Latn.js +206 -0
  40. js/validate/languages/jquery.validationEngine-sv.js +5 -1
  41. js/validate/languages/jquery.validationEngine-tr.js +5 -1
  42. js/validate/languages/jquery.validationEngine-uk.js +135 -0
  43. js/validate/languages/jquery.validationEngine-vi.js +4 -0
  44. js/validate/languages/jquery.validationEngine-zh_CN.js +4 -0
  45. js/validate/languages/jquery.validationEngine-zh_TW.js +4 -0
  46. languages/wysija-newsletters-es_ES.mo +0 -0
  47. languages/wysija-newsletters-fa_IR.mo +0 -0
  48. languages/wysija-newsletters-fr_BE.mo +0 -0
  49. languages/wysija-newsletters-fr_CA.mo +0 -0
  50. languages/wysija-newsletters-id.mo +0 -0
  51. languages/wysija-newsletters-is_IS.mo +0 -0
  52. languages/wysija-newsletters-oc.mo +0 -0
  53. languages/wysija-newsletters-ru_RU.mo +0 -0
  54. languages/wysija-newsletters-sl_SI.mo +0 -0
  55. languages/wysija-newsletters-th.mo +0 -0
  56. readme.txt +20 -3
  57. views/front/confirm.php +0 -1
classes/WJ_FieldRender.php CHANGED
@@ -69,7 +69,7 @@ class WJ_FieldRender {
69
  case 'input':
70
  $input =
71
  '<input type="text" size="40" id="'. $this->identifier . '"' .
72
- 'value="' . $this->value .
73
  '" name="wysija[field][' . $this->identifier . ']" ' .
74
  $this->validation() .
75
  ' />';
69
  case 'input':
70
  $input =
71
  '<input type="text" size="40" id="'. $this->identifier . '"' .
72
+ ' value="' . $this->value .
73
  '" name="wysija[field][' . $this->identifier . ']" ' .
74
  $this->validation() .
75
  ' />';
classes/WJ_Sparkpost.php ADDED
@@ -0,0 +1,86 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ defined('WYSIJA') or die('Restricted access');
3
+
4
+ class WJ_Sparkpost {
5
+ public $error;
6
+ private $api_key = '';
7
+
8
+ public function __construct($api_key) {
9
+ $this->api_key = $api_key;
10
+ }
11
+
12
+ public function send_mail(& $object) {
13
+ $msg = array(
14
+ 'recipients' => array(
15
+ array(
16
+ 'address' => array(
17
+ 'email' => $object->to[0][0]
18
+ )
19
+ )
20
+ ),
21
+ 'content' => array(
22
+ 'from' => array(
23
+ 'name' => $object->FromName,
24
+ 'email' => $object->From
25
+ ),
26
+ 'reply_to' => $object->ReplyTo[0][0]
27
+ )
28
+ );
29
+
30
+ // set the subject
31
+ if(!empty ($object->Subject)) $msg['content']['subject'] = $object->Subject;
32
+
33
+ // set the body
34
+ if(!empty ($object->sendHTML) || !empty($object->AltBody)) {
35
+ $msg['content']['html'] = $object->Body;
36
+ if(!empty ($object->AltBody)) $msg['content']['text'] = $object->AltBody;
37
+ } else {
38
+ $msg['content']['text'] = $object->Body;
39
+ }
40
+
41
+ $url = 'https://api.sparkpost.com/api/v1/transmissions';
42
+
43
+ return $this->run($url, $msg);
44
+
45
+ }
46
+
47
+ protected function run($url, $msg) {
48
+ $return = null;
49
+ $params = array(
50
+ 'headers' => array(
51
+ 'Content-Type: application/json',
52
+ 'Authorization' => $this->api_key
53
+ ),
54
+ 'body' => json_encode($msg)
55
+ );
56
+
57
+ $result = null;
58
+ $result = wp_remote_post($url, $params);
59
+ try {
60
+ if(!is_wp_error($result)) {
61
+ switch($result['response']['code']) {
62
+ case 200:
63
+ $return = true;
64
+ break;
65
+ default:
66
+ $body = json_decode($result['body'], true);
67
+ if(isset($body['errors']) && isset($body['errors'][0]) && isset($body['errors'][0]['description'])) {
68
+ $this->error = $body['errors'][0]['description'];
69
+ } else {
70
+ $this->error = $result['response']['message'];
71
+ }
72
+ break;
73
+ }
74
+ } else {
75
+ $this->error = (is_wp_error($result)) ?
76
+ $result->get_error_messages() :
77
+ __('We were unable to contact the API, the site may be down. Please try again later.', WYSIJA);
78
+ }
79
+ } catch(Exception $e) {
80
+ $this->error = 'Unexpected error: ' . $e->getMessage() . ' [' . var_export($result, true) . ']';// do nothing
81
+ }
82
+
83
+ return $return;
84
+ }
85
+
86
+ }
controllers/back/campaigns.php CHANGED
@@ -2349,6 +2349,11 @@ class WYSIJA_control_back_campaigns extends WYSIJA_control_back {
2349
  return false;
2350
  }
2351
 
 
 
 
 
 
2352
 
2353
  $ZipfileResult = trim(file_get_contents($_FILES['my-theme']['tmp_name']));
2354
 
2349
  return false;
2350
  }
2351
 
2352
+ if (!$_FILES['my-theme']['tmp_name'] || !is_file($_FILES['my-theme']['tmp_name'])) {
2353
+ $this->error(__('This file is empty. Please try another.', WYSIJA));
2354
+ $this->redirect('admin.php?page=wysija_campaigns&action=themes');
2355
+ return false;
2356
+ }
2357
 
2358
  $ZipfileResult = trim(file_get_contents($_FILES['my-theme']['tmp_name']));
2359
 
core/base.php CHANGED
@@ -19,12 +19,10 @@ class WYSIJA_object{
19
  * Static variable holding core MailPoet's version
20
  * @var array
21
  */
22
- static $version = '2.7.1';
23
 
24
  function __construct(){}
25
 
26
- function WYSIJA_object(){} // TODO: remove in next version
27
-
28
  /**
29
  * Order an array by param name string compare
30
  *
@@ -69,11 +67,11 @@ class WYSIJA_object{
69
  //WordPress globals be careful there
70
  global $current_user;
71
  if ( $field ) {
72
- if ( function_exists( 'get_currentuserinfo' ) ) {
73
  // Here is an exception because of one of the weirdest bug
74
- // the idea is to make sure we don't call get_currentuserinfo on the wysija_subscribers page when on a multisite
75
  if ( ! ( isset( $_GET['page'] ) && $_GET['page'] === 'wysija_subscribers' && is_multisite() ) ){
76
- get_currentuserinfo();
77
  }
78
  }
79
  if ( isset( $current_user->{$field} ) ){
@@ -281,7 +279,6 @@ class WYSIJA_help extends WYSIJA_object{
281
  if ( WYSIJA_ITF ){
282
  wp_enqueue_script( 'mailpoet-global' );
283
  }
284
- wp_enqueue_style( 'mailpoet-dashicons' );
285
  }
286
 
287
  public function admin_body_class( $body_class_str ){
@@ -344,6 +341,7 @@ class WYSIJA_help extends WYSIJA_object{
344
  'ru',
345
  'sv',
346
  'tr',
 
347
  'vi',
348
  'zh_CN',
349
  'zh_TW',
@@ -358,8 +356,6 @@ class WYSIJA_help extends WYSIJA_object{
358
  wp_register_script('wysija-validator',WYSIJA_URL.'js/validate/jquery.validationEngine.js', array( 'jquery' ),WYSIJA::get_version(),true );
359
  wp_register_script('wysija-front-subscribers', WYSIJA_URL.'js/front-subscribers.js', array( 'jquery' ),WYSIJA::get_version(),true);
360
 
361
- wp_register_style( 'mailpoet-dashicons', WYSIJA_URL . 'css/admin-dashicons.css', array(), WYSIJA::get_version() );
362
-
363
  wp_register_script('wysija-form', WYSIJA_URL.'js/forms.js', array( 'jquery' ),WYSIJA::get_version());
364
  wp_register_style('validate-engine-css',WYSIJA_URL.'css/validationEngine.jquery.css',array(),WYSIJA::get_version());
365
  wp_register_script('wysija-admin-ajax', WYSIJA_URL.'js/admin-ajax.js',array(),WYSIJA::get_version());
@@ -1222,7 +1218,7 @@ class WYSIJA extends WYSIJA_object{
1222
  public static function update_user_caps(){
1223
  global $current_user;
1224
 
1225
- if(empty($current_user) && function_exists('get_currentuserinfo')) get_currentuserinfo();
1226
  if(empty($current_user)) return false;
1227
  $current_user->get_role_caps();
1228
 
19
  * Static variable holding core MailPoet's version
20
  * @var array
21
  */
22
+ static $version = '2.7.2';
23
 
24
  function __construct(){}
25
 
 
 
26
  /**
27
  * Order an array by param name string compare
28
  *
67
  //WordPress globals be careful there
68
  global $current_user;
69
  if ( $field ) {
70
+ if ( function_exists( 'wp_get_current_user' ) ) {
71
  // Here is an exception because of one of the weirdest bug
72
+ // the idea is to make sure we don't call wp_get_current_user() on the wysija_subscribers page when on a multisite
73
  if ( ! ( isset( $_GET['page'] ) && $_GET['page'] === 'wysija_subscribers' && is_multisite() ) ){
74
+ wp_get_current_user();
75
  }
76
  }
77
  if ( isset( $current_user->{$field} ) ){
279
  if ( WYSIJA_ITF ){
280
  wp_enqueue_script( 'mailpoet-global' );
281
  }
 
282
  }
283
 
284
  public function admin_body_class( $body_class_str ){
341
  'ru',
342
  'sv',
343
  'tr',
344
+ 'uk',
345
  'vi',
346
  'zh_CN',
347
  'zh_TW',
356
  wp_register_script('wysija-validator',WYSIJA_URL.'js/validate/jquery.validationEngine.js', array( 'jquery' ),WYSIJA::get_version(),true );
357
  wp_register_script('wysija-front-subscribers', WYSIJA_URL.'js/front-subscribers.js', array( 'jquery' ),WYSIJA::get_version(),true);
358
 
 
 
359
  wp_register_script('wysija-form', WYSIJA_URL.'js/forms.js', array( 'jquery' ),WYSIJA::get_version());
360
  wp_register_style('validate-engine-css',WYSIJA_URL.'css/validationEngine.jquery.css',array(),WYSIJA::get_version());
361
  wp_register_script('wysija-admin-ajax', WYSIJA_URL.'js/admin-ajax.js',array(),WYSIJA::get_version());
1218
  public static function update_user_caps(){
1219
  global $current_user;
1220
 
1221
+ if(empty($current_user) && function_exists('wp_get_current_user')) wp_get_current_user();
1222
  if(empty($current_user)) return false;
1223
  $current_user->get_role_caps();
1224
 
core/constants.php CHANGED
@@ -17,7 +17,6 @@ if(!defined('WYSIJA_PLG_DIR')) define('WYSIJA_PLG_DIR', dirname($current_folder)
17
  define('WYSIJA_DIR', $current_folder.DS);
18
  define('WYSIJA_DATA_DIR', WYSIJA_DIR.'data'.DS);
19
  define('WYSIJA_FILE',WYSIJA_DIR.'index.php');
20
-
21
  define('WYSIJA_URL',plugins_url().'/'.strtolower('wysija-newsletters').'/');
22
 
23
  $upload_dir = wp_upload_dir();
17
  define('WYSIJA_DIR', $current_folder.DS);
18
  define('WYSIJA_DATA_DIR', WYSIJA_DIR.'data'.DS);
19
  define('WYSIJA_FILE',WYSIJA_DIR.'index.php');
 
20
  define('WYSIJA_URL',plugins_url().'/'.strtolower('wysija-newsletters').'/');
21
 
22
  $upload_dir = wp_upload_dir();
css/admin-dashicons.css DELETED
@@ -1 +0,0 @@
1
- @font-face{font-family:'mailpoet-icon';src:url("../font/icon-email.eot?doyy92");src:url("../font/icon-email.eot?#iefixdoyy92") format("embedded-opentype"),url("../font/icon-email.woff?doyy92") format("woff"),url("../font/icon-email.ttf?doyy92") format("truetype"),url("../font/icon-email.svg?doyy92#mailpoet-icon") format("svg");font-weight:normal;font-style:normal}.mp-menu-icon-bg .menu-top.toplevel_page_wysija_campaigns .wp-menu-image{background:transparent url("../img/mail.png") no-repeat center center}.mp-menu-icon-bg .menu-top.toplevel_page_wysija_campaigns .wp-menu-image:before{content:""}.mp-menu-icon-font .menu-top.toplevel_page_wysija_campaigns .wp-menu-image:before{font:normal 18px/1 "mailpoet-icon" !important;speak:none;color:#999;padding:8px 0;height:36px;width:20px;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-moz-transition:all .1s ease-in-out;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}.menu-top.toplevel_page_wysija_campaigns .wp-menu-image:before{content:"\f466"}
 
css/admin-premium.css CHANGED
@@ -1 +1 @@
1
- #mainmenu .premium{background:url(../img/ui-bg_glass_premium_1x400.png) repeat-x scroll 50% 50% #e6e6e6;border:1px solid #a9abc3}#mainmenu .premium:hover{background:url(../img/ui-bg_glass_premium_hover_1x400.png) repeat-x scroll 50% 50% #e6e6e6;border:1px solid #9c9eb2}#mainmenu .premium a{font-weight:700;color:#5d5e76}#mainmenu .premium a:hover{color:#4b4d69}#mainmenu .ui-state-active{background:white !important;border:1px solid #d8d9e6}.mpoet-page h2{color:#4b4d69;font-size:1.8em;font-weight:200;line-height:1.2em;margin:0}.wysija-premium-wrapper{margin:0 0 20px 0}.wysija-premium-actions{position:fixed;width:1028px;bottom:0;background-color:#eee;border-top:1px solid #ccc;border-left:1px solid #ccc;border-right:1px solid #ccc;-webkit-border-top-left-radius:7px;-webkit-border-top-right-radius:7px;-moz-border-radius-topleft:7px;-moz-border-radius-topright:7px;border-top-left-radius:7px;border-top-right-radius:7px;z-index:999;padding:10px 10px 0}.wysija-premium-actions .licence{margin-right:15px}.wysija-premium-actions p{margin:0px 0px 10px 0;text-align:center}.wysija-premium-actions span.conditions{font-size:12px;margin-right:15px}.wysija-premium-actions .button-primary.wysija-premium-activate{float:none}.wysija-premium-actions-kim{position:fixed;width:1066px;bottom:0;background-color:#eee;border-top:1px solid #ccc;border-left:1px solid #ccc;border-right:1px solid #ccc;z-index:999;margin-left:-30px;padding:10px 10px;text-align:center}.mpoet-page .feature-section.three-col>div{width:29%;float:left;padding-right:30px;padding-left:0}.mpoet-page .three-col img{margin:0.5em 0;max-width:100%}a.wysija-premium-purchase{background-color:#FFB30D !important;background:-webkit-gradient(linear, left top, left bottom, from(#fecb19), to(#ff9c00)) !important;background:-webkit-linear-gradient(#fecb19, #ff9c00) !important;background:-moz-linear-gradient(center top, #fecb19 0%, #ff9c00 100%) !important;background:-moz-gradient(center top, #fecb19 0%, #ff9c00 100%) !important;border:1px solid #ff9c00 !important;color:#ffffff;font-family:"Amaranth", Arial, sans-serif;font-style:italic;font-size:15px !important;font-weight:normal;letter-spacing:1px;text-decoration:none;text-shadow:0 1px 0 #434343;padding:10px 30px;border-radius:7px;-moz-border-radius:7px;-webkit-border-radius:7px;box-shadow:none !important;text-shadow:0px 2px 1px rgba(0,0,0,0.3) !important;display:inline-block;text-align:center;width:auto}a.wysija-premium-purchase:hover{box-shadow:none !important}a.wysija-premium-purchase:hover,a.wysija-premium-purchase:active{text-decoration:none !important;background:#ffd547;background:-webkit-gradient(linear, left top, left bottom, from(#ffd648), to(#ffbe38));background:-webkit-linear-gradient(#ffd648, #ffbe38);background:-moz-linear-gradient(center top, #ffd648 20%, #ffbe38 100%);background:-moz-gradient(center top, #ffd648 20%, #ffbe38 100%)}a.wysija-premium-purchase,a.wysija-premium-activate{margin:10px 0}.mpoet-page .bullet-hold{width:600px;margin:15px 30px 15px 5px}.mpoet-page div.description h3{margin:5px 0 4px 0;font-family:"HelveticaNeue-Light","Helvetica Neue Light","Helvetica Neue",sans-serif;font-size:20px;font-weight:normal;color:black}.mpoet-page div.description p{margin:0}#prices_table{margin-top:55px}#prices_table .one-third{display:block;float:left;width:284px}#prices_table #prices_names{height:63px}#prices_table #prices_names .one-third{-moz-border-bottom-colors:none;-moz-border-left-colors:none;-moz-border-right-colors:none;-moz-border-top-colors:none;background:none repeat-x scroll left top transparent;border-color:#414141 -moz-use-text-color #414141 #414141;border-image:none;border-style:solid none solid solid;border-width:1px 0 1px 1px;height:61px;text-align:center}#prices_table #prices_names{display:block}#prices_table #prices_names h3{color:#FFF !important;line-height:1em !important}#prices_table #prices_names .blogger{background-color:#0074A2}#prices_table #prices_names .freelance{background-color:#026187}#prices_table #prices_names .agency{background-color:#014661;border-right:1px solid #414141}#prices_table #prices_cost{height:177px}#prices_table #prices_cost p{margin:0}#prices_table #prices_cost .one-third{-moz-border-bottom-colors:none;-moz-border-left-colors:none;-moz-border-right-colors:none;-moz-border-top-colors:none;border-color:-moz-use-text-color -moz-use-text-color #849A97 #849A97;border-image:none;border-style:none none solid solid;border-width:0 0 1px 1px;font-family:'Amaranth',Arial,sans-serif;height:176px}#prices_table #prices_cost .agency{border-right:1px solid #849A97}#prices_table #prices_cost span{display:block}#prices_table #prices_cost .dollars{font-size:80px;height:80px;line-height:normal;padding:20px 55px 0;text-align:center}#prices_table #prices_cost .per_year{font-size:18px;padding:0 60px;text-align:right}#prices_table #prices_cost .blogger .dollars{padding:20px 75px 0}#prices_table #prices_cost .blogger .per_year{padding:0 80px}#prices_table #prices_description{height:62px}#prices_table #prices_description .one-third{-moz-border-bottom-colors:none;-moz-border-left-colors:none;-moz-border-right-colors:none;-moz-border-top-colors:none;border-color:-moz-use-text-color -moz-use-text-color #849A97 #849A97;border-image:none;border-style:none none solid solid;border-width:0 0 1px 1px;font-size:22px;height:61px}#prices_table #prices_description .agency{border-right:1px solid #849A97}#prices_table #prices_description .agency p{display:block;margin:-15px 62px 0 0;text-align:right;font-size:.5em}#prices_table #prices_description span{display:block;padding:17px 0;text-align:center}#prices_table #prices_content{height:158px}#prices_table #prices_content .prices_content{-moz-border-bottom-colors:none;-moz-border-left-colors:none;-moz-border-right-colors:none;-moz-border-top-colors:none;border-color:-moz-use-text-color #849A97 #849A97;border-image:none;border-right:1px solid #849A97;border-style:none solid solid;border-width:0 1px 1px;color:#414141;font-size:17px;padding:16px 0}#prices_table #prices_content .prices_content span{display:block;padding:2px 0;text-align:center}a.buy-button{background:none repeat scroll 0 0 #2EA2CC;border-color:#0074A2;box-shadow:0 1px 0 rgba(120,200,230,0.5) inset,0 1px 0 rgba(0,0,0,0.15);color:#FFFFFF;-moz-box-sizing:border-box;border-radius:3px;border-style:solid;border-width:1px;cursor:pointer;display:inline-block;font-size:20px;margin-top:20px;margin-bottom:60px;padding:7px 10px 7px;text-decoration:none;white-space:nowrap}a.buy-button:hover{color:#ecf3fe}.mpoet-page h1{font-size:34px}#wysija-app .mpoet-page h2{font-size:25px}.mpoet-page h1,.mpoet-page h2,.mpoet-page h3,.mpoet-page h4{color:#626262;font-weight:bold}.mpoet-page h3{margin-top:5px;line-height:24px}.mpoet-page .three-col .argument-cta{display:table;margin-top:5px}#premium-content-b .pick-licence{margin-bottom:15px}.mpoet-page hr{margin-bottom:20px}#premium-content-b .price{font-weight:bold}#footer-upgrade,#footer-left,#wpfooter .alignright,.wysija-footer{display:none}.about-wrap div.updated,.about-wrap div.error{display:block !important}#wysija-app .about-wrap .feature-section{margin-top:20px}
1
+ #mainmenu .premium{background:url(../img/ui-bg_glass_premium_1x400.png) repeat-x scroll 50% 50% #e6e6e6;border:1px solid #a9abc3}#mainmenu .premium:hover{background:url(../img/ui-bg_glass_premium_hover_1x400.png) repeat-x scroll 50% 50% #e6e6e6;border:1px solid #9c9eb2}#mainmenu .premium a{font-weight:700;color:#5d5e76}#mainmenu .premium a:hover{color:#4b4d69}#mainmenu .ui-state-active{background:white !important;border:1px solid #d8d9e6}.mpoet-page h2{color:#4b4d69;font-size:1.8em;font-weight:200;line-height:1.2em;margin:0}.wysija-premium-wrapper{margin:0 0 20px 0}.wysija-premium-actions{position:fixed;width:1028px;bottom:0;background-color:#eee;border-top:1px solid #ccc;border-left:1px solid #ccc;border-right:1px solid #ccc;-webkit-border-top-left-radius:7px;-webkit-border-top-right-radius:7px;-moz-border-radius-topleft:7px;-moz-border-radius-topright:7px;border-top-left-radius:7px;border-top-right-radius:7px;z-index:999;padding:10px 10px 0}.wysija-premium-actions .licence{margin-right:15px}.wysija-premium-actions p{margin:0px 0px 10px 0;text-align:center}.wysija-premium-actions span.conditions{font-size:12px;margin-right:15px}.wysija-premium-actions .button-primary.wysija-premium-activate{float:none}.wysija-premium-actions-kim{position:fixed;width:1066px;bottom:0;background-color:#eee;border-top:1px solid #ccc;border-left:1px solid #ccc;border-right:1px solid #ccc;z-index:999;margin-left:-30px;padding:10px 10px;text-align:center}.mpoet-page .feature-section.three-col>div{width:29%;float:left;padding-right:30px;padding-left:0}.mpoet-page .three-col img{margin:0.5em 0;max-width:100%}a.wysija-premium-purchase{background-color:#FFB30D !important;background:-webkit-gradient(linear, left top, left bottom, from(#fecb19), to(#ff9c00)) !important;background:-webkit-linear-gradient(#fecb19, #ff9c00) !important;background:-moz-linear-gradient(center top, #fecb19 0%, #ff9c00 100%) !important;background:-moz-gradient(center top, #fecb19 0%, #ff9c00 100%) !important;border:1px solid #ff9c00 !important;color:#ffffff;font-family:"Amaranth", Arial, sans-serif;font-style:italic;font-size:15px !important;font-weight:normal;letter-spacing:1px;text-decoration:none;text-shadow:0 1px 0 #434343;padding:10px 30px;border-radius:7px;-moz-border-radius:7px;-webkit-border-radius:7px;box-shadow:none !important;text-shadow:0px 2px 1px rgba(0,0,0,0.3) !important;display:inline-block;text-align:center;width:auto}a.wysija-premium-purchase:hover{box-shadow:none !important}a.wysija-premium-purchase:hover,a.wysija-premium-purchase:active{text-decoration:none !important;background:#ffd547;background:-webkit-gradient(linear, left top, left bottom, from(#ffd648), to(#ffbe38));background:-webkit-linear-gradient(#ffd648, #ffbe38);background:-moz-linear-gradient(center top, #ffd648 20%, #ffbe38 100%);background:-moz-gradient(center top, #ffd648 20%, #ffbe38 100%)}a.wysija-premium-purchase,a.wysija-premium-activate{margin:10px 0}.mpoet-page .bullet-hold{width:600px;margin:15px 30px 15px 5px}.mpoet-page div.description h3{margin:5px 0 4px 0;font-family:"HelveticaNeue-Light","Helvetica Neue Light","Helvetica Neue",sans-serif;font-size:20px;font-weight:normal;color:black}.mpoet-page div.description p{margin:0}#prices_table{margin-top:55px}#prices_table .one-third{display:block;float:left;width:284px}#prices_table #prices_names{height:63px}#prices_table #prices_names .one-third{-moz-border-bottom-colors:none;-moz-border-left-colors:none;-moz-border-right-colors:none;-moz-border-top-colors:none;background:none repeat-x scroll left top transparent;border-color:#414141 -moz-use-text-color #414141 #414141;border-image:none;border-style:solid none solid solid;border-width:1px 0 1px 1px;height:61px;text-align:center}#prices_table #prices_names{display:block}#prices_table #prices_names h3{color:#FFF !important;line-height:1em !important}#prices_table #prices_names .blogger{background-color:#0074A2}#prices_table #prices_names .freelance{background-color:#026187}#prices_table #prices_names .agency{background-color:#014661;border-right:1px solid #414141}#prices_table #prices_cost{height:177px}#prices_table #prices_cost p{margin:0}#prices_table #prices_cost .one-third{-moz-border-bottom-colors:none;-moz-border-left-colors:none;-moz-border-right-colors:none;-moz-border-top-colors:none;border-color:-moz-use-text-color -moz-use-text-color #849A97 #849A97;border-image:none;border-style:none none solid solid;border-width:0 0 1px 1px;font-family:'Amaranth',Arial,sans-serif;height:176px}#prices_table #prices_cost .agency{border-right:1px solid #849A97}#prices_table #prices_cost span{display:block}#prices_table #prices_cost .dollars{font-size:80px;height:80px;line-height:normal;padding:20px 55px 0;text-align:center}#prices_table #prices_cost .per_year{font-size:18px;padding:0 60px;text-align:right}#prices_table #prices_cost .blogger .dollars{padding:20px 75px 0}#prices_table #prices_cost .blogger .per_year{padding:0 80px}#prices_table #prices_description{height:62px}#prices_table #prices_description .one-third{-moz-border-bottom-colors:none;-moz-border-left-colors:none;-moz-border-right-colors:none;-moz-border-top-colors:none;border-color:-moz-use-text-color -moz-use-text-color #849A97 #849A97;border-image:none;border-style:none none solid solid;border-width:0 0 1px 1px;font-size:22px;height:61px}#prices_table #prices_description .agency{border-right:1px solid #849A97}#prices_table #prices_description .agency p{display:block;margin:-15px 62px 0 0;text-align:right;font-size:.5em}#prices_table #prices_description span{display:block;padding:17px 0;text-align:center}#prices_table #prices_content{height:158px}#prices_table #prices_content .prices_content{-moz-border-bottom-colors:none;-moz-border-left-colors:none;-moz-border-right-colors:none;-moz-border-top-colors:none;border-color:-moz-use-text-color #849A97 #849A97;border-image:none;border-right:1px solid #849A97;border-style:none solid solid;border-width:0 1px 1px;color:#414141;font-size:17px;padding:16px 0}#prices_table #prices_content .prices_content span{display:block;padding:2px 0;text-align:center}a.buy-button{background:none repeat scroll 0 0 #2EA2CC;border-color:#0074A2;box-shadow:0 1px 0 rgba(120,200,230,0.5) inset,0 1px 0 rgba(0,0,0,0.15);color:#FFFFFF;-moz-box-sizing:border-box;border-radius:3px;border-style:solid;border-width:1px;cursor:pointer;display:inline-block;font-size:20px;margin-top:20px;margin-bottom:60px;padding:7px 10px 7px;text-decoration:none;white-space:nowrap}a.buy-button:hover{color:#ecf3fe}.mpoet-page h1{font-size:34px}#wysija-app .mpoet-page h2{font-size:25px}.mpoet-page h1,.mpoet-page h2,.mpoet-page h3,.mpoet-page h4{color:#626262;font-weight:bold}.mpoet-page h3{margin-top:5px;line-height:24px}.mpoet-page .three-col .argument-cta{display:table;margin-top:5px}#premium-content-b .pick-licence{margin-bottom:15px}.mpoet-page hr{margin-bottom:20px}#premium-content-b .price{font-weight:bold}#footer-upgrade,#footer-left,#wpfooter .alignright,.wysija-footer{display:none}.about-wrap div.updated,.about-wrap div.error{display:block !important}#wysija-app .about-wrap .feature-section{margin-top:20px}.about-wrap .three-col>div{margin-right:32px}
helpers/back.php CHANGED
@@ -408,20 +408,28 @@ class WYSIJA_help_back extends WYSIJA_help{
408
  if($wysija_installing===true){
409
  if($count==0){
410
  $parentmenu=$actionFull;
411
- $hookname=add_menu_page($menutemp['title'], $menutemp['subtitle'], $roleformenu, $actionFull , array($this->controller, 'errorInstall'), 'div', $position);
 
 
 
 
 
 
 
 
412
  }
413
  }else{
414
  if($count==0){
415
  $parentmenu = $actionFull;
416
  $hookname = add_menu_page(
417
- $menutemp['title'],
418
- $menutemp['subtitle'],
419
- $roleformenu,
420
- $actionFull ,
421
- array($this->controller, 'render'),
422
- 'div',
423
- $position
424
- );
425
  }else{
426
  $hookname=add_submenu_page($parentmenu,$menutemp['title'], $menutemp['subtitle'], $roleformenu, $actionFull , array($this->controller, 'render'));
427
  }
408
  if($wysija_installing===true){
409
  if($count==0){
410
  $parentmenu=$actionFull;
411
+ $hookname = add_menu_page(
412
+ $menutemp['title'],
413
+ $menutemp['subtitle'],
414
+ $roleformenu,
415
+ $actionFull,
416
+ array($this->controller, 'errorInstall'),
417
+ WYSIJA_EDITOR_IMG.'menu-icon.png',
418
+ $position
419
+ );
420
  }
421
  }else{
422
  if($count==0){
423
  $parentmenu = $actionFull;
424
  $hookname = add_menu_page(
425
+ $menutemp['title'],
426
+ $menutemp['subtitle'],
427
+ $roleformenu,
428
+ $actionFull ,
429
+ array($this->controller, 'render'),
430
+ WYSIJA_EDITOR_IMG.'menu-icon.png',
431
+ $position
432
+ );
433
  }else{
434
  $hookname=add_submenu_page($parentmenu,$menutemp['title'], $menutemp['subtitle'], $roleformenu, $actionFull , array($this->controller, 'render'));
435
  }
helpers/bookmarks.php CHANGED
@@ -12,6 +12,7 @@ class WYSIJA_help_bookmarks extends WYSIJA_object {
12
  * @return array
13
  */
14
  function getAll($size = 'medium', $theme = 'default') {
 
15
  $fileHelper = WYSIJA::get('file', 'helper');
16
  $dirHandle = $fileHelper->exists('bookmarks'.DS.$size);
17
 
@@ -56,6 +57,7 @@ class WYSIJA_help_bookmarks extends WYSIJA_object {
56
  */
57
  function getAllByIconset($size = 'medium', $iconset)
58
  {
 
59
  $fileHelper = WYSIJA::get('file', 'helper');
60
  $dirHandle = $fileHelper->exists('bookmarks'.DS.$size.DS.$iconset);
61
 
@@ -82,6 +84,7 @@ class WYSIJA_help_bookmarks extends WYSIJA_object {
82
 
83
  function getAllByTheme($theme, $type = 'all')
84
  {
 
85
  $fileHelper = WYSIJA::get('file', 'helper');
86
  $dirHandle = $fileHelper->exists('themes'.DS.$theme.DS.'bookmarks');
87
 
12
  * @return array
13
  */
14
  function getAll($size = 'medium', $theme = 'default') {
15
+ $theme = basename($theme);
16
  $fileHelper = WYSIJA::get('file', 'helper');
17
  $dirHandle = $fileHelper->exists('bookmarks'.DS.$size);
18
 
57
  */
58
  function getAllByIconset($size = 'medium', $iconset)
59
  {
60
+ $iconset = basename($iconset);
61
  $fileHelper = WYSIJA::get('file', 'helper');
62
  $dirHandle = $fileHelper->exists('bookmarks'.DS.$size.DS.$iconset);
63
 
84
 
85
  function getAllByTheme($theme, $type = 'all')
86
  {
87
+ $theme = basename($theme);
88
  $fileHelper = WYSIJA::get('file', 'helper');
89
  $dirHandle = $fileHelper->exists('themes'.DS.$theme.DS.'bookmarks');
90
 
helpers/bounce.php CHANGED
@@ -636,6 +636,8 @@ class WYSIJA_help_bounce extends WYSIJA_help {
636
  $data[] = 'HTML_VERSION::' . htmlentities($this->_message->html);
637
  if (!empty($this->_message->text))
638
  $data[] = 'TEXT_VERSION::' . nl2br(htmlentities($this->_message->text));
 
 
639
  $data[] = 'REPLYTO_ADDRESS::' . $this->_message->header->reply_to_name . ' ( ' . $this->_message->header->reply_to_email . ' )';
640
  $data[] = 'FROM_ADDRESS::' . $this->_message->header->from_name . ' ( ' . $this->_message->header->from_email . ' )';
641
  $data[] = print_r($this->_message->headerinfo, true);
@@ -662,6 +664,8 @@ class WYSIJA_help_bounce extends WYSIJA_help {
662
  //We add all other extra information just in case of we could use them...
663
  //original-rcpt-to ? http://tools.ietf.org/html/rfc5965
664
  $this->mailer->Body .= print_r($this->_message->headerinfo, true);
 
 
665
  $this->mailer->AddReplyTo($this->_message->header->reply_to_email, $this->_message->header->reply_to_name);
666
  $this->mailer->setFrom($this->_message->header->from_email, $this->_message->header->from_name);
667
  if ($this->mailer->send()) {
@@ -1028,6 +1032,8 @@ class WYSIJA_help_bounce extends WYSIJA_help {
1028
  $email_saved_as_array[] = 'HTML_VERSION::' . htmlentities($this->_message->html);
1029
  if (!empty($this->_message->text))
1030
  $email_saved_as_array[] = 'TEXT_VERSION::' . nl2br(htmlentities($this->_message->text));
 
 
1031
  $email_saved_as_array[] = 'REPLYTO_ADDRESS::' . $this->_message->header->reply_to_name . ' ( ' . $this->_message->header->reply_to_email . ' )';
1032
  $email_saved_as_array[] = 'FROM_ADDRESS::' . $this->_message->header->from_name . ' ( ' . $this->_message->header->from_email . ' )';
1033
  $email_saved_as_array[] = print_r($this->_message->headerinfo, true);
@@ -1056,6 +1062,8 @@ class WYSIJA_help_bounce extends WYSIJA_help {
1056
  //We add all other extra information just in case of we could use them...
1057
  //original-rcpt-to ? http://tools.ietf.org/html/rfc5965
1058
  $this->mailer->Body .= print_r($this->_message->headerinfo, true);
 
 
1059
  $this->mailer->AddReplyTo($this->_message->header->reply_to_email, $this->_message->header->reply_to_name);
1060
  $this->mailer->setFrom($this->_message->header->from_email, $this->_message->header->from_name);
1061
  if ($this->mailer->send()) {
636
  $data[] = 'HTML_VERSION::' . htmlentities($this->_message->html);
637
  if (!empty($this->_message->text))
638
  $data[] = 'TEXT_VERSION::' . nl2br(htmlentities($this->_message->text));
639
+ $this->_message->header->reply_to_name = (property_exists($this->_message->header, 'reply_to_name')) ? $this->_message->header->reply_to_name : '';
640
+ $this->_message->header->from_name = (property_exists($this->_message->header, 'from_name')) ? $this->_message->header->from_name : '';
641
  $data[] = 'REPLYTO_ADDRESS::' . $this->_message->header->reply_to_name . ' ( ' . $this->_message->header->reply_to_email . ' )';
642
  $data[] = 'FROM_ADDRESS::' . $this->_message->header->from_name . ' ( ' . $this->_message->header->from_email . ' )';
643
  $data[] = print_r($this->_message->headerinfo, true);
664
  //We add all other extra information just in case of we could use them...
665
  //original-rcpt-to ? http://tools.ietf.org/html/rfc5965
666
  $this->mailer->Body .= print_r($this->_message->headerinfo, true);
667
+ $this->_message->header->reply_to_name = (property_exists($this->_message->header, 'reply_to_name')) ? $this->_message->header->reply_to_name : '';
668
+ $this->_message->header->from_name = (property_exists($this->_message->header, 'from_name')) ? $this->_message->header->from_name : '';
669
  $this->mailer->AddReplyTo($this->_message->header->reply_to_email, $this->_message->header->reply_to_name);
670
  $this->mailer->setFrom($this->_message->header->from_email, $this->_message->header->from_name);
671
  if ($this->mailer->send()) {
1032
  $email_saved_as_array[] = 'HTML_VERSION::' . htmlentities($this->_message->html);
1033
  if (!empty($this->_message->text))
1034
  $email_saved_as_array[] = 'TEXT_VERSION::' . nl2br(htmlentities($this->_message->text));
1035
+ $this->_message->header->reply_to_name = (property_exists($this->_message->header, 'reply_to_name')) ? $this->_message->header->reply_to_name : '';
1036
+ $this->_message->header->from_name = (property_exists($this->_message->header, 'from_name')) ? $this->_message->header->from_name : '';
1037
  $email_saved_as_array[] = 'REPLYTO_ADDRESS::' . $this->_message->header->reply_to_name . ' ( ' . $this->_message->header->reply_to_email . ' )';
1038
  $email_saved_as_array[] = 'FROM_ADDRESS::' . $this->_message->header->from_name . ' ( ' . $this->_message->header->from_email . ' )';
1039
  $email_saved_as_array[] = print_r($this->_message->headerinfo, true);
1062
  //We add all other extra information just in case of we could use them...
1063
  //original-rcpt-to ? http://tools.ietf.org/html/rfc5965
1064
  $this->mailer->Body .= print_r($this->_message->headerinfo, true);
1065
+ $this->_message->header->reply_to_name = (property_exists($this->_message->header, 'reply_to_name')) ? $this->_message->header->reply_to_name : '';
1066
+ $this->_message->header->from_name = (property_exists($this->_message->header, 'from_name')) ? $this->_message->header->from_name : '';
1067
  $this->mailer->AddReplyTo($this->_message->header->reply_to_email, $this->_message->header->reply_to_name);
1068
  $this->mailer->setFrom($this->_message->header->from_email, $this->_message->header->from_name);
1069
  if ($this->mailer->send()) {
helpers/mailer.php CHANGED
@@ -109,6 +109,9 @@ class WYSIJA_help_mailer extends acymailingPHPMailer {
109
  $this->sendGrid->Username = trim($this->config->getValue('smtp_login'));
110
  $this->sendGrid->Password = trim($this->config->getValue('smtp_password'));
111
  $this->isSendGridRest=true;
 
 
 
112
  }else{
113
  if(in_array(trim($this->Host), array('mailpoet.com'))){
114
  $this->Mailer = 'mailpoet';
@@ -166,7 +169,7 @@ class WYSIJA_help_mailer extends acymailingPHPMailer {
166
  //$this->Hostname = '';
167
  $this->WordWrap = 150;
168
 
169
- if($this->config->getValue('dkim_active') && $this->config->getValue('dkim_pubk') && !$this->isElasticRest && !$this->isSendGridRest && $this->Mailer !='mailpoet'){
170
  // check that server can sign emails
171
  if(!function_exists('openssl_sign')){
172
  $this->error(__('You cannot use the DKIM signature option...',WYSIJA).' '.__('The PHP Extension openssl is not enabled on your server. Ask your host to enable it if you want to use an SSL connection.',WYSIJA));
@@ -869,6 +872,7 @@ class WYSIJA_help_mailer extends acymailingPHPMailer {
869
 
870
  $email->body=str_replace($arrayfind,$arrayreplace,$email->body);
871
  $email->subject=str_replace($arrayfind,$arrayreplace,$email->subject);
 
872
  }
873
 
874
  /**
109
  $this->sendGrid->Username = trim($this->config->getValue('smtp_login'));
110
  $this->sendGrid->Password = trim($this->config->getValue('smtp_password'));
111
  $this->isSendGridRest=true;
112
+ }elseif(in_array(trim($this->Host), array('sparkpost.com'))) {
113
+ $this->Mailer = 'sparkpost';
114
+ $this->sparkpost = new WJ_Sparkpost( $this->config->getValue('smtp_password') );
115
  }else{
116
  if(in_array(trim($this->Host), array('mailpoet.com'))){
117
  $this->Mailer = 'mailpoet';
169
  //$this->Hostname = '';
170
  $this->WordWrap = 150;
171
 
172
+ if($this->config->getValue('dkim_active') && $this->config->getValue('dkim_pubk') && !$this->isElasticRest && !$this->isSendGridRest && $this->Mailer !='mailpoet' || $this->Mailer !='sparkpost'){
173
  // check that server can sign emails
174
  if(!function_exists('openssl_sign')){
175
  $this->error(__('You cannot use the DKIM signature option...',WYSIJA).' '.__('The PHP Extension openssl is not enabled on your server. Ask your host to enable it if you want to use an SSL connection.',WYSIJA));
872
 
873
  $email->body=str_replace($arrayfind,$arrayreplace,$email->body);
874
  $email->subject=str_replace($arrayfind,$arrayreplace,$email->subject);
875
+ $email->subject = ($email->subject) ? $email->subject : " ";
876
  }
877
 
878
  /**
helpers/render_engine.php CHANGED
@@ -812,12 +812,14 @@ class WYSIJA_help_render_engine extends WYSIJA_object {
812
 
813
  case 'ratio':
814
  $image = $value;
815
- $ratio = 1;
816
  if(isset($image['width']) && isset($image['height'])) {
817
- if((int)$image['height']<=0)$image['height']=1;
 
 
818
  $ratio = round(($image['width'] / $image['height']) * 1000) / 1000;
819
  }
820
- $value = $ratio;
821
  break;
822
  case 'format_line_height':
823
  $value = $this->_css_format_line_height($value);
812
 
813
  case 'ratio':
814
  $image = $value;
815
+ $ratio = 1.0;
816
  if(isset($image['width']) && isset($image['height'])) {
817
+ if((int)$image['height'] <= 0) {
818
+ $image['height'] = 1;
819
+ }
820
  $ratio = round(($image['width'] / $image['height']) * 1000) / 1000;
821
  }
822
+ $value = number_format($ratio, 3, '.', '');
823
  break;
824
  case 'format_line_height':
825
  $value = $this->_css_format_line_height($value);
helpers/themes.php CHANGED
@@ -240,7 +240,7 @@ class WYSIJA_help_themes extends WYSIJA_object{
240
  $dirtemp=$helperF->makeDir();
241
  $dirtemp=str_replace("/",DS,$dirtemp);
242
  /* 2- create a temp file */
243
- $tempzipfile=$dirtemp.$_REQUEST['theme_key'].'.zip';
244
 
245
  $fp = fopen($tempzipfile, 'w');
246
  fwrite($fp, $ZipfileResult);
240
  $dirtemp=$helperF->makeDir();
241
  $dirtemp=str_replace("/",DS,$dirtemp);
242
  /* 2- create a temp file */
243
+ $tempzipfile=$dirtemp.basename($_REQUEST['theme_key']).'.zip';
244
 
245
  $fp = fopen($tempzipfile, 'w');
246
  fwrite($fp, $ZipfileResult);
img/menu-icon.png ADDED
Binary file
inc/phpmailer/class.phpmailer.php CHANGED
@@ -454,6 +454,10 @@ class acymailingPHPMailer extends WYSIJA_OBJECT{
454
  $result = $this->sendGrid->sendMail($this);
455
  if (!$result) $this->SetError($this->sendGrid->error);
456
  break;
 
 
 
 
457
  case 'mailpoet' :
458
  $result = $this->mailpoet->send_mail($this);
459
  if ( $result !== true ) $this->error($this->mailpoet->error);
454
  $result = $this->sendGrid->sendMail($this);
455
  if (!$result) $this->SetError($this->sendGrid->error);
456
  break;
457
+ case 'sparkpost' :
458
+ $result = $this->sparkpost->send_mail($this);
459
+ if ( $result !== true ) $this->error($this->sparkpost->error);
460
+ break;
461
  case 'mailpoet' :
462
  $result = $this->mailpoet->send_mail($this);
463
  if ( $result !== true ) $this->error($this->mailpoet->error);
index.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: MailPoet Newsletters
4
  Plugin URI: http://www.mailpoet.com/
5
  Description: Create and send newsletters or automated emails. Capture subscribers with a widget. Import and manage your lists. MailPoet is a sweet plugin maintained and supported with love.
6
- Version: 2.7.1
7
  Author: MailPoet
8
  Author URI: http://www.mailpoet.com/
9
  License: GPLv2 or later
3
  Plugin Name: MailPoet Newsletters
4
  Plugin URI: http://www.mailpoet.com/
5
  Description: Create and send newsletters or automated emails. Capture subscribers with a widget. Import and manage your lists. MailPoet is a sweet plugin maintained and supported with love.
6
+ Version: 2.7.2
7
  Author: MailPoet
8
  Author URI: http://www.mailpoet.com/
9
  License: GPLv2 or later
js/admin-config-settings.js CHANGED
@@ -1 +1 @@
1
- jQuery(function(e){function i(){e("#manage_subscriptions").attr("checked")?e(".manage_subscriptions").fadeIn():e(".manage_subscriptions").fadeOut()}function n(i){null===i?e.each(e(".page_select"),function(){e("#"+e(this).attr("id")+"-links-"+e(this).val()).fadeIn()}):(id_section="#"+e(i).attr("id")+"-links",e(id_section+" span").hide(),e(id_section+"-"+e(i).val()).fadeIn())}function t(){switch(e("#sending-method-smtp").attr("checked")&&(e('#smtp-port, #smtp-secure, #smtp-login, #smtp-auth-1, label[for="smtp-auth-"]').parent().parent().show(),e("label[for='smtp-password']").html(wysija_translations.password),a()),e("#restapipossible").hide(),e("#smtp-host").val()){case"smtp.gmail.com":""==y&&(e("#smtp-port").val("465"),e("#smtp-secure").val("ssl"),e("#smtp-login").val("your_username@gmail.com"));break;case"smtp.sendgrid.net":e("#restapipossible").show();break;case"mailpoet.com":e('#smtp-port, #smtp-secure, #smtp-login, label[for="smtp-auth-"]').parent().parent().hide(),e("label[for='smtp-password']").html(wysija_translations.api);break;case"":""==y&&(e("#smtp-port").val("25"),e("#smtp-secure").val("0"),e("#smtp-login").val(""))}""==y&&e("#smtp-secure").change()}function a(){"smtp"==e('input[name="wysija[config][sending_method]"]:checked').val()&&("none"!=e("#restapipossible").css("display")&&e("#smtp-rest").attr("checked")?e(".choice-no-restapi").hide():e(".choice-no-restapi").show())}function s(){1===parseInt(e('input[name="wysija[config][confirm_dbleoptin]"]:checked').attr("value"))?e(".confirmemail").fadeIn():e(".confirmemail").fadeOut()}function o(){var i=e(".mailpoet-frequency_warning"),n=e("#sending-emails-each"),t=["one_min","two_min","five_min","ten_min"];-1!==e.inArray(n.val(),t)?i.removeClass("hidden"):i.addClass("hidden")}function c(){return"gmail"==e('input[name="wysija[config][sending_method]"]:checked').val()}function r(){c()?e('select[name="wysija[config][sending_emails_each]"] option[value="hourly"]').length>0&&(e("#sending-emails-number").val("20"),e('select[name="wysija[config][sending_emails_each]"]').val("hourly"),e("#sending-emails-number").attr("readonly","readonly"),e('select[name="wysija[config][sending_emails_each]"]').attr("disabled","disabled")):(e('select[name="wysija[config][sending_emails_each]"]').removeAttr("disabled"),e("#sending-emails-number").removeAttr("readonly"))}function d(){return wysijaAJAX.task="bounce_connect",wysijaAJAX.data=e("form").serializeArray(),wysijaAJAX.popTitle=wysijatrans.bounceconnect,wysijaAJAX.dataType="json",wysijaAJAXcallback.onSuccess=function(i){var n="";return i.result.result&&(n='<a class="bounce-submit button-secondary" href2="admin.php?page=wysija_campaigns&action=test_bounce">'+wysijatrans.processbounce+"</a>"),displaychange?e(".allmsgs.ui-dialog-content.ui-widget-content").append(n):e("#bounce-connector").after(n),!0},e.WYSIJA_SEND(),!1}function l(){return wysijaAJAX.task="bounce_process",wysijaAJAX._wpnonce=wysijanonces.config.bounce_process,wysijaAJAX.data=e("form").serializeArray(),wysijaAJAX.popTitle=wysijatrans.processbounceT,wysijaAJAX.dataType="html",e(".allmsgs").dialog(),e.WYSIJA_SEND(),!1}function m(){"undefined"!=typeof this?e.each(e(".activateInput"),function(){h(this)}):h(this)}function h(i){e(i).attr("checked")?e("#"+e(i).attr("id")+"_linkname").fadeIn():e("#"+e(i).attr("id")+"_linkname").fadeOut()}function u(){subscribersCountList=[],e(".subscribers-count-list").each(function(){e(this).is(":checked")&&subscribersCountList.push(e(this).val())}),shortCode="[",shortCode+="wysija_subscribers_count",subscribersCountList.length>0&&(shortCode+=' list_id="'+subscribersCountList.join()+'" '),shortCode+="]",e(".subscribers-count-shortcode").val(shortCode)}function p(){switch(e("#ms-restapipossible").hide(),e("#ms-smtp-host").val()){case"smtp.gmail.com":""==_&&(e("#ms-smtp-port").val("465"),e("#ms-smtp-secure").val("ssl"),e("#ms-smtp-login").val("your_username@gmail.com"));break;case"smtp.sendgrid.net":e("#ms-restapipossible").show();break;case"":""==_&&(e("#ms-smtp-port").val("25"),e("#ms-smtp-secure").val("0"),e("#ms-smtp-login").val(""))}""==_&&e("#ms-smtp-secure").change()}function g(){"smtp"==e('input[name="wysija[config][ms_sending_method]"]:checked').val()&&("none"!=e("#ms-restapipossible").css("display")&&e("#ms-smtp-rest").attr("checked")?e(".ms-choice-no-restapi").hide():e(".ms-choice-no-restapi").show())}function f(){-1!==e.inArray(e("#ms-sending-emails-each").val(),["one_min","two_min","five_min","ten_min"])?e(".ms-choice-under15").show():e(".ms-choice-under15").hide()}function w(){"one-for-all"==e('input[name="wysija[config][ms_sending_config]"]:checked').val()?e(".choice-one-for-all").show():e(".choice-one-for-all").hide()}var y=e("#smtp-login").val();e(".hidechoice").hide(),e(".choice-sending-method-"+e('input[name="wysija[config][sending_method]"]:checked').val()).show(),e('input[name="wysija[config][sending_method]"]').change(function(){e(".hidechoice").hide(),e(".choice-sending-method-"+this.value).show(),r()}),e("#sending-emails-each").change(function(){o()}),e("#linksendingmethod").click(function(){e("#tabs").tabs("select",e(this).attr("href"))}),e("#mainmenu li a").click(function(){e("#redirecttab").val(e(this).attr("href"))}),e('input[name="wysija[config][confirm_dbleoptin]"]').change(s),e("#confirm_dbleoptin-1").click(function(){return confirm(wysijatrans.doubleoptinon)}),e("#confirm_dbleoptin-0").click(function(){return confirm(wysijatrans.doubleoptinoff)}),e('input[name="wysija[config][sending_emails_site_method]"]').change(function(){"sendmail"==e('input[name="wysija[config][sending_emails_site_method]"]:checked').val()?e("#p-sending-emails-site-method-sendmail-path").show():e("#p-sending-emails-site-method-sendmail-path").hide()}),e('input[name="wysija[config][sending_emails_site_method]"]').change(),e(".page_select").change(function(){n(this)}),e("#manage_subscriptions").change(function(){i()}),e("#smtp-host").keyup(t),e("#smtp-rest").change(a),e("#button-regenerate-dkim").click(function(){return e("#sending-emails-site-method-phpmail").attr("checked","checked"),e("#dkim_regenerate").val("regenerate"),e("#wysija-settings").submit(),!1}),e("#bounce-connector").click(d),e(document).on("click",".bounce-submit",function(){return l(),e(".allmsgs").dialog("close"),tb_show(wysijatrans.processbounceT,e(this).attr("href2")+"&KeepThis=true&TB_iframe=true&height=400&width=600",null),tb_showIframe(),!1}),e(".forwardto").change(function(){e(this).attr("checked")?e("#"+e(this).attr("id")+"_input").show():e("#"+e(this).attr("id")+"_input").hide()}),e.each(e(".hideifnovalue"),function(){""==e(this).find("input").val()&&e(this).hide()}),e("#wysija-settings").submit(function(){var i=!1;return e(".bounce-forward-email").each(function(){var n=trim(e(this).val());""!==n&&n==e("#bounce_email").val()&&(e('#wysija-tabs a[href="#bounce"]').trigger("click"),e('#wysija-innertabs a[href="#actions"]').trigger("click"),e(this).css("border","1px solid #CC0000"),e("#bounce-msg-error").addClass("error"),e("#bounce-msg-error").html(wysijatrans.errorbounceforward),i=!0)}),i?!1:void e('select[name="wysija[config][sending_emails_each]"]').removeAttr("disabled")}),e("#bounce-process-auto").attr("checked")?e("#bounce-frequency").show():e("#bounce-frequency").hide(),e("#bounce-process-auto").change(function(){e(this).attr("checked")?e("#bounce-frequency").show():e("#bounce-frequency").hide()}),e(".activateInput").change(m),e(document).on("click","#wysija-innertabs .nav-tab",function(i,n){var t,a=e(".wysija-innerpanel"),s=e("#wysija-innertabs").children(".nav-tab"),o=e(this),c=o.attr("href").replace("#",""),r={};return"undefined"==typeof n&&(n=!0),a.each(function(i,n){var t=e(n);r[t.attr("id")]=t}),t=r[c],s.removeClass("nav-tab-active"),o.addClass("nav-tab-active"),a.not(".hidden").addClass("hidden"),t.removeClass("hidden"),n&&(window.location.hash="inner-tab-"+c),t.trigger("shown.innertab.mailpoet"),!1}),e(document).on("click","#wysija-tabs .nav-tab",function(i,n){var t,a=e(".wysija-panel"),s=e("#wysija-tabs").children(".nav-tab"),o=e(this),c=o.attr("href").replace("#",""),r={};return"undefined"==typeof n&&(n=!0),a.each(function(i,n){var t=e(n);r[t.attr("id")]=t}),t=r[c],s.removeClass("nav-tab-active"),o.addClass("nav-tab-active"),a.not(".hidden").addClass("hidden"),t.removeClass("hidden"),n&&(window.location.hash="tab-"+c),t.trigger("shown.tab.mailpoet"),!1}),e(document).on("click","#tip-send-with",function(i){e('.nav-tab[href="#sendingmethod"]').trigger("click"),i.preventDefault()}),e(window).load(function(){if(window.location.hash.length>0){var i=window.location.hash.replace("tab-","");e('#wysija-tabs .nav-tab[href="'+i+'"]').trigger("click")}else e("#wysija-tabs .nav-tab").first().trigger("click",!1);if(1===window.location.hash.indexOf("inner-tab")){var n=e('#wysija-innertabs .nav-tab[href="'+window.location.hash.replace("inner-tab-","")+'"]').trigger("click");e('#wysija-tabs .nav-tab[href="#'+n.parents(".wysija-panel").attr("id")+'"]').trigger("click",!1)}else e("#wysija-innertabs .nav-tab-active").trigger("click",!1)}),e(document).ready(function(){r(),o(),s(),m(),t(),a(),n(null),i(),e(".subscribers-count-list").change(u),e("#analytics-0").is(":checked")&&e("#advanced .industry").hide(),e("#analytics-1").change(function(){"1"==e(this).val()&&e("#advanced .industry").show()}),e("#analytics-0").change(function(){"0"==e(this).val()&&e("#advanced .industry").hide()}),e("#"+getURLParameter("scroll_to")).length>0&&(e("html,body").animate({scrollTop:e("#"+getURLParameter("scroll_to")).offset().top-e("#wpadminbar").height()},500),e("#"+getURLParameter("scroll_to")).css({"background-color":"#f8fcff","font-size":"16px","font-weight":"bold"}))}),e("#dkimpub, #domainrecord, .subscribers-count-shortcode").click(function(){this.select()});var _=e("#ms-smtp-login").val();e(".ms-hidechoice").hide(),e(".ms-choice-sending-method-"+e('input[name="wysija[config][ms_sending_method]"]:checked').val()).show(),e('input[name="wysija[config][ms_sending_method]"]').change(function(){e(".ms-hidechoice").hide(),e(".ms-choice-sending-method-"+this.value).show()}),e("#ms-sending-emails-each").change(function(){f()}),e('input[name="wysija[config][ms_sending_config]"]').change(function(){w()}),e('input[name="wysija[config][ms_sending_emails_site_method]"]').change(function(){"sendmail"==e('input[name="wysija[config][ms_sending_emails_site_method]"]:checked').val()?e("#ms_p-sending-emails-site-method-sendmail-path").show():e("#ms_p-sending-emails-site-method-sendmail-path").hide()}),e('input[name="wysija[config][ms_sending_emails_site_method]"]').change(),e("#ms-smtp-host").keyup(p),e("#ms-smtp-rest").change(g),e.each(e(".hideifnovalue"),function(){""===e(this).find("input").val()&&e(this).hide()}),e("table.capabilities_form .view_all").click(function(){e("table.capabilities_form tr.hidden").removeClass("hidden"),objTr=e(this).parents("tr")[0],e(objTr).remove()}),e(".mailpoet-test-delivery").on({click:function(i){i.preventDefault();var n="network"===e(".mailpoet-delivery-method:checked").val()||e(this).data("multisite");return n?(wysijaAJAX.task="send_test_mail_ms",wysijaAJAX._wpnonce=wysijanonces.config.send_test_mail_ms):(wysijaAJAX.task="send_test_mail",wysijaAJAX._wpnonce=wysijanonces.config.send_test_mail),wysijaAJAX.data=e("form").serializeArray(),wysijaAJAX.popTitle=wysijatrans.testemail,wysijaAJAX.dataType="json",e.WYSIJA_SEND(),!1}}),e(document).ready(function(){e("#smtp-host").keyup(),w(),f(),p(),g()})}),window.mailpoet="object"==typeof window.mailpoet?window.mailpoet:{$:{}},function(e,i){"use strict";var n=i.mailpoet,t=n.fn={};t.getSendingMethod=function(){return n.$.sending_method instanceof jQuery||(n.$.sending_method=e('input[name="wysija[config][sending_method]"]')),n.$.sending_method.filter(":checked").val()},t.isGoodFromAddress=function(e){var n=e.split("@")[1];return"undefined"==typeof n||""===n?!1:n.toLowerCase()!==i.location.host.toLowerCase()?!1:!0},t.isGmailAddress=function(e){var i=e.split("@")[1];return"undefined"==typeof i||""===i?!1:"gmail.com"!==i.toLowerCase()?!1:!0}}(jQuery,window),function(e,i){"use strict";var n=i.mailpoet;e(document).ready(function(){"object"==typeof e.fn.tooltip&&(n.$.from_email=e("#from_email"),n.$.from_email.tooltip({animation:!0,placement:"bottom",trigger:"manual",html:!0,title:function(){return n.$.from_email.data("message")}}).on({"verifyEmail.mailpoet":function(){if(n.fn.isGoodFromAddress(n.$.from_email.val()))return n.$.from_email.data("message","").tooltip("hide");if("gmail"===n.fn.getSendingMethod())return n.$.from_email.data("message","").tooltip("hide");var e="";return e=n.fn.isGmailAddress(n.$.from_email.val())?mpEmailCheck.gmailText:mpEmailCheck.text,n.$.from_email.is(":visible")?n.$.from_email.data("message",e).tooltip("show"):n.$.from_email.tooltip("hide")},keyup:function(){n.$.from_email.trigger("verifyEmail.mailpoet")}}).trigger("verifyEmail.mailpoet"),n.$.panels=e(".wysija-panel"),n.$.panels.filter("#basics").on({"shown.tab.mailpoet":function(){n.$.from_email.trigger("verifyEmail.mailpoet")}}))})}(jQuery,window),function(e,i){"use strict";var n=i.mailpoet;e(document).on({ready:function(){n.$.geeky=e(".mailpoet-geeky-toggle"),n.$.geeky.data("l18n",{hide:n.$.geeky.data("hide"),show:n.$.geeky.text()}),n.$.geeky_rows=e(".super-advanced"),n.$.geeky.on({click:function(i){i.preventDefault();var t=n.$.geeky.data("l18n");n.$.geeky.hasClass("is_toggled")?(n.$.geeky.removeClass("is_toggled").text(t.hide),n.$.geeky_rows.removeClass("hidden"),void 0!==i.originalEvent&&e.cookie("geeky_option",1)):(n.$.geeky.addClass("is_toggled").text(t.show),n.$.geeky_rows.addClass("hidden"),void 0!==i.originalEvent&&e.cookie("geeky_option",0))}}),1==e.cookie("geeky_option")?n.$.geeky.trigger("click"):n.$.geeky_rows.addClass("hidden")}})}(jQuery,window);
1
+ jQuery(function(e){function i(){e("#manage_subscriptions").attr("checked")?e(".manage_subscriptions").fadeIn():e(".manage_subscriptions").fadeOut()}function n(i){null===i?e.each(e(".page_select"),function(){e("#"+e(this).attr("id")+"-links-"+e(this).val()).fadeIn()}):(id_section="#"+e(i).attr("id")+"-links",e(id_section+" span").hide(),e(id_section+"-"+e(i).val()).fadeIn())}function t(){switch(e("#sending-method-smtp").attr("checked")&&(e('#smtp-port, #smtp-secure, #smtp-login, #smtp-auth-1, label[for="smtp-auth-"]').parent().parent().show(),e("label[for='smtp-password']").html(wysija_translations.password),a()),e("#restapipossible").hide(),e("#smtp-host").val()){case"smtp.gmail.com":""==y&&(e("#smtp-port").val("465"),e("#smtp-secure").val("ssl"),e("#smtp-login").val("your_username@gmail.com"));break;case"smtp.sendgrid.net":e("#restapipossible").show();break;case"mailpoet.com":e('#smtp-port, #smtp-secure, #smtp-login, label[for="smtp-auth-"]').parent().parent().hide(),e("label[for='smtp-password']").html(wysija_translations.api);break;case"sparkpost.com":e('#smtp-port, #smtp-secure, #smtp-login, label[for="smtp-auth-"]').parent().parent().hide(),e("label[for='smtp-password']").html(wysija_translations.api);break;case"":""==y&&(e("#smtp-port").val("25"),e("#smtp-secure").val("0"),e("#smtp-login").val(""))}""==y&&e("#smtp-secure").change()}function a(){"smtp"==e('input[name="wysija[config][sending_method]"]:checked').val()&&("none"!=e("#restapipossible").css("display")&&e("#smtp-rest").attr("checked")?e(".choice-no-restapi").hide():e(".choice-no-restapi").show())}function s(){1===parseInt(e('input[name="wysija[config][confirm_dbleoptin]"]:checked').attr("value"))?e(".confirmemail").fadeIn():e(".confirmemail").fadeOut()}function o(){var i=e(".mailpoet-frequency_warning"),n=e("#sending-emails-each"),t=["one_min","two_min","five_min","ten_min"];-1!==e.inArray(n.val(),t)?i.removeClass("hidden"):i.addClass("hidden")}function c(){return"gmail"==e('input[name="wysija[config][sending_method]"]:checked').val()}function r(){c()?e('select[name="wysija[config][sending_emails_each]"] option[value="hourly"]').length>0&&(e("#sending-emails-number").val("20"),e('select[name="wysija[config][sending_emails_each]"]').val("hourly"),e("#sending-emails-number").attr("readonly","readonly"),e('select[name="wysija[config][sending_emails_each]"]').attr("disabled","disabled")):(e('select[name="wysija[config][sending_emails_each]"]').removeAttr("disabled"),e("#sending-emails-number").removeAttr("readonly"))}function l(){return wysijaAJAX.task="bounce_connect",wysijaAJAX.data=e("form").serializeArray(),wysijaAJAX.popTitle=wysijatrans.bounceconnect,wysijaAJAX.dataType="json",wysijaAJAXcallback.onSuccess=function(i){var n="";return i.result.result&&(n='<a class="bounce-submit button-secondary" href2="admin.php?page=wysija_campaigns&action=test_bounce">'+wysijatrans.processbounce+"</a>"),displaychange?e(".allmsgs.ui-dialog-content.ui-widget-content").append(n):e("#bounce-connector").after(n),!0},e.WYSIJA_SEND(),!1}function d(){return wysijaAJAX.task="bounce_process",wysijaAJAX._wpnonce=wysijanonces.config.bounce_process,wysijaAJAX.data=e("form").serializeArray(),wysijaAJAX.popTitle=wysijatrans.processbounceT,wysijaAJAX.dataType="html",e(".allmsgs").dialog(),e.WYSIJA_SEND(),!1}function m(){"undefined"!=typeof this?e.each(e(".activateInput"),function(){h(this)}):h(this)}function h(i){e(i).attr("checked")?e("#"+e(i).attr("id")+"_linkname").fadeIn():e("#"+e(i).attr("id")+"_linkname").fadeOut()}function u(){subscribersCountList=[],e(".subscribers-count-list").each(function(){e(this).is(":checked")&&subscribersCountList.push(e(this).val())}),shortCode="[",shortCode+="wysija_subscribers_count",subscribersCountList.length>0&&(shortCode+=' list_id="'+subscribersCountList.join()+'" '),shortCode+="]",e(".subscribers-count-shortcode").val(shortCode)}function p(){switch(e("#ms-restapipossible").hide(),e("#ms-smtp-host").val()){case"smtp.gmail.com":""==_&&(e("#ms-smtp-port").val("465"),e("#ms-smtp-secure").val("ssl"),e("#ms-smtp-login").val("your_username@gmail.com"));break;case"smtp.sendgrid.net":e("#ms-restapipossible").show();break;case"":""==_&&(e("#ms-smtp-port").val("25"),e("#ms-smtp-secure").val("0"),e("#ms-smtp-login").val(""))}""==_&&e("#ms-smtp-secure").change()}function g(){"smtp"==e('input[name="wysija[config][ms_sending_method]"]:checked').val()&&("none"!=e("#ms-restapipossible").css("display")&&e("#ms-smtp-rest").attr("checked")?e(".ms-choice-no-restapi").hide():e(".ms-choice-no-restapi").show())}function f(){-1!==e.inArray(e("#ms-sending-emails-each").val(),["one_min","two_min","five_min","ten_min"])?e(".ms-choice-under15").show():e(".ms-choice-under15").hide()}function w(){"one-for-all"==e('input[name="wysija[config][ms_sending_config]"]:checked').val()?e(".choice-one-for-all").show():e(".choice-one-for-all").hide()}var y=e("#smtp-login").val();e(".hidechoice").hide(),e(".choice-sending-method-"+e('input[name="wysija[config][sending_method]"]:checked').val()).show(),e('input[name="wysija[config][sending_method]"]').change(function(){e(".hidechoice").hide(),e(".choice-sending-method-"+this.value).show(),r()}),e("#sending-emails-each").change(function(){o()}),e("#linksendingmethod").click(function(){e("#tabs").tabs("select",e(this).attr("href"))}),e("#mainmenu li a").click(function(){e("#redirecttab").val(e(this).attr("href"))}),e('input[name="wysija[config][confirm_dbleoptin]"]').change(s),e("#confirm_dbleoptin-1").click(function(){return confirm(wysijatrans.doubleoptinon)}),e("#confirm_dbleoptin-0").click(function(){return confirm(wysijatrans.doubleoptinoff)}),e('input[name="wysija[config][sending_emails_site_method]"]').change(function(){"sendmail"==e('input[name="wysija[config][sending_emails_site_method]"]:checked').val()?e("#p-sending-emails-site-method-sendmail-path").show():e("#p-sending-emails-site-method-sendmail-path").hide()}),e('input[name="wysija[config][sending_emails_site_method]"]').change(),e(".page_select").change(function(){n(this)}),e("#manage_subscriptions").change(function(){i()}),e("#smtp-host").keyup(t),e("#smtp-rest").change(a),e("#button-regenerate-dkim").click(function(){return e("#sending-emails-site-method-phpmail").attr("checked","checked"),e("#dkim_regenerate").val("regenerate"),e("#wysija-settings").submit(),!1}),e("#bounce-connector").click(l),e(document).on("click",".bounce-submit",function(){return d(),e(".allmsgs").dialog("close"),tb_show(wysijatrans.processbounceT,e(this).attr("href2")+"&KeepThis=true&TB_iframe=true&height=400&width=600",null),tb_showIframe(),!1}),e(".forwardto").change(function(){e(this).attr("checked")?e("#"+e(this).attr("id")+"_input").show():e("#"+e(this).attr("id")+"_input").hide()}),e.each(e(".hideifnovalue"),function(){""==e(this).find("input").val()&&e(this).hide()}),e("#wysija-settings").submit(function(){var i=!1;return e(".bounce-forward-email").each(function(){var n=trim(e(this).val());""!==n&&n==e("#bounce_email").val()&&(e('#wysija-tabs a[href="#bounce"]').trigger("click"),e('#wysija-innertabs a[href="#actions"]').trigger("click"),e(this).css("border","1px solid #CC0000"),e("#bounce-msg-error").addClass("error"),e("#bounce-msg-error").html(wysijatrans.errorbounceforward),i=!0)}),i?!1:void e('select[name="wysija[config][sending_emails_each]"]').removeAttr("disabled")}),e("#bounce-process-auto").attr("checked")?e("#bounce-frequency").show():e("#bounce-frequency").hide(),e("#bounce-process-auto").change(function(){e(this).attr("checked")?e("#bounce-frequency").show():e("#bounce-frequency").hide()}),e(".activateInput").change(m),e(document).on("click","#wysija-innertabs .nav-tab",function(i,n){var t,a=e(".wysija-innerpanel"),s=e("#wysija-innertabs").children(".nav-tab"),o=e(this),c=o.attr("href").replace("#",""),r={};return"undefined"==typeof n&&(n=!0),a.each(function(i,n){var t=e(n);r[t.attr("id")]=t}),t=r[c],s.removeClass("nav-tab-active"),o.addClass("nav-tab-active"),a.not(".hidden").addClass("hidden"),t.removeClass("hidden"),n&&(window.location.hash="inner-tab-"+c),t.trigger("shown.innertab.mailpoet"),!1}),e(document).on("click","#wysija-tabs .nav-tab",function(i,n){var t,a=e(".wysija-panel"),s=e("#wysija-tabs").children(".nav-tab"),o=e(this),c=o.attr("href").replace("#",""),r={};return"undefined"==typeof n&&(n=!0),a.each(function(i,n){var t=e(n);r[t.attr("id")]=t}),t=r[c],s.removeClass("nav-tab-active"),o.addClass("nav-tab-active"),a.not(".hidden").addClass("hidden"),t.removeClass("hidden"),n&&(window.location.hash="tab-"+c),t.trigger("shown.tab.mailpoet"),!1}),e(document).on("click","#tip-send-with",function(i){e('.nav-tab[href="#sendingmethod"]').trigger("click"),i.preventDefault()}),e(window).load(function(){if(window.location.hash.length>0){var i=window.location.hash.replace("tab-","");e('#wysija-tabs .nav-tab[href="'+i+'"]').trigger("click")}else e("#wysija-tabs .nav-tab").first().trigger("click",!1);if(1===window.location.hash.indexOf("inner-tab")){var n=e('#wysija-innertabs .nav-tab[href="'+window.location.hash.replace("inner-tab-","")+'"]').trigger("click");e('#wysija-tabs .nav-tab[href="#'+n.parents(".wysija-panel").attr("id")+'"]').trigger("click",!1)}else e("#wysija-innertabs .nav-tab-active").trigger("click",!1)}),e(document).ready(function(){r(),o(),s(),m(),t(),a(),n(null),i(),e(".subscribers-count-list").change(u),e("#analytics-0").is(":checked")&&e("#advanced .industry").hide(),e("#analytics-1").change(function(){"1"==e(this).val()&&e("#advanced .industry").show()}),e("#analytics-0").change(function(){"0"==e(this).val()&&e("#advanced .industry").hide()}),e("#"+getURLParameter("scroll_to")).length>0&&(e("html,body").animate({scrollTop:e("#"+getURLParameter("scroll_to")).offset().top-e("#wpadminbar").height()},500),e("#"+getURLParameter("scroll_to")).css({"background-color":"#f8fcff","font-size":"16px","font-weight":"bold"}))}),e("#dkimpub, #domainrecord, .subscribers-count-shortcode").click(function(){this.select()});var _=e("#ms-smtp-login").val();e(".ms-hidechoice").hide(),e(".ms-choice-sending-method-"+e('input[name="wysija[config][ms_sending_method]"]:checked').val()).show(),e('input[name="wysija[config][ms_sending_method]"]').change(function(){e(".ms-hidechoice").hide(),e(".ms-choice-sending-method-"+this.value).show()}),e("#ms-sending-emails-each").change(function(){f()}),e('input[name="wysija[config][ms_sending_config]"]').change(function(){w()}),e('input[name="wysija[config][ms_sending_emails_site_method]"]').change(function(){"sendmail"==e('input[name="wysija[config][ms_sending_emails_site_method]"]:checked').val()?e("#ms_p-sending-emails-site-method-sendmail-path").show():e("#ms_p-sending-emails-site-method-sendmail-path").hide()}),e('input[name="wysija[config][ms_sending_emails_site_method]"]').change(),e("#ms-smtp-host").keyup(p),e("#ms-smtp-rest").change(g),e.each(e(".hideifnovalue"),function(){""===e(this).find("input").val()&&e(this).hide()}),e("table.capabilities_form .view_all").click(function(){e("table.capabilities_form tr.hidden").removeClass("hidden"),objTr=e(this).parents("tr")[0],e(objTr).remove()}),e(".mailpoet-test-delivery").on({click:function(i){i.preventDefault();var n="network"===e(".mailpoet-delivery-method:checked").val()||e(this).data("multisite");return n?(wysijaAJAX.task="send_test_mail_ms",wysijaAJAX._wpnonce=wysijanonces.config.send_test_mail_ms):(wysijaAJAX.task="send_test_mail",wysijaAJAX._wpnonce=wysijanonces.config.send_test_mail),wysijaAJAX.data=e("form").serializeArray(),wysijaAJAX.popTitle=wysijatrans.testemail,wysijaAJAX.dataType="json",e.WYSIJA_SEND(),!1}}),e(document).ready(function(){e("#smtp-host").keyup(),w(),f(),p(),g()})}),window.mailpoet="object"==typeof window.mailpoet?window.mailpoet:{$:{}},function(e,i){"use strict";var n=i.mailpoet,t=n.fn={};t.getSendingMethod=function(){return n.$.sending_method instanceof jQuery||(n.$.sending_method=e('input[name="wysija[config][sending_method]"]')),n.$.sending_method.filter(":checked").val()},t.isGoodFromAddress=function(e){var n=e.split("@")[1];return"undefined"==typeof n||""===n?!1:n.toLowerCase()!==i.location.host.toLowerCase()?!1:!0},t.isGmailAddress=function(e){var i=e.split("@")[1];return"undefined"==typeof i||""===i?!1:"gmail.com"!==i.toLowerCase()?!1:!0}}(jQuery,window),function(e,i){"use strict";var n=i.mailpoet;e(document).ready(function(){"object"==typeof e.fn.tooltip&&(n.$.from_email=e("#from_email"),n.$.from_email.tooltip({animation:!0,placement:"bottom",trigger:"manual",html:!0,title:function(){return n.$.from_email.data("message")}}).on({"verifyEmail.mailpoet":function(){if(n.fn.isGoodFromAddress(n.$.from_email.val()))return n.$.from_email.data("message","").tooltip("hide");if("gmail"===n.fn.getSendingMethod())return n.$.from_email.data("message","").tooltip("hide");var e="";return e=n.fn.isGmailAddress(n.$.from_email.val())?mpEmailCheck.gmailText:mpEmailCheck.text,n.$.from_email.is(":visible")?n.$.from_email.data("message",e).tooltip("show"):n.$.from_email.tooltip("hide")},keyup:function(){n.$.from_email.trigger("verifyEmail.mailpoet")}}).trigger("verifyEmail.mailpoet"),n.$.panels=e(".wysija-panel"),n.$.panels.filter("#basics").on({"shown.tab.mailpoet":function(){n.$.from_email.trigger("verifyEmail.mailpoet")}}))})}(jQuery,window),function(e,i){"use strict";var n=i.mailpoet;e(document).on({ready:function(){n.$.geeky=e(".mailpoet-geeky-toggle"),n.$.geeky.data("l18n",{hide:n.$.geeky.data("hide"),show:n.$.geeky.text()}),n.$.geeky_rows=e(".super-advanced"),n.$.geeky.on({click:function(i){i.preventDefault();var t=n.$.geeky.data("l18n");n.$.geeky.hasClass("is_toggled")?(n.$.geeky.removeClass("is_toggled").text(t.hide),n.$.geeky_rows.removeClass("hidden"),void 0!==i.originalEvent&&e.cookie("geeky_option",1)):(n.$.geeky.addClass("is_toggled").text(t.show),n.$.geeky_rows.addClass("hidden"),void 0!==i.originalEvent&&e.cookie("geeky_option",0))}}),1==e.cookie("geeky_option")?n.$.geeky.trigger("click"):n.$.geeky_rows.addClass("hidden")}})}(jQuery,window);
js/validate/languages/jquery.validationEngine-ca.js CHANGED
@@ -102,6 +102,10 @@
102
  "onlyLetterSp": {
103
  "regex": /^[a-zA-Z\ \']+$/,
104
  "alertText": "* Només lletres"
 
 
 
 
105
  },
106
  "onlyLetterNumber": {
107
  "regex": /^[0-9a-zA-Z]+$/,
102
  "onlyLetterSp": {
103
  "regex": /^[a-zA-Z\ \']+$/,
104
  "alertText": "* Només lletres"
105
+ },
106
+ "onlyLetterAccentSp":{
107
+ "regex": /^[a-z\u00C0-\u017F\ ]+$/i,
108
+ "alertText": "* Només lletres"
109
  },
110
  "onlyLetterNumber": {
111
  "regex": /^[0-9a-zA-Z]+$/,
js/validate/languages/jquery.validationEngine-cz.js CHANGED
@@ -122,6 +122,10 @@
122
  "onlyLetterSp": {
123
  "regex": /^[a-zA-Z\ \']+$/,
124
  "alertText": "* Pouze písmena"
 
 
 
 
125
  },
126
  "onlyLetterNumber": {
127
  "regex": /^[0-9a-zA-Z]+$/,
122
  "onlyLetterSp": {
123
  "regex": /^[a-zA-Z\ \']+$/,
124
  "alertText": "* Pouze písmena"
125
+ },
126
+ "onlyLetterAccentSp":{
127
+ "regex": /^[a-z\u00C0-\u017F\ ]+$/i,
128
+ "alertText": "* Pouze písmena"
129
  },
130
  "onlyLetterNumber": {
131
  "regex": /^[0-9a-zA-Z]+$/,
js/validate/languages/jquery.validationEngine-da.js CHANGED
@@ -101,6 +101,10 @@
101
  "onlyLetterSp": {
102
  "regex": /^[a-zA-Z\ \']+$/,
103
  "alertText": "* Kun bogstaver"
 
 
 
 
104
  },
105
  "onlyLetterNumber": {
106
  "regex": /^[0-9a-zA-Z]+$/,
@@ -132,4 +136,4 @@
132
  }
133
  };
134
  $.validationEngineLanguage.newLang();
135
- })(jQuery);
101
  "onlyLetterSp": {
102
  "regex": /^[a-zA-Z\ \']+$/,
103
  "alertText": "* Kun bogstaver"
104
+ },
105
+ "onlyLetterAccentSp":{
106
+ "regex": /^[a-z\u00C0-\u017F\ ]+$/i,
107
+ "alertText": "* Kun bogstaver"
108
  },
109
  "onlyLetterNumber": {
110
  "regex": /^[0-9a-zA-Z]+$/,
136
  }
137
  };
138
  $.validationEngineLanguage.newLang();
139
+ })(jQuery);
js/validate/languages/jquery.validationEngine-de.js CHANGED
@@ -98,6 +98,10 @@
98
  "onlyLetterSp": {
99
  "regex": /^[a-zA-ZäüöÄÜÖßs\ \\\']+$/,
100
  "alertText": "* Nur Buchstaben erlaubt"
 
 
 
 
101
  },
102
  "onlyLetterNumber": {
103
  "regex": /^[0-9a-zA-ZäüöÄÜÖßs-]+$/,
98
  "onlyLetterSp": {
99
  "regex": /^[a-zA-ZäüöÄÜÖßs\ \\\']+$/,
100
  "alertText": "* Nur Buchstaben erlaubt"
101
+ },
102
+ "onlyLetterAccentSp":{
103
+ "regex": /^[a-zß\u00C0-\u017F\ ]+$/i,
104
+ "alertText": "* Nur Buchstaben erlaubt"
105
  },
106
  "onlyLetterNumber": {
107
  "regex": /^[0-9a-zA-ZäüöÄÜÖßs-]+$/,
js/validate/languages/jquery.validationEngine-en.js CHANGED
@@ -136,6 +136,10 @@
136
  "onlyLetterSp": {
137
  "regex": /^[a-zA-Z\ \']+$/,
138
  "alertText": "* Letters only"
 
 
 
 
139
  },
140
  "onlyLetterNumber": {
141
  "regex": /^[0-9a-zA-Z]+$/,
136
  "onlyLetterSp": {
137
  "regex": /^[a-zA-Z\ \']+$/,
138
  "alertText": "* Letters only"
139
+ },
140
+ "onlyLetterAccentSp":{
141
+ "regex": /^[a-z\u00C0-\u017F\ ]+$/i,
142
+ "alertText": "* Letters only (accents allowed)"
143
  },
144
  "onlyLetterNumber": {
145
  "regex": /^[0-9a-zA-Z]+$/,
js/validate/languages/jquery.validationEngine-es.js CHANGED
@@ -102,6 +102,10 @@
102
  "onlyLetterSp": {
103
  "regex": /^[a-zA-Z\ \']+$/,
104
  "alertText": "* Sólo letras"
 
 
 
 
105
  },
106
  "onlyLetterNumber": {
107
  "regex": /^[0-9a-zA-Z]+$/,
102
  "onlyLetterSp": {
103
  "regex": /^[a-zA-Z\ \']+$/,
104
  "alertText": "* Sólo letras"
105
+ },
106
+ "onlyLetterAccentSp":{
107
+ "regex": /^[a-z\u00C0-\u017F\ ]+$/i,
108
+ "alertText": "* Sólo letras"
109
  },
110
  "onlyLetterNumber": {
111
  "regex": /^[0-9a-zA-Z]+$/,
js/validate/languages/jquery.validationEngine-et.js CHANGED
@@ -113,6 +113,10 @@
113
  "onlyLetterSp": {
114
  "regex": /^[a-zA-Z\ \']+$/,
115
  "alertText": "* Tähed ainult"
 
 
 
 
116
  },
117
  "onlyLetterNumber": {
118
  "regex": /^[0-9a-zA-Z]+$/,
@@ -136,4 +140,4 @@
136
  }
137
  };
138
  $.validationEngineLanguage.newLang();
139
- })(jQuery);
113
  "onlyLetterSp": {
114
  "regex": /^[a-zA-Z\ \']+$/,
115
  "alertText": "* Tähed ainult"
116
+ },
117
+ "onlyLetterAccentSp":{
118
+ "regex": /^[a-z\u00C0-\u017F\ ]+$/i,
119
+ "alertText": "* Tähed ainult"
120
  },
121
  "onlyLetterNumber": {
122
  "regex": /^[0-9a-zA-Z]+$/,
140
  }
141
  };
142
  $.validationEngineLanguage.newLang();
143
+ })(jQuery);
js/validate/languages/jquery.validationEngine-fi.js CHANGED
@@ -98,6 +98,10 @@
98
  "onlyLetterSp": {
99
  "regex": /^[a-zA-Z\ \']+$/,
100
  "alertText": "* Ainoastaan kirjaimin"
 
 
 
 
101
  },
102
  "onlyLetterNumber": {
103
  "regex": /^[0-9a-zA-Z]+$/,
@@ -108,4 +112,4 @@
108
  }
109
  };
110
  $.validationEngineLanguage.newLang();
111
- })(jQuery);
98
  "onlyLetterSp": {
99
  "regex": /^[a-zA-Z\ \']+$/,
100
  "alertText": "* Ainoastaan kirjaimin"
101
+ },
102
+ "onlyLetterAccentSp":{
103
+ "regex": /^[a-z\u00C0-\u017F\ ]+$/i,
104
+ "alertText": "* Ainoastaan kirjaimin"
105
  },
106
  "onlyLetterNumber": {
107
  "regex": /^[0-9a-zA-Z]+$/,
112
  }
113
  };
114
  $.validationEngineLanguage.newLang();
115
+ })(jQuery);
js/validate/languages/jquery.validationEngine-he.js CHANGED
@@ -126,6 +126,10 @@
126
  "onlyLetterSp": {
127
  "regex": /^[a-zA-Z\ \']+$/,
128
  "alertText": "* אותיות באנגלית בלבד"
 
 
 
 
129
  },
130
  "onlyLetterNumber": {
131
  "regex": /^[0-9a-zA-Z]+$/,
126
  "onlyLetterSp": {
127
  "regex": /^[a-zA-Z\ \']+$/,
128
  "alertText": "* אותיות באנגלית בלבד"
129
+ },
130
+ "onlyLetterAccentSp":{
131
+ "regex": /^[a-z\u00C0-\u017F\ ]+$/i,
132
+ "alertText": "* אותיות באנגלית בלבד"
133
  },
134
  "onlyLetterNumber": {
135
  "regex": /^[0-9a-zA-Z]+$/,
js/validate/languages/jquery.validationEngine-hr.js CHANGED
@@ -113,6 +113,10 @@
113
  "onlyLetterSp": {
114
  "regex": /^[a-zA-Z\ \']+$/,
115
  "alertText": "* Dozvoljena su samo slova"
 
 
 
 
116
  },
117
  "onlyLetterNumber": {
118
  "regex": /^[0-9a-zA-Z]+$/,
@@ -174,4 +178,4 @@
174
  }
175
  };
176
  $.validationEngineLanguage.newLang();
177
- })(jQuery);
113
  "onlyLetterSp": {
114
  "regex": /^[a-zA-Z\ \']+$/,
115
  "alertText": "* Dozvoljena su samo slova"
116
+ },
117
+ "onlyLetterAccentSp":{
118
+ "regex": /^[a-z\u00C0-\u017F\ ]+$/i,
119
+ "alertText": "* Dozvoljena su samo slova"
120
  },
121
  "onlyLetterNumber": {
122
  "regex": /^[0-9a-zA-Z]+$/,
178
  }
179
  };
180
  $.validationEngineLanguage.newLang();
181
+ })(jQuery);
js/validate/languages/jquery.validationEngine-hu.js CHANGED
@@ -113,6 +113,10 @@
113
  "onlyLetterSp": {
114
  "regex": /^[a-zA-Z\ \']+$/,
115
  "alertText": "* Csak betűket"
 
 
 
 
116
  },
117
  "onlyLetterNumber": {
118
  "regex": /^[0-9a-zA-Z]+$/,
113
  "onlyLetterSp": {
114
  "regex": /^[a-zA-Z\ \']+$/,
115
  "alertText": "* Csak betűket"
116
+ },
117
+ "onlyLetterAccentSp":{
118
+ "regex": /^[a-z\u00C0-\u017F\ ]+$/i,
119
+ "alertText": "* Csak betűket"
120
  },
121
  "onlyLetterNumber": {
122
  "regex": /^[0-9a-zA-Z]+$/,
js/validate/languages/jquery.validationEngine-id.js CHANGED
@@ -126,6 +126,10 @@
126
  "onlyLetterSp": {
127
  "regex": /^[a-zA-Z\ \']+$/,
128
  "alertText": "* Huruf saja"
 
 
 
 
129
  },
130
  "onlyLetterNumber": {
131
  "regex": /^[0-9a-zA-Z]+$/,
126
  "onlyLetterSp": {
127
  "regex": /^[a-zA-Z\ \']+$/,
128
  "alertText": "* Huruf saja"
129
+ },
130
+ "onlyLetterAccentSp":{
131
+ "regex": /^[a-z\u00C0-\u017F\ ]+$/i,
132
+ "alertText": "* Huruf saja"
133
  },
134
  "onlyLetterNumber": {
135
  "regex": /^[0-9a-zA-Z]+$/,
js/validate/languages/jquery.validationEngine-it.js CHANGED
@@ -1,5 +1,6 @@
1
  (function($){
2
- $.fn.validationEngineLanguage = function(){};
 
3
  $.validationEngineLanguage = {
4
  newLang: function(){
5
  $.validationEngineLanguage.allRules = {
@@ -7,31 +8,65 @@
7
  "regex": "none",
8
  "alertText": "* Campo richiesto",
9
  "alertTextCheckboxMultiple": "* Per favore selezionare un'opzione",
10
- "alertTextCheckboxe": "* E' richiesta la selezione della casella"
 
11
  },
12
- "requiredInFunction": {
13
  "func": function(field, rules, i, options){
14
  return (field.val() == "test") ? true : false;
15
  },
16
- "alertText": "* Field must equal test"
17
  },
18
- "length": {
19
  "regex": "none",
20
- "alertText": "* Fra ",
21
- "alertText2": " e ",
22
- "alertText3": " caratteri permessi"
23
  },
24
- "maxCheckbox": {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
25
  "regex": "none",
26
- "alertText": "* Numero di caselle da selezionare in eccesso"
 
 
27
  },
28
- "groupRequired": {
29
  "regex": "none",
30
- "alertText": "* You must fill one of the following fields"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
31
  },
32
  "minCheckbox": {
33
  "regex": "none",
34
- "alertText": "* Per favore selezionare ",
35
  "alertText2": " opzioni"
36
  },
37
  "equals": {
@@ -40,7 +75,7 @@
40
  },
41
  "creditCard": {
42
  "regex": "none",
43
- "alertText": "* Non valido numero di carta di credito"
44
  },
45
  "phone": {
46
  // credit: jquery.h5validate.js / orefalo
@@ -48,64 +83,124 @@
48
  "alertText": "* Numero di telefono non corretto"
49
  },
50
  "email": {
51
- // Shamelessly lifted from Scott Gonzalez via the Bassistance Validation plugin http://projects.scottsplayground.com/email_address_validation/
52
- "regex": /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i,
53
  "alertText": "* Indirizzo non corretto"
54
  },
 
 
 
 
 
 
 
 
55
  "integer": {
56
  "regex": /^[\-\+]?\d+$/,
57
- "alertText": "* Numero intero non corretto"
58
  },
59
  "number": {
60
- // Number, including positive, negative, and floating decimal. Credit: bassistance
61
- "regex": /^[\-\+]?(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)$/,
62
- "alertText": "* Numero decimale non corretto"
63
  },
64
  "date": {
65
- "regex": /^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/,
66
- "alertText": "* Data non corretta, re-inserire secondo formato AAAA-MM-GG"
 
 
 
 
 
 
 
 
 
 
 
 
 
67
  },
68
-
69
  "ipv4": {
70
- "regex": /^((([01]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))[.]){3}(([0-1]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))$/,
71
  "alertText": "* IP non corretto"
72
  },
73
  "url": {
74
  "regex": /^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,
75
  "alertText": "* URL non corretta"
76
  },
77
- "onlyNumber": {
78
  "regex": /^[0-9\ ]+$/,
79
  "alertText": "* Solo numeri"
80
  },
81
- "onlyLetter": {
82
  "regex": /^[a-zA-Z\ \']+$/,
83
  "alertText": "* Solo lettere"
84
  },
85
- "validate2fields": {
86
- "nname": "validate2fields",
87
- "alertText": "* Occorre inserire nome e cognome"
88
  },
89
- "noSpecialCharacters": {
90
  "regex": /^[0-9a-zA-Z]+$/,
91
- "alertText": "* Caratteri speciali non permessi"
92
  },
 
93
  "ajaxUserCall": {
94
- "file": "ajaxValidateFieldName",
 
95
  "extraData": "name=eric",
96
- "alertTextLoad": "* Caricamento, attendere per favore",
97
- "alertText": "* Questo user gi� stato utilizzato"
 
 
 
 
 
 
 
 
 
98
  },
99
  "ajaxNameCall": {
100
- "file": "ajaxValidateFieldName",
101
- "alertText": "* Questo nome � gi� stato utilizzato",
102
- "alertTextOk": "* Questo nome � disponibile",
103
- "alertTextLoad": "* Caricamento, attendere per favore"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
104
  }
105
-
106
  };
107
-
108
  }
109
  };
 
110
  $.validationEngineLanguage.newLang();
 
111
  })(jQuery);
1
  (function($){
2
+ $.fn.validationEngineLanguage = function(){
3
+ };
4
  $.validationEngineLanguage = {
5
  newLang: function(){
6
  $.validationEngineLanguage.allRules = {
8
  "regex": "none",
9
  "alertText": "* Campo richiesto",
10
  "alertTextCheckboxMultiple": "* Per favore selezionare un'opzione",
11
+ "alertTextCheckboxe": "* E' richiesta la selezione della casella",
12
+ "alertTextDateRange": "* Sono richiesti entrambi gli intervalli temporali"
13
  },
14
+ "requiredInFunction": {
15
  "func": function(field, rules, i, options){
16
  return (field.val() == "test") ? true : false;
17
  },
18
+ "alertText": "* Il campo deve avere valore 'test'"
19
  },
20
+ "dateRange": {
21
  "regex": "none",
22
+ "alertText": "* Intervallo ",
23
+ "alertText2": "non valido"
 
24
  },
25
+ "dateTimeRange": {
26
+ "regex": "none",
27
+ "alertText": "* Intervallo ",
28
+ "alertText2": "non valido"
29
+ },
30
+ "minSize": {
31
+ "regex": "none",
32
+ "alertText": "* E' richiesto un minimo di ",
33
+ "alertText2": " caratteri"
34
+ },
35
+ "maxSize": {
36
+ "regex": "none",
37
+ "alertText": "* E' richiesto un massimo di ",
38
+ "alertText2": " caratteri"
39
+ },
40
+ "groupRequired": {
41
  "regex": "none",
42
+ "alertText": "* Uno dei seguenti campi deve essere selezionato",
43
+ "alertTextCheckboxMultiple": "* Selezionare una opzione",
44
+ "alertTextCheckboxe": "* Segno di spunta richiesto"
45
  },
46
+ "min": {
47
  "regex": "none",
48
+ "alertText": "* Il valore minimo accettato è "
49
+ },
50
+ "max": {
51
+ "regex": "none",
52
+ "alertText": "* Il valore massimo accettato è "
53
+ },
54
+ "past": {
55
+ "regex": "none",
56
+ "alertText": "* Data antecedente al "
57
+ },
58
+ "future": {
59
+ "regex": "none",
60
+ "alertText": "* Data successiva al "
61
+ },
62
+ "maxCheckbox": {
63
+ "regex": "none",
64
+ "alertText": "* Massimo ",
65
+ "alertText2": " opzioni consentite"
66
  },
67
  "minCheckbox": {
68
  "regex": "none",
69
+ "alertText": "* Selezionare almeno ",
70
  "alertText2": " opzioni"
71
  },
72
  "equals": {
75
  },
76
  "creditCard": {
77
  "regex": "none",
78
+ "alertText": "* Numero di carta di credito non valido"
79
  },
80
  "phone": {
81
  // credit: jquery.h5validate.js / orefalo
83
  "alertText": "* Numero di telefono non corretto"
84
  },
85
  "email": {
86
+ // HTML5 compatible email regex ( http://www.whatwg.org/specs/web-apps/current-work/multipage/states-of-the-type-attribute.html# e-mail-state-%28type=email%29 )
87
+ "regex": /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,
88
  "alertText": "* Indirizzo non corretto"
89
  },
90
+ "fullname": {
91
+ "regex":/^([a-zA-Z]+[\'\,\.\-]?[a-zA-Z ]*)+[ ]([a-zA-Z]+[\'\,\.\-]?[a-zA-Z ]+)+$/,
92
+ "alertText":"* Nome e cognome richiesti"
93
+ },
94
+ "zip": {
95
+ "regex":/^\d{5}$|^\d{5}-\d{4}$/,
96
+ "alertText":"* Formato zip non valido"
97
+ },
98
  "integer": {
99
  "regex": /^[\-\+]?\d+$/,
100
+ "alertText": "* Richiesto un numero intero"
101
  },
102
  "number": {
103
+ // Number, including positive, negative, and floating decimal. credit: orefalo
104
+ "regex": /^[\-\+]?((([0-9]{1,3})([,][0-9]{3})*)|([0-9]+))?([\.]([0-9]+))?$/,
105
+ "alertText": "* Richiesto un numero decimale"
106
  },
107
  "date": {
108
+ // Check if date is valid by leap year
109
+ "func": function (field) {
110
+ var pattern = new RegExp(/^(\d{4})[\/\-\.](0?[1-9]|1[012])[\/\-\.](0?[1-9]|[12][0-9]|3[01])$/);
111
+ var match = pattern.exec(field.val());
112
+ if (match == null)
113
+ return false;
114
+
115
+ var year = match[1];
116
+ var month = match[2]*1;
117
+ var day = match[3]*1;
118
+ var date = new Date(year, month - 1, day); // because months starts from 0.
119
+
120
+ return (date.getFullYear() == year && date.getMonth() == (month - 1) && date.getDate() == day);
121
+ },
122
+ "alertText": "* Data non corretta, è richeisto il formato AAAA-MM-GG"
123
  },
 
124
  "ipv4": {
125
+ "regex": /^((([01]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))[.]){3}(([0-1]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))$/,
126
  "alertText": "* IP non corretto"
127
  },
128
  "url": {
129
  "regex": /^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,
130
  "alertText": "* URL non corretta"
131
  },
132
+ "onlyNumberSp": {
133
  "regex": /^[0-9\ ]+$/,
134
  "alertText": "* Solo numeri"
135
  },
136
+ "onlyLetterSp": {
137
  "regex": /^[a-zA-Z\ \']+$/,
138
  "alertText": "* Solo lettere"
139
  },
140
+ "onlyLetterAccentSp":{
141
+ "regex": /^[a-z\u00C0-\u017F\ ]+$/i,
142
+ "alertText": "* Solo lettere (è possibile inserire lettere accentate)"
143
  },
144
+ "onlyLetterNumber": {
145
  "regex": /^[0-9a-zA-Z]+$/,
146
+ "alertText": "* Non è possibile inserire caratteri speciali"
147
  },
148
+ // --- CUSTOM RULES -- Those are specific to the demos, they can be removed or changed to your likings
149
  "ajaxUserCall": {
150
+ "url": "ajaxValidateFieldUser",
151
+ // you may want to pass extra data on the ajax call
152
  "extraData": "name=eric",
153
+ "alertText": "* Questo nome utente è già stato registrato",
154
+ "alertTextLoad": "* Caricamento in corso, attendere prego"
155
+ },
156
+ "ajaxUserCallPhp": {
157
+ "url": "phpajax/ajaxValidateFieldUser.php",
158
+ // you may want to pass extra data on the ajax call
159
+ "extraData": "name=eric",
160
+ // if you provide an "alertTextOk", it will show as a green prompt when the field validates
161
+ "alertTextOk": "* Questo nome utente è disponibile",
162
+ "alertText": "* Questo nome utente è già stato registrato",
163
+ "alertTextLoad": "* Caricamento in corso, attendere prego"
164
  },
165
  "ajaxNameCall": {
166
+ // remote json service location
167
+ "url": "ajaxValidateFieldName",
168
+ // error
169
+ "alertText": "* Questo nome utente è già stato registrato",
170
+ // if you provide an "alertTextOk", it will show as a green prompt when the field validates
171
+ "alertTextOk": "* Questo nome utente è disponibile",
172
+ // speaks by itself
173
+ "alertTextLoad": "* Caricamento in corso, attendere prego"
174
+ },
175
+ "ajaxNameCallPhp": {
176
+ // remote json service location
177
+ "url": "phpajax/ajaxValidateFieldName.php",
178
+ // error
179
+ "alertText": "* Questo nome utente è già stato registrato",
180
+ // speaks by itself
181
+ "alertTextLoad": "* Caricamento in corso, attendere prego"
182
+ },
183
+ "validate2fields": {
184
+ "alertText": "* Prego inserire 'HELLO'"
185
+ },
186
+ //tls warning:homegrown not fielded
187
+ "dateFormat":{
188
+ "regex": /^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$|^(?:(?:(?:0?[13578]|1[02])(\/|-)31)|(?:(?:0?[1,3-9]|1[0-2])(\/|-)(?:29|30)))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^(?:(?:0?[1-9]|1[0-2])(\/|-)(?:0?[1-9]|1\d|2[0-8]))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^(0?2(\/|-)29)(\/|-)(?:(?:0[48]00|[13579][26]00|[2468][048]00)|(?:\d\d)?(?:0[48]|[2468][048]|[13579][26]))$/,
189
+ "alertText": "* Data non valida"
190
+ },
191
+ //tls warning:homegrown not fielded
192
+ "dateTimeFormat": {
193
+ "regex": /^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])\s+(1[012]|0?[1-9]){1}:(0?[1-5]|[0-6][0-9]){1}:(0?[0-6]|[0-6][0-9]){1}\s+(am|pm|AM|PM){1}$|^(?:(?:(?:0?[13578]|1[02])(\/|-)31)|(?:(?:0?[1,3-9]|1[0-2])(\/|-)(?:29|30)))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^((1[012]|0?[1-9]){1}\/(0?[1-9]|[12][0-9]|3[01]){1}\/\d{2,4}\s+(1[012]|0?[1-9]){1}:(0?[1-5]|[0-6][0-9]){1}:(0?[0-6]|[0-6][0-9]){1}\s+(am|pm|AM|PM){1})$/,
194
+ "alertText": "* Data o formato non validi",
195
+ "alertText2": "Formato richiesto: ",
196
+ "alertText3": "mm/gg/aaaa oo:mm:ss AM|PM oppure ",
197
+ "alertText4": "aaaa-mm-gg oo:mm:ss AM|PM"
198
  }
 
199
  };
200
+
201
  }
202
  };
203
+
204
  $.validationEngineLanguage.newLang();
205
+
206
  })(jQuery);
js/validate/languages/jquery.validationEngine-lt.js CHANGED
@@ -139,6 +139,10 @@
139
  "regex" : /^[a-zA-Z\ \']+$/,
140
  "alertText" : "* Tik raidės"
141
  },
 
 
 
 
142
  "onlyLetterNumber" : {
143
  "regex" : /^[0-9a-zA-Z]+$/,
144
  "alertText" : "* Specialūs simboliai neleidžiami"
139
  "regex" : /^[a-zA-Z\ \']+$/,
140
  "alertText" : "* Tik raidės"
141
  },
142
+ "onlyLetterAccentSp":{
143
+ "regex": /^[a-z\u00C0-\u017F\ ]+$/i,
144
+ "alertText" : "* Tik raidės"
145
+ },
146
  "onlyLetterNumber" : {
147
  "regex" : /^[0-9a-zA-Z]+$/,
148
  "alertText" : "* Specialūs simboliai neleidžiami"
js/validate/languages/jquery.validationEngine-nl.js CHANGED
@@ -72,7 +72,7 @@
72
  // Shamelessly lifted from Scott Gonzalez via the Bassistance Validation plugin http://projects.scottsplayground.com/email_address_validation/
73
  // Replaced incredible long regex with shorter and working one! :)
74
  // "regex": /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i,
75
- "regex": /^[a-z0-9]+[a-z0-9._%+-]*@(?:[a-z0-9-]+\.)+[a-z]{2,6}$/i,
76
  "alertText": "* Ongeldig emailadres"
77
  },
78
  "integer": {
@@ -104,6 +104,10 @@
104
  "regex": /^[a-zA-Z\ \']+$/,
105
  "alertText": "* Alleen leestekens"
106
  },
 
 
 
 
107
  "onlyLetterNumber": {
108
  "regex": /^[0-9a-zA-Z]+$/,
109
  "alertText": "* Geen vreemde tekens toegestaan"
72
  // Shamelessly lifted from Scott Gonzalez via the Bassistance Validation plugin http://projects.scottsplayground.com/email_address_validation/
73
  // Replaced incredible long regex with shorter and working one! :)
74
  // "regex": /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i,
75
+ "regex": /^[a-z0-9]+[a-z0-9._%+-]*@(?:[a-z0-9-]+\.)+[a-z]{2,}$/i,
76
  "alertText": "* Ongeldig emailadres"
77
  },
78
  "integer": {
104
  "regex": /^[a-zA-Z\ \']+$/,
105
  "alertText": "* Alleen leestekens"
106
  },
107
+ "onlyLetterAccentSp":{
108
+ "regex": /^[a-z\u00C0-\u017F\ ]+$/i,
109
+ "alertText": "* Alleen leestekens"
110
+ },
111
  "onlyLetterNumber": {
112
  "regex": /^[0-9a-zA-Z]+$/,
113
  "alertText": "* Geen vreemde tekens toegestaan"
js/validate/languages/jquery.validationEngine-no.js CHANGED
@@ -126,6 +126,10 @@
126
  "onlyLetterSp": {
127
  "regex": /^[a-zA-Z\ \']+$/,
128
  "alertText": "* Kun bokstaver"
 
 
 
 
129
  },
130
  "onlyLetterNumber": {
131
  "regex": /^[0-9a-zA-Z]+$/,
126
  "onlyLetterSp": {
127
  "regex": /^[a-zA-Z\ \']+$/,
128
  "alertText": "* Kun bokstaver"
129
+ },
130
+ "onlyLetterAccentSp":{
131
+ "regex": /^[a-z\u00C0-\u017F\ ]+$/i,
132
+ "alertText": "* Kun bokstaver"
133
  },
134
  "onlyLetterNumber": {
135
  "regex": /^[0-9a-zA-Z]+$/,
js/validate/languages/jquery.validationEngine-pl.js CHANGED
@@ -26,7 +26,7 @@
26
  "alertText": "* Maksymalna liczba znaków to ",
27
  "alertText2": ""
28
  },
29
- "groupRequired": {
30
  "regex": "none",
31
  "alertText": "* Proszę wypełnić wymienione opcje"
32
  },
@@ -91,6 +91,40 @@
91
  "regex": /^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/,
92
  "alertText": "* Data musi być w postaci RRRR-MM-DD"
93
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
94
  "ipv4": {
95
  "regex": /^((([01]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))[.]){3}(([0-1]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))$/,
96
  "alertText": "* Nieprawidłowy adres IP"
@@ -106,6 +140,10 @@
106
  "onlyLetterSp": {
107
  "regex": /^[a-zA-Z\ \']+$/,
108
  "alertText": "* Tylko litery"
 
 
 
 
109
  },
110
  "onlyLetterNumber": {
111
  "regex": /^[0-9a-zA-Z]+$/,
@@ -133,7 +171,6 @@
133
  "alertText": "* Proszę wpisać HELLO"
134
  }
135
  };
136
-
137
  }
138
  };
139
  $.validationEngineLanguage.newLang();
26
  "alertText": "* Maksymalna liczba znaków to ",
27
  "alertText2": ""
28
  },
29
+ "groupRequired": {
30
  "regex": "none",
31
  "alertText": "* Proszę wypełnić wymienione opcje"
32
  },
91
  "regex": /^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/,
92
  "alertText": "* Data musi być w postaci RRRR-MM-DD"
93
  },
94
+ "nip":{
95
+ "func": function(field, rules, i, options){
96
+ var nipNumber = field.val().replace(/[\s-]/gi, '');
97
+ var verificator_nip = new Array(6,5,7,2,3,4,5,6,7);
98
+ if (nipNumber.length == 10) {
99
+ var n=0;
100
+ for (var i=0; i<9; i++)
101
+ {
102
+ n += nipNumber[i] * verificator_nip[i];
103
+ }
104
+ n %= 11;
105
+ if (n == nipNumber[9]) {return true;}
106
+ }
107
+ return false;
108
+ },
109
+ "alertText": "* Nieprawidłowy numer NIP"
110
+ },
111
+ "pesel":{
112
+ "func": function(field, rules, i, options){
113
+ var pesel = field.val().replace(/[\s-]/gi, '');
114
+ var peselArr = new Array(1,3,7,9,1,3,7,9,1,3);
115
+ if(pesel.length == 11){
116
+ var peselCRC=0;
117
+ for (var i=0; i<10;i++){
118
+ peselCRC += peselArr[i]*pesel[i];
119
+ }
120
+ peselCRC%=10;
121
+ if(peselCRC == 0) peselCRC=10;
122
+ peselCRC = 10 - peselCRC;
123
+ if(pesel[10]==peselCRC) return true; else return false;
124
+ }
125
+ },
126
+ "alertText": "* Nieprawidłowy numer PESEL"
127
+ },
128
  "ipv4": {
129
  "regex": /^((([01]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))[.]){3}(([0-1]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))$/,
130
  "alertText": "* Nieprawidłowy adres IP"
140
  "onlyLetterSp": {
141
  "regex": /^[a-zA-Z\ \']+$/,
142
  "alertText": "* Tylko litery"
143
+ },
144
+ "onlyLetterAccentSp":{
145
+ "regex": /^[a-z\u00C0-\u017F\ ]+$/i,
146
+ "alertText": "* Tylko litery"
147
  },
148
  "onlyLetterNumber": {
149
  "regex": /^[0-9a-zA-Z]+$/,
171
  "alertText": "* Proszę wpisać HELLO"
172
  }
173
  };
 
174
  }
175
  };
176
  $.validationEngineLanguage.newLang();
js/validate/languages/jquery.validationEngine-pt.js CHANGED
@@ -126,6 +126,10 @@
126
  "onlyLetterSp": {
127
  "regex": /^[a-zA-Z\ \']+$/,
128
  "alertText": "* Só é permitido letras"
 
 
 
 
129
  },
130
  "onlyLetterNumber": {
131
  "regex": /^[0-9a-zA-Z]+$/,
126
  "onlyLetterSp": {
127
  "regex": /^[a-zA-Z\ \']+$/,
128
  "alertText": "* Só é permitido letras"
129
+ },
130
+ "onlyLetterAccentSp":{
131
+ "regex": /^[a-z\u00C0-\u017F\ ]+$/i,
132
+ "alertText": "* Só letras e espaços são permitidos"
133
  },
134
  "onlyLetterNumber": {
135
  "regex": /^[0-9a-zA-Z]+$/,
js/validate/languages/jquery.validationEngine-pt_BR.js CHANGED
@@ -107,6 +107,10 @@
107
  "onlyLetterSp": {
108
  "regex": /^[a-zA-Z\ \']+$/,
109
  "alertText": "* Apenas letras"
 
 
 
 
110
  },
111
  "onlyLetterNumber": {
112
  "regex": /^[0-9a-zA-Z]+$/,
107
  "onlyLetterSp": {
108
  "regex": /^[a-zA-Z\ \']+$/,
109
  "alertText": "* Apenas letras"
110
+ },
111
+ "onlyLetterAccentSp":{
112
+ "regex": /^[a-z\u00C0-\u017F\ ]+$/i,
113
+ "alertText": "* Apenas letras e espaços."
114
  },
115
  "onlyLetterNumber": {
116
  "regex": /^[0-9a-zA-Z]+$/,
js/validate/languages/jquery.validationEngine-ro.js CHANGED
@@ -113,6 +113,10 @@
113
  "onlyLetterSp": {
114
  "regex": /^[a-zA-Z\ \']+$/,
115
  "alertText": "* Sunt admise doar literele"
 
 
 
 
116
  },
117
  "onlyLetterNumber": {
118
  "regex": /^[0-9a-zA-Z]+$/,
@@ -174,4 +178,4 @@
174
  }
175
  };
176
  $.validationEngineLanguage.newLang();
177
- })(jQuery);
113
  "onlyLetterSp": {
114
  "regex": /^[a-zA-Z\ \']+$/,
115
  "alertText": "* Sunt admise doar literele"
116
+ },
117
+ "onlyLetterAccentSp":{
118
+ "regex": /^[a-z\u00C0-\u017F\ ]+$/i,
119
+ "alertText": "* Sunt admise doar literele"
120
  },
121
  "onlyLetterNumber": {
122
  "regex": /^[0-9a-zA-Z]+$/,
178
  }
179
  };
180
  $.validationEngineLanguage.newLang();
181
+ })(jQuery);
js/validate/languages/jquery.validationEngine-sr_Cyrl.js ADDED
@@ -0,0 +1,206 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ (function($){
2
+ $.fn.validationEngineLanguage = function(){
3
+ };
4
+ $.validationEngineLanguage = {
5
+ newLang: function(){
6
+ $.validationEngineLanguage.allRules = {
7
+ "required": { // Add your regex rules here, you can take telephone as an example
8
+ "regex": "none",
9
+ "alertText": "* Ово поље је обавезно",
10
+ "alertTextCheckboxMultiple": "* Молимо изаберите опцију",
11
+ "alertTextCheckboxe": "* Ово поље за потврду је обавезно",
12
+ "alertTextDateRange": "* Оба поља за распон датума су обавезна"
13
+ },
14
+ "requiredInFunction": {
15
+ "func": function(field, rules, i, options){
16
+ return (field.val() == "test") ? true : false;
17
+ },
18
+ "alertText": "* Поље мора садржати test"
19
+ },
20
+ "dateRange": {
21
+ "regex": "none",
22
+ "alertText": "* Грешка ",
23
+ "alertText2": "Опсег датума"
24
+ },
25
+ "dateTimeRange": {
26
+ "regex": "none",
27
+ "alertText": "* Грешка ",
28
+ "alertText2": "Опсег датума и времена"
29
+ },
30
+ "minSize": {
31
+ "regex": "none",
32
+ "alertText": "* Најмање ",
33
+ "alertText2": " знакова неопходно"
34
+ },
35
+ "maxSize": {
36
+ "regex": "none",
37
+ "alertText": "* Највише ",
38
+ "alertText2": " знакова дозвољено"
39
+ },
40
+ "groupRequired": {
41
+ "regex": "none",
42
+ "alertText": "* Морате попунити једно од следеђих поља",
43
+ "alertTextCheckboxMultiple": "* Молимо изаберите опцију",
44
+ "alertTextCheckboxe": "* Ово поље за потврду је обавезно"
45
+ },
46
+ "min": {
47
+ "regex": "none",
48
+ "alertText": "* Најмања вредност је "
49
+ },
50
+ "max": {
51
+ "regex": "none",
52
+ "alertText": "* Највећа вредност је "
53
+ },
54
+ "past": {
55
+ "regex": "none",
56
+ "alertText": "* Датум пре "
57
+ },
58
+ "future": {
59
+ "regex": "none",
60
+ "alertText": "* Датум после "
61
+ },
62
+ "maxCheckbox": {
63
+ "regex": "none",
64
+ "alertText": "* Највише ",
65
+ "alertText2": " опција дозвољено"
66
+ },
67
+ "minCheckbox": {
68
+ "regex": "none",
69
+ "alertText": "* Молимо изаберите ",
70
+ "alertText2": " опција"
71
+ },
72
+ "equals": {
73
+ "regex": "none",
74
+ "alertText": "* Поља се не поклапају"
75
+ },
76
+ "creditCard": {
77
+ "regex": "none",
78
+ "alertText": "* Неисправан број кредитне картице"
79
+ },
80
+ "phone": {
81
+ // credit: jquery.h5validate.js / orefalo
82
+ "regex": /^([\+][0-9]{1,3}([ \.\-])?)?([\(][0-9]{1,6}[\)])?([0-9 \.\-]{1,32})(([A-Za-z \:]{1,11})?[0-9]{1,4}?)$/,
83
+ "alertText": "* Неисправан број телефона"
84
+ },
85
+ "email": {
86
+ // HTML5 compatible email regex ( http://www.whatwg.org/specs/web-apps/current-work/multipage/states-of-the-type-attribute.html# e-mail-state-%28type=email%29 )
87
+ "regex": /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,
88
+ "alertText": "* Неисправна емаил адреса"
89
+ },
90
+ "fullname": {
91
+ "regex":/^([a-zA-Z]+[\'\,\.\-]?[a-zA-Z ]*)+[ ]([a-zA-Z]+[\'\,\.\-]?[a-zA-Z ]+)+$/,
92
+ "alertText":"* Мора бити име и презиме"
93
+ },
94
+ "zip": {
95
+ "regex":/^\d{5,6}$/,
96
+ "alertText":"* Неисправан поштански број"
97
+ },
98
+ "integer": {
99
+ "regex": /^[\-\+]?\d+$/,
100
+ "alertText": "* Број није исправан"
101
+ },
102
+ "number": {
103
+ // Number, including positive, negative, and floating decimal. credit: orefalo
104
+ "regex": /^[\-\+]?((([0-9]{1,3})([,][0-9]{3})*)|([0-9]+))?([\.]([0-9]+))?$/,
105
+ "alertText": "* Децимални број није исправан"
106
+ },
107
+ "date": {
108
+ // Check if date is valid by leap year
109
+ "func": function (field) {
110
+ var pattern = new RegExp(/^(\d{4})[\/\-\.](0?[1-9]|1[012])[\/\-\.](0?[1-9]|[12][0-9]|3[01])$/);
111
+ var match = pattern.exec(field.val());
112
+ if (match == null)
113
+ return false;
114
+
115
+ var year = match[1];
116
+ var month = match[2]*1;
117
+ var day = match[3]*1;
118
+ var date = new Date(year, month - 1, day); // because months starts from 0.
119
+
120
+ return (date.getFullYear() == year && date.getMonth() == (month - 1) && date.getDate() == day);
121
+ },
122
+ "alertText": "* Неисправан датум, датум мора бити у YYYY-MM-DD формату"
123
+ },
124
+ "ipv4": {
125
+ "regex": /^((([01]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))[.]){3}(([0-1]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))$/,
126
+ "alertText": "* Неисправна IP адреса"
127
+ },
128
+ "url": {
129
+ "regex": /^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,
130
+ "alertText": "* Неисправан URL"
131
+ },
132
+ "onlyNumberSp": {
133
+ "regex": /^[0-9\ ]+$/,
134
+ "alertText": "* Дозвољени само бројеви"
135
+ },
136
+ "onlyLetterSp": {
137
+ "regex": /^[a-zA-Z\ \']+$/,
138
+ "alertText": "* Дозвољена само слова"
139
+ },
140
+ "onlyLetterAccentSp":{
141
+ "regex": /^[a-z\u00C0-\u017F\ ]+$/i,
142
+ "alertText": "* Дозвољена само слова"
143
+ },
144
+ "onlyLetterNumber": {
145
+ "regex": /^[0-9a-zA-Z]+$/,
146
+ "alertText": "* Специјални знакови нису дозвољени"
147
+ },
148
+ // --- CUSTOM RULES -- Those are specific to the demos, they can be removed or changed to your likings
149
+ "ajaxUserCall": {
150
+ "url": "ajaxValidateFieldUser",
151
+ // you may want to pass extra data on the ajax call
152
+ "extraData": "name=eric",
153
+ "alertText": "* Ово корисничко име је већ заузето",
154
+ "alertTextLoad": "* Провера података, молимо сачекајте"
155
+ },
156
+ "ajaxUserCallPhp": {
157
+ "url": "phpajax/ajaxValidateFieldUser.php",
158
+ // you may want to pass extra data on the ajax call
159
+ "extraData": "name=eric",
160
+ // if you provide an "alertTextOk", it will show as a green prompt when the field validates
161
+ "alertTextOk": "* Ово корисничко име је слободно",
162
+ "alertText": "* Ово корисничко име је већ заузето",
163
+ "alertTextLoad": "* Провера података, молимо сачекајте"
164
+ },
165
+ "ajaxNameCall": {
166
+ // remote json service location
167
+ "url": "ajaxValidateFieldName",
168
+ // error
169
+ "alertText": "* Ово корисничко име је већ заузето",
170
+ // if you provide an "alertTextOk", it will show as a green prompt when the field validates
171
+ "alertTextOk": "* Ово корисничко име је слободно",
172
+ // speaks by itself
173
+ "alertTextLoad": "* Провера података, молимо сачекајте"
174
+ },
175
+ "ajaxNameCallPhp": {
176
+ // remote json service location
177
+ "url": "phpajax/ajaxValidateFieldName.php",
178
+ // error
179
+ "alertText": "* Ово корисничко име је већ заузето",
180
+ // speaks by itself
181
+ "alertTextLoad": "* Провера података, молимо сачекајте"
182
+ },
183
+ "validate2fields": {
184
+ "alertText": "* Молимо унесите HELLO"
185
+ },
186
+ //tls warning:homegrown not fielded
187
+ "dateFormat":{
188
+ "regex": /^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$|^(?:(?:(?:0?[13578]|1[02])(\/|-)31)|(?:(?:0?[1,3-9]|1[0-2])(\/|-)(?:29|30)))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^(?:(?:0?[1-9]|1[0-2])(\/|-)(?:0?[1-9]|1\d|2[0-8]))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^(0?2(\/|-)29)(\/|-)(?:(?:0[48]00|[13579][26]00|[2468][048]00)|(?:\d\d)?(?:0[48]|[2468][048]|[13579][26]))$/,
189
+ "alertText": "* Неисправан датум"
190
+ },
191
+ //tls warning:homegrown not fielded
192
+ "dateTimeFormat": {
193
+ "regex": /^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])\s+(0?[1-5]|[0-6][0-9]){1}:(1[012]|0?[1-9]){1}:(0?[0-6]|[0-6][0-9]){1}\s+$|^(?:(?:(?:0?[13578]|1[02])(\/|-)31)|(?:(?:0?[1,3-9]|1[0-2])(\/|-)(?:29|30)))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^(0?[1-9]|[12][0-9]|3[01]){1}\/((1[012]|0?[1-9]){1}\/\d{2,4}\s+(0?[1-5]|[0-6][0-9]){1}:(1[012]|0?[1-9]){1}:(0?[0-6]|[0-6][0-9]){1}\s+)$/,
194
+ "alertText": "* Неисправан датум или формат датума",
195
+ "alertText2": "Очекивани формат: ",
196
+ "alertText3": "mm/dd/yyyy hh:mm:ss или ",
197
+ "alertText4": "yyyy-mm-dd hh:mm:ss"
198
+ }
199
+ };
200
+
201
+ }
202
+ };
203
+
204
+ $.validationEngineLanguage.newLang();
205
+
206
+ })(jQuery);
js/validate/languages/jquery.validationEngine-sr_Latn.js ADDED
@@ -0,0 +1,206 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ (function($){
2
+ $.fn.validationEngineLanguage = function(){
3
+ };
4
+ $.validationEngineLanguage = {
5
+ newLang: function(){
6
+ $.validationEngineLanguage.allRules = {
7
+ "required": { // Add your regex rules here, you can take telephone as an example
8
+ "regex": "none",
9
+ "alertText": "* Ovo polje je obavezno",
10
+ "alertTextCheckboxMultiple": "* Molimo izaberite opciju",
11
+ "alertTextCheckboxe": "* Ovo polje za potvrdu je obavezno",
12
+ "alertTextDateRange": "* Oba polja za raspon datuma su obavezna"
13
+ },
14
+ "requiredInFunction": {
15
+ "func": function(field, rules, i, options){
16
+ return (field.val() == "test") ? true : false;
17
+ },
18
+ "alertText": "* Polje mora sadržati test"
19
+ },
20
+ "dateRange": {
21
+ "regex": "none",
22
+ "alertText": "* Greška ",
23
+ "alertText2": "Opseg datuma"
24
+ },
25
+ "dateTimeRange": {
26
+ "regex": "none",
27
+ "alertText": "* Greška ",
28
+ "alertText2": "Opseg datuma i vremena"
29
+ },
30
+ "minSize": {
31
+ "regex": "none",
32
+ "alertText": "* Najmanje ",
33
+ "alertText2": " znakova neophodno"
34
+ },
35
+ "maxSize": {
36
+ "regex": "none",
37
+ "alertText": "* Najviše ",
38
+ "alertText2": " znakova dozvoljeno"
39
+ },
40
+ "groupRequired": {
41
+ "regex": "none",
42
+ "alertText": "* Morate popuniti jedno od sledećih polja",
43
+ "alertTextCheckboxMultiple": "* Molimo izaberite opciju",
44
+ "alertTextCheckboxe": "* Ovo polje za potvrdu je obavezno"
45
+ },
46
+ "min": {
47
+ "regex": "none",
48
+ "alertText": "* Najmanja vrednost je "
49
+ },
50
+ "max": {
51
+ "regex": "none",
52
+ "alertText": "* Najveća vrednost je "
53
+ },
54
+ "past": {
55
+ "regex": "none",
56
+ "alertText": "* Datum pre "
57
+ },
58
+ "future": {
59
+ "regex": "none",
60
+ "alertText": "* Datum posle "
61
+ },
62
+ "maxCheckbox": {
63
+ "regex": "none",
64
+ "alertText": "* Najviše ",
65
+ "alertText2": " opcija dozvoljeno"
66
+ },
67
+ "minCheckbox": {
68
+ "regex": "none",
69
+ "alertText": "* Molimo izaberite ",
70
+ "alertText2": " opcija"
71
+ },
72
+ "equals": {
73
+ "regex": "none",
74
+ "alertText": "* Polja se ne poklapaju"
75
+ },
76
+ "creditCard": {
77
+ "regex": "none",
78
+ "alertText": "* Neispravan broj kreditne kartice"
79
+ },
80
+ "phone": {
81
+ // credit: jquery.h5validate.js / orefalo
82
+ "regex": /^([\+][0-9]{1,3}([ \.\-])?)?([\(][0-9]{1,6}[\)])?([0-9 \.\-]{1,32})(([A-Za-z \:]{1,11})?[0-9]{1,4}?)$/,
83
+ "alertText": "* Neispravan broj telefona"
84
+ },
85
+ "email": {
86
+ // HTML5 compatible email regex ( http://www.whatwg.org/specs/web-apps/current-work/multipage/states-of-the-type-attribute.html# e-mail-state-%28type=email%29 )
87
+ "regex": /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,
88
+ "alertText": "* Neispravna email adresa"
89
+ },
90
+ "fullname": {
91
+ "regex":/^([a-zA-Z]+[\'\,\.\-]?[a-zA-Z ]*)+[ ]([a-zA-Z]+[\'\,\.\-]?[a-zA-Z ]+)+$/,
92
+ "alertText":"* Mora biti ime i prezime"
93
+ },
94
+ "zip": {
95
+ "regex":/^\d{5,6}$/,
96
+ "alertText":"* Neispravan poštanski broj"
97
+ },
98
+ "integer": {
99
+ "regex": /^[\-\+]?\d+$/,
100
+ "alertText": "* Broj nije ispravan"
101
+ },
102
+ "number": {
103
+ // Number, including positive, negative, and floating decimal. credit: orefalo
104
+ "regex": /^[\-\+]?((([0-9]{1,3})([,][0-9]{3})*)|([0-9]+))?([\.]([0-9]+))?$/,
105
+ "alertText": "* Decimalni broj nije ispravan"
106
+ },
107
+ "date": {
108
+ // Check if date is valid by leap year
109
+ "func": function (field) {
110
+ var pattern = new RegExp(/^(\d{4})[\/\-\.](0?[1-9]|1[012])[\/\-\.](0?[1-9]|[12][0-9]|3[01])$/);
111
+ var match = pattern.exec(field.val());
112
+ if (match == null)
113
+ return false;
114
+
115
+ var year = match[1];
116
+ var month = match[2]*1;
117
+ var day = match[3]*1;
118
+ var date = new Date(year, month - 1, day); // because months starts from 0.
119
+
120
+ return (date.getFullYear() == year && date.getMonth() == (month - 1) && date.getDate() == day);
121
+ },
122
+ "alertText": "* Neispravan datum, datum mora biti u YYYY-MM-DD formatu"
123
+ },
124
+ "ipv4": {
125
+ "regex": /^((([01]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))[.]){3}(([0-1]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))$/,
126
+ "alertText": "* Neispravna IP adresa"
127
+ },
128
+ "url": {
129
+ "regex": /^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,
130
+ "alertText": "* Neispravan URL"
131
+ },
132
+ "onlyNumberSp": {
133
+ "regex": /^[0-9\ ]+$/,
134
+ "alertText": "* Dozvoljeni samo brojevi"
135
+ },
136
+ "onlyLetterSp": {
137
+ "regex": /^[a-zA-Z\ \']+$/,
138
+ "alertText": "* Dozvoljena samo slova"
139
+ },
140
+ "onlyLetterAccentSp":{
141
+ "regex": /^[a-z\u00C0-\u017F\ ]+$/i,
142
+ "alertText": "* Dozvoljena samo slova"
143
+ },
144
+ "onlyLetterNumber": {
145
+ "regex": /^[0-9a-zA-Z]+$/,
146
+ "alertText": "* Specijalni znakovi nisu dozvoljeni"
147
+ },
148
+ // --- CUSTOM RULES -- Those are specific to the demos, they can be removed or changed to your likings
149
+ "ajaxUserCall": {
150
+ "url": "ajaxValidateFieldUser",
151
+ // you may want to pass extra data on the ajax call
152
+ "extraData": "name=eric",
153
+ "alertText": "* Ovo korisničko ime je već zauzeto",
154
+ "alertTextLoad": "* Provera podataka, molimo sačekajte"
155
+ },
156
+ "ajaxUserCallPhp": {
157
+ "url": "phpajax/ajaxValidateFieldUser.php",
158
+ // you may want to pass extra data on the ajax call
159
+ "extraData": "name=eric",
160
+ // if you provide an "alertTextOk", it will show as a green prompt when the field validates
161
+ "alertTextOk": "* Ovo korisničko ime je dostupno",
162
+ "alertText": "* Ovo korisničko ime je već zauzeto",
163
+ "alertTextLoad": "* Provera podataka, molimo sačekajte"
164
+ },
165
+ "ajaxNameCall": {
166
+ // remote json service location
167
+ "url": "ajaxValidateFieldName",
168
+ // error
169
+ "alertText": "* Ovo korisničko ime je već zauzeto",
170
+ // if you provide an "alertTextOk", it will show as a green prompt when the field validates
171
+ "alertTextOk": "* Ovo korisničko ime je dostupno",
172
+ // speaks by itself
173
+ "alertTextLoad": "* Provera podataka, molimo sačekajte"
174
+ },
175
+ "ajaxNameCallPhp": {
176
+ // remote json service location
177
+ "url": "phpajax/ajaxValidateFieldName.php",
178
+ // error
179
+ "alertText": "* Ovo korisničko ime je dostupno",
180
+ // speaks by itself
181
+ "alertTextLoad": "* Provera podataka, molimo sačekajte"
182
+ },
183
+ "validate2fields": {
184
+ "alertText": "* Molimo unesite HELLO"
185
+ },
186
+ //tls warning:homegrown not fielded
187
+ "dateFormat":{
188
+ "regex": /^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$|^(?:(?:(?:0?[13578]|1[02])(\/|-)31)|(?:(?:0?[1,3-9]|1[0-2])(\/|-)(?:29|30)))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^(?:(?:0?[1-9]|1[0-2])(\/|-)(?:0?[1-9]|1\d|2[0-8]))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^(0?2(\/|-)29)(\/|-)(?:(?:0[48]00|[13579][26]00|[2468][048]00)|(?:\d\d)?(?:0[48]|[2468][048]|[13579][26]))$/,
189
+ "alertText": "* Neispravan datum"
190
+ },
191
+ //tls warning:homegrown not fielded
192
+ "dateTimeFormat": {
193
+ "regex": /^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])\s+(0?[1-5]|[0-6][0-9]){1}:(1[012]|0?[1-9]){1}:(0?[0-6]|[0-6][0-9]){1}\s+$|^(?:(?:(?:0?[13578]|1[02])(\/|-)31)|(?:(?:0?[1,3-9]|1[0-2])(\/|-)(?:29|30)))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^(0?[1-9]|[12][0-9]|3[01]){1}\/((1[012]|0?[1-9]){1}\/\d{2,4}\s+(0?[1-5]|[0-6][0-9]){1}:(1[012]|0?[1-9]){1}:(0?[0-6]|[0-6][0-9]){1}\s+)$/,
194
+ "alertText": "* Neispravan datum ili format datuma",
195
+ "alertText2": "Očekivani format: ",
196
+ "alertText3": "dd/mm/yyyy hh:mm:ss ili ",
197
+ "alertText4": "yyyy-mm-dd hh:mm:ss"
198
+ }
199
+ };
200
+
201
+ }
202
+ };
203
+
204
+ $.validationEngineLanguage.newLang();
205
+
206
+ })(jQuery);
js/validate/languages/jquery.validationEngine-sv.js CHANGED
@@ -102,6 +102,10 @@
102
  "onlyLetterSp": {
103
  "regex": /^[a-zA-Z\ \']+$/,
104
  "alertText": "* Enbart bokstäver"
 
 
 
 
105
  },
106
  "onlyLetterNumber": {
107
  "regex": /^[0-9a-zA-Z]+$/,
@@ -150,4 +154,4 @@
150
  }
151
  };
152
  $.validationEngineLanguage.newLang();
153
- })(jQuery);
102
  "onlyLetterSp": {
103
  "regex": /^[a-zA-Z\ \']+$/,
104
  "alertText": "* Enbart bokstäver"
105
+ },
106
+ "onlyLetterAccentSp":{
107
+ "regex": /^[a-z\u00C0-\u017F\ ]+$/i,
108
+ "alertText": "* Enbart bokstäver"
109
  },
110
  "onlyLetterNumber": {
111
  "regex": /^[0-9a-zA-Z]+$/,
154
  }
155
  };
156
  $.validationEngineLanguage.newLang();
157
+ })(jQuery);
js/validate/languages/jquery.validationEngine-tr.js CHANGED
@@ -105,6 +105,10 @@
105
  "onlyLetterSp": {
106
  "regex": /^[a-zA-Z\ \']+$/,
107
  "alertText": "* Bu alanda sadece harf olmalı"
 
 
 
 
108
  },
109
  "onlyLetterNumber": {
110
  "regex": /^[0-9a-zA-Z]+$/,
@@ -153,4 +157,4 @@
153
  }
154
  };
155
  $.validationEngineLanguage.newLang();
156
- })(jQuery);
105
  "onlyLetterSp": {
106
  "regex": /^[a-zA-Z\ \']+$/,
107
  "alertText": "* Bu alanda sadece harf olmalı"
108
+ },
109
+ "onlyLetterAccentSp":{
110
+ "regex": /^[a-z\u00C0-\u017F\ \']+$/i,
111
+ "alertText": "* Bu alanda sadece harf olmalı"
112
  },
113
  "onlyLetterNumber": {
114
  "regex": /^[0-9a-zA-Z]+$/,
157
  }
158
  };
159
  $.validationEngineLanguage.newLang();
160
+ })(jQuery);
js/validate/languages/jquery.validationEngine-uk.js ADDED
@@ -0,0 +1,135 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ (function($){
2
+ $.fn.validationEngineLanguage = function(){
3
+ };
4
+ $.validationEngineLanguage = {
5
+ newLang: function(){
6
+ $.validationEngineLanguage.allRules = {
7
+ "required": { // Add your regex rules here, you can take telephone as an example
8
+ "regex": "none",
9
+ "alertText": "* Необхідно заповнити",
10
+ "alertTextCheckboxMultiple": "* Ви повинні вибрати варіант",
11
+ "alertTextCheckboxe": "* Необхідно відмітити"
12
+ },
13
+ "requiredInFunction": {
14
+ "func": function(field, rules, i, options){
15
+ return (field.val() == "test") ? true : false;
16
+ },
17
+ "alertText": "* Значення поля повинно бути test"
18
+ },
19
+ "minSize": {
20
+ "regex": "none",
21
+ "alertText": "* Мінімум ",
22
+ "alertText2": " символа(ів)"
23
+ },
24
+ "maxSize": {
25
+ "regex": "none",
26
+ "alertText": "* Максимум ",
27
+ "alertText2": " символа(ів)"
28
+ },
29
+ "groupRequired": {
30
+ "regex": "none",
31
+ "alertText": "* Ви повинні заповнити одне за наступних полів"
32
+ },
33
+ "min": {
34
+ "regex": "none",
35
+ "alertText": "* Мінімальне значення "
36
+ },
37
+ "max": {
38
+ "regex": "none",
39
+ "alertText": "* Максимальне значення "
40
+ },
41
+ "past": {
42
+ "regex": "none",
43
+ "alertText": "* Дата до "
44
+ },
45
+ "future": {
46
+ "regex": "none",
47
+ "alertText": "* Дата від "
48
+ },
49
+ "maxCheckbox": {
50
+ "regex": "none",
51
+ "alertText": "* Не можна вибирати стільки варіантів"
52
+ },
53
+ "minCheckbox": {
54
+ "regex": "none",
55
+ "alertText": "* Будь ласка, оберіть ",
56
+ "alertText2": " опцію(ії)"
57
+ },
58
+ "equals": {
59
+ "regex": "none",
60
+ "alertText": "* Поля не співпадають"
61
+ },
62
+ "creditCard": {
63
+ "regex": "none",
64
+ "alertText": "* Невірний номер кредитної карти"
65
+ },
66
+ "phone": {
67
+ // credit: jquery.h5validate.js / orefalo
68
+ "regex": /^([\+][0-9]{1,3}([ \.\-])?)?([\(][0-9]{1,6}[\)])?([0-9 \.\-]{1,32})(([A-Za-z \:]{1,11})?[0-9]{1,4}?)$/,
69
+ "alertText": "* Неправильний формат телефону"
70
+ },
71
+ "email": {
72
+ // Shamelessly lifted from Scott Gonzalez via the Bassistance Validation plugin http://projects.scottsplayground.com/email_address_validation/
73
+ "regex": /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i,
74
+ "alertText": "* Невірний формат email"
75
+ },
76
+ "integer": {
77
+ "regex": /^[\-\+]?\d+$/,
78
+ "alertText": "* Не ціле число"
79
+ },
80
+ "number": {
81
+ // Number, including positive, negative, and floating decimal. credit: orefalo
82
+ "regex": /^[\-\+]?((([0-9]{1,3})([,][0-9]{3})*)|([0-9]+))?([\.]([0-9]+))?$/,
83
+ "alertText": "* Невірне число з плаваючою точкою"
84
+ },
85
+ "date": {
86
+ "regex": /^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/,
87
+ "alertText": "* Неправильна дата (повинно бути у форматі ДД.MM.РРРР)"
88
+ },
89
+ "ipv4": {
90
+ "regex": /^((([01]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))[.]){3}(([0-1]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))$/,
91
+ "alertText": "* Неправильна IP-адреса"
92
+ },
93
+ "url": {
94
+ "regex": /^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,
95
+ "alertText": "* Невірний URL"
96
+ },
97
+ "onlyNumberSp": {
98
+ "regex": /^[0-9\ ]+$/,
99
+ "alertText": "* Тільки числа"
100
+ },
101
+ "onlyLetterSp": {
102
+ "regex": /^[a-zA-Z\u0400-\u04FF\ \']+$/,
103
+ "alertText": "* Тільки літери"
104
+ },
105
+ "onlyLetterNumber": {
106
+ "regex": /^[0-9a-zA-Z\u0400-\u04FF]+$/,
107
+ "alertText": "* Заборонені спеціальні символи"
108
+ },
109
+ // --- CUSTOM RULES -- Those are specific to the demos, they can be removed or changed to your likings
110
+ "ajaxUserCall": {
111
+ "url": "ajaxValidateFieldUser",
112
+ // you may want to pass extra data on the ajax call
113
+ "extraData": "name=eric",
114
+ "alertText": "* Цей користувач уже зайнятий",
115
+ "alertTextLoad": "* Перевірка, зачекайте..."
116
+ },
117
+ "ajaxNameCall": {
118
+ // remote json service location
119
+ "url": "ajaxValidateFieldName",
120
+ // error
121
+ "alertText": "* Це ім'я уже зайнято",
122
+ // if you provide an "alertTextOk", it will show as a green prompt when the field validates
123
+ "alertTextOk": "* Це ім'я доступне",
124
+ // speaks by itself
125
+ "alertTextLoad": "* Перевірка, зачекайте..."
126
+ },
127
+ "validate2fields": {
128
+ "alertText": "* Будь ласка, введіть HELLO"
129
+ }
130
+ };
131
+
132
+ }
133
+ };
134
+ $.validationEngineLanguage.newLang();
135
+ })(jQuery);
js/validate/languages/jquery.validationEngine-vi.js CHANGED
@@ -113,6 +113,10 @@
113
  "onlyLetterSp": {
114
  "regex": /^[a-zA-Z\ \']+$/,
115
  "alertText": "* Chỉ điền chữ"
 
 
 
 
116
  },
117
  "onlyLetterNumber": {
118
  "regex": /^[0-9a-zA-Z]+$/,
113
  "onlyLetterSp": {
114
  "regex": /^[a-zA-Z\ \']+$/,
115
  "alertText": "* Chỉ điền chữ"
116
+ },
117
+ "onlyLetterAccentSp":{
118
+ "regex": /^[a-z\u00C0-\u017F\ ]+$/i,
119
+ "alertText": "* Chỉ điền chữ"
120
  },
121
  "onlyLetterNumber": {
122
  "regex": /^[0-9a-zA-Z]+$/,
js/validate/languages/jquery.validationEngine-zh_CN.js CHANGED
@@ -113,6 +113,10 @@
113
  "onlyLetterSp": {
114
  "regex": /^[a-zA-Z\ \']+$/,
115
  "alertText": "* 只接受英文字母大小写"
 
 
 
 
116
  },
117
  "onlyLetterNumber": {
118
  "regex": /^[0-9a-zA-Z]+$/,
113
  "onlyLetterSp": {
114
  "regex": /^[a-zA-Z\ \']+$/,
115
  "alertText": "* 只接受英文字母大小写"
116
+ },
117
+ "onlyLetterAccentSp":{
118
+ "regex": /^[a-z\u00C0-\u017F\ ]+$/i,
119
+ "alertText": "* 只接受英文字母大小写"
120
  },
121
  "onlyLetterNumber": {
122
  "regex": /^[0-9a-zA-Z]+$/,
js/validate/languages/jquery.validationEngine-zh_TW.js CHANGED
@@ -113,6 +113,10 @@
113
  "onlyLetterSp": {
114
  "regex": /^[a-zA-Z\ \']+$/,
115
  "alertText": "* 只接受英文字母大小寫"
 
 
 
 
116
  },
117
  "onlyLetterNumber": {
118
  "regex": /^[0-9a-zA-Z]+$/,
113
  "onlyLetterSp": {
114
  "regex": /^[a-zA-Z\ \']+$/,
115
  "alertText": "* 只接受英文字母大小寫"
116
+ },
117
+ "onlyLetterAccentSp":{
118
+ "regex": /^[a-z\u00C0-\u017F\ \']+$/i,
119
+ "alertText": "* 只接受英文字母大小寫"
120
  },
121
  "onlyLetterNumber": {
122
  "regex": /^[0-9a-zA-Z]+$/,
languages/wysija-newsletters-es_ES.mo CHANGED
Binary file
languages/wysija-newsletters-fa_IR.mo CHANGED
Binary file
languages/wysija-newsletters-fr_BE.mo ADDED
Binary file
languages/wysija-newsletters-fr_CA.mo ADDED
Binary file
languages/wysija-newsletters-id.mo CHANGED
Binary file
languages/wysija-newsletters-is_IS.mo CHANGED
Binary file
languages/wysija-newsletters-oc.mo CHANGED
Binary file
languages/wysija-newsletters-ru_RU.mo CHANGED
Binary file
languages/wysija-newsletters-sl_SI.mo CHANGED
Binary file
languages/wysija-newsletters-th.mo ADDED
Binary file
readme.txt CHANGED
@@ -2,8 +2,8 @@
2
  Contributors: wysija
3
  Tags: newsletter, newsletters, email newsletter, email subscription, newsletter signup, post notification, autoresponder, newsletter alert, auto newsletter, automatic post notification, email newsletters, email signup, auto post notifications, newsletter widget, newsletter builder, subscribe widget, signup widget, email subscription, newsletter plugin, widget, subscription, emailing, mailpoet, wysija, mandrill, sendgrid
4
  Requires at least: 3.3
5
- Tested up to: 4.4.1
6
- Stable tag: 2.7.1
7
  Send newsletters post notifications or autoresponders from WordPress easily, and beautifully. Start to capture subscribers with our widget now.
8
 
9
  == Description ==
@@ -12,6 +12,8 @@ Create newsletters, automated emails, post notifications and autoresponders. Cap
12
 
13
  We built it with the idea that newsletters in WordPress should be easy. Not hard. Forget MailChimp, Aweber, etc. We're the good guys inside your WordPress.
14
 
 
 
15
  = Check out this 2 minute video. =
16
 
17
  https://vimeo.com/130151897
@@ -130,8 +132,23 @@ Our [support site](http://support.mailpoet.com/) has plenty of articles and a ti
130
 
131
  == Changelog ==
132
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
133
  = 2.7.1 - 2016-03-15 =
134
- * Fixed security issues. Thanks to Falke Huber for letting us now.
135
 
136
  = 2.7 - 2016-01-29 =
137
  * Enabled PHP7 compatibility
2
  Contributors: wysija
3
  Tags: newsletter, newsletters, email newsletter, email subscription, newsletter signup, post notification, autoresponder, newsletter alert, auto newsletter, automatic post notification, email newsletters, email signup, auto post notifications, newsletter widget, newsletter builder, subscribe widget, signup widget, email subscription, newsletter plugin, widget, subscription, emailing, mailpoet, wysija, mandrill, sendgrid
4
  Requires at least: 3.3
5
+ Tested up to: 4.5.2
6
+ Stable tag: 2.7.2
7
  Send newsletters post notifications or autoresponders from WordPress easily, and beautifully. Start to capture subscribers with our widget now.
8
 
9
  == Description ==
12
 
13
  We built it with the idea that newsletters in WordPress should be easy. Not hard. Forget MailChimp, Aweber, etc. We're the good guys inside your WordPress.
14
 
15
+ [Try the demo.](http://demo.mailpoet.com/launch/)
16
+
17
  = Check out this 2 minute video. =
18
 
19
  https://vimeo.com/130151897
132
 
133
  == Changelog ==
134
 
135
+ = 2.7.2 - 2016-06-01 =
136
+ * Fixed broken CSS for Premium page
137
+ * Fixed Custom Fields not saving on front-end
138
+ * Fixed image ratio for specific locations
139
+ * Fixed issue with missing rule (onlyNumberSp) in Italian & German translations
140
+ * Fixed broken email validation in Dutch language with long extensions
141
+ * Fixed undefined property notice on Bounce pages
142
+ * Added SparkPost API support
143
+ * Fixed security issues. Thanks again to Falk Huber (T-Systems) for reporting them
144
+ * Added new menu icon (New MailPoet Branding)
145
+ * Fixed sending preview of an email with an empty subject
146
+ * Added Ukrainian JS validation language
147
+ * Replaced deprecated get_currentuserinfo() with wp_get_current_user()
148
+ * Fixed PHP notices that may have appeared during the sending process
149
+
150
  = 2.7.1 - 2016-03-15 =
151
+ * Fixed security issues. Thanks to Falk Huber for letting us now.
152
 
153
  = 2.7 - 2016-01-29 =
154
  * Enabled PHP7 compatibility
views/front/confirm.php CHANGED
@@ -59,7 +59,6 @@ class WYSIJA_view_front_confirm extends WYSIJA_view_front {
59
  '</tr>';
60
  }
61
 
62
-
63
  $content.='<tr>
64
  <th scope="row">
65
  <label for="fname">'.__('First name',WYSIJA).'</label>
59
  '</tr>';
60
  }
61
 
 
62
  $content.='<tr>
63
  <th scope="row">
64
  <label for="fname">'.__('First name',WYSIJA).'</label>