本文整理汇总了PHP中ProjectTasks::count方法的典型用法代码示例。如果您正苦于以下问题:PHP ProjectTasks::count方法的具体用法?PHP ProjectTasks::count怎么用?PHP ProjectTasks::count使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ProjectTasks
的用法示例。
在下文中一共展示了ProjectTasks::count方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: multi_task_action
function multi_task_action()
{
ajx_current("empty");
$ids = explode(',', array_var($_POST, 'ids'));
$action = array_var($_POST, 'action');
$options = array_var($_POST, 'options');
if (!is_array($ids) || trim(array_var($_POST, 'ids')) == '' || count($ids) <= 0) {
flash_error(lang('no items selected'));
return;
}
$count_tasks = ProjectTasks::count('object_id in (' . implode(',', $ids) . ')');
$tasksToReturn = array();
$showSuccessMessage = true;
try {
DB::beginWork();
foreach ($ids as $id) {
$task = Objects::findObject($id);
switch ($action) {
case 'complete':
if ($task->canEdit(logged_user())) {
$task->completeTask($options);
// if task is repetitive, generate a complete instance of this task and modify repeat values
if ($task->isRepetitive()) {
$complete_last_task = false;
// calculate next repetition date
$opt_rep_day = array('saturday' => false, 'sunday' => false);
$new_dates = $this->getNextRepetitionDates($task, $opt_rep_day, $new_st_date, $new_due_date);
// if this is the last task of the repetetition, complete it, do not generate a new instance
if ($task->getRepeatNum() > 0) {
$task->setRepeatNum($task->getRepeatNum() - 1);
if ($task->getRepeatNum() == 0) {
$complete_last_task = true;
}
}
if (!$complete_last_task && $task->getRepeatEnd() instanceof DateTimeValue) {
if ($task->getRepeatBy() == 'start_date' && array_var($new_dates, 'st') > $task->getRepeatEnd() || $task->getRepeatBy() == 'due_date' && array_var($new_dates, 'due') > $task->getRepeatEnd()) {
$complete_last_task = true;
}
}
if (!$complete_last_task) {
// generate new pending task
$new_task = $task->cloneTask(array_var($new_dates, 'st'), array_var($new_dates, 'due'));
$reload_view = true;
}
}
$tasksToReturn[] = $task->getArrayInfo();
}
break;
case 'delete':
if ($task->canDelete(logged_user())) {
$tasksToReturn[] = array('id' => $task->getId());
$task->trash();
ApplicationLogs::createLog($task, ApplicationLogs::ACTION_TRASH);
if ($options == "news" || $options == "all") {
$tasksToReturn_related = $this->repetitive_tasks_related($task, "delete", $options);
foreach ($tasksToReturn_related as $tasksToReturn_rel) {
$tasksToReturn[] = array('id' => $tasksToReturn_rel);
}
}
}
break;
case 'archive':
if ($task->canEdit(logged_user())) {
$tasksToReturn[] = $task->getArrayInfo();
$task->archive();
ApplicationLogs::createLog($task, ApplicationLogs::ACTION_ARCHIVE);
if ($options == "news" || $options == "all") {
$tasksToReturn_related = $this->repetitive_tasks_related($task, "archive", $options);
foreach ($tasksToReturn_related as $tasksToReturn_rel) {
$tasksToReturn[] = array('id' => $tasksToReturn_rel);
}
}
}
break;
case 'start_work':
if ($task->canEdit(logged_user())) {
$task->addTimeslot(logged_user());
ApplicationLogs::createLog($task, ApplicationLogs::ACTION_EDIT, false, true);
$tasksToReturn[] = $task->getArrayInfo();
$showSuccessMessage = false;
}
break;
case 'close_work':
if ($task->canEdit(logged_user())) {
$task->closeTimeslots(logged_user(), array_var($_POST, 'options'));
ApplicationLogs::createLog($task, ApplicationLogs::ACTION_EDIT, false, true);
$tasksToReturn[] = $task->getArrayInfo();
$showSuccessMessage = false;
}
break;
case 'pause_work':
if ($task->canEdit(logged_user())) {
$task->pauseTimeslots(logged_user());
$tasksToReturn[] = $task->getArrayInfo();
$showSuccessMessage = false;
}
break;
case 'resume_work':
if ($task->canEdit(logged_user())) {
$task->resumeTimeslots(logged_user());
//.........这里部分代码省略.........
示例2: countCompletedTasks
/**
* Return number of completed tasks
*
* @access public
* @param void
* @return integer
*/
function countCompletedTasks()
{
if (is_null($this->count_completed_tasks)) {
if (is_array($this->completed_tasks)) {
$this->count_completed_tasks = count($this->completed_tasks);
} else {
$this->count_completed_tasks = ProjectTasks::count('`task_list_id` = ' . DB::escape($this->getId()) . ' AND `completed_on` > ' . DB::escape(EMPTY_DATETIME));
}
// if
}
// if
return $this->count_completed_tasks;
}
示例3: lang
<?php
echo lang('new account step start workspace info', '<span class="ico-workspace-add" style="padding: 5px 16px 0 0"> </span>', logged_user()->getPersonalProject()->getName());
?>
<br/><br/>
<?php
}
$step++;
?>
<b><?php
echo lang('new account step actions', $step);
?>
</b>
<?php
$task_count = ProjectTasks::count('`created_by_id` = ' . logged_user()->getId());
$note_count = ProjectMessages::count('`created_by_id` = ' . logged_user()->getId());
//$contact = ProjectContacts::findOne(array('conditions'=>'created_by_id='.logged_user()->getId()));
if ($task_count > 0 || $note_count > 0) {
echo '<img src="' . image_url('16x16/complete.png') . '" />';
}
?>
<br/>
<?php
echo lang('new account step actions info');
?>
<br/>
<span class="ico-message" style="padding: 5px 16px 0 0"> </span>
<a class='internalLink dashboard-link' href='<?php
echo get_url('message', 'add');
示例4: multi_task_action
function multi_task_action()
{
ajx_current("empty");
$ids = explode(',', array_var($_POST, 'ids'));
$action = array_var($_POST, 'action');
$options = array_var($_POST, 'options');
if (!is_array($ids) || trim(array_var($_POST, 'ids')) == '' || count($ids) <= 0) {
flash_error(lang('no items selected'));
return;
}
$count_tasks = ProjectTasks::count('object_id in (' . implode(',', $ids) . ')');
$tasksToReturn = array();
$subt_info = array();
$showSuccessMessage = true;
$application_logs = array();
try {
DB::beginWork();
$all_tasks = array();
foreach ($ids as $id) {
$task = Objects::findObject($id);
$task->setDontMakeCalculations(true);
// all the calculations should be after all tasks are saved
$all_tasks[] = $task;
switch ($action) {
case 'complete':
if ($task->canEdit(logged_user())) {
$log_info = $task->completeTask($options);
$application_logs[] = array($task, ApplicationLogs::ACTION_CLOSE, false, false, true, substr($log_info, 0, -1));
// if task is repetitive, generate a complete instance of this task and modify repeat values
if ($task->isRepetitive()) {
$complete_last_task = false;
// calculate next repetition date
$opt_rep_day = array('saturday' => false, 'sunday' => false);
$new_dates = $this->getNextRepetitionDates($task, $opt_rep_day, $new_st_date, $new_due_date);
// if this is the last task of the repetetition, complete it, do not generate a new instance
if ($task->getRepeatNum() > 0) {
$task->setRepeatNum($task->getRepeatNum() - 1);
if ($task->getRepeatNum() == 0) {
$complete_last_task = true;
}
}
if (!$complete_last_task && $task->getRepeatEnd() instanceof DateTimeValue) {
if ($task->getRepeatBy() == 'start_date' && array_var($new_dates, 'st') > $task->getRepeatEnd() || $task->getRepeatBy() == 'due_date' && array_var($new_dates, 'due') > $task->getRepeatEnd()) {
$complete_last_task = true;
}
}
if (!$complete_last_task) {
// generate new pending task
$new_task = $task->cloneTask(array_var($new_dates, 'st'), array_var($new_dates, 'due'));
$reload_view = true;
}
}
foreach ($task->getAllSubTasks() as $sub) {
$tasksToReturn[] = $sub->getArrayInfo();
}
$tasksToReturn[] = $task->getArrayInfo();
}
break;
case 'delete':
if ($task->canDelete(logged_user())) {
$tasksToReturn[] = $task->getArrayInfo();
$task->trash();
$application_logs[] = array($task, ApplicationLogs::ACTION_TRASH);
if ($options == "news" || $options == "all") {
$tasksToReturn_related = $this->repetitive_tasks_related($task, "delete", $options);
foreach ($tasksToReturn_related as $tasksToReturn_rel) {
$tasksToReturn[] = array('id' => $tasksToReturn_rel);
}
}
}
break;
case 'archive':
if ($task->canEdit(logged_user())) {
$tasksToReturn[] = $task->getArrayInfo();
$task->archive();
$application_logs[] = array($task, ApplicationLogs::ACTION_ARCHIVE);
if ($options == "news" || $options == "all") {
$tasksToReturn_related = $this->repetitive_tasks_related($task, "archive", $options);
foreach ($tasksToReturn_related as $tasksToReturn_rel) {
$tasksToReturn[] = array('id' => $tasksToReturn_rel);
}
}
}
break;
case 'start_work':
if ($task->canAddTimeslot(logged_user())) {
$timeslot = $task->addTimeslot(logged_user());
$application_logs[] = array($timeslot, ApplicationLogs::ACTION_OPEN, false, true);
$tasksToReturn[] = $task->getArrayInfo();
$showSuccessMessage = false;
}
break;
case 'close_work':
if ($task->canAddTimeslot(logged_user())) {
$timeslot = $task->closeTimeslots(logged_user(), array_var($_POST, 'options'));
$application_logs[] = array($timeslot, ApplicationLogs::ACTION_CLOSE, false, true);
$showSuccessMessage = false;
$task->calculatePercentComplete();
$tasksToReturn[] = $task->getArrayInfo();
}
//.........这里部分代码省略.........
示例5: getArrayInfo
function getArrayInfo()
{
$tnum = ProjectTasks::count('milestone_id = ' . $this->getId() . " AND `trashed_on` = " . DB::escape(EMPTY_DATETIME));
$tc = ProjectTasks::count('milestone_id = ' . $this->getId() . ' and completed_on > ' . DB::escape(EMPTY_DATETIME) . ' AND `trashed_on` = ' . DB::escape(EMPTY_DATETIME));
$result = array('id' => $this->getId(), 't' => $this->getTitle(), 'wsid' => $this->getWorkspacesIdsCSV(), 'tnum' => $tnum, 'tc' => $tc, 'dd' => $this->getDueDate()->getTimestamp());
$tags = $this->getTagNames();
if ($tags) {
$result['tags'] = $tags;
}
if ($this->getCompletedById() > 0) {
$result['compId'] = $this->getCompletedById();
$result['compOn'] = $this->getCompletedOn()->getTimestamp();
}
$result['is_urgent'] = $this->getIsUrgent();
return $result;
}