File formatting fixes

This commit is contained in:
Igor Scheller 2020-05-13 18:26:32 +02:00 committed by msquare
parent a33298c3ce
commit 390db395a6
36 changed files with 515 additions and 511 deletions

View File

@ -54,8 +54,8 @@ class CleanupGroupPrivileges extends Migration
' '
DELETE FROM `GroupPrivileges` DELETE FROM `GroupPrivileges`
WHERE WHERE
group_id = ? group_id = ?
AND privilege_id = ? AND privilege_id = ?
', ',
[ [
-40, // Shift Coordinator -40, // Shift Coordinator

View File

@ -61,7 +61,7 @@ class AddAngelSupporterPermissions extends Migration
return sprintf(' return sprintf('
%s FROM GroupPrivileges %s FROM GroupPrivileges
WHERE group_id = (SELECT UID FROM `Groups` WHERE `name` = ?) WHERE group_id = (SELECT UID FROM `Groups` WHERE `name` = ?)
AND privilege_id = (SELECT id FROM `Privileges` WHERE `name` = ?) AND privilege_id = (SELECT id FROM `Privileges` WHERE `name` = ?)
', $type); ', $type);
} }
} }

View File

@ -213,11 +213,11 @@ function user_controller()
); );
foreach ($shift['needed_angeltypes'] as &$needed_angeltype) { foreach ($shift['needed_angeltypes'] as &$needed_angeltype) {
$needed_angeltype['users'] = DB::select(' $needed_angeltype['users'] = DB::select('
SELECT `ShiftEntry`.`freeloaded`, `users`.* SELECT `ShiftEntry`.`freeloaded`, `users`.*
FROM `ShiftEntry` FROM `ShiftEntry`
JOIN `users` ON `ShiftEntry`.`UID`=`users`.`id` JOIN `users` ON `ShiftEntry`.`UID`=`users`.`id`
WHERE `ShiftEntry`.`SID` = ? WHERE `ShiftEntry`.`SID` = ?
AND `ShiftEntry`.`TID` = ? AND `ShiftEntry`.`TID` = ?
', ',
[$shift['SID'], $needed_angeltype['id']] [$shift['SID'], $needed_angeltype['id']]
); );

View File

@ -31,16 +31,16 @@ function bargraph($dom_id, $key, $row_names, $colors, $data)
} }
return '<canvas id="' . $dom_id . '" style="width: 100%; height: 300px;"></canvas> return '<canvas id="' . $dom_id . '" style="width: 100%; height: 300px;"></canvas>
<script type="text/javascript"> <script type="text/javascript">
$(function(){ $(function(){
var ctx = $(\'#' . $dom_id . '\').get(0).getContext(\'2d\'); var ctx = $(\'#' . $dom_id . '\').get(0).getContext(\'2d\');
var chart = new Chart(ctx, ' . json_encode([ var chart = new Chart(ctx, ' . json_encode([
'type' => 'bar', 'type' => 'bar',
'data' => [ 'data' => [
'labels' => $labels, 'labels' => $labels,
'datasets' => $datasets 'datasets' => $datasets
] ]
]) . '); ]) . ');
}); });
</script>'; </script>';
} }

View File

@ -44,9 +44,9 @@ function AngelType_has_contact_info($angeltype)
function AngelType_delete($angeltype) function AngelType_delete($angeltype)
{ {
DB::delete(' DB::delete('
DELETE FROM `AngelTypes` DELETE FROM `AngelTypes`
WHERE `id`=? WHERE `id`=?
LIMIT 1 LIMIT 1
', [$angeltype['id']]); ', [$angeltype['id']]);
engelsystem_log('Deleted angeltype: ' . AngelType_name_render($angeltype, true)); engelsystem_log('Deleted angeltype: ' . AngelType_name_render($angeltype, true));
} }
@ -59,17 +59,18 @@ function AngelType_delete($angeltype)
function AngelType_update($angeltype) function AngelType_update($angeltype)
{ {
DB::update(' DB::update('
UPDATE `AngelTypes` SET UPDATE `AngelTypes` SET
`name` = ?, `name` = ?,
`restricted` = ?, `restricted` = ?,
`description` = ?, `description` = ?,
`requires_driver_license` = ?, `requires_driver_license` = ?,
`no_self_signup` = ?, `no_self_signup` = ?,
`contact_name` = ?, `contact_name` = ?,
`contact_dect` = ?, `contact_dect` = ?,
`contact_email` = ?, `contact_email` = ?,
`show_on_dashboard` = ? `show_on_dashboard` = ?
WHERE `id` = ?', WHERE `id` = ?
',
[ [
$angeltype['name'], $angeltype['name'],
(int)$angeltype['restricted'], (int)$angeltype['restricted'],
@ -104,18 +105,18 @@ function AngelType_update($angeltype)
function AngelType_create($angeltype) function AngelType_create($angeltype)
{ {
DB::insert(' DB::insert('
INSERT INTO `AngelTypes` ( INSERT INTO `AngelTypes` (
`name`, `name`,
`restricted`, `restricted`,
`description`, `description`,
`requires_driver_license`, `requires_driver_license`,
`no_self_signup`, `no_self_signup`,
`contact_name`, `contact_name`,
`contact_dect`, `contact_dect`,
`contact_email`, `contact_email`,
`show_on_dashboard` `show_on_dashboard`
) )
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
', ',
[ [
$angeltype['name'], $angeltype['name'],
@ -187,14 +188,14 @@ function AngelType_validate_name($name, $angeltype)
function AngelTypes_with_user($userId) function AngelTypes_with_user($userId)
{ {
return DB::select(' return DB::select('
SELECT `AngelTypes`.*, SELECT `AngelTypes`.*,
`UserAngelTypes`.`id` AS `user_angeltype_id`, `UserAngelTypes`.`id` AS `user_angeltype_id`,
`UserAngelTypes`.`confirm_user_id`, `UserAngelTypes`.`confirm_user_id`,
`UserAngelTypes`.`supporter` `UserAngelTypes`.`supporter`
FROM `AngelTypes` FROM `AngelTypes`
LEFT JOIN `UserAngelTypes` ON `AngelTypes`.`id`=`UserAngelTypes`.`angeltype_id` LEFT JOIN `UserAngelTypes` ON `AngelTypes`.`id`=`UserAngelTypes`.`angeltype_id`
AND `UserAngelTypes`.`user_id` = ? AND `UserAngelTypes`.`user_id` = ?
ORDER BY `name`', [$userId]); ORDER BY `name`', [$userId]);
} }
/** /**
@ -205,9 +206,10 @@ function AngelTypes_with_user($userId)
function AngelTypes() function AngelTypes()
{ {
return DB::select(' return DB::select('
SELECT * SELECT *
FROM `AngelTypes` FROM `AngelTypes`
ORDER BY `name`'); ORDER BY `name`
');
} }
/** /**

View File

@ -18,8 +18,8 @@ use Engelsystem\Database\DB;
function NeededAngelType_add($shift_id, $angeltype_id, $room_id, $count) function NeededAngelType_add($shift_id, $angeltype_id, $room_id, $count)
{ {
DB::insert(' DB::insert('
INSERT INTO `NeededAngelTypes` ( `shift_id`, `angel_type_id`, `room_id`, `count`) INSERT INTO `NeededAngelTypes` ( `shift_id`, `angel_type_id`, `room_id`, `count`)
VALUES (?, ?, ?, ?) VALUES (?, ?, ?, ?)
', ',
[ [
$shift_id, $shift_id,

View File

@ -72,8 +72,8 @@ function Room_delete($room_id)
function Room_create($name, $map_url, $description) function Room_create($name, $map_url, $description)
{ {
DB::insert(' DB::insert('
INSERT INTO `Room` (`Name`, `map_url`, `description`) INSERT INTO `Room` (`Name`, `map_url`, `description`)
VALUES (?, ?, ?) VALUES (?, ?, ?)
', [ ', [
$name, $name,
$map_url, $map_url,

View File

@ -48,18 +48,19 @@ function ShiftEntries_freeloaded_count()
function ShiftEntries_by_shift($shift_id) function ShiftEntries_by_shift($shift_id)
{ {
return DB::select(' return DB::select('
SELECT SELECT
`users`.*, `users`.*,
`ShiftEntry`.`UID`, `ShiftEntry`.`UID`,
`ShiftEntry`.`TID`, `ShiftEntry`.`TID`,
`ShiftEntry`.`SID`, `ShiftEntry`.`SID`,
`AngelTypes`.`name` AS `angel_type_name`, `AngelTypes`.`name` AS `angel_type_name`,
`ShiftEntry`.`Comment`, `ShiftEntry`.`Comment`,
`ShiftEntry`.`freeloaded` `ShiftEntry`.`freeloaded`
FROM `ShiftEntry` FROM `ShiftEntry`
JOIN `users` ON `ShiftEntry`.`UID`=`users`.`id` JOIN `users` ON `ShiftEntry`.`UID`=`users`.`id`
JOIN `AngelTypes` ON `ShiftEntry`.`TID`=`AngelTypes`.`id` JOIN `AngelTypes` ON `ShiftEntry`.`TID`=`AngelTypes`.`id`
WHERE `ShiftEntry`.`SID` = ?', WHERE `ShiftEntry`.`SID` = ?
',
[$shift_id] [$shift_id]
); );
} }
@ -78,15 +79,15 @@ function ShiftEntry_create($shift_entry)
$room = Room($shift['RID']); $room = Room($shift['RID']);
$angeltype = AngelType($shift_entry['TID']); $angeltype = AngelType($shift_entry['TID']);
$result = DB::insert(' $result = DB::insert('
INSERT INTO `ShiftEntry` ( INSERT INTO `ShiftEntry` (
`SID`, `SID`,
`TID`, `TID`,
`UID`, `UID`,
`Comment`, `Comment`,
`freeload_comment`, `freeload_comment`,
`freeloaded` `freeloaded`
) )
VALUES(?, ?, ?, ?, ?, ?) VALUES(?, ?, ?, ?, ?, ?)
', ',
[ [
$shift_entry['SID'], $shift_entry['SID'],
@ -119,12 +120,13 @@ function ShiftEntry_create($shift_entry)
function ShiftEntry_update($shift_entry) function ShiftEntry_update($shift_entry)
{ {
DB::update(' DB::update('
UPDATE `ShiftEntry` UPDATE `ShiftEntry`
SET SET
`Comment` = ?, `Comment` = ?,
`freeload_comment` = ?, `freeload_comment` = ?,
`freeloaded` = ? `freeloaded` = ?
WHERE `id` = ?', WHERE `id` = ?
',
[ [
$shift_entry['Comment'], $shift_entry['Comment'],
$shift_entry['freeload_comment'], $shift_entry['freeload_comment'],
@ -191,7 +193,7 @@ function ShiftEntries_upcoming_for_user($userId)
WHERE `ShiftEntry`.`UID` = ? WHERE `ShiftEntry`.`UID` = ?
AND `Shifts`.`end` > ? AND `Shifts`.`end` > ?
ORDER BY `Shifts`.`end` ORDER BY `Shifts`.`end`
', ',
[ [
$userId, $userId,
time(), time(),
@ -209,16 +211,16 @@ function ShiftEntries_upcoming_for_user($userId)
function ShiftEntries_finished_by_user($userId, Carbon $sinceTime = null) function ShiftEntries_finished_by_user($userId, Carbon $sinceTime = null)
{ {
return DB::select(' return DB::select('
SELECT * SELECT *
FROM `ShiftEntry` FROM `ShiftEntry`
JOIN `Shifts` ON (`Shifts`.`SID` = `ShiftEntry`.`SID`) JOIN `Shifts` ON (`Shifts`.`SID` = `ShiftEntry`.`SID`)
JOIN `ShiftTypes` ON `ShiftTypes`.`id` = `Shifts`.`shifttype_id` JOIN `ShiftTypes` ON `ShiftTypes`.`id` = `Shifts`.`shifttype_id`
WHERE `ShiftEntry`.`UID` = ? WHERE `ShiftEntry`.`UID` = ?
AND `Shifts`.`end` < ? AND `Shifts`.`end` < ?
AND `ShiftEntry`.`freeloaded` = 0 AND `ShiftEntry`.`freeloaded` = 0
' . ($sinceTime ? 'AND Shifts.start >= ' . $sinceTime->getTimestamp() : '') . ' ' . ($sinceTime ? 'AND Shifts.start >= ' . $sinceTime->getTimestamp() : '') . '
ORDER BY `Shifts`.`end` desc ORDER BY `Shifts`.`end` desc
', ',
[ [
$userId, $userId,
time(), time(),
@ -257,11 +259,11 @@ function ShiftEntries_by_shift_and_angeltype($shift_id, $angeltype_id)
function ShiftEntries_freeloaded_by_user($userId) function ShiftEntries_freeloaded_by_user($userId)
{ {
return DB::select(' return DB::select('
SELECT * SELECT *
FROM `ShiftEntry` FROM `ShiftEntry`
WHERE `freeloaded` = 1 WHERE `freeloaded` = 1
AND `UID` = ? AND `UID` = ?
', ',
[ [
$userId $userId
] ]

View File

@ -23,11 +23,11 @@ function ShiftType_delete($shifttype_id)
function ShiftType_update($shifttype_id, $name, $angeltype_id, $description) function ShiftType_update($shifttype_id, $name, $angeltype_id, $description)
{ {
DB::update(' DB::update('
UPDATE `ShiftTypes` SET UPDATE `ShiftTypes` SET
`name`=?, `name`=?,
`angeltype_id`=?, `angeltype_id`=?,
`description`=? `description`=?
WHERE `id`=? WHERE `id`=?
', ',
[ [
$name, $name,

View File

@ -18,9 +18,9 @@ function Shifts_by_angeltype($angeltype)
WHERE `NeededAngelTypes`.`angel_type_id` = ? WHERE `NeededAngelTypes`.`angel_type_id` = ?
AND `NeededAngelTypes`.`count` > 0 AND `NeededAngelTypes`.`count` > 0
AND s.shift_id IS NULL AND s.shift_id IS NULL
UNION UNION
SELECT DISTINCT `Shifts`.* FROM `Shifts` SELECT DISTINCT `Shifts`.* FROM `Shifts`
JOIN `NeededAngelTypes` ON `NeededAngelTypes`.`room_id` = `Shifts`.`RID` JOIN `NeededAngelTypes` ON `NeededAngelTypes`.`room_id` = `Shifts`.`RID`
LEFT JOIN schedule_shift AS s on Shifts.SID = s.shift_id LEFT JOIN schedule_shift AS s on Shifts.SID = s.shift_id
@ -48,9 +48,9 @@ function Shifts_free($start, $end)
AND (SELECT SUM(`count`) FROM `NeededAngelTypes` WHERE `NeededAngelTypes`.`shift_id`=`Shifts`.`SID`) AND (SELECT SUM(`count`) FROM `NeededAngelTypes` WHERE `NeededAngelTypes`.`shift_id`=`Shifts`.`SID`)
> (SELECT COUNT(*) FROM `ShiftEntry` WHERE `ShiftEntry`.`SID`=`Shifts`.`SID` AND `freeloaded`=0) > (SELECT COUNT(*) FROM `ShiftEntry` WHERE `ShiftEntry`.`SID`=`Shifts`.`SID` AND `freeloaded`=0)
AND s.shift_id IS NULL AND s.shift_id IS NULL
UNION UNION
SELECT * SELECT *
FROM `Shifts` FROM `Shifts`
LEFT JOIN schedule_shift AS s on Shifts.SID = s.shift_id LEFT JOIN schedule_shift AS s on Shifts.SID = s.shift_id
@ -91,34 +91,37 @@ function Shifts_by_room($room)
*/ */
function Shifts_by_ShiftsFilter(ShiftsFilter $shiftsFilter) function Shifts_by_ShiftsFilter(ShiftsFilter $shiftsFilter)
{ {
$sql = 'SELECT * FROM ( $sql = '
SELECT DISTINCT `Shifts`.*, `ShiftTypes`.`name`, `Room`.`Name` AS `room_name` SELECT * FROM (
FROM `Shifts` SELECT DISTINCT `Shifts`.*, `ShiftTypes`.`name`, `Room`.`Name` AS `room_name`
JOIN `Room` USING (`RID`) FROM `Shifts`
JOIN `ShiftTypes` ON `ShiftTypes`.`id` = `Shifts`.`shifttype_id` JOIN `Room` USING (`RID`)
JOIN `NeededAngelTypes` ON `NeededAngelTypes`.`shift_id` = `Shifts`.`SID` JOIN `ShiftTypes` ON `ShiftTypes`.`id` = `Shifts`.`shifttype_id`
LEFT JOIN schedule_shift AS s on Shifts.SID = s.shift_id JOIN `NeededAngelTypes` ON `NeededAngelTypes`.`shift_id` = `Shifts`.`SID`
WHERE `Shifts`.`RID` IN (' . implode(',', $shiftsFilter->getRooms()) . ') LEFT JOIN schedule_shift AS s on Shifts.SID = s.shift_id
AND `start` BETWEEN ? AND ? WHERE `Shifts`.`RID` IN (' . implode(',', $shiftsFilter->getRooms()) . ')
AND `NeededAngelTypes`.`angel_type_id` IN (' . implode(',', $shiftsFilter->getTypes()) . ') AND `start` BETWEEN ? AND ?
AND `NeededAngelTypes`.`count` > 0 AND `NeededAngelTypes`.`angel_type_id` IN (' . implode(',', $shiftsFilter->getTypes()) . ')
AND s.shift_id IS NULL AND `NeededAngelTypes`.`count` > 0
AND s.shift_id IS NULL
UNION UNION
SELECT DISTINCT `Shifts`.*, `ShiftTypes`.`name`, `Room`.`Name` AS `room_name` SELECT DISTINCT `Shifts`.*, `ShiftTypes`.`name`, `Room`.`Name` AS `room_name`
FROM `Shifts` FROM `Shifts`
JOIN `Room` USING (`RID`) JOIN `Room` USING (`RID`)
JOIN `ShiftTypes` ON `ShiftTypes`.`id` = `Shifts`.`shifttype_id` JOIN `ShiftTypes` ON `ShiftTypes`.`id` = `Shifts`.`shifttype_id`
JOIN `NeededAngelTypes` ON `NeededAngelTypes`.`room_id`=`Shifts`.`RID` JOIN `NeededAngelTypes` ON `NeededAngelTypes`.`room_id`=`Shifts`.`RID`
LEFT JOIN schedule_shift AS s on Shifts.SID = s.shift_id LEFT JOIN schedule_shift AS s on Shifts.SID = s.shift_id
WHERE `Shifts`.`RID` IN (' . implode(',', $shiftsFilter->getRooms()) . ') WHERE `Shifts`.`RID` IN (' . implode(',', $shiftsFilter->getRooms()) . ')
AND `start` BETWEEN ? AND ? AND `start` BETWEEN ? AND ?
AND `NeededAngelTypes`.`angel_type_id` IN (' . implode(',', $shiftsFilter->getTypes()) . ') AND `NeededAngelTypes`.`angel_type_id` IN (' . implode(',', $shiftsFilter->getTypes()) . ')
AND `NeededAngelTypes`.`count` > 0 AND `NeededAngelTypes`.`count` > 0
AND NOT s.shift_id IS NULL) AS tmp_shifts AND NOT s.shift_id IS NULL
) AS tmp_shifts
ORDER BY `room_name`, `start`'; ORDER BY `room_name`, `start`
';
return DB::select( return DB::select(
$sql, $sql,
@ -138,37 +141,38 @@ function Shifts_by_ShiftsFilter(ShiftsFilter $shiftsFilter)
function NeededAngeltypes_by_ShiftsFilter(ShiftsFilter $shiftsFilter) function NeededAngeltypes_by_ShiftsFilter(ShiftsFilter $shiftsFilter)
{ {
$sql = ' $sql = '
SELECT SELECT
`NeededAngelTypes`.*,
`Shifts`.`SID`,
`AngelTypes`.`id`,
`AngelTypes`.`name`,
`AngelTypes`.`restricted`,
`AngelTypes`.`no_self_signup`
FROM `Shifts`
JOIN `NeededAngelTypes` ON `NeededAngelTypes`.`shift_id`=`Shifts`.`SID`
JOIN `AngelTypes` ON `AngelTypes`.`id`= `NeededAngelTypes`.`angel_type_id`
LEFT JOIN schedule_shift AS s on Shifts.SID = s.shift_id
WHERE `Shifts`.`RID` IN (' . implode(',', $shiftsFilter->getRooms()) . ')
AND `start` BETWEEN ? AND ?
AND s.shift_id IS NULL
UNION
SELECT
`NeededAngelTypes`.*, `NeededAngelTypes`.*,
`Shifts`.`SID`, `Shifts`.`SID`,
`AngelTypes`.`id`, `AngelTypes`.`id`,
`AngelTypes`.`name`, `AngelTypes`.`name`,
`AngelTypes`.`restricted`, `AngelTypes`.`restricted`,
`AngelTypes`.`no_self_signup` `AngelTypes`.`no_self_signup`
FROM `Shifts` FROM `Shifts`
JOIN `NeededAngelTypes` ON `NeededAngelTypes`.`room_id`=`Shifts`.`RID` JOIN `NeededAngelTypes` ON `NeededAngelTypes`.`shift_id`=`Shifts`.`SID`
JOIN `AngelTypes` ON `AngelTypes`.`id`= `NeededAngelTypes`.`angel_type_id` JOIN `AngelTypes` ON `AngelTypes`.`id`= `NeededAngelTypes`.`angel_type_id`
LEFT JOIN schedule_shift AS s on Shifts.SID = s.shift_id LEFT JOIN schedule_shift AS s on Shifts.SID = s.shift_id
WHERE `Shifts`.`RID` IN (' . implode(',', $shiftsFilter->getRooms()) . ') WHERE `Shifts`.`RID` IN (' . implode(',', $shiftsFilter->getRooms()) . ')
AND `start` BETWEEN ? AND ? AND `start` BETWEEN ? AND ?
AND NOT s.shift_id IS NULL'; AND s.shift_id IS NULL
UNION
SELECT
`NeededAngelTypes`.*,
`Shifts`.`SID`,
`AngelTypes`.`id`,
`AngelTypes`.`name`,
`AngelTypes`.`restricted`,
`AngelTypes`.`no_self_signup`
FROM `Shifts`
JOIN `NeededAngelTypes` ON `NeededAngelTypes`.`room_id`=`Shifts`.`RID`
JOIN `AngelTypes` ON `AngelTypes`.`id`= `NeededAngelTypes`.`angel_type_id`
LEFT JOIN schedule_shift AS s on Shifts.SID = s.shift_id
WHERE `Shifts`.`RID` IN (' . implode(',', $shiftsFilter->getRooms()) . ')
AND `start` BETWEEN ? AND ?
AND NOT s.shift_id IS NULL
';
return DB::select( return DB::select(
$sql, $sql,
@ -189,38 +193,38 @@ function NeededAngeltypes_by_ShiftsFilter(ShiftsFilter $shiftsFilter)
function NeededAngeltype_by_Shift_and_Angeltype($shift, $angeltype) function NeededAngeltype_by_Shift_and_Angeltype($shift, $angeltype)
{ {
return DB::selectOne(' return DB::selectOne('
SELECT SELECT
`NeededAngelTypes`.*,
`Shifts`.`SID`,
`AngelTypes`.`id`,
`AngelTypes`.`name`,
`AngelTypes`.`restricted`,
`AngelTypes`.`no_self_signup`
FROM `Shifts`
JOIN `NeededAngelTypes` ON `NeededAngelTypes`.`shift_id`=`Shifts`.`SID`
JOIN `AngelTypes` ON `AngelTypes`.`id`= `NeededAngelTypes`.`angel_type_id`
LEFT JOIN schedule_shift AS s on Shifts.SID = s.shift_id
WHERE `Shifts`.`SID`=?
AND `AngelTypes`.`id`=?
AND s.shift_id IS NULL
UNION
SELECT
`NeededAngelTypes`.*, `NeededAngelTypes`.*,
`Shifts`.`SID`, `Shifts`.`SID`,
`AngelTypes`.`id`, `AngelTypes`.`id`,
`AngelTypes`.`name`, `AngelTypes`.`name`,
`AngelTypes`.`restricted`, `AngelTypes`.`restricted`,
`AngelTypes`.`no_self_signup` `AngelTypes`.`no_self_signup`
FROM `Shifts` FROM `Shifts`
JOIN `NeededAngelTypes` ON `NeededAngelTypes`.`room_id`=`Shifts`.`RID` JOIN `NeededAngelTypes` ON `NeededAngelTypes`.`shift_id`=`Shifts`.`SID`
JOIN `AngelTypes` ON `AngelTypes`.`id`= `NeededAngelTypes`.`angel_type_id` JOIN `AngelTypes` ON `AngelTypes`.`id`= `NeededAngelTypes`.`angel_type_id`
LEFT JOIN schedule_shift AS s on Shifts.SID = s.shift_id LEFT JOIN schedule_shift AS s on Shifts.SID = s.shift_id
WHERE `Shifts`.`SID`=? WHERE `Shifts`.`SID`=?
AND `AngelTypes`.`id`=? AND `AngelTypes`.`id`=?
AND NOT s.shift_id IS NULL AND s.shift_id IS NULL
',
UNION
SELECT
`NeededAngelTypes`.*,
`Shifts`.`SID`,
`AngelTypes`.`id`,
`AngelTypes`.`name`,
`AngelTypes`.`restricted`,
`AngelTypes`.`no_self_signup`
FROM `Shifts`
JOIN `NeededAngelTypes` ON `NeededAngelTypes`.`room_id`=`Shifts`.`RID`
JOIN `AngelTypes` ON `AngelTypes`.`id`= `NeededAngelTypes`.`angel_type_id`
LEFT JOIN schedule_shift AS s on Shifts.SID = s.shift_id
WHERE `Shifts`.`SID`=?
AND `AngelTypes`.`id`=?
AND NOT s.shift_id IS NULL
',
[ [
$shift['SID'], $shift['SID'],
$angeltype['id'], $angeltype['id'],
@ -237,19 +241,19 @@ function NeededAngeltype_by_Shift_and_Angeltype($shift, $angeltype)
function ShiftEntries_by_ShiftsFilter(ShiftsFilter $shiftsFilter) function ShiftEntries_by_ShiftsFilter(ShiftsFilter $shiftsFilter)
{ {
$sql = sprintf(' $sql = sprintf('
SELECT SELECT
users.*, users.*,
`ShiftEntry`.`UID`, `ShiftEntry`.`UID`,
`ShiftEntry`.`TID`, `ShiftEntry`.`TID`,
`ShiftEntry`.`SID`, `ShiftEntry`.`SID`,
`ShiftEntry`.`Comment`, `ShiftEntry`.`Comment`,
`ShiftEntry`.`freeloaded` `ShiftEntry`.`freeloaded`
FROM `Shifts` FROM `Shifts`
JOIN `ShiftEntry` ON `ShiftEntry`.`SID`=`Shifts`.`SID` JOIN `ShiftEntry` ON `ShiftEntry`.`SID`=`Shifts`.`SID`
JOIN `users` ON `ShiftEntry`.`UID`=`users`.`id` JOIN `users` ON `ShiftEntry`.`UID`=`users`.`id`
WHERE `Shifts`.`RID` IN (%s) WHERE `Shifts`.`RID` IN (%s)
AND `start` BETWEEN ? AND ? AND `start` BETWEEN ? AND ?
ORDER BY `Shifts`.`start` ORDER BY `Shifts`.`start`
', ',
implode(',', $shiftsFilter->getRooms()) implode(',', $shiftsFilter->getRooms())
); );
@ -518,16 +522,16 @@ function Shift_update($shift)
mail_shift_change(Shift($shift['SID']), $shift); mail_shift_change(Shift($shift['SID']), $shift);
return DB::update(' return DB::update('
UPDATE `Shifts` SET UPDATE `Shifts` SET
`shifttype_id` = ?, `shifttype_id` = ?,
`start` = ?, `start` = ?,
`end` = ?, `end` = ?,
`RID` = ?, `RID` = ?,
`title` = ?, `title` = ?,
`URL` = ?, `URL` = ?,
`edited_by_user_id` = ?, `edited_by_user_id` = ?,
`edited_at_timestamp` = ? `edited_at_timestamp` = ?
WHERE `SID` = ? WHERE `SID` = ?
', ',
[ [
$shift['shifttype_id'], $shift['shifttype_id'],
@ -552,18 +556,18 @@ function Shift_update($shift)
function Shift_create($shift) function Shift_create($shift)
{ {
DB::insert(' DB::insert('
INSERT INTO `Shifts` ( INSERT INTO `Shifts` (
`shifttype_id`, `shifttype_id`,
`start`, `start`,
`end`, `end`,
`RID`, `RID`,
`title`, `title`,
`URL`, `URL`,
`created_by_user_id`, `created_by_user_id`,
`edited_at_timestamp`, `edited_at_timestamp`,
`created_at_timestamp` `created_at_timestamp`
) )
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
', ',
[ [
$shift['shifttype_id'], $shift['shifttype_id'],
@ -591,26 +595,26 @@ function Shift_create($shift)
function Shifts_by_user($userId, $include_freeload_comments = false) function Shifts_by_user($userId, $include_freeload_comments = false)
{ {
return DB::select(' return DB::select('
SELECT SELECT
`ShiftTypes`.`id` AS `shifttype_id`, `ShiftTypes`.`id` AS `shifttype_id`,
`ShiftTypes`.`name`, `ShiftTypes`.`name`,
`ShiftEntry`.`id`, `ShiftEntry`.`id`,
`ShiftEntry`.`SID`, `ShiftEntry`.`SID`,
`ShiftEntry`.`TID`, `ShiftEntry`.`TID`,
`ShiftEntry`.`UID`, `ShiftEntry`.`UID`,
`ShiftEntry`.`freeloaded`, `ShiftEntry`.`freeloaded`,
`ShiftEntry`.`Comment`, `ShiftEntry`.`Comment`,
' . ($include_freeload_comments ? '`ShiftEntry`.`freeload_comment`, ' : '') . ' ' . ($include_freeload_comments ? '`ShiftEntry`.`freeload_comment`, ' : '') . '
`Shifts`.*, `Shifts`.*,
@@session.time_zone AS timezone, @@session.time_zone AS timezone,
`Room`.* `Room`.*
FROM `ShiftEntry` FROM `ShiftEntry`
JOIN `Shifts` ON (`ShiftEntry`.`SID` = `Shifts`.`SID`) JOIN `Shifts` ON (`ShiftEntry`.`SID` = `Shifts`.`SID`)
JOIN `ShiftTypes` ON (`ShiftTypes`.`id` = `Shifts`.`shifttype_id`) JOIN `ShiftTypes` ON (`ShiftTypes`.`id` = `Shifts`.`shifttype_id`)
JOIN `Room` ON (`Shifts`.`RID` = `Room`.`RID`) JOIN `Room` ON (`Shifts`.`RID` = `Room`.`RID`)
WHERE `UID` = ? WHERE `UID` = ?
ORDER BY `start` ORDER BY `start`
', ',
[ [
$userId $userId
] ]
@ -626,10 +630,10 @@ function Shifts_by_user($userId, $include_freeload_comments = false)
function Shift($shift_id) function Shift($shift_id)
{ {
$result = DB::selectOne(' $result = DB::selectOne('
SELECT `Shifts`.*, `ShiftTypes`.`name` SELECT `Shifts`.*, `ShiftTypes`.`name`
FROM `Shifts` FROM `Shifts`
JOIN `ShiftTypes` ON (`ShiftTypes`.`id` = `Shifts`.`shifttype_id`) JOIN `ShiftTypes` ON (`ShiftTypes`.`id` = `Shifts`.`shifttype_id`)
WHERE `SID`=?', [$shift_id]); WHERE `SID`=?', [$shift_id]);
if (empty($result)) { if (empty($result)) {
return null; return null;

View File

@ -35,16 +35,16 @@ function stats_hours_to_work()
{ {
$result = Db::selectOne(" $result = Db::selectOne("
SELECT ROUND(SUM(`count`)) AS `count` FROM ( SELECT ROUND(SUM(`count`)) AS `count` FROM (
SELECT SELECT
(SELECT SUM(`count`) FROM `NeededAngelTypes` WHERE `NeededAngelTypes`.`shift_id`=`Shifts`.`SID`) (SELECT SUM(`count`) FROM `NeededAngelTypes` WHERE `NeededAngelTypes`.`shift_id`=`Shifts`.`SID`)
* (`Shifts`.`end` - `Shifts`.`start`)/3600 AS `count` * (`Shifts`.`end` - `Shifts`.`start`)/3600 AS `count`
FROM `Shifts` FROM `Shifts`
LEFT JOIN schedule_shift AS s on Shifts.SID = s.shift_id LEFT JOIN schedule_shift AS s on Shifts.SID = s.shift_id
WHERE `end` >= ? WHERE `end` >= ?
AND s.shift_id IS NULL AND s.shift_id IS NULL
UNION ALL UNION ALL
SELECT SELECT
(SELECT SUM(`count`) FROM `NeededAngelTypes` WHERE `NeededAngelTypes`.`room_id`=`Shifts`.`RID`) (SELECT SUM(`count`) FROM `NeededAngelTypes` WHERE `NeededAngelTypes`.`room_id`=`Shifts`.`RID`)
* (`Shifts`.`end` - `Shifts`.`start`)/3600 AS `count` * (`Shifts`.`end` - `Shifts`.`start`)/3600 AS `count`
@ -77,16 +77,16 @@ function stats_angels_needed_three_hours()
SELECT SELECT
GREATEST(0, GREATEST(0,
( (
SELECT SUM(`count`) SELECT SUM(`count`)
FROM `NeededAngelTypes` FROM `NeededAngelTypes`
JOIN `AngelTypes` ON `AngelTypes`.`id`=`NeededAngelTypes`.`angel_type_id` JOIN `AngelTypes` ON `AngelTypes`.`id`=`NeededAngelTypes`.`angel_type_id`
WHERE `AngelTypes`.`show_on_dashboard`=TRUE WHERE `AngelTypes`.`show_on_dashboard`=TRUE
AND `NeededAngelTypes`.`shift_id`=`Shifts`.`SID` AND `NeededAngelTypes`.`shift_id`=`Shifts`.`SID`
) - ( ) - (
SELECT COUNT(*) FROM `ShiftEntry` SELECT COUNT(*) FROM `ShiftEntry`
JOIN `AngelTypes` ON `AngelTypes`.`id`=`ShiftEntry`.`TID` JOIN `AngelTypes` ON `AngelTypes`.`id`=`ShiftEntry`.`TID`
WHERE `AngelTypes`.`show_on_dashboard`=TRUE WHERE `AngelTypes`.`show_on_dashboard`=TRUE
AND `ShiftEntry`.`SID`=`Shifts`.`SID` AND `ShiftEntry`.`SID`=`Shifts`.`SID`
AND `freeloaded`=0 AND `freeloaded`=0
) )
) )
@ -95,22 +95,22 @@ function stats_angels_needed_three_hours()
LEFT JOIN schedule_shift AS s on Shifts.SID = s.shift_id LEFT JOIN schedule_shift AS s on Shifts.SID = s.shift_id
WHERE `end` > ? AND `start` < ? WHERE `end` > ? AND `start` < ?
AND s.shift_id IS NULL AND s.shift_id IS NULL
UNION ALL UNION ALL
SELECT SELECT
GREATEST(0, GREATEST(0,
( (
SELECT SUM(`count`) SELECT SUM(`count`)
FROM `NeededAngelTypes` FROM `NeededAngelTypes`
JOIN `AngelTypes` ON `AngelTypes`.`id`=`NeededAngelTypes`.`angel_type_id` JOIN `AngelTypes` ON `AngelTypes`.`id`=`NeededAngelTypes`.`angel_type_id`
WHERE `AngelTypes`.`show_on_dashboard`=TRUE WHERE `AngelTypes`.`show_on_dashboard`=TRUE
AND `NeededAngelTypes`.`room_id`=`Shifts`.`RID` AND `NeededAngelTypes`.`room_id`=`Shifts`.`RID`
) - ( ) - (
SELECT COUNT(*) FROM `ShiftEntry` SELECT COUNT(*) FROM `ShiftEntry`
JOIN `AngelTypes` ON `AngelTypes`.`id`=`ShiftEntry`.`TID` JOIN `AngelTypes` ON `AngelTypes`.`id`=`ShiftEntry`.`TID`
WHERE `AngelTypes`.`show_on_dashboard`=TRUE WHERE `AngelTypes`.`show_on_dashboard`=TRUE
AND `ShiftEntry`.`SID`=`Shifts`.`SID` AND `ShiftEntry`.`SID`=`Shifts`.`SID`
AND `freeloaded`=0 AND `freeloaded`=0
) )
) )
@ -152,16 +152,16 @@ function stats_angels_needed_for_nightshifts()
SELECT SELECT
GREATEST(0, GREATEST(0,
( (
SELECT SUM(`count`) SELECT SUM(`count`)
FROM `NeededAngelTypes` FROM `NeededAngelTypes`
JOIN `AngelTypes` ON `AngelTypes`.`id`=`NeededAngelTypes`.`angel_type_id` JOIN `AngelTypes` ON `AngelTypes`.`id`=`NeededAngelTypes`.`angel_type_id`
WHERE `AngelTypes`.`show_on_dashboard`=TRUE WHERE `AngelTypes`.`show_on_dashboard`=TRUE
AND `NeededAngelTypes`.`shift_id`=`Shifts`.`SID` AND `NeededAngelTypes`.`shift_id`=`Shifts`.`SID`
) - ( ) - (
SELECT COUNT(*) FROM `ShiftEntry` SELECT COUNT(*) FROM `ShiftEntry`
JOIN `AngelTypes` ON `AngelTypes`.`id`=`ShiftEntry`.`TID` JOIN `AngelTypes` ON `AngelTypes`.`id`=`ShiftEntry`.`TID`
WHERE `AngelTypes`.`show_on_dashboard`=TRUE WHERE `AngelTypes`.`show_on_dashboard`=TRUE
AND `ShiftEntry`.`SID`=`Shifts`.`SID` AND `ShiftEntry`.`SID`=`Shifts`.`SID`
AND `freeloaded`=0 AND `freeloaded`=0
) )
) )
@ -170,22 +170,22 @@ function stats_angels_needed_for_nightshifts()
LEFT JOIN schedule_shift AS s on Shifts.SID = s.shift_id LEFT JOIN schedule_shift AS s on Shifts.SID = s.shift_id
WHERE `end` > ? AND `start` < ? WHERE `end` > ? AND `start` < ?
AND s.shift_id IS NULL AND s.shift_id IS NULL
UNION ALL UNION ALL
SELECT SELECT
GREATEST(0, GREATEST(0,
( (
SELECT SUM(`count`) SELECT SUM(`count`)
FROM `NeededAngelTypes` FROM `NeededAngelTypes`
JOIN `AngelTypes` ON `AngelTypes`.`id`=`NeededAngelTypes`.`angel_type_id` JOIN `AngelTypes` ON `AngelTypes`.`id`=`NeededAngelTypes`.`angel_type_id`
WHERE `AngelTypes`.`show_on_dashboard`=TRUE WHERE `AngelTypes`.`show_on_dashboard`=TRUE
AND `NeededAngelTypes`.`room_id`=`Shifts`.`RID` AND `NeededAngelTypes`.`room_id`=`Shifts`.`RID`
) - ( ) - (
SELECT COUNT(*) FROM `ShiftEntry` SELECT COUNT(*) FROM `ShiftEntry`
JOIN `AngelTypes` ON `AngelTypes`.`id`=`ShiftEntry`.`TID` JOIN `AngelTypes` ON `AngelTypes`.`id`=`ShiftEntry`.`TID`
WHERE `AngelTypes`.`show_on_dashboard`=TRUE WHERE `AngelTypes`.`show_on_dashboard`=TRUE
AND `ShiftEntry`.`SID`=`Shifts`.`SID` AND `ShiftEntry`.`SID`=`Shifts`.`SID`
AND `freeloaded`=0 AND `freeloaded`=0
) )
) )

View File

@ -17,11 +17,11 @@ use Engelsystem\Models\User\User;
function UserAngelType_exists($userId, $angeltype) function UserAngelType_exists($userId, $angeltype)
{ {
return count(DB::select(' return count(DB::select('
SELECT `id` SELECT `id`
FROM `UserAngelTypes` FROM `UserAngelTypes`
WHERE `UserAngelTypes`.`user_id`=? WHERE `UserAngelTypes`.`user_id`=?
AND `angeltype_id`=? AND `angeltype_id`=?
', [$userId, $angeltype['id']])) > 0; ', [$userId, $angeltype['id']])) > 0;
} }
/** /**
@ -33,11 +33,11 @@ function UserAngelType_exists($userId, $angeltype)
function User_angeltypes($userId) function User_angeltypes($userId)
{ {
return DB::select(' return DB::select('
SELECT `AngelTypes`.*, `UserAngelTypes`.`confirm_user_id`, `UserAngelTypes`.`supporter` SELECT `AngelTypes`.*, `UserAngelTypes`.`confirm_user_id`, `UserAngelTypes`.`supporter`
FROM `UserAngelTypes` FROM `UserAngelTypes`
JOIN `AngelTypes` ON `UserAngelTypes`.`angeltype_id` = `AngelTypes`.`id` JOIN `AngelTypes` ON `UserAngelTypes`.`angeltype_id` = `AngelTypes`.`id`
WHERE `UserAngelTypes`.`user_id`=? WHERE `UserAngelTypes`.`user_id`=?
', [$userId]); ', [$userId]);
} }
/** /**
@ -50,16 +50,16 @@ function User_unconfirmed_AngelTypes($userId)
{ {
return DB::select(' return DB::select('
SELECT SELECT
`UserAngelTypes`.*, `UserAngelTypes`.*,
`AngelTypes`.`name`, `AngelTypes`.`name`,
count(`UnconfirmedMembers`.`user_id`) AS `count` count(`UnconfirmedMembers`.`user_id`) AS `count`
FROM `UserAngelTypes` FROM `UserAngelTypes`
JOIN `AngelTypes` ON `UserAngelTypes`.`angeltype_id`=`AngelTypes`.`id` JOIN `AngelTypes` ON `UserAngelTypes`.`angeltype_id`=`AngelTypes`.`id`
JOIN `UserAngelTypes` AS `UnconfirmedMembers` ON `UserAngelTypes`.`angeltype_id`=`UnconfirmedMembers`.`angeltype_id` JOIN `UserAngelTypes` AS `UnconfirmedMembers` ON `UserAngelTypes`.`angeltype_id`=`UnconfirmedMembers`.`angeltype_id`
WHERE `UserAngelTypes`.`user_id`=? WHERE `UserAngelTypes`.`user_id`=?
AND `UserAngelTypes`.`supporter`=TRUE AND `UserAngelTypes`.`supporter`=TRUE
AND `AngelTypes`.`restricted`=TRUE AND `AngelTypes`.`restricted`=TRUE
AND `UnconfirmedMembers`.`confirm_user_id` IS NULL AND `UnconfirmedMembers`.`confirm_user_id` IS NULL
GROUP BY `UserAngelTypes`.`angeltype_id`, `UserAngelTypes`.`id` GROUP BY `UserAngelTypes`.`angeltype_id`, `UserAngelTypes`.`id`
ORDER BY `AngelTypes`.`name` ORDER BY `AngelTypes`.`name`
', [$userId]); ', [$userId]);
@ -77,12 +77,12 @@ function User_is_AngelType_supporter($user, $angeltype)
$privileges = privileges_for_user($user->id); $privileges = privileges_for_user($user->id);
return (count(DB::select(' return (count(DB::select('
SELECT `id` SELECT `id`
FROM `UserAngelTypes` FROM `UserAngelTypes`
WHERE `user_id`=? WHERE `user_id`=?
AND `angeltype_id`=? AND `angeltype_id`=?
AND `supporter`=TRUE AND `supporter`=TRUE
LIMIT 1 LIMIT 1
', ',
[ [
$user->id, $user->id,
@ -101,10 +101,10 @@ function User_is_AngelType_supporter($user, $angeltype)
function UserAngelType_update($user_angeltype_id, $supporter) function UserAngelType_update($user_angeltype_id, $supporter)
{ {
DB::update(' DB::update('
UPDATE `UserAngelTypes` UPDATE `UserAngelTypes`
SET `supporter`=? SET `supporter`=?
WHERE `id`=? WHERE `id`=?
LIMIT 1 LIMIT 1
', [(int)$supporter, $user_angeltype_id]); ', [(int)$supporter, $user_angeltype_id]);
} }
@ -116,9 +116,9 @@ function UserAngelType_update($user_angeltype_id, $supporter)
function UserAngelTypes_delete_all($angeltype_id) function UserAngelTypes_delete_all($angeltype_id)
{ {
DB::delete(' DB::delete('
DELETE FROM `UserAngelTypes` DELETE FROM `UserAngelTypes`
WHERE `angeltype_id`=? WHERE `angeltype_id`=?
AND `confirm_user_id` IS NULL AND `confirm_user_id` IS NULL
', [$angeltype_id]); ', [$angeltype_id]);
} }
@ -131,10 +131,10 @@ function UserAngelTypes_delete_all($angeltype_id)
function UserAngelTypes_confirm_all($angeltype_id, $confirm_user_id) function UserAngelTypes_confirm_all($angeltype_id, $confirm_user_id)
{ {
DB::update(' DB::update('
UPDATE `UserAngelTypes` UPDATE `UserAngelTypes`
SET `confirm_user_id`=? SET `confirm_user_id`=?
WHERE `angeltype_id`=? WHERE `angeltype_id`=?
AND `confirm_user_id` IS NULL AND `confirm_user_id` IS NULL
', [$confirm_user_id, $angeltype_id]); ', [$confirm_user_id, $angeltype_id]);
} }
@ -147,10 +147,10 @@ function UserAngelTypes_confirm_all($angeltype_id, $confirm_user_id)
function UserAngelType_confirm($user_angeltype_id, $confirm_user_id) function UserAngelType_confirm($user_angeltype_id, $confirm_user_id)
{ {
DB::update(' DB::update('
UPDATE `UserAngelTypes` UPDATE `UserAngelTypes`
SET `confirm_user_id`=? SET `confirm_user_id`=?
WHERE `id`=? WHERE `id`=?
LIMIT 1', [$confirm_user_id, $user_angeltype_id]); LIMIT 1', [$confirm_user_id, $user_angeltype_id]);
} }
/** /**
@ -161,9 +161,9 @@ function UserAngelType_confirm($user_angeltype_id, $confirm_user_id)
function UserAngelType_delete($user_angeltype) function UserAngelType_delete($user_angeltype)
{ {
DB::delete(' DB::delete('
DELETE FROM `UserAngelTypes` DELETE FROM `UserAngelTypes`
WHERE `id`=? WHERE `id`=?
LIMIT 1', [$user_angeltype['id']]); LIMIT 1', [$user_angeltype['id']]);
} }
/** /**
@ -197,10 +197,10 @@ function UserAngelType_create($userId, $angeltype)
function UserAngelType($user_angeltype_id) function UserAngelType($user_angeltype_id)
{ {
$angelType = DB::selectOne(' $angelType = DB::selectOne('
SELECT * SELECT *
FROM `UserAngelTypes` FROM `UserAngelTypes`
WHERE `id`=? WHERE `id`=?
LIMIT 1', [$user_angeltype_id]); LIMIT 1', [$user_angeltype_id]);
return empty($angelType) ? null : $angelType; return empty($angelType) ? null : $angelType;
} }
@ -215,11 +215,11 @@ function UserAngelType($user_angeltype_id)
function UserAngelType_by_User_and_AngelType($userId, $angeltype) function UserAngelType_by_User_and_AngelType($userId, $angeltype)
{ {
$angelType = DB::selectOne(' $angelType = DB::selectOne('
SELECT * SELECT *
FROM `UserAngelTypes` FROM `UserAngelTypes`
WHERE `user_id`=? WHERE `user_id`=?
AND `angeltype_id`=? AND `angeltype_id`=?
LIMIT 1 LIMIT 1
', ',
[ [
$userId, $userId,
@ -239,9 +239,9 @@ function UserAngelType_by_User_and_AngelType($userId, $angeltype)
function UserAngelTypes_by_User($userId) function UserAngelTypes_by_User($userId)
{ {
return DB::select(' return DB::select('
SELECT * SELECT *
FROM `UserAngelTypes` FROM `UserAngelTypes`
WHERE `user_id`=? WHERE `user_id`=?
', ',
[$userId] [$userId]
); );

View File

@ -64,16 +64,16 @@ function UserDriverLicenses_create($user_driver_license, $userId)
{ {
$user_driver_license['user_id'] = $userId; $user_driver_license['user_id'] = $userId;
DB::insert(' DB::insert('
INSERT INTO `UserDriverLicenses` ( INSERT INTO `UserDriverLicenses` (
`user_id`, `user_id`,
`has_car`, `has_car`,
`has_license_car`, `has_license_car`,
`has_license_3_5t_transporter`, `has_license_3_5t_transporter`,
`has_license_7_5t_truck`, `has_license_7_5t_truck`,
`has_license_12_5t_truck`, `has_license_12_5t_truck`,
`has_license_forklift` `has_license_forklift`
) )
VALUES (?, ?, ?, ?, ?, ?, ?) VALUES (?, ?, ?, ?, ?, ?, ?)
', ',
[ [
$user_driver_license['user_id'], $user_driver_license['user_id'],
@ -97,16 +97,16 @@ function UserDriverLicenses_create($user_driver_license, $userId)
function UserDriverLicenses_update($user_driver_license) function UserDriverLicenses_update($user_driver_license)
{ {
DB::update(' DB::update('
UPDATE `UserDriverLicenses` UPDATE `UserDriverLicenses`
SET SET
`has_car`=?, `has_car`=?,
`has_license_car`=?, `has_license_car`=?,
`has_license_3_5t_transporter`=?, `has_license_3_5t_transporter`=?,
`has_license_7_5t_truck`=?, `has_license_7_5t_truck`=?,
`has_license_12_5t_truck`=?, `has_license_12_5t_truck`=?,
`has_license_forklift`=? `has_license_forklift`=?
WHERE `user_id`=? WHERE `user_id`=?
', ',
[ [
(int)$user_driver_license['has_car'], (int)$user_driver_license['has_car'],
(int)$user_driver_license['has_license_car'], (int)$user_driver_license['has_license_car'],

View File

@ -11,12 +11,12 @@ use Engelsystem\Database\DB;
function User_groups($userId) function User_groups($userId)
{ {
return DB::select(' return DB::select('
SELECT `Groups`.* SELECT `Groups`.*
FROM `UserGroups` FROM `UserGroups`
JOIN `Groups` ON `Groups`.`UID`=`UserGroups`.`group_id` JOIN `Groups` ON `Groups`.`UID`=`UserGroups`.`group_id`
WHERE `UserGroups`.`uid`=? WHERE `UserGroups`.`uid`=?
ORDER BY `UserGroups`.`group_id` ORDER BY `UserGroups`.`group_id`
', ',
[$userId] [$userId]
); );
} }

View File

@ -30,12 +30,12 @@ function UserWorkLogsForUser($userId, Carbon $sinceTime = null)
{ {
return Db::select( return Db::select(
' '
SELECT * SELECT *
FROM `UserWorkLog` FROM `UserWorkLog`
WHERE `user_id`=? WHERE `user_id`=?
' . ($sinceTime ? 'AND work_timestamp >= ' . $sinceTime->getTimestamp() : '') . ' ' . ($sinceTime ? 'AND work_timestamp >= ' . $sinceTime->getTimestamp() : '') . '
ORDER BY `created_timestamp` ORDER BY `created_timestamp`
', ',
[ [
$userId $userId
] ]

View File

@ -23,7 +23,7 @@ function User_tshirt_score($userId)
$result_shifts = DB::selectOne(sprintf(' $result_shifts = DB::selectOne(sprintf('
SELECT ROUND((%s) / 3600, 2) AS `tshirt_score` SELECT ROUND((%s) / 3600, 2) AS `tshirt_score`
FROM `users` LEFT JOIN `ShiftEntry` ON `users`.`id` = `ShiftEntry`.`UID` FROM `users` LEFT JOIN `ShiftEntry` ON `users`.`id` = `ShiftEntry`.`UID`
LEFT JOIN `Shifts` ON `ShiftEntry`.`SID` = `Shifts`.`SID` LEFT JOIN `Shifts` ON `ShiftEntry`.`SID` = `Shifts`.`SID`
WHERE `users`.`id` = ? WHERE `users`.`id` = ?
AND `Shifts`.`end` < ? AND `Shifts`.`end` < ?
GROUP BY `users`.`id` GROUP BY `users`.`id`
@ -37,7 +37,7 @@ function User_tshirt_score($userId)
$result_worklog = DB::selectOne(' $result_worklog = DB::selectOne('
SELECT SUM(`work_hours`) AS `tshirt_score` SELECT SUM(`work_hours`) AS `tshirt_score`
FROM `users` FROM `users`
LEFT JOIN `UserWorkLog` ON `users`.`id` = `UserWorkLog`.`user_id` LEFT JOIN `UserWorkLog` ON `users`.`id` = `UserWorkLog`.`user_id`
WHERE `users`.`id` = ? WHERE `users`.`id` = ?
AND `UserWorkLog`.`work_timestamp` < ? AND `UserWorkLog`.`work_timestamp` < ?
@ -281,13 +281,11 @@ function User_get_shifts_sum_query()
return sprintf(' return sprintf('
COALESCE(SUM( COALESCE(SUM(
(1 + (1 + (
( (HOUR(FROM_UNIXTIME(`Shifts`.`end`)) > %1$d AND HOUR(FROM_UNIXTIME(`Shifts`.`end`)) < %2$d)
(HOUR(FROM_UNIXTIME(`Shifts`.`end`)) > %1$d AND HOUR(FROM_UNIXTIME(`Shifts`.`end`)) < %2$d) OR (HOUR(FROM_UNIXTIME(`Shifts`.`start`)) > %1$d AND HOUR(FROM_UNIXTIME(`Shifts`.`start`)) < %2$d)
OR (HOUR(FROM_UNIXTIME(`Shifts`.`start`)) > %1$d AND HOUR(FROM_UNIXTIME(`Shifts`.`start`)) < %2$d) OR (HOUR(FROM_UNIXTIME(`Shifts`.`start`)) <= %1$d AND HOUR(FROM_UNIXTIME(`Shifts`.`end`)) >= %2$d)
OR (HOUR(FROM_UNIXTIME(`Shifts`.`start`)) <= %1$d AND HOUR(FROM_UNIXTIME(`Shifts`.`end`)) >= %2$d) ))
)
)
* (`Shifts`.`end` - `Shifts`.`start`) * (`Shifts`.`end` - `Shifts`.`start`)
* (1 - (%3$d + 1) * `ShiftEntry`.`freeloaded`) * (1 - (%3$d + 1) * `ShiftEntry`.`freeloaded`)
), 0) ), 0)

View File

@ -62,8 +62,8 @@ function admin_active()
users.*, users.*,
COUNT(ShiftEntry.id) AS shift_count, COUNT(ShiftEntry.id) AS shift_count,
(%s + ( (%s + (
SELECT COALESCE(SUM(`work_hours`) * 3600, 0) FROM `UserWorkLog` WHERE `user_id`=`users`.`id` SELECT COALESCE(SUM(`work_hours`) * 3600, 0) FROM `UserWorkLog` WHERE `user_id`=`users`.`id`
AND `work_timestamp` < ? AND `work_timestamp` < ?
)) AS `shift_length` )) AS `shift_length`
', ',
$shift_sum_formula $shift_sum_formula
@ -156,8 +156,8 @@ function admin_active()
users.*, users.*,
COUNT(ShiftEntry.id) AS shift_count, COUNT(ShiftEntry.id) AS shift_count,
(%s + ( (%s + (
SELECT COALESCE(SUM(`work_hours`) * 3600, 0) FROM `UserWorkLog` WHERE `user_id`=`users`.`id` SELECT COALESCE(SUM(`work_hours`) * 3600, 0) FROM `UserWorkLog` WHERE `user_id`=`users`.`id`
AND `work_timestamp` < ? AND `work_timestamp` < ?
)) AS `shift_length` )) AS `shift_length`
', ',
$shift_sum_formula $shift_sum_formula

View File

@ -129,7 +129,7 @@ function admin_shifts()
$valid = false; $valid = false;
error(__('Please split the shift-change hours by colons.')); error(__('Please split the shift-change hours by colons.'));
} }
$shift_over_midnight = $request->has('shift_over_midnight') $shift_over_midnight = $request->has('shift_over_midnight')
&& $request->input('shift_over_midnight') != 'false'; && $request->input('shift_over_midnight') != 'false';
} }
} else { } else {
@ -362,16 +362,16 @@ function admin_shifts()
$needed_angel_types_info = []; $needed_angel_types_info = [];
foreach ($session->get('admin_shifts_types', []) as $type_id => $count) { foreach ($session->get('admin_shifts_types', []) as $type_id => $count) {
$angel_type_source = DB::selectOne(' $angel_type_source = DB::selectOne('
SELECT * SELECT *
FROM `AngelTypes` FROM `AngelTypes`
WHERE `id` = ? WHERE `id` = ?
LIMIT 1', [$type_id]); LIMIT 1', [$type_id]);
if (!empty($angel_type_source)) { if (!empty($angel_type_source)) {
DB::insert(' DB::insert('
INSERT INTO `NeededAngelTypes` (`shift_id`, `angel_type_id`, `count`) INSERT INTO `NeededAngelTypes` (`shift_id`, `angel_type_id`, `count`)
VALUES (?, ?, ?) VALUES (?, ?, ?)
', ',
[ [
$shift_id, $shift_id,
$type_id, $type_id,
@ -442,8 +442,8 @@ function admin_shifts()
: '00, 04, 08, 10, 12, 14, 16, 18, 20, 22' : '00, 04, 08, 10, 12, 14, 16, 18, 20, 22'
), ),
form_checkbox( form_checkbox(
'shift_over_midnight', 'shift_over_midnight',
__('Create a shift over midnight.'), __('Create a shift over midnight.'),
$shift_over_midnight $shift_over_midnight
) )
]), ]),

View File

@ -551,19 +551,19 @@ class ImportSchedule extends BaseController
{ {
return $this->db->selectOne( return $this->db->selectOne(
' '
SELECT SELECT
s.SID AS id, s.SID AS id,
s.title, s.title,
s.start, s.start,
s.end, s.end,
s.shifttype_id AS shift_type_id, s.shifttype_id AS shift_type_id,
s.RID AS room_id, s.RID AS room_id,
r.Name AS room_name, r.Name AS room_name,
s.URL as url s.URL as url
FROM Shifts AS s FROM Shifts AS s
LEFT JOIN Room r on s.RID = r.RID LEFT JOIN Room r on s.RID = r.RID
WHERE SID = ? WHERE SID = ?
', ',
[$id] [$id]
); );
} }

View File

@ -46,16 +46,16 @@ function make_atom_entries_from_news($news_entries)
$updatedAt = isset($news_entries[0]) ? $news_entries[0]->updated_at->format('Y-m-d\TH:i:sP') : '0000:00:00T00:00:00+00:00'; $updatedAt = isset($news_entries[0]) ? $news_entries[0]->updated_at->format('Y-m-d\TH:i:sP') : '0000:00:00T00:00:00+00:00';
$html = '<?xml version="1.0" encoding="utf-8"?> $html = '<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"> <feed xmlns="http://www.w3.org/2005/Atom">
<title>' . config('app_name') . '</title> <title>' . config('app_name') . '</title>
<id>' . $request->getHttpHost() <id>' . $request->getHttpHost()
. htmlspecialchars(preg_replace( . htmlspecialchars(preg_replace(
'#[&?]key=[a-f\d]{32}#', '#[&?]key=[a-f\d]{32}#',
'', '',
$request->getRequestUri() $request->getRequestUri()
)) ))
. '</id> . '</id>
<updated>' . $updatedAt . '</updated>' . "\n"; <updated>' . $updatedAt . '</updated>' . "\n";
foreach ($news_entries as $news_entry) { foreach ($news_entries as $news_entry) {
$html .= make_atom_entry_from_news($news_entry); $html .= make_atom_entry_from_news($news_entry);
} }
@ -70,7 +70,7 @@ function make_atom_entries_from_news($news_entries)
function make_atom_entry_from_news(News $news) function make_atom_entry_from_news(News $news)
{ {
return ' return '
<entry> <entry>
<title>' . htmlspecialchars($news->title) . '</title> <title>' . htmlspecialchars($news->title) . '</title>
<link href="' . page_link_to('news/' . $news->id) . '"/> <link href="' . page_link_to('news/' . $news->id) . '"/>
<id>' . preg_replace( <id>' . preg_replace(
@ -80,5 +80,5 @@ function make_atom_entry_from_news(News $news)
) . '</id> ) . '</id>
<updated>' . $news->updated_at->format('Y-m-d\TH:i:sP') . '</updated> <updated>' . $news->updated_at->format('Y-m-d\TH:i:sP') . '</updated>
<summary type="html">' . htmlspecialchars($news->text) . '</summary> <summary type="html">' . htmlspecialchars($news->text) . '</summary>
</entry>' . "\n"; </entry>' . "\n";
} }

View File

@ -115,9 +115,9 @@ function load_rooms()
function load_days() function load_days()
{ {
$days = DB::select(' $days = DB::select('
SELECT DISTINCT DATE(FROM_UNIXTIME(`start`)) AS `id`, DATE(FROM_UNIXTIME(`start`)) AS `name` SELECT DISTINCT DATE(FROM_UNIXTIME(`start`)) AS `id`, DATE(FROM_UNIXTIME(`start`)) AS `name`
FROM `Shifts` FROM `Shifts`
ORDER BY `id`, `name` ORDER BY `id`, `name`
'); ');
$days = array_map('array_shift', $days); $days = array_map('array_shift', $days);
@ -302,8 +302,8 @@ function ical_hint()
page_link_to('user_myshifts', ['reset' => 1]) page_link_to('user_myshifts', ['reset' => 1])
) )
. ' <button class="btn btn-xs btn-danger" data-toggle="collapse" data-target="#collapseApiKey" aria-expanded="false" aria-controls="collapseApiKey"> . ' <button class="btn btn-xs btn-danger" data-toggle="collapse" data-target="#collapseApiKey" aria-expanded="false" aria-controls="collapseApiKey">
' . __('Show API Key') . ' ' . __('Show API Key') . '
</button>' </button>'
. '</p>' . '</p>'
. '<p id="collapseApiKey" class="collapse"><code>' . $user->api_key . '</code></p>'; . '<p id="collapseApiKey" class="collapse"><code>' . $user->api_key . '</code></p>';
} }

View File

@ -27,28 +27,28 @@ function form_spinner($name, $label, $value)
$value = htmlspecialchars($value); $value = htmlspecialchars($value);
return form_element($label, ' return form_element($label, '
<div class="input-group"> <div class="input-group">
<input id="spinner-' . $name . '" class="form-control" name="' . $name . '" value="' . $value . '" /> <input id="spinner-' . $name . '" class="form-control" name="' . $name . '" value="' . $value . '" />
<div class="input-group-btn"> <div class="input-group-btn">
<button id="spinner-' . $name . '-down" class="btn btn-default" type="button"> <button id="spinner-' . $name . '-down" class="btn btn-default" type="button">
<span class="glyphicon glyphicon-minus"></span> <span class="glyphicon glyphicon-minus"></span>
</button> </button>
<button id="spinner-' . $name . '-up" class="btn btn-default" type="button"> <button id="spinner-' . $name . '-up" class="btn btn-default" type="button">
<span class="glyphicon glyphicon-plus"></span> <span class="glyphicon glyphicon-plus"></span>
</button> </button>
</div>
</div> </div>
</div> <script type="text/javascript">
<script type="text/javascript"> $(\'#spinner-' . $name . '-down\').click(function() {
$(\'#spinner-' . $name . '-down\').click(function() { var spinner = $(\'#spinner-' . $name . '\');
var spinner = $(\'#spinner-' . $name . '\'); spinner.val(parseInt(spinner.val()) - 1);
spinner.val(parseInt(spinner.val()) - 1); });
}); $(\'#spinner-' . $name . '-up\').click(function() {
$(\'#spinner-' . $name . '-up\').click(function() { var spinner = $(\'#spinner-' . $name . '\');
var spinner = $(\'#spinner-' . $name . '\'); spinner.val(parseInt(spinner.val()) + 1);
spinner.val(parseInt(spinner.val()) + 1); });
}); </script>
</script> ');
');
} }
/** /**
@ -71,7 +71,7 @@ function form_date($name, $label, $value, $start_date = '', $end_date = '')
return form_element($label, ' return form_element($label, '
<div class="input-group date" id="' . $dom_id . '" data-min-date="' . $start_date . '" data-max-date="' . $end_date . '"> <div class="input-group date" id="' . $dom_id . '" data-min-date="' . $start_date . '" data-max-date="' . $end_date . '">
<input type="date" placeholder="YYYY-MM-DD" name="' . $name . '" class="form-control" value="' . htmlspecialchars($value) . '">' <input type="date" placeholder="YYYY-MM-DD" name="' . $name . '" class="form-control" value="' . htmlspecialchars($value) . '">'
. '<span class="input-group-addon">' . glyph('th') . '</span> . '<span class="input-group-addon">' . glyph('th') . '</span>
</div> </div>
', $dom_id); ', $dom_id);

View File

@ -1,7 +1,5 @@
<?php <?php
use Engelsystem\Renderer\Twig\Extensions\Assets;
/** /**
* Render a stat for dashborad (big number with label). * Render a stat for dashborad (big number with label).
* If no style given, style is danger if number > 0, and success if number == 0. * If no style given, style is danger if number > 0, and success if number == 0.
@ -194,12 +192,12 @@ function toolbar_item_divider()
*/ */
function toolbar_dropdown($glyphicon, $label, $submenu, $class = '') function toolbar_dropdown($glyphicon, $label, $submenu, $class = '')
{ {
return '<li class="dropdown ' . $class . '"> return '<li class="dropdown ' . $class . '">'
<a href="#" class="dropdown-toggle" data-toggle="dropdown">' . '<a href="#" class="dropdown-toggle" data-toggle="dropdown">'
. ($glyphicon != '' ? '<span class="glyphicon glyphicon-' . $glyphicon . '"></span> ' : '') . ($glyphicon != '' ? '<span class="glyphicon glyphicon-' . $glyphicon . '"></span> ' : '')
. $label . $label
. ' <span class="caret"></span></a> . '<span class="caret"></span></a>'
<ul class="dropdown-menu" role="menu">' . '<ul class="dropdown-menu" role="menu">'
. join("\n", $submenu) . join("\n", $submenu)
. '</ul></li>'; . '</ul></li>';
} }
@ -214,22 +212,22 @@ function toolbar_dropdown($glyphicon, $label, $submenu, $class = '')
function toolbar_popover($glyphicon, $label, $content, $class = '') function toolbar_popover($glyphicon, $label, $content, $class = '')
{ {
$dom_id = md5(microtime() . $glyphicon . $label); $dom_id = md5(microtime() . $glyphicon . $label);
return '<li class="dropdown messages ' . $class . '"> return '<li class="dropdown messages ' . $class . '">'
<a id="' . $dom_id . '" href="#" tabindex="0">' . '<a id="' . $dom_id . '" href="#" tabindex="0">'
. ($glyphicon != '' ? '<span class="glyphicon glyphicon-' . $glyphicon . '"></span> ' : '') . ($glyphicon != '' ? '<span class="glyphicon glyphicon-' . $glyphicon . '"></span> ' : '')
. $label . $label
. ' <span class="caret"></span></a> . ' <span class="caret"></span></a>'
<script type="text/javascript"> . '<script type="text/javascript">
$(function(){ $(function(){
$(\'#' . $dom_id . '\').popover({ $(\'#' . $dom_id . '\').popover({
trigger: \'click\', trigger: \'click\',
html: true, html: true,
content: \'' . addslashes(join('', $content)) . '\', content: \'' . addslashes(join('', $content)) . '\',
placement: \'bottom\', placement: \'bottom\',
container: \'#navbar-offcanvas\' container: \'#navbar-offcanvas\'
}) })
}); });
</script></li>'; </script></li>';
} }

View File

@ -53,23 +53,23 @@ function UserDriverLicense_edit_view($user_source, $wants_to_drive, $user_driver
], 'driving_license'), ], 'driving_license'),
form_submit('submit', __('Save')) form_submit('submit', __('Save'))
]), ]),
'<script type="text/javascript"> '
$(function() { <script type="text/javascript">
var checkbox = $(\'#wants_to_drive\'); $(function() {
if(checkbox.is(\':checked\')) var checkbox = $(\'#wants_to_drive\');
$(\'#driving_license\').show(); if(checkbox.is(\':checked\'))
else $(\'#driving_license\').show();
$(\'#driving_license\').hide(); else
$(\'#driving_license\').hide();
checkbox.click( checkbox.click(function() {
function() { if($(\'#wants_to_drive\').is(\':checked\'))
if($(\'#wants_to_drive\').is(\':checked\')) $(\'#driving_license\').show();
$(\'#driving_license\').show(); else
else $(\'#driving_license\').hide();
$(\'#driving_license\').hide(); });
} });
); </script>
}); '
</script>'
]); ]);
} }

View File

@ -589,7 +589,7 @@ function User_view(
(config('enable_pronoun') && $user_source->personalData->pronoun) (config('enable_pronoun') && $user_source->personalData->pronoun)
? '<small>' . htmlspecialchars($user_source->personalData->pronoun) . '</small> ' ? '<small>' . htmlspecialchars($user_source->personalData->pronoun) . '</small> '
: '' : ''
) )
. htmlspecialchars($user_source->name) . htmlspecialchars($user_source->name)
. (config('enable_user_name') ? ' <small>' . $user_name . '</small>' : ''), . (config('enable_user_name') ? ' <small>' . $user_name . '</small>' : ''),
[ [

View File

@ -1,6 +1,6 @@
/* ============================================================= /* =============================================================
Error page Error page
============================================================= */ ============================================================= */
.error-big { .error-big {
text-align: center; text-align: center;

View File

@ -1,2 +1,2 @@
// light // light
@import "base.less"; @import "base.less";

View File

@ -1041,13 +1041,13 @@ a.thumbnail.active {
// Specials for cccamp19 design // Specials for cccamp19 design
.navbar-brand { .navbar-brand {
.icon-icon_angel { .icon-icon_angel {
background-color: @brand-primary; background-color: @brand-primary;
} }
strong { strong {
font-weight: lighter; font-weight: lighter;
color: @brand-primary; color: @brand-primary;
text-shadow: text-shadow:
0 0 10px @brand-primary, 0 0 10px @brand-primary,
0 0 20px @brand-primary, 0 0 20px @brand-primary,
@ -1062,7 +1062,7 @@ h1 {
font-weight: lighter; font-weight: lighter;
color: @brand-primary; color: @brand-primary;
text-shadow: 0 0 10px @brand-primary; text-shadow: 0 0 10px @brand-primary;
.icon-icon_angel { .icon-icon_angel {
background-color: @brand-primary; background-color: @brand-primary;
} }

View File

@ -1046,5 +1046,5 @@ a.thumbnail.active {
} }
.panel-info .panel-title { .panel-info .panel-title {
color: #000; color: #000;
} }

View File

@ -41,11 +41,11 @@
@navbar-default-brand-hover-bg: #000; @navbar-default-brand-hover-bg: #000;
.navbar { .navbar {
.bg-info { .bg-info {
background-color: darken(@brand-info, 30%); background-color: darken(@brand-info, 30%);
} }
.bg-danger { .bg-danger {
background-color: darken(@brand-danger, 30%); background-color: darken(@brand-danger, 30%);
} }
} }

View File

@ -1044,5 +1044,5 @@ a.thumbnail.active {
.label-warning, .label-success, .progress-bar-warning, .progress-bar-success, .label-warning, .label-success, .progress-bar-warning, .progress-bar-success,
.panel-warning .panel-heading, .panel-warning .panel-heading a, .panel-warning .panel-heading, .panel-warning .panel-heading a,
.panel-success .panel-heading, .panel-success .panel-heading a { .panel-success .panel-heading, .panel-success .panel-heading a {
color: @gray-darker; color: @gray-darker;
} }

View File

@ -26,7 +26,7 @@
@state-danger-border: @brand-danger; @state-danger-border: @brand-danger;
.label.label-warning { .label.label-warning {
color: #000; color: #000;
} }
@import "base.less"; @import "base.less";

View File

@ -1060,7 +1060,7 @@ a.thumbnail.active {
} }
.btn-primary, .panel-info .panel-heading { .btn-primary, .panel-info .panel-heading {
background-image: linear-gradient(to right, rgb(0, 132, 176) , rgb(0, 163, 86)); background-image: linear-gradient(to right, rgb(0, 132, 176) , rgb(0, 163, 86));
} }
.label-warning { .label-warning {

View File

@ -1041,13 +1041,13 @@ a.thumbnail.active {
// Specials for cccamp19 design // Specials for cccamp19 design
.navbar-brand { .navbar-brand {
.icon-icon_angel { .icon-icon_angel {
background-color: @brand-primary; background-color: @brand-primary;
} }
strong { strong {
font-weight: lighter; font-weight: lighter;
color: @brand-primary; color: @brand-primary;
text-shadow: text-shadow:
0 0 10px @brand-primary, 0 0 10px @brand-primary,
0 0 20px @brand-primary, 0 0 20px @brand-primary,
@ -1062,14 +1062,14 @@ h1 {
font-weight: lighter; font-weight: lighter;
color: @brand-primary; color: @brand-primary;
text-shadow: 0 0 10px @brand-primary; text-shadow: 0 0 10px @brand-primary;
.icon-icon_angel { .icon-icon_angel {
background-color: @brand-primary; background-color: @brand-primary;
} }
} }
.panel-title { .panel-title {
color: #fff; color: #fff;
} }
.input-group-addon { .input-group-addon {
@ -1078,4 +1078,4 @@ h1 {
.icon-icon_angel { .icon-icon_angel {
background-color: #000; background-color: #000;
} }
} }

View File

@ -1041,13 +1041,13 @@ a.thumbnail.active {
// Specials for cccamp19 design // Specials for cccamp19 design
.navbar-brand { .navbar-brand {
.icon-icon_angel { .icon-icon_angel {
background-color: @brand-primary; background-color: @brand-primary;
} }
strong { strong {
font-weight: lighter; font-weight: lighter;
color: @brand-primary; color: @brand-primary;
text-shadow: text-shadow:
0 0 10px @brand-primary, 0 0 10px @brand-primary,
0 0 20px @brand-primary, 0 0 20px @brand-primary,
@ -1062,7 +1062,7 @@ h1 {
font-weight: lighter; font-weight: lighter;
color: @brand-primary; color: @brand-primary;
text-shadow: 0 0 10px @brand-primary; text-shadow: 0 0 10px @brand-primary;
.icon-icon_angel { .icon-icon_angel {
background-color: @brand-primary; background-color: @brand-primary;
} }

View File

@ -80,4 +80,4 @@
<div class="hidden-print"> <div class="hidden-print">
%ical_text% %ical_text%
</div> </div>