4 * - key is actually the user name ... - yes i know.. borked eh..
8 require_once 'MTrack/DB.php';
10 class MTrack_DataObjects_UserInfo
20 static function findString($name)
22 static $canon_map = null;
24 // used to be a get everything search.. then pregmatch it all..
25 // but that sounds just dumb...
26 if (preg_match('/<([a-z0-9_.+=-]+@[a-z0-9.-]+)>/', $name, $M)) {
30 // things we can look for..
34 $q = MTrackDB::q(' select userid from userinfo where userid = ? OR email= ?',$name,$name);
37 return MTrack_DataObjects_UserInfo::get($ar[0]['userid']);
40 $q = MTrackDB::q(' select userid from useraliases where alias = ?',$name);
41 $ar = $q->fetchAll(PDO::FETCH_ASSOC);
42 if ($ar) { //? empty array?
43 return MTrack_DataObjects_UserInfo::get($ar[0]['userid']);
48 static function get($uid)
50 if ($uid == 'anonymous') {
51 $ret = new Mtrack_DataObjects_UserInfo();
52 $ret->userid = 'anonymous';
55 $q = MTrackDB::q( 'select * from userinfo where userid = ?', $uid);
57 foreach ($q->fetchAll(PDO::FETCH_ASSOC) as $row) {
58 return self::init($row);
60 throw new Exception("User does not exist");
63 static function init($ar)
65 $r = new Mtrack_DataObjects_UserInfo;
66 foreach($ar as $k=>$v) {
71 static function selectList($ret)
73 $q = MTrackDB::q( 'select userid, fullname, active from userinfo order by active DESC, userid ASC' );
74 // inactive are show after active...
75 foreach ($q->fetchAll() as $row) {
77 $disp = strlen($row[1]) ? "$row[0] - $row[1]" : $row[0];
78 $disp .= $row[2] ? '' : ' (inactive)';
80 $ret[$row[0]] = $disp;
88 * setup date_default_timezone_set();
90 function setCurrentTimeZone()
92 if (!empty($this->timezone)) {
93 date_default_timezone_set($this->timezone);
96 $ff = HTML_FlexyFramework::get();
97 if (isset($ff->MTrack['timezone'])) {
98 date_default_timezone_set($ff->MTrack['timezone']);