Commit graph

527 commits

Author SHA1 Message Date
Michael 0d51474e73 Relocated function 2018-09-20 05:37:01 +00:00
Michael 34cb0aa406 JSON-LD stuff is now in a separate file 2018-09-20 05:30:07 +00:00
Michael f20bed67a9 Table "apcontact" is now in use / added functionality to handle JSON-LD 2018-09-20 05:00:49 +00:00
Michael 5de4afecf1 Table for AP contacts, JSON-LD parser included 2018-09-18 22:09:27 +00:00
Michael cb073bea61 Private posts with Mastodon don't work - but this is expected 2018-09-18 19:36:27 +00:00
Michael 464650d4d7 Public posts to Pleroma do work now, limited posts to Hubzilla and Mastodon as well 2018-09-18 07:28:35 +00:00
Michael f772ece86f New delivery module for ap 2018-09-17 21:13:08 +00:00
Michael 91d1b4de5d We now use the conversation data with AP 2018-09-17 05:51:05 +00:00
Michael 699a4140f9 Now sending does finally work - and some AP standards are improved as well 2018-09-16 20:12:48 +00:00
Michael e4d28629e4 First posting tests 2018-09-16 17:47:00 +00:00
Michael 629cca1963 Added function to fetch missing data, code bugfixing 2018-09-16 13:04:00 +00:00
Michael 6f3b2b6586 Handling of unlisted posts, better uid detection 2018-09-16 09:06:09 +00:00
Michael 1f98414bdd Some code cleanup 2018-09-16 05:49:13 +00:00
Michael a7f5c1f4c6 Likes work now 2018-09-15 23:06:03 +00:00
Michael 2eabe45a8e Contact reject does work now as well 2018-09-15 22:25:58 +00:00
Michael e45206ae5d Merge remote-tracking branch 'upstream/2018.08-rc' into ap1 2018-09-15 20:49:46 +00:00
Michael f5104f3e46 Removed harcoded host names 2018-09-15 20:48:24 +00:00
Michael 86bd283705 The whole contact handling does work now, yeah ... 2018-09-15 20:31:05 +00:00
Michael 6a8ebc8639 Contact follow and unfollow workd partially 2018-09-15 18:54:45 +00:00
Michael 96f575fe28 Processing of personal inbox enabled 2018-09-15 10:14:56 +00:00
Michael 957c70d1c6 Several improvements 2018-09-15 07:40:19 +00:00
Michael fb5b6e4a14 New uri format for our posts that is AP compatible 2018-09-15 07:37:34 +00:00
Michael 2e7ca76e15 More fields to import / like could possibly work 2018-09-14 21:10:49 +00:00
Michael 61e2c7d20d Added AP to many network conditions / enabling inbox processing 2018-09-14 16:51:32 +00:00
Michael c2f6b166c7 We now use the regular probing function 2018-09-13 21:57:41 +00:00
Michael 8c00e88f79 The endless saga of the fight against notices continues 2018-09-13 21:11:52 +00:00
Michael 67fa0ed433 Signature check added 2018-09-12 21:30:10 +00:00
Michael 969311cb44 Replacing the non standard "title" with "name" 2018-09-12 18:48:18 +00:00
Michael 8c07baf54b Better http answers 2018-09-12 06:01:28 +00:00
Michael f566db52d3 And more notices ... 2018-09-11 08:04:14 +00:00
Michael 0a5476591d Activitity pub - first commit with much test code 2018-09-10 21:07:25 +00:00
Michael 6113fdc940 Issue 5733: Changing relationship values does work now again with DFRN 2018-09-06 09:20:45 +00:00
Michael 9ef1d827f3 Restore the behaviour to remove the remote contact upon termination 2018-09-05 05:02:06 +00:00
Michael 380eeaab88 Still there had been notices - must have a good camouflage 2018-08-31 05:08:22 +00:00
Tobias Diekershoff 070e1e73d6
Merge pull request #5702 from annando/and-a-notice
and now for something completely different: A removed notice
2018-08-30 06:37:39 +02:00
Michael 02da827560 and now for something completely different: A removed notice 2018-08-30 04:05:32 +00:00
Michael 9bff31f18f Issue 5691: Post dates of feeds sometimes had been wrong 2018-08-29 19:11:43 +00:00
Michael Vogel 601851f3d0 Removed notice - pokes do now work mostly (#5693) 2018-08-29 09:00:01 -04:00
Michael 5e82323456 Avoid useless contact updates 2018-08-26 07:56:33 +00:00
Roland Häder 61693419e8 Cleanups: isResult() more used, readability improved (#5608)
* [diaspora]: Maybe SimpleXMLElement is the right type-hint?

* Changes proposed + pre-renaming:
- pre-renamed $db -> $connection
- added TODOs for not allowing bad method invocations (there is a
  BadMethodCallException in SPL)

* If no record is found, below $r[0] will fail with a E_NOTICE and the code
doesn't behave as expected.

* Ops, one more left ...

* Continued:
- added documentation for Contact::updateSslPolicy() method
- added type-hint for $contact of same method
- empty lines added + TODO where the bug origins that $item has no element 'body'

* Added empty lines for better readability

* Cleaned up:
- no more x() (deprecated) usage but empty() instead
- fixed mixing of space/tab indending
- merged else/if block goether in elseif() (lesser nested code blocks)

* Re-fixed DBM -> DBA switch

* Fixes/rewrites:
- use empty()/isset() instead of deprecated x()
- merged 2 nested if() blocks into one
- avoided nested if() block inside else block by rewriting it to elseif()
- $contact_id is an integer, let's test on > 0 here
- added a lot spaces and some empty lines for better readability

* Rewrite:
- moved all CONTACT_* constants from boot.php to Contact class

* CR request:
- renamed Contact::CONTACT_IS_* -> Contact::* ;-)

* Rewrites:
- moved PAGE_* to Friendica\Model\Profile class
- fixed mixure with "Contact::* rewrite"

* Ops, one still there (return is no function)

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

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

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

* Rewrite:
- stopped using deprecated NETWORK_* constants, now Protocol::* should be used
- still left them intact for slow/lazy developers ...

* Ops, was added accidentally ...

* Ops, why these wrong moves?

* Ops, one to much (thanks to MrPetovan)

* Ops, wrong moving ...

* moved back to original place ...

* spaces added

* empty lines add for better readability.

* convertered spaces -> tab for code indenting.

* CR request: Add space between if and brace.

* CR requests fixed + move reverted
- ops, src/Module/*.php has been moved to src/Network/ accidentally
- reverted some parts in src/Database/DBA.php as pointed out by Annando
- removed internal TODO items
- added some spaces for better readability
2018-08-24 01:05:49 -04:00
Michael Vogel dc3d2d5988 "dba" is now "DBA". This hadn't been respected at some places (#5655)
* "dba" is now "DBA". This hadn't been respected at some places

* Cleaning up unneeded stuff
2018-08-23 09:51:58 -04:00
Michael Vogel 54aee2aaa7 Removed notices that revealed themselfes over night ... (#5645)
* Removed notices that revealed themselfes over night ...

* And more notices removed that occured over night

* One more ..

* Some more notices of the day ...
2018-08-21 17:35:09 +02:00
Michael 334c628511 And again ... notices 2018-08-20 21:20:21 +00:00
Michael Vogel c1da44b7dc We now use a central function to fetch the importer (#5636) 2018-08-19 13:37:56 +00:00
Michael Vogel 7f3fb34c24 Some easy to replace "q" calls have been replaced by "DBA" calls (#5632)
* Some easy to replace "q" calls have been replaced by "DBA" calls

* Simplified the GUID creation

* And one in the API ...

* And OStatus has got some DBA calls more

* Just some more replaced database calls

* The event query is now simplified

* Events are now shown again

* subthread is now using the DBA calls as well

* Some more replaced database calls

* And some more replaced database calls and prevented notices

* Better use gravity

* Some more replaced database stuff

* Some more replaced database calls in DFRN.php

* The gcontact class now has got the new DBA functions as well

* The Contact class is now changed to new database functions as well

* Small correction

* We can now delete without cascade

* One more functionality is safe for future changes
2018-08-19 12:46:10 +00:00
Michael 0342f9e084 Removed notices, will it ever end? 2018-08-17 03:19:42 +00:00
Michael Vogel 1283b99c6f Removed notices in the frio theme (#5610)
* Removed notices in the frio theme

* And fixed notices in the notifications

* And some more in frio

* Null is the default value

* And some small notice in the probing removed

* Added note

* Clarified note

* And a removed notice in OStatus
2018-08-14 19:37:44 +00:00
Michael b3931d066c Issue-5605: Fixes notice 2018-08-12 08:00:37 +00:00
Roland Häder e06fc2aa69 Stopped using deprecated constants NETWORK_* (#5537)
* Rewrite:
- stopped using deprecated NETWORK_* constants, now Protocol::* should be used
- still left them intact for slow/lazy developers ...

* Removed deprecated NETWORK_* constants as per code reviewer's request.
2018-08-11 22:40:44 +02:00
Michael 3f612e0641 Issue 5436: Don't store tags that are too long 2018-08-06 17:11:40 +00:00
Hypolite Petovan c13dc549ed Rename PROTOCOL_* constants to Model\Conversation::PARCEL_*
- Remove unused Conversation::PROTOCOL_GS_CONVERSATION constant
- Remove now renamed PROTOCOL_* constant declarations
2018-08-05 12:24:42 +02:00
Hypolite Petovan c9b756674a Add CW support to shared posts in Protocol\OStatus 2018-08-04 21:40:45 +02:00
Hypolite Petovan 36975d521f Remove plural from $activityobjects variable name in Protocol\OStatus 2018-08-04 21:39:54 +02:00
Michael Vogel 2c8c803d64 Avid notices and warnings (#5546) 2018-08-02 19:07:20 +02:00
Michael Vogel c72c64a6d8 Notices again (#5543)
* And again notices

* Notices in the directory

* Much more places

* Fix some double $

* Notice in ping

* Missing field

* Fix: We now remove deleted users from the directory

* Some more stuff

* Notices when removing users

* Added logging

* More logging

* Two more
2018-08-02 07:21:01 +02:00
Michael Vogel 1afc0ab028 Added logging and one more reason for a notice found (#5538)
* Added logging and one more reason for a notice found

* And one more
2018-08-01 08:47:18 +02:00
Michael Vogel 9d0f18c0b3 Yeah, and again notices ... (#5536)
* Yeah, and again notices ...

* And some more

* Block access without given user name

* Reformatting
2018-08-01 07:29:58 +02:00
Michael Vogel 71b1638d9a Once again, notices ... (#5535) 2018-07-31 18:39:23 +02:00
Michael Vogel b552b711ee And some more notices removed ... (#5533)
* Fix for vanishing notes

* The field needs to be part of the selected fields ...

* And some more notes ...
2018-07-31 07:54:25 +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
Michael Vogel 1eb8f04274 Fixing SQL error when receiving DFRN posts (#5527)
* Some more notices

* Fixed nasty to find notice in DFRN and OStatus

* And more notices ...

* Yeah, some removed notices ... again ...

* Fixing bad SQL query
2018-07-30 07:06:32 +02:00
Michael Vogel a2cea16954 Some more notices (#5526)
* Some more notices

* Fixed nasty to find notice in DFRN and OStatus

* And more notices ...

* Yeah, some removed notices ... again ...
2018-07-30 06:41:20 +02:00
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
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 82e3163e5e Revert "Possible fix for #5470: (#5506)"
This reverts commit 1e20fd84f7.
2018-07-27 08:02:41 +02: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 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
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 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 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 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
Hypolite Petovan bb99ac8111
Fix Fatal error in Protocol\Diaspora (#5460) 2018-07-22 19:22:41 -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
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
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
Michael 9a6a3bf1c1 Makes Diaspora working again 2018-07-20 05:10:16 +00: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
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 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
Hypolite Petovan 762a786611 Replace direct accesses to App->config by Config::get/set calls 2018-07-16 19:38:16 -04:00
Michael 95fe08e5b9 Ensure that "follow" requests can be processed 2018-07-16 06:34:12 +00:00
Michael 78c9e29aa8 Don't accept posts from unknown owners 2018-07-16 05:48:51 +00: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
Philipp Holzer c829e43725
moved get_guid to System::createGUID 2018-07-09 21:38:16 +02:00