Example #1
0
	/**
	 *
	 * @param Piwik_Date $date
	 * @param int $n
	 * @return Piwik_Date
	 */
	static public function removePeriod( $period, Piwik_Date $date, $n )
	{
		switch($period)
		{
			case 'day':
				$startDate = $date->subDay( $n );
			break;
			
			case 'week':
				$startDate = $date->subDay( $n * 7 );					
			break;
			
			case 'month':
				$startDate = $date->subMonth( $n );					
			break;
			
			case 'year':
				$startDate = $date->subMonth( 12 * $n );					
			break;
			default:
				throw new Exception('The period parameter is invalid');
			break;
		}
		return $startDate;
	}
Example #2
0
 /**
  *
  * @param Piwik_Date $date
  * @param int $n
  * @return Piwik_Date
  */
 protected function removePeriod($date, $n)
 {
     switch ($this->strPeriod) {
         case 'day':
             $startDate = $date->subDay($n);
             break;
         case 'week':
             $startDate = $date->subDay($n * 7);
             break;
         case 'month':
             $startDate = $date->subMonth($n);
             break;
         case 'year':
             $startDate = $date->subMonth(12 * $n);
             break;
         default:
             throw new Exception(sprintf(self::$unknowPeriodException, $this->strPeriod));
             break;
     }
     return $startDate;
 }
Example #3
0
 /**
  * The constructor
  * Initialize some local variables from the request
  * @param int $idSite
  * @param Piwik_Date $date ($this->date from controller)
  * @throws Exception
  */
 public function __construct($idSite, $date)
 {
     $this->apiMethod = Piwik_Common::getRequestVar('apiMethod', '', 'string');
     if (empty($this->apiMethod)) {
         throw new Exception("Parameter apiMethod not set.");
     }
     $this->label = Piwik_Common::getRequestVar('label', '', 'string');
     $this->label = Piwik_Common::unsanitizeInputValue($this->label);
     if ($this->label === '') {
         throw new Exception("Parameter label not set.");
     }
     $this->period = Piwik_Common::getRequestVar('period', '', 'string');
     if (empty($this->period)) {
         throw new Exception("Parameter period not set.");
     }
     $this->idSite = $idSite;
     if ($this->period != 'range') {
         // handle day, week, month and year: display last X periods
         $end = $date->toString();
         if ($this->period == 'year') {
             $start = $date->subYear(10)->toString();
         } else {
             if ($this->period == 'month') {
                 $start = $date->subMonth(30)->toString();
             } else {
                 if ($this->period == 'week') {
                     $start = $date->subWeek(30)->toString();
                 } else {
                     $start = $date->subDay(30)->toString();
                 }
             }
         }
         $this->date = $start . ',' . $end;
     }
     $this->segment = Piwik_Common::getRequestVar('segment', '', 'string');
     $this->loadEvolutionReport();
 }