예제 #1
0
$sldb = new JsonDB('shortlnk');
// JSON api
if (isset($_POST['set_public']) && isset($_POST['pad_id'])) {
    $padname = $_POST['pad_id'];
    $public = $_POST['set_public'] == 'true';
    $ok = $instance->setPublicStatus($padname, $public);
    $sl = null;
    if ($public) {
        if (isset($_POST['shortlnk'])) {
            $sl = preg_replace('/[^a-z0-9]/', '', $_POST['shortlnk']);
        }
        if (!$sl) {
            $sl = substr(md5($padname), 0, 7);
        }
    }
    $sldb->store($padname, $sl);
    die(json_encode(array("status" => "ok", "shortlnk" => SHORTLNK_PREFIX . $sl)));
}
if (isset($_POST['set_passw']) && isset($_POST['pad_id'])) {
    $padname = $_POST['pad_id'];
    $ok = setPassword($padname, preg_replace('/[^a-zA-Z0-9_.-]/', '', $_POST['set_passw']));
    die(json_encode(array("status" => "ok")));
}
if (isset($_POST['delete_this_pad']) && isset($_POST['pad_id'])) {
    if (defined('DELETE_PASSWORD') && strlen(DELETE_PASSWORD) > 0 && DELETE_PASSWORD != $_POST['delete_this_pad']) {
        die(json_encode(array("status" => "access_denied")));
    }
    $padname = $_POST['pad_id'];
    $ok = $instance->deletePad($padname);
    die(json_encode(array("status" => "ok")));
}