connect(); } function connect() { $this->link = mysql_connect(DB_HOST, DB_USERNAME, DB_PASSWORD, true); mysql_set_charset("UTF8"); if (!$this->link) { die('Could not connect: ' . mysql_error()); } mysql_select_db(DB_NAME, $this->link); } function disconnect() { mysql_close(); } function query($query) { //print $query; $ret = mysql_query($query, $this->link) or print(mysql_error()); return $ret; } function countAllSharedFootprints() { $ret = $this->query("SELECT count(id) FROM answers WHERE shared"); while ( $c = mysql_fetch_array($ret) ) { return $c[0]; } return false; } function countAllMyFootprints($uid) { $ret = $this->query("SELECT count(id) FROM answers WHERE userid=".$uid); while ( $c = mysql_fetch_array($ret) ) { return $c[0]; } return false; } function getAllSharedFootprints($limit=false, $offset=false, $sortby=false) { $opts = ""; if ($sortby) { $opts .= " ORDER BY ".$sortby." ASC"; } else { $opts .= " ORDER BY organization ASC, firstname ASC, lastname ASC"; } if ($limit) $opts .= " LIMIT ".$limit; if ($offset) $opts .= " OFFSET ".$offset; $ret = $this->query("SELECT answers.id FROM answers LEFT JOIN userinfo ON answers.userid=userinfo.userid LEFT JOIN users ON answers.userid=users.id WHERE users.registred AND shared".$opts); $sid = array(); while ( $c = mysql_fetch_array($ret) ) { $sid []= $c['id']; } return $sid; } function getAllMyFootprints($uid, $limit=false, $offset=false, $sortby=false) { $opts = ""; if ($sortby) { $opts .= " ORDER BY ".$sortby." ASC"; } else { $opts .= " ORDER BY created DESC"; } if ($limit) $opts .= " LIMIT ".$limit; if ($offset) $opts .= " OFFSET ".$offset; $ret = $this->query("SELECT id FROM answers WHERE userid=".$uid.$opts); $sid = array(); while ( $c = mysql_fetch_array($ret) ) { $sid []= $c['id']; } return $sid; } function getAnswerByCalcId($cid) { $ret = $this->query("SELECT * FROM answers WHERE id=".$cid); while ( $c = mysql_fetch_array($ret) ) { return $c; } return false; } function getFootprintsByUserId($uid) { $ret = $this->query("SELECT id, footprint, created FROM answers WHERE userid=".$uid." AND footprint"); $fp = array(); while ( $c = mysql_fetch_array($ret) ) { $fp []= $c; } return $fp; } function getPeriodByCalculationId($aid) { $ret = $this->query("SELECT period_start_month, period_start_year, period_end_month, period_end_year FROM answers WHERE id=".$aid); $fp = array(); while ( $c = mysql_fetch_array($ret) ) { return $c; } return false; } function getCalculationProgress($uid, $aid=false) { if (!$aid) { $ret = $this->query("SELECT * FROM answers WHERE id=".$uid); } else { $ret = $this->query("SELECT * FROM answers WHERE userid=".$uid." AND id=".$aid); } $fp = array(); while ( $c = mysql_fetch_array($ret) ) { return $c; } return false; } function getIsOrgByUserId($uid) { if (is_numeric($uid)){ $ret = $this->query("SELECT org FROM users WHERE id=".$uid); while ( $c = mysql_fetch_array($ret) ) { return $c['org']; } } return false; } function getTrash() { $ret = $this->query("SELECT users.id FROM answers LEFT JOIN users ON answers.userid=users.id WHERE !registred"); $sid = array(); while ( $c = mysql_fetch_array($ret) ) { $sid []= $c['id']; } return $sid; } function emptyTrash() { $trash = $this->getTrash(); foreach ($trash as $t) { $this->query("DELETE FROM users WHERE id=".$t); } } } if ( !isset($kdb)) { $kdb = new KDB(); } ?>