本文整理汇总了PHP中task::read_db_record方法的典型用法代码示例。如果您正苦于以下问题:PHP task::read_db_record方法的具体用法?PHP task::read_db_record怎么用?PHP task::read_db_record使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类task
的用法示例。
在下文中一共展示了task::read_db_record方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: singleton
function show_tasks()
{
$current_user =& singleton("current_user");
global $tasks_date;
list($ts_open, $ts_pending, $ts_closed) = task::get_task_status_in_set_sql();
$q = prepare("SELECT * \n FROM task \n WHERE (task.taskStatus NOT IN (" . $ts_closed . ") AND task.taskTypeID = 'Message') \n AND (personID = %d) \n ORDER BY priority\n ", $current_user->get_id());
$db = new db_alloc();
$db->query($q);
while ($db->next_record()) {
$task = new task();
$task->read_db_record($db);
echo $br . $task->get_task_image() . $task->get_task_link(array("return" => "html"));
$br = "<br>";
}
}
示例2: while
while ($db->next_record()) {
$project = new project();
$project->read_db_record($db);
$parent_names[$project->get_id()] = $project->get_value('projectName');
}
} else {
if ($parentType == "task") {
if ($current_user->have_role("admin")) {
$query = "SELECT * FROM task";
} else {
$query = prepare("SELECT * FROM task WHERE personID=%d ORDER BY taskName", $personID);
}
$db->query($query);
while ($db->next_record()) {
$task = new task();
$task->read_db_record($db);
if (substr($task->get_value("taskStatus"), 0, 6) != "closed") {
$parent_names[$task->get_id()] = $task->get_value('taskName');
}
}
}
}
}
$TPL["parentType"] = $parentType;
$TPL["parentNameOptions"] = page::select_options($parent_names);
include_template("templates/reminderSelectParentM.tpl");
break;
case 3:
// reminder entry form
$reminder = new reminder();
if (isset($reminderID)) {
示例3: get_list
public static function get_list($_FORM)
{
$current_user =& singleton("current_user");
/*
* This is the definitive method of getting a list of tasks that need a sophisticated level of filtering
*
*/
list($filter, $having) = task::get_list_filter($_FORM);
$debug = $_FORM["debug"];
$debug and print "\n<pre>_FORM: " . print_r($_FORM, 1) . "</pre>";
$debug and print "\n<pre>filter: " . print_r($filter, 1) . "</pre>";
$_FORM["taskView"] or $_FORM["taskView"] = 'prioritised';
// Zero is a valid limit
if ($_FORM["limit"] || $_FORM["limit"] === 0 || $_FORM["limit"] === "0") {
$limit = prepare("limit %d", $_FORM["limit"]);
}
$_FORM["return"] or $_FORM["return"] = "html";
$_FORM["people_cache"] =& get_cached_table("person");
$_FORM["timeUnit_cache"] =& get_cached_table("timeUnit");
$_FORM["taskType_cache"] =& get_cached_table("taskType");
if ($_FORM["taskView"] == "prioritised") {
unset($filter["parentTaskID"]);
$order_limit = " " . $limit;
} else {
$order_limit = " ORDER BY projectName,taskName " . $limit;
}
// Get a hierarchical list of tasks
if (is_array($filter) && count($filter)) {
$f = " WHERE " . implode(" AND ", $filter);
}
$uid = sprintf("%d", $current_user->get_id());
$spread = sprintf("%d", config::get_config_item("taskPrioritySpread"));
$scale = sprintf("%d", config::get_config_item("taskPriorityScale"));
$scale_halved = sprintf("%d", config::get_config_item("taskPriorityScale") / 2);
$q = "SELECT task.*\n ,projectName\n ,projectShortName\n ,clientID\n ,projectPriority\n ,project.currencyTypeID as currency\n ,rate\n ,rateUnitID\n ,GROUP_CONCAT(pendingTask.pendingTaskID) as pendingTaskIDs\n ,GROUP_CONCAT(DISTINCT alltag.name SEPARATOR ', ') as tags\n FROM task\n LEFT JOIN project ON project.projectID = task.projectID\n LEFT JOIN projectPerson ON project.projectID = projectPerson.projectID AND projectPerson.personID = '" . $uid . "'\n LEFT JOIN pendingTask ON pendingTask.taskID = task.taskID\n LEFT JOIN tag alltag ON alltag.taskID = task.taskID\n LEFT JOIN tag seltag ON seltag.taskID = task.taskID\n " . $f . "\n GROUP BY task.taskID\n " . $having . "\n " . $order_limit;
$debug and print "\n<br>QUERY: " . $q;
$_FORM["debug"] and print "\n<br>QUERY: " . $q;
$db = new db_alloc();
$db->query($q);
while ($row = $db->next_record()) {
$task = new task();
$task->read_db_record($db);
$row["taskURL"] = $task->get_url();
$row["taskName"] = $task->get_name($_FORM);
$row["taskLink"] = $task->get_task_link($_FORM);
$row["project_name"] = $row["projectShortName"] or $row["project_name"] = $row["projectName"];
$row["projectPriority"] = $db->f("projectPriority");
has("project") and $row["projectPriorityLabel"] = project::get_priority_label($db->f("projectPriority"));
has("project") and list($row["priorityFactor"], $row["daysUntilDue"]) = $task->get_overall_priority($row["projectPriority"], $row["priority"], $row["dateTargetCompletion"]);
$row["taskTypeImage"] = $task->get_task_image();
$row["taskTypeSeq"] = $_FORM["taskType_cache"][$row["taskTypeID"]]["taskTypeSeq"];
$row["taskStatusLabel"] = $task->get_task_status("label");
$row["taskStatusColour"] = $task->get_task_status("colour");
$row["creator_name"] = $_FORM["people_cache"][$row["creatorID"]]["name"];
$row["manager_name"] = $_FORM["people_cache"][$row["managerID"]]["name"];
$row["assignee_name"] = $_FORM["people_cache"][$row["personID"]]["name"];
$row["closer_name"] = $_FORM["people_cache"][$row["closerID"]]["name"];
$row["estimator_name"] = $_FORM["people_cache"][$row["estimatorID"]]["name"];
$row["creator_username"] = $_FORM["people_cache"][$row["creatorID"]]["username"];
$row["manager_username"] = $_FORM["people_cache"][$row["managerID"]]["username"];
$row["assignee_username"] = $_FORM["people_cache"][$row["personID"]]["username"];
$row["closer_username"] = $_FORM["people_cache"][$row["closerID"]]["username"];
$row["estimator_username"] = $_FORM["people_cache"][$row["estimatorID"]]["username"];
$row["newSubTask"] = $task->get_new_subtask_link();
$_FORM["showPercent"] and $row["percentComplete"] = $task->get_percentComplete();
$_FORM["showTimes"] and $row["timeActual"] = $task->get_time_billed() / 60 / 60;
$row["rate"] = page::money($row["currency"], $row["rate"], "%mo");
$row["rateUnit"] = $_FORM["timeUnit_cache"][$row["rateUnitID"]]["timeUnitName"];
$row["priorityLabel"] = $task->get_priority_label();
if (!$_FORM["skipObject"]) {
$_FORM["return"] == "array" and $row["object"] = $task;
}
$row["padding"] = $_FORM["padding"];
$row["taskID"] = $task->get_id();
$row["parentTaskID"] = $task->get_value("parentTaskID");
$row["parentTaskID_link"] = "<a href='" . $task->get_url(false, $task->get_value("parentTaskID")) . "'>" . $task->get_value("parentTaskID") . "</a>";
$row["timeLimitLabel"] = $row["timeBestLabel"] = $row["timeWorstLabel"] = $row["timeExpectedLabel"] = $row["timeActualLabel"] = "";
$row["timeLimit"] !== NULL and $row["timeLimitLabel"] = seconds_to_display_format($row["timeLimit"] * 60 * 60);
$row["timeBest"] !== NULL and $row["timeBestLabel"] = seconds_to_display_format($row["timeBest"] * 60 * 60);
$row["timeWorst"] !== NULL and $row["timeWorstLabel"] = seconds_to_display_format($row["timeWorst"] * 60 * 60);
$row["timeExpected"] !== NULL and $row["timeExpectedLabel"] = seconds_to_display_format($row["timeExpected"] * 60 * 60);
$row["timeActual"] !== NULL and $row["timeActualLabel"] = seconds_to_display_format($row["timeActual"] * 60 * 60);
if ($_FORM["showComments"] && ($comments = comment::util_get_comments("task", $row["taskID"]))) {
$row["comments"] = $comments;
}
if ($_FORM["taskView"] == "byProject") {
$rows[$task->get_id()] = array("parentTaskID" => $row["parentTaskID"], "row" => $row);
} else {
if ($_FORM["taskView"] == "prioritised") {
$rows[$row["taskID"]] = $row;
if (is_array($rows) && count($rows)) {
uasort($rows, array("task", "priority_compare"));
}
}
}
}
if ($_FORM["taskView"] == "byProject") {
$parentTaskID = $_FORM["parentTaskID"] or $parentTaskID = 0;
$t = task::get_recursive_child_tasks($parentTaskID, (array) $rows);
list($tasks, $done) = task::build_recursive_task_list($t, $_FORM);
//.........这里部分代码省略.........
示例4: singleton
function email_move_status_to_manager($direction, $info)
{
$current_user =& singleton("current_user");
$project = $this->get_foreign_object("project");
$projectManagers = $project->get_timeSheetRecipients();
// Can get forwards to "manager" only from "edit" or "rejected"
if ($direction == "forwards") {
//forward to manager requires the timesheet to be owned by the current
//user or TIME_INVOICE_TIMESHEETS
//project managers may not do this
if (!($this->get_value("personID") == $current_user->get_id() || $this->have_perm(PERM_TIME_INVOICE_TIMESHEETS))) {
alloc_error("You do not have permission to change this timesheet.");
}
$this->set_value("dateSubmittedToManager", date("Y-m-d"));
$this->set_value("dateRejected", "");
// Check for time overrun
$overrun_tasks = array();
$db = new db_alloc();
$task_id_query = prepare("SELECT DISTINCT taskID FROM timeSheetItem WHERE timeSheetID=%d ORDER BY dateTimeSheetItem, timeSheetItemID", $this->get_id());
$db->query($task_id_query);
while ($db->next_record()) {
$task = new task();
$task->read_db_record($db);
$task->select();
if ($task->get_value('timeLimit') > 0) {
$total_billed_time = $task->get_time_billed(false) / 3600;
if ($total_billed_time > $task->get_value('timeLimit')) {
$overrun_tasks[] = sprintf(" * %d %s (limit: %.02f hours, billed so far: %.02f hours)", $task->get_id(), $task->get_value('taskName'), $task->get_value('timeLimit'), $total_billed_time);
}
}
$hasItems = true;
}
if (!$hasItems) {
return alloc_error('Unable to submit time sheet, no items have been added.');
}
if (count($overrun_tasks)) {
$overrun_notice = "\n\nThe following tasks billed on this timesheet have exceeded their time estimates:\n";
$overrun_notice .= implode("\n", $overrun_tasks);
}
foreach ($info["projectManagers"] as $pm) {
$email = array();
$email["type"] = "timesheet_submit";
$email["to"] = $info["people_cache"][$pm]["emailAddress"];
$email["subject"] = commentTemplate::populate_string(config::get_config_item("emailSubject_timeSheetToManager"), "timeSheet", $this->get_id());
$email["body"] = <<<EOD
To Manager: {$info["people_cache"][$pm]["name"]}
Time Sheet: {$info["url"]}
Submitted By: {$info["timeSheet_personID_name"]}
For Project: {$info["projectName"]}
A timesheet has been submitted for your approval. If it is satisfactory,
submit the timesheet to the Administrator. If not, make it editable again for
re-submission.{$overrun_notice}
EOD;
$this->get_value("billingNote") and $email["body"] .= "\n\nBilling Note: " . $this->get_value("billingNote");
$msg[] = $this->shootEmail($email);
}
// Can get backwards to "manager" only from "admin"
} else {
if ($direction == "backwards") {
//admin->manager requires APPROVE_TIMESHEETS
if (!$this->have_perm(PERM_TIME_INVOICE_TIMESHEETS)) {
//no permission, go away
alloc_error("You do not have permission to change this timesheet.");
}
$email = array();
$email["type"] = "timesheet_reject";
$email["to"] = $info["approvedByManagerPersonID_email"];
$email["subject"] = commentTemplate::populate_string(config::get_config_item("emailSubject_timeSheetFromAdministrator"), "timeSheet", $this->get_id());
$email["body"] = <<<EOD
To Manager: {$info["approvedByManagerPersonID_name"]}
Time Sheet: {$info["url"]}
Submitted By: {$info["timeSheet_personID_name"]}
For Project: {$info["projectName"]}
Rejected By: {$info["people_cache"][$current_user->get_id()]["name"]}
EOD;
$this->get_value("billingNote") and $email["body"] .= "Billing Note: " . $this->get_value("billingNote");
$msg[] = $this->shootEmail($email);
$this->set_value("dateRejected", date("Y-m-d"));
}
}
$this->set_value("status", "manager");
$this->set_value("dateSubmittedToAdmin", "");
$this->set_value("approvedByAdminPersonID", "");
return $msg;
}