friendica/src/Module
2019-12-11 06:51:59 +00:00
..
Admin
Api/Mastodon Added entities 2019-12-11 06:51:59 +00:00
Base Add API base module 2019-12-09 22:50:36 -05:00
Contact
Debug
Diaspora Don't use the creation date when transmitting to Diaspora 2019-11-22 21:24:02 +01:00
Filer
HTTPException
Item Update the return value of Item\Ignore to integer 2019-11-30 23:15:58 -05:00
Notifications
Profile
Search
Settings
Special
TwoFactor General usage of type in input fields 2019-12-05 21:42:33 +01:00
WellKnown Modules separated 2019-11-28 07:07:34 +00:00
AccountManagementControlDocument.php
Acctlink.php
AllFriends.php
Apps.php
Attach.php
BaseAdminModule.php
BaseSearchModule.php
BaseSettingsModule.php
Bookmarklet.php Use visibility tags input for the default ACL selector 2019-11-28 12:54:53 -05:00
Contact.php Use visibility tags input for the default ACL selector 2019-11-28 12:54:53 -05:00
Credits.php
Delegation.php
Directory.php
Feed.php
FollowConfirm.php
Followers.php
Following.php
Friendica.php
Group.php
Hashtag.php
Help.php Update Module\Help to use anchor words for titles 2019-12-09 22:50:37 -05:00
Home.php
Inbox.php
Install.php
Invite.php
Like.php
Login.php
Logout.php
Magic.php
Maintenance.php
Manifest.php
NodeInfo.php Modules separated 2019-11-28 07:07:34 +00:00
Objects.php Make quoted announces look better / more announce improvements 2019-12-04 07:02:39 +00:00
Oembed.php
OpenSearch.php
Outbox.php
Owa.php
Photo.php
Pinned.php Pinning: Missing file added 2019-11-09 03:17:18 +00:00
Profile.php Use visibility tags input for the default ACL selector 2019-11-28 12:54:53 -05:00
Proxy.php
PublicRSAKey.php
RandomProfile.php
README.md
ReallySimpleDiscovery.php
Register.php [hotfix] Fix syntax error in Module\Register 2019-11-09 01:09:26 -05:00
RobotsTxt.php
Smilies.php
Starred.php Changed exceptions 2019-11-05 22:28:12 +00:00
Statistics.php
Theme.php
ThemeDetails.php
ToggleMobile.php
Tos.php
Welcome.php
Xrd.php

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.