本文整理汇总了PHP中task::get_task_status_in_set_sql方法的典型用法代码示例。如果您正苦于以下问题:PHP task::get_task_status_in_set_sql方法的具体用法?PHP task::get_task_status_in_set_sql怎么用?PHP task::get_task_status_in_set_sql使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类task
的用法示例。
在下文中一共展示了task::get_task_status_in_set_sql方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: show_tasks
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: get_list_filter
public static function get_list_filter($filter = array())
{
$current_user =& singleton("current_user");
// If they want starred, load up the taskID filter element
if ($filter["starred"]) {
foreach ((array) $current_user->prefs["stars"]["task"] as $k => $v) {
$filter["taskID"][] = $k;
}
is_array($filter["taskID"]) or $filter["taskID"][] = -1;
}
// Filter on taskID
$filter["taskID"] and $sql[] = sprintf_implode("task.taskID = %d", $filter["taskID"]);
// No point continuing if primary key specified, so return
if ($filter["taskID"]) {
return array($sql, "");
}
// This takes care of projectID singular and plural
has("project") and $projectIDs = project::get_projectID_sql($filter);
$projectIDs and $sql["projectIDs"] = $projectIDs;
// project name or project nick name or project id
$filter["projectNameMatches"] and $sql[] = sprintf_implode("project.projectName LIKE '%%%s%%'\n OR project.projectShortName LIKE '%%%s%%'\n OR project.projectID = %d", $filter["projectNameMatches"], $filter["projectNameMatches"], $filter["projectNameMatches"]);
list($ts_open, $ts_pending, $ts_closed) = task::get_task_status_in_set_sql();
// New Tasks
if ($filter["taskDate"] == "new") {
$past = date("Y-m-d", mktime(0, 0, 0, date("m"), date("d") - 2, date("Y"))) . " 00:00:00";
date("D") == "Mon" and $past = date("Y-m-d", mktime(0, 0, 0, date("m"), date("d") - 4, date("Y"))) . " 00:00:00";
$sql[] = prepare("(task.taskStatus NOT IN (" . $ts_closed . ") AND task.dateCreated >= '" . $past . "')");
// Due Today
} else {
if ($filter["taskDate"] == "due_today") {
$sql[] = "(task.taskStatus NOT IN (" . $ts_closed . ") AND task.dateTargetCompletion = '" . date("Y-m-d") . "')";
// Overdue
} else {
if ($filter["taskDate"] == "overdue") {
$sql[] = "(task.taskStatus NOT IN (" . $ts_closed . ")\n AND \n (task.dateTargetCompletion IS NOT NULL AND task.dateTargetCompletion != '' AND '" . date("Y-m-d") . "' > task.dateTargetCompletion))";
// Date Created
} else {
if ($filter["taskDate"] == "d_created") {
$filter["dateOne"] and $sql[] = prepare("(task.dateCreated >= '%s')", $filter["dateOne"]);
$filter["dateTwo"] and $sql[] = prepare("(task.dateCreated <= '%s 23:59:59')", $filter["dateTwo"]);
// Date Assigned
} else {
if ($filter["taskDate"] == "d_assigned") {
$filter["dateOne"] and $sql[] = prepare("(task.dateAssigned >= '%s')", $filter["dateOne"]);
$filter["dateTwo"] and $sql[] = prepare("(task.dateAssigned <= '%s 23:59:59')", $filter["dateTwo"]);
// Date Target Start
} else {
if ($filter["taskDate"] == "d_targetStart") {
$filter["dateOne"] and $sql[] = prepare("(task.dateTargetStart >= '%s')", $filter["dateOne"]);
$filter["dateTwo"] and $sql[] = prepare("(task.dateTargetStart <= '%s')", $filter["dateTwo"]);
// Date Target Completion
} else {
if ($filter["taskDate"] == "d_targetCompletion") {
$filter["dateOne"] and $sql[] = prepare("(task.dateTargetCompletion >= '%s')", $filter["dateOne"]);
$filter["dateTwo"] and $sql[] = prepare("(task.dateTargetCompletion <= '%s')", $filter["dateTwo"]);
// Date Actual Start
} else {
if ($filter["taskDate"] == "d_actualStart") {
$filter["dateOne"] and $sql[] = prepare("(task.dateActualStart >= '%s')", $filter["dateOne"]);
$filter["dateTwo"] and $sql[] = prepare("(task.dateActualStart <= '%s')", $filter["dateTwo"]);
// Date Actual Completion
} else {
if ($filter["taskDate"] == "d_actualCompletion") {
$filter["dateOne"] and $sql[] = prepare("(task.dateActualCompletion >= '%s')", $filter["dateOne"]);
$filter["dateTwo"] and $sql[] = prepare("(task.dateActualCompletion <= '%s')", $filter["dateTwo"]);
}
}
}
}
}
}
}
}
}
// Task status filtering
$filter["taskStatus"] and $sql[] = task::get_taskStatus_sql($filter["taskStatus"]);
$filter["taskTypeID"] and $sql[] = sprintf_implode("task.taskTypeID = '%s'", $filter["taskTypeID"]);
// Filter on %taskName%
$filter["taskName"] and $sql[] = sprintf_implode("task.taskName LIKE '%%%s%%'", $filter["taskName"]);
// If personID filter
$filter["personID"] and $sql["personID"] = sprintf_implode("IFNULL(task.personID,0) = %d", $filter["personID"]);
$filter["creatorID"] and $sql["creatorID"] = sprintf_implode("IFNULL(task.creatorID,0) = %d", $filter["creatorID"]);
$filter["managerID"] and $sql["managerID"] = sprintf_implode("IFNULL(task.managerID,0) = %d", $filter["managerID"]);
// If tags filter
if ($filter["tags"] && is_array($filter["tags"])) {
foreach ((array) $filter["tags"] as $k => $tag) {
$tag and $tags[] = $tag;
}
$tags and $sql[] = sprintf_implode("seltag.name = '%s'", $tags);
$having = prepare("HAVING count(DISTINCT seltag.name) = %d", count($tags));
}
// These filters are for the time sheet dropdown list
if ($filter["taskTimeSheetStatus"] == "open") {
unset($sql["personID"]);
$sql[] = prepare("(task.taskStatus NOT IN (" . $ts_closed . "))");
} else {
if ($filter["taskTimeSheetStatus"] == "mine") {
$current_user =& singleton("current_user");
unset($sql["personID"]);
$sql[] = prepare("((task.taskStatus NOT IN (" . $ts_closed . ")) AND task.personID = %d)", $current_user->get_id());
//.........这里部分代码省略.........
示例3: task_stats
function task_stats()
{
$db = new db_alloc();
list($ts_open, $ts_pending, $ts_closed) = task::get_task_status_in_set_sql();
// Get total amount of current tasks for every person
$q = "SELECT person.personID, person.username, count(taskID) as tally\n FROM task \n LEFT JOIN person ON task.personID = person.personID \n WHERE task.taskStatus NOT IN (" . $ts_closed . ")\n GROUP BY person.personID";
$db->query($q);
while ($db->next_record()) {
$this->tasks["current"][$db->f("personID")] = $db->f("tally");
$this->tasks["current"]["total"] += $db->f("tally");
}
// Get total amount of completed tasks for every person
$q = "SELECT person.personID, person.username, count(taskID) as tally\n FROM task \n LEFT JOIN person ON task.personID = person.personID \n WHERE task.taskStatus NOT IN (" . $ts_closed . ")\n GROUP BY person.personID";
$db->query($q);
while ($db->next_record()) {
$this->tasks["completed"][$db->f("personID")] = $db->f("tally");
$this->tasks["completed"]["total"] += $db->f("tally");
}
// Get total amount of all tasks for every person
$q = "SELECT person.personID, person.username, count(taskID) as tally\n FROM task \n LEFT JOIN person ON task.personID = person.personID \n GROUP BY person.personID";
$db->query($q);
while ($db->next_record()) {
$this->tasks["total"][$db->f("personID")] = $db->f("tally");
$this->tasks["total"]["total"] += $db->f("tally");
}
// date from which a task is counted as being new. if monday then date back to friday, else the previous day
$days = date("w") == 1 ? 3 : 1;
$date = date("Y-m-d", mktime(0, 0, 0, date("m"), date("d") - $days, date("Y")));
// Get total amount of completed tasks for every person
$q = prepare("SELECT person.personID, person.username, count(taskID) as tally, task.dateCreated\n FROM task \n LEFT JOIN person ON task.personID = person.personID \n WHERE ('%s' <= task.dateCreated)\n GROUP BY person.personID", $date);
$db->query($q);
while ($db->next_record()) {
$d = format_date("Y-m-d", $db->f("dateCreated"));
$this->tasks["new"][$db->f("personID")][$d] = $db->f("tally");
$v += $db->f("tally");
$this->tasks["new"]["total"][$d] = $v;
}
return $this->tasks;
}
示例4: get_cal_tasks_to_complete
function get_cal_tasks_to_complete()
{
list($ts_open, $ts_pending, $ts_closed) = task::get_task_status_in_set_sql();
// Select all tasks which are targetted for completion
$query = prepare("SELECT * \n FROM task \n WHERE personID = %d \n AND dateTargetCompletion >= '%s' \n AND dateTargetCompletion < '%s'\n AND taskStatus NOT IN (" . $ts_closed . ")", $this->person->get_id(), $this->first_date, $this->last_date);
$this->db->query($query);
$tasks_to_complete = array();
while ($row = $this->db->next_record()) {
$tasks_to_complete[$row["dateTargetCompletion"]][] = $row;
}
return $tasks_to_complete;
}
示例5: has_messages
function has_messages()
{
if (is_object($this)) {
list($ts_open, $ts_pending, $ts_closed) = task::get_task_status_in_set_sql();
$db = new db_alloc();
$query = prepare("SELECT * \n FROM task \n WHERE taskTypeID = 'Message'\n AND personID = %d\n AND taskStatus NOT IN (" . $ts_closed . ")", $this->get_id());
$db->query($query);
if ($db->next_record()) {
return true;
}
}
return false;
}