예제 #1
0
         $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};
             }
         }
     }
예제 #2
0
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);
                }
            }
        }
    }
}