Exemple #1
0
function mcnodes_update($cname)
{
    global $db, $tblprefix;
    $mcnodes = array();
    $query = $db->query("SELECT * FROM {$tblprefix}mcnodes");
    while ($row = $db->fetch_array($query)) {
        $mcnodes[$row['ename']] = $row;
    }
    cache2file($mcnodes, 'mcnodes', '', 0);
    unset($mcnodes, $row);
}
Exemple #2
0
    $cmsinfos['lic_str'] = '';
    if ($lic_infos = @file($lic_file)) {
        $lic_infos = array_filter($lic_infos);
        $cmsinfos['lic_str'] = str_replace(array("\r", "\n"), '', implode('-', $lic_infos));
    }
    if (!preg_match("/[\\d\\.]{7,15}/", $now_svr)) {
        $upstr = '';
        $cms_up_url = $cms_upurl;
        $updates = array('mcharset' => $mcharset, 'cms_version' => $cms_version, 'lan_version' => $lan_version, 'server_name' => $now_svr, 'cmsname' => $cmsname, 'lic_str' => $cmsinfos['lic_str']);
        foreach ($updates as $k => $v) {
            $upstr .= $k . '=' . rawurlencode($v) . '&';
        }
        $cms_up_url .= '/upmsg.php?update=' . rawurlencode(base64_encode($upstr)) . '&md5sign=' . substr(md5($_SERVER['HTTP_USER_AGENT'] . $upstr . $timestamp), 8, 8) . '&uptime=' . $timestamp;
        unset($updates, $upstr);
    }
    cache2file($cmsinfos, 'cmsinfos');
}
$archivestr = $memberstr = '';
foreach ($tblarr as $k => $v) {
    $var = in_array($k, array('archive', 'comment', 'reply', 'answer', 'orders', 'offer')) ? 'archivestr' : 'memberstr';
    ${$var} .= '<tr><td class="bgc_E7F5FE fB">' . lang($k) . '</td><td class="bgc_FFFFFF">' . @$cmsinfos[$k]['ck'] . '</td><td class="bgc_FFFFFF">' . @$cmsinfos[$k]['nock'] . '</td><td class="bgc_FFFFFF">' . @$cmsinfos[$k]['m'] . '</td><td class="bgc_FFFFFF">' . @$cmsinfos[$k]['w'] . '</td><td class="bgc_FFFFFF">' . @$cmsinfos[$k]['d3'] . '</td><td class="bgc_FFFFFF">' . @$cmsinfos[$k]['d1'] . '</td></tr>';
}
$lic_str = empty($cmsinfos['lic_str']) ? lang('lic_uk') . ' <a href="http://www.08cms.com" target="_blank" class="cRed">' . lang('lic_by') . '</a>' : lang('lic_no') . $cmsinfos['lic_str'] . '<a href="http://www.08cms.com" target="_blank" class="cRed">' . lang('lic_ck') . '</a>';
$cmsinfos['server'] = PHP_OS . '/PHP ' . PHP_VERSION;
$cmsinfos['safe_mode'] = @ini_get('safe_mode') ? 'ON' : 'OFF';
$cmsinfos['max_upload'] = @ini_get('upload_max_filesize') ? @ini_get('upload_max_filesize') : 'Disabled';
$cmsinfos['allow_url_fopen'] = @ini_get('allow_url_fopen') ? "YES" : "NO";
$cmsinfos['gdpic'] = function_exists("imagealphablending") && function_exists("imagecreatefromjpeg") && function_exists("ImageJpeg") ? 'YES' : 'NO';
$cmsinfos['servertime'] = date("Y-m-d  H:i");
$gid = $curuser->info['grouptype2'];
$group = read_cache('usergroups', 2);
        		}*/
        if (!empty($tagutclass)) {
            in_array($tagutclass, $clscname) && amessage('utcls_exist', axaction(1, M_REFERER));
            #			$tagclasses[$utc.$clsindex] = array(
            $tagclasses[auto_utc_index()] = array('cname' => $tagutclass, 'vieworder' => max(0, intval($tagutclassorder)));
        }
        if (!empty($utclassnew)) {
            foreach ($utclassnew as $key => $clsnew) {
                if (array_key_exists($key, $tagclasses)) {
                    !empty($clsnew['cname']) && !in_array($clsnew['cname'], $clscname) && ($tagclasses[$key]['cname'] = $clsnew['cname']);
                    $tagclasses[$key]['vieworder'] = max(0, intval($clsnew['vieworder']));
                }
            }
        }
        multisort($tagclasses);
        cache2file($tagclasses, 'tagclasses', 'usualtags', $sid);
        adminlog(lang('edit_tagclasses_mlist'));
        amessage('utcls_fin', axaction(1, M_REFERER));
    }
}
function multisort(&$arr)
{
    if (!is_array($arr) || empty($arr) || !function_exists('array_multisort')) {
        return;
    }
    foreach ($arr as $k => $v) {
        $vorder[$k] = $v['vieworder'];
        $eorder[$k] = $k;
    }
    array_multisort($vorder, SORT_ASC, $eorder, SORT_ASC, $arr);
}
    }
    foreach ($utags as $k => $v) {
        $ocache = read_cache('utag', $k, '', $nsid);
        cache2file($ocache, cache_name('utag', $k), 'utag', 0);
    }
    foreach ($ctags as $k => $v) {
        $ocache = read_cache('ctag', $k, '', $nsid);
        cache2file($ocache, cache_name('ctag', $k), 'ctag', 0);
    }
    foreach ($ptags as $k => $v) {
        $ocache = read_cache('ptag', $k, '', $nsid);
        cache2file($ocache, cache_name('ptag', $k), 'ptag', 0);
    }
    foreach ($rtags as $k => $v) {
        $ocache = read_cache('rtag', $k, '', $nsid);
        cache2file($ocache, cache_name('rtag', $k), 'rtag', 0);
    }
    clear_dir(M_ROOT . $subsite['dirname'], true);
    //清除子站目录
    clear_dir(M_ROOT . "dynamic/cache/{$nsid}/", true);
    //清除子站缓存
    m_unlink($homedefault);
    //清除可能残留的静态首页
    $db->query("DELETE FROM {$tblprefix}subsites WHERE sid='{$nsid}'", 'SILENT');
    rebuild_cache(-1);
    adminlog(lang('subsittranstmsite'));
    amessage('subtramsifin', '?entry=subsites&action=subsitesedit');
} elseif ($action == 'subsitedel' && $nsid) {
    if (empty($confirm)) {
        $message = lang('delsubsite') . '<br><br>' . lang('del_alert') . "<br><br>";
        $message .= lang('confirmclick') . "[<a href=?entry=subsites&action=subsitedel&nsid=" . $nsid . "&confirm=1>" . lang('delete') . "</a>]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
Exemple #5
0
                if (!empty($unsetvars1[$key]) && in_array($val, $unsetvars1[$key])) {
                    unset($mtagnew['setting'][$key]);
                }
            }
        }
        $mtagnew['template'] = empty($mtagnew['template']) ? '' : stripslashes($mtagnew['template']);
        $mtagnew['disabled'] = empty($mtag['disabled']) ? 0 : 1;
        $mtag = array('cname' => stripslashes($mtagnew['cname']), 'ename' => $mtagnew['ename'], 'tclass' => $tclass, 'template' => $mtagnew['template'], 'setting' => $mtagnew['setting'], 'disabled' => $mtagnew['disabled']);
        $mtags[$mtagnew['ename']] = array('tclass' => $tclass, 'vieworder' => $mtags[$tname]['vieworder']);
        cache2file($mtag, cache_name($ttype, $mtagnew['ename']), $ttype, $sid);
        if ($mtagnew['ename'] != $tname) {
            del_cache($ttype, $tname, '', $sid);
            unset($mtags[$tname]);
        }
        mtags_order($mtags);
        cache2file($mtags, $ttype . 's', $ttype . 's', $sid);
        adminlog(lang('detamod' . $ttype));
        amessage('tagmodfin', axaction(6, $forward));
    }
}
function mtags_order(&$mtags)
{
    if (!is_array($mtags) || empty($mtags) || !function_exists('array_multisort')) {
        return;
    }
    foreach ($mtags as $k => $v) {
        $vorder[$k] = $v['vieworder'];
        $eorder[$k] = $k;
    }
    array_multisort($vorder, SORT_ASC, $eorder, SORT_ASC, $mtags);
}
Exemple #6
0
    if (!submitcheck('bmtplcopy')) {
        !is_file($true_tpldir . '/' . $tplname) && amessage('poisotemfino');
        tabheader(lang('copnormapagetemp'), 'mtplcopy', "?entry=mtpls&action=mtplcopy{$param_suffix}&tplname={$tplname}");
        trbasic(lang('templatecname'), 'mtpladd[cname]');
        trbasic(lang('templateclass'), 'mtpladd[tpclass]', makeoption($tpclasses, $mtpl['tpclass']), 'select');
        trbasic(lang('soctemfi'), '', $tplname, '');
        trbasic(lang('tempfilsav'), 'mtpladd[tplname]');
        tabfooter('bmtplcopy');
        a_guide('mtplcopy');
    } else {
        (!$mtpladd['cname'] || !$mtpladd['tplname']) && amessage('datamissing', M_REFERER);
        $mtplsnew = findfiles($true_tpldir);
        in_array($mtpladd['tplname'], $mtplsnew) && amessage('poitemficnarep', M_REFERER);
        !copy($true_tpldir . '/' . $tplname, $true_tpldir . '/' . $mtpladd['tplname']) && amessage('temcopfai', M_REFERER);
        $mtpls[$mtpladd['tplname']] = array('cname' => stripslashes($mtpladd['cname']), 'tpclass' => $mtpladd['tpclass']);
        cache2file($mtpls, 'mtpls', 'mtpls', $sid);
        adminlog(lang('copynormaltemplate'));
        amessage('temcopfin', axaction(6, "?entry=mtpls&action=mtplsedit{$param_suffix}"));
    }
} elseif ($action == 'mtagcode') {
    if (empty($createrange)) {
        amessage('poitagsou');
    }
    if (preg_match("/\\{(u|c|p)\\\$(.+?)(\\s|\\})/is", $createrange, $matches)) {
        $ttype = $matches[1] . 'tag';
        $tname = $matches[2];
        $url = "?entry=mtags&action=mtagsdetail&ttype={$ttype}{$param_suffix}&tname={$tname}";
        mheader("location:{$url}");
    } elseif (preg_match("/\\{tpl\\\$(.+?)\\}/is", $createrange, $matches)) {
        $tname = $matches[1];
        $url = "?entry=mtags&action=mtagsdetail&ttype=rtag{$param_suffix}&tname={$tname}";
Exemple #7
0
            $no++;
            echo "<tr class=\"txt\">" . "<td class=\"txtC w30\">{$no}</td>\n" . "<td class=\"txtL\">{$v['cname']}</td>\n" . "<td class=\"txtL\">{$v['link']}</td>\n" . "<td class=\"txtC\"><input type=\"text\" size=\"20\" name=\"sptplsnew[{$k}][tplname]\" value=\"" . (empty($sptpls[$k]) ? '' : $sptpls[$k]) . "\"></td>\n" . "<td class=\"txtC w30\"><a href=\"?entry=sptpls&action=sptpldetail&spid={$k}{$param_suffix}\" onclick=\"return floatwin('open_sptplsedit',this)\">" . lang('edit') . "</a></td></tr>\n";
        }
        tabfooter('bsptplsedit', lang('modify'));
        a_guide('sptplsedit');
    } else {
        foreach ($dbtpls as $k => $v) {
            $sptplsnew[$k]['tplname'] = trim($sptplsnew[$k]['tplname']);
            if (preg_match("/[^a-z_A-Z0-9\\.]+/", $sptplsnew[$k]['tplname'])) {
                $sptplsnew[$k]['tplname'] = '';
            }
            if ($sptplsnew[$k]['tplname'] != @$sptpls[$k]) {
                $sptpls[$k] = $sptplsnew[$k]['tplname'];
            }
        }
        cache2file($sptpls, 'sptpls', 'sptpls', $sid);
        adminlog(lang('edsptemmanli'));
        amessage('pagemodfin', "?entry=sptpls&action=sptplsedit{$param_suffix}");
    }
} elseif ($action == 'sptpldetail' && $spid) {
    $dbtpl = $dbtpls[$spid];
    $tplname = empty($sptpls[$spid]) ? '' : $sptpls[$spid];
    if (!submitcheck('bsptpldetail')) {
        if (empty($tplname) || !is_file($true_tpldir . '/' . $tplname)) {
            if (@(!touch($true_tpldir . '/' . $tplname))) {
                amessage('sptplnoexist', axaction(2, M_REFERER));
            }
        }
        $template = load_tpl($tplname, 0);
        tabheader(lang('sptemset') . '-' . $dbtpl['cname'], 'sptpldetail', "?entry=sptpls&action=sptpldetail&spid={$spid}{$param_suffix}");
        trbasic(lang('templatecontent'), '', $tplname, '');
     }
     $tagsarr[] = array('utags', '');
     $outags = oread_cache('utags', '', '', 'template');
     foreach ($outags as $k => $v) {
         $tagsarr[] = array('utag', $k);
     }
     foreach ($tagsarr as $k => $v) {
         $ocache = oread_cache($v[0], $v[1], '', 'template');
         if (!$v[1]) {
             cache2file($ocache, $v[0], $v[0], $nsid);
         } else {
             if (!empty($ocache['template'])) {
                 oreplace($ocache['template'], 'p');
                 oreplace($ocache['template'], 'c');
             }
             cache2file($ocache, cache_name($v[0], $v[1]), $v[0], $nsid);
         }
     }
     //将一些站点信息写入进来
     $omconfigs = oread_cache('mconfigs', '', '', 'cache');
     $sqlstr = '';
     foreach (array('cmslogo', 'cmstitle', 'cmskeyword', 'cmsdescription', 'hometpl') as $var) {
         isset($omconfigs[$var]) && ($sqlstr .= ($sqlstr ? ',' : '') . "{$var}='" . addslashes($omconfigs[$var]) . "'");
     }
     $db->query("UPDATE {$tblprefix}subsites SET {$sqlstr} WHERE sid='{$nsid}'");
     updatecache('subsites');
     $stepeds['templates'] = 1;
     ocache2file($stepeds, 'stepeds');
     amessage('operatesuc', '?entry=subsetup&action=templates');
 } elseif (submitcheck('bundo')) {
     clear_dir($true_tpldir);
Exemple #9
0
function deal_btagnames()
{
    global $btagnames;
    $commus = reload_cache('commus');
    sys_cache('btagnames');
    $commoned = 0;
    $channels = reload_cache('channels');
    foreach ($channels as $chid => $channel) {
        $fields = reload_cache('fields', $chid);
        foreach ($fields as $k => $field) {
            if ($field['mcommon']) {
                !$commoned && ($btagnames[] = array('ename' => $k, 'cname' => $field['cname'], 'bclass' => 'archive', 'sclass' => '', 'datatype' => $field['datatype']));
            } else {
                $btagnames[] = array('ename' => $k, 'cname' => $field['cname'], 'bclass' => 'archive', 'sclass' => $chid, 'datatype' => $field['datatype']);
            }
        }
        if (@$commus[$channel['cuid']]['cclass'] == 'answer') {
            $btagnames[] = array('ename' => 'appeals', 'cname' => lang('appealamount'), 'bclass' => 'archive', 'sclass' => $chid, 'datatype' => 'int');
            $btagnames[] = array('ename' => 'appealdate', 'cname' => lang('appeendtime'), 'bclass' => 'archive', 'sclass' => $chid, 'datatype' => 'date');
        }
        $commoned = 1;
    }
    unset($channels, $fields);
    $commoned = 0;
    $fchannels = reload_cache('fchannels');
    foreach ($fchannels as $chid => $fchannel) {
        $fields = reload_cache('ffields', $chid);
        foreach ($fields as $k => $field) {
            if ($k == 'subject') {
                !$commoned && ($btagnames[] = array('ename' => $k, 'cname' => $field['cname'], 'bclass' => 'freeinfo', 'sclass' => '', 'datatype' => $field['datatype']));
            } else {
                $btagnames[] = array('ename' => $k, 'cname' => $field['cname'], 'bclass' => 'freeinfo', 'sclass' => $chid, 'datatype' => $field['datatype']);
            }
        }
        $commoned = 1;
    }
    unset($fchannels, $fields);
    $cotypes = reload_cache('cotypes');
    foreach ($cotypes as $coid => $cotype) {
        $btagnames[] = array('ename' => 'ccid' . $coid . 'title', 'cname' => $cotype['cname'] . lang('cocname'), 'bclass' => 'archive', 'sclass' => '', 'datatype' => 'text');
        $btagnames[] = array('ename' => "ccid{$coid}", 'cname' => $cotype['cname'] . lang('coclass') . 'id', 'bclass' => 'archive', 'sclass' => '', 'datatype' => 'int');
    }
    unset($cotypes, $cotype);
    $cafields = reload_cache('cafields');
    foreach ($cafields as $field) {
        $btagnames[] = array('ename' => $field['ename'], 'cname' => $field['cname'], 'bclass' => 'cnode', 'sclass' => 'catalog', 'datatype' => $field['datatype']);
    }
    unset($cafields, $field);
    $ccfields = reload_cache('ccfields');
    foreach ($ccfields as $field) {
        $btagnames[] = array('ename' => $field['ename'], 'cname' => $field['cname'], 'bclass' => 'cnode', 'sclass' => 'coclass', 'datatype' => $field['datatype']);
    }
    unset($ccfields, $field);
    $commoned = 0;
    $mchannels = reload_cache('mchannels');
    foreach ($mchannels as $chid => $mchannel) {
        $mfields = reload_cache('mfields', $chid);
        foreach ($mfields as $k => $field) {
            if ($field['mcommon']) {
                !$commoned && !in_array($k, array('password')) && ($btagnames[] = array('ename' => $k, 'cname' => $field['cname'], 'bclass' => 'member', 'sclass' => '', 'datatype' => $field['datatype']));
            } else {
                $btagnames[] = array('ename' => $k, 'cname' => $field['cname'], 'bclass' => 'member', 'sclass' => $chid, 'datatype' => $field['datatype']);
            }
        }
        $commoned = 1;
    }
    unset($mchannels, $mfields, $field);
    $currencys = reload_cache('currencys');
    foreach ($currencys as $crid => $currency) {
        $btagnames[] = array('ename' => 'currency' . $crid, 'cname' => $currency['cname'] . lang('amount'), 'bclass' => 'member', 'sclass' => '', 'datatype' => 'int');
    }
    unset($currencys, $currency);
    $grouptypes = reload_cache('grouptypes');
    foreach ($grouptypes as $gtid => $grouptype) {
        $btagnames[] = array('ename' => 'grouptype' . $gtid, 'cname' => $grouptype['cname'] . lang('usergroup') . 'id', 'bclass' => 'member', 'sclass' => '', 'datatype' => 'int');
        $btagnames[] = array('ename' => 'grouptype' . $gtid . 'name', 'cname' => $grouptype['cname'] . lang('usergroup'), 'bclass' => 'member', 'sclass' => '', 'datatype' => 'text');
    }
    unset($grouptypes, $grouptype);
    $bnames = array();
    foreach ($btagnames as $k => $v) {
        if (!array_key_exists($v['ename'], $bnames)) {
            $bnames[$v['ename']] = $v['cname'];
        } elseif (!in_array($v['cname'], array_filter(explode(' | ', $bnames[$v['ename']])))) {
            $bnames[$v['ename']] .= ' | ' . $v['cname'];
        }
    }
    cache2file($btagnames, 'btagnames');
    cache2file($bnames, 'bnames');
    unset($btagnames, $bnames);
}
Exemple #10
0
        if (!empty($csstplsnew)) {
            foreach ($csstplsnew as $k => $v) {
                $csstpls[$k]['cname'] = stripslashes($v['cname']);
            }
        }
        cache2file($csstpls, 'csstpls', 'csstpls', $sid);
        adminlog(lang('edit_cssfile_mlist'));
        amessage('cssfilemodifyfinish', M_REFERER);
    } else {
        if (!empty($jstplsnew)) {
            foreach ($jstplsnew as $k => $v) {
                $jstpls[$k]['cname'] = stripslashes($v['cname']);
                $jstpls[$k]['tplname'] = stripslashes($v['tplname']);
            }
        }
        cache2file($jstpls, 'jstpls', 'jstpls', $sid);
        adminlog(lang('edit_jsfile_mlist'));
        amessage('jsfilemodifyfinish', M_REFERER);
    }
} elseif ($action == 'fileadd') {
    $forward = empty($forward) ? M_REFERER : $forward;
    $forwardstr = '&forward=' . rawurlencode($forward);
    if (!submitcheck('bfileadd')) {
        tabheader(lang('add_css_js_file'), 'filecopy', "?entry=csstpls&action=fileadd{$param_suffix}&jsmode={$jsmode}{$forwardstr}");
        trbasic(($jsmode ? 'JS' : 'CSS') . lang('file_saveas'), 'filenamenew');
        echo "<tr class=\"txt\"><td class=\"txtL\">" . lang('file_content') . "</td>" . "<td class=\"txtL\"><textarea class=\"textarea\" style=\"width:650px;height:480px\" name=\"contentnew\" id=\"contentnew\"></textarea></td></tr>";
        tabfooter('bfileadd');
        a_guide('csstpladd');
    } else {
        if (empty($filenamenew)) {
            amessage('pointfilename', M_REFERER);