コード例 #1
0
if (count($tf) != 0) {
    array_multisort($tf, SORT_DESC);
}
$tlObjects = Tavling::getHallOfFameLag();
$tl = array();
foreach ($tlObjects as $l) {
    if (!empty($l)) {
        // $foretag = Foretag::loadById($f['foretag_id']);
        $tl[] = array("stegindex" => $l['steg'] / $l['medlemmar'] / Foretag::TAVLINGSPERIOD_DAGAR, "namn" => $l['lag_namn'] . "<br />från " . $l['foretag_namn'], "id" => $l['lag_id']);
    }
}
if (count($tl) != 0) {
    array_multisort($tl, SORT_DESC);
}
$tm = array();
$tmObjects = Tavling::getHallOfFameMedlemmar();
$ids = array();
$stegindex = array();
//print_r($tmObjects);
//die();
foreach ($tmObjects as $m) {
    if (!empty($m)) {
        $ids[] = $m['medlem_id'];
        $stegindex[$m['medlem_id']] = $m['steg'];
    }
}
$medlemmar = Medlem::loadByIds($ids);
// print_r($medlemmar);
foreach ($medlemmar as $medlem) {
    if (!empty($medlem)) {
        $id = $medlem->getId();
コード例 #2
0
ファイル: minsida.php プロジェクト: krillo/motiomera
$smarty->assign("GOOGLEMAPS_APIKEY", GOOGLEMAPS_APIKEY);
$smarty->assign("avatarUrl", $USER->getAvatar()->getUrl());
// Usesr blogg data
$smarty->assign("blogTitle", "Min Blogg");
// Copy USER to medlem
$smarty->assign("medlem", $USER);
// Check if user has registered enough steps to pass the medal limit
$medaljLimitSilver = 49000;
$medaljLimitGuld = 77000;
$startDatum = date('Y-m-d', strtotime('last monday'));
$slutDatum = date('Y-m-d', strtotime($startDatum . ' +7 days'));
$antalSteg = $USER->getStegTotal($startDatum, $slutDatum);
$medaljLimitReached = false;
if ($antalSteg >= $medaljLimitSilver) {
    $medaljLimitReached = true;
    $smarty->assign('medaljNamn', 'silvermedalj');
    $smarty->assign('medaljBild', '/img/icons/medalj_silver.gif');
    $smarty->assign('medaljLimit', $medaljLimitSilver);
}
if ($antalSteg >= $medaljLimitGuld) {
    $medaljLimitReached = true;
    $smarty->assign('medaljNamn', 'guldmedalj');
    $smarty->assign('medaljBild', '/img/icons/medalj_guld.gif');
    $smarty->assign('medaljLimit', $medaljLimitGuld);
}
$smarty->assign('medaljLimitReached', $medaljLimitReached);
$smarty->assign('selfProfile', true);
//tavlingar
$tavlingArray = Tavling::getMemberCompetitions($USER->getid());
$smarty->assign('tavlingArray', $tavlingArray);
$smarty->display('minsida.tpl');
コード例 #3
0
ファイル: Foretag.php プロジェクト: krillo/motiomera
 /**
  * This function ends and saves a competition. 
  * The sql will only find ended competitions on tuesdays, it is supposed to run as a cron.  
  * The competitions and all the calculated data are saved in tables: mm_tavling_save, mm_tavling, mm_lag_save
  * A tavling_id is created for each competition.
  * Actions are logged to /motiomera/log/motiomera.log
  *
  * All members will have some extra days added, see the FORETAGSMEDLEMS_EXTRA_DAYS
  *  
  * @author krillo 
  * 
  * krillo 091026 changed the sql to only get the records that have a competition thats ending.
  * krillo 100420 changed to only save the competition to mm_tavling_save, mm_tavling, mm_lag_save
  * krillo 110511 changed to add extra days after closed competition FORETAGSMEDLEMS_EXTRA_DAYS
  * krillo 110817 changed to take a date parameter to be bale to run from admin. Please use only Tuesdays after finished competition
  */
 public static function saveAndEndForetagsTavling($date = false)
 {
     Misc::logMotiomera("Start foretag::saveAndEndForetagsTavling() ", 'info');
     global $db;
     $jDate = new JDate($date);
     $subDays = $jDate->subDays(3)->getDate(true);
     // today - 3 days in unixtime
     $sql = 'SELECT c.id as foretag_id, namn as foretag_namn,  a.id, a.aNamn as user_anamn, a.epost as user_epost, c.startDatum, c.slutDatum FROM mm_medlem a, mm_foretagsnycklar b, mm_foretag c
         WHERE a.id = b.medlem_id
         AND b.foretag_id = c.id
         AND a.epostBekraftad = 1
         AND UNIX_TIMESTAMP(c.slutDatum) BETWEEN ' . $subDays . ' AND ' . $jDate->getOrigDate(true);
     $users = $db->allValuesAsArray($sql);
     $tavling = new Tavling('0000-00-00', '0000-00-00');
     $save = array();
     $i = 1;
     if (count($users) == 0) {
         Misc::logMotiomera("No tavling ended this last sunday", 'info');
     } else {
         //commence saving
         Misc::logMotiomera("End of tavling, saving data for " . count($users) . " members", 'info');
         foreach ($users as $user) {
             $medlem = Medlem::loadById($user['id']);
             if (isset($medlem)) {
                 $startDatum = $user['startDatum'];
                 //$medlem->getForetag()->getStartDatum();
                 $slutDatum = $user['slutDatum'];
                 //$medlem->getForetag()->getSlutdatum();
                 if ($tavling->getStartDatum() == '0000-00-00') {
                     $tavling->setStartDatum($startDatum);
                     // give the Tavling object a correct startdate as soon as we've got one (we only do this once)
                     $tavling->setSlutDatum($slutDatum);
                     $tavling->commit();
                 }
                 if ($medlem->getForetag()) {
                     if ($medlem->getLag()) {
                         //members that are not in a lag, want also to be in the toplists  set lagId to -1
                         $lagId = $medlem->getLag()->getId();
                     } else {
                         $lagId = 0;
                     }
                     $steg = $medlem->getStegTotal($startDatum, $slutDatum);
                     $antal_dagar = $medlem->getForetag()->getAntalTavlingsDagar();
                     if ($steg > 0) {
                         //only save data for members who have more than 0 steg
                         try {
                             $save[] = array('medlem_id' => $medlem->getId(), 'foretag_id' => $medlem->getForetag()->getId(), 'lag_id' => $lagId, 'foretagsnyckel' => $medlem->getForetagsnyckel(), 'tavlings_id' => $tavling->getId(), 'steg' => $steg, 'start_datum' => $startDatum, 'stop_datum' => $slutDatum, 'antal_dagar' => $antal_dagar);
                             Misc::logMotiomera(" " . $i++ . " tavling_id: " . $tavling->getId() . " | " . $medlem->getForetag()->getNamn() . ' | id: ' . $medlem->getId() . ' | ' . $medlem->getAnamn() . " | steg: {$steg}" . " | email: " . $medlem->getEpost(), 'ok');
                             $medlem->addPaidUntil(self::FORETAGSMEDLEMS_EXTRA_DAYS);
                             //add some extra days after finished competition
                             $medlem->commit();
                         } catch (Exception $e) {
                             Misc::logMotiomera(" " . $i++ . " | something went wrong", 'error');
                         }
                     } else {
                         Misc::logMotiomera(" " . $i++ . " | Member is omitted due to 0 steps |" . $medlem->getForetag()->getNamn() . ' | id: ' . $medlem->getId() . ' | ' . $medlem->getAnamn() . " | steg: {$steg}" . " | email: " . $medlem->getEpost(), 'warning');
                     }
                 } else {
                     Misc::logMotiomera(" " . $i++ . " | Member is omitted due to member not in foretag | id: " . $medlem->getId() . ' | ' . $medlem->getAnamn() . " | email: " . $medlem->getEpost(), 'warning');
                 }
             }
         }
         $lag_save = array();
         foreach ($save as $m) {
             //print_r($m);
             $i = 0;
             if (!isset($lag_save[$m['lag_id']]) and $m['lag_id'] > 0) {
                 $lag_save[$m['lag_id']] = Lag::loadById($m['lag_id']);
             }
             $sql = "INSERT INTO " . Tavling::RELATION_TABLE . " SET ";
             foreach ($m as $field => $value) {
                 $i++;
                 if ($i == 9) {
                     $sql .= $field . " = '" . $value . "'";
                 } else {
                     $sql .= $field . " = '" . $value . "', ";
                 }
             }
             //echo "<br />$sql";
             $db->query($sql);
         }
         if (count($lag_save) != 0) {
             Tavling::saveLagList($lag_save);
         }
     }
     Misc::logMotiomera("End foretag::saveAndEndForetagsTavling() ", 'info');
 }
コード例 #4
0
ファイル: tavlingsres.php プロジェクト: krillo/motiomera
                $foretagMedlemArray = Tavling::getResultCompanyTeamMember($tid, $lag['lag_id']);
                array_push($allaLag, $foretagMedlemArray);
            }
            //print_r($allaLag);
            //get all members for the submitted company
            //Deltagartoppen  no limit - all members (-1)
            $allCompMembArray = Tavling::getResultAllMembers($tid, -1, $fid);
            //print_r($allCompMembArray);
            //get all members for the whole contest    Deltagartoppen
            //if the member ranks lower than DELTAGARTOPPEN_MAX then add her the the array
            $allMembArray = Tavling::getResultAllMembers($tid, DELTAGARTOPPEN_MAX);
            //print_r($allMembArray);
            $lagArray = Tavling::getResultTeam($tid);
            //get all the teams with median  Lagtoppen
            //print_r($foretagLagArray);
            $allForetagArray = Tavling::getResultCompany($tid, FORETAGSTOPPEN_MAX);
            //get all companys average   Foretagstoppen
            //print_r($allForetagArray);
            $foretag = Foretag::loadById($fid);
            break;
        default:
            throw new UserException('Något har gått fel', 'Prova igen senare eller rapportera felet till support@motiomera.se');
            break;
    }
}
$smarty->assign("foretagArray", $foretagArray);
$smarty->assign("allaLag", $allaLag);
$smarty->assign("foretagLagArray", $foretagLagArray);
$smarty->assign("allCompMembArray", $allCompMembArray);
$smarty->assign("allMembArray", $allMembArray);
$smarty->assign("lagArray", $lagArray);
コード例 #5
0
ファイル: editforetag.php プロジェクト: krillo/motiomera
<?php

include $_SERVER["DOCUMENT_ROOT"] . "/php/init.php";
if (!empty($_GET["fid"]) && !(isset($FORETAG) && $FORETAG->getId() == $_GET["fid"])) {
    Security::demand(ADMIN);
    $foretag = Foretag::loadById($_GET["fid"]);
} else {
    Security::demand(FORETAG);
    $foretag = $FORETAG;
}
$smarty = new MMSmarty();
$tid = Tavling::getTavlingsId($foretag->getId());
//echo $tid[tavlings_id];
$smarty->assign("tid", $tid[tavlings_id]);
$smarty->assign("pagetitle", "Redigera företag");
$tabs = new TabBox("foretag", 590, null);
$tabs->addTab("Lag", "lag");
$tabs->addTab("Inställningar", "installningar");
$tabs->addTab("Deltagare", "anstallda");
$tabs->addTab("Tilläggsbeställning", "tillaggsbest");
$tabs->addTab("Nycklar", "nycklar");
$tabs->addTab("Reklamation", "reklamation");
if (!empty($_GET["tab"]) && $_GET["tab"] < 6) {
    $tabs->setSelected($_GET["tab"]);
} else {
    $tabs->setSelected("Lag");
}
$smarty->assign("tabs", $tabs);
$smarty->assign("foretaget", $foretag);
$sel_kommun = $foretag->getKommunId();
$smarty->assign("sel_kommun", $sel_kommun);