Browse Source

0.9.30

pull/145/head
xiaoz 2 years ago
parent
commit
f34b9fa680
  1. 11
      README.md
  2. 48
      class/Api.php
  3. 2
      controller/admin.php
  4. 8
      controller/api.php
  5. 56
      controller/index.php
  6. 16
      data/update.log
  7. 13
      functions/helper.php
  8. 1
      static/layui-2.6.8/css/layui.css
  9. 0
      static/layui-2.6.8/css/modules/code.css
  10. 0
      static/layui-2.6.8/css/modules/laydate/default/laydate.css
  11. 0
      static/layui-2.6.8/css/modules/layer/default/icon-ext.png
  12. 0
      static/layui-2.6.8/css/modules/layer/default/icon.png
  13. 0
      static/layui-2.6.8/css/modules/layer/default/layer.css
  14. 0
      static/layui-2.6.8/css/modules/layer/default/loading-0.gif
  15. 0
      static/layui-2.6.8/css/modules/layer/default/loading-1.gif
  16. 0
      static/layui-2.6.8/css/modules/layer/default/loading-2.gif
  17. BIN
      static/layui-2.6.8/font/iconfont.eot
  18. 554
      static/layui-2.6.8/font/iconfont.svg
  19. BIN
      static/layui-2.6.8/font/iconfont.ttf
  20. BIN
      static/layui-2.6.8/font/iconfont.woff
  21. BIN
      static/layui-2.6.8/font/iconfont.woff2
  22. 5
      static/layui-2.6.8/layui.js
  23. 2
      static/layui/css/layui.css
  24. BIN
      static/layui/font/iconfont.eot
  25. 567
      static/layui/font/iconfont.svg
  26. BIN
      static/layui/font/iconfont.ttf
  27. BIN
      static/layui/font/iconfont.woff
  28. BIN
      static/layui/font/iconfont.woff2
  29. 6
      static/layui/layui.js
  30. 140
      templates/admin/edit_category_new.php
  31. 5
      templates/admin/header.php
  32. 10
      templates/admin/index.php
  33. 52
      templates/admin/link_list.php
  34. 17
      templates/admin/s_header.php
  35. 3
      templates/admin/setting/share.php
  36. 8
      templates/admin/setting/site.php
  37. 4
      templates/admin/setting/subscribe.php
  38. 21
      templates/admin/static/embed.js
  39. 12
      templates/default/index.php
  40. 6
      templates/default/info.json
  41. 5
      templates/default/static/style.css
  42. 2
      version.txt

11
README.md

@ -49,11 +49,11 @@ OneNav是一款开源免费的书签(导航)管理程序,使用使用PHP + @@ -49,11 +49,11 @@ OneNav是一款开源免费的书签(导航)管理程序,使用使用PHP +
```bash
docker run -itd --name="onenav" -p 80:80 \
-v /data/onenav:/data/wwwroot/default/data \
helloz/onenav:0.9.25
helloz/onenav:0.9.30
```
* 第一个`80`是自定义访问端口,可以自行修改,第二个`80`是容器端口,请勿修改
* `/data/onenav`:本机挂载目录,用于持久存储Onenav数据
* `0.9.25`:改成OneNav最新版本号,可以通过[releases](https://github.com/helloxz/onenav/releases)查看最新版本号
* `0.9.30`:改成OneNav最新版本号,可以通过[releases](https://github.com/helloxz/onenav/releases)查看最新版本号
> 更多说明,请参考帮助文档:https://dwz.ovh/onenav
@ -71,12 +71,9 @@ ___ @@ -71,12 +71,9 @@ ___
* 纽及书签:[http://www.1006788.com/](http://www.1006788.com/)
* DiscoveryNav:[https://nav.miooku.com/](https://nav.miooku.com/)
## 联系我
## OneNav交流群
* Blog:https://www.xiaoz.me/
* QQ:446199062
* QQ群:932795364
* 社区支持:[https://dwz.ovh/vd0bw](https://dwz.ovh/vd0bw)
* [https://dwz.ovh/qxsul](https://dwz.ovh/qxsul)
## 鸣谢

48
class/Api.php

@ -705,6 +705,54 @@ class Api { @@ -705,6 +705,54 @@ class Api {
}
}
/**
* name:单行链接修改
*/
public function edit_link_row(){
//验证授权
$this->auth($token);
// 获取POST请求中的JSON数据
$json_data = file_get_contents('php://input');
// 解析JSON数据为PHP对象
$obj = json_decode($json_data);
$id = intval($obj->id);
$fid = intval($obj->fid);
//查询ID是否存在
$count = $this->db->count('on_links',[ 'id' => $id]);
//如果id不存在
if( (empty($id)) || ($count == false) ) {
$this->err_msg(-1012,'link id not exists!');
}
// 拼接需要更新的数据
$data = [
'title' => trim($obj->title),
'weight' => intval($obj->weight)
];
//插入数据库
$re = $this->db->update('on_links',$data,[ 'id' => $id]);
//返回影响行数
$row = $re->rowCount();
//如果为真
if( $row ){
$id = $this->db->id();
$data = [
'code' => 0,
'msg' => 'successful'
];
exit(json_encode($data));
}
//如果插入失败
else{
$this->err_msg(-1011,'The URL already exists!');
}
}
/**
* 删除链接
*/

2
controller/admin.php

@ -30,7 +30,7 @@ if( $page == 'index' ) { @@ -30,7 +30,7 @@ if( $page == 'index' ) {
}
//如果页面是修改edit_category
if ( $page == 'edit_category' ) {
if ( ($page == 'edit_category') || ($page == 'edit_category_new') ) {
//获取id
$id = intval($_GET['id']);
//查询单条分类信息

8
controller/api.php

@ -314,6 +314,8 @@ function set_site($api) { @@ -314,6 +314,8 @@ function set_site($api) {
$data['custom_footer'] = $_POST['custom_footer'];
//获取链接模式
$data['link_model'] = $_POST['link_model'];
// 获取链接数量
$data['link_num'] = $_POST['link_num'];
//序列化存储
$value = serialize($data);
@ -640,3 +642,9 @@ function del_link_icon() { @@ -640,3 +642,9 @@ function del_link_icon() {
global $api;
$api->del_link_icon();
}
// 修改单行链接
function edit_link_row(){
global $api;
$api->edit_link_row();
}

56
controller/index.php

@ -2,6 +2,13 @@ @@ -2,6 +2,13 @@
/**
* 首页模板入口
*/
//获取当前站点信息
$site = $db->get('on_options','value',[ 'key' => "s_site" ]);
$site = unserialize($site);
// 获取链接数量
$link_num = empty( $site['link_num'] ) ? 20 : intval($site['link_num']);
//如果已经登录,获取所有分类和链接
// 载入辅助函数
require('functions/helper.php');
@ -50,6 +57,20 @@ if( is_login() ){ @@ -50,6 +57,20 @@ if( is_login() ){
]);
return $links;
}
//根据category id查询有限链接
function get_limit_links($fid) {
global $db;
global $link_num;
$fid = intval($fid);
$links = $db->select('on_links','*',[
'fid' => $fid,
'ORDER' => ["weight" => "DESC"],
'LIMIT' => $link_num
]);
return $links;
}
//右键菜单标识
$onenav['right_menu'] = 'admin_menu();';
}
@ -94,6 +115,7 @@ else{ @@ -94,6 +115,7 @@ else{
//根据category id查询链接
function get_links($fid) {
global $db;
global $link_num;
$fid = intval($fid);
$links = $db->select('on_links','*',[
'fid' => $fid,
@ -102,10 +124,40 @@ else{ @@ -102,10 +124,40 @@ else{
]);
return $links;
}
//根据category id查询有限链接
function get_limit_links($fid) {
global $db;
$fid = intval($fid);
$links = $db->select('on_links','*',[
'fid' => $fid,
'property' => 0,
'ORDER' => ["weight" => "DESC"],
'LIMIT' => $link_num
]);
return $links;
}
//右键菜单标识
$onenav['right_menu'] = 'user_menu();';
}
// 新增一个可变函数,来根据不同的情况使用不同的方法查询分类下的链接
$get_links = 'get_limit_links';
//获取分类ID
$cid = @$_GET['cid'];
// 如果存在分类ID,则只查询这个分类
if ( !empty($cid) ) {
foreach ($categorys as $key => $tmp) {
if( $tmp['id'] == $cid ) {
$empty_cat[0] = $tmp;
break;
}
}
$get_links = 'get_links';
unset($categorys);
$categorys[0] = $empty_cat[0];
}
//获取版本号
function get_version(){
if( file_exists('version.txt') ) {
@ -166,9 +218,7 @@ if( !empty($theme) ) { @@ -166,9 +218,7 @@ if( !empty($theme) ) {
exit("<h1>主题参数错误!</h1>");
}
}
//获取当前站点信息
$site = $db->get('on_options','value',[ 'key' => "s_site" ]);
$site = unserialize($site);
//获取主题配置信息
if( file_exists("templates/".$template."/config.json") ) {

16
data/update.log

@ -188,3 +188,19 @@ CREATE INDEX on_options_key_IDX ON on_options ("key"); @@ -188,3 +188,19 @@ CREATE INDEX on_options_key_IDX ON on_options ("key");
3. 修复通过分类筛选链接自定义图标不显示问题
4. 修复未登录情况下,API不显示链接列表的BUG
5. heimdall主题新增页脚部分
20230425
1. 链接ico图标由favicon.rss.ink 替换为 favicon.png.pub
2. 新增baisuNew主题
3. 升级LayUI到 2.8.x(BUG待进一步测试)
20230506
1. 链接列表可以快速修改标题和权重
2. 订阅成功后刷新当前订阅页面
3. 编辑分类改为当前页iframe方式
4. default/baisuNew/baisuTwo/5iux/webstack主题完成 0.9.30 适配改造,优化了链接显示数量
5. 订阅页面检测域名方式优化,去除了带端口号的情况
20230507
1. 修复平板电脑登录时循环重定向的BUG
2. 优化了后台页面,去除了顶部重复按钮,添加了加群按钮

13
functions/helper.php

@ -105,7 +105,7 @@ function jump_mobile() { @@ -105,7 +105,7 @@ function jump_mobile() {
$ua = $_SERVER['HTTP_USER_AGENT'];
if( stristr($ua,'iphone') || stristr($ua,'android') ) {
header("Location: /index.php?c=admin");
header("Location: /index.php?c=mobile#/");
exit;
}
}
@ -175,3 +175,14 @@ function get_all_themes() { @@ -175,3 +175,14 @@ function get_all_themes() {
$tpls = array_unique($tpls);
return $tpls;
}
// 获取HOST,需要去除端口号
function get_host(){
$host = $_SERVER['HTTP_HOST'];
$parsed_host = parse_url($host);
//var_dump($parsed_host);
if (isset($parsed_host['port']) && $parsed_host['port'] != 80 && $parsed_host['port'] != 443) {
$host = $parsed_host['host'];
}
return $host;
}

1
static/layui-2.6.8/css/layui.css

File diff suppressed because one or more lines are too long

0
static/layui/css/modules/code.css → static/layui-2.6.8/css/modules/code.css

0
static/layui/css/modules/laydate/default/laydate.css → static/layui-2.6.8/css/modules/laydate/default/laydate.css

0
static/layui/css/modules/layer/default/icon-ext.png → static/layui-2.6.8/css/modules/layer/default/icon-ext.png

Before

Width:  |  Height:  |  Size: 5.8 KiB

After

Width:  |  Height:  |  Size: 5.8 KiB

0
static/layui/css/modules/layer/default/icon.png → static/layui-2.6.8/css/modules/layer/default/icon.png

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

0
static/layui/css/modules/layer/default/layer.css → static/layui-2.6.8/css/modules/layer/default/layer.css

0
static/layui/css/modules/layer/default/loading-0.gif → static/layui-2.6.8/css/modules/layer/default/loading-0.gif

Before

Width:  |  Height:  |  Size: 5.7 KiB

After

Width:  |  Height:  |  Size: 5.7 KiB

0
static/layui/css/modules/layer/default/loading-1.gif → static/layui-2.6.8/css/modules/layer/default/loading-1.gif

Before

Width:  |  Height:  |  Size: 701 B

After

Width:  |  Height:  |  Size: 701 B

0
static/layui/css/modules/layer/default/loading-2.gif → static/layui-2.6.8/css/modules/layer/default/loading-2.gif

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

BIN
static/layui-2.6.8/font/iconfont.eot

Binary file not shown.

554
static/layui-2.6.8/font/iconfont.svg

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 299 KiB

BIN
static/layui-2.6.8/font/iconfont.ttf

Binary file not shown.

BIN
static/layui-2.6.8/font/iconfont.woff

Binary file not shown.

BIN
static/layui-2.6.8/font/iconfont.woff2

Binary file not shown.

5
static/layui-2.6.8/layui.js vendored

File diff suppressed because one or more lines are too long

2
static/layui/css/layui.css

File diff suppressed because one or more lines are too long

BIN
static/layui/font/iconfont.eot

Binary file not shown.

567
static/layui/font/iconfont.svg

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 299 KiB

After

Width:  |  Height:  |  Size: 321 KiB

BIN
static/layui/font/iconfont.ttf

Binary file not shown.

BIN
static/layui/font/iconfont.woff

Binary file not shown.

BIN
static/layui/font/iconfont.woff2

Binary file not shown.

6
static/layui/layui.js vendored

File diff suppressed because one or more lines are too long

140
templates/admin/edit_category_new.php

@ -0,0 +1,140 @@ @@ -0,0 +1,140 @@
<?php include_once('s_header.php'); ?>
<div class="layui-container">
<!-- 内容主体区域 -->
<div class="layui-row">
<!-- 说明提示框 -->
<div class="layui-col-lg12">
<div class="setting-msg" style = "margin-top:2em;">
<p>1. 关于字体图标的说明请参考帮助文档:<a href="https://dwz.ovh/7nr1f" target = "_blank" title = "字体图标使用说明">https://dwz.ovh/7nr1f</a></p>
<p>2. 权重越大,排序越靠前</p>
</div>
</div>
<!-- 说明提示框END -->
<div class="layui-col-lg12">
<form class="layui-form layui-form-pane">
<div class="layui-form-item" style = "display:none;">
<label class="layui-form-label">分类ID</label>
<div class="layui-input-block">
<input type="text" name="id" required lay-verify="required" value = '<?php echo $id; ?>' placeholder="请输入分类名称" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">分类名称</label>
<div class="layui-input-block">
<input type="text" name="name" required lay-verify="required" value = '<?php echo $category_one['name']; ?>' placeholder="请输入分类名称" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">父级分类</label>
<div class="layui-input-block">
<select name="fid" lay-verify="">
<!-- 显示上级分类,如果没有,则显示空 -->
<?php if( empty( $category_one['fname'] ) ){
?>
<!-- 如果上级分类名称为空 -->
<option value="0"></option>
<?php }else{ ?>
<option value="<?php echo $category_one['fid']; ?>"><?php echo $category_one['fname']; ?></option>
<option value="0"></option>
<?php } ?>
<!-- 显示上级分类END -->
<!-- 遍历所有分类,但不显示对应的父级 -->
<?php foreach ($categorys as $key => $category) {
if ( $category['id'] == $category_one['fid'] ) {
continue;
}
//如果分类ID的父级ID不能是自己
if( $category['id'] == $id ) {
continue;
}
?>
<option value="<?php echo $category['id']; ?>"><?php echo $category['name']; ?></option>
<?php } ?>
<!-- 遍历所有分类END -->
</select>
</div>
</div>
<!-- <div class="layui-form-item">
<label class="layui-form-label">字体图标</label>
<div class="layui-input-block">
<input type="text" name="font_icon" value = '<?php echo $category_one['font_icon']; ?>' placeholder="请输入字体图标,如:fa fa-bookmark-o" autocomplete="off" class="layui-input">
</div>
</div> -->
<div class="layui-form-item">
<label for="" class="layui-form-label">字体图标:</label>
<div class="layui-input-inline" style = "width:240px;">
<input name="font_icon" type="text" id="iconHhys2" value="<?php echo $category_one['font_icon']; ?>" lay-filter="iconHhys2" class="layui-input">
</div>
<div class="layui-form-mid layui-word-aux">
图标对照表可参考:<a rel = "nofollow" target = "_blank" href="https://fontawesome.dashgame.com/">FontAwesome4</a>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">权重</label>
<div class="layui-input-block">
<input type="number" name="weight" min = "0" max = "999" value = "<?php echo $category_one['weight']; ?>" required lay-verify="required|number" placeholder="权重越高,排名越靠前,范围为0-999" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">是否私有</label>
<div class="layui-input-inline" style = "width:240px;">
<input type="checkbox" name="property" value = "1" lay-skin="switch" <?php echo $category_one['checked']; ?> lay-text="是|否">
</div>
<div class="layui-form-mid layui-word-aux">私有分类下的链接需要登录后才能查看。</div>
</div>
<div class="layui-form-item layui-form-text">
<label class="layui-form-label">描述(选填)</label>
<div class="layui-input-block">
<textarea name="description" placeholder="请输入内容" class="layui-textarea"><?php echo $category_one['description']; ?></textarea>
</div>
</div>
<div class="layui-form-item">
<button class="layui-btn" lay-submit lay-filter="edit_category">更新</button>
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
</div>
</form>
</div>
</div>
<!-- 内容主题区域END -->
</div>
<script>
//参考:https://gitee.com/luckygyl/iconFonts
layui.use(['iconHhysFa'], function(){
var iconHhysFa = layui.iconHhysFa;
iconHhysFa.render({
// 选择器,推荐使用input
elem: '#iconHhys2',
// 数据类型:fontClass/awesome,推荐使用fontClass
type: 'awesome',
// 是否开启搜索:true/false
search: true,
// fa 图标接口
url: './static/font-awesome/4.7.0/less/variables.less',
// 是否开启分页
page: true,
// 每页显示数量,默认12
limit: 30,
// 点击回调
value:'<?php echo str_replace("fa ","",$category_one["font_icon"]); ?>', //自定义默认图标
click: function(data) {
console.log(data);
},
// 渲染成功后的回调
success: function(d) {
console.log(d);
}
});
})
</script>

5
templates/admin/header.php

@ -22,10 +22,11 @@ @@ -22,10 +22,11 @@
<!-- 头部区域(可配合layui已有的水平导航) -->
<ul class="layui-nav layui-layout-left">
<li class="layui-nav-item"><a href="/"><i class="layui-icon layui-icon-home"></i> 前台首页</a></li>
<li class="layui-nav-item"><a href="/index.php?c=admin&page=category_list"><i class="layui-icon layui-icon-list"></i> 分类列表</a></li>
<!-- <li class="layui-nav-item"><a href="/index.php?c=admin&page=category_list"><i class="layui-icon layui-icon-list"></i> 分类列表</a></li>
<li class="layui-nav-item"><a href="/index.php?c=admin&page=add_category"><i class="layui-icon layui-icon-add-circle-fine"></i> 添加分类</a></li>
<li class="layui-nav-item"><a href="/index.php?c=admin&page=link_list"><i class="layui-icon layui-icon-link"></i> 我的链接</a></li>
<li class="layui-nav-item"><a href="/index.php?c=admin&page=add_link"><i class="layui-icon layui-icon-add-circle-fine"></i> 添加链接</a></li>
<li class="layui-nav-item"><a href="/index.php?c=admin&page=add_link"><i class="layui-icon layui-icon-add-circle-fine"></i> 添加链接</a></li> -->
<li class="layui-nav-item"><a title = "加入OneNav交流群" target = "_blank" href="https://dwz.ovh/qxsul"><i class="layui-icon layui-icon-group"></i> 交流群</a></li>
</ul>
<ul class="layui-nav layui-layout-right">

10
templates/admin/index.php

@ -19,10 +19,7 @@ @@ -19,10 +19,7 @@
</div>
</div>
<div class="layui-col-lg4">
<div class = "admin-msg">QQ群1:147687134</div>
</div>
<div class="layui-col-lg4">
<div class = "admin-msg">QQ群2:932795364</div>
<div class = "admin-msg">交流群:<a target = "_blank" rel = "nofollow" href="https://dwz.ovh/qxsul" title = "点此加入OneNav交流群">https://dwz.ovh/qxsul</a></div>
</div>
<div class="layui-col-lg4">
<div class = "admin-msg">社区支持:<a href="https://dwz.ovh/vd0bw" rel = "nofollow" target="_blank" title="访问下问社区">https://dwz.ovh/vd0bw</a></div>
@ -34,10 +31,7 @@ @@ -34,10 +31,7 @@
<div class = "admin-msg">帮助文档:<a href="https://dwz.ovh/onenav" rel = "nofollow" target="_blank">https://dwz.ovh/onenav</a></div>
</div>
<div class="layui-col-lg4">
<div class = "admin-msg">QQ:446199062</div>
</div>
<div class="layui-col-lg4">
<div class = "admin-msg">Blog: <a href="https://www.xiaoz.me/" rel = "nofollow" target="_blank">https://www.xiaoz.me/</a></div>
<div class = "admin-msg">作者博客: <a href="https://www.xiaoz.me/" rel = "nofollow" target="_blank">https://www.xiaoz.me/</a></div>
</div>
<div class="layui-col-lg4">
<div class = "admin-msg">捐赠地址: <a href="https://dwz.ovh/donation" rel = "nofollow" target="_blank">https://dwz.ovh/donation</a></div>

52
templates/admin/link_list.php

@ -47,10 +47,60 @@ @@ -47,10 +47,60 @@
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del" onclick = "">删除</a>
</script>
<!-- 表单下面的按钮 -->
<button class="layui-btn layui-btn-sm" lay-submit onclick = "export_link()">导出所有链接</button>
<button style="margin-top:16px;" class="layui-btn layui-btn-sm" lay-submit onclick = "export_link()">导出所有链接</button>
<!-- 表单下面的按钮END -->
</div>
<!-- 内容主题区域END -->
</div>
<script>
layui.use(['table'], function(){
var table = layui.table;
// 编辑单行
table.on('edit(mylink)',function(obj){
var field = obj.field; // 得到字段
var value = obj.value; // 得到修改后的值
var data = obj.data; // 得到所在行所有键值
// 获取到权重并判断是否合法
let weight = data.weight;
if( /^[-+]?\d*\.?\d+$/.test(weight) == false ) {
layer.msg("权重必须为数字!",{icon:5});
return obj.reedit();
}
// 获取到标题并判断是否合法
let title = data.title.trim();
if( title.length == 0 ) {
layer.msg("标题不能为空!",{icon:5});
return obj.reedit();
}
// 请求后端API
$.ajax({
url: '/index.php?c=api&method=edit_link_row',
type: 'POST',
data: JSON.stringify(data),
contentType: 'application/json',
dataType: 'json',
success: function(response) {
// 请求成功后执行的代码
if( response.code == 0 ) {
layer.msg("已修改!",{icon:1});
}
else{
layer.msg(response.msg,{icon:5});
}
},
error: function(xhr, status, error) {
// 请求出错时执行的代码
console.log(error);
layer.msg("修改失败!",{icon:5});
}
});
})
});
</script>
<?php include_once('footer.php'); ?>

17
templates/admin/s_header.php

@ -0,0 +1,17 @@ @@ -0,0 +1,17 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<meta name="renderer" content="webkit"/>
<meta name="force-rendering" content="webkit"/>
<title>OneNav后台管理</title>
<link rel='stylesheet' href='static/layui/css/layui.css'>
<link rel='stylesheet' href='templates/admin/static/style.css?v=<?php echo $version; ?>'>
<link rel="stylesheet" href="static/font-awesome/4.7.0/css/font-awesome.css">
<script src = 'static/js/jquery.min.js'></script>
<script src = 'static/layui/layui.js'></script>
<script src="static/js/md5.min.js"></script>
<script src = "static/js/clipBoard.min.js"></script>
<script src="templates/admin/static/embed.js?v=<?php echo $version; ?>"></script>
</head>

3
templates/admin/setting/share.php

@ -61,6 +61,7 @@ @@ -61,6 +61,7 @@
<!-- 创建分享END -->
<div class="layui-col-lg12">
<div style="margin-top:18px;"></div>
<!-- 数据表格 -->
<table class="layui-hide" id="mytable" lay-filter="mytable"></table>
<!-- 数据表格END -->
@ -77,6 +78,8 @@ @@ -77,6 +78,8 @@
</div>
</script>
<!-- 头部工具栏END -->
<div style="margin-bottom:18px;"></div>
</div>
</div>
</div>

8
templates/admin/setting/site.php

@ -59,6 +59,14 @@ @@ -59,6 +59,14 @@
<div class="layui-form-mid layui-word-aux">开启直链模式后将直接打开目标地址,不二次跳转,仅部分主题支持!</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">链接数量</label>
<div class="layui-input-inline">
<input type="number" name="link_num" value = "<?php echo $site['link_num']; ?>" autocomplete="off" placeholder="分类需要展示的链接数量" class="layui-input">
</div>
<div class="layui-form-mid layui-word-aux">指的是首页单个分类下需要展示的链接数量,默认20,值越低,性能越好</div>
</div>
<div class="layui-form-item layui-form-text">
<label class="layui-form-label">网站描述</label>
<div class="layui-input-block">

4
templates/admin/setting/subscribe.php

@ -19,9 +19,9 @@ @@ -19,9 +19,9 @@
</ol>
</div>
<div class="setting-msg">
<p>1. 系统检测到您的域名为<strong style="color:#31BDEC;"><code><?php echo $_SERVER['HTTP_HOST']; ?></code></strong>,购买订阅时请填写此域名!</p>
<p>1. 系统检测到您的域名为<strong style="color:#31BDEC;"><code><?php echo get_host(); ?></code></strong>,购买订阅时请填写此域名!</p>
<p>2. 若域名填写错误或更换域名,请前往<a title = "修改OneNav订阅域名" href="https://www.onenav.top/msub.html" target="_blank">https://www.onenav.top/msub.html</a>修改订阅!</p>
<p>3. Docker用户或IP访问的用户,请参考<a href="https://dwz.ovh/cve3d" target="_blank">没有域名购买订阅</a></p>
<!-- <p>3. Docker用户或IP访问的用户,请参考<a href="https://dwz.ovh/cve3d" target="_blank">没有域名购买订阅</a></p> -->
</div>
</div>
<!-- 说明提示框END -->

21
templates/admin/static/embed.js

@ -150,13 +150,23 @@ layui.use(['element','table','layer','form','upload','iconHhysFa'], function(){ @@ -150,13 +150,23 @@ layui.use(['element','table','layer','form','upload','iconHhysFa'], function(){
layer.close(index);
});
} else if(obj.event === 'edit'){
window.location.href = '/index.php?c=admin&page=edit_category&id=' + obj.data.id;
// 这是原来老的逻辑,跳转到新的页面进行编辑,不太友好
// window.location.href = '/index.php?c=admin&page=edit_category&id=' + obj.data.id;
// 新的逻辑改为当前页面iframe编辑
layer.open({
type: 2,
title: '编辑分类',
shadeClose: true,
maxmin: true, //开启最大化最小化按钮
area: ['900px', '660px'],
content: '/index.php?c=admin&page=edit_category_new&id=' + obj.data.id
});
}
});
//渲染链接列表
table.render({
elem: '#link_list'
,height: 520
,height: 530
,url: 'index.php?c=api&method=link_list' //数据接口
,method: 'post'
,page: true //开启分页
@ -182,7 +192,7 @@ layui.use(['element','table','layer','form','upload','iconHhysFa'], function(){ @@ -182,7 +192,7 @@ layui.use(['element','table','layer','form','upload','iconHhysFa'], function(){
var url = '<a target = "_blank" href = "' + d.url + '" title = "' + d.url + '">' + d.url + '</a>';
return url;
}}
,{field: 'title', title: '链接标题', width:140}
,{field: 'title', title: '链接标题', width:140,edit: 'text'}
,{field: 'add_time', title: '添加时间', width:148, sort: true,templet:function(d){
var add_time = timestampToTime(d.add_time);
return add_time;
@ -197,7 +207,7 @@ layui.use(['element','table','layer','form','upload','iconHhysFa'], function(){ @@ -197,7 +207,7 @@ layui.use(['element','table','layer','form','upload','iconHhysFa'], function(){
}
}}
,{field: 'weight', title: '权重', width: 75,sort:true}
,{field: 'weight', title: '权重', width: 75,sort:true,edit: 'text'}
,{field: 'property', title: '私有', width: 80, sort: true,templet: function(d){
if(d.property == 1) {
return '<button type="button" class="layui-btn layui-btn-xs">是</button>';
@ -565,6 +575,9 @@ layui.use(['element','table','layer','form','upload','iconHhysFa'], function(){ @@ -565,6 +575,9 @@ layui.use(['element','table','layer','form','upload','iconHhysFa'], function(){
if(data.code == 0) {
layer.closeAll('loading');
layer.msg(data.data, {icon: 1});
setTimeout(() => {
location.reload();
}, 2000);
}
else{
layer.closeAll('loading');

12
templates/default/index.php

@ -179,7 +179,7 @@ @@ -179,7 +179,7 @@
<!-- 遍历分类目录 -->
<?php foreach ( $categorys as $category ) {
$fid = $category['id'];
$links = get_links($fid);
$links = $get_links($fid);
$font_icon = empty($category['font_icon']) ? '' : "<i class='{$category['font_icon']}'></i> ";
//如果分类是私有的
if( $category['property'] == 1 ) {
@ -192,7 +192,11 @@ @@ -192,7 +192,11 @@
<div id = "category-<?php echo $category['id']; ?>" class = "mdui-col-xs-12 mdui-typo-title cat-title">
<?php echo $font_icon; ?>
<?php echo htmlspecialchars_decode($category['name']); ?> <?php echo $property; ?>
<span class = "mdui-typo-caption"><?php echo $category['description']; ?></span>
<?php if(empty($cid)) { ?>
<span class="more-link">
<a href="/index.php?cid=<?php echo $category['id']; ?>" title = "点此查看此分类下的全部链接">>></a>
</span>
<?php } ?>
</div>
<!-- 遍历链接 -->
<?php
@ -227,7 +231,7 @@ @@ -227,7 +231,7 @@
<div class="mdui-card-primary-title link-title">
<!-- 网站图标显示方式 -->
<?php if( $theme_config->favicon == "online") { ?>
<img src="https://favicon.rss.ink/v1/<?php echo base64($link['url']); ?>" alt="HUAN" width="16" height="16">
<img src="https://favicon.png.pub/v1/<?php echo base64($link['url']); ?>" alt="HUAN" width="16" height="16">
<?php }else{ ?>
<img src="/index.php?c=ico&text=<?php echo $link['title']; ?>" alt="" width="16" height="16" />
<?php } ?>
@ -248,7 +252,7 @@ @@ -248,7 +252,7 @@
</div>
<div class="mdui-divider"></div>
<div class="mdui-divider" style = "margin-top:2em;"></div>
<!--正文内容部分END-->
<!-- footer部分 -->
<!-- 未经作者授权,请勿去掉版权,否则可能影响作者更新代码的积极性或直接放弃维护此项目。 -->

6
templates/default/info.json

@ -3,13 +3,13 @@ @@ -3,13 +3,13 @@
"description": "OneNav默认主题",
"homepage": "https:\/\/www.xiaoz.me",
"help_url":"https://dwz.ovh/gnae4",
"version": "0.9.26",
"update": "2022\/11\/16",
"version": "0.9.29",
"update": "2023\/05\/06",
"author": "xiaoz<xiaoz93@outlook.com>",
"screenshot": "https:\/\/img.rss.ink\/imgs\/2022\/03\/42ed3ef2c4a50f6d.png",
"demo":"",
"require":{
"min":"0.9.20",
"min":"0.9.30",
"max":""
},
"config": {

5
templates/default/static/style.css

@ -168,3 +168,8 @@ footer a{ @@ -168,3 +168,8 @@ footer a{
#qrcode img{
max-width: 200px;
}
.more-link a{
color:#31bdec;
text-decoration: none;
}

2
version.txt

@ -1 +1 @@ @@ -1 +1 @@
v0.9.29-20221223
v0.9.30-20230508
Loading…
Cancel
Save