get('on_options','value',[ 'key' => "s_site" ]); $site = unserialize($site); // 获取链接数量,默认为30 $link_num = empty( $site['link_num'] ) ? 30 : intval($site['link_num']); //如果已经登录,获取所有分类和链接 // 载入辅助函数 require('functions/helper.php'); // 明文密码检查 unSafe(); if( is_login() ){ //查询所有分类目录 $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; $id = intval($id); $category_sub = $db->select('on_categorys','*',[ "fid" => $id, "ORDER" => ["weight" => "DESC"] ]); return $category_sub; } //根据category id查询链接 function get_links($fid) { global $db; $fid = intval($fid); $links = $db->select('on_links','*',[ 'fid' => $fid, 'ORDER' => ["weight" => "DESC"] ]); 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();'; } //如果没有登录,只获取公有链接 else{ // 检查分类是否全私有,如果是,则跳转到登录界面 check_all_cat(); //查询分类目录 $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; $id = intval($id); $category_sub = $db->select('on_categorys','*',[ "fid" => $id, 'property' => 0, "ORDER" => ["weight" => "DESC"] ]); return $category_sub; } //根据category id查询链接 function get_links($fid) { global $db; global $link_num; $fid = intval($fid); $links = $db->select('on_links','*',[ 'fid' => $fid, 'property' => 0, 'ORDER' => ["weight" => "DESC"] ]); 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') ) { $version = @file_get_contents('version.txt'); return $version; } else{ $version = 'null'; return $version; } } //将URL转换为base64编码 function base64($url){ $urls = parse_url($url); //获取请求协议 $scheme = empty( $urls['scheme'] ) ? 'http://' : $urls['scheme'].'://'; //获取主机名 $host = $urls['host']; //获取端口 $port = empty( $urls['port'] ) ? '' : ':'.$urls['port']; $new_url = $scheme.$host.$port; return base64_encode($new_url); } //获取版本号 $version = get_version(); //载入js扩展 if( file_exists('data/extend.js') ) { $onenav['extend'] = ''; } else{ $onenav['extend'] = ''; } // 载入前台首页模板 //查询主题设置 $template = $db->get("on_options","value",[ "key" => "theme" ]); //获取用户传递的主题参数 $theme = trim( @$_GET['theme'] ); //如果用户传递了主题参数 if( !empty($theme) ) { //获取所有主题 $themes = get_all_themes(); //查找主题是否存在 if( array_search($theme,$themes) !== FALSE ) { //改变默认主题 $template = $theme; } else{ //主题不存在,终止执行 exit("

主题参数错误!

"); } } //获取主题配置信息 if( file_exists("templates/".$template."/config.json") ) { $config_file = "templates/".$template."/config.json"; } else if( file_exists("data/templates/".$template."/config.json") ) { $config_file = "data/templates/".$template."/config.json"; } else if( file_exists("templates/".$template."/info.json") ) { $config_file = "templates/".$template."/info.json"; } else { $config_file = "data/templates/".$template."/info.json"; } //读取主题配置 $config_content = @file_get_contents($config_file); //如果是info.json,则特殊处理下 if ( strstr($config_file,"info.json") ) { $config_content = json_decode($config_content); $theme_config = $config_content->config; } else{ $config_content = $config_content; $theme_config = json_decode($config_content); } //判断文件夹是否存在 if( is_dir('templates/'.$template) ){ $tpl_dir = 'templates/'; } else{ $tpl_dir = 'data/templates/'; } //定义搜索引擎 $search_engines = [ "baidu" => [ "name" => "百度", "url" => "https://www.baidu.com/s?ie=utf-8&word=" ], "google" => [ "name" => "Google", "url" => "https://www.google.com/search?q=" ], "bing" => [ "name" => "必应", "url" => "https://cn.bing.com/search?FORM=BESBTB&q=" ], "sogou" => [ "name" => "搜狗", "url" => "https://www.sogou.com/web?query=" ], "so360" => [ "name" => "360搜索", "url" => "https://www.so.com/s?ie=utf-8&fr=none&src=360sou_newhome&ssid=&q=" ], "zhihu" => [ "name" => "知乎", "url" => "https://www.zhihu.com/search?type=content&q=" ], "weibo" => [ "name" => "微博", "url" => "https://s.weibo.com/weibo?q=" ] ]; //获取主题的最低版本要求 $info_json = @file_get_contents($tpl_dir.$template."/info.json"); if( $info_json ) { $info = json_decode($info_json); $min_version = @$info->require->min; //获取到了最低版本 if( !empty($min_version) ) { //如果主程序不满足主题要求 if( new_get_version() < $min_version ) { $onenav_version = new_get_version(); exit($template."主题要求最低OneNav版本为:".$min_version.",您当前OneNav版本为:".$onenav_version.",请先升级OneNav版本!"); } } } // 该分类下可见的链接数量 function get_links_number($fid){ $number = count(get_links($fid)); return $number; } //载入主题 require($tpl_dir.$template.'/index.php');