Commit Graph

590 Commits

Author SHA1 Message Date
Michael 5e5a2c3cc1 Improved worker performance (changed keys, changed queries) 2019-02-08 21:48:41 +00:00
Hypolite Petovan 066ad8c01b Add PortableContact constants
- Fix typo in mod/admin
- Replace deprecated Logger::log calls
2019-02-08 08:38:13 -05:00
Michael b4fc1d6810 Partly Reverted #6583 2019-02-06 07:31:29 +00:00
Michael 97fb2202cb Lower priority for removing item 2019-02-03 23:59:16 +00:00
Philipp Holzer 1e0e1674f2
4) Adding Factories to other entrypoints 2019-02-03 22:46:50 +01:00
Michael fc0acd7b1f AP: Debug option to deliver via AP first 2019-01-30 19:33:08 +00:00
Michael 030c0b5dc6 Another preparation for forum posts via AP 2019-01-28 06:23:06 +00:00
Michael 3392c7a8be Fixed "created" origin 2019-01-24 00:34:14 +00:00
Michael 0fdab4ed10 Fix for several fatal errors 2019-01-23 21:54:20 +00:00
Hypolite Petovan c897969589 Fix wrong variable name in Worker\Delivery 2019-01-23 09:07:00 -05:00
Hypolite Petovan 5d4bafb116 Fix two additional uses of uid in Worker\Notifier 2019-01-22 08:31:39 -05:00
Hypolite Petovan 282bc01994 Fix using wrong uid for APDelivery in Worker\Notifier 2019-01-22 01:59:30 -05:00
Hypolite Petovan e7be87df93 Fix missing $ in front of variable names 2019-01-21 11:12:49 -05:00
Hypolite Petovan 3d839bb176 Move Contact::ACCOUNT_TYPE_* constants to User::ACCOUNT_TYPE_*
- Keep Contact::TYPE_* constants for comparison with contact.contact-type
2019-01-21 10:56:27 -05:00
Hypolite Petovan dbc6eb5422 Remove unused code in mod/
- Remove commented code
- Remove unused/immediately overwritten variables
- Remove extraneous parameters
- Remove unreachable code
2019-01-21 10:53:32 -05:00
Hypolite Petovan 4a95ca280d Remove unused code
- Remove commented code
- Remove unused/immediately overwritten variables
- Remove extraneous parameters
- Remove unreachable code
- Remove duplicate array keys
2019-01-21 10:48:40 -05:00
Hypolite Petovan d1c6ec9718 Update namespaces declaration in include/
- Remove unused use statements
- Add required use statements
2019-01-21 10:44:45 -05:00
Hypolite Petovan cb3f09ae4f Refactor namespaces
- Remove unused use statements
- Add required use statements
- Escape global classes
2019-01-21 10:43:42 -05:00
Hypolite Petovan 3282ce5389 Fix PHPDoc comments project-wide 2019-01-21 10:35:51 -05:00
Hypolite Petovan 55e54bb950 Replace deprecated Addon::callHooks with Hook::callAll
- Update documentation
2019-01-21 09:50:56 -05:00
Hypolite Petovan 895b3abf32 Remove/replace killme() with *exit() 2019-01-21 09:49:17 -05:00
Hypolite Petovan ff1f6564f9 Remove delivery queue done incrementation for mail delivery 2019-01-21 09:39:14 -05:00
Hypolite Petovan 1696ad962e Add delivery queue number manipulation
- Add new ItemDeliveryData model class
- Add queue_count initialization in Notifier
- Add queue_done incrementation in various Delivery tasks
2019-01-21 09:36:51 -05:00
Hypolite Petovan 8a0e4e12e1 Replace item_id by target_id in multimode delivery workers 2019-01-21 09:32:41 -05:00
Hypolite Petovan 1e6193a14e Refactor Worker/Notifier part 4
- Remove redundant $normal_mode flag
- Moved public message email recipient loop
- Simplify OStatus delivery
2019-01-21 09:31:57 -05:00
Hypolite Petovan 774609dd38 Refactor Worker/Notifier part 3
- Replace deprecated q() calls
2019-01-21 09:31:56 -05:00
Hypolite Petovan d0228b9b97 Refactor Worker/Notifier part 2
- Move self-removal in a sub-method in Worker/Notifier
2019-01-21 09:27:06 -05:00
Hypolite Petovan 507c215c76 Refactor Worker/Notifier part 1
- Rename variables
- Remove orphan, duplicate and one-use intermediary variables
- Initialize potentially missing variables
- Replace obsolete Addon::callHooks call
- Simplify Notifier::activityPubDelivery() signature
2019-01-21 09:27:05 -05:00
fabrixxm 8c75c26361 Use Model\Photo as much as possible
Most important is to use `Photo::delete()` to have backend
to remove data.
2019-01-21 09:12:28 -05:00
Michael 103b92fc48 Avoid that forum posts are received via the Diaspora protocol first 2019-01-19 12:30:16 +00:00
Michael d813d72b1a Simplyfies AP relaying, fixes relaying of public contacts 2019-01-17 23:06:27 +00:00
Michael 98d44ce7c7 The "]" had been at the wrong place 2019-01-17 05:32:06 +00:00
Michael fe0339dabe Fixing a bug, adding some logging 2019-01-16 22:19:41 +00:00
Michael c359c162a7 Issue 6282: Update the contact data regularly (including the network) 2019-01-16 21:39:56 +00:00
Michael 236c7718d3 Fixing some notice again 2019-01-13 09:44:04 +00:00
Michael 297a549590 Issue 6282: Update the forum status of contacts 2019-01-12 16:09:27 +00:00
Hypolite Petovan acaee626f5 Remove include/ requires that are now done directly from Composer 2018-12-24 09:56:25 -05:00
Hypolite Petovan b6e1571b1e Fix various notices 2018-12-15 04:32:47 -05:00
Michael a041c7c0fa Issue 6236: Handle account removal messages with very low priority 2018-12-06 10:04:16 +00:00
Michael Vogel 5a3991d4f7
Merge pull request #6219 from MrPetovan/task/remove-x
Remove x()
2018-12-01 23:40:51 +01:00
AndyHee 14b4fac818 Fixing permanent deletion counter 2018-12-01 13:21:54 +07: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
Michael ba1e385f86 Don't deliver to blocked domains 2018-11-22 22:09:22 +00:00
Michael 1e873a2815 Avoid a blocked workerqueue due to removed users 2018-11-12 05:03:12 +00:00
Michael 7458d793ed Removing some notices again 2018-11-11 12:15:17 +00:00
Adam Magness 218f0734be Rename removeTags to escapeTags
rename function and update calls.
2018-11-09 13:29:42 -05:00
Adam Magness 063f0e9cb0 Rename escapeTags to escapeHtml
rename function and update calls.
2018-11-09 13:27:58 -05:00
Adam Magness ffc406d819 normalise_link calls
implement normaliseLink function
2018-11-08 11:28:29 -05:00
Adam Magness 5276c28a78 link_compare calls
implement compareLink function.
2018-11-08 10:46:50 -05:00
Adam Magness 0e01568ccd escape_tags calls
implement escapeTags function
2018-11-08 10:20:03 -05:00
Adam Magness a0f65ca7a1 notags calls
implement removeTags function
2018-11-08 10:14:37 -05:00
Michael 3b565e80b6 Improved logger text 2018-11-05 20:35:17 +00:00
Michael ef205878b6 Cleaned up the notifier 2018-11-04 23:17:41 +00:00
Michael bd97215147 Merge remote-tracking branch 'upstream/develop' into diasppora-delivery 2018-11-04 18:54:49 +00:00
Philipp Holzer 26aee23254
Replacing dbupdate_ in admin.php and removing it from Worker\DBUpdate 2018-10-31 14:44:22 +01:00
Philipp Holzer e876adef8f
Moved the functions update_db and run_update_function to a Friendica\Core\Update class 2018-10-31 14:44:21 +01:00
Michael f7f96e971a Avoid duplicated delivery to Diaspora 2018-10-30 17:34:18 +00: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
Michael 73f596cc46 Fixes duplicated transmissions and not working undo of like/dislike 2018-10-27 11:09:23 +00:00
Michael a6f6db8d4e Improve query speed 2018-10-24 04:50:27 +00:00
Michael c0a24d80dd Remove items more memory friendly 2018-10-24 04:46:45 +00:00
Tobias Diekershoff dbe49a0c1a
Merge pull request #5998 from annando/ap-queue
Unsuccessful ActivitiyPub transmission are now deferred
2018-10-23 06:54:11 +02:00
Michael e3e714a45f Unsuccessful ActivitiyPub transmission are now deferred 2018-10-23 03:54:18 +00:00
Hypolite Petovan dc35d2f2f3
Merge pull request #5997 from annando/notice-relocation
Fix a notice when sending relocation messages
2018-10-22 22:40:47 -04:00
Michael 3dc0bb5c4b Fix a notice when sending relocation messages 2018-10-23 02:24:24 +00:00
Hypolite Petovan e511790d62 Move NULL_DATE from boot.php to DBA::NULL_DATETIME
- Add DBA::NULL_DATE constant
2018-10-22 16:50:55 -04:00
Hypolite Petovan ca9cad3491 Move hook-related methods from Core\Addon to Core\Hook 2018-10-22 16:50:54 -04:00
Michael c4cc7a4afb The limit for dbclean is now configurable 2018-10-21 05:41:40 +00:00
Philipp Holzer 4392858662
Move Global Functions - Part 3
- Replaced every CACHE definition
- Moved check_url to App->checkURL()
- Removed unused definition "ZCURL_TIMEOUT"
2018-10-20 18:19:55 +02:00
Michael fea48fa85e AP: Transmitting and receiving with non AP contacts 2018-10-20 07:53:45 +00:00
Michael d307aa1484 For test purposes we can now deactivate polling 2018-10-18 02:46:02 +00:00
Hypolite Petovan e9c9eb9c66 Fix notice in Worker\Delivery 2018-10-16 18:26:43 -04:00
Michael 35a73b729f Onepoll hadn't polled anymore / small relocation in zrlinit for better logging 2018-10-16 13:17:01 +00:00
Michael efad4936b0 OStatus contacts are now automatically converted to AP 2018-10-13 18:13:01 +00:00
Philipp Holzer 7c73e8634c
Curl Response Refactoring
- refactored Network::post()
- replaced every Network::post() execution with the new Curl container
2018-10-10 21:15:26 +02:00
Philipp Holzer 2dec8895a9
Curl Response Refactoring
- extended Curl to parse Curl Response
- refactored Network::curl()
- replaced every Network::curl() execution with the new Curl container
2018-10-10 21:08:43 +02: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
Michael b5d73f840c AP fixes: LD-signature, wrong owner for completed thres, account removal 2018-10-09 05:04:24 +00:00
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
Michael 84909d9711 Standard stuff 2018-04-27 12:40:52 +00:00
Michael 9f5a6c05fb Preparation for relay posts with DFRN 2018-04-27 05:11:52 +00:00
Michael 4904be0d6f Better fallback on values > 299 as well 2018-04-27 04:55:46 +00:00
Michael e3c9d31088 Added header 2018-04-27 03:08:13 +00:00
Michael 488c6c9b68 Constants moved 2018-04-27 02:52:12 +00:00
Michael 66e34b9357 Improvements 2018-04-26 22:30:43 +00:00
Michael 8c23fea1df Added some explanation, beautified code 2018-04-26 21:16:16 +00:00
Michael a0c5a84ce8 Better way to fetch items 2018-04-26 07:11:18 +00:00
Michael b70b020490 Unneeded stuff removed, only fetch needed records 2018-04-26 06:23:01 +00:00
Michael 71d4c6e4a0 Cleaned up 2018-04-26 05:45:05 +00:00
Michael c437dac3a0 Delivery to non followers 2018-04-25 21:55:24 +00:00
Michael 3abd0b54cc Reworked delivery 2018-04-25 21:18:21 +00:00
Michael 866fbb4d80 Added console command to manually archive contacts 2018-04-23 05:33:47 +00:00
Hypolite Petovan 9d928417a1
Merge pull request #4817 from annando/relais-duplicates
Avoid sending relay posts to servers that already received content
2018-04-11 19:00:34 -04:00
Michael edcf1466a7 Relay: Avoid sending relay posts to servers that already received content 2018-04-11 19:01:25 +00:00
Tobias Diekershoff 0cab448ba1 make it unreadable... almost 2018-04-11 14:12:53 +02:00
Tobias Diekershoff ef8e984c62 noreply should not be translate-able in email addresses 2018-04-11 08:17:44 +02:00
Michael 869d8ab12d We can now define the days after a contact is archived 2018-04-10 11:10:02 +00:00
Michael 08abf65f7b Old database functions had been replaced in the workers 2018-04-09 21:34:23 +00:00
Michael a75858f02c Don't queue relay posts 2018-04-08 09:46:47 +00:00
Michael 3e6507441e Queue: Better handling of return values of transmissions 2018-04-04 19:03:05 +00:00
Michael e7fb8c04dd Don't always queue messages 2018-04-03 12:27:22 +00:00
Michael 1a2c771f24 DFRN: Improvements to delivery. Logging and marking as not reachable 2018-04-03 12:18:05 +00:00
Michael bfd057f148 Direct transfer without a relay is now possible 2018-03-28 04:24:38 +00:00
Hypolite Petovan 27d94023ee Merge branch 'master' into develop 2018-03-23 06:15:55 -04:00
Michael d98c6819e7 $contact isn't called by reference anymore 2018-03-14 20:53:03 +00:00
Michael 7db0b850cb Avoid an error in OnePoll when the contact was "null". 2018-03-14 19:47:14 +00:00
Hypolite Petovan 789561c7a2 Remove/Update references to include/html2*.php 2018-03-07 16:34:17 -05:00
Michael 2f121aa828 When deleting, don't send the parent via DFRN 2018-03-01 20:44:44 +00:00
Michael 82bd26edb9 The item class had been improved (e.g. database calls) 2018-02-21 21:08:37 +00:00
Michael 0062fede79 Issue 1312: Improve account expiry 2018-02-18 22:19:20 +00:00
Hypolite Petovan 9e3bae5caa Remove references to include/bbcode.php 2018-02-14 22:01:14 -05: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 d70a20a466 We now incrementally calculate the queue delivery time 2018-02-08 18:39:48 +00:00
Michael 8ea572ebd1 Added a config value to ignore server checks 2018-02-08 13:09:09 +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 4859a18ae4 Fixed wrong capitalation (or however this is written) 2018-02-06 23:17:18 +00:00
Michael 053cb31eea Forgotten commented out text 2018-02-06 22:57:56 +00:00
Michael 47d165cb25 Hook calls can now be forked into a worker queue entry 2018-02-06 22:52:36 +00:00
Michael e609de2957 Many item calls are now isolated in a single function 2018-02-06 12:40:22 +00:00
Michael Vogel fa95911fdb
Merge pull request #4393 from MrPetovan/task/3878-move-include-tags-to-src
Move include/tags to src/
2018-02-05 18:11:29 +01:00
Hypolite Petovan 2a486903d1 Remove references to include/tags.php 2018-02-03 23:59:31 -05:00
Hypolite Petovan 507bea0e9f Copy functions from include/tags to src
- Create Content\Widget\TagCloud
- Populate Worker\TagUpdate::execute
- Add Content\Widget::tagCloud
- Add Model\Term::insertFromItemId and Model\Term::insertFromItemUri
2018-02-03 23:51:40 -05:00
Hypolite Petovan f020292408 Remove references to include/datetime 2018-02-03 20:47:37 -05:00
Hypolite Petovan cea80c78e4 Replace remaining functions in include/datetime by Temporal methods
- Fix uses statements
2018-02-03 20:47:37 -05:00
Hypolite Petovan 5e7285b9ba Move Temporal::convert() to DateTimeFormat::convert() 2018-02-03 08:56:55 -05:00
Hypolite Petovan 35d06bd9eb Add Temporal::utc() shorthand to Temporal::convert() 2018-02-03 08:56:53 -05:00
Hypolite Petovan 8aff8a76eb Add Temporal::utcNow() 2018-02-03 08:56:52 -05:00
Hypolite Petovan b854905150 Move ATOM_TIME to Temporal::ATOM 2018-02-03 08:56:52 -05:00
Hypolite Petovan dc366bf1f7 Refactor datetime_convert into Temporal::convert
- Changed parameter order to save space
- Refactor select_timezone into Temporal::getTimezoneSelect
- Refactor field_timezone into Temporal::getTimezoneField
2018-02-03 08:56:51 -05:00
Hypolite Petovan 997b058743 Add missing use for Model\Item in Worker\Delivery 2018-01-30 21:14:44 -05:00
Michael 9cbc4a7355 Basic forum support for Diaspora 2018-01-30 06:22:09 +00:00
Michael 6871481a78 Moved "limitBodySize" 2018-01-28 17:36:37 +00:00
Michael 7b27dda784 Most functions now moved from include/items.php 2018-01-28 11:18:08 +00:00
Adam Magness f04d40a37e Review update
Rename function, move others
2018-01-27 11:13:41 -05:00
Adam Magness ca76e49c23 Move remaining functions
update remaining function calls
2018-01-27 08:25:54 -05:00
Adam Magness a32ba32ff4 Move post_url
move post_url function
2018-01-26 23:24:23 -05:00
Adam Magness 2f9642392d Move z_fetch_url
move z_fetch_url method
2018-01-26 23:18:38 -05:00
Adam Magness c67452f72e Move fetch_url
move fetch_url function
2018-01-26 23:09:48 -05:00
Adam Magness 1c7fd310d2 Create PostUpdate class
create new class and update call from worker
2018-01-25 11:29:43 -05:00
Michael 3ace5d0d1d Some functions had been moved away from include/items.php 2018-01-24 20:27:32 +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 11cf36105c Update Addon functions and calls
Update function names and calls for Addon class.
2018-01-20 07:48:22 -05:00
Michael 034d46196f "last-child" is not used anymore 2018-01-18 06:54:44 +00:00
Michael 2d66242b4f The delete function is now changed to the new function 2018-01-17 23:22:01 +00:00
Michael c4d3ab6878 Transfer all item shadow functions to the item class 2018-01-16 22:23:19 +00:00
Adam Magness 5d8f798ef7 Fix class name issue
use Model\Queue as QueueModel and update function calls.
2018-01-16 08:49:08 -05:00
Adam Magness 920a9b9b12 Remove requires
remove require_once statements
2018-01-15 20:16:14 -05:00
Adam Magness 33ac7a529f Update functions and calls
update function names and calls
2018-01-15 20:12:07 -05: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 b638ed9e86 Corrected function name 2018-01-12 23:43:08 +00:00
Michael 3c027699a5 Receive participation messages and processes them 2018-01-12 20:52:43 +00:00
Hypolite Petovan 5fc4927764 Improve dba::selectFirst calls
- Fix remaining $r[0] references
- Rename $r to meaningful names
2018-01-11 03:43:57 -05:00
Hypolite Petovan ae66bcaff3 Rename selectOne to selectFirst 2018-01-10 12:57:21 -05:00
Hypolite Petovan da60893590 Replace dba::select(limit => 1) by dba::selectOne
- Convert array declarations to new style
2018-01-10 12:57:21 -05:00
Adam Magness c81e83c500 Review changes
Update update and new functions to updateFromProbe and create. Update calls to renamed functions.
2018-01-09 11:23:26 -05:00
Adam Magness a59ab5552e Includes and calls
Remove includes and update function calls
2018-01-09 09:59:52 -05:00
Michael 0c9a9b6f0c Commenting to (nearly) every Friendica contact is now possible 2018-01-04 19:48:56 +00:00
Adam Magness 71534a1475 Review update
Rename function and add new function.
2018-01-03 22:36:15 -05:00
Adam Magness e37640c44c Move Photos to xrc
Move photos from include to Model\Photo class
2018-01-03 21:01:41 -05:00
Hypolite Petovan c2e29f2685 Add type parameter to OStatus::feed
- Removed unused parameter $a
- Added $nocache parameter
- Updated usages
2017-12-30 00:19:16 -05:00
Michael 0bcbe6034e Like on uid=0 does work now 2017-12-27 22:21:40 +00:00
Michael 9acc2ffc24 Make it easier 2017-12-27 21:51:16 +00:00
Michael fa8a09d977 Comments to public posts no get through 2017-12-19 23:12:37 +00:00
Michael 52a799574d OnePoll: We now force an update check all the time 2017-12-18 12:51:29 +00:00
Hypolite Petovan 872190dcb0 Fix missing variable in Worker\Directory
- Remove fixed comment in PortableContact
2017-12-17 16:25:32 -05:00
Hypolite Petovan df02238659 Centralize owner data fetch 2017-12-17 16:22:39 -05:00
Hypolite Petovan 5926cd534a Add FIXME for unrecoverable missing variables 2017-12-17 15:35:38 -05:00
Hypolite Petovan 2978b1eef0 Fix undefined variable/wrong parameter count/unknown functions 2017-12-17 15:33:45 -05:00
Hypolite Petovan 916236ce2f Fix docblocks types 2017-12-17 15:27:50 -05:00
Hypolite Petovan 10b72b0e9e PHPStan: Fix missing requires/namespaces 2017-12-17 15:26:43 -05:00
Hypolite Petovan 4fe8dab08d Remove include/group.php 2017-12-09 13:45:54 -05:00
Hypolite Petovan abdecd2b2f Use new Model methods for groups 2017-12-09 13:45:17 -05:00
Hypolite Petovan bc58e8d3be Rename Model\GlobalContact to Model\GContact 2017-12-07 23:57:56 -05:00
Hypolite Petovan a42595a30c Move Object\Contact to Model\Contact 2017-12-07 23:56:12 -05:00
Michael Vogel 5747cfc79c
Revert "Move Objects to Model" 2017-12-08 05:21:51 +01:00
Hypolite Petovan cd84bf8963 Rename Model\GlobalContact to Model\GContact 2017-12-07 09:09:28 -05:00
Hypolite Petovan 18d93cddf6 Move Object\Contact to Model\Contact 2017-12-07 09:04:24 -05:00
Adam Magness 71911a6989 Use default value
use the default value parameter correctly!
2017-12-06 15:25:36 -05:00
Adam Magness cadfef63c4 Update false evaluations
=== false and !== false to is_null where appropriate.
2017-12-06 14:57:06 -05:00
Michael 7099a54b3d Cut and paste is always fun 2017-12-06 16:50:52 +00:00
Michael 4bf425de5d Merge remote-tracking branch 'upstream/develop' into dbclean 2017-12-06 16:49:55 +00:00
Michael f1f222c633 Removed unused code 2017-12-06 14:30:07 +00:00
Michael ad5c263dbf Reduced "dbclean" calls 2017-12-06 14:23:38 +00:00
Michael 418365b30e DBClean now runs as long as there are entries to be deleted 2017-12-06 14:22:03 +00:00
Michael 9ffde01fc1 DBClean now works with the conversation table as well 2017-12-05 21:30:38 +00:00
Michael 115d71e841 One tab too much 2017-12-05 09:34:43 +00:00
Michael 5f9e87ea5a Some cleanup for archiving/unarchiving contacts 2017-12-05 07:08:20 +00:00
Michael Vogel 2685c9bb1c
Merge pull request #4003 from MrPetovan/task/3942-move-user-to-src
Migrate password hashing Part 2: Move include/user to src
2017-12-04 10:32:45 +01:00
Michael ad8c290c2b Improved vitality check for followers, feeds and OStatus contacts 2017-12-04 06:54:08 +00:00
Hypolite Petovan 27212c7f39 Update function calls to use Model\User and Object\Contact 2017-12-03 22:29:06 -05:00
Hypolite Petovan 4395c20679 Fix formatting and add documentation
- mod/register
- mod/regmod
- Model/User
- Worker/CronJobs
2017-12-03 22:15:31 -05:00
Michael f988ed5d15 Merge remote-tracking branch 'upstream/develop' into onepoll 2017-12-03 13:45:48 +00:00
Michael 6f7510550d NETWORK_MAIL2 was never finished, so remove it as well 2017-12-03 09:19:58 +00:00
Michael cd55c742e8 Check Diaspora contacts, don't poll unreachable contacts too often 2017-12-03 08:59:24 +00:00
Michael adf802474b Zot was never really supported, so it is now removed completely 2017-12-02 21:57:39 +00:00
Adam Magness 2b121779a6 Salmon move to src
Salmon class, update function name and function calls. Some standards as well.
2017-12-02 09:32:45 -05:00
Adam Magness 9a4e741d1a Review Changes
renamed some functions and adjusted corresponding calls.
2017-12-01 21:05:06 -05:00
Adam Magness f21feb975d Require Cleanup
Remove instances of require_once for email.php
2017-12-01 14:57:13 -05:00
Adam Magness 6008e3df11 Email to src
Create Email class and update/rename functions and function calls.
2017-12-01 14:41:27 -05:00