forked from mokeyjay/Pixiv-daily-ranking-widget
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Conf.php
150 lines (132 loc) · 5.09 KB
/
Conf.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
<?php
/**
* 项目:Pixiv每日排行榜Top50小部件
* 作者:超能小紫(mokeyjay)
* 博客:https://www.mokeyjay.com
* 源码:https://github.com/mokeyjay/Pixiv-daily-top50-widget
* 可随意修改、二次发布。但请保留上方版权声明及注明出处
*/
/**
* 配置类
* Class Conf
*/
class Conf
{
/**
* 本项目所在url(必须以/结尾)
* @var string
*/
public static $url = 'http://localhost/cloud/pixiv/';
/**
* 背景颜色。默认值为ffffff(纯白色)。你也可以通过get方式传参来设置
* @var string
*/
public static $background_color = 'ffffff';
/**
* 显示&缓存的图片数量限制(范围1-50)
* 例如将此值设为10则可以做出Top10的效果
* 也可防止部分辣鸡主机在缓存图片时占用过多资源导致卡死或报警
* 一般情况下默认的50就行
* (注意看下面 $service 的说明)
* @var int
*/
public static $limit = 50;
/**
* 是否对外提供服务
* 为true时,任何人都可通过url的get参数来临时修改
* $background_color 和 $limit 的值。但不会对本配置文件造成永久性修改
* 如果下面的 $download 也为true,将强制缓存50张缩略图。不受 $limit 限制
* 避免出现你设定的limit小于他人请求的limit的情况
* @var bool
*/
public static $service = TRUE;
/**
* 将图片url地址缓存在本地,而不必每次都去分析页面源码
* 此值为 false 时,$download 强制为 false
* @var bool
*/
public static $url_cache = TRUE;
/**
* 将缩略图缓存至服务器本地,加快(?)缩略图的加载速度
* 此值为 false 时无需继续填写下面的配置项
* 此值为 true 时 $url_cache 强制为 true
* 如果本项目所在路径没有写入权限的话,则此项强制为 false
* @var bool
*/
public static $download = FALSE;
/**
* 删除过期的(即今天之前的)缓存缩略图
* @var bool
*/
public static $clear_overdue = TRUE;
/**
* 缩略图缓存路径
* @var string
*/
public static $image_path = 'image';
/**
* 缩略图缓存url(必须以/结尾)
* 也就是 本项目所在url + $image_path
* @var string
*/
public static $image_url = 'http://localhost/cloud/pixiv/image/';
/**
* 使用sm.ms图床来存放缩略图,降低服务器带宽压力
* 上面的 $download 为true时此项才会生效
* 此项为true时,将在当前目录下创建 log 上传日志文件(会自动清空的,放心吧
* 如果连续3次上传失败,则从服务器本地读取图片,确保访问正常
* @var bool
*/
public static $enable_smms = FALSE;
/**
* 压缩缩略图,在几乎不损失画质的前提下压缩50%左右,降低服务器带宽压力
* 上面的 $download 为true时此项才会生效
* 需要 GD 库
* @var bool
*/
public static $enable_comporess = TRUE;
/**
* 使用贴图库来存放缩略图,降低服务器带宽压力
* 此选项和 $enable_smms 同时开启时优先使用sm.ms图床
* 此项为true时,将在当前目录下创建 log 上传日志文件(会自动清空的,放心吧
* 如果连续3次上传失败,则从服务器本地读取图片,确保访问正常
* 贴图库免费版并不是很好用且不支持https,建议优先使用sm.ms,贴图库仅作为备用
* @var bool
*/
public static $enable_tietuku = FALSE;
/**
* 上面的选项为true时需要在此处填写你的Token
* 需要注册登录贴图库。详见:http://www.tietuku.com/manager/createtoken
* @var string
*/
public static $tietuku_token = '';
/**
* 初始化
*/
public static function init()
{
// 是否对外提供服务,是则获取url参数
if (self::$service){
if (isset($_GET['color'])) self::$background_color = (string)$_GET['color'];
if (isset($_GET['limit'])) self::$limit = (int)$_GET['limit'];
}
// 本项目路径是否可写。不可写则禁止缓存
if ( !is_writable(PX_PATH)) self::$download = FALSE;
if (self::$url_cache === FALSE) self::$download = FALSE;
if (self::$download){
// 确保图片缓存路径有效
if (is_writable(self::$image_path)){
self::$image_path = realpath(self::$image_path);
self::$image_path .= DIRECTORY_SEPARATOR;
} else {
@mkdir(self::$image_path, 0777, TRUE);
self::$image_path = realpath(self::$image_path);
if (self::$image_path === FALSE) exit('Conf::$image_path error !');
self::$image_path .= DIRECTORY_SEPARATOR;
if ( !is_writable(self::$image_path)) exit('Conf::$image_path not exists or can\'t write');
}
self::$url_cache = TRUE;
}
if (self::$limit < 1) exit('Conf::$limit can not less than 1');
}
}