<?php
/*
This file is part of Hotseat Corner.
Hotseat Corner is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Hotseat Corner is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Hotseat Corner. If not, see <http://www.gnu.org/licenses/>.
*/
class HSUtils_UID {
public static function get($key = 'uid') {
$dbh = HSUtils_DB::get();
$dbq = "LOCK TABLES uids WRITE";
$dbh->prepare($dbq)->execute();
$dbq = "SELECT uid+1 FROM uids WHERE type = :1";
list($uid) = $dbh->prepare($dbq)->execute($key)->rowArray();
$dbq = "REPLACE INTO uids VALUES (:1, :2)";
$dbh->prepare($dbq)->execute($key, $uid);
$dbq = "UNLOCK TABLES";
$dbh->prepare($dbq)->execute();
return $uid;
}
}
?>