$fromstr = empty($fromid) ? "" : "cnid>{$fromid}"; $nwheresql = !$wheresql ? $fromstr ? "WHERE {$fromstr}" : "" : $wheresql . ($fromstr ? " AND " : "") . $fromstr; $query = $db->query("SELECT cnid,ename {$fromsql} {$nwheresql} ORDER BY cnid ASC LIMIT 0,{$atpp}"); while ($item = $db->fetch_array($query)) { $selectid[] = $item['cnid']; } } if (empty($selectid)) { amessage('selectcnode', "?entry={$entry}&action={$action}{$param_suffix}&page={$page}{$filterstr}"); } } if (!empty($cndeal['delete'])) { $query = $db->query("SELECT * {$fromsql} WHERE cnid " . multi_str($selectid)); while ($r = $db->fetch_array($query)) { for ($i = 0; $i <= $r['addnum']; $i++) { m_unlink(m_parseurl(mcn_format($r['ename'], $i), array('addno' => $i))); } } $db->query("DELETE {$fromsql} WHERE cnid " . multi_str($selectid), 'UNBUFFERED'); } else { if (!empty($cndeal['addnum'])) { $db->query("UPDATE {$tblprefix}mcnodes SET addnum='" . min(empty($mcn_max_addno) ? 0 : $mcn_max_addno, max(0, intval($cnaddnum))) . "' WHERE cnid " . multi_str($selectid)); } $tplarr = $urlarr = $staticarr = $periodarr = array(); for ($i = 0; $i <= $mcn_max_addno; $i++) { foreach (array('tpl', 'url', 'static', 'period') as $var) { if (!empty($cndeal[$var . $i])) { ${$var . 'arr'}[$i] = ${'cn' . $var . $i}; } } }
function mcn_blank($cnstr, $addnos = array(), $force = 0) { //force:强行覆盖第一个文件,为0时为修复链接 global $enablestatic, $memberdir; if (!$cnstr || !($cnode = read_mcnode($cnstr))) { return; } if (!is_array($addnos)) { $addnos = array($addnos); } if (!$addnos) { return; } $statics = empty($cnode['statics']) ? array() : explode(',', $cnode['statics']); for ($i = 0; $i <= $cnode['addnum']; $i++) { if (in_array($i, $addnos)) { if (empty($statics[$i]) ? $enablestatic : ($statics[$i] == 1 ? 0 : 1)) { $cnfile = M_ROOT . m_parseurl(mcn_format($cnstr, $i), array('page' => 1)); if ($force || !is_file($cnfile)) { @str2file(direct_html("{$memberdir}/index.php?{$cnstr}" . ($i ? "&&addno={$i}" : '')), $cnfile); } } } } }