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();
}
?>