/**
  * @see interface_admin_systemtast::executeTask()
  * @return string
  */
 public function executeTask()
 {
     if (!class_module_system_module::getModuleByName("stats")->rightEdit()) {
         return $this->getLang("commons_error_permissions");
     }
     $objBrowscap = new class_browscap();
     $objBrowscap->updateBrowscap();
     return $this->objToolkit->getTextRow($this->getLang("browscapupdate_end"));
 }
 /**
  * Returns a array of top browsers
  *
  * @return mixed
  */
 private function getTopBrowser()
 {
     $arrReturn = array();
     //load Data
     $strQuery = "SELECT stats_browser, count(*) as anzahl\n\t\t\t\t\t\tFROM " . _dbprefix_ . "stats_data\n\t\t\t\t\t\tWHERE stats_date > ?\n\t\t\t\t\t\t\tAND stats_date <= ?\n\t\t\t\t\t\tGROUP BY stats_browser";
     $arrBrowser = $this->objDB->getPArray($strQuery, array($this->intDateStart, $this->intDateEnd));
     $objBrowscap = new class_browscap();
     //Search the best matching pattern
     foreach ($arrBrowser as $arrRow) {
         $strInfo = $objBrowscap->getBrowserForUseragent($arrRow["stats_browser"]);
         if (!isset($arrReturn[$strInfo])) {
             $arrReturn[$strInfo] = $arrRow["anzahl"];
         } else {
             $arrReturn[$strInfo] += $arrRow["anzahl"];
         }
     }
     arsort($arrReturn);
     return $arrReturn;
 }