📄 project.class.php
字号:
<?php /** * Project class * Generated on Sun, 26 Feb 2006 23:10:34 +0100 by DataObject generation tool * * @http://www.projectpier.org/ */ class Project extends BaseProject { // --------------------------------------------------- // Messages // --------------------------------------------------- /** * Cache of all messages * * @var array */ private $all_messages; /** * Cached array of messages that user can access. If user is member of owner company * $all_messages will be used (members of owner company can browse all messages) * * @var array */ private $messages; /** * Array of all important messages (incliduing private ones) * * @var array */ private $all_important_messages; /** * Array of important messages. If user is not member of owner company private * messages will be skipped * * @var array */ private $important_messages; // --------------------------------------------------- // Milestones // --------------------------------------------------- /** * Cached array of milestones. This is array of all project milestones. They are not * filtered by is_private stamp * * @var array */ private $all_milestones; /** * Cached array of project milestones * * @var array */ private $milestones; /** * Array of all open milestones in this projects * * @var array */ private $all_open_milestones; /** * Array of open milestones in this projects that user can access. If user is not member of owner * company private milestones will be hidden * * @var array */ private $open_milestones; /** * Cached array of late milestones. This variable is populated by splitOpenMilestones() private * function on request * * @var array */ private $late_milestones = false; /** * Cached array of today milestones. This variable is populated by splitOpenMilestones() private * function on request * * @var array */ private $today_milestones = false; /** * Cached array of upcoming milestones. This variable is populated by splitOpenMilestones() private * function on request * * @var array */ private $upcoming_milestones = false; /** * Cached all completed milestones * * @var array */ private $all_completed_milestones; /** * Cached array of completed milestones - is_private check is made before retriving meaning that if * user is no member of owner company all private data will be hiddenas * * @var array */ private $completed_milestones; // --------------------------------------------------- // Task lists // --------------------------------------------------- /** * All task lists in this project * * @var array */ private $all_task_lists; /** * Array of all task lists. If user is not member of owner company private task * lists will be excluded from the list * * @var array */ private $task_lists; /** * All open task lists in this project * * @var array */ private $all_open_task_lists; /** * Array of open task lists. If user is not member of owner company private task * lists will be excluded from the list * * @var array */ private $open_task_lists; /** * Array of all completed task lists in this project * * @var array */ private $all_completed_task_lists; /** * Array of completed task lists. If user is not member of owner company private task * lists will be excluded from the list * * @var array */ private $completed_task_lists; // --------------------------------------------------- // Tags // --------------------------------------------------- /** * Cached object tag names * * @var array */ private $tag_names; // --------------------------------------------------- // Log // --------------------------------------------------- /** * Cache of all project logs * * @var array */ private $all_project_logs; /** * Cache of all project logs that current user can access * * @var array */ private $project_logs; // --------------------------------------------------- // Forms // --------------------------------------------------- /** * Cache of all project forms * * @var array */ private $all_forms; // --------------------------------------------------- // Files // --------------------------------------------------- /** * Cached array of project folders * * @var array */ private $folders; /** * Cached array of all important files * * @var array */ private $all_important_files; /** * Important files filtered by the users access permissions * * @var array */ private $important_files; /** * All orphened files, user permissions are not checked * * @var array */ private $all_orphaned_files; /** * Orphaned file * * @var array */ private $orphaned_files; // --------------------------------------------------- // Messages // --------------------------------------------------- /** * This function will return all messages in project and it will not exclude private * messages if logged user is not member of owner company * * @param void * @return array */ function getAllMessages() { if (is_null($this->all_messages)) { $this->all_messages = ProjectMessages::getProjectMessages($this, true); } // if return $this->all_messages; } // getAllMessages /** * Return only the messages that current user can see (if not member of owner company private * messages will be excluded) * * @param null * @return null */ function getMessages() { if (logged_user()->isMemberOfOwnerCompany()) { return $this->getAllMessages(); // members of owner company can view all messages } // if if (is_null($this->messages)) { $this->messages = ProjectMessages::getProjectMessages($this, false); } // if return $this->messages; } // getMessages /** * Return all important messages * * @param void * @return array */ function getAllImportantMessages() { if (is_null($this->all_important_messages)) { $this->all_important_messages = ProjectMessages::getImportantProjectMessages($this, true); } // if return $this->all_important_messages; } // getAllImportantMessages /** * Return array of important messages * * @param void * @return array */ function getImportantMessages() { if (logged_user()->isMemberOfOwnerCompany()) { return $this->getAllImportantMessages(); } // if if (is_null($this->important_messages)) { $this->important_messages = ProjectMessages::getImportantProjectMessages($this, false); } // if return $this->important_messages; } // getImportantMessages // --------------------------------------------------- // Milestones // --------------------------------------------------- /** * Return all milestones, don't filter them by is_private stamp based on users permissions * * @param void * @return array */ function getAllMilestones() { if (is_null($this->all_milestones)) { $this->all_milestones = ProjectMilestones::findAll(array( 'conditions' => array('`project_id` = ?', $this->getId()), 'order' => 'due_date' )); // findAll } // if return $this->all_milestones; } // getAllMilestones /** * Return all project milestones * * @access public * @param void * @return array */ function getMilestones() { if (logged_user()->isMemberOfOwnerCompany()) { return $this->getAllMilestones(); // member of owner company } if (is_null($this->milestones)) { $this->milestones = ProjectMilestones::findAll(array( 'conditions' => array('`project_id` = ? AND `is_private` = ?', $this->getId(), 0), 'order' => 'due_date' )); // findAll } // if return $this->milestones; } // getMilestones /** * Return all opet milestones without is_private check * * @param void * @return array */ function getAllOpenMilestones() { if (is_null($this->all_open_milestones)) { $this->all_open_milestones = ProjectMilestones::findAll(array( 'conditions' => array('`project_id` = ? AND `completed_on` = ?', $this->getId(), EMPTY_DATETIME), 'order' => 'due_date' )); // findAll } // if return $this->all_open_milestones; } // getAllOpenMilestones /** * Return open milestones * * @access public * @param void * @return array */ function getOpenMilestones() { if (logged_user()->isMemberOfOwnerCompany()) { return $this->getAllOpenMilestones(); } if (is_null($this->open_milestones)) { $this->open_milestones = ProjectMilestones::findAll(array( 'conditions' => array('`project_id` = ? AND `completed_on` = ? AND `is_private` = ?', $this->getId(), EMPTY_DATETIME, 0), 'order' => 'due_date' )); // findAll } // if return $this->open_milestones; } // getOpenMilestones /** * This function will return all completed milestones * * @param void * @return array */ function getAllCompletedMilestones() { if (is_null($this->all_completed_milestones)) { $this->all_completed_milestones = ProjectMilestones::findAll(array( 'conditions' => array('`project_id` = ? AND `completed_on` > ?', $this->getId(), EMPTY_DATETIME), 'order' => 'due_date' )); // findAll } // if return $this->all_completed_milestones; } // getAllCompletedMilestones /** * Return completed milestones * * @access public * @param void * @return array */ function getCompletedMilestones() { if (logged_user()->isMemberOfOwnerCompany()) { return $this->getAllCompletedMilestones(); } if (is_null($this->completed_milestones)) { $this->completed_milestones = ProjectMilestones::findAll(array( 'conditions' => array('`project_id` = ? AND `completed_on` > ? AND `is_private` = ?', $this->getId(), EMPTY_DATETIME, 0), 'order' => 'due_date' )); // findAll } // if return $this->completed_milestones; } // getCompletedMilestones /** * Return array of late open milestones * * @param void * @return array */ function getLateMilestones() { if ($this->late_milestones === false) { $this->splitOpenMilestones(); } return $this->late_milestones; } // getLateMilestones /** * Return array of today open milestones * * @param void * @return array */ function getTodayMilestones() { if ($this->today_milestones === false) { $this->splitOpenMilestones(); } return $this->today_milestones; } // getTodayMilestones /** * Return array of upcoming open milestones * * @param void * @return array */ function getUpcomingMilestones() { if ($this->upcoming_milestones === false) { $this->splitOpenMilestones(); } return $this->upcoming_milestones; } // getUpcomingMilestones /** * This function will walk through open milestones array and splid them into late, today and upcomming * * @param void * @return array */ private function splitOpenMilestones() { $open_milestones = $this->getOpenMilestones(); // Reset from false $this->late_milestones = null; $this->today_milestones = null; $this->upcoming_milestones = null; if (is_array($open_milestones)) { foreach ($open_milestones as $open_milestone) { if ($open_milestone->isLate()) { if (!is_array($this->late_milestones)) { $this->late_milestones = array();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -