📄 theme.php
字号:
if (trim($filecontent) == "") { adminerror("无效风格","这个你上传的风格不是一个有效的主题,你不能继续."); } $data_arr = explode("|||||",$filecontent); unset($filecontent); foreach ($data_arr AS $data) { $count ++; if ($count%2 == 1) { $info[$data] = ""; $last_info = $data; } else { $info[$last_info] = $data; } } unset($data_arr); if (($info[' version'] != $version) & !$ignore) { adminerror("无效的版本","这个上传的主题针对VirtuaNews不是一个正确的版本. 如果你想继续,你必须返回并确保你的设置能继续即使他不是一个正确的版本."); } if (($info[' theme title'] == "!!MASTER!!") & ($info[' page set'] == "!!MASTER!!") & ($info[' style set'] == "!!MASTER!!")) { $is_master = 1; $is_mod = 0; } else if (($info[' theme title'] == "!!MODULES!!") & ($info[' page set'] == "!!MODULES!!") & ($info[' style set'] == "!!MODULES!!")) { $is_master = 1; $is_mod = 1; } else { $is_master = 0; $is_mod = 0; } if ($is_master) { $pagesetid = "-1"; $stylesetid = "-1"; } else { if ($overwrite) { verifyid("news_theme",$overwrite); $data_arr = query_first("SELECT title,pagesetid,stylesetid FROM news_theme WHERE id = $overwrite"); $pagesetid = $data_arr[pagesetid]; $stylesetid = $data_arr[stylesetid]; } else { query("INSERT INTO news_styleset VALUES (NULL,'".$info[' style set']."')"); $stylesetid = getlastinsert(); query("INSERT INTO news_pageset VALUES (NULL,'".$info[' page set']."')"); $pagesetid = getlastinsert(); query("INSERT INTO news_theme VALUES (NULL,'".$info[' theme title']."','$pagesetid','$stylesetid','1')"); } } unset($info[' version']); unset($info[' theme title']); unset($info[' style set']); unset($info[' page set']); foreach($info AS $title => $data) { $data = undoescapetext($data); if (substr($title,0,13) == " stylevar !!!") { $varname = mysql_escape_string(substr($title,13)); if ($varname != "") { $data = mysql_escape_string($data); if(query_first("SELECT id FROM news_style WHERE (varname = '$varname') AND (stylesetid = '$stylesetid')")) { query("UPDATE news_style SET value = '$data' WHERE (varname = '$varname') AND (stylesetid = '$stylesetid')"); } else { query("INSERT INTO news_style VALUES (NULL,'$stylesetid','$varname','$data')"); } } } elseif (substr($title,0,9) == " page !!!") { $name = substr($title,9); $pagetype = returnpagetype($name); if ($is_master & ($name != "")) { if ($is_mod) { writepagebit("pages/default/mod/".$name.".vnp",$data); } else { writepagebit("pages/default/".$name.".vnp",$data); } } elseif (($name != "") & ($pagetype > 0)) { unset($is_mod); if ($pagetype > 2) { $is_mod = 0; } else { if (preg_match("/custom_(.*)/siU",$name)) { $is_mod = 0; } else { $is_mod = 1; } } $temp = query_first("SELECT id,pagesetid,description,onserver FROM news_page WHERE (title = '$name') AND (pagesetid IN ('$pagesetid','-1','-2')) ORDER BY pagesetid DESC"); if(($temp[pagesetid] == "-1") | ($temp[pagesetid] == "-2")) { query("INSERT INTO news_page VALUES (NULL,'$pagesetid','$name','".addslashes($temp[description])."','$data_arr[onserver]')"); } if ($is_mod) { writepagebit("pages/user/mod/".$name."_".$pagesetid.".vnp",$data); } elseif (isset($is_mod)) { writepagebit("pages/user/".$name."_".$pagesetid.".vnp",$data); } } } } writeallpages(); echohtmlheader(); echotableheader("模板导入正确",1); echotabledescription("模板现在被正确导入, 请确保你的上传图片能在这个模板正确使用.",1); echotablefooter(); echohtmlfooter();break;case "theme_download": if ($id == "-1") { $theme_title = "!!MASTER!!"; $pageset_id = "-1"; $pageset_title = "!!MASTER!!"; $styleset_id = "-1"; $styleset_title = "!!MASTER!!"; } elseif ($id == "-2") { $theme_title = "!!MODULES!!"; $pageset_id = "-2"; $pageset_title = "!!MODULES!!"; $styleset_id = "0"; $styleset_title = "!!MODULES!!"; } else { verifyid("news_theme",$id); $data_arr = query_first("SELECT news_theme.title, news_theme.pagesetid, news_theme.stylesetid, news_pageset.title AS pagesettitle, news_styleset.title AS stylesettitle FROM news_theme LEFT JOIN news_pageset ON news_theme.pagesetid = news_pageset.id LEFT JOIN news_styleset ON news_theme.stylesetid = news_styleset.id WHERE news_theme.id = $id"); $theme_title = $data_arr[title]; $pageset_id = $data_arr[pagesetid]; $pageset_title = $data_arr[pagesettitle]; $styleset_id = $data_arr[stylesetid]; $styleset_title = $data_arr[stylesettitle]; } $filetext = " version|||||$version||||| theme title|||||$theme_title||||| page set|||||$pageset_title||||| style set|||||$styleset_title"; $getwords = query("SELECT varname,value FROM news_style WHERE stylesetid = $styleset_id"); while ($replace_arr = fetch_array($getwords)) { $filetext .= "||||| stylevar !!!$replace_arr[varname]|||||".escapetext($replace_arr[value]); } $getpages = query("SELECT title FROM news_page WHERE pagesetid = $pageset_id ORDER BY title"); while ($page_arr = fetch_array($getpages)) { $pagetype = returnpagetype($page_arr[title],$pageset_id); if ($id == "-2") { $data = @join("",@file("pages/default/mod/".$page_arr[title].".vnp")); } elseif ($id == "-1") { $data = @join("",@file("pages/default/".$page_arr[title].".vnp")); } elseif ($pagetype == 3) { $data = @join("",@file("pages/user/".$page_arr[title]."_".$pageset_id.".vnp")); } elseif ($pagetype == 1) { $data = @join("",@file("pages/user/mod/".$page_arr[title]."_".$pageset_id.".vnp")); } $filetext .= "||||| page !!!$page_arr[title]|||||".escapetext($data); } header("Content-disposition: filename=virtuanews.set"); header("Content-Length: ".strlen($filetext)); header("Content-type: unknown/unknown"); header("Pragma: no-cache"); header("Expires: 0"); echo $filetext; exit;break;case "theme_pageselect": verifyid("news_theme",$themeid); $data_arr = query_first("SELECT news_theme.title,news_theme.pagesetid,news_pageset.title AS pageset_title FROM news_theme LEFT JOIN news_pageset ON news_theme.pagesetid = news_pageset.id WHERE news_theme.id = $themeid"); if (query_first("SELECT id FROM news_page WHERE (title LIKE 'custom_%') AND (pagesetid = $data_arr[pagesetid]) LIMIT 1")) { $page_arr[custom][title] = "Custom Pages"; $page_arr[custom][help] = "This category contains all of your custom pages for this page set."; } $moddata = getmoddata(); if (countrows($moddata)) { $page_arr[][title] = ""; } while ($mod_arr = fetch_array($moddata)) { $page_arr[$mod_arr[name]][title] = "$mod_arr[text] module pages"; $page_arr[$mod_arr[name]][help] = "This category contains all of the pages for the module ".str_replace("'","\\'",$mod_arr[text]); } $adminpageview = iif($HTTP_COOKIE_VARS[pageview] == "threaded","threaded","select"); if (!empty($HTTP_GET_VARS[pageview])) { $adminpageview = iif($HTTP_GET_VARS[pageview] == "threaded","threaded","select"); } updatecookie("pageview",$adminpageview,iif($adminpageview == "select",-1800,0)); if ($adminpageview == "select") { unset($page_select); $javascript = "<script type=\"text/javascript\">\nfunction updatesubpages(theform) {\n\n var pageval = theform.page.value;\n\n"; foreach ($page_arr AS $key => $val) { $page_select .= " <option value=\"$key\">$val[title]</option>\n"; $javascript .= " if (pageval == '$key') {\n theform.pagehelp.value = '$val[help]';\n theform.subpage.selectedIndex = 0;\n theform.subpage.options.length = 0;\n"; $count = 0; if ($val[sub]) { foreach ($val[sub] AS $subkey => $subval) { $javascript .= " theform.subpage.options[".$count++."] = new Option('$subval[title]','$subkey');\n"; } } $javascript .= " theform.subpage.options[".$count++."] = new Option('View Top Category','');\n }\n"; } $javascript .= "}\n</script>"; $tablerows = returnminitablerow("Select pages to edit:","\n <select name=\"page\" class=\"form\" onchange=\"updatesubpages(this.form)\" size=\"10\" style=\"width:200px\">\n$page_select </select>\n ","<textarea class=\"pagehelp\" name=\"pagehelp\" rows=\"7\" cols=\"50\" readonly=\"readonly\"></textarea>"); $tablerows .= returnminitablerow("Select subpages to edit:","\n <select name=\"subpage\" class=\"form\" size=\"5\" style=\"width:200px\">\n <option value=\"\">Select A Page Category First</option>\n </select>\n "," "); } else { $tablerows = " <ul>\n"; foreach ($page_arr AS $key => $val) { if ($val[title]) { $tablerows .= " <li><b>$val[title]</b> ".iif($expand == $key,returnlinkcode("Collapse","admin.php?action=theme_pageselect&themeid=$themeid"),returnlinkcode("Expand","admin.php?action=theme_pageselect&themeid=$themeid&expand=$key"))."</li>\n"; } else { $tablerows .= " </ul>\n <ul>\n"; } if (($expand == $key) & ($val[title] != "")) { $tablerows .= " <ul>\n"; if ($val[sub]) { foreach ($val[sub] AS $subkey => $subval) { unset($pages); $tablerows .= " <li><b>$subval[title]</b> ".iif($subexpand == $subkey,returnlinkcode("Collapse","admin.php?action=theme_pageselect&themeid=$themeid&expand=$key"),returnlinkcode("Expand","admin.php?action=theme_pageselect&themeid=$themeid&expand=$key&subexpand=$subkey"))."</li>\n"; if ($subexpand == $subkey) { $tablerows .= " <ul>\n"; $tablerows .= returnpagelist("(title LIKE '".$key."_".$subkey."%')",2); $tablerows .= " </ul><br />\n"; } $sql_arr[] = "(title NOT LIKE '".$key."_".$subkey."%')"; } } $sql_arr[] = "(title LIKE '".$key."_%')"; $tablerows .= returnpagelist($sql_arr,1); $tablerows .= " </ul><br />\n"; } } $tablerows .= " </ul>\n"; } echohtmlheader($javascript); if ($adminpageview == "select") { echoformheader("theme_page","编辑模板页面"); updatehiddenvar("themeid",$themeid); } else { echotableheader("编辑模板页面"); } echotabledescription("你可以使用这个页面去编辑你的风格的每个单一的页面并按照你的意思正确的创造和设计你的页面。编辑你站点的页面,清在这站选择你想更新的范围."); echotablerow("模板名称:",$data_arr[title]." |".returnlinkcode("编辑","admin.php?action=theme_edit&id=$themeid")." |".returnlinkcode("删除","admin.php?action=theme_delete&id=$themeid"),"",15); echotablerow("页面设置:",$data_arr[pageset_title]." |".returnlinkcode("编辑","admin.php?action=theme_pageset_edit&id=$data_arr[pagesetid]&themeid=$themeid")." |".returnlinkcode("删除","admin.php?action=theme_pageset_delete&id=$data_arr[pagesetid]"),"",15); echotabledescription(returnlinkcode("添加定制页面","admin.php?action=theme_page_add&themeid=$themeid")." |".returnlinkcode("添加页面设置","admin.php?action=theme_pageset_add")." |".iif($adminpageview == "threaded",returnlinkcode("查看显示选择","admin.php?action=theme_pageselect&themeid=$themeid&pageview=select"),returnlinkcode("查看在线显示","admin.php?action=theme_pageselect&themeid=$themeid&pageview=threaded"))); if ($adminpageview == "select") { echotabledescription("\n".returnminitable($tablerows,0,100)." "); echoformfooter(); } else { echotabledescription("\n$tablerows "); echotablefooter(); } echohtmlfooter();break;case "theme_page": settype($themeid,"integer"); if ($temp = query_first("SELECT pagesetid FROM news_theme WHERE id = $themeid")) { $pagesetid = $temp[pagesetid]; } else { adminerror("无效ID","你指定了一个无效id."); } if (query_first("SELECT id FROM news_page WHERE (title LIKE 'custom_%') AND (pagesetid = $pagesetid) LIMIT 1")) { $page_arr[custom][title] = "Custom Pages"; $page_arr[custom][help] = "This category contains all of your custom pages for this page set."; } $moddata = getmoddata(); while ($mod_arr = fetch_array($moddata)) { $page_arr[$mod_arr[name]][title] = "$mod_arr[text] module pages"; $page_arr[$mod_arr[name]][help] = "This category contains all of the pages for the module $mod_arr[text]."; } if (!$page_arr[$page]) { adminerror("无效页面分类","你指定了一个无效页面分类."); } elseif ($subpage & !$page_arr[$page][sub][$subpage]) { adminerror("无效隐藏页面分类","你指定了一个隐藏无效页面分类."); } if ($subpage) { $pagetitle = $page_arr[$page][sub][$subpage][title]; $pagehelp = $page_arr[$page][sub][$subpage][help]; } else { $pagetitle = $page_arr[$page][title]; $pagehelp = $page_arr[$page][help]; } $title = $page."_".$subpage; echohtmlheader(); echotableheader("编辑页面 - $pagetitle"); echotabledescription("Following is a list of pages and their details within the category you specified. If the title is displayed in <span class=\"red\">red</span> then this indicates that it has been altered, to revert it back to the original just click the link next to it."); echotabledescription(returnlinkcode("选择不同分类","admin.php?action=theme_pageselect&themeid=$themeid")); echotabledescription($pagehelp); if ($page_arr[$page][sub] & !$subpage) { echotabledescription("The page category you specified has sub categories within it, to edit pages from those sub categories please use the links below."); foreach ($page_arr[$page][sub] AS $key => $val) { echotabledescription(returnlinkcode($val[title],"admin.php?action=theme_page&page=$page&subpage=$key&themeid=$themeid&pagesetid=$pagesetid")."<br />$val[help]"); $excludesql .= " AND (title NOT LIKE '".$page."_$key%')"; } } if ($subpage) { echotabledescription(returnlinkcode("查看子分类","admin.php?action=theme_page&page=$page&subpage=&themeid=$themeid&pagesetid=$pagesetid")); } $getdata = query("SELECT id,title,description,pagesetid FROM news_page WHERE (title LIKE '$title%')$excludesql AND (pagesetid IN ('-2','-1','$pagesetid')) ORDER BY pagesetid,title"); while ($data_arr = fetch_array($getdata)) { $pages[$data_arr[title]][id] = $data_arr[id]; $pages[$data_arr[title]][description] = $data_arr[description]; $pages[$data_arr[title]][altered] = iif(($data_arr[pagesetid] == -1) | ($data_arr[pagesetid] == -2),0,1); }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -