⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 projectmilestones.class.php

📁 ProjectPier 源码 很好的项目管理程序
💻 PHP
字号:
<?php  /**  * ProjectMilestones, generated on Sat, 04 Mar 2006 12:50:11 +0100 by   * DataObject generation tool  *  * @http://www.projectpier.org/  */  class ProjectMilestones extends BaseProjectMilestones {      /**    * Return all late milestones in active projects of a specific company.    * This function will exclude milestones marked for today    *    * @param void    * @return array    */    function getLateMilestonesByCompany(Company $company) {      $due_date = DateTimeValueLib::now()->beginningOfDay();            $projects = $company->getActiveProjects();      if (!is_array($projects) || !count($projects)) {        return null;      }            $project_ids = array();      foreach ($projects as $project) {        $project_ids[] = $project->getId();      } // foreach            return self::findAll(array(        'conditions' => array('`due_date` < ? AND `completed_on` = ? AND `project_id` IN (?)', $due_date, EMPTY_DATETIME, $project_ids),        'order' => '`due_date`',      )); // findAll    } // getLateMilestonesByCompany        /**    * Return milestones scheduled for today from projects related with specific company    *    * @param Company $company    * @return array    */    function getTodayMilestonesByCompany(Company $company) {      $from_date = DateTimeValueLib::now()->beginningOfDay();      $to_date = DateTimeValueLib::now()->endOfDay();            $projects = $company->getActiveProjects();      if (!is_array($projects) || !count($projects)) {        return null;      }            $project_ids = array();      foreach ($projects as $project) {        $project_ids[] = $project->getId();      } // foreach            return self::findAll(array(        'conditions' => array('`completed_on` = ? AND (`due_date` >= ? AND `due_date` < ?) AND `project_id` IN (?)', EMPTY_DATETIME, $from_date, $to_date, $project_ids),        'order' => '`due_date`'      )); // findAll    } // getTodayMilestonesByCompany        /**    * Return all milestones that are assigned to the user    *    * @param User $user    * @return array    */    static function getActiveMilestonesByUser(User $user) {      $projects = $user->getActiveProjects();      if (!is_array($projects) || !count($projects)) {        return null;      } // if            $project_ids = array();      foreach ($projects as $project) {        $project_ids[] = $project->getId();      } // foreach            return self::findAll(array(        'conditions' => array('(`assigned_to_user_id` = ? OR (`assigned_to_user_id` = ? AND `assigned_to_company_id` = ?)) AND `project_id` IN (?) AND `completed_on` = ?', $user->getId(), 0, 0, $project_ids, EMPTY_DATETIME),        'order' => '`due_date`'      )); // findAll    } // getActiveMilestonesByUser        /**    * Return active milestones that are assigned to the specific user and belongs to specific project    *    * @param User $user    * @param Project $project    * @return array    */    static function getActiveMilestonesByUserAndProject(User $user, Project $project) {      return self::findAll(array(        'conditions' => array('(`assigned_to_user_id` = ? OR (`assigned_to_user_id` = ? AND `assigned_to_company_id` = ?)) AND `project_id` = ? AND `completed_on` = ?', $user->getId(), 0, 0, $project->getId(), EMPTY_DATETIME),        'order' => '`due_date`'      )); // findAll    } // getActiveMilestonesByUserAndProject        /**    * Return late milestones from active projects this user have access on. Today milestones are excluded    *    * @param User $user    * @return array    */    function getLateMilestonesByUser(User $user) {      $due_date = DateTimeValueLib::now()->beginningOfDay();            $projects = $user->getActiveProjects();      if (!is_array($projects) || !count($projects)) {        return null;      }            $project_ids = array();      foreach ($projects as $project) {        $project_ids[] = $project->getId();      } // foreach            return self::findAll(array(        'conditions' => array('`due_date` < ? AND `completed_on` = ? AND `project_id` IN (?)', $due_date, EMPTY_DATETIME, $project_ids),        'order' => '`due_date`'      )); // findAll    } // getLateMilestonesByUser        /**    * Return today milestones from active projects this user have access on    *    * @access public    * @param void    * @return array    */    function getTodayMilestonesByUser(User $user) {      $from_date = DateTimeValueLib::now()->beginningOfDay();      $to_date = DateTimeValueLib::now()->endOfDay();            $projects = $user->getActiveProjects();      if (!is_array($projects) || !count($projects)) {        return null;      }            $project_ids = array();      foreach ($projects as $project) {        $project_ids[] = $project->getId();      } // foreach            return self::findAll(array(        'conditions' => array('`completed_on` = ? AND (`due_date` >= ? AND `due_date` < ?) AND `project_id` IN (?)', EMPTY_DATETIME, $from_date, $to_date, $project_ids)      )); // findAll    } // getTodayMilestonesByUser      } // ProjectMilestones ?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -