📄 import.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'));$task = isset ($_REQUEST['task']) ? $_REQUEST['task'] : '';$addressbook_id = isset ($_REQUEST['addressbook_id']) ? $_REQUEST['addressbook_id'] : '0';$return_to = (isset ($_REQUEST['return_to']) && $_REQUEST['return_to'] != '') ? $_REQUEST['return_to'] : $_SERVER['HTTP_REFERER'];;//load contact management classrequire_once ($GO_MODULES->path."classes/addressbook.class.inc");$ab = new addressbook();require_once ($GO_THEME->theme_path."header.inc");?><script type="text/javascript" langugae="javascript"><!--function import_data(){ document.forms[0].task.value='import'; document.forms[0].submit();}--></script><form name="import" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"><input type="hidden" name="task" value="import" /><input type="hidden" name="return_to" value="<?php echo $return_to; ?>" /><?php$tabtable = new tabtable('export_tab', $contacts_import, '100%', '400', '120', '', true);$tabtable->print_head();echo '<table border="0" cellpadding="5"><tr><td>';if ($task == 'import') { $contact_groups[''] = 0; $group_mode = isset ($_POST['group_mode']) ? $_POST['group_mode'] : 'group_name'; $group_id = isset ($_POST['group_id']) ? $_POST['group_id'] : 'group_id'; if ($group_mode == 'file') { $ab->get_groups($_POST['addressbook_id']); while ($ab->next_record()) { $contact_groups[$ab->f('name')] = $ab->f('id'); } } switch ($_POST['file_type']) { case 'vcf' : require_once ($GO_MODULES->path."classes/vcard.class.inc"); $vcard = new vcard(); $success = $vcard->import($_POST['import_file'], $GO_SECURITY->user_id, $_POST['addressbook_id']); unlink($_POST['import_file']); if ($success) { echo $contacts_import_success; } else { echo $ab_import_failed; } echo '<br /><br />'; $button = new button($cmdOk, "javascript:document.location='".$return_to."'"); echo $button->get_html(); break; case 'csv' : $seperator = isset ($_POST['seperator']) ? $_POST['seperator'] : ';'; $fp = fopen($_POST['import_file'], "r"); if (!$fp || !$addressbook = $ab->get_addressbook($_POST['addressbook_id'])) { unlink($_POST['import_file']); $feedback = "<p class=\"Error\">".$strDataError."</p>"; } else { fgets($fp, 4096); while (!feof($fp)) { $record = fgetcsv($fp, 4096, ',', '"'); if ($_POST['import_type'] == 'contacts') { if ((isset ($record[$_POST['first_name']]) && $record[$_POST['first_name']] != "") || (isset ($record[$_POST['last_name']]) && $record[$_POST['last_name']] != '')) { if ($group_mode == 'file') { $group_name = trim($record[$_POST['group_record']]); if (isset ($contact_groups[stripslashes($group_name)])) { $group_id = $contact_groups[$group_name]; } else { $ab2 = new addressbook(); $group_id = $ab2->add_group($_POST['addressbook_id'], addslashes($group_name)); $contact_groups[$group_name] = $group_id; } } $contact['title'] = isset ($record[$_POST['title']]) ? addslashes(trim($record[$_POST['title']])) : ''; $contact['first_name'] = isset ($record[$_POST['first_name']]) ? addslashes(trim($record[$_POST['first_name']])) : ''; $contact['middle_name'] = isset ($record[$_POST['middle_name']]) ? addslashes(trim($record[$_POST['middle_name']])) : ''; $contact['last_name'] = isset ($record[$_POST['last_name']]) ? addslashes(trim($record[$_POST['last_name']])) : ''; $contact['initials'] = isset ($record[$_POST['initials']]) ? addslashes(trim($record[$_POST['initials']])) : ''; $contact['sex'] = isset ($record[$_POST['sex']]) ? addslashes(trim($record[$_POST['sex']])) : 'M'; $contact['birthday'] = isset ($record[$_POST['birthday']]) ? addslashes(trim($record[$_POST['birthday']])) : ''; $contact['email'] = isset ($record[$_POST['email']]) ? get_email_from_string($record[$_POST['email']]) : ''; $contact['work_phone'] = isset ($record[$_POST['work_phone']]) ? addslashes(trim($record[$_POST['work_phone']])) : ''; $contact['home_phone'] = isset ($record[$_POST['home_phone']]) ? addslashes(trim($record[$_POST['home_phone']])) : ''; $contact['fax'] = isset ($record[$_POST['fax']]) ? addslashes(trim($record[$_POST['fax']])) : ''; $contact['work_fax'] = isset ($record[$_POST['work_fax']]) ? addslashes(trim($record[$_POST['work_fax']])) : ''; $contact['cellular'] = isset ($record[$_POST['cellular']]) ? addslashes(trim($record[$_POST['cellular']])) : ''; $contact['country'] = isset ($record[$_POST['country']]) ? addslashes(trim($record[$_POST['country']])) : ''; $contact['state'] = isset ($record[$_POST['state']]) ? addslashes(trim($record[$_POST['state']])) : ''; $contact['city'] = isset ($record[$_POST['city']]) ? addslashes(trim($record[$_POST['city']])) : ''; $contact['zip'] = isset ($record[$_POST['zip']]) ? addslashes(trim($record[$_POST['zip']])) : ''; $contact['address'] = isset ($record[$_POST['address']]) ? addslashes(trim($record[$_POST['address']])) : ''; $contact['address_no'] = isset ($record[$_POST['address_no']]) ? addslashes(trim($record[$_POST['address_no']])) : ''; $company_name = isset ($record[$_POST['company_name']]) ? addslashes(trim($record[$_POST['company_name']])) : ''; $contact['department'] = isset ($record[$_POST['department']]) ? addslashes(trim($record[$_POST['department']])) : ''; $contact['function'] = isset ($record[$_POST['function']]) ? addslashes(trim($record[$_POST['function']])) : ''; if ($company_name != '') { $contact['company_id'] = $ab->get_company_id_by_name($company_name, $_POST['addressbook_id']); } $contact['addressbook_id'] = $_POST['addressbook_id']; $ab->add_contact($contact); } } else { if (isset ($record[$_POST['name']]) && $record[$_POST['name']] != '') { $company['name'] = addslashes(trim($record[$_POST['name']])); if (!$ab->get_company_by_name($_POST['addressbook_id'], $company['name'])) { $company['email'] = isset ($record[$_POST['email']]) ? get_email_from_string($record[$_POST['email']]) : ''; $company['phone'] = isset ($record[$_POST['phone']]) ? addslashes(trim($record[$_POST['phone']])) : ''; $company['fax'] = isset ($record[$_POST['fax']]) ? addslashes(trim($record[$_POST['fax']])) : ''; $company['country'] = isset ($record[$_POST['country']]) ? addslashes(trim($record[$_POST['country']])) : ''; $company['state'] = isset ($record[$_POST['state']]) ? addslashes(trim($record[$_POST['state']])) : ''; $company['city'] = isset ($record[$_POST['city']]) ? addslashes(trim($record[$_POST['city']])) : ''; $company['zip'] = isset ($record[$_POST['zip']]) ? addslashes(trim($record[$_POST['zip']])) : ''; $company['address'] = isset ($record[$_POST['address']]) ? addslashes(trim($record[$_POST['address']])) : ''; $company['address_no'] = isset ($record[$_POST['address_no']]) ? addslashes(trim($record[$_POST['address_no']])) : ''; $company['post_country'] = isset ($record[$_POST['post_country']]) ? addslashes(trim($record[$_POST['post_country']])) : ''; $company['post_state'] = isset ($record[$_POST['post_state']]) ? addslashes(trim($record[$_POST['post_state']])) : ''; $company['post_city'] = isset ($record[$_POST['post_city']]) ? addslashes(trim($record[$_POST['post_city']])) : ''; $company['post_zip'] = isset ($record[$_POST['post_zip']]) ? addslashes(trim($record[$_POST['post_zip']])) : ''; $company['post_address'] = isset ($record[$_POST['post_address']]) ? addslashes(trim($record[$_POST['post_address']])) : ''; $company['post_address_no'] = isset ($record[$_POST['post_address_no']]) ? addslashes(trim($record[$_POST['post_address_no']])) : ''; $company['homepage'] = isset ($record[$_POST['homepage']]) ? addslashes(trim($record[$_POST['homepage']])) : ''; $company['bank_no'] = isset ($record[$_POST['bank_no']]) ? addslashes(trim($record[$_POST['bank_no']])) : ''; $company['vat_no'] = isset ($record[$_POST['vat_no']]) ? addslashes(trim($record[$_POST['vat_no']])) : ''; $company['addressbook_id'] = $_POST['addressbook_id']; $ab->add_company($company); } } } } fclose($fp); unlink($_POST['import_file']); echo $contacts_import_success; echo '<br /><br />'; $button = new button($cmdOk, "javascript:document.location='".$return_to."'"); echo $button->get_html(); } break; }}if ($task == 'upload') { $import_file = $GO_CONFIG->tmpdir.'contacts_import_'.$GO_SECURITY->user_id.'.'.$_POST['file_type']; if (isset ($_FILES['import_file']) && is_uploaded_file($_FILES['import_file']['tmp_name'])) { if (!copy($_FILES['import_file']['tmp_name'], $import_file)) { unset ($import_file); echo '<p class="Error">'.$fbNoFile.'</p>'; echo '<br /><br />'; $button = new button($cmdOk, "javascript:document.location='".$return_to."'"); echo $button->get_html(); } } elseif (!file_exists($import_file)) { unset ($import_file); echo '<p class="Error">'.$fbNoFile.'</p>'; echo '<br /><br />'; $button = new button($cmdOk, "javascript:document.location='".$return_to."'"); echo $button->get_html(); } if (isset ($import_file)) { echo '<input type="hidden" name="addressbook_id" value="'.$addressbook_id.'">'; echo '<input type="hidden" value="'.$import_file.'" name="import_file" />'; echo '<input type="hidden" value="'.$_POST['file_type'].'" name="file_type" />'; switch ($_POST['file_type']) { case 'vcf' : echo '<table border="0" cellpadding="4" cellspacing="0">'; echo '<tr><td><h3>Group-Office</h3></td>'; echo '<td><h3>VCF</h3></td></tr>'; echo '</table>'; echo $ab_import_vcf_file_ok.'<br /><br />'; echo '<table border="0" cellpadding="4" cellspacing="0">'; echo '<tr><td colspan="2"><br />'; $button = new button($cmdOk, 'javascript:import_data()'); echo $button->get_html(); $button = new button($cmdClose, "javascript:document.location='".$return_to."'"); echo $button->get_html(); echo '</td></tr>'; echo '</table>'; $tabtable->print_foot(); require_once ($GO_THEME->theme_path.'footer.inc'); exit (); break; case 'csv' : $fp = fopen($import_file, 'r'); if ($fp) { //when it's still not exploded then the file is not compatible. if (!$record = fgetcsv($fp, 4096, ',', '"')) { echo '<p class="Error">'.$contacts_import_incompatible.'</p>'; $button = new button($cmdOk, "javascript:document.location='".$return_to."'"); echo $button->get_html(); } else { fclose($fp); //echo '<input type="hidden" name="seperator" value="'.$seperator.'">'; echo '<input type="hidden" name="import_type" value="'.$_POST['import_type'].'">'; if (isset ($feedback)) { echo $feedback; } echo $contacts_import_feedback.'<br /><br />'; if ($_POST['import_type'] == 'contacts') { echo '<table border="0" cellpadding="2" cellspacing="0">'; $group_mode = isset ($_POST['group_mode']) ? $_POST['group_mode'] : 'group_name'; if ($ab->get_groups($addressbook_id) > 0) { $check = $group_mode == 'group_name' ? 'checked' : ''; echo '<tr><td><input type="radio" name="group_mode" value="group_name" '.$check.' />'.$contacts_import_to_group.': </td><td>'; $group_id = isset ($_POST['group_id']) ? $_POST['group_id'] : 0; $dropbox = new dropbox(); $dropbox->add_value('0', $contacts_other); $dropbox->add_sql_data('ab', 'id', 'name'); $dropbox->print_dropbox('group_id', $group_id); echo '</td></tr>'; $check = $group_mode == 'file' ? 'checked' : ''; echo '<tr><td><input type="radio" name="group_mode" value="file" '.$check.' />'.$contacts_auto_group.': </td><td>'; } else { $check = $group_mode == 'file' ? true : false; echo '<tr><td><input type="hidden" name="group_id" value="0" />'; $checkbox = new checkbox('group_mode','group_mode', 'file', $ab_group_on_file, $check); echo $checkbox->get_html(); echo ':</td><td>'; } $dropbox = new dropbox(); for ($n = 0; $n < sizeof($record); $n ++) { $dropbox->add_value($n, $record[$n]); } $group_record = isset ($_POST['group_record']) ? $_POST['group_record'] : 0; $dropbox->print_dropbox('group_record', $group_record); echo '</td></tr></table><br />'; $dropbox = new dropbox(); $required_dropbox = new dropbox(); $dropbox->add_value('-1', $strNotIncluded); for ($n = 0; $n < sizeof($record); $n ++) { $required_dropbox->add_value($n, $record[$n]); $dropbox->add_value($n, $record[$n]); } echo '<table border="0" cellpadding="4" cellspacing="0">'; echo '<tr><td><h3>Group-Office</h3></td>'; echo '<td><h3>CSV</h3></td></tr>'; $default = ($key = array_search($strTitle, $dropbox->text)) ? $dropbox->value[$key] : -1; $title = isset ($_POST['title']) ? $_POST['title'] : $default; echo '<tr><td>'.$strTitle.':</td><td>';
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -