diff --git a/includes/controller/angeltypes_controller.php b/includes/controller/angeltypes_controller.php
index 79ffcfb4..6afa67dc 100644
--- a/includes/controller/angeltypes_controller.php
+++ b/includes/controller/angeltypes_controller.php
@@ -13,7 +13,7 @@ function angeltypes_title() {
function angeltypes_controller() {
if (! isset($_REQUEST['action']))
$_REQUEST['action'] = 'list';
-
+
switch ($_REQUEST['action']) {
default:
case 'list':
@@ -34,17 +34,17 @@ function angeltypes_controller() {
*/
function angeltypes_about_controller() {
global $privileges, $user;
-
+
if (isset($user))
$angeltypes = AngelTypes_with_user($user);
else
$angeltypes = AngelTypes();
if ($angeltypes === false)
engelsystem_error("Unable to load angeltypes.");
-
+
return array(
_("Teams/Job description"),
- AngelTypes_about_view($angeltypes, isset($user))
+ AngelTypes_about_view($angeltypes, isset($user))
);
}
@@ -53,29 +53,29 @@ function angeltypes_about_controller() {
*/
function angeltype_delete_controller() {
global $privileges, $user;
-
+
if (! in_array('admin_angel_types', $privileges))
redirect(page_link_to('angeltypes'));
-
+
$angeltype = AngelType($_REQUEST['angeltype_id']);
if ($angeltype === false)
engelsystem_error("Unable to load angeltype.");
if ($angeltype == null)
redirect(page_link_to('angeltypes'));
-
+
if (isset($_REQUEST['confirmed'])) {
$result = AngelType_delete($angeltype);
if ($result === false)
engelsystem_error("Unable to delete angeltype.");
-
+
engelsystem_log("Deleted angeltype: " . $name);
success(sprintf(_("Angeltype %s deleted."), $name));
redirect(page_link_to('angeltypes'));
}
-
+
return array(
sprintf(_("Delete angeltype %s"), $angeltype['name']),
- AngelType_delete_view($angeltype)
+ AngelType_delete_view($angeltype)
);
}
@@ -84,35 +84,35 @@ function angeltype_delete_controller() {
*/
function angeltype_edit_controller() {
global $privileges, $user;
-
+
$name = "";
$restricted = false;
$description = "";
-
+
if (isset($_REQUEST['angeltype_id'])) {
$angeltype = AngelType($_REQUEST['angeltype_id']);
if ($angeltype === false)
engelsystem_error("Unable to load angeltype.");
if ($angeltype == null)
redirect(page_link_to('angeltypes'));
-
+
$name = $angeltype['name'];
$restricted = $angeltype['restricted'];
$description = $angeltype['description'];
-
+
if (! User_is_AngelType_coordinator($user, $angeltype))
redirect(page_link_to('angeltypes'));
} else {
if (! in_array('admin_angel_types', $privileges))
redirect(page_link_to('angeltypes'));
}
-
+
// In coordinator mode only allow to modify description
$coordinator_mode = ! in_array('admin_angel_types', $privileges);
-
+
if (isset($_REQUEST['submit'])) {
$ok = true;
-
+
if (! $coordinator_mode) {
if (isset($_REQUEST['name'])) {
list($valid, $name) = AngelType_validate_name($_REQUEST['name'], $angeltype);
@@ -121,13 +121,13 @@ function angeltype_edit_controller() {
error(_("Please check the name. Maybe it already exists."));
}
}
-
+
$restricted = isset($_REQUEST['restricted']);
}
-
+
if (isset($_REQUEST['description']))
$description = strip_request_item_nl('description');
-
+
if ($ok) {
$restricted = $restricted ? 1 : 0;
if (isset($angeltype)) {
@@ -142,15 +142,15 @@ function angeltype_edit_controller() {
engelsystem_error("Unable to create angeltype.");
engelsystem_log("Created angeltype: " . $name . ", restricted: " . $restricted);
}
-
+
success("Angel type saved.");
redirect(page_link_to('angeltypes') . '&action=view&angeltype_id=' . $angeltype_id);
}
}
-
+
return array(
sprintf(_("Edit %s"), $name),
- AngelType_edit_view($name, $restricted, $description, $coordinator_mode)
+ AngelType_edit_view($name, $restricted, $description, $coordinator_mode)
);
}
@@ -159,30 +159,30 @@ function angeltype_edit_controller() {
*/
function angeltype_controller() {
global $privileges, $user;
-
+
if (! in_array('angeltypes', $privileges))
redirect('?');
-
+
if (! isset($_REQUEST['angeltype_id']))
redirect(page_link_to('angeltypes'));
-
+
$angeltype = AngelType($_REQUEST['angeltype_id']);
if ($angeltype === false)
engelsystem_error("Unable to load angeltype.");
if ($angeltype == null)
redirect(page_link_to('angeltypes'));
-
+
$user_angeltype = UserAngelType_by_User_and_AngelType($user, $angeltype);
if ($user_angeltype === false)
engelsystem_error("Unable to load user angeltype.");
-
+
$members = Users_by_angeltype($angeltype);
if ($members === false)
engelsystem_error("Unable to load members.");
-
+
return array(
sprintf(_("Team %s"), $angeltype['name']),
- AngelType_view($angeltype, $members, $user_angeltype, in_array('admin_user_angeltypes', $privileges) || $user_angeltype['coordinator'], in_array('admin_angel_types', $privileges), $user_angeltype['coordinator'])
+ AngelType_view($angeltype, $members, $user_angeltype, in_array('admin_user_angeltypes', $privileges) || $user_angeltype['coordinator'], in_array('admin_angel_types', $privileges), $user_angeltype['coordinator'])
);
}
@@ -191,20 +191,20 @@ function angeltype_controller() {
*/
function angeltypes_list_controller() {
global $privileges, $user;
-
+
if (! in_array('angeltypes', $privileges))
redirect('?');
-
+
$angeltypes = AngelTypes_with_user($user);
if ($angeltypes === false)
engelsystem_error("Unable to load angeltypes.");
-
+
foreach ($angeltypes as &$angeltype) {
$actions = array(
button(page_link_to('angeltypes') . '&action=view&angeltype_id=' . $angeltype['id'],_("view"),"btn-xs")
- //'' . _("view") . ''
+ //'' . _("view") . ''
);
-
+
if (in_array('admin_angel_types', $privileges)) {
$actions[] = button(page_link_to('angeltypes') . '&action=edit&angeltype_id=' . $angeltype['id'], _("edit"), "btn-xs");
$actions[] = button(page_link_to('angeltypes') . '&action=delete&angeltype_id=' . $angeltype['id'], _("delete"), "btn-xs");
@@ -212,7 +212,7 @@ function angeltypes_list_controller() {
//$actions[] = '' . _("edit") . '';
//$actions[] = '' . _("delete") . '';
}
-
+
$angeltype['membership'] = AngelType_render_membership($angeltype);
if ($angeltype['user_angeltype_id'] != null) {
//$actions[] = '' . _("leave") . '';
@@ -221,16 +221,16 @@ function angeltypes_list_controller() {
$actions[] = button(page_link_to('user_angeltypes') . '&action=add&angeltype_id=' . $angeltype['id'], _("join"), "btn-xs");
//$actions[] = '' . _("join") . '';
}
-
- $angeltype['restricted'] = $angeltype['restricted'] ? '' : '';
+
+ $angeltype['restricted'] = $angeltype['restricted'] ? glyph('lock') : '';
$angeltype['name'] = '' . $angeltype['name'] . '';
-
+
$angeltype['actions'] = table_buttons($actions);
}
-
+
return array(
angeltypes_title(),
- AngelTypes_list_view($angeltypes, in_array('admin_angel_types', $privileges))
+ AngelTypes_list_view($angeltypes, in_array('admin_angel_types', $privileges))
);
}
-?>
\ No newline at end of file
+?>
diff --git a/includes/pages/user_shifts.php b/includes/pages/user_shifts.php
index 5634bff7..5ffa4d9e 100644
--- a/includes/pages/user_shifts.php
+++ b/includes/pages/user_shifts.php
@@ -570,7 +570,7 @@ function view_user_shifts() {
if (time() > $shift['start'])
$entry_list[] = $inner_text . ' (vorbei)';
elseif ($angeltype['restricted'] == 1 && isset($angeltype['user_id']) && ! isset($angeltype['confirm_user_id']))
- $entry_list[] = $inner_text . ' ';
+ $entry_list[] = $inner_text . glyph('lock');
elseif ($collides)
$entry_list[] = $inner_text;
else
@@ -707,7 +707,7 @@ function view_user_shifts() {
if (time() > $shift['end']) {
$entry_list[] = $inner_text . ' (vorbei)';
} elseif ($angeltype['restricted'] == 1 && isset($angeltype['user_id']) && ! isset($angeltype['confirm_user_id'])) {
- $entry_list[] = $inner_text . ' ';
+ $entry_list[] = $inner_text . glyph("lock");
} else {
$entry_list[] = $inner_text . ' (Werde ' . $angeltype['name'] . ')';
}
@@ -786,7 +786,7 @@ function make_select($items, $selected, $name, $title = null) {
$html_items[] = '
' . "\n";
$html .= implode("\n", $html_items);
$html .= buttons(array(
diff --git a/includes/view/AngelTypes_view.php b/includes/view/AngelTypes_view.php
index 2058ec0a..c6f5becf 100644
--- a/includes/view/AngelTypes_view.php
+++ b/includes/view/AngelTypes_view.php
@@ -15,17 +15,17 @@ function AngelType_render_membership($user_angeltype) {
if ($user_angeltype['user_angeltype_id'] != null) {
if ($user_angeltype['restricted']) {
if ($user_angeltype['confirm_user_id'] == null)
- $membership = '
' . _("Unconfirmed");
+ $membership = glyph('lock') . _("Unconfirmed");
elseif ($user_angeltype['coordinator'])
- $membership = '
' . _("Coordinator");
+ $membership = glyph_bool(true) . _("Coordinator");
else
- $membership = '
' . _("Member");
+ $membership = glyph_bool(true) . _("Member");
} elseif ($user_angeltype['coordinator'])
- $membership = '
' . _("Coordinator");
+ $membership = glyph_bool(true) . _("Coordinator");
else
- $membership = '
' . _("Member");
+ $membership = glyph_bool(true) . _("Member");
} else {
- $membership = '
';
+ $membership = glyph_bool(false);
}
return $membership;
}
@@ -35,15 +35,15 @@ function AngelType_delete_view($angeltype) {
info(sprintf(_("Do you want to delete angeltype %s?"), $angeltype['name']), true),
buttons(array(
button(page_link_to('angeltypes'), _("cancel"), 'cancel'),
- button(page_link_to('angeltypes') . '&action=delete&angeltype_id=' . $angeltype['id'] . '&confirmed', _("delete"), 'ok')
- ))
+ button(page_link_to('angeltypes') . '&action=delete&angeltype_id=' . $angeltype['id'] . '&confirmed', _("delete"), 'ok')
+ ))
));
}
function AngelType_edit_view($name, $restricted, $description, $coordinator_mode) {
return page_with_title(sprintf(_("Edit %s"), $name), array(
buttons(array(
- button(page_link_to('angeltypes'), _("Angeltypes"), 'back')
+ button(page_link_to('angeltypes'), _("Angeltypes"), 'back')
)),
msg(),
form(array(
@@ -52,16 +52,16 @@ function AngelType_edit_view($name, $restricted, $description, $coordinator_mode
form_info("", _("Restricted angel types can only be used by an angel if enabled by an archangel (double opt-in).")),
form_textarea('description', _("Description"), $description),
form_info("", _("Please use markdown for the description.")),
- form_submit('submit', _("Save"))
- ))
+ form_submit('submit', _("Save"))
+ ))
));
}
function AngelType_view($angeltype, $members, $user_angeltype, $admin_user_angeltypes, $admin_angeltypes, $coordinator) {
$buttons = array(
- button(page_link_to('angeltypes'), _("Angeltypes"), 'back')
+ button(page_link_to('angeltypes'), _("Angeltypes"), 'back')
);
-
+
if ($user_angeltype == null)
$buttons[] = button(page_link_to('user_angeltypes') . '&action=add&angeltype_id=' . $angeltype['id'], _("join"), 'add');
else {
@@ -69,24 +69,24 @@ function AngelType_view($angeltype, $members, $user_angeltype, $admin_user_angel
error(sprintf(_("You are unconfirmed for this angeltype. Please go to the introduction for %s to get confirmed."), $angeltype['name']));
$buttons[] = button(page_link_to('user_angeltypes') . '&action=delete&user_angeltype_id=' . $user_angeltype['id'], _("leave"), 'cancel');
}
-
+
if ($admin_angeltypes || $coordinator)
$buttons[] = button(page_link_to('angeltypes') . '&action=edit&angeltype_id=' . $angeltype['id'], _("edit"), 'edit');
if ($admin_angeltypes)
$buttons[] = button(page_link_to('angeltypes') . '&action=delete&angeltype_id=' . $angeltype['id'], _("delete"), 'delete');
-
+
$page = array(
msg(),
- buttons($buttons)
+ buttons($buttons)
);
-
+
$page[] = '
' . _("Description") . '
';
$parsedown = new Parsedown();
if ($angeltype['description'] != "")
$page[] = '
' . $parsedown->parse($angeltype['description']) . '
';
-
+
// Team-Coordinators list missing
-
+
$coordinators = array();
$members_confirmed = array();
$members_unconfirmed = array();
@@ -95,7 +95,7 @@ function AngelType_view($angeltype, $members, $user_angeltype, $admin_user_angel
if ($angeltype['restricted'] && $member['confirm_user_id'] == null) {
$member['actions'] = join(" ", array(
'
' . _("confirm") . '',
- '
' . _("deny") . ''
+ '
' . _("deny") . ''
));
$members_unconfirmed[] = $member;
} elseif ($member['coordinator']) {
@@ -108,7 +108,7 @@ function AngelType_view($angeltype, $members, $user_angeltype, $admin_user_angel
if ($admin_user_angeltypes)
$member['actions'] = join(" ", array(
$admin_angeltypes ? '
' . _("Add coordinator rights") . '' : '',
- '
' . _("remove") . ''
+ '
' . _("remove") . ''
));
$members_confirmed[] = $member;
}
@@ -118,74 +118,74 @@ function AngelType_view($angeltype, $members, $user_angeltype, $admin_user_angel
$page[] = table(array(
'Nick' => _("Nick"),
'DECT' => _("DECT"),
- 'actions' => ""
+ 'actions' => ""
), $coordinators);
}
$page[] = '
' . _("Members") . '
';
if ($admin_user_angeltypes)
$page[] = buttons(array(
- button(page_link_to('user_angeltypes') . '&action=add&angeltype_id=' . $angeltype['id'], _("Add"), 'add')
+ button(page_link_to('user_angeltypes') . '&action=add&angeltype_id=' . $angeltype['id'], _("Add"), 'add')
));
$page[] = table(array(
'Nick' => _("Nick"),
'DECT' => _("DECT"),
- 'actions' => ""
+ 'actions' => ""
), $members_confirmed);
-
+
if ($admin_user_angeltypes && $angeltype['restricted'] && count($members_unconfirmed) > 0) {
$page[] = '
' . _("Unconfirmed") . '
';
$page[] = buttons(array(
button(page_link_to('user_angeltypes') . '&action=confirm_all&angeltype_id=' . $angeltype['id'], _("confirm all"), 'ok'),
- button(page_link_to('user_angeltypes') . '&action=delete_all&angeltype_id=' . $angeltype['id'], _("deny all"), 'cancel')
+ button(page_link_to('user_angeltypes') . '&action=delete_all&angeltype_id=' . $angeltype['id'], _("deny all"), 'cancel')
));
$page[] = table(array(
'Nick' => _("Nick"),
'DECT' => _("DECT"),
- 'actions' => ""
+ 'actions' => ""
), $members_unconfirmed);
}
-
+
return page_with_title(sprintf(_("Team %s"), $angeltype['name']), $page);
}
/**
* Display the list of angeltypes.
*
- * @param array $angeltypes
+ * @param array $angeltypes
*/
function AngelTypes_list_view($angeltypes, $admin_angeltypes) {
return page_with_title(angeltypes_title(), array(
msg(),
buttons(array(
$admin_angeltypes ? button(page_link_to('angeltypes') . '&action=edit', _("New angeltype"), 'add') : '',
- button(page_link_to('angeltypes') . '&action=about', _("Teams/Job description"))
+ button(page_link_to('angeltypes') . '&action=about', _("Teams/Job description"))
)),
table(array(
'name' => _("Name"),
- 'restricted' => '
',
+ 'restricted' => glyph('lock') . _("Restricted"),
'membership' => _("Membership"),
- 'actions' => ""
- ), $angeltypes)
+ 'actions' => ""
+ ), $angeltypes)
));
}
function AngelTypes_about_view($angeltypes, $user_logged_in) {
global $faq_url;
-
+
$content = array(
buttons(array(
! $user_logged_in ? button(page_link_to('register'), register_title()) : '',
! $user_logged_in ? button(page_link_to('login'), login_title()) : '',
$user_logged_in ? button(page_link_to('angeltypes'), angeltypes_title(), 'back') : '',
- button($faq_url, _("FAQ"))
+ button($faq_url, _("FAQ"))
)),
'
' . _("Here is the list of teams and their tasks. If you have questions, read the FAQ.") . '
',
- '
'
+ '
'
);
$parsedown = new Parsedown();
foreach ($angeltypes as $angeltype) {
$content[] = '
' . $angeltype['name'] . '
';
-
+
if (isset($angeltype['user_angeltype_id'])) {
$buttons = array();
if ($angeltype['user_angeltype_id'] != null)
@@ -194,15 +194,15 @@ function AngelTypes_about_view($angeltypes, $user_logged_in) {
$buttons[] = button(page_link_to('user_angeltypes') . '&action=add&angeltype_id=' . $angeltype['id'], _("join"), 'add');
$content[] = buttons($buttons);
}
-
+
if ($angeltype['restricted'])
$content[] = info(_("This angeltype is restricted by double-opt-in by a team coordinator. Please show up at the according introduction meetings."), true);
if ($angeltype['description'] != "")
$content[] = '
' . $parsedown->parse($angeltype['description']) . '
';
$content[] = '
';
}
-
+
return page_with_title(_("Teams/Job description"), $content);
}
-?>
\ No newline at end of file
+?>