This group has full permissions on everything. Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de> --- schema/aur-schema.sql | 1 + upgrading/3.4.0.txt | 5 +++++ web/lib/acctfuncs.inc.php | 6 +++++- web/lib/credentials.inc.php | 12 ++++++++---- web/template/account_details.php | 2 ++ web/template/account_edit_form.php | 4 ++++ web/template/search_accounts_form.php | 1 + 7 files changed, 26 insertions(+), 5 deletions(-) create mode 100644 upgrading/3.4.0.txt diff --git a/schema/aur-schema.sql b/schema/aur-schema.sql index 8d89487..0ec4f75 100644 --- a/schema/aur-schema.sql +++ b/schema/aur-schema.sql @@ -15,6 +15,7 @@ CREATE TABLE AccountTypes ( INSERT INTO AccountTypes (ID, AccountType) VALUES (1, 'User'); INSERT INTO AccountTypes (ID, AccountType) VALUES (2, 'Trusted User'); INSERT INTO AccountTypes (ID, AccountType) VALUES (3, 'Developer'); +INSERT INTO AccountTypes (ID, AccountType) VALUES (4, 'Trusted User & Developer'); -- User information for each user regardless of type. diff --git a/upgrading/3.4.0.txt b/upgrading/3.4.0.txt new file mode 100644 index 0000000..c2f1688 --- /dev/null +++ b/upgrading/3.4.0.txt @@ -0,0 +1,5 @@ +1. Add the "Trusted User & Developer" user group: + +---- +INSERT INTO AccountTypes (ID, AccountType) VALUES (4, 'Trusted User & Developer'); +---- diff --git a/web/lib/acctfuncs.inc.php b/web/lib/acctfuncs.inc.php index 578c376..73d01a5 100644 --- a/web/lib/acctfuncs.inc.php +++ b/web/lib/acctfuncs.inc.php @@ -338,6 +338,9 @@ function search_results_page($O=0,$SB="",$U="",$T="", } elseif ($T == "d") { $q.= "AND AccountTypes.ID = 3 "; $search_vars[] = "T"; + } elseif ($T == "td") { + $q.= "AND AccountTypes.ID = 4 "; + $search_vars[] = "T"; } if ($S) { $q.= "AND Users.Suspended = 1 "; @@ -1080,7 +1083,8 @@ function cast_proposal_vote($voteid, $uid, $vote, $newtotal) { * @return bool True if permission to edit the account, otherwise false */ function can_edit_account($acctinfo) { - if ($acctinfo['AccountType'] == 'Developer') { + if ($acctinfo['AccountType'] == 'Developer' || + $acctinfo['AccountType'] == 'Trusted User & Developer') { return has_credential(CRED_ACCOUNT_EDIT_DEV); } diff --git a/web/lib/credentials.inc.php b/web/lib/credentials.inc.php index 22068e4..47dd3fd 100644 --- a/web/lib/credentials.inc.php +++ b/web/lib/credentials.inc.php @@ -48,7 +48,8 @@ function has_credential($credential, $approved_users=array()) { case CRED_PKGBASE_NOTIFY: case CRED_PKGBASE_VOTE: return ($atype == 'User' || $atype == 'Trusted User' || - $atype == 'Developer'); + $atype == 'Developer' || + $atype == 'Trusted User & Developer'); case CRED_ACCOUNT_CHANGE_TYPE: case CRED_ACCOUNT_EDIT: case CRED_ACCOUNT_LAST_LOGIN: @@ -63,13 +64,16 @@ function has_credential($credential, $approved_users=array()) { case CRED_PKGBASE_UNFLAG: case CRED_PKGREQ_CLOSE: case CRED_PKGREQ_LIST: - return ($atype == 'Trusted User' || $atype == 'Developer'); + return ($atype == 'Trusted User' || $atype == 'Developer' || + $atype == 'Trusted User & Developer'); case CRED_TU_ADD_VOTE: case CRED_TU_LIST_VOTES: case CRED_TU_VOTE: - return ($atype == 'Trusted User'); + return ($atype == 'Trusted User' || + $atype == 'Trusted User & Developer'); case CRED_ACCOUNT_EDIT_DEV: - return ($atype == 'Developer'); + return ($atype == 'Developer' || + $atype == 'Trusted User & Developer'); } return false; diff --git a/web/template/account_details.php b/web/template/account_details.php index c4263d7..9282b2c 100644 --- a/web/template/account_details.php +++ b/web/template/account_details.php @@ -17,6 +17,8 @@ print __("Trusted User"); } elseif ($row["AccountType"] == "Developer") { print __("Developer"); + } elseif ($row["AccountType"] == "Trusted User & Developer") { + print __("Trusted User & Developer"); } ?> </td> diff --git a/web/template/account_edit_form.php b/web/template/account_edit_form.php index 9a99e78..f5890fc 100644 --- a/web/template/account_edit_form.php +++ b/web/template/account_edit_form.php @@ -37,6 +37,10 @@ <?php $T == 3 ? print " selected=\"selected\">" : print ">"; print __("Developer")."\n"; ?> </option> + <option value="4" + <?php $T == 4 ? print " selected=\"selected\">" : print ">"; + print __("Trusted User & Developer")."\n"; ?> + </option> <?php endif; ?> </select> diff --git a/web/template/search_accounts_form.php b/web/template/search_accounts_form.php index 3531eb0..f7824a9 100644 --- a/web/template/search_accounts_form.php +++ b/web/template/search_accounts_form.php @@ -15,6 +15,7 @@ <option value="u"><?= __("Normal user"); ?></option> <option value="t"><?= __("Trusted user"); ?></option> <option value="d"><?= __("Developer"); ?></option> + <option value="td"><?= __("Trusted User & Developer"); ?></option> </select> </p> <p> -- 2.0.1