コード例 #1
0
ファイル: main.php プロジェクト: danipolo/agroturismomenorca
 function ct_ajax_add_to_wishlist()
 {
     $result_json = array('success' => 0, 'result' => '');
     if (!is_user_logged_in()) {
         $result_json['success'] = 0;
         $result_json['result'] = esc_html__('Please login to update your wishlist.', 'citytours');
         wp_send_json($result_json);
     }
     $user_id = get_current_user_id();
     $new_item_id = sanitize_text_field(ct_post_org_id($_POST['post_id']));
     $wishlist = get_user_meta($user_id, 'wishlist', true);
     if (isset($_POST['remove'])) {
         //remove
         $wishlist = array_diff($wishlist, array($new_item_id));
         if (update_user_meta($user_id, 'wishlist', $wishlist)) {
             $result_json['success'] = 1;
             $result_json['result'] = esc_html__('This post has removed from your wishlist successfully.', 'citytours');
         } else {
             $result_json['success'] = 0;
             $result_json['result'] = esc_html__('Sorry, An error occurred while update wishlist.', 'citytours');
         }
     } else {
         //add
         if (empty($wishlist)) {
             $wishlist = array();
         }
         if (!in_array($new_item_id, $wishlist)) {
             array_push($wishlist, $new_item_id);
             if (update_user_meta($user_id, 'wishlist', $wishlist)) {
                 $result_json['success'] = 1;
                 $result_json['result'] = esc_html__('This post has added to your wishlist successfully.', 'citytours');
             } else {
                 $result_json['success'] = 0;
                 $result_json['result'] = esc_html__('Sorry, An error occurred while update wishlist.', 'citytours');
             }
         } else {
             $result_json['success'] = 1;
             $result_json['result'] = esc_html__('Already exists in your wishlist.', 'citytours');
         }
     }
     wp_send_json($result_json);
 }
コード例 #2
0
 function ct_get_reviews($post_id, $start_num = 0, $per_page = 10)
 {
     global $wpdb;
     $post_id = ct_post_org_id($post_id);
     $sql = "SELECT * FROM " . CT_REVIEWS_TABLE . " WHERE post_id='" . esc_sql($post_id) . "' AND status='approved' ORDER BY id DESC LIMIT " . esc_sql($start_num) . ", " . esc_sql($per_page);
     $results = $wpdb->get_results($sql, ARRAY_A);
     return $results;
 }
コード例 #3
0
 function ct_review_save_action()
 {
     if (!isset($_POST['review_save']) || !wp_verify_nonce($_POST['review_save'], 'ct_review_manage')) {
         print 'Sorry, your nonce did not verify.';
         exit;
     } else {
         global $wpdb;
         $default_review_data = array('post_id' => '', 'review_rating' => 0, 'review_rating_detail' => '', 'review_text' => '', 'reviewer_ip' => '127.0.0.1', 'reviewer_email' => '', 'reviewer_name' => '', 'status' => 'pending', 'date' => date('Y-m-d H:i:s'), 'user_id' => '', 'booking_no' => '', 'pin_code' => '');
         $table_fields = array('reviewer_name', 'reviewer_email', 'reviewer_ip', 'review_text', 'post_id', 'status', 'date', 'user_id', 'booking_no', 'pin_code');
         //review_rating, review_rating_detail, date
         $data = array();
         foreach ($table_fields as $table_field) {
             if (!empty($_POST[$table_field])) {
                 $data[$table_field] = sanitize_text_field($_POST[$table_field]);
             }
         }
         $data['review_rating_detail'] = serialize($_POST['review_rating_detail']);
         $data['review_rating'] = round(array_sum($_POST['review_rating_detail']) / count($_POST['review_rating_detail']), 1);
         $data = array_replace($default_review_data, $data);
         $data['post_id'] = ct_post_org_id($data['post_id']);
         if (empty($_POST['id'])) {
             //insert
             $wpdb->insert(CT_REVIEWS_TABLE, $data);
             $id = $wpdb->insert_id;
         } else {
             //update
             $wpdb->update(CT_REVIEWS_TABLE, $data, array('id' => sanitize_text_field($_POST['id'])));
             $id = sanitize_text_field($_POST['id']);
         }
         ct_review_calculate_rating($data['post_id']);
         wp_redirect(admin_url('admin.php?page=reviews&action=edit&review_id=' . $id . '&updated=true'));
         exit;
     }
 }