moving to documentation module
[squirrelmail.git] / plugins / spamcop / setup.php
CommitLineData
772be735 1<?php
91e0dccc 2/**
f3a91d6b 3 * setup.php -- SpamCop plugin - setup script
4 *
9eb3fcb3 5 * @copyright (c) 1999-2005 The SquirrelMail Project Team
f3a91d6b 6 * @license http://opensource.org/licenses/gpl-license.php GNU Public License
7 * @version $Id$
8 * @package plugins
9 * @subpackage spamcop
10 */
772be735 11
ea5f4b8e 12/** @ignore */
0dabfa7f 13require_once(SM_PATH . 'functions/global.php');
14
057e9d6e 15/** Disable Quick Reporting by default */
16$spamcop_quick_report = false;
0dabfa7f 17
f3a91d6b 18/**
91e0dccc 19 * Initialize the plugin
f3a91d6b 20 * @access private
21 */
772be735 22function squirrelmail_plugin_init_spamcop() {
91e0dccc 23 global $squirrelmail_plugin_hooks, $spamcop_is_composing;
772be735 24
91e0dccc 25 $squirrelmail_plugin_hooks['optpage_register_block']['spamcop'] =
26 'spamcop_options';
27 $squirrelmail_plugin_hooks['loading_prefs']['spamcop'] =
28 'spamcop_load';
29 $squirrelmail_plugin_hooks['read_body_header_right']['spamcop'] =
30 'spamcop_show_link';
04f6008a 31
3267e4d8 32 sqgetGlobalVar('spamcop_is_composing' , $spamcop_is_composing);
91e0dccc 33
34 if (isset($spamcop_is_composing)) {
35 $squirrelmail_plugin_hooks['compose_send']['spamcop'] =
36 'spamcop_while_sending';
37 }
772be735 38}
39
40
9a422982 41/**
42 * Loads spamcop settings and validates some of values (make '' into 'default', etc.)
f3a91d6b 43 * @access private
9a422982 44 */
772be735 45function spamcop_load() {
91e0dccc 46 global $username, $data_dir, $spamcop_enabled, $spamcop_delete,
47 $spamcop_method, $spamcop_id, $spamcop_quick_report, $spamcop_type;
48
49 $spamcop_enabled = getPref($data_dir, $username, 'spamcop_enabled');
50 $spamcop_delete = getPref($data_dir, $username, 'spamcop_delete');
51 $spamcop_method = getPref($data_dir, $username, 'spamcop_method');
52 $spamcop_type = getPref($data_dir, $username, 'spamcop_type');
53 $spamcop_id = getPref($data_dir, $username, 'spamcop_id');
057e9d6e 54 if ($spamcop_method == '') {
91e0dccc 55 // Default to web_form. It is faster.
56 $spamcop_method = 'web_form';
57 setPref($data_dir, $username, 'spamcop_method', $spamcop_method);
58 }
59 if (! $spamcop_quick_report && $spamcop_method=='quick_email') {
60 $spamcop_method = 'web_form';
61 setPref($data_dir, $username, 'spamcop_method', $spamcop_method);
057e9d6e 62 }
91e0dccc 63 if ($spamcop_type == '') {
64 $spamcop_type = 'free';
65 setPref($data_dir, $username, 'spamcop_type', $spamcop_type);
66 }
67 if ($spamcop_id == '')
68 $spamcop_enabled = 0;
772be735 69}
70
71
9a422982 72/**
73 * Shows spamcop link on the read-a-message screen
f3a91d6b 74 * @access private
9a422982 75 */
772be735 76function spamcop_show_link() {
91e0dccc 77 global $spamcop_enabled, $spamcop_method, $spamcop_quick_report,$javascript_on;
772be735 78
91e0dccc 79 if (! $spamcop_enabled)
80 return;
772be735 81
91e0dccc 82 /* GLOBALS */
83 sqgetGlobalVar('passed_id', $passed_id, SQ_FORM);
84 sqgetGlobalVar('passed_ent_id',$passed_ent_id,SQ_FORM);
85 sqgetGlobalVar('mailbox', $mailbox, SQ_FORM);
a6d3eff6 86 if ( sqgetGlobalVar('startMessage', $startMessage, SQ_FORM) ) {
87 $startMessage = (int)$startMessage;
88 }
91e0dccc 89 /* END GLOBALS */
04f6008a 90
91e0dccc 91 // catch unset passed_ent_id
92 if (! sqgetGlobalVar('passed_ent_id', $passed_ent_id, SQ_FORM) ) {
93 $passed_ent_id = 0;
94 }
9a422982 95
91e0dccc 96 echo "<br />\n";
057e9d6e 97
91e0dccc 98 /*
99 Catch situation when user use quick_email and does not update
100 preferences. User gets web_form link. If prefs are set to
057e9d6e 101 quick_email format - they will be updated after clicking the link
102 */
103 if (! $spamcop_quick_report && $spamcop_method=='quick_email') {
91e0dccc 104 $spamcop_method = 'web_form';
057e9d6e 105 }
91e0dccc 106
9a422982 107 // Javascript is used only in web based reporting
108 // don't insert javascript if javascript is disabled
91e0dccc 109 if ($spamcop_method == 'web_form' && $javascript_on) {
8ddc4111 110?><script language="javascript" type="text/javascript">
6fd95361 111document.write('<a href="../plugins/spamcop/spamcop.php?passed_id=<?php echo urlencode($passed_id); ?>&amp;js_web=1&amp;mailbox=<?php echo urlencode($mailbox); ?>&amp;passed_ent_id=<?php echo urlencode($passed_ent_id); ?>" target="_blank">');
112document.write("<?php echo _("Report as Spam"); ?>");
772be735 113document.write("</a>");
6fd95361 114</script><?php
91e0dccc 115 } else {
6fd95361 116?><a href="../plugins/spamcop/spamcop.php?passed_id=<?php echo urlencode($passed_id); ?>&amp;mailbox=<?php echo urlencode($mailbox); ?>&amp;startMessage=<?php echo urlencode($startMessage); ?>&amp;passed_ent_id=<?php echo urlencode($passed_ent_id); ?>">
117<?php echo _("Report as Spam"); ?></a>
118<?php
91e0dccc 119 }
772be735 120}
121
9a422982 122/**
123 * Show spamcop options block
f3a91d6b 124 * @access private
9a422982 125 */
772be735 126function spamcop_options()
127{
91e0dccc 128 global $optpage_blocks;
129
130 $optpage_blocks[] = array(
131 'name' => _("SpamCop - Spam Reporting"),
132 'url' => '../plugins/spamcop/options.php',
133 'desc' => _("Help fight the battle against unsolicited email. SpamCop reads the spam email and determines the correct addresses to send complaints to. Quite fast, really smart, and easy to use."),
134 'js' => false
135 );
772be735 136}
137
138
9a422982 139/**
140 * When we send the email, we optionally trash it then too
f3a91d6b 141 * @access private
9a422982 142 */
772be735 143function spamcop_while_sending()
144{
91e0dccc 145 global $mailbox, $spamcop_delete, $spamcop_is_composing, $auto_expunge,
146 $username, $key, $imapServerAddress, $imapPort;
147
148 if ($spamcop_delete) {
149 $imapConnection = sqimap_login($username, $key, $imapServerAddress,
150 $imapPort, 0);
151 sqimap_mailbox_select($imapConnection, $mailbox);
f20fb4f8 152 sqimap_msgs_list_delete($imapConnection, $mailbox, array($spamcop_is_composing));
91e0dccc 153 if ($auto_expunge)
154 sqimap_mailbox_expunge($imapConnection, $mailbox, true);
155 }
772be735 156}
157
057e9d6e 158?>