streams/Zotlabs/Module
2016-12-01 02:44:01 -08:00
..
Admin provide a fresh new look and cleaner layout and more relevant information to siteinfo 2016-11-29 15:47:38 -08:00
Settings issue #607 parens not recognised inside urls 2016-12-01 02:44:01 -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 full revert, that wasn't working at all. Not sure why. 2016-10-21 14:27:29 -07: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 move apps to zlib 2016-05-22 19:25:27 -07:00
Apps.php remove duplicated include 2016-08-29 21:21:09 -07:00
Attach.php issue #538 continued 2016-09-29 16:20:26 -07:00
Authtest.php module updates 2016-04-18 20:38:38 -07:00
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 module updates 2016-04-18 20:38:38 -07:00
Branchtopic.php module updates 2016-04-18 20:38:38 -07:00
Cal.php SECURITY: public calendar leaks connection information (birthdays) when view_contacts is not allowed 2016-11-14 13:55:31 -08:00
Channel.php convert manual page updates to a display setting instead of a feature 2016-11-02 18:40:50 -07: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 multi acl: port /rpost 2016-08-05 13:20:03 +02:00
Chatsvc.php move chatroom stuff to zlib 2016-05-22 20:54:52 -07:00
Cloud.php [TASK] Update Doxyfile and fix Doxygen errors. 2016-10-13 11:27:23 +02: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 renamed include files identity.php (channel.php) and Contact.php (connections.php) 2016-05-22 16:54:30 -07:00
Connedit.php This isn't the most elegant solution as it requires a bit of arcane knowledge, but provide a way to step through connections with a specific tab/panel open in the connection editor. It does not close the default panel, but merely opens the one specified by a &section= URL parameter (closing the default panel would require a major refactoring of the default panel logic). Valid choices for section currently are affinity, filter, and perms. This tab/panel selection should persist across form posting and 'prev/next'. 2016-11-29 18:41:34 -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 minor 2016-10-12 20:41:59 -07:00
Dirsearch.php pubsites: don't list dead sites 2016-11-30 01:16:44 -08:00
Display.php convert manual page updates to a display setting instead of a feature 2016-11-02 18:40:50 -07: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 send "hidden" edit activities to networks which don't support edits themselves 2016-10-25 20:43:24 -07: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 issue #576 - duplicate events shown 2016-11-02 19:26:02 -07: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 turn the oft-repeated block_public ... check into a function observer_prohibited() 2016-05-22 17:52:30 -07:00
Ffsapi.php module updates 2016-04-18 20:38:38 -07:00
Fhublocs.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
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 more db column renames 2016-05-31 21:45:33 -07:00
Filerm.php more db column renames 2016-05-31 21:45:33 -07:00
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 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
Help.php Add ability to include page assets in documentation pages such as images. Updated Personal Channel tutorial to use local images using this new capability. 2016-11-27 13:43:07 -07: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 convert all the _well_known service controllers which are a bit touchy when it comes to the router 2016-04-18 01:35:09 -07:00
Impel.php /storeurl/cloudurl/ 2016-08-01 17:44:21 -07:00
Import.php consolidate duplicated code for creating table entries from an array 2016-10-12 22:12:58 -07:00
Import_items.php allow multiple apd's per plugin dir 2016-07-01 02:16:23 -07: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 issue #607 parens not recognised inside urls 2016-12-01 02:44:01 -08:00
Lang.php module updates 2016-04-18 20:38:38 -07:00
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 sql: limit 1 for UPDATE and DELETE is not supported by the SQL standard and postgresql 2016-10-27 02:41:32 +02: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 even more backslashes 2016-10-03 22:01:14 -07: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 a bit more background work to support private mail preview 2016-11-08 16:25:36 -08:00
Manage.php even more backslashes 2016-10-03 22:01:14 -07:00
Match.php more backquotes - this should take care of most except for the array import queries 2016-10-09 16:31:04 -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 renamed include files identity.php (channel.php) and Contact.php (connections.php) 2016-05-22 16:54:30 -07:00
Mitem.php multi acl: port /webpages and /mitem 2016-08-04 11:23:43 +02:00
Mood.php daemon conversion continued... 2016-05-19 22:26:37 -07: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 revert the reversal of checkjs logic, but still restrict the behaviour scope to just those urls that require it 2016-04-20 22:10:00 -07:00
Notes.php module updates 2016-04-18 20:38:38 -07:00
Notifications.php more backticks 2016-10-03 21:48:53 -07:00
Notify.php the rest of the schema updates - WARNING: some third party plugins may fail; e.g. embedphotos and chess. $item['object'] is now $item['obj'] and $photo['type'] is $photo['mimetype'], $photo['scale'] is $photo['imgscale'] and $photo['data'] is now $photo['content']. There are a number of other changes, but these are the ones noted to cause issues with third-party plugins. The project plugins have been updated. Please note any new issues as this effort touched a lot of code in a lot of files. 2016-06-01 21:48:54 -07:00
Oembed.php convert oembed tools to use json arrays rather than json objects 2016-09-24 05:15:06 -07:00
Oep.php the rest of the schema updates - WARNING: some third party plugins may fail; e.g. embedphotos and chess. $item['object'] is now $item['obj'] and $photo['type'] is $photo['mimetype'], $photo['scale'] is $photo['imgscale'] and $photo['data'] is now $photo['content']. There are a number of other changes, but these are the ones noted to cause issues with third-party plugins. The project plugins have been updated. Please note any new issues as this effort touched a lot of code in a lot of files. 2016-06-01 21:48:54 -07:00
Oexchange.php module updates 2016-04-18 20:38:38 -07:00
Online.php module updates 2016-04-18 20:38:38 -07:00
Opensearch.php module updates 2016-04-18 20:38:38 -07:00
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 missing class instance pointer in Pconfig module upgrade 2016-04-19 19:09:35 -07:00
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
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 sql: limit 1 for UPDATE and DELETE is not supported by the SQL standard and postgresql 2016-10-27 02:41:32 +02: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 module updates 2016-04-18 20:38:38 -07:00
Poke.php the rest of the schema updates - WARNING: some third party plugins may fail; e.g. embedphotos and chess. $item['object'] is now $item['obj'] and $photo['type'] is $photo['mimetype'], $photo['scale'] is $photo['imgscale'] and $photo['data'] is now $photo['content']. There are a number of other changes, but these are the ones noted to cause issues with third-party plugins. The project plugins have been updated. Please note any new issues as this effort touched a lot of code in a lot of files. 2016-06-01 21:48:54 -07:00
Post.php [TASK] Update Doxyfile and fix Doxygen errors. 2016-10-13 11:27:23 +02:00
Prate.php daemon conversion continued... 2016-05-19 22:26:37 -07:00
Pretheme.php module updates 2016-04-18 20:38:38 -07:00
Probe.php lots more permission work 2016-07-13 19:53:28 -07:00
Profile.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
Profile_photo.php profile photo issue on postgres 2016-10-23 20:01:39 -07:00
Profiles.php Postgres complaining again ... 2016-10-22 05:52:29 +02:00
Profperm.php more backquotes - this should take care of most except for the array import queries 2016-10-09 16:31:04 -07: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 renamed include files identity.php (channel.php) and Contact.php (connections.php) 2016-05-22 16:54:30 -07:00
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 module updates 2016-04-18 20:38:38 -07:00
React.php short-term solution to emoji size issue - make them 32px from the sender 2016-06-04 15:53:30 -07:00
README.md readme for the module directory, also provide an undocumented way to reset the timestamp on connection photos to force a refresh without messing with the database directly. 2016-06-14 17:04:29 -07:00
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 module updates 2016-04-18 20:38:38 -07:00
Regver.php module updates 2016-04-18 20:38:38 -07:00
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 github didn't accept the last push. Touching the files to force a git revision 2016-07-27 22:40:33 -07: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
Rsd_xml.php rework the conversation object stuff at a high level - still needs a bit of refactoring 2016-05-20 22:52:47 -07:00
Search.php convert manual page updates to a display setting instead of a feature 2016-11-02 18:40:50 -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
Service_limits.php module updates 2016-04-18 20:38:38 -07:00
Settings.php turn Settings page into sub-modules 2016-09-06 20:10:56 -07:00
Setup.php update setup and install documents for PDO and the freebsd issue with 2016-10-27 19:02:27 -07:00
Share.php the rest of the schema updates - WARNING: some third party plugins may fail; e.g. embedphotos and chess. $item['object'] is now $item['obj'] and $photo['type'] is $photo['mimetype'], $photo['scale'] is $photo['imgscale'] and $photo['data'] is now $photo['content']. There are a number of other changes, but these are the ones noted to cause issues with third-party plugins. The project plugins have been updated. Please note any new issues as this effort touched a lot of code in a lot of files. 2016-06-01 21:48:54 -07:00
Sharedwithme.php the rest of the schema updates - WARNING: some third party plugins may fail; e.g. embedphotos and chess. $item['object'] is now $item['obj'] and $photo['type'] is $photo['mimetype'], $photo['scale'] is $photo['imgscale'] and $photo['data'] is now $photo['content']. There are a number of other changes, but these are the ones noted to cause issues with third-party plugins. The project plugins have been updated. Please note any new issues as this effort touched a lot of code in a lot of files. 2016-06-01 21:48:54 -07:00
Siteinfo.php This isn't the most elegant solution as it requires a bit of arcane knowledge, but provide a way to step through connections with a specific tab/panel open in the connection editor. It does not close the default panel, but merely opens the one specified by a &section= URL parameter (closing the default panel would require a major refactoring of the default panel logic). Valid choices for section currently are affinity, filter, and perms. This tab/panel selection should persist across form posting and 'prev/next'. 2016-11-29 18:41:34 -08:00
Siteinfo_json.php module updates 2016-04-18 20:38:38 -07:00
Sitelist.php module updates 2016-04-18 20:38:38 -07:00
Smilies.php module updates 2016-04-18 20:38:38 -07:00
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 sort out the rest of the source categories 2016-05-02 01:18:18 -07:00
Sslify.php module updates 2016-04-18 20:38:38 -07:00
Starred.php sync flags even if post has not been edited 2016-06-30 21:12:39 -07:00
Subthread.php the rest of the schema updates - WARNING: some third party plugins may fail; e.g. embedphotos and chess. $item['object'] is now $item['obj'] and $photo['type'] is $photo['mimetype'], $photo['scale'] is $photo['imgscale'] and $photo['data'] is now $photo['content']. There are a number of other changes, but these are the ones noted to cause issues with third-party plugins. The project plugins have been updated. Please note any new issues as this effort touched a lot of code in a lot of files. 2016-06-01 21:48:54 -07:00
Suggest.php module updates 2016-04-18 20:38:38 -07:00
Tagger.php delivery invoked twice in mod_tagger, once in post_activity_item() and another at the main module level 2016-07-01 20:46:57 -07: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 module updates 2016-04-18 20:38:38 -07:00
Toggle_safesearch.php module updates 2016-04-18 20:38:38 -07:00
Uexport.php 1. provide automatic relocation of important links in items that are imported or synced to clones 2016-06-21 18:24:36 -07: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 module updates 2016-04-18 20:38:38 -07:00
Update_home.php module updates 2016-04-18 20:38:38 -07:00
Update_network.php module updates 2016-04-18 20:38:38 -07:00
Update_pubstream.php try again with shutdown handler, fix issue #373 (live-pubstream div wasn't present 2016-05-10 01:30:22 -07:00
Update_search.php module updates 2016-04-18 20:38:38 -07:00
View.php module updates 2016-04-18 20:38:38 -07:00
Viewconnections.php readability 2016-06-28 20:48:43 -07:00
Viewsrc.php update icon names in Zotlabs/ 2016-05-01 04:13:30 +10:00
Wall_attach.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
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 module updates 2016-04-18 20:38:38 -07:00
Webpages.php more get rid of illegal offset in include/conversation 2016-09-08 22:33:39 -07:00
Well_known.php convert all the _well_known service controllers which are a bit touchy when it comes to the router 2016-04-18 01:35:09 -07:00
Wfinger.php convert all the _well_known service controllers which are a bit touchy when it comes to the router 2016-04-18 01:35:09 -07:00
Wiki.php do not call purify_html() at this place 2016-11-30 15:13:06 +01:00
Xchan.php module updates 2016-04-18 20:38:38 -07:00
Xpoco.php module updates 2016-04-18 20:38:38 -07:00
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 module updates 2016-04-18 20:38:38 -07:00
Zfinger.php convert all the _well_known service controllers which are a bit touchy when it comes to the router 2016-04-18 01:35:09 -07:00
Zotfeed.php turn the oft-repeated block_public ... check into a function observer_prohibited() 2016-05-22 17:52:30 -07:00
Zping.php module updates 2016-04-18 20:38:38 -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.