/** * display the widget * * * @param array $args * @param $instance * * @uses katb_get_options() user options from katb_functions.php * @uses katb_widget_get_testimonials() from this file * @uses katb_widget_schema_company_aggregate() from this file * @uses katb_widget_display_testimonial () from this file * */ public function widget($args, $instance) { //get user options global $katb_options; $katb_options = katb_get_options(); $company_name = sanitize_text_field($katb_options['katb_schema_company_name']); $company_website = esc_url($katb_options['katb_schema_company_url']); $use_aggregate_group_name = intval($katb_options['katb_use_group_name_for_aggregate']); $custom_aggregate_name = sanitize_text_field($katb_options['katb_custom_aggregate_review_name']); $use_schema = intval($katb_options['katb_use_schema']); $katb_tdata_array = array(); extract($args); echo $before_widget; $title = apply_filters('widget_title', $instance['katb_display_widget_title']); $group = sanitize_text_field($instance['katb_display_widget_group']); $number = sanitize_text_field($instance['katb_display_widget_number']); $by = sanitize_text_field($instance['katb_display_widget_by']); $rotate = sanitize_text_field($instance['katb_display_widget_rotate']); $ids = sanitize_text_field($instance['katb_display_widget_ids']); $layout_override = sanitize_text_field($instance['katb_display_widget_layout_override']); $schema_override = sanitize_text_field($instance['katb_display_widget_schema_override']); if ($rotate == 'yes') { $rotate = 1; } //schema override - change if yes or no do nothing if default if ($schema_override == 'yes') { $use_schema = 1; } elseif ($schema_override == 'no') { $use_schema = 0; } //display the title if (!empty($title)) { echo $before_title . $title . $after_title; } //get the testimonials $katb_tdata_array = katb_widget_get_testimonials($group, $number, $by, $ids); $katb_widget_tdata = $katb_tdata_array[0]; $katb_widget_tnumber = $katb_tdata_array[1]; $katb_widget_error = ""; if ($katb_widget_tnumber < 2 && $rotate == 1) { $katb_widget_error = esc_html__('You must have 2 approved testimonials to use a rotated display!', 'testimonial-basics'); } elseif ($katb_widget_tnumber == 0) { $katb_widget_error = esc_html__('There are no approved testimonials to display!', 'testimonial-basics'); } // Database queried //Lets display the selected testimonial(s) if ($katb_widget_error != '') { ?> <div class="katb_display_widget_error"><?php echo esc_attr($katb_widget_error); ?> </div> <?php } else { if ($use_schema == 1) { katb_widget_schema_company_aggregate($company_name, $company_website, $group, $use_aggregate_group_name, $custom_aggregate_name); } katb_widget_display_testimonial($use_schema, $katb_widget_tdata, $katb_widget_tnumber, $rotate, $group, $layout_override); if ($use_schema == 1) { ?> </div> <?php } } ?> <br style="clear:both;" /> <?php echo $after_widget; }
/** * Plugin register_setting() sanitize callback * * Validate and whitelist user-input data before updating Theme * Options in the database. Only whitelisted options are passed * back to the database, and user-input data for all whitelisted * options are sanitized. * * @link http://codex.wordpress.org/Data_Validation Codex Reference: Data Validation * * @param array $input Raw user-input data submitted via the Theme Settings page * * @uses katb_get_options(); found in /includes/katb_functions.php * @uses katb_get_settings_by_tab() found in this file * @uses katb_get_option_parameters() found in this file * @uses katb_get_option_defaults() found in this file * @uses katb_get_settings_page_tabs() found in this file * * @return $valid_input Sanitized user-input data passed to the database */ function katb_validate_options($input) { // This is the "whitelist": current settings $valid_input = katb_get_options(); // Get the array of Theme settings, by Settings Page tab $settingsbytab = katb_get_settings_by_tab(); // Get the array of option parameters $option_parameters = katb_get_option_parameters(); // Get the array of option defaults $option_defaults = katb_get_option_defaults(); // Get list of tabs $tabs = katb_get_settings_page_tabs(); //array for possible errors $katb_input_error = array(); // Determine what type of submit was input $submittype = 'submit'; foreach ($tabs as $tab) { $resetname = 'reset-' . $tab['name']; if (!empty($input[$resetname])) { $submittype = 'reset'; } } // Determine what tab was input $submittab = 'general'; foreach ($tabs as $tab) { $submitname = 'submit-' . $tab['name']; $resetname = 'reset-' . $tab['name']; if (!empty($input[$submitname]) || !empty($input[$resetname])) { $submittab = $tab['name']; } } // Get settings by tab $tabsettings = $settingsbytab[$submittab]; // Loop through each tab setting foreach ($tabsettings as $setting) { // If no option is selected, set the default $valid_input[$setting] = !isset($input[$setting]) ? $option_defaults[$setting] : $input[$setting]; // If submit, validate/sanitize $input if ('submit' == $submittype) { // Get the setting details from the defaults array $optiondetails = $option_parameters[$setting]; // Get the array of valid options, if applicable $valid_options = isset($optiondetails['valid_options']) ? $optiondetails['valid_options'] : false; // Validate checkbox fields if ('checkbox' == $optiondetails['type']) { // If input value is set and is true, return true; otherwise return false $valid_input[$setting] = isset($input[$setting]) && true == $input[$setting] ? true : false; } else { if ('radio' == $optiondetails['type']) { // Only update setting if input value is in the list of valid options $valid_input[$setting] = array_key_exists($input[$setting], $valid_options) ? $input[$setting] : $valid_input[$setting]; } else { if ('select' == $optiondetails['type']) { // Only update setting if input value is in the list of valid options $valid_input[$setting] = array_key_exists($input[$setting], $valid_options) ? $input[$setting] : $valid_input[$setting]; } else { if ('text' == $optiondetails['type'] || 'textarea' == $optiondetails['type']) { // Validate no-HTML content if ('nohtml' == $optiondetails['class']) { // Pass input data through the wp_filter_nohtml_kses filter $valid_input[$setting] = wp_filter_nohtml_kses($input[$setting]); } else { if ('html' == $optiondetails['class']) { // Pass input data through the wp_filter_kses filter $valid_input[$setting] = wp_filter_post_kses($input[$setting]); } else { if ('url' == $optiondetails['class'] || 'img' == $optiondetails['class']) { //eliminate invalid and dangerous characters $valid_input[$setting] = esc_url($valid_input[$setting]); } else { if ('email' == $optiondetails['class']) { if ($valid_input[$setting] !== '') { $valid_input[$setting] = sanitize_email($valid_input[$setting]); if ($valid_input[$setting] == '') { add_settings_error($setting, 'katb_email_error', 'Please enter a valid e-mail - blank returned', 'error'); } } if ($valid_input[$setting] !== '' && !is_email($valid_input[$setting])) { $valid_input[$setting] = ''; add_settings_error($setting, 'katb_email_error', 'Please enter a valid e-mail - blank returned', 'error'); } } else { if ('ka_color' == $optiondetails['class']) { $valid_input[$setting] = trim($valid_input[$setting]); // trim whitespace if ($valid_input[$setting] == "") { $valid_input[$setting] = $option_defaults[$setting]; } if (substr($valid_input[$setting], 0, 1) !== '#') { $valid_input[$setting] = '#' . $valid_input[$setting]; } if (!preg_match('/^#[a-f0-9]{6}$/i', $valid_input[$setting])) { //hex color is valid $valid_input[$setting] = $option_defaults[$setting]; add_settings_error($setting, 'katb_hex_color_error', 'Please enter a valid Hex Color Number-default returned.', 'error'); } } else { if ('css' == $optiondetails['class']) { $valid_input[$setting] = wp_filter_nohtml_kses($valid_input[$setting]); // css validation } else { // Catch all //Pass input data through the wp_filter_kses filter $valid_input[$setting] = wp_filter_kses($input[$setting]); } } } } } } } } } } } elseif ('reset' == $submittype) { // Set $setting to the default value $valid_input[$setting] = $option_defaults[$setting]; } } return $valid_input; }
/** ------------------- Display Widget ------------------------------------------- * The input form for the testimonial widget is loaded. The visitor inputs a testimonial * and clicks the submit button and the testimonial is submitted to the database * and the admin user is notified by email that they have a testimonial to review * and approve. If admin user can specify if a captcha is used to help in validation. * * @param array $arg array of global theme values * @param array $instance array of widget form values * * @uses katb_get_options user options from /includes/katb_functions.php * @uses katb_allowed_html() for allowed tags from /includes/katb_functions.php * *-------------------------------------------------------------------------------- */ public function widget($args, $instance) { //Get user options $katb_options = katb_get_options(); $include_widget_email_note = $katb_options['katb_include_widget_email_note']; $widget_email_note = $katb_options['katb_widget_email_note']; $author_label_widget = $katb_options['katb_widget_author_label']; $email_label_widget = $katb_options['katb_widget_email_label']; $website_label_widget = $katb_options['katb_widget_website_label']; $location_label_widget = $katb_options['katb_widget_location_label']; $rating_label_widget = $katb_options['katb_widget_rating_label']; $testimonial_label_widget = $katb_options['katb_widget_testimonial_label']; $widget_captcha_label = $katb_options['katb_widget_captcha_label']; $submit_label_widget = $katb_options['katb_widget_submit_label']; $reset_label_widget = $katb_options['katb_widget_reset_label']; $exclude_website = $katb_options['katb_exclude_website_input']; $require_website = $katb_options['katb_require_website_input']; $exclude_location = $katb_options['katb_exclude_location_input']; $require_location = $katb_options['katb_require_location_input']; $use_ratings = $katb_options['katb_use_ratings']; $use_css_ratings = $katb_options['katb_use_css_ratings']; $auto_approve = $katb_options['katb_auto_approve']; $use_widget_popup = $katb_options['katb_use_widget_popup_message']; $labels_above = $katb_options['katb_widget_labels_above']; $widget_required_label = $katb_options['katb_widget_required_label']; $katb_widget_rating = '0.0'; //Get the widget title and display extract($args); echo $before_widget; $title = apply_filters('widget_title', $instance['katb_input_widget_title']); if (!empty($title)) { echo $before_title . esc_html($title) . $after_title; } //Set up database table name for use later global $wpdb, $tablename; $tablename = $wpdb->prefix . 'testimonial_basics'; //Initialize Variables if ($labels_above != 1) { $katb_widget_author = $author_label_widget; $katb_widget_email = $email_label_widget; $katb_widget_website = $website_label_widget; $katb_widget_location = $location_label_widget; $katb_widget_testimonial = $testimonial_label_widget; } else { $katb_widget_author = ''; $katb_widget_email = ''; $katb_widget_website = ''; $katb_widget_location = ''; $katb_widget_testimonial = ''; } $katb_allowed_html = katb_allowed_html(); $katb_widget_input_group = esc_attr($instance['katb_input_widget_group']); if ($katb_widget_input_group == '') { $katb_widget_input_group = 'All'; } $katb_widget_input_form_no = esc_attr($instance['katb_input_widget_form_no']); if ($katb_widget_input_form_no == '') { $katb_widget_input_form_no = '1'; } $post_name = 'widget_submitted' . $katb_widget_input_form_no; $reset_name = 'widget_reset' . $katb_widget_input_form_no; //Process input form if (isset($_POST[$post_name]) && wp_verify_nonce($_POST['katb_widget_form_nonce'], 'katb_nonce_2')) { //Validate Input //initialize error string $katb_widget_html_error = ''; $katb_widget_popup_error = ''; //Set default variables $katb_widget_order = ""; if ($auto_approve == 1) { $katb_widget_approved = 1; } else { $katb_widget_approved = 0; } $katb_widget_datetime = current_time('mysql'); //validate author $katb_widget_author = sanitize_text_field($_POST['tb_author']); if ($katb_widget_author == $author_label_widget || $katb_widget_author == '') { $katb_widget_html_error .= '<br/> - ' . __('Author required', 'testimonial-basics'); $katb_widget_popup_error .= '\\n - ' . __('Author required', 'testimonial-basics'); if ($labels_above == 1) { $katb_widget_author = ''; } else { $katb_widget_author = $author_label_widget; } } //validate email $katb_widget_email = sanitize_email($_POST['tb_email']); if (!is_email($katb_widget_email)) { $katb_widget_html_error .= '<br/> - ' . __('Valid email required ', 'testimonial-basics'); $katb_widget_popup_error .= '\\n - ' . __('Valid email required ', 'testimonial-basics'); if ($labels_above == 1) { $katb_widget_email = ''; } else { $katb_widget_email = $email_label_widget; } } //validate website if ($exclude_website != 1) { $katb_widget_website = trim($_POST['tb_website']); if ($katb_widget_website != '' && $katb_widget_website != $website_label_widget) { $katb_widget_website = esc_url($katb_widget_website); } else { if ($require_website == 1) { $katb_widget_html_error .= '<br/> - ' . __('Website required ', 'testimonial-basics'); $katb_widget_popup_error .= '\\n - ' . __('Website required ', 'testimonial-basics'); } $katb_widget_website = $website_label_widget; } } else { $katb_widget_website = ''; } //validate location if ($exclude_location != 1) { $katb_widget_location = trim($_POST['tb_location']); if ($katb_widget_location != '' && $katb_widget_location != $location_label_widget) { $katb_widget_location = sanitize_text_field($katb_widget_location); } else { if ($require_location == 1) { $katb_widget_html_error .= '<br/> - ' . __('Location required ', 'testimonial-basics'); $katb_widget_popup_error .= '\\n - ' . __('Location required ', 'testimonial-basics'); } $katb_widget_location = $location_label_widget; } } else { $katb_widget_website = ''; } //validate rating if ($use_ratings == 1) { $katb_widget_rating = sanitize_text_field($_POST['tb_rating_widget']); if ($katb_widget_rating == '') { $katb_widget_rating = '0.0'; } if ($katb_widget_rating == '1') { $katb_widget_rating = '1.0'; } if ($katb_widget_rating == '2') { $katb_widget_rating = '2.0'; } if ($katb_widget_rating == '3') { $katb_widget_rating = '3.0'; } if ($katb_widget_rating == '4') { $katb_widget_rating = '4.0'; } if ($katb_widget_rating == '5') { $katb_widget_rating = '5.0'; } if ($katb_widget_rating == '0') { $katb_widget_rating = '0.0'; } } //validate testimonial $katb_widget_testimonial = wp_kses($_POST['tb_testimonial'], $katb_allowed_html); //$katb_widget_testimonial = wp_kses_post( $_POST['tb_testimonial'] ); if ($katb_widget_testimonial == $testimonial_label_widget || $katb_widget_testimonial == "") { $katb_widget_html_error .= '<br/> - ' . __('Testimonial required', 'testimonial-basics'); $katb_widget_popup_error .= '\\n - ' . __('Testimonial required', 'testimonial-basics'); if ($labels_above != 1) { $katb_widget_testimonial = $testimonial_label_widget; } else { $katb_widget_testimonial = ''; } } //Captcha Validation if ($katb_options['katb_use_captcha'] == TRUE || $katb_options['katb_use_captcha'] == 1) { $katb_captcha_entered = sanitize_text_field($_POST['verify']); if ($_SESSION['katb_pass_phrase'] !== sha1($katb_captcha_entered)) { $katb_widget_html_error .= '<br/> - ' . __('Captcha invalid', 'testimonial-basics'); $katb_widget_popup_error .= '\\n - ' . __('Captcha invalid', 'testimonial-basics'); } } //Validation complete if ($katb_widget_html_error == '' && $katb_widget_popup_error == '') { if ($katb_widget_website == $website_label_widget) { $katb_widget_website = ''; } if ($katb_widget_location == $location_label_widget) { $katb_widget_location = ''; } //OK $error is empty so let's update the database $values = array('tb_date' => $katb_widget_datetime, 'tb_order' => $katb_widget_order, 'tb_approved' => $katb_widget_approved, 'tb_group' => $katb_widget_input_group, 'tb_name' => $katb_widget_author, 'tb_email' => $katb_widget_email, 'tb_location' => $katb_widget_location, 'tb_url' => $katb_widget_website, 'tb_pic_url' => '', 'tb_rating' => $katb_widget_rating, 'tb_testimonial' => $katb_widget_testimonial); $formats_values = array('%s', '%d', '%d', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s'); $wpdb->insert($tablename, $values, $formats_values); //send email if (isset($katb_options['katb_contact_email']) && $katb_options['katb_contact_email'] != '') { $emailTo = $katb_options['katb_contact_email']; } else { $emailTo = get_option('admin_email'); } $subject = __('You have received a testimonial!', 'testimonial-basics'); $body = __('Name: ', 'testimonial-basics') . ' ' . stripcslashes($katb_widget_author) . "<br/><br/>" . __('Email: ', 'testimonial-basics') . ' ' . stripcslashes($katb_widget_email) . "<br/><br/>" . __('Comments: ', 'testimonial-basics') . "<br/><br/>" . stripcslashes($katb_widget_testimonial) . "<br/><br/>" . __('Log in to approve or view it:', 'testimonial-basics') . '<a href="' . site_url("/wp-login.php") . '" title="your site login">Log In</a>'; $headers = 'From: ' . stripcslashes($katb_widget_author) . ' <' . stripcslashes($katb_widget_email) . '>'; add_filter('wp_mail_content_type', create_function('', 'return "text/html";')); wp_mail($emailTo, $subject, $body, $headers); $_SESSION['katb_widget_submitted'] = SHA1('true'); //Initialize Variables if ($labels_above != 1) { $katb_widget_author = $author_label_widget; $katb_widget_email = $email_label_widget; $katb_widget_website = $website_label_widget; $katb_widget_location = $location_label_widget; $katb_widget_testimonial = $testimonial_label_widget; } else { $katb_widget_author = ''; $katb_widget_email = ''; $katb_widget_website = ''; $katb_widget_location = ''; $katb_widget_testimonial = ''; } $katb_widget_rating = '0.0'; } else { if ($use_widget_popup == 1) { $widget_error_message = __('There were errors so the testimonial was not added: ', 'testimonial-basics') . '\\n' . $katb_widget_popup_error; ?> <script>alert('<?php echo $widget_error_message; ?> ')</script> <?php } else { echo '<div class="katb_widget_error">' . __('Error', 'testimonial-basics') . $katb_widget_html_error . '</div>'; } if ($katb_widget_website == '') { $katb_widget_website = $website_label_widget; } if ($katb_widget_location == '') { $katb_widget_location = $location_label_widget; } } } /* ---------- Reset button is clicked ---------------- */ if (isset($_POST[$reset_name])) { $katb_widget_author = $author_label_widget; $katb_widget_email = $email_label_widget; $katb_widget_website = $website_label_widget; $katb_widget_location = $location_label_widget; $katb_widget_testimonial = $testimonial_label_widget; $katb_widget_rating = '0.0'; } ?> <div class="katb_widget_form"> <?php if ($include_widget_email_note == 1) { ?> <p><?php echo esc_attr(stripslashes($widget_email_note)); ?> </p> <?php } ?> <form method="POST"> <?php wp_nonce_field("katb_nonce_2", "katb_widget_form_nonce"); ?> <?php if ($labels_above == 1) { echo '<label class="katb_widget_input_label">' . esc_attr($author_label_widget) . '</label>'; } ?> <input class="katb_input" type="text" name="tb_author" value="<?php echo esc_attr($katb_widget_author); ?> " /> <?php if ($labels_above == 1) { echo '<label class="katb_widget_input_label">' . esc_attr($email_label_widget) . '</label>'; } ?> <input class="katb_input" type="text" name="tb_email" value="<?php echo esc_attr($katb_widget_email); ?> " /> <?php if ($exclude_website != 1) { ?> <?php if ($labels_above == 1) { echo '<label class="katb_widget_input_label">' . esc_attr($website_label_widget) . '</label>'; } ?> <input class="katb_input" type="text" name="tb_website" value="<?php echo esc_attr($katb_widget_website); ?> " /> <?php } if ($exclude_location != 1) { ?> <?php if ($labels_above == 1) { echo '<label class="katb_widget_input_label">' . esc_attr($location_label_widget) . '</label>'; } ?> <input class="katb_input" type="text" name="tb_location" value="<?php echo esc_attr($katb_widget_location); ?> " /> <?php } if ($use_ratings == 1) { if ($use_css_ratings != 1) { ?> <label class="katb_widget_input_label"><?php echo esc_attr($rating_label_widget); ?> </label> <input type="range" min="0" max="5" value="<?php echo $katb_widget_rating; ?> " step="0.5" name="tb_rating_widget" id="katb_widget_rateit_input_<?php echo $katb_widget_input_form_no; ?> " class="katb_widget_rating_input"> <div class="rateit katb_widget_input_rating" data-rateit-backingfld="#katb_widget_rateit_input_<?php echo $katb_widget_input_form_no; ?> "></div> <?php } else { ?> <label class="katb_widget_input_label"><?php echo esc_attr($rating_label_widget); ?> </label> <select name="tb_rating_widget" class="katb_css_rating_select_widget"> <option <?php selected($katb_widget_rating); ?> value="<?php echo $katb_widget_rating; ?> "><?php echo $katb_widget_rating; ?> </option> <option value="0.0" <?php selected(esc_attr($katb_widget_rating), "0.0"); ?> >0.0</option> <option value="0.5" <?php selected(esc_attr($katb_widget_rating), "0.5"); ?> >0.5</option> <option value="1.0" <?php selected(esc_attr($katb_widget_rating), "1.0"); ?> >1.0</option> <option value="1.5" <?php selected(esc_attr($katb_widget_rating), "1.5"); ?> >1.5</option> <option value="2.0" <?php selected(esc_attr($katb_widget_rating), "2.0"); ?> >2.0</option> <option value="2.5" <?php selected(esc_attr($katb_widget_rating), "2.5"); ?> >2.5</option> <option value="3.0" <?php selected(esc_attr($katb_widget_rating), "3.0"); ?> >3.0</option> <option value="3.5" <?php selected(esc_attr($katb_widget_rating), "3.5"); ?> >3.5</option> <option value="4.0" <?php selected(esc_attr($katb_widget_rating), "4.0"); ?> >4.0</option> <option value="4.5" <?php selected(esc_attr($katb_widget_rating), "4.5"); ?> >4.5</option> <option value="5.0" <?php selected(esc_attr($katb_widget_rating), "5.0"); ?> >5.0</option> </select> <?php } } ?> <?php if ($labels_above == 1) { echo '<br/><label class="katb_widget_input_label">' . esc_attr($testimonial_label_widget) . '</label>'; } ?> <textarea name="tb_testimonial" rows="5" ><?php echo esc_attr($katb_widget_testimonial); ?> </textarea> <?php if ($katb_options['katb_show_html_widget'] == TRUE || $katb_options['katb_show_html_widget'] == 1) { echo '<p>HTML: <code>a p br i em strong q h1-h6</code></p>'; } if ($katb_options['katb_use_captcha'] == TRUE || $katb_options['katb_use_captcha'] == 1) { ?> <div class="katb_widget_captcha"> <?php if ($katb_options['katb_use_color_captcha_2'] == TRUE || $katb_options['katb_use_color_captcha_2'] == 1) { echo katb_color_captcha_2(); } elseif ($katb_options['katb_use_color_captcha'] == TRUE || $katb_options['katb_use_color_captcha'] == 1) { ?> <img src="<?php echo site_url(); ?> /wp-content/plugins/testimonial-basics/includes/katb_captcha_color.php" alt="Verification Captcha" /> <?php } else { ?> <img src="<?php echo site_url(); ?> /wp-content/plugins/testimonial-basics/includes/katb_captcha_bw.php" alt="Verification Captcha" /> <?php } ?> <input class="katb_captcha_widget_input" type="text" id="verify" name="verify" value="<?php echo $widget_captcha_label; ?> " onclick="this.select();" /><br/> </div> <?php } ?> <input class="katb_widget_submit" type="submit" name="<?php echo $post_name; ?> " value="<?php echo esc_attr($submit_label_widget); ?> " /> <input class="katb_widget_reset" type="submit" name="<?php echo $reset_name; ?> " value="<?php echo esc_attr($reset_label_widget); ?> " /> </form> <?php if ($widget_required_label != '') { echo '<div class="katb_clear_fix"></div><p>' . esc_attr($widget_required_label) . '</p>'; } ?> <div class="katb_clear_fix"></div> <?php if ($katb_options['katb_show_widget_gravatar_link'] == 1) { ?> <span class="katb_use_gravatar_wrap"> <span class="use_gravatar"><?php _e('Add a Photo? ', 'testimonial-basics'); ?> </span> <a href="https://en.gravatar.com/" title="Gravatar Site" target="_blank" > <img class="gravatar_logo" src="<?php echo plugins_url(); ?> /testimonial-basics/includes/Gravatar80x16.jpg" alt="Gravatar Website" title="Gravatar Website" /> </a> </span> <?php } ?> </div> <?php echo '<br style="clear:both;" />'; echo $after_widget; if (isset($_SESSION['katb_widget_submitted']) && $_SESSION['katb_widget_submitted'] == SHA1('true')) { //Optional supmitted popup message if ($use_widget_popup == 1) { ?> <script type="text/javascript"><?php echo 'alert("' . __("Testimonial Submitted - Thank You!", "testimonial-basics") . '")'; ?> </script> <?php } else { echo '<div class="katb_widget_sent">' . __('Testimonial Submitted - Thank You!', 'testimonial-basics') . '</div>'; } $_SESSION['katb_widget_submitted'] = SHA1('false'); } }
/** ------------- Enqueue Scripts --------------------------------------- * * Loads the excerpt, rotator, and ratings script if required * * @uses katb_get_options() from katb_functions.php * * ----------------------------------------------------------------------- */ function katb_load_scripts() { $katb_options = katb_get_options(); if ($katb_options['katb_widget_use_excerpts'] == 1 || $katb_options['katb_use_excerpts'] == 1) { wp_enqueue_script('testimonial_basics_excerpt_js', plugins_url() . '/testimonial-basics/js/katb_excerpt_doc_ready.js', array('jquery'), '1.0.0', true); } if ($katb_options['katb_enable_rotator'] != 0) { wp_enqueue_script('testimonial_basics_rotator_js', plugins_url() . '/testimonial-basics/js/katb_rotator_doc_ready.js', array('jquery'), '1.0.0', true); wp_enqueue_script('jquery-effects-slide'); } if ($katb_options['katb_use_ratings'] == 1 && $katb_options['katb_use_css_ratings'] != 1) { wp_enqueue_script('testimonial_basics_rateit_js', plugins_url() . '/testimonial-basics/js/rateit/jquery.rateit.min.js', array('jquery'), '1.0.0', true); } }
/** * This function provides the meta for the left box of the side meta layout * for the testimonial * * @param string $i is the testimonial count in the loop * @param array $katb_tdata is the testimonial data * @param boolean $use_schema * * @uses katb_get_options() user options from katb_functions.php * * @return $meta_side html string */ function katb_meta_side($i, $katb_tdata, $use_schema) { //get user options $katb_options = katb_get_options(); $meta_side = ''; $meta_side .= '<div class="katb_meta_side">'; //author if ($use_schema != 1) { $meta_side .= '<span class="katb_author">' . sanitize_text_field(stripcslashes($katb_tdata[$i]['tb_name'])) . '</span>'; } else { $meta_side .= '<div itemprop="author" itemscope itemtype="http://schema.org/Person">'; $meta_side .= '<span class="katb_author" itemprop="name">' . sanitize_text_field(stripcslashes($katb_tdata[$i]['tb_name'])) . '</span></div>'; } //location if ($katb_options['katb_show_location'] == 1 && $katb_tdata[$i]['tb_location'] != '') { $meta_side .= '<br/><span class="katb_location">' . sanitize_text_field(stripcslashes($katb_tdata[$i]['tb_location'])) . '</span>'; } //website if ($katb_options['katb_show_website'] == 1 && $katb_tdata[$i]['tb_url'] != '') { $meta_side .= '<br/><span class="katb_website"><a href="' . esc_url($katb_tdata[$i]['tb_url']) . '" title="' . esc_url($katb_tdata[$i]['tb_url']) . '" target="_blank" >Website</a></span>'; } //date if ($katb_options['katb_show_date'] == 1) { $katb_date = sanitize_text_field($katb_tdata[$i]['tb_date']); if ($use_schema != 1) { $meta_side .= '<br/><span class="katb_date">' . mysql2date(get_option('date_format'), $katb_date) . '</span>'; } else { $meta_side .= '<span class="katb_date">'; $meta_side .= '<meta itemprop="datePublished" content="' . mysql2date('Y-m-d', $katb_date) . '">'; $meta_side .= ' ' . mysql2date('Y-m-d', $katb_date) . '</span>'; } } $meta_side .= '</div>'; return $meta_side; }
/** * Enqueues front-end CSS for themeslug Theme * modified from Twenty Fifteen 1.0 * @see wp_add_inline_style() to use this function to append the * custom styles to style.css * * bring your options into this function to set up your conditional css * */ function katb_custom_css() { $katb_options = katb_get_options(); $katb_css = ''; $katb_css .= '/* ==== Testimonial Basics Custom Styles ==== */'; //Content Custom Styles if ($katb_options['katb_use_italic_style'] == 1) { $katb_css .= '.katb_test_text,.katb_test_text_basic {font-style: italic;}'; } $katb_css .= '.katb_test_box,.katb_test_box_basic,'; $katb_css .= '.katb_test_box_side_meta,.katb_test_box_basic_side_meta,'; $katb_css .= '.katb_test_box_side_meta,.katb_test_box_basic_side_meta,'; $katb_css .= '.katb_schema_summary_box_basic,.katb_schema_summary_box_basic_side_meta,'; $katb_css .= '.katb_schema_summary_box,.katb_schema_summary_box_side_meta,'; $katb_css .= '.katb_paginate'; $katb_css .= '{ font-size: ' . esc_html($katb_options['katb_content_font_size']) . '; }'; if ($katb_options['katb_content_font'] != 'default font') { $katb_css .= '.katb_test_wrap *,.katb_test_wrap_basic *,'; $katb_css .= '.katb_test_wrap_side_meta *,.katb_test_wrap_basic_side_meta *,'; $katb_css .= '.katb_popup_wrap.katb_content *,.katb_paginate *,'; $katb_css .= '.katb_schema_summary_wrap *,.katb_schema_summary_wrap *'; $katb_css .= '{ font-family: ' . sanitize_text_field($katb_options['katb_content_font']) . ';}'; } else { $katb_css .= '.katb_test_wrap *,.katb_test_wrap_basic *,'; $katb_css .= '.katb_test_wrap_side_meta *,.katb_test_wrap_basic_side_meta *,'; $katb_css .= '.katb_popup_wrap.katb_content *,'; $katb_css .= '.katb_schema_summary_wrap *,.katb_paginate *'; $katb_css .= '{ font-family: inherit; }'; } $katb_css .= '.katb_test_wrap,.katb_schema_summary_wrap,'; $katb_css .= '.katb_test_wrap_side_meta .katb_left_box,'; $katb_css .= '.katb_schema_summary_box_side_meta .katb_schema_company_wrap_side_meta'; $katb_css .= '{ background-color: ' . esc_html($katb_options['katb_background_wrap_color']) . ';'; $katb_css .= 'color: ' . esc_html($katb_options['katb_testimonial_box_font_color']) . ';}'; $katb_css .= '.katb_test_box,.katb_schema_summary_box,'; $katb_css .= '.katb_test_wrap_side_meta .katb_right_box,'; $katb_css .= '.katb_schema_summary_box_side_meta .katb_aggregate_wrap_side_meta,'; $katb_css .= '.katb_test_text *'; $katb_css .= '{background-color: ' . esc_html($katb_options['katb_testimonial_box_color']) . ';'; $katb_css .= 'color: ' . esc_html($katb_options['katb_testimonial_box_font_color']) . '!important; }'; $katb_css .= '.katb_test_text h1,.katb_test_text h2,'; $katb_css .= '.katb_test_text h3,.katb_test_text h4,.katb_test_text h5,.katb_test_text h6 {'; $katb_css .= 'color: ' . esc_html($katb_options['katb_testimonial_box_font_color']) . '!important; }'; $katb_css .= '/*author,location, and date custom colors */'; $katb_css .= '.katb_test_box .katb_author,.katb_test_box_side_meta .katb_author,'; $katb_css .= '.katb_test_box .katb_date,.katb_test_box_side_meta .katb_date,'; $katb_css .= '.katb_test_box .katb_location,.katb_test_box_side_meta .katb_location'; $katb_css .= '{color: ' . esc_html($katb_options['katb_author_location_color']) . '!important; }'; $katb_css .= '.katb_test_box a,.katb_schema_summary_box a,.katb_test_box_side_meta a,'; $katb_css .= '.katb_schema_summary_box_side_meta a'; $katb_css .= '{color: ' . esc_html($katb_options['katb_website_link_color']) . '!important;}'; $katb_css .= '.katb_test_box a:hover,.katb_schema_summary_box a:hover ,.katb_test_box_side_meta a:hover,'; $katb_css .= '.katb_schema_summary_box_side_meta a:hover'; $katb_css .= '{color: ' . esc_html($katb_options['katb_website_link_hover_color']) . '!important; }'; $katb_css .= '.katb_paginate input {'; $katb_css .= 'background-color: ' . esc_html($katb_options['katb_testimonial_box_color']) . '!important;'; $katb_css .= 'color: ' . esc_html($katb_options['katb_testimonial_box_font_color']) . '!important;'; $katb_css .= 'font-size: ' . esc_html($katb_options['katb_content_font_size']) . '!important; }'; $katb_css .= '.katb_input_style '; $katb_css .= '{font-size: ' . esc_html($katb_options['katb_content_input_font_size']) . '!important; }'; // Widget Display Custom Styles if ($katb_options['katb_widget_use_italic_style'] == 1) { $katb_css .= '.katb_widget_text,.katb_widget_text_basic {font-style: italic;}'; } $katb_css .= '.katb_widget_box,.katb_widget_box_basic,'; $katb_css .= '.katb_widget_rotator_box,.katb_widget_rotator_box_basic'; $katb_css .= '{ font-size: ' . esc_html($katb_options['katb_widget_font_size']) . ' }'; if ($katb_options['katb_widget_font'] != 'default font') { $katb_css .= '.katb_widget_wrap *,.katb_widget_wrap_basic *,'; $katb_css .= '.katb_widget_rotator_wrap *,.katb_widget_rotator_wrap_basic *,'; $katb_css .= '.katb_popup_wrap.katb_widget *'; $katb_css .= '{ font-family: ' . sanitize_text_field($katb_options['katb_widget_font']) . '; }'; } else { $katb_css .= '.katb_widget_wrap *,.katb_widget_wrap_basic *,'; $katb_css .= '.katb_widget_rotator_wrap *,.katb_widget_rotator_wrap_basic *,'; $katb_css .= '.katb_popup_wrap.katb_widget *'; $katb_css .= '{ font-family: inherit; }'; } $katb_css .= '.katb_widget_rotator_wrap,.katb_widget_box {'; $katb_css .= 'background-color: ' . esc_html($katb_options['katb_widget_background_color']) . '; }'; $katb_css .= '.katb_widget_rotator_wrap .katb_widget_title_bar,'; $katb_css .= '.katb_widget_wrap .katb_widget_title_bar,'; $katb_css .= '.katb_widget_text * '; $katb_css .= '{ color: ' . esc_html($katb_options['katb_widget_font_color']) . '!important;}'; $katb_css .= '.katb_widget_box .katb_widget_meta_bottom,.katb_widget_box .katb_widget_meta_top,'; $katb_css .= '.katb_widget_box .katb_widget_meta_above_or_below,.katb_widget_rotator_box .katb_widget_meta_bottom,'; $katb_css .= '.katb_widget_rotator_box .katb_widget_meta_top,.katb_widget_rotator_box .katb_widget_meta_above_or_below '; $katb_css .= '{color: ' . esc_html($katb_options['katb_widget_author_location_color']) . ';}'; $katb_css .= '.katb_widget_box a,.katb_widget_rotator_box a '; $katb_css .= '{color: ' . esc_html($katb_options['katb_widget_website_link_color']) . '!important;}'; $katb_css .= '.katb_widget_box a:hover,.katb_widget_rotator_box a:hover '; $katb_css .= '{color: ' . esc_html($katb_options['katb_widget_website_link_hover_color']) . '!important;}'; $katb_css .= '.katb_widget_box .katb_image_meta_bottom,'; $katb_css .= '.katb_widget_rotator_box .katb_image_meta_bottom,'; $katb_css .= '.katb_widget_box .katb_centered_image_meta_bottom,'; $katb_css .= '.katb_widget_rotator_box .katb_centered_image_meta_bottom'; $katb_css .= '{ border-top: 1px solid ' . esc_html($katb_options['katb_widget_divider_color']) . '; }'; $katb_css .= '.katb_widget_box .katb_image_meta_top,'; $katb_css .= '.katb_widget_rotator_box .katb_image_meta_top,'; $katb_css .= '.katb_widget_box .katb_centered_image_meta_top,'; $katb_css .= '.katb_widget_rotator_box .katb_centered_image_meta_top'; $katb_css .= '{border-bottom: 1px solid ' . esc_html($katb_options['katb_widget_divider_color']) . '; }'; //* Widget Input Form $katb_css .= '.katb_widget_form {'; $katb_css .= 'font-size: ' . esc_html($katb_options['katb_widget_input_font_size']) . '!important; }'; //Other Custom Styles if ($katb_options['katb_use_css_ratings'] == 1) { $shadow_color = katb_hex_to_rgba(esc_html($katb_options['katb_star_shadow_color'])); $katb_css .= '.katb_css_rating i { '; $katb_css .= 'color: ' . esc_html($katb_options['katb_star_color']) . '!important;'; $katb_css .= 'text-shadow: 2px 2px 2px rgba( ' . $shadow_color[0] . ',' . $shadow_color[1] . ',' . $shadow_color[2] . ',0.5 )!important;}'; } $katb_css .= wp_filter_nohtml_kses($katb_options['katb_custom_css']); return $katb_css; }