* * -------------------------------------------- * * This program is free software; you can redistribute it and/or modify it * * under the terms of the GNU General Public License as published by the * * Free Software Foundation; either version 2 of the License, or (at your * * option) any later version. * \**************************************************************************/ /* $Id$ */ $phpgw_info['flags'] = array( 'noheader' => True, 'nonavbar' => True, 'currentapp' => 'addressbook', 'enable_contacts_class' => True, 'enable_nextmatchs_class' => True ); include('../header.inc.php'); $contacts = CreateObject("phpgwapi.contacts"); // First, make sure they have permission to this entry $check = addressbook_read_entry($ab_id,array('owner' => 'owner')); $perms = $contacts->check_perms($contacts->grants[$check[0]['owner']],PHPGW_ACL_READ); if ( (!$perms) && ($check[0]['owner'] != $phpgw_info['user']['account_id']) ) { Header("Location: " . $phpgw->link('/addressbook/index.php',"cd=16&order=$order&sort=$sort&filter=$filter&start=$start&query=$query&cat_id=$cat_id")); $phpgw->common->phpgw_exit(); } if (!$ab_id) { Header("Location: " . $phpgw->link('/addressbook/index.php')); } elseif (!$submit && $ab_id) { $phpgw->common->phpgw_header(); echo parse_navbar(); } $t = CreateObject('phpgwapi.Template',PHPGW_APP_TPL); $t->set_file(array('view_t' => 'view.tpl')); $t->set_block('view_t','view_header','view_header'); $t->set_block('view_t','view_row','view_row'); $t->set_block('view_t','view_footer','view_footer'); $t->set_block('view_t','view_buttons','view_buttons'); $customfields = array(); while (list($col,$descr) = @each($phpgw_info['user']['preferences']['addressbook'])) { if ( substr($col,0,6) == 'extra_' ) { $field = ereg_replace('extra_','',$col); $field = ereg_replace(' ','_',$field); $customfields[$field] = ucfirst($field); } } while ($column = each($contacts->stock_contact_fields)) { if (isset($phpgw_info['user']['preferences']['addressbook'][$column[0]]) && $phpgw_info['user']['preferences']['addressbook'][$column[0]]) { $columns_to_display[$column[0]] = True; $colname[$column[0]] = $column[0]; } } // No prefs? if (!$columns_to_display ) { $columns_to_display = array( 'n_given' => 'n_given', 'n_family' => 'n_family', 'org_name' => 'org_name', 'tel_work' => 'tel_work', 'tel_home' => 'tel_home', 'email' => 'email', 'email_home' => 'email_home' ); while ($column = each($columns_to_display)) { $colname[$column[0]] = $column[1]; } $noprefs = " - " . lang('Please set your preferences for this app'); } // merge in extra fields $extrafields = array( 'ophone' => 'ophone', 'address2' => 'address2', 'address3' => 'address3' ); $qfields = $contacts->stock_contact_fields + $extrafields + $customfields; $fields = addressbook_read_entry($ab_id,$qfields); $record_owner = $fields[0]['owner']; if ($fields[0]["access"] == 'private') { $access_check = lang('private'); } else { $access_check = lang('public'); } $t->set_var('lang_viewpref',lang("Address book - view") . $noprefs); @reset($qfields); while (list($column,$null) = @each($qfields)) // each entry column { if(display_name($colname[$column])) { $t->set_var('display_col',display_name($colname[$column])); } elseif(display_name($column)) { $t->set_var('display_col',display_name($column)); } else { $t->set_var('display_col',ucfirst($column)); } $ref = $data = ""; if ($fields[0][$column]) { $tr_color = $phpgw->nextmatchs->alternate_row_color($tr_color); $t->set_var('th_bg',$tr_color); $coldata = $fields[0][$column]; // Some fields require special formatting. if ( ($column == 'note' || $column == 'pubkey') && $coldata ) { $datarray = explode ("\n",$coldata); if ($datarray[1]) { while (list($key,$info) = each ($datarray)) { if ($key) { $data .= '