Commit graph

311 commits

Author SHA1 Message Date
Michael
192c6c8d4f Preparation for suggestions under AP 2018-10-06 18:42:26 +00:00
Michael
6b374c32a2 Improved AP distribution / Only process trusted content 2018-10-06 13:16:52 +00:00
Michael
f69c80b9e2 AP delivery is relocated to the top of the notifier 2018-10-06 03:16:38 +00:00
Michael
51dbffd396 Cache the AP delivery process 2018-10-05 21:00:40 +00:00
Michael
8841519c0d Renamed functions 2018-10-03 15:41:51 +00:00
Michael
3ab837f3c7 Functionality is now split 2018-10-03 09:15:38 +00:00
Michael
6020605d5c Account deletion could work now. 2018-10-01 19:22:13 +00:00
Michael
72c3a62e7f Profile update is now done via APDelivery 2018-10-01 05:44:56 +00:00
Michael
5456ef0185 Profile update and some more is now added 2018-09-30 20:26:30 +00:00
Michael
4699741f00 Fix delivery only for comments to native networks 2018-09-26 13:00:48 +00:00
Michael
c083ae047c Merge remote-tracking branch 'upstream/2018.08-rc' into ap1 2018-09-22 15:18:53 +00:00
Michael
214407bdc8 Improve communication 2018-09-22 14:12:54 +00:00
Michael
0dbb6313a5 Hopefully fixes relocations that hadn't been executed 2018-09-22 06:47:35 +00:00
Michael
4c224fbddd Deliver everything to all receivers in the thread 2018-09-21 12:06:36 +00:00
Michael
59cd6611ec Direkt delivery is done 2018-09-21 05:41:18 +00:00
Michael
11310f4cf0 Relocated AP signature functions, reduced magic auth functions 2018-09-20 18:16:14 +00:00
Michael
f772ece86f New delivery module for ap 2018-09-17 21:13:08 +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
e45206ae5d Merge remote-tracking branch 'upstream/2018.08-rc' into ap1 2018-09-15 20:49:46 +00:00
Michael
61e2c7d20d Added AP to many network conditions / enabling inbox processing 2018-09-14 16:51:32 +00:00
Michael
96d10c25e3 Issue 5733: Removing contacts does work now on the same machine as well 2018-09-12 06:05:14 +00:00
Michael
9ef1d827f3 Restore the behaviour to remove the remote contact upon termination 2018-09-05 05:02:06 +00:00
Michael
4fcae18289 Issue 5262: Comments to a forum post aren't distributed via push 2018-09-01 03:23:12 +00:00
Michael Vogel
49dad00570 Issue 5260: Ensure that user data is really deleted (#5666)
* Issue 5260: Ensure that user data is really deleted

* Missing files
2018-08-25 17:48:50 -04: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
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 Vogel
16a081871c Improved profile page, improved "limit" handling (#5639)
* Improved profile page, improved "limit" handling

* Update will now work again

* Update will work now
2018-08-20 06:26:05 +02: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
6d852ff6fd Fix a fatal error when removing contacts 2018-08-15 09:27:25 +00:00
Michael
29aa90ec09 Remove contacts in the background 2018-08-12 17:15:47 +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 Vogel
8c2efa6df4 Facebook and App.net is removed from nearly all places (#5581)
* Facebook is removed from nearly all places

* Remove app.net as well - it's dead for some time now
2018-08-07 17:06:51 +02:00
Michael Vogel
5e61caa34f Fix for not loading the translation / some more notice removed (#5569) 2018-08-06 12:11:17 +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
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
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
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
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
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
415b982d39 Rename DBA::num_rows to DBA::numRows 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
e42cf4d4fc Rename DBA::affected_rows to DBA::affectedRows 2018-07-22 19:27:34 -04:00
Michael
f02bcdba51 Automatically create a .htaccess when not existing 2018-07-21 05:41:19 +00: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
5c63de1692 Just some more fixed notice 2018-07-20 05:31:26 +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
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
0cbe3aa8e6 Remove global $db variable 2018-07-16 19:38:17 -04:00
Hypolite Petovan
820afa2284 Replace global $a with BaseObject::getApp() 2018-07-16 19:38:17 -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
3e797547a3 Warnings fixed 2018-07-08 09:37:05 +00:00
Michael
4d35e228c4 More item abstraction / making remote deletion work again 2018-07-07 18:14:16 +00:00
Michael
b421e7708f Removing of orphaned activity and content data 2018-07-07 07:43:13 +00:00
Michael
7f78540454 Expire does work now for activities as well 2018-07-06 06:45:30 +00:00
Michael
014eea8e12 Improve expire for item-content and item-activity 2018-07-05 22:07:50 +00:00
Michael
4807797eaf New worker to fix empty icid 2018-06-29 06:24:18 +00:00
Michael
b3abe148a6 Remove comment 2018-06-27 20:11:09 +00:00
Michael
3918a31fc2 Remove unneeded logging 2018-06-27 20:08:02 +00:00
Michael
8c2f91573a Fix mail import 2018-06-27 18:09:13 +00:00
Michael
6b568bb8fa Delete of item-content should work now 2018-06-25 20:23:32 +00:00
Hypolite Petovan
8a3cae686b
Merge pull request #5261 from annando/and-again-abstraction
And again the item abstraction - and a fix for issue 5252
2018-06-21 11:50:31 -04:00
miqrogroove
80e96bcf38
Workaround for Bugs in Class dba 2018-06-21 11:20:44 -04:00
Michael
d643e00d33 Standards and a new function to fetch content 2018-06-21 15:14:01 +00:00
miqrogroove
7f4bce67a8
Update DBClean.php 2018-06-21 08:27:36 -04:00
miqrogroove
f2463e327a
Update DBClean.php 2018-06-21 07:52:56 -04:00
miqrogroove
cfe035f300
Update DBClean.php 2018-06-21 07:51:30 -04:00
miqrogroove
62e61a75f7
Make Conversation Cleanup Configurable 2018-06-21 07:43:40 -04:00
Michael
70af2cecf2 Some of the last direct SQL calls to the item table had been changed 2018-06-21 06:21:51 +00:00
Michael
23aa9dffa0 New item functions are now used in the delivery process as well 2018-06-17 21:35:33 +00:00
Michael
d7c477d0f4 Don't probe anymore, but ensure that we got good contact data 2018-06-03 08:36:05 +00:00
Michael
04fd6eff01 Possibly fixes 5137: Only execute "optimize table" when allowed 2018-05-27 06:23:18 +00:00
Michael
89a20ddbd7 Nodeinfo: The number of comments is now calculated more reliable 2018-05-22 20:10:18 +00:00
Michael
e9848d7b8f End subscription for unreachable subscribers 2018-05-19 03:56:29 +00:00
Michael
f4a71b76dd Dynamic priority handling 2018-05-17 23:43:44 +00:00
Michael
61824119e4 Moved functionality in new model class 2018-05-17 23:30:49 +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
b333c7ae2e Bugfix: Only send a notifier when the item was really edited 2018-05-17 05:49:55 +00:00
Michael
fc60e23314 Added comments / hourly workerqueue deletion 2018-05-15 17:50:29 +00:00
Michael
eb4650ff23 dbclean settings are now available from the frontend 2018-05-07 05:37:20 +00:00
Michael
321a36d4db Avoid SQL error with wrong formatted datetime value 2018-05-03 20:48:35 +00:00
Michael
1e0200884f Fixed private messaging/relaying is controlled by the parent 2018-05-01 06:37:12 +00:00
Michael
a182dd3400 Improved logging, avoiding PHP warning 2018-04-30 16:46:49 +00:00
Michael
4909075321 Merge branch 'direct-dfrn' of github.com:annando/friendica into direct-dfrn 2018-04-30 13:09:11 +00:00
Michael
5588f0d2ae Improved logging 2018-04-30 13:08:48 +00:00
Michael
b2b597288c Deliver with the new function when delivering to a "uid=0" contact 2018-04-30 13:07:40 +00:00
Michael
bbbebb2b9c Don't spool relay deliveries 2018-04-30 05:56:40 +00:00
Hypolite Petovan
bd21fc3751 Import posts from ignored contacts 2018-04-27 21:08:19 -04:00