cid = $cid; $this->data = $kdb->getAnswerByCalcId($cid); } public function getCID() { return $this->cid; } public function getQuestionData() { return $this->data; } public function getCategory() { return $this->category; } public function getPersons() { return $this->persons; } public function setPersons($ps) { $this->persons = $ps; } public function getFootprint() { return $this->footprint; } public function setFootprint($fp) { $this->footprint = $fp; } public function addFootprint($fp) { $this->footprint = $this->footprint + $fp; } public function getCalculation() { return $this->progress; } public function setCalculation($fp) { $this->progress = $fp; } public function addCalculation($fp) { $this->progress []= $fp; } public function getUpdateDB() { return $this->updateDB; } public function addUpdateDB($up) { foreach ($up as $key => $val) { $this->updateDB[$key] = $val; } } public function exeUpdateDB() { global $user, $kdb; $dat = array(); foreach ($this->updateDB as $key => $val) { $dat []= $key."=".$val; } if (count($dat)>0) { $fp = str_replace(",", ".", $this->getFootprint()); $fp_pp = str_replace(",", ".", $this->getFootprint()/$this->getPersons()); $kdb->query("UPDATE answers SET footprint=".$fp.", footprint_pp=".$fp_pp.", ".join($dat, ",").", calculation='".serialize($this->getCalculation())."' WHERE id=".$this->getCID()); $kdb->query("UPDATE users SET footprint=".$fp." WHERE id=".$user->getId()); } } public function setQuestion3($data) { $answered = 0; $calc = 0; $kw = 0; $cdat = array('choice_3_0'=>array('title'=>'Põlevkivist toodetud elektrienergia','val'=>0,'fpt'=>0,'fpt_pp'=>0), 'choice_3_1'=>array('title'=>'Roheline Energia','val'=>0,'fpt'=>0,'fpt_pp'=>0)); if (isset($data['choice_3_0']) && is_numeric($data['choice_3_0']) && $data['choice_3_0'] > 0) { $answered++; $kw = $data['choice_3_0']; $cdat['choice_3_0']['val'] = round($kw); $this->addUpdateDB(array('choice_3_0'=>$data['choice_3_0'])); if (isset($data['choice_3_1']) && is_numeric($data['choice_3_1']) && $data['choice_3_1']<=$kw) { $answered++; $kwg = $data['choice_3_1']; $cdat['choice_3_1']['val'] = round($kwg); $kw1 = $kw - $kwg; $calc = $kw1 * 0.000161; $cdat['choice_3_0']['fpt'] = round($calc, 3); $cdat['choice_3_0']['fpt_pp'] = round($calc/$this->getPersons(), 3); $gcalc = $kwg * 0.00002425; $calc = $calc + $gcalc; $cdat['choice_3_1']['fpt'] = round($gcalc, 3); $cdat['choice_3_1']['fpt_pp'] = round($gcalc/$this->getPersons(), 3); $this->addUpdateDB(array('choice_3_1'=>$data['choice_3_1'])); } else { $calc = ($kw * 0.000161); $cdat['choice_3_0']['fpt'] = round($calc, 3); $cdat['choice_3_0']['fpt_pp'] = round($calc/$this->getPersons(), 3); } $this->addFootprint($calc); } $this->addCalculation(array('title'=>'Elektrienergia (kWh)', 'data'=>$cdat, 'answered'=>$answered, 'calc'=>$calc, 'val'=>$kw.' KWh')); } public function setQuestion4($data) { $answered = 0; $calc = 0; $kw = 0; $cdat = array('choice_4_1'=>array('title'=>'Kivisöest toodetud soojusenergia','val'=>0,'fpt'=>0,'fpt_pp'=>0), 'choice_4_2'=>array('title'=>'Naftast toodetud soojusenergia','val'=>0,'fpt'=>0,'fpt_pp'=>0), 'choice_4_3'=>array('title'=>'Maagaasist toodetud soojusenergia','val'=>0,'fpt'=>0,'fpt_pp'=>0), 'choice_4_4'=>array('title'=>'Tuuleenergiast toodetud soojusenergia','val'=>0,'fpt'=>0,'fpt_pp'=>0), 'choice_4_5'=>array('title'=>'Päikesepaneelidega toodetud soojusenergia','val'=>0,'fpt'=>0,'fpt_pp'=>0), 'choice_4_6'=>array('title'=>'Biomassist toodetud soojusenergia','val'=>0,'fpt'=>0,'fpt_pp'=>0), 'choice_4_7'=>array('title'=>'Hüdroenergiast toodetud soojusenergia','val'=>0,'fpt'=>0,'fpt_pp'=>0), ); if (isset($data['choice_4_0']) && is_numeric($data['choice_4_0']) && $data['choice_4_0'] > 0) { $kw = $data['choice_4_0']; $this->addUpdateDB(array('choice_4_0'=>$data['choice_4_0'])); if (!isset($data['choice_4_8'])) { $this->addUpdateDB(array('choice_4_8'=>0)); if (isset($data['choice_4_1']) && is_numeric($data['choice_4_1'])) { $answered++; $perc_41 = (($data['choice_4_1'] * $kw) / 100); $calc_41 = ($perc_41 * 0.000161); $cdat['choice_4_1']['val'] = round($perc_41); $calc = $calc + $calc_41; $this->addUpdateDB(array('choice_4_1'=>$data['choice_4_1'])); $cdat['choice_4_1']['fpt'] = round($calc_41, 3); $cdat['choice_4_1']['fpt_pp'] = round($calc_41/$this->getPersons(), 3); } if (isset($data['choice_4_2']) && is_numeric($data['choice_4_2'])) { $answered++; $perc_42 = (($data['choice_4_2'] * $kw) / 100); $calc_42 = ($perc_42 * 0.000150); $cdat['choice_4_2']['val'] = round($perc_42); $calc = $calc + $calc_42; $this->addUpdateDB(array('choice_4_2'=>$data['choice_4_2'])); $cdat['choice_4_2']['fpt'] = round($calc_42, 3); $cdat['choice_4_2']['fpt_pp'] = round($calc_42/$this->getPersons(), 3); } if (isset($data['choice_4_3']) && is_numeric($data['choice_4_3'])) { $answered++; $perc_43 = (($data['choice_4_3'] * $kw) / 100); $calc_43 = ($perc_43 * 0.000094); $cdat['choice_4_3']['val'] = round($perc_43); $calc = $calc + $calc_43; $this->addUpdateDB(array('choice_4_3'=>$data['choice_4_3'])); $cdat['choice_4_3']['fpt'] = round($calc_43, 3); $cdat['choice_4_3']['fpt_pp'] = round($calc_43/$this->getPersons(), 3); } if (isset($data['choice_4_4']) && is_numeric($data['choice_4_4'])) { $answered++; $perc_44 = (($data['choice_4_4'] * $kw) / 100); $calc_44 = ($perc_44 * 0.000006); $cdat['choice_4_4']['val'] = round($perc_44); $calc = $calc + $calc_44; $this->addUpdateDB(array('choice_4_4'=>$data['choice_4_4'])); $cdat['choice_4_4']['fpt'] = round($calc_44, 3); $cdat['choice_4_4']['fpt_pp'] = round($calc_44/$this->getPersons(), 3); } if (isset($data['choice_4_5']) && is_numeric($data['choice_4_5'])) { $answered++; $perc_45 = (($data['choice_4_5'] * $kw) / 100); $calc_45 = ($perc_45 * 0.000024); $cdat['choice_4_5']['val'] = round($perc_45); $calc = $calc + $calc_45; $this->addUpdateDB(array('choice_4_5'=>$data['choice_4_5'])); $cdat['choice_4_5']['fpt'] = round($calc_45, 3); $cdat['choice_4_5']['fpt_pp'] = round($calc_45/$this->getPersons(), 3); } if (isset($_POST['choice_4_6']) && is_numeric($data['choice_4_6'])) { $answered++; $perc_46 = (($data['choice_4_6'] * $kw) / 100); $calc_46 = ($perc_46 * 0.0000365); $cdat['choice_4_6']['val'] = round($perc_46); $calc = $calc + $calc_46; $this->addUpdateDB(array('choice_4_6'=>$data['choice_4_6'])); $cdat['choice_4_6']['fpt'] = round($calc_46, 3); $cdat['choice_4_6']['fpt_pp'] = round($calc_46/$this->getPersons(), 3); } if (isset($_POST['choice_4_7']) && is_numeric($data['choice_4_7'])) { $answered++; $perc_47 = (($data['choice_4_7'] * $kw) / 100); $calc_47 = ($perc_47 * 0.0000425); $cdat['choice_4_7']['val'] = round($perc_47); $calc = $calc + $calc_47; $this->addUpdateDB(array('choice_4_7'=>$data['choice_4_7'])); $cdat['choice_4_7']['fpt'] = round($calc_47, 3); $cdat['choice_4_7']['fpt_pp'] = round($calc_47/$this->getPersons(), 3); } } else { $this->addUpdateDB(array('choice_4_8'=>1)); // keskmised näitajad $perc_41 = ((25 * $kw) / 100); $calc_41 = ($perc_41 * 0.000161); $cdat['choice_4_1']['val'] = round($perc_41); $cdat['choice_4_1']['fpt'] = round($calc_41, 3); $cdat['choice_4_1']['fpt_pp'] = round($calc_41/$this->getPersons(), 3); $perc_42 = ((3.5 * $kw) / 100); $calc_42 = ($perc_42 * 0.000150); $cdat['choice_4_2']['val'] = round($perc_42); $cdat['choice_4_2']['fpt'] = round($calc_42, 3); $cdat['choice_4_2']['fpt_pp'] = round($calc_42/$this->getPersons(), 3); $perc_43 = ((48 * $kw) / 100); $calc_43 = ($perc_43 * 0.000094); $cdat['choice_4_3']['val'] = round($perc_43); $cdat['choice_4_3']['fpt'] = round($calc_43, 3); $cdat['choice_4_3']['fpt_pp'] = round($calc_43/$this->getPersons(), 3); $perc_45 = ((3 * $kw) / 100); $calc_45 = ($perc_45 * 0.000024); $cdat['choice_4_5']['val'] = round($perc_45); $cdat['choice_4_5']['fpt'] = round($calc_45, 3); $cdat['choice_4_5']['fpt_pp'] = round($calc_45/$this->getPersons(), 3); $perc_46 = ((20.5 * $kw) / 100); $calc_46 = ($perc_46 * 0.0000365); $cdat['choice_4_6']['val'] = round($perc_46); $cdat['choice_4_6']['fpt'] = round($calc_46, 3); $cdat['choice_4_6']['fpt_pp'] = round($calc_46/$this->getPersons(), 3); $calc = $calc + $calc_41 + $calc_42 + $calc_43 + $calc_45 + $calc_46; $answered = $answered + 5; } $this->addFootprint($calc); } $this->addCalculation(array('title'=>'Soojusenergia (kWh)', 'data'=>$cdat, 'answered'=>$answered, 'calc'=>$calc, 'val'=>$kw.' KWh')); } public function setQuestion5($data) { $answered = 0; $calc = 0; $mmm = 0; $cdat = array('choice_5_0'=>array('title'=>'Tarbitud vesi','val'=>0,'fpt'=>0,'fpt_pp'=>0)); if (isset($data) && is_numeric($data)) { $mmm = $data; $answered++; $calc = $data * 0.00008; $this->addFootprint($calc); $this->addUpdateDB(array('choice_5_0'=>$data)); $cdat['choice_5_0']['val'] = round($data); $cdat['choice_5_0']['fpt'] = round($calc, 3); $cdat['choice_5_0']['fpt_pp'] = round($calc/$this->getPersons(), 3); } $this->addCalculation(array('title'=>'Vesi (m3)', 'data'=>$cdat, 'answered'=>$answered, 'calc'=>$calc, 'val'=>$mmm.' m3')); } public function setQuestion6($data) { $answered = 0; $calc = 0; $km = 0; $cdat = array('choice_6_0'=>array('title'=>'Autotransport','val'=>0,'fpt'=>0,'fpt_pp'=>0), 'choice_6_5'=>array('title'=>'Takso','val'=>0,'fpt'=>0,'fpt_pp'=>0), 'choice_6_1'=>array('title'=>'Bussitransport','val'=>0,'fpt'=>0,'fpt_pp'=>0), 'choice_6_2'=>array('title'=>'Rongitransport','val'=>0,'fpt'=>0,'fpt_pp'=>0), 'choice_6_3'=>array('title'=>'Laevatransport','val'=>0,'fpt'=>0,'fpt_pp'=>0), 'choice_6_4'=>array('title'=>'Lennutransport','val'=>0,'fpt'=>0,'fpt_pp'=>0) ); if (isset($data['choice_6_0']) && is_numeric($data['choice_6_0'])) { $km = $km + $data['choice_6_0']; $answered++; $calc_60 = $data['choice_6_0'] * 0.000095; $calc = $calc + $calc_60; $this->addUpdateDB(array('choice_6_0'=>$data['choice_6_0'])); $cdat['choice_6_0']['val'] = round($data['choice_6_0']); $cdat['choice_6_0']['fpt'] = round($calc_60, 3); $cdat['choice_6_0']['fpt_pp'] = round($calc_60/$this->getPersons(), 3); } if (isset($data['choice_6_1']) && is_numeric($data['choice_6_1'])) { $km = $km + $data['choice_6_1']; $answered++; $calc_61 = $data['choice_6_1'] * 0.00003; $calc = $calc + $calc_61; $this->addUpdateDB(array('choice_6_1'=>$data['choice_6_1'])); $cdat['choice_6_1']['val'] = round($data['choice_6_1']); $cdat['choice_6_1']['fpt'] = round($calc_61, 3); $cdat['choice_6_1']['fpt_pp'] = round($calc_61/$this->getPersons(), 3); } if (isset($data['choice_6_2']) && is_numeric($data['choice_6_2'])) { $km = $km + $data['choice_6_2']; $answered++; $calc_62 = $data['choice_6_2'] * 0.00003; $calc = $calc + $calc_62; $this->addUpdateDB(array('choice_6_2'=>$data['choice_6_2'])); $cdat['choice_6_2']['val'] = round($data['choice_6_2']); $cdat['choice_6_2']['fpt'] = round($calc_62, 3); $cdat['choice_6_2']['fpt_pp'] = round($calc_62/$this->getPersons(), 3); } if (isset($data['choice_6_3']) && is_numeric($data['choice_6_3'])) { $km = $km + $data['choice_6_3']; $answered++; $calc_63 = $data['choice_6_3'] * 0.00001; $calc = $calc + $calc_63; $this->addUpdateDB(array('choice_6_3'=>$data['choice_6_3'])); $cdat['choice_6_3']['val'] = round($data['choice_6_3']); $cdat['choice_6_3']['fpt'] = round($calc_63, 3); $cdat['choice_6_3']['fpt_pp'] = round($calc_63/$this->getPersons(), 3); } if (isset($data['choice_6_4']) && is_numeric($data['choice_6_4'])) { $km = $km + $data['choice_6_4']; $answered++; $calc_64 = $data['choice_6_4'] * 0.000075; $calc = $calc + $calc_64; $this->addUpdateDB(array('choice_6_4'=>$data['choice_6_4'])); $cdat['choice_6_4']['val'] = round($data['choice_6_4']); $cdat['choice_6_4']['fpt'] = round($calc_64, 3); $cdat['choice_6_4']['fpt_pp'] = round($calc_64/$this->getPersons(), 3); } if (isset($data['choice_6_5']) && is_numeric($data['choice_6_5'])) { $km = $km + $data['choice_6_5']; $answered++; $calc_65 = $data['choice_6_5'] * 0.000095; $calc = $calc + $calc_65; $this->addUpdateDB(array('choice_6_5'=>$data['choice_6_5'])); $cdat['choice_6_5']['val'] = round($data['choice_6_5']); $cdat['choice_6_5']['fpt'] = round($calc_65, 3); $cdat['choice_6_5']['fpt_pp'] = round($calc_65/$this->getPersons(), 3); } $this->addFootprint($calc); $this->addCalculation(array('title'=>'Inimeste transport (km)', 'data'=>$cdat, 'answered'=>$answered, 'calc'=>$calc, 'val'=>$km.' km')); } public function setQuestion7($data) { $answered = 0; $calc = 0; $kg = 0; $cdat = array('choice_7_1'=>array('title'=>'Taaskasutusse suunatud paber ja papp','val'=>0,'fpt'=>0,'fpt_pp'=>0), 'choice_7_2'=>array('title'=>'Taaskasutusse suunatud pakendid','val'=>0,'fpt'=>0,'fpt_pp'=>0), 'choice_7_3'=>array('title'=>'Taaskasutusse suunatud klaasijäätmed','val'=>0,'fpt'=>0,'fpt_pp'=>0), 'choice_7_4'=>array('title'=>'Taaskasutusse suunatud plastijäätmed','val'=>0,'fpt'=>0,'fpt_pp'=>0), 'choice_7_5'=>array('title'=>'Taaskasutusse suunatud metall','val'=>0,'fpt'=>0,'fpt_pp'=>0), 'choice_7_0'=>array('title'=>'Olmeprügi (prügilasse)','val'=>0,'fpt'=>0,'fpt_pp'=>0) ); if (isset($data['choice_7_0']) && is_numeric($data['choice_7_0'])) { $kg = $kg + $data['choice_7_0']; $answered++; $calc_70 = $data['choice_7_0'] * 0.004038; $calc = $calc + $calc_70; $this->addUpdateDB(array('choice_7_0'=>$data['choice_7_0'])); $cdat['choice_7_0']['val'] = round($data['choice_7_0']); $cdat['choice_7_0']['fpt'] = round($calc_70, 3); $cdat['choice_7_0']['fpt_pp'] = round($calc_70/$this->getPersons(), 3); } if (isset($data['choice_7_1']) && is_numeric($data['choice_7_1'])) { $kg = $kg + $data['choice_7_1']; $answered++; $calc_71 = $data['choice_7_1'] * 0.00245; $calc = $calc + $calc_71; $this->addUpdateDB(array('choice_7_1'=>$data['choice_7_1'])); $cdat['choice_7_1']['val'] = round($data['choice_7_1']); $cdat['choice_7_1']['fpt'] = round($calc_71, 3); $cdat['choice_7_1']['fpt_pp'] = round($calc_71/$this->getPersons(), 3); } if (isset($data['choice_7_2']) && is_numeric($data['choice_7_2'])) { $kg = $kg + $data['choice_7_2']; $answered++; $calc_72 = $data['choice_7_2'] * 0.00123; $calc = $calc + $calc_72; $this->addUpdateDB(array('choice_7_2'=>$data['choice_7_2'])); $cdat['choice_7_2']['val'] = round($data['choice_7_2']); $cdat['choice_7_2']['fpt'] = round($calc_72, 3); $cdat['choice_7_2']['fpt_pp'] = round($calc_72/$this->getPersons(), 3); } if (isset($data['choice_7_3']) && is_numeric($data['choice_7_3'])) { $kg = $kg + $data['choice_7_3']; $answered++; $calc_73 = $data['choice_7_3'] * 0.00085; $calc = $calc + $calc_73; $this->addUpdateDB(array('choice_7_3'=>$data['choice_7_3'])); $cdat['choice_7_3']['val'] = round($data['choice_7_3']); $cdat['choice_7_3']['fpt'] = round($calc_73, 3); $cdat['choice_7_3']['fpt_pp'] = round($calc_73/$this->getPersons(), 3); } if (isset($data['choice_7_4']) && is_numeric($data['choice_7_4'])) { $kg = $kg + $data['choice_7_4']; $answered++; $calc_74 = $data['choice_7_4'] * 0.0022; $calc = $calc + $calc_74; $this->addUpdateDB(array('choice_7_4'=>$data['choice_7_4'])); $cdat['choice_7_4']['val'] = round($data['choice_7_4']); $cdat['choice_7_4']['fpt'] = round($calc_74, 3); $cdat['choice_7_4']['fpt_pp'] = round($calc_74/$this->getPersons(), 3); } if (isset($data['choice_7_5']) && is_numeric($data['choice_7_5'])) { $kg = $kg + $data['choice_7_5']; $answered++; $calc_75 = $data['choice_7_5'] * 0.00065; $calc = $calc + $calc_75; $this->addUpdateDB(array('choice_7_5'=>$data['choice_7_5'])); $cdat['choice_7_5']['val'] = round($data['choice_7_5']); $cdat['choice_7_5']['fpt'] = round($calc_75, 3); $cdat['choice_7_5']['fpt_pp'] = round($calc_75/$this->getPersons(), 3); } $this->addFootprint($calc); $this->addCalculation(array('title'=>'Jäätmed (kg)', 'data'=>$cdat, 'answered'=>$answered, 'calc'=>$calc, 'val'=>$kg.' kg')); } public function setQuestion8($data) { $answered = 0; $calc = 0; $km = 0; $cdat = array('choice_8_0'=>array('title'=>'Maanteetransport','val'=>0,'fpt'=>0,'fpt_pp'=>0), 'choice_8_1'=>array('title'=>'Laevatransport','val'=>0,'fpt'=>0,'fpt_pp'=>0), 'choice_8_2'=>array('title'=>'Rongitransport','val'=>0,'fpt'=>0,'fpt_pp'=>0), 'choice_8_3'=>array('title'=>'Lennutransport','val'=>0,'fpt'=>0,'fpt_pp'=>0) ); if (isset($data['choice_8_0']) && is_numeric($data['choice_8_0'])) { $km = $km + $data['choice_8_0']; $answered++; $calc_80 = $data['choice_8_0'] * 0.00007; $calc = $calc + $calc_80; $this->addUpdateDB(array('choice_8_0'=>$data['choice_8_0'])); $cdat['choice_8_0']['val'] = round($data['choice_8_0']); $cdat['choice_8_0']['fpt'] = round($calc_80, 3); $cdat['choice_8_0']['fpt_pp'] = round($calc_80/$this->getPersons(), 3); } if (isset($data['choice_8_1']) && is_numeric($data['choice_8_1'])) { $km = $km + $data['choice_8_1']; $answered++; $calc_81 = $data['choice_8_1'] * 0.00001; $calc = $calc + $calc_81; $this->addUpdateDB(array('choice_8_1'=>$data['choice_8_1'])); $cdat['choice_8_1']['val'] = round($data['choice_8_1']); $cdat['choice_8_1']['fpt'] = round($calc_81, 3); $cdat['choice_8_1']['fpt_pp'] = round($calc_81/$this->getPersons(), 3); } if (isset($data['choice_8_2']) && is_numeric($data['choice_8_2'])) { $km = $km + $data['choice_8_2']; $answered++; $calc_82 = $data['choice_8_0'] * 0.00001; $calc = $calc + $calc_82; $this->addUpdateDB(array('choice_8_2'=>$data['choice_8_2'])); $cdat['choice_8_2']['val'] = round($data['choice_8_2']); $cdat['choice_8_2']['fpt'] = round($calc_82, 3); $cdat['choice_8_2']['fpt_pp'] = round($calc_82/$this->getPersons(), 3); } if (isset($data['choice_8_3']) && is_numeric($data['choice_8_3'])) { $km = $km + $data['choice_8_3']; $answered++; $calc_83 = $data['choice_8_3'] * 0.00032; $calc = $calc + $calc_83; $this->addUpdateDB(array('choice_8_3'=>$data['choice_8_3'])); $cdat['choice_8_3']['val'] = round($data['choice_8_3']); $cdat['choice_8_3']['fpt'] = round($calc_83, 3); $cdat['choice_8_3']['fpt_pp'] = round($calc_83/$this->getPersons(), 3); } $this->addFootprint($calc); $this->addCalculation(array('title'=>'Kaupade transport (tonn-km)', 'data'=>$cdat, 'answered'=>$answered, 'calc'=>$calc, 'val'=>$km.' tonn-km')); } } $question = new Question($_SESSION['cid']); if ( isset($_POST['actionCalc']) && isset($_SESSION['userid']) ) { global $kdb, $user; if (isset($_POST['choice_2_0']) && is_numeric($_POST['choice_2_0'])) { $question->setPersons($_POST['choice_2_0']); $question->addUpdateDB(array('choice_2_0'=>$_POST['choice_2_0'])); } $question->setQuestion3($_POST); $question->setQuestion4($_POST); if (isset($_POST['choice_5_0']) && is_numeric($_POST['choice_5_0'])) { $question->setQuestion5($_POST['choice_5_0']); } $question->setQuestion6($_POST); $question->setQuestion7($_POST); $question->setQuestion8($_POST); $question->exeUpdateDB(); $_SESSION['page'] = 'footprint'; header("Location:index.php"); } $kesa->setPage($question); $kesa->setTemplate("calculation.html"); ?>