function do_batch() { $_POST['id'] or iPHP::alert("请选择要操作的文章"); $ids = implode(',', (array) $_POST['id']); $batch = $_POST['batch']; switch ($batch) { case 'order': foreach ((array) $_POST['ordernum'] as $id => $ordernum) { articleTable::update(compact('ordernum'), compact('id')); } iPHP::success('排序已更新!', 'js:1'); break; case 'baiduping': foreach ((array) $_POST['id'] as $id) { $this->do_baiduping($id, false); } iPHP::success('推送完成!', 'js:1'); break; case 'move': $_POST['cid'] or iPHP::alert("请选择目标栏目!"); iPHP::import(iPHP_APP_CORE . '/iMAP.class.php'); map::init('category', $this->appid); $cid = (int) $_POST['cid']; iACP::CP($cid, 'ca', 'alert'); foreach ((array) $_POST['id'] as $id) { $_cid = articleTable::value('cid', $id); articleTable::update(compact('cid'), compact('id')); if ($_cid != $cid) { map::diff($cid, $_cid, $id); $this->categoryApp->update_count_one($_cid, '-'); $this->categoryApp->update_count_one($cid); } } iPHP::success('成功移动到目标栏目!', 'js:1'); break; case 'scid': //$_POST['scid'] OR iPHP::alert("请选择目标栏目!"); iPHP::import(iPHP_APP_CORE . '/iMAP.class.php'); map::init('category', $this->appid); $scid = implode(',', (array) $_POST['scid']); foreach ((array) $_POST['id'] as $id) { $_scid = articleTable::value('scid', $id); articleTable::update(compact('scid'), compact('id')); map::diff($scid, $_scid, $id); } iPHP::success('文章副栏目设置完成!', 'js:1'); break; case 'prop': iPHP::import(iPHP_APP_CORE . '/iMAP.class.php'); map::init('prop', $this->appid); $pid = implode(',', (array) $_POST['pid']); foreach ((array) $_POST['id'] as $id) { $_pid = articleTable::value('pid', $id); articleTable::update(compact('pid'), compact('id')); map::diff($pid, $_pid, $id); } iPHP::success('文章属性设置完成!', 'js:1'); break; case 'weight': $data = array('weight' => _int($_POST['mweight'])); break; case 'keyword': if ($_POST['pattern'] == 'replace') { $data = array('keywords' => iS::escapeStr($_POST['mkeyword'])); } elseif ($_POST['pattern'] == 'addto') { foreach ($_POST['id'] as $id) { $keywords = articleTable::value('keywords', $id); $keywords = $keywords ? $keywords . ',' . iS::escapeStr($_POST['mkeyword']) : iS::escapeStr($_POST['mkeyword']); articleTable::update(compact('keywords'), compact('id')); } iPHP::success('文章关键字更改完成!', 'js:1'); } break; case 'tag': iPHP::app('tag.class', 'static'); foreach ($_POST['id'] as $id) { $art = articleTable::row($id, 'tags,cid'); $mtag = iS::escapeStr($_POST['mtag']); if ($_POST['pattern'] == 'replace') { } elseif ($_POST['pattern'] == 'addto') { $art['tags'] && ($mtag = $art['tags'] . ',' . $mtag); } $tags = tag::diff($mtag, $art['tags'], iMember::$userid, $id, $art['cid']); $tags = addslashes($tags); articleTable::update(compact('tags'), compact('id')); } iPHP::success('文章标签更改完成!', 'js:1'); break; case 'thumb': foreach ((array) $_POST['id'] as $id) { $body = articleTable::body($id); $picurl = $this->remotepic($body, 'autopic', $id); $this->pic($picurl, $id); } iPHP::success('成功提取缩略图!', 'js:1'); break; case 'dels': iPHP::$break = false; ob_implicit_flush(); $_count = count($_POST['id']); foreach ((array) $_POST['id'] as $i => $id) { $msg = $this->delArticle($id); $msg .= $this->del_msg('文章删除完成!'); $updateMsg = $i ? true : false; $timeout = $i++ == $_count ? '3' : false; iPHP::dialog($msg, 'js:parent.$("#id' . $id . '").remove();', $timeout, 0, $updateMsg); ob_end_flush(); } iPHP::$break = true; iPHP::success('文章全部删除完成!', 'js:1', 3, 0, true); break; default: $data = iACP::fields($batch); } $data && articleTable::batch($data, $ids); iPHP::success('操作成功!', 'js:1'); }