This repository has been archived on 2024-08-19. You can view files and clone it, but cannot push or open issues or pull requests.
core/Zotlabs/Module
2017-02-24 10:08:09 +01:00
..
Admin consolidate hubloc storage 2017-01-30 15:01:22 -08:00
Settings add default permcat to channel settings form 2017-02-12 18:40:26 -08:00
Achievements.php remove the app $a passed to profile_load, also add profile_load to mod_wiki which should fix issue #431 2016-06-26 22:13:59 -07:00
Acl.php util/pconfig - don't enumerate empty arrays, mod_acl - add more comments 2017-02-13 17:51:39 -08:00
Admin.php [TASK] Update Doxyfile and fix Doxygen errors. 2016-10-13 11:27:23 +02:00
Api.php more api re-org 2016-11-08 16:55:29 -08:00
Appman.php apps improvements 2017-02-22 11:22:43 +01:00
Apps.php apps improvements 2017-02-22 11:22:43 +01:00
Attach.php issue #538 continued 2016-09-29 16:20:26 -07:00
Authtest.php
Block.php remove the app $a passed to profile_load, also add profile_load to mod_wiki which should fix issue #431 2016-06-26 22:13:59 -07:00
Blocks.php remove the app $a passed to profile_load, also add profile_load to mod_wiki which should fix issue #431 2016-06-26 22:13:59 -07:00
Bookmarks.php
Branchtopic.php
Cal.php call zidify_links() when formatting bbcode for internal consumption 2016-12-19 16:06:49 -08:00
Channel.php use head_add_link() for feed discovery 2017-02-21 18:58:51 -08:00
Chanview.php modernise chanview, which has a renewed purpose - to provide a connect link to foreign network members. The iframe no longer works due to content security policies, and people hated this with a passion anyway; so just provide a URL to visit. 2016-10-26 21:50:30 -07:00
Chat.php use head_add_link() for feed discovery 2017-02-21 18:58:51 -08:00
Chatsvc.php fix chat member list when one or members are connected via access tokens 2017-01-02 23:35:40 -08:00
Cloud.php use head_add_link() for feed discovery 2017-02-21 18:58:51 -08:00
Common.php remove the app $a passed to profile_load, also add profile_load to mod_wiki which should fix issue #431 2016-06-26 22:13:59 -07:00
Connect.php command line connect utility. 2016-11-01 15:27:34 -07:00
Connections.php more places to use chanlink_hash() instead of chanlink_url() for profile_link 2017-02-23 10:36:00 +01:00
Connedit.php Create virtual privacy groups for private profile member lists 2017-02-12 15:56:33 -08:00
Contactgroup.php more backquotes - this should take care of most except for the array import queries 2016-10-09 16:31:04 -07:00
Cover_photo.php need to perform dbunescbin on stored filenames as well as binary data - this is a no-op under mysql but could provide unpredictable data under postgres 2016-10-23 17:46:29 -07:00
Dav.php [FEATURE] Add config and use composer autoloader. 2016-10-18 18:11:41 +02:00
Directory.php use chanlink_url() in directory since the xchan might not yet be available on our server 2017-02-24 10:08:09 +01:00
Dirsearch.php pubsites: don't list dead sites 2016-11-30 01:16:44 -08:00
Display.php display page not updating after comment 2017-02-21 15:24:39 -08:00
Dreport.php allow delivery report for not just the author, but also if you're the owner and it's on your wall. 2016-10-03 20:50:13 -07:00
Editblock.php more backquotes - this should take care of most except for the array import queries 2016-10-09 16:31:04 -07:00
Editlayout.php more backquotes - this should take care of most except for the array import queries 2016-10-09 16:31:04 -07:00
Editpost.php issue #639, voting setting is lost after post is edited (also the disabling of comments) 2017-01-05 12:17:36 -08:00
Editwebpage.php more backquotes - this should take care of most except for the array import queries 2016-10-09 16:31:04 -07:00
Embedphotos.php [TASK] Update Doxyfile and fix Doxygen errors. 2016-10-13 11:27:23 +02:00
Events.php set 'adjust for viewer timezone' as the default for new events. 2017-01-02 14:13:02 -08:00
Fbrowser.php more backquotes - this should take care of most except for the array import queries 2016-10-09 16:31:04 -07:00
Feed.php
Fhublocs.php fix typos 2017-01-31 09:43:58 +01:00
File_upload.php deprecate/remove get_channel_by_nick() which is just a less generalised variant of channelx_by_nick() 2016-11-08 18:15:57 -08:00
Filer.php
Filerm.php
Filestorage.php [TASK] Update Doxyfile and fix Doxygen errors. 2016-10-13 11:27:23 +02:00
Follow.php remove obscured @ hack 2016-10-04 19:37:16 -07:00
Getfile.php issue #538 continued 2016-09-30 13:00:15 -07:00
Group.php even more backslashes 2016-10-03 22:01:14 -07:00
Hcard.php use head_add_link() for feed discovery 2017-02-21 18:58:51 -08:00
Help.php show doc section heading in titlebar 2016-12-11 21:43:27 +01:00
Home.php mod_home: if using an atoken login on the home page redirect to the channel page of the channel that owns the atoken. 2016-07-15 15:26:36 -07:00
Hostxrd.php minor theming and whitespace 2017-02-08 19:47:34 -08:00
Impel.php /storeurl/cloudurl/ 2016-08-01 17:44:21 -07:00
Import_items.php allow multiple apd's per plugin dir 2016-07-01 02:16:23 -07:00
Import.php import - get rid of 'step system', we should be able to process any import file at any time. 2017-02-05 20:46:11 -08:00
Invite.php more backquotes - this should take care of most except for the array import queries 2016-10-09 16:31:04 -07:00
Item.php rename bb2diaspora.php to markdown.php 2017-02-02 19:12:48 -08:00
Lang.php
Layouts.php remove the app $a passed to profile_load, also add profile_load to mod_wiki which should fix issue #431 2016-06-26 22:13:59 -07:00
Like.php add gen_link_id() function to selectively encode/decode the message-id component of /display/ links for message-ids that contain troublesome characters 2017-01-19 15:37:30 -08:00
Linkinfo.php when inserting a link, if the url begins with '!' ignore oembed and do everytthing old school. 2016-10-26 16:44:54 -07:00
Lockview.php testing and bug fixes virtual profile groups 2017-02-12 17:40:18 -08:00
Locs.php provide /locs link on settings page if there is more than one hubloc for this channnel *that isn't deleted*. 2016-11-05 03:31:50 -07:00
Login.php sort out some of the authentication mess - with luck this may fix the DAV auth issue which I simply could not duplicate or find a reason for. 2016-07-20 17:55:40 -07:00
Lostpass.php Unify the various mail sending instance to enotify::send() and z_mail(). Both take the same arguments. z_mail() is text only, enotify::send() provides html and text. Both are pluggable using the enotfy_send hook. 2016-10-01 03:06:01 -07:00
Magic.php some changes merged from wrong branch... new function channel_reddress() instead of hardwired generation and which fixes case-sensitivity; allow dot notation in config and pconfig utils, updated string file 2016-09-17 14:51:57 -07:00
Mail.php zidify private mail 2016-12-19 14:35:13 -08:00
Manage.php even more backslashes 2016-10-03 22:01:14 -07:00
Menu.php add a few more path macros to portable menu elements (channelurl, pageurl, storeurl and baseurl) 2016-07-31 20:14:25 -07:00
Message.php call zidify_links() when formatting bbcode for internal consumption 2016-12-19 16:06:49 -08:00
Mitem.php multi acl: port /webpages and /mitem 2016-08-04 11:23:43 +02:00
Mood.php more urlencoding of message-ids which are used in links 2017-01-18 19:36:06 -08:00
Network.php convert manual page updates to a display setting instead of a feature 2016-11-02 18:40:50 -07:00
New_channel.php Hubzilla pro: Don't offer 'custom/expert' permissions below a techlevel of 4; but any existing expert mode members are grandfathered in. 2016-08-31 19:55:45 -07:00
Nojs.php
Notes.php
Notifications.php remove the channel introduction on the system notifications page. "Hubzilla, George commented on your status 20 minutes ago". We need the channel introduction (in this case "Hubzilla," in emails for situations where one person controls a lot of channels. We don't need it on the web notification summary; where you're only viewing notifications for a single given channel. 2017-01-21 15:20:59 -08:00
Notify.php
Oembed.php convert oembed tools to use json arrays rather than json objects 2016-09-24 05:15:06 -07:00
Oep.php
Oexchange.php minor theming and whitespace 2017-02-08 19:47:34 -08:00
Online.php
Page.php remove the app $a passed to profile_load, also add profile_load to mod_wiki which should fix issue #431 2016-06-26 22:13:59 -07:00
Pconfig.php
Pdledit.php check that the advanced_theming feature is enabled before the pdledit module can be accessed. 2016-09-01 20:35:52 -07:00
Permcat.php move permcat library functions to Zlib 2017-02-07 16:43:00 -08:00
Photo.php add get_photo hook to go along with get_profile_photo hook. This allows a plugin to over-ride the permissions for cover photos or insert a different photo in place of that requested 2016-10-17 22:09:41 -07:00
Photos.php attach_delete() - remove photo resources even if the attach table row wasn't found. 2017-01-15 15:24:51 -08:00
Ping.php provide /locs link on settings page if there is more than one hubloc for this channnel *that isn't deleted*. 2016-11-05 03:31:50 -07:00
Poco.php
Poke.php
Post.php [TASK] Update Doxyfile and fix Doxygen errors. 2016-10-13 11:27:23 +02:00
Prate.php
Pretheme.php
Probe.php lots more permission work 2016-07-13 19:53:28 -07:00
Profile_photo.php Create virtual privacy groups for private profile member lists 2017-02-12 15:56:33 -08:00
Profile.php use head_add_link() for feed discovery 2017-02-21 18:58:51 -08:00
Profiles.php deleting profile vcard entries was pretty well borked 2017-02-23 20:27:12 -08:00
Profperm.php Create virtual privacy groups for private profile member lists 2017-02-12 15:56:33 -08:00
Pubsites.php redmatrix is no longer considered a supported platform and will not be listed in pubsites as of 2.x 2016-11-19 13:15:29 -08:00
Pubstream.php convert manual page updates to a display setting instead of a feature 2016-11-02 18:40:50 -07:00
Randprof.php
Rate.php ratings are gone. They can be enabled, but there is no UI for doing so at this time; and will likely only be available in a 'pro' configuration once the new implementation details have been hashed out. This appears to require a mechanism for rebuttal before it can again be opened to the public. There are also some synchronisation issues to contend with; as ratings are currently only distributed to active directory servers. There is no reliable mechanism for a new directory server to fetch existing ratings. 2016-08-25 17:43:07 -07:00
Ratings.php ratings are gone. They can be enabled, but there is no UI for doing so at this time; and will likely only be available in a 'pro' configuration once the new implementation details have been hashed out. This appears to require a mechanism for rebuttal before it can again be opened to the public. There are also some synchronisation issues to contend with; as ratings are currently only distributed to active directory servers. There is no reliable mechanism for a new directory server to fetch existing ratings. 2016-08-25 17:43:07 -07:00
Ratingsearch.php add the hidden flag also 2016-07-27 16:14:46 -07:00
Rbmark.php
React.php
README.md
Regdir.php sql: limit 1 for UPDATE and DELETE is not supported by the SQL standard and postgresql 2016-10-27 02:41:32 +02:00
Register.php Hubzilla pro: Don't offer 'custom/expert' permissions below a techlevel of 4; but any existing expert mode members are grandfathered in. 2016-08-31 19:55:45 -07:00
Regmod.php
Regver.php
Removeaccount.php null_date conversion; phase 1 2016-09-25 17:06:13 -07:00
Removeme.php null_date conversion; phase 1 2016-09-25 17:06:13 -07:00
Rmagic.php better theming of rmagic page 2017-02-05 14:45:28 -08:00
Rpost.php Merge branch 'dev' of https://github.com/git-marijus/hubzilla into git-marijus-dev 2016-08-21 16:33:59 -07:00
Search_ac.php Bring the saved search feature in line with the spec, and publish the feature spec. 2016-09-28 20:55:15 -07:00
Search.php call zidify_links() when formatting bbcode for internal consumption 2016-12-19 16:06:49 -08:00
Service_limits.php
Settings.php turn Settings page into sub-modules 2016-09-06 20:10:56 -07:00
Setup.php setup: check disabled functions more precisely than using a string match 2017-01-05 14:17:56 -08:00
Share.php
Sharedwithme.php
Siteinfo_json.php
Siteinfo.php upgraded zotlabs.com to https 2016-12-01 19:53:34 -08:00
Sitelist.php
Smilies.php
Snap.php since the snap module runs without permissions controls, verify the logged in channel matches the requested cloud path 2016-10-09 21:36:55 -07:00
Sources.php
Sslify.php there are occasional sites which use different capitalisation of Content-Type; which is rare, but completely legal. 2016-12-15 18:08:23 -08:00
Starred.php sync flags even if post has not been edited 2016-06-30 21:12:39 -07:00
Subthread.php add gen_link_id() function to selectively encode/decode the message-id component of /display/ links for message-ids that contain troublesome characters 2017-01-19 15:37:30 -08:00
Suggest.php
Tagger.php add gen_link_id() function to selectively encode/decode the message-id component of /display/ links for message-ids that contain troublesome characters 2017-01-19 15:37:30 -08:00
Tagrm.php more backticks 2016-10-03 21:48:53 -07:00
Tasks.php more backquotes - this should take care of most except for the array import queries 2016-10-09 16:31:04 -07:00
Theme_info.php put theme config into its own namespace 2016-09-01 22:20:08 -07:00
Thing.php [TASK] Update Doxyfile and fix Doxygen errors. 2016-10-13 11:27:23 +02:00
Toggle_mobile.php
Toggle_safesearch.php
Uexport.php channel export - use a selected list of functional data categories to export; this allows one to export single data sets instead of always exporting everything we know about 2017-01-31 15:28:25 -08:00
Update_channel.php fix with update with /channel?f=&mid=hash issue #461 2016-09-28 11:04:02 +02:00
Update_display.php use head_add_link() for feed discovery 2017-02-21 18:58:51 -08:00
Update_home.php
Update_network.php
Update_pubstream.php
Update_search.php
View.php
Viewconnections.php more places to use chanlink_hash() instead of chanlink_url() for profile_link 2017-02-23 10:36:00 +01:00
Viewsrc.php
Wall_attach.php more api work for item/store and doco 2016-12-02 23:09:25 -08:00
Wall_upload.php deprecate/remove get_channel_by_nick() which is just a less generalised variant of channelx_by_nick() 2016-11-08 18:15:57 -08:00
Webfinger.php
Webpages.php create first webpage as 'home' if none exist. 2016-12-25 14:40:50 -08:00
Well_known.php
Wfinger.php minor theming and whitespace 2017-02-08 19:47:34 -08:00
Wiki.php do not lock out channels with only read perms from all post actions. we check read/write permissions for each command later in the process 2017-02-21 14:52:42 +01:00
Xchan.php
Xpoco.php
Xrd.php some changes merged from wrong branch... new function channel_reddress() instead of hardwired generation and which fixes case-sensitivity; allow dot notation in config and pconfig utils, updated string file 2016-09-17 14:51:57 -07:00
Xref.php
Zfinger.php
Zotfeed.php
Zping.php

Zotlabs/Module

This directory contains controller modules for handling web requests. The lowercase class name indicates the head of the URL path which this module handles. There are other methods of attaching (routing) URL paths to controllers, but this is the primary method used in this project.

Module controllers MUST reside in this directory and namespace to be autoloaded (unless other specific routing methods are employed). They typically use and extend the class definition in Zotlabs/Web/Controller as a template.

Template:

<?php

namespace Zotlabs\Web;


class Controller {

	function init() {}
	function post() {}
	function get() {}

}

Typical Module declaration for the '/foo' URL route:

<?php
namespace Zotlabs\Module;

class Foo extends \Zotlabs\Web\Controller {

	function init() {
		// init() handler goes here
	}

	function post() {
		// post handler goes here
	}

	function get() {
		return 'Hello world.' . EOL;
	}

}

This model provides callbacks for public functions named init(), post(), and get(). init() is always called. post() is called if $_POST variables are present, and get() is called if none of the prior functions terminated the handler. The get() method typically retuns a string which represents the contents of the content region of the resulting page. Modules which emit json, xml or other machine-readable formats typically emit their contents inside the init() function and call 'killme()' to terminate the Module.

Modules are passed the URL path as argc,argv arguments. For a path such as

https://mysite.something/foo/bar/baz

The app will typically invoke the Module class 'Foo' and pass it

$x = argc(); // $x = 3

$x = argv(0); // $x = 'foo'
$x = argv(1); // $x = 'bar'
$x = argv(2); // $x = 'baz'

These are handled in a similar fashion to their counterparts in the Unix shell or C/C++ languages. Do not confuse the argc(),argv() functions with the global variables $argc,$argv which are passed to command line programs. These are handled separately by command line and Zotlabs/Daemon class functions.