fmsystem-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Fmsystem-commits] [9302]


From: Torstein
Subject: [Fmsystem-commits] [9302]
Date: Tue, 08 May 2012 06:42:13 +0000

Revision: 9302
          http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=9302
Author:   vator
Date:     2012-05-08 06:42:13 +0000 (Tue, 08 May 2012)
Log Message:
-----------


Modified Paths:
--------------
    trunk/controller/inc/component/class.calendar_builder.inc.php

Added Paths:
-----------
    trunk/controller/inc/component/class.year_calendar.inc.php

Modified: trunk/controller/inc/component/class.calendar_builder.inc.php
===================================================================
--- trunk/controller/inc/component/class.calendar_builder.inc.php       
2012-05-08 06:40:38 UTC (rev 9301)
+++ trunk/controller/inc/component/class.calendar_builder.inc.php       
2012-05-08 06:42:13 UTC (rev 9302)
@@ -29,13 +29,13 @@
                $date_generator = new 
date_generator($control->get_start_date(), $control->get_end_date(), 
$this->period_start_date, $this->period_end_date, $control->get_repeat_type(), 
$control->get_repeat_interval());
                $dates_array = $date_generator->get_dates();
                
-               // Inserts dates 
+               // Inserts dates
                foreach($dates_array as $date){
                        
                        $todays_date = mktime(0,0,0,date("m"), date("d"), 
date("Y"));
                        
                        if($date < $todays_date){
-                               $status = "control_not_accomplished";
+                               $status = "CONTROL_NOT_DONE";
                        }else{
                                $status = "CONTROL_REGISTERED";
                        }
@@ -63,6 +63,8 @@
                        // ========================  DISPLAY STATUS FOR A MONTH 
OR DAYS IN A MONTH  ==========================
                        if($period_type == "view_days" | ($period_type == 
"view_months" & $control->get_repeat_type() == 2 | $control->get_repeat_type() 
== 3))
                        {
+                               $check_list_array = 
$control->get_check_lists_array();
+                               
                                $calendar_array = $this->init_calendar( 
$control, $num, $period_type );
                                                                
                                foreach($control->get_check_lists_array() as 
$check_list)

Added: trunk/controller/inc/component/class.year_calendar.inc.php
===================================================================
--- trunk/controller/inc/component/class.year_calendar.inc.php                  
        (rev 0)
+++ trunk/controller/inc/component/class.year_calendar.inc.php  2012-05-08 
06:42:13 UTC (rev 9302)
@@ -0,0 +1,79 @@
+<?php
+phpgw::import_class('controller.socheck_list');
+include_class('controller', 'date_generator', 'inc/component/');
+include_class('controller', 'check_list_status_info', 'inc/helper/');
+include_class('controller', 'check_list_status_manager', 'inc/helper/');
+       
+
+class year_calendar {
+       
+       private $period_start_date_ts;
+    private $period_end_date_ts;
+       private $year;
+       private $control;
+       private $calendar_array = array();
+       
+       public function __construct($control, $year){
+        $this->year = $year;
+        $this->control = $control;
+        
+        $this->period_start_date_ts = strtotime("01/01/$year");
+               $to_year = $year + 1;
+               $this->period_end_date_ts = strtotime("01/01/$to_year");
+        
+        $this->init_calendar();
+       }
+               
+       function init_calendar(){
+
+               for($i = 1;$i <= 12;$i++){
+                       $this->calendar_array[$i] = null;
+               }
+               
+               $date_generator = new 
date_generator($this->control->get_start_date(), 
$this->control->get_end_date(), $this->period_start_date_ts, 
$this->period_end_date_ts, $this->control->get_repeat_type(), 
$this->control->get_repeat_interval());
+               $dates_array = $date_generator->get_dates();
+               
+               // Inserts dates 
+               foreach($dates_array as $date){
+                       
+                       $todays_date = mktime(0,0,0,date("m"), date("d"), 
date("Y"));
+                       
+                       if($date < $todays_date){
+                               $status = "CONTROL_NOT_DONE";
+                       }else{
+                               $status = "CONTROL_REGISTERED";
+                       }
+                       
+                       $this->calendar_array[ date("n", $date) ]["status"]  = 
$status;
+                       $this->calendar_array[ date("n", $date) ]["info"]  = 
array("date" => $date, "control_id" => $this->control->get_id());
+               }
+       }
+       
+       public function build_calendar( $check_lists_array ){
+               
+               foreach($check_lists_array as $check_list){
+                                                               
+                       $check_list_status_manager = new 
check_list_status_manager( $check_list );
+                       $check_list_status_info = 
$check_list_status_manager->get_status_for_check_list(); 
+                                                       
+                       $this->calendar_array[ date("n", 
$check_list_status_info->get_deadline_date_ts()) ]["status"]  = 
$check_list_status_info->get_status();
+                       $this->calendar_array[ date("n", 
$check_list_status_info->get_deadline_date_ts()) ]["info"]  = 
$check_list_status_info->serialize();
+               }
+               
+               return $this->calendar_array;
+       }
+       
+       public function build_agg_calendar( $agg_open_cases_pr_month_array ){
+               
+               foreach($agg_open_cases_pr_month_array as 
$status_agg_month_info)
+               {
+                       $status = "CONTROLS_DONE_WITH_ERRORS";
+                                       
+                       
$this->calendar_array[$status_agg_month_info->get_month_nr()]["status"] = 
$status;
+                       
$this->calendar_array[$status_agg_month_info->get_month_nr()]["info"] = 
$status_agg_month_info->get_agg_open_cases();
+               }
+                                       
+               return $this->calendar_array;
+       }
+       
+}
\ No newline at end of file




reply via email to

[Prev in Thread] Current Thread [Next in Thread]