/** ---------------- katb_testimonial_basics_edit_page ----------------------------- * called from the add_submenu_page * This is the edit testimonials section that displays all the testimonials and * allows the user to add, edit,delete, and approve testimonials * * @uses katb_get_options() found in /includes/katb_functions.php * @uses katb_intro_html(); found in this file * @uses katb_offset_setup found in /includes/katb_functions.php * @uses katb_setup_pagination() found in /includes/katb_functions.php * @uses katb_display_pagination() found in /includes/katb_functions.php * * */ function katb_testimonial_basics_edit_page() { global $wpdb, $tablename; $tablename = $wpdb->prefix . 'testimonial_basics'; //get user options $katb_options = katb_get_options(); $use_ratings = $katb_options['katb_use_ratings']; //setup pagination $katb_admin_offset_name = home_url() . 'katb_admin_offset'; $katb_items_per_page = 10; //submit testimonial if (isset($_POST['submitted']) && check_admin_referer('katb_nonce_3', 'katb_admin_form_nonce')) { //Validate Input $error = ""; $katb_id = $_POST['tb_id']; // Order must be an integer $katb_order = trim($_POST['tb_order']); if ($katb_order != "") { if (is_numeric($katb_order) == FALSE) { $katb_order = ""; $error .= '*' . esc_html__('Order must be a integer', 'testimonial-basics') . '*'; } } //Approved is either checked (1) or not checked (0) if (!isset($_POST['tb_approved'])) { $katb_approved = 0; } else { $katb_approved = 1; } //group validation $katb_group = sanitize_text_field(trim($_POST['tb_group'])); //author validation $katb_author = sanitize_text_field(trim($_POST['tb_author'])); if ($katb_author == "") { $error .= '*' . esc_html__('Author is required', 'testimonial-basics') . '*'; } //website validation $katb_website = trim($_POST['tb_website']); if ($katb_website != '') { $katb_website = esc_url($_POST['tb_website']); } if ($katb_website == 'http://') { $katb_website = ''; } //location validation $katb_location = sanitize_text_field(trim($_POST['tb_location'])); //email validation $katb_email = sanitize_email(trim($_POST['tb_email'])); if (!is_email($katb_email) && $katb_email != '') { $error .= '*' . esc_html__('Valid email is required', 'testimonial-basics') . '*'; } //Date Validation $katb_date = trim($_POST['tb_date']); if ($katb_date != "") { $year = intval(substr($katb_date, 0, 4)); $month = intval(substr($katb_date, 5, 2)); $day = intval(substr($katb_date, 8, 2)); if (!checkdate($month, $day, $year)) { $error .= '*' . esc_html__('Date must be', 'testimonial-basics') . ' YYYY-MM-DD*'; } } //time validation $katb_time = trim($_POST['tb_time']); if ($katb_time != "") { $hour = intval(substr($katb_time, 0, 2)); $min = intval(substr($katb_time, 3, 2)); $sec = intval(substr($katb_time, 6, 2)); if ($hour < 0 || $hour > 23 || $min < 0 || $min > 59 || $sec < 0 || $sec > 59 || substr($katb_time, 2, 1) != ":" || substr($katb_time, 5, 1) != ":") { $error .= '*' . esc_html__('Time must be', 'testimonial-basics') . ' HH:MM:SS*'; } } if ($katb_date == "" && $katb_time == "") { $katb_datetime = current_time('mysql'); } elseif ($katb_date != "" && $katb_time == "") { $katb_datetime = $katb_date . ' 00:00:00'; } elseif ($katb_date == "" && $katb_time != "") { $katb_datetime = current_time('mysql'); } else { $katb_datetime = $katb_date . ' ' . $katb_time; } $katb_date = substr($katb_datetime, 0, 10); $katb_time = substr($katb_datetime, 11, 8); //Rating Validation $katb_rating = sanitize_text_field(trim($_POST['tb_rating'])); //photo validation $katb_picture_url = trim($_POST['tb_upload_image']); if ($katb_picture_url != '') { $katb_picture_url = esc_url($katb_picture_url); } if ($katb_picture_url == 'http://') { $katb_picture_url = ''; } //Sanitize testimonial - same html allowed as allowed in posts //$katb_testimonial = wp_kses_post(stripslashes($_POST['tb_testimonial'])); $katb_testimonial = wp_kses_post(stripslashes($_POST['tb_testimonial'])); if ($katb_testimonial == "") { $error .= '*' . esc_html__('Testimonial is required', 'testimonial-basics') . '*'; } //Validation complete if ($error == "") { //OK $error is empty so let's update the database $values = array('tb_date' => $katb_datetime, 'tb_order' => $katb_order, 'tb_approved' => $katb_approved, 'tb_group' => $katb_group, 'tb_name' => $katb_author, 'tb_email' => $katb_email, 'tb_location' => $katb_location, 'tb_url' => $katb_website, 'tb_pic_url' => $katb_picture_url, 'tb_rating' => $katb_rating, 'tb_testimonial' => $katb_testimonial); $formats_values = array('%s', '%d', '%d', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s'); if ($katb_id == "") { // get previous entry to pervent reload duplication $prev_entry = $wpdb->get_row("SELECT * FROM `{$tablename}` ORDER BY `tb_id` DESC ", ARRAY_A); if ($prev_entry['tb_testimonial'] != $katb_testimonial) { $wpdb->insert($tablename, $values, $formats_values); $katb_id = $wpdb->insert_id; echo '<div id="message" class="updated">' . esc_html__('Testimonial added successfuly.', 'testimonial-basics') . '</div>'; } else { $katb_id = $prev_entry['tb_id']; } } else { $where = array('tb_id' => $katb_id); $wpdb->update($tablename, $values, $where, $formats_values); echo '<div id="message" class="updated">' . esc_html__('Testimonial updated.', 'testimonial-basics') . '</div>'; } } else { echo '<div id="message" class="error">' . esc_html__('Error,testimonial was not added', 'testimonial-basics') . ': ' . $error . '</div>'; } } else { $katb_id = ""; $katb_order = ""; $katb_approved = ""; $katb_group = ""; $katb_date = ""; $katb_time = ""; $katb_author = ""; $katb_email = ""; $katb_website = ""; $katb_location = ""; $katb_rating = ""; $katb_picture_url = ""; $katb_testimonial = ""; } /* ---------- Reset button is clicked ---------------- */ if (isset($_POST['reset']) && check_admin_referer('katb_nonce_3', 'katb_admin_form_nonce')) { $katb_id = ""; $katb_order = ""; $katb_approved = ""; $katb_group = ""; $katb_date = ""; $katb_time = ""; $katb_author = ""; $katb_email = ""; $katb_website = ""; $katb_location = ""; $katb_rating = ""; $katb_picture_url = ""; $katb_testimonial = ""; } /* ---------------- Delete Button is clicked ------------- */ if (isset($_POST['delete']) && check_admin_referer('katb_nonce_3', 'katb_admin_form_nonce')) { $katb_id = $_POST['tb_id']; if ($katb_id == "") { echo '<div id="message" class="error">' . esc_html__('Error, no ID', 'testimonial-basics') . '</div>'; } else { } $wpdb->query(" DELETE FROM `{$tablename}` WHERE `tb_id`={$katb_id} "); $katb_id = ""; $katb_order = ""; $katb_approved = ""; $katb_group = ""; $katb_date = ""; $katb_time = ""; $katb_author = ""; $katb_email = ""; $katb_website = ""; $katb_location = ""; $katb_rating = ""; $katb_picture_url = ""; $katb_testimonial = ""; echo '<div id="message" class="updated">' . esc_html__('Testimonial was deleted.', 'testimonial-basics') . '</div>'; } /* ----------- select an id to edit ----------------- */ if (isset($_POST['edit']) && check_admin_referer('katb_nonce_4', 'katb_admin_form_nonce_2')) { $katb_id = $_POST['edit']; $edit_data = $wpdb->get_row("SELECT * FROM `{$tablename}` WHERE `tb_id` = {$katb_id} ", ARRAY_A); $katb_order = $edit_data['tb_order']; $katb_group = $edit_data['tb_group']; $katb_author = $edit_data['tb_name']; $katb_email = $edit_data['tb_email']; $katb_website = $edit_data['tb_url']; $katb_location = $edit_data['tb_location']; $katb_testimonial = $edit_data['tb_testimonial']; $katb_approved = $edit_data['tb_approved']; $katb_date = substr($edit_data['tb_date'], 0, 10); $katb_time = substr($edit_data['tb_date'], 11, 8); $katb_rating = $edit_data['tb_rating']; $katb_picture_url = $edit_data['tb_pic_url']; } /* ------- set up pagination ----------- */ if (isset($_POST['ka_paginate_post'])) { //Get total entries $results = $wpdb->get_results(" SELECT COUNT(1) FROM `{$tablename}` ", ARRAY_A); $total_entries = $results[0]['COUNT(1)']; $ka_paginate_action = $_POST['ka_paginate_post']; katb_offset_setup($katb_admin_offset_name, $katb_items_per_page, $ka_paginate_action, $total_entries); } ?> <div class="wrap katb_admin_edit_wrap"> <h2>Testimonial Basics Edit and Approve Testimonials</h2> <?php katb_intro_html(); ?> <p><?php esc_html_e('Click the Help button for instructions or see the testimonial_basics_docs.html file included in the plugin docs folder.', 'testimonial-basics'); ?> </p> <h3><?php esc_html_e('Enter or update a testimonial (*Required)', 'testimonial-basics'); ?> </h3> <form class="katb_admin_form" method="POST" action="#"> <?php wp_nonce_field("katb_nonce_3", "katb_admin_form_nonce"); ?> <span class="ka_edit_column_1"> <label class="katb_edit_id_label"><?php esc_html_e('ID : ', 'testimonial-basics'); ?> </label> <input class="katb_edit_id_input" type="text" size="5" maxlength="5" readonly="readonly" name="tb_id" value="<?php echo $katb_id; ?> " /> <label class="katb_edit_approved_label"><?php esc_html_e('Approved : ', 'testimonial-basics'); ?> </label> <input class="katb_edit_approved_input" type="checkbox" name="tb_approved" value="1"<?php if ($katb_approved == 1) { echo ' checked="checked"'; } ?> /> <label class="katb_edit_date_label"><?php esc_html_e('Date (YYYY-MM-DD): ', 'testimonial-basics'); ?> </label> <input class="katb_edit_date_input" type="text" maxlength="12" size="30" name="tb_date" value="<?php echo $katb_date; ?> " /> <label class="katb_edit_time_label"><?php esc_html_e('Time (HH:MM:SS): ', 'testimonial-basics'); ?> </label> <input class="katb_edit_time_input" type="text" maxlength="10" size="30" name="tb_time" value="<?php echo $katb_time; ?> " /> <label class="katb_edit_group_label"><?php esc_html_e('Group : ', 'testimonial-basics'); ?> </label> <input class="katb_edit_group_input" type="text" maxlength="100" size="24" name="tb_group" value="<?php echo stripcslashes($katb_group); ?> " /> <label class="katb_edit_order_label"><?php esc_html_e('Order : ', 'testimonial-basics'); ?> </label> <input class="katb_edit_order_input" type="text" size="5" maxlength="5" name="tb_order" value="<?php echo $katb_order; ?> " /> <label class="katb_edit_rating_label"><?php esc_html_e('Review Rating : ', 'testimonial-basics'); ?> </label> <select class="katb_edit_rating_input" name="tb_rating"> <option <?php selected($katb_rating); ?> value="<?php echo $katb_rating; ?> "><?php echo $katb_rating; ?> </option> <option value="0.0">0.0</option> <option value="0.5">0.5</option> <option value="1.0">1.0</option> <option value="1.5">1.5</option> <option value="2.0">2.0</option> <option value="2.5">2.5</option> <option value="3.0">3.0</option> <option value="3.5">3.5</option> <option value="4.0">4.0</option> <option value="4.5">4.5</option> <option value="5.0">5.0</option> </select> </span> <span class="ka_edit_column_2"> <label class="katb_edit_pic_label"><?php esc_html_e('Gravatar/Photo : ', 'testimonial-basics'); ?> </label> <?php if ($katb_picture_url == '') { ?> <span class="katb_edit_avatar"><?php echo get_avatar($katb_email, $size = '60'); ?> </span> <?php } else { ?> <span class="katb_edit_pic"><img src="<?php echo $katb_picture_url; ?> " title="Uploaded_Author_Image" alt="Uploaded_Author_Image" /></span> <?php } ?> <input id="katb_upload_image" class="katb_picture_url" type="text" name="tb_upload_image" maxlength="100" value="<?php echo stripcslashes($katb_picture_url); ?> " /> <br/><br/><br/> <input id="katb_upload_button" class="katb_upload_button" type="button" name="tb_photo_add" value="Upload Image" /> <label class="katb_edit_author_label"><?php esc_html_e('Author *: ', 'testimonial-basics'); ?> </label> <input class="katb_edit_author_input" type="text" maxlength="100" name="tb_author" value="<?php echo stripcslashes($katb_author); ?> " /> <label class="katb_edit_email_label"><?php esc_html_e('Email : ', 'testimonial-basics'); ?> </label> <input class="katb_edit_email_input" type="text" maxlength="100" name="tb_email" value="<?php echo stripcslashes($katb_email); ?> " /> <label class="katb_edit_url_label"><?php esc_html_e('Website : ', 'testimonial-basics'); ?> </label> <input class="katb_edit_url_input" type="text" maxlength="100" name="tb_website" value="<?php echo $katb_website; ?> " /> <label class="katb_edit_location_label"><?php esc_html_e('Location : ', 'testimonial-basics'); ?> </label> <input class="katb_edit_location_input" type="text" maxlength="100" name="tb_location" value="<?php echo stripcslashes($katb_location); ?> " /> </span> <label class="katb_edit_testimonial_label"><?php esc_html_e('Testimonial *: ', 'testimonial-basics'); ?> </label> <textarea class="katb_edit_testimonial_input" name="tb_testimonial" ><?php echo htmlspecialchars(stripslashes($katb_testimonial)); ?> </textarea> <input type="submit" name="submitted" value="<?php esc_html_e('Save Testimonial', 'testimonial-basics'); ?> " class="katb-primary button-primary" /> <input type="submit" name="reset" value="<?php esc_html_e('Reset', 'testimonial-basics'); ?> " class="katb-secondary button-secondary" /> <input type="submit" name="delete" value="<?php esc_html_e('Delete', 'testimonial-basics'); ?> " class="katb-highlighted button-highlighted" /> </form> <div class="katb_admin_display_testimonials"> <h3 class="katb_admin_title">Testimonials</h3> <div style="clear:both;"></div> <?php //Get total entries $results = $wpdb->get_results(" SELECT COUNT(1) FROM `{$tablename}` ", ARRAY_A); $total_entries = $results[0]['COUNT(1)']; //Pagination $katb_paginate_setup = katb_setup_pagination($katb_admin_offset_name, $katb_items_per_page, $total_entries); $katb_admin_offset = $katb_paginate_setup['offset']; if ($katb_admin_offset < 0) { $katb_admin_offset = 0; } $katb_tdata = $wpdb->get_results(" SELECT * FROM `{$tablename}` ORDER BY `tb_date` DESC LIMIT {$katb_items_per_page} OFFSET {$katb_admin_offset} ", ARRAY_A); $katb_tnumber = $wpdb->num_rows; // --------- Bulk Delete ---------- if (isset($_POST['bulk_delete']) && check_admin_referer('katb_nonce_4', 'katb_admin_form_nonce_2')) { for ($i = 0; $i < $katb_tnumber; $i++) { if (isset($_POST['bulk_delete-' . $katb_tdata[$i]['tb_id']]) && $_POST['bulk_delete-' . $katb_tdata[$i]['tb_id']] == 1) { if ($katb_tdata[$i]['tb_id'] == "") { echo '<div id="message" class="updated">' . esc_html__('Error, no ID', 'testimonial-basics') . '</div>'; } else { $delete_id = $katb_tdata[$i]['tb_id']; $wpdb->query(" DELETE FROM `{$tablename}` WHERE `tb_id`={$delete_id} "); } } } //reset the testimonials for display //Get total entries $results = $wpdb->get_results(" SELECT COUNT(1) FROM `{$tablename}` ", ARRAY_A); $total_entries = $results[0]['COUNT(1)']; //Pagination $katb_paginate_setup = katb_setup_pagination($katb_admin_offset_name, $katb_items_per_page, $total_entries); $katb_admin_offset = $katb_paginate_setup['offset']; if ($katb_admin_offset < 0) { $katb_admin_offset = 0; } $katb_tdata = $wpdb->get_results(" SELECT * FROM `{$tablename}` ORDER BY `tb_date` DESC LIMIT {$katb_items_per_page} OFFSET {$katb_admin_offset} ", ARRAY_A); $katb_tnumber = $wpdb->num_rows; } katb_display_pagination($katb_paginate_setup); ?> <form class="katb_admin_display_form" method="POST" action="#"> <?php wp_nonce_field("katb_nonce_4", "katb_admin_form_nonce_2"); ?> <input type="submit" name="bulk_delete" value="Bulk Delete" class="katb-highlighted button-highlighted" title="<?php esc_html_e('WARNING - NO SECOND CHANCE - checked items will be deleted', 'testimonial-basics'); ?> "/> <div class="katb_admin_display"> <?php for ($i = 0; $i < $katb_tnumber; $i++) { ?> <div class="katb_admin_display_element_row"> <div class="katb_admin_row_top"> <div class="ka_table_id"> <input type="submit" name="edit" value="<?php echo $katb_tdata[$i]['tb_id']; ?> " class="katb button-secondary" /> <input class="katb_bulk_delete_input" type="checkbox" name="bulk_delete-<?php echo $katb_tdata[$i]['tb_id']; ?> " value="1" /> <span class="katb_bulk_delete_label"><img src="../wp-content/plugins/testimonial-basics/includes/delete.png" title="Bulk Delete" alt="del" /></span> </div> <div class="ka_table_admin_column"> <span class="ka_table_date"><strong><?php esc_html_e('Date: ', 'testimonial-basics'); ?> </strong><?php echo substr($katb_tdata[$i]['tb_date'], 0, 10); ?> </span><br/> <span class="ka_table_time"><strong><?php esc_html_e('Time: ', 'testimonial-basics'); ?> </strong><?php echo substr($katb_tdata[$i]['tb_date'], 11, 8); ?> </span><br/> <span class="ka_table_approved"> <strong><?php esc_html_e('Approved: ', 'testimonial-basics'); ?> <?php if ($katb_tdata[$i]['tb_approved'] == 1) { ?> <span style="color: green;">Y</span><?php } else { ?> <span style="color: red;">N</span><?php } ?> </strong></span><br/> <span class="ka_table_group"><strong><?php esc_html_e('Group: ', 'testimonial-basics'); ?> </strong><?php echo stripcslashes($katb_tdata[$i]['tb_group']); ?> </span><br/> <span class="ka_table_order"><strong><?php esc_html_e('Order: ', 'testimonial-basics'); ?> </strong><?php if ($katb_tdata[$i]['tb_order'] == 0) { echo ""; } else { echo $katb_tdata[$i]['tb_order']; } ?> </span><br/> <span class="ka_table_rating"><strong><?php esc_html_e('Rating: ', 'testimonial-basics'); ?> </strong><?php echo stripcslashes($katb_tdata[$i]['tb_rating']); ?> </span> </div> <div class="ka_table_author_column"> <span class="ka_table_name"><strong><?php esc_html_e('Name: ', 'testimonial-basics'); ?> </strong><?php echo stripcslashes($katb_tdata[$i]['tb_name']); ?> </span><br/> <span class="ka_table_email"><strong><?php esc_html_e('E-mail: ', 'testimonial-basics'); ?> </strong><?php echo $katb_tdata[$i]['tb_email']; ?> </span><br/> <span class="ka_table_location"><strong><?php esc_html_e('Location: ', 'testimonial-basics'); ?> </strong><?php echo stripcslashes($katb_tdata[$i]['tb_location']); ?> </span><br/> <span class="ka_table_website"><strong><?php esc_html_e('Website: ', 'testimonial-basics'); ?> </strong><?php echo $katb_tdata[$i]['tb_url']; ?> </span><br/> <?php if ($katb_tdata[$i]['tb_pic_url'] == '') { ?> <span class="ka_table_pic"><?php echo get_avatar($katb_tdata[$i]['tb_email'], $size = '60'); ?> </span><?php } else { ?> <span class="ka_table_pic"><img src="<?php echo $katb_tdata[$i]['tb_pic_url']; ?> " title="Uploaded_Author_Image" alt="Uploaded_Author_Image" /></span><?php } ?> </div> </div> <div class="ka_table_testimonial"><?php echo wpautop(stripcslashes($katb_tdata[$i]['tb_testimonial'])); ?> </div> </div> <?php } ?> </div> </form> <?php katb_display_pagination($katb_paginate_setup); ?> </div> </div> <?php }
/** ------------------ display testimonials shortcode --------------------------------- * useage : [katb_testimonial group="all" number="all" by="date" id="" rotate="no" layout="0" schema="default"] * group : "all" or "group" where group is the identifier in the testimonial * by : "date" or "order" or "random" * number : "all" or input the number you want to display * id : "" or ids of testimonials * rotate : "no" do not rotate, "yes" rotate testimonials * layout : 0-default,1-no format top meta, 2-no format bottom meta, 3-no format side meta, * 4-format top meta, 5-format bottom meta, 6-format side meta * schema : default-whatever is set up in the General Options Panel, yes-override to yes, no-override to no * * @param array $atts contains the shortcode parameters * @uses katb_get_options() function to get plugin options found in katb_functions.php * @uses katb_offset_setup() for pagination found in katb_functions.php * @uses katb_setup_pagination for pagination found in katb_functions.php * @uses katb_content_display sets up the testimonial display found in katb_functions.php * @uses katb_get_display_pagination_string displays pagination found in katb_functions.php * * @return string $katb_html containging the html of the testimonial display request * ------------------------------------------------------------------------- */ function katb_list_testimonials($atts) { //setup database table global $wpdb, $tablename; $tablename = $wpdb->prefix . 'testimonial_basics'; //initialize main testimonial arrays $katb_tdata = array(); $katb_tdata = ''; $katb_tnumber = ''; //get user options global $katb_options; $katb_options = katb_get_options(); $use_formatted_display = intval($katb_options['katb_use_formatted_display']); $content_layout = sanitize_text_field($katb_options['katb_layout_option']); $use_schema = intval($katb_options['katb_use_schema']); $display_reviews = intval($katb_options['katb_schema_display_reviews']); //set up pagination $katb_offset_name = home_url() . 'katb_offset'; //$katb_items_per_page = 10; $katb_items_per_page = intval($katb_options['katb_paginate_number']); //get shortcode variables extract(shortcode_atts(array('group' => 'all', 'number' => 'all', 'by' => 'random', 'id' => '', 'rotate' => 'no', 'layout' => '0', 'schema' => 'default'), $atts)); //Sanitize data $group = sanitize_text_field($group); $number = strtolower(sanitize_text_field($number)); $by = strtolower(sanitize_text_field($by)); $id = sanitize_text_field($id); $rotate = strtolower(sanitize_text_field($rotate)); $layout_override = sanitize_text_field($layout); $use_schema_override = sanitize_text_field($schema); //white list rotate if ($rotate != 'yes') { $rotate = 'no'; } //white list group if ($group == '') { $group = 'all'; } //number validation/whitelist if ($number == '') { $number = 'all'; } if ($number != 'all') { if (intval($number) < 1) { $number = 1; } else { $number = intval($number); } } //white list $by if ($by != 'date' && $by != 'order') { $by = 'random'; } //white list layout if ($layout_override == '0' || $layout_override == '1' || $layout_override == '2' || $layout_override == '3' || $layout_override == '4' || $layout_override == '5' || $layout_override == '6') { /*do nothing*/ } else { $layout_override = '0'; } //white list schema if ($use_schema_override == 'yes' || $use_schema_override == 'no') { /*do nothing*/ } else { $use_schema_override = 'default'; } //check use schema override if ($use_schema_override == 'yes') { $use_schema = 1; } elseif ($use_schema_override == 'no') { $use_schema = 0; } //OK let's start by getting the testimonial data from the database if ($id != '') { $id_picks = array(); $id_picks_processed = array(); $id_picks = ''; $id_picks_processed = ''; $id_picks = explode(',', $id); $counter = 0; foreach ($id_picks as $pick) { $id_picks_processed[$counter] = intval($id_picks[$counter]); if ($id_picks_processed[$counter] < 1) { $id_picks_processed[$counter] = 1; } $counter++; } $count = 0; $count2 = 0; foreach ($id_picks_processed as $pick) { $pick_id = $id_picks_processed[$count]; $tdata = $wpdb->get_results(" SELECT * FROM `{$tablename}` WHERE `tb_approved` = '1' AND `tb_id` = '{$pick_id}' ", ARRAY_A); $tnumber = $wpdb->num_rows; if ($tnumber == 1) { $katb_tdata[$count2] = $tdata[0]; $count2++; } $count++; } $katb_tnumber = $count2; } else { if ($group == 'all' && $number == 'all' && $by == 'date') { if (isset($katb_options['katb_use_pagination']) && $katb_options['katb_use_pagination'] == 1 && $rotate == 'no') { //Get total entries $results = $wpdb->get_results(" SELECT COUNT(1) FROM `{$tablename}` WHERE `tb_approved` = '1' ", ARRAY_A); $total_entries = $results[0]['COUNT(1)']; //check for offset if (isset($_POST['ka_paginate_post'])) { $ka_paginate_action = $_POST['ka_paginate_post']; katb_offset_setup($katb_offset_name, $katb_items_per_page, $ka_paginate_action, $total_entries); } //Pagination $katb_paginate_setup = katb_setup_pagination($katb_offset_name, $katb_items_per_page, $total_entries); $katb_offset = $katb_paginate_setup['offset']; if ($katb_offset < 0) { $katb_offset = 0; } //get results $katb_tdata = $wpdb->get_results(" SELECT * FROM `{$tablename}` WHERE `tb_approved` = '1' ORDER BY `tb_date` DESC LIMIT {$katb_items_per_page} OFFSET {$katb_offset} ", ARRAY_A); } else { $katb_tdata = $wpdb->get_results(" SELECT * FROM `{$tablename}` WHERE `tb_approved` = '1' ORDER BY `tb_date` DESC ", ARRAY_A); } $katb_tnumber = $wpdb->num_rows; } elseif ($group == 'all' && $number == 'all' && $by == 'order') { if (isset($katb_options['katb_use_pagination']) && $katb_options['katb_use_pagination'] == 1 && $rotate == 'no') { //Get total entries $results = $wpdb->get_results(" SELECT COUNT(1) FROM `{$tablename}` WHERE `tb_approved` = '1' ", ARRAY_A); $total_entries = $results[0]['COUNT(1)']; //check for offset if (isset($_POST['ka_paginate_post'])) { $ka_paginate_action = $_POST['ka_paginate_post']; katb_offset_setup($katb_offset_name, $katb_items_per_page, $ka_paginate_action, $total_entries); } //Pagination $katb_paginate_setup = katb_setup_pagination($katb_offset_name, $katb_items_per_page, $total_entries); $katb_offset = $katb_paginate_setup['offset']; if ($katb_offset < 0) { $katb_offset = 0; } //get results $katb_tdata = $wpdb->get_results(" SELECT * FROM `{$tablename}` WHERE `tb_approved` = '1' ORDER BY `tb_order` = '0', `tb_order` ASC,`tb_date` DESC LIMIT {$katb_items_per_page} OFFSET {$katb_offset} ", ARRAY_A); } else { $katb_tdata = $wpdb->get_results(" SELECT * FROM `{$tablename}` WHERE `tb_approved` = '1' ORDER BY `tb_order` = '0', `tb_order` ASC,`tb_date` DESC ", ARRAY_A); } $katb_tnumber = $wpdb->num_rows; } elseif ($group == 'all' && $number == 'all' && $by == 'random') { $katb_tdata = $wpdb->get_results(" SELECT * FROM `{$tablename}` WHERE `tb_approved` = '1' ORDER BY RAND() ", ARRAY_A); $katb_tnumber = $wpdb->num_rows; } elseif ($group == 'all' && $number != 'all' && $by == 'date') { $katb_tdata = $wpdb->get_results(" SELECT * FROM `{$tablename}` WHERE `tb_approved` = '1' ORDER BY `tb_date` DESC LIMIT 0,{$number} ", ARRAY_A); $katb_tnumber = $wpdb->num_rows; } elseif ($group == 'all' && $number != 'all' && $by == 'order') { $katb_tdata = $wpdb->get_results(" SELECT * FROM `{$tablename}` WHERE `tb_approved` = '1' ORDER BY `tb_order` = '0',`tb_order` ASC LIMIT 0,{$number} ", ARRAY_A); $katb_tnumber = $wpdb->num_rows; } elseif ($group == 'all' && $number != 'all' && $by == 'random') { $katb_tdata = $wpdb->get_results(" SELECT * FROM `{$tablename}` WHERE `tb_approved` = '1' ORDER BY RAND() LIMIT 0,{$number} ", ARRAY_A); $katb_tnumber = $wpdb->num_rows; } elseif ($group != 'all' && $number == 'all' && $by == 'date') { if (isset($katb_options['katb_use_pagination']) && $katb_options['katb_use_pagination'] == 1 && $rotate == 'no') { //Get total entries $results = $wpdb->get_results(" SELECT COUNT(1) FROM `{$tablename}` WHERE `tb_approved` = '1' AND `tb_group` = '{$group}' ", ARRAY_A); $total_entries = $results[0]['COUNT(1)']; //check for offset if (isset($_POST['ka_paginate_post'])) { $ka_paginate_action = $_POST['ka_paginate_post']; katb_offset_setup($katb_offset_name, $katb_items_per_page, $ka_paginate_action, $total_entries); } //Pagination $katb_paginate_setup = katb_setup_pagination($katb_offset_name, $katb_items_per_page, $total_entries); $katb_offset = $katb_paginate_setup['offset']; if ($katb_offset < 0) { $katb_offset = 0; } //get results $katb_tdata = $wpdb->get_results(" SELECT * FROM `{$tablename}` WHERE `tb_approved` = '1' AND `tb_group` = '{$group}' ORDER BY `tb_date` DESC LIMIT {$katb_items_per_page} OFFSET {$katb_offset} ", ARRAY_A); } else { $katb_tdata = $wpdb->get_results(" SELECT * FROM `{$tablename}` WHERE `tb_approved` = '1' AND `tb_group` = '{$group}' ORDER BY `tb_date` DESC ", ARRAY_A); } $katb_tnumber = $wpdb->num_rows; } elseif ($group != 'all' && $number == 'all' && $by == 'order') { if (isset($katb_options['katb_use_pagination']) && $katb_options['katb_use_pagination'] == 1 && $rotate == 'no') { //Get total entries $results = $wpdb->get_results(" SELECT COUNT(1) FROM `{$tablename}` WHERE `tb_approved` = '1' AND `tb_group` = '{$group}' ", ARRAY_A); $total_entries = $results[0]['COUNT(1)']; //check for offset if (isset($_POST['ka_paginate_post'])) { $ka_paginate_action = $_POST['ka_paginate_post']; katb_offset_setup($katb_offset_name, $katb_items_per_page, $ka_paginate_action, $total_entries); } //Pagination $katb_paginate_setup = katb_setup_pagination($katb_offset_name, $katb_items_per_page, $total_entries); $katb_offset = $katb_paginate_setup['offset']; if ($katb_offset < 0) { $katb_offset = 0; } //get results $katb_tdata = $wpdb->get_results(" SELECT * FROM `{$tablename}` WHERE `tb_approved` = '1' AND `tb_group` = '{$group}' ORDER BY `tb_order` = '0',`tb_order` ASC,`tb_date` DESC LIMIT {$katb_items_per_page} OFFSET {$katb_offset} ", ARRAY_A); } else { $katb_tdata = $wpdb->get_results(" SELECT * FROM `{$tablename}` WHERE `tb_approved` = '1' AND `tb_group` = '{$group}' ORDER BY `tb_order` = '0',`tb_order` ASC,`tb_date` DESC ", ARRAY_A); } $katb_tnumber = $wpdb->num_rows; } elseif ($group != 'all' && $number == 'all' && $by == 'random') { $katb_tdata = $wpdb->get_results(" SELECT * FROM `{$tablename}` WHERE `tb_approved` = '1' AND `tb_group` = '{$group}' ORDER BY RAND() ", ARRAY_A); $katb_tnumber = $wpdb->num_rows; } elseif ($group != 'all' && $number != 'all' && $by == 'date') { $katb_tdata = $wpdb->get_results(" SELECT * FROM `{$tablename}` WHERE `tb_approved` = '1' AND `tb_group` = '{$group}' ORDER BY `tb_date` DESC LIMIT 0,{$number} ", ARRAY_A); $katb_tnumber = $wpdb->num_rows; } elseif ($group != 'all' && $number != 'all' && $by == 'order') { $katb_tdata = $wpdb->get_results(" SELECT * FROM `{$tablename}` WHERE `tb_approved` = '1' AND `tb_group` = '{$group}' ORDER BY `tb_order` = '0',`tb_order` ASC LIMIT 0,{$number} ", ARRAY_A); $katb_tnumber = $wpdb->num_rows; } elseif ($group != 'all' && $number != 'all' && $by == 'random') { $katb_tdata = $wpdb->get_results(" SELECT * FROM `{$tablename}` WHERE `tb_approved` = '1' AND `tb_group` = '{$group}' ORDER BY RAND() LIMIT 0,{$number} ", ARRAY_A); $katb_tnumber = $wpdb->num_rows; } } $katb_error = ''; if ($katb_tnumber < 2 && $rotate == 'yes') { $katb_error = esc_html__('You must have 2 approved testimonials to use a rotated display!', 'testimonial-basics'); } elseif ($katb_tnumber == 0) { $katb_error = esc_html__('There are no approved testimonials to display!', 'testimonial-basics'); } $rotate == 'yes' ? $katb_rotate = 1 : ($katb_rotate = 0); // Database queried - Lets prepare the return string $katb_html = ''; if ($katb_error != '') { $katb_html .= '<div class="katb_error">' . $katb_error . '</div>'; } else { $katb_html .= katb_content_display($use_formatted_display, $use_schema, $katb_tnumber, $katb_tdata, $katb_rotate, $content_layout, $group, $layout_override); } $katb_html .= '<div class="katb_clear_fix"></div>'; //Pagination if ($use_schema == 1 && $display_reviews == 0) { //don't display pagination } else { if (isset($katb_options['katb_use_pagination']) && $katb_options['katb_use_pagination'] == 1 && isset($katb_paginate_setup)) { $katb_html .= katb_get_display_pagination_string($katb_paginate_setup); } } return $katb_html; }