function show_items($template_name) { global $TPL; global $db; global $db2; $current_user =& singleton("current_user"); $today = date("Y") . "-" . date("m") . "-" . date("d"); $dbUsername = new db_alloc(); $db = new db_alloc(); $db2 = new db_alloc(); $db->query("select * from item order by itemName"); while ($db->next_record()) { $i++; $item = new item(); $item->read_db_record($db); $db2->query("select * from loan where itemID=" . $item->get_id() . " and dateReturned='0000-00-00'"); $db2->next_record(); $loan = new loan(); $loan->read_db_record($db2); $item->set_values(); // you need to have this repeated here for the a href bit below. if ($loan->get_value("dateReturned") == "0000-00-00") { if ($loan->have_perm(PERM_READ_WRITE)) { // if item is overdue if ($loan->get_value("dateToBeReturned") < $today) { $ret = "Return Now!"; } else { $ret = "Return"; } $TPL["itemAction"] = "<td><a href=\"" . $TPL["url_alloc_item"] . "itemID=" . $TPL["itemID"] . "&return=true\">{$ret}</a></td>"; } else { // if you don't have permission to borrow or return item. $TPL["itemAction"] = "<td> </td>"; } $TPL["status"] = "Due " . $loan->get_value("dateToBeReturned"); $dbUsername->query("select username from person where personID=" . $loan->get_value("personID")); $dbUsername->next_record(); $TPL["person"] = "from " . $dbUsername->f("username"); } else { // if the item is available $TPL["status"] = "Available"; $TPL["person"] = ""; $TPL["itemAction"] = "<td><a href=\"" . $TPL["url_alloc_item"] . "itemID=" . $TPL["itemID"] . "&borrow=true\">Borrow</a></td>"; $TPL["dueBack"] = ""; } $loan->set_values(); $item->set_values(); include_template($template_name); } }
function show_overdue($template_name) { global $db; global $TPL; $current_user =& singleton("current_user"); $db = new db_alloc(); $temp = mktime(0, 0, 0, date("m"), date("d"), date("Y")); $today = date("Y", $temp) . "-" . date("m", $temp) . "-" . date("d", $temp); $q = prepare("SELECT itemName,itemType,item.itemID,dateBorrowed,dateToBeReturned,loan.personID \n FROM loan,item \n WHERE dateToBeReturned < '%s' \n\t\t\t\t\t AND dateReturned = '0000-00-00' \n\t\t\t\t\t AND item.itemID = loan.itemID\n ", $today); if (!have_entity_perm("loan", PERM_READ, $current_user, false)) { $q .= prepare("AND loan.personID = %d", $current_user->get_id()); } $db->query($q); while ($db->next_record()) { $i++; $item = new item(); $loan = new loan(); $item->read_db_record($db); $loan->read_db_record($db); $item->set_values(); $loan->set_values(); $person = new person(); $person->set_id($loan->get_value("personID")); $person->select(); $TPL["person"] = $person->get_name(); $TPL["overdue"] = "<a href=\"" . $TPL["url_alloc_item"] . "itemID=" . $item->get_id() . "&return=true\">Overdue!</a>"; include_template($template_name); } }
$loan->save(); alloc_redirect($TPL["url_alloc_loanAndReturn"]); } } if ($_POST["returnItem"]) { $dbTemp = new db_alloc(); $dbTemp->query("select * from loan where itemID=%d and dateReturned='0000-00-00'", $itemID); $db = new db_alloc(); $db->query("select * from loan where loan.itemID=%d and dateBorrowed>dateReturned", $itemID); $db->next_record(); $loan->set_id($db->f("loanID")); if ($loan->select()) { $loan->set_value("dateReturned", $today); $loan->set_value("itemID", $itemID); // check to see if admin/manager returning someone elses item, and sent email if ($loan->get_value("personID") != $current_user->get_id()) { if ($current_user->have_role("admin") || $current_user->have_role("manage")) { $person = new person(); $person->set_id($loan->get_value("personID")); $person->select(); $loan->save(); } } else { $loan->save(); } } alloc_redirect($TPL["url_alloc_loanAndReturn"]); } if ($_GET["return"]) { include_template("templates/itemReturnM.tpl"); } else {
$row["idx"] = $hit->id; $author = $item->get_value("itemAuthor"); $author and $author = " by " . $author; $row["title"] = $item->get_id() . " " . $item->get_link() . $author; $row["score"] = sprintf('%d%%', $hit->score * 100); $row["desc"] = page::htmlentities($d->getFieldValue('desc')); // get availability of loan $db2 = new db_alloc(); $query = prepare("SELECT * FROM loan WHERE itemID = %d AND dateReturned='0000-00-00'", $item->get_id()); $db2->query($query); if ($db2->next_record()) { $loan = new loan(); $loan->read_db_record($db2); if ($loan->have_perm(PERM_READ_WRITE)) { // if item is overdue if ($loan->get_value("dateToBeReturned") < $today) { $status = "Overdue"; } else { $status = "Due on " . $loan->get_value("dateToBeReturned"); } $row["related"] = $status . " <a href=\"" . $TPL["url_alloc_item"] . "itemID=" . $item->get_id() . "&return=true\">Return</a>"; // Else you dont have permission to loan or return so just show status } else { $name = page::htmlentities($p[$loan->get_value("personID")]["name"]); if ($loan->get_value("dateToBeReturned") < $today) { $row["related"] = "Overdue from " . $name; } else { $row["related"] = "Due from " . $name . " on " . $loan->get_value("dateToBeReturned"); } } } else {