/** static */ function isNameInUse($stationName) { global $db; $res = $db->getOne("SELECT count(*) FROM sotf_stations WHERE name='" . sotf_Utils::clean($stationName) . "'"); if (DB::isError($res)) { raiseError($res); } return $res; }
function getSQLSafeParameter($name) { return sotf_Utils::clean(sotf_Utils::getParameter($name), true); }
/** * Removes the user from station. * * @param string $username Userid * @param string $station Station * @return boolean Returns true if succeeded * @todo Error handling * @use $db */ function delUserFromStation($username, $station) { global $db; $username = sotf_Utils::clean($username); $station = sotf_Utils::clean($station); $db->query("DELETE FROM sotf_user_group WHERE username='******' AND station='{$station}'"); return true; }
function simpleSearch($text, $language, $from, $count) { $db = $this->db; $sql = "SELECT * FROM sotf_programmes WHERE published='t' "; $sql .= " AND (title ~* '{$text}' OR keywords ~* '{$text}' OR abstract ~* '{$text}' OR author ~* '{$text}' OR spatial_coverage ~* '{$text}') "; if ($language && $language != 'any_language') { $language = sotf_Utils::clean($language); $sql .= " AND language='{$language}' "; } $sql .= " ORDER BY production_date DESC "; $res = $db->limitQuery($sql, $from, $count); if (DB::isError($res)) { raiseError($res->getMessage()); } while (DB_OK === $res->fetchInto($row)) { debug("row", $row['title']); $list[] = new sotf_Programme($row['id'], $row); } return $list; }
function login($name, $password) { global $user, $userdb, $page; $pwd = $userdb->getOne("SELECT passwd FROM authenticate WHERE username='******'"); if (DB::isError($pwd)) { raiseError("could not compare passwords"); } if ($pwd != $password) { error_log("Login failed for {$name} from " . getHostName(), 0); return $page->getlocalized("invalid_login"); } else { $user = new sotf_User($name); $userdb->query("UPDATE user_preferences SET num_logins=num_logins+1, last_visit='" . db_Wrap::getSQLDate() . "' WHERE auth_id='" . $user->id . "' "); $_SESSION['username'] = $user->name; } }