friendica/src/Module
Philipp Holzer 8bdd90066f
Make BaseModule a real entity
- Add all dependencies, necessary to run the content (baseUrl, Arguments)
- Encapsulate all POST/GET/DELETE/PATCH/PUT methods as protected methods inside the BaseModule
- Return Module content ONLY per `BaseModule::run()` (including the Hook logic there as well)
2021-11-27 12:40:36 +01:00
..
ActivityPub Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
Admin Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
Api Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
Contact Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
Conversation Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
Debug Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
DFRN Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
Diaspora Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
Events Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
Filer Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
HTTPException Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
Item Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
Notifications Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
OAuth Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
Profile Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
Search Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
Security Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
Settings Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
Special Make BaseModule methods dynamic 2021-11-14 23:49:06 +01:00
Update Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
WellKnown Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
AccountManagementControlDocument.php Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
Acctlink.php Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
Apps.php Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
Attach.php Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
BaseAdmin.php Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
BaseApi.php Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
BaseNotifications.php Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
BaseProfile.php "Video" is replaced by a "Media" tab in contact and profile 2021-10-02 15:09:43 +00:00
BaseSearch.php "escapeTags" is finally removed 2021-11-07 09:18:25 +00:00
BaseSettings.php Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
Bookmarklet.php Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
Contact.php Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
Credits.php Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
Delegation.php Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
Directory.php Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
Feed.php Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
FollowConfirm.php Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
Friendica.php Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
FriendSuggest.php Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
Group.php Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
Hashtag.php Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
HCard.php Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
Help.php Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
Home.php Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
Install.php Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
Invite.php Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
Magic.php Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
Maintenance.php Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
Manifest.php Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
NodeInfo110.php Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
NodeInfo120.php Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
NodeInfo210.php Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
NoScrape.php Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
Oembed.php Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
OpenSearch.php Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
Owa.php Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
ParseUrl.php Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
PermissionTooltip.php Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
Photo.php Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
Proxy.php Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
PublicRSAKey.php Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
RandomProfile.php Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
README.md fixing text 2019-05-01 20:17:15 +02:00
ReallySimpleDiscovery.php Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
Register.php Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
RemoteFollow.php Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
RobotsTxt.php Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
Smilies.php Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
Statistics.php Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
Theme.php Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
ThemeDetails.php Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
ToggleMobile.php Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
Tos.php Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
Welcome.php Make BaseModule a real entity 2021-11-27 12:40:36 +01:00
Xrd.php Make BaseModule a real entity 2021-11-27 12:40:36 +01: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 routes are defined inside Router->collectRoutes().

Use the given routes as a pattern for further routes.

The routing library and further documentation can be found here.