Commit graph

1700 commits

Author SHA1 Message Date
Roland Häder
650c3c18e1
Fixed fatal error about when returned 'body' field is empty:
````
PHP Fatal error:  Uncaught TypeError: Argument 1 passed to Friendica\Protocol\PortableContact::discoverServer() must be of the type array, null given, called in /var/www/../src/Protocol/PortableContact.php on line 1664 and defined in /var/www/../src/Protocol/PortableContact.php:1765
Stack trace:
````
2018-07-29 17:34:20 +02:00
Tobias Diekershoff
02d4b1098e
Merge pull request #5519 from annando/test-2
Moved expiring of item content
2018-07-29 11:45:50 +02:00
Michael
6add589c3f Removed some test logging 2018-07-29 04:38:14 +00:00
Michael
bc38420801 Some more notices removed 2018-07-29 04:04:23 +00:00
Michael
dc9b10fb09 Moved expiring of item content 2018-07-29 03:54:34 +00:00
Michael Vogel
489d3daa94 Trying to clean up a little bit more (#5517)
* "post-type" replaces "bookmark" and "type"

* The permission set is now removed upon expiry

* Post update now stores the permission set

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

* Postupdate now handles "postopts" as well

* "post-type" replaces "bookmark" and "type"

* "post-type" replaces "bookmark" and "type"

* "post-type" replaces "bookmark" and "type"

* The permission set is now removed upon expiry

* The permission set is now removed upon expiry

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

* Postupdate now handles "postopts" as well

* Multiplicated update functions

* And some more duplicated functions ...

* Removed duplicate functions
2018-07-28 16:04:56 -04:00
Michael Vogel
91db91d315 Fix for post update (#5513)
* "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

* 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 ...

* Postupdate now handles "postopts" as well

* Set deprecated fields to "null" if empty

* Postupdates are enabled again

* Fix for post update
2018-07-28 13:12:35 -04:00
Michael Vogel
36d4516e7a Missing stuff in "develop"? (#5516)
* "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

* 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 ...

* Postupdate now handles "postopts" as well

* Set deprecated fields to "null" if empty

* Postupdates are enabled again

* "post-type" replaces "bookmark" and "type"

* The permission set is now stored

* The permission set is now removed upon expiry

* Postupdate now handles "postopts" as well
2018-07-28 13:11:46 -04:00
Hypolite Petovan
0902ea508d
Fix parse error in Protocol\PortableContact (#5515) 2018-07-28 08:52:57 -04:00
Roland Häder
c30ac30f29 Possible fix for #5470 - json_decode() (#5511)
* Possible fix for #5470:
- $data is not an object like stdClass but an array
- newer PHP versions doesn't allow cross-access like following:

  $object['foo'] = 123;
  $array->foo = 123;

- added type-hints for private methods for above cases
- used `if (empty($foo)) instead of just `if ($foo)` preventing some nasty
  E_NOTICE
- added some empty lines for better readability

* Rewrite:
- mixture of object/array was here, causing under newer PHP versions some E_NOTICE
- this has been now finally fixed by converting any `object` type to an
  associative `array`
- also changed `is_object()` to `is_array()`
2018-07-28 01:35:27 -04:00
Roland Häder
4a22710b3b Moved global PAGE_* to Profile class (#5500)
* Rewrites:
- moved PAGE_* to Friendica\Model\Profile class

* Fixed more rewrites from plain (global namespace) PAGE_* to Friendica\Models\Profile class

* CR request:
- moved all PAGE_* constants to Friendica\Model\Contact class
- fixed all references of both classes

* CR request:
- moved ACCOUNT_TYPE_* constants from boot.php to Contact::ACCOUNT_TYPE_*

* Just copy-pasted this code from boot.php, needs to be changed to `const ACCOUNT_TYPE_FOO = x;`

* Ops, melting brain cells here ... :-/
2018-07-27 19:25:57 -04:00
Michael Vogel
5f77e98d76 Postupdate is now working again (#5512)
* "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

* 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 ...

* Postupdate now handles "postopts" as well

* Set deprecated fields to "null" if empty

* Postupdates are enabled again
2018-07-27 19:24:26 -04:00
Michael Vogel
1e83261a88
Merge pull request #5509 from friendica/revert-5506-fixes/portable-contact
Revert "Possible fix for #5470 and empty() usage"
2018-07-27 08:04:19 +02:00
Michael Vogel
82e3163e5e Revert "Possible fix for #5470: (#5506)"
This reverts commit 1e20fd84f7.
2018-07-27 08:02:41 +02:00
Roland Häder
592190892c Continued: (#5508)
- `App` is now "imported" to avoid having \Friendica\App::* everywhere
2018-07-26 22:27:28 -04:00
Roland Häder
1e20fd84f7 Possible fix for #5470: (#5506)
- $data is not an object like stdClass but an array
- newer PHP versions doesn't allow cross-access like following:

  $object['foo'] = 123;
  $array->foo = 123;

- added type-hints for private methods for above cases
- used `if (empty($foo)) instead of just `if ($foo)` preventing some nasty
  E_NOTICE
- added some empty lines for better readability
2018-07-26 18:27:12 -04: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
Roland Häder
37253656e3 Moved CONTACT_* constants to Friendica\Model\Contact class, lesser in global namespace (#5490)
* Rewrite:
- moved all CONTACT_* constants from boot.php to Contact class

* CR request:
- renamed Contact::CONTACT_IS_* -> Contact::* ;-)
2018-07-24 22:53:46 -04:00
Michael Vogel
69af69d1a0 Fallback to Diaspora if DFRN transmission fails (#5487) 2018-07-24 14:12:09 -04:00
Michael Vogel
5a8654194a
Merge pull request #5452 from MrPetovan/bug/5443-fix-worker-notices
Fix notices in OEmbed et al.
2018-07-24 17:11:53 +02:00
Hypolite Petovan
6771522167 Reduce cache time for OEmbed error 2018-07-24 11:05:09 -04:00
Michael Vogel
be8b68aaaf Store guid and plink with event (#5485)
* Store guid and plink with event

* One space too much
2018-07-24 10:01:31 -04:00
Hypolite Petovan
b6e3da8443 Move addLanguageToItemArray call when body is ensured 2018-07-24 08:52:25 -04:00
Hypolite Petovan
df917251ff Fix undefined oembed properties
- Add Object\OEmbed class
2018-07-24 07:56:27 -04:00
Hypolite Petovan
adc47fc8ea Fix Undefined index: nurl in Protocol\PortableContact 2018-07-24 07:55:42 -04:00
Hypolite Petovan
41fd5bef13 Fix by reference notice in Protocol\PortableContact 2018-07-24 07:54:12 -04:00
Hypolite Petovan
4e9ba728c4 Fix undefined index body in Model\Item 2018-07-24 07:54:12 -04:00
Hypolite Petovan
d09ab35816 Fix getimagesizefromstring() read errors 2018-07-24 07:54:12 -04:00
Michael Vogel
ca2c316de0 Some removed notices when viewing events (#5483) 2018-07-24 07:51:50 -04:00
Michael
432eec770b Issue 5467: Cron jobs hadn't been executed 2018-07-24 06:15:58 +00:00
Michael
de984cdaa1 Issue 5467: Fix worker and daemon 2018-07-24 03:42:44 +00:00
Hypolite Petovan
30fff2077c Ad missing use statements after dbesc conversion 2018-07-23 18:44:05 -04:00
Hypolite Petovan
a6fb3568f9 Rename dbesc to DBA::escape 2018-07-23 15:30:54 -04:00
Hypolite Petovan
d3a598f589 Update DBA::escape to match dbesc() 2018-07-23 15:13:42 -04:00
Hypolite Petovan
538b81d10d Delete Database\DBM class file 2018-07-23 11:04:15 -04:00
Hypolite Petovan
aa26943f92 Rename DBA::esc_array to DBA::escapeArray
- Rename internal method DBA::esc_array_callback to
DBA::escapeArrayCallback
2018-07-23 11:04:15 -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
c55e389bbc Add Database\DBM methods to Database\DBA 2018-07-23 10:57:47 -04:00
Hypolite Petovan
38f341e064
Add missing space between PHP path and script in App->proc_run (#5468) 2018-07-23 10:43:39 -04:00
Michael Vogel
2d0a749734
Merge pull request #5431 from MrPetovan/task/5410-rename-database-methods
Move DBA to src/ part 3.1: Rename DBA methods
2018-07-23 15:18:58 +02:00
Hypolite Petovan
b685ef37c9
Fix Fatal errors in Protocol\OStatus (#5466) 2018-07-23 07:48:44 -04:00
Michael Vogel
53876abfda And some more removed notices in the core (#5465) 2018-07-23 07:43:18 -04:00
Philipp
cd52d0b3e9 Using getopt for CLI arguments (#5446)
* Adding Argument class to Friendica

* Adding Argument class to Friendica

* Adding Argument class to Friendica

* fixing arguments for `spawnWorker`

* Adding `use Friendica\BaseObject` to `ApiTest.php`

* Refactoring the argument-usages of Friendica

* Refactoring the argument-usages of Friendica

* removing superfluous []
2018-07-23 07:40:52 -04:00
Roland Häder
4eb6707dc9 Cleanup: (#5463)
- rewrote x() to empty() as it is deprecated
- fixed indending for some entries
2018-07-22 21:18:21 -04:00
Hypolite Petovan
cdd8e4fd9d Rename DBA::get_db to DBA::getConnection
- Rename DBA::$db to DBA::$connection
2018-07-22 19:28:29 -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
4db98eb43d Rename DBA::inArray to DBA::toArray 2018-07-22 19:27:35 -04:00
Hypolite Petovan
f051ae1698 Rename DBA::fetch_first to DBA::fetchFirst 2018-07-22 19:27:34 -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
Hypolite Petovan
e42cf4d4fc Rename DBA::affected_rows to DBA::affectedRows 2018-07-22 19:27:34 -04:00
Roland Häder
d3144e2837 Need to load "verb" from notify table, too. This whole thing is a maintenance (#5459)
nightmare. Let's use the new database frontend/backend system and load all
columns anywhere the "entity" is requested.
2018-07-22 19:25:07 -04:00
Hypolite Petovan
bb99ac8111
Fix Fatal error in Protocol\Diaspora (#5460) 2018-07-22 19:22:41 -04:00
Roland Häder
7876d6547b Fixed E_NOTICEs when uploading profile picture (#5456)
* Fixed E_NOTICEs when uploading profile picture.

* Fixed E_NOTICEs when $_POST doesn't contain these fields.
2018-07-22 16:01:14 -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
a202962f03
Fix yet another Fatal Error in Protocol\OStatus (#5454) 2018-07-22 13:32:34 -04:00
Hypolite Petovan
d6ccba79e0
Fix another Fatal error in Protocol\OStatus (#5451)
* Fix Fatal error in Protocol\OStatus

* Fix another Fatal error in Protocol\OStatus
2018-07-22 12:57:33 -04:00
Roland Häder
7d47152564 Fixed E_NOTICE in boot.php and DBA class (#5430)
* Fixes:
- fixed missing variable $port (MySQL: 3306)
- "imported" mysqli class

Signed-off-by: Roland Häder <roland@mxchange.org>

* Fixed:
- better use `false` and `$port > 0`

* And better only provide `$port` when larger zero.

* Initialize `$port` with zero value (int) and not `false` (bool).

* Removed duplicate mysqli "import".

* `$post_update` is no longer used. Instead `$prefix` needs to be checked.
2018-07-22 12:53:46 -04:00
Hypolite Petovan
3500e50be9
Fix Fatal error in Protocol\OStatus (#5450) 2018-07-22 12:52:38 -04:00
Roland Häder
0a519f5001 Fixes/tye-hints (#5449)
- added type-hints for DOMDocument, DOMXPath and array
- added missing documentation about optional parameter
- `if ($foo['bar'])` is not a good choice, better use
  `if (!empty($foo['bar']))` instead
2018-07-22 12:35:20 -04:00
Roland Häder
2e332134d4 There is no LOGGER_WARNING (triggering E_NOTICE about absent constant). Either (#5448)
declare it and push all other numbers higher or use LOGGER_NORMAL.
2018-07-22 12:33:28 -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
Michael
f02bcdba51 Automatically create a .htaccess when not existing 2018-07-21 05:41:19 +00:00
Tobias Diekershoff
e4a652cae8
Merge pull request #5433 from annando/mysqli
Forgotten "use"
2018-07-21 07:18:10 +02:00
Michael
4ba91d4ea1 Forgotten "use" 2018-07-21 05:09:09 +00:00
Michael Vogel
6a6a805225 One more notice (#5429)
* Some more notices

* And some more notice in the worker
2018-07-20 20:43:21 -04:00
Michael Vogel
4bbcb61a9e We now have a pre update script (#5425)
* We now have a pre update script

* Some optimized stuff
2018-07-20 15:47:16 -04:00
Michael Vogel
7382be2766 Some more notices (#5424) 2018-07-20 14:07:54 -04:00
Hypolite Petovan
af6dbc654f Rename Friendica\Database\dba to Friendica\Database\DBA 2018-07-20 08:19:26 -04:00
Tobias Diekershoff
b6a1df0598
Merge pull request #5420 from annando/notices
Just some more fixed notice
2018-07-20 12:46:42 +02:00
Michael
045358cb88 Wrong "use" for config 2018-07-20 06:04:23 +00:00
Michael
5c63de1692 Just some more fixed notice 2018-07-20 05:31:26 +00:00
Michael
9a6a3bf1c1 Makes Diaspora working again 2018-07-20 05:10:16 +00:00
Hypolite Petovan
9c70a94589 Add missing PDO* use statements in Database\dba 2018-07-19 22:24:03 -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
c316c5ae30 Add new Friendica\Database\dba class 2018-07-19 22:06:13 -04:00
Roland Häder
36c6e35c7e Misc cleanups (#5417)
* Fixed http://github to https://github

Signed-off-by: Roland Häder <roland@mxchange.org>

* reverted back

Signed-off-by: Roland Häder <roland@mxchange.org>

* Added type-hint 'array' as the method uses foreach() on it.

Signed-off-by: Roland Häder <roland@mxchange.org>

* Tpzo fixed ...

Signed-off-by: Roland Häder <roland@mxchange.org>

* Added missing new-line at end of file, will make some POSIX parsers being lesser
confused ...

Signed-off-by: Roland Häder <roland@mxchange.org>
2018-07-19 20:52:18 -04:00
Michael Vogel
01b67c4eb3 Little fixes (#5414)
* We now store the item delivery data in a separate table

* Reorganized table structure

* Fix  a notice when using the profiler / ensure that permissions are strings
2018-07-19 18:40:39 -04:00
Roland Häder
b2899d76cf Small cleanup (#5416)
- added internal TODO to decide about is_result() usage
- removed semicolon (not needed here) from SQL query
- added empty line

Signed-off-by: Roland Häder <roland@mxchange.org>
2018-07-19 18:39:05 -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
Roland Häder
b05b96d04a Fixes: (#5404)
- fixed E_NOTICE in mod/follow.php
- fixed 2 E_NOTICE in src/Protocol/Diaspora.php
- added more type-hints for `array` type where known

Signed-off-by: Roland Häder <roland@mxchange.org>
2018-07-19 07:07:14 -04:00
Roland Häder
346790cbbc According to @annando and @MrPetovan, $emailcc is no item field (column) and (#5401)
should be initialized empty (I did it above the `if()` block).

Signed-off-by: Roland Häder <roland@mxchange.org>
2018-07-18 17:26:14 -04:00
Pierre Rudloff
6e1ed0b0d3 Fix tests (#5400)
* Avoid argc side-effects

* Fix undefined array keys in JITConfigAdapter::set()

* Avoid argv side effects in ApiTest
2018-07-18 16:30:55 -04:00
Michael Vogel
2fa6cc0000
Merge pull request #5394 from MrPetovan/bug/fix-config-set-return-value
Change (P)Config::set return value to bool
2018-07-18 11:07:10 +02:00
Michael Vogel
66a103e36a
Merge pull request #5295 from MrPetovan/task/4889-move-config-to-config
Move configuration to config/
2018-07-18 11:04:35 +02:00
Hypolite Petovan
0f7c7cebeb Change (P)Config::set return value to bool 2018-07-18 02:32:35 -04:00
Hypolite Petovan
1b6727fb9c Fix notice in Util\Network 2018-07-17 21:00:22 -04:00
Roland Häder
a41e49c84a Fixes for E_NOTICE in mod/item.php (#5393)
* Fixes applied:
- `if (is_array($some_array))` is better code style than `if ($some_array)` as
  the `if()` block really needs an array to be found
- same with `if ($some_id)`, maybe `if ($some_id > 0)` is a more proper check
- added missing field 'emailcc' to Item::ITEM_FIELDLIST

Signed-off-by: Roland Häder <roland@mxchange.org>

* Fixes E_NOTICE of missing variable (PHP's lazyness again).

Signed-off-by: Roland Häder <roland@mxchange.org>

* Use !empty() to avoid accessing empty array.

Signed-off-by: Roland Häder <roland@mxchange.org>
2018-07-17 18:18:42 -04:00
Roland Häder
fd8897851f Fixes for OEmbed class (#5392)
* Fixes:
- stdClass is clearly an object of `\stdClass`, so let's import it and set it
  as type-hint here
- if $o->type is not found, don't continue

Signed-off-by: Roland Häder <roland@mxchange.org>

* Fix for a fix due to 02:51 a.m. (!) edits ...

Signed-off-by: Roland Häder <roland@mxchange.org>
2018-07-17 16:28:20 -04:00
Hypolite Petovan
050ad68b9f Improve Console/Config display for array values
- Prevent setting a config key that is an array
2018-07-17 02:15:05 -04:00
Hypolite Petovan
d993c8584c Add support for legacy $lang config in App->loadConfig 2018-07-17 02:05:52 -04:00
Hypolite Petovan
007ec92ae4 Remove exception for legacy config file in App->loadDatabase 2018-07-17 02:05:36 -04:00
Hypolite Petovan
7b8efcc23d Fix config value type in MemcachedCacheDriver
- Remove default config values set in CacheDriverFactory
2018-07-17 02:05:06 -04:00
Roland Häder
04b513ba95 Fixed E_NOTICE when 'title' is absent (uninitialized array key) (#5390)
Signed-off-by: Roland Häder <roland@mxchange.org>
2018-07-17 01:13:22 -04:00
Hypolite Petovan
bad2774817 Separate default config values between file-only and admin settings 2018-07-16 19:38:19 -04:00