Beispiel #1
0
function getRequestList($status)
{
    //THIS FUNCTION IS FOR PENDING, ACTIVE, CLOSED, OR ARCHIVED PRAYER REQUESTS
    global $wpdb;
    switch ($status) {
        case "pending":
            $querycond = "WHERE active=0 AND closed=0";
            break;
        case "active":
            $querycond = "WHERE active=1";
            break;
        case "closed":
            $querycond = "WHERE active=2";
            break;
        case "archived":
            $querycond = "WHERE active=3";
            break;
    }
    $requests = $wpdb->get_results("SELECT id,first_name,last_name,email,title,body,ip_address,submitted FROM " . $wpdb->prefix . "pb_requests {$querycond} ORDER BY submitted DESC");
    //	return "SELECT id,first_name,last_name,email,title,body,ip_address,submitted FROM ".$wpdb->prefix."pb_requests $querycond ORDER BY submitted DESC";
    //	print_r($requests);
    $output = "";
    /*
    	foreach($requests as $req){
    		$output.="<p>".$req->id."</p>";
    	}
    	return $output;
    	exit;
    */
    if ($requests) {
        foreach ($requests as $req) {
            $req_id = $req->id;
            $first_name = stripslashes($req->first_name);
            $last_name = stripslashes($req->last_name);
            $email = $req->email;
            $title = stripslashes($req->title);
            $body = prePgphOutput($req->body);
            $ip = $req->ip_address;
            $submitted = date("m-d-y", $req->submitted);
            $num_prayers = howManyPrayers($req_id);
            $output .= "<tr><td>{$req_id}</td><td>{$first_name} {$last_name}<br />{$email}</td><td><strong>{$title}</strong><br />{$body}</td><td>{$ip}</td><td>{$submitted}</td><td>{$num_prayers}</td><td>";
            switch ($status) {
                case "pending":
                    $output .= "<form method='post'><input type='hidden' name='action' value='approve_request' /><input type='hidden' name='pb_request_id' value='{$req_id}' /><input type='submit' class='button-secondary' value='" . PB_ADMIN_APPROVE . "' /></form>";
                    $output .= "<form method='post'><input type='hidden' name='action' value='edit_request' /><input type='hidden' name='pb_request_id' value='{$req_id}' /><input type='submit' class='button-secondary' value='" . PB_ADMIN_EDIT . "' /></form>";
                    $output .= "<form method='post'><input type='hidden' name='action' value='remove_request' /><input type='hidden' name='pb_request_id' value='{$req_id}' /><input type='submit' class='button-secondary' value='" . PB_ADMIN_DELETE . "' /></form>";
                    $output .= "<form method='post'><input type='hidden' name='action' value='remove_ban' /><input type='hidden' name='pb_ip_address' value='{$ip}' /><input type='hidden' name='pb_request_id' value='{$req_id}' /><input type='submit' class='button-secondary' value='" . PB_ADMIN_BAN . "' /></form>";
                    break;
                case "active":
                    $output .= "<form method='post'><input type='hidden' name='action' value='remove_request' /><input type='hidden' name='pb_request_id' value='{$req_id}' /><input type='submit' class='button-secondary' value='" . PB_ADMIN_REMOVE . "' /></form>";
                    $output .= "<form method='post'><input type='hidden' name='action' value='close_request' /><input type='hidden' name='pb_request_id' value='{$req_id}' /><input type='submit' class='button-secondary' value='" . PB_ADMIN_CLOSE . "' /></form>";
                    $output .= "<form method='post'><input type='hidden' name='action' value='remove_ban' /><input type='hidden' name='pb_ip_address' value='{$ip}' /><input type='hidden' name='pb_request_id' value='{$req_id}' /><input type='submit' class='button-secondary' value='" . PB_ADMIN_BAN . "' /></form>";
                    break;
                case "closed":
                    $output .= "<form method='post'><input type='hidden' name='action' value='remove_request' /><input type='hidden' name='pb_request_id' value='{$req_id}' /><input type='submit' class='button-secondary' value='" . PB_ADMIN_REMOVE . "' /></form>";
                    $output .= "<form method='post'><input type='hidden' name='action' value='reopen_request' /><input type='hidden' name='pb_request_id' value='{$req_id}' /><input type='submit' class='button-secondary' value='" . PB_ADMIN_REOPEN . "' /></form>";
                    break;
            }
            $output .= "</td></tr>";
        }
    } else {
        $output = "<tr><td colspan='7'>" . PB_ADMIN_CURRENTLY . " {$status} " . PB_ADMIN_PRAYER_REQ . ".</td></tr>";
    }
    return $output;
}
function pb_request_list_flagged_page()
{
    global $wpdb;
    ?>

<div class="wrap">
<h2 class="logo-title">PrayBox Flagged Prayer Requests</h2>
<div id="pbx-wrap">

<?php 
    if (isset($_POST['action']) && $_POST['action'] == "remove_request") {
        $req_id = $_POST['pb_request_id'];
        $wpdb->query("DELETE FROM " . $wpdb->prefix . "pb_requests WHERE id='{$req_id}'");
        $wpdb->query("DELETE FROM " . $wpdb->prefix . "pb_flags WHERE request_id='{$req_id}'");
        ?>
<p><strong><?php 
        _e('Request Removed.', 'menu-test');
        ?>
</strong></p>
<?php 
    }
    ?>

<?php 
    if (isset($_POST['action']) && $_POST['action'] == "clear_flags") {
        $req_id = $_POST['pb_request_id'];
        $wpdb->query("DELETE FROM " . $wpdb->prefix . "pb_flags WHERE request_id='{$req_id}'");
        ?>
<p><strong><?php 
        _e('Flags Cleared.', 'menu-test');
        ?>
</strong></p>
<?php 
    }
    ?>

<?php 
    if (isset($_POST['action']) && $_POST['action'] == "remove_ban") {
        $req_id = $_POST['pb_request_id'];
        $ip = $_POST['pb_ip_address'];
        $time_now = time();
        $wpdb->query("DELETE FROM " . $wpdb->prefix . "pb_requests WHERE id='{$req_id}'");
        $wpdb->query("DELETE FROM " . $wpdb->prefix . "pb_flags WHERE request_id='{$req_id}'");
        $wpdb->insert($wpdb->prefix . 'pb_banned_ips', array('ip_address' => $ip, 'banned_date' => $time_now, 'reason' => 'request flagged as inappropriate'));
        ?>
<p><strong><?php 
        _e('Request Removed and IP Address Banned.', 'menu-test');
        ?>
</strong></p>
<?php 
    }
    ?>

<table class="pbx-data">
<tr><th>ID</th><th>First/Last/Email</th><th>Title</th><th width="300">Body</th><th>IP Address</th><th>Date Posted</th><th># Times Flagged</th><th>&nbsp;</th></tr>

<?php 
    $flags = $wpdb->get_results("SELECT request_id FROM " . $wpdb->prefix . "pb_flags GROUP BY request_id");
    if ($flags) {
        foreach ($flags as $flag) {
            $req_id = $flag->request_id;
            $num_flags = howManyFlags($req_id);
            $request = $wpdb->get_row("SELECT first_name,last_name,email,title,body,ip_address,submitted FROM " . $wpdb->prefix . "pb_requests WHERE id='{$req_id}'");
            $first_name = $request->first_name;
            $last_name = $request->last_name;
            $email = $request->email;
            $title = stripslashes($request->title);
            $body = prePgphOutput($request->body);
            $ip = $request->ip_address;
            $submitted = date("m-d-y", $request->submitted);
            echo "<tr><td>{$req_id}</td><td>{$first_name} {$last_name}<br />{$email}</td><td>{$title}</td><td>{$body}</td><td>{$ip}</td><td>{$submitted}</td><td>{$num_flags}</td><td align='center'>";
            echo "<form method='post'><input type='hidden' name='action' value='remove_request' /><input type='hidden' name='pb_request_id' value='{$req_id}' /><input type='submit' class='button-secondary' value='Remove' /></form>";
            echo "<form method='post'><input type='hidden' name='action' value='clear_flags' /><input type='hidden' name='pb_request_id' value='{$req_id}' /><input type='submit' class='button-secondary' value='Clear Flags' /></form>";
            echo "<form method='post'><input type='hidden' name='action' value='remove_ban' /><input type='hidden' name='pb_request_id' value='{$req_id}' /><input type='hidden' name='pb_ip_address' value='{$ip}' /><input type='submit' class='button-secondary' value='Remove/Ban' /></form>";
            echo "</td></tr>";
        }
    } else {
        echo "<tr><td colspan='8'>There are currently no flagged prayer requests.</td></tr>";
    }
    ?>
</table>
</div>
</div>
<?php 
}
function display_pb_requests($atts)
{
    global $wpdb;
    global $post;
    $page_id = $post->ID;
    $permalink = get_permalink($page_id);
    if (isset($_GET['req']) && is_numeric($_GET['req'])) {
        //VIEW DETAILS OUTPUT
        $req_id = $_GET['req'];
        $prayer_request = $wpdb->get_row("SELECT first_name,last_name,anon,title,body FROM " . $wpdb->prefix . "pb_requests WHERE id='{$req_id}'");
        $first_name = stripslashes($prayer_request->first_name);
        $last_name = stripslashes($prayer_request->last_name);
        $anon = $prayer_request->anon;
        if ($prayer_request->title != "") {
            $title = stripslashes($prayer_request->title);
        } else {
            $title = "<em>" . PB_REQ_UNTITLED . "</em>";
        }
        $body = prePgphOutput($prayer_request->body);
        if ($anon != 1) {
            $display_name = $first_name . " " . $last_name;
        } else {
            $display_name = "<em>" . PB_REQ_ANONYMOUS . "</em>";
        }
        $view_details_output = "<div class='praybox_wrapper' rel='{$req_id}'>" . "<div class='pbx-link'><a href='{$permalink}'><< " . PB_LINK_BACK . "</a></div>" . "<h2 class='pbx-title'>{$title}</h2>" . "<div class='pbx-formfield'><label>" . PB_REQ_SUBMITTED_BY . ":</label> {$display_name}</div>" . "<div class='pbx-formfield'><label>" . PB_REQ_REQUEST . ":</label> {$body}</div>" . "<div class='pbx-formfield pbx-formfield-footer'>" . "<button type='button' class='flag-btn flag-abuse'>" . PB_FLAG_ABUSE . "</button>" . "<button type='button' class='flag-btn flag-prayed'>" . PB_FLAG_PRAYED . "</button>" . "</div>";
        /*
        	$view_details_output.="<div class='pbx-formfield'><form class='pbx-flag' method='post' action='$permalink'><input type='hidden' name='action' value='flag_this_request' /><input type='hidden' name='pb_request_id' value='$req_id' /><input type='submit' value='".PB_FLAG_ABUSE."' /></form>";
        	$view_details_output.="<form class='pbx-prayed' method='post' action='$permalink'><input type='hidden' name='action' value='prayed_for' /><input type='hidden' name='pb_request_id' value='$req_id' /><input type='submit' value='".PB_FLAG_PRAYED."' /></form></div>";
        */
        $view_details_output .= "</div>";
        return $view_details_output;
    } elseif (isset($_POST['action']) && $_POST['action'] == "flag_this_request") {
        /* NOW IN AJAX
        //PRAYED FOR INSERT SCRIPT AND CONTENT
        	$req_id=$_POST['pb_request_id'];
        	$time_now=time();
        	$ip_address=$_SERVER['REMOTE_ADDR'];
        	$wpdb->insert($wpdb->prefix.'pb_flags',array('request_id'=>$req_id,'flagged_date'=>$time_now,'ip_address'=>$ip_address));
        
        	$flag_msg=(isIPBanned($ip_address)=="pass")? PB_THANK_YOU_FLAGGER : PB_ILLEGAL_FLAGGER;
        
        	$flag_action_output="<div id='praybox_wrapper'>";
        	$flag_action_output.="<div class='pbx-link'><a href='$permalink'><< ".PB_LINK_BACK."</a></div>";
        	$flag_action_output.="<p class='pbx-text'>$flag_msg</p>";
        	$flag_action_output.="</div>";
        	
        return $flag_action_output;
        */
    } elseif (isset($_POST['action']) && $_POST['action'] == "prayed_for") {
        /* NOW IN AJAX
        //PRAYED FOR INSERT SCRIPT AND CONTENT
        	$req_id=$_POST['pb_request_id'];
        	$time_now=time();
        	$ip_address=$_SERVER['REMOTE_ADDR'];
        	$wpdb->insert($wpdb->prefix.'pb_prayedfor',array('request_id'=>$req_id,'prayedfor_date'=>$time_now,'ip_address'=>$ip_address));
        		
        	$view_details_output="<div id='praybox_wrapper'>";
        	$view_details_output.="<div class='pbx-link'><a href='$permalink'><< ".PB_LINK_BACK."</a></div>";
        	$view_details_output.="<p class='pbx-text'>".PB_THANK_YOU_PRAYER."</p>";
        	$view_details_output.="</div>";
        
        return $view_details_output;
        */
    } else {
        //REQUEST LIST OUTPUT CONTENT
        if (isset($_GET['page'])) {
            $page = $_GET['page'];
        } else {
            $page = 1;
        }
        return displayRequests($page, $permalink);
    }
}