/
manage.php
256 lines (200 loc) · 12.6 KB
/
manage.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
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
<?php
/*
manage.php
jlab-script-plus2 Beta3
☆アップローダーの設定ファイルです。
アップローダーの動作に必要な設定内容ですので、各環境に合った設定に変更してください。
数値はそのまま記入、数値以外の文字列はクォート('?')の中に記入してください。 ←人の顔に見える
★(黒星)の項目は、高度な設定でデフォルトが推奨値です。特に理由が無い場合はデフォルトでの運用をオススメします。
/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#
[i]これより下が設定です。
/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#
*/
//☆管理者用マスターキー
// 削除キーの暗号復元や、管理者による画像の削除に使用します。
// 必ず8文字以上の半角英数字を設定して下さい。
$MasterKey = 'MasterKey';
//☆管理者名
// index.htmlに管理者名として表示されます
$Admin = '管理者名';
//☆画像保存フォルダ(最後の / は不要です)
$SaveFolder = 's';
//☆サムネイル保存フォルダ(最後の / は不要です)
$ThumbSaveFolder = 't';
//☆ログファイル保存フォルダ(最後の / は不要です)
$LogFolder = 'd';
//☆アップローダーのURL(http:// もしくは https://から)
// index.html が表示されるURLを指定してください。
// URLはプロトコルから始め、最後に必ず /(スラッシュ) で終わるように設定してください。
$FullURL = 'http://www.example.com/jlab-script-plus2/';
//☆ファイル名接頭語(不要な場合は空欄にしてください)
// アップローダー稼働後に接頭語を変更すると、表示や自動削除などに不具合が生じる場合があるのでご注意ください。
$FileBaseName = '';
//☆アップローダーのタイトル
$UploaderTitle = '実況ろだ';
//☆画像の保存日数(Day(s))
$SaveDay = 5;
//☆画像の最大サイズ(MB)
// アップロード可能なサイズは、PHPの設定 upload_max_filesize および post_max_size によっても制限を受けます。
// 詳しくはPHPマニュアルを参照してください。
$LimitSize = 5;
//☆画像の同時アップロード枚数
// 画像の同時アップロード枚数を指定します。1に設定すると同時アップロード機能を無効にします。
$LimitCount = 5;
//☆JLABリングを表示する
// JLABに参加している場合は設定をtrueにしてください。index.html の右上にJLABろだリングが表示されます。
// HTTPSでアップローダーを運営する場合は、UseHTTPSをtrueにしてください。HTTPS対応のJLABろだリングが表示されます。
// 【重要】JLAB Ringは廃止されました。この設定は後の為に保存してありますが、特に変更が無ければコメントアウトしておくことをオススメします。
//$JLABRing = true;
//$UseHTTPS = true;
//☆詳細ファイル名を使用する
// 1秒に1枚以上の画像を受け付ける場合は true に設定します。
// ファイル名と拡張子の間にマイクロ秒が追加されます。(ファイル名が16桁になります)
$MicroSec = true;
//☆FastUploadの許可
// 画像をドラッグアンドドロップ・選択後に「アップロードボタン」を押さずにアップロードするFastUpload機能を許可します。
// 許可した場合、FastUploadはそれぞれユーザー自身で設定タブから有効にすることにより初めて機能します。(ユーザー側の初期値は無効)
// trueで許可、falseで拒否できます。(高速連続投稿が可能になるため、サーバーによっては負荷が上昇する場合があります)
$FastUpload = true;
//☆cronによる自動削除の設定(VPS等cronが設定できるサーバ向け)
// crontabによる期限切れ画像の自動削除の設定を有効にします。
// この設定を true にして、crontabで application/auto-deletion.php を定期的に実行すると、cronで期限切れの画像を自動削除できるようになります。
// false にした場合、crontabでの定期削除は無効化され、ユーザーの画像をアップロードがトリガーとなり自動削除がされます。
// (1日おきにcron, トリガーを動かす場合は $AutoDeletionConfig を ymd に、1時間おきに動かす場合は ymdH に変更してください)
$UseCrontab = false;
$AutoDeletionConfig = 'ymdH';
//★サムネイル画像の最大幅(ピクセル)
$MaxThumbWidth = 250;
//★サムネイル画像の最大高さ(ピクセル)
$MaxThumbHeight = 250;
//★Redis(インメモリKVS)の使用
// Redisを使用してStream(画像リスト)の読み出しをメモリ上から行うことにより、動作を高速化することができます。
// この機能を使用するには Redis と PHPの拡張パッケージ phpredis が必要です。
// ($Redis_HostにはUNIX Socketも指定することができます)
$EnableRedis = false;
$Redis_Host = '127.0.0.1';
$Redis_Port = '6379';
//★画像配信URLの変更
// mod_rewrite機能またはURL書き換え機能を使って画像配信URLを変更するときに設定します。特に使用しない場合は空欄にしてください。
// mod_rewrite機能の詳しい説明についてはApacheサイト・nginxサイトや書籍等をご覧ください。
// http://jikkyo.org/jlab-script-plus/s/123.jpg を http://jikkyo.org/img/123.jpg にリライトして配信するには設定に $RewriteURL = 'http://jikkyo.org/img/'; と設定してください。
// $ThumbRewriteURL はサムネイル画像の配信URLを変更するものです。どちらか片方のみを設定することもできます。
$RewriteURL = '';
$ThumbRewriteURL = '';
/*
○jsp2 の基本設定は以上です。
この manage.php とそれ以外のファイルとをフォルダをサーバーにアップロードしてください。
アップロード後、ブラウザから manage.php にアクセスしてアップローダーの設定を完了してください。
ルートフォルダに index.html と master.js が生成されます。
○同梱の custom-html.php を使って index.html にろだ独自のメニューやテキストを追加することができます。
バージョンアップの際にメニューやテキストを引き継ぐときは custom-html.php の上書きしないようにご注意ください。
○manage.php にアクセスして、設定にエラーが無い場合は自動的にアップローダートップページが表示されます。
設定にエラーがあった場合は、エラー内容が表示されます。
○後から設定を変更する場合は、生成された master.js を削除して、設定変更後の manage.php にアクセスしてください。
index.html と master.js が再生成されます。
master.js が存在するときに manage.php にアクセスしても設定値は上書きされません。
/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#
[!]これより下は設定用スクリプトです。
間違えて変更しないようにご注意ください。
/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#/#
*/
//メッセージが何も表示されず500エラーが出る場合は下の設定を1に変更してください
ini_set("display_errors", 0);
if( !$OnlyLoadSettings ){
header("Content-Type:text/plain; charset=UTF-8");
$MasterJSPath = "./master.js";
if( !file_exists( $MasterJSPath )){
$StaticDataFolder = "static";
$TempleteIndexPath = "./{$StaticDataFolder}/templete/templete-index.html";
$TempleteMasterPath = "./{$StaticDataFolder}/templete/templete-master.js";
if( !is_dir("./{$StaticDataFolder}/") ){
echo "[!]static フォルダが存在しません。\n";
echo " static フォルダはGitHubリポジトリ内に同梱されているものをそのまま設置してください。\n";
exit;
}
if( !is_dir("./{$SaveFolder}/") ){
echo "[!]{$SaveFolder} フォルダが存在しません。\n";
echo " {$SaveFolder} フォルダを新しく作成するか、アップロードしてください。\n";
exit;
}
if( !is_dir("./{$ThumbSaveFolder}/") ){
echo "[!]{$ThumbSaveFolder} フォルダが存在しません。\n";
echo " {$ThumbSaveFolder} フォルダを新しく作成するか、アップロードしてください。\n";
exit;
}
if( !is_dir("./{$LogFolder}/") ){
echo "[!]{$LogFolder} フォルダが存在しません。\n";
echo " {$LogFolder} フォルダを新しく作成するか、アップロードしてください。\n";
exit;
}
//-----//
if( !touch("./{$SaveFolder}/image-folder") ){
echo "[!]{$SaveFolder} フォルダへ書き込みができません。\n";
echo " {$SaveFolder} フォルダのパーミッションをご確認ください。\n\n";
exit;
}
if( !touch("./{$ThumbSaveFolder}/thumbnail-folder") ){
echo "[!]{$ThumbSaveFolder} フォルダへ書き込みができません。\n";
echo " {$ThumbSaveFolder} フォルダのパーミッションをご確認ください。\n\n";
exit;
}
if( !touch("./{$LogFolder}/log-folder") ){
echo "[!]{$LogFolder} フォルダへ書き込みができません。\n";
echo " {$LogFolder} フォルダのパーミッションをご確認ください。\n\n";
exit;
}
if( !is_writable("./application/share/ImageList.lock") ){
echo "[!]ImageList.lock へのアクセス権限がありません\n";
echo " application/share にある ImageList.lock のパーミッションをご確認ください。\n\n";
exit;
}
include_once("./custom-html.php");
/*
if( $JLABRing ){
$JLABRingCSS = "block";
}else{
$JLABRingCSS = "none";
}
if( $UseHTTPS ){
$JLABRingURL = "https://base.snpht.org/jlab-base/ring.html";
}else{
$JLABRingURL = "http://livech.sakura.ne.jp/jlab/ring.html";
}
*/
$TempleteIndex = file_get_contents($TempleteIndexPath);
$TempleteIndex = str_replace("<!--##UploaderTitle##-->", $UploaderTitle, $TempleteIndex);
//$TempleteIndex = str_replace("<!--##JLABRing##-->", $JLABRingCSS, $TempleteIndex);
//$TempleteIndex = str_replace("<!--##RingURL##-->", $JLABRingURL, $TempleteIndex);
$TempleteIndex = str_replace("?MasterJSUpdateTime", "?".time(), $TempleteIndex);
$TempleteIndex = str_replace("<!--##Admin##-->", $Admin, $TempleteIndex);
$TempleteIndex = str_replace("<!--##LimitSize##-->", $LimitSize, $TempleteIndex);
$TempleteIndex = str_replace("<!--##LimitCount##-->", $LimitCount, $TempleteIndex);
$ImageURL = $RewriteURL != "" ? $RewriteURL : "{$FullURL}{$SaveFolder}/";
$TempleteIndex = str_replace("<!--##ImageURL##-->", $ImageURL, $TempleteIndex);
$TempleteIndex = str_replace("<!--##FileBaseName##-->", $FileBaseName, $TempleteIndex);
$TempleteIndex = str_replace("<!--##SaveDays##-->", $SaveDay, $TempleteIndex);
$TempleteIndex = str_replace("<!--##CustomHTML1##-->", $CustomHTML1, $TempleteIndex);
$TempleteIndex = str_replace("<!--##CustomHTML2##-->", "<div id=\"CustomFooter\">".$CustomHTML2."</div>\n", $TempleteIndex);
if( file_put_contents("./index.html", $TempleteIndex) === false ){
echo "[!]index.html の保存に失敗しました。\n\n";
exit;
}
$TempleteMaster = file_get_contents($TempleteMasterPath);
$TempleteMaster = str_replace("<!--##UploaderTitle##-->", $UploaderTitle, $TempleteMaster);
$TempleteMaster = str_replace("<!--##LimitSize##-->", $LimitSize, $TempleteMaster);
$TempleteMaster = str_replace("<!--##LimitCount##-->", $LimitCount, $TempleteMaster);
$TempleteMaster = str_replace("<!--##ImageURL##-->", $ImageURL, $TempleteMaster);
$TempleteMaster = str_replace("<!--##FastUpload##-->", var_export($FastUpload, true), $TempleteMaster);
$ThumbURL = $ThumbRewriteURL != "" ? $ThumbRewriteURL : "./{$ThumbSaveFolder}/";
$TempleteMaster = str_replace("<!--##ThumbURL##-->", $ThumbURL, $TempleteMaster);
if( file_put_contents("./master.js", $TempleteMaster) === false ){
echo "[!]master.js の保存に失敗しました。\n\n";
exit;
}
header("Location:./");
}else{
header("Location:./?ErrorMessage=設定を変更するには[master.js]を削除してください");
}
exit;
}
?>