public function execute()
 {
     $result = $this->getResult();
     $params = $this->extractRequestParams();
     $source = $target = null;
     if (isset($params['source']) && Language::isValidBuiltInCode($params['source'])) {
         $source = $params['source'];
     }
     if (isset($params['target']) && Language::isValidBuiltInCode($params['target'])) {
         $target = $params['target'];
     }
     $interval = $params['interval'];
     $data = array('translations' => Translation::getTrendByStatus($source, $target, 'published', $interval), 'drafts' => Translation::getTrendByStatus($source, $target, 'draft', $interval));
     if ($target !== null) {
         // We can give deletion rates for only local wiki. We cannot give
         // deletion stats for all wikis.
         $data['deletions'] = Translation::getDeletionTrend($interval);
     }
     $out = $this->addMissingDates($data, $interval);
     $result->addValue(array('query'), 'contenttranslationlangtrend', $out);
 }