msquare
9969208be2
solve problem with autobreaks in news text when building html tables
7 years ago
msquare
a0f70d9819
solve problem with autobreaks in news text when building html tables
7 years ago
msquare
a1c032642f
introduce new shift signup state for not arrived angels
7 years ago
msquare
2c04e35bed
introduce new shift signup state for not arrived angels
7 years ago
msquare
7a3bdda483
rewrite controller for creating shift entries
7 years ago
msquare
1289101f6e
rewrite controller for creating shift entries
7 years ago
msquare
afd7c59d1d
fix shift entry delete
7 years ago
msquare
fd85034e7f
redo shift signoff and icons for delete/confirm/acknowledgment questions
7 years ago
msquare
567ed9ebd2
remove flags since they do not belong to language selection
7 years ago
msquare
b60ad7ccfb
make shift entry comment private again
7 years ago
msquare
769d8c4af9
better logging of needed angeltypes for shifts and rooms
7 years ago
msquare
b2602f8936
add log entries when deleting a room
7 years ago
MichiK
9c54b42a3d
Allow dot in user name
...
0f273988
changed the regular expression for user names. The new regex
does not allow dots anymore in user names, stripping them silently.
We already have at least one user with a dot in their name who can't
login now anymore.
7 years ago
msquare
3ea35788be
finetuning dashboard layout
7 years ago
msquare
a5f4de9509
finetuning dashboard layout
7 years ago
msquare
20f4d44cbf
fix union queries for dashboard stats
7 years ago
msquare
35be25a786
fix dashboard using needed angeltypes from room config too for frab shifts
7 years ago
msquare
952dc6921a
undo of fix #382 : XXE DoS in engelsystem - the feature is actually needed for xcal files
7 years ago
msquare
c70e268a2e
add fullscreen button to dashboard and update translation to german
7 years ago
msquare
a8cf4b9ddf
fix #382 : XXE DoS in engelsystem
7 years ago
msquare
cf7eb80a92
fix dashboard ajax reload
7 years ago
gnomus
c3d22ad517
Replace window reload with jquery ajax load
7 years ago
msquare
5278be1f0f
add link to public dashboard from shift view
7 years ago
msquare
991058a9e4
improve public dashboard
7 years ago
msquare
adc62470c5
improve public dashboard
7 years ago
msquare
af8454598c
improve public dashboard
7 years ago
msquare
582b1a739a
improve public dashboard
7 years ago
msquare
3379ea10b2
improve public dashboard
7 years ago
msquare
59b8e76d12
improve public dashboard
7 years ago
msquare
ff94df53d6
finish basic public dashboard
7 years ago
msquare
d5631297dc
better logging of needed angeltypes for shifts and rooms
7 years ago
msquare
74f3677f19
add quick+dirty public dashboard
7 years ago
msquare
afb77d22ba
move room db queries to model
7 years ago
msquare
aae8c77ed1
fix #212 : Duplicate entry for Room name
7 years ago
msquare
dbf6e64a2c
change write permission check to catch exceptions
7 years ago
msquare
cbe88ad801
remove some unused code
7 years ago
msquare
4143680297
remove room number and visible flag, rename pentabarf to frab and introduce map/c3nav integration as well as markdown description for rooms
7 years ago
MichiK
32d14f493b
Fix sign-up to shifts by supporter
...
Any user with the `shiftentry_edit_angeltype_supporter` privilege was
able to sign up any users of the correct angeltype to any shift that
they could sign up themselves because the shift entry controller only
checks for the global privilege an not the fact that the user is indeed
supporter for the angeltype in question.
7 years ago
msquare
e5880c51a2
fix #376 : Removing supporter rights does not work
7 years ago
msquare
6dfa70974e
ask for dect number if user arrived
7 years ago
MichiK
bc3f777b23
Rename 'supporter(s)' to 'Supporter(s)'
7 years ago
msquare
e7d605c6d9
fix log on confirming angels
7 years ago
msquare
0f273988c9
fix user nick validation, fixes #369
7 years ago
msquare
a5f5dc52c8
update bootstrap-datepicker and set orientation to bottom, fixes #370
7 years ago
msquare
962e7d5726
Hide 'You are not marked as arrived' notification in header until congress starts, fixes #368
7 years ago
msquare
9e04e2d4a0
fix age validation
7 years ago
msquare
cbc7f54ad8
fix query for creating angeltypes
7 years ago
Igor Scheller
0b45d2a88f
#366 Feature: Time Interval Buttons (on Shifts page), closes #366
7 years ago
Igor Scheller
25e434bce4
Refactored ExceptionHandler
7 years ago
Igor Scheller
6eea072376
Added ExceptionHandler Interface
7 years ago
msquare
e54a10b816
add shift calendar to angeltype view fix tab jumps
7 years ago
msquare
928e707015
add shift calendar to angeltype view
7 years ago
msquare
d8476f244d
complete feature contact info for angeltypes, fixes #275
7 years ago
msquare
bb2681a7c8
add validation of dect numbers
7 years ago
msquare
b95d4ece8a
increase readability of hints with links, refs #357
7 years ago
Igor Scheller
d34b160b5c
Added links to notifications, closes #357
7 years ago
msquare
15c50ab315
fix minor cody style issues (codacy)
7 years ago
msquare
deae2a1721
fix removing users from shift, fixes #359
7 years ago
msquare
86e41e2949
change logging of needed angeltypes for created shifts
7 years ago
msquare
1c77c45bcf
fix problem with default values, fixes #354 , fixes #353
7 years ago
msquare
3ee1a4b0c7
fix problem with default value for userangeltype.supporter, fixes #352
7 years ago
msquare
88ea992f9c
fix sql queries with bools
7 years ago
msquare
4eedad6c89
fix problem with default values on registration
7 years ago
msquare
f9ab269758
fix problem with default values on registration
7 years ago
msquare
6b74705f37
fix problem with default values on registration
7 years ago
msquare
d8de02db34
fix problem with default values on registration
7 years ago
msquare
59cd65cb50
fix problem with validation of planned arrival date
7 years ago
msquare
7df64c82a6
fix problem with bools in queries
7 years ago
msquare
c62833bb51
fix problem with default value when registering
7 years ago
msquare
eec161a852
fix problem with default age when registering
7 years ago
msquare
50f24271eb
fix all redirects to home (because of new urls redirect to ? wont work anymore)
7 years ago
msquare
e9a28eb20e
fix log message from changing event config
7 years ago
Igor Scheller
ad948bdd32
Added RequestServiceProvider and SessionServiceProvider
7 years ago
Igor Scheller
e727b367cc
Moved includes to own file
7 years ago
Igor Scheller
60fd72cd1a
Added service providers
7 years ago
Igor Scheller
4817658862
Merge branch 'noc0lour:fix_setup_bugs', closes #335
7 years ago
Igor Scheller
d49e49c364
Implemented service provider functionality
7 years ago
Igor Scheller
783c58611a
Added app path to container
7 years ago
Igor Scheller
212760d4c9
Changed Container to Illuminate/Container
...
@see https://laravel.com/docs/5.5/container
@see https://davejamesmiller.com/2017/06/15/laravel-illuminate-container-in-depth
7 years ago
Igor Scheller
945fcb079a
Added registration_enabled configuration
7 years ago
Igor Scheller
c6ef1120f8
Set cookie to httponly
7 years ago
Igor Scheller
5b12eecdd6
Merge remote-tracking branch 'engelsystem/feature-igel-rewrite'
7 years ago
Igor Scheller
86c0713baa
Added helpers unit test
7 years ago
Igor Scheller
e6ed8a3017
Changed LogEntries table: Use log level instead of nick name
7 years ago
Igor Scheller
b3b65743cd
Added Logger
7 years ago
Igor Scheller
20a6fa07f8
Implemented container
7 years ago
Igor Scheller
0ac9818764
Added Application
7 years ago
msquare
db8b6b2520
change shift renderer global add user link
7 years ago
Igor Scheller
8c81adc8e8
Implemented container
7 years ago
Igor Scheller
0a20883aa8
Reimplementation of 2840bb619
(signup requires arrival), closes #330
7 years ago
Igor Scheller
2bd127c011
Use symfony session
7 years ago
Igor Scheller
96f1d9fd54
Bugfixes
7 years ago
Bot
a473a56f1d
Formatting
7 years ago
Igor Scheller
d0074cf006
Merge remote-tracking branch 'engelsystem/feature-igel-rewrite'
...
# Conflicts:
# includes/controller/angeltypes_controller.php
# includes/pages/admin_groups.php
# includes/pages/user_settings.php
# includes/sys_page.php
# src/Exceptions/Handler.php
# src/Http/Request.php
7 years ago
Igor Scheller
50da458d89
Refactoring: Moved files to array
7 years ago
Igor Scheller
3002ed9e93
Security: Only allow angels with admin_news_html privilege to use HTML
7 years ago
Igor Scheller
cc01c906ba
#336 : Integration of symfony/http-foundation request
7 years ago
Igor Scheller
73175e2b64
#337 : Added routing
7 years ago
Andrej Rode
eeae07e625
add edited_at_timestamp to shift creation to fix mysql error
7 years ago
Andrej Rode
5f305121a4
fix order by not in select clause for >mysql-5.7
7 years ago
Andrej Rode
dc6fb49f44
fix only_full_group_by mysql default behaviour
7 years ago
msquare
581b81f1b2
fix wrong request get
7 years ago
msquare
7f4aa6daa5
remove exit commands after redirects (redirect does already die)
7 years ago
msquare
f82e5456d2
dried code by introducing selectOne for select queries with only one result line expected
7 years ago
msquare
69a1ee2bfe
use glyph bool icons on room list
7 years ago
msquare
5cffcd7fdf
fix angeltype edit and display bugs
7 years ago
msquare
4effb7e59f
fix lane rendering
7 years ago
msquare
a0af8d4624
further switching to db exceptions instead of return false
7 years ago
msquare
5794c4cab8
clear delete queries from false resuls
7 years ago
msquare
4d08434d31
fix problem with html select containing 0 as key
7 years ago
msquare
a157004f4a
handle failed db queries in Db class
7 years ago
Igor Scheller
e1762e7764
replaced template_render with dynamic renderer class
7 years ago
Igor Scheller
d4ad70804b
Removed overwhelmed page
7 years ago
Igor Scheller
7d5d905fcf
Moved $themes array to config
7 years ago
Igor Scheller
b7ebb05b8e
Passwords should be posted
7 years ago
Igor Scheller
ec45216899
Merge remote-tracking branch 'engelsystem/feature-igel-rewrite'
7 years ago
msquare
8ae0123635
unarrived angels can enter a shift (has been disabled for 33c3)
7 years ago
msquare
903a1f9790
remove 24h shift filter time range limit
7 years ago
msquare
e93dd774a5
fix small issues on checking success of a db query
7 years ago
Igor Scheller
3a1e460249
Changed $_GET, $_POST and $_REQUEST to use the Request object
7 years ago
Igor Scheller
cdf14f9d3f
Reapplied "Merge pull request #321 from raboof/wantsToDrive"
7 years ago
Igor Scheller
317c91a22f
Reapplied "Merge pull request #319 from jwacalex/gh_317_unable_to_edit_hidden_room_in_admin"
7 years ago
Igor Scheller
a2b9edc6a3
Reapplied "Merge pull request #314 from Scriptkiddi/master"
7 years ago
Arnout Engelen
b688b928db
Read wants_to_drive field correctly
8 years ago
Arnout Engelen
3d8dea3733
Form validation: should tick at least on license
...
Owning a car is not sufficient, select at least one kind of drivers' license
8 years ago
Arnout Engelen
cf20b65902
Reword 'wants to operate a car for the PL'
...
As discussed in #sha2017-angel
8 years ago
jwacalex
b6d394e982
first fix for #317 . hidden rooms can be seen with admin_rooms priviledge
8 years ago
Igor Scheller
cd30017b97
Some fixes
8 years ago
Igor Scheller
37c32ad08f
Added PDO::ATTR_EMULATE_PREPARES => false
8 years ago
Igor Scheller
68da2a4eb8
Renamed "default_theme" config to "theme"
8 years ago
Fritz Otlinghaus
c9336840ff
Update email_helper.php
8 years ago
Fritz Otlinghaus
6f367eefe0
Update email_helper.php
8 years ago
Igor Scheller
781f830678
Fixes and improvements
8 years ago
Bot
3de0cc840f
Removed spaces
8 years ago
Igor Scheller
8506d6d27e
Refactoring: Config cleanup / moved to class
8 years ago
Bot
740026a9de
Replaced [0-9] with \d
8 years ago
Bot
915ce28fee
Replaced " with '
8 years ago
Igor Scheller
9a3ad88834
Changed from mysqli to PDO, some refactorings, faster sql queries
8 years ago
Igor Scheller
f7c09cb7ff
Added exception handler
8 years ago
Igor Scheller
8254a79c58
Bugfixes & improvements
8 years ago
Igor Scheller
1c27bf1375
Removed $angeltype from function Shift_signup_allowed_*
8 years ago
Bot
55141154c0
Replaced " with '
8 years ago
Bot
356b2582f3
PPHDoc, formatting, fixes, cleanup
8 years ago
Bot
d71e7bbfad
Formatting
8 years ago
Bot
7313e15ce8
PSR-2 formatting
8 years ago
Igor Scheller
84f6990db2
Merged branch origin/master
8 years ago
Igor Scheller
94b5250414
Added composer with parsedown requirement
8 years ago
msquare
4a95dfa171
Merge pull request #307 from MyIgel/real-path
...
Fix relative paths: missing / on internationalization
8 years ago
msquare
29128763fd
Merge pull request #306 from MyIgel/config-fix-constant
...
Fixes "Constant already defined" notice
8 years ago
Igor Scheller
1f0ca24f5c
Fix relative paths: missing / on internationalization
8 years ago
Igor Scheller
1f8d1eb4bb
Fixed "Constant already defined" notice
...
Added more ugly global variables
8 years ago
Igor Scheller
5e850171e2
Fixed "Constant already defined" notice
8 years ago
Igor Scheller
f894ca5fa4
Fix relative paths
8 years ago
Igor Scheller
00d8709ae8
Fix relative paths
8 years ago
msquare
b8ebd23f6d
bring back filtering by occupancy
8 years ago
msquare
51eb22a1c6
fix shift signup state calculation
8 years ago
msquare
3fbd62ab7d
bring back coloring for admins
8 years ago
msquare
fe5dec73ba
bring back filtering by occupancy
8 years ago
msquare
68aeb14edb
bring back filtering by angeltype
8 years ago
msquare
5600476c56
fix missing users on active angels view
8 years ago
msquare
4407604793
move data sorting to begin
8 years ago
msquare
6c4bb0da31
move data sorting to begin
8 years ago
msquare
cbeb45ef16
redo
8 years ago
msquare
45200b503d
improve needed angel types query
8 years ago
msquare
0603d0dd4e
remove unused code
8 years ago
msquare
363cc8f6b5
more performance using union
8 years ago
msquare
75945fdbbd
more performance using union
8 years ago
msquare
eccbf32f68
redo
8 years ago
msquare
84527c2252
redo
8 years ago
msquare
65a665ee49
reduce max shift filter duration to 24h
8 years ago
msquare
aed9f2c96c
bring back needed angeltypes from rooms
8 years ago
msquare
860252bce8
select only one room per default
8 years ago
msquare
46528fe1d8
shift view performance improvements
8 years ago
msquare
ffc33993d4
overwhelmed
8 years ago
msquare
2840bb6198
no signup for shifts for angels that are not arrived
8 years ago
msquare
b05b235cf8
fix slow query
8 years ago
msquare
9975e42d3c
fix edit user bug deleting emails
8 years ago
msquare
2f2d08c574
fix edit user bug deleting emails
8 years ago
msquare
07a0ed37ec
fix angeltype supporter privilege for signing up users to shift
8 years ago
msquare
827de98256
fix room delete bug in pentabarf import temporarily
8 years ago
msquare
5f9d508b02
fix #297 show date on every time tick in shift calendar
8 years ago
msquare
549cd6534a
reduce number of sql queries on shift calendar
8 years ago
msquare
b3f92834b0
reduce number of sql queries on shift calendar
8 years ago
msquare
deb41c4b64
reduce number of sql queries on shift calendar
8 years ago
msquare
99c7e8ce1a
fixes #298 allow a shift supporter to remove a user from shift
8 years ago
msquare
0c15964e6b
#298 hide freeload form from angeltype supporters
8 years ago
msquare
e86d75b4d9
begin #298 add privilege and add users to shifts by angeltype supporter
8 years ago
msquare
188891c147
use planned arrival time validation for register page
8 years ago
msquare
5b9ff7b7bf
fix that free shifts become green
8 years ago
msquare
b8c26b0fd0
fix that free shifts become green
8 years ago
msquare
9e804ba91a
fix that free shifts become green
8 years ago
msquare
acfe7309f6
remove angeltype contact fields until the feature is ready
8 years ago
msquare
2f0a63a4a1
remove angeltype contact radios for now
8 years ago
msquare
e26eb952f4
update binary lang file
8 years ago
msquare
deac80e700
merge #253
8 years ago
jwacalex
6a591e7557
merged cherry picked commit
8 years ago
jwacalex
45cda10479
merged master and issue
8 years ago
jwacalex
79b9f9448e
initial commit and functionality for no self sign up
8 years ago
jwacalex
1324260e0f
forgot to remove if-statement -.-
8 years ago
jwacalex
f4f6dfefcb
fixed broken logic in controller (cf. to mail to @msquare)
8 years ago
Leandra Eberle
687c333322
Update Descriptions
8 years ago
Leandra Eberle
acbaaf4364
Update Descriptions
8 years ago
Leandra Eberle
10517213f6
Update Descriptions
8 years ago
Leandra Eberle
0401e90f00
Update Descriptions
8 years ago
msquare
561e8ec36c
better msg placement on angeltype view
8 years ago
msquare
34248bb20c
show freeload comments to supporters (user shift admin)
8 years ago
msquare
476d1daeb7
fixes #280 shift entries finished by user returns no freeloaded shifts
8 years ago
msquare
bae3ede662
fixes #279 fix exporting freeload comment in json export
8 years ago
msquare
a8bcb19eaa
fix shift view bars
8 years ago
msquare
4f6db20ae4
fix shift view bars
8 years ago
Leandra Eberle
67df8da061
Typo Changes and Descriptions
8 years ago
gnomus
dc49b9af41
Update guest_login.php
8 years ago
msquare
ff31d0a1c5
fix shift signup state being combined to null
8 years ago
msquare
16e9a69c0d
fixes #277 date parsing returns the start of the day now
8 years ago
msquare
321566d4b0
Merge pull request #278 from leaneb/master
...
Change Ask an Arch Angel title
8 years ago
Leandra Eberle
4116e0114e
Change ask an Arch Angel, to Ask the Heaven because the Arch Angel only role is deprecated
8 years ago
msquare
3fd30add3c
fix NPE
8 years ago
msquare
be8c47a175
add 33c3 theme
8 years ago
msquare
5ae328b2b1
hide event countdown for mobile clients
8 years ago
msquare
409761ce4b
rebuild login page
8 years ago
msquare
9098b8e80d
reduce complexity of user view
8 years ago
msquare
bd54bec595
add ValidationResult to namespace
8 years ago
msquare
356cc9e1d0
reduce complexity of user driver license
8 years ago
msquare
7b8d191808
reduce complexity of user driver license
8 years ago
msquare
9c4636f5c4
reduce complexity of user driver license
8 years ago
msquare
b5784e5961
fix order problem
8 years ago
msquare
d64f96b6a1
reduce complexity of angeltype controller
8 years ago
msquare
1636688394
reduce complexity of angeltype edit controller
8 years ago
msquare
f2630162e9
reduce complexity of password recovery controller
8 years ago
msquare
ac53559fea
fix shift calendar headers
8 years ago
msquare
54f3253c32
fix js var names
8 years ago
msquare
79ca2f1772
add fixed shift calendar headers and timelane
8 years ago
msquare
5299ca2103
reduce complexity of shift view
8 years ago
msquare
5a93050a06
localize date rendering for eventconfig info
8 years ago
msquare
15243f15fc
fix shift view
8 years ago
msquare
ec40e10ebd
fix unused code
8 years ago
msquare
53a306f14b
make departure date nullable
8 years ago
msquare
918d41ca70
reduce complexity of menu and hints
8 years ago
msquare
ec6016cd38
reduce complexity of menu and hints
8 years ago
msquare
16ed2ae683
fixed settings validation
8 years ago
msquare
d3e942f742
Merge pull request #273 from anykraus/typo-sheduler-scheduler
...
minor typo fixed (sheduler to scheduler)
8 years ago
msquare
7cf2a9bb9b
split templates into different files
8 years ago
msquare
1a1ca1d1b5
split templates into different files
8 years ago
msquare
f568141164
add shift legend and fix dark theme
8 years ago
msquare
0ab9f4f988
fix shift ended recognition and displayed time range end
8 years ago
msquare
1a3b4e2a33
redone shift coloring and shift signup state
8 years ago
msquare
106a678808
fix wrong variable
8 years ago
msquare
7bafe3f24c
fix shift occupied method
8 years ago
msquare
c61e888de4
change shift coloring
8 years ago
msquare
c10ab2d8d2
reduce complexity of shift signup allowed
8 years ago
msquare
5f2871538a
fix css problem with rooms table
8 years ago
msquare
03c9d1ef5d
reduce complexity of user settings main
8 years ago
msquare
beb0db6852
fix misspellings
8 years ago
msquare
247166f28b
improve code of user settings
8 years ago
msquare
f5a5f234e4
fixes #266 : add checkbox allowing the users email to be used by humans like event-team
8 years ago
msquare
82b9436c50
rename coordinator to supporter
8 years ago
msquare
468a10774c
reduce complexity of user driver license controller
8 years ago
msquare
f6da9148e7
fix missing var check
8 years ago
msquare
defdb3007c
Merge pull request #272 from anykraus/#271-admin_active
...
fix admin_active.php not displaying (issue #271 )
8 years ago
msquare
dfc9e209a5
fix parsedown
8 years ago
msquare
af9328f558
split angeltype about view into different methods
8 years ago
msquare
0ba0ce207d
split angeltype view into different methods
8 years ago
msquare
22520532c7
fix shift occupied calculation
8 years ago
msquare
125f34133d
remove unused var
8 years ago
msquare
a8e3e91448
implement shift calendar into user shift page
8 years ago
msquare
db7f8c1ab3
split shift calendar renderer into different classes
8 years ago
anykraus
8c22ec7f6d
typo fixed (sheduler to scheduler)
8 years ago
msquare
cf8cc5f592
change shift table to html5
8 years ago
msquare
902866ff3a
add first design of new shift markup
8 years ago
anykraus
efb7dbfb01
fix admin_active.php not displaying (issue #271 )
...
Reverts 53ad1b5110
"fix codacy unused code" partially. (where $shift_sum_formula was removed from global)
8 years ago
msquare
1d4811cca5
remove unused code
8 years ago
msquare
c48335e702
improve shift rendering
8 years ago
msquare
6d97aa2d27
continue working on shifts calendar renderer
8 years ago
msquare
6fff6a6c1a
begin room view and shifts filter renderer
8 years ago
msquare
27c9650dc4
reduce complexity of shifts controller
8 years ago
msquare
a50b26490c
reduce complexity of shiftsfilter update
8 years ago
msquare
aa628208ec
reduce complexity of shift view
8 years ago
msquare
676f5e1627
small code style improvements
8 years ago
msquare
42144ed21c
move static access to datetime parse function
8 years ago
msquare
eec10ebfc5
reduce complexity of user angeltypes controller
8 years ago
msquare
455e417200
fix variable naming problems
8 years ago
msquare
51d270db28
restore ical export
8 years ago
msquare
f3a0ce865d
move sql queries from shifts controller to model
8 years ago
msquare
09c931dcf5
fix missing variables
8 years ago
msquare
6c8a113383
introduce ShiftsFilter
8 years ago
msquare
d59809d6d2
bring back session filter store
8 years ago
msquare
5e66007f06
introduce ShiftsFilter
8 years ago
msquare
6ff5e7997a
split user_shifts into different functions
8 years ago
msquare
d5d2acc7d8
improve code style
8 years ago
msquare
6dfefc3bb9
small code improvements
8 years ago
msquare
b87eb49b93
reduce complexity of table()
8 years ago
msquare
3738d071f8
remove long array syntax
8 years ago
msquare
1debe567f5
simplify user_angeltype_add_controller
8 years ago
msquare
9fce3b22aa
fix issues after changing codestyle
8 years ago
msquare
9ad9088260
make short variable names longer
8 years ago
msquare
a128bcbb38
use more ValidationResult
8 years ago
msquare
07ddbb0f4c
make short variable names longer
8 years ago
msquare
c231070dcc
rename ok to valid
8 years ago
msquare
f05f1a3cd4
rename to
8 years ago
msquare
81e5a6482c
remove unused global from login
8 years ago