original_string: public function updateReport($idReport, $idSite, $description, $period, $hour, $reportType, $reportFormat, $reports, $parameters, $idSegment = false, $evolutionPeriodFor = 'prev',
                                   $evolutionPeriodN = null)
      {
          Piwik::checkUserIsNotAnonymous();
          Piwik::checkUserHasViewAccess($idSite);
  
          $scheduledReports = $this->getReports($idSite, $periodSearch = false, $idReport);
          $report   = reset($scheduledReports);
          $idReport = $report['idreport'];
  
          $currentUser = Piwik::getCurrentUserLogin();
          self::ensureLanguageSetForUser($currentUser);
  
          self::validateCommonReportAttributes($period, $hour, $description, $idSegment, $reportType, $reportFormat, $evolutionPeriodFor, $evolutionPeriodN);
  
          // report parameters validations
          $parameters = self::validateReportParameters($reportType, $parameters);
  
          // validation of requested reports
          $reports = self::validateRequestedReports($idSite, $reportType, $reports);
  
          $this->getModel()->updateReport($idReport, array(
              'description' => $description,
              'idsegment'   => $idSegment,
              'period'      => $period,
              'hour'        => $hour,
              'type'        => $reportType,
              'format'      => $reportFormat,
              'parameters'  => $parameters,
              'reports'     => $reports,
              'evolution_graph_within_period' => $evolutionPeriodFor == 'each',
              'evolution_graph_period_n' => $evolutionPeriodN ?: ImageGraph::getDefaultGraphEvolutionLastPeriods(),
          ));
  
          self::$cache = array();
      }
code: public function updateReport($idReport, $idSite, $description, $period, $hour, $reportType, $reportFormat, $reports, $parameters, $idSegment = false, $evolutionPeriodFor = 'prev',
                                   $evolutionPeriodN = null)
      {
          Piwik::checkUserIsNotAnonymous();
          Piwik::checkUserHasViewAccess($idSite);
  
          $scheduledReports = $this->getReports($idSite, $periodSearch = false, $idReport);
          $report   = reset($scheduledReports);
          $idReport = $report['idreport'];
  
          $currentUser = Piwik::getCurrentUserLogin();
          self::ensureLanguageSetForUser($currentUser);
  
          self::validateCommonReportAttributes($period, $hour, $description, $idSegment, $reportType, $reportFormat, $evolutionPeriodFor, $evolutionPeriodN);
  
          // report parameters validations
          $parameters = self::validateReportParameters($reportType, $parameters);
  
          // validation of requested reports
          $reports = self::validateRequestedReports($idSite, $reportType, $reports);
  
          $this->getModel()->updateReport($idReport, array(
              'description' => $description,
              'idsegment'   => $idSegment,
              'period'      => $period,
              'hour'        => $hour,
              'type'        => $reportType,
              'format'      => $reportFormat,
              'parameters'  => $parameters,
              'reports'     => $reports,
              'evolution_graph_within_period' => $evolutionPeriodFor == 'each',
              'evolution_graph_period_n' => $evolutionPeriodN ?: ImageGraph::getDefaultGraphEvolutionLastPeriods(),
          ));
  
          self::$cache = array();
      }
code_tokens: public function updateReport ( $ idReport , $ idSite , $ description , $ period , $ hour , $ reportType , $ reportFormat , $ reports , $ parameters , $ idSegment = false , $ evolutionPeriodFor = 'prev' , $ evolutionPeriodN = null ) { Piwik :: checkUserIsNotAnonymous ( ) ; Piwik :: checkUserHasViewAccess ( $ idSite ) ; $ scheduledReports = $ this -> getReports ( $ idSite , $ periodSearch = false , $ idReport ) ; $ report = reset ( $ scheduledReports ) ; $ idReport = $ report [ 'idreport' ] ; $ currentUser = Piwik :: getCurrentUserLogin ( ) ; self :: ensureLanguageSetForUser ( $ currentUser ) ; self :: validateCommonReportAttributes ( $ period , $ hour , $ description , $ idSegment , $ reportType , $ reportFormat , $ evolutionPeriodFor , $ evolutionPeriodN ) ; // report parameters validations $ parameters = self :: validateReportParameters ( $ reportType , $ parameters ) ; // validation of requested reports $ reports = self :: validateRequestedReports ( $ idSite , $ reportType , $ reports ) ; $ this -> getModel ( ) -> updateReport ( $ idReport , array ( 'description' => $ description , 'idsegment' => $ idSegment , 'period' => $ period , 'hour' => $ hour , 'type' => $ reportType , 'format' => $ reportFormat , 'parameters' => $ parameters , 'reports' => $ reports , 'evolution_graph_within_period' => $ evolutionPeriodFor == 'each' , 'evolution_graph_period_n' => $ evolutionPeriodN ? : ImageGraph :: getDefaultGraphEvolutionLastPeriods ( ) , ) ) ; self :: $ cache = array ( ) ; }
docstring: Updates an existing report.
  
  @see addReport()
docstring_tokens: Updates an existing report .