Browse Source

移除采集功能

tags/6.0.3
llgoer 3 years ago
parent
commit
f57a8832de
34 changed files with 0 additions and 3855 deletions
  1. +0
    -162
      src/dede/co_add.php
  2. +0
    -242
      src/dede/co_do.php
  3. +0
    -144
      src/dede/co_edit.php
  4. +0
    -38
      src/dede/co_edit_text.php
  5. +0
    -248
      src/dede/co_export.php
  6. +0
    -34
      src/dede/co_export_corule.php
  7. +0
    -31
      src/dede/co_gather_start.php
  8. +0
    -71
      src/dede/co_gather_start_action.php
  9. +0
    -99
      src/dede/co_get_corule.php
  10. +0
    -98
      src/dede/co_getsource_url_action.php
  11. +0
    -32
      src/dede/co_main.php
  12. +0
    -18
      src/dede/co_test_rule.php
  13. +0
    -57
      src/dede/co_url.php
  14. +0
    -56
      src/dede/co_view.php
  15. +0
    -13
      src/dede/inc/grouplist.txt
  16. +0
    -43
      src/dede/inc/inc_action_info.php
  17. +0
    -8
      src/dede/inc/inc_menu.php
  18. +0
    -8
      src/dede/inc/inc_menu_map.php
  19. +0
    -38
      src/dede/templets/co_add_step0.htm
  20. +0
    -270
      src/dede/templets/co_add_step1.htm
  21. +0
    -77
      src/dede/templets/co_add_step1_test.htm
  22. +0
    -341
      src/dede/templets/co_add_step2.htm
  23. +0
    -55
      src/dede/templets/co_add_step2_test.htm
  24. +0
    -20
      src/dede/templets/co_config.htm
  25. +0
    -712
      src/dede/templets/co_edit.htm
  26. +0
    -117
      src/dede/templets/co_export.htm
  27. +0
    -129
      src/dede/templets/co_gather_start.htm
  28. +0
    -198
      src/dede/templets/co_main.htm
  29. +0
    -93
      src/dede/templets/co_test_rule.htm
  30. +0
    -103
      src/dede/templets/co_trimrule.html
  31. +0
    -106
      src/dede/templets/co_url.htm
  32. +0
    -79
      src/dede/templets/co_url_2.htm
  33. +0
    -113
      src/dede/templets/co_view.htm
  34. +0
    -2
      src/dede/templets/index_menu2.htm

+ 0
- 162
src/dede/co_add.php View File

@@ -1,162 +0,0 @@
<?php
/**
* 采集规则添加
*
* @version $Id: co_add.php 1 14:31 2010年7月12日Z tianya $
* @package DedeBIZ.Administrator
* @copyright Copyright (c) 2020, DedeBIZ.COM
* @license https://www.dedebiz.com/license
* @link https://www.dedebiz.com
*/
require_once(dirname(__FILE__) . "/config.php");
CheckPurview('co_AddNote');
if (empty($step)) $step = "";
if (empty($exrule)) $exrule = "";
//选择操作频道类型,载入表单
/*----------------------
function Init(){ }
----------------------*/
if (empty($step)) {
require_once(DEDEADMIN . "/templets/co_add_step0.htm");
exit();
} else if ($step == 1) {
require_once(DEDEADMIN . "/templets/co_add_step1.htm");
exit();
}
//保存索引规则
/*----------------------
function Save_List(){ }
----------------------*/ else if ($step == 2) {
//对完整规则进行测试
if ($dopost == 'test') {
include(DEDEINC . "/dedecollection.class.php");
$usemore = (!isset($usemore) ? 0 : 1);
$listconfig = "{dede:noteinfo notename=\\\"$notename\\\" channelid=\\\"$channelid\\\" macthtype=\\\"$macthtype\\\"
refurl=\\\"$refurl\\\" sourcelang=\\\"$sourcelang\\\" cosort=\\\"$cosort\\\" isref=\\\"$isref\\\" exptime=\\\"$exptime\\\" usemore=\\\"$usemore\\\" /}
{dede:listrule sourcetype=\\\"$sourcetype\\\" rssurl=\\\"$rssurl\\\" regxurl=\\\"$regxurl\\\"
startid=\\\"$startid\\\" endid=\\\"$endid\\\" addv=\\\"$addv\\\" urlrule=\\\"$urlrule\\\"
musthas=\\\"$musthas\\\" nothas=\\\"$nothas\\\" listpic=\\\"$listpic\\\" usemore=\\\"$usemore\\\"}
{dede:addurls}$addurls{/dede:addurls}
{dede:batchrule}$batchrule{/dede:batchrule}
{dede:regxrule}$regxrule{/dede:regxrule}
{dede:areastart}$areastart{/dede:areastart}
{dede:areaend}$areaend{/dede:areaend}
{/dede:listrule}\r\n";
$tmplistconfig = stripslashes($listconfig);
$notename = stripslashes($notename);
if ($sourcetype == 'rss' && $refurl = '') {
$refurl = $rssurl;
}
$refurl = stripslashes($refurl);
$errmsg = '';
$freq = empty($freq) ? "" : $freq;
$extypeid = empty($freq) ? "" : $extypeid;
//测试规则
if ($sourcetype == 'rss') {
$links = GetRssLinks(stripslashes($rssurl));
$demopage = $rssurl;
} else {
$links = array();
$lists = GetUrlFromListRule($regxurl, stripslashes($addurls), $startid, $endid, $addv, $usemore, stripslashes($batchrule));
if (isset($lists[0][0])) {
$demopage = $lists[0][0];
$dc = new DedeCollection();
$dc->LoadListConfig($tmplistconfig);
$listurl = '';
$links = $dc->Testlists($listurl);
$errmsg = $dc->errString;
} else {
$demopage = '没有匹配到适合的列表页!';
}
}
require_once(DEDEADMIN . "/templets/co_add_step1_test.htm");
exit();
}
//从预览并提示进入下一步
else {
$row = $dsql->GetOne("SELECT nid,channelid FROM `#@__co_note` WHERE isok=0 AND notename LIKE '$notename' ");
if (!is_array($row)) {
$uptime = time();
$listconfig = urldecode($listconfig);
$inquery = " INSERT INTO `#@__co_note`(`channelid`,`notename`,`sourcelang`,`uptime`,`cotime`,`pnum`,`isok`,`usemore`,`listconfig`,`itemconfig`)
VALUES ('$channelid','$notename','$sourcelang','$uptime','0','0','0','$usemore','$listconfig',''); ";
$rs = $dsql->ExecuteNoneQuery($inquery);
if (!$rs) {
ShowMsg("保存信息时出现错误!" . $dsql->GetError(), "-1");
exit();
}
$nid = $dsql->GetLastID();
} else {
$channelid = $row['channelid'];
$uptime = time();
if (empty($freq)) $freq = 1;
if (empty($extypeid)) $extypeid = 0;
if (empty($islisten)) $islisten = 0;
$usemore = (!isset($usemore) ? 0 : 1);
$query = " UPDATE `#@__co_note` SET
`channelid`='$channelid',
`notename`='$notename',
`sourcelang`='$sourcelang',
`uptime`='$uptime',
`isok`='1',
`usemore`='$usemore',
`listconfig`='$listconfig' WHERE nid='$nid'; ";
$dsql->ExecuteNoneQuery($query);
$nid = $row['nid'];
}
if (!isset($previewurl)) $previewurl = '';
require_once(DEDEINC . '/dedetag.class.php');
require_once(DEDEADMIN . "/templets/co_add_step2.htm");
exit();
}
}
//保存文章规则
/*----------------------
function Save_Art(){ }
----------------------*/ else if ($step == 5) {
/*
[previewurl] => ''
*/
$itemconfig = "{dede:sppage sptype=\\'$sptype\\' sptype=\\'$sptype\\' srul=\\'$srul\\' erul=\\'$erul\\'}$sppage{/dede:sppage}\r\n";
$itemconfig .= "{dede:previewurl}$previewurl{/dede:previewurl}\r\n";
$itemconfig .= "{dede:keywordtrim}$keywordtrim{/dede:keywordtrim}\r\n";
$itemconfig .= "{dede:descriptiontrim}$descriptiontrim{/dede:descriptiontrim}\r\n";
$fs = explode(',', 'value,match,isunit,isdown,trim,function');
foreach ($fields as $field) {
foreach ($fs as $f) {
$GLOBALS[$f . '_' . $field] = (!isset($GLOBALS[$f . '_' . $field]) ? '' : $GLOBALS[$f . '_' . $field]);
}
$matchstr = $GLOBALS["match_" . $field];
$trimstr = $GLOBALS["trim_" . $field];
$trimstr = trim(str_replace('&nbsp;', '#n#', $trimstr));
$matchstr = trim(str_replace('&nbsp;', '#n#', $matchstr));
if ($trimstr != '' && !preg_match("#{dede:trim#i", $trimstr)) {
$trimstr = " {dede:trim}$trimstr{/dede:trim}\r\n";
}
$itemconfig .= "{dede:item field=\\'" . $field . "\\' value=\\'" . $GLOBALS["value_" . $field] . "\\' isunit=\\'" . $GLOBALS["isunit_" . $field] . "\\' isdown=\\'" . $GLOBALS["isdown_" . $field] . "\\'}
{dede:match}" . $matchstr . "{/dede:match}
$trimstr
{dede:function}" . $GLOBALS["function_" . $field] . "{/dede:function}
{/dede:item}\r\n";
}
$dsql->ExecuteNoneQuery("UPDATE `#@__co_note` SET itemconfig='$itemconfig' WHERE nid='$nid' ");
//echo $dsql->GetError();
require_once(DEDEINC . '/dedecollection.class.php');
require_once(DEDEADMIN . "/templets/co_add_step2_test.htm");
exit();
} else if ($step == 6) {
$dsql->ExecuteNoneQuery("UPDATE `#@__co_note` SET isok='1' WHERE nid='$nid' ");
ShowMsg("成功设置一个规则!", "co_main.php");
exit();
} else if ($step == 7) {
$dsql->ExecuteNoneQuery("UPDATE `#@__co_note` SET isok='1' WHERE nid='$nid' ");
ShowMsg("成功设置一个规则,现在转向采集页面!", "co_gather_start.php?nid=$nid");
exit();
}

+ 0
- 242
src/dede/co_do.php View File

@@ -1,242 +0,0 @@
<?php
/**
* 采集操作
*
* @version $Id: co_do.php 1 14:31 2010年7月12日Z tianya $
* @package DedeBIZ.Administrator
* @copyright Copyright (c) 2020, DedeBIZ.COM
* @license https://www.dedebiz.com/license
* @link https://www.dedebiz.com
*/
require_once(dirname(__FILE__) . "/config.php");
require_once(DEDEINC . "/oxwindow.class.php");
if (!isset($nid)) $nid = 0;
$ENV_GOBACK_URL = empty($_COOKIE["ENV_GOBACK_URL"]) ? "co_url.php" : $_COOKIE["ENV_GOBACK_URL"];
//删除节点
//删除节点将删除所有旧的网址索引
/*
function co_delete()
*/
if ($dopost == "delete") {
CheckPurview('co_Del');
$nid = intval($nid);
$dsql->ExecuteNoneQuery("DELETE FROM `#@__co_htmls` WHERE nid='$nid'");
$dsql->ExecuteNoneQuery("DELETE FROM `#@__co_note` WHERE nid='$nid'");
$dsql->ExecuteNoneQuery("DELETE FROM `#@__co_urls` WHERE nid='$nid'");
ShowMsg("成功删除一个节点!", "co_main.php");
exit();
}
//清空采集内容
//清空采集内容时仍会保留旧的网址索引,在监控模式下始终采集新的内容
/*
function url_clear()
*/ else if ($dopost == "clear") {
CheckPurview('co_Del');
if (!isset($ids)) $ids = '';
if (empty($ids)) {
if (!empty($nid)) {
$nid = intval($nid);
$dsql->ExecuteNoneQuery("DELETE FROM `#@__co_htmls` WHERE nid='$nid'");
}
ShowMsg("成功清空一个节点采集的内容!", "co_main.php");
exit();
} else {
if (!empty($clshash)) {
$dsql->SetQuery("SELECT nid,url FROM `#@__co_htmls` WHERE aid IN($ids) ");
$dsql->Execute();
while ($arr = $dsql->GetArray()) {
$nhash = md5($arr['url']);
$nid = $row['nid'];
$dsql->ExecuteNoneQuery("DELETE FROM `#@__co_urls ` WHERE nid='$nid' AND hash='$nhash' ");
}
}
$dsql->ExecuteNoneQuery("DELETE FROM `#@__co_htmls` WHERE aid IN($ids) ");
ShowMsg("成功删除指定的网址内容!", $ENV_GOBACK_URL);
exit();
}
} else if ($dopost == "clearct") {
CheckPurview('co_Del');
if (!empty($ids)) {
$dsql->ExecuteNoneQuery("UPDATE `#@__co_htmls` SET isdown=0,result='' WHERE aid IN($ids) ");
}
ShowMsg("成功清除所有内容!", $ENV_GOBACK_URL);
exit();
}
/*
function url_clearall()
*/ else if ($dopost == "clearall") {
CheckPurview('co_Del');
$dsql->ExecuteNoneQuery("DELETE FROM `#@__co_htmls` ");
ShowMsg("成功清空所有采集的临时内容!", "co_main.php");
exit();
}
//内容替换
/*
function co_replace() { }
*/ else if ($dopost == "replace") {
//if()
//$nid $aid $regtype $fdstring $rpstring
$rpstring = trim($rpstring);
if ($regtype == 'string') {
$dsql->ExecuteNoneQuery("UPDATE `#@__co_htmls` SET `result`=REPLACE(`result`,'$fdstring','$rpstring') WHERE nid='$nid' ");
} else {
//返回一条测试结果,并要求用户确认操作
if (empty($rpok)) {
$fdstring = stripslashes($fdstring);
$rpstring = stripslashes($rpstring);
$hiddenrpvalue = "<textarea name='fdstring' style='display:none'>{$fdstring}</textarea>\r\n<textarea name='rpstring' style='display:none'>{$rpstring}</textarea>\r\n";
$fdstring = str_replace("\\/", "#ASZZ#", $fdstring);
$fdstring = str_replace('/', "\\/", $fdstring);
$fdstring = str_replace('#ASZZ#', "\\/", $fdstring);
$result = $rs = stripslashes($rs);
if ($fdstring != '') {
$result = trim(preg_replace("/$fdstring/isU", $rpstring, $rs));
}
$wintitle = "采集管理-内容替换";
$wecome_info = "<a href='co_main.php'>采集管理</a>::内容替换";
$win = new OxWindow();
$win->Init("co_do.php", "js/blank.js", "POST");
$win->AddHidden('dopost', $dopost);
$win->AddHidden('nid', $nid);
$win->AddHidden('regtype', 'regex');
$win->AddHidden('aid', $aid);
$win->AddHidden('rpok', 'ok');
$win->AddTitle("内容替换操作确认:如果下面结果正确,点击确认,系统将替换当前节点所有内容!{$hiddenrpvalue}");
$win->AddItem("原来的内容:", "<textarea name='rs' style='width:90%;height:250px'>{$rs}</textarea>\r\n");
$win->AddItem("按规则替换后的内容:", "<textarea name='okrs' style='width:90%;height:250px'>{$result}</textarea>\r\n");
$winform = $win->GetWindow("ok");
$win->Display();
exit();
} else {
if ($fdstring != '') {
$dsql->SetQuery("SELECT `aid`,`result` FROM `#@__co_htmls` WHERE nid='$nid' ");
$dsql->Execute();
while ($row = $dsql->GetArray()) {
$fdstring = stripslashes($fdstring);
$rpstring = stripslashes($rpstring);
$fdstring = str_replace("\\/", "#ASZZ#", $fdstring);
$fdstring = str_replace('/', "\\/", $fdstring);
$fdstring = str_replace('#ASZZ#', "\\/", $fdstring);
$result = trim(preg_replace("/$fdstring/isU", $rpstring, $row['result']));
$result = addslashes($result);
$dsql->ExecuteNoneQuery("UPDATE `#@__co_htmls` SET `result`='$result' WHERE aid='{$row['aid']}' ");
}
}
}
}
ShowMsg("成功替换当前节点所有数据!", "co_view.php?aid=$aid");
exit();
}
//复制节点
/*
function co_copy()
*/ else if ($dopost == "copy") {
CheckPurview('co_AddNote');
if (empty($mynotename)) {
$wintitle = "采集管理-复制节点";
$wecome_info = "<a href='co_main.php'>采集管理</a>::复制节点";
$win = new OxWindow();
$win->Init("co_do.php", "js/blank.js", "POST");
$win->AddHidden("dopost", $dopost);
$win->AddHidden("nid", $nid);
$win->AddTitle("请输入新节点名称:");
$win->AddItem("新节点名称:", "<input type='text' name='mynotename' value='' size='30' />");
$winform = $win->GetWindow("ok");
$win->Display();
exit();
}
$row = $dsql->GetOne("SELECT * FROM `#@__co_note` WHERE nid='$nid'");
foreach ($row as $k => $v) {
if (!isset($$k)) {
$$k = addslashes($v);
}
}
$usemore = (empty($usemore) ? '0' : $usemore);
$inQuery = " INSERT INTO `#@__co_note`(`channelid`,`notename`,`sourcelang`,`uptime`,`cotime`,`pnum`,`isok`,`listconfig`,`itemconfig`,`usemore`)
VALUES ('$channelid','$mynotename','$sourcelang','" . time() . "','0','0','0','$listconfig','$itemconfig','$usemore'); ";
$dsql->ExecuteNoneQuery($inQuery);
ShowMsg("成功复制一个节点!", $ENV_GOBACK_URL);
exit();
}
//测试Rss源是否正确
/*-----------------------
function co_testrss()
-------------------------*/ else if ($dopost == "testrss") {
CheckPurview('co_AddNote');
$msg = '';
if ($rssurl == '') {
$msg = '你没有指定RSS地址!';
} else {
include(DEDEINC . "/dedecollection.func.php");
$arr = GetRssLinks($rssurl);
$msg = "从 {$rssurl} 发现的网址:<br />";
$i = 1;
if (is_array($arr)) {
foreach ($arr as $ar) {
$msg .= "<hr size='1' />\r\n";
$msg .= "link: {$ar['link']}<br />title: {$ar['title']}<br />image: {$ar['image']}\r\n";
$i++;
}
}
}
$wintitle = "采集管理-测试";
$wecome_info = "<a href='co_main.php'>采集管理</a>::RSS地址测试";
$win = new OxWindow();
$win->AddMsgItem($msg);
$winform = $win->GetWindow("hand");
$win->Display();
exit();
}
//测试批量网址是否正确
/*-----------------------
function co_testregx()
-------------------------*/ else if ($dopost == "testregx") {
CheckPurview('co_AddNote');
$msg = '';
if ($regxurl == '') {
$msg = '你没有指定匹配的网址!';
} else {
include(DEDEINC . "/dedecollection.func.php");
$msg = "匹配的网址:<br />";
$lists = GetUrlFromListRule($regxurl, '', $startid, $endid, $addv);
foreach ($lists as $surl) {
$msg .= $surl[0] . "<br />\r\n";
}
}
$wintitle = "采集管理-测试匹配规则";
$wecome_info = "<a href='co_main.php'>采集管理</a>::测试匹配列表网址规则";
$win = new OxWindow();
$win->AddMsgItem($msg);
$winform = $win->GetWindow("hand");
$win->Display();
exit();
}
//采集未下载内容
/*--------------------
function co_all()
---------------------*/ else if ($dopost == "coall") {
CheckPurview('co_PlayNote');
$mrow = $dsql->GetOne("SELECT COUNT(*) AS dd FROM `#@__co_htmls` ");
$totalnum = $mrow['dd'];
if ($totalnum == 0) {
ShowMsg("没发现可下载的内容!", "-1");
exit();
}
$wintitle = "采集管理-采集未下载内容";
$wecome_info = "<a href='co_main.php'>采集管理</a>::采集未下载内容";
$win = new OxWindow();
$win->Init("co_gather_start_action.php", "js/blank.js", "GET");
$win->AddHidden('startdd', '0');
$win->AddHidden('pagesize', '5');
$win->AddHidden('sptime', '0');
$win->AddHidden('nid', '0');
$win->AddHidden('totalnum', $totalnum);
$win->AddMsgItem("本操作会检测并下载‘<a href='co_url.php'><u>临时内容</u></a>’中所有未下载的内容,是否继续?");
$winform = $win->GetWindow("ok");
$win->Display();
exit();
}

+ 0
- 144
src/dede/co_edit.php View File

@@ -1,144 +0,0 @@
<?php
/**
* 采集规则编辑
*
* @version $Id: co_edit.php 1 14:31 2010年7月12日Z tianya $
* @package DedeBIZ.Administrator
* @copyright Copyright (c) 2020, DedeBIZ.COM
* @license https://www.dedebiz.com/license
* @link https://www.dedebiz.com
*/
require_once(dirname(__FILE__) . '/config.php');
CheckPurview('co_EditNote');
require_once(DEDEINC . '/dedetag.class.php');
$nid = (isset($nid) ? intval($nid) : '');
if ($nid == '') {
ShowMsg('参数无效!', '-1');
exit();
}
if (empty($dopost)) $dopost = '';
/*----------------------
function _Save()
----------------------*/
if ($dopost == 'save' || $dopost == 'saveandtest') {
$usemore = (!isset($usemore) ? 0 : 1);
$listconfig = "{dede:noteinfo notename=\\\"$notename\\\" channelid=\\\"$channelid\\\" macthtype=\\\"$macthtype\\\"
refurl=\\\"$refurl\\\" sourcelang=\\\"$sourcelang\\\" cosort=\\\"$cosort\\\"
isref=\\\"$isref\\\" exptime=\\\"$exptime\\\" usemore=\\\"$usemore\\\" /}
{dede:listrule sourcetype=\\\"$sourcetype\\\" rssurl=\\\"$rssurl\\\" regxurl=\\\"$regxurl\\\"
startid=\\\"$startid\\\" endid=\\\"$endid\\\" addv=\\\"$addv\\\" urlrule=\\\"$urlrule\\\" musthas=\\\"$musthas\\\"
nothas=\\\"$nothas\\\" listpic=\\\"$listpic\\\" usemore=\\\"$usemore\\\"}
{dede:addurls}$addurls{/dede:addurls}
{dede:batchrule}$batchrule{/dede:batchrule}
{dede:regxrule}$regxrule{/dede:regxrule}
{dede:areastart}$areastart{/dede:areastart}
{dede:areaend}$areaend{/dede:areaend}
{/dede:listrule}\r\n";
$itemconfig = "{dede:sppage sptype=\\'$sptype\\' srul=\\'$srul\\' erul=\\'$erul\\'}$sppage{/dede:sppage}\r\n";
$itemconfig .= "{dede:previewurl}$previewurl{/dede:previewurl}\r\n";
$itemconfig .= "{dede:keywordtrim}$keywordtrim{/dede:keywordtrim}\r\n";
$itemconfig .= "{dede:descriptiontrim}$descriptiontrim{/dede:descriptiontrim}\r\n";
$fs = explode(',', 'value,match,isunit,isdown,trim,function');
foreach ($fields as $field) {
foreach ($fs as $f) {
$GLOBALS[$f . '_' . $field] = (!isset($GLOBALS[$f . '_' . $field]) ? '' : $GLOBALS[$f . '_' . $field]);
}
$matchstr = $GLOBALS["match_" . $field];
$trimstr = $GLOBALS["trim_" . $field];
$trimstr = trim(str_replace('&nbsp;', '#n#', $trimstr));
$matchstr = trim(str_replace('&nbsp;', '#n#', $matchstr));
if ($trimstr != '' && !preg_match("#{dede:trim#isU", $trimstr)) {
$trimstr = " {dede:trim}$trimstr{/dede:trim}\r\n";
}
$itemconfig .= "{dede:item field=\\'" . $field . "\\' value=\\'" . $GLOBALS["value_" . $field] . "\\' isunit=\\'" . $GLOBALS["isunit_" . $field] . "\\' isdown=\\'" . $GLOBALS["isdown_" . $field] . "\\'}
{dede:match}" . $matchstr . "{/dede:match}
$trimstr
{dede:function}" . $GLOBALS["function_" . $field] . "{/dede:function}
{/dede:item}";
}
$uptime = time();
if (empty($freq)) $freq = 1;
if (empty($extypeid)) $extypeid = 0;
if (empty($islisten)) $islisten = 0;
$query = " UPDATE `#@__co_note` SET
`channelid`='$channelid',
`notename`='$notename',
`sourcelang`='$sourcelang',
`uptime`='$uptime',
`isok`='1',
`usemore`='$usemore',
`listconfig`='$listconfig',
`itemconfig`='$itemconfig'
WHERE nid='$nid'; ";
$rs = $dsql->ExecuteNoneQuery($query);
echo $dsql->GetError();
if ($donext == 'save') {
ShowMsg("成功保存配置!", "co_main.php");
} else {
require_once(dirname(__FILE__) . "/co_test_rule.php");
}
exit();
}
$arr = $dsql->GetOne("SELECT * FROM `#@__co_note` WHERE nid='$nid'");
//如果内容规则未设置,转到设置内容规则的表单
if (trim($arr['itemconfig']) == '') {
$channelid = $arr['channelid'];
$nid = $arr['nid'];
if (!isset($previewurl)) $previewurl = '';
require_once(DEDEINC . '/dedetag.class.php');
require_once(DEDEADMIN . "/templets/co_add_step2.htm");
exit();
}
$usemore = $arr['usemore'];
$notename = $arr['notename'];
$notes = array();
$dsql->FreeResult();
$dtp = new DedeTagParse();
$dtp2 = new DedeTagParse();
$dtp->LoadString($arr['listconfig'] . $arr['itemconfig']);
$channelid = $arr['channelid'];
$notes['keywordtrim'] = '';
$notes['descriptiontrim'] = '';
foreach ($dtp->CTags as $tid => $ctag) {
if ($ctag->GetName() == 'item') {
$f = $ctag->GetAtt('field');
$notes[$f]['item'] = $ctag;
$dtp2->LoadString($ctag->GetInnerText());
$notes[$f]['trim'] = '';
foreach ($dtp2->CTags as $ctag2) {
if ($ctag2->GetName() == 'trim') {
$notes[$f]['trim'] .= "{dede:trim replace=\"" . $ctag2->GetAtt('replace') . "\"}" . $ctag2->GetInnerText() . "{/dede:trim}\r\n";
} else if ($ctag2->GetName() == 'match') {
$notes[$f]['match'] = $ctag2->GetInnerText() . "\r\n";
} else if ($ctag2->GetName() == 'function') {
$notes[$f]['function'] = $ctag2->GetInnerText() . "\r\n";
}
}
} else if ($ctag->GetName() == 'keywordtrim') {
$notes['keywordtrim'] = $ctag->GetInnerText();
} else if ($ctag->GetName() == 'descriptiontrim') {
$notes['descriptiontrim'] = $ctag->GetInnerText();
} else if ($ctag->GetName() == 'noteinfo') {
$noteinfo = $ctag;
} else if ($ctag->GetName() == 'listrule') {
$listrule = $ctag;
$dtp2->LoadString($ctag->GetInnerText());
$addurls = $dtp2->GetTagByName('addurls');
$regxrule = $dtp2->GetTagByName('regxrule');
$areastart = $dtp2->GetTagByName('areastart');
$areaend = $dtp2->GetTagByName('areaend');
$batchrule = $dtp2->GetTagByName('batchrule');
} else if ($ctag->GetName() == 'sppage') {
$sppage = $ctag;
} else if ($ctag->GetName() == 'previewurl') {
$previewurl = trim($ctag->GetInnerText());
}
}
if (!isset($previewurl)) $previewurl = '';
require_once(DEDEADMIN . '/templets/co_edit.htm');

+ 0
- 38
src/dede/co_edit_text.php View File

@@ -1,38 +0,0 @@
<?php
/**
* 采集规则编辑-专家更改模式
*
* @version $Id: co_edit_text.php 1 14:31 2010年7月12日Z tianya $
* @package DedeBIZ.Administrator
* @copyright Copyright (c) 2020, DedeBIZ.COM
* @license https://www.dedebiz.com/license
* @link https://www.dedebiz.com
*/
require(dirname(__FILE__) . "/config.php");
CheckPurview('co_EditNote');
if (empty($job)) $job = '';
if ($job == '') {
require_once(DEDEINC . "/oxwindow.class.php");
$wintitle = "更改采集规则";
$wecome_info = "<a href='co_main.php'><u>采集点管理</u></a>::更改采集规则 - 专家更改模式";
$win = new OxWindow();
$win->Init("co_edit_text.php", "js/blank.js", "POST");
$win->AddHidden("job", "yes");
$win->AddHidden("nid", $nid);
$row = $dsql->GetOne("SELECT * FROM `#@__co_note` WHERE nid='$nid' ");
$win->AddTitle("索引与基本信息配置:");
$win->AddMsgItem("<textarea name='listconfig' style='width:100%;height:200px'>{$row['listconfig']}</textarea>");
$win->AddTitle("字段配置:");
$win->AddMsgItem("<textarea name='itemconfig' style='width:100%;height:300px'>{$row['itemconfig']}</textarea>");
$winform = $win->GetWindow("ok");
$win->Display();
exit();
} else {
CheckPurview('co_EditNote');
$query = "UPDATE `#@__co_note` SET listconfig='$listconfig',itemconfig='$itemconfig' WHERE nid='$nid' ";
$rs = $dsql->ExecuteNoneQuery($query);
ShowMsg("成功修改一个规则!", "co_main.php");
exit();
}

+ 0
- 248
src/dede/co_export.php View File

@@ -1,248 +0,0 @@
<?php
/**
* 导出采集规则
*
* @version $Id: co_edit_text.php 1 14:31 2010年7月12日Z tianya $
* @package DedeBIZ.Administrator
* @copyright Copyright (c) 2020, DedeBIZ.COM
* @license https://www.dedebiz.com/license
* @link https://www.dedebiz.com
*/
require_once(dirname(__FILE__) . "/config.php");
CheckPurview('co_Export');
if (empty($dopost)) $dopost = '';
if ($dopost != 'done') {
require_once(DEDEADMIN . "/inc/inc_catalog_options.php");
$totalcc = $channelid = $usemore = 0;
if (!empty($nid)) {
$mrow = $dsql->GetOne("SELECT COUNT(*) AS dd FROM `#@__co_htmls` WHERE nid='$nid' AND isdown='1' ");
$totalcc = $mrow['dd'];
$rrow = $dsql->GetOne("SELECT channelid,usemore FROM `#@__co_note` WHERE nid='$nid' ");
$channelid = $rrow['channelid'];
$usemore = $rrow['usemore'];
} else {
$mrow = $dsql->GetOne("SELECT COUNT(*) AS dd FROM `#@__co_htmls` WHERE isdown='1' ");
$totalcc = $mrow['dd'];
}
include DedeInclude("templets/co_export.htm");
exit();
} else {
require_once(DEDEINC . '/dedecollection.class.php');
$channelid = isset($channelid) && is_numeric($channelid) ? $channelid : 0;
$typeid = isset($typeid) && is_numeric($typeid) ? $typeid : 0;
$pageno = isset($pageno) && is_numeric($pageno) ? $pageno : 1;
$startid = isset($startid) && is_numeric($startid) ? $startid : 0;
$endid = isset($endid) && is_numeric($endid) ? $endid : 0;
if (!isset($makehtml)) $makehtml = 0;
if (!isset($onlytitle)) $onlytitle = 0;
if (!isset($usetitle)) $usetitle = 0;
if (!isset($autotype)) $autotype = 0;
$co = new DedeCollection();
$co->LoadNote($nid);
$orderway = (($co->noteInfos['cosort'] == 'desc' || $co->noteInfos['cosort'] == 'asc') ? $co->noteInfos['cosort'] : 'desc');
if ($channelid == 0 && $typeid == 0) {
ShowMsg('请指定默认导出栏目或频道ID!', 'javascript:;');
exit();
}
if ($channelid == 0) {
$row = $dsql->GetOne("SELECT ch.* FROM `#@__arctype` tp LEFT JOIN `#@__channeltype` ch ON ch.id=tp.channeltype WHERE tp.id='$typeid'; ");
} else {
$row = $dsql->GetOne("SELECT * FROM `#@__channeltype` WHERE id='$channelid'; ");
}
if (!is_array($row)) {
echo "找不到频道内容模型信息,无法完成操作!";
exit();
}
//分析规则,并生成临时的SQL语句
$channelid = $row['id'];
$maintable = $row['maintable'];
$addtable = $row['addtable'];
if (empty($maintable)) $maintable = '#@__archives';
if (empty($addtable)) {
echo "找不主表配置信息,无法完成操作!";
exit();
}
$adminid = $cuserLogin->getUserID();
//微索引表
$indexSqlTemplate = "INSERT INTO `#@__arctiny`(`arcrank`,`typeid`,`channel`,`senddate`,`sortrank`) VALUES ('$arcrank','@typeid@' ,'$channelid','@senddate@', '@sortrank@'); ";
//基本信息主表
$mainSqlTemplate = "INSERT INTO `$maintable`(id,typeid,sortrank,flag,ismake,channel,arcrank,click,money,title,shorttitle,color,writer,source,litpic,pubdate,senddate,mid,description,keywords)
VALUES ('@aid@','@typeid@','@sortrank@','@flag@','0','$channelid','$arcrank','0','0','@title@','','','@writer@','@source@','@litpic@','@pubdate@','@senddate@','$adminid','@description@','@keywords@'); ";
//生成附加表插入的SQL语句
$inadd_f = $inadd_v = '';
$dtp = new DedeTagParse();
$dtp->SetNameSpace('field', '<', '>');
$dtp->LoadString($row['fieldset']);
foreach ($dtp->CTags as $ctag) {
$tname = $ctag->GetTagName();
$inadd_f .= ",`$tname`";
$notsend = $ctag->GetAtt('notsend');
$fieldtype = $ctag->GetAtt('type');
if ($notsend == 1) {
//对不同类型设置默认值
if ($ctag->GetAtt('default') != '') {
$dfvalue = $ctag->GetAtt('default');
} else if ($fieldtype == 'int' || $fieldtype == 'float' || $fieldtype == 'number') {
$dfvalue = '0';
} else if ($fieldtype == 'dtime') {
$dfvalue = time();
} else {
$dfvalue = '';
}
$inadd_v .= ",'$dfvalue'";
} else {
$inadd_v .= ",'@$tname@'";
}
}
$addSqlTemplate = "INSERT INTO `{$addtable}`(`aid`,`typeid`{$inadd_f}) Values('@aid@','@typeid@'{$inadd_v})";
//导出数据的SQL操作
$dtp = new DedeTagParse();
$totalpage = $totalcc / $pagesize;
$startdd = ($pageno - 1) * $pagesize;
if (!empty($nid)) {
$dsql->SetQuery("SELECT * FROM `#@__co_htmls` WHERE nid='$nid' AND isdown='1' ORDER BY aid $orderway LIMIT $startdd,$pagesize");
} else {
$dsql->SetQuery("SELECT * FROM `#@__co_htmls` WHERE isdown='1' ORDER BY aid $orderway LIMIT $startdd,$pagesize");
}
$dsql->Execute();
while ($row = $dsql->GetObject()) {
if (trim($row->result == '')) continue;
//$addSqlTemplate,$mainSqlTemplate,$indexSqlTemplate
$ntypeid = ($autotype == 1 && $row->typeid != 0) ? $row->typeid : $typeid;
$indexSql = str_replace('@typeid@', $ntypeid, $indexSqlTemplate);
$mainSql = str_replace('@typeid@', $ntypeid, $mainSqlTemplate);
$addSql = str_replace('@typeid@', $ntypeid, $addSqlTemplate);
$dtp->LoadString($row->result);
$exid = $row->aid;
if (!is_array($dtp->CTags)) continue;
//获取时间和标题
$pubdate = $sortrank = time();
$title = $row->title;
$litpic = '';
foreach ($dtp->CTags as $ctag) {
$itemName = $ctag->GetAtt('name');
if ($itemName == 'title' && $usetitle == 0) {
$title = trim($ctag->GetInnerText());
if ($title == '') {
$title = $row->title;
}
} else if ($itemName == 'pubdate') {
$pubdate = trim($ctag->GetInnerText());
if (preg_match("#[^0-9]#", $pubdate)) {
$pubdate = $sortrank = GetMkTime($pubdate);
} else {
$pubdate = $sortrank = time();
}
} else if ($itemName == 'litpic') {
$litpic = trim($ctag->GetInnerText());
}
}
//检测重复标题
$title = addslashes($title);
if ($onlytitle) {
$testrow = $dsql->GetOne("SELECT COUNT(ID) AS dd FROM `$maintable` WHERE title LIKE '$title'");
if ($testrow['dd'] > 0) {
echo "数据库已存在标题为: {$title} 的文档,程序阻止了此本条内容导入<br />\r\n";
continue;
}
}
//替换固定的项目
$senddate = time();
$flag = '';
if ($litpic != '') $flag = 'p';
//随机推荐
if ($randcc > 0) {
$rflag = mt_rand(1, $randcc);
if ($rflag == $randcc) {
$flag = ($flag == '' ? 'c' : $flag . ',c');
}
}
$indexSql = str_replace('@senddate@', $senddate, $indexSql);
$indexSql = str_replace('@sortrank@', $sortrank, $indexSql);
$mainSql = str_replace('@flag@', $flag, $mainSql);
$mainSql = str_replace('@sortrank@', $sortrank, $mainSql);
$mainSql = str_replace('@pubdate@', $pubdate, $mainSql);
$mainSql = str_replace('@senddate@', $senddate, $mainSql);
$mainSql = str_replace('@title@', cn_substr($title, $cfg_title_maxlen), $mainSql);
//$mainSql = str_replace('@title@', cn_substr($title, 60), $mainSql); 原来的语句,采集的文章导出到栏目后标题不全
$addSql = str_replace('@sortrank@', $sortrank, $addSql);
$addSql = str_replace('@senddate@', $senddate, $addSql);
//替换模型里的其它字段
foreach ($dtp->CTags as $ctag) {
if ($ctag->GetName() != 'field') {
continue;
}
$itemname = $ctag->GetAtt('name');
$itemvalue = addslashes(trim($ctag->GetInnerText()));
$mainSql = str_replace("@$itemname@", $itemvalue, $mainSql);
$addSql = str_replace("@$itemname@", $itemvalue, $addSql);
}
//插入数据库
$rs = $dsql->ExecuteNoneQuery($indexSql);
if ($rs) {
$aid = $dsql->GetLastID();
$mainSql = str_replace('@aid@', $aid, $mainSql);
$addSql = str_replace('@aid@', $aid, $addSql);
$mainSql = preg_replace("#@([a-z0-9]{1,})@#", '', $mainSql);
$addSql = preg_replace("#@([a-z0-9]{1,})@#", '', $addSql);
$rs = $dsql->ExecuteNoneQuery($mainSql);
if (!$rs) {
echo "导入 '$title' 时错误:" . $dsql->GetError() . "<br />";
$dsql->ExecuteNoneQuery("DELETE FROM `#@__arctiny` WHERE id='$aid' ");
} else {
$rs = $dsql->ExecuteNoneQuery($addSql);
if (!$rs) {
echo "导入 '$title' 时错误:" . $dsql->GetError() . "<br />";
$dsql->ExecuteNoneQuery("DELETE FROM `#@__arctiny` WHERE id='$aid' ");
$dsql->ExecuteNoneQuery("DELETE FROM `$maintable` WHERE id='$aid' ");
}
}
}
$dsql->ExecuteNoneQuery("UPDATE `#@__co_htmls` SET isexport=1 WHERE aid='$exid' ");
}
//检测是否完成或后续操作
if ($totalpage <= $pageno) {
if ($channelid > 0 && $makehtml == 1) {
if ($autotype == 0 && !empty($nid)) {
$mhtml = "makehtml_archives_action.php?typeid=$typeid&startid=$startid&endid=$endid&pagesize=20";
ShowMsg("完成数据导入,准备生成文档HTML...", $mhtml);
exit();
} else {
ShowMsg("完成所有数据导入,请手工更新HTML!", "javascript:;");
exit();
}
} else {
ShowMsg("完成所有数据导入!", "javascript:;");
exit();
}
} else {
if ($totalpage > 0) {
$rs = substr(($pageno / $totalpage * 100), 0, 2);
} else {
$rs = 100;
}
$pageno++;
$gourl = "co_export.php?dopost=done&nid=$nid&totalcc=$totalcc&channelid=$channelid&pageno=$pageno";
$gourl .= "&nid=$nid&typeid=$typeid&autotype=$autotype&arcrank=$arcrank&pagesize=$pagesize&randcc=$randcc";
$gourl .= "&startid=$startid&endid=$endid&onlytitle=$onlytitle&usetitle=$usetitle&makehtml=$makehtml";
ShowMsg("完成 {$rs}% 导入,继续执行操作...", $gourl, '', 500);
exit();
}
}

+ 0
- 34
src/dede/co_export_corule.php View File

@@ -1,34 +0,0 @@
<?php
/**
* 导出采集规则
* 统一转换为unicode编码然后再base64加密
*
* @version $Id: co_export_corule.php 1 14:31 2010年7月12日Z tianya $
* @package DedeBIZ.Administrator
* @copyright Copyright (c) 2020, DedeBIZ.COM
* @license https://www.dedebiz.com/license
* @link https://www.dedebiz.com
*/
require(dirname(__FILE__)."/config.php");
CheckPurview('co_EditNote');
require_once(DEDEINC."/oxwindow.class.php");
$nid = preg_replace('/[^0-9]/','',$nid);
$row = $dsql->GetOne("Select * From `#@__co_note` where nid='$nid'");
$noteconfig = "{dede:listconfig}\r\n".$row['listconfig']."\r\n{/dede:listconfig}\r\n\r\n";
$noteconfig .= "{dede:itemconfig}\r\n".$row['itemconfig']."\r\n{/dede:itemconfig}";
if(empty($extype) || $extype=='base64')
{
$noteconfig = "BASE64:".base64_encode($noteconfig).":END";
$exmsg = " &nbsp; <a href='co_export_corule.php?nid={$nid}&extype=text'>【导出为普通格式】</a> ";
}
else
{
$exmsg = " &nbsp; <a href='co_export_corule.php?nid={$nid}&extype=base64'>【导出为Base64格式】</a> ";
}
$wintitle = "导出采集规则";
$wecome_info = "<a href='co_main.php'><u>采集节点管理</u></a>::导出采集规则 $exmsg";
$win = new OxWindow();
$win->Init();
$win->AddTitle("以下为规则 [{$row['notename']}] 的文本配置,你可以共享给你的朋友:");
$winform = $win->GetWindow("hand","<textarea name='config' style='width:100%;height:450px;word-wrap: break-word;word-break:break-all;'>".$noteconfig."</textarea>");
$win->Display();

+ 0
- 31
src/dede/co_gather_start.php View File

@@ -1,31 +0,0 @@
<?php
/**
* 采集指定节点
*
* @version $Id: co_gather_start.php$
* @package DedeBIZ.Administrator
* @copyright Copyright (c) 2020, DedeBIZ.COM
* @license https://www.dedebiz.com/license
* @link https://www.dedebiz.com
*/
require_once(dirname(__FILE__) . "/config.php");
require_once(DEDEINC . "/dedecollection.class.php");
if (!empty($nid)) {
$ntitle = '采集指定节点:';
$nid = intval($nid);
$co = new DedeCollection();
$co->LoadNote($nid);
$row = $dsql->GetOne("SELECT COUNT(aid) AS dd FROM `#@__co_htmls` WHERE nid='$nid'; ");
if ($row['dd'] == 0) {
$unum = "没有记录或从来没有采集过这个节点!";
} else {
$unum = "共有 {$row['dd']} 个历史种子网址!<a href='javascript:SubmitNew();'>[<u>更新种子网址,并采集</u>]</a>";
}
} else {
$nid = "";
$row['dd'] = "";
$ntitle = '监控式采集:';
$unum = "没指定采集节点,将使用检测新内容采集模式!";
}
include DedeInclude('templets/co_gather_start.htm');

+ 0
- 71
src/dede/co_gather_start_action.php View File

@@ -1,71 +0,0 @@
<?php
/**
* 开始采集指定节点操作
*
* @version $Id: co_gather_start_action.php$
* @package DedeBIZ.Administrator
* @copyright Copyright (c) 2020, DedeBIZ.COM
* @license https://www.dedebiz.com/license
* @link https://www.dedebiz.com
*/
require_once(dirname(__FILE__) . "/config.php");
CheckPurview('co_PlayNote');
require_once(DEDEINC . '/dedecollection.class.php');
if ($totalnum == 0) {
ShowMsg('获取到的网址为零:可能是规则不对或没发现新内容!', 'javascript:;');
exit();
}
if (!isset($oldstart)) $oldstart = $startdd;
if (empty($notckpic)) $notckpic = 0;
if ($totalnum > $startdd + $pagesize) $limitSql = " LIMIT $startdd,$pagesize ";
else $limitSql = " LIMIT $startdd," . ($totalnum - $startdd);
if ($totalnum - $startdd < 1) {
if (empty($nid)) {
$dsql->ExecuteNoneQuery("UPDATE `#@__co_note` SET cotime='" . time() . "'; ");
} else {
$dsql->ExecuteNoneQuery("UPDATE `#@__co_note` SET cotime='" . time() . "' WHERE nid='$nid'; ");
}
ShowMsg('完成当前下载任务!', 'javascript:;');
exit();
}
$co = new DedeCollection();
if (!empty($nid)) $co->LoadNote($nid);
//没指定采集ID时下载所有内容
if (!empty($nid)) {
$dsql->SetQuery("SELECT aid,nid,url,isdown,litpic FROM `#@__co_htmls` WHERE nid=$nid $limitSql ");
} else {
$dsql->SetQuery("SELECT aid,nid,url,isdown,litpic FROM `#@__co_htmls` $limitSql ");
}
$dsql->Execute(99);
$tjnum = $startdd;
while ($row = $dsql->GetObject(99)) {
if ($row->isdown == 0) {
if (empty($nid)) $co->LoadNote($row->nid);
$co->DownUrl($row->aid, $row->url, $row->litpic);
}
$tjnum++;
if ($sptime > 0) sleep($sptime);
}
if ($totalnum - $oldstart != 0) {
$tjlen = ceil((($tjnum - $oldstart) / ($totalnum - $oldstart)) * 100);
$dvlen = $tjlen * 2;
$tjsta = "<div style='width:200;height:15;border:1px solid #898989;text-align:left'><div style='width:$dvlen;height:15;background-color:#829D83'></div></div>";
$tjsta .= "<br/>完成当前任务的:$tjlen %,继续执行任务...";
}
if ($tjnum < $totalnum) {
ShowMsg($tjsta, "co_gather_start_action.php?notckpic=$notckpic&sptime=$sptime&nid=$nid&oldstart=$oldstart&totalnum=$totalnum&startdd=" . ($startdd + $pagesize) . "&pagesize=$pagesize", "", 0);
exit();
} else {
if (empty($nid)) {
$dsql->ExecuteNoneQuery("UPDATE `#@__co_note` SET cotime='" . time() . "'; ");
} else {
$dsql->ExecuteNoneQuery("UPDATE `#@__co_note` SET cotime='" . time() . "' WHERE nid='$nid'; ");
}
ShowMsg("完成当前下载任务!", "javascript:;");
exit();
}

+ 0
- 99
src/dede/co_get_corule.php View File

@@ -1,99 +0,0 @@
<?php
/**
* 导入采集规则
*
* @version $Id: co_get_corule.php 1 17:13 2010年7月12日Z tianya $
* @package DedeBIZ.Administrator
* @copyright Copyright (c) 2020, DedeBIZ.COM
* @license https://www.dedebiz.com/license
* @link https://www.dedebiz.com
*/
require(dirname(__FILE__)."/config.php");
CheckPurview('co_AddNote');
if(empty($job))
{
$job='';
}
if($job=='')
{
require_once(DEDEINC."/../include/oxwindow.class.php");
$wintitle = "导入采集规则";
$wecome_info = "<a href='co_main.php'><u>采集点管理</u></a>::导入采集规则";
$win = new OxWindow();
$win->Init("co_get_corule.php","js/blank.js","POST");
$win->AddHidden("job","yes");
$win->AddTitle("请在下面输入你要导入的文本配置:(建议用base64编码[支持不编码的规则,但不兼容旧版规则])");
$win->AddMsgItem("<textarea name='notes' style='width:100%;height:300px'></textarea>");
$winform = $win->GetWindow("ok");
$win->Display();
exit();
}
else
{
CheckPurview('co_AddNote');
require_once(DEDEINC."/dedetag.class.php");
$notes = trim($notes);
//对Base64格式的规则进行解码
if(ereg('^BASE64:',$notes))
{
if(!ereg(':END$',$notes))
{
ShowMsg('该规则不合法,Base64格式的采集规则为:BASE64:base64编码后的配置:END !','-1');
exit();
}
$notess = explode(':',$notes);
$notes = $notess[1];
$notes = base64_decode(ereg_replace("[\r\n\t ]",'',$notes)) OR die('配置字符串有错误!');
}
else
{
$notes = stripslashes($notes);
}
$dtp = new DedeTagParse();
$dtp->LoadString($notes);
if(!is_array($dtp->CTags))
{
ShowMsg('该规则不合法,无法导入!','-1');
exit();
}
$ctag1 = $dtp->GetTagByName('listconfig');
$ctag2 = $dtp->GetTagByName('itemconfig');
$listconfig = $ctag1->GetInnerText();
$itemconfig = addslashes($ctag2->GetInnerText());
$dtp->LoadString($listconfig);
$listconfig = addslashes($listconfig);
$noteinfo = $dtp->GetTagByName('noteinfo');
if(!is_object($noteinfo))
{
ShowMsg("该规则不合法,无法导入!","-1");
exit();
}
foreach($noteinfo->CAttribute->Items as $k=>$v)
{
$$k = addslashes($v);
}
$uptime = time();
if(empty($freq))
{
$freq = 1;
}
if(empty($extypeid))
{
$extypeid = 0;
}
if(empty($islisten))
{
$islisten = 0;
}
$inquery = " INSERT INTO `#@__co_note`(`channelid`,`notename`,`sourcelang`,`uptime`,`cotime`,`pnum`,`isok`,`usemore`,`listconfig`,`itemconfig`)
VALUES ('$channelid','$notename','$sourcelang','$uptime','0','0','0','$usemore','$listconfig','$itemconfig'); ";
$rs = $dsql->ExecuteNoneQuery($inquery);
if(!$rs)
{
ShowMsg("保存信息时出现错误!".$dsql->GetError(),"-1");
exit();
}
ShowMsg("成功导入一个规则!","co_main.php");
exit();
}

+ 0
- 98
src/dede/co_getsource_url_action.php View File

@@ -1,98 +0,0 @@
<?php
/**
* 下载种子网址中未下载内容模式
*
* @version $Id: co_get_corule.php 1 17:13 2010年7月12日Z tianya $
* @package DedeBIZ.Administrator
* @copyright Copyright (c) 2020, DedeBIZ.COM
* @license https://www.dedebiz.com/license
* @link https://www.dedebiz.com
*/
require_once(dirname(__FILE__) . "/config.php");
CheckPurview('co_PlayNote');
require_once(DEDEINC . '/dedecollection.class.php');
if (empty($islisten)) $islisten = 0;
if (empty($glstart)) $glstart = 0;
if (empty($totalnum)) $totalnum = 0;
if (empty($notckpic)) $notckpic = 0;
$nid = (isset($nid) ? intval($nid) : 0);
//下载种子网址中未下载内容模式
/*-----------------------------
function Download_not_down() { }
------------------------------*/
if ($islisten == 0) {
$mrow = $dsql->GetOne("SELECT COUNT(*) AS dd FROM `#@__co_htmls` WHERE nid='$nid' ");
$totalnum = $mrow['dd'];
$gurl = "co_gather_start_action.php?notckpic=$notckpic&islisten=$islisten&nid=$nid&startdd=$startdd&pagesize=$pagesize&sptime=$sptime";
if ($totalnum <= 0) {
ShowMsg("你指定的模式为:<font color='red'>[下载种子网址中未下载内容]</font>,<br />使用这个模式节点必须已经有种子网址,否则请使用其它模式!", "javascript:;");
exit();
} else {
ShowMsg("检测节点正常,现转向网页采集...", $gurl . "&totalnum=$totalnum");
exit();
}
}
//监控式采集(检测新内容)
/*-----------------------------
function Download_new() { }
------------------------------*/ else if ($islisten == 1) {
$gurl = "co_gather_start_action.php?notckpic=$notckpic&islisten=1&nid=$nid&startdd=$startdd&pagesize=$pagesize&sptime=$sptime";
$gurlList = "co_getsource_url_action.php?islisten=1&nid=0&pagesize=$pagesize&sptime=$sptime";
//针对专门节点
if (!empty($nid)) {
$co = new DedeCollection();
$co->LoadNote($nid);
$limitList = $co->GetSourceUrl(1, 0, 100);
$row = $co->dsql->GetOne("SELECT COUNT(aid) AS dd FROM `#@__co_htmls` WHERE nid='$nid' ");
$totalnum = $row['dd'];
if ($totalnum == 0) {
ShowMsg("在这节点中没发现有新内容....", "javascript:;");
exit();
} else {
ShowMsg("已获得所有种子网址,转向网页采集...", $gurl . "&totalnum=$totalnum");
exit();
}
}
//针对所有节点
else {
$curpos = (isset($curpos) ? intval($curpos) : 0);
$row = $dsql->GetOne("SELECT nid FROM `#@__co_note` ORDER BY nid ASC LIMIT $curpos,1");
$nnid = $row['nid'];
if (!is_array($row)) {
ShowMsg("完成所有节点检测....", "co_gather_start_action.php?notckpic=0&sptime=0&nid=0&startdd=0&pagesize=5&totalnum=" . $totalnum);
exit();
} else {
$co = new DedeCollection();
$co->LoadNote($nnid);
$limitList = $co->GetSourceUrl(1, 0, 100);
$curpos++;
ShowMsg("已检测节点( {$nnid} ),继续下一个节点...", $gurlList . "&curpos=$curpos");
exit();
}
}
}
//重新下载所有内容模式
/*-----------------------------
function Download_all() { }
------------------------------*/ else {
$gurl = "co_gather_start_action.php?notckpic=$notckpic&islisten=$islisten&nid=$nid&startdd=$startdd&pagesize=$pagesize&sptime=$sptime";
$gurlList = "co_getsource_url_action.php?islisten=$islisten&nid=$nid&startdd=$startdd&pagesize=$pagesize&sptime=$sptime";
$co = new DedeCollection();
$co->LoadNote($nid);
$limitList = $co->GetSourceUrl($islisten, $glstart, $pagesize);
if ($limitList == 0) {
$row = $co->dsql->GetOne("SELECT COUNT(aid) AS dd FROM `#@__co_htmls` WHERE nid='$nid'");
$totalnum = $row['dd'];
ShowMsg("已获得所有种子网址,转向网页采集...", $gurl . "&totalnum=$totalnum");
exit();
}
if ($limitList > 0) {
ShowMsg("采集列表剩余:{$limitList} 个页面,继续采集...", $gurlList . "&glstart=" . ($glstart + $pagesize), 0, 100);
exit();
}
}

+ 0
- 32
src/dede/co_main.php View File

@@ -1,32 +0,0 @@
<?php
/**
* 采集规则管理
*
* @version $Id: co_main.php 1 17:13 2010年7月12日Z tianya $
* @package DedeBIZ.Administrator
* @copyright Copyright (c) 2020, DedeBIZ.COM
* @license https://www.dedebiz.com/license
* @link https://www.dedebiz.com
*/
require_once(dirname(__FILE__) . "/config.php");
require_once(DEDEINC . "/datalistcp.class.php");
setcookie("ENV_GOBACK_URL", $dedeNowurl, time() + 3600, "/");
$sql = "SELECT co.nid,co.channelid,co.notename,co.sourcelang,co.uptime,co.cotime,co.pnum,ch.typename";
$sql .= " FROM `#@__co_note` co LEFT JOIN `#@__channeltype` ch ON ch.id=co.channelid ORDER BY co.nid DESC";
$dlist = new DataListCP();
$dlist->SetTemplet(DEDEADMIN . "/templets/co_main.htm");
$dlist->SetSource($sql);
$dlist->display();
function GetDatePage($mktime)
{
return $mktime == '0' ? '从未采集过' : MyDate('Y-m-d', $mktime);
}
function TjUrlNum($nid)
{
global $dsql;
$row = $dsql->GetOne("SELECT COUNT(*) AS dd FROM `#@__co_htmls` WHERE nid='$nid' ");
return $row['dd'];
}

+ 0
- 18
src/dede/co_test_rule.php View File

@@ -1,18 +0,0 @@
<?php
/**
* 采集规则测试
*
* @version $Id: co_test_rule.php 1 17:13 2010年7月12日Z tianya $
* @package DedeBIZ.Administrator
* @copyright Copyright (c) 2020, DedeBIZ.COM
* @license https://www.dedebiz.com/license
* @link https://www.dedebiz.com
*/
require_once(dirname(__FILE__) . "/config.php");
require_once(DEDEINC . "/dedecollection.class.php");
$nid = intval($nid);
$co = new DedeCollection();
$co->LoadNote($nid);
include DedeInclude('templets/co_test_rule.htm');
exit();

+ 0
- 57
src/dede/co_url.php View File

@@ -1,57 +0,0 @@
<?php
/**
* 采集地址
*
* @version $Id: co_url.php 1 14:31 2010年7月12日Z tianya $
* @package DedeBIZ.Administrator
* @copyright Copyright (c) 2020, DedeBIZ.COM
* @license https://www.dedebiz.com/license
* @link https://www.dedebiz.com
*/
require_once(dirname(__FILE__) . "/config.php");
require_once(DEDEINC . "/datalistcp.class.php");
setcookie("ENV_GOBACK_URL", $dedeNowurl, time() + 3600, "/");
$where = "";
if (!isset($nid)) $nid = "";
if (!empty($nid)) $where = " where cu.nid='$nid' ";
if (empty($small)) $small = 0;
if ($nid != '') {
$exportbt = "
<input type='button' name='b0' value='导出内容' class='coolbg np'
style='width:80px' onClick=\"location.href='co_export.php?nid=$nid';\" />
<input type='button' name='b0' value='采集本节点' class='coolbg np'
style='width:80px' onClick=\"location.href='co_gather_start.php?nid=$nid';\" />
";
} else {
$exportbt = "";
}
$sql = "SELECT cu.aid,cu.nid,cu.isexport AS isex,cu.title,cu.url,cu.dtime,cu.isdown,cn.notename,tp.typename FROM `#@__co_htmls` cu
LEFT JOIN `#@__co_note` cn ON cn.nid=cu.nid
LEFT JOIN `#@__arctype` tp ON tp.id=cu.typeid
$where ORDER BY cu.aid DESC";
$dlist = new DataListCP();
$dlist->SetParameter("nid", $nid);
$dlist->SetParameter("small", $small);
if ($small == 0) {
$dlist->SetTemplate(DEDEADMIN . "/templets/co_url.htm");
} else {
$dlist->SetTemplate(DEDEADMIN . "/templets/co_url_2.htm");
}
$dlist->SetSource($sql);
$dlist->display();
function IsDownLoad($isd)
{
if ($isd == "0") return "未下载";
else return "已下载";
}
function IsExData($isex)
{
if ($isex == 0) return "未导出";
else return "已导出";
}

+ 0
- 56
src/dede/co_view.php View File

@@ -1,56 +0,0 @@
<?php
/**
* @version $Id: co_url.php 1 14:31 2010年7月12日Z tianya $
* @package DedeBIZ.Administrator
* @copyright Copyright (c) 2020, DedeBIZ.COM
* @license https://www.dedebiz.com/license
* @link https://www.dedebiz.com
*/
require_once(dirname(__FILE__) . "/config.php");
require_once(DEDEINC . "/dedecollection.class.php");
$backurl = isset($_COOKIE['ENV_GOBACK_URL']) ? $_COOKIE['ENV_GOBACK_URL'] : "co_url.php";
if (empty($action)) $action = '';
if ($aid == '') {
ShowMsg('参数无效!', '-1');
exit();
}
//保存更改
if ($action == "save") {
$result = '';
for ($i = 0; $i < $endid; $i++) {
$result .= "{dede:field name=\\'" . ${"noteid_$i"} . "\\'}" . ${"value_$i"} . "{/dede:field}\r\n";
}
$dsql->ExecuteNoneQuery("UPDATE `#@__co_htmls` SET result='$result' WHERE aid='$aid'; ");
ShowMsg("成功保存一条记录!", $backurl);
exit();
}
$dsql->SetSql("SELECT * FROM `#@__co_htmls` WHERE aid='$aid'");
$dsql->Execute();
$row = $dsql->GetObject();
$isdown = $row->isdown;
$nid = $row->nid;
$url = $row->url;
$dtime = $row->dtime;
$body = $row->result;
$litpic = $row->litpic;
$fields = array();
if ($isdown == 0) {
$co = new DedeCollection();
$co->LoadNote($nid);
$co->DownUrl($aid, $url, $litpic);
$co->dsql->SetSql("SELECT * FROM `#@__co_htmls` WHERE aid='$aid'");
$co->dsql->Execute();
$row = $co->dsql->GetObject();
$isdown = $row->isdown;
$nid = $row->nid;
$url = $row->url;
$dtime = $row->dtime;
$body = $row->result;
$litpic = $row->litpic;
}
$dtp = new DedeTagParse();
$dtp->SetNameSpace("dede", "{", "}");
$dtp->LoadString($body);
include DedeInclude('templets/co_view.htm');

+ 0
- 13
src/dede/inc/grouplist.txt View File

@@ -42,19 +42,6 @@
>a_MyCheck>审核我发布的文档
>a_Recycling>管理回收站
>>采集管理
>co_NewRule>管理数据规则模型
>co_Switch>导入外部数据
>co_AddNote>增加采集节点
>co_EditNote>修改采集节点
>co_PlayNote>采集数据
>co_ListNote>列出采集节点
>co_ViewNote>管理已下载内容
>co_Export>采集内容入库
>co_Del>删除采集节点
>co_GetOut>导入离线数据
>>模板管理
>temp_All>管理所有模板


+ 0
- 43
src/dede/inc/inc_action_info.php View File

@@ -461,46 +461,3 @@ $actionSearch[10] = array(
),
)
);
$actionSearch[11] = array(
'toptitle' => '采集',
'title' => '采集管理',
'description' => '内容采集管理操作',
'soniterm' => array(
0 => array(
'title' => '采集节点管理 ',
'description' => '单个采集节点的管理页面,可以添加采集,导入,导出采集节点等',
'purview' => 'co_ListNote',
'linkurl' => 'co_main.php'
),
1 => array(
'title' => '临时内容管理 ',
'description' => '采集的临时内容存放处',
'purview' => 'co_ViewNote',
'linkurl' => 'co_url.php'
),
2 => array(
'title' => '导入采集规则',
'description' => '导入采集的规则',
'purview' => 'co_GetOut',
'linkurl' => 'co_get_corule.php'
),
3 => array(
'title' => '智能标记向导',
'description' => '可以根据需要生成相应的调用标签',
'purview' => 'temp_Other',
'linkurl' => 'mytag_tag_guide.php'
),
4 => array(
'title' => '监控采集模式 ',
'description' => '监控采集模式',
'purview' => 'co_GetOut',
'linkurl' => 'co_gather_start.php'
),
5 => array(
'title' => '采集未下载内容 ',
'description' => '采集没有下载完成的内容',
'purview' => 'co_GetOut',
'linkurl' => 'co_do.php?dopost=coall'
),
)
);

+ 0
- 8
src/dede/inc/inc_menu.php View File

@@ -108,14 +108,6 @@ $menusMain = "
$adminMenu1
<m:top item='3_' name='采集管理' display='none' rank='co_NewRule,co_ListNote,co_ViewNote,co_Switch,co_GetOut'>
<m:item name='采集节点管理' link='co_main.php' rank='co_ListNote' target='main' />
<m:item name='临时内容管理' link='co_url.php' rank='co_ViewNote' target='main' />
<m:item name='导入采集规则' link='co_get_corule.php' rank='co_GetOut' target='main'/>
<m:item name='监控采集模式' link='co_gather_start.php' rank='co_GetOut' target='main'/>
<m:item name='采集未下载内容' link='co_do.php?dopost=coall' rank='co_GetOut' target='main'/>
</m:top>
<m:top item='1_3_3' name='批量维护' display='block'>
<m:item name='更新系统缓存' link='sys_cache_up.php' rank='sys_ArcBatch' target='main' />
<m:item name='文档批量维护' link='content_batch_up.php' rank='sys_ArcBatch' target='main' />


+ 0
- 8
src/dede/inc/inc_menu_map.php View File

@@ -60,14 +60,6 @@ $menusMain = "
<m:item name='自定义表单' link='diy_main.php' rank='c_List' target='main' />
</m:top>
<m:top mapitem='3' item='3_' name='采集管理' display='none' rank='co_NewRule,co_ListNote,co_ViewNote,co_Switch,co_GetOut'>
<m:item name='采集节点管理' link='co_main.php' rank='co_ListNote' target='main' />
<m:item name='临时内容管理' link='co_url.php' rank='co_ViewNote' target='main' />
<m:item name='导入采集规则' link='co_get_corule.php' rank='co_GetOut' target='main'/>
<m:item name='监控采集模式' link='co_gather_start.php' rank='co_GetOut' target='main'/>
<m:item name='采集未下载内容' link='co_do.php?dopost=coall' rank='co_GetOut' target='main'/>
</m:top>
<m:top mapitem='3' item='1_3_3' name='批量维护' display='block'>
<m:item name='更新系统缓存' link='sys_cache_up.php' rank='sys_ArcBatch' target='main' />
<m:item name='文档批量维护' link='content_batch_up.php' rank='sys_ArcBatch' target='main' />


+ 0
- 38
src/dede/templets/co_add_step0.htm View File

@@ -1,38 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo $cfg_soft_lang; ?>">
<title>选择内容模型</title>
<link href="css/base.css" rel="stylesheet" type="text/css">
</head>
<body background='images/allbg.gif' leftmargin='8' topmargin='8'>
<table width="98%" border="0" cellpadding="3" cellspacing="1" bgcolor="#D6D6D6" align="center">
<form name="form1" action="co_add.php" method="get">
<input type='hidden' name='step' value='1' />
<tr>
<td width="100%" height="28" colspan="3" background='images/tbg.gif' style="padding-left:10px;"><strong>选择内容模型</strong>
</td>
</tr>
<tr>
<td height="34" colspan="3" bgcolor="#FFFFFF">
<select name="channelid" id="channelid" style="width:250px">
<?php
$dsql->SetQuery("Select id,typename From `#@__channeltype` where id in(1,2) order by id asc ");
$dsql->Execute();
while($row = $dsql->GetObject())
{
echo "<option value='{$row->id}'>{$row->typename}</option>\r\n";
}
?>
</select>
</td>
</tr>
<tr>
<td height="24" colspan="3" bgcolor="#F9FCEF">
<input name="imageField" class="np" type="image" src="images/button_ok.gif" width="60" height="22" border="0">
</td>
</tr>
</form>
</table>
</body>
</html>

+ 0
- 270
src/dede/templets/co_add_step1.htm View File

@@ -1,270 +0,0 @@
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo $cfg_soft_lang; ?>">
<title>新增采集节点</title>
<link href="css/base.css" rel="stylesheet" type="text/css" />
<script language="javascript" type="text/javascript" src="js/co.js"></script>
<style type="text/css">
<!--
.STYLE2 {
color: #666666
}
-->
</style>
</head>
<body>
<div class="bodytitle" style="width:98%">
<div class="bodytitleleft"></div>
<div class="bodytitletxt" style="padding-left:10px;"><b>新增采集节点:第一步设置基本信息及网址索引页规则</b></div>
<div style='float:right;padding-right:6px;padding-top:3px'>
<input type="button" name="b" value="返回节点管理页" class="coolbg np" style="width:110px;height:20px;"
onclick="location.href='co_main.php';" />
</div>
</div>
<form name="form1" method="post" action="co_add.php">
<input type='hidden' name='channelid' value='<?php echo $channelid; ?>' />
<input type='hidden' name='step' value='2' />
<input type='hidden' name='dopost' value='test' />
<table width="98%" border="0" cellpadding="3" cellspacing="1" bgcolor="#D6D6D6" align="center">
<tr>
<td background="images/tbg.gif" bgcolor="#F2F6E5">
<table width="400" border="0" cellspacing="0" cellpadding="0">
<tr class="top" onClick="showHide('sitem');" style="cursor:pointer">
<td width="26" align="center"><img src="images/file_tt.gif" width="7" height="8"></td>
<td width="374"><b>节点基本信息</b><a name="d1"></a></td>
</tr>
</table>
</td>
</tr>
<tr id="sitem">
<td bgcolor="#FFFFFF" width="100%">
<table width="100%" border="0" cellpadding="2" cellspacing="2">
<tr>
<td width="18%" height="24">节点名称:</td>
<td width="32%"><input name="notename" type="text" id="notename" style="width:250px" /></td>
<td width="18%">目标页面编码:</td>
<td width="32%">
<input type="radio" name="sourcelang" id='language1' class="np" value="gb2312" checked='1' />
GB2312
<input type="radio" name="sourcelang" id='language2' class="np" value="utf-8" />
UTF8
<input type="radio" name="sourcelang" id='language3' class="np" value="big5" />
BIG5
</td>
</tr>
<tr>
<td height="24">区域匹配模式:</td>
<td>
<input type="radio" class="np" name="macthtype" value="regex" />
正则表达式
<input name="macthtype" class="np" type="radio" value="string" checked='1' />
字符串
</td>
<td>内容导入顺序:</td>
<td>
<input type="radio" name="cosort" id="cosort1" value="asc" class='np' checked='1' />
与目标站一致
<input type="radio" name="cosort" id="cosort2" class='np' value="desc" />
与目标站相反
</td>
</tr>
<tr>
<td height="24" colspan="4" bgcolor="#FBFCE2"><img src="images/file_tt.gif" width="7"
height="8" />以下选项仅在开启防盗链模式才需设定,如果目标网站没有防盗链功能请不要开启,否则会降低采集速度。</td>
</tr>
<tr>
<td height="24">防盗链模式:</td>
<td>
<input name="isref" type="radio" class="np" value="no" checked='1' />
不开启
<input name="isref" type="radio" class="np" value="yes" />
开启
</td>
<td>资源下载超时时间:</td>
<td>
<input name="exptime" type="text" id="exptime" value="10" size="3" />秒
</td>
</tr>
<tr>
<td height="24">引用网址:</td>
<td colspan="3">
<input name="refurl" type="text" id="refurl" value="http://" size="30" style='width:250px' />
(一般为目标网站其中一个文章页的网址)
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td background="images/tbg.gif" bgcolor="#F2F6E5">
<table width="400" border="0" cellspacing="0" cellpadding="0">
<tr class="top" onClick="showHide('slist');" style="cursor:pointer">
<td width="26" align="center"><img src="images/file_tt.gif" width="7" height="8"></td>
<td width="374"><b>列表网址获取规则</b></td>
</tr>
</table>
</td>
</tr>
<tr id="slist">
<td bgcolor="#FFFFFF">
<table width="100%" border="0">
<tr>
<td width="18%" height="24">来源属性:</td>
<td>
<input type="radio" name="sourcetype" id="source1" class='np' onclick="selSourceSet()" value="batch"
checked="checked" />
批量生成列表网址
<input type="radio" name="sourcetype" id="source2" class='np' onclick="selSourceSet()" value="hand" />
手工指定列表网址
<input type="radio" name="sourcetype" id="source3" class='np' onclick="selSourceSet()" value="rss" />
从RSS中获取
</td>
</tr>
<tr bgcolor="#F7FCB4" id="rssset" style="display:none">
<td height="24" bgcolor="#F4FCCB">RSS网址:</td>
<td bgcolor="#F4FCCB">
<input type="text" name="rssurl" id="rssurl" style="width:350px" value="http://" />
<input type="button" name="btv2" id="btv2" value="测试" onclick="testRss()" />
</td>
</tr>
<tr bgcolor="#FBFCE2" id="batchset">
<td height="77">批量生成地址设置:</td>
<td>
<table width="90%">
<tr>
<td width="100%" colspan="2">
匹配网址:
<input type="text" name="regxurl" id="regxurl" style="width:350px" value="http://" />
<input type="button" name="btv1" id="btv1" value="测试" onclick="testRegx()" />
</td>
</tr>
<tr>
<td colspan="2">
<span
class="STYLE2">(如:http://wwws.dedebiz.com/html/test/list_(*).html,如果不能匹配所有网址,可以在手工指定网址的地方输入要追加的网址)
</span> </td>
</tr>
<tr>
<td colspan="2">
(*)从
<input type="text" name="startid" id="startid" style="width:30px" value="1" />
<input type="text" name="endid" id="endid" style="width:30px" value="" />
(页码或规律数字)&nbsp;
每页递增:
<input type="text" name="addv" id="addv" style="width:30px" value="1" />
<input type="checkbox" name="usemore" id="usemore" class="np" value="1" onClick="testMore()" />
启用多栏目通配(#)
</td>
</tr>
</table>
</td>
</tr>
<tr id='handset'>
<td height="171">手工指定网址:<br />
<span class="STYLE2">在指定了通配规则后有些不能匹配的网址也可以在这里指定。</span><br /></td>
<td><textarea name="addurls" id="addurls" cols="45" rows="5" style="width:80%;height:160px"></textarea>
</td>
</tr>
<tr id='usemoretr' style="display:none">
<td height="171">多栏目通配规则:<br />
<span class="STYLE2">
如果目标网站使用单一模板,可以在匹配网址中用"(#)"表示近似网址的差异,然后在通配规则中设定集合,并且可以指定导出栏目。
</span>
<br />
</td>
<td>
<textarea name="batchrule" id="batchrule" cols="45" rows="5" style="width:80%;height:160px"></textarea>
<br /><span style='color:#666666'>格式为:“[(#)=通配字符串; (*)=num-num; typeid=num]换行”
<br />例如:[(#)=>labs/list_3; (*)=>1-25; typeid=>7] 匹配网址:http://www.aaa.com/(#)_(*).html</span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td background="images/tbg.gif" bgcolor="#F2F6E5">
<table width="400" border="0" cellspacing="0" cellpadding="0">
<tr class="top" onClick="showHide('arturl');" style="cursor:pointer">
<td width="26" align="center"><img src="images/file_tt.gif" width="7" height="8"></td>
<td width="374"><b>文章网址匹配规则</b></td>
</tr>
</table>
</td>
</tr>
<tr id="arturl">
<td height="76" valign="top" bgcolor="#FFFFFF">
<table width="100%">
<!-- //使用与正则匹配链接模式不大稳定,也不适合初级用户,暂时作为保留项 -->
<tr style='display:none'>
<td width="18%">内容网址匹配模式:</td>
<td width="82%">
<input name="urlrule" type="radio" class="np" id="urlrule1" value="area" onclick="selUrlRuleSet()"
checked="checked" />
指定包含有文章网址的区域(可以获取区域的网址、标题、图片等信息)
<input type="radio" name="urlrule" id="urlrule2" value="regx" onclick="selUrlRuleSet()" class="np" />
指定网址正则表达式(仅能获得网址信息) </td>
</tr>
<tr id="regxruletr" style='display:none'>
<td height="84">网址的正则表达式:</td>
<td><textarea name="regxrule" id="regxrule" cols="45" rows="5" style="width:80%;height:60px"></textarea>
</td>
</tr>
<tr id="arearuletr">
<td height="84">包含有文章网址的区域设置:</td>
<td>
<table width="90%">
<tr>
<td width="22%" align="center">区域开始的HTML:</td>
<td width="78%">
<textarea name="areastart" id="areastart" cols="45" rows="5"
style="width:80%;height:60px"></textarea>
</td>
</tr>
<tr>
<td align="center">区域结束的HTML:</td>
<td>
<textarea name="areaend" id="areaend" cols="45" rows="5" style="width:80%;height:60px"></textarea>
</td>
</tr>
<tr>
<td align="center">如果链接中含有图片:</td>
<td>
<input name="listpic" type="radio" class='np' id="listpic1" value="0" />
不处理
<input type="radio" name="listpic" id="listpic2" class='np' value="1" checked="checked" />
采集为缩略图
</td>
</tr>
<tr>
<td rowspan="2" align="center">对区域网址进行再次筛选:<br />
(使用正则表达式)</td>
<td>必须包含:
<input type="text" name="musthas" id="musthas" style="width:280px" />
(优先级高于后者)</td>
</tr>
<tr>
<td>不能包含:
<input type="text" name="nothas" id="nothas" style="width:280px" /></td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td height="94" align="center" bgcolor="#FFFFFF">&nbsp;
<input type="submit" name="b12" value="保存信息并进入下一步设置" class="coolbg np" style="width:200px" /> </td>
</tr>
</table>
</form>
</body>
</html>

+ 0
- 77
src/dede/templets/co_add_step1_test.htm View File

@@ -1,77 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo $cfg_soft_lang; ?>">
<title>采集节点测试</title>
<link href="css/base.css" rel="stylesheet" type="text/css" />
<script language="javascript" type="text/javascript" src="js/co.js"></script>
<style type="text/css">
<!--
.STYLE2 {color: #666666}
-->
</style>
</head>
<body>
<div class="bodytitle" style="width:98%">
<div class="bodytitleleft"></div>
<div class="bodytitletxt" style="padding-left:10px;"><b>新增采集节点:测试基本信息及网址索引页规则设置</b></div>
<div style='float:right;padding-right:6px;padding-top:3px'>
<input type="button" name="b" value="返回节点管理页" class="coolbg np" style="width:110px;height:20px;" onclick="location.href='co_main.php';" />
</div>
</div>
<form name="form1" method="post" action="co_add.php">
<input type='hidden' name='channelid' value='<?php echo $channelid; ?>' />
<input type='hidden' name='step' value='2' />
<input type='hidden' name='dopost' value='preview' />
<input type='hidden' name='notename' value="<?php echo $notename; ?>" />
<input type='hidden' name='sourcelang' value="<?php echo $sourcelang; ?>" />
<input type='hidden' name='usemore' value="<?php echo $usemore; ?>" />
<input type='hidden' name='islisten' value="<?php echo $islisten; ?>" />
<input type='hidden' name='listenpage' value="<?php echo $listenpage; ?>" />
<input type='hidden' name='freq' value="<?php echo $freq; ?>" />
<input type='hidden' name='extypeid' value="<?php echo $extypeid; ?>" />
<input type='hidden' name='listconfig' value="<?php echo urlencode($listconfig); ?>" />
<table width="98%" border="0" cellpadding="3" cellspacing="1" bgcolor="#D6D6D6" align="center">
<tr>
<td height="25" background="images/tbg.gif" bgcolor="#F2F6E5" style="padding-left:10px;"><strong>网址获取规则测试:</strong></td>
</tr>
<tr>
<td height="26" bgcolor="#FFFFFF">
测试的列表网址:<?php echo $demopage; ?>
</td>
</tr>
<tr id="sitem">
<td height="23" bgcolor="#ffffff">
获得的文章网址(只显示前十条):<br />
<?php
if(isset($links[0]))
{
$i = 1;
foreach($links as $arr)
{
if($i==1) echo "<input type='hidden' name='previewurl' value=\"{$arr['link']}\" />\r\n";
if($arr['image'] != '') $arr['image'] = "<img src='{$arr['image']}' />\r\n";
echo "<hr />";
echo "网址: <a href='{$arr['link']}' target='_blank'>{$arr['link']}</a><br />\r\n标题: {$arr['title']}<br />\r\n图片: {$arr['image']}\r\n";
$i++;
if($i>10) break;
}
}
else
{
echo $errmsg;
}
?>
</td>
</tr>
<tr>
<td height="94" align="center" bgcolor="#FFFFFF">
<input type="button" name="b2" value="返回上一步进行修改" class="coolbg np" onclick="history.go(-1);" style="width:200px" />
&nbsp;
<input type="submit" name="b12" value="保存信息并进入下一步设置" class="coolbg np" style="width:200px" />
</td>
</tr>
</table>
</form>
</body>
</html>

+ 0
- 341
src/dede/templets/co_add_step2.htm View File

@@ -1,341 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo $cfg_soft_lang; ?>">
<script language="javascript" type="text/javascript" src="js/co.js"></script>
<title>新增采集节点</title>
<link href="css/base.css" rel="stylesheet" type="text/css">
<style type="text/css">
<!--
.STYLE1 {
color: #660000;
font-weight: bold;
}
.adline {
border-bottom:1px solid #cdcdcd;
}
.autotb td{
padding-left:3px;
}
-->
</style>
</head>
<body>
<div class="bodytitle" style="width:98%">
<div class="bodytitleleft"></div>
<div class="bodytitletxt" style="padding-left:10px;"><b>新增采集节点:第二步设置内容字段获取规则</b></div>
</div>
<form name="form1" method="post" action="co_add.php">
<input type='hidden' name='nid' value='<?php echo $nid; ?>' />
<input type='hidden' name='channelid' value='<?php echo $channelid; ?>' />
<input type='hidden' name='step' value='5' />
<table width="98%" border="0" cellpadding="3" cellspacing="1" bgcolor="#D6D6D6" align="center">
<tr>
<td background="images/tbg.gif" bgcolor="#F2F6E5">
<table width="400" border="0" cellspacing="0" cellpadding="0">
<tr class="top" onClick="showHide('sart');" style="cursor:pointer">
<td width="26" align="center"><img src="images/file_tt.gif" width="7" height="8"></td>
<td width="374"><b>网页内容获取规则</b></td>
</tr>
</table>
</td>
</tr>
<tr id="sart">
<td height="113" valign="top" bgcolor="#FFFFFF">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr id='achelp' style="display:none">
<td height="60" colspan="3">1、匹配规则:在匹配区域规则中,规则一般为“<font color="#FF0000">起始无重复HTML</font><span class="STYLE1">[内容]</span><font color="#FF0000">结尾无重复HTML</font>”(普通匹配,非正则)。<br/>
2、字段值:如果指定的字段没有指定区域匹配规则,用这个值作为默认值。<br />
3、过滤规则:如果有多个规则,用<br /><font color='#6B7360'>
{dede:trim replace=&quot;&quot;}规则一{/dede:trim}<br />
{dede:trim replace=&quot;&quot;}规则二{/dede:trim}<br />
...</font>表示,如果要替换成指定的值,在 replace=&quot;&quot;里设置即可
</td>
</tr>
<tr>
<td height="35">预览网址:</td>
<td><input type="text" name="previewurl" id="previewurl" style="width:90%" value="<?php echo $previewurl; ?>" /></td>
<td>&nbsp;</td>
</tr>
<tr>
<td width="18%" height="60"><a href="#" onclick="showHide('achelp')"><img src="images/help.gif" width="16" height="16" /></a>内容分页导航所在的区域匹配规则:<br/></td>
<td><textarea name="sppage" rows="3" id="sppage" style="width:90%"></textarea></td>
<td width="37%">
<input name="sptype" type="radio" value="full" class="np" checked='1' />
全部列出的分页列表<br/>
<input type="radio" name="sptype" class="np" value="next" />
上下页形式或不完整的分页列表
<br />
<input type="radio" name="sptype" class="np" value="diyrule"/>
分页列表规则 开始:
<input name="srul" type="text" value="1" size="4" />
结束:
<input name="erul" type="text" value="5" size="4" />
</td>
</tr>
<tr>
<td height="35" colspan="3" bgcolor="#FBFCE2" id="dyrule">如果设定分页列表规则.可采用地址规则(正则),其中{p}是递增变量,从1开始每次增加1,例如:{path}{file}_{p}{ext}<br />
<strong>规则说明:{path}</strong>地址+目录 <strong>{file}</strong>文件 <strong>{ext}</strong>文件扩展名<strong>{p}</strong>分页列表数</td>
</tr>
<tr>
<td height="24" colspan="3" bgcolor="#F9FCEF">
&nbsp;<strong>以下为固定的采集项目:</strong>(项目点击可展开/隐藏,内容摘要、关键字、缩略图系统会用正则进行自动匹配)
</td>
</tr>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="2">
<tr>
<td width="50%" valign="top">
<table width="98%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="24">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="18%" height="80">关键字过滤内容:</td>
<td height="20" colspan="2">
<textarea name="keywordtrim" rows="4" id="keywordtrim" style="width:90%"></textarea>
</td>
</tr>
</table></td>
</tr>
</table>
</td>
<td valign="top">
<table width="98%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="24">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="18%" height="80">摘要过滤内容:</td>
<td height="20" colspan="2">
<textarea name="descriptiontrim" rows="4" id="descriptiontrim" style="width:90%"></textarea>
</td>
</tr>
</table></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="50%" valign="top">
<table width="98%" border="0" cellspacing="0" cellpadding="0">
<tr bgcolor="#F9FCEF">
<td height="24" class="adline">&nbsp;<a href="#" onclick="showHide('ttitle')"><b><u>文章标题</u></b></a></td>
</tr>
<tr>
<td height="24" id="ttitle">
<input type='checkbox' name='fields[]' checked='1' value='title' style='display:none' />
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="18%" height="80">匹配规则:</td>
<td height="20" colspan="2">
<textarea name="match_title" rows="4" id="match_title" style="width:90%"><title>[内容]</title></textarea>
</td>
</tr>
<tr>
<td height="63">过滤规则:</td>
<td width="53%" height="63"><textarea name="trim_title" cols="20" rows="3" id="trim_title" style="width:90%"></textarea> </td>
<td height="63"><input type="button" name="button" id="button" value="常用规则" onclick="selTrim('trim_title')" /> </td>
</tr>
</table></td>
</tr>
</table>
</td>
<td valign="top">
<table width="98%" border="0" cellspacing="0" cellpadding="0">
<tr bgcolor="#F9FCEF">
<td height="24" class="adline">&nbsp;<a href="#" onclick="showHide('twriter')"><b><u>文章作者</u></b></a> </td>
</tr>
<tr id="twriter">
<td height="24">
<input type='checkbox' name='fields[]' checked='1' value='writer' style='display:none' />
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="18%" height="80">匹配规则:</td>
<td height="20" colspan="2"><textarea name="match_writer" rows="4" id="match_writer" style="width:90%"></textarea>
</td>
</tr>
<tr>
<td height="63">过滤规则:</td>
<td width="53%" height="63"><textarea name="trim_writer" cols="20" rows="3" id="trim_writer" style="width:90%"></textarea>
</td>
<td width="29%" height="63"><input type="button" name="button2" id="button2" value="常用规则" onclick="selTrim('trim_writer')" />
</td>
</tr>
</table></td>
</tr>
</table>
</td>
</tr>
<tr>
<td valign="top">
<table width="98%" border="0" cellspacing="0" cellpadding="0">
<tr bgcolor="#EBEFD1">
<td height="24" bgcolor="#F0F7D9" class="adline">&nbsp;<a href="#" onclick="showHide('tsource')"><b><u>文章来源</u></b></a> </td>
</tr>
<tr id="tsource">
<td height="24">
<input type='checkbox' name='fields[]' checked='1' value='source' style='display:none' />
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="18%" height="80">匹配规则:</td>
<td height="20" colspan="2"><textarea name="match_source" rows="4" id="match_source" style="width:90%"></textarea>
</td>
</tr>
<tr>
<td height="63">过滤规则:</td>
<td width="53%" height="63"><textarea name="trim_source" cols="20" rows="3" id="trim_source" style="width:90%"></textarea>
</td>
<td height="63"><input type="button" name="button4" id="button4" value="常用规则" onclick="selTrim('trim_source')" />
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
<td valign="top">
<table width="98%" border="0" cellspacing="0" cellpadding="0">
<tr bgcolor="#F9FCEF">
<td height="24" class="adline">&nbsp;<a href="#" onclick="showHide('tpubdate')"><b><u>发布时间</u></b></a> </td>
</tr>
<tr id="tpubdate">
<td height="24">
<input type='checkbox' name='fields[]' checked='1' value='pubdate' style='display:none' />
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="18%" height="80">匹配规则:</td>
<td height="20" colspan="2"><textarea name="match_pubdate" rows="4" id="match_pubdate" style="width:90%"></textarea>
</td>
</tr>
<tr>
<td height="63">过滤规则:</td>
<td width="53%" height="63"><textarea name="trim_pubdate" cols="20" rows="3" id="trim_pubdate" style="width:90%"></textarea>
</td>
<td width="29%" height="63"><input type="button" name="button3" id="button3" value="常用规则" onclick="selTrim('trim_pubdate')" />
</td>
</tr>
</table>
<input name="function_pubdate" type="hidden" id="function_pubdate" value="@me=GetMkTime(@me);" />
</td>
</tr>
</table>
</td>
</tr>
</table>
<!-- 固定项目结束,下面为自动项目 -->
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="55%" height="24" colspan="3" bgcolor="#FBFCE2">
&nbsp;<strong>以下是针对模型设置的采集项目:</strong>
</td>
</tr>
</table>
<?php
$row = $dsql->GetOne("Select * From `#@__channeltype` where id='$channelid' ");
$dtp = new DedeTagParse();
$dtp->SetNameSpace('field','<','>');
$dtp->LoadString($row['fieldset']);
foreach($dtp->CTags as $ctag)
{
//采集禁用的字段
$notsend = $ctag->GetAtt('notsend');
if($notsend==1) continue;
$fieldtype = $ctag->GetAtt('type');
$tname = $ctag->GetTagName();
$iname = $ctag->GetAtt('itemname');
//设置转换函数
if($fieldtype=='img') $functions = "@me=TurnImageTag(@me);";
else if($fieldtype=='softlinks'||$fieldtype=='addon') $functions = "@me=TurnLinkTag(@me);";
else if($fieldtype=='dtime') $functions = "@me=GetMkTime(@me);";
else $functions = '';
//对不同类型设置默认值
if($ctag->GetAtt('default')!='') {
$dfvalue = $ctag->GetAtt('default');
}
else if($fieldtype=='int'||$fieldtype=='float'||$fieldtype=='number') {
$dfvalue = '0';
}
else if($fieldtype=='dtime') {
$dfvalue = time();
}
else {
$dfvalue = '';
}
?>
<input type='checkbox' name='fields[]' checked='1' value='<?php echo $tname; ?>' style='display:none' />
<table width="99%" border="0" cellspacing="0" cellpadding="0" class='autotb' style="margin-top:2px">
<tr bgcolor="#F9FCEF">
<td width="18%" height="24" class="adline">
&nbsp;<a href="#" onclick="showHide('t<?php echo $tname; ?>')"><b><u><?php echo $iname; ?></u></b></a>
</td>
<td width="12%" class="adline">&nbsp;</td>
<td width="10%" class="adline"><strong>字段默认值:</strong></td>
<td class="adline">
<input name="value_<?php echo $tname; ?>" type="text" id="value_<?php echo $tname; ?>" value="<?php echo $dfvalue; ?>" size="25" style="width:250px" />
</td>
</tr>
<tr id="t<?php echo $tname; ?>">
<td height="24" colspan="4">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="16%" height="80">匹配规则:</td>
<td height="20">
<textarea name="match_<?php echo $tname; ?>" rows="4" id="match_<?php echo $tname; ?>" style="width:90%"></textarea>
</td>
<td height="20">
<?php
if($fieldtype=='htmltext' || $fieldtype=='img')
{
?>
<input name="isunit_<?php echo $tname; ?>" type="checkbox" id="isunit_<?php echo $tname; ?>" value="1" class="np" checked='checked' />
分页内容字段(规则中只允许单一的该类型字段)<br/>
<input name="isdown_<?php echo $tname; ?>" type="checkbox" id="isdown_<?php echo $tname; ?>" value="1" class="np" checked='checked' />
下载字段里的多媒体资源
<?php
}
?>
</td>
</tr>
<tr>
<td height="63">过滤规则:</td>
<td height="63">
<textarea name="trim_<?php echo $tname; ?>" cols="20" rows="3" id="trim_<?php echo $tname; ?>" style="width:90%"></textarea>
</td>
<td height="63">
<input type="button" name="button<?php echo $tname; ?>" id="button<?php echo $tname; ?>" value="常用规则" onclick="selTrim('trim_<?php echo $tname; ?>')" />
</td>
</tr>
<tr>
<td width="18%" height="60">自定义处理接口:</td>
<td width="52%" height="20">
<textarea name="function_<?php echo $tname; ?>" cols="20" rows="3" id="function_<?php echo $tname; ?>" style="width:90%"><?php
echo $functions;
?></textarea>
</td>
<td width="30%" height="20">
函数或程序的变量<br />
@body 表示原始网页 @litpic 缩略图<br />
@me 表示当前标记值和最终结果
</td>
</tr>
</table>
</td>
</tr>
</table>
<?php } ?>
</td>
</tr>
<tr>
<td height="52" align="center" bgcolor="#FFFFFF">
<input type="submit" name="b12" value="保存配置并预览" class="coolbg" style="width:150px" />
</td>
</tr>
</table>
</form>
</body>
</html>

+ 0
- 55
src/dede/templets/co_add_step2_test.htm View File

@@ -1,55 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo $cfg_soft_lang; ?>">
<title>采集节点测试</title>
<link href="css/base.css" rel="stylesheet" type="text/css" />
<script language='javascript' type="text/javascript" src="js/co.js"></script>
<style type="text/css">
<!--
.STYLE2 {color: #666666}
-->
</style>
</head>
<body>
<div class="bodytitle" style="width:98%">
<div class="bodytitleleft"></div>
<div class="bodytitletxt"><b>新增采集节点:测试内容字段设置</b></div>
<div style='float:right;padding-right:6px;padding-top:3px'>
<input type="button" name="b" value="返回节点管理页" class="coolbg np" style="width:110px;height:20px;" onclick="location.href='co_main.php';" />
</div>
</div>
<table width="98%" border="0" cellpadding="3" cellspacing="1" bgcolor="#D6D6D6" align="center">
<tr>
<td height="25" background="images/tbg.gif" bgcolor="#F2F6E5"><strong>网址获取规则测试:</strong>(测试时不会下载远程图片)</td>
</tr>
<tr>
<td height="26" bgcolor="#FFFFFF">
测试的网址:<?php echo $previewurl; ?>
</td>
</tr>
<tr id="sitem">
<td height="23" bgcolor="#ffffff">
<?php
if($previewurl=='') echo "你没有指定测试时使用的文章网址,因此系统无法进行测试!";
else {
$dc = new DedeCollection();
$dc->LoadNote($nid);
echo "<textarea name='test' style='width:100%;height:450px'>".$dc->TestArt($previewurl)."</textarea>";
}
?>
</td>
</tr>
<tr>
<td height="94" align="center" bgcolor="#FFFFFF">
<input type="button" name="b2" value="返回上一步进行修改" class="coolbg np" onclick="history.go(-1);" style="width:180px" />
&nbsp;
<input type="button" name="b3" value="仅保存" class="coolbg np" style="width:80px" onclick="location='co_add.php?nid=<?php echo $nid; ?>&step=6';" />
&nbsp;
<input type="button" name="b5" value="保存并开始采集" class="coolbg np" style="width:120px" onclick="location='co_add.php?nid=<?php echo $nid; ?>&step=7';" />
</td>
</tr>
</table>
</form>
</body>
</html>

+ 0
- 20
src/dede/templets/co_config.htm View File

@@ -1,20 +0,0 @@
<dede:comments>
<!--
//织梦采集在线版的配置文件模板
//详细说明请到: www.dedebiz.com 官方网站阅读介绍
//节点的基本信息
<dede:item></dede:item>
//被采采集的列表配置
<dede:list></dede:list>
//被采集的文章配置
<dede:art></dede:art>
//枚举类别
<dede:typeEnum></dede:typeEnum>
-->
</dede:comments>
~templets~

+ 0
- 712
src/dede/templets/co_edit.htm View File

@@ -1,712 +0,0 @@
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo $cfg_soft_lang; ?>">
<title>修改采集节点</title>
<link href="css/base.css" rel="stylesheet" type="text/css" />
<script language="javascript" src="../static/js/jquery.js"></script>
<script language="javascript" src="js/main.js"></script>
<script language="javascript" type="text/javascript" src="js/co.js"></script>
<style type="text/css">
.STYLE2 {
color: #666666
}
tr {
display: compact
}
/*chrome调整*/
@media screen and (-webkit-min-device-pixel-ratio:0) {
tr {
display: table-row
}
}
</style>
</head>
<body>
<div class="bodytitle" style="width:98%">
<div class="bodytitleleft"></div>
<div class="bodytitletxt" style="padding-left:10px;"><b>修改采集节点</b></div>
<div style='float:right;padding-right:6px;padding-top:3px'>
<input type="button" name="aaa" value="开始采集" class="coolbg np" style="width:80px;height:20px;"
onclick="location.href='co_gather_start.php?nid=<?php echo $nid; ?>';" />
<input type="button" name="bbb" value="返回节点管理页" class="coolbg np" style="width:110px;height:20px;"
onclick="location.href='co_main.php';" />
</div>
</div>
<form name="form1" method="post" action="co_edit.php">
<input type='hidden' name='nid' value='<?php echo $nid; ?>' />
<input type='hidden' name='channelid' value='<?php echo $channelid; ?>' />
<input type='hidden' name='dopost' value='saveandtest' />
<input type='hidden' name='donext' value='text' />
<table width="98%" border="0" align="center" cellpadding="0" cellspacing="0" id="head1">
<tr>
<td colspan="2">
<table height="24" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="84" align="center" background="images/itemnote1.gif">网址索引</td>
<td width="84" align="center" background="images/itemnote2.gif"><a href="#"
onClick="showItem2()"><u>内容配置</u></a></td>
</tr>
</table>
</td>
</tr>
</table>
<table width="98%" border="0" align="center" cellpadding="0" cellspacing="0" id="head2" style="display:none">
<tr>
<td colspan="2">
<table height="24" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="84" align="center" background="images/itemnote2.gif"><a href="#"
onClick="showItem1()"><u>网址索引</u></a></td>
<td width="84" align="center" background="images/itemnote1.gif">内容配置</td>
</tr>
</table>
</td>
</tr>
</table>
<table width="98%" border="0" id="needset" cellpadding="3" cellspacing="1" bgcolor="#D6D6D6" align="center">
<tr>
<td background="images/tbg.gif" bgcolor="#F2F6E5">
<table width="400" border="0" cellspacing="0" cellpadding="0">
<tr class="top" onClick="showHide('sitem');" style="cursor:pointer">
<td width="26" align="center"><img src="images/file_tt.gif" width="7" height="8"></td>
<td width="374">节点基本信息<a name="d1"></a></td>
</tr>
</table>
</td>
</tr>
<tr id="sitem">
<td bgcolor="#FFFFFF">
<table width="100%" border="0">
<tr>
<td width="18%" height="24">节点名称:</td>
<td width="32%">
<input name="notename" type="text" id="notename" value="<?php echo $notename; ?>" style="width:250px" />
</td>
<td width="18%">目标页面编码:</td>
<td width="32%">
<input type="radio" name="sourcelang" id='language1' class="np" value="gb2312"
<?php if($noteinfo->GetAtt('sourcelang')=='gb2312') echo " checked='1'"; ?> />
GB2312
<input type="radio" name="sourcelang" id='language2' class="np" value="utf-8"
<?php if($noteinfo->GetAtt('sourcelang')=='utf-8') echo " checked='1'"; ?> />
UTF8
<input type="radio" name="sourcelang" id='language3' class="np" value="big5"
<?php if($noteinfo->GetAtt('sourcelang')=='big5') echo " checked='1'"; ?> />
BIG5
</td>
</tr>
<tr>
<td height="24">区域匹配模式:</td>
<td>
<input type="radio" class="np" name="macthtype" value="regex"
<?php if($noteinfo->GetAtt('macthtype')=='regex') echo " checked='1'"; ?> />
正则表达式
<input name="macthtype" class="np" type="radio" value="string"
<?php if($noteinfo->GetAtt('macthtype')=='string') echo " checked='1'"; ?> />
字符串
</td>
<td>内容导入顺序:</td>
<td>
<input type="radio" name="cosort" id="cosort1" value="asc" class='np'
<?php if($noteinfo->GetAtt('cosort')=='asc') echo " checked='1'"; ?> />
与目标站一致
<input type="radio" name="cosort" id="cosort2" class='np' value="desc"
<?php if($noteinfo->GetAtt('cosort')=='desc') echo " checked='1'"; ?> />
与目标站相反
</td>
</tr>
<tr>
<td height="24" colspan="4" bgcolor="#F9FCEF"><img src="images/file_tt.gif" width="7"
height="8" />以下选项仅在开启防盗链模式才需设定,如果目标网站没有防盗链功能请不要开启,否则会降低采集速度。</td>
</tr>
<tr>
<td height="24">防盗链模式:</td>
<td>
<input name="isref" type="radio" class="np" value="no"
<?php if($noteinfo->GetAtt('isref')=='no') echo " checked='1'"; ?> />
不开启
<input name="isref" type="radio" class="np" value="yes"
<?php if($noteinfo->GetAtt('isref')=='yes') echo " checked='1'"; ?> />
开启
</td>
<td>资源下载超时时间:</td>
<td>
<input name="exptime" type="text" id="exptime" value="<?php echo $noteinfo->GetAtt('exptime'); ?>"
size="3" />秒
</td>
</tr>
<tr>
<td height="24">引用网址:</td>
<td colspan="3">
<input name="refurl" type="text" id="refurl" value="<?php echo $noteinfo->GetAtt('refurl'); ?>"
size="30" style='width:250px' />
(一般为目标网站其中一个文章页的网址)
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td background="images/tbg.gif" bgcolor="#F2F6E5">
<table width="400" border="0" cellspacing="0" cellpadding="0">
<tr class="top" onClick="showHide('slist');" style="cursor:pointer">
<td width="26" align="center"><img src="images/file_tt.gif" width="7" height="8"></td>
<td width="374">列表网址获取规则</td>
</tr>
</table>
</td>
</tr>
<tr id="slist">
<td bgcolor="#FFFFFF">
<table width="100%" border="0">
<tr>
<td width="18%" height="24">来源属性:</td>
<td>
<input type="radio" name="sourcetype" id="source1" class='np' onclick="selSourceSet()" value="batch"
<?php if($listrule->GetAtt('sourcetype')=='batch') echo " checked='checked'"; ?> />
批量生成列表网址
<input type="radio" name="sourcetype" id="source2" class='np' onclick="selSourceSet()" value="hand"
<?php if($listrule->GetAtt('sourcetype')=='hand') echo " checked='checked'"; ?> />
手工指定列表网址
<input type="radio" name="sourcetype" id="source3" class='np' onclick="selSourceSet()" value="rss"
<?php if($listrule->GetAtt('sourcetype')=='rss') echo " checked='checked'"; ?> />
从RSS中获取
</td>
</tr>
<tr bgcolor="#F9FCEF" id="rssset" style="display:none">
<td height="24">RSS网址:</td>
<td>
<input type="text" name="rssurl" id="rssurl" style="width:350px"
value="<?php echo $listrule->GetAtt('rssurl'); ?>" />
<input type="button" name="btv2" id="btv2" value="测试" onclick="testRss()" />
</td>
</tr>
<tr bgcolor="#F9FCEF" id="batchset">
<td height="77">批量生成地址设置:</td>
<td>
<table width="90%">
<tr>
<td width="100%" colspan="2">
匹配网址:
<input type="text" name="regxurl" id="regxurl" style="width:350px"
value="<?php echo $listrule->GetAtt('regxurl'); ?>" />
<input type="button" name="btv1" id="btv1" value="测试" onclick="testRegx()" />
</td>
</tr>
<tr>
<td colspan="2">
<span
class="STYLE2">(如:https://www.dedebiz.com/html/test/list_(*).html,如果不能匹配所有网址,可以在手工指定网址的地方输入要追加的网址)
</span> </td>
</tr>
<tr>
<td colspan="2">
(*)从
<input type="text" name="startid" id="startid" style="width:30px"
value="<?php echo $listrule->GetAtt('startid'); ?>" />
<input type="text" name="endid" id="endid" style="width:30px"
value="<?php echo $listrule->GetAtt('endid'); ?>" />
(填写页码或规律递增数字)&nbsp;
每页递增:
<input type="text" name="addv" id="addv" style="width:30px"
value="<?php echo $listrule->GetAtt('addv'); ?>" />
<input type="checkbox" name="usemore" id="usemore" class="np" value="1" onClick="testMore()"
<?php if($usemore==1) echo " checked='1' "; ?> />
启用多栏目通配(#)
</td>
</tr>
</table>
</td>
</tr>
<tr id='handset' style='<?php if($usemore==1) echo 'display:none'; ?>'>
<td height="171">手工指定网址:<br />
<span class="STYLE2">在指定了通配规则后有些不能匹配的网址也可以在这里指定。</span><br /></td>
<td>
<textarea name="addurls" id="addurls" cols="45" rows="5"
style="width:80%;height:160px"><?php echo $addurls->GetInnerText(); ?></textarea>
</td>
</tr>
<tr id='usemoretr' style='<?php if($usemore==0) echo 'display:none'; ?>'>
<td height="171">多栏目通配规则:<br />
<span class="STYLE2">
如果目标网站使用单一模板,可以在匹配网址中用"(#)"表示近似网址的差异,然后在通配规则中设定集合,并且可以指定导出栏目。
</span>
<br />
</td>
<td>
<textarea name="batchrule" id="batchrule" cols="45" rows="5"
style="width:80%;height:160px"><?php echo (is_object($batchrule) ? trim($batchrule->GetInnerText()) : ''); ?></textarea>
<br /><span style='color:#666666'>示例格式:[(#)=>labs/list_3; (*)=>1-25; typeid=>7]
匹配网址:http://www.aaa.com/(#)_(*).html</span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td background="images/tbg.gif" bgcolor="#F2F6E5">
<table width="400" border="0" cellspacing="0" cellpadding="0">
<tr class="top" onClick="showHide('arturl');" style="cursor:pointer">
<td width="26" align="center"><img src="images/file_tt.gif" width="7" height="8"></td>
<td width="374">文章网址匹配规则</td>
</tr>
</table>
</td>
</tr>
<tr id="arturl">
<td height="76" valign="top" width="100%" bgcolor="#FFFFFF">
<table width="100%">
<!-- //使用与正则匹配链接模式不大稳定,也不适合初级用户,暂时作为保留项 -->
<tr style='display:none'>
<td width="18%">内容网址匹配模式:</td>
<td width="82%">
<input name="urlrule" type="radio" class="np" id="urlrule1" value="area" onclick="selUrlRuleSet()"
<?php if($listrule->GetAtt('urlrule')=='area') echo " checked='1'"; ?> />
指定包含有文章网址的区域(可以获取区域的网址、标题、图片等信息)
<input type="radio" name="urlrule" id="urlrule2" value="regx" onclick="selUrlRuleSet()" class="np"
<?php if($listrule->GetAtt('urlrule')=='regx') echo " checked='1'"; ?> />
指定网址正则表达式(仅能获得网址信息)
</td>
</tr>
<!--tr id="regxruletr" style="<?php if($listrule->GetAtt('urlrule')=='area') echo "display:none"; ?>"-->
<tr id="regxruletr" style="display:none">
<td height="84">网址的正则表达式:</td>
<td>
<textarea name="regxrule" id="regxrule" cols="45" rows="5"
style="width:80%;height:60px"><?php echo $regxrule->GetInnerText(); ?></textarea>
</td>
</tr>
<tr id="arearuletr">
<td height="84" width="18%">包含有文章网址的区域设置:</td>
<td width="82%">
<table width="90%">
<tr>
<td width="22%" align="center">区域开始的HTML:</td>
<td width="78%">
<textarea name="areastart" id="areastart" cols="45" rows="5"
style="width:80%;height:60px"><?php echo $areastart->GetInnerText(); ?></textarea>
</td>
</tr>
<tr>
<td align="center">区域结束的HTML:</td>
<td>
<textarea name="areaend" id="areaend" cols="45" rows="5"
style="width:80%;height:60px"><?php echo $areaend->GetInnerText(); ?></textarea>
</td>
</tr>
<tr>
<td align="center">如果链接中含有图片:</td>
<td>
<input name="listpic" type="radio" class='np' id="listpic1" value="0"
<?php if($listrule->GetAtt('listpic')=='0') echo " checked='1'"; ?> />
不处理
<input type="radio" name="listpic" id="listpic2" class='np' value="1"
<?php if($listrule->GetAtt('listpic')=='1') echo " checked='1'"; ?> />
采集为缩略图
</td>
</tr>
<tr>
<td rowspan="2" align="center">对区域网址进行再次筛选:<br />
(使用正则表达式)</td>
<td>必须包含:
<input type="text" name="musthas" id="musthas" style="width:280px"
value="<?php echo $listrule->GetAtt('musthas'); ?>" />
(优先级高于后者)
</td>
</tr>
<tr>
<td>不能包含:
<input type="text" name="nothas" id="nothas" style="width:280px"
value="<?php echo $listrule->GetAtt('nothas'); ?>" />
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td height="94" align="center" bgcolor="#FFFFFF">&nbsp;
<script language='javascript'>
selSourceSet();
</script>
&nbsp;
<input type="submit" name="b12" value="保存并测试" class="coolbg np" style="width:120px" />
<input type="submit" name="b" value="仅保存" onclick="form.donext.value='save';" class="coolbg np"
style="width:80px" /></td>
</tr>
</table>
<table width="98%" border="0" id="adset" cellpadding="3" cellspacing="1" bgcolor="#D6D6D6" align="center"
style="display:none">
<tr>
<td background="images/tbg.gif" bgcolor="#F2F6E5">
<table width="400" border="0" cellspacing="0" cellpadding="0">
<tr class="top" onClick="showHide('sart');" style="cursor:pointer">
<td width="26" align="center"><img src="images/file_tt.gif" width="7" height="8"></td>
<td width="374">网页内容获取规则</td>
</tr>
</table>
</td>
</tr>
<tr id="sart">
<td height="113" valign="top" bgcolor="#FFFFFF">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr id='achelp' style="display:none">
<td height="60" colspan="3">1、匹配规则:在匹配区域规则中,规则一般为“<font color="#FF0000">起始无重复HTML</font><span
class="STYLE1">[内容]</span>
<font color="#FF0000">结尾无重复HTML</font>”(普通匹配,非正则)。<br />
2、字段值:如果指定的字段没有指定区域匹配规则,用这个值作为默认值。<br />
3、过滤规则:如果有多个规则,用<br />
<font color='#6B7360'>
{dede:trim replace=&quot;&quot;}规则一{/dede:trim}<br />
{dede:trim replace=&quot;&quot;}规则二{/dede:trim}<br />
...</font>表示,如果要替换成指定的值,在 replace=&quot;&quot;里设置即可
</td>
</tr>
<tr>
<td height="35"><a href="#" onclick="showHide('achelp')"><img src="images/help.gif" width="16"
height="16" /></a>预览网址:</td>
<td>
<input type="text" name="previewurl" id="previewurl" style="width:90%"
value="<?php echo $previewurl; ?>" />
</td>
<td>&nbsp;</td>
</tr>
<tr>
<td width="18%" height="60">内容分页导航所在的区域匹配规则:<br /></td>
<td><textarea name="sppage" rows="3" id="sppage"
style="width:90%"><?php echo trim($sppage->GetInnerText()); ?></textarea></td>
<td width="37%">
<input name="sptype" type="radio" value="full" class="np"
<?php if($sppage->GetAtt('sptype')=='full') echo " checked='1'"; ?> />
全部列出的分页列表<br />
<input type="radio" name="sptype" class="np" value="next"
<?php if($sppage->GetAtt('sptype')=='next') echo " checked='1'"; ?> />
上下页形式或不完整的分页列表<br />
<input type="radio" name="sptype" class="np" value="diyrule"
<?php if($sppage->GetAtt('sptype')=='diyrule') echo " checked='1'"; ?> />
分页列表规则 开始:
<input name="srul" type="text" value="1" size="4" />
结束:
<input name="erul" type="text" value="5" size="4" /></td>
</tr>
<tr>
<td height="35" colspan="3" bgcolor="#FBFCE2" id="dyrule">
如果设定分页列表规则.可采用地址规则(正则),其中{p}是递增变量,从1开始每次增加1,例如:{path}{file}_{p}{ext}<br />
<strong>规则说明:{path}</strong>地址+目录 <strong>{file}</strong>文件 <strong>{ext}</strong>文件扩展名
<strong>{p}</strong>分页列表数</td>
</tr>
<tr>
<td height="24" colspan="3" bgcolor="#F9FCEF">
&nbsp;<strong>以下为固定的采集项目:</strong>(项目点击可展开/隐藏,内容摘要、关键字、缩略图系统会用正则进行自动匹配)
</td>
</tr>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="2">
<tr>
<td width="50%" valign="top">
<table width="98%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="24">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="18%" height="80">关键字过滤内容:</td>
<td height="20" colspan="2">
<textarea name="keywordtrim" rows="4" id="keywordtrim"
style="width:90%"><?php echo $notes['keywordtrim']; ?></textarea>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
<td valign="top">
<table width="98%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="24">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="18%" height="80">摘要过滤内容:</td>
<td height="20" colspan="2">
<textarea name="descriptiontrim" rows="4" id="descriptiontrim"
style="width:90%"><?php echo $notes['descriptiontrim']; ?></textarea>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="50%" valign="top">
<table width="98%" border="0" cellspacing="0" cellpadding="0">
<tr bgcolor="#F9FCEF">
<td height="24" class="adline">&nbsp;<a href="#" onclick="showHide('ttitle')"><b><u>文章标题</u></b></a>
</td>
</tr>
<tr>
<td height="24" id="ttitle">
<input type='checkbox' name='fields[]' checked='1' value='title' style='display:none' />
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="18%" height="80">匹配规则:</td>
<td height="20" colspan="2">
<textarea name="match_title" rows="4" id="match_title"
style="width:90%"><?php echo $notes['title']['match']; ?></textarea>
</td>
</tr>
<tr>
<td height="63">过滤规则:</td>
<td width="53%" height="63">
<textarea name="trim_title" cols="20" rows="3" id="trim_title"
style="width:90%"><?php echo $notes['title']['trim']; ?></textarea>
</td>
<td height="63">
<input type="button" name="button" id="button" value="常用规则"
onclick="selTrim('trim_title')" />
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
<td valign="top">
<table width="98%" border="0" cellspacing="0" cellpadding="0">
<tr bgcolor="#F9FCEF">
<td height="24" class="adline">&nbsp;<a href="#"
onclick="showHide('twriter')"><b><u>文章作者</u></b></a> </td>
</tr>
<tr id="twriter">
<td height="24">
<input type='checkbox' name='fields[]' checked='1' value='writer' style='display:none' />
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="18%" height="80">匹配规则:</td>
<td height="20" colspan="2">
<textarea name="match_writer" rows="4" id="match_writer"
style="width:90%"><?php echo $notes['writer']['match']; ?></textarea>
</td>
</tr>
<tr>
<td height="63">过滤规则:</td>
<td width="53%" height="63">
<textarea name="trim_writer" cols="20" rows="3" id="trim_writer"
style="width:90%"><?php echo $notes['writer']['trim']; ?></textarea>
</td>
<td width="29%" height="63">
<input type="button" name="button2" id="button2" value="常用规则"
onclick="selTrim('trim_writer')" />
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td valign="top">
<table width="98%" border="0" cellspacing="0" cellpadding="0">
<tr bgcolor="#F9FCEF">
<td height="24" class="adline">&nbsp;<a href="#"
onclick="showHide('tsource')"><b><u>文章来源</u></b></a> </td>
</tr>
<tr id="tsource">
<td height="24">
<input type='checkbox' name='fields[]' checked='1' value='source' style='display:none' />
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="18%" height="80">匹配规则:</td>
<td height="20" colspan="2">
<textarea name="match_source" rows="4" id="match_source"
style="width:90%"><?php echo $notes['source']['match']; ?></textarea>
</td>
</tr>
<tr>
<td height="63">过滤规则:</td>
<td width="53%" height="63">
<textarea name="trim_source" cols="20" rows="3" id="trim_source"
style="width:90%"><?php echo $notes['source']['trim']; ?></textarea>
</td>
<td height="63">
<input type="button" name="button4" id="button4" value="常用规则"
onclick="selTrim('trim_source')" />
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
<td valign="top">
<table width="98%" border="0" cellspacing="0" cellpadding="0">
<tr bgcolor="#F9FCEF">
<td height="24" class="adline">&nbsp;<a href="#"
onclick="showHide('tpubdate')"><b><u>发布时间</u></b></a> </td>
</tr>
<tr id="tpubdate">
<td height="24">
<input type='checkbox' name='fields[]' checked='1' value='pubdate' style='display:none' />
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="18%" height="80">匹配规则:</td>
<td height="20" colspan="2">
<textarea name="match_pubdate" rows="4" id="match_pubdate"
style="width:90%"><?php echo $notes['pubdate']['match']; ?></textarea>
</td>
</tr>
<tr>
<td height="63">过滤规则:</td>
<td width="53%" height="63">
<textarea name="trim_pubdate" cols="20" rows="3" id="trim_pubdate"
style="width:90%"><?php echo $notes['pubdate']['trim']; ?></textarea>
</td>
<td width="29%" height="63">
<input type="button" name="button3" id="button3" value="常用规则"
onclick="selTrim('trim_pubdate')" />
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
<!-- 固定项目结束,下面为自动项目 -->
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="55%" height="24" colspan="3" bgcolor="#FBFCE2">
&nbsp;<strong>以下是针对模型设置的采集项目:</strong>
</td>
</tr>
</table>
<?php
$row = $dsql->GetOne("Select * From `#@__channeltype` where id='{$channelid}' ");
$dtp = new DedeTagParse();
$dtp->SetNameSpace('field','<','>');
$dtp->LoadString($row['fieldset']);
foreach($dtp->CTags as $ctag)
{
//采集禁用的字段
$notsend = $ctag->GetAtt('notsend');
if($notsend==1) continue;
$fieldtype = $ctag->GetAtt('type');
$tname = $ctag->GetTagName();
$iname = $ctag->GetAtt('itemname');
if(isset($notes[$tname]['item']))
{
$tvalue = $notes[$tname]['item']->GetAtt('value');
$tisunit = $notes[$tname]['item']->GetAtt('isunit');
$tisdown = $notes[$tname]['item']->GetAtt('isdown');
$tmatch = $notes[$tname]['match'];
$ttrim = $notes[$tname]['trim'];
$tfunction = $notes[$tname]['function'];
}else {
$tvalue = $tisunit = $tisdown = $tmatch = $ttrim = $tfunction = '';
}
?>
<input type='checkbox' name='fields[]' checked='1' value='<?php echo $tname; ?>' style='display:none' />
<table width="99%" border="0" cellspacing="0" cellpadding="0" class='autotb' style="margin-top:2px">
<tr bgcolor="#EBEFD1">
<td width="18%" height="24" bgcolor="#F0F7D9" class="adline">
&nbsp;<a href="#" onclick="showHide('t<?php echo $tname; ?>')"><b><u><?php echo $iname; ?></u></b></a>
</td>
<td width="12%" bgcolor="#F0F7D9" class="adline">&nbsp;</td>
<td width="10%" bgcolor="#F0F7D9" class="adline"><strong>字段值:</strong></td>
<td bgcolor="#F0F7D9" class="adline">
<input name="value_<?php echo $tname; ?>" type="text" value="<?php echo $tvalue; ?>" size="25"
style="width:250px" />
</td>
</tr>
<tr id="t<?php echo $tname; ?>">
<td height="24" colspan="4">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="16%" height="80">匹配规则:</td>
<td height="20">
<textarea name="match_<?php echo $tname; ?>" rows="4"
style="width:90%"><?php echo $tmatch; ?></textarea>
</td>
<td height="20">
<input name="isunit_<?php echo $tname; ?>" type="checkbox" value="1" class="np"
<?php if($tisunit=='1') echo " checked='checked'"; ?> />
分页内容字段(规则中只允许单一的该类型字段)<br />
<input name="isdown_<?php echo $tname; ?>" type="checkbox" value="1" class="np"
<?php if($tisdown=='1') echo " checked='checked'"; ?> />
下载字段里的多媒体资源
</td>
</tr>
<tr>
<td height="63">过滤规则:</td>
<td height="63">
<textarea name="trim_<?php echo $tname; ?>" cols="20" rows="3" id="trim_<?php echo $tname; ?>"
style="width:90%"><?php echo $ttrim; ?></textarea>
</td>
<td height="63">
<input type="button" name="button<?php echo $tname; ?>" id="button<?php echo $tname; ?>"
value="常用规则" onclick="selTrim('trim_<?php echo $tname; ?>')" />
</td>
</tr>
<tr>
<td width="18%" height="60">自定义处理接口:</td>
<td width="52%" height="20">
<textarea name="function_<?php echo $tname; ?>" cols="20" rows="3"
style="width:90%"><?php echo $tfunction; ?></textarea>
</td>
<td width="30%" height="20">
<?php
if($fieldtype=='htmltext' || $fieldtype=='img')
{
?>
函数或程序的变量<br />
@body 表示原始网页 @litpic 缩略图<br />
@me 表示当前标记值和最终结果
<?php
}
?>
</td>
</tr>
</table>
</td>
</tr>
</table>
<?php } ?>
</td>
</tr>
<tr>
<td height="52" align="center" bgcolor="#FFFFFF">
<input type="submit" name="b13" value="仅保存" onclick="form.donext.value='save';" class="coolbg np"
style="width:80px" />
&nbsp;
<input type="submit" name="b12" value="保存并测试" class="coolbg np" style="width:120px" />
</td>
</tr>
</table>
</form>
</body>
</html>

+ 0
- 117
src/dede/templets/co_export.htm View File

@@ -1,117 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo $cfg_soft_lang; ?>">
<link href="css/base.css" rel="stylesheet" type="text/css">
<title>采集内容导出</title>
</head>
<body background="images/allbg.gif" leftmargin="8" topmargin="8">
<table width="98%" border="0" cellpadding="3" cellspacing="1" bgcolor="#D6D6D6" align="center">
<form name="form1" action="co_export.php" method="get" target="stafrm">
<input type="hidden" name="nid" value="<?php echo $nid?>" />
<input type="hidden" name="totalcc" value="<?php echo $totalcc?>" />
<input type="hidden" name="channelid" value="<?php echo $channelid?>" />
<input type="hidden" name="dopost" value="done" />
<tr>
<td height="28" colspan="3" background='images/tbg.gif' style="padding-left:10px;"><strong><a href="co_main.php"><u>采集管理</u></a>
&gt; 采集内容导出:</strong></td>
</tr>
<tr>
<td height="24" colspan="3" bgcolor="#F8FCF1">
<strong>共有[<?php echo $totalcc; ?>]条可导出数据:</strong>
<?php
if(empty($nid))
{
echo "<br /><font color='red'>你当进行的操作是--导出所有采集内容,需注意下面问题:<br />\r\n";
echo "1 、如果你采集的内容包含多个内容模型的信息,本操作将会出错!<br />\r\n";
echo "2 、这种模式'完成后自动生成导入内容HTML'功能无效。\r\n";
echo "</font>";
}
?>
</td>
</tr>
<tr>
<td width="26%" height="24" align="center" bgcolor="#FFFFFF">默认导出栏目:</td>
<td width="74%" colspan="2" bgcolor="#FFFFFF">
<?php
$typeOptions = GetOptionList(0,$cuserLogin->getUserChannel(),$channelid);
echo "<select name='typeid' style='width:300px'>\r\n";
echo "<option value='0' selected>请选择主分类...</option>\r\n";
echo $typeOptions;
echo "</select>";
?>
(请选择白色的栏目)
</td>
</tr>
<tr>
<td height="24" align="center" bgcolor="#FFFFFF">
批量采集选项:
</td>
<td colspan="2" bgcolor="#FFFFFF">
<input name="autotype" type="checkbox" id="autotype" value="1" class="np"<?php if($usemore==1 || empty($nid)) echo " checked='1' "; ?>/>
使用采集规则中指定的栏目ID(如果目标的栏目ID为0,则用上面选择的栏目)
</td>
</tr>
<tr>
<td height="24" align="center" bgcolor="#FFFFFF">发布选项:</td>
<td colspan="2" bgcolor="#FFFFFF">
<input name="arcrank" type="radio" class="np" value="0" checked='1' />
普通文档
<input name="arcrank" type="radio" class="np" value="-1" />
保存为草稿
</td>
</tr>
<tr>
<td height="24" align="center" bgcolor="#FFFFFF">每批导入:</td>
<td colspan="2" bgcolor="#FFFFFF">
<input name="pagesize" type="text" id="pagesize" value="60" style="width:30px" /> 条
</td>
</tr>
<tr>
<td height="24" align="center" bgcolor="#FFFFFF">附带选项:</td>
<td colspan="2" bgcolor="#FFFFFF">
<input name="onlytitle" type="checkbox" id="onlytitle" value="1" class="np" />
排除重复标题
<input name="makehtml" type="checkbox" id="makehtml" value="1" class="np" />
完成后自动生成导入内容HTML
<input name="usetitle" type="checkbox" id="usetitle" value="1" class="np" />
使用列表索引的标题
</td>
</tr>
<tr>
<td height="24" align="center" bgcolor="#FFFFFF">随机推荐:</td>
<td colspan="2" bgcolor="#FFFFFF">
<input name="randcc" type="text" id="randcc" value="12" style="width:30px" />
(0 表示不推荐,具体数值表示大约多少篇文档出现一篇推荐[随机])
</td>
</tr>
<tr>
<td height="24" colspan="3" bgcolor="#F8FCF1">&nbsp;</td>
</tr>
<tr>
<td height="34" colspan="3" align="center" bgcolor="#FFFFFF">
<input name="imageField" type="image" src="images/button_ok.gif" width="60" height="22" border="0" class="np" />
&nbsp;
<a href="co_main.php"><img src="images/button_back.gif" width="60" height="22" border="0" /></a>
</td>
</tr>
</form>
<tr>
<td height="34" colspan="3" align="center" bgcolor="#F9FCEF">
<table width="100%">
<tr>
<td width="74%" align="left">进行状态: </td>
<td width="26%" align="right"></td>
</tr>
</table>
</td>
</tr>
<tr>
<td height="150" colspan="3" bgcolor="#FFFFFF" id="mtd">
<iframe name="stafrm" frameborder="0" id="stafrm" width="100%" height="300"></iframe>
</td>
</tr>
</table>
<p>&nbsp;</p>
</body>
</html>

+ 0
- 129
src/dede/templets/co_gather_start.htm View File

@@ -1,129 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo $cfg_soft_lang; ?>">
<title>采集节点</title>
<script language='javascript'>
function SubmitNew()
{
document.form1.totalnum.value = "0";
document.form1.submit();
}
</script>
<link href="css/base.css" rel="stylesheet" type="text/css">
</head>
<body background='images/allbg.gif' leftmargin='8' topmargin='8'>
<table width="98%" border="0" cellpadding="3" cellspacing="1" bgcolor="#D6D6D6" align="center">
<tr>
<td height="20" colspan="2" background='images/tbg.gif'>
<table width="98%" border="0" cellpadding="0" cellspacing="0">
<form name='form2' action='co_url.php' target='stafrm'>
<input type='hidden' name='small' value='1'>
<input type='hidden' name='nid' value='<?php echo $nid; ?>'>
</form>
<tr>
<td width="30%" height="18" style="padding-left:10px;">
<strong><?php echo $ntitle; ?></strong>
</td>
<td width="70%" align="right">
<input type="button" name="b11" value="查看已下载" class="coolbg np" onClick="document.form2.submit();" style="width:90px" />
<input type="button" name="b12" value="采集节点管理" class="coolbg np" style="width:90px" onClick="location.href='co_main.php';" />
<input type="button" name="b13" value="导出数据" class="coolbg np" style="width:90px" onClick="location.href='co_export.php?nid=<?php echo $nid; ?>';" />
</td>
</tr>
</table></td>
</tr>
<tr>
<td width="108" valign="top" bgcolor="#FFFFFF">节点名称:</td>
<td width="377" valign="top" bgcolor="#FFFFFF">
<?php
if(!empty($nid)) echo $co->noteInfos['notename'];
else echo "所有节点";
?>
</td>
</tr>
<tr>
<td height="20" valign="top" bgcolor="#FFFFFF">种子网址数:</td>
<td height="20" valign="top" bgcolor="#FFFFFF">
<?php echo $unum; ?>
</td>
</tr>
<form name="form1" action="co_getsource_url_action.php" method="get" target='stafrm'>
<input type='hidden' name='nid' value='<?php echo $nid; ?>' />
<input type='hidden' name='totalnum' value='<?php echo $row['dd']; ?>' />
<input type='hidden' name='startdd' value='0' />
<tr>
<td height="20" bgcolor="#FFFFFF">每页采集:</td>
<td height="20" bgcolor="#FFFFFF">
<input name="pagesize" type="text" id="pagesize" value="5" size="3" />
条,
间隔时间:
<input name="sptime" type="text" id="sptime" value="0" size="3" />
秒(防刷新的站点需设置)
</td>
</tr>
<tr>
<td height="20" bgcolor="#FFFFFF">特殊选项:</td>
<td height="20" bgcolor="#FFFFFF">
<input name="notckpic" type="checkbox" class="np" />
不检测重复图片
</td>
</tr>
<tr>
<td height="20" bgcolor="#FFFFFF">附加选项:</td>
<td height="20" bgcolor="#FFFFFF">
<input name="islisten" type="radio" class="np" value="1" <?php if(empty($nid)) echo " checked='1' "; ?> />
监控采集模式(检测当前或所有节点是否有新内容)
<?php
if(!empty($nid)) {
?>
<br />
<input name="islisten" type="radio" class="np" value="-1" checked='1'; />
重新下载全部内容
<br />
<input name="islisten" type="radio" class="np" value="0" />
下载种子网址的未下载内容
<br />
<?php
}
?>
</td>
</tr>
<tr>
<td height="28" colspan="2" bgcolor="#ffffff" align="center">
<input name="b112" type="button" class="coolbg np" value="开始采集网页" onClick="document.form1.submit();" style="width:100px" /> 
<input name="b113" type="button" class="coolbg np" value="查看种子网址" onClick="document.form2.submit();" style="width:100px" />
</td>
</tr>
</form>
<tr bgcolor="#F9FCEF">
<td height="20" colspan="2">
<table width="100%">
<tr>
<td width="74%">节点的种子网址: </td>
<td width="26%" align="right">
<script language='javascript'>
function ResizeDiv(obj,ty)
{
if(ty=="+") document.all[obj].style.pixelHeight += 50;
else if(document.all[obj].style.pixelHeight>80) document.all[obj].style.pixelHeight = document.all[obj].style.pixelHeight - 50;
}
</script>
[<a href='#' onClick="ResizeDiv('mdv','+');">增大</a>] [<a href='#' onClick="ResizeDiv('mdv','-');">缩小</a>]
</td>
</tr>
</table></td>
</tr>
<tr bgcolor="#FFFFFF">
<td colspan="2" id="mtd">
<div id='mdv' style='width:100%;height:350px;'>
<iframe name="stafrm" frameborder="0" id="stafrm" width="100%" height="100%"<?php if($row['dd']>0) echo " src=co_url.php?nid=$nid&small=1";?>></iframe>
</div>
<script language="JavaScript">
document.all.mdv.style.pixelHeight = screen.height - 360;
</script>
</td>
</tr>
</table>
</body>
</html>

+ 0
- 198
src/dede/templets/co_main.htm View File

@@ -1,198 +0,0 @@
{dede:config.pagesize value="20"/}
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo $cfg_soft_lang; ?>">
<title>采集节点管理</title>
<link rel="stylesheet" href="../static/css/bootstrap.min.css">
<link href="../static/font-awesome/css/font-awesome.min.css" rel="stylesheet">
<script language="javascript" src="js/context_menu.js"></script>
<script language="javascript" src="js/ieemu.js"></script>
<script language="javascript">
if (moz) {
extendEventObject();
extendElementModel();
emulateAttachEvent();
}
//编辑节点
function EditNote(nid) {
if (nid == "") nid = getOneItem();
if (nid == "") { alert("请选择一个节点!"); return; }
location.href = "co_edit.php?nid=" + nid;
}
//编辑节点配置
function EditNoteText(nid) {
if (nid == "") nid = getOneItem();
if (nid == "") { alert("请选择一个节点!"); return; }
location.href = "co_edit_text.php?nid=" + nid;
}
//清空节点
function ClearNote(nid) {
if (nid == "") nid = getOneItem();
if (nid == "") { alert("请选择一个节点!"); return; }
location.href = "co_do.php?dopost=clear&nid=" + nid;
}
//删除节点
function DelNote(nid) {
if (nid == "") nid = getOneItem();
if (nid == "") { alert("请选择一个节点!"); return; }
if (window.confirm('你确定要删除这个节点吗?')) { location.href = "co_do.php?dopost=delete&nid=" + nid; }
}
//查看已下载的内容
function ViewDown(nid) {
if (nid == "") nid = getOneItem();
location.href = "co_url.php?nid=" + nid;
}
//测试规则
function TestRule(nid) {
if (nid == "") nid = getOneItem();
if (nid == "") { alert("请选择一个节点!"); return; }
location.href = "co_test_rule.php?nid=" + nid;
}
//导出采集
function ExportDown(nid) {
if (nid == "") nid = getOneItem();
if (nid == "") { alert("请选择一个节点!"); return; }
location.href = "co_export.php?nid=" + nid;;
}
//导入规则
function GetRule() {
location.href = "co_get_corule.php";
}
//导出规则
function ExportRule(nid) {
if (nid == "") nid = getOneItem();
if (nid == "") { alert("请选择一个节点!"); return; }
location.href = "co_export_corule.php?nid=" + nid;
}
//采集所选节点
function GatherSel(nid) {
if (nid == "") nid = getOneItem();
if (nid == "") { alert("请选择一个节点!"); return; }
location.href = "co_gather_start.php?nid=" + nid;
}
//复制所选节点
function CopyNote(nid) {
if (nid == "") nid = getOneItem();
if (nid == "") { alert("请选择一个节点!"); return; }
location.href = "co_do.php?dopost=copy&nid=" + nid;
}
//上下文菜单
function ShowMenu(evt, obj, nid) {
var eobj, popupoptions
popupoptions = [
new ContextItem("测试当前节点", function () { TestRule(nid); }),
new ContextItem("采集当前节点", function () { GatherSel(nid); }),
new ContextSeperator(),
new ContextItem("更改当前节点", function () { EditNote(nid); }),
new ContextItem("更改节点配置", function () { EditNoteText(nid); }),
new ContextSeperator(),
new ContextItem("查看采集内容", function () { ViewDown(nid); }),
new ContextItem("导出采集", function () { ExportDown(nid); }),
new ContextSeperator(),
new ContextItem("清空已下载信息", function () { ClearNote(nid); }),
new ContextItem("删除当前节点", function () { DelNote(nid); }),
new ContextSeperator(),
new ContextItem("复制当前节点", function () { CopyNote(nid); }),
new ContextSeperator(),
new ContextItem("导出配置规则", function () { ExportRule(nid); }),
new ContextItem("关闭菜单(<u>C</u>)", function () { })
]
ContextMenu.display(evt, popupoptions)
}
//获得选中其中一个的id
function getOneItem() {
var allSel = "";
if (document.form1.nids.value) return document.form1.nids.value;
for (i = 0; i < document.form1.nids.length; i++) {
if (document.form1.nids[i].checked) {
allSel = document.form1.nids[i].value;
break;
}
}
return allSel;
}
</script>
<link rel="stylesheet" href="../static/css/bootstrap.min.css">
<link href="../static/font-awesome/css/font-awesome.min.css" rel="stylesheet">
<link href="css/base.css" rel="stylesheet" type="text/css">
</head>
<body background='images/allbg.gif' leftmargin='8' topmargin='8' onLoad="ContextMenu.intializeContextMenu()">
<table width="98%" border="0" cellpadding="3" cellspacing="1" bgcolor="#D6D6D6" align="center" class="table maintable table-bordered mt-3">
<tr>
<td height="20" colspan="7" background='images/tbg.gif'>
<table width="100%" border="0" cellpadding="0" cellspacing="0" class="table-borderless">
<tr>
<td width="20%" height="18" style="padding-left:10px;"><strong>采集节点管理:</strong></td>
<td width="80%" align="right">
<input type="button" name="ba" value="添加新节点" onClick="location='co_add.php?action=select';"
class="coolbg np" style="width:100px" />
</td>
</tr>
</table>
</td>
</tr>
<tr align="center" height="26" bgcolor="#FBFCE2">
<td width="8%">选择</td>
<td width="32%">节点名称</td>
<td width="18%">针对规则</td>
<td width="10%">最后采集日期</td>
<td width="10%">加入日期</td>
<td width="10%">编码</td>
<td width="10%">网址数</td>
</tr>
<form name="form1">
{dede:datalist}
<tr bgcolor="#FFFFFF" align="center" onMouseMove="javascript:this.bgColor='#FCFDEE';"
onMouseOut="javascript:this.bgColor='#FFFFFF';" height="22"
oncontextmenu="ShowMenu(event,this,{dede:field.nid /});">
<td><input type='checkbox' name='nids' value='{dede:field.nid /}' class='np'></td>
<td><a href='co_url.php?nid={dede:field.nid /}'>{dede:field.notename /}</a></td>
<td>{dede:field.typename /}</td>
<td>{dede:field.cotime function='GetDatePage(@me)' /}</td>
<td>{dede:field.uptime function='GetDatePage(@me)' /}</td>
<td>{dede:field.sourcelang /}</td>
<td>{dede:field.nid function='TjUrlNum(@me)' /}</td>
</tr>
{/dede:datalist}
</form>
<tr bgcolor="#ffffff">
<td height="24" colspan="7">
<table width="90%" border="0" cellspacing="0" cellpadding="0" class="table-borderless">
<tr>
<td>
&nbsp;
<a href="#" onClick="location='co_add.php?action=select';" class='coolbg np'>增加新节点</a>
<a href="javascript:GetRule();" class='coolbg np'>导入配置</a>
<a href="javascript:ExportRule('');" class='coolbg np'>导出配置</a>
|
<a href="javascript:GatherSel('');" class='coolbg np' style='color:red'>采集</a>
<a href="javascript:ExportDown('');" class='coolbg np'>导出数据</a>
|
<a href="javascript:EditNote('');" class='coolbg np'>更改</a>
<a href="javascript:EditNoteText('');" class='coolbg np'>更改配置</a>
<a href="javascript:TestRule('');" class='coolbg np'>测试</a>
|
<a href="javascript:ViewDown('');" class='coolbg np'>查看已下载</a>
|
<a href="javascript:CopyNote('');" class='coolbg np'>复制</a>
<a href="javascript:ClearNote('');" class='coolbg np'>清空</a>
|
<a href="javascript:DelNote('');" class='coolbg np'>删除</a>
</td>
</tr>
</table>
</td>
</tr>
<tr bgcolor="#F9FCEF">
<td height="24" colspan="7" align="center">
{dede:pagelist size='5' /}
</td>
</tr>
</table>
</body>
</html>

+ 0
- 93
src/dede/templets/co_test_rule.htm View File

@@ -1,93 +0,0 @@
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo $cfg_soft_lang; ?>">
<title>测试节点</title>
<link href="css/base.css" rel="stylesheet" type="text/css">
</head>
<body background="images/allbg.gif" leftmargin="8" topmargin="8">
<table width="98%" border="0" cellpadding="3" cellspacing="1" bgcolor="#D6D6D6" align="center">
<tr>
<td height="20" background='images/tbg.gif'>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="30%" height="18" style="padding-left:10px;"><strong>测试节点:</strong></td>
<td width="70%" align="right">
<input type="button" name="b115" value="开始采集" class="coolbg np" style="width:120px"
onClick="location='co_gather_start.php?nid=<?php echo $nid; ?>';" />
<input type="button" name="b11" value="返回采集节点管理页" class="coolbg np" style="width:160"
onClick="location.href='co_main.php';" />
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td height="94" bgcolor="#FFFFFF" align="center">
<table width="98%" border="0">
<tr bgcolor="#FBFCE2">
<td width="13%" height="24" align="center"><b>节点名称:</b></td>
<td width="87%" align="left">&nbsp;<?php echo($co->noteInfos['notename']); ?></td>
</tr>
<tr>
<td height="24" align="center">列表测试信息:</td>
<td>&nbsp;</td>
</tr>
<tr>
<td height="24" colspan="2">
<textarea name="r1" id="r1" style="width:99%;height:250px"><?php
$testurl = '';
$turls = $co->Testlists($testurl);
echo "测试的列表网址: $testurl\r\n";
if(isset($turls[0]['link']))
{
$turl = $turls[0]['link'];
print_r($turls);
} else {
$turl = '';
}
$turl = (!empty($co->artNotes['previewurl']) ? $co->artNotes['previewurl'] : $turl);
?></textarea>
</td>
</tr>
<tr>
<td height="24">网页规则测试:</td>
<td align="left">(DedeCMSV6里时间日期字段一般是整数类型,如果您看到pubdate、senddate是整数,那种属正常的情况)</td>
</tr>
<tr>
<td height="24" colspan="2" align="left">
单个网页测试网址: <?php echo "$turl \r\n"; ?>
<br />
<textarea name="r2" id="r2" style="width:99%;height:250px"><?php
if($turl!=''){
echo $co->TestArt($turl);
}
else
{
echo "列表规则错误,找不到任何文章网址!";
}
?></textarea>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td height="60" align="center" bgcolor="#FFFFFF">
<input type="button" name="b2" value="重新修改节点配置" class="coolbg np"
onClick="location='co_edit.php?nid=<?php echo $nid; ?>';" style="width:180px" />
&nbsp;
<input type="button" name="b5" value="确定并开始采集" class="coolbg np" style="width:120px"
onClick="location='co_gather_start.php?nid=<?php echo $nid; ?>';" />
</td>
</tr>
<tr>
<td height="28" bgcolor="#F9FCEF">&nbsp;</td>
</tr>
</table>
</body>
</html>

+ 0
- 103
src/dede/templets/co_trimrule.html View File

@@ -1,103 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo $cfg_soft_lang; ?>">
<title>规则选择框</title>
<style type="text/css">
* {
font-size:14px;
line-height:150%;
padding:0px;
margin:0px auto;
}
td { padding-left:10px; }
body {
margin-top:6px;
background-color: #E6E4D5;
}
.bt
{
height:24px;
width:60px;
border-bottom:1px solid #726B36;
border-right:1px solid #726B36;
border-left:1px solid #DAD5B1;
border-top:1px solid #DAD5B1;
}
</style>
<script language='javascript'>
function SelOK()
{
var okstr = '';
var tmpvalue = '';
var totalbox = 12;
var selid = location.search.replace('?','');
for(var i=1;i<=totalbox;i++)
{
if(document.getElementById('font'+i).checked)
{
tmpvalue = document.getElementById('font'+i).value;
tmpvalue = tmpvalue.replace(/&lt;/,'<');
tmpvalue = tmpvalue.replace(/&gt;/,'>');
okstr += (okstr=='' ? "{dede:trim replace=''}"+tmpvalue+"{/dede:trim}" : "\r\n{dede:trim replace=''}"+tmpvalue+"{/dede:trim}");
}
}
if(okstr!='')
{
var nobj = window.opener.document.getElementById(selid);
if(nobj != null) nobj.value = (nobj.value=='' ? okstr : "\r\n"+okstr);
}
window.opener = true;
window.close();
}
</script>
</head>
<body>
<form id="form1" name="form1" method="post" action="">
<table width="300" border="0" cellpadding="1" cellspacing="1" bgcolor="#BCC083">
<tr>
<td width="149" bgcolor="#FFFFFF">
<input name="font1" type="checkbox" id="font1" value="&lt;a([^&gt;]*)&gt;(.*)&lt;/a&gt;" />
超链接 </td>
<td width="151" bgcolor="#FFFFFF"><input name="font7" type="checkbox" id="font7" value="&lt;object([^&gt;]*)&gt;(.*)&lt;/object&gt;" />
Object</td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><input name="font2" type="checkbox" id="font2" value="&lt;script([^&gt;]*)&gt;(.*)&lt;/script&gt;" />
javascript脚本</td>
<td bgcolor="#FFFFFF"><input name="font8" type="checkbox" id="font8" value="&lt;embed([^&gt;]*)&gt;(.*)&lt;/embed&gt;" />
embed</td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><input name="font3" type="checkbox" id="font3" value="&lt;!--(.*)--&gt;" />
&lt;!--()--&gt;</td>
<td bgcolor="#FFFFFF"><input name="font9" type="checkbox" id="font9" value="&lt;iframe([^&gt;]*)&gt;(.*)&lt;/iframe&gt;" />
iframe</td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><input name="font4" type="checkbox" id="font4" value="&lt;table([^&gt;]*)&gt;(.*)&lt;/table&gt;" />
table</td>
<td bgcolor="#FFFFFF"><input name="font10" type="checkbox" id="font10" value="&lt;param([^&gt;]*)&gt;(.*)&lt;/param&gt;" />
param</td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><input name="font5" type="checkbox" id="font5" value="&lt;style([^&gt;]*)&gt;(.*)&lt;/style&gt;" />
style</td>
<td bgcolor="#FFFFFF"><input name="font11" type="checkbox" id="font11" value="&lt;div([^.]*)&gt;" />
&lt;div([^.]*)&gt;</td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><input name="font6" type="checkbox" id="font6" value="&lt;img([^&gt;]*)&gt;" />
img</td>
<td bgcolor="#FFFFFF"><input name="font12" type="checkbox" id="font12" value="&lt;/div&gt;" />
&lt;/div&gt;</td>
</tr>
<tr>
<td height="32" colspan="2" align="center" bgcolor="#FFFFFF">
<input type="button" name="sb" id="sb" value="确定" class='bt' onclick="SelOK();" />
</td>
</tr>
</table>
</form>
</body>
</html>

+ 0
- 106
src/dede/templets/co_url.htm View File

@@ -1,106 +0,0 @@
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo $cfg_soft_lang; ?>">
<title>采集内容管理</title>
<link rel="stylesheet" href="../static/css/bootstrap.min.css">
<link href="../static/font-awesome/css/font-awesome.min.css" rel="stylesheet">
<link href="css/base.css" rel="stylesheet" type="text/css">
<script language="javascript">
//获得选中文件的文件名
function getCheckboxItem() {
var allSel = "";
if (document.form1.aids.value) return document.form1.aids.value;
for (i = 0; i < document.form1.aids.length; i++) {
if (document.form1.aids[i].checked) {
if (allSel == "")
allSel = document.form1.aids[i].value;
else
allSel = allSel + "," + document.form1.aids[i].value;
}
}
return allSel;
}
function ReSel() {
for (i = 0; i < document.form1.aids.length; i++) {
if (document.form1.aids[i].checked) document.form1.aids[i].checked = false;
else document.form1.aids[i].checked = true;
}
}
function DelSel() {
var nid = getCheckboxItem();
location.href = "co_do.php?dopost=clear&ids=" + nid;
}
function DelSel2() {
var nid = getCheckboxItem();
location.href = "co_do.php?dopost=clear&clshash=true&ids=" + nid;
}
function ClearCt() {
var nid = getCheckboxItem();
location.href = "co_do.php?dopost=clearct&ids=" + nid;
}
</script>
</head>
<body background='images/allbg.gif' leftmargin='8' topmargin='8'>
<table width="98%" border="0" cellpadding="2" cellspacing="1" bgcolor="#D6D6D6" align="center" class="table table-bordered maintable mt-3">
<tr>
<td height="28" colspan="8" background='images/tbg.gif'>
<table width="96%" border="0" cellpadding="0" cellspacing="0" class="table-borderless">
<tr>
<td width="20%" height="18" style="padding-left:10px;"><strong>临时内容管理:</strong></td>
<td width="80%" align="right">
<?php echo $exportbt; ?>
<input type="button" name="ba2" value="节点管理" class="coolbg np" style="width:80px"
onClick="location.href='co_main.php';" />
<input type="button" name="ba1" value="清空下载内容" class="coolbg np" style="width:100px"
onClick="location.href='co_do.php?dopost=clearall';" />
</td>
</tr>
</table>
</td>
</tr>
<tr align="center" height="26" bgcolor="#FBFCE2">
<td width="6%">选择</td>
<td width="30%">内容标题</td>
<td width="15%">所属节点</td>
<td width="10%">获取日期</td>
<td width="8%">下载</td>
<td width="8%">导出</td>
<td width="10%">预设栏目</td>
<td width="8%">来源网页</td>
</tr>
<form name="form1">
{dede:datalist}
<tr align="center" bgcolor="#FFFFFF" height="26" align="center" onMouseMove="javascript:this.bgColor='#FCFDEE';"
onMouseOut="javascript:this.bgColor='#FFFFFF';">
<td><input type='checkbox' name='aids' value='{dede:field.aid/}' class='np'></td>
<td><a href='co_view.php?aid={dede:field.aid/}'>{dede:field.title/}</a></td>
<td><a href='co_edit.php?nid={dede:field.nid/}'>{dede:field.notename/}</a></td>
<td>{dede:field.dtime function="GetDateMk(@me)" /}</td>
<td>{dede:field.isdown function="IsDownLoad(@me)" /}</td>
<td>{dede:field.isex function="IsExData(@me)" /}</td>
<td>{dede:field.typename /}</td>
<td><a href='{dede:field.url/}' target='_blank'>[源网址]</a></td>
</tr>
{/dede:datalist}
</form>
<tr>
<td height="30" colspan="8" bgcolor="#FCFDF7">&nbsp;
<input type="button" name="b11" value="反选" class="coolbg np" style="width:40px" onClick="ReSel();" />  
<input type="button" name="b12" value="仅删除网址" class="coolbg np" style="width:80px" onClick="DelSel();" />
<input type="button" name="b13" value="仅清空内容" class="coolbg np" style="width:80px" onClick="ClearCt();" />
<input type="button" name="b14" value="删除网址及历史记录" class="coolbg np" style="width:120px" onClick="DelSel2();" />
</td>
</tr>
<tr>
<td height="36" colspan="8" bgcolor="#F9FCEF" align="center">
{dede:pagelist listsize=5/}
</td>
</tr>
</table>
</body>
</html>

+ 0
- 79
src/dede/templets/co_url_2.htm View File

@@ -1,79 +0,0 @@
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo $cfg_soft_lang; ?>">
<title>采集内容管理</title>
<link rel="stylesheet" href="../static/css/bootstrap.min.css">
<link href="../static/font-awesome/css/font-awesome.min.css" rel="stylesheet">
<link href="css/base.css" rel="stylesheet" type="text/css">
<script language="javascript">
//获得选中文件的文件名
function getCheckboxItem() {
var allSel = "";
if (document.form1.aids.value) return document.form1.aids.value;
for (i = 0; i < document.form1.aids.length; i++) {
if (document.form1.aids[i].checked) {
if (allSel == "")
allSel = document.form1.aids[i].value;
else
allSel = allSel + "`" + document.form1.aids[i].value;
}
}
return allSel;
}
function ReSel() {
for (i = 0; i < document.form1.aids.length; i++) {
if (document.form1.aids[i].checked) document.form1.aids[i].checked = false;
else document.form1.aids[i].checked = true;
}
}
function DelSel() {
var nid = getCheckboxItem();
if (nid == "") {
alert("请选择节点!\r\n");
return;
}
location.href = "co_do.php?dopost=clear&ids=" + nid;
}
</script>
</head>
<body background='images/allbg.gif' leftmargin='0' topmargin='0'>
<table width="100%" border="0" cellpadding="2" cellspacing="1" bgcolor="#D6D6D6" align="center" class="table maintable table-bordered mt-3">
<tr align="center" bgcolor="#FBFCE2">
<td width="8%">选择</td>
<td width="35%">内容标题</td>
<td width="18%">所属节点</td>
<td width="18%">获取日期</td>
<td width="10%">是否下载</td>
<td width="8%">来源</td>
</tr>
<form name='form1'>
{dede:datalist}
<tr align="center" bgcolor="#FFFFFF">
<td><input type='checkbox' name='aids' value='{dede:field.aid/}' class='np'></td>
<td><a href='co_view.php?aid={dede:field.aid/}''>{dede:field.title/}</a></td>
<td>{dede:field.notename/}</td>
<td>{dede:field.dtime function="GetDateMk(@me)" /}</td>
<td>{dede:field.isdown function="IsDownLoad(@me)" /}</td>
<td><a href=' {dede:field.url/}' target='_blank'>[源网址]</a></td>
</tr>
{/dede:datalist}
</form>
<tr>
<td height="28" colspan="6" bgcolor="#FCFDF7">&nbsp;
<input type="button" name="b7" value="反选" class="coolbg np" style="width:40" onClick="ReSel();">    
<input type="button" name="b5" value="删除所选网址" class="coolbg np" style="width:100" onClick="DelSel();"> 
</td>
</tr>
<tr>
<td height="30" colspan="6" bgcolor="#FCFDF7" align="center">
{dede:pagelist listsize=5/}
</td>
</tr>
</table>
</body>
</html>

+ 0
- 113
src/dede/templets/co_view.htm View File

@@ -1,113 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo $cfg_soft_lang; ?>">
<title>采集内容预览</title>
<link href="css/base.css" rel="stylesheet" type="text/css">
</head>
<body background='images/allbg.gif' leftmargin='8' topmargin='8'>
<form name='form1' action='co_view.php' method='post'>
<input type='hidden' name='action' value='save' />
<input type='hidden' name='nid' value='<?php echo $nid; ?>' />
<input type='hidden' name='aid' value='<?php echo $aid; ?>' />
<table width="98%" border="0" cellpadding="3" cellspacing="1" bgcolor="#D6D6D6" align="center">
<tr>
<td height="28" colspan="2" background='images/tbg.gif' style="padding-left:10px;">
<a href='co_url.php'><b>采集内容管理</b></a><b> &gt; 采集内容预览:</b>(系统会自动下载并处理未下载过的内容)
</td>
</tr>
<tr bgcolor="#ffffff">
<td height="24" colspan="2">如果发布时间(pubdate)为空,系统将采用导入时的实际时间,‘#p#副标题#e#’字样是系统分页符号,请不要替换。</td>
</tr>
<tr height="26" bgcolor="#FBFCE2">
<td width="17%" height="24" align="center" bgcolor="#F8FCF1"><strong>字段名称</strong></td>
<td width="83%" align="center" bgcolor="#F8FCF1"><strong>内 容</strong></td>
</tr>
<?php
for($i=0;$i<=$dtp->Count;$i++)
{
$ctag = $dtp->CTags[$i];
if($ctag->GetName()=="field")
{
$fname = $ctag->GetAtt("name");
$fvalue = $ctag->GetInnerText();
?>
<tr>
<td height="24" align="center" valign="top" bgcolor="#FFFFFF">
<?php echo $fname?>
<input type='hidden' name='noteid_<?php echo $i?>' value='<?php echo $fname?>' />
</td>
<td bgcolor="#FFFFFF">
<?php
if(strlen($fvalue)<200) echo "<textarea name=\"value_$i\" rows=\"1\" style=\"width:90%\">$fvalue</textarea>";
else echo "<textarea name=\"value_$i\" rows=\"12\" style=\"width:90%\">$fvalue</textarea>";
?>
</td>
</tr>
<?php
}
}
$dtp->Clear();
?>
<input type='hidden' name='endid' value='<?php echo $i?>' />
<tr bgcolor="#F9FCEF">
<td height="24" colspan="2" align="center">
<input name="imageField" type="image" src="images/button_save.gif" class="np" width="60" height="22" border="0" />
&nbsp;
<a href="<?php echo $backurl?>"><img src="images/button_back.gif" class="np" width="60" height="22" border="0" /></a>
</td>
</tr>
</table>
</form>
<form name='form2' action='co_do.php' method='post'>
<input type='hidden' name='dopost' value='replace' />
<input type='hidden' name='nid' value='<?php echo $nid; ?>' />
<input type='hidden' name='aid' value='<?php echo $aid; ?>' />
<table width="98%" border="0" cellpadding="3" cellspacing="1" bgcolor="#D6D6D6" align="center" style="margin-top:6px">
<tr>
<td colspan='4' height="28" colspan="2" background='images/tbg.gif' style="padding-left:10px;">
<b>内容替换:</b>
</td>
</tr>
<tr bgcolor="#ffffff">
<td colspan='4' height="24">进行替换时会把当前节点的所有结果在原始内容中进行替换,使用正则表达式模式时,会要求再次确实,请注意使用风险。</td>
</tr>
<tr bgcolor="#ffffff">
<td width='12%'>匹配模式:</td>
<td colspan='3'>
<input type='radio' name='regtype' value='string' class='np' checked='1' />完全匹配
<input type='radio' name='regtype' value='regex' class='np' />正则表达式
</td>
</tr>
<tr bgcolor="#ffffff" height="160">
<td width='12%'>当前记录<br />原始内容参考:</td>
<td colspan='3'>
<textarea name="rs" style="width:96%;height:150px"><?php echo $body; ?></textarea>
</td>
</tr>
<tr bgcolor="#ffffff" height="70">
<td width='12%'>
要替换的字符串<br />
或正则表达式:
</td>
<td width='38%'>
<textarea name="fdstring" style="width:90%;height:60px"></textarea>
</td>
<td width='12%'>替换为:</td>
<td>
<textarea name="rpstring" style="width:90%;height:60px"></textarea>
</td>
</tr>
<tr bgcolor="#F9FCEF">
<td height="24" colspan="4" align="center">
<input name="imageField" type="image" src="images/button_ok.gif" class="np" width="60" height="22" border="0" />
&nbsp;
<a href="<?php echo $backurl?>"><img src="images/button_back.gif" class="np" width="60" height="22" border="0" /></a>
</td>
</tr>
</table>
</form>
</body>
</html>

+ 0
- 2
src/dede/templets/index_menu2.htm View File

@@ -153,8 +153,6 @@ echo "<script language='javascript'>var curopenItem = '$openitem';</script>\r\n"
<div onClick="ShowMainMenu(100)">模块</div>
</a> <a id='link5' class='mm'>
<div onClick="ShowMainMenu(5)">生成</div>
</a> <a id='link3' class='mm'>
<div onClick="ShowMainMenu(3)">采集</div>
</a> <a id='link6' class='mm'>
<div onClick="ShowMainMenu(6)">会员</div>
</a>


Loading…
Cancel
Save