Merge branch 'master' of git.076.ne.jp:TechnicalSuwako/urlo.li
このコミットが含まれているのは:
コミット
31018f0dfb
103
www/index.php
103
www/index.php
|
@ -1,103 +0,0 @@
|
|||
<?php
|
||||
require_once('../config.php');
|
||||
|
||||
$title = SITE_NAME;
|
||||
$h1 = SITE_NAME;
|
||||
|
||||
function mkstring () {
|
||||
$stringchars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890';
|
||||
$newstring = '';
|
||||
|
||||
for ($i = 0; $i < 5; $i++) $newstring .= $stringchars[rand(0, strlen($stringchars))];
|
||||
foreach ($arr as $k => $v) {
|
||||
if ($newstring == $k) return mkstring();
|
||||
}
|
||||
|
||||
return $newstring;
|
||||
}
|
||||
|
||||
// パラメートルがなければ、スキップ。
|
||||
if (isset($_POST['sosin'])) {
|
||||
$newadd = $_POST['newadd'];
|
||||
if (!str_starts_with($newadd, 'http://') && !str_starts_with($newadd, 'https://')) {
|
||||
$title = '076エラー - 不正なURL';
|
||||
$h1 = '【エラー】不正なURL';
|
||||
$bg = 'daityan';
|
||||
$bgpos = 'top right 100px';
|
||||
$err = 'URLは「http://」又は「https://」で始まります。';
|
||||
include_once('../views/404.php');
|
||||
exit;
|
||||
}
|
||||
|
||||
if (strlen($newadd) > 200) {
|
||||
$title = '076エラー - 不正なURL';
|
||||
$h1 = '【エラー】URLは長すぎ';
|
||||
$bg = 'daityan';
|
||||
$bgpos = 'top right 100px';
|
||||
$err = 'URLは200文字以内です。';
|
||||
include_once('../views/404.php');
|
||||
exit;
|
||||
}
|
||||
|
||||
$data = file_get_contents('links.json');
|
||||
|
||||
$arr = json_decode($data, true);
|
||||
foreach ($arr as $k => $v) {
|
||||
if ($newadd == $v) {
|
||||
if (isset($_POST['api']) && $_POST['api'] == 1) {
|
||||
header('Content-Type: application/json');
|
||||
echo json_encode(['res' => $k]);
|
||||
}
|
||||
else header('Location: /?newurl='.$k);
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
$newstring = mkstring();
|
||||
|
||||
$arr[$newstring] = $newadd;
|
||||
$newdata = json_encode($arr);
|
||||
file_put_contents('links.json', $newdata);
|
||||
|
||||
if (isset($_POST['api']) && $_POST['api'] == 1) {
|
||||
header('Content-Type: application/json');
|
||||
echo json_encode(['res' => $newstring]);
|
||||
}
|
||||
else header('Location: /?newurl='.$newstring);
|
||||
exit;
|
||||
}
|
||||
else if (!isset($_GET['url']) && isset($_GET['newurl'])) {
|
||||
$newurl = $_GET['newurl'];
|
||||
$bg = 'kasen';
|
||||
$bgpos = 'top 10px left 120px';
|
||||
include_once('../views/submitted.php');
|
||||
}
|
||||
else if (isset($_GET['url']) && $_GET['url'] != '') {
|
||||
$data = file_get_contents('links.json');
|
||||
|
||||
foreach (json_decode($data) as $k => $v) {
|
||||
// jsonファイルでキーを見つければ、転送されます。なければ、404エラーが出ます。
|
||||
if ($_GET['url'] == $k) {
|
||||
if (isset($_GET['api']) && $_GET['api'] == 1) {
|
||||
header('Content-Type: application/json');
|
||||
echo json_encode(['res' => $v]);
|
||||
}
|
||||
else header('Location: '.$v);
|
||||
exit;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (!isset($_GET['url']) && $_SERVER['REQUEST_URI'] == '/') {
|
||||
$bg = 'rumia';
|
||||
$bgpos = 'top -30px right 90px';
|
||||
include_once('../views/index.php');
|
||||
}
|
||||
else {
|
||||
$title = '076エラー - 未検出';
|
||||
$h1 = '【404】未検出';
|
||||
$bg = 'daityan';
|
||||
$bgpos = 'top right 100px';
|
||||
$err = 'このURLを見つけられませんでした。';
|
||||
include_once('../views/404.php');
|
||||
}
|
||||
?>
|
新しいイシューから参照