OneNav Extend网址导航书签系统源码魔改版

news2024/11/23 3:06:07

内容目录

  • 一、详细介绍
  • 二、效果展示
    • 1.部分代码
    • 2.效果图展示
  • 三、学习资料下载


一、详细介绍

OneNav Extend 是一款功能强大的书签(导航)管理程序,使用PHP + SQLite 3开发,界面简洁,安装简单,使用方便。

OneNav可帮助你你将浏览器书签集中式管理,解决跨设备、跨平台、跨浏览器之间同步和访问困难问题,做到一处部署,随处访问。是基于xiaoz原创的OneNav基础上进行大量的修改,实现了更多的功能!现与xiaoz版是分开发布,独立维护的!

支持后台管理

支持私有链接

支持Chrome/Firefox/Edge书签批量导入

支持多种主题风格

支持链接信息自动识别

支持API

支持Docker部署

支持uTools插件

支持二级分类

支持Chromium内核的[浏览器扩展]

魔改版新增功能:

支持多用户

支持隐藏登陆入口和注册入口

支持登陆保护机制

支持二级密码

支持静态库离线和CDN加速

支持非根目录运行

支持分类选择字体图标(927个图标)

支持分类和链接的关键字搜索

支持筛选链接分类和批量修改分类

支持在列表单元格上快速修改数据

支持从原版升级安装

支持标签组 (可加密分享书签)

支持链接有效性检测

支持上传链接图标

二、效果展示

1.部分代码

代码如下(示例):

// 安装前先检查环境
function check_env() {
    //获取组件信息
    $ext = get_loaded_extensions();
    //检查PHP版本,需要大于5.6小于8.0
    $php_version = floatval(PHP_VERSION);
    
    if( ( $php_version < 5.6 ) || ( $php_version > 8.1 ) ) {
        exit("当前PHP版本{$php_version}不满足要求,需要5.6 <= PHP <= 8.1");
    }
    
    //检查是否支持pdo_sqlite
    if ( !array_search('pdo_sqlite',$ext) ) {
        exit("不支持PDO_SQLITE组件,请先开启!");
    }
    //如果配置文件存在
    if( file_exists("data/lm.user.db3") ) {
        exit("配置文件已存在,无需再次初始化!");
    }
    return TRUE;
}

require ('./class/Class.php');//载入函数库
if( file_exists('./data/onenav.db3') && file_exists('./data/config.php') && !file_exists('./data/lm.user.db3')){
    require ('./data/config.php');//载入配置
    $USER = $site_setting['user'];
    $SQLite3 = './data/'.$USER.'.db3';
    if($USER == 'onenav'){msg(-1000,'用户名不能是onenav!请到/data/config.php修改后再试!');}
    unlink($SQLite3);
    if(!copy('./initial/onenav.simple.db3',$SQLite3)){msg(-1003,'错误:请检查data目录权限!');}
    //查找是否存在on_db_logs表,如果存在则说明是v0.9.16+,后续在根据里面的记录来确定版本!
    $data = $db->query("SELECT count(*) AS num FROM sqlite_master WHERE type='table' AND name='on_db_logs'")->fetchAll();
    $num = intval($data[0]['num']);
    if ( $num == 1 ){ 
        //有on_db_logs表,取ID最大且标记为成功的SQL文件名!并去除后缀名!
        $Ver = $db->query("SELECT sql_name FROM on_db_logs  WHERE status = 'TRUE'  ORDER BY id DESC LIMIT 1")->fetchAll();
        $Ver = str_replace(".sql","",$Ver[0]['sql_name']);
    }else{
        $Ver ='20220304'; //没有on_db_logs表,姑且认为是20220304之前的版本!
    }
    $Newdb = new Medoo\Medoo(['database_type'=>'sqlite','database_file'=>$SQLite3]);
    if(!$Newdb-> query("DELETE FROM on_categorys;")){msg(-1003,'清空分类表失败.');}
    if(!$Newdb-> query("DELETE FROM on_links;")){msg(-1003,'清空连接表失败.');}
    //导入分类
    $categorys = $db->query('SELECT * FROM "on_categorys"')->fetchAll();
    foreach ($categorys as $categorys) {
        if ($Ver == '20220304' ){
            if(preg_match('/<i class="fa (.+)"><\/i>/i',htmlspecialchars_decode($categorys['name']),$matches) != 0){
                $ico=$matches[1];
            }else{
                $ico='';
            }
        }else{
            $ico = str_replace("fa ","",$categorys['font_icon']); //去掉头才符合我的要求
        }

2.效果图展示

请添加图片描述
请添加图片描述


三、学习资料下载

蓝奏云:https://qumaw.lanzoul.com/igv1s0in133e

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/91651.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

通达信下单接口如何执行量化策略?

在量化市场上&#xff0c;有很多交易系统就是通过执行量化策略来进行盈利&#xff0c;比如像通达信下单接口系统&#xff0c;其中就包括开仓、买入、止盈、止损方法与策略执行主函数等&#xff0c;那么执行这些策略呢&#xff1f; 想要了解清楚这个问题也很简单&#xff0c;通…

ssm+Vue计算机毕业设计校园疫情信息管理系统(程序+LW文档)

ssmVue计算机毕业设计校园疫情信息管理系统&#xff08;程序LW文档&#xff09; 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项…

linux下gcc编程12-window下clion编译调试redis7.0

redis介绍 Redis 通常被称为数据结构服务器。这意味着 Redis 通过一组命令提供对可变数据结构的访问&#xff0c;这些命令使用具有 TCP 套接字和简单协议的服务器-客户机模型发送。因此&#xff0c;不同的进程可以以共享的方式查询和修改相同的数据结构。 在 Redis 中实现的数…

WebDAV之葫芦儿·派盘 + Enpass

Enpass 支持WebDAV方式连接葫芦儿派盘。 想找一款加密软件把原来本地存储的明文密码,经过加密后存储到自己的电脑上。同时要具备云同步功能,有些安全级别没那么高的内容,可以同步到各端,以供快速查看、编辑。那您选择Enpass准没错了,还可以同步备份到个人私有派盘,跨平…

【vue】插槽,Provided/inject和vue3生命周期

&#xff08;1&#xff09;第一部分&#xff0c;关于插槽 插槽的作用是再子组件模板里面预留出位置&#xff0c;可以插入父组件的东西例如 <template> 下面是插槽展示的内容和&#xff1a;<slot/> </template>//父组件调用子组件布局的时候 <content>…

电竞蓝牙耳机什么牌子好?2022游戏蓝牙耳机推荐

随着玩游戏的人越来越多&#xff0c;随之而来的是越来越多的电竞蓝牙耳机的出现。在游戏中能够精准获取人物周围的声音变化&#xff0c;音效的同步汇入&#xff0c;这是喜欢戴蓝牙耳机玩游戏的用户所追求的听声辨位。那么&#xff0c;在众多的电竞蓝牙耳机当中&#xff0c;什么…

【复习笔记】计算机组成原理复习重点——篇五

计算机组成原理复习重点笔记 第&#xff15;章 输入输出系统 5.1 概述 外部设备&#xff1a;包括输入/输出设备及通过输入/输出接口才能访问的外存储设备。接口&#xff1a;外设与主机之间数据传输时完成速度匹配、格式转换等工作的逻辑部件。输入设备&#xff1a;键盘鼠标输出…

制造业ERP管理系统如何帮助企业解决委外加工管理难题?

当制造企业自身的生产能力不足或者缺乏某种技术的话&#xff0c;就需要把某个工艺甚至整个产品交给外面的制造厂商去进行生产&#xff0c;这就会触发委外加工作业。 委外加工是制造企业管理流程中&#xff0c;非常常见的一个环节&#xff0c;可以有效地减少因公司产能不足&…

qcustomplot单游标在多个坐标系中切换

1. 多坐标系—单个游标—游标在多个坐标系切换 在某些场景下&#xff0c;需要动态的添加多个坐标系&#xff0c;而游标只能在一个坐标系中显示&#xff0c;这时就需要将游标从默认的坐标系切换到指定坐标系&#xff0c;实现很简单&#xff0c;就不贴图了。代码如下&#xff1a…

docker中的c++ ROS节点中使用Matplotlib-cpp

背景 有时debug算法问题&#xff0c;想把算法&#xff0c;代码的中间量快速可视化出来&#xff0c;目前采用rviz或者qt_ros可以实现&#xff0c;但都不是很方便&#xff0c;代码开发量较大&#xff0c;常常会想要是能在ros c中也能像Matlab一样直接plot绘图就好了&#xff0c;…

英飞凌-AURIX-TC3XX 片上总线通信架构

目录1、英飞凌-AURIX-TC3XX 片上总线通信架构1.1、SRI-系统资源互连结构1.1.1、SRI简介1.1.2、SRI 的特征&#xff1a;1.1.3、SRI 结构相比于前一代产品主要的区别&#xff1a;1.1.4、SRI Crossbar 点对点连接机制1.1.5、SRI主机和SRI从机的连接情况1.2、系统外设总线1.3、BBB-…

Windows Qt连接达梦数据库

下载达梦数据库 首先可以在达梦数据库的官网下载达梦数据库&#xff1a;https://www.dameng.com/list_103.html 如果你的QT程序是64位的&#xff0c;那么就下载win64 的达梦数据库&#xff0c;相应的32位的QT程序要下载win32的达梦数据库。否则&#xff0c;程序在连接数据库时…

【图像分割】各向异性热扩散方程SAR图像分割【含Matlab源码 1879期】

⛄一、各向异性热扩散方程简介&#xff08;具体理论见参考文献&#xff09; 1 前言 图像分割是 图像解译的一个关键步骥。 图像分割属于图像解译的早期处理 &#xff0c; 目的是为更高水平的后续处理提供输人。 因此图像分割的好坏对后续 解译性能有较大的影响。 相对于光学图…

3、metasploit渗透测试初识

一、Metasploitable2靶机安装 参考(1条消息) Metasploitable-linux-2.0.0靶机下载配置教程_draper-crypto的博客-CSDN博客_metasploitable2-linux用户密码&#xff1a;msfadmin/msfadmin二、模块介绍 exploits&#xff08;渗透攻击/漏洞利用模块&#xff09;渗透攻击模块&#…

SuperMap GIS 倾斜摄影数据优化 QA

一、为什么要优化 倾斜摄影数据自身存在文件碎、体量大等特点。未经优化的倾斜摄影在目前市面上主流的三维平台上加载均会出现加载慢&#xff0c;浏览效率低等问题。特别是在浏览器端受文件请求量、网络带宽、硬件性能等方面的影响&#xff0c;倾斜摄影的显示效果往往不尽人意…

元房地产经纪人 — 科幻系列包 #2 来袭!

OUTR Studios 刚刚发布了他们最新的 The Sandbox 元宇宙科幻包&#xff0c;里面装满了很多好东西&#xff01;新内容包括两个非玩家角色 (NPC)、两套可装备的太空服和两个独特的太空无人机。这个最新版本肯定会为已有的模块化科幻构建套件增添更多乐趣。无论你们是与朋友一起建…

大屏适配的两种方案

现在做大屏的需求越来越多,大屏的适配是个头疼的事情 一、基于rem的适配方案 rem是什么? rem是指相对于根元素的字体大小的单位,在日常开发过程中我们通常把根元素(html/body)的字体设置为10px,方便于我们计算(此时子元素的1rem就相当于10px)。 适用场景 不固定宽高…

A_A05_001 aithinker_serial_tool_安信可调试助手使用

目录 一、软件获取 二、软件基本功能介绍 1、接收区 2、串口通信参数配置区 3、串口打开关闭与其他设置区域 4、手动发送区域 5、多文本发送区 6、辅助区域 三、注意事项 一、软件获取 网盘链接 直戳跳转 二、软件基本功能介绍 1、接收区 接收区就是接收外部设备给串口…

理解vue2.x版本中productionTip=false设置无效的原因

首先&#xff0c;我们看到vue官网中关于productionTip的API使用&#xff1a; 但是&#xff0c;我在本地中使用却无效&#xff0c;代码如下&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta htt…

写接口用例文档,测接口

定义数据工具 共用API文档 产品、设计、前端、后端、测试、运维、售前、售后 mock 自动生成code和data 前后端 编写接口文档 post json格式 查询需要token值 APIfox介绍 一、常用解决方案 使用 Swagger 管理 API 文档 使用 Postman 调试 API 使用 mockjs 等工具 Mock AP…