/**
  * Return paginated set of project objects
  *
  * @param array $arguments
  * @param itneger $page
  * @param integer $per_page
  * @return array
  */
 function paginate($arguments = null, $page = 1, $per_page = 10)
 {
     if (!is_array($arguments)) {
         $arguments = array();
     }
     // if
     $arguments['limit'] = $per_page;
     $arguments['offset'] = ($page - 1) * $per_page;
     $items = ProjectObjects::findBySQL(DataManager::prepareSelectFromArguments($arguments, TABLE_PREFIX . 'project_objects'), null, array_var($arguments, 'one'));
     $total_items = ProjectObjects::count(array_var($arguments, 'conditions'));
     return array($items, new Pager($page, $total_items, $per_page));
 }
Exemplo n.º 2
0
 /**
  * Return number of completed tasks in a given object
  *
  * @param ProjectObject $object
  * @param integer $min_state
  * @return integer
  */
 function countCompletedByObject($object, $min_state = STATE_VISIBLE)
 {
     return ProjectObjects::count(array('parent_id = ? AND type = ? AND state >= ? AND completed_on IS NOT NULL', $object->getId(), 'Task', $min_state));
 }
 /**
  * Find # of a timerecord in a project
  *
  * @param Timerecord $timerecord
  * @param integer $min_state
  * @param integer $min_visiblity
  * @return integer
  */
 function findTimerecordNum($timerecord, $min_state = STATE_VISIBLE, $min_visiblity = VISIBILITY_NORMAL)
 {
     return ProjectObjects::count(array("type = 'Timerecord' AND date_field_1 > ? AND project_id = ? AND state >= ? AND visibility >= ?", $timerecord->getRecordDate(), $timerecord->getProjectId(), $min_state, $min_visiblity)) + 1;
 }
Exemplo n.º 4
0
 /**
  * Return comment # for a given comment in a parent object
  *
  * @param Comment $comment
  * @param integer $min_state
  * @param integer $min_visibility
  * @return integer
  */
 function findCommentNum($comment, $min_state = STATE_VISIBLE, $min_visiblity = VISIBILITY_NORMAL)
 {
     return ProjectObjects::count(array("type = 'Comment' AND created_on < ? AND parent_id = ? AND state >= ? AND visibility >= ?", $comment->getCreatedOn(), $comment->getParentId(), $min_state, $min_visiblity)) + 1;
 }