Admin – Honor Points Disapproval

[insert_php]
define(‘DONOTCACHEPAGE’, true);

function get_the_user_ip() {
if ( ! empty( $_SERVER[‘HTTP_CLIENT_IP’] ) ) {
//check ip from share internet
$ip = $_SERVER[‘HTTP_CLIENT_IP’];
} elseif ( ! empty( $_SERVER[‘HTTP_X_FORWARDED_FOR’] ) ) {
//to check ip is pass from proxy
$ip = $_SERVER[‘HTTP_X_FORWARDED_FOR’];
} else {
$ip = $_SERVER[‘REMOTE_ADDR’];
}
return $ip;
}

$current_user = wp_get_current_user();

// Create connection
$conn = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
// Check connection
if ($conn->connect_error) {
die(“Connection failed: ” . $conn->connect_error);
}

$hasError = false;
$i = 0;
$disapprovedids = array();
if(isset($_POST[‘approve’])) {
if (!empty($_POST[‘checklist’]) && is_array($_POST[‘checklist’])) {
foreach($_POST[‘checklist’] as $disapprovedid) {
$approvalnotesarray = $_POST[‘approvalnotes’];
if (isset($approvalnotesarray[$disapprovedid])) {
$approvalnotes= trim($approvalnotesarray[$disapprovedid]);
if ($approvalnotes!== ”) {
//echo “id ” . $disapprovedid . ” notes ” . $approvalnotesarray[$disapprovedid] . “
“;
$sql = “UPDATE aylus_HonorPoints SET approved=0, approvalnotes= ‘” . $approvalnotesarray[$disapprovedid] .
“‘, approvalip = ‘” . get_the_user_ip() .
“‘, approvaluserid = ‘” . $current_user->ID .
“‘, approvalusername = ‘” . $current_user->user_login .
“‘, approvaluseremail = ‘” . $current_user->user_email .
“‘ WHERE approved is null and id=” . $disapprovedid;
//echo $sql . “
“;
$conn->query($sql);
$disapprovedids[$i++] = $disapprovedid;
}
else
{
$hasError = true;
}
}
}
}
}
if ($hasError)
{
echo ‘

Please enter a memo for the reason of disapproval.

‘;
}

echo ‘

Pending Requests

‘;
$sql = “SELECT id, name, eventdate, branch, requestemail, points, description FROM aylus_HonorPoints where approved is null order by id”;
$result = $conn->query($sql);

if ($result->num_rows > 0) {
echo ‘

‘;
echo ‘

‘;
echo ‘

‘;
echo ‘

‘;
echo ‘

‘;
// output data of each row
while($row = $result->fetch_assoc()) {
echo ‘

‘;
}
echo ‘

‘;
echo ‘

Disapproval Memo Name Event Date Branch Submitter Email Points Description
‘ . ‘ ‘ . ‘ ‘ . $row[“name”] . ‘ ‘ . date(“m/d/Y”, strtotime($row[“eventdate”])) . ‘ ‘ . $row[“branch”] . ‘ ‘ . $row[“requestemail”] . ‘ ‘ . $row[“points”] . ‘ ‘ . $row[“description”] . ‘

‘;
echo ‘

‘;
echo ‘

Note: An email will be sent to the submitter upon disapproval with the disapproval memo. The memo could also be used to provide some suggestions for re-submitting.

‘;
echo ‘

‘;
echo ‘‘;
echo ‘

‘;
echo ‘

‘;
} else {
echo “

No request pending approval.

“;
}

echo ‘

 


‘;
echo ‘

Disapproved Requests

‘;
$sql = “SELECT id, subid, name, eventdate, branch, requestemail, points, category, shortdescription, description, submitterip, userid, username, useremail, approved, approvalnotes, approvalip, approvaluserid, approvalusername, approvaluseremail FROM aylus_HonorPoints where approved = 0 order by eventdate”;
$result = $conn->query($sql);

if ($result->num_rows > 0) {
echo ‘

‘;
echo ‘

‘;
echo ‘

‘;
echo ‘

‘;
// output data of each row
while($row = $result->fetch_assoc()) {
echo ‘

‘;
if (in_array($row[“id”], $disapprovedids)) {
$to = $row[“requestemail”];
$subject = ‘Honor Point Disapproval’;
$headers = “MIME-Version: 1.0\r\n”;
$headers .= ‘From: American Youth Leadership Foundation <' . $row["approvaluseremail"] . '>‘ . “\r\n”;
$headers .= ‘Reply-To: ‘ . $row[“approvaluseremail”] . “\r\n”;
$headers .= “Content-type: text/plain\r\n”;
$headers .= ‘Bcc: itdirector@aylfus.org’ . “\r\n”;
$message = ‘Dear ‘ . $row[“name”] . “,\r\n\r\n” .
‘Your request of ‘ . $row[“points”] . ‘ honor point(s) has been disapproved by ‘ . $row[“approvalusername”] . ‘ for the following reason:’ . “\r\n” .
$row[“approvalnotes”] . “\r\n\r\n” .
‘Event date: ‘ . date(“m/d/Y”, strtotime($row[“eventdate”])) . “\r\n” .
‘Event description: ‘ . $row[“description”] . “\r\n\r\n” .
“American Youth Leadership Foundation (US)” . “\r\n”;
mail($to, $subject, $message, $headers);
}
}
echo ‘

‘;
echo ‘

Name Event Date Branch Submitter Email Points Disapproved by Disapproval Memo Description
‘ . $row[“name”] . ‘ ‘ . date(“m/d/Y”, strtotime($row[“eventdate”])) . ‘ ‘ . $row[“branch”] . ‘ ‘ . $row[“requestemail”] . ‘ ‘ . $row[“points”] . ‘ ‘ . $row[“approvalusername”] . ‘ ‘ . $row[“approvalnotes”] . ‘ ‘ . $row[“description”] . ‘

‘;
echo ‘

‘;
} else {
echo “

No request disapproved.

“;
}

$conn->close();
[/insert_php]