diff --git a/db.php b/db.php deleted file mode 100644 index 0736f20..0000000 --- a/db.php +++ /dev/null @@ -1,26 +0,0 @@ - [ - 'ignore_errors' => true, - 'timeout' => 10 // 设置10秒超时 - ] -]); - -$response = file_get_contents($api_url, false, $context); - -if ($response === FALSE) { - header("HTTP/1.1 500 Internal Server Error"); - echo json_encode(['error' => 'Failed to fetch data from API']); -} else { - $responseData = json_decode($response, true); - if (json_last_error() === JSON_ERROR_NONE) { - header('Content-Type: application/json'); - echo $response; - } else { - header("HTTP/1.1 500 Internal Server Error"); - echo json_encode(['error' => 'Invalid JSON response from API']); - } -} diff --git a/dist/js/view-image.min.js b/dist/js/view-image.min.js deleted file mode 100644 index 167d540..0000000 --- a/dist/js/view-image.min.js +++ /dev/null @@ -1,13 +0,0 @@ -/** - * ViewImage.min.js 2.0.2 - * MIT License - http://www.opensource.org/licenses/mit-license.php - * https://tokinx.github.io/ViewImage/ - */ - var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.createTemplateTagFirstArg=function(b){return b.raw=b};$jscomp.createTemplateTagFirstArgWithRaw=function(b,a){b.raw=a;return b};$jscomp.arrayIteratorImpl=function(b){var a=0;return function(){return a\n \n
\n
\n
\n
\n
\n
\n
\n '+ - (c+1)+"/"+a.length+'\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n \n
\n
\n \n ', - "text/html").body.firstChild,g=function(f){var h={Escape:"close",ArrowLeft:"tools__flip-prev",ArrowRight:"tools__flip-next"};h[f.key]&&e.querySelector(".view-image-"+h[f.key]).click()},l=function(f){var h=new Image,k=e.querySelector(".view-image-lead");k.className="view-image-lead view-image-lead__out";setTimeout(function(){k.innerHTML="";h.onload=function(){setTimeout(function(){k.innerHTML='ViewImage';k.className="view-image-lead view-image-lead__in"},100)}; - h.src=f},300)};document.body.appendChild(e);l(d);window.addEventListener("keydown",g);e.onclick=function(f){f.target.closest(".view-image-close")?(window.removeEventListener("keydown",g),e.onclick=null,e.classList.add("view-image__out"),setTimeout(function(){return e.remove()},290)):f.target.closest(".view-image-tools__flip")&&(c=f.target.closest(".view-image-tools__flip-prev")?0===c?a.length-1:c-1:c===a.length-1?0:c+1,l(a[c]),e.querySelector(".view-image-index").innerHTML=c+1)}}}})(); - \ No newline at end of file diff --git a/functions.php b/functions.php index e8fbfaa..9d03e74 100644 --- a/functions.php +++ b/functions.php @@ -51,10 +51,6 @@ function themeConfig($form) { array('0'=> _t('否'), '1'=> _t('是')), '0', _t('是否显示页面加载时间'), _t('选择“是”将在页脚显示加载时间。')); $form->addInput($showtime); - $qqboturl = new Typecho_Widget_Helper_Form_Element_Text('qqboturl', NULL, 'https://bot.asbid.cn', _t('QQ机器人API,保持默认则需添加 2280858259 为好友'), _t('基于cqhttp,有评论时QQ通知')); - $form->addInput($qqboturl); - $qqnum = new Typecho_Widget_Helper_Form_Element_Text('qqnum', NULL, '122790336', _t('QQ号码'), _t('用于接收QQ通知的号码')); - $form->addInput($qqnum); } function get_post_view($archive) { $cid = $archive->cid; @@ -137,63 +133,6 @@ function getPermalinkFromCoid($coid) { if (empty($row)) return ''; return '@'.$row['author'].''; } -// 评论提交通知函数 -function notifyQQBot($comment) { - $options = Helper::options(); - // 检查评论是否已经审核通过 - if ($comment->status != "approved") { - error_log('Comment is not approved.'); - return; - } - // 获取配置中的QQ机器人API地址 - $cq_url = $options->qqboturl; - // 检查API地址是否为空 - if (empty($cq_url)) { - error_log('QQ Bot URL is empty. Using default URL.'); - $cq_url = 'https://bot.asbid.cn'; - } - // 获取QQ号码 - $qqnum = $options->qqnum; - // 检查QQ号码是否为空 - if (empty($qqnum)) { - error_log('QQ number is empty.'); - return; - } - // 如果是管理员自己发的评论则不发送通知 - if ($comment->authorId === $comment->ownerId) { - error_log('This comment is by the post owner.'); - return; - } - // 构建消息内容 - $msg = '「' . $comment->author . '」在文章《' . $comment->title . '》中发表了评论!'; - $msg .= "\n评论内容:\n{$comment->text}\n永久链接地址:{$comment->permalink}"; - // 准备发送消息的数据 - $_message_data_ = [ - 'user_id' => (int) trim($qqnum), - 'message' => str_replace(["\r\n", "\r", "\n"], "\r\n", htmlspecialchars_decode(strip_tags($msg))) - ]; - // 输出调试信息 - error_log('Sending message to QQ Bot: ' . print_r($_message_data_, true)); - // 初始化Curl请求 - $ch = curl_init(); - curl_setopt_array($ch, [ - CURLOPT_URL => "{$cq_url}/send_msg?" . http_build_query($_message_data_, '', '&'), - CURLOPT_CONNECTTIMEOUT => 10, - CURLOPT_TIMEOUT => 30, - CURLOPT_RETURNTRANSFER => true, - CURLOPT_HEADER => false, - CURLOPT_SSL_VERIFYPEER => false, - CURLOPT_SSL_VERIFYHOST => 0 - ]); - $response = curl_exec($ch); - if (curl_errno($ch)) { - error_log('Curl error: ' . curl_error($ch)); - } else { - error_log('Response: ' . $response); - } - curl_close($ch); -} -Typecho_Plugin::factory('Widget_Feedback')->finishComment = 'notifyQQBot'; /** * 图片灯箱 @@ -434,25 +373,3 @@ function commentApprove($widget, $email = NULL) } return $result; } - - - -/** 获取评论者地址 */ -//function get_ip_location($ip) { -// $apiUrl = "https://www.nazo.run/ip/{$ip}"; -// $response = file_get_contents($apiUrl); -// $data = json_decode($response, true); -// -// if ($data && $data['code'] == 0) { -// return array( - // 'country' => $data['data']['country'], -// 'region' => $data['data']['region'], -// 'city' => $data['data']['city'] -// ); -// } -//} -//function display_location($location) { -// echo htmlspecialchars($location['country'] ?? 'Unknown') . ' ' . -// htmlspecialchars($location['region'] ?? ' ') . ' ' . -// htmlspecialchars($location['city'] ?? ' '); -//} \ No newline at end of file diff --git a/page-categories.php b/page-categories.php index 469d89a..a01d543 100644 --- a/page-categories.php +++ b/page-categories.php @@ -13,7 +13,7 @@ if (!defined('__TYPECHO_ROOT_DIR__')) exit; ?>
widget('Widget_Metas_Category_List')->to($categories); ?> -next()): ?> + next()): ?> mid; @@ -30,7 +30,7 @@ if (!defined('__TYPECHO_ROOT_DIR__')) exit; ?> - +
need('footer.php'); ?> \ No newline at end of file diff --git a/page-mastodon.php b/page-mastodon.php index 1bce048..adf4185 100644 --- a/page-mastodon.php +++ b/page-mastodon.php @@ -14,7 +14,8 @@ if (!defined('__TYPECHO_ROOT_DIR__')) exit; ?>
fields->tooot ? $this->fields->tooot : 'https://bbapi.ima.cm'; ?> - + +