Commit Graph

230 Commits

Author SHA1 Message Date
Hypolite Petovan 146646c4d4 Replace deprecated calls to defaults() by ?? and ?: in src/ 2019-10-16 08:38:52 -04: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
Hypolite Petovan 0e0fff3324 Correctly escape identifier names
- Add support for schema, multiple tables in $table parameters
- Remove Database->formatTableName method
2019-07-29 00:23:40 -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 ec2c84a4e9 code lisibility & filter optimization 2019-03-22 22:55:48 -04:00
Philipp Holzer b2edb85588 Replace "q" calls 2019-03-22 22:55:48 -04:00
Philipp Holzer 1e0e1674f2
4) Adding Factories to other entrypoints 2019-02-03 22:46:50 +01:00
Philipp Holzer 4af0119b73
3) Introducing ConfigFactory 2019-02-03 22:22:04 +01:00
Hypolite Petovan 8a554fef2d Fix missing library include in Database\DBstructure 2019-01-23 21:22:26 -05:00
Hypolite Petovan 3282ce5389 Fix PHPDoc comments project-wide 2019-01-21 10:35:51 -05:00
Hypolite Petovan acaee626f5 Remove include/ requires that are now done directly from Composer 2018-12-24 09:56:25 -05:00
Hypolite Petovan d53ff9c34d Add support for FULLTEXT indices in Database\DBStructure 2018-12-23 15:40:49 -05:00
Hypolite Petovan 48a356dba2 Fix formatting in Database\DBStructure 2018-12-23 15:32:23 -05:00
Hypolite Petovan 458981f75c Replace x() by isset(), !empty() or defaults()
- Remove extraneous parentheses around empty() calls
- Remove duplicate calls to intval(), count() or strlen() after empty()
- Replace ternary operators outputting binary value with empty() return value
- Rewrite defaults() without x()
2018-11-30 09:06:22 -05:00
Hypolite Petovan 6eb6cc94c7 Move config/dbstructure.php to config/dbstructure.config.php 2018-11-25 01:14:44 -05:00
fabrixxm c13e078c42 dbstructure: check for comment value or use default
fix #6119
2018-11-17 11:43:01 +01:00
Philipp Holzer 270e817954
Adding force to update routine
- Introduced Cache::NEVER Lock (never expiring lock)
- Force flag for dbstructure update
- Moving the business logic to central place in Update class
2018-10-31 14:44:40 +01:00
Philipp Holzer 87f3fe24f7
Moving UPDATE defines/constants out of boot 2018-10-31 14:44:23 +01:00
Adam Magness 50da89d861 Logger Levels
update logger levels in calls
2018-10-30 09:58:45 -04:00
Adam Magness 14fde5dc9b Log function
implement log() function.
2018-10-30 09:57:14 -04:00
Hypolite Petovan 2debdbd0c9 Fix dbstructure console outputting addon structure as well 2018-10-22 16:50:55 -04:00
Hypolite Petovan 19ffc0510b Move DB_UPDATE_VERSION from boot.php to config/dbstructure.php 2018-10-22 16:50:55 -04:00
Hypolite Petovan fad99b8619 Switch from dbstructure.json to dbstructure.php 2018-10-22 16:50:55 -04:00
Hypolite Petovan 4ffcb77554 Simplify L10n::t + sprintf instances 2018-10-20 09:02:35 -04:00
Hypolite Petovan a8d3a4d218 Add missing L10n::popLang calls 2018-10-20 09:02:10 -04:00
Hypolite Petovan 481b0ac138 Fix notices in include/enotify 2018-10-15 23:13:00 -04:00
Philipp Holzer 5a02e39a65
Rename App Methods
- renamed a lot of App methods to CamelCase
- replaced direct public variables with get-/set-Methods
2018-10-10 00:16:06 +02:00
Hypolite Petovan 6a6695b167 Change DBStructure::definition to use config/dbstructure.json 2018-08-04 13:24:04 +02:00
Michael Vogel 986106a8f7 Item storage: Permissions aren't stored in the items anymore (#5495)
* The permission set is now used for item permissions

* Check for allow_cid, ... is superfluous. Checking for "private" is enough

* We query the permissionset

* Permissions are displayed correctly

* Changed index

* We don't store the permissions in the item table anymore

* Permission fields are now deprecated

* Reversed ...
2018-07-25 19:14:55 -04:00
Hypolite Petovan a6fb3568f9 Rename dbesc to DBA::escape 2018-07-23 15:30:54 -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
Hypolite Petovan 8ddb94ef06 Use DateTimeFormat::utc() instead of DBM::date() 2018-07-23 10:57:47 -04:00
Hypolite Petovan 415b982d39 Rename DBA::num_rows to DBA::numRows 2018-07-22 19:27:35 -04:00
Hypolite Petovan 1f2c0b98b5 Rename DBA::server_info to DBA::serverInfo 2018-07-22 19:27:35 -04:00
Hypolite Petovan 591939dfc0 Rename DBA::database_name to DBA::databaseName 2018-07-22 19:27:34 -04:00
Hypolite Petovan abbaaf5aa5 Rename DBA::clean_query to DBA::cleanQuery 2018-07-22 19:27:34 -04:00
Hypolite Petovan 910e832dc2 Rename DBA::any_value_fallback to DBA::anyValueFallback 2018-07-22 19:27:34 -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
Philipp c5cbf565d9 DBStructure enhancements (#5437)
* Adding DBStructure enhancements

- Added DBStructure::rename()
- Added DBStructure::existTable()
- Added DBStructure::existColumn()

(cherry picked from commit 4ae06ec)

* Adding `pre_update_1279` method

- Added DBStructure::rename()
- Added DBStructure::existTable()
- Added DBStructure::existColumn()

(cherry picked from commit 8496d84)

* code standards

(cherry picked from commit 551d09b)

* simplify to `empty` instead `is_null`

(cherry picked from commit ce68835)
2018-07-21 08:43:43 -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
Michael Vogel ec49d004e3 We now store the item delivery data in a separate table (#5413)
* We now store the item delivery data in a separate table

* Reorganized table structure
2018-07-19 17:56:52 -04:00
Michael Vogel 5af9596dde New item field "Post-type" and new table "permissionset" (#5408)
* "post-type" replaces "bookmark" and "type"

* Removed some more type

* Added index to permission set

* The permission set is now stored

* The permission set is now removed upon expiry

* Post update now stores the permission set

* New file

* Permissions are now sorted

* Changed documentation
2018-07-19 09:52:05 -04:00
Hypolite Petovan 762a786611 Replace direct accesses to App->config by Config::get/set calls 2018-07-16 19:38:16 -04:00
Hypolite Petovan 3255b2364b Fix dbesc as a constant notice message 2018-07-16 19:38:15 -04:00
Michael Vogel d3a2ed85fe Next item structure works (#5380)
* Use "LEFT JOIN" to always fetch the item. Needed for update routines.

* New conversion routine that now covers every item

* Post update is now activated

* We now use a hash based upon RIPEMD-320 for content and activity

* The hash doesn't contain the plink anymore

* Legacy item fields are now "null"able

* New hash function for a server unique item hash

* Introduction of the legacy mode (usage of old item fields)

* Code simplification

* We don't need the "uri" fields anymore in item-activity and item-content

* Use the "created" and not the "received" date for the hash

* Avoiding several notices

* Some more warnings removed

* Improved uri-hash / Likes on Diaspora are now getting a creation date

* Corrected the post update version

* Ensure an unique uri-hash

* Don't delete orhaned item data at the moment

* Partly reworked, due to strange behaviour

* Some more parts reworked

* Using the uri currently seems to be more reliable

* Using the uri here as well

* Use the hash values again

* Grouped item fields in different categories

* Notices again

* use the gravity (we always should)

* Added hint for disabled post updates

* Notices ...

* Issue #5337: Personal notes are displayed again

* Use the gravity again
2018-07-15 14:36:20 -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 Vogel ff5ee74ecf
Merge branch 'develop' into item-activities 2018-07-08 06:35:50 +02:00
Michael Vogel 3eec97aa6e
Merge pull request #5314 from MrPetovan/task/4889-fix-tests
Fix tests after enabling PHP Notices
2018-07-06 22:14:01 +02:00
Michael 0c51159111 New index that is needed for the expiry 2018-07-06 06:46:44 +00:00
Michael 44e405d22b We now store activities in a separate table 2018-07-05 22:00:38 +00:00
Philipp Holzer 19209f6826
merged from develop and increased DB-version 2018-07-04 23:44:11 +02:00
Philipp Holzer aac94d1d74
Adding multihost - locking
Adding Unit-Tests for it
2018-07-04 23:37:22 +02:00
Hypolite Petovan 79ff49d716 Replace more is_null with empty in DBStructure 2018-07-02 22:42:15 -04:00
Hypolite Petovan e7d6b48bb3 Fix Undefined index: Collation in DBStructure 2018-07-02 22:28:27 -04:00
Michael bffdf96d87 The "file" variable isn't stored anymore in the item table 2018-07-01 07:57:59 +00:00
Michael 0ab9f2e265 Preparations to not store the tags in the item table anymore 2018-06-30 13:54:01 +00:00
Michael a8a189eec4 The detected language now moved to "item-content" as well 2018-06-30 05:18:43 +00:00
Michael 028c9f4da5 We now store the verb in the item-content as well 2018-06-27 19:37:13 +00:00
Michael 6b568bb8fa Delete of item-content should work now 2018-06-25 20:23:32 +00:00
Michael 89fb28ae9b Content is now stored exclusively in item-content, connected via "icid" field 2018-06-25 04:56:32 +00:00
Michael d0c36d0e89 New table for storing item content 2018-06-24 14:33:07 +00:00
Michael ca1add20a0 Small corrections to the database definition 2018-06-23 04:46:22 +00:00
rabuzarus d5afbd3357 port hubzillas OpenWebAuth - rename verify table to openwebauth-token 2018-06-20 19:18:41 +02:00
rabuzarus 1c7f4e3c63 port hubzillas OpenWebAuth - remote authentification 2018-06-18 23:05:44 +02:00
Michael b9811f1bef Fix: Avoid endlessly dbstructure changes 2018-06-11 13:22:08 +00:00
Hypolite Petovan 0a13ab6b9f
Merge pull request #5166 from annando/unsed-item-fields
Remove unused, unneeded or redundant item fields
2018-06-03 12:19:50 -04:00
Michael b654af28fa We need "global" 2018-06-03 09:40:32 +00:00
Michael 3f07d01dd1 Get rid of unneeded or redundant fields 2018-06-03 07:42:56 +00:00
Michael 3034170088 DBStruxture can now create "memory" tables as well 2018-06-02 05:03:23 +00:00
Michael 047c02371a Small corrections to the database descriptions 2018-06-01 22:12:35 +00:00
Hypolite Petovan 93daf7883e Merge branch 'master' into develop
- Updated new develop version label
- Incremented database build number
2018-06-01 07:30:04 -04:00
Pascal Deklerck 1853c5623b 4419 Update the comments in src/Database/DBStructure.php from doc/database/* 2018-05-29 10:24:36 +02:00
Michael deb015be12 Changed documentation 2018-05-27 10:42:47 +00:00
Michael bdbc51229a Fix for not being able to delete items 2018-05-26 18:07:27 +00:00
Michael e9848d7b8f End subscription for unreachable subscribers 2018-05-19 03:56:29 +00:00
Michael feb3d76a5b Fix: Subscriptions from GNU Social partially don't work 2018-05-18 12:18:12 +00:00
Michael 5a1e1c1ec9 Fix to OStatus delivery to be not so blocking to other tasks 2018-05-17 22:17:03 +00:00
Michael 3b2752c2fe Follow up to PR 5060: Missing index update 2018-05-16 08:59:15 +00:00
Michael 74908c0125 Corrected placeholders 2018-05-08 20:22:21 +00:00
Michael e7e0bee0a9 Added maintenance notice 2018-05-08 18:46:47 +00:00
Hypolite Petovan cc40dcf83c Add dbstructure_definition hook call 2018-04-16 22:22:58 -04:00
Michael e65bd0325e Added server discovery for their relais configuration 2018-03-26 05:44:53 +00:00
Michael 5bca333bf0 Fix: No "not null" when text is replaced by varchar 2018-03-24 21:57:50 +00:00
Hypolite Petovan 27d94023ee Merge branch 'master' into develop 2018-03-23 06:15:55 -04:00
Michael cd2c9722b0 Added missing doxygen header 2018-03-17 09:42:29 +00:00
Michael 782d692b5a Possible fix issue 4611: Don't write to database before it is created 2018-03-17 09:04:38 +00:00
Michael 5bd519efff There is now a "content-warning" field 2018-03-14 22:28:35 +00:00
Hypolite Petovan 3628b62aeb Add support for Memcached/Improve database cache
- Create Cache Driver interface
- Update cache table fields
- Add CacheSessionHandler
2018-03-04 23:13:19 -05:00
Michael fe68e99c7c The tag query should be much faster now 2018-02-26 06:59:32 +00:00
Michael a59796d1d4 No gcontact-id anymore (It wasn't really used) 2018-02-21 05:15:55 +00:00
Michael d90b93cfda Several more improvements to the database structure 2018-02-20 07:40:21 +00:00
Michael 6c26dcf1c7 The network is now just a 4 character field 2018-02-19 13:58:04 +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
Michael 2a762868e9 Some clean up for the worker, arrays are now supported as parameter 2018-02-11 16:18:39 +00:00
Michael d42f86e218 We can now delegate again like before 2018-02-08 22:18:34 +00:00
Michael d70a20a466 We now incrementally calculate the queue delivery time 2018-02-08 18:39:48 +00:00
Michael ac7b0661d2 Added documentation 2018-02-08 15:03:18 +00:00
Michael 0093f863fd Don't add already queued items from Diaspora to the queue again 2018-02-08 11:26:24 +00:00
Michael 47d165cb25 Hook calls can now be forked into a worker queue entry 2018-02-06 22:52:36 +00:00
Michael 4949be60a8 Improved query speed 2018-02-01 00:29:47 +00:00
Hypolite Petovan 30c1cc0e8c
Merge pull request #4312 from zeroadam/feature/L10n
Move pgettext to src
2018-01-24 11:48:55 -05:00
Adam Magness 208a149a7b Review sprintf
remove more sprintf calls
2018-01-23 21:59:16 -05:00
Michael 3fbc873ffe Birthdays are now transmitted reliably to Diaspora 2018-01-23 22:51:30 +00:00
Adam Magness 07d306aa37 Finish t() for src
Update t() calls in src folder
2018-01-22 18:03:26 -05:00
Adam Magness c8ecc31405 Update functions and calls
Update function names and calls.
2018-01-22 18:03:26 -05:00
Hypolite Petovan 4fb24d4ebb Make the user.legacy_password field boolean 2018-01-22 07:48:30 -05:00
Hypolite Petovan c53c2fffa5 [database] Add user.legacy_password field 2018-01-20 22:24:58 -05:00
Hypolite Petovan 391c591322 Add pwdreset_time field to user table 2018-01-20 18:06:58 -05:00
Adam Magness 5d03735238 Update hook names
update hook names and other plugin references.
2018-01-20 08:22:18 -05:00
Michael 034d46196f "last-child" is not used anymore 2018-01-18 06:54:44 +00: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
Michael 5d03eb3dae Some SQL servers report different lengths for unsigned types 2018-01-15 07:42:05 +00:00
Michael de7dbdff14 Removed test output 2018-01-14 19:02:27 +00:00
Michael fabe79a798 Reworked and unified database structure, added comments 2018-01-14 15:13:00 +00:00
Michael fc9453b7e9 Corrected field names 2018-01-12 23:20:19 +00:00
Michael 3c027699a5 Receive participation messages and processes them 2018-01-12 20:52:43 +00:00
Hypolite Petovan da9523ed23 Add maxwidth column to oembed table
- Match Caching key for OEmbed queries
2018-01-10 19:25:08 -05:00
Michael e12b6e01a2 Best "uid" for sending comments, refresh after commenting might work now 2018-01-07 17:14:43 +00:00
Hypolite Petovan 819592c3bd Fix Scrutinizer issues in mod [_well_know -> contactgroup]
- Remove unused variables and parameter
- Updated function documentation
- Fix formatting
- Add back uninitialized variables
- Simplify nested conditions
2018-01-04 19:42:48 -05:00
Michael dab83c8b40 We now fetch the number of registered users 2017-12-18 23:58:18 +00:00
Hypolite Petovan 10b72b0e9e PHPStan: Fix missing requires/namespaces 2017-12-17 15:26:43 -05:00
Hypolite Petovan 6dbd68e0cb Remove redundant index
- Increase UPDATE_VERSION and DB_UPDATE_VERSION
2017-12-15 11:36:06 -05:00
Hypolite Petovan c8c7ff2a2e Add new UNIQUE index to group_member
- Add new index on gid
2017-12-15 08:43:37 -05:00
Hypolite Petovan 179b311978 Remove group_member.uid
- Use contact.uid alternatively
- Use JOIN with group table
2017-12-14 22:47:58 -05:00
Michael 559f8b446b Why I had coded it that way? Now it is better 2017-12-14 22:22:44 +00:00
Michael 2d7cd2daf4 "update" is enough 2017-12-14 22:18:53 +00:00
Michael 0d2087fe6e The DBStructure class now exists 2017-12-14 21:14:02 +00:00
Michael 15d42de647 Class moved, changes applied 2017-12-14 21:13:02 +00:00