function handler_accounts(PlPage $page) { $page->changeTpl('admin/accounts.tpl'); $page->setTitle('Administration - Comptes'); if (Post::has('create_account')) { S::assert_xsrf_token(); $firstname = Post::t('firstname'); $lastname = mb_strtoupper(Post::t('lastname')); $sex = Post::s('sex'); $email = Post::t('email'); $type = Post::s('type'); if (!$type) { $page->trigError("Empty account type"); } elseif (!isvalid_email($email)) { $page->trigError("Invalid email address: {$email}"); } elseif (strlen(Post::s('pwhash')) != 40) { $page->trigError("Invalid password hash"); } else { $login = PlUser::makeHrid($firstname, $lastname, $type); $full_name = $firstname . ' ' . $lastname; $directory_name = $lastname . ' ' . $firstname; XDB::execute("INSERT INTO accounts (hruid, type, state, password,\n registration_date, email, full_name,\n display_name, sex, directory_name,\n lastname, firstname)\n VALUES ({?}, {?}, 'active', {?}, NOW(), {?}, {?}, {?}, {?}, {?}, {?}, {?})", $login, $type, Post::s('pwhash'), $email, $full_name, $full_name, $sex, $directory_name, $lastname, $firstname); } } $uf = new UserFilter(new UFC_AccountType('ax', 'school', 'fx')); $page->assign('users', $uf->iterUsers()); }