20220406
This commit is contained in:
52
vendor/chinadoi/UPXML2.php
vendored
Normal file
52
vendor/chinadoi/UPXML2.php
vendored
Normal file
@@ -0,0 +1,52 @@
|
||||
<?php
|
||||
//// test....
|
||||
|
||||
include_once('config.php');
|
||||
|
||||
include_once(DOCROOT.'/include/UploadFileQ2.class.php');
|
||||
include_once(DOCROOT.'/include/UploadResult.class.php');
|
||||
|
||||
class UpXml{
|
||||
|
||||
//构造方法
|
||||
function __construct(){
|
||||
}
|
||||
|
||||
public function upload($fileName){
|
||||
$result = new UploadResult();
|
||||
$uploadfileQ2 = new UploadFileQ2();
|
||||
$result = $uploadfileQ2->upload($fileName,USERNAME,PASSWORD,3);
|
||||
return $result;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//$uploadfileQ2=new UploadFileQ2();
|
||||
//$userName="test01";
|
||||
//$password="test01";
|
||||
//$fileName="test001.xml";
|
||||
//
|
||||
//
|
||||
//
|
||||
////test--upload
|
||||
//
|
||||
//$result=new UploadResult();
|
||||
//
|
||||
//if(isset($_REQUEST['file'])) $filename=$_REQUEST['file'];
|
||||
//
|
||||
//$result= $uploadfileQ2->upload2("upload", "test01", "test01", 3);
|
||||
//
|
||||
//var_dump($result);
|
||||
//
|
||||
//echo " on ".date("Y-m-d H:i:s");
|
||||
//
|
||||
/////test-query
|
||||
//
|
||||
//$uploadfileQ2->getDoiRegResult( $fileName, $userName, $password) ;
|
||||
|
||||
//var_dump($uploadfileQ2);
|
||||
?>
|
||||
|
||||
|
||||
|
||||
|
||||
14
vendor/chinadoi/config.php
vendored
Normal file
14
vendor/chinadoi/config.php
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
<?php
|
||||
|
||||
//$_cookiefile="/temp/tmp.cookie";
|
||||
//$_serverip="168.160.19.48:8080";
|
||||
//$_username="test01";
|
||||
//$_password="test01";
|
||||
|
||||
define('DOCROOT',ROOT_PATH.'vendor/chinadoi');
|
||||
define('COOKIEFILE',DOCROOT.'/temp/tmp.cookie');
|
||||
define('SERVERIP','168.160.19.48:8080');
|
||||
define('USERNAME', 'TMR2015@163.com');
|
||||
define('PASSWORD', 'zhu18920435065');
|
||||
define('DOIQUERYSERVICEURL','http://'.SERVERIP.'/chinadoi-manage/services/RegResultQueryService?wsdl');
|
||||
?>
|
||||
86
vendor/chinadoi/include/ArrayList.class.php
vendored
Normal file
86
vendor/chinadoi/include/ArrayList.class.php
vendored
Normal file
@@ -0,0 +1,86 @@
|
||||
<?php
|
||||
/*
|
||||
* @author:administrator
|
||||
* @createTime:2016-07-03
|
||||
*/
|
||||
class ArrayList
|
||||
{
|
||||
public $length;
|
||||
public $name;
|
||||
public $my_array;
|
||||
function __construct()
|
||||
{
|
||||
$this->my_array=Array();
|
||||
}
|
||||
public function Add($element)
|
||||
{
|
||||
array_push($this->my_array, $element);
|
||||
}
|
||||
public function get_Length()
|
||||
{
|
||||
$this->length=count($this->my_array);
|
||||
return $this->length;
|
||||
}
|
||||
public function get($key)
|
||||
{
|
||||
if(array_key_exists($key, $this->my_array))
|
||||
{
|
||||
echo $this->my_array[$key];
|
||||
}
|
||||
else
|
||||
{
|
||||
echo "û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԫ<EFBFBD><EFBFBD>";
|
||||
}
|
||||
}
|
||||
public function list_array()
|
||||
{
|
||||
foreach ($this->my_array as $value)
|
||||
{
|
||||
echo $value;
|
||||
echo "<br/>";
|
||||
}
|
||||
}
|
||||
public function Delete($key)
|
||||
{
|
||||
if(array_key_exists($key, $this->my_array))
|
||||
{
|
||||
$this->my_array[$key]=null;
|
||||
}
|
||||
else
|
||||
{
|
||||
echo "û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԫ<EFBFBD><EFBFBD>";
|
||||
}
|
||||
}
|
||||
public function erase_number()
|
||||
{
|
||||
$pattern="/[0-9]/";
|
||||
foreach ($this->my_array as $value)
|
||||
{
|
||||
if(eregi($pattern, $value))
|
||||
{
|
||||
$value="";
|
||||
}
|
||||
}
|
||||
foreach ($this->my_array as $value)
|
||||
{
|
||||
echo $value;
|
||||
echo"<br/>";
|
||||
}
|
||||
}
|
||||
public function erase_char()
|
||||
{
|
||||
$pattern='/a-zA-Z/';
|
||||
for($i=0;$i<count($this->my_array)-1;$i++)
|
||||
{
|
||||
if(eregi($pattern, $this->my_array[$i]))
|
||||
{
|
||||
$this->my_array[$i]=null;
|
||||
}
|
||||
}
|
||||
foreach ($this->my_array as $value)
|
||||
{
|
||||
echo $value;
|
||||
echo "<br/>";
|
||||
}
|
||||
}
|
||||
}
|
||||
238
vendor/chinadoi/include/DoiRegResult.class.php
vendored
Normal file
238
vendor/chinadoi/include/DoiRegResult.class.php
vendored
Normal file
@@ -0,0 +1,238 @@
|
||||
<?php
|
||||
/*
|
||||
* @author:administrator
|
||||
* @createTime:2016-07-03
|
||||
*/
|
||||
class DoiRegResult {
|
||||
|
||||
/**
|
||||
* 查询结果
|
||||
*/
|
||||
var $queryMsg;
|
||||
|
||||
/**
|
||||
* 用户名
|
||||
*/
|
||||
var $userName;
|
||||
|
||||
/**
|
||||
* 用户上传的文件名
|
||||
*/
|
||||
var $oldFileName;
|
||||
|
||||
/**
|
||||
* 上传以后系统换成的文件名
|
||||
*/
|
||||
var $newFileName;
|
||||
|
||||
/**
|
||||
* 提交时间
|
||||
*/
|
||||
var $date;
|
||||
|
||||
/**
|
||||
* 类型
|
||||
*/
|
||||
var $type;
|
||||
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
var $state;
|
||||
|
||||
/**
|
||||
* 完成时间
|
||||
*/
|
||||
var $completeDate;
|
||||
|
||||
/**
|
||||
* 结果文件地址
|
||||
*/
|
||||
var $resultFileUrl;
|
||||
|
||||
/**
|
||||
* 结果文件内容
|
||||
*/
|
||||
var $resultFileText;
|
||||
|
||||
/**
|
||||
* 取得查询结果
|
||||
*
|
||||
* @return 查询结果
|
||||
*/
|
||||
function getQueryMsg() {
|
||||
return $this->queryMsg;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置查询结果
|
||||
*
|
||||
* @param 查询结果
|
||||
*/
|
||||
function setQueryMsg( $queryMsg) {
|
||||
$this->queryMsg = $queryMsg;
|
||||
}
|
||||
|
||||
/**
|
||||
* 取得用户名
|
||||
*
|
||||
* @return 用户名
|
||||
*/
|
||||
function getUserName() {
|
||||
return $this->userName;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置用户名
|
||||
*
|
||||
* @param 用户名
|
||||
*/
|
||||
function setUserName( $userName) {
|
||||
$this->userName = $userName;
|
||||
}
|
||||
|
||||
/**
|
||||
* 取得用户上传的文件名
|
||||
*
|
||||
* @return 用户上传的文件名
|
||||
*/
|
||||
function getOldFileName() {
|
||||
return $this->oldFileName;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置用户上传的文件名
|
||||
*
|
||||
* @param 用户上传的文件名
|
||||
*/
|
||||
function setOldFileName( $oldFileName) {
|
||||
$this->oldFileName = $oldFileName;
|
||||
}
|
||||
|
||||
/**
|
||||
* 取得上传以后系统换成的文件名
|
||||
*
|
||||
* @return 上传以后系统换成的文件名
|
||||
*/
|
||||
function getNewFileName() {
|
||||
return $this->newFileName;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置上传以后系统换成的文件名
|
||||
*
|
||||
* @param 上传以后系统换成的文件名
|
||||
*/
|
||||
function setNewFileName( $newFileName) {
|
||||
$this->newFileName = $newFileName;
|
||||
}
|
||||
|
||||
/**
|
||||
* 取得提交时间
|
||||
*
|
||||
* @return 提交时间
|
||||
*/
|
||||
function getDate() {
|
||||
return $this->date;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置提交时间
|
||||
*
|
||||
* @param 提交时间
|
||||
*/
|
||||
function setDate( $date) {
|
||||
$this->date = $date;
|
||||
}
|
||||
|
||||
/**
|
||||
* 取得类型
|
||||
*
|
||||
* @return 类型
|
||||
*/
|
||||
function getType() {
|
||||
return $this->type;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置类型
|
||||
*
|
||||
* @param 类型
|
||||
*/
|
||||
function setType( $type) {
|
||||
$this->type = $type;
|
||||
}
|
||||
|
||||
/**
|
||||
* 取得状态
|
||||
*
|
||||
* @return 状态
|
||||
*/
|
||||
function getState() {
|
||||
return $this->state;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置状态
|
||||
*
|
||||
* @param 状态
|
||||
*/
|
||||
function setState( $state) {
|
||||
$this->state = $state;
|
||||
}
|
||||
|
||||
/**
|
||||
* 取得完成时间
|
||||
*
|
||||
* @return 完成时间
|
||||
*/
|
||||
function getCompleteDate() {
|
||||
return $this->completeDate;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置完成时间
|
||||
*
|
||||
* @param 完成时间
|
||||
*/
|
||||
function setCompleteDate( $completeDate) {
|
||||
$this->completeDate = $completeDate;
|
||||
}
|
||||
|
||||
/**
|
||||
* 取得结果文件地址
|
||||
*
|
||||
* @return 结果文件地址
|
||||
*/
|
||||
function getResultFileUrl() {
|
||||
return $this->resultFileUrl;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置结果文件地址
|
||||
*
|
||||
* @param 结果文件地址
|
||||
*/
|
||||
function setResultFileUrl( $resultFileUrl) {
|
||||
$this->resultFileUrl = $resultFileUrl;
|
||||
}
|
||||
|
||||
/**
|
||||
* 取得结果文件内容
|
||||
*
|
||||
* @return 结果文件内容
|
||||
*/
|
||||
function getResultFileText() {
|
||||
return $this->resultFileText;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置结果文件内容
|
||||
*
|
||||
* @param 结果文件内容
|
||||
*/
|
||||
function setResultFileText( $resultFileText) {
|
||||
$this->resultFileText = $resultFileText;
|
||||
}
|
||||
|
||||
}
|
||||
340
vendor/chinadoi/include/HttpClient.class.php
vendored
Normal file
340
vendor/chinadoi/include/HttpClient.class.php
vendored
Normal file
@@ -0,0 +1,340 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* * @author:administrator
|
||||
* @createTime:2016-07-03
|
||||
*/
|
||||
|
||||
class HttpClient {
|
||||
// Request vars
|
||||
var $host;
|
||||
var $port;
|
||||
var $path;
|
||||
var $method;
|
||||
var $postdata = '';
|
||||
var $cookies = array();
|
||||
var $referer;
|
||||
var $accept = 'text/xml,application/xml,application/xhtml+xml,text/html,text/plain,image/png,image/jpeg,image/gif,*/*';
|
||||
var $accept_encoding = 'gzip';
|
||||
var $accept_language = 'en-us';
|
||||
var $user_agent = 'Incutio HttpClient v0.9';
|
||||
// Options
|
||||
var $timeout = 20;
|
||||
var $use_gzip = true;
|
||||
var $persist_cookies = true; // If true, received cookies are placed in the $this->cookies array ready for the next request
|
||||
// Note: This currently ignores the cookie path (and time) completely. Time is not important,
|
||||
// but path could possibly lead to security problems.
|
||||
var $persist_referers = true; // For each request, sends path of last request as referer
|
||||
var $debug = false;
|
||||
var $handle_redirects = true; // Auaomtically redirect if Location or URI header is found
|
||||
var $max_redirects = 5;
|
||||
var $headers_only = false; // If true, stops receiving once headers have been read.
|
||||
// Basic authorization variables
|
||||
var $username;
|
||||
var $password;
|
||||
// Response vars
|
||||
var $status;
|
||||
var $headers = array();
|
||||
var $content = '';
|
||||
var $errormsg;
|
||||
// Tracker variables
|
||||
var $redirect_count = 0;
|
||||
var $cookie_host = '';
|
||||
function HttpClient($host, $port=80) {
|
||||
$this->host = $host;
|
||||
$this->port = $port;
|
||||
}
|
||||
function get($path, $data = false) {
|
||||
$this->path = $path;
|
||||
$this->method = 'GET';
|
||||
if ($data) {
|
||||
$this->path .= '?'.$this->buildQueryString($data);
|
||||
}
|
||||
return $this->doRequest();
|
||||
}
|
||||
function post($path, $data) {
|
||||
$this->path = $path;
|
||||
$this->method = 'POST';
|
||||
$this->postdata = $this->buildQueryString($data);
|
||||
return $this->doRequest();
|
||||
}
|
||||
function buildQueryString($data) {
|
||||
$querystring = '';
|
||||
if (is_array($data)) {
|
||||
// Change data in to postable data
|
||||
foreach ($data as $key => $val) {
|
||||
if (is_array($val)) {
|
||||
foreach ($val as $val2) {
|
||||
$querystring .= urlencode($key).'='.urlencode($val2).'&';
|
||||
}
|
||||
} else {
|
||||
$querystring .= urlencode($key).'='.urlencode($val).'&';
|
||||
}
|
||||
}
|
||||
$querystring = substr($querystring, 0, -1); // Eliminate unnecessary &
|
||||
} else {
|
||||
$querystring = $data;
|
||||
}
|
||||
return $querystring;
|
||||
}
|
||||
function doRequest() {
|
||||
// Performs the actual HTTP request, returning true or false depending on outcome
|
||||
if (!$fp = @fsockopen($this->host, $this->port, $errno, $errstr, $this->timeout)) {
|
||||
// Set error message
|
||||
switch($errno) {
|
||||
case -3:
|
||||
$this->errormsg = 'Socket creation failed (-3)';
|
||||
case -4:
|
||||
$this->errormsg = 'DNS lookup failure (-4)';
|
||||
case -5:
|
||||
$this->errormsg = 'Connection refused or timed out (-5)';
|
||||
default:
|
||||
$this->errormsg = 'Connection failed ('.$errno.')';
|
||||
$this->errormsg .= ' '.$errstr;
|
||||
$this->debug($this->errormsg);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
socket_set_timeout($fp, $this->timeout);
|
||||
$request = $this->buildRequest();
|
||||
$this->debug('Request', $request);
|
||||
fwrite($fp, $request);
|
||||
// Reset all the variables that should not persist between requests
|
||||
$this->headers = array();
|
||||
$this->content = '';
|
||||
$this->errormsg = '';
|
||||
// Set a couple of flags
|
||||
$inHeaders = true;
|
||||
$atStart = true;
|
||||
// Now start reading back the response
|
||||
while (!feof($fp)) {
|
||||
$line = fgets($fp, 4096);
|
||||
if ($atStart) {
|
||||
// Deal with first line of returned data
|
||||
$atStart = false;
|
||||
if (!preg_match('/HTTP\/(\\d\\.\\d)\\s*(\\d+)\\s*(.*)/', $line, $m)) {
|
||||
$this->errormsg = "Status code line invalid: ".htmlentities($line);
|
||||
$this->debug($this->errormsg);
|
||||
return false;
|
||||
}
|
||||
$http_version = $m[1]; // not used
|
||||
$this->status = $m[2];
|
||||
$status_string = $m[3]; // not used
|
||||
$this->debug(trim($line));
|
||||
continue;
|
||||
}
|
||||
if ($inHeaders) {
|
||||
if (trim($line) == '') {
|
||||
$inHeaders = false;
|
||||
$this->debug('Received Headers', $this->headers);
|
||||
if ($this->headers_only) {
|
||||
break; // Skip the rest of the input
|
||||
}
|
||||
continue;
|
||||
}
|
||||
if (!preg_match('/([^:]+):\\s*(.*)/', $line, $m)) {
|
||||
// Skip to the next header
|
||||
continue;
|
||||
}
|
||||
$key = strtolower(trim($m[1]));
|
||||
$val = trim($m[2]);
|
||||
// Deal with the possibility of multiple headers of same name
|
||||
if (isset($this->headers[$key])) {
|
||||
if (is_array($this->headers[$key])) {
|
||||
$this->headers[$key][] = $val;
|
||||
} else {
|
||||
$this->headers[$key] = array($this->headers[$key], $val);
|
||||
}
|
||||
} else {
|
||||
$this->headers[$key] = $val;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
// We're not in the headers, so append the line to the contents
|
||||
$this->content .= $line;
|
||||
}
|
||||
fclose($fp);
|
||||
// If data is compressed, uncompress it
|
||||
if (isset($this->headers['content-encoding']) && $this->headers['content-encoding'] == 'gzip') {
|
||||
$this->debug('Content is gzip encoded, unzipping it');
|
||||
$this->content = substr($this->content, 10); // See http://www.php.net/manual/en/function.gzencode.php
|
||||
$this->content = gzinflate($this->content);
|
||||
}
|
||||
// If $persist_cookies, deal with any cookies
|
||||
if ($this->persist_cookies && isset($this->headers['set-cookie']) && $this->host == $this->cookie_host) {
|
||||
$cookies = $this->headers['set-cookie'];
|
||||
if (!is_array($cookies)) {
|
||||
$cookies = array($cookies);
|
||||
}
|
||||
foreach ($cookies as $cookie) {
|
||||
if (preg_match('/([^=]+)=([^;]+);/', $cookie, $m)) {
|
||||
$this->cookies[$m[1]] = $m[2];
|
||||
}
|
||||
}
|
||||
// Record domain of cookies for security reasons
|
||||
$this->cookie_host = $this->host;
|
||||
}
|
||||
// If $persist_referers, set the referer ready for the next request
|
||||
if ($this->persist_referers) {
|
||||
$this->debug('Persisting referer: '.$this->getRequestURL());
|
||||
$this->referer = $this->getRequestURL();
|
||||
}
|
||||
// Finally, if handle_redirects and a redirect is sent, do that
|
||||
if ($this->handle_redirects) {
|
||||
if (++$this->redirect_count >= $this->max_redirects) {
|
||||
$this->errormsg = 'Number of redirects exceeded maximum ('.$this->max_redirects.')';
|
||||
$this->debug($this->errormsg);
|
||||
$this->redirect_count = 0;
|
||||
return false;
|
||||
}
|
||||
$location = isset($this->headers['location']) ? $this->headers['location'] : '';
|
||||
$uri = isset($this->headers['uri']) ? $this->headers['uri'] : '';
|
||||
if ($location || $uri) {
|
||||
$url = parse_url($location.$uri);
|
||||
// This will FAIL if redirect is to a different site
|
||||
return $this->get($url['path']);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
function buildRequest() {
|
||||
$headers = array();
|
||||
$headers[] = "{$this->method} {$this->path} HTTP/1.0"; // Using 1.1 leads to all manner of problems, such as "chunked" encoding
|
||||
$headers[] = "Host: {$this->host}";
|
||||
$headers[] = "User-Agent: {$this->user_agent}";
|
||||
$headers[] = "Accept: {$this->accept}";
|
||||
if ($this->use_gzip) {
|
||||
$headers[] = "Accept-encoding: {$this->accept_encoding}";
|
||||
}
|
||||
$headers[] = "Accept-language: {$this->accept_language}";
|
||||
if ($this->referer) {
|
||||
$headers[] = "Referer: {$this->referer}";
|
||||
}
|
||||
// Cookies
|
||||
if ($this->cookies) {
|
||||
$cookie = 'Cookie: ';
|
||||
foreach ($this->cookies as $key => $value) {
|
||||
$cookie .= "$key=$value; ";
|
||||
}
|
||||
$headers[] = $cookie;
|
||||
}
|
||||
// Basic authentication
|
||||
if ($this->username && $this->password) {
|
||||
$headers[] = 'Authorization: BASIC '.base64_encode($this->username.':'.$this->password);
|
||||
}
|
||||
// If this is a POST, set the content type and length
|
||||
if ($this->postdata) {
|
||||
$headers[] = 'Content-Type: application/x-www-form-urlencoded';
|
||||
$headers[] = 'Content-Length: '.strlen($this->postdata);
|
||||
}
|
||||
$request = implode("\r\n", $headers)."\r\n\r\n".$this->postdata;
|
||||
return $request;
|
||||
}
|
||||
function getStatus() {
|
||||
return $this->status;
|
||||
}
|
||||
function getContent() {
|
||||
return $this->content;
|
||||
}
|
||||
function getHeaders() {
|
||||
return $this->headers;
|
||||
}
|
||||
function getHeader($header) {
|
||||
$header = strtolower($header);
|
||||
if (isset($this->headers[$header])) {
|
||||
return $this->headers[$header];
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
function getError() {
|
||||
return $this->errormsg;
|
||||
}
|
||||
function getCookies() {
|
||||
return $this->cookies;
|
||||
}
|
||||
function getRequestURL() {
|
||||
$url = 'http://'.$this->host;
|
||||
if ($this->port != 80) {
|
||||
$url .= ':'.$this->port;
|
||||
}
|
||||
$url .= $this->path;
|
||||
return $url;
|
||||
}
|
||||
// Setter methods
|
||||
function setUserAgent($string) {
|
||||
$this->user_agent = $string;
|
||||
}
|
||||
function setAuthorization($username, $password) {
|
||||
$this->username = $username;
|
||||
$this->password = $password;
|
||||
}
|
||||
function setCookies($array) {
|
||||
$this->cookies = $array;
|
||||
}
|
||||
// Option setting methods
|
||||
function useGzip($boolean) {
|
||||
$this->use_gzip = $boolean;
|
||||
}
|
||||
function setPersistCookies($boolean) {
|
||||
$this->persist_cookies = $boolean;
|
||||
}
|
||||
function setPersistReferers($boolean) {
|
||||
$this->persist_referers = $boolean;
|
||||
}
|
||||
function setHandleRedirects($boolean) {
|
||||
$this->handle_redirects = $boolean;
|
||||
}
|
||||
function setMaxRedirects($num) {
|
||||
$this->max_redirects = $num;
|
||||
}
|
||||
function setHeadersOnly($boolean) {
|
||||
$this->headers_only = $boolean;
|
||||
}
|
||||
function setDebug($boolean) {
|
||||
$this->debug = $boolean;
|
||||
}
|
||||
// "Quick" static methods
|
||||
function quickGet($url) {
|
||||
$bits = parse_url($url);
|
||||
$host = $bits['host'];
|
||||
$port = isset($bits['port']) ? $bits['port'] : 80;
|
||||
$path = isset($bits['path']) ? $bits['path'] : '/';
|
||||
if (isset($bits['query'])) {
|
||||
$path .= '?'.$bits['query'];
|
||||
}
|
||||
$client = new HttpClient($host, $port);
|
||||
if (!$client->get($path)) {
|
||||
return false;
|
||||
} else {
|
||||
return $client->getContent();
|
||||
}
|
||||
}
|
||||
function quickPost($url, $data) {
|
||||
$bits = parse_url($url);
|
||||
$host = $bits['host'];
|
||||
$port = isset($bits['port']) ? $bits['port'] : 80;
|
||||
$path = isset($bits['path']) ? $bits['path'] : '/';
|
||||
$client = new HttpClient($host, $port);
|
||||
if (!$client->post($path, $data)) {
|
||||
return false;
|
||||
} else {
|
||||
return $client->getContent();
|
||||
}
|
||||
}
|
||||
function debug($msg, $object = false) {
|
||||
if ($this->debug) {
|
||||
print '<div style="border: 1px solid red; padding: 0.5em; margin: 0.5em;"><strong>HttpClient Debug:</strong> '.$msg;
|
||||
if ($object) {
|
||||
ob_start();
|
||||
print_r($object);
|
||||
$content = htmlentities(ob_get_contents());
|
||||
ob_end_clean();
|
||||
print '<pre>'.$content.'</pre>';
|
||||
}
|
||||
print '</div>';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
109
vendor/chinadoi/include/LoginResult.class.php
vendored
Normal file
109
vendor/chinadoi/include/LoginResult.class.php
vendored
Normal file
@@ -0,0 +1,109 @@
|
||||
<?php
|
||||
|
||||
|
||||
/**
|
||||
* @className:LoginResult.php
|
||||
* @classDescription:系统登录结果类
|
||||
* @author:administrator
|
||||
* @createTime:2016-07-03
|
||||
*/
|
||||
class LoginResult {
|
||||
|
||||
/**
|
||||
* cookie信息
|
||||
*/
|
||||
var $cookies;
|
||||
|
||||
/**
|
||||
* 用户ID
|
||||
*/
|
||||
var $userId;
|
||||
|
||||
/**
|
||||
* 用户类型
|
||||
*/
|
||||
var $companyType;
|
||||
|
||||
/**
|
||||
* 登录状态
|
||||
*/
|
||||
var $loginState;
|
||||
|
||||
/**
|
||||
* 取得cookie信息
|
||||
*
|
||||
* @return cookie信息
|
||||
*/
|
||||
function __construct()
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
function getCookies() {
|
||||
return $this->cookies;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置cookie信息
|
||||
*
|
||||
* @param cookie信息
|
||||
*/
|
||||
function setCookies($cookies) {
|
||||
$this->cookies = $cookies;
|
||||
}
|
||||
|
||||
/**
|
||||
* 取得用户ID
|
||||
*
|
||||
* @return 用户ID
|
||||
*/
|
||||
function getUserId() {
|
||||
return $this->userId;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置用户ID
|
||||
*
|
||||
* @param 用户ID
|
||||
*/
|
||||
function setUserId( $userId) {
|
||||
$this->userId = $userId;
|
||||
}
|
||||
|
||||
/**
|
||||
* 取得用户类型
|
||||
*
|
||||
* @return 用户类型
|
||||
*/
|
||||
function getCompanyType() {
|
||||
return $this->companyType;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置用户类型
|
||||
*
|
||||
* @param 用户类型
|
||||
*/
|
||||
function setCompanyType( $companyType) {
|
||||
$this->companyType = $companyType;
|
||||
}
|
||||
|
||||
/**
|
||||
* 取得登录状态
|
||||
*
|
||||
* @return 登录状态
|
||||
*/
|
||||
function getLoginState() {
|
||||
return $this->loginState;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置登录状态
|
||||
*
|
||||
* @param 登录状态
|
||||
*/
|
||||
function setLoginState( $loginState) {
|
||||
$this->loginState = $loginState;
|
||||
}
|
||||
|
||||
}
|
||||
107
vendor/chinadoi/include/LoginResult.php
vendored
Normal file
107
vendor/chinadoi/include/LoginResult.php
vendored
Normal file
@@ -0,0 +1,107 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @className:LoginResult.php
|
||||
* @classDescription:系统登录结果类
|
||||
* @author:administrator
|
||||
* @createTime:2016-07-03
|
||||
*/
|
||||
class LoginResult {
|
||||
|
||||
/**
|
||||
* cookie信息
|
||||
*/
|
||||
var $cookies;
|
||||
|
||||
/**
|
||||
* 用户ID
|
||||
*/
|
||||
var $userId;
|
||||
|
||||
/**
|
||||
* 用户类型
|
||||
*/
|
||||
var $companyType;
|
||||
|
||||
/**
|
||||
* 登录状态
|
||||
*/
|
||||
var $loginState;
|
||||
|
||||
/**
|
||||
* 取得cookie信息
|
||||
*
|
||||
* @return cookie信息
|
||||
*/
|
||||
function __construct() {
|
||||
|
||||
}
|
||||
|
||||
function getCookies() {
|
||||
return $this->cookies;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置cookie信息
|
||||
*
|
||||
* @param cookie信息
|
||||
*/
|
||||
function setCookies($cookies) {
|
||||
$this->cookies = $cookies;
|
||||
}
|
||||
|
||||
/**
|
||||
* 取得用户ID
|
||||
*
|
||||
* @return 用户ID
|
||||
*/
|
||||
function getUserId() {
|
||||
return $this->userId;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置用户ID
|
||||
*
|
||||
* @param 用户ID
|
||||
*/
|
||||
function setUserId($userId) {
|
||||
$this->userId = $userId;
|
||||
}
|
||||
|
||||
/**
|
||||
* 取得用户类型
|
||||
*
|
||||
* @return 用户类型
|
||||
*/
|
||||
function getCompanyType() {
|
||||
return $this->companyType;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置用户类型
|
||||
*
|
||||
* @param 用户类型
|
||||
*/
|
||||
function setCompanyType($companyType) {
|
||||
$this->companyType = $companyType;
|
||||
}
|
||||
|
||||
/**
|
||||
* 取得登录状态
|
||||
*
|
||||
* @return 登录状态
|
||||
*/
|
||||
function getLoginState() {
|
||||
return $this->loginState;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置登录状态
|
||||
*
|
||||
* @param 登录状态
|
||||
*/
|
||||
function setLoginState($loginState) {
|
||||
$this->loginState = $loginState;
|
||||
}
|
||||
|
||||
}
|
||||
91
vendor/chinadoi/include/MyCookie.class.php
vendored
Normal file
91
vendor/chinadoi/include/MyCookie.class.php
vendored
Normal file
@@ -0,0 +1,91 @@
|
||||
<?php
|
||||
/*
|
||||
* @author:administrator
|
||||
* @createTime:2016-07-03
|
||||
*/
|
||||
Class MyCookie
|
||||
{
|
||||
|
||||
|
||||
function ReadCookie($cookiefile="../../tmp.cookie")
|
||||
{
|
||||
|
||||
$cookie_folder = dirname(__FILE__)."/temp";
|
||||
$lines = file($cookie_folder."/$cookiefile");
|
||||
|
||||
$rtn=array();
|
||||
|
||||
foreach($lines as $line) {
|
||||
|
||||
// if($line[0] != '#' && substr_count($line, "\t") == 6) {
|
||||
|
||||
die("--ss-");
|
||||
|
||||
$tokens = explode("\t", $line);
|
||||
|
||||
$tokens = array_map('trim', $tokens);
|
||||
|
||||
$tokens[4] = date('Y-m-d h:i:s', $tokens[4]);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
if(strpos($tokens[6], "~")!=false )
|
||||
{
|
||||
|
||||
$tmpary=exploed($tokens[6],"~");
|
||||
|
||||
$rtn["userId"]=$tmpary[0];
|
||||
$rtn["userName"]=$tmpary[1];
|
||||
$rtn["companyType"]=$tmpary[2];
|
||||
|
||||
return $rtn;
|
||||
}
|
||||
|
||||
|
||||
|
||||
//}
|
||||
|
||||
}
|
||||
|
||||
return $rtn;
|
||||
|
||||
}
|
||||
|
||||
|
||||
function join_cookie($cook)
|
||||
{
|
||||
foreach( $cook as $k=>$v )
|
||||
{
|
||||
$d[] =$k."=".$v;
|
||||
}
|
||||
|
||||
$data = implode(";",$d);
|
||||
return $data;
|
||||
}
|
||||
function pase_cookie($cookFile,$encode=true)
|
||||
{
|
||||
$cookie = file_get_contents ( $cookFile );
|
||||
$citem = explode("*\n",$cookie);
|
||||
foreach( $citem as $c )
|
||||
{
|
||||
list($ckey,$cvalue) = explode("\n",$c);
|
||||
if($ckey!='')$cook[$ckey] = $cvalue;
|
||||
}
|
||||
return $cook;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
?>
|
||||
<?php
|
||||
|
||||
////test ...
|
||||
|
||||
/*
|
||||
$MyCookieC=new MyCookie();
|
||||
|
||||
$MyCookieC->ReadCookie();
|
||||
*/
|
||||
?>
|
||||
377
vendor/chinadoi/include/UploadFileQ2.class.php
vendored
Normal file
377
vendor/chinadoi/include/UploadFileQ2.class.php
vendored
Normal file
@@ -0,0 +1,377 @@
|
||||
<?php
|
||||
/**
|
||||
* 上传文件
|
||||
*
|
||||
* @author:administrator
|
||||
* @createTime:2016-07-03
|
||||
*
|
||||
*/
|
||||
include_once('UserLoginQ2.class.php');
|
||||
include_once('UploadResult.class.php');
|
||||
include_once('DoiRegResult.class.php');
|
||||
|
||||
class UploadFileQ2 {
|
||||
|
||||
var $filePath;// 源文件路径,要上传的文件的全路径包括文件名
|
||||
var $userId;// 用户id
|
||||
var $companyType;// 机构类型
|
||||
//var $doiurl="127.0.0.1:8080/chinadoi-portal";
|
||||
var $ip=null;
|
||||
// 构造方法
|
||||
function __construct() {
|
||||
|
||||
}
|
||||
/**
|
||||
*
|
||||
* @param filePath 源文件路径,要上传的文件的全路径包括文件名
|
||||
* @param userId 用户id
|
||||
* @param companyType 机构类型
|
||||
* @return 上传结果 文件上传成功
|
||||
文件名、目录名或卷标语法不正确
|
||||
请输入文件名称
|
||||
您输入的文件名含有非法字符
|
||||
已有同名文件夹
|
||||
文件重命名错误请与管理员联系或者重新上传
|
||||
插入记录有错误请与管理员联系
|
||||
文件不存在
|
||||
服务器连接失败
|
||||
*/
|
||||
|
||||
function upload( $filePath, $username, $password, $oprType){
|
||||
|
||||
$CUserLoginO2X=new UserLoginQ2();
|
||||
|
||||
if(empty($this->ip)) $this->ip=SERVERIP;
|
||||
|
||||
$ip=$this->ip;
|
||||
|
||||
$loginresult=$CUserLoginO2X->userlogin($username, $password,$ip);
|
||||
|
||||
if($loginresult->loginState!=="登录成功") return $loginresult->loginState;
|
||||
|
||||
return $this->uploadX1($filePath, $loginresult->userId, $loginresult->companyType,$oprType);
|
||||
}
|
||||
|
||||
|
||||
function upload2( $filePath, $username, $password, $oprType){
|
||||
|
||||
$CUserLoginO2X=new UserLoginQ2();
|
||||
|
||||
if(empty($this->ip)) $this->ip=SERVERIP;
|
||||
|
||||
$ip=$this->ip;
|
||||
|
||||
$loginresult=$CUserLoginO2X->userlogin($username, $password,$ip);
|
||||
|
||||
if($loginresult->loginState!=="登录成功") return $loginresult->loginState;
|
||||
|
||||
return $this->uploadX2($filePath, $loginresult->userId, $loginresult->companyType,$oprType);
|
||||
}
|
||||
|
||||
function uploadX1($targetFile, $userId, $companyType, $oprType) {
|
||||
|
||||
|
||||
$rtn="文件上传失败";
|
||||
|
||||
$cookie_file = COOKIEFILE;
|
||||
|
||||
if(!file_exists($cookie_file))
|
||||
{
|
||||
|
||||
echo "cookie_file is not exists!";
|
||||
|
||||
die();
|
||||
}
|
||||
|
||||
$this->userId=$userId;
|
||||
$this->companyType=$companyType;
|
||||
|
||||
$upurl=$this->ip."/chinadoi-manage/manage/doidata-upload.action";
|
||||
$ch = curl_init();
|
||||
curl_setopt($ch, CURLOPT_URL,$upurl );
|
||||
curl_setopt($ch, CURLOPT_HEADER, 0);
|
||||
curl_setopt($ch, CURLOPT_VERBOSE, 0);
|
||||
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
|
||||
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible;)");
|
||||
//curl_setopt($ch, CURLOPT_URL, _VIRUS_SCAN_URL);
|
||||
curl_setopt($ch, CURLOPT_POST, true);
|
||||
|
||||
$post = array(
|
||||
"fileForm_upload"=>"@$targetFile",
|
||||
"upload"=>"@$targetFile",
|
||||
"OTList"=>"DOI注册",
|
||||
"userId"=> $this->userId,
|
||||
"companyType"=> $this->companyType,
|
||||
"clientState"=> true,
|
||||
"pageType"=> "clientUpFile",
|
||||
|
||||
"mes"=> "",
|
||||
"allUpSpace"=> "1000",
|
||||
"upFileSpace"=> "15.0",
|
||||
"oddSpace"=> "999.96",
|
||||
"rootPath"=> "E:/chinadoi/backup/UserFiles/552",
|
||||
"filePath"=> "/待审核的文件/追加数据",
|
||||
"upFileType"=> "3",
|
||||
"outputfiletype"=> "2",
|
||||
|
||||
|
||||
);
|
||||
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
|
||||
|
||||
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
|
||||
|
||||
$result = curl_exec($ch);
|
||||
|
||||
if(strpos($result, "文件上传成功")!=false )
|
||||
{
|
||||
|
||||
|
||||
$rtn= $uploadState="文件上传成功";
|
||||
|
||||
}
|
||||
|
||||
return $rtn;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
function uploadX2($targetFile, $userId, $companyType, $oprType)
|
||||
{
|
||||
|
||||
|
||||
$rtn = new UploadResult();
|
||||
|
||||
$cookie_file = COOKIEFILE;
|
||||
|
||||
$uploadMsg = "服务器连接失败";
|
||||
$newFileNames = array();
|
||||
|
||||
|
||||
if(!file_exists($cookie_file))
|
||||
{
|
||||
|
||||
//echo "cookie_file is not exists!";
|
||||
|
||||
$uploadMsg = $targetFile. "用户未授权";
|
||||
$rtn->setUploadState($uploadMsg);
|
||||
return $rtn;
|
||||
}
|
||||
|
||||
|
||||
|
||||
if(!file_exists($targetFile)&&!is_dir($dir)){
|
||||
|
||||
|
||||
$uploadMsg = $targetFile. "文件上传失败!文件或目录不存在";
|
||||
$rtn->setUploadState($uploadMsg);
|
||||
return $rtn;
|
||||
}
|
||||
|
||||
$checkResult = is_dir($targetFile);
|
||||
if($checkResult==true){
|
||||
|
||||
$filesnames = scandir($targetFile);
|
||||
foreach ($filesnames as $subfile) {
|
||||
|
||||
if($subfile!="." && $subfile!="..")
|
||||
{
|
||||
$subfile=$targetFile."/".$subfile;
|
||||
$uploadresult=new UploadResult();
|
||||
|
||||
$uploadresult = $this->uploadX2($subfile, $userId, $companyType,$oprType);
|
||||
if ("文件上传成功"!=$uploadresult->getUploadState()) {
|
||||
return $uploadresult;
|
||||
}
|
||||
|
||||
$newFileNames = array_merge((array)$newFileNames, (array)$uploadresult->getNewFileNames());
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
$rtn->setUploadState("文件上传成功");
|
||||
$rtn->setNewFileNames($newFileNames);
|
||||
return $rtn;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////
|
||||
|
||||
$this->userId=$userId;
|
||||
$this->companyType=$companyType;
|
||||
|
||||
|
||||
|
||||
if ($oprType == 1) {
|
||||
// 上传类型
|
||||
$filePath="/待审核的文件/批量DOI查询";
|
||||
} else if ($oprType == 2) {
|
||||
// 上传类型
|
||||
$filePath="/待审核的文件/批量元数据查询";
|
||||
} else if ($oprType == 3) {
|
||||
// 上传类型
|
||||
$filePath="/待审核的文件/追加数据";
|
||||
} else if ($oprType == 4) {
|
||||
// 上传类型
|
||||
$filePath="/待审核的文件/修改数据";
|
||||
}
|
||||
else
|
||||
{
|
||||
$filePath="/待审核的文件/追加数据";
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
$post = array(
|
||||
"upload"=>"@$targetFile",
|
||||
"userId"=>$this->userId,
|
||||
"companyType"=>$this->companyType,
|
||||
"upFileSpace_s"=>filesize($targetFile) ,
|
||||
"clientState"=> true,
|
||||
"filePath"=> $filePath,
|
||||
"upFileType"=> "3",
|
||||
"pageType"=> "clientUpFile",
|
||||
|
||||
|
||||
|
||||
);
|
||||
$upurl=$this->ip."/chinadoi-manage/manage/doidata-upload.action";
|
||||
$ch = curl_init();
|
||||
curl_setopt($ch, CURLOPT_URL,$upurl );
|
||||
curl_setopt($ch, CURLOPT_HEADER, 1);
|
||||
curl_setopt($ch, CURLOPT_VERBOSE, 0);
|
||||
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
|
||||
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible;)");
|
||||
//curl_setopt($ch, CURLOPT_URL, _VIRUS_SCAN_URL);
|
||||
curl_setopt($ch, CURLOPT_POST, true);
|
||||
|
||||
|
||||
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
|
||||
|
||||
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
|
||||
|
||||
$result = curl_exec($ch);
|
||||
$header =null;
|
||||
if (curl_getinfo($ch, CURLINFO_HTTP_CODE) == '200') {
|
||||
$headerSize = curl_getinfo($ch, CURLINFO_HEADER_SIZE);
|
||||
$header = substr($result, 0, $headerSize);
|
||||
|
||||
|
||||
}
|
||||
curl_close($ch);
|
||||
|
||||
$state=null;
|
||||
$newfilename=null;
|
||||
|
||||
|
||||
if(empty($header))
|
||||
{
|
||||
$uploadMsg = "服务器连接失败";
|
||||
}
|
||||
else
|
||||
{
|
||||
$headArr = explode("\n", $header);
|
||||
foreach ($headArr as $line) {
|
||||
|
||||
if(strpos($line, "state") !== false){
|
||||
|
||||
$tmpary=explode(":",$line);
|
||||
$state = trim($tmpary[1]);
|
||||
|
||||
|
||||
}
|
||||
|
||||
// 获取新文件名
|
||||
if(strpos($line, "newFileName") !== false){
|
||||
|
||||
$tmpary=explode(":",$line);
|
||||
$newfilename = trim($tmpary[1]);
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
if($state!=null ){
|
||||
|
||||
|
||||
|
||||
if($state=="upFile1"){
|
||||
$uploadMsg = "文件上传成功";
|
||||
} else if($state=="upFile4"){
|
||||
|
||||
$uploadMsg = $targetFile. "文件上传失败!文件名、目录名或卷标语法不正确";
|
||||
} else if($state=="upFile5"){
|
||||
$uploadMsg = $targetFile. "文件上传失败!请输入文件名称";
|
||||
} else if($state=="upFile6"){
|
||||
$uploadMsg = $targetFile. "文件上传失败!您输入的文件名含有非法字符";
|
||||
} else if($state=="upFile7"){
|
||||
$uploadMsg = $targetFile. "文件上传失败!已有同名文件夹";
|
||||
} else if($state=="upFile9"){
|
||||
$uploadMsg = $targetFile. "文件上传失败!文件重命名错误请与管理员联系或者重新上传";
|
||||
} else if($state=="upFile10"){
|
||||
$uploadMsg = $targetFile. "文件上传失败!插入记录有错误请与管理员联系";
|
||||
}
|
||||
else
|
||||
{
|
||||
$uploadMsg = $targetFile. "文件上传失败!未知原因";
|
||||
}
|
||||
|
||||
|
||||
|
||||
$rtn->setNewFileNames($newfilename);
|
||||
} else {
|
||||
$uploadMsg = "用户没有分配角色!请与管理员联系";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
$rtn->setUploadState($uploadMsg);
|
||||
|
||||
return $rtn;
|
||||
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* DOI注册结果查询
|
||||
*
|
||||
* @param fileName 系统中的文件名
|
||||
* @param userName 用户名
|
||||
* @param password 密码
|
||||
* @return DOI注册结果类
|
||||
*/
|
||||
|
||||
function getDoiRegResult( $fileName, $userName, $password) {
|
||||
|
||||
// 初始化返回结果
|
||||
$result = null;
|
||||
|
||||
|
||||
$wsdl = DOIQUERYSERVICEURL;
|
||||
$client = new SoapClient($wsdl);
|
||||
$param = array('in0'=>$fileName,'in1'=>$userName,'in2'=>$password);
|
||||
$ret = $client->getDoiRegResult($param);
|
||||
if ($ret->out){
|
||||
|
||||
$result = $ret->out;
|
||||
|
||||
}
|
||||
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
||||
58
vendor/chinadoi/include/UploadResult.class.php
vendored
Normal file
58
vendor/chinadoi/include/UploadResult.class.php
vendored
Normal file
@@ -0,0 +1,58 @@
|
||||
<?php
|
||||
|
||||
|
||||
/**
|
||||
* @className:UploadResult.php
|
||||
* @classDescription:文件上传结果类
|
||||
* @author:adminstrator
|
||||
* @createTime:2016-07-12
|
||||
*/
|
||||
class UploadResult {
|
||||
|
||||
/**
|
||||
* 上传状态
|
||||
*/
|
||||
var $uploadState;
|
||||
|
||||
/**
|
||||
* 系统中的文件名
|
||||
*/
|
||||
var $newFileNames;
|
||||
|
||||
/**
|
||||
* 取得上传状态
|
||||
*
|
||||
* @return 上传状态
|
||||
*/
|
||||
function getUploadState() {
|
||||
return $this->uploadState;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置上传状态
|
||||
*
|
||||
* @param 上传状态
|
||||
*/
|
||||
function setUploadState( $uploadState) {
|
||||
$this->uploadState = $uploadState;
|
||||
}
|
||||
|
||||
/**
|
||||
* 取得系统中的文件名
|
||||
*
|
||||
* @return 系统中的文件名
|
||||
*/
|
||||
function getNewFileNames() {
|
||||
return $this->newFileNames;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置系统中的文件名
|
||||
*
|
||||
* @param 系统中的文件名
|
||||
*/
|
||||
function setNewFileNames( $newFileNames) {
|
||||
$this->newFileNames = $newFileNames;
|
||||
}
|
||||
|
||||
}
|
||||
179
vendor/chinadoi/include/UserLoginQ2.class.php
vendored
Normal file
179
vendor/chinadoi/include/UserLoginQ2.class.php
vendored
Normal file
@@ -0,0 +1,179 @@
|
||||
<?php
|
||||
/*
|
||||
* @author:administrator
|
||||
* @createTime:2016-07-03
|
||||
*/
|
||||
header('Content-Type: text/html; charset=utf-8');
|
||||
//include_once("../config.php");
|
||||
include_once 'LoginResult.class.php';
|
||||
//define('SERVERIP','168.160.19.48:8080');
|
||||
|
||||
Class UserLoginQ2
|
||||
{
|
||||
|
||||
var $loginurl="chinadoi-manage/manage/login.action?";
|
||||
var $loginresult=null;
|
||||
|
||||
var $ip=null;
|
||||
|
||||
function userlogin( $userName, $password,$ip)
|
||||
{
|
||||
|
||||
if(empty($this->ip))
|
||||
$this->ip=SERVERIP;
|
||||
|
||||
$loginState = "服务器连接失败";
|
||||
|
||||
/**
|
||||
* 模拟登录
|
||||
*/
|
||||
|
||||
//初始化变量
|
||||
$cookie_file = COOKIEFILE;
|
||||
|
||||
$loginurl="chinadoi-manage/manage/login.action?";
|
||||
$login_url = "http://$ip/$loginurl";
|
||||
|
||||
|
||||
|
||||
$post = "userName=".$userName."&password=".$password;
|
||||
|
||||
|
||||
|
||||
$ch = curl_init($login_url);
|
||||
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5');
|
||||
curl_setopt($ch, CURLOPT_HEADER, 0);
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
|
||||
curl_setopt($ch, CURLOPT_MAXREDIRS, 1);
|
||||
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
|
||||
curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
|
||||
curl_setopt($ch, CURLOPT_POST, 1);
|
||||
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
|
||||
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
|
||||
curl_exec($ch);
|
||||
curl_close($ch);
|
||||
|
||||
//带上cookie文件,访问需要访问的页面
|
||||
|
||||
$ch = curl_init($login_url);
|
||||
curl_setopt($ch, CURLOPT_HEADER, 0);
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
|
||||
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
|
||||
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
|
||||
$result = curl_exec($ch);
|
||||
curl_close($ch);
|
||||
|
||||
//清理cookie文件
|
||||
// unlink($cookie_file);
|
||||
|
||||
|
||||
|
||||
//这一块根据自己抓包获取到的网站上的数据来做判断
|
||||
|
||||
$loginresult=new LoginResult();
|
||||
//echo $result;
|
||||
|
||||
if(strpos($result, "user-login!loginOut.action") !== false)
|
||||
{
|
||||
$loginState = "登录成功";
|
||||
|
||||
$arycookie=ReadCookie();
|
||||
|
||||
//print_r($arycookie);
|
||||
|
||||
$loginresult->userId=$arycookie["userId"];
|
||||
$loginresult->companyType=$arycookie["companyType"];
|
||||
|
||||
$loginresult->loginState=$loginState;
|
||||
|
||||
}else{
|
||||
$loginresult->loginState= $loginState ;
|
||||
exit;
|
||||
}
|
||||
|
||||
|
||||
return $loginresult;
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
?>
|
||||
<?php
|
||||
|
||||
function ReadCookie()
|
||||
{
|
||||
$rtn=array();
|
||||
|
||||
$cookie_file = COOKIEFILE;
|
||||
|
||||
//$handle = fopen("c:\\folder\\resource.txt", "w+");
|
||||
|
||||
if(!file_exists($cookie_file))
|
||||
{
|
||||
return $rtn;
|
||||
|
||||
}
|
||||
|
||||
$lines = file($cookie_file);
|
||||
|
||||
$trows = '';
|
||||
|
||||
|
||||
foreach($lines as $line) {
|
||||
|
||||
if($line[0] != '#' && substr_count($line, "\t") == 6) {
|
||||
|
||||
$tokens = explode("\t", $line);
|
||||
|
||||
$tokens = array_map('trim', $tokens);
|
||||
|
||||
$tokens[4] = date('Y-m-d h:i:s', $tokens[4]);
|
||||
|
||||
//echo $tokens[6]."<br/>";
|
||||
|
||||
if(strpos($tokens[6], "~")!=false )
|
||||
{
|
||||
|
||||
$tmpary=explode("~",$tokens[6]);
|
||||
|
||||
|
||||
|
||||
$rtn["userId"]=$tmpary[0];
|
||||
$rtn["userName"]=$tmpary[1];
|
||||
$rtn["companyType"]=$tmpary[2];
|
||||
|
||||
return $rtn;
|
||||
}
|
||||
|
||||
// $trows .= '<tr><td>' . implode('</td><td>', $tokens) . '</td></tr>' . PHP_EOL;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
//echo '<table>'.PHP_EOL.'<tbody>'.PHP_EOL.$trows.'</tbody>'.PHP_EOL.'</table>';
|
||||
|
||||
return $rtn;
|
||||
}
|
||||
|
||||
|
||||
|
||||
?>
|
||||
<?php
|
||||
/////////// test....
|
||||
|
||||
/*
|
||||
|
||||
$userloginQ2=new UserLoginQ2X();
|
||||
|
||||
$loginresult=$userloginQ2->userlogin("test01", "test01", "168.160.19.48:8080");
|
||||
|
||||
echo $loginresult->loginState;
|
||||
|
||||
echo "<br/>";
|
||||
|
||||
echo $loginresult->userId;
|
||||
*/
|
||||
|
||||
?>
|
||||
|
||||
4
vendor/chinadoi/temp/tmp.cookie
vendored
Normal file
4
vendor/chinadoi/temp/tmp.cookie
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
# Netscape HTTP Cookie File
|
||||
# https://curl.haxx.se/docs/http-cookies.html
|
||||
# This file was generated by libcurl! Edit at your own risk.
|
||||
|
||||
144
vendor/chinadoi/upload/test001.xml
vendored
Normal file
144
vendor/chinadoi/upload/test001.xml
vendored
Normal file
@@ -0,0 +1,144 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<doi_batch version="1.0.0">
|
||||
<!-->1.头标区<-->
|
||||
<head>
|
||||
<doi_batch_id>20111020</doi_batch_id>
|
||||
<timestamp>20111020144942</timestamp>
|
||||
<depositor>
|
||||
<name>wangyue</name>
|
||||
<email_address>wangyue81@gmail.com</email_address>
|
||||
</depositor>
|
||||
<registrant>zgfazz</registrant>
|
||||
</head>
|
||||
<!-->2.主体<-->
|
||||
<body>
|
||||
<!-->中国肺癌杂志<-->
|
||||
<journal>
|
||||
<!-->2.1 刊元数据<-->
|
||||
<journal_metadata>
|
||||
<journal_id>zgfazz</journal_id>
|
||||
<full_title language="zh">中国肺癌杂志</full_title>
|
||||
<full_title language="en">Chinese Journal of Lung Cancer</full_title>
|
||||
<abbrev_title/>
|
||||
<issn media_type="print">1009-3419</issn>
|
||||
<cn media_type="print">12-1395/R</cn>
|
||||
</journal_metadata>
|
||||
<!-->2.2 期元数据<-->
|
||||
<journal_issue>
|
||||
<publication_date media_type="print">
|
||||
<!--需media_type: online | print | other-->
|
||||
<year>2011</year>
|
||||
<month/>
|
||||
<day/>
|
||||
</publication_date>
|
||||
<journal_volume>
|
||||
<volume>14</volume>
|
||||
</journal_volume>
|
||||
<issue>10</issue>
|
||||
<special_numbering/>
|
||||
</journal_issue>
|
||||
<!-->2.3 文章元数据<-->
|
||||
<journal_article>
|
||||
<titles language="zh">
|
||||
<title>高分辨熔解曲线法检测非小细胞肺癌p53基因的突变</title>
|
||||
<!-->一个titles里面只能有一个title<-->
|
||||
<subtitle/>
|
||||
</titles>
|
||||
<titles language="en">
|
||||
<title>High Resolution Melting Analysis for Detecting p53 Gene Mutations in Patients with Non-small Cell Lung Cancer</title>
|
||||
<subtitle/>
|
||||
</titles>
|
||||
<contributors>
|
||||
<person_name language="zh" sequence="first" contributor_role="author">陈志红</person_name>
|
||||
<person_name language="zh" sequence="additional" contributor_role="author">安社娟</person_name>
|
||||
<person_name language="zh" sequence="additional" contributor_role="author">谢至</person_name>
|
||||
<person_name language="zh" sequence="additional" contributor_role="author">严红虹</person_name>
|
||||
<person_name language="zh" sequence="additional" contributor_role="author">陈剑光</person_name>
|
||||
<person_name language="zh" sequence="additional" contributor_role="author">苏健</person_name>
|
||||
<person_name language="zh" sequence="additional" contributor_role="author">张绪超</person_name>
|
||||
<person_name language="zh" sequence="additional" contributor_role="author">牛飞玉</person_name>
|
||||
<person_name language="zh" sequence="additional" contributor_role="author">郭伟浜</person_name>
|
||||
<person_name language="zh" sequence="additional" contributor_role="author">吴一龙</person_name>
|
||||
<person_name language="en" sequence="first" contributor_role="author">Zhihong CHEN</person_name>
|
||||
<person_name language="en" sequence="additional" contributor_role="author">Shejuan AN</person_name>
|
||||
<person_name language="en" sequence="additional" contributor_role="author">Zhi XIE</person_name>
|
||||
<person_name language="en" sequence="additional" contributor_role="author">Honghong YAN</person_name>
|
||||
<person_name language="en" sequence="additional" contributor_role="author">Jianguang CHEN</person_name>
|
||||
<person_name language="en" sequence="additional" contributor_role="author">Jian SU</person_name>
|
||||
<person_name language="en" sequence="additional" contributor_role="author">Xuchao ZHANG</person_name>
|
||||
<person_name language="en" sequence="additional" contributor_role="author">Feiyu NIU</person_name>
|
||||
<person_name language="en" sequence="additional" contributor_role="author">Weibang GUO</person_name>
|
||||
<person_name language="en" sequence="additional" contributor_role="author">Yilong WU</person_name>
|
||||
<organization sequence="first" contributor_role="author">510080 广州,广东省人民医院医学研究中心,广东省医学科学院,广东省肺癌研究所( 通讯作者:吴一龙,E-mail: syylwu@live.cn);Medical Research Center, Guangdong General Hospital, Guangdong Lung Cancer Institute,
Guangdong Academy of Medical Sciences, Guangzhou 510080, China</organization>
|
||||
</contributors>
|
||||
<publication_date media_type="print">
|
||||
<year>2011</year>
|
||||
</publication_date>
|
||||
<publisher_item>
|
||||
<item_number>zgfazz201110005</item_number>
|
||||
</publisher_item>
|
||||
<keywords language="zh">p53基因;突变;测序</keywords>
|
||||
<keywords language="en">p53 gene; Mutation; Sequence</keywords>
|
||||
<abstract language="zh">背景与目的 p53基因与人类多种肿瘤相关,突变型具有致癌作用,主要分布在外显子5-8。本研究旨在建立高分辨熔解曲线(high resolution melting, HRM)检测非小细胞肺癌(non-small cell lung cancer, NSCLC)患者p53基因突变的方法,探讨p53基因突变的特点及其在NSCLC发生发展中的演变规律。方法 采用HRM法检测264例NSCLC患者肿瘤组织和54例癌旁肺组织p53基因外显子5-8的突变,突变样品进一步使用PCR产物直接测序法分析确定突变类型;HRM法检测阳性而PCR产物直接测序法检测阴性的样品,进一步进行亚克隆测序证实。结果 54例对照未发现突变。264例肿瘤组织中,HRM法检出 p53基因突变104例,102例得到PCR产物直接测序法证实,突变率为39.4%;95例为点突变,7例为碱基插入和缺失导致的移码突变。p53外显子5-8的突变率分别为11.7%、8%、12.5%和10.6%,差异无统计学意义(P=0.35)。p53基因突变与性别有关,与其它临床病理特征无关。结论 HRM法筛选p53基因突变样品,具有操作简便、快速、敏感、单管避免污染等优点,值得推广。p53基因的突变特点提示,p53基因突变是自发性突变,可能是DNA合成和修复过程中的随机错误所致。</abstract>
|
||||
<abstract language="en">Background and objective It has been proven that p53 gene was related to many human cancers. The mutations in p53 gene play an important role in carcinogensis and mostly happened in exon 5-8. The aim of this study is to establish a high resolution melting (HRM) assay to detect p53 mutations from patients with non-small cell lung cancer (NSCLC), to investigate the characteristics of p53 gene mutations, and to analyze the relationship between p53 mutations and evolution regularity of pathogenesis. Methods p53 mutations in exon 5-8 were detected by HRM assay on DNA insolated from 264 NSCLC samples derived from tumor tissues and 54 control samples from pericancerous pulmonary tissues. The mutation samples by the HRM assay were confirmed by sequencing technique. Samples which were positive by HRM but wild type by sequencing were further confirmed by sub-clone and sequencing. Results No mutation was found in 54 pericancerous pulmonary samples by HRM assay. 104 of the 264 tumor tissues demonstrated mutation curves by HRM assay, 102 samples were confirmed by sequencing, including 95 point mutations and 7 frame shift mutations by insertion or deletion. The mutation rate of p53 gene was 39.4%. The mutation rate from exon 5-8 were 11.7%, 8%, 12.5% and 10.6%, respectively and there was no statistically significant difference between them (P=0.35). p53 mutations were significantly more frequent in males than that in females, but not related to the other clinicopathologic characteristics. Conclusion The results indicate that HRM is a sensitive in-tube methodology to detect for mutations in clinical samples. The results suggest that the arising p53 mutations in NSCLC may be due to spontaneous error in DNA synthesis and repair.</abstract>
|
||||
<doi_data>
|
||||
<doi>10.3779/j.issn.1009-3419.2011.10.01</doi>
|
||||
<resource><![CDATA[http://www.lungca.org/index.php?journal=01&page=article&op=view&path[]=10.3779%2Fj.issn.1009-3419.2011.10.01&path[]=html]]></resource>
|
||||
<collection property="list-based" multi-resolution="unlock">
|
||||
<item label="XXX中文版" country="CN" >
|
||||
<resource><![CDATA[http://www.xxxx.com/cn]]></resource>
|
||||
</item>
|
||||
<item label="XXX英文版" country="CN" >
|
||||
<resource><![CDATA[http://www.xxxx.com/en]]></resource>
|
||||
</item>
|
||||
</collection>
|
||||
</doi_data>
|
||||
<pages>
|
||||
<first_page>767</first_page>
|
||||
<last_page>773</last_page>
|
||||
</pages>
|
||||
<citation_list>
|
||||
<citation language="en">
|
||||
<citation_key>1</citation_key>
|
||||
<author>Levesque AA,Eastman A</author>
|
||||
<title>p53-based cancer therapies:Is defective p53 the Achilles heel of the tumor</title>
|
||||
<source_type>J</source_type>
|
||||
<source_title>Carcinogenesis</source_title>
|
||||
<cYear>2007</cYear>
|
||||
<issue>01</issue>
|
||||
<first_page>13</first_page>
|
||||
<last_page>20</last_page>
|
||||
<doi>10.1093/carcin.bgl214</doi>
|
||||
</citation>
|
||||
<citation language="en">
|
||||
<citation_key>2</citation_key>
|
||||
<author>Olivier M,Hollstein M,Hainaut P</author>
|
||||
<title>TP53 mutations in human cancers:origins,consequences,and clinical use</title>
|
||||
<source_type>J</source_type>
|
||||
<source_title>Cold Spring Harbor Perspectives in Biology</source_title>
|
||||
<cYear>2010</cYear>
|
||||
<issue>01</issue>
|
||||
<doi>10.1101/cshperspect.a001008</doi>
|
||||
</citation>
|
||||
<citation language="zh">
|
||||
<citation_key>3</citation_key>
|
||||
<author>陈志红,郭爱林,安社娟</author>
|
||||
<title>HRM法检测结直肠癌组织KRAS基因密码子12和13点突变</title>
|
||||
<source_type>J</source_type>
|
||||
<source_title>中华检验医学杂志</source_title>
|
||||
<cYear>2010</cYear>
|
||||
<issue>03</issue>
|
||||
<first_page>209</first_page>
|
||||
<last_page>212</last_page>
|
||||
<doi>10.3760/cma.j.issn.1009-9158.2010.03.004</doi>
|
||||
</citation>
|
||||
<citation>
|
||||
<citation_key>4</citation_key>
|
||||
<title>TP53 mutations in Korean patients with nonsmall cell lung cancer</title>
|
||||
<unstructured_citation>Lee EB,Jin G,Lee SY. TP53 mutations in Korean patients with nonsmall cell lung cancer[J].Journal of Korean Medical Science,2010,(05):698-705</unstructured_citation>
|
||||
</citation>
|
||||
</citation_list>
|
||||
</journal_article>
|
||||
</journal>
|
||||
</body>
|
||||
</doi_batch>
|
||||
144
vendor/chinadoi/upload/test002.xml
vendored
Normal file
144
vendor/chinadoi/upload/test002.xml
vendored
Normal file
@@ -0,0 +1,144 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<doi_batch version="1.0.0">
|
||||
<!-->1.头标区<-->
|
||||
<head>
|
||||
<doi_batch_id>20111020</doi_batch_id>
|
||||
<timestamp>20111020144942</timestamp>
|
||||
<depositor>
|
||||
<name>wangyue</name>
|
||||
<email_address>wangyue81@gmail.com</email_address>
|
||||
</depositor>
|
||||
<registrant>zgfazz</registrant>
|
||||
</head>
|
||||
<!-->2.主体<-->
|
||||
<body>
|
||||
<!-->中国肺癌杂志<-->
|
||||
<journal>
|
||||
<!-->2.1 刊元数据<-->
|
||||
<journal_metadata>
|
||||
<journal_id>zgfazz</journal_id>
|
||||
<full_title language="zh">中国肺癌杂志</full_title>
|
||||
<full_title language="en">Chinese Journal of Lung Cancer</full_title>
|
||||
<abbrev_title/>
|
||||
<issn media_type="print">1009-3419</issn>
|
||||
<cn media_type="print">12-1395/R</cn>
|
||||
</journal_metadata>
|
||||
<!-->2.2 期元数据<-->
|
||||
<journal_issue>
|
||||
<publication_date media_type="print">
|
||||
<!--需media_type: online | print | other-->
|
||||
<year>2011</year>
|
||||
<month/>
|
||||
<day/>
|
||||
</publication_date>
|
||||
<journal_volume>
|
||||
<volume>14</volume>
|
||||
</journal_volume>
|
||||
<issue>10</issue>
|
||||
<special_numbering/>
|
||||
</journal_issue>
|
||||
<!-->2.3 文章元数据<-->
|
||||
<journal_article>
|
||||
<titles language="zh">
|
||||
<title>高分辨熔解曲线法检测非小细胞肺癌p53基因的突变</title>
|
||||
<!-->一个titles里面只能有一个title<-->
|
||||
<subtitle/>
|
||||
</titles>
|
||||
<titles language="en">
|
||||
<title>High Resolution Melting Analysis for Detecting p53 Gene Mutations in Patients with Non-small Cell Lung Cancer</title>
|
||||
<subtitle/>
|
||||
</titles>
|
||||
<contributors>
|
||||
<person_name language="zh" sequence="first" contributor_role="author">陈志红</person_name>
|
||||
<person_name language="zh" sequence="additional" contributor_role="author">安社娟</person_name>
|
||||
<person_name language="zh" sequence="additional" contributor_role="author">谢至</person_name>
|
||||
<person_name language="zh" sequence="additional" contributor_role="author">严红虹</person_name>
|
||||
<person_name language="zh" sequence="additional" contributor_role="author">陈剑光</person_name>
|
||||
<person_name language="zh" sequence="additional" contributor_role="author">苏健</person_name>
|
||||
<person_name language="zh" sequence="additional" contributor_role="author">张绪超</person_name>
|
||||
<person_name language="zh" sequence="additional" contributor_role="author">牛飞玉</person_name>
|
||||
<person_name language="zh" sequence="additional" contributor_role="author">郭伟浜</person_name>
|
||||
<person_name language="zh" sequence="additional" contributor_role="author">吴一龙</person_name>
|
||||
<person_name language="en" sequence="first" contributor_role="author">Zhihong CHEN</person_name>
|
||||
<person_name language="en" sequence="additional" contributor_role="author">Shejuan AN</person_name>
|
||||
<person_name language="en" sequence="additional" contributor_role="author">Zhi XIE</person_name>
|
||||
<person_name language="en" sequence="additional" contributor_role="author">Honghong YAN</person_name>
|
||||
<person_name language="en" sequence="additional" contributor_role="author">Jianguang CHEN</person_name>
|
||||
<person_name language="en" sequence="additional" contributor_role="author">Jian SU</person_name>
|
||||
<person_name language="en" sequence="additional" contributor_role="author">Xuchao ZHANG</person_name>
|
||||
<person_name language="en" sequence="additional" contributor_role="author">Feiyu NIU</person_name>
|
||||
<person_name language="en" sequence="additional" contributor_role="author">Weibang GUO</person_name>
|
||||
<person_name language="en" sequence="additional" contributor_role="author">Yilong WU</person_name>
|
||||
<organization sequence="first" contributor_role="author">510080 广州,广东省人民医院医学研究中心,广东省医学科学院,广东省肺癌研究所( 通讯作者:吴一龙,E-mail: syylwu@live.cn);Medical Research Center, Guangdong General Hospital, Guangdong Lung Cancer Institute,
Guangdong Academy of Medical Sciences, Guangzhou 510080, China</organization>
|
||||
</contributors>
|
||||
<publication_date media_type="print">
|
||||
<year>2011</year>
|
||||
</publication_date>
|
||||
<publisher_item>
|
||||
<item_number>zgfazz201110005</item_number>
|
||||
</publisher_item>
|
||||
<keywords language="zh">p53基因;突变;测序</keywords>
|
||||
<keywords language="en">p53 gene; Mutation; Sequence</keywords>
|
||||
<abstract language="zh">背景与目的 p53基因与人类多种肿瘤相关,突变型具有致癌作用,主要分布在外显子5-8。本研究旨在建立高分辨熔解曲线(high resolution melting, HRM)检测非小细胞肺癌(non-small cell lung cancer, NSCLC)患者p53基因突变的方法,探讨p53基因突变的特点及其在NSCLC发生发展中的演变规律。方法 采用HRM法检测264例NSCLC患者肿瘤组织和54例癌旁肺组织p53基因外显子5-8的突变,突变样品进一步使用PCR产物直接测序法分析确定突变类型;HRM法检测阳性而PCR产物直接测序法检测阴性的样品,进一步进行亚克隆测序证实。结果 54例对照未发现突变。264例肿瘤组织中,HRM法检出 p53基因突变104例,102例得到PCR产物直接测序法证实,突变率为39.4%;95例为点突变,7例为碱基插入和缺失导致的移码突变。p53外显子5-8的突变率分别为11.7%、8%、12.5%和10.6%,差异无统计学意义(P=0.35)。p53基因突变与性别有关,与其它临床病理特征无关。结论 HRM法筛选p53基因突变样品,具有操作简便、快速、敏感、单管避免污染等优点,值得推广。p53基因的突变特点提示,p53基因突变是自发性突变,可能是DNA合成和修复过程中的随机错误所致。</abstract>
|
||||
<abstract language="en">Background and objective It has been proven that p53 gene was related to many human cancers. The mutations in p53 gene play an important role in carcinogensis and mostly happened in exon 5-8. The aim of this study is to establish a high resolution melting (HRM) assay to detect p53 mutations from patients with non-small cell lung cancer (NSCLC), to investigate the characteristics of p53 gene mutations, and to analyze the relationship between p53 mutations and evolution regularity of pathogenesis. Methods p53 mutations in exon 5-8 were detected by HRM assay on DNA insolated from 264 NSCLC samples derived from tumor tissues and 54 control samples from pericancerous pulmonary tissues. The mutation samples by the HRM assay were confirmed by sequencing technique. Samples which were positive by HRM but wild type by sequencing were further confirmed by sub-clone and sequencing. Results No mutation was found in 54 pericancerous pulmonary samples by HRM assay. 104 of the 264 tumor tissues demonstrated mutation curves by HRM assay, 102 samples were confirmed by sequencing, including 95 point mutations and 7 frame shift mutations by insertion or deletion. The mutation rate of p53 gene was 39.4%. The mutation rate from exon 5-8 were 11.7%, 8%, 12.5% and 10.6%, respectively and there was no statistically significant difference between them (P=0.35). p53 mutations were significantly more frequent in males than that in females, but not related to the other clinicopathologic characteristics. Conclusion The results indicate that HRM is a sensitive in-tube methodology to detect for mutations in clinical samples. The results suggest that the arising p53 mutations in NSCLC may be due to spontaneous error in DNA synthesis and repair.</abstract>
|
||||
<doi_data>
|
||||
<doi>10.3779/j.issn.1009-3419.2011.10.01</doi>
|
||||
<resource><![CDATA[http://www.lungca.org/index.php?journal=01&page=article&op=view&path[]=10.3779%2Fj.issn.1009-3419.2011.10.01&path[]=html]]></resource>
|
||||
<collection property="list-based" multi-resolution="unlock">
|
||||
<item label="XXX中文版" country="CN" >
|
||||
<resource><![CDATA[http://www.xxxx.com/cn]]></resource>
|
||||
</item>
|
||||
<item label="XXX英文版" country="CN" >
|
||||
<resource><![CDATA[http://www.xxxx.com/en]]></resource>
|
||||
</item>
|
||||
</collection>
|
||||
</doi_data>
|
||||
<pages>
|
||||
<first_page>767</first_page>
|
||||
<last_page>773</last_page>
|
||||
</pages>
|
||||
<citation_list>
|
||||
<citation language="en">
|
||||
<citation_key>1</citation_key>
|
||||
<author>Levesque AA,Eastman A</author>
|
||||
<title>p53-based cancer therapies:Is defective p53 the Achilles heel of the tumor</title>
|
||||
<source_type>J</source_type>
|
||||
<source_title>Carcinogenesis</source_title>
|
||||
<cYear>2007</cYear>
|
||||
<issue>01</issue>
|
||||
<first_page>13</first_page>
|
||||
<last_page>20</last_page>
|
||||
<doi>10.1093/carcin.bgl214</doi>
|
||||
</citation>
|
||||
<citation language="en">
|
||||
<citation_key>2</citation_key>
|
||||
<author>Olivier M,Hollstein M,Hainaut P</author>
|
||||
<title>TP53 mutations in human cancers:origins,consequences,and clinical use</title>
|
||||
<source_type>J</source_type>
|
||||
<source_title>Cold Spring Harbor Perspectives in Biology</source_title>
|
||||
<cYear>2010</cYear>
|
||||
<issue>01</issue>
|
||||
<doi>10.1101/cshperspect.a001008</doi>
|
||||
</citation>
|
||||
<citation language="zh">
|
||||
<citation_key>3</citation_key>
|
||||
<author>陈志红,郭爱林,安社娟</author>
|
||||
<title>HRM法检测结直肠癌组织KRAS基因密码子12和13点突变</title>
|
||||
<source_type>J</source_type>
|
||||
<source_title>中华检验医学杂志</source_title>
|
||||
<cYear>2010</cYear>
|
||||
<issue>03</issue>
|
||||
<first_page>209</first_page>
|
||||
<last_page>212</last_page>
|
||||
<doi>10.3760/cma.j.issn.1009-9158.2010.03.004</doi>
|
||||
</citation>
|
||||
<citation>
|
||||
<citation_key>4</citation_key>
|
||||
<title>TP53 mutations in Korean patients with nonsmall cell lung cancer</title>
|
||||
<unstructured_citation>Lee EB,Jin G,Lee SY. TP53 mutations in Korean patients with nonsmall cell lung cancer[J].Journal of Korean Medical Science,2010,(05):698-705</unstructured_citation>
|
||||
</citation>
|
||||
</citation_list>
|
||||
</journal_article>
|
||||
</journal>
|
||||
</body>
|
||||
</doi_batch>
|
||||
Reference in New Issue
Block a user