From 2cb44fe51752bece6413d3a4745cfba79df21884 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philip=20H=C3=A4usler?= Date: Sun, 20 Dec 2015 10:35:03 +0100 Subject: [PATCH] make angeltype names clickable --- includes/controller/angeltypes_controller.php | 93 ++++++++++--------- .../controller/user_angeltypes_controller.php | 24 ++--- includes/view/AngelTypes_view.php | 2 +- includes/view/User_view.php | 2 +- 4 files changed, 65 insertions(+), 56 deletions(-) diff --git a/includes/controller/angeltypes_controller.php b/includes/controller/angeltypes_controller.php index d174b890..16f0a4f2 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': @@ -29,22 +29,31 @@ function angeltypes_controller() { } } +/** + * Path to angeltype view. + * + * @param AngelType $angeltype_id + */ +function angeltype_link($angeltype_id) { + return page_link_to('angeltypes') . '&action=view&angeltype_id=' . $angeltype_id; +} + /** * Job description for all angeltypes (public to everyone) */ 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 +62,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: " . $angeltype['name']); - success(sprintf(_("Angeltype %s deleted."), $angeltype['name'])); + + engelsystem_log("Deleted angeltype: " . AngelType_name_render($angeltype)); + success(sprintf(_("Angeltype %s deleted."), AngelType_name_render($angeltype))); redirect(page_link_to('angeltypes')); } - + return array( sprintf(_("Delete angeltype %s"), $angeltype['name']), - AngelType_delete_view($angeltype) + AngelType_delete_view($angeltype) ); } @@ -84,35 +93,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 +130,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 +151,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 +168,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,40 +200,40 @@ 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") + button(page_link_to('angeltypes') . '&action=view&angeltype_id=' . $angeltype['id'], _("view"), "btn-xs") ); - + 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"); } - + $angeltype['membership'] = AngelType_render_membership($angeltype); if ($angeltype['user_angeltype_id'] != null) { $actions[] = button(page_link_to('user_angeltypes') . '&action=delete&user_angeltype_id=' . $angeltype['user_angeltype_id'], _("leave"), "btn-xs"); } else { $actions[] = button(page_link_to('user_angeltypes') . '&action=add&angeltype_id=' . $angeltype['id'], _("join"), "btn-xs"); } - + $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)) ); } ?> diff --git a/includes/controller/user_angeltypes_controller.php b/includes/controller/user_angeltypes_controller.php index f76f10ae..c6115b6c 100644 --- a/includes/controller/user_angeltypes_controller.php +++ b/includes/controller/user_angeltypes_controller.php @@ -48,8 +48,8 @@ function user_angeltypes_delete_all_controller() { if ($result === false) engelsystem_error("Unable to confirm all users."); - engelsystem_log(sprintf("Denied all users for angeltype %s", $angeltype['name'])); - success(sprintf(_("Denied all users for angeltype %s."), $angeltype['name'])); + engelsystem_log(sprintf("Denied all users for angeltype %s", AngelType_name_render($angeltype))); + success(sprintf(_("Denied all users for angeltype %s."), AngelType_name_render($angeltype))); redirect(page_link_to('angeltypes') . '&action=view&angeltype_id=' . $angeltype['id']); } @@ -96,8 +96,8 @@ function user_angeltypes_confirm_all_controller() { if ($result === false) engelsystem_error("Unable to confirm all users."); - engelsystem_log(sprintf("Confirmed all users for angeltype %s", $angeltype['name'])); - success(sprintf(_("Confirmed all users for angeltype %s."), $angeltype['name'])); + engelsystem_log(sprintf("Confirmed all users for angeltype %s", AngelType_name_render($angeltype))); + success(sprintf(_("Confirmed all users for angeltype %s."), AngelType_name_render($angeltype))); redirect(page_link_to('angeltypes') . '&action=view&angeltype_id=' . $angeltype['id']); } @@ -152,8 +152,8 @@ function user_angeltype_confirm_controller() { if ($result === false) engelsystem_error("Unable to confirm user angeltype."); - engelsystem_log(sprintf("%s confirmed for angeltype %s", User_Nick_render($user_source), $angeltype['name'])); - success(sprintf(_("%s confirmed for angeltype %s."), User_Nick_render($user_source), $angeltype['name'])); + engelsystem_log(sprintf("%s confirmed for angeltype %s", User_Nick_render($user_source), AngelType_name_render($angeltype))); + success(sprintf(_("%s confirmed for angeltype %s."), User_Nick_render($user_source), AngelType_name_render($angeltype))); redirect(page_link_to('angeltypes') . '&action=view&angeltype_id=' . $angeltype['id']); } @@ -273,7 +273,7 @@ function user_angeltype_update_controller() { if ($result === false) engelsystem_error("Unable to update coordinator rights."); - $success_message = sprintf($coordinator ? _("Added coordinator rights for %s to %s.") : _("Removed coordinator rights for %s from %s."), $angeltype['name'], User_Nick_render($user_source)); + $success_message = sprintf($coordinator ? _("Added coordinator rights for %s to %s.") : _("Removed coordinator rights for %s from %s."), AngelType_name_render($angeltype), User_Nick_render($user_source)); engelsystem_log($success_message); success($success_message); @@ -332,13 +332,13 @@ function user_angeltype_add_controller() { if ($user_angeltype_id === false) engelsystem_error("Unable to create user angeltype."); - engelsystem_log(sprintf("User %s added to %s.", User_Nick_render($user_source), $angeltype['name'])); - success(sprintf(_("User %s added to %s."), User_Nick_render($user_source), $angeltype['name'])); + engelsystem_log(sprintf("User %s added to %s.", User_Nick_render($user_source), AngelType_name_render($angeltype))); + success(sprintf(_("User %s added to %s."), User_Nick_render($user_source), AngelType_name_render($angeltype))); $result = UserAngelType_confirm($user_angeltype_id, $user_source); if ($result === false) engelsystem_error("Unable to confirm user angeltype."); - engelsystem_log(sprintf("User %s confirmed as %s.", User_Nick_render($user), $angeltype['name'])); + engelsystem_log(sprintf("User %s confirmed as %s.", User_Nick_render($user), AngelType_name_render($angeltype))); redirect(page_link_to('angeltypes') . '&action=view&angeltype_id=' . $angeltype['id']); } @@ -365,14 +365,14 @@ function user_angeltype_add_controller() { engelsystem_error("Unable to create user angeltype."); $success_message = sprintf(_("You joined %s."), $angeltype['name']); - engelsystem_log(sprintf("User %s joined %s.", User_Nick_render($user), $angeltype['name'])); + engelsystem_log(sprintf("User %s joined %s.", User_Nick_render($user), AngelType_name_render($angeltype))); success($success_message); if (in_array('admin_user_angeltypes', $privileges)) { $result = UserAngelType_confirm($user_angeltype_id, $user); if ($result === false) engelsystem_error("Unable to confirm user angeltype."); - engelsystem_log(sprintf("User %s confirmed as %s.", User_Nick_render($user), $angeltype['name'])); + engelsystem_log(sprintf("User %s confirmed as %s.", User_Nick_render($user), AngelType_name_render($angeltype))); } redirect(page_link_to('angeltypes') . '&action=view&angeltype_id=' . $angeltype['id']); diff --git a/includes/view/AngelTypes_view.php b/includes/view/AngelTypes_view.php index ce38a096..758d5706 100644 --- a/includes/view/AngelTypes_view.php +++ b/includes/view/AngelTypes_view.php @@ -10,7 +10,7 @@ * @param AngelType $angeltype */ function AngelType_name_render($angeltype) { - return '' . ($angeltype['restricted'] ? glyph('lock') : '') . $angeltype['name'] . ''; + return '' . ($angeltype['restricted'] ? glyph('lock') : '') . $angeltype['name'] . ''; } /** diff --git a/includes/view/User_view.php b/includes/view/User_view.php index 90e849a6..e5ed7e0e 100644 --- a/includes/view/User_view.php +++ b/includes/view/User_view.php @@ -269,7 +269,7 @@ function User_angeltypes_render($user_angeltypes) { $class = 'text-warning'; else $class = 'text-success'; - $output[] = '' . ($angeltype['coordinator'] ? glyph('education') : '') . $angeltype['name'] . ''; + $output[] = '' . ($angeltype['coordinator'] ? glyph('education') : '') . $angeltype['name'] . ''; } return join('
', $output); }