Beispiel #1
0
function initiate_watch_list($pet_wk = 0, $type = "")
{
    global $session;
    global $database;
    global $am_i_local;
    //first thing's first, get a list of all watch lists that are eligible
    $all_eligile_watch_lists = Watch_List::find_by_sql("SELECT DISTINCT `wl`.* FROM `user` AS `u` \n\t\tINNER JOIN `watch_list` AS `wl` ON `wl`.`user_wk` = `u`.`user_wk`\n\t\tWHERE `u`.`is_deleted` = 0 AND `u`.`is_notifications_enabled` = 1;");
    //we retain an array of all user_wk's that are eligible to receive an e-mail
    $temp_users = array();
    //now that we have a list of all of them, we need to loop through each item
    //and we determine wether or not there are any people who should receive an e-mail
    foreach ($all_eligile_watch_lists as $all_eligile_watch_lists) {
        if (Watch_List::is_watch_list_eligible((int) $pet_wk, (int) $all_eligile_watch_lists->watch_list_wk)) {
            $temp_users[] = $all_eligile_watch_lists->user_wk;
        }
    }
    //by this point, we have a list of all users that are eligible to receive an e-mail
    //now, we need to de-dupe the list by people in case someone is in the list more than once
    $temp_users = array_unique($temp_users);
    //at this point, we have a list of all users to send an e-mail to
    foreach ($temp_users as $user) {
        //compose the email
        //only if we're not in a local environment
        if (!$am_i_local) {
            $to = $user->email_address;
            $subject = "Watch List Alert!";
            $message = "\n\t\t\t\t<html>\n\t\t\t\t\t<head>\n\t\t\t\t\t\t<title>" . $subject . "</title>\n\t\t\t\t\t</head>\n\t\t\t\t\t<body>\n\t\t\t\t\t\t<p><strong>" . $user->username . "</strong>, we have an " . $type . " pet that meets at least one of your Watch Lists!</p>\n\t\t\t\t\t\t<p>Please the link below to view the pet!</p>\n\t\t\t\t\t\t<p><a href=\"" . ROOT_URL . "view_pet.php?pet_wk=" . $pet_wk . "\">" . ROOT_URL . "rview_pet.php?pet_wk=" . $pet_wk . "</a></p>\n\t\t\t\t\t\t<br /><br />\n\t\t\t\t\t\t<p>If you no longer wish to receive these e-mails, you can either delete your watch list or opt out of all e-mail notifications through your account.</p>\n\t\t\t\t\t</body>\n\t\t\t\t</html>\n\t\t\t\t";
            // Always set content-type when sending HTML email
            $headers = "MIME-Version: 1.0" . "\r\n";
            $headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
            // More headers
            $headers .= 'From: <support@pet_adoption.com>' . "\r\n";
            //send out the email
            mail($to, $subject, $message, $headers);
        }
    }
    //we're done!
}
        } else {
            //if we're here, we actually need to delete it
            //and all the entries from it
            $sql = "DELETE FROM `watch_list_detail` WHERE `watch_list_wk` = " . $to_delete->watch_list_wk . ";";
            if ($to_delete->delete() && $database->query($sql)) {
                $session->message("Your watch list was successfully removed!");
            } else {
                $session->message("There was an error removing the watch list entry.");
            }
        }
    }
    //redirect back
    redirect_head(file_name_without_get());
}
//grab all the watch lists for this user
$watch_lists = Watch_List::find_by_sql("SELECT * FROM `watch_list` WHERE `user_wk` = " . $user->user_wk . ";");
$page->body = "<p><a href=\"create_watch_list.php\">Add new Watch List</a></p><br>";
//if there are records returned
if ($watch_lists) {
    $page->body .= "<p><em>Your current watch lists.</em><br />";
    foreach ($watch_lists as $list) {
        //var_dump($list);
        $page->body .= "<br /><strong>" . $list->name . "</strong><br />";
        $page->body .= "<a href=\"" . file_name_without_get() . "?delete_watch_list_wk=" . $list->watch_list_wk . "\" style=\"margin-left:1.5em;\" >Delete</a><br />";
    }
    $page->body .= "</p>";
} else {
    //there are no watch lists returned
    $page->body .= "<p><em>You currently don't have any watch lists.</em></p>";
}
//header template