⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 import.php

📁 groupoffice
💻 PHP
📖 第 1 页 / 共 2 页
字号:
<?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 + -