function pick_import_data($arr, $pick_cid) { global $_G; $arr['pick'] = get_table_field_name('strayer_picker', $arr['pick']); $del_data = array('pid', 'public_type', 'public_class', 'run_times', 'lastrun', 'nextrun'); //要去掉的字段名称 foreach ($del_data as $v) { unset($arr['pick'][$v]); } $arr['pick'] = $arr['pick']; $arr['pick']['pick_cid'] = $pick_cid; $arr['pick']['displayorder'] = 0; //设为0,导入之后就排在最上面了 $arr['pick']['dateline'] = $_G['timestamp']; $arr['pick']['is_auto_public'] = 0; //自动发布设为否 $insert_id = DB::insert('strayer_picker', paddslashes($arr['pick']), TRUE); //导入采集器 if ($arr['rules']) { $rules_arr = $arr['rules']; $check = DB::result(DB::query("SELECT COUNT(*) FROM " . DB::table('strayer_rules') . " WHERE rules_hash='{$rules_arr['rules_hash']}'"), 0); $rules_arr = get_table_field_name('strayer_rules', $rules_arr); unset($rules_arr['rid']); //去掉主键 $rules_arr = paddslashes($rules_arr); if ($check) { //如果存在这个 $rules_hash = $rules_arr['rules_hash']; unset($rules_arr['rules_hash']); DB::update('strayer_rules', $rules_arr, array('rules_hash' => $rules_hash)); } else { DB::insert('strayer_rules', $rules_arr, TRUE); } } return $insert_id; }
function import_evo_data($arr) { global $_G; $arr = paddslashes($arr); $check = DB::result(DB::query("SELECT COUNT(*) FROM " . DB::table('strayer_evo') . " WHERE domain_hash='{$arr['domain_hash']}' AND detail_ID_hash='{$arr['detail_ID_hash']}' AND status='1'"), 0); if ($check) { return; } //删除之前的一些记录 DB::query('DELETE FROM ' . DB::table('strayer_evo') . " WHERE domain_hash='{$arr['domain_hash']}' AND detail_ID_hash='{$arr['detail_ID_hash']}' AND status='0'"); $arr['dateline'] = $_G['timestamp']; $arr['hit_num'] = 1; $arr['status'] = 1; $arr = get_table_field_name('strayer_evo', $arr); unset($arr['id']); //去掉主键 del_search_index(3); return DB::insert('strayer_evo', $arr, TRUE); }
function rules_import() { global $_G, $header_config, $head_url; $data['header'] = pick_header_output($header_config, $head_url); $submit = $_GET['addsubmit']; $update_flag = $_GET['update_flag']; num_limit('strayer_rules', 3000, 's_num_limit'); if ($submit) { $rules_code = $_GET['rules_code']; if ($rules_code) { $data = $rules_code; } else { $file_name = str_iconv($_FILES['rules_file']['tmp_name']); $fp = fopen($file_name, 'r'); $data = fread($fp, $_FILES['rules_file']['size']); } $arr = pimportfile($data); //采集器名称为空,则对将当前的时间戳做为采集器文件名 if (empty($arr['rules_name'])) { $arr['rules_name'] = $_G['timestamp']; } unset($arr['rid'], $arr['version']); //销毁采集器记录的ID与 版本号 $arr = daddslashes($arr); //对值重新addslashes操作 if ($arr['pick']['pid']) { cpmsg_error(milu_lang('import_error2', array('url' => PICK_GO))); } if (!$arr['rules_hash']) { cpmsg_error(milu_lang('rules_error_data')); } $check = DB::result(DB::query("SELECT COUNT(*) FROM " . DB::table('strayer_rules') . " WHERE rules_hash='{$arr['rules_hash']}'"), 0); if ($check && !$update_flag) { if (!$rules_code) { $rules_code = $data; } cpmsg(milu_lang('cover_notice') . '?<input type="hidden" value="' . dstripslashes($data) . '" name="rules_code">', PICK_GO . 'system_rules&myac=rules_import&pid=' . $pid . '&addsubmit=1&update_flag=1', 'form'); } $arr = get_table_field_name('strayer_rules', $arr); unset($arr['rid']); //去掉主键 if ($update_flag) { $rules_hash = $arr['rules_hash']; rules_update($rules_hash); unset($arr['rules_hash']); DB::update('strayer_rules', $arr, array('rules_hash' => $rules_hash)); } else { DB::insert('strayer_rules', $arr, TRUE); } del_search_index(2); cpmsg(milu_lang('import_finsh'), PICK_GO . "system_rules&myac=rules_list", 'succeed'); } return $data; }