1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
|
<?php
/*
* Gallery - a web based photo album viewer and editor
* Copyright (C) 2000-2006 Bharat Mediratta
*
* This program 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 2 of the License, or (at
* your option) any later version.
*
* This program 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 this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
*
* $Id: UserDB.php 13580 2006-05-02 10:22:26Z jenst $
*/
/* This class is written for phpBB2 and provides full integration of the phpbb users database
* Instead of using or duplicating memberships manually in Gallery.
*
* Gallery <-> phpBB2 integration ver. (www.snailsource.com)
* Written by Martin Smallridge <info@snailsource.com>
*
* This file was modified for official integration into Gallery 1.4.3 by
* Jens Tkotz
*/
class phpbb_UserDB extends Abstract_UserDB {
var $db;
function phpbb_UserDB() {
global $gallery;
$this->db = $gallery->database{"phpbb"};
$this->nobody = new NobodyUser();
$this->everybody = new EverybodyUser();
$this->loggedIn = new LoggedInUser();
}
function getUidList() {
global $table_prefix;
$uidList = array();
$db = $this->db;
$result = $db->query("select user_id from ".$table_prefix."users");
while ($row = $db->fetch_row($result)) {
array_push($uidList, $row[0]);
}
array_push($uidList, $this->nobody->getUid());
array_push($uidList, $this->everybody->getUid());
array_push($uidList, $this->loggedIn->getUid());
sort($uidList);
return $uidList;
}
function getUserByUsername($username, $level=0) {
if (!strcmp($username, $this->nobody->getUsername())) {
return $this->nobody;
} else if (!strcmp($username, $this->everybody->getUsername())) {
return $this->everybody;
} else if (!strcmp($username, $this->loggedIn->getUsername())) {
return $this->loggedIn;
}
$user = new phpbb_User();
$user->loadByUsername($username);
return $user;
}
function getUserByUid($uid) {
global $gallery;
$userDir = $gallery->app->userDir;
if (!$uid || !strcmp($uid, $this->nobody->getUid())) {
return $this->nobody;
} else if (!strcmp($uid, $this->everybody->getUid())) {
return $this->everybody;
} else if (!strcmp($uid, $this->loggedIn->getUid())) {
return $this->loggedIn;
}
$user = new phpbb_User();
$user->loadByUid($uid);
return $user;
}
}
?>
|