Example #1
0
$ret_value = 0;
if ($_REQUEST['source'] == 'act') {
    $ret_value = parse_import_act($tmp_file_name, $delimiter, $max_lines, $has_header);
} else {
    $ret_value = parse_import($tmp_file_name, $delimiter, $max_lines, $has_header);
}
if ($ret_value == -1) {
    show_error_import($mod_strings['LBL_CANNOT_OPEN']);
    exit;
} else {
    if ($ret_value == -2) {
        show_error_import($mod_strings['LBL_NOT_SAME_NUMBER']);
        exit;
    } else {
        if ($ret_value == -3) {
            show_error_import($mod_strings['LBL_NO_LINES']);
            exit;
        }
    }
}
$rows = $ret_value['rows'];
$ret_field_count = $ret_value['field_count'];
$smarty = new vtigerCRM_Smarty();
$smarty->assign("TMP_FILE", $tmp_file_name);
$smarty->assign("SOURCE", vtlib_purify($_REQUEST['source']));
$smarty->assign("MOD", $mod_strings);
$smarty->assign("APP", $app_strings);
if (isset($_REQUEST['return_module'])) {
    $smarty->assign("RETURN_MODULE", vtlib_purify($_REQUEST['return_module']));
}
if (isset($_REQUEST['return_action'])) {
Example #2
0
$resCustFldArray = array();
p("Getting from request");
// loop through all request variables
foreach ($_REQUEST as $name => $value) {
    p("name=" . $name . " value=" . $value);
    // only look for var names that start with "colnum"
    if (strncasecmp($name, "colnum", 6) != 0) {
        continue;
    }
    if ($value == "-1") {
        continue;
    }
    $user_field = $value;
    $pos = substr($name, 6);
    if (isset($field_to_pos[$user_field])) {
        show_error_import($mod_strings['LBL_ERROR_MULTIPLE']);
        exit;
    }
    p("user_field=" . $user_field . " if=" . $focus->importable_fields[$user_field]);
    if (isset($focus->importable_fields[$user_field]) || isset($custFldArray[$user_field])) {
        p("user_field SET=" . $user_field);
        $field_to_pos[$user_field] = $pos;
        $col_pos_to_field[$pos] = $user_field;
    }
}
p("field_to_pos");
$adb->println($field_to_pos);
p("col_pos_to_field");
$adb->println($col_pos_to_field);
$max_lines = -1;
$ret_value = 0;
            }
        }
        $serialized_mapping = implode_assoc("=", "&", $header_to_field);
    } else {
        $serialized_mapping = implode_assoc("=", "&", $col_pos_to_field);
    }
    $mapping_file_name = $_REQUEST['save_map_as'];
    $mapping_file =& new ImportMap();
    $query_arr = array('assigned_user_id' => $current_user->id, 'name' => $mapping_file_name);
    $mapping_file->retrieve_by_string_fields($query_arr, false);
    $result = $mapping_file->save_map($current_user->id, $mapping_file_name, $_REQUEST['module'], $_REQUEST['source'], $has_header, $serialized_mapping);
}
$mod_strings = return_module_language($current_language, "Import");
$currentModule = "Import";
if ($error != "") {
    show_error_import($mod_strings['LBL_ERROR'] . " " . $error);
    exit;
} else {
    $message = urlencode($mod_strings['LBL_SUCCESS'] . "<BR><b>{$count}</b>  " . $mod_strings['LBL_SUCCESSFULLY'] . "<br><b>" . ($broken_ids + $id_exists_count) . "</b> " . $mod_strings['LBL_IDS_EXISTED_OR_LONGER'] . "<br><b>{$skip_required_count}</b> " . $mod_strings['LBL_RECORDS_SKIPPED']);
    //_if duplicates exist, then add informational string to message
    if ($dup_count > 0) {
        $message .= urlencode("<BR><b>{$dup_count}</b>  " . $mod_strings['LBL_DUPLICATES']);
    }
    if (empty($_REQUEST['return_action'])) {
        $_REQUEST['return_action'] = 'index';
    }
    $json = getJSONobj();
    echo 'result = ' . $json->encode(array('module' => $_REQUEST['module'], 'return_action' => $_REQUEST['return_action'], 'message' => $message, 'dup_link' => $dup_link, 'return_module' => $_REQUEST['return_module']));
    //header("Location: index.php?module={$_REQUEST['module']}&action=Import&step=last&return_module={$_REQUEST['return_module']}&return_action={$_REQUEST['return_action']}&message=$message&duplink=$dup_link");
    exit;
}
Example #4
0
$import_mod_strings = return_module_language($current_language, "Import");
if (!is_uploaded_file($_FILES['userfile']['tmp_name'])) {
    show_error_import($import_mod_strings['LBL_IMPORT_MODULE_ERROR_NO_UPLOAD']);
    exit;
} else {
    if ($_FILES['userfile']['size'] > $upload_maxsize) {
        show_error_import($import_mod_strings['LBL_IMPORT_MODULE_ERROR_LARGE_FILE'] . " " . $upload_maxsize . " " . $import_mod_strings['LBL_IMPORT_MODULE_ERROR_LARGE_FILE_END']);
        exit;
    }
}
if (!is_writable($import_dir)) {
    show_error_import($import_mod_strings['LBL_IMPORT_MODULE_NO_DIRECTORY'] . $import_dir . $import_mod_strings['LBL_IMPORT_MODULE_NO_DIRECTORY_END']);
    exit;
}
if (trim(substr(strrchr(basename($_FILES['userfile']['name']), '.'), 1, 10)) != "xls") {
    show_error_import("导入文件格式不正确");
    exit;
}
$tmp_file_name = $import_dir . "IMPORT_" . $current_user->id;
move_uploaded_file($_FILES['userfile']['tmp_name'], $tmp_file_name);
$focus = new ImportSalesOrder();
$focus->setAccountFile($tmp_file_name);
$focus->parseExcel();
$_SESSION['import_skipped_record_count'] = $focus->skip_record;
$totalrecord = $focus->total_reocrd;
$importrecord = $totalrecord - $focus->skip_record;
$_SESSION['import_message'] = "一共有 {$totalrecord} 条,共导入 {$importrecord} 条";
$_SESSION['import_skipped_rows'] = $focus->skip_rows;
unlink($tmp_file_name);
header("Location: index.php?action=ImportSteplast&module=SalesOrder&parenttab=Accounts");
function show_error_import($message)
Example #5
0
$count = $ret_value['field_count'];
switch ($_REQUEST['module']) {
    case 'Accounts':
        //$head = array("客户名称","创建人","联系人","负责人","职位","性别","客户状态","vip信息","热度","成交意愿","客户来源","客户类型","下次联系日期","手机号码","电话","QQ","Email","传真","微博","MSN","淘宝旺旺","网站","所属国家","所属省份","所属城市","所属区域","详细地址","客户邮编","最近5天发送邮件次数","最近一月发送邮件次数","最近三月发送短信次数","最近三月发送邮件次数","最新发送短信日期","最新发送邮件日期","最新联系时间","联系次数","最新订单日期","订单数量","订单金额","创建时间","修改时间","失效日期","姓名1","电话122","备注");
        $head = array("客户名称", "联系人", "职位", "性别", "手机号码", "电话", "QQ", "Email", "传真", "网站", "所属国家", "所属省份", "所属城市", "所属区域", "详细地址", "客户邮编", "备注");
        break;
    case 'Contacts':
        $head = array("姓名", "客户", "性别", "职位", "手机", "Email", "电话", "传真", "QQ", "MSN", "旺旺", "微博", "备注");
        break;
}
$accfieldarr = $rows[0];
//var_dump($rows);//怎么只有两行?
//exit();
foreach ($accfieldarr as $key => $accfield) {
    if ($accfield != $head[$key]) {
        show_error_import("文件标题不正确: \"" . $accfield . "\" 出错,请检查。");
        exit;
    }
}
$filed_lable = getColumnField();
$focus_impacc->ClearColumnFields();
//var_dump($focus_impacc);
//exit();
$pix1 = $width / $count;
$progress1 = 0;
//header('Content-Type: text/html; charset=utf-8');
flush();
?>
<script language="JavaScript">
function updateProgress(sMsg, iWidth)
{