Version Description
- Conditional asset loading
Download this release
Release Info
Developer | tlovett1 |
Plugin | Custom Contact Forms |
Version | 7.2 |
Comparing to | |
See all releases |
Code changes from version 7.1 to 7.2
- build/css/settings.css +15 -0
- build/css/settings.css.map +7 -0
- build/css/settings.min.css +1 -0
- build/js/settings.min.js +1 -0
- classes/class-ccf-form-manager.php +5 -7
- classes/class-ccf-form-renderer.php +62 -8
- classes/class-ccf-settings.php +188 -0
- custom-contact-forms.php +5 -1
- js/settings.js +42 -0
- languages/custom-contact-forms.mo +0 -0
- languages/custom-contact-forms.po +88 -44
- readme.txt +5 -2
build/css/settings.css
ADDED
@@ -0,0 +1,15 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
.ccf-asset-restrictions .add,
|
2 |
+
.ccf-asset-restrictions .delete {
|
3 |
+
font-weight: bold;
|
4 |
+
cursor: pointer;
|
5 |
+
vertical-align: middle;
|
6 |
+
font-size: 200%; }
|
7 |
+
|
8 |
+
.ccf-asset-restrictions input,
|
9 |
+
.ccf-asset-restrictions select {
|
10 |
+
margin-right: 1em; }
|
11 |
+
|
12 |
+
.ccf-hide-field {
|
13 |
+
display: none; }
|
14 |
+
|
15 |
+
/*# sourceMappingURL=settings.css.map */
|
build/css/settings.css.map
ADDED
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"version": 3,
|
3 |
+
"mappings": "AAAA;+BAEA;EACC,WAAW,EAAE,IAAI;EACjB,MAAM,EAAE,OAAO;EACf,cAAc,EAAE,MAAM;EACtB,SAAS,EAAE,IAAI;;AAGhB;8BAC+B;EAC9B,YAAY,EAAE,GAAG;;AAGlB,eAAgB;EACf,OAAO,EAAE,IAAI",
|
4 |
+
"sources": ["../../scss/settings.scss"],
|
5 |
+
"names": [],
|
6 |
+
"file": "settings.css"
|
7 |
+
}
|
build/css/settings.min.css
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
.ccf-asset-restrictions .add,.ccf-asset-restrictions .delete{font-weight:700;cursor:pointer;vertical-align:middle;font-size:200%}.ccf-asset-restrictions input,.ccf-asset-restrictions select{margin-right:1em}.ccf-hide-field{display:none}
|
build/js/settings.min.js
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
(function(e){var t=e(document.querySelectorAll(".ccf-asset-restrictions")),i=document.querySelectorAll(".ccf-asset-loading-restrictions-wrap")[0],l=e(document.querySelectorAll(".ccf-asset-loading-restriction-enabled")),s=t.find(".asset").length;l.on("change",function(e){i.className="0"===e.target.value?"ccf-asset-loading-restrictions-wrap ccf-hide-field":"ccf-asset-loading-restrictions-wrap"}),t.on("click",".add",function(){var i=event.target.parentNode.cloneNode(!0),l=i.querySelectorAll(".asset-location")[0],r=i.querySelectorAll(".restriction-type")[0];l.value="",r.value="url",l.name="ccf_settings[asset_loading_restrictions]["+s+"][location]",r.name="ccf_settings[asset_loading_restrictions]["+s+"][type]",s++,t.append(e(i))}),t.on("click",".delete",function(e){var t=document.querySelectorAll(".ccf-asset-restrictions .asset");2>t.length?(e.target.parentNode.querySelectorAll(".asset-location")[0].value="",e.target.parentNode.querySelectorAll(".restriction-type")[0].value="url"):e.target.parentNode.parentNode.removeChild(e.target.parentNode)})})(jQuery);
|
classes/class-ccf-form-manager.php
CHANGED
@@ -1651,8 +1651,6 @@ class CCF_Form_Manager {
|
|
1651 |
global $pagenow;
|
1652 |
|
1653 |
if ( 'post.php' == $pagenow || 'post-new.php' == $pagenow ) {
|
1654 |
-
$version = '7.0.2';
|
1655 |
-
|
1656 |
if ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) {
|
1657 |
$js_manager_path = '/build/js/form-manager.js';
|
1658 |
$js_mce_path = '/js/form-mce.js';
|
@@ -1688,13 +1686,13 @@ class CCF_Form_Manager {
|
|
1688 |
'recaptcha' => __( 'reCAPTCHA', 'custom-contact-forms' ),
|
1689 |
));
|
1690 |
|
1691 |
-
wp_register_script( 'moment', plugins_url( '/bower_components/moment/moment.js', dirname( __FILE__ ) ), array(),
|
1692 |
|
1693 |
if ( ! wp_script_is( 'wp-api', 'registered' ) ) {
|
1694 |
-
wp_register_script( 'wp-api', plugins_url( '/vendor/wp-api/wp-api/wp-api.js', dirname( __FILE__ ) ), array(),
|
1695 |
}
|
1696 |
|
1697 |
-
wp_enqueue_script( 'ccf-form-manager', plugins_url( $js_manager_path, dirname( __FILE__ ) ), array( 'json2', 'jquery', 'jquery-ui-core', 'jquery-ui-datepicker', 'underscore', 'backbone', 'jquery-ui-core', 'jquery-ui-draggable', 'jquery-ui-sortable', 'jquery-ui-droppable', 'wp-api', 'moment' ),
|
1698 |
wp_localize_script( 'ccf-form-manager', 'ccfSettings', array(
|
1699 |
'apiRoot' => site_url( 'wp-json' ),
|
1700 |
'nonce' => wp_create_nonce( 'ccf_nonce' ),
|
@@ -1720,10 +1718,10 @@ class CCF_Form_Manager {
|
|
1720 |
'skipFields' => apply_filters( 'ccf_no_submission_display_fields', array( 'html', 'section-header', 'recaptcha' ) ),
|
1721 |
) );
|
1722 |
|
1723 |
-
wp_enqueue_style( 'ccf-form-manager', plugins_url( $css_path, dirname( __FILE__ ) ), array(),
|
1724 |
|
1725 |
if ( apply_filters( 'ccf_enable_tinymce_previews', true ) && 'ccf_form' !== get_post_type() ) {
|
1726 |
-
wp_enqueue_script( 'ccf-form-mce', plugins_url( $js_mce_path, dirname( __FILE__ ) ), array( 'mce-view', 'jquery', 'ccf-form-manager' ),
|
1727 |
}
|
1728 |
}
|
1729 |
}
|
1651 |
global $pagenow;
|
1652 |
|
1653 |
if ( 'post.php' == $pagenow || 'post-new.php' == $pagenow ) {
|
|
|
|
|
1654 |
if ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) {
|
1655 |
$js_manager_path = '/build/js/form-manager.js';
|
1656 |
$js_mce_path = '/js/form-mce.js';
|
1686 |
'recaptcha' => __( 'reCAPTCHA', 'custom-contact-forms' ),
|
1687 |
));
|
1688 |
|
1689 |
+
wp_register_script( 'moment', plugins_url( '/bower_components/moment/moment.js', dirname( __FILE__ ) ), array(), CCF_VERSION );
|
1690 |
|
1691 |
if ( ! wp_script_is( 'wp-api', 'registered' ) ) {
|
1692 |
+
wp_register_script( 'wp-api', plugins_url( '/vendor/wp-api/wp-api/wp-api.js', dirname( __FILE__ ) ), array(), CCF_VERSION );
|
1693 |
}
|
1694 |
|
1695 |
+
wp_enqueue_script( 'ccf-form-manager', plugins_url( $js_manager_path, dirname( __FILE__ ) ), array( 'json2', 'jquery', 'jquery-ui-core', 'jquery-ui-datepicker', 'underscore', 'backbone', 'jquery-ui-core', 'jquery-ui-draggable', 'jquery-ui-sortable', 'jquery-ui-droppable', 'wp-api', 'moment' ), CCF_VERSION, true );
|
1696 |
wp_localize_script( 'ccf-form-manager', 'ccfSettings', array(
|
1697 |
'apiRoot' => site_url( 'wp-json' ),
|
1698 |
'nonce' => wp_create_nonce( 'ccf_nonce' ),
|
1718 |
'skipFields' => apply_filters( 'ccf_no_submission_display_fields', array( 'html', 'section-header', 'recaptcha' ) ),
|
1719 |
) );
|
1720 |
|
1721 |
+
wp_enqueue_style( 'ccf-form-manager', plugins_url( $css_path, dirname( __FILE__ ) ), array(), CCF_VERSION );
|
1722 |
|
1723 |
if ( apply_filters( 'ccf_enable_tinymce_previews', true ) && 'ccf_form' !== get_post_type() ) {
|
1724 |
+
wp_enqueue_script( 'ccf-form-mce', plugins_url( $js_mce_path, dirname( __FILE__ ) ), array( 'mce-view', 'jquery', 'ccf-form-manager' ), CCF_VERSION, true );
|
1725 |
}
|
1726 |
}
|
1727 |
}
|
classes/class-ccf-form-renderer.php
CHANGED
@@ -9,6 +9,13 @@ class CCF_Form_Renderer {
|
|
9 |
*/
|
10 |
public function __construct() {}
|
11 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
/**
|
13 |
* Setup shortcode
|
14 |
*
|
@@ -25,10 +32,53 @@ class CCF_Form_Renderer {
|
|
25 |
* @since 6.0
|
26 |
*/
|
27 |
public function action_wp_enqueue_scripts() {
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32 |
|
33 |
if ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) {
|
34 |
$css_form_path = '/build/css/form.css';
|
@@ -39,10 +89,10 @@ class CCF_Form_Renderer {
|
|
39 |
}
|
40 |
|
41 |
wp_enqueue_style('ccf-jquery-ui', '//ajax.googleapis.com/ajax/libs/jqueryui/1.8.2/themes/smoothness/jquery-ui.css');
|
42 |
-
wp_enqueue_script( 'ccf-google-recaptcha', '//www.google.com/recaptcha/api.js?ver=2&onload=ccfRecaptchaOnload&render=explicit', array(),
|
43 |
-
wp_enqueue_style( 'ccf-form', plugins_url( $css_form_path, dirname( __FILE__ ) ) );
|
44 |
|
45 |
-
wp_enqueue_script( 'ccf-form', plugins_url( $js_path, dirname( __FILE__ ) ), array( 'jquery-ui-datepicker', 'underscore' ),
|
46 |
|
47 |
$localized = array(
|
48 |
'ajaxurl' => esc_url_raw( admin_url( 'admin-ajax.php' ) ),
|
@@ -84,7 +134,11 @@ class CCF_Form_Renderer {
|
|
84 |
return '';
|
85 |
}
|
86 |
|
87 |
-
|
|
|
|
|
|
|
|
|
88 |
}
|
89 |
|
90 |
/**
|
9 |
*/
|
10 |
public function __construct() {}
|
11 |
|
12 |
+
/**
|
13 |
+
* Remember if we arent showing assets
|
14 |
+
*
|
15 |
+
* @since 7.2
|
16 |
+
*/
|
17 |
+
public $no_assets = false;
|
18 |
+
|
19 |
/**
|
20 |
* Setup shortcode
|
21 |
*
|
32 |
* @since 6.0
|
33 |
*/
|
34 |
public function action_wp_enqueue_scripts() {
|
35 |
+
$option = get_option( 'ccf_settings' );
|
36 |
+
|
37 |
+
// Conditionally load assets
|
38 |
+
if ( ! empty( $option ) && ! empty( $option['asset_loading_restriction_enabled'] ) ) {
|
39 |
+
if ( empty( $option['asset_loading_restrictions'] ) ) {
|
40 |
+
return;
|
41 |
+
}
|
42 |
+
|
43 |
+
$post_id = null;
|
44 |
+
$current_path = $_SERVER['REQUEST_URI'];
|
45 |
+
|
46 |
+
$queried_object = get_queried_object();
|
47 |
+
if ( ! empty( $queried_object->ID ) ) {
|
48 |
+
$post_id = $queried_object->ID;
|
49 |
+
}
|
50 |
+
|
51 |
+
$match = false;
|
52 |
+
|
53 |
+
foreach ( $option['asset_loading_restrictions'] as $asset ) {
|
54 |
+
if ( ! empty( $asset['location'] ) ) {
|
55 |
+
if ( 'post_id' === $asset['type'] ) {
|
56 |
+
if ( (int) $asset['location'] === $post_id ) {
|
57 |
+
$match = true;
|
58 |
+
break;
|
59 |
+
}
|
60 |
+
} else {
|
61 |
+
$asset_url_parts = parse_url( $asset['location'] );
|
62 |
+
if ( ! empty( $asset_url_parts['path'] ) ) {
|
63 |
+
$asset_path = trailingslashit( $asset_url_parts['path'] );
|
64 |
+
if ( ! preg_match( '#^/#', $asset_path ) ) {
|
65 |
+
$asset_path = '/' . $asset_path;
|
66 |
+
}
|
67 |
+
|
68 |
+
if ( $asset_path === $current_path ) {
|
69 |
+
$match = true;
|
70 |
+
break;
|
71 |
+
}
|
72 |
+
}
|
73 |
+
}
|
74 |
+
}
|
75 |
+
}
|
76 |
+
|
77 |
+
if ( ! $match ) {
|
78 |
+
$this->no_assets = true;
|
79 |
+
return;
|
80 |
+
}
|
81 |
+
}
|
82 |
|
83 |
if ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) {
|
84 |
$css_form_path = '/build/css/form.css';
|
89 |
}
|
90 |
|
91 |
wp_enqueue_style('ccf-jquery-ui', '//ajax.googleapis.com/ajax/libs/jqueryui/1.8.2/themes/smoothness/jquery-ui.css');
|
92 |
+
wp_enqueue_script( 'ccf-google-recaptcha', '//www.google.com/recaptcha/api.js?ver=2&onload=ccfRecaptchaOnload&render=explicit', array(), CCF_VERSION, true );
|
93 |
+
wp_enqueue_style( 'ccf-form', plugins_url( $css_form_path, dirname( __FILE__ ) ), array(), CCF_VERSION );
|
94 |
|
95 |
+
wp_enqueue_script( 'ccf-form', plugins_url( $js_path, dirname( __FILE__ ) ), array( 'jquery-ui-datepicker', 'underscore' ), CCF_VERSION, false );
|
96 |
|
97 |
$localized = array(
|
98 |
'ajaxurl' => esc_url_raw( admin_url( 'admin-ajax.php' ) ),
|
134 |
return '';
|
135 |
}
|
136 |
|
137 |
+
if ( ! $this->no_assets ) {
|
138 |
+
return $this->get_rendered_form( $atts['id'] );
|
139 |
+
}
|
140 |
+
|
141 |
+
return '';
|
142 |
}
|
143 |
|
144 |
/**
|
classes/class-ccf-settings.php
ADDED
@@ -0,0 +1,188 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class CCF_Settings {
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Placeholder method
|
7 |
+
*
|
8 |
+
* @since 7.2
|
9 |
+
*/
|
10 |
+
public function __construct() {}
|
11 |
+
|
12 |
+
/**
|
13 |
+
* Setup general plugin stuff. Load API
|
14 |
+
*
|
15 |
+
* @since 7.2
|
16 |
+
*/
|
17 |
+
public function setup() {
|
18 |
+
add_action( 'admin_menu', array( $this, 'register_menu_page' ) );
|
19 |
+
add_action( 'admin_init', array( $this, 'register_settings' ) );
|
20 |
+
add_action( 'admin_enqueue_scripts', array( $this, 'action_admin_enqueue_scripts' ) );
|
21 |
+
}
|
22 |
+
|
23 |
+
/**
|
24 |
+
* Setup JS and CSS
|
25 |
+
*
|
26 |
+
* @since 7.2
|
27 |
+
*/
|
28 |
+
public function action_admin_enqueue_scripts() {
|
29 |
+
if ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) {
|
30 |
+
$css_path = '/build/css/settings.css';
|
31 |
+
$js_path = '/js/settings.js';
|
32 |
+
} else {
|
33 |
+
$css_path = '/build/css/settings.min.css';
|
34 |
+
$js_path = '/build/js/settings.min.js';
|
35 |
+
}
|
36 |
+
wp_enqueue_style( 'ccf-settings', plugins_url( $css_path, dirname( __FILE__ ) ), array(), CCF_VERSION );
|
37 |
+
wp_enqueue_script( 'ccf-settings', plugins_url( $js_path, dirname( __FILE__ ) ), array( 'jquery' ), CCF_VERSION, true );
|
38 |
+
}
|
39 |
+
|
40 |
+
/**
|
41 |
+
* Sanitize settings
|
42 |
+
*
|
43 |
+
* @since 7.2
|
44 |
+
* @return array
|
45 |
+
*/
|
46 |
+
public function sanitize( $option ) {
|
47 |
+
$clean_option = array();
|
48 |
+
|
49 |
+
$clean_option['asset_loading_restriction_enabled'] = ( '1' === $option['asset_loading_restriction_enabled'] ) ? true : false;
|
50 |
+
|
51 |
+
foreach ( $option['asset_loading_restrictions'] as $asset ) {
|
52 |
+
$clean_option['asset_loading_restrictions'][] = array(
|
53 |
+
'type' => sanitize_text_field( $asset['type'] ),
|
54 |
+
'location' => sanitize_text_field( $asset['location'] ),
|
55 |
+
);
|
56 |
+
}
|
57 |
+
|
58 |
+
return $clean_option;
|
59 |
+
}
|
60 |
+
|
61 |
+
/**
|
62 |
+
* Register settings and settings fields
|
63 |
+
*
|
64 |
+
* @since 7.2
|
65 |
+
*/
|
66 |
+
public function register_settings() {
|
67 |
+
register_setting( 'ccf-settings', 'ccf_settings', array( $this, 'sanitize' ) );
|
68 |
+
|
69 |
+
$option = get_option( 'ccf_settings' );
|
70 |
+
$restriction_classes = 'ccf-asset-loading-restrictions-wrap ccf-hide-field';
|
71 |
+
if ( ! empty( $option['asset_loading_restriction_enabled'] ) ) {
|
72 |
+
$restriction_classes = 'ccf-asset-loading-restrictions-wrap';
|
73 |
+
}
|
74 |
+
|
75 |
+
|
76 |
+
add_settings_section( 'asset-loading-restriction', 'Asset Loading Restriction', array( $this, 'asset_loading_restriction_summary' ), 'custom-contact-forms' );
|
77 |
+
add_settings_field( 'asset-loading-restriction-enable', esc_html__( 'Enable Asset Loading Restrictions', 'custom-contact-forms' ), array( $this, 'asset_loading_restriction_enable' ), 'custom-contact-forms', 'asset-loading-restriction' );
|
78 |
+
add_settings_field( 'asset-loading-restriction-choose', esc_html__( 'Restrict Asset Loading To', 'custom-contact-forms' ), array( $this, 'asset_loading_restriction_choose' ), 'custom-contact-forms', 'asset-loading-restriction', array( 'class' => $restriction_classes ) );
|
79 |
+
}
|
80 |
+
|
81 |
+
/**
|
82 |
+
* Output asset loading summary
|
83 |
+
*
|
84 |
+
* @since 7.2
|
85 |
+
*/
|
86 |
+
public function asset_loading_restriction_summary() {
|
87 |
+
?>
|
88 |
+
<p>
|
89 |
+
<?php esc_html_e( "By default, Custom Contact Forms loads all it's assets (JavaScript, CSS, etc.) on every page of your site. The reason for this is that there is no where to determine where you use forms. Asset Page Control allows you to specify the URLs or post IDs where your CCF forms will exist. By specifying where your forms will live, assets will not be unnecessarily loaded on every page of your site.", 'custom-contact-forms' ); ?>
|
90 |
+
</p>
|
91 |
+
<?php
|
92 |
+
}
|
93 |
+
|
94 |
+
/**
|
95 |
+
* Output asset loading enabler field
|
96 |
+
*
|
97 |
+
* @since 7.2
|
98 |
+
*/
|
99 |
+
public function asset_loading_restriction_enable() {
|
100 |
+
$option = get_option( 'ccf_settings' );
|
101 |
+
|
102 |
+
?>
|
103 |
+
<select class="ccf-asset-loading-restriction-enabled" name="ccf_settings[asset_loading_restriction_enabled]">
|
104 |
+
<option value="0"><?php esc_html_e( 'No', 'custom-contact-forms' ); ?></option>
|
105 |
+
<option <?php selected( $option['asset_loading_restriction_enabled'], true ); ?> value="1"><?php esc_html_e( 'Yes', 'custom-contact-forms' ); ?></option>
|
106 |
+
</select>
|
107 |
+
<?php
|
108 |
+
}
|
109 |
+
|
110 |
+
/**
|
111 |
+
* Output asset restriction chooser
|
112 |
+
*
|
113 |
+
* @since 7.2
|
114 |
+
*/
|
115 |
+
public function asset_loading_restriction_choose() {
|
116 |
+
$option = get_option( 'ccf_settings' );
|
117 |
+
|
118 |
+
?>
|
119 |
+
<div class="ccf-asset-restrictions">
|
120 |
+
<?php if ( ! empty( $option['asset_loading_restrictions'] ) ) : $i = 0; foreach ( $option['asset_loading_restrictions'] as $asset ) : ?>
|
121 |
+
<div class="asset">
|
122 |
+
<input value="<?php echo esc_attr( $asset['location'] ); ?>" name="ccf_settings[asset_loading_restrictions][<?php echo $i; ?>][location]" class="asset-location" type="text" placeholder="<?php esc_attr_e( 'URL or post ID', 'custom-contact-forms' ); ?>">
|
123 |
+
<?php esc_html_e( 'Restriction type:', 'custom-contact-forms' ); ?>
|
124 |
+
<select class="restriction-type" name="ccf_settings[asset_loading_restrictions][<?php echo $i; ?>][type]">
|
125 |
+
<option value="url"><?php esc_html_e( 'URL', 'custom-contact-forms' ); ?></option>
|
126 |
+
<option <?php selected( $asset['type'], 'post_id' ); ?> value="post_id"><?php esc_html_e( 'Post ID', 'custom-contact-forms' ); ?></option>
|
127 |
+
</select>
|
128 |
+
|
129 |
+
<span class="add">+</span>
|
130 |
+
<span class="delete">×</span>
|
131 |
+
</div>
|
132 |
+
<?php $i++; endforeach; else : ?>
|
133 |
+
<div class="asset">
|
134 |
+
<input name="ccf_settings[asset_loading_restrictions][0][location]" class="asset-location" type="text" placeholder="<?php esc_attr_e( 'URL or post ID', 'custom-contact-forms' ); ?>">
|
135 |
+
<?php esc_html_e( 'Restriction type:', 'custom-contact-forms' ); ?>
|
136 |
+
<select class="restriction-type" name="ccf_settings[asset_loading_restrictions][0][type]">
|
137 |
+
<option value="url"><?php esc_html_e( 'URL', 'custom-contact-forms' ); ?></option>
|
138 |
+
<option value="post_id"><?php esc_html_e( 'Post ID', 'custom-contact-forms' ); ?></option>
|
139 |
+
</select>
|
140 |
+
|
141 |
+
<span class="add">+</span>
|
142 |
+
<span class="delete">×</span>
|
143 |
+
</div>
|
144 |
+
<?php endif; ?>
|
145 |
+
</div>
|
146 |
+
<?php
|
147 |
+
}
|
148 |
+
|
149 |
+
public function register_menu_page() {
|
150 |
+
add_submenu_page( 'edit.php?post_type=ccf_form', esc_html__( 'Custom Contact Forms Settings', 'custom-contact-forms' ), esc_html__( 'Settings', 'custom-contact-forms' ), 'manage_options', 'custom-contact-forms', array( $this, 'screen_options' ) );
|
151 |
+
}
|
152 |
+
|
153 |
+
/**
|
154 |
+
* Output options page wrap
|
155 |
+
*
|
156 |
+
* @since 7.2
|
157 |
+
*/
|
158 |
+
public function screen_options() {
|
159 |
+
?>
|
160 |
+
<div class="wrap">
|
161 |
+
<h1><?php esc_html_e( 'Custom Contact Forms Settings', 'custom-contact-forms' ); ?></h1>
|
162 |
+
|
163 |
+
<form action="options.php" method="post">
|
164 |
+
<?php settings_fields( 'ccf-settings' ); ?>
|
165 |
+
<?php do_settings_sections( 'custom-contact-forms' ); ?>
|
166 |
+
<?php submit_button(); ?>
|
167 |
+
</form>
|
168 |
+
</div>
|
169 |
+
<?php
|
170 |
+
}
|
171 |
+
|
172 |
+
/**
|
173 |
+
* Return singleton instance of class
|
174 |
+
*
|
175 |
+
* @since 7.2
|
176 |
+
* @return object
|
177 |
+
*/
|
178 |
+
public static function factory() {
|
179 |
+
static $instance;
|
180 |
+
|
181 |
+
if ( ! $instance ) {
|
182 |
+
$instance = new self();
|
183 |
+
$instance->setup();
|
184 |
+
}
|
185 |
+
|
186 |
+
return $instance;
|
187 |
+
}
|
188 |
+
}
|
custom-contact-forms.php
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
* Plugin URI: http://www.taylorlovett.com
|
5 |
* Description: Build beautiful custom forms the WordPress way. View live previews of your forms while you build them.
|
6 |
* Author: Taylor Lovett
|
7 |
-
* Version: 7.
|
8 |
* Author URI: http://www.taylorlovett.com
|
9 |
*/
|
10 |
|
@@ -12,6 +12,8 @@
|
|
12 |
* Include plugin reqs
|
13 |
*/
|
14 |
|
|
|
|
|
15 |
require_once( dirname( __FILE__ ) . '/classes/class-ccf-constants.php' );
|
16 |
require_once( dirname( __FILE__ ) . '/classes/class-ccf-custom-contact-forms.php' );
|
17 |
require_once( dirname( __FILE__ ) . '/classes/class-ccf-form-cpt.php' );
|
@@ -27,6 +29,7 @@ require_once( dirname( __FILE__ ) . '/classes/class-ccf-upgrader.php' );
|
|
27 |
require_once( dirname( __FILE__ ) . '/classes/class-ccf-widget.php' );
|
28 |
require_once( dirname( __FILE__ ) . '/classes/class-ccf-export.php' );
|
29 |
require_once( dirname( __FILE__ ) . '/classes/class-ccf-ads.php' );
|
|
|
30 |
|
31 |
CCF_Custom_Contact_Forms::factory();
|
32 |
CCF_Constants::factory();
|
@@ -41,6 +44,7 @@ CCF_Form_Handler::factory();
|
|
41 |
CCF_Upgrader::factory();
|
42 |
CCF_Export::factory();
|
43 |
CCF_Ads::factory();
|
|
|
44 |
|
45 |
/**
|
46 |
* Setup the widget
|
4 |
* Plugin URI: http://www.taylorlovett.com
|
5 |
* Description: Build beautiful custom forms the WordPress way. View live previews of your forms while you build them.
|
6 |
* Author: Taylor Lovett
|
7 |
+
* Version: 7.2
|
8 |
* Author URI: http://www.taylorlovett.com
|
9 |
*/
|
10 |
|
12 |
* Include plugin reqs
|
13 |
*/
|
14 |
|
15 |
+
define( 'CCF_VERSION', '7.2' );
|
16 |
+
|
17 |
require_once( dirname( __FILE__ ) . '/classes/class-ccf-constants.php' );
|
18 |
require_once( dirname( __FILE__ ) . '/classes/class-ccf-custom-contact-forms.php' );
|
19 |
require_once( dirname( __FILE__ ) . '/classes/class-ccf-form-cpt.php' );
|
29 |
require_once( dirname( __FILE__ ) . '/classes/class-ccf-widget.php' );
|
30 |
require_once( dirname( __FILE__ ) . '/classes/class-ccf-export.php' );
|
31 |
require_once( dirname( __FILE__ ) . '/classes/class-ccf-ads.php' );
|
32 |
+
require_once( dirname( __FILE__ ) . '/classes/class-ccf-settings.php' );
|
33 |
|
34 |
CCF_Custom_Contact_Forms::factory();
|
35 |
CCF_Constants::factory();
|
44 |
CCF_Upgrader::factory();
|
45 |
CCF_Export::factory();
|
46 |
CCF_Ads::factory();
|
47 |
+
CCF_Settings::factory();
|
48 |
|
49 |
/**
|
50 |
* Setup the widget
|
js/settings.js
ADDED
@@ -0,0 +1,42 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
( function( $ ) {
|
2 |
+
|
3 |
+
var $assetRestrictions = $( document.querySelectorAll( '.ccf-asset-restrictions' ) );
|
4 |
+
var assetRestrictionsWrap = document.querySelectorAll( '.ccf-asset-loading-restrictions-wrap' )[0];
|
5 |
+
var $assetRestrictionEnabled = $( document.querySelectorAll( '.ccf-asset-loading-restriction-enabled' ) );
|
6 |
+
var nextKey = $assetRestrictions.find( '.asset' ).length;
|
7 |
+
|
8 |
+
$assetRestrictionEnabled.on( 'change', function( event ) {
|
9 |
+
if ( '0' === event.target.value ) {
|
10 |
+
assetRestrictionsWrap.className = 'ccf-asset-loading-restrictions-wrap ccf-hide-field';
|
11 |
+
} else {
|
12 |
+
assetRestrictionsWrap.className = 'ccf-asset-loading-restrictions-wrap';
|
13 |
+
}
|
14 |
+
} );
|
15 |
+
|
16 |
+
$assetRestrictions.on( 'click', '.add', function() {
|
17 |
+
var newAsset = event.target.parentNode.cloneNode( true );
|
18 |
+
var location = newAsset.querySelectorAll( '.asset-location' )[0];
|
19 |
+
var type = newAsset.querySelectorAll( '.restriction-type' )[0];
|
20 |
+
|
21 |
+
location.value = '';
|
22 |
+
type.value = 'url';
|
23 |
+
|
24 |
+
location.name = 'ccf_settings[asset_loading_restrictions][' + nextKey + '][location]';
|
25 |
+
type.name = 'ccf_settings[asset_loading_restrictions][' + nextKey + '][type]';
|
26 |
+
nextKey++;
|
27 |
+
|
28 |
+
$assetRestrictions.append( $( newAsset ) );
|
29 |
+
} );
|
30 |
+
|
31 |
+
$assetRestrictions.on( 'click', '.delete', function( event ) {
|
32 |
+
var assets = document.querySelectorAll( '.ccf-asset-restrictions .asset' );
|
33 |
+
|
34 |
+
if ( assets.length < 2 ) {
|
35 |
+
event.target.parentNode.querySelectorAll( '.asset-location' )[0].value = '';
|
36 |
+
event.target.parentNode.querySelectorAll( '.restriction-type' )[0].value = 'url';
|
37 |
+
} else {
|
38 |
+
event.target.parentNode.parentNode.removeChild( event.target.parentNode );
|
39 |
+
}
|
40 |
+
} );
|
41 |
+
|
42 |
+
} )( jQuery );
|
languages/custom-contact-forms.mo
CHANGED
Binary file
|
languages/custom-contact-forms.po
CHANGED
@@ -5,8 +5,8 @@ msgstr ""
|
|
5 |
"Project-Id-Version: Custom Contact Forms\n"
|
6 |
"Report-Msgid-Bugs-To: https://github.com/tlovett1/custom-contact-forms/"
|
7 |
"issues\n"
|
8 |
-
"POT-Creation-Date:
|
9 |
-
"PO-Revision-Date:
|
10 |
"Last-Translator: Taylor Lovett <tlovett88@gmail.com>\n"
|
11 |
"Language-Team: \n"
|
12 |
"Language: en\n"
|
@@ -132,7 +132,7 @@ msgstr ""
|
|
132 |
#: ../classes/class-ccf-field-renderer.php:802
|
133 |
#: ../classes/class-ccf-form-manager.php:317
|
134 |
#: ../classes/class-ccf-form-manager.php:1380
|
135 |
-
#: ../classes/class-ccf-form-manager.php:
|
136 |
msgid "Email"
|
137 |
msgstr ""
|
138 |
|
@@ -328,7 +328,7 @@ msgstr ""
|
|
328 |
#: ../classes/class-ccf-form-handler.php:376
|
329 |
#: ../classes/class-ccf-form-handler.php:384
|
330 |
#: ../classes/class-ccf-form-handler.php:438
|
331 |
-
#: ../classes/class-ccf-form-renderer.php:
|
332 |
msgid "This field is required."
|
333 |
msgstr ""
|
334 |
|
@@ -346,7 +346,7 @@ msgid "File contains an invalid extension."
|
|
346 |
msgstr ""
|
347 |
|
348 |
#: ../classes/class-ccf-form-handler.php:264
|
349 |
-
#: ../classes/class-ccf-form-renderer.php:
|
350 |
msgid "Your reCAPTCHA response was incorrect."
|
351 |
msgstr ""
|
352 |
|
@@ -376,7 +376,7 @@ msgid "This is not a valid email"
|
|
376 |
msgstr ""
|
377 |
|
378 |
#: ../classes/class-ccf-form-handler.php:379
|
379 |
-
#: ../classes/class-ccf-form-renderer.php:
|
380 |
msgid "Emails do not match."
|
381 |
msgstr ""
|
382 |
|
@@ -389,49 +389,49 @@ msgid "Last name is required."
|
|
389 |
msgstr ""
|
390 |
|
391 |
#: ../classes/class-ccf-form-handler.php:441
|
392 |
-
#: ../classes/class-ccf-form-renderer.php:
|
393 |
msgid "This is not a valid URL. URL's must start with http(s)://"
|
394 |
msgstr ""
|
395 |
|
396 |
#: ../classes/class-ccf-form-handler.php:469
|
397 |
#: ../classes/class-ccf-form-handler.php:501
|
398 |
-
#: ../classes/class-ccf-form-renderer.php:
|
399 |
msgid "Date is required."
|
400 |
msgstr ""
|
401 |
|
402 |
#: ../classes/class-ccf-form-handler.php:472
|
403 |
#: ../classes/class-ccf-form-handler.php:504
|
404 |
-
#: ../classes/class-ccf-form-renderer.php:
|
405 |
msgid "This date is not valid."
|
406 |
msgstr ""
|
407 |
|
408 |
#: ../classes/class-ccf-form-handler.php:477
|
409 |
#: ../classes/class-ccf-form-handler.php:509
|
410 |
-
#: ../classes/class-ccf-form-renderer.php:
|
411 |
msgid "Hour is required."
|
412 |
msgstr ""
|
413 |
|
414 |
#: ../classes/class-ccf-form-handler.php:480
|
415 |
#: ../classes/class-ccf-form-handler.php:512
|
416 |
-
#: ../classes/class-ccf-form-renderer.php:
|
417 |
msgid "This is not a valid hour."
|
418 |
msgstr ""
|
419 |
|
420 |
#: ../classes/class-ccf-form-handler.php:485
|
421 |
#: ../classes/class-ccf-form-handler.php:517
|
422 |
-
#: ../classes/class-ccf-form-renderer.php:
|
423 |
msgid "Minute is required."
|
424 |
msgstr ""
|
425 |
|
426 |
#: ../classes/class-ccf-form-handler.php:488
|
427 |
#: ../classes/class-ccf-form-handler.php:520
|
428 |
-
#: ../classes/class-ccf-form-renderer.php:
|
429 |
msgid "This is not a valid minute."
|
430 |
msgstr ""
|
431 |
|
432 |
#: ../classes/class-ccf-form-handler.php:493
|
433 |
#: ../classes/class-ccf-form-handler.php:525
|
434 |
-
#: ../classes/class-ccf-form-renderer.php:
|
435 |
msgid "AM/PM is required."
|
436 |
msgstr ""
|
437 |
|
@@ -458,7 +458,7 @@ msgid " to \"%s\""
|
|
458 |
msgstr ""
|
459 |
|
460 |
#: ../classes/class-ccf-form-handler.php:907
|
461 |
-
#: ../classes/class-ccf-form-renderer.php:
|
462 |
msgid "Thank you for your submission."
|
463 |
msgstr ""
|
464 |
|
@@ -534,7 +534,7 @@ msgid "Delete"
|
|
534 |
msgstr ""
|
535 |
|
536 |
#: ../classes/class-ccf-form-manager.php:172
|
537 |
-
#: ../classes/class-ccf-form-manager.php:
|
538 |
msgid "Form Submission"
|
539 |
msgstr ""
|
540 |
|
@@ -596,6 +596,7 @@ msgstr ""
|
|
596 |
#: ../classes/class-ccf-form-manager.php:1024
|
597 |
#: ../classes/class-ccf-form-manager.php:1067
|
598 |
#: ../classes/class-ccf-form-manager.php:1110
|
|
|
599 |
msgid "No"
|
600 |
msgstr ""
|
601 |
|
@@ -614,6 +615,7 @@ msgstr ""
|
|
614 |
#: ../classes/class-ccf-form-manager.php:1023
|
615 |
#: ../classes/class-ccf-form-manager.php:1066
|
616 |
#: ../classes/class-ccf-form-manager.php:1109
|
|
|
617 |
msgid "Yes"
|
618 |
msgstr ""
|
619 |
|
@@ -1089,115 +1091,157 @@ msgstr ""
|
|
1089 |
msgid "Add Form"
|
1090 |
msgstr ""
|
1091 |
|
1092 |
-
#: ../classes/class-ccf-form-manager.php:
|
1093 |
msgid "Single Line Text"
|
1094 |
msgstr ""
|
1095 |
|
1096 |
-
#: ../classes/class-ccf-form-manager.php:
|
1097 |
msgid "Dropdown"
|
1098 |
msgstr ""
|
1099 |
|
1100 |
-
#: ../classes/class-ccf-form-manager.php:
|
1101 |
msgid "Checkboxes"
|
1102 |
msgstr ""
|
1103 |
|
1104 |
-
#: ../classes/class-ccf-form-manager.php:
|
1105 |
msgid "Radio Buttons"
|
1106 |
msgstr ""
|
1107 |
|
1108 |
-
#: ../classes/class-ccf-form-manager.php:
|
1109 |
msgid "Paragraph Text"
|
1110 |
msgstr ""
|
1111 |
|
1112 |
-
#: ../classes/class-ccf-form-manager.php:
|
1113 |
msgid "Hidden"
|
1114 |
msgstr ""
|
1115 |
|
1116 |
-
#: ../classes/class-ccf-form-manager.php:
|
1117 |
msgid "File Upload"
|
1118 |
msgstr ""
|
1119 |
|
1120 |
-
#: ../classes/class-ccf-form-manager.php:
|
1121 |
msgid "HTML"
|
1122 |
msgstr ""
|
1123 |
|
1124 |
-
#: ../classes/class-ccf-form-manager.php:
|
1125 |
msgid "Section Header"
|
1126 |
msgstr ""
|
1127 |
|
1128 |
-
#: ../classes/class-ccf-form-manager.php:
|
1129 |
msgid "Name"
|
1130 |
msgstr ""
|
1131 |
|
1132 |
-
#: ../classes/class-ccf-form-manager.php:
|
1133 |
msgid "Date/Time"
|
1134 |
msgstr ""
|
1135 |
|
1136 |
-
#: ../classes/class-ccf-form-manager.php:
|
1137 |
msgid "Website"
|
1138 |
msgstr ""
|
1139 |
|
1140 |
-
#: ../classes/class-ccf-form-manager.php:
|
1141 |
msgid "Address"
|
1142 |
msgstr ""
|
1143 |
|
1144 |
-
#: ../classes/class-ccf-form-manager.php:
|
1145 |
msgid "Phone"
|
1146 |
msgstr ""
|
1147 |
|
1148 |
-
#: ../classes/class-ccf-form-manager.php:
|
1149 |
msgid "reCAPTCHA"
|
1150 |
msgstr ""
|
1151 |
|
1152 |
-
#: ../classes/class-ccf-form-manager.php:
|
1153 |
msgid "You have no email fields"
|
1154 |
msgstr ""
|
1155 |
|
1156 |
-
#: ../classes/class-ccf-form-manager.php:
|
1157 |
msgid "You have no name fields"
|
1158 |
msgstr ""
|
1159 |
|
1160 |
-
#: ../classes/class-ccf-form-manager.php:
|
1161 |
msgid "You have no applicable fields"
|
1162 |
msgstr ""
|
1163 |
|
1164 |
-
#: ../classes/class-ccf-form-manager.php:
|
1165 |
msgid "Invalid date"
|
1166 |
msgstr ""
|
1167 |
|
1168 |
-
#: ../classes/class-ccf-form-manager.php:
|
1169 |
msgid "Field Label"
|
1170 |
msgstr ""
|
1171 |
|
1172 |
-
#: ../classes/class-ccf-form-manager.php:
|
1173 |
-
#: ../classes/class-ccf-form-renderer.php:
|
1174 |
msgid "This form is paused right now. Check back later!"
|
1175 |
msgstr ""
|
1176 |
|
1177 |
-
#: ../classes/class-ccf-form-renderer.php:
|
1178 |
msgid "This is not a valid email address."
|
1179 |
msgstr ""
|
1180 |
|
1181 |
-
#: ../classes/class-ccf-form-renderer.php:
|
1182 |
msgid "This is not a valid phone number."
|
1183 |
msgstr ""
|
1184 |
|
1185 |
-
#: ../classes/class-ccf-form-renderer.php:
|
1186 |
msgid "This phone number is not 10 digits"
|
1187 |
msgstr ""
|
1188 |
|
1189 |
-
#: ../classes/class-ccf-form-renderer.php:
|
1190 |
msgid "This is not an allowed file extension"
|
1191 |
msgstr ""
|
1192 |
|
1193 |
-
#: ../classes/class-ccf-form-renderer.php:
|
1194 |
msgid "This file is bigger than"
|
1195 |
msgstr ""
|
1196 |
|
1197 |
-
#: ../classes/class-ccf-form-renderer.php:
|
1198 |
msgid "An unknown error occured."
|
1199 |
msgstr ""
|
1200 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1201 |
#: ../classes/class-ccf-submission-cpt.php:41
|
1202 |
msgid "Form Submissions"
|
1203 |
msgstr ""
|
5 |
"Project-Id-Version: Custom Contact Forms\n"
|
6 |
"Report-Msgid-Bugs-To: https://github.com/tlovett1/custom-contact-forms/"
|
7 |
"issues\n"
|
8 |
+
"POT-Creation-Date: 2016-01-03 00:39-0500\n"
|
9 |
+
"PO-Revision-Date: 2016-01-03 00:39-0500\n"
|
10 |
"Last-Translator: Taylor Lovett <tlovett88@gmail.com>\n"
|
11 |
"Language-Team: \n"
|
12 |
"Language: en\n"
|
132 |
#: ../classes/class-ccf-field-renderer.php:802
|
133 |
#: ../classes/class-ccf-form-manager.php:317
|
134 |
#: ../classes/class-ccf-form-manager.php:1380
|
135 |
+
#: ../classes/class-ccf-form-manager.php:1680
|
136 |
msgid "Email"
|
137 |
msgstr ""
|
138 |
|
328 |
#: ../classes/class-ccf-form-handler.php:376
|
329 |
#: ../classes/class-ccf-form-handler.php:384
|
330 |
#: ../classes/class-ccf-form-handler.php:438
|
331 |
+
#: ../classes/class-ccf-form-renderer.php:99
|
332 |
msgid "This field is required."
|
333 |
msgstr ""
|
334 |
|
346 |
msgstr ""
|
347 |
|
348 |
#: ../classes/class-ccf-form-handler.php:264
|
349 |
+
#: ../classes/class-ccf-form-renderer.php:106
|
350 |
msgid "Your reCAPTCHA response was incorrect."
|
351 |
msgstr ""
|
352 |
|
376 |
msgstr ""
|
377 |
|
378 |
#: ../classes/class-ccf-form-handler.php:379
|
379 |
+
#: ../classes/class-ccf-form-renderer.php:104
|
380 |
msgid "Emails do not match."
|
381 |
msgstr ""
|
382 |
|
389 |
msgstr ""
|
390 |
|
391 |
#: ../classes/class-ccf-form-handler.php:441
|
392 |
+
#: ../classes/class-ccf-form-renderer.php:116
|
393 |
msgid "This is not a valid URL. URL's must start with http(s)://"
|
394 |
msgstr ""
|
395 |
|
396 |
#: ../classes/class-ccf-form-handler.php:469
|
397 |
#: ../classes/class-ccf-form-handler.php:501
|
398 |
+
#: ../classes/class-ccf-form-renderer.php:100
|
399 |
msgid "Date is required."
|
400 |
msgstr ""
|
401 |
|
402 |
#: ../classes/class-ccf-form-handler.php:472
|
403 |
#: ../classes/class-ccf-form-handler.php:504
|
404 |
+
#: ../classes/class-ccf-form-renderer.php:111
|
405 |
msgid "This date is not valid."
|
406 |
msgstr ""
|
407 |
|
408 |
#: ../classes/class-ccf-form-handler.php:477
|
409 |
#: ../classes/class-ccf-form-handler.php:509
|
410 |
+
#: ../classes/class-ccf-form-renderer.php:101
|
411 |
msgid "Hour is required."
|
412 |
msgstr ""
|
413 |
|
414 |
#: ../classes/class-ccf-form-handler.php:480
|
415 |
#: ../classes/class-ccf-form-handler.php:512
|
416 |
+
#: ../classes/class-ccf-form-renderer.php:110
|
417 |
msgid "This is not a valid hour."
|
418 |
msgstr ""
|
419 |
|
420 |
#: ../classes/class-ccf-form-handler.php:485
|
421 |
#: ../classes/class-ccf-form-handler.php:517
|
422 |
+
#: ../classes/class-ccf-form-renderer.php:102
|
423 |
msgid "Minute is required."
|
424 |
msgstr ""
|
425 |
|
426 |
#: ../classes/class-ccf-form-handler.php:488
|
427 |
#: ../classes/class-ccf-form-handler.php:520
|
428 |
+
#: ../classes/class-ccf-form-renderer.php:112
|
429 |
msgid "This is not a valid minute."
|
430 |
msgstr ""
|
431 |
|
432 |
#: ../classes/class-ccf-form-handler.php:493
|
433 |
#: ../classes/class-ccf-form-handler.php:525
|
434 |
+
#: ../classes/class-ccf-form-renderer.php:103
|
435 |
msgid "AM/PM is required."
|
436 |
msgstr ""
|
437 |
|
458 |
msgstr ""
|
459 |
|
460 |
#: ../classes/class-ccf-form-handler.php:907
|
461 |
+
#: ../classes/class-ccf-form-renderer.php:188
|
462 |
msgid "Thank you for your submission."
|
463 |
msgstr ""
|
464 |
|
534 |
msgstr ""
|
535 |
|
536 |
#: ../classes/class-ccf-form-manager.php:172
|
537 |
+
#: ../classes/class-ccf-form-manager.php:1716
|
538 |
msgid "Form Submission"
|
539 |
msgstr ""
|
540 |
|
596 |
#: ../classes/class-ccf-form-manager.php:1024
|
597 |
#: ../classes/class-ccf-form-manager.php:1067
|
598 |
#: ../classes/class-ccf-form-manager.php:1110
|
599 |
+
#: ../classes/class-ccf-settings.php:104
|
600 |
msgid "No"
|
601 |
msgstr ""
|
602 |
|
615 |
#: ../classes/class-ccf-form-manager.php:1023
|
616 |
#: ../classes/class-ccf-form-manager.php:1066
|
617 |
#: ../classes/class-ccf-form-manager.php:1109
|
618 |
+
#: ../classes/class-ccf-settings.php:105
|
619 |
msgid "Yes"
|
620 |
msgstr ""
|
621 |
|
1091 |
msgid "Add Form"
|
1092 |
msgstr ""
|
1093 |
|
1094 |
+
#: ../classes/class-ccf-form-manager.php:1665
|
1095 |
msgid "Single Line Text"
|
1096 |
msgstr ""
|
1097 |
|
1098 |
+
#: ../classes/class-ccf-form-manager.php:1666
|
1099 |
msgid "Dropdown"
|
1100 |
msgstr ""
|
1101 |
|
1102 |
+
#: ../classes/class-ccf-form-manager.php:1667
|
1103 |
msgid "Checkboxes"
|
1104 |
msgstr ""
|
1105 |
|
1106 |
+
#: ../classes/class-ccf-form-manager.php:1668
|
1107 |
msgid "Radio Buttons"
|
1108 |
msgstr ""
|
1109 |
|
1110 |
+
#: ../classes/class-ccf-form-manager.php:1669
|
1111 |
msgid "Paragraph Text"
|
1112 |
msgstr ""
|
1113 |
|
1114 |
+
#: ../classes/class-ccf-form-manager.php:1670
|
1115 |
msgid "Hidden"
|
1116 |
msgstr ""
|
1117 |
|
1118 |
+
#: ../classes/class-ccf-form-manager.php:1671
|
1119 |
msgid "File Upload"
|
1120 |
msgstr ""
|
1121 |
|
1122 |
+
#: ../classes/class-ccf-form-manager.php:1675
|
1123 |
msgid "HTML"
|
1124 |
msgstr ""
|
1125 |
|
1126 |
+
#: ../classes/class-ccf-form-manager.php:1676
|
1127 |
msgid "Section Header"
|
1128 |
msgstr ""
|
1129 |
|
1130 |
+
#: ../classes/class-ccf-form-manager.php:1681
|
1131 |
msgid "Name"
|
1132 |
msgstr ""
|
1133 |
|
1134 |
+
#: ../classes/class-ccf-form-manager.php:1682
|
1135 |
msgid "Date/Time"
|
1136 |
msgstr ""
|
1137 |
|
1138 |
+
#: ../classes/class-ccf-form-manager.php:1683
|
1139 |
msgid "Website"
|
1140 |
msgstr ""
|
1141 |
|
1142 |
+
#: ../classes/class-ccf-form-manager.php:1684
|
1143 |
msgid "Address"
|
1144 |
msgstr ""
|
1145 |
|
1146 |
+
#: ../classes/class-ccf-form-manager.php:1685
|
1147 |
msgid "Phone"
|
1148 |
msgstr ""
|
1149 |
|
1150 |
+
#: ../classes/class-ccf-form-manager.php:1686
|
1151 |
msgid "reCAPTCHA"
|
1152 |
msgstr ""
|
1153 |
|
1154 |
+
#: ../classes/class-ccf-form-manager.php:1710
|
1155 |
msgid "You have no email fields"
|
1156 |
msgstr ""
|
1157 |
|
1158 |
+
#: ../classes/class-ccf-form-manager.php:1711
|
1159 |
msgid "You have no name fields"
|
1160 |
msgstr ""
|
1161 |
|
1162 |
+
#: ../classes/class-ccf-form-manager.php:1712
|
1163 |
msgid "You have no applicable fields"
|
1164 |
msgstr ""
|
1165 |
|
1166 |
+
#: ../classes/class-ccf-form-manager.php:1713
|
1167 |
msgid "Invalid date"
|
1168 |
msgstr ""
|
1169 |
|
1170 |
+
#: ../classes/class-ccf-form-manager.php:1715
|
1171 |
msgid "Field Label"
|
1172 |
msgstr ""
|
1173 |
|
1174 |
+
#: ../classes/class-ccf-form-manager.php:1717
|
1175 |
+
#: ../classes/class-ccf-form-renderer.php:174
|
1176 |
msgid "This form is paused right now. Check back later!"
|
1177 |
msgstr ""
|
1178 |
|
1179 |
+
#: ../classes/class-ccf-form-renderer.php:105
|
1180 |
msgid "This is not a valid email address."
|
1181 |
msgstr ""
|
1182 |
|
1183 |
+
#: ../classes/class-ccf-form-renderer.php:108
|
1184 |
msgid "This is not a valid phone number."
|
1185 |
msgstr ""
|
1186 |
|
1187 |
+
#: ../classes/class-ccf-form-renderer.php:109
|
1188 |
msgid "This phone number is not 10 digits"
|
1189 |
msgstr ""
|
1190 |
|
1191 |
+
#: ../classes/class-ccf-form-renderer.php:113
|
1192 |
msgid "This is not an allowed file extension"
|
1193 |
msgstr ""
|
1194 |
|
1195 |
+
#: ../classes/class-ccf-form-renderer.php:114
|
1196 |
msgid "This file is bigger than"
|
1197 |
msgstr ""
|
1198 |
|
1199 |
+
#: ../classes/class-ccf-form-renderer.php:115
|
1200 |
msgid "An unknown error occured."
|
1201 |
msgstr ""
|
1202 |
|
1203 |
+
#: ../classes/class-ccf-settings.php:77
|
1204 |
+
msgid "Enable Asset Loading Restrictions"
|
1205 |
+
msgstr ""
|
1206 |
+
|
1207 |
+
#: ../classes/class-ccf-settings.php:78
|
1208 |
+
msgid "Restrict Asset Loading To"
|
1209 |
+
msgstr ""
|
1210 |
+
|
1211 |
+
#: ../classes/class-ccf-settings.php:89
|
1212 |
+
msgid ""
|
1213 |
+
"By default, Custom Contact Forms loads all it's assets (JavaScript, CSS, "
|
1214 |
+
"etc.) on every page of your site. The reason for this is that there is no "
|
1215 |
+
"where to determine where you use forms. Asset Page Control allows you to "
|
1216 |
+
"specify the URLs or post IDs where your CCF forms will exist. By specifying "
|
1217 |
+
"where your forms will live, assets will not be unnecessarily loaded on every "
|
1218 |
+
"page of your site."
|
1219 |
+
msgstr ""
|
1220 |
+
|
1221 |
+
#: ../classes/class-ccf-settings.php:122 ../classes/class-ccf-settings.php:134
|
1222 |
+
msgid "URL or post ID"
|
1223 |
+
msgstr ""
|
1224 |
+
|
1225 |
+
#: ../classes/class-ccf-settings.php:123 ../classes/class-ccf-settings.php:135
|
1226 |
+
msgid "Restriction type:"
|
1227 |
+
msgstr ""
|
1228 |
+
|
1229 |
+
#: ../classes/class-ccf-settings.php:125 ../classes/class-ccf-settings.php:137
|
1230 |
+
msgid "URL"
|
1231 |
+
msgstr ""
|
1232 |
+
|
1233 |
+
#: ../classes/class-ccf-settings.php:126 ../classes/class-ccf-settings.php:138
|
1234 |
+
msgid "Post ID"
|
1235 |
+
msgstr ""
|
1236 |
+
|
1237 |
+
#: ../classes/class-ccf-settings.php:150 ../classes/class-ccf-settings.php:161
|
1238 |
+
msgid "Custom Contact Forms Settings"
|
1239 |
+
msgstr ""
|
1240 |
+
|
1241 |
+
#: ../classes/class-ccf-settings.php:150
|
1242 |
+
msgid "Settings"
|
1243 |
+
msgstr ""
|
1244 |
+
|
1245 |
#: ../classes/class-ccf-submission-cpt.php:41
|
1246 |
msgid "Form Submissions"
|
1247 |
msgstr ""
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_i
|
|
4 |
Tags: contact form, web form, custom contact form, custom forms, captcha form, contact fields, form mailers, forms
|
5 |
Requires at least: 3.9
|
6 |
Tested up to: 4.5
|
7 |
-
Stable tag: 7.
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
@@ -37,7 +37,10 @@ For questions, feature requests, and support concerning the Custom Contact Forms
|
|
37 |
|
38 |
== Changelog ==
|
39 |
|
40 |
-
= 7.
|
|
|
|
|
|
|
41 |
* Enable non-American date formats
|
42 |
* Make submissions and forms private so they don't show in sitemaps
|
43 |
* Redo form email notifications and settings UI
|
4 |
Tags: contact form, web form, custom contact form, custom forms, captcha form, contact fields, form mailers, forms
|
5 |
Requires at least: 3.9
|
6 |
Tested up to: 4.5
|
7 |
+
Stable tag: 7.2
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
37 |
|
38 |
== Changelog ==
|
39 |
|
40 |
+
= 7.2 =
|
41 |
+
* Conditional asset loading
|
42 |
+
|
43 |
+
= 7.1 =
|
44 |
* Enable non-American date formats
|
45 |
* Make submissions and forms private so they don't show in sitemaps
|
46 |
* Redo form email notifications and settings UI
|