summaryrefslogtreecommitdiff
path: root/includes/model/AngelType_model.php
diff options
context:
space:
mode:
authorPhilip Häusler <msquare@notrademark.de>2014-01-05 19:30:06 +0100
committerPhilip Häusler <msquare@notrademark.de>2014-01-05 19:30:06 +0100
commit5e8453992810181facf168d6aaede9d2dcd61dba (patch)
treec6aad1564d86ed5789c25b7bab0b36047f0fbaac /includes/model/AngelType_model.php
parentd921cf903eedd98fce74114d43f7c98ed8baabdc (diff)
rewritten angeltypes and user angeltypes
Diffstat (limited to 'includes/model/AngelType_model.php')
-rw-r--r--includes/model/AngelType_model.php134
1 files changed, 106 insertions, 28 deletions
diff --git a/includes/model/AngelType_model.php b/includes/model/AngelType_model.php
index 49d1c702..22baa4a4 100644
--- a/includes/model/AngelType_model.php
+++ b/includes/model/AngelType_model.php
@@ -1,29 +1,107 @@
-<?php
-
-/**
- * Returns AngelType id array
- */
-function mAngelTypeList() {
- $angelType_source = sql_select("SELECT `id` FROM `AngelTypes`");
- if ($angelType_source === false)
- return false;
- if (count($angelType_source) > 0)
- return $angelType_source;
- return null;
-}
-
-/**
- * Returns angelType by id.
- *
- * @param $id angelType ID
- */
-function mAngelType($id) {
- $angelType_source = sql_select("SELECT * FROM `AngelTypes` WHERE `id`=" . sql_escape($id) . " LIMIT 1");
- if ($angelType_source === false)
- return false;
- if (count($angelType_source) > 0)
- return $angelType_source[0];
- return null;
-}
-
+<?php
+
+function AngelType_delete($angeltype) {
+ sql_query("DELETE FROM `NeededAngelTypes` WHERE `angel_type_id`=" . sql_escape($angeltype['id']) . " LIMIT 1");
+ sql_query("DELETE FROM `ShiftEntry` WHERE `TID`=" . sql_escape($angeltype['id']) . " LIMIT 1");
+ sql_query("DELETE FROM `UserAngelTypes` WHERE `angeltype_id`=" . sql_escape($angeltype['id']) . " LIMIT 1");
+ return sql_query("DELETE FROM `AngelTypes` WHERE `id`=" . sql_escape($angeltype['id']) . " LIMIT 1");
+}
+
+function AngelType_update($angeltype_id, $name, $restricted) {
+ return sql_query("
+ UPDATE `AngelTypes` SET
+ `name`='" . sql_escape($name) . "',
+ `restricted`=" . sql_escape($restricted) . "
+ WHERE `id`=" . sql_escape($angeltype_id) . "
+ LIMIT 1");
+}
+
+function AngelType_create($name, $restricted) {
+ $result = sql_query("
+ INSERT INTO `AngelTypes` SET
+ `name`='" . sql_escape($name) . "',
+ `restricted`=" . sql_escape($restricted));
+ if ($result === false)
+ return false;
+ return sql_id();
+}
+
+/**
+ * Validates a name for angeltypes.
+ * Returns array containing validation success and validated name.
+ *
+ * @param string $name
+ * @param AngelType $angeltype
+ */
+function AngelType_validate_name($name, $angeltype) {
+ $name = strip_item($name);
+ if ($name == "")
+ return array(
+ false,
+ $name
+ );
+ if (isset($angeltype) && isset($angeltype['id']))
+ return array(
+ sql_num_query("
+ SELECT *
+ FROM `AngelTypes`
+ WHERE `name`='" . sql_escape($name) . "'
+ AND NOT `id`=" . sql_escape($angeltype['id']) . "
+ LIMIT 1") == 0,
+ $name
+ );
+ else
+ return array(
+ sql_num_query("
+ SELECT `id`
+ FROM `AngelTypes`
+ WHERE `name`='" . sql_escape($name) . "'
+ LIMIT 1") == 0,
+ $name
+ );
+}
+
+/**
+ * Returns all angeltypes and subscription state to each of them for given user.
+ *
+ * @param User $user
+ */
+function AngelTypes_with_user($user) {
+ return sql_select("
+ SELECT `AngelTypes`.*,
+ `UserAngelTypes`.`id` as `user_angeltype_id`,
+ `UserAngelTypes`.`confirm_user_id`
+ FROM `AngelTypes`
+ LEFT JOIN `UserAngelTypes` ON `AngelTypes`.`id`=`UserAngelTypes`.`angeltype_id`
+ AND `UserAngelTypes`.`user_id`=" . $user['UID'] . "
+ ORDER BY `name`");
+}
+
+/**
+ * Returns AngelType id array
+ */
+function mAngelTypeList() {
+ $angelType_source = sql_select("SELECT `id` FROM `AngelTypes`");
+ if ($angelType_source === false)
+ return false;
+ if (count($angelType_source) > 0)
+ return $angelType_source;
+ return null;
+}
+
+/**
+ * Returns angelType by id.
+ *
+ * @param $id angelType
+ * ID
+ */
+function mAngelType($id) {
+ $angelType_source = sql_select("SELECT * FROM `AngelTypes` WHERE `id`=" . sql_escape($id) . " LIMIT 1");
+ if ($angelType_source === false)
+ return false;
+ if (count($angelType_source) > 0)
+ return $angelType_source[0];
+ return null;
+}
+
?> \ No newline at end of file