/** * 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); }
/** * 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">
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); }
/** * 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')); } } }
"> <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)); } });