Michael
34cb0aa406
JSON-LD stuff is now in a separate file
2018-09-20 05:30:07 +00:00
Michael Vogel
e68c48e88f
Merge pull request #5763 from MrPetovan/task/improve-getsiteinfo
...
Use OEmbed data when available no matter the type
2018-09-17 06:40:04 +00:00
Hypolite Petovan
102adf86ae
Restore partial condition in OEmbed block of ParseUrl::getSiteInfo
2018-09-16 09:18:31 -04:00
Hypolite Petovan
5b5e5ef4db
Use OEmbed data when available no matter the type
2018-09-13 21:50:52 -04:00
Michael
8c00e88f79
The endless saga of the fight against notices continues
2018-09-13 21:11:52 +00:00
Michael
99244d33f5
Fix for #5732 - too much links had been detected as photos
2018-09-07 06:10:33 +00:00
Michael
2592c3891c
forgotten $
2018-09-06 21:10:48 +00:00
Michael
1d4a5402ff
Picture posts do work again - everything else should work as well
2018-09-06 20:30:16 +00:00
Michael
04fb885857
Fix: Posts with pictures will now look good again on connector networks
2018-09-06 04:24:34 +00:00
Hypolite Petovan
59d06b6c78
Merge pull request #5719 from annando/notices-yeah
...
Good news, everyone - again somce notices removed
2018-09-04 19:09:11 -04:00
Michael
821429fdf1
Good news, everyone - again somce notices removed
2018-09-04 17:48:09 +00:00
Hypolite Petovan
9744f0e780
Update ParseUrl::getSiteinfo type recognition
...
- Added obsolete twitter card type provision
2018-09-02 17:50:27 -04:00
Hypolite Petovan
8bcc3c6860
Fix formatting in Util/ParseUrl
...
- Remove commented out code
- Replace double quotes with simple quotes
- Remove parentheses for language construct
- Add spaces around operators
- Rename variables
2018-09-02 17:46:28 -04:00
Michael
fd7e45042a
The days are getting shorter, like the list of removed notices ...
2018-09-02 07:47:48 +00:00
Michael
2079caea14
Issue 3501: Mail contacts can be added again
2018-08-26 19:49:39 +00:00
Michael Vogel
20127a77b3
Removing a small notice in the network.php ( #5652 )
2018-08-22 18:46:44 -04:00
Hypolite Petovan
c0e728e7e5
Fix query string parsing border case in Util\Proxy
2018-08-05 15:57:04 +02:00
Michael Vogel
2c8c803d64
Avid notices and warnings ( #5546 )
2018-08-02 19:07:20 +02:00
Roland Häder
4d39164c1e
[WIP] Rewrite to Proxy class: ( #5507 )
...
* Rewrite to Proxy class:
- introduced new Friendica\Network\Proxy class for in exchange of proxy_*()
functions
- moved also all PROXY_* constants there as Proxy::*
- removed now no longer needed mod/proxy.php loading as composer's auto-load
will do this for us
- renamed those proxy_*() functions to better names:
+ proxy_init() -> Proxy::init() (public)
+ proxy_url() -> Proxy::proxifyUrl() (public)
+ proxy_parse_html() -> Proxy::proxifyHtml() (public)
+ proxy_is_local_image() -> Proxy::isLocalImage() (private)
+ proxy_parse_query() -> Proxy::parseQuery() (private)
+ proxy_img_cb() -> Proxy::replaceUrl() (private)
* Ops, need to set $a here ...
* CR request:
- moved Proxy class to Friendica\Module
- extended BaseModule
* Ops, no need for own instance of $a when self::getApp() is around.
* Proxy-rewrite:
- proxy_url() and proxy_parse_html() are both non-module functions (now
methods)
- so they must be splitted into a seperate class
- also the SIZE_* and DEFAULT_TIME constants are both not relevant to module
* No instances from utility classes
* Fixed error:
- proxify*() is now located in `Friendica\Util\ProxyUtils`
* Moved back to original place, ops? How did they move here? Well, it was not
intended by me.
* Removed duplicate (left-over from split) constants and static array. Thank to
MrPetovan finding it.
* Renamed ProxyUtils -> Proxy and aliased it back to ProxyUtils.
2018-07-30 22:06:22 -04:00
Roland Häder
bf87ad4fcf
Fixed E_NOTICE in listing worker queue and new utilities class added ( #5521 )
...
* Fixes for E_NOTICE in workqueue:
- introduced class `Friendica\Util\Arrays` which will hold static methods for
handling arrays that cannot be done with PHP's functions, like implode() on
multi-dimensional arrays
- rewrote old-school for() loop to foreach()
* Added intial unit test with some tests on empty delimiters and/or sinle and
multi-dim array.
* Added test for for 3-dimensional arrays, thanks to nupplaphil's feedback.
2018-07-30 21:24:26 -04:00
Hypolite Petovan
ecea7425f8
Rename DBA::is_result to DBA::isResult
2018-07-23 11:04:14 -04:00
Hypolite Petovan
0ec44f3e8a
Rename DBM method calls to DBA method calls
2018-07-23 11:02:24 -04:00
Roland Häder
c17adaf333
Uncommon logger levels in Friendica ( #5453 )
...
* "normal" is an uncommon logger level:
- changed LOGGER_NORMAL -> LOGGER_INFO
- added LOGGER_WARNING (a common logger level)
* Used constants instead of values (MrPetovan)
2018-07-22 14:07:44 -04:00
Hypolite Petovan
af6dbc654f
Rename Friendica\Database\dba to Friendica\Database\DBA
2018-07-20 08:19:26 -04:00
Hypolite Petovan
daa1177e3a
Update use statement lists with new Friendica\Database\dba class
...
- Remove unused use statement
- Remove superfluous use statements (classes in the same namespace)
- Add missing use statements
2018-07-19 22:15:21 -04:00
Hypolite Petovan
1b6727fb9c
Fix notice in Util\Network
2018-07-17 21:00:22 -04:00
Hypolite Petovan
065d10e587
Fix function comments in Util\Network
2018-07-15 08:03:12 -04:00
Michael Vogel
0360f7197a
Several more warnings ... ( #5340 )
...
* Some more warnings removed
* Even more warnings ...
* Will it ever end? ;-)
* Avoid warning in dbstructure
* Origin and OStatus ...
* There are more warnings solved ... yeah!
* And again ...
* We are not done yet
* And more ...
* And some new places ...
* And more in the feeds
* Avoid some more
* And some backend stuff
* Notifications cleared
* Some more stuff
* and again ...
* It's getting fewer ...
* Some warnings had been hidden in the notifications
* Fix the fix
* And another missing one ...
* We need the owner here, not the user
* Forgotten user
* And more ...
* And some more warnings disappeared ...
* Some more frontend warnings
* Some backend warnings removed
* Fixed sidebar for "vier"
* And more ...
* Some more ...
* And something for "remote self"
* Am I stuck in an endless loop?
* Fix: Clear tag and file field on update
* Preset page content
2018-07-10 08:27:56 -04:00
Michael
1d745c25a7
Some more places ...
2018-07-08 12:58:43 +00:00
Michael
7d6933c898
Avoid "Trying to get property of non-object"
2018-07-08 11:46:05 +00:00
Philipp Holzer
3f7e4f5bb6
redesign of locking & caching
...
- New Factory "CacheDriverFactory" for Cache and Locks
- Adding Redis/Memcached Locking
- Moved Lock to Core
- other improvements
2018-06-28 22:57:17 +02:00
Philipp Holzer
acf6a5cb9e
minor changes
2018-06-26 23:44:30 +02:00
Philipp Holzer
d409a92ca2
minor changes
2018-06-26 23:43:43 +02:00
Philipp Holzer
dd085ae592
minor changes
2018-06-26 23:42:26 +02:00
Philipp Holzer
130893673c
Bugfixing ILockDriver (forgot isLocked)
2018-06-26 23:33:02 +02:00
Philipp Holzer
a57e6cfa1b
Moved Lock.php back to Utils
2018-06-26 23:28:07 +02:00
Philipp Holzer
2260b9c873
Merge branch 'develop' of https://github.com/friendica/friendica into develop
2018-06-26 22:56:08 +02:00
Philipp Holzer
0218d16335
Lock abstraction (like the Cache)
...
- adding interface
- adding seperate drivers
- moving Lock to the Core package
2018-06-26 22:31:04 +02:00
Hypolite Petovan
e3584daef9
Merge pull request #5167 from VVelox/develop
...
a domain name is unlikely to be both a CNAME and A record
2018-06-26 08:05:34 -04:00
Zane C. Bowers-Hadley
8875cc7419
remove duplicate check
2018-06-26 05:03:45 -05:00
Hypolite Petovan
a5550b4702
Merge pull request #5253 from rabuzarus/20180616_-_magic_auth_test_2
...
Port hubzillas OpenWebAuth - remote authentification
2018-06-20 17:46:04 -04:00
rabuzarus
9f493357f4
port hubzillas OpenWebAuth - fix wrong table name + fix wrong method name
2018-06-20 20:11:26 +02:00
rabuzarus
149142b4bc
port hubzillas OpenWebAuth - rename Verify class to OpenWebAuthToken
2018-06-20 19:24:02 +02:00
rabuzarus
1ab3f7bfc8
port hubzillas OpenWebAuth - HTTPSignature - comment out some ActivityPub parts
2018-06-20 19:05:33 +02:00
rabuzarus
863a49d8e7
port hubzillas OpenWebAuth - rework the HTTPHeaders class
2018-06-20 18:52:37 +02:00
rabuzarus
1148c29916
port hubzillas OpenWebAuth - use random_bytes() in crypto class + bugfixes
2018-06-20 18:45:37 +02:00
rabuzarus
f0235c4a98
port hubzillas OpenWebAuth - rename some methods and classes
2018-06-20 18:38:23 +02:00
miqrogroove
79446a625d
Update Emailer.php
2018-06-19 16:58:06 -04:00
miqrogroove
5b8619f501
Add Missing Fifth Argument to mail() Function Call
...
This is desperately needed to fix Issue #5190 . In case of any unexpected problem, the admin can use
`$a->config['system']['sendmail_params'] = false;`
2018-06-19 16:23:42 -04:00
rabuzarus
b65e4b278b
port hubzillas OpenWebAuth - use Contact::getIdForURL to query for contact entry
2018-06-19 16:15:28 +02:00
rabuzarus
9195ea26b1
port hubzillas OpenWebAuth - add some notes to the doxygen to refer to hubzilla's source code
2018-06-19 13:30:55 +02:00
rabuzarus
af9116635b
port hubzillas OpenWebAuth - readd some ActivityPup code to HTTPSig
2018-06-19 13:18:35 +02:00
rabuzarus
1c7f4e3c63
port hubzillas OpenWebAuth - remote authentification
2018-06-18 23:05:44 +02:00
VVelox
ea64ec21ac
a domain name is unlikely to be both a CNAME and A record
2018-06-03 04:29:06 -05:00
Andreas Neustifter
91e0a9227e
Fix #4943 .
...
PR #4939 introduced a bug that only surfaces when using Network from extern.
Use proper self reference to fix that.
2018-04-28 06:46:46 +00:00
Andreas Neustifter
9bf58e46f6
Changes requested by @MrPetovan.
2018-04-27 20:22:17 +00:00
Andreas Neustifter
70a781fa5a
Proper error when rewrite fails during install.
...
When Curl tries to fetch the rewrite test URL and something goes wrong the user
has no clue what was the problem. This problems can include:
- The rewriting not working at all.
- HTTPS redirects do not work.
- Curl does not accept the presented SSL cert.
This commit fixes this by providing the Curl error message to the user to further
debug the problem.
Fixes #3629.~
2018-04-27 21:27:55 +02:00
Hypolite Petovan
00985fe340
Fix self warning in Util\Temporal
2018-04-23 00:03:27 -04:00
Marcus Müller
f9c34fee5a
[BUGFIX] Network: Remove URL/domain DNS_PTR checks
2018-04-12 19:28:52 +02:00
Michael
211ba75b22
Avoid "Failed to parse time string (-001-11-30T00:00:00+00:00 + 32 days)"
2018-04-04 18:58:25 +00:00
Hypolite Petovan
7acb4b0434
Merge pull request #4676 from annando/clean-url
...
Handle URL with unicode characters
2018-03-24 15:31:07 -04:00
Michael
055855bf9b
Handle URL with unicode characters
2018-03-23 18:41:59 +00:00
Hypolite Petovan
27d94023ee
Merge branch 'master' into develop
2018-03-23 06:15:55 -04:00
Michael
f4ba5d9799
Fix: Events on Diaspora now should look fine
2018-03-20 06:32:17 +00:00
Hypolite Petovan
542ff9b082
Move scripts/auth_ejabberd.php to bin/
2018-03-18 23:17:31 -04:00
Michael
858fd127a1
Fix: subscribing to the old followers hadn't worked
2018-03-14 00:27:15 +00:00
Hypolite Petovan
d419d07f73
[Scrutinizer] Fix undeclared variables in src/ (except Protocol/)
...
- Use dba::selectFirst to remove intermediate variables `$r`
- Remove unused variable `$url_recipients` in Worker\Dellivery
2018-02-14 00:05:00 -05:00
rabuzarus
342b9af734
fix undeclared variables or wrong variable names (/src)
2018-02-12 16:08:28 +01:00
Hypolite Petovan
4050a7b8dc
Replace forgotten datetime_convert() instances
2018-02-03 20:47:37 -05:00
Hypolite Petovan
cea80c78e4
Replace remaining functions in include/datetime by Temporal methods
...
- Fix uses statements
2018-02-03 20:47:37 -05:00
Hypolite Petovan
5cca8562bc
Move datetimepicker javascript to field_datetime.tpl
...
- Add type hint to getDateTimeField() arguments
2018-02-03 09:53:45 -05:00
Hypolite Petovan
59a5b13d2a
Remove stray semicolon in Util\Temporal
2018-02-03 08:56:55 -05:00
Hypolite Petovan
bb5670016e
Fix wrong self references in Util\Temporal
2018-02-03 08:56:55 -05:00
Hypolite Petovan
5e7285b9ba
Move Temporal::convert() to DateTimeFormat::convert()
2018-02-03 08:56:55 -05:00
Hypolite Petovan
0bee706e51
Add Temporal::local() shorthand for Temporal::convert()
2018-02-03 08:56:53 -05:00
Hypolite Petovan
a2ee2b56d2
Add Temporal::localNow() shorthand for Temporal::convert()
2018-02-03 08:56:53 -05:00
Hypolite Petovan
89602e44da
Add Temporal::timezoneNow() shorthand for Temporal::convert()
2018-02-03 08:56:53 -05:00
Hypolite Petovan
35d06bd9eb
Add Temporal::utc() shorthand to Temporal::convert()
2018-02-03 08:56:53 -05:00
Hypolite Petovan
8aff8a76eb
Add Temporal::utcNow()
2018-02-03 08:56:52 -05:00
Hypolite Petovan
38ff1b455b
Add Temporal::MYSQL constant
...
- Rename Temporal::convert() parameter names
2018-02-03 08:56:52 -05:00
Hypolite Petovan
b854905150
Move ATOM_TIME to Temporal::ATOM
2018-02-03 08:56:52 -05:00
Hypolite Petovan
dc366bf1f7
Refactor datetime_convert into Temporal::convert
...
- Changed parameter order to save space
- Refactor select_timezone into Temporal::getTimezoneSelect
- Refactor field_timezone into Temporal::getTimezoneField
2018-02-03 08:56:51 -05:00
Hypolite Petovan
d478ef6c6d
Add Util\Temporal to src
...
- Map include/datetime functions to Temporal methods
- Move update_contact_birthdays() to Model\Contact::updateBirthdays()
2018-02-03 08:56:51 -05:00
Hypolite Petovan
ea01d7078a
Remove require calls to library/asn*
2018-01-31 00:49:11 -05:00
Hypolite Petovan
be4c237766
Remove library/slinky
2018-01-31 00:49:11 -05:00
Michael
630cdaeb96
Added some defaults
2018-01-28 16:16:21 +00:00
Adam Magness
3220c78d70
Missing uses
...
missing uses for dom
2018-01-27 12:13:46 -05:00
Adam Magness
275a0aa140
missed function rename
...
missed rename zfetchurl
2018-01-27 12:05:05 -05:00
Adam Magness
9b8599b619
Move functions to system
...
move some functions to system
2018-01-27 11:59:10 -05:00
Adam Magness
f04d40a37e
Review update
...
Rename function, move others
2018-01-27 11:13:41 -05:00
Adam Magness
0f1be37279
Remove old file
...
remove network.php and all require_once statements
2018-01-27 08:28:20 -05:00
Adam Magness
ca76e49c23
Move remaining functions
...
update remaining function calls
2018-01-27 08:25:54 -05:00
Adam Magness
1eb7c19c1e
Move multiple functions
...
move multiple smaller functions
2018-01-26 23:51:41 -05:00
Adam Magness
a32ba32ff4
Move post_url
...
move post_url function
2018-01-26 23:24:23 -05:00
Adam Magness
2f9642392d
Move z_fetch_url
...
move z_fetch_url method
2018-01-26 23:18:38 -05:00
Adam Magness
c67452f72e
Move fetch_url
...
move fetch_url function
2018-01-26 23:09:48 -05:00
Adam Magness
1b51777825
Create Network class
...
Create Network class and copy methods
2018-01-26 22:51:07 -05:00
Hypolite Petovan
b0a764b14c
Use password_hash() for passwords
...
- Use legacy_password to update double-hashed passwords
2018-01-20 22:29:03 -05:00
Adam Magness
11cf36105c
Update Addon functions and calls
...
Update function names and calls for Addon class.
2018-01-20 07:48:22 -05:00
Hypolite Petovan
e36f2bb1fb
Use short form array syntax everywhere
...
- Add short form array syntax to po2php.php generation
2018-01-15 14:07:17 -05:00
Adam Magness
a80705a836
Function calls
...
Rename function, update calls
2018-01-15 08:32:11 -05:00
Adam Magness
8e5e603008
Create mimetype class
...
move attach.php function to mimetype class
2018-01-15 08:30:12 -05:00
Hypolite Petovan
ae66bcaff3
Rename selectOne to selectFirst
2018-01-10 12:57:21 -05:00
Hypolite Petovan
da60893590
Replace dba::select(limit => 1) by dba::selectOne
...
- Convert array declarations to new style
2018-01-10 12:57:21 -05:00
Michael
f7d3ba26c8
The internal authentication for XMPP does work again
2018-01-07 00:55:20 +00:00
Hypolite Petovan
1f805da94f
Move ParseUrl to Util namespace
2018-01-04 12:03:15 -05:00
Adam Magness
dc5de5adbd
Public function
...
Make private function public.
2017-12-31 08:31:06 -05:00
Adam Magness
db653e4451
Move salmonKey to Salmon class
...
move the salmonKey function from Crypto to Salmon
2017-12-31 08:04:36 -05:00
Adam Magness
0131fd5745
ASNValue
...
add missing ASNValue
2017-12-30 12:44:43 -05:00
Adam Magness
a00303a6a0
Another ASN
...
attempt #2
2017-12-30 12:23:45 -05:00
Adam Magness
5d352641a8
ASN_BASE
...
error ASN_BASE not found. Probably a namespace thing.
2017-12-30 12:09:08 -05:00
Adam Magness
9e6bf79380
Crypto to src
...
move Crypto to src and Friendica\Util namespace
2017-12-30 11:51:49 -05:00
Michael
869af9f323
Some more logging for auth_ejabberd
2017-12-25 23:03:14 +00:00
Hypolite Petovan
2978b1eef0
Fix undefined variable/wrong parameter count/unknown functions
2017-12-17 15:33:45 -05:00
Hypolite Petovan
916236ce2f
Fix docblocks types
2017-12-17 15:27:50 -05:00
Hypolite Petovan
10b72b0e9e
PHPStan: Fix missing requires/namespaces
2017-12-17 15:26:43 -05:00
Michael
5a0260a10f
The Map class is now done
2017-12-13 21:38:14 +00:00
Michael
ea10a7c002
Map is moved to the new place
2017-12-13 21:37:34 +00:00
Michael
38d5932156
Reworked the pidfile class
2017-12-09 17:49:11 +00:00
Michael
0f149a691e
Faster credentials check
2017-12-09 12:23:15 +00:00
Michael
8db5b121ff
Prevent the running of multiple xmpp auth daemons at a time
2017-12-09 09:46:21 +00:00
Adam Magness
4a96f7b458
Pidfile to src
...
Move pidfile to Friendica\Util namespace
2017-12-04 13:12:22 -05:00
Adam Magness
9a4e741d1a
Review Changes
...
renamed some functions and adjusted corresponding calls.
2017-12-01 21:05:06 -05:00
Adam Magness
e90b0748aa
Code Cleanup
...
Standards clean up
2017-12-01 18:13:39 -05:00
Adam Magness
6008e3df11
Email to src
...
Create Email class and update/rename functions and function calls.
2017-12-01 14:41:27 -05:00
Hypolite Petovan
ec6f5193e2
Switch to User::authenticate
...
- Removed hash('whirlpool') to check password
2017-11-26 14:46:08 -05:00
Hypolite Petovan
40c37d76fe
Don't cache the xmpp/password PConfig value
2017-11-23 20:34:35 -05:00
Hypolite Petovan
d5887f9f9a
Add use dba
2017-11-23 10:23:16 -05:00
Hypolite Petovan
93924ceac4
Move ExAuth class to src
...
- Move executed code to separate readStdin function
2017-11-23 09:46:04 -05:00
Adam Magness
1726ededac
Emailer to src
...
Move emailer to src Friendica\Util namespace
2017-11-20 15:37:30 -05:00
Adam Magness
ddacbf2c13
XML class standards
...
updated the xml class for PSR-2
2017-11-20 12:56:31 -05:00
Adam Magness
1115d19f79
More Standards
...
More coding standards updates.
2017-11-20 11:01:32 -05:00
Adam Magness
bc49fc974c
Capitalized XML
...
Acronym classes should be capitalized
2017-11-10 07:45:33 -05:00
Adam Magness
0226aa1f15
Spelling
...
spelling correction for simplexmlelement
2017-11-10 07:18:24 -05:00
Adam Magness
d49da294b3
Add uses
...
added DomXPath and SimpleXMLElement
2017-11-10 07:18:24 -05:00
Adam Magness
f245bc8359
Move xml to namespace
...
Relocate xml from include to src
Related to #3878
2017-11-10 07:18:24 -05:00
Adam Magness
4ca68c7af0
Class file relocations
...
Issue #3878
2017-11-08 08:37:03 -05:00
Adam Magness
6189f6c8e7
Relocate class files from /include to /src/
...
dbm, Diaspora, dfrn, and NotificationsManager moved to namespace. Includes and references in files updated.
2017-11-08 08:36:48 -05:00
Michael
42a8f27034
Semaphore lock deactivated for PHP lower 5.6.1
2017-09-30 07:51:09 +00:00
rabuzarus
28eb5d57a7
fix some method names (camelcase) in Probe.php and Lock.php
2017-08-02 13:09:42 +02:00
Alexandre Alapetite
080da4777d
Use unset after unlock
...
https://github.com/friendica/friendica/pull/3554#issuecomment-313741392
2017-07-08 11:03:41 +02:00
Alexandre Alapetite
84972623f7
Order of semaphore processing
2017-07-07 18:26:43 +02:00
Alexandre Alapetite
329ab7d153
More general check for semaphore
2017-06-28 22:38:22 +02:00
Alexandre Alapetite
4eaa6b94a6
Hide semaphone warning
...
https://github.com/friendica/friendica/issues/3553
2017-06-28 18:38:18 +02:00
Michael
4515c36f69
Semaphore based locking and hopefully the fix for the workerqueue
2017-06-28 04:53:11 +00:00
Michael
1301a29505
It's faster without locks, gnarl ...
2017-06-12 19:20:50 +00:00
Michael
16df7715b9
Avoid locking problems in lock class
2017-06-12 15:42:54 +00:00
Hypolite Petovan
9c0d2c31e8
Replace AND and OR in PHP conditions by && and ||
2017-06-07 22:00:59 -04:00
Michael
e3d5dcf049
Beware of camels
2017-06-06 17:42:47 +00:00
Michael
286b2da7a9
Added documentation and renamed function
2017-06-06 17:25:28 +00:00
Michael
5dfa513b62
Only wait when you have a timout value at all
2017-06-06 04:22:18 +00:00
Michael
2b04865cdb
We found the handbrake ...
2017-06-05 22:41:33 +00:00
Michael
b86c4d539e
Locking waits now for a shorter period. DB locking is used at other locations as well
2017-06-05 14:59:53 +00:00
Michael
30b24a2908
Locking seems to work great now
2017-06-04 18:59:50 +00:00
Michael
bca5776e9c
Lock now can use the memcache as well
2017-06-04 15:59:20 +00:00
Michael
d2cb87a200
Database locks are now having its very own functions
2017-06-04 12:59:29 +00:00
Michael
5de03c1b27
Locks now work - ready to be used in the wild
2017-06-04 08:36:08 +00:00
Michael
32f61016d3
Overhauled "lock" functionality
2017-06-04 07:26:21 +00:00