| 
					
				 | 
			
			
				@@ -48,8 +48,6 @@ class Parse 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	private function load($doc, $index, $data, $col, $set, $push, $project) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		$result = $table = array(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		$data = $doc->init($data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		if (!$col) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			if (Dever::input('test') == 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				$doc->outLog(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -57,6 +55,44 @@ class Parse 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$result = $table = array(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if (isset($col[1])) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$data = $doc->init($data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$this->getCol($doc, $col[1], $data, $result, $table); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if (isset($col[2])) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$data = $doc->getCur(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$this->getCol($doc, $col[2], $data, $result, $table); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if ($set) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			foreach ($set as $v) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				$value = $this->set($index, $v, $project); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				$result[$v['key']] = $value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				if (Dever::input('test') == 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					$table[$v['name']] = $value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if ($push) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$result['test'] = Dever::input('test'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$this->push($push, $result, $project); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if (Dever::input('test') == 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$doc->outLog(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			echo Dever::table($table);die; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$this->update($result, $project); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return $result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	private function getCol($doc, $col, $data, &$result, &$table) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		foreach ($col as $v) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			$callback = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			if (strpos($v['key'], '.') !== false) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -86,39 +122,19 @@ class Parse 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				$value = $this->filter($value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			$result[$v['key']] = $value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			if (Dever::input('test') == 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				$table[$v['name']] = $value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		if ($set) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			foreach ($set as $v) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				$value = $this->set($index, $v, $project); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			if ($value) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				$result[$v['key']] = $value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				if (Dever::input('test') == 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					$table[$v['name']] = $value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		if ($push) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			$result['test'] = Dever::input('test'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			$this->push($push, $result); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		if (Dever::input('test') == 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			$doc->outLog(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			echo Dever::table($table);die; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		$this->update($result, $project); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		return $result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	private function push($push, $data) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	private function push($push, $data, $project) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		$push = explode("\n", str_replace("\r", '', $push)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$data['project_id'] = $project; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		foreach ($push as $k => $v) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			if (strstr($v, 'http')) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				Dever::curl($v, $data, 'post'); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -196,16 +212,31 @@ class Parse 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	private function copy($file) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if (strstr($file, ',')) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$temp = explode(',', $file); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$file = array(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			foreach($temp as $k => $v) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				$f = $this->copy($v); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				if ($f) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					$file[] = $f; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$file = implode(',', $file); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			return $file; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		$data = Dever::load('upload/save.copy?file=' . $file . '&key=' . $this->res . '&state=1'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		if (isset($data['url'])) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			return $data['url']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			return $file; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			return ''; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	private function update($data, $project) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if (!$data) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		$param['option_pid'] = $project; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		$param['option_value'] = json_encode($data, JSON_UNESCAPED_UNICODE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		$info = Dever::db('spider/data')->one($param); 
			 |