mirror of
https://github.com/EGroupware/egroupware.git
synced 2025-06-24 20:01:36 +02:00
new email-address-selection popup for felamimail
This commit is contained in:
parent
3992f7eef8
commit
2409fdaae4
@ -1,316 +1,18 @@
|
|||||||
<?php
|
<?php
|
||||||
/**************************************************************************\
|
/**
|
||||||
* eGroupWare - email/addressbook *
|
* Addressbook - email popup
|
||||||
* http://www.eGroupWare.org *
|
*
|
||||||
* Originaly written by Bettina Gille [ceb@phpgroupware.org] *
|
* @deprecated use addressbook.uicontacts.emailpopup
|
||||||
* ----------------------------------------------- *
|
* @link www.egroupware.org
|
||||||
* This program is free software; you can redistribute it and/or modify it *
|
* @author Ralf Becker <RalfBecker-AT-outdoor-training.de>
|
||||||
* under the terms of the GNU General Public License as published by the *
|
* @package addressbook
|
||||||
* Free Software Foundation; either version 2 of the License, or (at your *
|
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
|
||||||
* option) any later version. *
|
* @version $Id$
|
||||||
\**************************************************************************/
|
*/
|
||||||
|
|
||||||
/* $Id$ */
|
|
||||||
|
|
||||||
$GLOBALS['egw_info']['flags'] = array(
|
$url = '../index.php?menuaction=addressbook.uicontacts.emailpopup&compat=1';
|
||||||
'noheader' => True,
|
if (isset($_GET['sessionid']) && isset($_GET['kp3']))
|
||||||
'nonavbar' => True,
|
{
|
||||||
'currentapp' => 'addressbook',
|
$url .= '&sessionid='.$_GET['sessionid'].'&kp3='.$_GET['kp3'];
|
||||||
'enable_nextmatchs_class' => True
|
}
|
||||||
);
|
header('Location: '.$url);
|
||||||
|
|
||||||
include('../header.inc.php');
|
|
||||||
|
|
||||||
// add a content-type header to overwrite an existing default charset in apache (AddDefaultCharset directiv)
|
|
||||||
header('Content-type: text/html; charset='.$GLOBALS['egw']->translation->charset());
|
|
||||||
|
|
||||||
include('templates/'.$GLOBALS['egw_info']['user']['preferences']['common']['template_set'].'/head.inc.php');
|
|
||||||
|
|
||||||
$GLOBALS['egw']->template->set_root(EGW_TEMPLATE_DIR);
|
|
||||||
$GLOBALS['egw']->template->set_file(array(
|
|
||||||
'addressbook_list_t' => 'addressbook.tpl',
|
|
||||||
));
|
|
||||||
$GLOBALS['egw']->template->set_block('addressbook_list_t','addressbook_list','list');
|
|
||||||
|
|
||||||
$contacts =& CreateObject('phpgwapi.contacts');
|
|
||||||
$cats =& CreateObject('phpgwapi.categories','','addressbook');
|
|
||||||
|
|
||||||
$include_personal = True;
|
|
||||||
|
|
||||||
$GLOBALS['egw']->template->set_var(array(
|
|
||||||
'lang_search' => lang('Search'),
|
|
||||||
'lang_select_cats' => lang('Show all categorys'),
|
|
||||||
'lang_done' => lang('Done'),
|
|
||||||
'to' => lang('To'),
|
|
||||||
'cc' => lang('Cc'),
|
|
||||||
'bcc' => lang('Bcc'),
|
|
||||||
'lang_email' => lang('Select work email address'),
|
|
||||||
'lang_hemail' => lang('Select home email address'),
|
|
||||||
'lang_to_title' => lang('Select all %1 %2 for %3')
|
|
||||||
));
|
|
||||||
|
|
||||||
$start = (int)get_var('start',array('POST','GET'),0);
|
|
||||||
$filter = get_var('filter',array('POST','GET'),'none');
|
|
||||||
$cat_id = (int)get_var('cat_id',array('POST','GET'),0);
|
|
||||||
$query = get_var('query',array('POST','GET'));
|
|
||||||
$sort = get_var('sort',array('POST','GET'));
|
|
||||||
$order = get_var('order',array('POST','GET'));
|
|
||||||
list($all) = @each($_POST['all']);
|
|
||||||
$inserted = $_GET['inserted'];
|
|
||||||
|
|
||||||
$common_vars = array(
|
|
||||||
'filter' => $filter,
|
|
||||||
'cat_id' => $cat_id,
|
|
||||||
'query' => $query,
|
|
||||||
'sort' => $sort,
|
|
||||||
'order' => $order,
|
|
||||||
);
|
|
||||||
|
|
||||||
$link = '/phpgwapi/addressbook.php';
|
|
||||||
$full_link = $GLOBALS['egw']->link($link,$common_vars+array(
|
|
||||||
'start' => $start,
|
|
||||||
));
|
|
||||||
$GLOBALS['egw']->template->set_var('form_action',$full_link);
|
|
||||||
|
|
||||||
$qfilter = 'tid=n';
|
|
||||||
switch($filter)
|
|
||||||
{
|
|
||||||
case 'none':
|
|
||||||
break;
|
|
||||||
case 'private':
|
|
||||||
$qfilter .=',access=private';
|
|
||||||
// fall-through
|
|
||||||
case 'yours':
|
|
||||||
$qfilter .= ',owner='.$GLOBALS['egw_info']['user']['account_id'];
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
if(is_numeric($filter))
|
|
||||||
{
|
|
||||||
$qfilter = ',owner='.$filter;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($cat_id)
|
|
||||||
{
|
|
||||||
$qfilter .= ',cat_id='.$cat_id;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($GLOBALS['egw_info']['user']['preferences']['common']['maxmatchs'] > 0)
|
|
||||||
{
|
|
||||||
$offset = $GLOBALS['egw_info']['user']['preferences']['common']['maxmatchs'];
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$offset = 15;
|
|
||||||
}
|
|
||||||
|
|
||||||
$account_id = $GLOBALS['egw_info']['user']['account_id'];
|
|
||||||
|
|
||||||
$cols = array (
|
|
||||||
'n_given' => 'n_given',
|
|
||||||
'n_family' => 'n_family',
|
|
||||||
'org_name' => 'org_name',
|
|
||||||
'email' => 'email',
|
|
||||||
'email_home' => 'email_home'
|
|
||||||
);
|
|
||||||
|
|
||||||
if ($all)
|
|
||||||
{
|
|
||||||
$qfilter .= ',email'.($all[0] == 'h' ? '_home' : '')."=!''";
|
|
||||||
$entries = $contacts->read(0,0,$cols,$query,$qfilter,$sort,$order);
|
|
||||||
//echo "<pre>".print_r($entries,True)."</pre>\n";
|
|
||||||
if (!$entries)
|
|
||||||
{
|
|
||||||
$all = False;
|
|
||||||
$inserted = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (!$all)
|
|
||||||
{
|
|
||||||
$entries = $contacts->read($start,$offset,$cols,$query,$qfilter,$sort,$order);
|
|
||||||
}
|
|
||||||
//------------------------------------------- nextmatch --------------------------------------------
|
|
||||||
$GLOBALS['egw']->template->set_var('left',$GLOBALS['egw']->nextmatchs->left(
|
|
||||||
$link,$start,$contacts->total_records,$GLOBALS['egw']->nextmatchs->extras_to_string($common_vars)));
|
|
||||||
$GLOBALS['egw']->template->set_var('right',$GLOBALS['egw']->nextmatchs->right(
|
|
||||||
$link,$start,$contacts->total_records,$GLOBALS['egw']->nextmatchs->extras_to_string($common_vars)));
|
|
||||||
foreach(array(
|
|
||||||
'n_given' => lang('Firstname'),
|
|
||||||
'n_family' => lang('Lastname'),
|
|
||||||
'org_name' => lang('Company'),
|
|
||||||
) as $col => $translation)
|
|
||||||
{
|
|
||||||
$GLOBALS['egw']->template->set_var('sort_'.$col,$GLOBALS['egw']->nextmatchs->show_sort_order(
|
|
||||||
$sort,$col,$order,$link,$translation,'&cat_id='.$cat_id));
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($contacts->total_records > $offset)
|
|
||||||
{
|
|
||||||
$GLOBALS['egw']->template->set_var('lang_showing',lang('showing %1 - %2 of %3',
|
|
||||||
1+$start,$start+$offset>$contacts->total_records ? $contacts->total_records : $start+$offset,
|
|
||||||
$contacts->total_records));
|
|
||||||
}
|
|
||||||
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$GLOBALS['egw']->template->set_var('lang_showing',lang('showing %1',$contacts->total_records));
|
|
||||||
}
|
|
||||||
// --------------------------------------- end nextmatch ------------------------------------------
|
|
||||||
|
|
||||||
foreach(array(
|
|
||||||
'work' => lang('work email'),
|
|
||||||
'home' => lang('home email')
|
|
||||||
) as $type => $lang_type)
|
|
||||||
{
|
|
||||||
foreach(array(
|
|
||||||
'to' => lang('To'),
|
|
||||||
'cc' => lang('Cc'),
|
|
||||||
'bcc'=> lang('Bcc')) as $target => $lang_target)
|
|
||||||
{
|
|
||||||
$GLOBALS['egw']->template->set_var('title_'.$type.'_'.$target,
|
|
||||||
lang('Insert all %1 addresses of the %2 contacts in %3',$lang_type,
|
|
||||||
$contacts->total_records,$lang_target));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// ------------------- list header variable template-declaration -----------------------
|
|
||||||
$GLOBALS['egw']->template->set_var('cats_list',$cats->formated_list('select','all',$cat_id,'True'));
|
|
||||||
|
|
||||||
$filter_list = '';
|
|
||||||
foreach(array(
|
|
||||||
'none' => lang('Show all'),
|
|
||||||
'yours' => lang('Only yours'),
|
|
||||||
'private' => lang('Only private'),
|
|
||||||
) as $id => $translation)
|
|
||||||
{
|
|
||||||
$filter_list .= "<option value=\"$id\"".($filter == $id ? ' selected':'').">$translation</option>\n";
|
|
||||||
}
|
|
||||||
$GLOBALS['egw']->template->set_var(array(
|
|
||||||
'query' => $query,
|
|
||||||
'filter_list' => $filter_list,
|
|
||||||
));
|
|
||||||
// --------------------------- end header declaration ----------------------------------
|
|
||||||
|
|
||||||
$all_emails = array();
|
|
||||||
if ($entries)
|
|
||||||
foreach ($entries as $entry)
|
|
||||||
{
|
|
||||||
$GLOBALS['egw']->template->set_var('tr_class',
|
|
||||||
$GLOBALS['egw']->nextmatchs->alternate_row_color('',True));
|
|
||||||
|
|
||||||
$firstname = $entry['n_given'];
|
|
||||||
if (!$firstname)
|
|
||||||
{
|
|
||||||
$firstname = ' ';
|
|
||||||
}
|
|
||||||
$lastname = $entry['n_family'];
|
|
||||||
if (!$lastname)
|
|
||||||
{
|
|
||||||
$lastname = ' ';
|
|
||||||
}
|
|
||||||
// thanks to dave.hall@mbox.com.au for adding company
|
|
||||||
$company = $entry['org_name'];
|
|
||||||
if (!$company)
|
|
||||||
{
|
|
||||||
$company = ' ';
|
|
||||||
}
|
|
||||||
|
|
||||||
$personal_firstname = '';
|
|
||||||
$personal_lastname = '';
|
|
||||||
$personal_part = '';
|
|
||||||
if ((isset($firstname)) &&
|
|
||||||
($firstname != '') &&
|
|
||||||
($firstname != ' '))
|
|
||||||
{
|
|
||||||
$personal_firstname = $firstname.' ';
|
|
||||||
}
|
|
||||||
if ((isset($lastname)) &&
|
|
||||||
($lastname != '') &&
|
|
||||||
($lastname != ' '))
|
|
||||||
{
|
|
||||||
$personal_lastname = $lastname;
|
|
||||||
}
|
|
||||||
$personal_part = $personal_firstname.$personal_lastname;
|
|
||||||
|
|
||||||
if (($personal_part == '') ||
|
|
||||||
($include_personal == False))
|
|
||||||
{
|
|
||||||
$id = $entry['id'];
|
|
||||||
$email = $entry['email'];
|
|
||||||
$hemail = $entry['email_home'];
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$id = $entry['id'];
|
|
||||||
if ((isset($entry['email'])) &&
|
|
||||||
(trim($entry['email']) != ''))
|
|
||||||
{
|
|
||||||
$email = '"'.$personal_part.'" <'.$entry['email'].'>';
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$email = $entry['email'];
|
|
||||||
}
|
|
||||||
if ((isset($entry['email_home'])) &&
|
|
||||||
(trim($entry['email_home']) != ''))
|
|
||||||
{
|
|
||||||
$hemail = '"'.$personal_part.'" <'.$entry['email_home'].'>';
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$hemail = $entry['email_home'];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if ($all)
|
|
||||||
{
|
|
||||||
$all_emails[] = $all[0] == 'h' ? $hemail : $email;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$email = htmlspecialchars($email);
|
|
||||||
$hemail = htmlspecialchars($hemail);
|
|
||||||
|
|
||||||
// --------------------- template declaration for list records --------------------------
|
|
||||||
$GLOBALS['egw']->template->set_var(array(
|
|
||||||
'firstname' => $firstname,
|
|
||||||
'lastname' => $lastname,
|
|
||||||
'company' => $company
|
|
||||||
));
|
|
||||||
|
|
||||||
$GLOBALS['egw']->template->set_var('id',$id);
|
|
||||||
$GLOBALS['egw']->template->set_var('email',$email);
|
|
||||||
$GLOBALS['egw']->template->set_var('hemail',$hemail);
|
|
||||||
|
|
||||||
$GLOBALS['egw']->template->parse('list','addressbook_list',True);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// --------------------------- end record declaration ---------------------------
|
|
||||||
|
|
||||||
if ($all && count($all_emails))
|
|
||||||
{
|
|
||||||
$full_link .= '&inserted='.count($all_emails);
|
|
||||||
$target = substr($all,1);
|
|
||||||
echo "<script type=\"text/javascript\">
|
|
||||||
if (opener.document.doit.$target.value != '')
|
|
||||||
{
|
|
||||||
opener.document.doit.$target.value += ',';
|
|
||||||
}
|
|
||||||
opener.document.doit.$target.value += '".str_replace("'","\\'",implode(',',$all_emails))."';
|
|
||||||
window.location.href = '$full_link';
|
|
||||||
</script>
|
|
||||||
</body>
|
|
||||||
</html>\n";
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if ($inserted || $inserted === 0)
|
|
||||||
{
|
|
||||||
$GLOBALS['egw']->template->set_var('message','<b>'.
|
|
||||||
lang('%1 email addresses inserted',(int)$_GET['inserted']).'</b>');
|
|
||||||
}
|
|
||||||
$GLOBALS['egw']->template->parse('out','addressbook_list_t',True);
|
|
||||||
$GLOBALS['egw']->template->p('out');
|
|
||||||
}
|
|
||||||
$GLOBALS['egw']->common->egw_exit();
|
|
||||||
?>
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user