adding address book block
[squirrelmail.git] / plugins / spamcop / setup.php
CommitLineData
772be735 1<?php
f3a91d6b 2/**
3 * setup.php -- SpamCop plugin - setup script
4 *
5 * @copyright (c) 1999-2004 The SquirrelMail development team
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/**
19 * Initialize the plugin
20 * @access private
21 */
772be735 22function squirrelmail_plugin_init_spamcop() {
ce68b76b 23 global $squirrelmail_plugin_hooks, $spamcop_is_composing;
772be735 24
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);
772be735 33
34 if (isset($spamcop_is_composing)) {
35 $squirrelmail_plugin_hooks['compose_send']['spamcop'] =
36 'spamcop_while_sending';
37 }
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() {
46 global $username, $data_dir, $spamcop_enabled, $spamcop_delete,
9a422982 47 $spamcop_method, $spamcop_id, $spamcop_quick_report, $spamcop_type;
772be735 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');
9a422982 52 $spamcop_type = getPref($data_dir, $username, 'spamcop_type');
772be735 53 $spamcop_id = getPref($data_dir, $username, 'spamcop_id');
057e9d6e 54 if ($spamcop_method == '') {
9a422982 55 // Default to web_form. It is faster.
057e9d6e 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);
772be735 62 }
9a422982 63 if ($spamcop_type == '') {
64 $spamcop_type = 'free';
65 setPref($data_dir, $username, 'spamcop_type', $spamcop_type);
66 }
772be735 67 if ($spamcop_id == '')
68 $spamcop_enabled = 0;
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() {
9a422982 77 global $spamcop_enabled, $spamcop_method, $spamcop_quick_report,$javascript_on;
772be735 78
79 if (! $spamcop_enabled)
80 return;
81
04f6008a 82 /* GLOBALS */
555d97ec 83 sqgetGlobalVar('passed_id', $passed_id, SQ_FORM);
9a422982 84 sqgetGlobalVar('passed_ent_id',$passed_ent_id,SQ_FORM);
555d97ec 85 sqgetGlobalVar('mailbox', $mailbox, SQ_FORM);
86 sqgetGlobalVar('startMessage', $startMessage, SQ_FORM);
04f6008a 87 /* END GLOBALS */
88
9a422982 89 // catch unset passed_ent_id
90 if (! sqgetGlobalVar('passed_ent_id', $passed_ent_id, SQ_FORM) ) {
91 $passed_ent_id = 0;
92 }
93
6fd95361 94 echo "<br />\n";
057e9d6e 95
96 /*
97 Catch situation when user use quick_email and does not update
98 preferences. User gets web_form link. If prefs are set to
99 quick_email format - they will be updated after clicking the link
100 */
101 if (! $spamcop_quick_report && $spamcop_method=='quick_email') {
102 $spamcop_method = 'web_form';
103 }
772be735 104
9a422982 105 // Javascript is used only in web based reporting
106 // don't insert javascript if javascript is disabled
107 if ($spamcop_method == 'web_form' && $javascript_on) {
8ddc4111 108?><script language="javascript" type="text/javascript">
6fd95361 109document.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">');
110document.write("<?php echo _("Report as Spam"); ?>");
772be735 111document.write("</a>");
6fd95361 112</script><?php
772be735 113 } else {
6fd95361 114?><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); ?>">
115<?php echo _("Report as Spam"); ?></a>
116<?php
772be735 117 }
118}
119
9a422982 120/**
121 * Show spamcop options block
f3a91d6b 122 * @access private
9a422982 123 */
772be735 124function spamcop_options()
125{
126 global $optpage_blocks;
127
128 $optpage_blocks[] = array(
129 'name' => _("SpamCop - Spam Reporting"),
130 'url' => '../plugins/spamcop/options.php',
99aaff8b 131 '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."),
772be735 132 'js' => false
133 );
134}
135
136
9a422982 137/**
138 * When we send the email, we optionally trash it then too
f3a91d6b 139 * @access private
9a422982 140 */
772be735 141function spamcop_while_sending()
142{
143 global $mailbox, $spamcop_delete, $spamcop_is_composing, $auto_expunge,
144 $username, $key, $imapServerAddress, $imapPort;
145
146 if ($spamcop_delete) {
147 $imapConnection = sqimap_login($username, $key, $imapServerAddress,
148 $imapPort, 0);
149 sqimap_mailbox_select($imapConnection, $mailbox);
150 sqimap_messages_delete($imapConnection, $spamcop_is_composing,
151 $spamcop_is_composing, $mailbox);
152 if ($auto_expunge)
153 sqimap_mailbox_expunge($imapConnection, $mailbox, true);
154 }
155}
156
057e9d6e 157?>