コード例 #1
0
ファイル: cparse.fun.php プロジェクト: polarlight1989/08cms
function cn_blank($cnstr, $sid, $addnos = array(), $force = 0)
{
    //force:强行覆盖第一个文件,为0时为修复链接
    global $enablestatic;
    $suffix = $sid ? ($cnstr ? '&' : '') . "sid={$sid}" : '';
    if ($cnstr) {
        if (!($cnode = read_cnode($cnstr, $sid))) {
            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(cn_format($cnstr, $i, $cnode), array('page' => 1));
                    if ($force || !is_file($cnfile)) {
                        @str2file(direct_html("index.php?{$cnstr}{$suffix}" . ($i ? "&&addno={$i}" : '')), $cnfile);
                    }
                }
            }
        }
    } elseif ($sid) {
        $cnfile = M_ROOT . m_parseurl(idx_format($sid), array('page' => 1));
        if ($force || !is_file($cnfile)) {
            @str2file(direct_html("index.php?{$suffix}"), $cnfile);
        }
    }
}
コード例 #2
0
ファイル: cnodes.inc.php プロジェクト: polarlight1989/08cms
         $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(cn_format($r['ename'], $i, $r), array('addno' => $i)));
         }
     }
     $db->query("DELETE {$fromsql} WHERE cnid " . multi_str($selectid), 'UNBUFFERED');
 } else {
     if (!empty($cndeal['addnum'])) {
         $db->query("UPDATE {$tblprefix}cnodes SET addnum='" . min(empty($cn_max_addno) ? 0 : $cn_max_addno, max(0, intval($cnaddnum))) . "' WHERE cnid " . multi_str($selectid));
     }
     $tplarr = $wtplarr = $urlarr = $staticarr = $periodarr = array();
     for ($i = 0; $i <= $cn_max_addno; $i++) {
         foreach (array('tpl', 'wtpl', 'url', 'static', 'period') as $var) {
             if (!empty($cndeal[$var . $i])) {
                 ${$var . 'arr'}[$i] = ${'cn' . $var . $i};
             }
         }
     }
コード例 #3
0
function index_unstatic($cnstr = '', $addno, $needwri = 1)
{
    global $sid;
    if ($cnstr) {
        if (!($cnode = read_cnode($cnstr, $sid))) {
            return;
        }
        $cnformat = cn_format($cnstr, $addno, $cnode);
    } else {
        $cnformat = idx_format($sid);
    }
    m_unlink($cnformat);
    if ($cnstr || $sid) {
        cn_blank($cnstr, $sid, $addno, 1);
    }
    $needwri && cn_update_needstatic($cnstr, $sid, $addno, 1);
    return true;
}
コード例 #4
0
ファイル: general.fun.php プロジェクト: polarlight1989/08cms
function view_cnurl(&$cnstr, &$cnode)
{
    global $enablestatic, $cn_max_addno, $cn_urls, $wap_suffix;
    if (empty($cnode)) {
        return;
    }
    if (defined('WAP_MODE')) {
        for ($i = 0; $i <= $cn_max_addno; $i++) {
            $cnode['indexurl' . ($i ? $i : '')] = $i <= @$cnode['addnum'] ? view_url("wap/index.php?{$cnstr}" . ($i ? "&addno={$i}" : '') . (empty($cnode['sid']) ? '' : '&sid=' . $cnode['sid']) . $wap_suffix) : '#';
        }
    } elseif (!empty($cnode['appurl'])) {
        for ($i = 0; $i <= $cn_max_addno; $i++) {
            $cnode['indexurl' . ($i ? $i : '')] = $cnode['appurl'];
        }
    } else {
        $staticarr = empty($cnode['statics']) ? array() : explode(',', $cnode['statics']);
        for ($i = 0; $i <= $cn_max_addno; $i++) {
            if (empty($staticarr[$i]) ? $enablestatic : ($staticarr[$i] == 1 ? 0 : 1)) {
                $cnode['indexurl' . ($i ? $i : '')] = $i <= @$cnode['addnum'] ? view_url(m_parseurl(cn_format($cnstr, $i, $cnode), array('page' => 1))) : '#';
            } else {
                $cnode['indexurl' . ($i ? $i : '')] = $i <= @$cnode['addnum'] ? view_url(en_virtual("index.php?{$cnstr}" . ($i ? "&addno={$i}" : '') . (empty($cnode['sid']) ? '' : '&sid=' . $cnode['sid']), 1)) : '#';
            }
        }
    }
}