/', $name, $M)) { $name = $M[1]; } // things we can look for.. // userid ? // email.. (userinfo) $q = MTrackDB::q(' select userid from userinfo where userid = ? OR email= ?',$name,$name); $ar = $q->fetchAll(); if (count($ar)) { return MTrack_DataObjects_UserInfo::get($ar[0]['userid']); } // alias $q = MTrackDB::q(' select userid from useraliases where alias = ?',$name); $ar = $q->fetchAll(PDO::FETCH_ASSOC); if ($ar) { //? empty array? return MTrack_DataObjects_UserInfo::get($ar[0]['userid']); } return false; } static function get($uid) { if ($uid == 'anonymous') { $ret = new Mtrack_DataObjects_UserInfo(); $ret->userid = 'anonymous'; return $ret; } $q = MTrackDB::q( 'select * from userinfo where userid = ?', $uid); foreach ($q->fetchAll(PDO::FETCH_ASSOC) as $row) { return self::init($row); } throw new Exception("User does not exist"); } static function init($ar) { $r = new Mtrack_DataObjects_UserInfo; foreach($ar as $k=>$v) { $r->$k = $v; } return $r; } static function selectList($ret) { $q = MTrackDB::q( 'select userid, fullname, active from userinfo order by active DESC, userid ASC' ); // inactive are show after active... foreach ($q->fetchAll() as $row) { $disp = strlen($row[1]) ? "$row[0] - $row[1]" : $row[0]; $disp .= $row[2] ? '' : ' (inactive)'; $ret[$row[0]] = $disp; } return $ret; } /** * setup date_default_timezone_set(); */ function setCurrentTimeZone() { if (!empty($this->timezone)) { date_default_timezone_set($this->timezone); return; } $ff = HTML_FlexyFramework::get(); if (isset($ff->MTrack['timezone'])) { date_default_timezone_set($ff->MTrack['timezone']); } } }