Commit Graph

1006 Commits

Author SHA1 Message Date
Hypolite Petovan 36190d1e79
Merge pull request #8072 from nupplaphil/task/Cache_to_DI
Replace Core\Cache wrapper with DI::cache() method
2020-01-10 08:46:03 -05:00
nupplaPhil bfae6766bf
Implement Hook::callAll('storage_instance') call for addons and add a description for it.
- Remove implicit Dice usage
- Add concrete instance creating
- Adding Hook call for addon instance creating
- Updating doc for Hook
- Updating tests
2020-01-10 13:22:03 +01:00
nupplaPhil dbd5b5bb6e
- Fixing SystemResource
- Adding tests for StorageManager
- Updating doc
2020-01-10 13:21:58 +01:00
nupplaPhil 08edeae2f9
Make Storage testable & add tests
- Making StorageManager dynamic (DI::facStorage())
- Making concrete Storage dynamic (DI::storage())
- Add tests for Storage backend and failure handling
- Bumping Level-2/Dice to "dev-master" until new release
- Using Storage-Names instead of Storage-Classes in config (includes migration)
2020-01-10 13:21:57 +01:00
nupplaPhil a38b0f7eaf
Move remaining namespaces and delete Core\Cache.php 2020-01-07 00:51:02 +01:00
nupplaPhil fe078410a1
Move Cache::get() to DI::cache()->get() 2020-01-07 00:45:49 +01:00
nupplaPhil f68929633b
Move Cache::set() to DI::cache()->set() 2020-01-07 00:41:20 +01:00
nupplaPhil 3369dfaad9
Remove unused function Cache::delete() 2020-01-07 00:37:01 +01:00
nupplaPhil 182f390520
Move Cache::clear() to DI::cache()->clear() 2020-01-07 00:36:07 +01:00
nupplaPhil f7ca437ba6
Remove unused method Cache::getAllKeys() 2020-01-07 00:36:06 +01:00
nupplaPhil 31457b8566
Replace Lock::release() with DI::lock()->release() and remove Core\Lock 2020-01-07 00:24:10 +01:00
nupplaPhil 634e657d23
Replace Lock::acquire() with DI::lock()->acquire() 2020-01-07 00:20:31 +01:00
Hypolite Petovan 64c8855407 Allow special groups in default user permissions
- Use ACLFormatter in ACL::getDefaultUserPermissions
- Remove ACL::fixACL
- Add return value to Contact::pruneUnavailable
2020-01-05 17:09:14 -05:00
Hypolite Petovan 393a671501
Merge pull request #8055 from nupplaphil/task/remove_get_server
Remove get_server() in favor of Search::getGlobalDirectory()
2020-01-04 20:10:50 -05:00
nupplaPhil 48baa0be4b
Remove get_server() in favor of Search::getGlobalDirectory() 2020-01-05 00:04:55 +01:00
nupplaPhil 244f440d97
Remove unused killme() 2020-01-04 23:43:13 +01:00
nupplaPhil f0eea6f875
Remove get_app() in favor of DI::app() 2020-01-04 23:42:01 +01:00
Michael fb550a0172 Relocated functions from PortableContact to GServer 2020-01-01 21:29:36 +00:00
nupplaPhil e2dc1d7477
Remove deprecated call 2019-12-30 23:08:06 +01:00
nupplaPhil 3f34229752
Move redundant System::baseUrl() to DI::baseUrl() calls 2019-12-30 23:00:08 +01:00
Hypolite Petovan 6f199ab7b3
Add missing return statement in Core\L10n
- Addresses https://github.com/friendica/friendica/issues/7998#issuecomment-569560492
2019-12-29 22:47:32 -05:00
nupplaPhil c1dbb25656
Creating interfaces for Config/PConfig & fix tests 2019-12-29 20:18:19 +01:00
nupplaPhil 4835f1185f
Remove deprecated App::module - replace with DI::module()->getName() 2019-12-29 20:17:52 +01:00
nupplaPhil e944d7bed6
Remove deprecated App::getBaseURL() - process methods to DI::baseUrl()->get() 2019-12-29 20:17:48 +01:00
nupplaPhil 50be94aa5e
Remove deprecated App::getHostName() - process methods to DI::baseUrl()->getHostName() 2019-12-29 20:17:47 +01:00
nupplaPhil e93fba5136
Remove deprecated App::removeBaseURL - process methods to DI::baseUrl()->remove() 2019-12-29 20:17:45 +01:00
nupplaPhil 5609e94b05
Refactor deprecated App - process methods to DI::process()->*() 2019-12-29 20:17:45 +01:00
nupplaPhil 8e6973b774
Refactor deprecated App::internalRedirect() to DI::baseUrl()->redirect() 2019-12-29 20:17:43 +01:00
nupplaPhil 9cec293ccc
Refactor dynamic App::getMode() to static DI::mode() 2019-12-29 20:17:42 +01:00
nupplaPhil 181529f3df
Refactor dynamic App::getProfiler() to static DI::profiler() 2019-12-29 20:17:42 +01:00
nupplaPhil e2b2778e0a
Refactor dynamic App::getLogger() to static DI::logger() 2019-12-29 20:17:41 +01:00
nupplaPhil fceb4f3823
Refactor dynamic App::getConfig() to static DI::config() 2019-12-29 20:17:40 +01:00
nupplaPhil 388b963714
Replace BaseObject class with DI::* calls 2019-12-29 20:17:38 +01:00
nupplaPhil 1de3f186d7
Introduce new DI container
- Adding Friendica\DI class for getting dynamic classes
- Replacing BaseObject::getApp() with this class
2019-12-29 20:16:55 +01:00
Hypolite Petovan a9220aa83b
Merge pull request #8026 from nupplaphil/task/l10n_immutable
Make L10n immutable
2019-12-29 13:54:32 -05:00
nupplaPhil 71a38180e9
Check for same language 2019-12-29 16:39:25 +01:00
nupplaPhil 673c4537e4
Session - Remove unneeded cookie parameter 2019-12-29 00:03:58 +01:00
nupplaPhil 7a2f4dc54e
Make L10n immutable
- Remove Push/Pop
- Add "withLang($lang)" method
2019-12-28 23:12:01 +01:00
Hypolite Petovan 94954c810b
Merge pull request #7996 from annando/poco-cleanup
The PoCo-Workers had been split
2019-12-24 05:13:36 -05:00
Tobias Diekershoff 00756737b5 Merge branch 'master' 2019.12 into develop 2019-12-23 20:03:47 +01:00
Michael 37f0519514 'SearchDirectory' created (moved out of 'DiscoverPoco' mess) 2019-12-20 20:30:13 +00:00
Hypolite Petovan 77e00f11a7 Add type-hint to debug null value fatal error
- Part of https://github.com/friendica/friendica/issues/7675#issuecomment-566076500
2019-12-16 11:05:08 -05:00
Hypolite Petovan 6e4a428c73
Merge pull request #7907 from nupplaphil/task/reduce_app_deps
Cleanup Session/Authentication
2019-12-14 09:53:40 -05:00
Hypolite Petovan fe5b80b9ba Return early if user.uid isn't present in ACL::getFullSelectorHTML
- Addresses https://github.com/friendica/friendica/issues/7675#issuecomment-565533824
2019-12-13 13:29:18 -05:00
nupplaPhil 1408908c84
Refactor Session Handling (make it more simple & handler are now handler again) 2019-12-11 20:30:31 +01:00
nupplaPhil 02c40ad1cb
Overwrite constructor of Memory session handling so no session ini-setting in backend/testing environments are possible 2019-12-10 23:35:16 +01:00
nupplaPhil b9f8762eb3
Use Native Session functions (global "$_SESSION" variable) for Memory class because of the direct usage of the $_SESSION class all around the codebase 2019-12-10 22:29:49 +01:00
nupplaPhil ce2610000b
Renaming class 2019-12-10 08:49:33 +01:00
nupplaPhil 26bd956912
Optimize L10n usage for Session (reduce "App" complexity even more) 2019-12-10 00:56:49 +01:00
nupplaPhil cad7e534a4
Add phpdoc 2019-12-10 00:50:05 +01:00
nupplaPhil 555513e4b4
Add Session Management instances (including Depenency Injection)
- Prerequesite for mocking Sessions
- Reduce "App" class complexity
2019-12-10 00:44:56 +01:00
nupplaPhil 009a8bb939
Initializing SessionHandlers with Dependency Injection 2019-12-09 23:09:18 +01:00
nupplaPhil 54392fab81
Move Cookie to own class (with tests)
Move Authentication to App namespace
2019-12-08 22:45:34 +01:00
Michael b1fa0e8e26 ACL: Contact list is now sorted, forums reappeared 2019-12-06 07:25:21 +00:00
Hypolite Petovan 7cfe05f849 Restore correct test for hidewall in ACL::getFullSelectorHTML 2019-12-05 20:05:47 -05:00
nupplaPhil 96555a7385
Refactor "Authentication" class with four main methods:
- withSession() - for auto authentication with Session/Cookie variables
- withOpenId() - for authentication with an OpenID account
- withPassword() - for authentication with Password
- setForUser() - for setting the user auth context of the current session

Refactor "Session" class - contains now "native" Session Management methods
2019-12-05 23:02:51 +01:00
nupplaPhil 18a3d18ba6
Move Authentication methods to class "Authentication" 2019-12-05 23:02:50 +01:00
Hypolite Petovan f989c331a3 Fix warnings about unexpected parameter array values type in ACL::getFullSelectorHTML
- Addresses https://github.com/friendica/friendica/issues/7676#issuecomment-560503744
2019-12-03 06:59:51 -05:00
Philipp 6531819971
Merge pull request #7884 from MrPetovan/bug/7834-ignore-reload
Restore post reload after (un)ignore
2019-12-02 09:40:31 +01:00
Hypolite Petovan 01b81f7bba
Merge pull request #7885 from nupplaphil/bug/7881_allowed_themes
Themes are now saved just once
2019-12-01 08:12:20 -05:00
nupplaPhil 7ebd5e6b15
Themese are now saved just once 2019-12-01 08:43:50 +01:00
Hypolite Petovan d3c45f9186 Update type hint of System::jsonExit parameter to mixed
- Output isn't necessarily an array
2019-11-30 23:15:28 -05:00
Hypolite Petovan 461f7f4bb0 Assume hidewall key may be missing in ACL::getFullSelectorHTML
- Addresses https://github.com/friendica/friendica/issues/7677#issuecomment-559974588
2019-11-30 10:45:47 -05:00
Hypolite Petovan 3a7ef7893f Fix typo in ACL::getFullSelectorHTML 2019-11-29 15:55:52 -05:00
Hypolite Petovan 0ff4381305 Ensure the existence of expected default permission keys in ACL::getFullSelectorHTML
- Addresses https://sozialwolke.net/display/703b8751-145d-e11f-a923-98e999239905
2019-11-29 11:39:49 -05:00
Michael Vogel 2f2480d88d
Merge pull request #7876 from MrPetovan/task/7308-backport-compose-acl
Generalize the Compose ACL to the whole site
2019-11-28 21:24:20 +01:00
Hypolite Petovan ae3d4f63a3 Use visibility tags input for the default ACL selector
- Move friendica-tagsinput to default view folder
- Update all references to ACL::getFullSelectorHTML
- Fix theme-specific issues with the new ACL
2019-11-28 12:54:53 -05:00
Hypolite Petovan 11da7f4095 Add new ACL::getContactListByUserId and ACL::getGroupListByUserId methods 2019-11-28 12:33:00 -05:00
Hypolite Petovan 440d3eb9c4 Simplify Theme::getPathForfile to expand its uses 2019-11-28 12:27:16 -05:00
Michael fdaac8a681 Add "discourse" as protocol 2019-11-24 20:06:47 +00:00
Hypolite Petovan 03bf1dcbd3 Move Object\Image static methods to Util\Images
- Optimize imports in modified files
2019-11-02 07:48:45 -04:00
Philipp Holzer 1f368d469f
Move Friendica\Core\NotificationsManager to Friendica\Model\Notify 2019-10-26 02:01:46 +02:00
Philipp Holzer 07cea24430
Move Activity/Namespaces defines to constants 2019-10-24 21:40:12 +02:00
Hypolite Petovan 5dcf6bfc58 Remove extra spaces before closing parentheses in src/ 2019-10-16 08:58:09 -04:00
Hypolite Petovan 146646c4d4 Replace deprecated calls to defaults() by ?? and ?: in src/ 2019-10-16 08:38:52 -04:00
Hypolite Petovan 1cdbf32aa2 Remove duplicate array entry in Core\Logger 2019-10-12 21:10:03 -04:00
Hypolite Petovan 001c9ed259 Fix typo in Core\Authentication 2019-10-11 19:57:04 -04:00
dew-git 811cdcdfcb Fix security vulnerbilities.
Fix possible length extension attack, predicable generators, timing attacks on hash comparision and improved formatting.
2019-10-10 15:21:41 -08:00
Philipp Holzer a522cf609b
Fix browser language detection (& tests) 2019-10-10 16:39:04 +02:00
Hypolite Petovan e5fbaf6a00 Add Session::clear method
- Replace manual session clear by method in mod/manage
2019-10-06 11:21:54 -04:00
Hypolite Petovan b62e20c7bf Code beautification 2019-10-05 08:34:07 -04:00
Hypolite Petovan 445133cb21 Move Module\Search\Acl::contactAutocomplete to Core\Search::searchGlobalContact
- Replace broken reference to directory /lsearch module with /search module
2019-10-04 22:19:54 -04:00
Hypolite Petovan 8f20e2054b Move /acl module to src/
- Move Core\ACL::contactAutocomplete to Module\Search\Acl
- Rename module path to /search/acl
2019-10-03 22:40:42 -04:00
Hypolite Petovan 2333526b8a
Merge pull request #7678 from annando/remote-rework
Reworked the remote authentication
2019-09-30 09:18:43 -04:00
Philipp Holzer dc73117a62
code optimization 2019-09-30 14:03:15 +02:00
Philipp Holzer 49e812f3d3
Bugfix GetAllKeys() of Memcache
- Abstract Memcache and Memcached implementation
2019-09-30 14:03:15 +02:00
Philipp Holzer d5dd12b8f8
Add Drone CI
- Add drone test environment
- Add drone config
- apt phpunit
- Fix api.php
- Fix item.php
- Fix DBStructure
- Check if caching is possible during tests
2019-09-30 14:03:12 +02:00
Michael 83b00ef308 New function "isAuthenticated" 2019-09-28 18:09:11 +00:00
Michael 6e9026e033 Renamed function, beginning to replace the "remote_user" function 2019-09-28 09:36:41 +00:00
Michael 704cdf1b5a New function to store the "remote" session value / making the changes work 2019-09-26 04:47:42 +00:00
Michael ec66553032 Reworked "remote" cookie handling 2019-09-25 22:24:17 +00:00
Michael d5c37001cd Empty the "remote" variable, avoid being remote to yourself 2019-09-25 07:02:07 +00:00
Michael 6a376c29d8 Fix session size problems 2019-09-25 05:57:32 +00:00
Michael 5254147ccc Fix "redir" loop 2019-09-23 22:13:20 +00:00
Hypolite Petovan 32707022bf Remove GET page parameter access from Core\ACL 2019-09-13 20:06:57 -04:00
Hypolite Petovan 1a81ed8616 Fix notice message when $return is undefined in Core\ACL 2019-09-13 20:06:22 -04:00
Michael 2dbd843ed2 Don't display ignored pending contacts, link to contact request page 2019-09-09 05:29:33 +00:00
Philipp Holzer 8273b88a3e
Add missing getPokeVerbs() method 2019-09-03 16:07:05 +02:00
Philipp 08b6f55a89
Merge pull request #7589 from annando/delivery-counter
Fix delivery counter / archive relay contacts
2019-09-03 15:59:49 +02:00
Michael 8947473c71 Contact details are now available when searching for a single contact 2019-09-02 05:33:13 +00:00
Michael 6af4c90dff Fix delivery counter / archive relay contacts 2019-09-02 03:25:05 +00:00
Hypolite Petovan ce7ec11d1d
Merge pull request #7570 from nupplaphil/bug/friendica-7298
Some code hardenings for semaphore locking
2019-08-29 15:02:07 -04:00
Michael Vogel cf170c9c02 Fixed count, added to-do 2019-08-28 06:44:37 +02:00
Michael Vogel 9b7432781b Don't transmit content to already archived contacts 2019-08-27 21:01:11 +02:00
Philipp Holzer de7c026590
Some code hardenings for semaphore locking 2019-08-26 23:55:54 +02:00
Michael Vogel a892156052 Output better comparable log entries for the worker 2019-08-23 07:23:32 +02:00
Michael 5a1a5a54dc Delivery count now counts the failed delivery attempts as well 2019-08-20 07:39:13 +00:00
Philipp Holzer c803dcb6c5
Fix Locks
- Wrong return of lock releasing with DBA provider
- It's not possible to maintain Semaphore locks, since they aren't accessible by other processes
Should solve https://github.com/friendica/friendica/issues/7298#issuecomment-521996540
2019-08-17 19:33:36 +02:00
Philipp Holzer 2c73377b39
Create Core\Process as a base for followup work 2019-08-17 09:09:13 +02:00
Philipp Holzer 90b438e082
Move mode settings to App\Mode
- Move isAjax() to App\Mode
- Move isTablet() to App\Mode
- Move isMobile() to App\Mode
- Refactor last usage of App->isBackend()
2019-08-17 09:09:13 +02:00
Hypolite Petovan feb720a3ee
Merge pull request #7518 from nupplaphil/bug/lock_unlink
Fix Lock-Unlink
2019-08-15 12:11:01 -04:00
Philipp Holzer 2369ea1d50
Fix Lock-Unlink
- Check if .sem file exists before unlinking it
- Fixing https://github.com/friendica/friendica/issues/7298#issuecomment-521670482
2019-08-15 17:55:17 +02:00
Philipp Holzer 290dd2ab39
moved rest of BaseURL 2019-08-15 17:36:07 +02:00
Philipp Holzer 734b63adba
Fixed wrong "BaseUrl" class (=> "BaseURL") 2019-08-15 17:23:35 +02:00
Philipp Holzer 08be92a862
Moved BaseURL to App namespace (because similar type as Arguments/Modules/Modes) 2019-08-15 17:23:00 +02:00
Philipp Holzer 689a2145f6
Add @see for SO link 2019-08-15 16:24:11 +02:00
Philipp Holzer e2e109b8c1
Fix getAllKeys() method for memcache instances 2019-08-15 14:26:05 +02:00
Philipp Holzer 41e2031e6b
Console Lock
WIP
2019-08-15 14:26:04 +02:00
Philipp Holzer 0af9747c6c
Add Arguments & Modules class 2019-08-13 16:29:11 +02:00
Hypolite Petovan f068d00645
Merge pull request #7510 from nupplaphil/bug/Fix_Redis_test
Fix Redis test
2019-08-13 06:41:07 -04:00
Philipp Holzer b28e11fee8
- Remove deprecated Redis::delete() function 2019-08-13 08:54:26 +02:00
Philipp Holzer 31cfac1cfa
Fix Redis test
- Check if $redis_port is null
2019-08-13 08:32:08 +02:00
Michael Vogel afac4b7698 Improved calculation of deferred tasks 2019-08-13 06:43:08 +02:00
Michael Vogel e07a17daf6 Added config value 2019-08-11 23:07:06 +02:00
Michael Vogel 5c72aeb8d7 Worker: The retrial value can now skip retrial levels 2019-08-11 10:28:52 +02:00
Michael Vogel 35a487ae30 Don't fork worker on frontend by default 2019-08-08 22:42:12 +02:00
Philipp Holzer a66580444f
Fixing sort of BaseURL usage for App & Cache usage 2019-08-04 20:01:15 +02:00
Philipp Holzer 3834d5e129
Renamed __toString() to getName() 2019-08-04 16:14:19 +02:00
Philipp Holzer d2211bd6dd
Removed some leftovers 2019-08-04 15:58:53 +02:00
Philipp Holzer 19777baa79
- Move constants to the "Cache" class (more transparent than inside the interface) 2019-08-04 15:53:28 +02:00
Philipp Holzer 34e4968c06
Adding possibility to use a different cache-backend for locking and caching
- Renaming *LockDriver to *Lock since it isn't a "driver" anymore
2019-08-04 15:42:39 +02:00
Philipp Holzer 86bf2ee45a
Rename *CacheDriver to *Cache because they don't act as driver anymore 2019-08-04 10:26:53 +02:00
Philipp Holzer d56bd28a07
Refactor Cache/Lock to DICE
- Refactor Cache classes
- Refactor Lock classes
- Improved test speed (removed some seperate class annotations)
2019-08-03 20:51:58 +02:00
Michael Vogel e8459cce34
Merge pull request #7381 from MrPetovan/task/7309-frio-compose
[frio] New Compose page
2019-08-01 08:15:02 +02:00
Philipp Holzer a60eb9e33d
Use DICE for Console
- Use Friendica\Core\Console as Controller for DI-library
- Refactor every console command to use DICE (when possible)
- Adjusting tests
2019-07-31 19:37:42 +02:00
Hypolite Petovan 3e6018b3f2 Add meta protocol group for private post support 2019-07-29 20:31:48 -04:00
Philipp Holzer 6c2cf494b5
Remove DependencyFactory
- Include all necessary classes in `dependencies.config.php`
- Add DI-reference to BaseObject (acts as a global registry)
- Refactor all static "init()" methods to use the global registry

- Refactor Logging for Worker-Logger a little bit
2019-07-27 23:54:12 +02:00
Hypolite Petovan 4ec4a04e49 Remove mod/ping from 2fa exception list
- Prevent asynchronous calls to redirect to /2fa in case of missing valid 2fa session
2019-07-23 20:03:08 -04:00
Philipp Holzer a8e6a57e9b
Fixing installer 2019-07-21 14:21:02 +02:00
Philipp Holzer 55999730e0
Introduce DICE
- Adding dice library
- Adding dependency config

- Removing Factories
- Refactoring App\Mode constructor
- Refactoring App\Router constructor
- Refactoring BasePath for DI usage
- Refactoring ConfigFileLoader constructor
- Refactoring Profiler constructor

- Adjust entrypoints (index, console, worker, ..)

- Adding functional test for DI
- Fix tests because of refactorings
2019-07-21 01:22:10 +02:00
Hypolite Petovan f5e07be04e Fix undefined property notice in L10n\L10n 2019-07-18 21:21:16 -04:00
Hypolite Petovan 11e4f906c2
Hot-fix: Core\L10n::t method passing parameter bug
Follow-up to #7379
2019-07-16 21:18:25 -04:00
Hypolite Petovan 0b97b32a59
Merge pull request #7379 from nupplaphil/task/refactor_l10n_for_test
Refactor L10n for testing
2019-07-16 16:03:42 -04:00
Philipp Holzer 92fb0a82ca
Dynamic config loading
- Move settings, defaults and dbstructure to directory 'static'
- Dynamic loading of config files (after the static loading)
- Filter out '-sample.config.php' and '-sample.ini.php' files
- Remove unnecessary ConfigFileManager
- Move ConfigFileLoader to Utils
- Add tests for multi-loading for INI, config and sample-filtering
2019-07-16 20:16:43 +02:00
Philipp Holzer eb024a3718
Refactor L10n for testing
- Moving L10n to L10n\L10n
- Adding constructor information
- Adding to factory
- simplify/speedup tests
2019-07-16 16:44:47 +02:00
Hypolite Petovan c6cd2b131d Add transitive type hints in Core\PConfig 2019-07-16 07:45:24 -04:00
Hypolite Petovan 68f5b639eb Restore $uid parameter integer type-hint in Config
- Add integer type-hint to Feature::isEnabled
2019-07-15 22:00:49 -04:00
Philipp Holzer f70271aa5d
Allow nullable UID in PConfigCache 2019-07-15 21:14:13 +02:00
Philipp Holzer d5de5b6789
Bugfixing bad UIDs for PConfig 2019-07-15 21:11:38 +02:00
Philipp Holzer ebf00e32a1
minor phpdoc fixings 2019-07-15 20:54:33 +02:00