diff --git a/123.html b/123.html new file mode 100644 index 0000000..fcfc4b8 --- /dev/null +++ b/123.html @@ -0,0 +1,190 @@ + + + + + 处理导出的谷歌浏览器书签 + + + +
+
+ + +
+
+ + + \ No newline at end of file diff --git a/456.html b/456.html new file mode 100644 index 0000000..2278491 --- /dev/null +++ b/456.html @@ -0,0 +1,193 @@ + + + + + 处理导出的谷歌浏览器书签 + + + +
+
+ + +
+
+ + + \ No newline at end of file diff --git a/bookmarks_2022_5_6.html b/bookmarks_2022_5_6.html new file mode 100644 index 0000000..a6c6f50 --- /dev/null +++ b/bookmarks_2022_5_6.html @@ -0,0 +1,160 @@ + + + +Bookmarks +

Bookmarks

+

+

书签栏

+

+

常用网址

+

+

V2EX +
金狐电脑工作室-Jinhu Computer Studio +
滴答清单: 一个帮你高效完成任务和规划时间的应用 +
Today / Me +
【成都-武侯区司机或配送员_司机或配送员招聘_四川易格天承文化传播有限公司】-前程无忧官方招聘网站 +

+

影视

+

+

adult

+

+

草榴社區 - powered by phpwind.net +
捷克論壇 JKF +
bt下载 爱城 bt下载 +
Resilio Sync Keys List - BTSync资源 +
微力同步 Resilio Sync Key 下载-资源大全 Resilio Sync Keys List - BTSync资源分享 资源搜索 +
JavBus +
Phim sex hd | Phim địt nhau không che | Jav hay nhất 2017 +
Free Porn Videos & Sex Movies - Porno, XXX, Porn Tube | Pornhub +
小嶋ひより | 一本道 +
保存视频,下载视频,YouTube视频下载,YouTube,视频在线,离线视频 - savevd.com +
TuKif : PORNO GRATUIT, Tube de Video Porno HD, Streaming Sex +
mgstage - 200GANA 230ORE 259LUXU 261ARA 276KITAIKE 277DCV 300MIUM SIRO +
91dizhi_1 on eBay +
Browse :: Sukebei +
亚洲无码原创 - 色花堂 - Powered by Discuz! +
RARBG Rarbg Index page +
Browse :: Sukebei +
免费高清在线视频 - 色爷爷 +
色花堂 - Powered by Discuz! +
Netflav - 無修正 / Uncensored +
色花堂 - Powered by Discuz! +
大姐姐资源站 +
美国LAX CN2 VPS,中国高级KVM VPS,纯SSD VPS +
魔性论坛 - 免费、自由的交流论坛 - +
就去撸撸吧-男人天堂 +
微信网页版 +
村花论坛 +
色花堂-98堂 - Powered by Discuz! +
WHERE BT官方博客 +
色花堂-98堂 - Powered by Discuz! +

+

Transmission WEB 控制器 1.6.0 beta +
歌曲大全-音乐聚合搜索引擎-音乐免费下载mp3-音乐免费下载 +

PT

+

+

PT之友俱乐部 :: 首页 PTerClub +
M-Team +
NicePT +
百度网盘-全部文件 +

+

+

购物

+

+

欢迎进入-泸州客运中心站 +
个人信用信息服务平台 +
成都汽车票务网-汽车票余票查询‖汽车票价查询‖汽车票预订‖汽车票网上订票官网 +
用户中心首页 - UU163旅行在线 +

+

教程

+

+

linux-ubuntu使用shadowsocks客户端配置 - 资源教程 - 爱探路 +
w3school 在线教程 +
菜鸟教程 - 学的不仅是技术,更是梦想! +

+

软件

+

+

zd423 +
XunleiHD +
心海e站 +
软件盒子 +
独木成林 - 专注软件分享与优化 +
图标搜索引擎 - 下载469674个免费图标, PNG图标, 网页图标 +
销售 +
baisu: onenav主题 - Gitee.com +

+

开发者

+

+

Bootstrap中文网 +
w3cschool菜鸟教程 +
流风清音 - 流风清音 - 网易博客 +
图标下载,ICON(PNG/ICO/ICNS)图标搜索下载 | EASYICON.NET +
首页 | EverEdit +
Bootswatch: Free themes for Bootstrap +
whois.ati.tn +
SSL状态在线检测工具 - 亚洲诚信 +
获取笑话 - API +
梅林固件 +
Index of /PandoraBox/Xiaomi-Mini-R1CM/stable/ +
PUBG Servers Ping +
APK Downloader [Latest] Download Directly | Chrome Extension v3 (Evozi Official) +
域名特工 beta +
OXAHOST - 查看请求 +
angular | Font Awesome +
Realtime Moderation API - Sightengine +
PAYJS +
JpGraph - Most powerful PHP-driven charts +
PHP的QR码 - 例子 +
ico图标制作,在线Favicon.ico制作转换工具,实时预览ico生成效果,ico图标下载 +
CodeIgniter 用户指南 +
Ansible入门 · Ansible入门 +
VMware Workstation 15 Pro Keygen +
12578 3840x2160 4k Ultra 高清壁纸 | 桌面背景 - Wallpaper Abyss - 页面 4 +
Free stock photos · Pexels +
ICANN | ICANN认可的注册商的说明和联系信息 +
ICANN | ICANN认可的注册商 +
《Laravel 5.5 中文文档》 | Laravel China 社区 +
微擎开发手册 · 看云 +
人人商城/数据库字典 - Blueidea +
v2-ui,一个全新的多协议多用户 v2ray 面板 | sprov +

+

其它网址

+

+

四川省教育考试院信息查询系统-成绩查询,录取查询 +

+

zhanmei

+

+

AdGuard Home +
AriaNg +
ccaaDown +
netdata +
BT导航网 +
maopan - Synology DiskStation +
Jellyfin +
AdGuard Home +

+

HK +
+
YouTube +
+
whois查询_域名whois查询_域名查询-西部数码域名whois资料查询平台 +
西部数码知识系统 (http://www.west.cn)|安装SSL证书,启用HTTPS +
百度统计——最大的中文网站分析平台 +
微信网页版 +
滴答清单 +
离线下载 +

云服务

+

+

百度智能云 +
CDN缓存刷新系统 +
Online Transmission WEB 控制器 +

+

一键添加 +

+

领贤 +
少女卷轴5:污神整合-傻瓜一键智能安装整合中文版【新整合】 – 叽哩叽哩游戏网ACG(G站) +
添加书签 +
OneNav +

diff --git a/class/Api.php b/class/Api.php index 8d58b60..876dac5 100755 --- a/class/Api.php +++ b/class/Api.php @@ -59,18 +59,35 @@ class Api { if( empty($id) ){ $this->err_msg(-1003,'The category ID cannot be empty!'); } + //根据fid查询这个分类是否存在 + $count = $this->db->count("on_categorys", [ + "id" => $fid + ]); + + //如果fid不是0,且查询结果小于1,则认为这个父级ID是不存在的,则不允许修改 + if( !empty($fid) && ($count < 1) ) { + $this->err_msg(-2000,'父级ID不存在!'); + } + + //查询fid是否是二级分类的ID,如果是,则不允许修改 + $category = $this->db->get("on_categorys","*",[ + "id" => $fid + ]); + //如果查询到他的父ID不是0,则是一个二级分类 + if( intval($category['fid']) !== 0 ) { + $this->err_msg(-2000,'父分类不能是二级分类!'); + } //如果分类名为空 elseif( empty($name ) ){ $this->err_msg(-1004,'The category name cannot be empty!'); } - //更新数据库 else{ //根据分类ID查询改分类下面是否已经存在子分类,如果存在子分类了则不允许设置为子分类,实用情况:一级分类下存在二级分类,无法再将改一级分类修改为二级分类 $count = $this->db->count("on_categorys", [ "fid" => $id ]); - //改分类下的子分类数量大于0,并且将父级ID修改为其它分类 + //该分类下的子分类数量大于0,并且父级ID修改为其它分类 if( ( $count > 0 ) && ( $fid !== 0 ) ) { $this->err_msg(-2000,'修改失败,该分类下已存在子分类!'); } @@ -383,6 +400,7 @@ class Api { //追加一个默认分类,用来存储部分链接找不到分类的情况 array_push($categoryt,"默认分类"); + //批量创建分类 $this->batch_create_category($categoryt); //查询所有分类 @@ -401,7 +419,7 @@ class Api { foreach ($data as $key => $value) { $category_name = trim($value['category']); //如果链接的分类是空的,则设置为默认分类 - $value['category'] = empty( $value['category'] ) ? "默认分类" : $value['category']; + $category_name = empty( $category_name ) ? "默认分类" : $category_name; foreach ($categorys as $category) { if( trim( $category['name'] ) == $category_name ) { @@ -419,8 +437,7 @@ class Api { 'weight' => 0, 'property' => $property ]; - // var_dump($link_data); - // exit; + //插入数据库 $re = $this->db->insert('on_links',$link_data); //返回影响行数 @@ -445,6 +462,7 @@ class Api { protected function batch_create_category($category_name) { $i = 0; foreach ($category_name as $key => $value) { + $value = empty($value) ? "默认分类" : $value; $data = [ 'name' => trim($value), 'add_time' => time(), @@ -866,7 +884,7 @@ class Api { * 验证是否登录 */ protected function is_login(){ - $key = md5(USER.PASSWORD.'onenav'); + $key = md5(USER.PASSWORD.'onenav'.$_SERVER['HTTP_USER_AGENT']); //获取session $session = $_COOKIE['key']; //如果已经成功登录 @@ -1294,6 +1312,13 @@ class Api { } } + /** + * 用户状态 + */ + public function check_login(){ + $status = $this->is_login() ? "true" : "false"; + $this->return_json(200,$status,""); + } } diff --git a/controller/admin.php b/controller/admin.php index ebb0c0b..3957d90 100755 --- a/controller/admin.php +++ b/controller/admin.php @@ -2,6 +2,8 @@ /** * 后台入口文件 */ +// 载入辅助函数 +require('functions/helper.php'); //检查认证 check_auth($site_setting['user'],$site_setting['password']); @@ -269,40 +271,12 @@ if ($page == 'ext_js') { $page = $page.'.php'; -//获取访客IP -function getIP() { - if (getenv('HTTP_CLIENT_IP')) { - $ip = getenv('HTTP_CLIENT_IP'); - } - elseif (getenv('HTTP_X_FORWARDED_FOR')) { - $ip = getenv('HTTP_X_FORWARDED_FOR'); - } - elseif (getenv('HTTP_X_FORWARDED')) { - $ip = getenv('HTTP_X_FORWARDED'); - } - elseif (getenv('HTTP_FORWARDED_FOR')) { - $ip = getenv('HTTP_FORWARDED_FOR'); - } - elseif (getenv('HTTP_FORWARDED')) { - $ip = getenv('HTTP_FORWARDED'); - } - else { - $ip = $_SERVER['REMOTE_ADDR']; - } - return $ip; - } - /** * 检查授权 */ function check_auth($user,$password){ - $ip = getIP(); - $key = md5($user.$password.'onenav'); - //获取cookie - $cookie = $_COOKIE['key']; - //如果cookie的值和计算的key不一致,则没有权限 - if( $cookie !== $key ){ + if ( !is_login() ) { $msg = "

认证失败,请重新登录

"; require('templates/admin/403.php'); exit; diff --git a/controller/api.php b/controller/api.php index c9a3ef4..abe7bc6 100755 --- a/controller/api.php +++ b/controller/api.php @@ -397,10 +397,16 @@ EOF; foreach ($value as $link) { $title = $link['title']; $add_time = $link['add_time']; - echo "
$title
\n"; + $url = $link['url']; + echo "
$title
\n"; } echo "

\n"; echo "\n"; } +} + +//获取用户登录状态 +function check_login($api) { + $api->check_login(); } \ No newline at end of file diff --git a/controller/index.php b/controller/index.php index 9ac9166..078079b 100755 --- a/controller/index.php +++ b/controller/index.php @@ -3,16 +3,30 @@ * 首页模板入口 */ //如果已经登录,获取所有分类和链接 +// 载入辅助函数 +require('functions/helper.php'); if( is_login() ){ //查询所有分类目录 - $categorys = $db->select('on_categorys','*',[ - "ORDER" => ["weight" => "DESC"] - ]); + $categorys = []; //查询一级分类目录,分类fid为0的都是一级分类 $category_parent = $db->select('on_categorys','*',[ "fid" => 0, "ORDER" => ["weight" => "DESC"] ]); + //遍历一级分类,然后获取下面的二级分类,获取到了就push + foreach ($category_parent as $key => $value) { + //把一级分类先加入到空数组 + array_push($categorys,$value); + //然后查询他下面的子分类,再追加到数组 + $category_subs = $db->select('on_categorys','*',[ + "fid" => $value['id'], + "ORDER" => ["weight" => "DESC"] + ]); + + foreach ($category_subs as $category_sub) { + array_push($categorys,$category_sub); + } + } //根据分类ID查询二级分类,分类fid大于0的都是二级分类 function get_category_sub($id) { global $db; @@ -42,16 +56,28 @@ if( is_login() ){ //如果没有登录,只获取公有链接 else{ //查询分类目录 - $categorys = $db->select('on_categorys','*',[ - "property" => 0, - "ORDER" => ["weight" => "DESC"] - ]); + $categorys = []; //查询一级分类目录,分类fid为0的都是一级分类 $category_parent = $db->select('on_categorys','*',[ "fid" => 0, 'property' => 0, "ORDER" => ["weight" => "DESC"] ]); + //遍历一级分类,然后获取下面的二级分类,获取到了就push + foreach ($category_parent as $key => $value) { + //把一级分类先加入到空数组 + array_push($categorys,$value); + //然后查询他下面的子分类,再追加到数组 + $category_subs = $db->select('on_categorys','*',[ + "fid" => $value['id'], + 'property' => 0, + "ORDER" => ["weight" => "DESC"] + ]); + + foreach ($category_subs as $category_sub) { + array_push($categorys,$category_sub); + } + } //根据分类ID查询二级分类,分类fid大于0的都是二级分类 function get_category_sub($id) { global $db; @@ -80,29 +106,6 @@ else{ $onenav['right_menu'] = 'user_menu();'; } - -//获取访客IP -function getIP() { - if (getenv('HTTP_CLIENT_IP')) { - $ip = getenv('HTTP_CLIENT_IP'); - } - elseif (getenv('HTTP_X_FORWARDED_FOR')) { - $ip = getenv('HTTP_X_FORWARDED_FOR'); - } - elseif (getenv('HTTP_X_FORWARDED')) { - $ip = getenv('HTTP_X_FORWARDED'); - } - elseif (getenv('HTTP_FORWARDED_FOR')) { - $ip = getenv('HTTP_FORWARDED_FOR'); - } - elseif (getenv('HTTP_FORWARDED')) { - $ip = getenv('HTTP_FORWARDED'); - } - else { - $ip = $_SERVER['REMOTE_ADDR']; - } - return $ip; - } //获取版本号 function get_version(){ if( file_exists('version.txt') ) { @@ -114,19 +117,7 @@ function get_version(){ return $version; } } -//判断用户是否已经登录 -function is_login(){ - $key = md5(USER.PASSWORD.'onenav'); - //获取session - $session = $_COOKIE['key']; - //如果已经成功登录 - if($session == $key) { - return true; - } - else{ - return false; - } -} + //将URL转换为base64编码 function base64($url){ $urls = parse_url($url); diff --git a/controller/login.php b/controller/login.php index bb4b851..b7b64f7 100755 --- a/controller/login.php +++ b/controller/login.php @@ -2,16 +2,20 @@ /** * 登录入口 */ + +// 载入辅助函数 +require('functions/helper.php'); + $username = $site_setting['user']; $password = $site_setting['password']; $ip = getIP(); //如果认证通过,直接跳转到后台管理 -$key = md5($username.$password.'onenav'); +$key = md5($username.$password.'onenav'.$_SERVER['HTTP_USER_AGENT']); //获取cookie $cookie = $_COOKIE['key']; //如果已经登录,直接跳转 -if( $cookie === $key ){ +if( is_login() ){ header('location:index.php?c=admin'); exit; } @@ -22,7 +26,7 @@ if( $_GET['check'] == 'login' ) { $pass = $_POST['password']; header('Content-Type:application/json; charset=utf-8'); if( ($user === $username) && ($pass === $password) ) { - $key = md5($username.$password.'onenav'); + $key = md5($username.$password.'onenav'.$_SERVER['HTTP_USER_AGENT']); //开启httponly支持 setcookie("key", $key, time()+30 * 24 * 60 * 60,"/",NULL,false,TRUE); $data = [ @@ -56,29 +60,6 @@ if( $_GET['check'] == 'login' ) { // header('location:index.php?c=admin'); // } -//获取访客IP -function getIP() { -if (getenv('HTTP_CLIENT_IP')) { -$ip = getenv('HTTP_CLIENT_IP'); -} -elseif (getenv('HTTP_X_FORWARDED_FOR')) { - $ip = getenv('HTTP_X_FORWARDED_FOR'); -} - elseif (getenv('HTTP_X_FORWARDED')) { - $ip = getenv('HTTP_X_FORWARDED'); -} -elseif (getenv('HTTP_FORWARDED_FOR')) { -$ip = getenv('HTTP_FORWARDED_FOR'); -} -elseif (getenv('HTTP_FORWARDED')) { -$ip = getenv('HTTP_FORWARDED'); -} -else { - $ip = $_SERVER['REMOTE_ADDR']; -} - return $ip; -} - // 载入后台登录模板 require('templates/admin/login.php'); \ No newline at end of file diff --git a/data.json b/data.json new file mode 100644 index 0000000..12c36a9 --- /dev/null +++ b/data.json @@ -0,0 +1 @@ +[{"name":"常用网址","children":[],"web":[{"url":"https://www.v2ex.com/","title":"V2EX","desc":"V2EX"},{"url":"http://www.jinhu.me/","title":"金狐电脑工作室-Jinhu Computer Studio","desc":"金狐电脑工作室-Jinhu Computer Studio"},{"url":"http://www.dida365.com/","title":"滴答清单: 一个帮你高效完成任务和规划时间的应用","desc":"滴答清单: 一个帮你高效完成任务和规划时间的应用"},{"url":"https://feedly.com/i/my","title":"Today / Me","desc":"Today / Me"},{"url":"https://jobs.51job.com/chengdu-whq/110062245.html?s=01&t=0","title":"【成都-武侯区司机或配送员_司机或配送员招聘_四川易格天承文化传播有限公司】-前程无忧官方招聘网站","desc":"【成都-武侯区司机或配送员_司机或配送员招聘_四川易格天承文化传播有限公司】-前程无忧官方招聘网站"}]},{"name":"影视","children":[{"name":"adult","children":[{"name":"三级分类","children":[{"name":"四级分类","children":[],"web":[{"url":"https://www.baidu.com/","title":"四级书签测试","desc":"四级书签测试"}]}],"web":[{"url":"https://www.baidu.com/","title":"三级书签测试","desc":"三级书签测试"}]}],"web":[{"url":"http://www.t66y.com/index.php?u=388056&vcencode=1603147821","title":"草榴社區 - powered by phpwind.net","desc":"草榴社區 - powered by phpwind.net"},{"url":"http://www.jkforum.net/forum.php","title":"捷克論壇 JKF","desc":"捷克論壇 JKF"},{"url":"http://bt.aisex.com/bt/index.php","title":"bt下载 爱城 bt下载","desc":"bt下载 爱城 bt下载"},{"url":"http://changlai.net/","title":"Resilio Sync Keys List - BTSync资源","desc":"Resilio Sync Keys List - BTSync资源"},{"url":"http://verysync.com/","title":"微力同步 Resilio Sync Key 下载-资源大全 Resilio Sync Keys List - BTSync资源分享 资源搜索","desc":"微力同步 Resilio Sync Key 下载-资源大全 Resilio Sync Keys List - BTSync资源分享 资源搜索"},{"url":"https://www.javbus.com/","title":"JavBus","desc":"JavBus"},{"url":"http://javhd.pro/","title":"Phim sex hd | Phim địt nhau không che | Jav hay nhất 2017","desc":"Phim sex hd | Phim địt nhau không che | Jav hay nhất 2017"},{"url":"https://www.pornhub.com/","title":"Free Porn Videos & Sex Movies - Porno, XXX, Porn Tube | Pornhub","desc":"Free Porn Videos & Sex Movies - Porno, XXX, Porn Tube | Pornhub"},{"url":"https://www.1pondo.tv/search/?s=%E5%B0%8F%E5%B6%8B%E3%81%B2%E3%82%88%E3%82%8A","title":"小嶋ひより | 一本道","desc":"小嶋ひより | 一本道"},{"url":"https://savevd.com/vlist","title":"保存视频,下载视频,YouTube视频下载,YouTube,视频在线,离线视频 - savevd.com","desc":"保存视频,下载视频,YouTube视频下载,YouTube,视频在线,离线视频 - savevd.com"},{"url":"https://tukif.com/","title":"TuKif : PORNO GRATUIT, Tube de Video Porno HD, Streaming Sex","desc":"TuKif : PORNO GRATUIT, Tube de Video Porno HD, Streaming Sex"},{"url":"http://mgs.blogg.org/","title":"mgstage - 200GANA 230ORE 259LUXU 261ARA 276KITAIKE 277DCV 300MIUM SIRO","desc":"mgstage - 200GANA 230ORE 259LUXU 261ARA 276KITAIKE 277DCV 300MIUM SIRO"},{"url":"https://www.ebay.com/usr/91dizhi_1","title":"91dizhi_1 on eBay","desc":"91dizhi_1 on eBay"},{"url":"https://sukebei.nyaa.si/","title":"Browse :: Sukebei","desc":"Browse :: Sukebei"},{"url":"http://www.djdsht.com/forum-36-1.html","title":"亚洲无码原创 - 色花堂 - Powered by Discuz!","desc":"亚洲无码原创 - 色花堂 - Powered by Discuz!"},{"url":"https://rarbgprx.org/index54.php","title":"RARBG Rarbg Index page","desc":"RARBG Rarbg Index page"},{"url":"https://sukebei.nyaa.si/?s=leechers&o=desc","title":"Browse :: Sukebei","desc":"Browse :: Sukebei"},{"url":"https://www.seyeye7.com/","title":"免费高清在线视频 - 色爷爷","desc":"免费高清在线视频 - 色爷爷"},{"url":"https://www.sehuatang.net/forum.php","title":"色花堂 - Powered by Discuz!","desc":"色花堂 - Powered by Discuz!"},{"url":"https://netflav.com/uncensored?page=2","title":"Netflav - 無修正 / Uncensored","desc":"Netflav - 無修正 / Uncensored"},{"url":"https://www.sht1236.me/","title":"色花堂 - Powered by Discuz!","desc":"色花堂 - Powered by Discuz!"},{"url":"https://djjzyz.com/","title":"大姐姐资源站","desc":"大姐姐资源站"},{"url":"https://www.gigsgigscloud.com/premium-us-kvm-vps/","title":"美国LAX CN2 VPS,中国高级KVM VPS,纯SSD VPS","desc":"美国LAX CN2 VPS,中国高级KVM VPS,纯SSD VPS"},{"url":"https://www.moxing.casa/forum.php","title":"魔性论坛 - 免费、自由的交流论坛 -","desc":"魔性论坛 - 免费、自由的交流论坛 -"},{"url":"https://www.978lulu03.xyz/","title":"就去撸撸吧-男人天堂","desc":"就去撸撸吧-男人天堂"},{"url":"https://wx2.qq.com/","title":"微信网页版","desc":"微信网页版"},{"url":"https://www.cunhua.club/forum.php","title":"村花论坛","desc":"村花论坛"},{"url":"https://www.sehuatang.net/","title":"色花堂-98堂 - Powered by Discuz!","desc":"色花堂-98堂 - Powered by Discuz!"},{"url":"http://wherebt.com/blog/2017/blog0418.html","title":"WHERE BT官方博客","desc":"WHERE BT官方博客"},{"url":"https://www.98ddt.xyz/forum.php","title":"色花堂-98堂 - Powered by Discuz!","desc":"色花堂-98堂 - Powered by Discuz!"}]},{"name":"PT","children":[],"web":[{"url":"https://pterclub.com/index.php","title":"PT之友俱乐部 :: 首页 PTerClub","desc":"PT之友俱乐部 :: 首页 PTerClub"},{"url":"https://pt.m-team.cc/index.php","title":"M-Team","desc":"M-Team"},{"url":"https://www.nicept.net/index.php","title":"NicePT","desc":"NicePT"},{"url":"https://pan.baidu.com/disk/home?errmsg=Auth+Login+Sucess&errno=0&ssnerror=0&#/category?type=1&vmode=list","title":"百度网盘-全部文件","desc":"百度网盘-全部文件"}]}],"web":[{"url":"http://195.154.112.215:9091/transmission/web/","title":"Transmission WEB 控制器 1.6.0 beta","desc":"Transmission WEB 控制器 1.6.0 beta"},{"url":"http://gequdaquan.net/gqss/","title":"歌曲大全-音乐聚合搜索引擎-音乐免费下载mp3-音乐免费下载","desc":"歌曲大全-音乐聚合搜索引擎-音乐免费下载mp3-音乐免费下载"}]},{"name":"购物","children":[],"web":[{"url":"http://www.lz618.net/index.jsp","title":"欢迎进入-泸州客运中心站","desc":"欢迎进入-泸州客运中心站"},{"url":"https://ipcrs.pbccrc.org.cn/","title":"个人信用信息服务平台","desc":"个人信用信息服务平台"},{"url":"http://www.cdqcp.com/","title":"成都汽车票务网-汽车票余票查询‖汽车票价查询‖汽车票预订‖汽车票网上订票官网","desc":"成都汽车票务网-汽车票余票查询‖汽车票价查询‖汽车票预订‖汽车票网上订票官网"},{"url":"http://www.uu163.net/User/","title":"用户中心首页 - UU163旅行在线","desc":"用户中心首页 - UU163旅行在线"}]},{"name":"教程","children":[],"web":[{"url":"https://aitanlu.com/ubuntu-shadowsocks-ke-hu-duan-pei-zhi.html","title":"linux-ubuntu使用shadowsocks客户端配置 - 资源教程 - 爱探路","desc":"linux-ubuntu使用shadowsocks客户端配置 - 资源教程 - 爱探路"},{"url":"http://www.w3school.com.cn/","title":"w3school 在线教程","desc":"w3school 在线教程"},{"url":"http://www.runoob.com/","title":"菜鸟教程 - 学的不仅是技术,更是梦想!","desc":"菜鸟教程 - 学的不仅是技术,更是梦想!"}]},{"name":"软件","children":[],"web":[{"url":"http://www.zdfans.com/","title":"zd423","desc":"zd423"},{"url":"http://blog.xunleihd.com/","title":"XunleiHD","desc":"XunleiHD"},{"url":"http://hrtsea.com/","title":"心海e站","desc":"心海e站"},{"url":"http://www.itopdog.cn/","title":"软件盒子","desc":"软件盒子"},{"url":"http://www.guofs.com/","title":"独木成林 - 专注软件分享与优化","desc":"独木成林 - 专注软件分享与优化"},{"url":"http://findicons.com/","title":"图标搜索引擎 - 下载469674个免费图标, PNG图标, 网页图标","desc":"图标搜索引擎 - 下载469674个免费图标, PNG图标, 网页图标"},{"url":"https://www.netflix.com/watch/81167140?trackId=155573560","title":"销售","desc":"销售"},{"url":"https://gitee.com/baisucode/onenav-theme/tree/master/templates/baisu","title":"baisu: onenav主题 - Gitee.com","desc":"baisu: onenav主题 - Gitee.com"}]},{"name":"开发者","children":[],"web":[{"url":"http://www.bootcss.com/","title":"Bootstrap中文网","desc":"Bootstrap中文网"},{"url":"http://www.w3cschool.cc/","title":"w3cschool菜鸟教程","desc":"w3cschool菜鸟教程"},{"url":"http://haojian138.blog.163.com/","title":"流风清音 - 流风清音 - 网易博客","desc":"流风清音 - 流风清音 - 网易博客"},{"url":"http://www.easyicon.net/","title":"图标下载,ICON(PNG/ICO/ICNS)图标搜索下载 | EASYICON.NET","desc":"图标下载,ICON(PNG/ICO/ICNS)图标搜索下载 | EASYICON.NET"},{"url":"http://www.everedit.cn/","title":"首页 | EverEdit","desc":"首页 | EverEdit"},{"url":"http://bootswatch.com/","title":"Bootswatch: Free themes for Bootstrap","desc":"Bootswatch: Free themes for Bootstrap"},{"url":"http://whois.ati.tn/","title":"whois.ati.tn","desc":"whois.ati.tn"},{"url":"https://www.trustasia.com/tools-ssl-state/faq.xiaoz.me/443","title":"SSL状态在线检测工具 - 亚洲诚信","desc":"SSL状态在线检测工具 - 亚洲诚信"},{"url":"http://www.lsw1994.com/post-181.html","title":"获取笑话 - API","desc":"获取笑话 - API"},{"url":"http://www.mediafire.com/asuswrt-merlin/","title":"梅林固件","desc":"梅林固件"},{"url":"http://downloads.openwrt.org.cn/PandoraBox/Xiaomi-Mini-R1CM/stable/","title":"Index of /PandoraBox/Xiaomi-Mini-R1CM/stable/","desc":"Index of /PandoraBox/Xiaomi-Mini-R1CM/stable/"},{"url":"http://pubg.disquse.ru/","title":"PUBG Servers Ping","desc":"PUBG Servers Ping"},{"url":"https://apps.evozi.com/apk-downloader/","title":"APK Downloader [Latest] Download Directly | Chrome Extension v3 (Evozi Official)","desc":"APK Downloader [Latest] Download Directly | Chrome Extension v3 (Evozi Official)"},{"url":"http://name.tg/","title":"域名特工 beta","desc":"域名特工 beta"},{"url":"https://www.oxahost.tn/myoxa/viewticket.php?tid=499434&c=5EPvCdKa","title":"OXAHOST - 查看请求","desc":"OXAHOST - 查看请求"},{"url":"https://fontawesome.com/","title":"angular | Font Awesome","desc":"angular | Font Awesome"},{"url":"https://sightengine.com/dashboard/","title":"Realtime Moderation API - Sightengine","desc":"Realtime Moderation API - Sightengine"},{"url":"https://payjs.cn/","title":"PAYJS","desc":"PAYJS"},{"url":"https://jpgraph.net/","title":"JpGraph - Most powerful PHP-driven charts","desc":"JpGraph - Most powerful PHP-driven charts"},{"url":"http://phpqrcode.sourceforge.net/examples/index.php?example=005","title":"PHP的QR码 - 例子","desc":"PHP的QR码 - 例子"},{"url":"http://www.favicon-icon-generator.com/favicon","title":"ico图标制作,在线Favicon.ico制作转换工具,实时预览ico生成效果,ico图标下载","desc":"ico图标制作,在线Favicon.ico制作转换工具,实时预览ico生成效果,ico图标下载"},{"url":"https://codeigniter.org.cn/user_guide/","title":"CodeIgniter 用户指南","desc":"CodeIgniter 用户指南"},{"url":"http://getansible.com/","title":"Ansible入门 · Ansible入门","desc":"Ansible入门 · Ansible入门"},{"url":"https://aite.me/vmware.php","title":"VMware Workstation 15 Pro Keygen","desc":"VMware Workstation 15 Pro Keygen"},{"url":"https://wall.alphacoders.com/by_resolution.php?w=3840&h=2160&lang=Chinese&page=4","title":"12578 3840x2160 4k Ultra 高清壁纸 | 桌面背景 - Wallpaper Abyss - 页面 4","desc":"12578 3840x2160 4k Ultra 高清壁纸 | 桌面背景 - Wallpaper Abyss - 页面 4"},{"url":"https://www.pexels.com/","title":"Free stock photos · Pexels","desc":"Free stock photos · Pexels"},{"url":"https://www.icann.org/registrar-reports/accreditation-qualified-list.html","title":"ICANN | ICANN认可的注册商的说明和联系信息","desc":"ICANN | ICANN认可的注册商的说明和联系信息"},{"url":"https://www.icann.org/registrar-reports/accredited-list.html","title":"ICANN | ICANN认可的注册商","desc":"ICANN | ICANN认可的注册商"},{"url":"https://learnku.com/docs/laravel/5.5/","title":"《Laravel 5.5 中文文档》 | Laravel China 社区","desc":"《Laravel 5.5 中文文档》 | Laravel China 社区"},{"url":"https://www.kancloud.cn/king1992/we7devman","title":"微擎开发手册 · 看云","desc":"微擎开发手册 · 看云"},{"url":"http://wiki.blueidea.com/index.php?title=%E4%BA%BA%E4%BA%BA%E5%95%86%E5%9F%8E/%E6%95%B0%E6%8D%AE%E5%BA%93%E5%AD%97%E5%85%B8","title":"人人商城/数据库字典 - Blueidea","desc":"人人商城/数据库字典 - Blueidea"},{"url":"https://blog.sprov.xyz/2019/08/03/v2-ui/#i-4","title":"v2-ui,一个全新的多协议多用户 v2ray 面板 | sprov","desc":"v2-ui,一个全新的多协议多用户 v2ray 面板 | sprov"}]},{"name":"其它网址","children":[],"web":[{"url":"http://cx.sceea.cn/","title":"四川省教育考试院信息查询系统-成绩查询,录取查询","desc":"四川省教育考试院信息查询系统-成绩查询,录取查询"}]},{"name":"zhanmei","children":[],"web":[{"url":"http://192.168.50.3:3001/","title":"AdGuard Home","desc":"AdGuard Home"},{"url":"http://192.168.50.3/ariang.html","title":"AriaNg","desc":"AriaNg"},{"url":"http://192.168.50.3:6081/files/","title":"ccaaDown","desc":"ccaaDown"},{"url":"http://192.168.50.3:19999/#;theme=slate;help=true","title":"netdata","desc":"netdata"},{"url":"http://wherebt.com/","title":"BT导航网","desc":"BT导航网"},{"url":"http://192.168.50.9:5000/","title":"maopan - Synology DiskStation","desc":"maopan - Synology DiskStation"},{"url":"http://192.168.50.3:8096/web/index.html#!/home.html","title":"Jellyfin","desc":"Jellyfin"},{"url":"http://192.168.50.6:3000/","title":"AdGuard Home","desc":"AdGuard Home"}]},{"name":"云服务","children":[],"web":[{"url":"https://cloud.baidu.com/","title":"百度智能云","desc":"百度智能云"},{"url":"https://www.xiaoz.me/api/dcache.html","title":"CDN缓存刷新系统","desc":"CDN缓存刷新系统"},{"url":"http://163.172.35.132:9091/transmission/web/","title":"Online Transmission WEB 控制器","desc":"Online Transmission WEB 控制器"}]}] \ No newline at end of file diff --git a/data/bookmarks_2022_5_6.html b/data/bookmarks_2022_5_6.html new file mode 100644 index 0000000..975ba9d --- /dev/null +++ b/data/bookmarks_2022_5_6.html @@ -0,0 +1,168 @@ + + + +Bookmarks +

Bookmarks

+

+

书签栏

+

+

常用网址

+

+

V2EX +
金狐电脑工作室-Jinhu Computer Studio +
滴答清单: 一个帮你高效完成任务和规划时间的应用 +
Today / Me +
【成都-武侯区司机或配送员_司机或配送员招聘_四川易格天承文化传播有限公司】-前程无忧官方招聘网站 +

+

影视

+

+

adult

+

+

草榴社區 - powered by phpwind.net +
捷克論壇 JKF +
bt下载 爱城 bt下载 +
Resilio Sync Keys List - BTSync资源 +
微力同步 Resilio Sync Key 下载-资源大全 Resilio Sync Keys List - BTSync资源分享 资源搜索 +
JavBus +
Phim sex hd | Phim địt nhau không che | Jav hay nhất 2017 +
Free Porn Videos & Sex Movies - Porno, XXX, Porn Tube | Pornhub +
小嶋ひより | 一本道 +
保存视频,下载视频,YouTube视频下载,YouTube,视频在线,离线视频 - savevd.com +
TuKif : PORNO GRATUIT, Tube de Video Porno HD, Streaming Sex +
mgstage - 200GANA 230ORE 259LUXU 261ARA 276KITAIKE 277DCV 300MIUM SIRO +
91dizhi_1 on eBay +
Browse :: Sukebei +
亚洲无码原创 - 色花堂 - Powered by Discuz! +
RARBG Rarbg Index page +
Browse :: Sukebei +
免费高清在线视频 - 色爷爷 +
色花堂 - Powered by Discuz! +
Netflav - 無修正 / Uncensored +
色花堂 - Powered by Discuz! +
大姐姐资源站 +
美国LAX CN2 VPS,中国高级KVM VPS,纯SSD VPS +
魔性论坛 - 免费、自由的交流论坛 - +
就去撸撸吧-男人天堂 +
微信网页版 +
村花论坛 +
色花堂-98堂 - Powered by Discuz! +
WHERE BT官方博客 +
色花堂-98堂 - Powered by Discuz! +

三级分类

+

+

三级书签测试 +

四级分类

+

+

四级书签测试 +

+

+

+

Transmission WEB 控制器 1.6.0 beta +
歌曲大全-音乐聚合搜索引擎-音乐免费下载mp3-音乐免费下载 +

PT

+

+

PT之友俱乐部 :: 首页 PTerClub +
M-Team +
NicePT +
百度网盘-全部文件 +

+

+

购物

+

+

欢迎进入-泸州客运中心站 +
个人信用信息服务平台 +
成都汽车票务网-汽车票余票查询‖汽车票价查询‖汽车票预订‖汽车票网上订票官网 +
用户中心首页 - UU163旅行在线 +

+

教程

+

+

linux-ubuntu使用shadowsocks客户端配置 - 资源教程 - 爱探路 +
w3school 在线教程 +
菜鸟教程 - 学的不仅是技术,更是梦想! +

+

软件

+

+

zd423 +
XunleiHD +
心海e站 +
软件盒子 +
独木成林 - 专注软件分享与优化 +
图标搜索引擎 - 下载469674个免费图标, PNG图标, 网页图标 +
销售 +
baisu: onenav主题 - Gitee.com +

+

开发者

+

+

Bootstrap中文网 +
w3cschool菜鸟教程 +
流风清音 - 流风清音 - 网易博客 +
图标下载,ICON(PNG/ICO/ICNS)图标搜索下载 | EASYICON.NET +
首页 | EverEdit +
Bootswatch: Free themes for Bootstrap +
whois.ati.tn +
SSL状态在线检测工具 - 亚洲诚信 +
获取笑话 - API +
梅林固件 +
Index of /PandoraBox/Xiaomi-Mini-R1CM/stable/ +
PUBG Servers Ping +
APK Downloader [Latest] Download Directly | Chrome Extension v3 (Evozi Official) +
域名特工 beta +
OXAHOST - 查看请求 +
angular | Font Awesome +
Realtime Moderation API - Sightengine +
PAYJS +
JpGraph - Most powerful PHP-driven charts +
PHP的QR码 - 例子 +
ico图标制作,在线Favicon.ico制作转换工具,实时预览ico生成效果,ico图标下载 +
CodeIgniter 用户指南 +
Ansible入门 · Ansible入门 +
VMware Workstation 15 Pro Keygen +
12578 3840x2160 4k Ultra 高清壁纸 | 桌面背景 - Wallpaper Abyss - 页面 4 +
Free stock photos · Pexels +
ICANN | ICANN认可的注册商的说明和联系信息 +
ICANN | ICANN认可的注册商 +
《Laravel 5.5 中文文档》 | Laravel China 社区 +
微擎开发手册 · 看云 +
人人商城/数据库字典 - Blueidea +
v2-ui,一个全新的多协议多用户 v2ray 面板 | sprov +

+

其它网址

+

+

四川省教育考试院信息查询系统-成绩查询,录取查询 +

+

zhanmei

+

+

AdGuard Home +
AriaNg +
ccaaDown +
netdata +
BT导航网 +
maopan - Synology DiskStation +
Jellyfin +
AdGuard Home +

+

HK +
+
YouTube +
+
whois查询_域名whois查询_域名查询-西部数码域名whois资料查询平台 +
西部数码知识系统 (http://www.west.cn)|安装SSL证书,启用HTTPS +
百度统计——最大的中文网站分析平台 +
微信网页版 +
滴答清单 +
离线下载 +

云服务

+

+

百度智能云 +
CDN缓存刷新系统 +
Online Transmission WEB 控制器 +

+

一键添加 +

+

领贤 +
少女卷轴5:污神整合-傻瓜一键智能安装整合中文版【新整合】 – 叽哩叽哩游戏网ACG(G站) +
添加书签 +
OneNav +

diff --git a/data/config.php.bak b/data/config.php.bak new file mode 100644 index 0000000..0ee22aa --- /dev/null +++ b/data/config.php.bak @@ -0,0 +1,34 @@ + 'sqlite', + 'database_file' => 'data/onenav.db3' +]); + +//用户名 +define('USER','xiaoz'); +//密码 +define('PASSWORD','xiaoz.me'); +//邮箱,用于后台Gravatar头像显示 +define('EMAIL','337003006@qq.com'); +//token参数,API需要使用 +define('TOKEN','xiaoz.me'); +//主题风格 +define('TEMPLATE','baisuTwo'); + +//站点信息 +$site_setting = []; +//站点标题 +$site_setting['title'] = 'OneNav'; +//文字Logo +$site_setting['logo'] = 'OneNav'; +//站点关键词 +$site_setting['keywords'] = 'OneNav,OneNav导航,OneNav书签,开源导航,开源书签,简洁导航,云链接,个人导航,个人书签'; +//站点描述 +$site_setting['description'] = 'OneNav是一款使用PHP + SQLite3开发的简约导航/书签管理器,免费开源。'; + +//这两项不要修改 +$site_setting['user'] = USER; +$site_setting['password'] = PASSWORD; diff --git a/data/update.log b/data/update.log index 5556731..756e2ac 100755 --- a/data/update.log +++ b/data/update.log @@ -103,4 +103,17 @@ CREATE INDEX on_options_key_IDX ON on_options ("key"); 2. 后台新增根据分类查询链接 3. 离线站点图标(使用标题第一个字符) 4. 修复baisu主题修改二级分类导致分类变一级的问题 -5. 新增主题自定义参数设置 \ No newline at end of file +5. 新增主题自定义参数设置 + +20220507 +1. 导入链接支持自动创建分类 +2. 支持批量修改链接属性为公有或私有 +3. 修改默认主题角标大小 + +20220509 +1. 支持 .html 链接导出 +2. 默认主题搜索支持匹配URL + +20220513 +1. 主题分类排序优化 +2. 修改分类优化 \ No newline at end of file diff --git a/functions/helper.php b/functions/helper.php index 106a6db..c89941b 100755 --- a/functions/helper.php +++ b/functions/helper.php @@ -24,7 +24,7 @@ function getIP() { function is_login(){ - $key = md5(USER.PASSWORD.'onenav'); + $key = md5(USER.PASSWORD.'onenav'.$_SERVER['HTTP_USER_AGENT']); //获取session $session = $_COOKIE['key']; //如果已经成功登录 diff --git a/templates/admin/edit_category.php b/templates/admin/edit_category.php index 63376f5..b6e3e6c 100755 --- a/templates/admin/edit_category.php +++ b/templates/admin/edit_category.php @@ -47,6 +47,10 @@ if ( $category['id'] == $category_one['fid'] ) { continue; } + //如果分类ID的父级ID不能是自己 + if( $category['id'] == $id ) { + continue; + } ?> diff --git a/test.php b/test.php new file mode 100644 index 0000000..d36bb4b --- /dev/null +++ b/test.php @@ -0,0 +1,36 @@ + $value) { + //获取子节点长度 + $children_length = count($value->children); + if( $children_length === 0 ) { + $arr[$value->name] = $value->web; + array_push($link_data,$arr); + unset($arr); + } + else{ + if( count($value->web) !== 0 ) { + $new_arr[$value->name] = $value->web; + array_push($link_data,$new_arr); + unset($new_arr); + } + + get_link($value->children); + } + + } + +} +get_link($data); +var_dump($link_data); \ No newline at end of file diff --git a/test2.php b/test2.php new file mode 100644 index 0000000..870b014 --- /dev/null +++ b/test2.php @@ -0,0 +1,26 @@ +(.*)<\/H3>/i",$HTMLh,$category) ){ + //匹配到文件夹名时加入数组 + array_push($categoryt,$category[1]); + array_push($categorys,$category[1]); + }elseif( preg_match('/<\/DL>

/i',$HTMLh) ){ + //匹配到文件夹结束标记时删除一个 + array_pop($categorys); + }elseif( preg_match('/

(.+)<\/A>/i',$HTMLh,$urls) ){ + $datat['category'] = $categorys[count($categorys) -1]; + $datat['title'] = $urls[2]; + $datat['url'] = $urls[1]; + array_push($data,$datat); + } +} +$categoryt = array_unique($categoryt); +var_dump($categoryt);exit; \ No newline at end of file diff --git a/version.txt b/version.txt index d4d215f..d38f6bd 100755 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -v0.9.20-20220429 \ No newline at end of file +v0.9.21-20220516 \ No newline at end of file