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; }
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; }