mirror of
https://github.com/EGroupware/egroupware.git
synced 2025-03-12 14:09:19 +01:00
- a few buxfixes
- new view dialog
This commit is contained in:
parent
b51c7496e6
commit
cda193ba66
@ -17,7 +17,7 @@ require_once(EGW_INCLUDE_ROOT.'/addressbook/inc/class.socontacts.inc.php');
|
|||||||
/**
|
/**
|
||||||
* General business object of the adressbook
|
* General business object of the adressbook
|
||||||
*
|
*
|
||||||
* @package adressbook
|
* @package addressbook
|
||||||
* @author Cornelius Weiss <egw@von-und-zu-weiss.de>
|
* @author Cornelius Weiss <egw@von-und-zu-weiss.de>
|
||||||
* @copyright (c) 2005 by Cornelius Weiss <egw@von-und-zu-weiss.de>
|
* @copyright (c) 2005 by Cornelius Weiss <egw@von-und-zu-weiss.de>
|
||||||
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
|
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
|
||||||
@ -124,8 +124,7 @@ class bocontacts extends socontacts
|
|||||||
// last modified
|
// last modified
|
||||||
$contact['last_mod'] = time();
|
$contact['last_mod'] = time();
|
||||||
// only owner can set access status
|
// only owner can set access status
|
||||||
$contact['access'] = $contact['owner'] == $this->user ? (!empty($contact['access']) ? $contact['access'] : 'public') : 'public';
|
$contact['access'] = $contact['owner'] == $this->user ? ($contact['private'] ? 'private': 'public') : $contact['access'];
|
||||||
$contact['private'] = $contact['owner'] == $this->user ? $contact['private'] : 0;
|
|
||||||
// convert bithdate format
|
// convert bithdate format
|
||||||
$tmp_bday = $contact['bday'];
|
$tmp_bday = $contact['bday'];
|
||||||
$contact['bday'] = $contact['bday'] ? date('m/d/Y',$contact['bday']) : '';
|
$contact['bday'] = $contact['bday'] ? date('m/d/Y',$contact['bday']) : '';
|
||||||
@ -135,12 +134,19 @@ class bocontacts extends socontacts
|
|||||||
($contact['n_middle'] ? ' '.$contact['n_middle'] : '').
|
($contact['n_middle'] ? ' '.$contact['n_middle'] : '').
|
||||||
($contact['n_family'] ? ' '.$contact['n_family'] : '').
|
($contact['n_family'] ? ' '.$contact['n_family'] : '').
|
||||||
($contact['n_suffix'] ? ' '.$contact['n_suffix'] : '');
|
($contact['n_suffix'] ? ' '.$contact['n_suffix'] : '');
|
||||||
|
// for some bad historical reasons we mainfileds saved in cf :-(((
|
||||||
|
$data['#ophone'] = $data['ophone']; unset($data['ophone']);
|
||||||
|
$data['#address2'] = $data['address2']; unset($data['address2']);
|
||||||
|
$data['#address3'] = $data['address3']; unset($data['address3']);
|
||||||
|
|
||||||
$error_nr = parent::save($contact);
|
$error_nr = parent::save($contact);
|
||||||
|
|
||||||
//reconvert bday as we are dealing with references
|
//reconvert bday as we are dealing with references
|
||||||
$contact['bday'] = $tmp_bday;
|
$contact['bday'] = $tmp_bday;
|
||||||
|
// for some bad historical reasons we mainfileds saved in cf :-(((
|
||||||
|
$data['ophone'] = $data['#ophone']; unset($data['#ophone']);
|
||||||
|
$data['address2'] = $data['#address2']; unset($data['#address2']);
|
||||||
|
$data['address3'] = $data['#address3']; unset($data['#address3']);
|
||||||
$contact['msg'] = $error_nr ?
|
$contact['msg'] = $error_nr ?
|
||||||
lang('Something went wrong by saving this contact. Errorcode %1',$error_nr) :
|
lang('Something went wrong by saving this contact. Errorcode %1',$error_nr) :
|
||||||
lang('Contact saved');
|
lang('Contact saved');
|
||||||
@ -173,8 +179,11 @@ class bocontacts extends socontacts
|
|||||||
list($m,$d,$y) = explode('/',$data['bday']);
|
list($m,$d,$y) = explode('/',$data['bday']);
|
||||||
$data['bday'] = strpos($data['bday'],'/') ? mktime(0,0,0,$m,$d,$y) : '';
|
$data['bday'] = strpos($data['bday'],'/') ? mktime(0,0,0,$m,$d,$y) : '';
|
||||||
// convert access into private for historical reasons
|
// convert access into private for historical reasons
|
||||||
$data['private'] = $data['access'] == 'private' ? 1 : $data['private'];
|
$data['private'] = $data['access'] == 'private' ? 1 : 0;
|
||||||
$data['access'] = $data['private'] ? 'private' : 'public';
|
// for some bad historical reasons we mainfileds saved in cf :-(((
|
||||||
|
$data['ophone'] = $data['#ophone']; unset($data['#ophone']);
|
||||||
|
$data['address2'] = $data['#address2']; unset($data['#address2']);
|
||||||
|
$data['address3'] = $data['#address3']; unset($data['#address3']);
|
||||||
|
|
||||||
return $data;
|
return $data;
|
||||||
}
|
}
|
||||||
|
@ -19,7 +19,7 @@ require_once(EGW_INCLUDE_ROOT.'/phpgwapi/inc/class.contacts.inc.php');
|
|||||||
* This makes it compatible with vars and parameters of so_sql
|
* This makes it compatible with vars and parameters of so_sql
|
||||||
* Maybe one day this becomes a generalized ldap storage object :-)
|
* Maybe one day this becomes a generalized ldap storage object :-)
|
||||||
*
|
*
|
||||||
* @package contacts
|
* @package addressbook
|
||||||
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
|
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
|
||||||
*/
|
*/
|
||||||
class so_ldap extends contacts
|
class so_ldap extends contacts
|
||||||
|
@ -598,8 +598,8 @@
|
|||||||
|
|
||||||
$actions = '<a href="'
|
$actions = '<a href="'
|
||||||
. $GLOBALS['egw']->link('/index.php',array(
|
. $GLOBALS['egw']->link('/index.php',array(
|
||||||
'menuaction' => 'addressbook.uiaddressbook.view',
|
'menuaction' => 'addressbook.uicontacts.view',
|
||||||
'ab_id' => $entries[$i]['id']
|
'contact_id' => $entries[$i]['id'],
|
||||||
))
|
))
|
||||||
. '"><img src="'
|
. '"><img src="'
|
||||||
. $GLOBALS['egw']->common->image('addressbook','view')
|
. $GLOBALS['egw']->common->image('addressbook','view')
|
||||||
|
@ -17,7 +17,7 @@ require_once(EGW_INCLUDE_ROOT.'/addressbook/inc/class.bocontacts.inc.php');
|
|||||||
/**
|
/**
|
||||||
* General user interface object of the adressbook
|
* General user interface object of the adressbook
|
||||||
*
|
*
|
||||||
* @package adressbook
|
* @package addressbook
|
||||||
* @author Cornelius Weiss <egw@von-und-zu-weiss.de>
|
* @author Cornelius Weiss <egw@von-und-zu-weiss.de>
|
||||||
* @copyright (c) 2005 by Cornelius Weiss <egw@von-und-zu-weiss.de>
|
* @copyright (c) 2005 by Cornelius Weiss <egw@von-und-zu-weiss.de>
|
||||||
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
|
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
|
||||||
@ -27,6 +27,7 @@ class uicontacts extends bocontacts
|
|||||||
var $public_functions = array(
|
var $public_functions = array(
|
||||||
'search' => True,
|
'search' => True,
|
||||||
'edit' => True,
|
'edit' => True,
|
||||||
|
'view' => True,
|
||||||
);
|
);
|
||||||
|
|
||||||
function uicontacts($contact_app='addressbook')
|
function uicontacts($contact_app='addressbook')
|
||||||
@ -50,6 +51,11 @@ class uicontacts extends bocontacts
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param int $_GET['contact_id'] contact_id manly for popup use
|
||||||
|
* @param bool $_GET['makecp'] ture if you want do copy the contact given by $_GET['contact_id']
|
||||||
|
*/
|
||||||
function edit($content='')
|
function edit($content='')
|
||||||
{
|
{
|
||||||
if (is_array($content))
|
if (is_array($content))
|
||||||
@ -80,17 +86,20 @@ class uicontacts extends bocontacts
|
|||||||
{
|
{
|
||||||
$content = array();
|
$content = array();
|
||||||
$content_id = $_GET['contact_id'] ? $_GET['contact_id'] : 0;
|
$content_id = $_GET['contact_id'] ? $_GET['contact_id'] : 0;
|
||||||
|
$view = $_GET['view'];// == 1 ? true : false;
|
||||||
|
|
||||||
if ($content_id != 0)
|
if ($content_id != 0)
|
||||||
{
|
{
|
||||||
$content = $this->read($content_id);
|
$content = $this->read($content_id);
|
||||||
}
|
}
|
||||||
|
if($_GET['makecp']) unset($content['id']);
|
||||||
}
|
}
|
||||||
|
|
||||||
//_debug_array($content);
|
//_debug_array($content);
|
||||||
$no_button['button[delete]'] = !$this->check_perms(EGW_ACL_DELETE,$content);
|
$readonlys['button[delete]'] = !$this->check_perms(EGW_ACL_DELETE,$content);
|
||||||
$no_button['button[copy]'] = true;
|
$readonlys['button[copy]'] = true;
|
||||||
$no_button['button[edit]'] = !$view;
|
$readonlys['button[edit]'] = true;
|
||||||
|
|
||||||
$preserv = array(
|
$preserv = array(
|
||||||
'id' => $content['id'],
|
'id' => $content['id'],
|
||||||
'lid' => $content['lid'],
|
'lid' => $content['lid'],
|
||||||
@ -98,6 +107,7 @@ class uicontacts extends bocontacts
|
|||||||
'owner' => $content['owner'],
|
'owner' => $content['owner'],
|
||||||
'fn' => $content['fn'],
|
'fn' => $content['fn'],
|
||||||
'geo' => $content['geo'],
|
'geo' => $content['geo'],
|
||||||
|
'access' => $content['access'],
|
||||||
);
|
);
|
||||||
|
|
||||||
for($i = -23; $i<=23; $i++) $tz[$i] = ($i > 0 ? '+' : '').$i;
|
for($i = -23; $i<=23; $i++) $tz[$i] = ($i > 0 ? '+' : '').$i;
|
||||||
@ -105,7 +115,136 @@ class uicontacts extends bocontacts
|
|||||||
$content['tz'] = $content['tz'] ? $content['tz'] : 0;
|
$content['tz'] = $content['tz'] ? $content['tz'] : 0;
|
||||||
|
|
||||||
$this->tmpl->read('addressbook.edit');
|
$this->tmpl->read('addressbook.edit');
|
||||||
return $this->tmpl->exec('addressbook.uicontacts.edit',$content,$sel_options,$no_button,$preserv,2);
|
return $this->tmpl->exec('addressbook.uicontacts.edit',$content,$sel_options,$readonlys,$preserv, 2);
|
||||||
|
}
|
||||||
|
|
||||||
|
function view($content='')
|
||||||
|
{
|
||||||
|
if(is_array($content))
|
||||||
|
{
|
||||||
|
if (isset($content['button']['vcard']))
|
||||||
|
{
|
||||||
|
$GLOBALS['egw']->redirect_link('/index.php','menuaction=addressbook.uivcard.out&ab_id=' .$content['id']);
|
||||||
|
}
|
||||||
|
elseif (isset($content['button']['cancel']))
|
||||||
|
{
|
||||||
|
$GLOBALS['egw']->redirect_link('/index.php','menuaction=addressbook.uiaddressbook.index');
|
||||||
|
}
|
||||||
|
elseif (isset($content['button']['delete']))
|
||||||
|
{
|
||||||
|
if(!$this->delete($content))
|
||||||
|
{
|
||||||
|
$content['msg'] = lang('Something wen\'t wrong by deleting this contact');
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$GLOBALS['egw']->redirect_link('/index.php','menuaction=addressbook.uiaddressbook.index');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$contact_id = $_GET['contact_id'];
|
||||||
|
if(!$contact_id) return false;
|
||||||
|
|
||||||
|
$content = $this->read($contact_id);
|
||||||
|
}
|
||||||
|
$content['view'] = true;
|
||||||
|
|
||||||
|
// privat
|
||||||
|
foreach(array(
|
||||||
|
'adr_two_street' => 'home street',
|
||||||
|
'adr_two_locality' => 'home city',
|
||||||
|
'adr_two_region' => 'home state',
|
||||||
|
'adr_two_postalcode' => 'home zip code',
|
||||||
|
'adr_two_countryname' => 'home country',
|
||||||
|
'adr_two_type' => 'home address type',
|
||||||
|
) as $field => $name)
|
||||||
|
{
|
||||||
|
if($content[$field] == '') continue;
|
||||||
|
$content['personal_entries'][] = array(
|
||||||
|
'field' => $name,
|
||||||
|
'value' => $content[$field],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
// tel numbers
|
||||||
|
foreach(array(
|
||||||
|
'tel_work' => 'business phone',
|
||||||
|
'tel_home' => 'home phone',
|
||||||
|
'tel_voice' => 'voice phone',
|
||||||
|
'tel_msg' => 'message phone',
|
||||||
|
'tel_fax' => 'fax',
|
||||||
|
'tel_pager' => 'pager',
|
||||||
|
'tel_cell' => 'mobile phone',
|
||||||
|
'tel_bbs' => 'bbs phone',
|
||||||
|
'tel_modem' => 'modem phone',
|
||||||
|
'tel_isdn' => 'isdn phone',
|
||||||
|
'tel_car' => 'car phone',
|
||||||
|
'tel_video' => 'video phone',
|
||||||
|
'ophone' => 'other phone',
|
||||||
|
'tel_prefer' => 'preferred phone',
|
||||||
|
|
||||||
|
) as $field => $name)
|
||||||
|
{
|
||||||
|
if($content[$field] == '') continue;
|
||||||
|
$content['phone_entries'][] = array(
|
||||||
|
'field' => $name,
|
||||||
|
'value' => $content[$field],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
// organisation
|
||||||
|
foreach(array(
|
||||||
|
'adr_one_street' => 'business street',
|
||||||
|
'address2' => 'address line 2',
|
||||||
|
'address3' => 'address line 3',
|
||||||
|
'adr_one_locality' => 'business city',
|
||||||
|
'adr_one_region' => 'business state',
|
||||||
|
'adr_one_postalcode' => 'business zip code',
|
||||||
|
'adr_one_countryname' => 'business country',
|
||||||
|
'adr_one_type' => 'business address type',
|
||||||
|
) as $field => $name)
|
||||||
|
{
|
||||||
|
if($content[$field] == '') continue;
|
||||||
|
$content['organisation_entries'][] = array(
|
||||||
|
'field' => $name,
|
||||||
|
'value' => $content[$field],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
// emails
|
||||||
|
foreach(array(
|
||||||
|
'email' => 'business email',
|
||||||
|
'email_home' => 'home email',
|
||||||
|
) as $field => $name)
|
||||||
|
{
|
||||||
|
if($content[$field] == '') continue;
|
||||||
|
$content['email_entries'][] = array(
|
||||||
|
'field' => $name,
|
||||||
|
'value' => $content[$field],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
//urls
|
||||||
|
foreach(array(
|
||||||
|
'url' => 'url'
|
||||||
|
) as $field => $name)
|
||||||
|
{
|
||||||
|
if($content[$field] == '') continue;
|
||||||
|
$content['url_entries'][] = array(
|
||||||
|
'field' => $name,
|
||||||
|
'value' => $content[$field],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if($content['tz'] == '') $content['tz'] = 0;
|
||||||
|
|
||||||
|
$readonlys['button[delete]'] = !$this->check_perms(EGW_ACL_DELETE,$content);
|
||||||
|
$readonlys['button[private]'] = $content['private'] == 1 ? false :true;
|
||||||
|
$this->tmpl->read('addressbook.view');
|
||||||
|
$this->tmpl->exec('addressbook.uicontacts.view',$content,$sel_options,$readonlys,array('id' => $content['id']));
|
||||||
|
|
||||||
|
$GLOBALS['egw']->hooks->process(array(
|
||||||
|
'location' => 'addressbook_view',
|
||||||
|
'ab_id' => $content['id']
|
||||||
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
function search($content='')
|
function search($content='')
|
||||||
@ -183,7 +322,7 @@ class uicontacts extends bocontacts
|
|||||||
$sel_options['tz'] = $tz + array('' => lang('doesn\'t matter'));
|
$sel_options['tz'] = $tz + array('' => lang('doesn\'t matter'));
|
||||||
|
|
||||||
$this->tmpl->read('addressbook.search');
|
$this->tmpl->read('addressbook.search');
|
||||||
return $this->tmpl->exec('addressbook.uicontacts.search',$content,$sel_options,$no_button,$preserv);
|
return $this->tmpl->exec('addressbook.uicontacts.search',$content,$sel_options,$readonlys,$preserv);
|
||||||
}
|
}
|
||||||
|
|
||||||
function js()
|
function js()
|
||||||
@ -226,4 +365,4 @@ class uicontacts extends bocontacts
|
|||||||
|
|
||||||
</script>';
|
</script>';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
File diff suppressed because one or more lines are too long
BIN
addressbook/templates/default/images/email_icon.png
Executable file
BIN
addressbook/templates/default/images/email_icon.png
Executable file
Binary file not shown.
After Width: | Height: | Size: 1015 B |
Loading…
Reference in New Issue
Block a user