Function Reference: geodir_manage_claim_listing_actions
Summary
This function has not been documented yet.
Actions
‘geodir_claim_request_delete’ [Line: 883]
‘geodir_claim_request_status_change’ [Line: 945]
‘geodir_claim_request_status_change’ [Line: 980]
‘geodir_claim_request_status_change’ [Line: 1019]
Source Code
function geodir_manage_claim_listing_actions() { global $wpdb, $plugin_prefix; if(isset($_REQUEST['_wpnonce']) && isset($_REQUEST['id']) && $_REQUEST['id'] != '' && current_user_can( 'manage_options' )){ if ( !wp_verify_nonce( $_REQUEST['_wpnonce'], 'claim_action_'.$_REQUEST['id'] ) ) return; if(isset($_REQUEST['pagetype']) && $_REQUEST['pagetype'] == 'delete') { $pid = $_REQUEST['id']; $approvesql = $wpdb->prepare("select * from ".GEODIR_CLAIM_TABLE." where pid=%d", array($pid)); $approveinfo = $wpdb->get_results($approvesql); $author_id = $approveinfo[0]->user_id; $post_id = $approveinfo[0]->list_id; $wpdb->query($wpdb->prepare("delete from ".GEODIR_CLAIM_TABLE." where pid=%d", array($pid))); $change_clamed = $wpdb->get_row($wpdb->prepare("select pid from ".GEODIR_CLAIM_TABLE." where list_id=%s and status='1'", array($post_id))); if(!$change_clamed) { geodir_save_post_meta($post_id, 'claimed','0'); /** * Called on claim request deleted. * * @since 1.2.2 * * @param int $pid The claim id. */ do_action('geodir_claim_request_delete', $pid); } $msg = CLAIM_DELETED_SUCCESS; $msg = urlencode($msg); $location = admin_url('admin.php?page=geodirectory&tab=claimlisting_fields&subtab=manage_geodir_claim_listing&claim_success='.$msg); wp_redirect($location); gd_die(); } if(isset($_REQUEST['pagetype']) && $_REQUEST['pagetype'] == 'approve') { $pid = $_REQUEST['id']; $approvesql = $wpdb->prepare("select * from ".GEODIR_CLAIM_TABLE." where pid=%d", array($pid)); $approveinfo = $wpdb->get_results($approvesql); $post_id = $approveinfo[0]->list_id; $author_id = $approveinfo[0]->user_id; $claim_id = $pid; $old_status = $approveinfo[0]->status; $new_status = 1; $wpdb->query($wpdb->prepare("update ".GEODIR_CLAIM_TABLE." set status='2' where list_id=%s and user_id!=%s and status='1'", array($post_id,$author_id))); geodir_save_post_meta($post_id, 'claimed','1'); $wpdb->query($wpdb->prepare("update $wpdb->posts set post_author=%d where ID=%d", array($author_id,$post_id))); $wpdb->query($wpdb->prepare("update ".GEODIR_CLAIM_TABLE." set status='1' where pid=%d", array($pid))); // Force to upgrade to complete claim listing $force_upgrade = geodir_claim_force_upgrade(); $package_list = geodir_claim_payment_package_list( get_post_type( $post_id ) ); if ( $force_upgrade && !empty( $package_list ) && !empty( $approveinfo ) && isset( $approveinfo[0]->upgrade_pkg_id ) ) { $geodir_upgrade_pkg = $approveinfo[0]->upgrade_pkg_id; $package_info = geodir_get_package_info_by_id( $geodir_upgrade_pkg ); if ( !empty( $package_info ) ) { $claim_post_info = array(); $claim_post_info['package_id'] = $geodir_upgrade_pkg; geodir_save_listing_payment( $post_id, $claim_post_info ); $wpdb->query( $wpdb->prepare( "UPDATE `" . GEODIR_CLAIM_TABLE . "` SET `upgrade_pkg_id`='' WHERE `pid`=%d", array( $pid ) ) ); } } /** * Called on claim request status change. * * @since 1.2.2 * * @param int $claim_id The claim id. * @param int $new_status New claim status. Ex: 0 for pending, 1 for approved and 2 for rejected etc. * @param int $old_status Old claim status. Ex: 0 for pending, 1 for approved and 2 for rejected etc. */ do_action('geodir_claim_request_status_change', $claim_id, $new_status, $old_status); geodir_clientEmail($post_id,$author_id,'claim_approved'); /* email to client*/ $msg = CLAIM_APPROVE_SUCCESS; $msg = urlencode($msg); $location = admin_url('admin.php?page=geodirectory&tab=claimlisting_fields&subtab=manage_geodir_claim_listing&claim_success='.$msg); wp_redirect($location); gd_die(); } if(isset($_REQUEST['pagetype']) && $_REQUEST['pagetype'] == 'reject') { $pid = $_REQUEST['id']; $wpdb->query($wpdb->prepare("update ".GEODIR_CLAIM_TABLE." set status='2' where pid=%d", array($pid))); $approvesql = $wpdb->prepare("select * from ".GEODIR_CLAIM_TABLE." where pid=%d", array($pid)); $approveinfo = $wpdb->get_results($approvesql); $post_id = $approveinfo[0]->list_id; $author_id = $approveinfo[0]->user_id; $claim_id = $pid; $old_status = $approveinfo[0]->status; $new_status = 2; /** This action is documented in geodir_claim_functions.php */ do_action('geodir_claim_request_status_change', $claim_id, $new_status, $old_status); geodir_clientEmail($post_id,$author_id,'claim_rejected'); /* email to client*/ $msg = CLAIM_REJECT_SUCCESS; $msg = urlencode($msg); $location = admin_url('admin.php?page=geodirectory&tab=claimlisting_fields&subtab=manage_geodir_claim_listing&claim_success='.$msg); wp_redirect($location); gd_die(); } if(isset($_REQUEST['pagetype']) && $_REQUEST['pagetype'] == 'undo') { $pid = $_REQUEST['id']; $approvesql = $wpdb->prepare("select * from ".GEODIR_CLAIM_TABLE." where pid=%d", array($pid)); $approveinfo = $wpdb->get_results($approvesql); $post_id = $approveinfo[0]->list_id; $author_id = $approveinfo[0]->org_authorid; $wpdb->query($wpdb->prepare("update $wpdb->posts set post_author=%d where ID=%d", array($author_id,$post_id))); $wpdb->query($wpdb->prepare("update ".GEODIR_CLAIM_TABLE." set status='2' where pid=%d", array($pid))); $change_clamed = $wpdb->get_row($wpdb->prepare("select pid from ".GEODIR_CLAIM_TABLE." where list_id=%s and status='1'", array($post_id))); if(!$change_clamed) { geodir_save_post_meta($post_id, 'claimed','0'); /*update claimed post data.*/ /** This action is documented in geodir_claim_functions.php */ do_action('geodir_claim_request_status_change', $pid, 0, $approveinfo[0]->status); } $location = admin_url('admin.php?page=geodirectory&tab=claimlisting_fields&subtab=manage_geodir_claim_listing&msg=reject'); wp_redirect($location); gd_die(); } }else{ wp_redirect(geodir_login_url()); gd_die(); } }