📄 addressbook.php
字号:
<?php/*Copyright Intermesh 2003Author: Merijn Schering <mschering@intermesh.nl>Version: 1.0 Release date: 08 July 2003This program is free software; you can redistribute it and/or modify itunder the terms of the GNU General Public License as published by theFree Software Foundation; either version 2 of the License, or (at youroption) any later version.*/require_once("../../Group-Office.php");$post_action = isset($post_action) ? $post_action : '';$GO_SECURITY->authenticate();$GO_MODULES->authenticate('addressbook');require_once($GO_LANGUAGE->get_language_file('addressbook'));//load contact management classrequire_once($GO_MODULES->class_path."addressbook.class.inc");$ab = new addressbook();$return_to = (isset($_REQUEST['return_to']) && $_REQUEST['return_to'] != '') ? $_REQUEST['return_to'] : $_SERVER['HTTP_REFERER'];$link_back = (isset($_REQUEST['link_back']) && $_REQUEST['link_back'] != '') ? $_REQUEST['link_back'] : $_SERVER['REQUEST_URI'];$addressbook_id = isset($_REQUEST['addressbook_id']) ? $_REQUEST['addressbook_id'] : 0;$task = isset($_REQUEST['task']) ? $_REQUEST['task'] : '';$user_id = (isset($_POST['user_id']['value']) && $_POST['user_id']['value'] > 0) ? $_POST['user_id']['value'] : $GO_SECURITY->user_id;switch($task){ case 'save': $name = smart_addslashes(trim($_POST['name'])); if ($name == '') { $feedback = $error_missing_field; }else { if ($addressbook_id > 0) { $existing_addressbook = $ab->get_addressbook_by_name($name); if($existing_addressbook && $existing_addressbook['id'] != $addressbook_id) { $feedback = $ab_addressbook_exists; }else { $addressbook = $ab->get_addressbook($addressbook_id); if($addressbook['user_id'] != $user_id) { $GO_SECURITY->chown_acl($addressbook['acl_read'], $user_id); $GO_SECURITY->chown_acl($addressbook['acl_write'], $user_id); } $ab->update_addressbook($_POST['addressbook_id'], $user_id, $name); if($_POST['close'] == 'true') { header('Location: '.$return_to); exit(); } } }else { if($ab->get_addressbook_by_name($name)) { $feedback = $ab_addressbook_exists; }elseif(!$addressbook_id = $ab->add_addressbook($user_id, $name)) { $feedback = $strSaveError; }elseif($_POST['close'] == 'true') { header('Location: '.$return_to); exit(); } } } break; case 'export': $file_type = isset($_REQUEST['file_type']) ? $_REQUEST['file_type'] : 'csv'; $addressbook = $ab->get_addressbook($addressbook_id); $browser = detect_browser(); header("Content-type: text/x-csv;charset=".$charset); header('Expires: '.gmdate('D, d M Y H:i:s') . ' GMT'); $export_type = isset($_POST['export_type']) ? " - ".$_POST['export_type'] : ''; if ($browser['name'] == 'MSIE') { header('Content-Disposition: inline; filename="'.$addressbook['name'].$export_type.'.'.$file_type.'"'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); header('Pragma: public'); }else { header('Pragma: no-cache'); header('Content-Disposition: attachment; filename="'.$addressbook['name'].$export_type.'.'.$file_type.'"'); } if($file_type == 'vcf') { require_once($GO_MODULES->path."classes/vcard.class.inc"); $vcard = new vcard(); if($vcard->export_addressbook($addressbook_id)) { echo $vcard->vcf; } } else { $quote = smart_stripslashes($_POST['quote']); $crlf = smart_stripslashes($_POST['crlf']); $crlf = str_replace('\\r', "\015", $crlf); $crlf = str_replace('\\n', "\012", $crlf); $crlf = str_replace('\\t', "\011", $crlf); $seperator = smart_stripslashes($_POST['seperator']); if ($_POST['export_type'] == 'contacts') { $headings = array($strTitle, $strFirstName, $strMiddleName, $strLastName, $strInitials, $strSex, $strBirthday, $strEmail, $strCountry, $strState, $strCity, $strZip, $strAddress, $strAddressNo, $strPhone, $strWorkphone, $strFax, $strWorkFax, $strCellular, $strCompany, $strDepartment, $strFunction, $ab_comment, $contacts_group); $headings = $quote.implode($quote.$seperator.$quote, $headings).$quote; echo $headings; echo $crlf; $ab->get_contacts_for_export($_POST['addressbook_id']); while ($ab->next_record()) { $record = array($ab->f("title"), $ab->f("first_name"),$ab->f("middle_name"), $ab->f("last_name"), $ab->f("initials"), $ab->f("sex"), $ab->f('birthday'), $ab->f("email"), $ab->f("country"), $ab->f("state"), $ab->f("city"), $ab->f("zip"), $ab->f("address"), $ab->f("address_no"), $ab->f("home_phone"), $ab->f("work_phone"), $ab->f("fax"), $ab->f("work_fax"), $ab->f("cellular"), $ab->f("company"), $ab->f("department"), $ab->f("function"), $ab->f("comment"), $ab->f("group_name")); $record = $quote.implode($quote.$seperator.$quote, $record).$quote; echo $record; echo $crlf; } }else { $headings = array($strName, $strCountry, $strState, $strCity, $strZip, $strAddress, $strAddressNo, $strPostCountry, $strPostState, $strPostCity, $strPostZip, $strPostAddress, $strPostAddressNo, $strEmail, $strPhone, $strFax, $strHomepage, $ab_bank_no, $ab_vat_no); $headings = $quote.implode($quote.$seperator.$quote, $headings).$quote; echo $headings; echo $crlf; $ab->get_companies($_POST['addressbook_id']); while($ab->next_record()) { $record = array($ab->f("name"), $ab->f("country"), $ab->f("state"), $ab->f("city"), $ab->f("zip"), $ab->f("address"), $ab->f("address_no"), $ab->f("post_country"), $ab->f("post_state"), $ab->f("post_city"), $ab->f("post_zip"), $ab->f("post_address"), $ab->f("post_address_no"),$ab->f("email"), $ab->f("phone"), $ab->f("fax"), $ab->f("homepage"), $ab->f("bank_no"), $ab->f('vat_no')); $record = $quote.implode($quote.$seperator.$quote, $record).$quote; echo $record; echo $crlf; } } } exit(); break;}if ($addressbook_id > 0 && $addressbook = $ab->get_addressbook($addressbook_id)){ if (!$write_permission = $GO_SECURITY->has_permission($GO_SECURITY->user_id, $addressbook['acl_write'])) { $read_permission = $GO_SECURITY->has_permission($GO_SECURITY->user_id, $addressbook['acl_read']); } $name = isset($name) ? $name : $addressbook['name']; $user_id = $addressbook['user_id']; $tabstrip = new tabstrip('addressbook', $name); $tabstrip->set_attribute('style','width:100%'); $tabstrip->set_return_to($return_to); $tabstrip->add_tab('name', $strProperties); if ($write_permission) { //$tabstrip->add_tab('groups', $contacts_groups); $tabstrip->add_tab('import', $contacts_import); } $tabstrip->add_tab('export', $contacts_export); if($GO_MODULES->write_permission) { $tabstrip->add_tab('read_permissions', $strReadRights); $tabstrip->add_tab('write_permissions', $strWriteRights); }}else{ $tabstrip = new tabstrip('addressbook', $ab_new_ab); $tabstrip->set_attribute('style','width:100%'); $tabstrip->set_return_to($return_to); $write_permission = true; $user_id = $GO_SECURITY->user_id;}if (!$write_permission && !$read_permission){ header('Location: '.$GO_CONFIG->host.'error_docs/403.php'); exit();}$form = new form('addressbook_form');$form->add_html_element(new input('hidden','task'));$form->add_html_element(new input('hidden','close', 'false'));$form->add_html_element(new input('hidden','addressbook_id', $addressbook_id, false));$form->add_html_element(new input('hidden','return_to', $return_to));$form->add_html_element(new input('hidden','link_back', $link_back));if(isset($feedback)){ $p = new html_element('p',$feedback); $p->set_attribute('class','Error'); $tabstrip->add_html_element($p);}switch($tabstrip->get_active_tab_id()){ case 'read_permissions': $tabstrip->innerHTML .= get_acl($addressbook["acl_read"]); $tabstrip->add_html_element(new button($cmdClose, "javascript:document.location='".$return_to."';")); break; case 'write_permissions': $tabstrip->innerHTML .= get_acl($addressbook["acl_write"]); $tabstrip->add_html_element(new button($cmdClose, "javascript:document.location='".$return_to."';")); break; case 'groups': require_once('groups.inc'); $tabstrip->add_html_element(new button($cmdClose, "javascript:document.location='".$return_to."';")); break; case 'import': require_once('import.inc'); break; case 'export': require_once('export.inc'); break; default: $GO_HEADER['body_arguments'] = 'onload="javascript:document.addressbook_form.name.focus();"'; $name = isset($name) ? htmlspecialchars(stripslashes($name)) : ''; $table = new table(); if($GO_SECURITY->has_admin_permission($GO_SECURITY->user_id)) { $select = new object_select('user', 'addressbook', 'user_id', $user_id); $row = new table_row(); $row->add_cell(new table_cell($select->get_link($strOwner).':')); $row->add_cell(new table_cell($select->get_field())); $table->add_row($row); } $row = new table_row(); $row->add_cell(new table_cell($strName.'*: ')); $input = new input('text', 'name',$name); $input->set_attribute('maxlength','100'); $input->set_attribute('style', 'width:300px'); $row->add_cell(new table_cell($input->get_html())); $table->add_row($row); $tabstrip->add_html_element($table); if ($write_permission) { $tabstrip->add_html_element(new button($cmdOk, "javascript:ok_addressbook()")); $tabstrip->add_html_element(new button($cmdApply, "javascript:apply_addressbook()")); } $tabstrip->add_html_element(new button($cmdClose, "javascript:document.location='".$return_to."';")); break;}$form->add_html_element($tabstrip);require_once($GO_THEME->theme_path."header.inc");echo $form->get_html();?><script type="text/javascript" language="javascript">function ok_addressbook(){ document.forms[0].close.value = 'true'; document.forms[0].task.value = 'save'; document.forms[0].submit();}function apply_addressbook(){ document.forms[0].task.value = 'save'; document.forms[0].submit();}function copy_acl(task){ document.forms[0].task.value = task; document.forms[0].submit();}function upload(){ document.forms[0].task.value="upload"; var status = null; if (status = get_object("status")) { status.innerHTML = "<?php echo $fbPleaseWait; ?>"; } document.forms[0].action='import.php'; document.forms[0].submit();}</script><?phprequire_once($GO_THEME->theme_path."footer.inc");?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -