<?php
-/* Path for SquirrelMail required files. */
+/**
+ * setup.php
+ *
+ * Copyright (c) 1999-2003 The SquirrelMail Project Team
+ * Licensed under the GNU GPL. For full terms see the file COPYING.
+ *
+ * Address Take -- steals addresses from incoming email messages. Searches
+ * the To, Cc, From and Reply-To headers, also searches the body of the
+ * message.
+ *
+ * $Id$
+ */
+
if (!defined('SM_PATH')) {
- define('SM_PATH','../../');
+ define('SM_PATH','../../');
}
/* SquirrelMail required files. */
require_once(SM_PATH . 'functions/url_parser.php');
-/* Address Take -- steals addresses from incoming email messages. Searches
- the To, Cc, From and Reply-To headers, also searches the body of the
- message. */
-
function squirrelmail_plugin_init_abook_take()
{
- global $squirrelmail_plugin_hooks;
+ global $squirrelmail_plugin_hooks;
- $squirrelmail_plugin_hooks['read_body_bottom']['abook_take'] = 'abook_take_read';
- $squirrelmail_plugin_hooks['loading_prefs']['abook_take'] = 'abook_take_pref';
- $squirrelmail_plugin_hooks['options_display_inside']['abook_take'] = 'abook_take_options';
- $squirrelmail_plugin_hooks['options_display_save']['abook_take'] = 'abook_take_save';
+ $squirrelmail_plugin_hooks['read_body_bottom']['abook_take'] = 'abook_take_read';
+ $squirrelmail_plugin_hooks['loading_prefs']['abook_take'] = 'abook_take_pref';
+ $squirrelmail_plugin_hooks['options_display_inside']['abook_take'] = 'abook_take_options';
+ $squirrelmail_plugin_hooks['options_display_save']['abook_take'] = 'abook_take_save';
}
-
function valid_email ($email, $verify)
{
- global $abook_take_verify, $Email_RegExp_Match;
+ global $Email_RegExp_Match;
- if (! eregi('^' . $Email_RegExp_Match . '$', $email))
- return false;
+ if (! eregi('^' . $Email_RegExp_Match . '$', $email))
+ return false;
- if (! $verify)
- return true;
+ if (! $verify)
+ return true;
- if (! checkdnsrr(substr(strstr($email, '@'), 1), 'ANY'))
- return false;
-
- return true;
+ return checkdnsrr(substr(strstr($email, '@'), 1), 'ANY') ;
}
-
function abook_take_read_string($str)
{
- global $abook_found_email, $Email_RegExp_Match;
-
+ global $abook_found_email, $Email_RegExp_Match;
+
+ while (eregi('(' . $Email_RegExp_Match . ')', $str, $hits))
+ {
+ $str = substr(strstr($str, $hits[0]), strlen($hits[0]));
+ if (! isset($abook_found_email[$hits[0]]))
+ {
+ echo '<input type="hidden" name="email[]" value="' .
+ htmlspecialchars($hits[0]) . "\" />\n";
+ $abook_found_email[$hits[0]] = 1;
+ }
+ }
- while (eregi('(' . $Email_RegExp_Match . ')', $str, $hits))
- {
- $str = substr(strstr($str, $hits[0]), strlen($hits[0]));
- if (! isset($abook_found_email[$hits[0]]))
- {
- echo "<input type=\"hidden\" name=\"email[]\" value=\"$hits[0]\">\n";
- $abook_found_email[$hits[0]] = 1;
- }
- }
- return;
+ return;
}
-
function abook_take_read_array($array)
{
- $i = 0;
- while ($i < count($array))
- {
- abook_take_read_string($array[$i]->getAddress());
- $i ++;
- }
+ foreach ($array as $item)
+ abook_take_read_string($item->getAddress());
}
-
function abook_take_read()
{
- global $color, $abook_take_location;
- global $body, $abook_take_hide, $message, $imapConnection;
+ global $message;
- if ($abook_take_hide)
- return;
-
- echo '<form action="../plugins/abook_take/take.php" method="post">' . "\n" .
- html_tag( 'table', '', $abook_take_location, $color[10], 'cellpadding="3" cellspacing="0" border="0"' ) .
- html_tag( 'tr' ) .
- html_tag( 'td', '', 'left' ) .
- html_tag( 'table', '', '', $color[5], 'cellpadding="2" cellspacing="1" border="0"' ) .
- html_tag( 'tr' ) .
- html_tag( 'td' );
-
- if (isset($message->rfc822_header->from))
- abook_take_read_array($message->rfc822_header->from);
- if (isset($message->rfc822_header->cc))
- abook_take_read_array($message->rfc822_header->cc);
- if (isset($message->rfc822_header->reply_to))
- abook_take_read_array($message->rfc822_header->reply_to);
- if (isset($message->rfc822_header->to))
- abook_take_read_array($message->rfc822_header->to);
-
-
- $new_body = $body;
- $pos = strpos($new_body,
- '">' . _("Download this as a file") . '</a></center><br></small>');
- if (is_int($pos))
- {
- $new_body = substr($new_body, 0, $pos);
- }
-
- $trans = get_html_translation_table(HTML_ENTITIES);
- $trans[' '] = ' ';
- $trans = array_flip($trans);
- $new_body = strtr($new_body, $trans);
-
- $new_body = urldecode($new_body);
- $new_body = strip_tags($new_body);
-
- $new_body = strtr($new_body, "\n", ' ');
-
- abook_take_read_string($body);
-
- echo '<input type="submit" value="' . _("Take Address") . '">';
- ?>
- </td>
- </tr>
- </table>
- </td>
- </tr>
- </table>
- </form>
- <?PHP
+ echo '<br /><form action="../plugins/abook_take/take.php" method="post"><center>'."\n";
+
+ if (isset($message->rfc822_header->reply_to))
+ abook_take_read_array($message->rfc822_header->reply_to);
+ if (isset($message->rfc822_header->from))
+ abook_take_read_array($message->rfc822_header->from);
+ if (isset($message->rfc822_header->cc))
+ abook_take_read_array($message->rfc822_header->cc);
+ if (isset($message->rfc822_header->to))
+ abook_take_read_array($message->rfc822_header->to);
+
+ echo '<input type="submit" value="' . _("Take Address") . '" />' .
+ '</center></form>';
}
function abook_take_pref()
{
- global $username, $data_dir;
- global $abook_take_hide, $abook_take_location, $abook_take_verify;
+ global $username, $data_dir, $abook_take_verify;
- $abook_take_location = getPref($data_dir, $username, 'abook_take_location');
- if ($abook_take_location == '')
- $abook_take_location = 'center';
-
- $abook_take_hide = getPref($data_dir, $username, 'abook_take_hide');
- $abook_take_verify = getPref($data_dir, $username, 'abook_take_verify');
+ $abook_take_verify = getPref($data_dir, $username, 'abook_take_verify');
}
-
function abook_take_options()
{
- global $abook_take_location, $abook_take_hide, $abook_take_verify;
-
- echo html_tag( 'tr' ) .
- html_tag( 'td', _("Address Book Take") . ':', 'right', '', 'nowrap valign="top"' ) .
- html_tag( 'td', '', 'left' ) .
- '<select name="abook_take_abook_take_location">' .
- '<option value="left"';
- if ($abook_take_location == 'left')
- echo ' selected';
- echo '>' . _("Left aligned") . '</option>' .
- '<option value="center"';
- if ($abook_take_location == 'center')
- echo ' selected';
- echo '>' . _("Centered") . '</option>' .
- '<option value="right"';
- if ($abook_take_location == 'right')
- echo ' selected';
- echo '>' . _("Right aligned") . '</option>' .
- '</select> ' . _("on the Read screen") .'<br>' .
- '<input type="checkbox" name="abook_take_abook_take_hide"';
- if ($abook_take_hide)
- echo ' checked';
- echo '> ' . _("Hide the box") . '<br>' .
- '<input type=checkbox name="abook_take_abook_take_verify"';
- if ($abook_take_verify)
- echo ' checked';
- echo '> ' . _("Try to verify addresses") . '</td></tr>';
+ global $abook_take_verify;
+
+ echo '<tr><td align="right" nowrap>' . _("Address Book Take:") . "</td>\n" .
+ '<td><input name="abook_take_abook_take_verify" type="checkbox"';
+ if (isset($abook_take_verify) && $abook_take_verify)
+ echo ' checked';
+ echo ' /> ' . _("Try to verify addresses") . "</td></tr>\n";
}
function abook_take_save()
{
- global $username, $data_dir;
- global $abook_take_abook_take_location;
- global $abook_take_abook_take_hide;
- global $abook_take_abook_take_verify;
-
+ global $username, $data_dir;
- if (isset($abook_take_abook_take_location))
- {
- setPref($data_dir, $username, 'abook_take_location', $abook_take_abook_take_location);
- }
- else
- {
- setPref($data_dir, $username, 'abook_take_location', 'center');
- }
-
- if (isset($abook_take_abook_take_hide))
- {
- setPref($data_dir, $username, 'abook_take_hide', '1');
- }
- else
- {
- setPref($data_dir, $username, 'abook_take_hide', '');
- }
-
- if (isset($abook_take_abook_take_verify))
- {
- setPref($data_dir, $username, 'abook_take_verify', '1');
- }
- else
- {
- setPref($data_dir, $username, 'abook_take_verify', '');
- }
+ if (sqgetGlobalVar('abook_take_abook_take_verify', $abook_take_abook_take_verify, SQ_POST))
+ setPref($data_dir, $username, 'abook_take_verify', '1');
+ else
+ setPref($data_dir, $username, 'abook_take_verify', '');
}
?>
<?php
- /**
- * take.php
- *
- * Adds a "taken" address to the address book. Takes addresses from
- * incoming mail -- the body, To, From, Cc, or Reply-To.
- */
+/**
+ * take.php
+ *
+ * Copyright (c) 1999-2003 The SquirrelMail Project Team
+ * Licensed under the GNU GPL. For full terms see the file COPYING.
+ *
+ * Address Take -- steals addresses from incoming email messages. Searches
+ * the To, Cc, From and Reply-To headers.
+ *
+ * $Id$
+ */
/* Path for SquirrelMail required files. */
define('SM_PATH','../../');
require_once(SM_PATH . 'functions/html.php');
displayPageHeader($color, 'None');
-
+
+/* input form data */
+sqgetGlobalVar('email', $email, SQ_POST);
+
$abook_take_verify = getPref($data_dir, $username, 'abook_take_verify');
$abook = addressbook_init(false, true);
$name = 'addaddr';
+
echo '<form action="../../src/addressbook.php" name="f_add" method="post">' ."\n" .
html_tag( 'table',
html_tag( 'tr',
html_tag( 'td', _("E-mail address") . ':', 'right', $color[4], 'width="50"' ) . "\n" .
html_tag( 'td', '', 'left', $color[4] ) .
'<select name="' . $name . "[email]\">\n";
- foreach ($email as $Val)
- {
- if (valid_email($Val, $abook_take_verify))
- {
- echo '<option value="' . htmlspecialchars($Val) .
- '">' . htmlspecialchars($Val) . "</option>\n";
- }
- else
- {
- echo '<option value="' . htmlspecialchars($Val) .
+
+ foreach ($email as $Val)
+ {
+ if (valid_email($Val, $abook_take_verify))
+ {
+ echo '<option value="' . htmlspecialchars($Val) .
+ '">' . htmlspecialchars($Val) . "</option>\n";
+ } else {
+ echo '<option value="' . htmlspecialchars($Val) .
'">FAIL - ' . htmlspecialchars($Val) . "</option>\n";
- }
- }
- echo '</select></td></tr>' . "\n" .
+ }
+ }
+ echo '</select></td></tr>' . "\n" .
- html_tag( 'tr', "\n" .
- html_tag( 'td', _("First name") . ':', 'right', $color[4], 'width="50"' ) .
- html_tag( 'td', '<input name="' . $name . '[firstname]" size="45" value="">', 'left', $color[4] )
- ) . "\n" .
- html_tag( 'tr', "\n" .
- html_tag( 'td', _("Last name") . ':', 'right', $color[4], 'width="50"' ) .
- html_tag( 'td', '<input name="' . $name . '[lastname]" size="45" value="">', 'left', $color[4] )
- ) . "\n" .
- html_tag( 'tr', "\n" .
- html_tag( 'td', _("Additional info") . ':', 'right', $color[4], 'width="50"' ) .
- html_tag( 'td', '<input name="' . $name . '[label]" size="45" value="">', 'left', $color[4] )
- ) . "\n" .
- html_tag( 'tr', "\n" .
- html_tag( 'td',
- '<input type="submit" name="' . $name . '[SUBMIT]" size="45" value="'. _("Add address") .'">' ,
- 'center', $color[4], 'colspan="2"' )
- ) . "\n" .
- '</table>';
+ html_tag( 'tr', "\n" .
+ html_tag( 'td', _("First name") . ':', 'right', $color[4], 'width="50"' ) .
+ html_tag( 'td', '<input name="' . $name . '[firstname]" size="45" value="">', 'left', $color[4] )
+ ) . "\n" .
+ html_tag( 'tr', "\n" .
+ html_tag( 'td', _("Last name") . ':', 'right', $color[4], 'width="50"' ) .
+ html_tag( 'td', '<input name="' . $name . '[lastname]" size="45" value="">', 'left', $color[4] )
+ ) . "\n" .
+ html_tag( 'tr', "\n" .
+ html_tag( 'td', _("Additional info") . ':', 'right', $color[4], 'width="50"' ) .
+ html_tag( 'td', '<input name="' . $name . '[label]" size="45" value="">', 'left', $color[4] )
+ ) . "\n" .
+ html_tag( 'tr', "\n" .
+ html_tag( 'td',
+ '<input type="submit" name="' . $name . '[SUBMIT]" size="45" value="'. _("Add address") .'">' ,
+ 'center', $color[4], 'colspan="2"' )
+ ) . "\n" .
+ '</table>';
?>
</form></body>
</html>