Пример #1
0
 function _initFileModuleIds($file, $name)
 {
     @chmod($file, 0777);
     $fileString = pwCache::readover($file);
     $moduleConfigService = L::loadClass('moduleconfigservice', 'area');
     $newString = $moduleConfigService->cookModuleIds($fileString, $name);
     pwCache::writeover($file, $newString);
 }
Пример #2
0
 /**
  * 获取布局html
  * 
  * @param string $layout 布局名
  * @return string
  */
 function getLayoutString($layout)
 {
     if (!isset($this->layoutStrings[$layout])) {
         if ($layout && file_exists(S::escapePath(A_P . 'data/layout/' . $layout . '/layout.htm'))) {
             //* $this->layoutStrings[$layout] = readover(S::escapePath(A_P.'data/layout/'.$layout.'/layout.htm'));
             $this->layoutStrings[$layout] = pwCache::readover(S::escapePath(A_P . 'data/layout/' . $layout . '/layout.htm'));
         } else {
             $this->layoutStrings[$layout] = '';
         }
     }
     return $this->layoutStrings[$layout];
 }
Пример #3
0
!defined('P_W') && exit('Forbidden');
S::gp(array('subjectid', 'page', 'type'));
$u = "http://dm.phpwind.net/misc";
$subjectid = (int) $subjectid;
(!is_numeric($page) || $page < 1) && ($page = 1);
$s = '300.xml';
if ($type == 'general') {
    $s = $subjectid ? $subjectid . '_' . $page . '.xml' : '300.xml';
} elseif ($type == 'magic') {
    $s = $subjectid ? $subjectid . '_' . $page . '.xml' : '200.xml';
}
$cachefile = D_P . "data/bbscache/myshow_{$s}";
if (!file_exists($cachefile) || $timestamp - pwFilemtime($cachefile) > 43200) {
    $data = '';
    if ($subjectid) {
        $url = "{$u}/list/{$s}?{$timestamp}";
    } else {
        $url = "{$u}/menu/{$s}?{$timestamp}";
    }
    require_once R_P . 'require/posthost.php';
    $data = PostHost($url);
    if ($data && strpos($data, '<?xml') !== false) {
        //* writeover($cachefile, $data);
        pwCache::writeover($cachefile, $data);
    }
}
header("Content-Type: text/xml; charset=UTF-8");
$data = pwCache::readover($cachefile);
echo $data;
exit;
Пример #4
0
        if (file_exists(R_P . "/hack/{$key}/index.php")) {
            $installdb['index'][$key] = $value;
        } else {
            $installdb['noindex'][$key] = $value;
        }
    }
    if ($fp = opendir(R_P . 'hack')) {
        $infodb = array();
        while ($hackdir = readdir($fp)) {
            if (strpos($hackdir, '.') === false && empty($db_hackdb[$hackdir])) {
                $hackname = $hackdir;
                $hackopen = 0;
                if (function_exists('file_get_contents')) {
                    $filedata = @file_get_contents(R_P . "hack/{$hackdir}/info.xml");
                } else {
                    $filedata = pwCache::readover(R_P . "hack/{$hackdir}/info.xml");
                }
                if (preg_match('/\\<hackname\\>(.+?)\\<\\/hackname\\>\\s+\\<ifopen\\>(.+?)\\<\\/ifopen\\>/is', $filedata, $infodb)) {
                    $infodb[1] && ($hackname = S::escapeChar(str_replace(array("\n"), '', $infodb[1])));
                    $hackopen = (int) $infodb[2];
                }
                $hackurl = EncodeUrl("{$basename}&action=add&hackdir={$hackdir}&hackname=" . rawurlencode($hackname) . "&hackopen={$hackopen}");
                $uninstalldb[] = array($hackname, $hackdir, $hackopen, $hackurl);
            }
        }
        closedir($fp);
    }
    unset($db_hackdb);
    include PrintEot('hackcenter');
    exit;
} elseif ($action == 'edit') {
Пример #5
0
function singleBakinData($index, $pre)
{
    global $bakupDir;
    if (!$index) {
        return false;
    }
    $sql = array();
    $tmpname = $bakupDir . $pre . '/';
    $extend = file_exists($tmpname . 'table.zip') ? 'zip' : 'sql';
    $data = explode(',', $index);
    $filename = $tmpname . $data[0];
    if ($extend == 'zip') {
        L::loadClass('zip', 'utility', false);
        $zipService = new Zip();
        $filename = str_replace(substr($filename, strpos($filename, '.')), '.zip', $filename);
        list($tmpData) = $zipService->extract($filename);
        $tmpSql = explode("\n", $tmpData['data']);
    } else {
        $tmpData = pwCache::readover($filename);
        $tmpSql = explode("\n", $tmpData);
    }
    $sql = $data[2] == -1 ? array_slice($tmpSql, $data[1]) : array_slice($tmpSql, $data[1], $data[2] - $data[1]);
    return doBackIn($sql);
}
 function _getModulesFromTemplate($templteFile)
 {
     $fileString = pwCache::readover($templteFile);
     preg_match_all('/<pw.+?id=([\'|"]?)(.+?)(\\1).+?\\/>/i', $fileString, $reg);
     return $reg[2];
 }
Пример #7
0
            $db->update("INSERT INTO pw_styles" . " SET " . S::sqlSingle(array('name' => $key, 'customname' => $customname[$key], 'ifopen' => $ifopen[$key], 'stylepath' => $stylepath, 'tplpath' => $tplpath, 'yeyestyle' => $yeyestyle, 'bgcolor' => $bgcolor, 'linkcolor' => $linkcolor, 'tablecolor' => $tablecolor, 'tdcolor' => $tdcolor, 'tablewidth' => $tablewidth, 'mtablewidth' => $mtablewidth, 'headcolor' => $headcolor, 'headborder' => $headborder, 'headfontone' => $headfontone, 'headfonttwo' => $headfonttwo, 'cbgcolor' => $cbgcolor, 'cbgborder' => $cbgborder, 'cbgfont' => $cbgfont, 'forumcolorone' => $forumcolorone, 'forumcolortwo' => $forumcolortwo, 'extcss' => $extcss)));
        }
        $ifopen[$key] == 1 && ($styledb[$key] = array($customname[$key], $ifopen[$key], $tplpath));
    }
    setConfig('db_styledb', $styledb);
    setConfig('db_defaultstyle', $defaultstyle);
    updatecache_c();
    adminmsg('operate_success');
} elseif ($action == 'edit') {
    S::gp(array('sid'));
    if (!$_POST['step']) {
        //* include_once S::escapePath(D_P."data/style/$sid.php");
        extract(pwCache::getData(S::escapePath(D_P . "data/style/{$sid}.php"), false));
        ifcheck($yeyestyle, 'yes');
        $css_777 = pwWritable(D_P . "data/style/{$tplpath}_css.htm") ? 1 : 0;
        $style_css = pwCache::readover(D_P . "data/style/{$tplpath}_css.htm");
        $style_css = explode('<!--css-->', $style_css);
        $style_css = str_replace('$', "\$", $style_css[1]);
        include PrintEot('setstyles');
        exit;
    } else {
        S::gp(array('setting'), 'P');
        $basename .= "&action=edit&sid={$sid}";
        strpos($setting[7], '%') === false && strpos(strtolower($setting[7]), 'px') === false && ($setting[7] .= 'px');
        strpos($setting[8], '%') === false && strpos(strtolower($setting[8]), 'px') === false && ($setting[8] .= 'px');
        $rs = $db->get_one("SELECT sid FROM pw_styles WHERE name=" . S::sqlEscape($sid, false));
        if ($rs) {
            $db->update("UPDATE pw_styles" . " SET " . S::sqlSingle(array('stylepath' => $setting[0], 'tplpath' => $setting[1], 'yeyestyle' => $setting[2], 'bgcolor' => $setting[3], 'linkcolor' => $setting[4], 'tablecolor' => $setting[5], 'tdcolor' => $setting[6], 'tablewidth' => $setting[7], 'mtablewidth' => $setting[8], 'headcolor' => $setting[9], 'headborder' => $setting[10], 'headfontone' => $setting[11], 'headfonttwo' => $setting[12], 'cbgcolor' => $setting[13], 'cbgborder' => $setting[14], 'cbgfont' => $setting[15], 'forumcolorone' => $setting[16], 'forumcolortwo' => $setting[17], 'extcss' => $setting[18])) . ' WHERE name=' . S::sqlEscape($sid));
        } else {
            $db->update("INSERT INTO pw_styles" . " SET " . S::sqlSingle(array('name' => $sid, 'ifopen' => '1', 'stylepath' => $setting[0], 'tplpath' => $setting[1], 'yeyestyle' => $setting[2], 'bgcolor' => $setting[3], 'linkcolor' => $setting[4], 'tablecolor' => $setting[5], 'tdcolor' => $setting[6], 'tablewidth' => $setting[7], 'mtablewidth' => $setting[8], 'headcolor' => $setting[9], 'headborder' => $setting[10], 'headfontone' => $setting[11], 'headfonttwo' => $setting[12], 'cbgcolor' => $setting[13], 'cbgborder' => $setting[14], 'cbgfont' => $setting[15], 'forumcolorone' => $setting[16], 'forumcolortwo' => $setting[17], 'extcss' => $setting[18])));
        }
Пример #8
0
                }
                $uninstall[] = array($modename, $modedescrip, $modedir);
            }
        }
        closedir($fp);
    }
} elseif ($action == 'install') {
    require_once R_P . 'require/sql_deal.php';
    S::gp('mode', null, '1');
    if ($mode && !array_key_exists($mode, $db_modes)) {
        !file_exists(R_P . 'mode/' . $mode) && adminmsg('mode_no_directory');
        !file_exists(R_P . 'mode/' . $mode . '/info.xml') && adminmsg('mode_no_info');
        if (function_exists('file_get_contents')) {
            $filedata = @file_get_contents(R_P . "mode/{$mode}/info.xml");
        } else {
            $filedata = pwCache::readover(R_P . "mode/{$mode}/info.xml");
        }
        $sqlarray = file_exists(R_P . "mode/{$mode}/sql.txt") ? FileArray($mode, 'mode') : array();
        !empty($sqlarray) && SQLCreate($sqlarray, true);
        $params = xml2array($filedata);
        if (!$db_modes || !is_array($db_modes)) {
            $db_modes = array();
        }
        $m_name = S::escapeChar($params['modename']);
        $db_modes[$mode] = array('m_name' => $m_name, 'ifopen' => 1, 'title' => $m_name);
        setConfig('db_modes', $db_modes);
        //云统计获取房产、商家导航的安装时间
        if (S::inArray($mode, array('house', 'dianpu'))) {
            $stasticsService = L::loadClass('Statistics', 'datanalyse');
            $mode == 'house' && $stasticsService->houseInstallTime();
            $mode == 'dianpu' && $stasticsService->dianpuInstallTime();