/**
  * Enqueue scripts.
  *
  * @return  void
  */
 public function admin_enqueue_scripts()
 {
     wp_enqueue_script('jquery');
     wp_enqueue_script('jquery-ui');
     wp_enqueue_script('jquery-ui-resizable');
     wp_enqueue_script('jquery-ui-sortable');
     wp_enqueue_script('jquery-ui-tabs');
     wp_enqueue_script('jquery-ui-dialog');
     wp_enqueue_script('jquery-ui-button');
     wp_enqueue_script('jquery-ui-datepicker');
     wp_enqueue_script('jquery-ui-autocomplete');
     $assets = array('wr-jquery-placeholder-js', 'wr-jquery-tipsy-js', 'wr-jquery-select2-js', 'wr-jquery-wysiwyg-js', 'wr-jquery-wysiwyg-colorpicker-js', 'wr-jquery-wysiwyg-table-js', 'wr-jquery-wysiwyg-cssWrap-js', 'wr-jquery-wysiwyg-image-js', 'wr-jquery-wysiwyg-link-js', 'wr-jquery-wysiwyg-css', 'wr-bootstrap2-css', 'wr-jquery-select2-css', 'wr-bootstrap2-responsive-css', 'wr-bootstrap2-jsn-gui-css', 'wr-bootstrap2-icomoon-css', 'wr-jquery-ui-css', 'wr-jquery-tipsy-css', 'wr-contactform-css', 'wr-contactform-modal-css', 'wr-contactform-emailsettings-js');
     WR_CF_Init_Assets::load($assets);
 }
示例#2
0
    /**
     * generate HTML Pages
     *
     * @param   Object  $postId          Post Id
     * @param   Object  $formId          Form Id
     * @param   String  $formName        Form Name
     * @param   String  $formType        Form Type
     * @param   String  $topContent      Module Top content
     * @param   String  $bottomContent   Module Bottom Content
     * @param   String  $showTitle       State Show Title Form
     * @param   String  $showDes         State Show Description Form
     *
     * @return string
     */
    public static function generate_html_pages($postId, $formId, $formName, $formType = '', $topContent = '', $bottomContent = '', $showTitle = false, $showDes = false)
    {
        $html = '';
        $assets = array();
        // add Filter apply assets
        load_plugin_textdomain(WR_CONTACTFORM_TEXTDOMAIN, false, WR_CONTACTFORM_TEXTDOMAIN . '/frontend/languages/');
        //$assets[ ] = 'wr-contactform-jquery-ui-css';
        $loadBootstrap = get_option('wr_contactform_load_bootstrap_css', 1);
        if ($loadBootstrap != '0' && $loadBootstrap != 0) {
            $assets[] = 'wr-bootstrap2-css';
        }
        $items = get_post_meta((int) $postId);
        $formPages = self::get_form_content((int) $formId);
        $scheme = parse_url(get_site_url(), PHP_URL_SCHEME);
        /* define language */
        $arrayTranslated = array('The password must contain minimum %mi% and maximum %mx% character(s)', 'Both email addresses must be the same.', 'The number cannot be less than', 'The number cannot be greater than', 'WR_CONTACTFORM_DATE_HOUR_TEXT', 'WR_CONTACTFORM_DATE_MINUTE_TEXT', 'WR_CONTACTFORM_DATE_CLOSE_TEXT', 'Prev', 'Next', 'Today', 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December', 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec', 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Wk', 'The information cannot contain more than', 'The information cannot contain less than', 'WR_CONTACTFORM_CAPTCHA_PUBLICKEY', 'WR_CONTACTFORM_BUTTON_BACK', 'WR_CONTACTFORM_BUTTON_NEXT', 'WR_CONTACTFORM_BUTTON_RESET', 'WR_CONTACTFORM_BUTTON_SUBMIT', 'This field can not be empty, please enter required information.', 'The information is invalid, please correct.');
        /* Check load JS */
        $checkLoadJS = array();
        $checkLoadJSTipsy = false;
        $formSettings = !empty($items['form_settings'][0]) ? json_decode($items['form_settings'][0]) : '';
        if ($formPages) {
            $formStyleCustom = new stdClass();
            if (!empty($items['form_style'][0])) {
                $formStyleCustom = json_decode($items['form_style'][0]);
            }
            $dataSumbission = '';
            $classForm = !empty($formStyleCustom->layout) ? $formStyleCustom->layout : '';
            $formTheme = !empty($formStyleCustom->theme) ? $formStyleCustom->theme : '';
            if (!$formType) {
                wp_enqueue_style('contactform_form_' . $formId, site_url() . '/?wr-cf-gadget=contactform-style&action=default&form_id=' . $formId);
                $html .= "<div class=\"wr-contactform jsn-master\" data-form-name='" . $formName . "' id='wr_form_" . $formId . "'><div class=\"jsn-bootstrap\">";
                $html .= $topContent;
                $html .= "<form name='form_{$formName}' id='form_{$formName}' action=\"" . site_url() . '/?wr-cf-gadget=contactform-frontend&action=default&task=form.save&form_id=' . $formId . "\" method=\"post\" class=\"form-validate {$classForm} \" enctype=\"multipart/form-data\" >";
                $html .= "<span class=\"hide wr-language\" style=\"display:none;\" data-value='" . json_encode(WR_Contactform_Helpers_Contactform::get_translated($arrayTranslated)) . "'></span>";
                $html .= '<span class="hide wr-base-url" style="display:none;" data-value="' . get_site_url() . '"></span>';
                $html .= '<div id="page-loading" class="jsn-bgloading"><i class="jsn-icon32 jsn-icon-loading"></i></div>';
                $html .= '<div class="jsn-row-container ' . $formTheme . '">';
            }
            $html .= '<div class="message-contactform"> </div>';
            include_once WR_CONTACTFORM_PATH . 'helpers/form.php';
            foreach ($formPages as $i => $contentForm) {
                $pageContainer = !empty($contentForm->page_container) && json_decode($contentForm->page_container) ? $contentForm->page_container : '[[{"columnName":"left","columnClass":"span12"}]]';
                $formContent = isset($contentForm->page_content) ? json_decode($contentForm->page_content) : '';
                $htmlForm = '';
                if (!empty($formContent)) {
                    foreach ($formContent as $content) {
                        if (!empty($content->options->instruction) || !empty($content->instruction)) {
                            $checkLoadJSTipsy = true;
                        }
                        if (!empty($content->type)) {
                            $checkLoadJS[$content->type] = $content->type;
                        }
                    }
                    $htmlForm .= WR_Contactform_Helpers_Form::generate($formContent, $dataSumbission, $pageContainer);
                }
                $html .= "<div data-value=\"{$contentForm->page_id}\" class=\"jsn-form-content hide\">{$htmlForm}";
                if ($i + 1 == count($formPages)) {
                    $global_captcha_setting = get_option('wr_contactform_global_captcha_setting', 2);
                    if ($global_captcha_setting != 0) {
                        if (!empty($formSettings->form_captcha) && $formSettings->form_captcha == 1) {
                            if ($scheme == 'https') {
                                $html .= '<script type="text/javascript" src="https://www.google.com/recaptcha/api/js/recaptcha_ajax.js"></script>';
                            } else {
                                $html .= '<script type="text/javascript" src="http://www.google.com/recaptcha/api/js/recaptcha_ajax.js"></script>';
                            }
                            $html .= '<div id="' . md5(date('Y-m-d H:i:s') . $i . $formName) . '"  publickey="' . WR_CONTACTFORM_CAPTCHA_PUBLICKEY . '" class="form-captcha control-group"></div>';
                        } else {
                            if (!empty($formSettings->form_captcha) && $formSettings->form_captcha == 2 || $global_captcha_setting == 1) {
                                include_once WR_CONTACTFORM_PATH . 'libraries/3rd-party/securimage/securimage.php';
                                $img = new Securimage();
                                $img->case_sensitive = true;
                                // true to use case sensitve codes - not recommended
                                $img->image_bg_color = new Securimage_Color('#ffffff');
                                // image background color
                                $img->text_color = new Securimage_Color('#000000');
                                // captcha text color
                                $img->num_lines = 0;
                                // how many lines to draw over the image
                                $img->line_color = new Securimage_Color('#0000CC');
                                // color of lines over the image
                                $img->namespace = $formName;
                                $img->signature_color = new Securimage_Color(rand(0, 64), rand(64, 128), rand(128, 255));
                                // random signature color
                                ob_start();
                                $img->show(WR_CONTACTFORM_PATH . 'libraries/3rd-party/securimage/backgrounds/bg4.png');
                                $dataCaptcha = base64_encode(ob_get_clean());
                                $html .= '<div class="control-group wr-captcha-block">
										<div class="controls">
										<div class="row-fluid"><img src="data:image/png;base64,' . $dataCaptcha . '" alt="CAPTCHA" /></div>
										<input type="text" id="wr-captcha" name="captcha" autocomplete="off" placeholder="' . __('Captcha', WR_CONTACTFORM_TEXTDOMAIN) . '">
										</div>
										</div>';
                            }
                        }
                    }
                }
                $html .= '</div>';
            }
            $btnNext = !empty($formSettings->form_btn_next_text) ? $formSettings->form_btn_next_text : 'Next';
            $btnPrev = !empty($formSettings->form_btn_prev_text) ? $formSettings->form_btn_prev_text : 'Prev';
            $btnSubmit = !empty($formSettings->form_btn_submit_text) ? $formSettings->form_btn_submit_text : 'Submit';
            $btnReset = !empty($formSettings->form_btn_reset_text) ? $formSettings->form_btn_reset_text : 'Reset';
            $btnNextStyle = !empty($formStyleCustom->button_next_color) ? $formStyleCustom->button_next_color : 'btn  btn-primary';
            $btnPrevStyle = !empty($formStyleCustom->button_prev_color) ? $formStyleCustom->button_prev_color : 'btn';
            $btnSubmitStyle = !empty($formStyleCustom->button_submit_color) ? $formStyleCustom->button_submit_color : 'btn  btn-primary';
            $btnResetStyle = !empty($formStyleCustom->button_reset_color) ? $formStyleCustom->button_reset_color : 'btn';
            $btnPosition = !empty($formStyleCustom->button_position) ? $formStyleCustom->button_position : 'btn-toolbar';
            $htmlBtnReset = '';
            if (!empty($formSettings->form_state_btn_reset_text) && $formSettings->form_state_btn_reset_text == 'Yes') {
                $htmlBtnReset = '<button class="' . $btnResetStyle . ' reset" onclick="return false;">' . __($btnReset, WR_CONTACTFORM_TEXTDOMAIN) . '</button>';
            }
            $html .= '<div class="form-actions">
									<div class="' . $btnPosition . '">
									    <button class="' . $btnPrevStyle . ' prev hide" onclick="return false;">' . __($btnPrev, WR_CONTACTFORM_TEXTDOMAIN) . '</button>
									    <button class="' . $btnNextStyle . ' next hide" onclick="return false;">' . __($btnNext, WR_CONTACTFORM_TEXTDOMAIN) . '</button>
									    <button type="submit" class="' . $btnSubmitStyle . ' jsn-form-submit hide" >' . __($btnSubmit, WR_CONTACTFORM_TEXTDOMAIN) . '</button>
									    ' . $htmlBtnReset . '
									</div>
								     </div>';
            $postAction = isset($items['form_post_action'][0]) ? $items['form_post_action'][0] : '';
            $postActionData = isset($items['form_post_action_data'][0]) ? $items['form_post_action_data'][0] : '';
            $html .= '<input type="hidden" name="form_name" value="' . $formName . '" />';
            if (!$formType) {
                $html .= '</div>';
                $html .= '<input type="hidden" name="form_id" value="' . $formId . '" />';
                $html .= '<input type="hidden" id="form_post_action" name="form_post_action" value="' . $postAction . '" />';
                $html .= '<input type="hidden" name="form_post_action_data" value=\'' . htmlentities(json_encode(unserialize($postActionData)), ENT_QUOTES, 'UTF-8') . '\' />';
                $html .= '</form>';
                $html .= $bottomContent;
                $html .= '</div></div>';
            }
            /* Load JS */
            if (!empty($checkLoadJS['date'])) {
                $assets[] = 'wr-jquery-ui-css';
            }
            wp_enqueue_script('jquery');
            //$assets[ ] = 'wr-jquery-json-js';
            $assets[] = 'wr-jquery-placeholder-js';
            if ($checkLoadJSTipsy) {
                $assets[] = 'wr-jquery-tipsy-css';
                $assets[] = 'wr-jquery-tipsy-js';
            }
            $assets[] = 'wr-jquery-scrollto-js';
            $loadBootstrapJs = get_option('wr_contactform_load_bootstrap_js', 1);
            if ($loadBootstrapJs != '0' && $loadBootstrapJs != 0) {
                $assets[] = 'wr-frontend-contactform-bootstrap-js';
            }
            if (!empty($checkLoadJS['date'])) {
                wp_enqueue_script('jquery-ui');
                wp_enqueue_script('jquery-ui-datepicker');
                $assets[] = 'wr-jquery-daterangepicker-js';
                $assets[] = 'wr-jquery-timepicker-js';
            }
            if (!empty($checkLoadJS['google-maps'])) {
                if ($scheme == 'https') {
                    $assets[] = 'wr-https-googlemaps-api-js';
                } else {
                    $assets[] = 'wr-http-googlemaps-api-js';
                }
                $assets[] = 'wr-googlemaps-ui-js';
                $assets[] = 'wr-googlemaps-services-js';
                $assets[] = 'wr-googlemaps-extensions-js';
            }
            $getFilterAssets = apply_filters('wr_contactform_filter_frontend_load_assets', $assets, $checkLoadJS);
            if (!empty($getFilterAssets)) {
                $assets = $getFilterAssets;
            }
            $assets[] = 'wr-frontend-contactform-js';
        }
        $assets[] = 'wr-bootstrap2-icomoon-css';
        $assets[] = 'wr-bootstrap2-jsn-gui-css';
        $assets[] = 'wr-frontend-contactform-css';
        WR_CF_Init_Assets::load($assets);
        return $html;
    }
<?php

wp_enqueue_script('jquery');
wp_enqueue_script('jquery-ui');
wp_enqueue_script('jquery-ui-tabs');
wp_enqueue_script('jquery-ui-dialog');
wp_enqueue_script('jquery-ui-button');
$assets = array('wr-bootstrap2-css', 'wr-bootstrap2-jsn-gui-css', 'wr-bootstrap2-icomoon-css', 'wr-jquery-ui-css', 'wr-jquery-tipsy-css', 'wr-bootstrap2-responsive-css', 'wr-contactform-css', 'wr-http-googlemaps-api-js', 'wr-googlemaps-ui-js', 'wr-googlemaps-services-js', 'wr-googlemaps-extensions-js', 'wr-contactform-submission-js');
WR_CF_Init_Assets::load($assets);
$submissionID = !empty($_GET['post']) ? (int) $_GET['post'] : '';
$dataSubmission = get_post($submissionID);
$formID = !empty($dataSubmission->post_content) ? (int) $dataSubmission->post_content : '';
if (empty($formID)) {
    header('Location: ' . get_admin_url() . 'edit.php?post_type=wr_cfsb_post_type');
    exit;
}
$formPostMeta = get_post_meta($formID);
$formContent = WR_Contactform_Helpers_Contactform::get_form_content($formID);
$submissionData = WR_Contactform_Helpers_Contactform::get_form_data($formID, $submissionID);
$submission = new stdClass();
if (!empty($submissionData)) {
    foreach ($submissionData as $sData) {
        if (empty($sData->field_id)) {
            $submission->{$sData->field_type} = $sData->submission_data_value;
        } else {
            $submission->{$sData->field_id} = $sData->submission_data_value;
        }
    }
}
?>
<div class="jsn-master">
示例#4
0
        echo ' checked="checked"';
    }
    ?>
 />
				<input <?php 
    $this->html_attributes(array('class', 'id', 'placeholder'));
    ?>
 />
				<?php 
    esc_html_e($label);
    ?>
			</label>
		</div>
	</li>
<?php 
    // Restore original attributes
    $this->attributes = $original_attrs;
}
?>
</ul>
<?php 
if ($this->sortable) {
    // Load Javascript assets and initialization if not already loaded
    if (!defined('WR_JQUERY_UI_SORTABLE_LOADED')) {
        define('WR_JQUERY_UI_SORTABLE_LOADED', true);
        WR_CF_Init_Assets::load(array('jquery-ui-sortable'));
    }
    $script = '
		$("#' . $this->get('id', null, true) . '").sortable({});';
    WR_CF_Init_Assets::inline('js', $script, true);
}
示例#5
0
 /**
  * Load necessary assets.
  *
  * @return  void
  */
 public static function load_assets()
 {
     global $pagenow;
     if (in_array($pagenow, array('edit.php', 'post.php', 'post-new.php'))) {
         $post_type = $pagenow == 'post.php' ? isset($_REQUEST['post']) ? get_post_type($_REQUEST['post']) : '' : (isset($_REQUEST['post_type']) ? $_REQUEST['post_type'] : '');
         if ($post_type == 'wr_cf_post_type' || $post_type == 'wr_cfsb_post_type') {
             // Load common assets
             $assets = WR_Contactform_Helpers_Contactform::load_asset_edit_form();
             self::insert_banner();
             add_filter('wr_contactform_form_edit_assets', array('WR_Contactform_Helpers_Contactform', 'load_asset_edit_form'));
             // Load additional assets for add/edit post page
             if ($pagenow == 'edit.php' and isset($_REQUEST['page']) and $_REQUEST['page'] == 'wr-sample-configuration') {
                 $assets = array_merge($assets, array());
             }
             if ($post_type != 'wr_cfsb_post_type' && $pagenow != 'edit.php') {
                 WR_CF_Init_Assets::load($assets);
             }
         }
         if ($post_type == 'wr_cf_post_type' && empty($_GET['page'])) {
             add_action('delete_post', array('WR_Contactform_Helpers_Hook', 'delete_form'));
             if ($pagenow == 'edit.php') {
                 add_filter('post_row_actions', array('WR_Contactform_Helpers_Hook', 'hook_action_view_forms'), 9, 2);
                 wp_enqueue_script('jquery');
                 $assets = array('wr-bootstrap2-css', 'wr-bootstrap2-jsn-gui-css', 'wr-jquery-ui-css', 'wr-contactform-css', 'wr-contactform-forms-js');
                 add_filter('admin_footer_text', array('WR_Contactform_Helpers_Contactform', 'get_footer'));
                 WR_CF_Init_Assets::load($assets);
             }
         }
         if ($post_type == 'wr_cfsb_post_type' && $pagenow == 'edit.php') {
             add_filter('admin_footer_text', array('WR_Contactform_Helpers_Contactform', 'get_footer'));
             wp_enqueue_script('jquery');
             wp_enqueue_script('jquery-ui');
             wp_enqueue_script('jquery-ui-dialog');
             $assets = array('wr-bootstrap2-css', 'wr-jquery-daterangepicker-bs2-css', 'wr-bootstrap2-jsn-gui-css', 'wr-jquery-ui-css', 'wr-contactform-css', 'wr-jquery-daterangepicker-js', 'wr-jquery-daterangepicker-moment-js', 'wr-contactform-submissions-js');
             WR_CF_Init_Assets::load($assets);
             add_filter('months_dropdown_results', array(__CLASS__, 'wr_contactform_remove_filter_date'), 10, 2);
             add_action('restrict_manage_posts', array('WR_Contactform_Helpers_Hook', 'submissions_restrict_manage_data'));
             add_action('pre_get_posts', array('WR_Contactform_Helpers_Hook', 'filter_posts'));
             add_action('delete_post', array('WR_Contactform_Helpers_Hook', 'delete_submission'));
             add_filter('views_edit-wr_cfsb_post_type', array('WR_Contactform_Helpers_Hook', 'wr_contactform_submissions_custom_view_count'), 10, 2);
         }
         if ($post_type == 'wr_cf_post_type' && $pagenow == 'post-new.php') {
             WR_CF_Init_Assets::load(array('wr-contactform-post-new-js'));
         }
     }
 }
示例#6
0
">
	<input type="text" <?php 
$this->html_attributes(array('id', 'type'));
?>
 />
	<span class="input-group-btn">
		<a href="javascript:void(0);" class="btn btn-default btn-sm" title="<?php 
_e('Pick Color', $this->text_domain);
?>
">...</a>
	</span>
<?php 
// Load Javascript assets and initialization if not already loaded
if (!defined('WR_COLOR_PICKER_INITIALIZED')) {
    define('WR_COLOR_PICKER_INITIALIZED', true);
    WR_CF_Init_Assets::load(array('wr-colpick-js', 'wr-colpick-css'));
    $script = '
		$(".wr-form-field-color-picker > input").each(function(i, e) {
			// Handle manual color input
			$(e).keypress(function() {
				if ($(e).val().substr(0, 1) != "#") {
					return;
				}

				if ($(e).val().length == 7) {
					$(e).next().find("a.btn").css({
						"background-color": $(e).val(),
						"color": $(e).val()
					}).colpickSetColor($(e).val().substr(1));
				}
			});