summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--schema/aur-schema.sql1
-rw-r--r--upgrading/3.4.0.txt5
-rw-r--r--web/lib/acctfuncs.inc.php6
-rw-r--r--web/lib/credentials.inc.php12
-rw-r--r--web/template/account_details.php2
-rw-r--r--web/template/account_edit_form.php4
-rw-r--r--web/template/search_accounts_form.php1
7 files changed, 26 insertions, 5 deletions
diff --git a/schema/aur-schema.sql b/schema/aur-schema.sql
index 8d894877..0ec4f75a 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 00000000..c2f16888
--- /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 578c3764..73d01a56 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 22068e4c..47dd3fdd 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 c4263d74..9282b2c2 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 9a99e782..f5890fcb 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 3531eb05..f7824a94 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>