summaryrefslogtreecommitdiff
path: root/includes/model/UserAngelTypes_model.php
diff options
context:
space:
mode:
Diffstat (limited to 'includes/model/UserAngelTypes_model.php')
-rw-r--r--includes/model/UserAngelTypes_model.php37
1 files changed, 35 insertions, 2 deletions
diff --git a/includes/model/UserAngelTypes_model.php b/includes/model/UserAngelTypes_model.php
index 4987eddd..b9b44032 100644
--- a/includes/model/UserAngelTypes_model.php
+++ b/includes/model/UserAngelTypes_model.php
@@ -1,9 +1,42 @@
<?php
+/**
+ * User angeltypes model
+ */
+
+/**
+ * Returns true if user is angeltype coordinator or has privilege admin_user_angeltypes.
+ *
+ * @param User $user
+ * @param AngelType $angeltype
+ */
+function User_is_AngelType_coordinator($user, $angeltype) {
+ return (sql_num_query("
+ SELECT `id`
+ FROM `UserAngelTypes`
+ WHERE `user_id`=" . sql_escape($user['UID']) . "
+ AND `angeltype_id`=" . sql_escape($angeltype['id']) . "
+ AND `coordinator`=TRUE
+ LIMIT 1") > 0) || in_array('admin_user_angeltypes', privileges_for_user($user['UID']));
+}
+
+/**
+ * Add or remove coordinator rights.
+ *
+ * @param int $user_angeltype_id
+ * @param bool $coordinator
+ */
+function UserAngelType_update($user_angeltype_id, $coordinator) {
+ return sql_query("
+ UPDATE `UserAngelTypes`
+ SET `coordinator`=" . ($coordinator ? 'TRUE' : 'FALSE') . "
+ WHERE `id`=" . sql_escape($user_angeltype_id) . "
+ LIMIT 1");
+}
/**
* Delete all unconfirmed UserAngelTypes for given Angeltype.
- *
- * @param int $angeltype_id
+ *
+ * @param int $angeltype_id
*/
function UserAngelTypes_delete_all($angeltype_id) {
return sql_query("