angeltypes about section
This commit is contained in:
parent
98f355cd86
commit
f40b78faac
|
@ -27,6 +27,9 @@ function angeltypes_controller() {
|
||||||
case 'delete':
|
case 'delete':
|
||||||
list($title, $content) = angeltype_delete_controller();
|
list($title, $content) = angeltype_delete_controller();
|
||||||
break;
|
break;
|
||||||
|
case 'about':
|
||||||
|
list($title, $content) = angeltypes_about_controller();
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return array(
|
return array(
|
||||||
|
@ -35,6 +38,22 @@ function angeltypes_controller() {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Job description for all angeltypes (public to everyone)
|
||||||
|
*/
|
||||||
|
function angeltypes_about_controller() {
|
||||||
|
global $privileges, $user;
|
||||||
|
|
||||||
|
$angeltypes = AngelTypes();
|
||||||
|
if ($angeltypes === false)
|
||||||
|
engelsystem_error("Unable to load angeltypes.");
|
||||||
|
|
||||||
|
return array(
|
||||||
|
_("Teams/Engeltypes description"),
|
||||||
|
AngelTypes_about_view($angeltypes)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Delete an Angeltype.
|
* Delete an Angeltype.
|
||||||
*/
|
*/
|
||||||
|
@ -139,6 +158,9 @@ function angeltype_edit_controller() {
|
||||||
function angeltype_controller() {
|
function angeltype_controller() {
|
||||||
global $privileges, $user;
|
global $privileges, $user;
|
||||||
|
|
||||||
|
if (! in_array('angeltypes', $privileges))
|
||||||
|
redirect('?');
|
||||||
|
|
||||||
if (! isset($_REQUEST['angeltype_id']))
|
if (! isset($_REQUEST['angeltype_id']))
|
||||||
redirect(page_link_to('angeltypes'));
|
redirect(page_link_to('angeltypes'));
|
||||||
|
|
||||||
|
@ -168,6 +190,9 @@ function angeltype_controller() {
|
||||||
function angeltypes_list_controller() {
|
function angeltypes_list_controller() {
|
||||||
global $privileges, $user;
|
global $privileges, $user;
|
||||||
|
|
||||||
|
if (! in_array('angeltypes', $privileges))
|
||||||
|
redirect('?');
|
||||||
|
|
||||||
$angeltypes = AngelTypes_with_user($user);
|
$angeltypes = AngelTypes_with_user($user);
|
||||||
if ($angeltypes === false)
|
if ($angeltypes === false)
|
||||||
engelsystem_error("Unable to load angeltypes.");
|
engelsystem_error("Unable to load angeltypes.");
|
||||||
|
|
|
@ -99,6 +99,16 @@ function AngelTypes_with_user($user) {
|
||||||
ORDER BY `name`");
|
ORDER BY `name`");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns all angeltypes.
|
||||||
|
*/
|
||||||
|
function AngelTypes() {
|
||||||
|
return sql_select("
|
||||||
|
SELECT *
|
||||||
|
FROM `AngelTypes`
|
||||||
|
ORDER BY `name`");
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns AngelType id array
|
* Returns AngelType id array
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -13,7 +13,7 @@ function logout_title() {
|
||||||
|
|
||||||
// Engel registrieren
|
// Engel registrieren
|
||||||
function guest_register() {
|
function guest_register() {
|
||||||
global $tshirt_sizes, $enable_tshirt_size, $default_theme, $faq_url;
|
global $tshirt_sizes, $enable_tshirt_size, $default_theme;
|
||||||
|
|
||||||
$msg = "";
|
$msg = "";
|
||||||
$nick = "";
|
$nick = "";
|
||||||
|
@ -153,7 +153,7 @@ function guest_register() {
|
||||||
form_text('hometown', _("Hometown"), $hometown),
|
form_text('hometown', _("Hometown"), $hometown),
|
||||||
$enable_tshirt_size ? form_select('tshirt_size', _("Shirt size") . "*", $tshirt_sizes, $tshirt_size) : '',
|
$enable_tshirt_size ? form_select('tshirt_size', _("Shirt size") . "*", $tshirt_sizes, $tshirt_size) : '',
|
||||||
// form_textarea('comment', _("Did you help at former CCC events and which tasks have you performed then?"), $comment),
|
// form_textarea('comment', _("Did you help at former CCC events and which tasks have you performed then?"), $comment),
|
||||||
form_checkboxes('angel_types', _("What do you want to do?") . sprintf("<br>(<a href=\"%s\">%s</a>)", $faq_url, _("Description of job types")), $angel_types, $selected_angel_types),
|
form_checkboxes('angel_types', _("What do you want to do?") . sprintf("<br>(<a href=\"%s\">%s</a>)", page_link_to('angeltypes') . '&action=about', _("Description of job types")), $angel_types, $selected_angel_types),
|
||||||
form_info("", _("Restricted angel types need will be confirmed later by an archangel. You can change your selection in the options section.")),
|
form_info("", _("Restricted angel types need will be confirmed later by an archangel. You can change your selection in the options section.")),
|
||||||
form_password('password', _("Password") . "*"),
|
form_password('password', _("Password") . "*"),
|
||||||
form_password('password2', _("Confirm password") . "*"),
|
form_password('password2', _("Confirm password") . "*"),
|
||||||
|
|
|
@ -4,7 +4,7 @@ function settings_title() {
|
||||||
}
|
}
|
||||||
|
|
||||||
function user_settings() {
|
function user_settings() {
|
||||||
global $enable_tshirt_size, $tshirt_sizes, $themes, $locales, $faq_url;
|
global $enable_tshirt_size, $tshirt_sizes, $themes, $locales;
|
||||||
global $user;
|
global $user;
|
||||||
|
|
||||||
$msg = "";
|
$msg = "";
|
||||||
|
@ -102,7 +102,7 @@ function user_settings() {
|
||||||
// Assign angel-types
|
// Assign angel-types
|
||||||
$user_angel_type_info = array();
|
$user_angel_type_info = array();
|
||||||
$deleted_angel_types = array_diff(array_keys($angel_types), $selected_angel_types);
|
$deleted_angel_types = array_diff(array_keys($angel_types), $selected_angel_types);
|
||||||
if(count($deleted_angel_types) > 0)
|
if (count($deleted_angel_types) > 0)
|
||||||
sql_query("DELETE FROM `UserAngelTypes` WHERE `user_id`='" . sql_escape($user['UID']) . "' AND `angeltype_id` IN (" . implode(",", $deleted_angel_types) . ")");
|
sql_query("DELETE FROM `UserAngelTypes` WHERE `user_id`='" . sql_escape($user['UID']) . "' AND `angeltype_id` IN (" . implode(",", $deleted_angel_types) . ")");
|
||||||
foreach ($angel_types_source as $angel_type)
|
foreach ($angel_types_source as $angel_type)
|
||||||
if (in_array($angel_type['id'], $selected_angel_types))
|
if (in_array($angel_type['id'], $selected_angel_types))
|
||||||
|
@ -180,7 +180,7 @@ function user_settings() {
|
||||||
form_text('jabber', _("Jabber"), $jabber),
|
form_text('jabber', _("Jabber"), $jabber),
|
||||||
form_text('hometown', _("Hometown"), $hometown),
|
form_text('hometown', _("Hometown"), $hometown),
|
||||||
$enable_tshirt_size ? form_select('tshirt_size', _("Shirt size"), $tshirt_sizes, $tshirt_size) : '',
|
$enable_tshirt_size ? form_select('tshirt_size', _("Shirt size"), $tshirt_sizes, $tshirt_size) : '',
|
||||||
form_checkboxes('angel_types', _("What do you want to do?") . sprintf("<br>(<a href=\"%s\">%s</a>)", $faq_url, _("Description of job types")), $angel_types, $selected_angel_types),
|
form_checkboxes('angel_types', _("What do you want to do?") . sprintf("<br>(<a href=\"%s\">%s</a>)", page_link_to('angeltypes') . '&action=about', _("Description of job types")), $angel_types, $selected_angel_types),
|
||||||
form_submit('submit', _("Save"))
|
form_submit('submit', _("Save"))
|
||||||
)),
|
)),
|
||||||
form(array(
|
form(array(
|
||||||
|
|
|
@ -292,7 +292,7 @@ function user_shifts() {
|
||||||
|
|
||||||
function view_user_shifts() {
|
function view_user_shifts() {
|
||||||
global $user, $privileges;
|
global $user, $privileges;
|
||||||
global $ical_shifts, $faq_url;
|
global $ical_shifts;
|
||||||
|
|
||||||
$ical_shifts = array();
|
$ical_shifts = array();
|
||||||
$days = sql_select_single_col("SELECT DISTINCT DATE(FROM_UNIXTIME(`start`)) AS `id`, DATE(FROM_UNIXTIME(`start`)) AS `name` FROM `Shifts` ORDER BY `start`");
|
$days = sql_select_single_col("SELECT DISTINCT DATE(FROM_UNIXTIME(`start`)) AS `id`, DATE(FROM_UNIXTIME(`start`)) AS `name` FROM `Shifts` ORDER BY `start`");
|
||||||
|
@ -641,7 +641,7 @@ function view_user_shifts() {
|
||||||
$angeltypes = sql_select($query);
|
$angeltypes = sql_select($query);
|
||||||
if (count($angeltypes) > 0) {
|
if (count($angeltypes) > 0) {
|
||||||
$my_shift = sql_num_query("SELECT * FROM `ShiftEntry` WHERE `SID`=" . sql_escape($shift['SID']) . " AND `UID`=" . sql_escape($user['UID']) . " LIMIT 1") > 0;
|
$my_shift = sql_num_query("SELECT * FROM `ShiftEntry` WHERE `SID`=" . sql_escape($shift['SID']) . " AND `UID`=" . sql_escape($user['UID']) . " LIMIT 1") > 0;
|
||||||
|
|
||||||
foreach ($angeltypes as &$angeltype) {
|
foreach ($angeltypes as &$angeltype) {
|
||||||
$entries = sql_select("SELECT * FROM `ShiftEntry` JOIN `User` ON (`ShiftEntry`.`UID` = `User`.`UID`) WHERE `SID`=" . sql_escape($shift['SID']) . " AND `TID`=" . sql_escape($angeltype['id']) . " ORDER BY `Nick`");
|
$entries = sql_select("SELECT * FROM `ShiftEntry` JOIN `User` ON (`ShiftEntry`.`UID` = `User`.`UID`) WHERE `SID`=" . sql_escape($shift['SID']) . " AND `TID`=" . sql_escape($angeltype['id']) . " ORDER BY `Nick`");
|
||||||
$entry_list = array();
|
$entry_list = array();
|
||||||
|
@ -726,7 +726,7 @@ function view_user_shifts() {
|
||||||
'end_time' => $_SESSION['user_shifts']['end_time'],
|
'end_time' => $_SESSION['user_shifts']['end_time'],
|
||||||
'type_select' => make_select($types, $_SESSION['user_shifts']['types'], "types", _("Tasks") . '<sup>1</sup>'),
|
'type_select' => make_select($types, $_SESSION['user_shifts']['types'], "types", _("Tasks") . '<sup>1</sup>'),
|
||||||
'filled_select' => make_select($filled, $_SESSION['user_shifts']['filled'], "filled", _("Occupancy")),
|
'filled_select' => make_select($filled, $_SESSION['user_shifts']['filled'], "filled", _("Occupancy")),
|
||||||
'task_notice' => '<sup>1</sup>' . _("The tasks shown here are influenced by the preferences you defined in your settings!") . " <a href=\"" . $faq_url . "\">" . _("Description of the jobs.") . "</a>",
|
'task_notice' => '<sup>1</sup>' . _("The tasks shown here are influenced by the preferences you defined in your settings!") . " <a href=\"" . page_link_to('angeltypes') . '&action=about' . "\">" . _("Description of the jobs.") . "</a>",
|
||||||
'new_style_checkbox' => '<label><input type="checkbox" name="new_style" value="1" ' . ($_SESSION['user_shifts']['new_style'] ? ' checked' : '') . '> ' . _("Use new style if possible") . '</label>',
|
'new_style_checkbox' => '<label><input type="checkbox" name="new_style" value="1" ' . ($_SESSION['user_shifts']['new_style'] ? ' checked' : '') . '> ' . _("Use new style if possible") . '</label>',
|
||||||
'shifts_table' => $shifts_table,
|
'shifts_table' => $shifts_table,
|
||||||
'ical_text' => '<h2>' . _("iCal export") . '</h2><p>' . sprintf(_("Export of shown shifts. <a href=\"%s\">iCal format</a> or <a href=\"%s\">JSON format</a> available (please keep secret, otherwise <a href=\"%s\">reset the api key</a>)."), page_link_to_absolute('ical') . '&key=' . $user['api_key'], page_link_to_absolute('shifts_json_export') . '&key=' . $user['api_key'], page_link_to('user_myshifts') . '&reset') . '</p>',
|
'ical_text' => '<h2>' . _("iCal export") . '</h2><p>' . sprintf(_("Export of shown shifts. <a href=\"%s\">iCal format</a> or <a href=\"%s\">JSON format</a> available (please keep secret, otherwise <a href=\"%s\">reset the api key</a>)."), page_link_to_absolute('ical') . '&key=' . $user['api_key'], page_link_to_absolute('shifts_json_export') . '&key=' . $user['api_key'], page_link_to('user_myshifts') . '&reset') . '</p>',
|
||||||
|
|
|
@ -117,4 +117,19 @@ function AngelTypes_list_view($angeltypes, $admin_angeltypes) {
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function AngelTypes_about_view($angeltypes) {
|
||||||
|
$content = array(
|
||||||
|
'<p>' . _("Here is the list of teams and their tasks:") . '</p>'
|
||||||
|
);
|
||||||
|
$parsedown = new Parsedown();
|
||||||
|
foreach ($angeltypes as $angeltype) {
|
||||||
|
$content[] = '<h2>' . $angeltype['name'] . '</h2>';
|
||||||
|
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);
|
||||||
|
$content[] = $parsedown->parse($angeltype['description']);
|
||||||
|
}
|
||||||
|
|
||||||
|
return page($content);
|
||||||
|
}
|
||||||
|
|
||||||
?>
|
?>
|
|
@ -77,7 +77,8 @@ $free_pages = array(
|
||||||
'shifts_json_export_all',
|
'shifts_json_export_all',
|
||||||
'user_password_recovery',
|
'user_password_recovery',
|
||||||
'api',
|
'api',
|
||||||
'credits'
|
'credits',
|
||||||
|
'angeltypes'
|
||||||
);
|
);
|
||||||
|
|
||||||
// Gewünschte Seite/Funktion
|
// Gewünschte Seite/Funktion
|
||||||
|
|
Loading…
Reference in New Issue