friendica/src/Module
2019-05-01 19:58:51 +02:00
..
AccountManagementControlDocument.php Rename to AccountManagementControlDocument 2019-05-01 17:05:46 +02:00
Acctlink.php Split goaway to System::externalRedirectTo() and App->internalRedirect() 2018-10-22 22:13:35 +02:00
Apps.php reduce code 2019-03-22 22:28:13 -04:00
Attach.php Small fixes 2019-01-21 10:08:09 -05:00
Babel.php Moving mod/babel to src/Module/babel 2019-04-21 15:17:04 +02:00
Contact.php Remove unused code/use statements 2019-01-23 09:06:58 -05:00
Credits.php Moving mod/credits to src/Module/Credits 2019-03-22 22:55:46 -04:00
Feed.php Fix feed display in browser when using emojis 2018-12-16 22:58:43 -05:00
Feedtest.php removed debugging 2019-03-22 22:55:49 -04:00
Filer.php Change Module\Filer::content to rawContent to prevent full page to load in modal 2019-04-14 08:57:27 -04:00
Followers.php AP class will be split in processor, receiver and transmitter 2018-10-03 06:15:07 +00:00
Following.php AP class will be split in processor, receiver and transmitter 2018-10-03 06:15:07 +00:00
Group.php Merge /contactgroup module with Group module 2019-02-23 17:32:40 -05:00
Hashtag.php Remove include/ requires that are now done directly from Composer 2018-12-24 09:56:25 -05:00
Inbox.php Fix missing use statement in Module\Inbox 2019-01-23 21:22:39 -05:00
Install.php bugfix 2019-04-14 14:40:26 +02:00
Itemsource.php Add sample route for /itemsource 2019-04-03 23:36:37 -04:00
Localtime.php Move mod/localtime to src/Module/Localtime 2019-04-22 12:31:18 +02:00
Login.php Replace REGISTER_* constants by Module\Register::* ones 2019-01-22 22:24:15 -05:00
Logout.php Replace deprecated Addon::callHooks with Hook::callAll 2019-01-21 09:50:56 -05:00
Magic.php Issue 6149: Making OWA (hopefully) compatible with Hubzilla 2019-01-08 11:17:05 +00:00
Manifest.php Move mod/manifset to src/Module/Manifset 2019-04-22 12:48:40 +02:00
Nodeinfo.php Move mod/nodeinfo to src/Module/Nodeinfo 2019-04-22 14:00:17 +02:00
Objects.php Fetchting the original post at first, then the other way is dafer. 2019-01-26 12:09:38 +00:00
Oembed.php Remove/replace killme() with *exit() 2019-01-21 09:49:17 -05:00
Outbox.php Avoid a notice in HTTP signature check, preparation for authentication 2019-01-15 06:31:12 +00:00
Owa.php Issue 6149: Making OWA (hopefully) compatible with Hubzilla 2019-01-08 11:17:05 +00:00
Photo.php Fix "Illegal string offset 'title'/'description'" notice in Module\Photo 2019-04-26 15:39:42 -04:00
Profile.php Move user tombstone activity data to ActivityPub\Transmitter 2019-04-04 07:38:40 -04:00
Proxy.php Use HTTP-Signature to authenticate when fetching photos. 2019-03-18 22:33:20 +00:00
README.md Update README for Modules 2019-05-01 19:58:51 +02:00
Register.php Add Register module in src/ 2019-01-22 22:22:04 -05:00
Statistics_json.php Moving mod/statistics_json to src/Module/Statistics_json 2019-04-22 10:38:34 +02:00
Tos.php Fix PHPDoc comments project-wide 2019-01-21 10:35:51 -05:00

Friendica\Module

The Module namespace contains the different modules of Friendica. Each module is loaded through the App.

There are mainly two types of modules:

  • frontend modules to interact with users
  • backend modules to interact with machine requests

Frontend modules

This type of modules mainly needs a template, which are generally located at view/templates/.

A frontend module should extend the BaseModule, especially the content() method.

Backend modules

This type of modules mainly responds either with encoded XML or with JSON output. It isn't intended to respond with human readable text.

A frontend module should extend the BaseModule, especially the rawContent() method.

Routing

Every module needs to be accessed within a route. The routing mechanism is using a PSR-7 based routing and the routes are defined inside Router->collectRoutes().

Use the given routes as a pattern for further routes.

The routing library can be found here.