streams/Zotlabs/Module
2019-11-21 17:34:49 -08:00
..
Admin obscure the RSS contact feature until we find a way to federate the message-ids to Z6 and AP. 2019-11-18 19:08:46 -08:00
Settings activitypub default enable 2019-10-26 15:53:43 -07:00
Acl.php cleanup 2019-11-20 18:50:05 -08:00
Activity.php wrong time format specifier 2019-11-08 12:16:29 -08:00
Admin.php fixes from upstream 2019-02-17 21:45:31 -08:00
Affinity.php affinity tool -> friend zoom; alter xchan_query to return results in hubloc_primary desc order; as hublocs have been seen in the wild with no primary 2019-07-29 19:33:36 -07:00
Ap_probe.php cleanup 2019-05-27 20:50:05 -07:00
Api.php scrutinizer issues: none worthy of including in 3.0, there will likely be a few hundred more before all is said and done. 2018-01-08 14:45:21 -08:00
Appman.php cleanup 2019-06-16 23:05:15 -07:00
Apporder.php allow apps to be pinned,featured or both. Also some channel settings cleanup 2019-10-02 21:38:32 -07:00
Apps.php Merge branch 'red' into dev 2018-09-18 20:51:38 -07:00
Apschema.php nomadic and trheading updates 2019-09-26 17:05:30 -07:00
Attach.php check code rights on cloud files 2017-09-05 21:38:07 -07:00
Authorize.php add client_name to oauth2 storage 2019-08-04 17:30:07 -07:00
Block.php start libprofile 2019-04-17 16:54:06 -07:00
Blocks.php start libprofile 2019-04-17 16:54:06 -07:00
Cal.php parse error 2019-10-03 12:56:49 -07:00
Calendar.php cleanup - filter "unsafe" entries from driectory tag cloud 2019-06-20 23:17:04 -07:00
Card_edit.php appify categories 2019-03-24 20:08:23 -07:00
Cards.php start libprofile 2019-04-17 16:54:06 -07:00
Categories.php start libprofile 2019-04-17 16:54:06 -07:00
Cdav.php calendar fixes 2019-05-13 16:59:50 -07:00
Changeaddr.php cleanup 2019-04-16 23:31:36 -07:00
Channel.php wrong time format specifier 2019-11-08 12:16:29 -08:00
Chanview.php regression in socgraph 2018-10-15 19:29:32 -07:00
Chat.php start libprofile 2019-04-17 16:54:06 -07:00
Chatsvc.php we must now provide the full path to the profile image for the cavatar plugin to work 2018-05-15 10:20:20 +02:00
Clients.php appify oauth2 2019-10-09 22:51:48 -07:00
Cloud.php support as:sensitive 2019-10-17 18:09:40 -07:00
Cloud_tiles.php make most recent cloud_tiles setting for local channels persistent across logins 2017-11-07 19:34:00 -08:00
Common.php start libprofile 2019-04-17 16:54:06 -07:00
Connect.php start libprofile 2019-04-17 16:54:06 -07:00
Connections.php abook_alias 2019-09-11 20:41:16 -07:00
Connedit.php abook_alias 2019-09-11 20:41:16 -07:00
Contactgroup.php make public lists discoverable 2019-10-01 18:29:39 -07:00
Content_filter.php update help text for content filters 2019-03-19 17:23:33 -07:00
Cover_photo.php alias tagging issue 2019-09-19 15:30:17 -07:00
Dav.php update zotsh to work with owa 2019-08-14 17:03:22 -07:00
Defperms.php updates 2019-01-18 13:04:05 -08:00
Dircensor.php directory issue 2019-06-30 19:10:12 -07:00
Directory.php Updates and fixes 2019-09-22 20:56:30 -07:00
Dirsearch.php Updates and fixes 2019-09-22 20:56:30 -07:00
Display.php fixes to public search refactoring 2019-10-06 13:29:01 -07:00
Dreport.php peertube improvements, missing host in dreport 2018-10-15 18:27:03 -07:00
Editblock.php start libprofile 2019-04-17 16:54:06 -07:00
Editlayout.php start libprofile 2019-04-17 16:54:06 -07:00
Editpost.php the rest of the stuff to support collections 2019-04-03 16:22:03 -07:00
Editwebpage.php start libprofile 2019-04-17 16:54:06 -07:00
Email_resend.php Merge remote-tracking branch 'mike/master' into dev 2018-01-28 00:18:29 +01:00
Email_validation.php several email validation issues 2018-02-28 21:15:26 -08:00
Embed.php cleanup 2019-04-14 22:31:07 -07:00
Embedphotos.php photos widget issue 2019-06-24 18:59:27 -07:00
Event.php wrong time format specifier 2019-11-08 12:16:29 -08:00
Events.php parse error 2019-10-03 12:56:49 -07:00
Expire.php cleanup 2019-09-29 17:17:40 -07:00
Fbrowser.php port photo lib updates 2019-04-15 23:43:06 -07:00
Feed.php fix feeds 2019-06-10 23:39:17 -07:00
File_upload.php split off libsync from libzot 2018-06-04 18:40:11 -07:00
Filer.php more heavy lifting 2018-05-31 21:05:09 -07:00
Filerm.php more db column renames 2016-05-31 21:45:33 -07:00
Filestorage.php fix guest file (creator) delete 2019-02-19 13:04:28 -08:00
Finger.php cleanup 2019-04-14 22:31:07 -07:00
Follow.php wrong time format specifier 2019-11-08 12:16:29 -08:00
Followers.php wrong time format specifier 2019-11-08 12:16:29 -08:00
Following.php wrong time format specifier 2019-11-08 12:16:29 -08:00
Getfile.php file sync issues 2019-06-11 17:27:31 -07:00
Hashtags.php cleanup 2019-04-14 22:31:07 -07:00
Hcard.php start libprofile 2019-04-17 16:54:06 -07:00
Help.php start the doco rewrite 2019-10-28 16:47:55 -07:00
Home.php the rest of the bits 2018-10-10 17:58:51 -07:00
Hostxrd.php minor theming and whitespace 2017-02-08 19:47:34 -08:00
Hq.php cleanup - filter "unsafe" entries from driectory tag cloud 2019-06-20 23:17:04 -07:00
Id.php activitypub default enable 2019-10-26 15:53:43 -07:00
Impel.php use urlify from composer 2019-04-11 23:59:44 -07:00
Import.php reconnect singletons 2019-10-13 15:49:50 -07:00
Import_items.php improve expiration +cleanup 2019-05-29 16:29:55 -07:00
Inbox.php wrong logic operator 2019-11-07 19:05:58 -08:00
Inspect.php minor issue with inspector and add xchan/hubloc inspector 2019-04-28 23:03:48 -07:00
Invite.php remove old twitter stuff 2019-04-15 21:55:59 -07:00
Item.php wrong time format specifier 2019-11-08 12:16:29 -08:00
Jwks.php more openid work 2019-10-10 18:34:44 -07:00
Lang.php appification of the lang module 2018-09-16 09:30:07 +02:00
Layouts.php the only thing worse than no doco is bad doco 2019-05-26 19:55:08 -07:00
Like.php a couple of issue with liking profiles 2019-06-16 20:35:47 -07:00
Linkinfo.php more ocap stuff 2019-09-29 19:20:09 -07:00
Lists.php wrong time format specifier 2019-11-08 12:16:29 -08:00
Lockview.php some early dev work for dm support 2019-06-18 19:21:31 -07:00
Locs.php add moderated permission 2019-02-28 15:14:22 -08:00
Login.php refactor the 'where does the register link point?' logic 2018-05-14 19:19:25 -07:00
Logout.php channel delegation: push current identity and pop it on logout from the delegated channel. This fixes the known issue of being forced to log back in after leaving the delegated channel. 2018-04-11 17:40:04 -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 cleanup 2019-04-11 20:26:38 -07:00
Manage.php more work on channel manager 2019-10-05 01:07:02 -07:00
Menu.php start libprofile 2019-04-17 16:54:06 -07:00
Message.php move libzot to class 2018-05-31 19:42:13 -07:00
Mitem.php start libprofile 2019-04-17 16:54:06 -07:00
Moderate.php let people know there's nothing in the moderation queue if the query returns empty 2019-03-27 20:30:12 -07:00
Mood.php add item uuid 2019-02-19 14:59:22 -08:00
Network.php use DM for group posting 2019-10-13 16:22:40 -07:00
New_channel.php the only thing worse than no doco is bad doco 2019-05-26 19:55:08 -07:00
Nocomment.php nocomment app 2019-06-11 20:40:25 -07:00
Notes.php tasks and notes 2019-06-24 17:35:12 -07:00
Notifications.php add summary field to item table 2018-07-15 18:31:39 -07:00
Notify.php some more work on mod hq 2017-11-18 22:16:06 +01:00
Nullbox.php connect perms 2018-08-29 02:19:32 -07:00
Oauthinfo.php more openid work 2019-10-10 18:34:44 -07:00
Oembed.php add rel=noopener to all external target _blank links 2017-06-14 16:56:13 +02:00
Oep.php add portable_id to share attributes in some cases 2019-05-13 20:28:56 -07:00
Oexchange.php minor theming and whitespace 2017-02-08 19:47:34 -08:00
Online.php support expire plus misc cleanup 2019-05-28 16:42:32 -07:00
Outbox.php wrong time format specifier 2019-11-08 12:16:29 -08:00
Owa.php issues with autoperms, rewrite owa, upstream fixes to main.js 2019-01-23 14:27:51 -08:00
Page.php start libprofile 2019-04-17 16:54:06 -07:00
Pconfig.php update obscurify 2019-04-04 19:55:17 -07:00
Pdledit.php move articles to addons, allow addons to provide module pdl files. 2018-07-08 18:33:55 -07:00
Permcat.php move permcat library functions to Zlib 2017-02-07 16:43:00 -08:00
Photo.php wrong time format specifier 2019-11-08 12:16:29 -08:00
Photomap.php more app work 2019-06-30 23:36:03 -07:00
Photos.php photo album sort options 2019-10-22 22:54:19 -07:00
Ping.php rev update 2019-09-21 23:18:20 -07:00
Poco.php cleanup 2019-04-14 23:50:49 -07:00
Poke.php Merge branch 'red' into dev 2018-09-18 20:51:38 -07:00
Poster.php make notes widget fixed height because it still doesn't play well with stickykit and I've wasted too much time trying to bludgeon it into submission. 2019-06-25 16:11:22 -07:00
Pretheme.php module updates 2016-04-18 20:38:38 -07:00
Profile.php wrong time format specifier 2019-11-08 12:16:29 -08:00
Profile_photo.php cleanup 2019-09-17 21:25:26 -07:00
Profiles.php assorted fixes for assorted stuff 2019-08-25 17:35:14 -07:00
Profperm.php start libprofile 2019-04-17 16:54:06 -07:00
Pubsites.php a bit of pubsites cleanup 2019-05-21 22:04:53 -07:00
Pubstream.php deprecate public stream uids calculations 2019-10-06 13:07:41 -07:00
Q.php cloud perms and location independent content searching 2019-02-19 12:31:39 -08:00
Randprof.php convert randprof to use chanlink_hash() instead of chanlink_url() and filter sys channels by xchan.xchan_system instead of xchan_addr != sys@% 2017-06-03 10:13:42 +02:00
React.php reactions 2019-05-02 21:21:10 -07:00
README.md fix feeds 2019-06-10 23:39:17 -07:00
Regdir.php better signature handling 2018-10-09 21:08:57 -07:00
Register.php issue with bb_parse_app 2019-11-21 02:32:22 -08:00
Regmod.php refactor the 'where does the register link point?' logic 2018-05-14 19:19:25 -07:00
Regver.php module updates 2016-04-18 20:38:38 -07:00
Removeaccount.php Deprecate global channel removal. There are a few issues which need to be addressed. The first of which is a mechanism to tell other servers to destroy your clones. The second is securing this against forgery attempts. In its current form a lot of your data is removed from around the network but the channel clones themselves may remain. 2019-06-04 23:27:11 -07:00
Removeme.php Deprecate global channel removal. There are a few issues which need to be addressed. The first of which is a mechanism to tell other servers to destroy your clones. The second is securing this against forgery attempts. In its current form a lot of your data is removed from around the network but the channel clones themselves may remain. 2019-06-04 23:27:11 -07:00
Rmagic.php mangled urls on redirects 2018-07-18 17:05:38 -07:00
Rpost.php get_rpost_path() moved to a static class method and was still being referenced as a global 2019-05-07 21:50:02 -07:00
Safe.php consolidate safe mode settings 2019-10-03 13:22:59 -07:00
Search.php public search sql error, convert more br self-closing tags to html5 2019-11-21 17:34:49 -08:00
Search_ac.php cleanup, link modal issue 2019-05-23 16:37:56 -07:00
Service_limits.php module updates 2016-04-18 20:38:38 -07:00
Settings.php groups 2019-10-11 16:45:04 -07:00
Setup.php zot objs 2019-04-19 14:34:47 -07:00
Share.php add item uuid 2019-02-19 14:59:22 -08:00
Sharedwithme.php remove profile_tabs() which has been deprecated and replaced by channel_apps() 2018-09-13 10:59:37 +02:00
Siteinfo.php icon update 2019-11-14 19:15:52 -08:00
Sitelist.php cleanup 2019-05-05 23:38:29 -07:00
Smilies.php module updates 2016-04-18 20:38:38 -07:00
Sources.php prevent json-ld bombing, turn off browser autocomplete on channel sources creation 2018-08-11 16:16:54 -07:00
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 split off libsync from libzot 2018-06-04 18:40:11 -07:00
Subthread.php typo 2019-06-12 20:57:28 -07:00
Suggestions.php fix suggestion ignore redirection and update zotsh 2019-08-13 19:42:32 -07:00
Tagger.php split off libsync from libzot 2018-06-04 18:40:11 -07:00
Tagrm.php more backticks 2016-10-03 21:48:53 -07:00
Tasks.php turn tasks into an app 2019-06-29 19:23:31 -07:00
Theme_info.php put theme config into its own namespace 2016-09-01 22:20:08 -07:00
Thing.php start libprofile 2019-04-17 16:54:06 -07:00
Toggle_safesearch.php module updates 2016-04-18 20:38:38 -07:00
Token.php Fixes to OAuth2 connect-with-openid. Add zothash Claim. Add zotwebbie Claim. 2018-08-10 12:01:05 -04:00
Uexport.php cleanup, link modal issue 2019-05-23 16:37:56 -07:00
Update.php cleanup 2019-04-14 22:31:07 -07:00
Userinfo.php updates 2019-01-18 13:04:05 -08:00
View.php module updates 2016-04-18 20:38:38 -07:00
Viewconnections.php misc fixes 2019-07-11 22:03:17 -07:00
Viewsrc.php more ocap stuff 2019-09-29 19:20:09 -07:00
Wall_attach.php svg mopup 2019-11-06 02:15:38 -08:00
Wall_upload.php port photo lib updates 2019-04-15 23:43:06 -07:00
Webfinger.php activitypub default enable 2019-10-26 15:53:43 -07:00
Webpages.php start libprofile 2019-04-17 16:54:06 -07:00
Well_known.php start the doco rewrite 2019-10-28 16:47:55 -07:00
Xchan.php module updates 2016-04-18 20:38:38 -07:00
Xref.php module updates 2016-04-18 20:38:38 -07:00
Zot.php add more schema validation to clone sync activities 2018-11-19 17:30:22 -08:00
Zot_probe.php debug x-zot: protocol requests 2019-02-18 17:28:29 -08:00
Zotfeed.php oauth work 2019-10-09 17:34:18 -07:00
Zotfinger.php more cleanup 2019-04-14 23:41:26 -07:00

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.