_throw("FCannotAddDeveloper", "Cannot add developer"); } } else { _throw("FCannotResetDeveloperPassword", "Cannot reset password for developer"); } } // getting user $boolFreshUser = false; if (!isset($oUser) || !is_a($oUser, "User")) { if ($oUserManager->checkUser($fusebox['defaultUser'])) { if (!($oUser = $oUserManager->getUser($fusebox['defaultUser']))) { _throw("FNoDefaultUser", "No default user found"); } } else { $oUser = new User(0, $fusebox['defaultUser']); $oUser->setRegisteredDate(); if ($oUserManager->addUser($oUser)) { if (!($oUser = $oUserManager->getUser($fusebox['defaultUser']))) { _throw("FStillNoDefaultUser", "No default user found... again! DB corrupted ?"); } } else { _throw("FCannotAddDefaultUser", "Cannot add default user"); } } // setting unique name for visitor to track activity $oUser->setFirstName(strtoupper($oUser->getLogin())); $oUser->setMiddleName(chr(rand(65, 90))); $oUser->setLastName(rand(0, 9999999)); $oUser->setUserAgent($_SERVER['HTTP_USER_AGENT']); $oUser->setCurrentVisitIP($_SERVER['REMOTE_ADDR']); $oUser->setCurrentVisitMoment(date('Y-m-d H:i:s'));
function getUsers($order = "login", $sort = "ASC", $offset = 0, $count = 0, $filter = array()) { $users = false; $order = in_array($order, array('id', 'login', 'email', 'firstname', 'lastname', 'fullname', 'birthdate', 'registeredmoment')) ? $order : "login"; $sort = in_array($sort, array('ASC', 'DESC')) ? $sort : "ASC"; $sql = "SELECT \tid, \n\t\t\t\t\t\tlogin, \n\t\t\t\t\t\t'' AS pwd, \n\t\t\t\t\t\tIF(login = '******' AND pwd = MD5('" . $this->fDevPassword . "'), 1, 0) AS is_dev, \n\t\t\t\t\t\tIF(login = '******', 1, 0) AS is_defaultuser, \n\t\t\t\t\t\temail, \n\t\t\t\t\t\tfirstname, \n\t\t\t\t\t\tmiddlename, \n\t\t\t\t\t\tlastname, \n\t\t\t\t\t\tCONCAT(firstname, ' ', middlename, ' ', lastname) AS fullname, \n\t\t\t\t\t\tDATE_FORMAT(birthdate, '%m/%d/%Y') AS f_birthdate, \n\t\t\t\t\t\tphone, \n\t\t\t\t\t\taddress, \n\t\t\t\t\t\tcity, \n\t\t\t\t\t\tstate, \n\t\t\t\t\t\tpostalcode, \n\t\t\t\t\t\tcountry, \n\t\t\t\t\t\tDATE_FORMAT(registeredmoment, '%m/%d/%Y') AS f_registeredmoment, \n\t\t\t\t\t\tDATE_FORMAT(previousvisitmoment, '%m/%d/%Y') AS f_previousvisitmoment, \n\t\t\t\t\t\tINET_NTOA(previousvisitip) AS f_previousvisitip, \n\t\t\t\t\t\tDATE_FORMAT(currentvisitmoment, '%m/%d/%Y') AS f_currentvisitmoment, \n\t\t\t\t\t\tINET_NTOA(currentvisitip) AS f_currentvisitip \n\t\t\t\t\tFROM " . $this->fUsersTable . " ORDER BY " . $order . " " . $sort; if ($count > 0 && $offset > 0) { $sql .= " LIMIT " . (int) $offset . ", " . (int) $count; } elseif ($count > 0) { $sql .= " LIMIT " . (int) $count; } if ($arrUsers = $this->fDB->getQueryRecordSet($sql)) { $users = array(); foreach ($arrUsers as $arrUser) { $user = new User($arrUser['id'], $arrUser['login'], $arrUser['pwd'], $arrUser['email'], $arrUser['firstname'], $arrUser['middlename'], $arrUser['lastname']); $user->setBirthDate($arrUser['f_birthdate']); $user->setPhone($arrUser['phone']); $user->setAddress($arrUser['address']); $user->setCity($arrUser['city']); $user->setState($arrUser['state']); $user->setPostalCode($arrUser['postalcode']); $user->setCountry($arrUser['country']); $user->setRegisteredDate($arrUser['f_registeredmoment']); $user->setPreviousVisitMoment($arrUser['f_previousvisitmoment']); $user->setPreviousVisitIP($arrUser['f_previousvisitip']); $user->setCurrentVisitMoment($arrUser['f_currentvisitmoment']); $user->setCurrentVisitIP($arrUser['f_currentvisitip']); $user->setIsDev($arrUser['is_dev']); $user->setIsDefaultUser($arrUser['is_defaultuser']); $users[] = $user; } } return $users; }