* * -------------------------------------------- * * 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"); $this = CreateObject("phpgwapi.contacts"); // First, make sure they have permission to this entry $check = addressbook_read_entry($ab_id,array('owner' => 'owner')); $perms = $this->check_perms($this->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 = new Template($phpgw->common->get_tpl_dir("addressbook")); $t->set_file(array( "view" => "view.tpl", "view_header" => "view_header.tpl", "view_row" => "view_row.tpl", "view_footer" => "view_footer.tpl" )); $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($this->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 = $this->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($columns_to_display); 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 = ""; $coldata = $fields[0][$column]; // Some fields require special formatting. if ( ($column == "note" || $column == "label" || $column == "pubkey") && $coldata ) { $datarray = explode ("\n",$coldata); if ($datarray[1]) { while (list($key,$info) = each ($datarray)) { if ($key) { $data .= "