static function register() { if (!MValidate::password(MGet::string('pass'))) { return mapi_report('Invalid password.'); } if (MGet::string('pass') !== MGet::string('pass_repeat')) { return mapi_report('Passwords do not match.'); } $user = MObject::create('user'); $user->set_username(MGet::string('user')); $user->set_name(MGet::string('name')); $user->set_email(MGet::string('email')); $reg_group = MObject::get('preference', 'new_user_default_group'); $group = null; if (!$reg_group || $reg_group->get_value()) { $group = 3; } if ($reg_group->get_value() < 1 || $reg_group->get_value() > 3) { $group = 3; } if (!$group) { $group = $reg_group->get_value(); } $user->set_group_id($group); $user->set_activation(urlencode(MCrypt::encrypt(mapi_random(24)))); $user->set_enabled(0); $user->add(MGet::string('pass')); if (0 == MMessaging::any_errors() + MMessaging::any_warnings()) { self::send_reg_email($user); $_POST['user'] = ''; $_POST['name'] = ''; $_POST['email'] = ''; } }
public function add($password) { $user = ORM::for_table('users')->create(); if (!$user || !$this->setup_object($user)) { return null; } $user->created = date_format(new DateTime('now'), 'Y-m-d H:i:s'); if (MAuth::user_id()) { $user->createdby = MAuth::user_id(); } else { $user->createdby = 1; } if ($this->activation) { $user->activation = $this->activation; } $user->modified = $user->created; $user->modifiedby = $user->createdby; if ($password && MValidate::password($password)) { $user->password = md5($password); } else { return mapi_report_message('Not a valid password.'); } if ($user->save()) { $this->set_id($user->id); if ($this->activation) { mapi_report_message('Successfully registered, check your mail.', 'success'); } else { mapi_report_message('New user successfully added.', 'success'); } } }