Example #1
0
 static function add($email, $name)
 {
     global $database, $service, $user, $blog;
     if (empty($email)) {
         return 1;
     }
     if (!preg_match('/^[^@]+@([-a-zA-Z0-9]+\\.)+[-a-zA-Z0-9]+$/', $email)) {
         return 2;
     }
     if (strcmp($email, Utils_Unicode::lessenAsEncoding($email, 64)) != 0) {
         return 11;
     }
     $loginid = POD::escapeString(Utils_Unicode::lessenAsEncoding($email, 64));
     $name = POD::escapeString(Utils_Unicode::lessenAsEncoding($name, 32));
     $password = User::__generatePassword();
     $authtoken = md5(User::__generatePassword());
     if (POD::queryExistence("SELECT * FROM {$database['prefix']}Users WHERE loginid = '{$loginid}'")) {
         return 9;
         // User already exists.
     }
     if (POD::queryCell("SELECT COUNT(*) FROM {$database['prefix']}Users WHERE name = '{$name}'")) {
         $name = $name . '.' . time();
     }
     $result = POD::query("INSERT INTO {$database['prefix']}Users (userid, loginid, password, name, created, lastlogin, host) VALUES (" . (User::__getMaxUserId() + 1) . ", '{$loginid}', '" . md5($password) . "', '{$name}', UNIX_TIMESTAMP(), 0, " . getUserId() . ")");
     if (empty($result)) {
         return 11;
     }
     $result = POD::query("INSERT INTO {$database['prefix']}UserSettings (userid, name, value) VALUES ('" . User::getUserIdByEmail($loginid) . "', 'AuthToken', '{$authtoken}')");
     if (empty($result)) {
         return 11;
     }
     return true;
 }
Example #2
0
 static function add($email, $name)
 {
     $context = Model_Context::getInstance();
     $pool = DBModel::getInstance();
     if (empty($email)) {
         return 1;
     }
     if (!preg_match('/^[^@]+@([-a-zA-Z0-9]+\\.)+[-a-zA-Z0-9]+$/', $email)) {
         return 2;
     }
     if (strcmp($email, Utils_Unicode::lessenAsEncoding($email, 64)) != 0) {
         return 11;
     }
     $loginid = Utils_Unicode::lessenAsEncoding($email, 64);
     $name = Utils_Unicode::lessenAsEncoding($name, 32);
     $password = User::__generatePassword();
     $authtoken = md5(User::__generatePassword());
     $pool->reset("Users");
     $pool->setQualifier("loginid", "eq", $loginid, true);
     if ($pool->doesExist()) {
         return 9;
         // User already exists.
     }
     $pool->reset("Users");
     $pool->setQualifier("name", "eq", $name, true);
     if ($pool->getCount()) {
         $name = $name . '.' . time();
     }
     $pool->reset("Users");
     $pool->setAttribute("userid", User::__getMaxUserId() + 1);
     $pool->setAttribute("loginid", $loginid, true);
     $pool->setAttribute("password", md5($password), true);
     $pool->setAttribute("name", $name, true);
     $pool->setAttribute("created", Timestamp::getUNIXtime());
     $pool->setAttribute("lastlogin", 0);
     $pool->setAttribute("host", getUserId());
     $result = $pool->insert();
     if (empty($result)) {
         return 11;
     }
     $pool->reset("UserSettings");
     $pool->setAttribute("userid", User::getUserIdByEmail($loginid));
     $pool->setAttribute("name", 'AuthToken', true);
     $pool->setAttribute("value", $authtoken, true);
     $result = $pool->insert();
     if (empty($result)) {
         return 11;
     }
     return true;
 }