moving to documentation module
[squirrelmail.git] / plugins / spamcop / setup.php
... / ...
CommitLineData
1<?php
2/**
3 * setup.php -- SpamCop plugin - setup script
4 *
5 * @copyright (c) 1999-2005 The SquirrelMail Project Team
6 * @license http://opensource.org/licenses/gpl-license.php GNU Public License
7 * @version $Id$
8 * @package plugins
9 * @subpackage spamcop
10 */
11
12/** @ignore */
13require_once(SM_PATH . 'functions/global.php');
14
15/** Disable Quick Reporting by default */
16$spamcop_quick_report = false;
17
18/**
19 * Initialize the plugin
20 * @access private
21 */
22function squirrelmail_plugin_init_spamcop() {
23 global $squirrelmail_plugin_hooks, $spamcop_is_composing;
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';
31
32 sqgetGlobalVar('spamcop_is_composing' , $spamcop_is_composing);
33
34 if (isset($spamcop_is_composing)) {
35 $squirrelmail_plugin_hooks['compose_send']['spamcop'] =
36 'spamcop_while_sending';
37 }
38}
39
40
41/**
42 * Loads spamcop settings and validates some of values (make '' into 'default', etc.)
43 * @access private
44 */
45function spamcop_load() {
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');
54 if ($spamcop_method == '') {
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);
62 }
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;
69}
70
71
72/**
73 * Shows spamcop link on the read-a-message screen
74 * @access private
75 */
76function spamcop_show_link() {
77 global $spamcop_enabled, $spamcop_method, $spamcop_quick_report,$javascript_on;
78
79 if (! $spamcop_enabled)
80 return;
81
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);
86 if ( sqgetGlobalVar('startMessage', $startMessage, SQ_FORM) ) {
87 $startMessage = (int)$startMessage;
88 }
89 /* END GLOBALS */
90
91 // catch unset passed_ent_id
92 if (! sqgetGlobalVar('passed_ent_id', $passed_ent_id, SQ_FORM) ) {
93 $passed_ent_id = 0;
94 }
95
96 echo "<br />\n";
97
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
101 quick_email format - they will be updated after clicking the link
102 */
103 if (! $spamcop_quick_report && $spamcop_method=='quick_email') {
104 $spamcop_method = 'web_form';
105 }
106
107 // Javascript is used only in web based reporting
108 // don't insert javascript if javascript is disabled
109 if ($spamcop_method == 'web_form' && $javascript_on) {
110?><script language="javascript" type="text/javascript">
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"); ?>");
113document.write("</a>");
114</script><?php
115 } else {
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
119 }
120}
121
122/**
123 * Show spamcop options block
124 * @access private
125 */
126function spamcop_options()
127{
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 );
136}
137
138
139/**
140 * When we send the email, we optionally trash it then too
141 * @access private
142 */
143function spamcop_while_sending()
144{
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);
152 sqimap_msgs_list_delete($imapConnection, $mailbox, array($spamcop_is_composing));
153 if ($auto_expunge)
154 sqimap_mailbox_expunge($imapConnection, $mailbox, true);
155 }
156}
157
158?>