X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=doc%2Fplugin.txt;h=1e619385a8ba1d8479a12e0a751c1b3aedeb6b6d;hb=a9d9162ade658a28d4aff9531b89764da640b34f;hp=a316b3144fc170c3a27c0eaf43aa0e9a81215a20;hpb=a3a95e4aab94c690ebf1dce81fe5cbf37baf7063;p=squirrelmail.git diff --git a/doc/plugin.txt b/doc/plugin.txt index a316b314..1e619385 100644 --- a/doc/plugin.txt +++ b/doc/plugin.txt @@ -1,3 +1,14 @@ +$Id$ + +It is best if you check out the SquirrelMail development FAQ for more +information. This document may be obsoleted at some point in the future (or +maybe we'll write a script to get the wiki contents and dump them in here +automatically). + +FAQ -> http://www.squirrelmail.org/wiki/wiki.php?DeveloperFAQ +Plugin Hooks -> http://www.squirrelmail.org/wiki/wiki.php?DevelopingPlugins + + A FEW NOTES ON THE PLUGIN ARCHITECTURE ====================================== @@ -91,6 +102,8 @@ List of hooks menuline functions/page_header.php compose_button_row src/compose.php compose_bottom src/compose.php + compose_form src/compose.php + compose_send src/compose.php left_main_before src/left_main.php left_main_after src/left_main.php * options_save src/options.php (see note on options) @@ -105,19 +118,31 @@ List of hooks * options_folders_bottom src/options_folders.php * options_folders_inside src/options_folders.php * options_folders_save src/options_folders.php + & options_identities_process src/options_identities.php + & options_identities_top src/options_identities.php + & options_identities_renumber src/options_identities.php (multiple places) + & options_identities_table src/options_identities.php + & options_identities_buttons src/options_identities.php logout src/signout.php + logout_above_text src/signout.php login_before src/webmail.php login_verified src/webmail.php loading_prefs src/load_prefs.php mailbox_index_before functions/mailbox_display.php mailbox_index_after functions/mailbox_display.php mailbox_form_before functions/mailbox_display.php + subject_link functions/mailbox_display.php + motd src/right_main.php right_main_after_header src/right_main.php right_main_bottom src/right_main.php login_top src/login.php login_bottom src/login.php + html_top src/read_body.php read_body_top src/read_body.php read_body_bottom src/read_body.php + html_bottom src/read_body.php + read_body_header src/read_body.php + read_body_header_right src/read_body.php search_before_form src/search.php search_after_form src/search.php search_bottom src/search.php @@ -167,10 +192,11 @@ three hooks you will need to use. 1. options_link_and_description This creates the link and has a description that are shown on the options - page. This should output HTML that looks like this: + page. This should output HTML that looks like this. Make sure to read + the section on outputting your own pages. -----cut here----- - function my_function() { + function my_plugin_name_my_function() { global $color ?> @@ -205,6 +231,33 @@ three hooks you will need to use. src/load_prefs.php +(&) Identity Hooks +------------------ +Some hooks are passed special information in the array of arguments. See +the SpamCop plugin for how to use them. + +options_identities_process + [0] = Hook's name + [1] = Should I run the SaveUpdateFunction() (alterable) + +options_identities_renumber + [0] = Hook's name + [1] = Renumber it from ('default' or 1 through # idents - 1) + [2] = Renumber it to (same thing) + +options_identities_table + [0] = Hook's name + [1] = Color of table (use it like > in your + plugin) + [2] = Is this an empty section? + [3] = What is the 'post' value? + +options_identities_buttons + [0] = Hook's name + [1] = Is this an empty section (the one at the end of the list)? + [2] = What is the 'post' value? + + (^) Attachment Hooks -------------------- When a message has attachments, this hook is called with the MIME types. For @@ -221,11 +274,46 @@ This is a breakdown of the data passed in the array to the hook that is called: [4] = Mailbox name, urlencode()'d (urlMailbox) [5] = Entity ID inside mail message (ent) [6] = Default URL to go to when filename is clicked on (Alterable) - [7] = Sent if message was found from a search (where) - [8] = Sent if message was found from a search (what) + [7] = Filename that is displayed for the attachment + [8] = Sent if message was found from a search (where) + [9] = Sent if message was found from a search (what) To set up links for actions, you assign them like this: $Args[1]['your_plugin_name']['href'] = 'URL to link to'; $Args[1]['your_plugin_name']['text'] = 'What to display'; - \ No newline at end of file + + +Outputting Your Own Pages +------------------------- + +Often, when you want to provide your own customized options screen or create +another web page instead of just using standard hooks, you will be creating +your own .php files. An example of this is the attachment_common plugin's +image.php file. + +To make sure that security is maintained and standards are followed, the top +of your PHP script should look very similar to this: + +