diff --git a/src/include/common.inc.php b/src/include/common.inc.php index 7a7ed8fa..c0dc414a 100755 --- a/src/include/common.inc.php +++ b/src/include/common.inc.php @@ -237,7 +237,7 @@ $cfg_other_medias = $cfg_medias_dir . '/media'; //软件摘要信息,****请不要删除本项**** 否则系统无法正确接收系统漏洞或升级信息 $cfg_version = 'V6'; -$cfg_version_detail = '6.0.1'; // 详细版本号 +$cfg_version_detail = '6.0.3'; // 详细版本号 $cfg_soft_lang = 'utf-8'; $cfg_soft_public = 'base'; diff --git a/src/include/dedecollection.class.php b/src/include/dedecollection.class.php deleted file mode 100755 index d1f15a18..00000000 --- a/src/include/dedecollection.class.php +++ /dev/null @@ -1,1019 +0,0 @@ -dsql = $GLOBALS['dsql']; - $this->cHttpDown = new DedeHttpDown(); - $this->cDedeHtml = new DedeHtml2(); - } - - function DedeCollection() - { - $this->__construct(); - } - - //析放资源 - function Close() - { - } - - /** - * 从数据库里载入某个节点 - * - * @access public - * @param int $nid 采集节点ID - * @return void - */ - function LoadNote($nid) - { - $this->noteId = $nid; - $row = $this->dsql->GetOne("SELECT * FROM `#@__co_note` WHERE nid='$nid'"); - $this->LoadListConfig($row['listconfig']); - $this->LoadItemConfig($row['itemconfig']); - } - - /** - * 分析基本节点的及索引配置信息 - * - * @access public - * @param string $configString 配置字符串 - * @return void - */ - function LoadListConfig($configString) - { - $dtp = new DedeTagParse(); - $dtp2 = new DedeTagParse(); - $dtp->LoadString($configString); - for ($i = 0; $i <= $dtp->Count; $i++) { - $ctag = $dtp->CTags[$i]; - - //item 配置 - //节点基本信息 - if ($ctag->GetName() == "noteinfo") { - $this->noteInfos['notename'] = $ctag->GetAtt('notename'); - $this->noteInfos['matchtype'] = $ctag->GetAtt('matchtype'); - $this->noteInfos['channelid'] = $ctag->GetAtt('channelid'); - $this->noteInfos['refurl'] = $ctag->GetAtt('refurl'); - $this->noteInfos['sourcelang'] = $ctag->GetAtt('sourcelang'); - $this->noteInfos['cosort'] = $ctag->GetAtt('cosort'); - $this->noteInfos['isref'] = $ctag->GetAtt('isref'); - $this->noteInfos['exptime'] = $ctag->GetAtt('exptime'); - } - - //list 配置 - //要采集的列表页的信息 - else if ($ctag->GetName() == "listrule") { - $this->lists['sourcetype'] = $ctag->GetAtt('sourcetype'); - $this->lists['rssurl'] = $ctag->GetAtt('rssurl'); - $this->lists['regxurl'] = $ctag->GetAtt('regxurl'); - $this->lists['startid'] = $ctag->GetAtt('startid'); - $this->lists['endid'] = $ctag->GetAtt('endid'); - $this->lists['addv'] = $ctag->GetAtt('addv'); - $this->lists['urlrule'] = $ctag->GetAtt('urlrule'); - $this->lists['musthas'] = $ctag->GetAtt('musthas'); - $this->lists['nothas'] = $ctag->GetAtt('nothas'); - $this->lists['listpic'] = $ctag->GetAtt('listpic'); - $this->lists['usemore'] = $ctag->GetAtt('usemore'); - $dtp2->LoadString($ctag->GetInnerText()); - for ($j = 0; $j <= $dtp2->Count; $j++) { - $ctag2 = $dtp2->CTags[$j]; - $tname = $ctag2->GetName(); - if ($tname == 'addurls') { - $this->lists['addurls'] = trim($ctag2->GetInnerText()); - } else if ($tname == 'regxrule') { - $this->lists['regxrule'] = trim($ctag2->GetInnerText()); - } else if ($tname == 'areastart') { - $this->lists['areastart'] = trim($ctag2->GetInnerText()); - } else if ($tname == 'areaend') { - $this->lists['areaend'] = trim($ctag2->GetInnerText()); - } else if ($tname == 'batchrule') { - $this->lists['batchrule'] = trim($ctag2->GetInnerText()); - } - } - - //分析列表网址 - if ($this->lists['sourcetype'] != 'rss') { - $this->lists['url'] = GetUrlFromListRule( - $this->lists['regxurl'], - $this->lists['addurls'], - $this->lists['startid'], - $this->lists['endid'], - $this->lists['addv'], - $this->lists['usemore'], - $this->lists['batchrule'] - ); - } else { - $this->lists['url'] = $this->lists['rssurl']; - } - } - } //End Loop - - $dtp->Clear(); - $dtp2->Clear(); - } - - /** - * 分析采集文章页的字段的设置 - * - * @access public - * @param string $configString 配置字符串 - * @return void - */ - function LoadItemConfig($configString) - { - $dtp = new DedeTagParse(); - $dtp2 = new DedeTagParse(); - $dtp->LoadString($configString); - for ($i = 0; $i <= $dtp->Count; $i++) { - $ctag = $dtp->CTags[$i]; - if ($ctag->GetName() == 'sppage') { - $this->artNotes['sppage'] = $ctag->GetInnerText(); - $this->artNotes['sptype'] = $ctag->GetAtt('sptype'); - $this->spNotes['srul'] = $ctag->GetAtt('srul'); - $this->spNotes['erul'] = $ctag->GetAtt('erul'); - } else if ($ctag->GetName() == 'previewurl') { - $this->artNotes['previewurl'] = $ctag->GetInnerText(); - } else if ($ctag->GetName() == 'keywordtrim') { - $this->artNotes['keywordtrim'] = $ctag->GetInnerText(); - } else if ($ctag->GetName() == 'descriptiontrim') { - $this->artNotes['descriptiontrim'] = $ctag->GetInnerText(); - } else if ($ctag->GetName() == 'item') { - $field = $ctag->GetAtt('field'); - if ($field == '') { - continue; - } - $this->artNotes[$field]['value'] = $ctag->GetAtt('value'); - $this->artNotes[$field]['isunit'] = $ctag->GetAtt('isunit'); - $this->artNotes[$field]['isdown'] = $ctag->GetAtt('isdown'); - $this->artNotes[$field]['trim'] = array(); - $this->artNotes[$field]['match'] = ''; - $this->artNotes[$field]['function'] = ''; - $t = 0; - $dtp2->LoadString($ctag->GetInnerText()); - for ($k = 0; $k <= $dtp2->Count; $k++) { - $ctag2 = $dtp2->CTags[$k]; - if ($ctag2->GetName() == 'trim') { - $this->artNotes[$field]['trim'][$t][0] = str_replace('#n#', ' ', $ctag2->GetInnerText()); - $this->artNotes[$field]['trim'][$t][1] = $ctag2->GetAtt('replace'); - $t++; - } else if ($ctag2->GetName() == 'match') { - $this->artNotes[$field]['match'] = str_replace('#n#', ' ', $ctag2->GetInnerText()); - } else if ($ctag2->GetName() == 'function') { - $this->artNotes[$field]['function'] = $ctag2->GetInnerText(); - } - } - } - } //End Loop - - $dtp->Clear(); - $dtp2->Clear(); - } - - /** - * 下载其中一个网址,并保存 - * - * @access public - * @param int $aid 文档ID - * @param string $dourl 操作地址 - * @param string $litpic 缩略图 - * @param bool $issave 是否保存 - * @return string - */ - function DownUrl($aid, $dourl, $litpic = '', $issave = TRUE) - { - $this->tmpLinks = array(); - $this->tmpUnitValue = ''; - $this->breImage = ''; - $this->tmpHtml = $this->DownOnePage($dourl); - - //检测是否有分页字段,并预先处理 - if (!empty($this->artNotes['sppage'])) { - $noteid = ''; - foreach ($this->artNotes as $k => $sarr) { - if (isset($sarr['isunit']) && $sarr['isunit'] == 1) { - $noteid = $k; - break; - } - } - - $this->GetSpPage($dourl, $noteid, $this->tmpHtml); - - if (preg_match("/#p#/i", $this->tmpUnitValue)) { - if ($this->artNotes["sptype"] != 'diyrule') { - $this->tmpUnitValue = '副标题#e#' . $this->tmpUnitValue; - } - } - } - - //处理字段 - $body = $this->GetPageFields($dourl, $issave, $litpic); - - //保存资料到数据库 - if ($issave) { - $query = " UPDATE `#@__co_htmls` SET dtime='" . time() . "',result='" . addslashes($body) . "',isdown='1' WHERE aid='$aid' "; - if (!$this->dsql->ExecuteNoneQuery($query)) { - echo $this->dsql->GetError(); - } - return $body; - } - return $body; - } - - // 解析地址 - function GetUrl($uri) - { - $arr = $tmp = array(); - - // query - $x = array_pad(explode('?', $uri), 2, false); - $arr['query'] = ($x[1]) ? $x[1] : ''; - - // resource - $x = array_pad(explode('/', $x[0]), 2, false); - $x_last = array_pop($x); - if (strpos($x_last, '.') === false) { - $arr['resource'] = ''; - $x[] = $x_last; - } else { - $arr['resource'] = $x_last; - $tmp = @explode('.', $arr['resource']); - $arr['file'] = @$tmp[0]; - $arr['ext'] = '.' . @$tmp[1]; - } - - // path - $arr['path'] = implode('/', $x); - if (substr($arr['path'], -1) !== '/') $arr['path'] .= '/'; - - // url - $arr['url'] = $uri; - - return $arr; - } - - /** - * 获取分页区域的内容 - * - * @access public - * @param string $dourl 操作地址 - * @param string $noteid 节点ID - * @param string $html html内容 - * @param int $step 步骤 - * @return string - */ - function GetSpPage($dourl, $noteid, $html, $step = 0) - { - $sarr = $this->artNotes[$noteid]; - - $linkareaHtml = $this->GetHtmlArea('[内容]', $this->artNotes['sppage'], $html); - if ($linkareaHtml == '') { - if ($this->tmpUnitValue == '') { - $this->tmpUnitValue .= $this->GetHtmlArea('[内容]', $sarr['match'], $html); - } else { - $this->tmpUnitValue .= "#p#副标题#e#" . $this->GetHtmlArea('[内容]', $sarr['match'], $html); - } - if ($this->artNotes["sptype"] != 'diyrule') return; - } - - - //完整的分页列表 - if ($this->artNotes["sptype"] == 'full' || $this->artNotes["sptype"] == '') { - $this->tmpUnitValue .= $this->GetHtmlArea('[内容]', $sarr['match'], $html); - $this->cDedeHtml->GetLinkType = "link"; - $this->cDedeHtml->SetSource($linkareaHtml, $dourl, 'link'); - foreach ($this->cDedeHtml->Links as $k => $t) { - $k = $this->cDedeHtml->FillUrl($k); - if ($k == $dourl) { - continue; - } - $nhtml = $this->DownOnePage($k); - if ($nhtml != '') { - $ct = trim($this->GetHtmlArea('[内容]', $sarr['match'], $nhtml)); - if ($ct != '') { - $this->tmpUnitValue .= "#p#副标题#e#" . $ct; - } - } - } - } else if ($this->artNotes["sptype"] == 'diyrule') { - $maxpage = 10; - $urlinfo = $this->GetUrl($dourl); - $testurl = str_replace(array_keys($urlinfo), array_values($urlinfo), $this->artNotes['sppage']); - $testurl = str_ireplace('{p}', '~p~', $testurl); - $testurl = str_replace(array('{', '}'), '', $testurl); - $lastchash = md5($html); - for ($i = $this->spNotes['srul']; $i <= $this->spNotes['erul']; $i++) { - $tempurl = str_replace('~p~', $i, $testurl); - $tempurl = $this->cDedeHtml->FillUrl($tempurl); - - $nhtml = $this->DownOnePage($tempurl); - $newchash = md5($nhtml); - if ($newchash == $lastchash) continue; - $lastchash = $newchash; - - if ($nhtml != '') { - $ct = trim($this->GetHtmlArea('[内容]', $sarr['match'], $nhtml)); - if ($ct != '') { - $this->tmpUnitValue .= "#p#副标题#e#" . $ct; - // echo $this->tmpUnitValue;exit; - } - } - } - } - //上下页形式或不完整的分页列表 - else { - if ($step > 50) { - return; - } - if ($step == 0) { - $this->tmpUnitValue .= $this->GetHtmlArea('[内容]', $sarr['match'], $html); - } - $this->cDedeHtml->GetLinkType = "link"; - $this->cDedeHtml->SetSource($linkareaHtml, $dourl, 'link'); - $hasLink = FALSE; - foreach ($this->cDedeHtml->Links as $k => $t) { - $k = $this->cDedeHtml->FillUrl($k); - if (in_array($k, $this->tmpLinks)) { - continue; - } else { - $nhtml = $this->DownOnePage($k); - if ($nhtml != '') { - $ct = trim($this->GetHtmlArea('[内容]', $sarr['match'], $nhtml)); - if ($ct != '') { - $this->tmpUnitValue .= "#p#副标题#e#" . $ct; - } - } - $hasLink = TRUE; - $this->tmpLinks[] = $k; - $dourl = $k; - $step++; - } - } - if ($hasLink) { - $this->GetSpPage($dourl, $noteid, $nhtml, $step); - } - } - } - - /** - * 获取特定区域的HTML - * - * @access public - * @param string $sptag 区域标记 - * @param string $areaRule 地址规则 - * @param string $html html代码 - * @return string - */ - function GetHtmlArea($sptag, &$areaRule, &$html) - { - //用正则表达式的模式匹配 - if ($this->noteInfos['matchtype'] == 'regex') { - $areaRule = str_replace("/", "\\/", $areaRule); - $areaRules = explode($sptag, $areaRule); - $arr = array(); - if ($html == '' || $areaRules[0] == '') { - return ''; - } - preg_match('#' . $areaRules[0] . "(.*)" . $areaRules[1] . "#isU", $html, $arr); - return empty($arr[1]) ? '' : trim($arr[1]); - } - - //用字符串模式匹配 - else { - $areaRules = explode($sptag, $areaRule); - if ($html == '' || $areaRules[0] == '') { - return ''; - } - $posstart = @strpos($html, $areaRules[0]); - if ($posstart === FALSE) { - return ''; - } - $posstart = $posstart + strlen($areaRules[0]); - $posend = @strpos($html, $areaRules[1], $posstart); - if ($posend > $posstart && $posend !== FALSE) { - //return substr($html,$posstart+strlen($areaRules[0]),$posend-$posstart-strlen($areaRules[0])); - return substr($html, $posstart, $posend - $posstart); - } else { - return ''; - } - } - } - - /** - * 下载指定网址 - * - * @access public - * @param string $dourl 下载地址 - */ - function DownOnePage($dourl) - { - $this->cHttpDown->OpenUrl($dourl); - $html = $this->cHttpDown->GetHtml(); - $this->cHttpDown->Close(); - $this->ChangeCode($html); - return $html; - } - - /** - * 下载特定资源,并保存为指定文件 - * - * @access public - * @param string $dourl 操作地址 - * @param string $mtype 附件类型 - * @param string $islitpic 是否缩略图 - * @return string - */ - function DownMedia($dourl, $mtype = 'img', $islitpic = FALSE) - { - global $notckpic; - if (empty($notckpic)) { - $notckpic = 0; - } - - //检测是否已经下载此文件 - $wi = FALSE; - $tofile = $filename = ''; - if ($notckpic == 0) { - $row = $this->dsql->GetOne("SELECT hash,tofile FROM `#@__co_mediaurls` WHERE nid='{$this->noteId}' AND hash='" . md5($dourl) . "' "); - if (isset($row['tofile'])) { - $tofile = $filename = $row['tofile']; - } - } - - //如果不存在,下载文件 - if ($tofile == '' || !file_exists($GLOBALS['cfg_basedir'] . $filename)) { - $filename = $this->GetRndName($dourl, $mtype); - if (!preg_match("#^\/#", $filename)) { - $filename = "/" . $filename; - } - - //防盗链模式 - if ($this->noteInfos['isref'] == 'yes' && $this->noteInfos['refurl'] != '') { - if ($this->noteInfos['exptime'] == '') { - $this->noteInfos['exptime'] = 10; - } - DownImageKeep($dourl, $this->noteInfos['refurl'], $GLOBALS['cfg_basedir'] . $filename, '', 0, $this->Item['exptime']); - } - - //普通模式 - else { - $this->cHttpDown->OpenUrl($dourl); - $this->cHttpDown->SaveToBin($GLOBALS['cfg_basedir'] . $filename); - $this->cHttpDown->Close(); - } - - //下载文件成功,保存记录 - if (file_exists($GLOBALS['cfg_basedir'] . $filename)) { - if ($tofile == '') { - $query = "INSERT INTO `#@__co_mediaurls`(nid,hash,tofile) VALUES ('" . $this->noteId . "', '" . md5($dourl) . "', '" . addslashes($filename) . "');"; - } else { - $query = "UPDATE `#@__co_mediaurls` SET tofile='" . addslashes($filename) . "' WHERE hash='" . md5($dourl) . "' "; - } - $this->dsql->ExecuteNoneQuery($query); - } - } - - //如果下载图片失败或图片不存在,返回网址 - if (!file_exists($GLOBALS['cfg_basedir'] . $filename)) { - return $dourl; - } - - //生成缩略图 - if ($mtype == 'img' && !$islitpic && $this->breImage == '') { - $this->breImage = $filename; - if (!preg_match("#^http:\/\/#", $this->breImage) && file_exists($GLOBALS['cfg_basedir'] . $filename)) { - $filenames = explode('/', $filename); - $filenamed = $filenames[count($filenames) - 1]; - $nfilename = str_replace('.', '_lit.', $filenamed); - $nfilename = str_replace($filenamed, $nfilename, $filename); - if (@copy($GLOBALS['cfg_basedir'] . $filename, $GLOBALS['cfg_basedir'] . $nfilename)) { - ImageResize($GLOBALS['cfg_basedir'] . $nfilename, $GLOBALS['cfg_ddimg_width'], $GLOBALS['cfg_ddimg_height']); - $this->breImage = $nfilename; - } - } - } - if ($mtype == 'img' && !$islitpic) { - @WaterImg($GLOBALS['cfg_basedir'] . $filename, 'collect'); - } - return $filename; - } - - /** - * 获得下载媒体的随机名称 - * - * @access public - * @param string $url 地址 - * @param string $v 值 - * @return string - */ - function GetRndName($url, $v) - { - global $cfg_image_dir, $cfg_dir_purview; - $this->mediaCount++; - $mnum = $this->mediaCount; - $timedir = "c" . MyDate("ymd", time()); - //存放路径 - $fullurl = preg_replace("#\/{1,}#", "/", $cfg_image_dir . "/"); - if (!is_dir($GLOBALS['cfg_basedir'] . "/$fullurl")) { - MkdirAll($GLOBALS['cfg_basedir'] . "/$fullurl", $cfg_dir_purview); - } - - $fullurl = $fullurl . $timedir . "/"; - if (!is_dir($GLOBALS['cfg_basedir'] . "/$fullurl")) { - MkdirAll($GLOBALS['cfg_basedir'] . "/$fullurl", $cfg_dir_purview); - } - - //文件名称 - $timename = str_replace('.', '', ExecTime()); - $threadnum = 0; - if (isset($_GET['threadnum'])) { - $threadnum = intval($_GET['threadnum']); - } - $filename = dd2char($timename . $threadnum . '-' . $mnum . mt_rand(1000, 9999)); - - //分配扩展名 - $urls = explode('.', $url); - if ($v == 'img') { - $shortname = '.jpg'; - if (preg_match("#\.gif$#i", $url)) { - $shortname = '.gif'; - } else if (preg_match("#\.png$#i", $url)) { - $shortname = '.png'; - } - } else if ($v == 'embed') { - $shortname = '.swf'; - } else { - $shortname = ''; - } - $fullname = $fullurl . $filename . $shortname; - return preg_replace("#\/{1,}#", "/", $fullname); - } - - /** - * 按载入的网页内容获取规则,从一个HTML文件中获取内容 - * - * @access public - * @param string $dourl 操作地址 - * @param string $needDown 需要下载 - * @param string $litpic 缩略图 - * @return string - */ - function GetPageFields($dourl, $needDown, $litpic = '') - { - global $cfg_auot_description; - if ($this->tmpHtml == '') { - return ''; - } - $artitem = ''; - $isPutUnit = FALSE; - $tmpLtKeys = array(); - $inarr = array(); - - //自动分析关键字和摘要 - preg_match("#tmpHtml, $inarr); - preg_match("#tmpHtml, $inarr2); - if (!isset($inarr[1]) && isset($inarr2[1])) { - $inarr[1] = $inarr2[1]; - } - if (isset($inarr[1])) { - $keywords = trim(cn_substr(html2text($inarr[1]), 30)); - $keywords = preg_replace("#" . $this->artNotes['keywordtrim'] . "#isU", '', $keywords); - if (!preg_match("#,#", $keywords)) { - $keywords = str_replace(' ', ',', $keywords); - } - $artitem .= "{dede:field name='keywords'}" . $keywords . "{/dede:field}\r\n"; - } else { - $artitem .= "{dede:field name='keywords'}{/dede:field}\r\n"; - } - // preg_match("#tmpHtml, $inarr); - // preg_match("#tmpHtml, $inarr2); - preg_match("#]*?)['\"]#iU", $this->tmpHtml, $inarr); - preg_match("#]*?)['\"][\s]+name=['\"]description['\"]#iU", $this->tmpHtml, $inarr2); - if (!isset($inarr[1]) && isset($inarr2[1])) { - $inarr[1] = $inarr2[1]; - } - if (isset($inarr[1])) { - $description = trim(cn_substr(html2text($inarr[1]), $cfg_auot_description)); - $description = preg_replace("/" . $this->artNotes['descriptiontrim'] . "/isU", '', $description); - $artitem .= "{dede:field name='description'}" . $description . "{/dede:field}\r\n"; - } else { - $artitem .= "{dede:field name='description'}{/dede:field}\r\n"; - } - - foreach ($this->artNotes as $k => $sarr) { - //可能出现意外的情况 - if ($k == 'sppage' || $k == 'sptype') { - continue; - } - if (!is_array($sarr)) { - continue; - } - - //特殊的规则或没匹配选项 - if ($sarr['match'] == '' || trim($sarr['match']) == '[内容]') { - if ($sarr['value'] != '[内容]') { - $v = trim($sarr['value']); - } else { - $v = ''; - } - } else { - //分多页的内容 - if ($this->tmpUnitValue != '' && !$isPutUnit && $sarr['isunit'] == 1) { - $v = $this->tmpUnitValue; - $isPutUnit = TRUE; - } else { - $v = $this->GetHtmlArea('[内容]', $sarr['match'], $this->tmpHtml); - } - - //过滤内容规则 - if (isset($sarr['trim']) && $v != '') { - foreach ($sarr['trim'] as $nv) { - if ($nv[0] == '') { - continue; - } - $nvs = str_replace("/", "\\/", $nv[0]); - $v = preg_replace("#" . $nvs . "#isU", $nv[1], $v); - } - } - - //是否下载远程资源 - if ($needDown) { - if ($sarr['isdown'] == '1') { - $v = $this->DownMedias($v, $dourl); - } - } else { - if ($sarr['isdown'] == '1') { - $v = $this->MediasReplace($v, $dourl); - } - } - } - $v = trim($v); - - //用户自行对内容进行处理的接口 - if ($sarr['function'] != '') { - $tmpLtKeys[$k]['v'] = $v; - $tmpLtKeys[$k]['f'] = $sarr['function']; - } else { - $v = preg_replace("#( )$#", '', $v); - $v = preg_replace("#[\r\n\t ]{1,}$#", '', $v); - $artitem .= "{dede:field name='$k'}$v{/dede:field}\r\n"; - } - } //End Foreach - - //处理带函数的项目 - foreach ($tmpLtKeys as $k => $sarr) { - $v = $this->RunPHP($sarr['v'], $sarr['f']); - $v = preg_replace("#( )$#", '', $v); - $v = preg_replace("#[\r\n\t ]{1,}$#", '', $v); - $artitem .= "{dede:field name='$k'}$v{/dede:field}\r\n"; - } - if ($litpic != '' && $this->lists['listpic'] == 1) { - $artitem .= "{dede:field name='litpic'}" . $this->DownMedia($litpic, 'img', TRUE) . "{/dede:field}\r\n"; - } else { - $artitem .= "{dede:field name='litpic'}" . $this->breImage . "{/dede:field}\r\n"; - } - return $artitem; - } - - /** - * 下载内容里的资源 - * - * @access public - * @param string $html html内容 - * @param string $url 地址 - * @return string - */ - function DownMedias(&$html, $url) - { - $this->cDedeHtml->SetSource($html, $url, 'media'); - - //下载标记里的图片和flash - foreach ($this->cDedeHtml->Medias as $k => $v) { - $furl = $this->cDedeHtml->FillUrl($k); - if ($v == 'embed' && !preg_match("#\.(swf)\?(.*)$#i", $k) && !preg_match("#\.(swf)$#i", $k)) { - continue; - } - $okurl = $this->DownMedia($furl, $v); - $html = str_replace($k, $okurl, $html); - } - - //下载超链接里的图片 - foreach ($this->cDedeHtml->Links as $v => $k) { - if (preg_match("#\.(jpg|gif|png)\?(.*)$#i", $v) || preg_match("#\.(jpg|gif|png)$#i", $v)) { - $m = "img"; - } else if (preg_match("#\.(swf)\?(.*)$#i", $v) || preg_match("#\.(swf)$#i", $v)) { - $m = "embed"; - } else { - continue; - } - $furl = $this->cDedeHtml->FillUrl($v); - $okurl = $this->DownMedia($furl, $m); - $html = str_replace($v, $okurl, $html); - } - return $html; - } - - /** - * 仅替换内容里的资源为绝对网址 - * - * @access public - * @param string $html html内容 - * @param string $dourl 操作地址 - * @return string - */ - function MediasReplace(&$html, $dourl) - { - $this->cDedeHtml->SetSource($html, $dourl, 'media'); - foreach ($this->cDedeHtml->Medias as $k => $v) { - $k = trim($k); - $okurl = $this->cDedeHtml->FillUrl($k); - $html = str_replace($k, $okurl, $html); - } - return $html; - } - - //测试列表 - function Testlists(&$dourl) - { - $links = array(); - - //从RSS中获取网址 - if ($this->lists['sourcetype'] == 'rss') { - $dourl = $this->lists['rssurl']; - $links = GetRssLinks($dourl); - return $links; - } - - //正常情况 - if (isset($this->lists['url'][0][0])) { - $dourl = $this->lists['url'][0][0]; - } else { - $dourl = ''; - $this->errString = "配置中指定列表的网址错误!\r\n"; - return $links; - } - $dhtml = new DedeHtml2(); - $html = $this->DownOnePage($dourl); - if ($html == '') { - $this->errString = "读取网址: $dourl 时失败!\r\n"; - return $links; - } - if (trim($this->lists['areastart']) != '' && trim($this->lists['areaend']) != '') { - $areabody = $this->lists['areastart'] . '[var:区域]' . $this->lists['areaend']; - $html = $this->GetHtmlArea('[var:区域]', $areabody, $html); - } - $t1 = ExecTime(); - $dhtml->SetSource($html, $dourl, 'link'); - $this->lists['musthas'] = str_replace('/', '\/', $this->lists['musthas']); - foreach ($dhtml->Links as $s) { - if ($this->lists['nothas'] != '') { - if (preg_match("#" . $this->lists['nothas'] . "#i", $s['link'])) { - continue; - } - } - if ($this->lists['musthas'] != '') { - if (!preg_match("#" . $this->lists['musthas'] . "#i", $s['link'])) { - continue; - } - } - $links[] = $s; - } - return $links; - } - - /** - * 测试文章规则 - * - * @access public - * @param $dourl 操作地址 - * @return string - */ - function TestArt($dourl) - { - return $this->DownUrl(0, $dourl, '', FALSE); - } - - /** - * 采集种子网址 - * - * @access public - * @param int $islisten 是否监听 - * @param int $glstart 采集开始 - * @param int $pagesize 分页尺寸 - * @return string - */ - function GetSourceUrl($islisten = 0, $glstart = 0, $pagesize = 10) - { - //在第一页中进行预处理 - //“下载种子网址的未下载内容”的模式不需要经过采集种子网址的步骤 - if ($glstart == 0) { - //重新采集所有内容模式 - if ($islisten == -1) { - $this->dsql->ExecuteNoneQuery("DELETE FROM `#@__co_urls` WHERE nid='" . $this->noteId . "'"); - $this->dsql->ExecuteNoneQuery("DELETE FROM `#@__co_htmls` WHERE nid='" . $this->noteId . "' "); - } - //监听模式(保留未导出的内容、保留节点的历史网址记录) - else { - $this->dsql->ExecuteNoneQuery("DELETE FROM `#@__co_htmls` WHERE nid='" . $this->noteId . "' AND isexport=1 "); - } - } - - //从RSS中获取种子 - if ($this->lists['sourcetype'] == 'rss') { - $links = GetRssLinks($this->lists['rssurl']); - //if($this->noteInfos['cosort']!='asc') - $tmplink = krsort($links); - $lk = 0; - foreach ($links as $v) { - if ($islisten == 1) { - $lrow = $this->dsql->GetOne("SELECT * FROM `#@__co_urls` WHERE nid='{$this->noteId}' AND hash='" . md5($v['link']) . "' "); - if (is_array($lrow)) { - continue; - } - } - $lk++; - if ($mytotal > 0 && $lk >= $mytotal) break; - $inquery = "INSERT INTO `#@__co_htmls` (`nid` ,`typeid`, `title` , `litpic` , `url` , `dtime` , `isdown` , `isexport` , `result`) - VALUES ('{$this->noteId}' , '0', '" . addslashes($v['title']) . "' , '" . addslashes($v['image']) . "' , '" . addslashes($v['link']) . "' , 'dtime' , '0' , '0' , ''); "; - $this->dsql->ExecuteNoneQuery($inquery); - - $inquery = "INSERT INTO `#@__co_urls`(hash,nid) VALUES ('" . md5($v['link']) . "','{$this->noteId}');"; - $this->dsql->ExecuteNoneQuery($inquery); - } - return 0; - } else { - $tmplink = array(); - $arrStart = 0; - $moviePostion = 0; - $endpos = $glstart + $pagesize; - $totallen = count($this->lists['url']); - //dump($this->lists['url']);exit; - foreach ($this->lists['url'] as $k => $cururls) { - //$status = FALSE; - $urlnum = 0; - $cururl = $cururls[0]; - $typeid = (empty($cururls[1]) ? 0 : $cururls[1]); - $moviePostion++; - - if ($moviePostion > $endpos) { - break; - } - if ($moviePostion > $glstart) { - $html = $this->DownOnePage($cururl); - if (trim($this->lists['areastart']) != '' && trim($this->lists['areaend']) != '') { - $areabody = $this->lists['areastart'] . '[var:区域]' . $this->lists['areaend']; - $html = $this->GetHtmlArea('[var:区域]', $areabody, $html); - } - $this->cDedeHtml->SetSource($html, $cururl, 'link'); - $lk = 0; - foreach ($this->cDedeHtml->Links as $k => $v) { - if ($this->lists['nothas'] != '') { - if (preg_match("#" . $this->lists['nothas'] . "#", $v['link'])) { - continue; - } - } - if ($this->lists['musthas'] != '') { - if (!preg_match("#" . $this->lists['musthas'] . "#i", $v['link'])) { - continue; - } - } - $tmplink[$arrStart][0] = $v; - $tmplink[$arrStart][1] = $typeid; - $arrStart++; - $lk++; - } - $this->cDedeHtml->Clear(); - } - } //foreach - //if($this->noteInfos['cosort']!='asc') - - krsort($tmplink); - $unum = count($tmplink); - if ($unum > 0) { - //echo "完成本次种子网址抓取,共找到:{$unum} 个记录!
\r\n"; - foreach ($tmplink as $vs) { - $v = $vs[0]; - $typeid = $vs[1]; - if ($islisten == 1) { - $lrow = $this->dsql->GetOne("SELECT * FROM `#@__co_urls` WHERE nid='{$this->noteId}' AND hash='" . md5($v['link']) . "' "); - if (is_array($lrow)) { - continue; - } - } - $inquery = "INSERT INTO `#@__co_htmls` (`nid` ,`typeid`, `title` , `litpic` , `url` , `dtime` , `isdown` , `isexport` , `result`) - VALUES ('{$this->noteId}' ,'$typeid', '" . addslashes($v['title']) . "' , '" . addslashes($v['image']) . "' , '" . addslashes($v['link']) . "' , '" . time() . "' , '0' , '0' , ''); "; - $this->dsql->ExecuteNoneQuery($inquery); - - $inquery = "INSERT INTO `#@__co_urls`(hash,nid) VALUES ('" . md5($v['link']) . "','{$this->noteId}');"; - $this->dsql->ExecuteNoneQuery($inquery); - } - if ($endpos >= $totallen) { - return 0; - } else { - return ($totallen - $endpos); - } - } else { - //仅在第一批采集时出错才返回 - if ($glstart == 0) { - return -1; - } - - //在其它页出错照常采集后面内容 - if ($endpos >= $totallen) { - return 0; - } else { - return ($totallen - $endpos); - } - } - } - } - - /** - * 用扩展函数处理采集到的原始数据 - * - * @access public - * @param string $fvalue 值 - * @param string $phpcode PHP代码 - * @return string - */ - function RunPHP($fvalue, $phpcode) - { - $DedeMeValue = $fvalue; - $phpcode = preg_replace("#'@me'|\"@me\"|@me#isU", '$DedeMeValue', $phpcode); - if (preg_match("#@body#i", $phpcode)) { - $DedeBodyValue = $this->tmpHtml; - $phpcode = preg_replace("#'@body'|\"@body\"|@body#isU", '$DedeBodyValue', $phpcode); - } - if (preg_match("#@litpic#i", $phpcode)) { - $DedeLitPicValue = $this->breImage; - $phpcode = preg_replace("#'@litpic'|\"@litpic\"|@litpic#isU", '$DedeLitPicValue', $phpcode); - } - eval($phpcode . ";"); - return $DedeMeValue; - } - - /** - * 编码转换 - * - * @access public - * @param string $str 字符串 - * @return string - */ - function ChangeCode(&$str) - { - global $cfg_soft_lang; - if ($cfg_soft_lang == 'utf-8') { - if ($this->noteInfos["sourcelang"] == "gb2312") { - $str = gb2utf8($str); - } - if ($this->noteInfos["sourcelang"] == "big5") { - $str = gb2utf8(big52gb($str)); - } - } else { - if ($this->noteInfos["sourcelang"] == "utf-8") { - $str = utf82gb($str); - } - if ($this->noteInfos["sourcelang"] == "big5") { - $str = big52gb($str); - } - } - } -}//End Class \ No newline at end of file diff --git a/src/include/dedehtml2.class.php b/src/include/dedehtml2.class.php deleted file mode 100755 index 67fb8672..00000000 --- a/src/include/dedehtml2.class.php +++ /dev/null @@ -1,672 +0,0 @@ -CAtt = ''; - $this->SourceHtml = ''; - $this->Title = ''; - $this->Medias = Array(); - $this->MediaInfos = Array(); - $this->Links = Array(); - $this->BaseUrl = ''; - $this->BaseUrlPath = ''; - $this->HomeUrl = ''; - $this->IsHead = false; - $this->ImgHeight = 30; - $this->ImgWidth = 50; - $this->GetLinkType = 'link'; - } - - function DedeHtml2() - { - $this->__construct(); - } - - /** - * 设置HTML的内容和来源网址 - * - * @access public - * @param string $html html资源 - * @param string $url 地址 - * @param string $linktype 连接类型 - * @return void - */ - function SetSource(&$html, $url = '', $linktype='') - { - $this->__construct(); - $this->CAtt = new DedeAttribute2(); - $url = trim($url); - $this->SourceHtml = $html; - $this->BaseUrl = $url; - //判断文档相对于当前的路径 - $urls = @parse_url($url); - $this->HomeUrl = $urls['host']; - $this->BaseUrlPath = $this->HomeUrl.$urls['path']; - $this->BaseUrlPath = preg_replace("/\/([^\/]*)\.(.*)$/","/",$this->BaseUrlPath); - $this->BaseUrlPath = preg_replace("/\/$/",'',$this->BaseUrlPath); - if($linktype!='') - { - $this->GetLinkType = $linktype; - } - if($html != '') - { - $this->Analyser(); - } - } - - /** - * 解析HTML - * - * @access private - * @return void - */ - function Analyser() - { - $cAtt = new DedeAttribute2(); - $cAtt->IsTagName = false; - $c = ''; - $i = 0; - $startPos = 0; - $endPos = 0; - $wt = 0; - $ht = 0; - $scriptdd = 0; - $attStr = ''; - $tmpValue = ''; - $tmpValue2 = ''; - $tagName = ''; - $hashead = 0; - $slen = strlen($this->SourceHtml); - if($this->GetLinkType=='link' || $this->GetLinkType=='') - { - $needTags = array('a'); - } - if($this->GetLinkType=='media') - { - $needTags = array('img','embed','a'); - $this->IsHead = true; - } - $tagbreaks = array(' ','<','>',"\r","\n","\t"); - for(;isset($this->SourceHtml[$i]);$i++) - { - if($this->SourceHtml[$i]=='<') - { - $tagName = ''; - $j = 0; - for($i=$i+1; isset($this->SourceHtml[$i]); $i++) - { - if($j>10) - { - break; - } - $j++; - if( in_array($this->SourceHtml[$i],$tagbreaks) ) - { - break; - } - else - { - $tagName .= $this->SourceHtml[$i]; - } - } - $tagName = strtolower($tagName); - - //标记为注解 - if($tagName=='!--') - { - $endPos = strpos($this->SourceHtml,'-->',$i); - if($endPos !== false) - { - $i=$endPos+3; - } - continue; - } - - //标记在指定集合内 - else if( in_array($tagName,$needTags) ) - { - $startPos = $i; - $endPos = strpos($this->SourceHtml,'>',$i+1); - if($endPos===false) - { - break; - } - $attStr = substr($this->SourceHtml,$i+1,$endPos-$startPos-1); - $cAtt->SetSource($attStr); - if($tagName=='img') - { - $this->InsertMedia($cAtt->GetAtt('src'),'img'); - } - else if($tagName=='embed') - { - $rurl = $this->InsertMedia($cAtt->GetAtt('src'),'embed'); - if($rurl != '') - { - $this->MediaInfos[$rurl][0] = $cAtt->GetAtt('width'); - $this->MediaInfos[$rurl][1] = $cAtt->GetAtt('height'); - } - } - else if($tagName=='a') - { - $this->InsertLink($this->FillUrl($cAtt->GetAtt('href')),$this->GetInnerText($i,'a')); - } - } - else - { - continue; - } - $i--; - }//End if char - - }//End for - - if($this->Title == '') - { - $this->Title = $this->BaseUrl; - } - } - - /** - * 重置资源 - * - * @access private - * @return void - */ - function Clear() - { - $this->CAtt = ''; - $this->SourceHtml = ''; - $this->Title = ''; - $this->Links = ''; - $this->Medias = ''; - $this->BaseUrl = ''; - $this->BaseUrlPath = ''; - } - - /** - * 分析链接 - * - * @access public - * @param string $url 地址 - * @param string $mtype 媒体类型 - * @return string - */ - function InsertMedia($url, $mtype) - { - if( preg_match("/^(javascript:|#|'|\")/", $url) ) - { - return ''; - } - if($url == '') - { - return ''; - } - $this->Medias[$url]=$mtype; - return $url; - } - - /** - * 分析链接 - * - * @access public - * @param string $url 地址 - * @param string $atitle 文档 - * @return string - */ - function InsertLink($url, $atitle) - { - if( preg_match("/^(javascript:|#|'|\")/", $url) ) - { - return ''; - } - if($url == '') - { - return ''; - } - if( preg_match('/^img:/', $atitle) ) - { - list($aimg, $atitle) = explode(':txt:', $atitle); - if(!isset($this->Links[$url])) - { - if($atitle != '') - { - $this->Links[$url]['title'] = cn_substr($atitle,50); - } - else - { - $this->Links[$url]['title'] = preg_replace('/img:/', '', $aimg); - } - $this->Links[$url]['link'] = $url; - } - $this->Links[$url]['image'] = preg_replace('/img:/', '', $aimg); - $this->InsertMedia($this->Links[$url]['image'], 'img'); - } - else - { - if(!isset($this->Links[$url])) - { - $this->Links[$url]['image'] = ''; - $this->Links[$url]['title'] = $atitle; - $this->Links[$url]['link'] = $url; - } - else - { - if(strlen($this->Links[$url]['title']) < strlen($atitle)) $this->Links[$url]['title'] = $atitle; - } - } - return $url; - } - - /** - * 分析content-type中的字符类型 - * - * @access public - * @param string $att 属性字符串 - * @return string - */ - function ParCharSet($att) - { - $startdd=0; - $taglen=0; - $startdd = strpos($att,'='); - if($startdd===false) - { - return ''; - } - else - { - $taglen = strlen($att)-$startdd-1; - if($taglen<=0) - { - return ''; - } - return trim(substr($att, $startdd+1, $taglen)); - } - } - - /** - * 补全相对网址 - * - * @access public - * @param string $surl 地址 - * @return string - */ - function FillUrl($surl) - { - $i = $pathStep = 0; - $dstr = $pstr = $okurl = ''; - - $surl = trim($surl); - if($surl == '') - { - return ''; - } - $pos = strpos($surl,'#'); - if($pos>0) - { - $surl = substr($surl,0,$pos); - } - if($surl[0]=='/') - { - $okurl = $this->HomeUrl.'/'.$surl; - } - else if($surl[0]=='.') - { - if(!isset($surl[2])) - { - return ''; - } - else if($surl[0]=='/') - { - $okurl = $this->BaseUrlPath."/".substr($surl,2,strlen($surl)-2); - } - else - { - $urls = explode('/',$surl); - foreach($urls as $u) - { - if($u=='..') - { - $pathStep++; - } - else if($iBaseUrlPath); - if(count($urls) <= $pathStep) - { - return ''; - } - else - { - $pstr = ''; - for($i=0;$iBaseUrlPath.'/'.$surl; - } - else if( strtolower(substr($surl,0,7))=='http://' ) - { - $okurl = preg_replace('/^http:\/\//i', '', $surl); - } - else - { - $okurl = $this->BaseUrlPath.'/'.$surl; - } - } - $okurl = preg_replace('/\/{1,}/i', '/', $okurl); - return 'http://'.$okurl; - } - - /** - * 获得和下一个标记之间的文本内容 - * - * @access public - * @param string $pos 位置地址 - * @param string $tagname 标签名称 - * @return string - */ - function GetInnerText(&$pos,$tagname) - { - $startPos=0; - $endPos=0; - $textLen=0; - $str = ''; - $startPos = strpos($this->SourceHtml,'>',$pos); - - if($tagname=='title') - { - $endPos = strpos($this->SourceHtml,'<',$startPos); - } - else - { - $endPos1 = strpos($this->SourceHtml,'SourceHtml,' $startPos) - { - $textLen = $endPos-$startPos; - $str = substr($this->SourceHtml,$startPos+1,$textLen-1); - } - $pos = $startPos + $textLen + strlen(" \r\n\t]{1,}/isU",$str,$imgs); - if(isset($imgs[2][0])) - { - $txt = trim(Html2Text($str)); - $imgs[2][0] = preg_replace("/[\"']/",'',$imgs[2][0]); - return "img:".$this->FillUrl($imgs[2][0]).':txt:'.$txt; - } - else - { - $str = strip_tags($str); - //$str = preg_replace('/<\/(.*)$/i', '', $str); - //$str = trim(preg_replace('/^(.*)>/i','',$str)); - return $str; - } - } - } -}//End class - -/******************************* -//属性解析器 -function c____DedeAttribute2(); -********************************/ -class DedeAttribute2 -{ - var $SourceString = ''; - var $SourceMaxSize = 1024; - var $CharToLow = FALSE; //属性值是否不分大小写(属性名统一为小写) - var $IsTagName = TRUE; //是否解析标记名称 - var $Count = -1; - var $Items = array(); //属性元素的集合 - - //设置属性解析器源字符串 - function SetSource($str = '') - { - $this->Count = -1; - $this->Items =array(); - $strLen = 0; - $this->SourceString = trim(preg_replace("/[ \t\r\n]{1,}/"," ",$str)); - $strLen = strlen($this->SourceString); - $this->SourceString .= " "; //增加一个空格结尾,以方便处理没有属性的标记 - if($strLen>0&&$strLen<=$this->SourceMaxSize) - { - $this->PrivateAttParse(); - } - } - - //获得某个属性 - function GetAtt($str) - { - if($str == '') - { - return ''; - } - $str = strtolower($str); - if(isset($this->Items[$str])) - { - return $this->Items[$str]; - } - else - { - return ''; - } - } - - //判断属性是否存在 - function IsAtt($str) - { - if($str == '') - { - return false; - } - $str = strtolower($str); - if(isset($this->Items[$str])) - { - return true; - } - else - { - return false; - } - } - - //获得标记名称 - function GetTagName() - { - return $this->GetAtt("tagname"); - } - - // 获得属性个数 - function GetCount() - { - return $this->Count+1; - } - - //解析属性(仅给SetSource调用) - function PrivateAttParse() - { - $d = ''; - $tmpatt = ''; - $tmpvalue = ''; - $startdd = -1; - $ddtag = ''; - $strLen = strlen($this->SourceString); - $j = 0; - - //这里是获得标记的名称 - if($this->IsTagName) - { - //如果属性是注解,不再解析里面的内容,直接返回 - if(isset($this->SourceString[2])) - { - if($this->SourceString[0].$this->SourceString[1].$this->SourceString[2]=='!--') - { - $this->Items['tagname'] = '!--'; - return ; - } - } - for($i=0;$i<$strLen;$i++) - { - $d = $this->SourceString[$i]; - $j++; - if(preg_match("/[ '\"\r\n\t]/i", $d)) - { - $this->Count++; - $this->Items["tagname"]=strtolower(trim($tmpvalue)); - $tmpvalue = ''; break; - } - else - { - $tmpvalue .= $d; - } - } - if($j>0) - { - $j = $j-1; - } - } - - //遍历源字符串,获得各属性 - for($i=$j;$i<$strLen;$i++) - { - $d = $this->SourceString[$i]; - //获得属性的键 - if($startdd==-1) - { - if($d!='=') - { - $tmpatt .= $d; - } - else - { - $tmpatt = strtolower(trim($tmpatt)); - $startdd=0; - } - } - - //检测属性值是用什么包围的,允许使用 '' '' 或空白 - else if($startdd==0) - { - switch($d) - { - case ' ': - // continue; - break; - case '\'': - $ddtag='\''; - $startdd=1; - break; - case '"': - $ddtag='"'; - $startdd=1; - break; - default: - $tmpvalue.=$d; - $ddtag=' '; - $startdd=1; - break; - } - } - - //获得属性的值 - else if($startdd==1) - { - if($d==$ddtag) - { - $this->Count++; - if($this->CharToLow) - { - $this->Items[$tmpatt] = strtolower(trim($tmpvalue)); - } - else - { - $this->Items[$tmpatt] = trim($tmpvalue); - } - $tmpatt = ''; - $tmpvalue = ''; - $startdd=-1; - } - else - { - $tmpvalue.=$d; - } - } - }//End for - - //处理没有值的属性(必须放在结尾才有效)如:"input type=radio name=t1 value=aaa checked" - if($tmpatt != '') - { - $this->Items[$tmpatt] = ''; - } - }//End Function PrivateAttParse - -}//End Class DedeAttribute2 diff --git a/src/install/images/ajax-loader.gif b/src/install/images/ajax-loader.gif deleted file mode 100755 index f227c0f0..00000000 Binary files a/src/install/images/ajax-loader.gif and /dev/null differ diff --git a/src/install/images/boxtitle_bg.gif b/src/install/images/boxtitle_bg.gif deleted file mode 100755 index aa657136..00000000 Binary files a/src/install/images/boxtitle_bg.gif and /dev/null differ diff --git a/src/install/images/but_back.gif b/src/install/images/but_back.gif deleted file mode 100755 index 4b0bad0a..00000000 Binary files a/src/install/images/but_back.gif and /dev/null differ diff --git a/src/install/images/but_next.gif b/src/install/images/but_next.gif deleted file mode 100755 index 0e8645f5..00000000 Binary files a/src/install/images/but_next.gif and /dev/null differ diff --git a/src/install/images/ico-step-now.png b/src/install/images/ico-step-now.png deleted file mode 100755 index f6d2560d..00000000 Binary files a/src/install/images/ico-step-now.png and /dev/null differ diff --git a/src/install/images/ico-step-succeed.png b/src/install/images/ico-step-succeed.png deleted file mode 100755 index 9f4379e3..00000000 Binary files a/src/install/images/ico-step-succeed.png and /dev/null differ diff --git a/src/install/images/leftbox-tbg.png b/src/install/images/leftbox-tbg.png deleted file mode 100755 index 4dd54288..00000000 Binary files a/src/install/images/leftbox-tbg.png and /dev/null differ diff --git a/src/install/images/loading1.gif b/src/install/images/loading1.gif deleted file mode 100755 index 5f10394c..00000000 Binary files a/src/install/images/loading1.gif and /dev/null differ diff --git a/src/install/images/step-ico-bg.png b/src/install/images/step-ico-bg.png deleted file mode 100755 index c982e5fb..00000000 Binary files a/src/install/images/step-ico-bg.png and /dev/null differ diff --git a/src/install/images/top-bg.png b/src/install/images/top-bg.png deleted file mode 100755 index fb25d334..00000000 Binary files a/src/install/images/top-bg.png and /dev/null differ diff --git a/src/install/images/top-logo.png b/src/install/images/top-logo.png deleted file mode 100644 index 26182bab..00000000 Binary files a/src/install/images/top-logo.png and /dev/null differ diff --git a/src/install/index.php b/src/install/index.php index 056dc6b8..4ee8da8f 100644 --- a/src/install/index.php +++ b/src/install/index.php @@ -12,6 +12,7 @@ error_reporting(E_ALL || ~E_NOTICE); $verMsg = 'V6'; $dfDbname = 'dedecmsv6'; +$cfg_version_detail = '6.0.3'; // 详细版本号 $errmsg = ''; define('INSLOCKFILE', dirname(__FILE__).'/install_lock.txt'); @@ -92,6 +93,28 @@ function _2_Setup() ------------------------*/ else if($step==2) { + $dbtype = empty($dbtype)? "mysql" : $dbtype; + $dblang = "utf8"; + if (!in_array($dbtype,array("mysql", "sqlite"))) { + die("当前数据库类型不支持"); + } + if(!empty($_SERVER['HTTP_HOST'])) + $dfbaseurl = 'http://'.$_SERVER['HTTP_HOST']; + else + $dfbaseurl = "http://".$_SERVER['SERVER_NAME']; + $dfbasepath = preg_replace("#\/install(.*)$#i", '', $scriptName); + + $dbhost = empty($dbhost)? "localhost" : $dbhost; + $dbuser = empty($dbuser)? "root" : $dbuser; + $dbuser = empty($dbuser)? "root" : $dbuser; + $dbprefix = empty($dbprefix)? "dede_" : $dbprefix; + $dbname = empty($dbname)? $dfDbname : $dbname; + $adminuser = empty($adminuser)? "admin" : $adminuser; + $adminpwd = empty($adminpwd)? "admin" : $adminpwd; + $webname = empty($webname)? "我的网站" : $webname; + $baseurl = empty($baseurl)? $dfbaseurl : $baseurl; + $cmspath = empty($cmspath)? $dfbasepath : $cmspath; + if ( $dbtype == 'sqlite' ) { $db = new SQLite3(DEDEDATA.'/'.$dbname.'.db'); @@ -288,7 +311,7 @@ else if($step==2) $fp = fopen($insLockfile,'w'); fwrite($fp,'ok'); fclose($fp); - header('Location:dede/index.php'); + header('Location:../dede/index.php'); exit(); } /*------------------------ @@ -301,18 +324,27 @@ else if($step==10) header("Cache-Control:no-cache\r\n"); header("Expires:0\r\n"); $conn = @mysql_connect($dbhost,$dbuser,$dbpwd); + $info = ""; if($conn) { if(empty($dbname)){ - echo "信息正确"; + $info = "信息正确"; }else{ - $info = mysql_select_db($dbname,$conn)?"数据库已经存在,系统将覆盖数据库":"数据库不存在,系统将自动创建"; - echo $info; - } + $info = mysql_select_db($dbname,$conn)? "数据库已经存在,系统将覆盖数据库": "数据库不存在,系统将自动创建"; + } + $result = array( + "code" => 200, + "data" => $info, + ); + echo json_encode($result); } else { - echo "数据库连接失败!"; + $result = array( + "code" => -1, + "data" => "数据库连接失败!", + ); + echo json_encode($result); } @mysql_close($conn); exit(); diff --git a/src/install/templates/step-1.html b/src/install/templates/step-1.html index c702b724..382fffde 100755 --- a/src/install/templates/step-1.html +++ b/src/install/templates/step-1.html @@ -39,11 +39,12 @@ ?>
-
-

首次运行安装包

+
+
首次运行安装程序(v
-
+ + 数据库设置 @@ -74,8 +75,14 @@
- +
+ +
+ +
+
+
站点设置
@@ -86,7 +93,6 @@
-
@@ -117,7 +123,28 @@ + diff --git a/src/templets/templet-dirlist.inc b/src/templets/templet-dirlist.inc index 2c30eaf9..68fd3991 100755 --- a/src/templets/templet-dirlist.inc +++ b/src/templets/templet-dirlist.inc @@ -1,4 +1,3 @@ -start,默认模板目录说明 default,默认模板文件目录 plus,附加插件模板目录 system,默认底层模板目录 \ No newline at end of file diff --git a/src/templets/templet-filelist.inc b/src/templets/templet-filelist.inc index faa4f7ff..9f6948a4 100755 --- a/src/templets/templet-filelist.inc +++ b/src/templets/templet-filelist.inc @@ -1,4 +1,3 @@ -start,系统默认模板文件说明 head.htm,列表页头部模板 head_nocatalog.htm,内容页\主页等无子栏目页面头部模板 index.htm,主页模板