Version Description
- Added basic date validation
- Fixed watermark
Download this release
Release Info
Developer | shockware |
Plugin | Contact Form 7 Datepicker |
Version | 2.2 |
Comparing to | |
See all releases |
Code changes from version 2.1 to 2.2
- contact-form-7-datepicker.php +4 -4
- date-module.php +24 -3
- datepicker.php +2 -2
- readme.txt +5 -1
contact-form-7-datepicker.php
CHANGED
@@ -4,7 +4,7 @@ Plugin Name: Contact Form 7 Datepicker
|
|
4 |
Plugin URI: https://github.com/relu/contact-form-7-datepicker/
|
5 |
Description: Easily add a date field using jQuery UI's datepicker to your CF7 forms. This plugin depends on Contact Form 7.
|
6 |
Author: Aurel Canciu
|
7 |
-
Version: 2.
|
8 |
Author URI: https://github.com/relu/
|
9 |
*/
|
10 |
|
@@ -53,7 +53,7 @@ class ContactForm7Datepicker {
|
|
53 |
}
|
54 |
|
55 |
public static function enqueue_js() {
|
56 |
-
wp_enqueue_script('jquery-ui-datepicker');
|
57 |
|
58 |
$regional = CF7_DatePicker::get_regional_match();
|
59 |
|
@@ -64,8 +64,8 @@ class ContactForm7Datepicker {
|
|
64 |
'jquery-ui-' . $regional,
|
65 |
'http://ajax.googleapis.com/ajax/libs/jqueryui/1/i18n/jquery.ui.datepicker-' . $regional . '.min.js',
|
66 |
array('jquery-ui-datepicker'),
|
67 |
-
|
68 |
-
|
69 |
);
|
70 |
}
|
71 |
|
4 |
Plugin URI: https://github.com/relu/contact-form-7-datepicker/
|
5 |
Description: Easily add a date field using jQuery UI's datepicker to your CF7 forms. This plugin depends on Contact Form 7.
|
6 |
Author: Aurel Canciu
|
7 |
+
Version: 2.2
|
8 |
Author URI: https://github.com/relu/
|
9 |
*/
|
10 |
|
53 |
}
|
54 |
|
55 |
public static function enqueue_js() {
|
56 |
+
wp_enqueue_script('jquery-ui-datepicker', null, null, null, true);
|
57 |
|
58 |
$regional = CF7_DatePicker::get_regional_match();
|
59 |
|
64 |
'jquery-ui-' . $regional,
|
65 |
'http://ajax.googleapis.com/ajax/libs/jqueryui/1/i18n/jquery.ui.datepicker-' . $regional . '.min.js',
|
66 |
array('jquery-ui-datepicker'),
|
67 |
+
null,
|
68 |
+
true
|
69 |
);
|
70 |
}
|
71 |
|
date-module.php
CHANGED
@@ -15,6 +15,9 @@ class ContactForm7Datepicker_Date {
|
|
15 |
|
16 |
// Tag generator
|
17 |
add_action('load-toplevel_page_wpcf7', array(__CLASS__, 'tag_generator'));
|
|
|
|
|
|
|
18 |
}
|
19 |
|
20 |
public static function shortcode_handler($tag) {
|
@@ -68,7 +71,7 @@ class ContactForm7Datepicker_Date {
|
|
68 |
} elseif (preg_match('%^change-year$%i', $option, $matches)) {
|
69 |
$dpOptions['changeYear'] = true;
|
70 |
} elseif (preg_match('%^year-range:(\d+)-?(\d+)?$%', $option, $matches)) {
|
71 |
-
$dpOptions['yearRange'] =
|
72 |
} elseif (preg_match('%^months:(\d+)$%', $option, $matches)) {
|
73 |
$dpOptions['numberOfMonths'] = (int) $matches[1];
|
74 |
} elseif (preg_match('%^buttons$%', $option, $matches)) {
|
@@ -83,7 +86,7 @@ class ContactForm7Datepicker_Date {
|
|
83 |
|
84 |
$value = reset($values);
|
85 |
|
86 |
-
if (wpcf7_script_is() && preg_grep('%^
|
87 |
$class_att .= ' wpcf7-use-title-as-watermark';
|
88 |
$title_att .= " $value";
|
89 |
$value = '';
|
@@ -143,11 +146,17 @@ class ContactForm7Datepicker_Date {
|
|
143 |
|
144 |
$value = trim($_POST[$name]);
|
145 |
|
146 |
-
if ('date*' == $type &&
|
147 |
$result['valid'] = false;
|
148 |
$result['reason'][$name] = wpcf7_get_message('invalid_required');
|
149 |
}
|
150 |
|
|
|
|
|
|
|
|
|
|
|
|
|
151 |
return $result;
|
152 |
}
|
153 |
|
@@ -170,6 +179,14 @@ class ContactForm7Datepicker_Date {
|
|
170 |
}
|
171 |
}
|
172 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
173 |
|
174 |
private static function animate_dropdown() {
|
175 |
$effects = array(
|
@@ -196,4 +213,8 @@ class ContactForm7Datepicker_Date {
|
|
196 |
|
197 |
echo $html;
|
198 |
}
|
|
|
|
|
|
|
|
|
199 |
}
|
15 |
|
16 |
// Tag generator
|
17 |
add_action('load-toplevel_page_wpcf7', array(__CLASS__, 'tag_generator'));
|
18 |
+
|
19 |
+
// Messages
|
20 |
+
add_filter('wpcf7_messages', array(__CLASS__, 'messages'));
|
21 |
}
|
22 |
|
23 |
public static function shortcode_handler($tag) {
|
71 |
} elseif (preg_match('%^change-year$%i', $option, $matches)) {
|
72 |
$dpOptions['changeYear'] = true;
|
73 |
} elseif (preg_match('%^year-range:(\d+)-?(\d+)?$%', $option, $matches)) {
|
74 |
+
$dpOptions['yearRange'] = $matches[1] . ':' . @$matches[2];
|
75 |
} elseif (preg_match('%^months:(\d+)$%', $option, $matches)) {
|
76 |
$dpOptions['numberOfMonths'] = (int) $matches[1];
|
77 |
} elseif (preg_match('%^buttons$%', $option, $matches)) {
|
86 |
|
87 |
$value = reset($values);
|
88 |
|
89 |
+
if (wpcf7_script_is() && preg_grep('%^watermark$%', $options)) {
|
90 |
$class_att .= ' wpcf7-use-title-as-watermark';
|
91 |
$title_att .= " $value";
|
92 |
$value = '';
|
146 |
|
147 |
$value = trim($_POST[$name]);
|
148 |
|
149 |
+
if ('date*' == $type && empty($value)) {
|
150 |
$result['valid'] = false;
|
151 |
$result['reason'][$name] = wpcf7_get_message('invalid_required');
|
152 |
}
|
153 |
|
154 |
+
// TODO: Implement date format verification
|
155 |
+
if (! empty($value) && ! self::is_valid_date($value)) {
|
156 |
+
$result['valid'] = false;
|
157 |
+
$result['reason'][$name] = wpcf7_get_message('invalid_date');
|
158 |
+
}
|
159 |
+
|
160 |
return $result;
|
161 |
}
|
162 |
|
179 |
}
|
180 |
}
|
181 |
|
182 |
+
public static function messages($messages) {
|
183 |
+
$messages['invalid_date'] = array(
|
184 |
+
'description' => __('The date that the sender entered is invalid'),
|
185 |
+
'default' => __('Invalid date supplied.'),
|
186 |
+
);
|
187 |
+
|
188 |
+
return $messages;
|
189 |
+
}
|
190 |
|
191 |
private static function animate_dropdown() {
|
192 |
$effects = array(
|
213 |
|
214 |
echo $html;
|
215 |
}
|
216 |
+
|
217 |
+
private static function is_valid_date($value) {
|
218 |
+
return strtotime($value) ? true : false;
|
219 |
+
}
|
220 |
}
|
datepicker.php
CHANGED
@@ -9,11 +9,11 @@ class CF7_DatePicker {
|
|
9 |
'maxDate' => '',
|
10 |
'firstDay' => '',
|
11 |
'defaultDate' => '',
|
12 |
-
'showAnim' => '
|
13 |
'changeMonth' => '',
|
14 |
'changeYear' => '',
|
15 |
'yearRange' => '',
|
16 |
-
'numberOfMonths' =>
|
17 |
'showButtonPanel' => '',
|
18 |
);
|
19 |
|
9 |
'maxDate' => '',
|
10 |
'firstDay' => '',
|
11 |
'defaultDate' => '',
|
12 |
+
'showAnim' => '',
|
13 |
'changeMonth' => '',
|
14 |
'changeYear' => '',
|
15 |
'yearRange' => '',
|
16 |
+
'numberOfMonths' => '',
|
17 |
'showButtonPanel' => '',
|
18 |
);
|
19 |
|
readme.txt
CHANGED
@@ -3,7 +3,7 @@ Contributors: shockware
|
|
3 |
Tags: wordpress, datepicker, calendar, contact form 7, forms, jqueryui
|
4 |
Requires at least: 2.9
|
5 |
Tested up to: 3.5
|
6 |
-
Stable tag: 2.
|
7 |
License: GPLv2 or later
|
8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
9 |
|
@@ -34,6 +34,10 @@ You can [open an issue on github](https://github.com/relu/contact-form-7-datepic
|
|
34 |
|
35 |
== Changelog ==
|
36 |
|
|
|
|
|
|
|
|
|
37 |
= 2.1 =
|
38 |
* Added inline option
|
39 |
* Fixed tag generator
|
3 |
Tags: wordpress, datepicker, calendar, contact form 7, forms, jqueryui
|
4 |
Requires at least: 2.9
|
5 |
Tested up to: 3.5
|
6 |
+
Stable tag: 2.2
|
7 |
License: GPLv2 or later
|
8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
9 |
|
34 |
|
35 |
== Changelog ==
|
36 |
|
37 |
+
= 2.2 =
|
38 |
+
* Added basic date validation
|
39 |
+
* Fixed watermark
|
40 |
+
|
41 |
= 2.1 =
|
42 |
* Added inline option
|
43 |
* Fixed tag generator
|