/** * Gets winners * Krillo 2012-09-10 * * @global $db $db * @param type $date a date in the selected week * @param type $antal_medlemmar return this nbr of winners * @param type $antal_steg min nbr of steps to attend * @param type $foretagList select only from these companys * @param type $prevWinners select also from previous winners * @return type */ public static function getVeckoVinnare($date, $antal_medlemmar, $antal_steg, $foretagList, $prevWinners) { global $db; $jDate = new JDate($date); $monday = $jDate->getMonday(); $sunday = $jDate->getSunday(); if ($prevWinners) { $prev = ' '; } else { $prev = " AND a.veckotavling_status = 0 "; } $sql = "SELECT a.id, a.epost, a.aNamn, a.fNamn, a.eNamn, a.levelId, a.paidUntil, a.veckotavling_status, a.veckotavling_week, a.veckotavling_datum, a.veckotavling_price_text, SUM(steg) as steg, f.namn AS companyname, f.startdatum, f.slutdatum \n FROM mm_medlem a, mm_steg b, mm_foretagsnycklar n, mm_foretag f \n\t\t\tWHERE a.id = n.medlem_id \n AND n.foretag_id IN ({$foretagList}) \n AND n.foretag_id = f.id\n {$prev} \n AND a.id = b.medlem_id \n\t\t\tAND b.datum >= '" . $monday . "' \n\t\t\tAND b.datum <= '" . $sunday . "' \n GROUP BY a.id \n HAVING SUM(steg) >= '" . $antal_steg . "' "; //echo "<br>" . $sql; $medlemmar = $db->allValuesAsArray($sql); //print_r($medlemmar); if (count($medlemmar) > $antal_medlemmar) { $medlemmar = Misc::shuffle_assoc($medlemmar, 0); $medlemmar = array_slice($medlemmar, 0, $antal_medlemmar); } return Misc::shuffle_assoc($medlemmar, 0); }