clear rules + faq cache in time

This commit is contained in:
xiaomlove
2022-09-05 15:29:39 +08:00
parent 5d3fc2b7c5
commit d0f120a352
5 changed files with 40 additions and 9 deletions
+15
View File
@@ -161,6 +161,21 @@ class Install
'result' => $this->yesOrNo(version_compare(PHP_VERSION, $this->minimumPhpVersion, '>=')), 'result' => $this->yesOrNo(version_compare(PHP_VERSION, $this->minimumPhpVersion, '>=')),
]; ];
$requiredFunctions = ['symlink', 'putenv', 'proc_open', 'proc_get_status', 'exec'];
$disabledFunctions = [];
foreach ($requiredFunctions as $fn) {
if (!function_exists($fn)) {
$disabledFunctions[] = $fn;
}
}
$tableRows[] = [
'label' => 'Required functions',
'required' => 'true',
'current' => empty($disabledFunctions) ? '1' : "These functions are Disabled: " . implode(',', $disabledFunctions),
'result' => $this->yesOrNo(empty($disabledFunctions)),
];
foreach ($this->requiredExtensions as $extension) { foreach ($this->requiredExtensions as $extension) {
$tableRows[] = [ $tableRows[] = [
'label' => "PHP extension $extension", 'label' => "PHP extension $extension",
+9 -1
View File
@@ -28,6 +28,10 @@ if (get_user_class() < UC_ADMINISTRATOR) {
stderr("Error","Only Administrators and above can modify the FAQ, sorry."); stderr("Error","Only Administrators and above can modify the FAQ, sorry.");
} }
function clear_faq_cache()
{
\Nexus\Database\NexusDB::cache_del('faq');
}
//stdhead("FAQ Management"); //stdhead("FAQ Management");
// ACTION: reorder - reorder sections and items // ACTION: reorder - reorder sections and items
@@ -93,6 +97,7 @@ elseif (isset($_GET['action']) && $_GET['action'] == "edititem" && $_POST['id']
$question = $_POST['question']; $question = $_POST['question'];
$answer = $_POST['answer']; $answer = $_POST['answer'];
sql_query("UPDATE `faq` SET `question`=".sqlesc($question).", `answer`=".sqlesc($answer).", `flag`=".sqlesc($_POST['flag']).", `categ`=".sqlesc($_POST['categ'])." WHERE id=".sqlesc($_POST['id'])) or sqlerr(); sql_query("UPDATE `faq` SET `question`=".sqlesc($question).", `answer`=".sqlesc($answer).", `flag`=".sqlesc($_POST['flag']).", `categ`=".sqlesc($_POST['categ'])." WHERE id=".sqlesc($_POST['id'])) or sqlerr();
clear_faq_cache();
header("Location: " . get_protocol_prefix() . "$BASEURL/faqmanage.php"); header("Location: " . get_protocol_prefix() . "$BASEURL/faqmanage.php");
die; die;
} }
@@ -101,6 +106,7 @@ elseif (isset($_GET['action']) && $_GET['action'] == "edititem" && $_POST['id']
elseif (isset($_GET['action']) && $_GET['action'] == "editsect" && $_POST['id'] != NULL && $_POST['title'] != NULL && $_POST['flag'] != NULL) { elseif (isset($_GET['action']) && $_GET['action'] == "editsect" && $_POST['id'] != NULL && $_POST['title'] != NULL && $_POST['flag'] != NULL) {
$title = $_POST['title']; $title = $_POST['title'];
sql_query("UPDATE `faq` SET `question`=".sqlesc($title).", `answer`='', `flag`=".sqlesc($_POST['flag']).", `categ`='0' WHERE id=".sqlesc($_POST['id'])) or sqlerr(); sql_query("UPDATE `faq` SET `question`=".sqlesc($title).", `answer`='', `flag`=".sqlesc($_POST['flag']).", `categ`='0' WHERE id=".sqlesc($_POST['id'])) or sqlerr();
clear_faq_cache();
header("Location: " . get_protocol_prefix() . "$BASEURL/faqmanage.php"); header("Location: " . get_protocol_prefix() . "$BASEURL/faqmanage.php");
die; die;
} }
@@ -171,12 +177,13 @@ elseif (isset($_GET['action']) && $_GET['action'] == "addnewitem" && $_POST['que
$categ = intval($_POST['categ'] ?? 0); $categ = intval($_POST['categ'] ?? 0);
$langid = intval($_POST['langid'] ?? 0); $langid = intval($_POST['langid'] ?? 0);
$res = sql_query("SELECT MAX(`order`) AS maxorder, MAX(`link_id`) AS maxlinkid FROM `faq` WHERE `type`='item' AND `categ`=".sqlesc($categ)." AND lang_id=".sqlesc($langid)); $res = sql_query("SELECT MAX(`order`) AS maxorder, MAX(`link_id`) AS maxlinkid FROM `faq` WHERE `type`='item' AND `categ`=".sqlesc($categ)." AND lang_id=".sqlesc($langid));
while ($arr = mysql_fetch_array($res, MYSQLI_BOTH)) while ($arr = mysql_fetch_array($res, MYSQLI_BOTH))
{ {
$order = $arr['maxorder'] + 1; $order = $arr['maxorder'] + 1;
$link_id = $arr['maxlinkid']+1; $link_id = $arr['maxlinkid']+1;
} }
sql_query("INSERT INTO `faq` (`link_id`, `type`, `lang_id`, `question`, `answer`, `flag`, `categ`, `order`) VALUES ('$link_id', 'item', ".sqlesc($langid).", ".sqlesc($question).", ".sqlesc($answer).", " . sqlesc(intval($_POST['flag'] ?? 0)) . ", ".sqlesc($categ).", ".sqlesc($order).")") or sqlerr(); sql_query("INSERT INTO `faq` (`link_id`, `type`, `lang_id`, `question`, `answer`, `flag`, `categ`, `order`) VALUES ('$link_id', 'item', ".sqlesc($langid).", ".sqlesc($question).", ".sqlesc($answer).", " . sqlesc(intval($_POST['flag'] ?? 0)) . ", ".sqlesc($categ).", ".sqlesc($order).")") or sqlerr();
clear_faq_cache();
header("Location: " . get_protocol_prefix() . "$BASEURL/faqmanage.php"); header("Location: " . get_protocol_prefix() . "$BASEURL/faqmanage.php");
die; die;
} }
@@ -188,6 +195,7 @@ elseif (isset($_GET['action']) && $_GET['action'] == "addnewsect" && $_POST['tit
$res = sql_query("SELECT MAX(`order`) AS maxorder, MAX(`link_id`) AS maxlinkid FROM `faq` WHERE `type`='categ' AND `lang_id` = ".sqlesc($language)); $res = sql_query("SELECT MAX(`order`) AS maxorder, MAX(`link_id`) AS maxlinkid FROM `faq` WHERE `type`='categ' AND `lang_id` = ".sqlesc($language));
while ($arr = mysql_fetch_array($res, MYSQLI_BOTH)) {$order = $arr['maxorder'] + 1;$link_id = $arr['maxlinkid']+1;} while ($arr = mysql_fetch_array($res, MYSQLI_BOTH)) {$order = $arr['maxorder'] + 1;$link_id = $arr['maxlinkid']+1;}
sql_query("INSERT INTO `faq` (`link_id`,`type`,`lang_id`, `question`, `answer`, `flag`, `categ`, `order`) VALUES (".sqlesc($link_id).",'categ', ".sqlesc($language).", ".sqlesc($title).", '', ".sqlesc($_POST['flag']).", '0', ".sqlesc($order).")") or sqlerr(); sql_query("INSERT INTO `faq` (`link_id`,`type`,`lang_id`, `question`, `answer`, `flag`, `categ`, `order`) VALUES (".sqlesc($link_id).",'categ', ".sqlesc($language).", ".sqlesc($title).", '', ".sqlesc($_POST['flag']).", '0', ".sqlesc($order).")") or sqlerr();
clear_faq_cache();
header("Location: " . get_protocol_prefix() . "$BASEURL/faqmanage.php"); header("Location: " . get_protocol_prefix() . "$BASEURL/faqmanage.php");
die; die;
} else { } else {
+5 -4
View File
@@ -62,11 +62,11 @@ jQuery(document).ready(function () {
height: position.imgHeight height: position.imgHeight
} }
} }
var previewEle = null var previewEle = jQuery('#nexus-preview')
var imgEle, selector = 'img.preview', imgPosition var imgEle, selector = 'img.preview', imgPosition
jQuery("body").on("mouseover", selector, function (e) { jQuery("body").on("mouseover", selector, function (e) {
imgEle = jQuery(this); imgEle = jQuery(this);
previewEle = jQuery('<img style="display: none;position:absolute;">').appendTo(imgEle.parent()) // previewEle = jQuery('<img style="display: none;position:absolute;">').appendTo(imgEle.parent())
imgPosition = getImgPosition(e, imgEle) imgPosition = getImgPosition(e, imgEle)
let position = getPosition(e, imgPosition) let position = getPosition(e, imgPosition)
let src = imgEle.attr("src") let src = imgEle.attr("src")
@@ -74,8 +74,9 @@ jQuery(document).ready(function () {
previewEle.attr("src", src).css(position).fadeIn("fast"); previewEle.attr("src", src).css(position).fadeIn("fast");
} }
}).on("mouseout", selector, function (e) { }).on("mouseout", selector, function (e) {
previewEle.remove() // previewEle.remove()
previewEle = null // previewEle = null
previewEle.hide()
}).on("mousemove", selector, function (e) { }).on("mousemove", selector, function (e) {
let position = getPosition(e, imgPosition) let position = getPosition(e, imgPosition)
previewEle.css(position) previewEle.css(position)
+4 -4
View File
@@ -31,6 +31,7 @@ jQuery('.btn-get-pt-gen').on('click', function () {
function autoSelect(value) { function autoSelect(value) {
// console.log(`autoSelect: ${value}`) // console.log(`autoSelect: ${value}`)
value = value.replace(/[-\/\.]+/ig, '').toUpperCase();
let names = ["source_sel", "medium_sel", "codec_sel", "audiocodec_sel", "standard_sel", "processing_sel", "team_sel"]; let names = ["source_sel", "medium_sel", "codec_sel", "audiocodec_sel", "standard_sel", "processing_sel", "team_sel"];
for (let i = 0; i < names.length; i++) { for (let i = 0; i < names.length; i++) {
const name = names[i]; const name = names[i];
@@ -38,11 +39,10 @@ function autoSelect(value) {
// console.log("check name: " + name) // console.log("check name: " + name)
select.children("option").each(function (index, option) { select.children("option").each(function (index, option) {
let _option = jQuery(option) let _option = jQuery(option)
let optionText = _option.text(); let optionText = _option.text().replace(/[-\/\.]+/ig, '').toUpperCase();
// console.log("check option text: " + optionText + " match value: " + value) // console.log("check option text: " + optionText + " match value: " + value)
let pattern = new RegExp(value, "i"); if (optionText == value) {
if (optionText.match(pattern)) { console.log(`name: ${name}, optionText: ${optionText} === value: ${value}, break`)
console.log(`name: ${name}, optionText: ${optionText} match value: ${value}, break`)
select.val(option.getAttribute('value')) select.val(option.getAttribute('value'))
return false return false
} }
+7
View File
@@ -5,6 +5,10 @@ loggedinorreturn();
if (get_user_class() < UC_ADMINISTRATOR) { if (get_user_class() < UC_ADMINISTRATOR) {
stderr("Error","Only Administrators and above can modify the Rules, sorry."); stderr("Error","Only Administrators and above can modify the Rules, sorry.");
} }
function clear_rules_cache()
{
\Nexus\Database\NexusDB::cache_del('rules');
}
if (isset($_GET["act"]) && $_GET["act"] == "newsect") if (isset($_GET["act"]) && $_GET["act"] == "newsect")
{ {
@@ -35,6 +39,7 @@ elseif (isset($_GET["act"]) && $_GET["act"]=="addsect"){
$text = $_POST["text"]; $text = $_POST["text"];
$language = $_POST["language"]; $language = $_POST["language"];
sql_query("insert into rules (title, text, lang_id) values(".sqlesc($title).", ".sqlesc($text).", ".sqlesc($language).")") or sqlerr(__FILE__,__LINE__); sql_query("insert into rules (title, text, lang_id) values(".sqlesc($title).", ".sqlesc($text).", ".sqlesc($language).")") or sqlerr(__FILE__,__LINE__);
clear_rules_cache();
header("Refresh: 0; url=modrules.php"); header("Refresh: 0; url=modrules.php");
} }
elseif (isset($_GET["act"]) && $_GET["act"] == "edit"){ elseif (isset($_GET["act"]) && $_GET["act"] == "edit"){
@@ -68,6 +73,7 @@ elseif (isset($_GET["act"]) && $_GET["act"]=="edited"){
$text = $_POST["text"]; $text = $_POST["text"];
$language = $_POST["language"]; $language = $_POST["language"];
sql_query("update rules set title=".sqlesc($title).", text=".sqlesc($text).", lang_id = ".sqlesc($language)." where id=".sqlesc($id)) or sqlerr(__FILE__,__LINE__); sql_query("update rules set title=".sqlesc($title).", text=".sqlesc($text).", lang_id = ".sqlesc($language)." where id=".sqlesc($id)) or sqlerr(__FILE__,__LINE__);
clear_rules_cache();
header("Refresh: 0; url=modrules.php"); header("Refresh: 0; url=modrules.php");
} }
elseif (isset($_GET["act"]) && $_GET["act"]=="del"){ elseif (isset($_GET["act"]) && $_GET["act"]=="del"){
@@ -78,6 +84,7 @@ elseif (isset($_GET["act"]) && $_GET["act"]=="del"){
stderr("Delete Rule","You are about to delete a rule. Click <a class=altlink href=?act=del&id=$id&sure=1>here</a> if you are sure.",false); stderr("Delete Rule","You are about to delete a rule. Click <a class=altlink href=?act=del&id=$id&sure=1>here</a> if you are sure.",false);
} }
sql_query("DELETE FROM rules WHERE id=".sqlesc($id)) or sqlerr(__FILE__, __LINE__); sql_query("DELETE FROM rules WHERE id=".sqlesc($id)) or sqlerr(__FILE__, __LINE__);
clear_rules_cache();
header("Refresh: 0; url=modrules.php"); header("Refresh: 0; url=modrules.php");
} }
else{ else{