/** @return string[] */
 private function formatAllMilestonesAsSelectboxOptions(array $planning_trackers_ids, $selected_milestone_id, Tracker $backlog_tracker, PFUser $user)
 {
     $hp = Codendi_HTMLPurifier::instance();
     $options = array();
     $current_milestone = array();
     $options[] = $this->addTopBacklogPlanningEntry($selected_milestone_id, $backlog_tracker, $user);
     foreach ($planning_trackers_ids as $id) {
         $current_milestone[$id] = null;
     }
     foreach ($this->dao->getAllMilestoneByTrackers($planning_trackers_ids) as $row) {
         foreach ($planning_trackers_ids as $index => $id) {
             $milestone_id = $row['m' . $id . '_id'];
             $milestone_title = $row['m' . $id . '_title'];
             if (!$milestone_id) {
                 continue;
             }
             if ($current_milestone[$id] === $milestone_id) {
                 continue;
             }
             $content = str_pad('', $index, '-') . ' ' . $hp->purify($milestone_title);
             $options[] = $this->getOptionForSelectBox($selected_milestone_id, $milestone_id, $content);
             $current_milestone[$id] = $milestone_id;
         }
     }
     return $options;
 }
 public function getPaginatedSubMilestones(PFUser $user, Planning_Milestone $milestone, $limit, $offset, $order)
 {
     $milestone_artifact = $milestone->getArtifact();
     $sub_milestones = array();
     $total_size = 0;
     if ($milestone_artifact) {
         $sub_milestone_artifacts = $this->milestone_dao->searchPaginatedSubMilestones($milestone_artifact->getId(), $limit, $offset, $order);
         $total_size = $this->milestone_dao->foundRows();
         $sub_milestones = $this->convertDarToArrayOfMilestones($user, $milestone, $sub_milestone_artifacts);
     }
     return new AgileDashboard_Milestone_PaginatedMilestones($sub_milestones, $total_size);
 }
Esempio n. 3
0
 public function getPaginatedTopMilestones(PFUser $user, Project $project, Tuleap\AgileDashboard\Milestone\Criterion\ISearchOnStatus $criterion, $limit, $offset, $order)
 {
     $top_milestones = array();
     $total_size = 0;
     $virtual_milestone = $this->getVirtualTopMilestone($user, $project);
     $root_planning = $this->planning_factory->getRootPlanning($user, $virtual_milestone->getProject()->getID());
     $milestone_planning_tracker_id = $virtual_milestone->getPlanning()->getPlanningTrackerId();
     if ($milestone_planning_tracker_id) {
         $top_milestone_artifacts = $this->milestone_dao->searchPaginatedTopMilestones($milestone_planning_tracker_id, $criterion, $limit, $offset, $order);
         $total_size = $this->milestone_dao->foundRows();
         $top_milestones = $this->convertDarToArrayOfMilestones($user, $virtual_milestone, $top_milestone_artifacts);
     }
     return new AgileDashboard_Milestone_PaginatedMilestones($top_milestones, $total_size);
 }