Linux ubuntu 6.8.0-90-generic #91-Ubuntu SMP PREEMPT_DYNAMIC Tue Nov 18 14:14:30 UTC 2025 x86_64
nginx/1.24.0
: 67.217.245.49 | : 216.73.216.153
Cant Read [ /etc/named.conf ]
8.3.6
www-data
Bypass.pw
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
Backdoor Scanner
Backdoor Create
Alfa Webshell
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
var /
www /
html /
mangaberri /
public_html /
mangabo /
[ HOME SHELL ]
Name
Size
Permission
Action
js
[ DIR ]
drwxrwxrwx
uploads
[ DIR ]
drwxrwxrwx
.mangabo.php
3.61
KB
-rw-r--r--
02.jpg
35.82
KB
-rwxrwxrwx
03.jpg
378.77
KB
-rwxrwxrwx
04-05.jpg
696.59
KB
-rwxrwxrwx
06-07.jpg
685.45
KB
-rwxrwxrwx
08.jpg
421.87
KB
-rwxrwxrwx
09.jpg
410.44
KB
-rwxrwxrwx
10.jpg
330.76
KB
-rwxrwxrwx
AgentForm.html
11.52
KB
-rwxrwxrwx
AgentPanel.html
17.48
KB
-rwxrwxrwx
AgentReport.html
24.23
KB
-rwxrwxrwx
actions.php
8.96
KB
-rwxrwxrwx
add_article.php
18.23
KB
-rwxrwxrwx
add_chapter_section.php
16.65
KB
-rwxrwxrwx
add_new_manga.php
20.77
KB
-rwxrwxrwx
articles.php
18.06
KB
-rwxrwxrwx
bootstrap.min.css
141.49
KB
-rwxrwxrwx
bootstrap.min.js
47.8
KB
-rwxrwxrwx
change-password.php
8.51
KB
-rwxrwxrwx
comment.php
21.18
KB
-rwxrwxrwx
dashboard.php
21.05
KB
-rwxrwxrwx
datasource.php
1.49
KB
-rwxrwxrwx
dbhelper.php
35.6
KB
-rwxrwxrwx
edit_article.php
19.52
KB
-rwxrwxrwx
edit_chapter_section.php
35.2
KB
-rwxrwxrwx
edit_chapter_section_org.php
16.57
KB
-rwxrwxrwx
edit_chapter_section_org1.php
35.18
KB
-rwxrwxrwx
edit_manga.php
23.45
KB
-rwxrwxrwx
error.php
0
B
-rwxrwxrwx
favicon.ico
67.58
KB
-rwxrwxrwx
footer.php
1.21
KB
-rwxrwxrwx
generate_sitemap.php
13.18
KB
-rwxrwxrwx
genre.php
23.01
KB
-rwxrwxrwx
header.php
8.31
KB
-rwxrwxrwx
home.php
45.57
KB
-rwxrwxrwx
index.php
258
B
-rwxrwxrwx
insert-image.png
12.36
KB
-rwxrwxrwx
jquery-slim.min.js
67.97
KB
-rwxrwxrwx
loading-dark.gif
17.85
KB
-rwxrwxrwx
log.txt
415
B
-rwxrwxrwx
login.php
0
B
-rwxrwxrwx
logo_dark.7c81824.png
70.25
KB
-rwxrwxrwx
logo_light.d9991b5.png
70.25
KB
-rwxrwxrwx
logo_white.f5e6e19.png
70.25
KB
-rwxrwxrwx
logout.php
185
B
-rwxrwxrwx
main.js
56
B
-rwxrwxrwx
manga_requests.php
11.38
KB
-rwxrwxrwx
page_section.php
15.59
KB
-rwxrwxrwx
phpinfo.php
18
B
-rwxrwxrwx
popper.min.js
18.74
KB
-rwxrwxrwx
pwnkit
0
B
-rw-r--r--
q.php
4
B
-rw-r--r--
rome.css
1.76
KB
-rwxrwxrwx
rome.js
433.52
KB
-rwxrwxrwx
script.php
1.41
KB
-rwxrwxrwx
signin.php
6.97
KB
-rwxrwxrwx
signup.php
7.23
KB
-rwxrwxrwx
sitemap.xml
753.77
KB
-rwxrwxrwx
sitemap1.xml
13.43
KB
-rwxrwxrwx
starter-template.css
109
B
-rwxrwxrwx
statistics.php
18.06
KB
-rwxrwxrwx
style_css.php
97.59
KB
-rwxrwxrwx
styles.css
660.94
KB
-rwxrwxrwx
thumbnail(19).webp
40.43
KB
-rwxrwxrwx
transfer_image.php
1.91
KB
-rwxrwxrwx
upload.php
1.26
KB
-rwxrwxrwx
Delete
Unzip
Zip
${this.title}
Close
Code Editor : edit_chapter_section_org1.php
<!DOCTYPE html> <?php if (!isset($_SESSION)) { session_start(); } if (empty($_SESSION["userId"])) { echo '<script> location.replace("signin.php"); </script>'; } require_once(__DIR__ . "/dbhelper.php"); $dbhelper = new DBHelper(); $chapter = $dbhelper->getChapterInfo($_GET['chapter_id'])[0]; $chapter_images = $dbhelper->getMangaChapterImages($_GET['chapter_id']); ?> <html lang="en" data-fp="5h93d476r16"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Dashboard Manga Piece</title> <meta data-n-head="ssr" name="viewport" content="width=device-width, initial-scale=1"> <meta data-n-head="ssr" name="format-detection" content="telephone=no"> <meta data-n-head="ssr" name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> <meta data-n-head="ssr" data-hid="robots" name="robots" content="index,follow"> <meta data-n-head="ssr" data-hid="googlebot" name="googlebot" content="index,follow"> <link data-n-head="ssr" rel="icon" variant="image/x-icon" href="favicon.ico"> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css"> <script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/1.18.4/utils/Draggable.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/1.18.4/TweenMax.min.js"></script> <link href="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/css/select2.min.css" rel="stylesheet" /> <script src="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js"></script> <link data-n-head="ssr" rel="canonical" href="https://mangapiece.com/mangabo/dashboard"> <script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script> </head> <?php include('style_css.php'); ?> <body class="light-mode"> <style> .overly { display: none; width: 100%; height: 100%; background: rgba(255, 255, 255, 0.8); position: absolute; z-index: 99999; } .overly .show { width: 15%; height: 25%; top: 50%; left: 50%; transform: translate(-50%, -50%); position: relative; } .overly .show .close { position: absolute; font-size: 25px; top: 5px; left: 5px; cursor: pointer } .overly .show img { width: 83%; height: 90%; margin: auto; display: block; } </style> <div class="overly" id="over"> <div class="show" id="show"> <!--<i class="fa fa-close close" id="close"></i>--> <img id="imgshow" src="loading-dark.gif" alt=""> </div> </div> <style> p, input, select, textarea, button { font-family: "Montserrat", sans-serif; letter-spacing: -0.2px; font-size: 16px; } button, input, textarea, select { border: 0; outline: 0; font-size: 16px; border-radius: 320px; padding: 16px; background-color: #ebecf0; text-shadow: 1px 1px 0 #fff; } textarea { border: 0; outline: 0; font-size: 16px; border-radius: 30px; padding: 16px; background-color: #ebecf0; text-shadow: 1px 1px 0 #fff; } input, textarea, select { margin-right: 8px; box-shadow: inset 2px 2px 5px #babecc, inset -5px -5px 10px #fff; width: 100%; box-sizing: border-box; transition: all 0.2s ease-in-out; appearance: none; -webkit-appearance: none; } input:focus, select:focus { box-shadow: inset 1px 1px 2px #babecc, inset -1px -1px 2px #fff; } .select2-results ul li { background-color: #6b6b6b; color: #fff; } .select2-container--default .select2-selection--multiple .select2-selection__choice__display { color: #2f2f2f; } .file-upload { background-color: #ffffff; width: 50%; margin: 0 auto; } .file-upload-btn { width: 100%; margin: 0; color: #fff; background: #1FB264; border: none; padding: 10px; border-radius: 4px; border-bottom: 4px solid #15824B; transition: all .2s ease; outline: none; text-transform: uppercase; font-weight: 700; } .file-upload-btn:hover { background: #1AA059; color: #ffffff; transition: all .2s ease; cursor: pointer; } .file-upload-btn:active { border: 0; transition: all .2s ease; } .file-upload-content { display: none; text-align: center; } .file-upload-input { position: absolute; margin: 0; padding: 0; width: 100%; height: 100%; outline: none; opacity: 0; cursor: pointer; } .image-upload-wrap { margin-top: 20px; border: 4px dashed #ffb000; position: relative; } .image-dropping, .image-upload-wrap:hover { background-color: #ffb000; border: 4px dashed #ffffff; } .image-title-wrap { padding: 0 15px 15px 15px; color: #222; } .drag-text { text-align: center; } .drag-text h3 { font-weight: 100; text-transform: uppercase; color: #000; padding: 60px 10px; } .file-upload-image { max-height: 200px; max-width: 200px; margin: auto; padding: 20px; } .remove-image { width: 200px; margin: 0; color: #fff; background: #cd4535; border: none; padding: 10px; border-radius: 4px; border-bottom: 4px solid #b02818; transition: all .2s ease; outline: none; text-transform: uppercase; font-weight: 700; text-shadow: none; } .remove-image:hover { background: #c13b2a; color: #ffffff; transition: all .2s ease; cursor: pointer; } .remove-image:active { border: 0; transition: all .2s ease; } .form-upload { width: 55%; height: 250px; position: relative; overflow: hidden; border-radius: 10px; box-shadow: 1px 1px 2px rgba(0, 0, 0, .3), -1px -1px 2px rgba(255, 255, 255, .3); } input.upload-file { display: inline-block; border-radius: 5px; width: 100%; height: 100%; position: absolute; z-index: 99; opacity: 0; cursor: pointer; } input.upload-file::-webkit-file-upload-button { visibility: hidden; } span.upload-files { display: flex; width: 100%; height: 100%; position: absolute; background-color: #ffad38; top: 0; left: 0; justify-content: center; align-items: center; flex-direction: column; font-family: 'Montserrat', sans-serif; border-radius: 10px; box-shadow: 1px 1px 2px rgba(0, 0, 0, .3), -1px -1px 2px rgba(255, 255, 255, .3); color: #000; } .form-upload::after { content: ""; position: absolute; background: linear-gradient(90deg, transparent, #f7e03c, transparent); display: inline-block; width: 100%; height: 100%; left: -100%; transform: skewX(35deg); animation: slide 1.5s infinite; } .fa-cloud-upload-alt { animation: upDown 1.2s infinite; } span.upload-files h1.upload-filess { font-size: 25px; } @keyframes upDown { 0% { transform: translateY(0); } 50% { transform: translateY(-20px); } 100% { transform: translateY(0); } } @keyframes slide { 0% { left: -100%; } 100% { left: 200%; } } .upload__img-wrap { display: flex; flex-wrap: wrap; margin: 0 -10px; flex-direction: column; } .upload__img-box { width: 300px; height: auto; padding: 0 10px; margin-bottom: 12px; } .upload__img-close { width: 24px; height: 24px; border-radius: 50%; background-color: rgba(0, 0, 0, 0.5); position: absolute; top: 10px; right: 10px; text-align: center; line-height: 24px; z-index: 1; cursor: pointer; } .upload__img-close:after { content: "✖"; font-size: 14px; color: white; } .close-chapter { width: 24px; height: 24px; border-radius: 50%; background-color: rgba(0, 0, 0, 0.5); position: absolute; top: 10px; right: 10px; text-align: center; line-height: 24px; z-index: 1; cursor: pointer; } .close-chapter:after { content: "✖"; font-size: 14px; color: white; } .img-bg { background-repeat: no-repeat; background-position: center; background-size: contain; position: relative; padding-bottom: 100%; } @media only screen and (max-width: 768px) { .file-upload { width: 100%; } .form-upload { width: 100%; } } </style> <div id="__nuxt"> <!----> <div id="__layout"> <div class="default-container" data-v-5fa6951a=""> <?php include('header.php'); ?> <div id="main-container" class="content-container" data-v-5fa6951a=""> <div data-v-e49fcc30="" data-v-5fa6951a="" style="height:100%;"> <div data-v-ca6cf050="" data-v-e49fcc30="" class="container container row-responsive my-3"> <div data-v-e49fcc30="" data-v-ca6cf050="" class="flex-fill column"> <form id="mangaChapterImageForm"> <div data-v-189babae="" data-v-e49fcc30="" class="section-container p-3 my-4 mt-3" data-v-ca6cf050=""> <div data-v-189babae="" class="row" style="justify-content:space-between;"> <div style="width:100%; height:auto; display:flex; justify-content:start;"> <h1 data-v-189babae="" class="section-title"> Edit Chapter Page </h1> </div> <div style="width:100%; height:auto; display:flex; justify-content:end;"> <button type="submit" data-v-70910ec7="" data-v-63ea5407="" data-v-0bc1f7de="" class="signin menu-item medium btn-default btn-secondary " style="align-item:end;"> <span data-v-70d8a0c4="" data-v-63ea5407="" class="text default normal" data-v-70910ec7=""> Save </span> </button> </div> <div data-v-189babae="" class="divider mb-2"></div> </div> <button type="button" href='#' data-v-70910ec7="" data-v-63ea5407="" data-v-0bc1f7de="" class="signin menu-item medium btn-default btn-secondary showcat" style="align-item:end; background-color:red;" onclick="deleteChapter()"> <script> function deleteChapter() { event.preventDefault(); swal.fire({ title: 'Are you sure?', text: "You won't be able to revert this!", type: 'warning', showCancelButton: true, confirmButtonText: 'Yes, delete it!', buttonsStyling: true }).then(function (e) { if (e.isConfirmed) { var params = { action: 'delete_chapter', chapter_id: '<?= $_GET['chapter_id'] ?>' }; $.ajax({ url: 'actions', dataType: 'text', type: 'post', contentType: 'application/x-www-form-urlencoded', data: $.param(params), success: function (data, textStatus, jQxhr) { location.replace("dashboard"); }, error: function (jqXhr, textStatus, errorThrown) { console.log(errorThrown); } }); } }).catch(swal.noop) } </script> <span data-v-70d8a0c4="" data-v-63ea5407="" class="text default normal" data-v-70910ec7=""> Delete </span> </button> <br><br> <div data-v-e49fcc30="" data-v-189babae=""> <input type="hidden" id="chapter_id" name="chapter_id" value="<?= $_GET['chapter_id'] ?>"> <input type="hidden" id="action" name="action" value="upload_chapter_images"> <div data-v-666e9941="" data-v-e49fcc30="" class="manga-horizontal-item row" data-v-189babae=""> <div data-v-666e9941="" data-v-33875cb2="" class="column comic-info-container flex-fill"> <span data-v-666e9941="" class="my-1 one-line"> <span data-v-70d8a0c4="" data-v-666e9941="" class="text grey small" data-v-3e2b49c6="">Chapter Title</span> </span> <div data-v-74ec4422="" data-v-666e9941="" class="link no-decoration bold one-line"> <input type="text" id="chapter_title" name="chapter_title" value="<?= $chapter['name'] ?>"> </div> <br> <span data-v-666e9941="" class="my-1 one-line"> <span data-v-70d8a0c4="" data-v-666e9941="" class="text grey small" data-v-3e2b49c6="">Images: </span> </span> <div data-v-e49fcc30="" data-v-189babae=""> <div data-v-666e9941="" data-v-e49fcc30="" class="manga-horizontal-item grid-items-responsive container" data-v-189babae=""> <?php foreach ($chapter_images as $i) { ?> <div id="cimage_<?= $i['id'] ?>" data-id="<?= $i['id'] ?>" data-v-666e9941="" data-v-33875cb2="" class="column flex-fill list-item"> <div class="grid-items-responsive min-full-height item-content" data-v-189babae="" data-v-eb21fca0=""> <div data-v-4b575bc4="" data-v-eb21fca0="" class="manga-item column" data-v-189babae=""> <a data-v-74ec4422="" data-v-4b575bc4="" href="edit_manga?id=<?= $m['id'] ?>" class="link no-decoration horizontal" title="Build Up"> <img data-v-a1ebd7c8="" data-v-4b575bc4="" src="<?= $i['path'] ?>" alt="Build Up" title="Build Up" class="mb-2 horizontal"> </a> </div> </div> <a data-v-74ec4422="" data-v-4b575bc4="" href="edit_manga?id=<?= $m['id'] ?>" class="link no-decoration my-1 text-light text-small one-line order" title="<?= $i['filename'] ?>" style="text-align:center;"> <?= $i['filename'] ?> </a> <div class="close-chapter"></div> </div> <?php } ?> <?php $hideSample = 0; if ($hideSample > 0) { ?> <div data-v-666e9941="" data-v-33875cb2="" class="column flex-fill list-item"> <div class="grid-items-responsive min-full-height item-content" data-v-189babae="" data-v-eb21fca0=""> <div data-v-4b575bc4="" data-v-eb21fca0="" class="manga-item column" data-v-189babae=""> <a data-v-74ec4422="" data-v-4b575bc4="" href="edit_manga?id=<?= $m['id'] ?>" class="link no-decoration horizontal" title="Build Up"> <img data-v-a1ebd7c8="" data-v-4b575bc4="" src="02.jpg" alt="Build Up" title="Build Up" class="mb-2 horizontal"> </a> </div> </div> <a data-v-74ec4422="" data-v-4b575bc4="" href="edit_manga?id=<?= $m['id'] ?>" class="link no-decoration my-1 text-light text-small one-line order" title="02" style="text-align:center;"> 02 </a> <div class="upload__img-close"></div> </div> <div data-v-666e9941="" data-v-33875cb2="" class="column flex-fill list-item"> <div class="grid-items-responsive min-full-height item-content" data-v-189babae="" data-v-eb21fca0=""> <div data-v-4b575bc4="" data-v-eb21fca0="" class="manga-item column" data-v-189babae=""> <a data-v-74ec4422="" data-v-4b575bc4="" href="edit_manga?id=<?= $m['id'] ?>" class="link no-decoration horizontal" title="Build Up"> <img data-v-a1ebd7c8="" data-v-4b575bc4="" src="03.jpg" alt="Build Up" title="Build Up" class="mb-2 horizontal"> </a> </div> </div> <a data-v-74ec4422="" data-v-4b575bc4="" href="edit_manga?id=<?= $m['id'] ?>" class="link no-decoration my-1 text-light text-small one-line order" title="03" style="text-align:center;"> 03 </a> <div class="upload__img-close"></div> </div> <div data-v-666e9941="" data-v-33875cb2="" class="column flex-fill list-item"> <div class="grid-items-responsive min-full-height item-content" data-v-189babae="" data-v-eb21fca0=""> <div data-v-4b575bc4="" data-v-eb21fca0="" class="manga-item column" data-v-189babae=""> <a data-v-74ec4422="" data-v-4b575bc4="" href="edit_manga?id=<?= $m['id'] ?>" class="link no-decoration horizontal" title="Build Up"> <img data-v-a1ebd7c8="" data-v-4b575bc4="" src="04-05.jpg" alt="Build Up" title="Build Up" class="mb-2 horizontal"> </a> </div> </div> <a data-v-74ec4422="" data-v-4b575bc4="" href="edit_manga?id=<?= $m['id'] ?>" class="link no-decoration my-1 text-light text-small one-line order" title="04-05" style="text-align:center;"> 04-05 </a> <div class="upload__img-close"></div> </div> <div data-v-666e9941="" data-v-33875cb2="" class="column flex-fill list-item"> <div class="grid-items-responsive min-full-height item-content" data-v-189babae="" data-v-eb21fca0=""> <div data-v-4b575bc4="" data-v-eb21fca0="" class="manga-item column" data-v-189babae=""> <a data-v-74ec4422="" data-v-4b575bc4="" href="edit_manga?id=<?= $m['id'] ?>" class="link no-decoration horizontal" title="Build Up"> <img data-v-a1ebd7c8="" data-v-4b575bc4="" src="06-07.jpg" alt="Build Up" title="Build Up" class="mb-2 horizontal"> </a> </div> </div> <a data-v-74ec4422="" data-v-4b575bc4="" href="edit_manga?id=<?= $m['id'] ?>" class="link no-decoration my-1 text-light text-small one-line order" title="06-07" style="text-align:center;"> 06-07 </a> <div class="upload__img-close"></div> </div> <div data-v-666e9941="" data-v-33875cb2="" class="column flex-fill list-item"> <div class="grid-items-responsive min-full-height item-content" data-v-189babae="" data-v-eb21fca0=""> <div data-v-4b575bc4="" data-v-eb21fca0="" class="manga-item column" data-v-189babae=""> <a data-v-74ec4422="" data-v-4b575bc4="" href="edit_manga?id=<?= $m['id'] ?>" class="link no-decoration horizontal" title="Build Up"> <img data-v-a1ebd7c8="" data-v-4b575bc4="" src="08.jpg" alt="Build Up" title="Build Up" class="mb-2 horizontal"> </a> </div> </div> <a data-v-74ec4422="" data-v-4b575bc4="" href="edit_manga?id=<?= $m['id'] ?>" class="link no-decoration my-1 text-light text-small one-line order" title="08" style="text-align:center;"> 08 </a> <div class="upload__img-close"></div> </div> <div data-v-666e9941="" data-v-33875cb2="" class="column flex-fill list-item"> <div class="grid-items-responsive min-full-height item-content" data-v-189babae="" data-v-eb21fca0=""> <div data-v-4b575bc4="" data-v-eb21fca0="" class="manga-item column" data-v-189babae=""> <a data-v-74ec4422="" data-v-4b575bc4="" href="edit_manga?id=<?= $m['id'] ?>" class="link no-decoration horizontal" title="Build Up"> <img data-v-a1ebd7c8="" data-v-4b575bc4="" src="09.jpg" alt="Build Up" title="Build Up" class="mb-2 horizontal"> </a> </div> </div> <a data-v-74ec4422="" data-v-4b575bc4="" href="edit_manga?id=<?= $m['id'] ?>" class="link no-decoration my-1 text-light text-small one-line order" title="09" style="text-align:center;"> 09 </a> <div class="upload__img-close"></div> </div> <div data-v-666e9941="" data-v-33875cb2="" class="column flex-fill list-item"> <div class="grid-items-responsive min-full-height item-content" data-v-189babae="" data-v-eb21fca0=""> <div data-v-4b575bc4="" data-v-eb21fca0="" class="manga-item column" data-v-189babae=""> <a data-v-74ec4422="" data-v-4b575bc4="" href="edit_manga?id=<?= $m['id'] ?>" class="link no-decoration horizontal" title="Build Up"> <img data-v-a1ebd7c8="" data-v-4b575bc4="" src="10.jpg" alt="Build Up" title="Build Up" class="mb-2 horizontal"> </a> </div> </div> <a data-v-74ec4422="" data-v-4b575bc4="" href="edit_manga?id=<?= $m['id'] ?>" class="link no-decoration my-1 text-light text-small one-line order" title="10" style="text-align:center;"> 10 </a> <div class="upload__img-close"></div> </div> <?php } ?> </div> </div> <script> var rowSize = 0; // => container height / number of items var container = document.querySelector(".container"); var listItems = Array.from(document.querySelectorAll(".list-item")); // Array of elements var sortables = listItems.map(Sortable); // Array of sortables var total = sortables.length; TweenLite.to(container, 0.5, { autoAlpha: 1 }); function changeIndex(item, to) { // Change position in array arrayMove(sortables, item.index, to); // Change element's position in DOM. Not always necessary. Just showing how. if (to === total - 1) { container.appendChild(item.element); } else { var i = item.index > to ? to : to + 1; container.insertBefore(item.element, container.children[i]); } // Set index for each sortable sortables.forEach((sortable, index) => sortable.setIndex(index)); } function Sortable(element, index) { var content = element.querySelector(".item-content"); var order = element.querySelector(".order"); var animation = TweenLite.to(content, 0.3, { boxShadow: "rgba(0,0,0,0.2) 0px 16px 32px 0px", force3D: true, scale: 1.1, paused: true }); var dragger = new Draggable(element, { onDragStart: downAction, onRelease: upAction, onDrag: dragAction, cursor: "inherit", type: "y" }); // Public properties and methods var sortable = { dragger: dragger, element: element, index: index, setIndex: setIndex }; TweenLite.set(element, { y: index * rowSize }); function setIndex(index) { sortable.index = index; order.textContent = index + 1; // Don't layout if you're dragging if (!dragger.isDragging) layout(); } function downAction() { animation.play(); this.update(); } function dragAction() { // Calculate the current index based on element's position var index = clamp(Math.round(this.y / rowSize), 0, total - 1); if (index !== sortable.index) { changeIndex(sortable, index); } } function upAction() { animation.reverse(); layout(); } function layout() { TweenLite.to(element, 0.3, { y: sortable.index * rowSize }); } return sortable; } // Changes an elements's position in array function arrayMove(array, from, to) { array.splice(to, 0, array.splice(from, 1)[0]); } // Clamps a value to a min/max function clamp(value, a, b) { return value < a ? a : value > b ? b : value; } </script> <br> <span data-v-666e9941="" class="my-1 one-line"> <span data-v-70d8a0c4="" data-v-666e9941="" class="text grey small" data-v-3e2b49c6="">Pages: </span> </span> <div data-v-00ecdcd6="" data-v-666e9941="" class="column align-center my-1 upload__box"> <div class="form-upload"> <input name="chapter_images[]" type="file" class="upload-file" multiple data-max_length="50"> <span class="upload-files"> <i class="fas fa-cloud-upload-alt fa-5x"></i> <h1 class="upload-filess">UPLOAD HERE</h1> </span> </div> <br> <div class="upload__img-wrap"></div> </div> </div> </div> </div> </div> </form> </div> </div> </div> </div> <?php include('footer.php'); ?> </div> <div role="alert" class="snackbar-error snackbar-container snackbar-hide" data-v-143f642f="" data-v-5fa6951a=""> <div class="flex relative row align-center px-3" data-v-143f642f=""> <div class="snackbar-indicator indicator-error" data-v-143f642f=""></div> <svg xmlns="http://www.w3.org/2000/svg" width="50px" height="50px" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-alert-circle color-error" data-v-143f642f=""> <circle cx="12" cy="12" r="10" data-v-143f642f=""></circle> <line x1="12" y1="8" x2="12" y2="12" data-v-143f642f=""></line> <line x1="12" y1="16" x2="12.01" y2="16" data-v-143f642f=""></line> </svg> <div class="column px-4 py-3" data-v-143f642f=""> <span class="bold text inverse large" data-v-70d8a0c4="" data-v-143f642f="">Failed </span> <span class="mt-2 text inverse normal" data-v-70d8a0c4="" data-v-143f642f=""></span> </div> </div> </div> <div class="snackbar-bg" data-v-aa051a02="" data-v-5fa6951a=""> <div class="snackbar snackbar-container snackbar-hide" data-v-aa051a02=""> <div class="flex relative row align-center px-3" data-v-aa051a02=""> <div class="column px-4 py-3" data-v-aa051a02=""> <span bold="" class="mt-2 text dark normal" data-v-70d8a0c4="" data-v-aa051a02="">You need to <a href="sign-in" data-v-70d8a0c4="" data-v-aa051a02="">login</a> to use this function.</span> <div class="cancel mt-3" data-v-aa051a02="">Cancel</div> </div> </div> </div> </div> <div data-v-78a91c7e="" data-v-5fa6951a=""></div> </div> </div> </div> <script> $(document).ready(function () { $('.js-example-basic-multiple').select2(); }); function readURL(input) { if (input.files && input.files[0]) { var reader = new FileReader(); reader.onload = function (e) { $('.image-upload-wrap').hide(); $('.file-upload-image').attr('src', e.target.result); $('.file-upload-content').show(); $('.image-title').html(input.files[0].name); }; reader.readAsDataURL(input.files[0]); } else { removeUpload(); } } function removeUpload() { $('.file-upload-input').replaceWith($('.file-upload-input').clone()); $('.file-upload-content').hide(); $('.image-upload-wrap').show(); } $('.image-upload-wrap').bind('dragover', function () { $('.image-upload-wrap').addClass('image-dropping'); }); $('.image-upload-wrap').bind('dragleave', function () { $('.image-upload-wrap').removeClass('image-dropping'); }); jQuery(document).ready(function () { ImgUpload(); }); function ImgUpload() { var imgWrap = ""; var imgArray = []; $('.upload-file').each(function () { $(this).on('change', function (e) { imgWrap = $(this).closest('.upload__box').find('.upload__img-wrap'); var maxLength = $(this).attr('data-max_length'); var files = e.target.files; var filesArr = Array.prototype.slice.call(files); var iterator = 0; filesArr.forEach(function (f, index) { if (!f.type.match('image.*')) { return; } if (imgArray.length > maxLength) { return false } else { var len = 0; for (var i = 0; i < imgArray.length; i++) { if (imgArray[i] !== undefined) { len++; } } if (len > maxLength) { return false; } else { imgArray.push(f); var reader = new FileReader(); reader.onload = function (e) { var html = "<div class='upload__img-box'><div style='background-image: url(" + e.target.result + ")' data-number='" + $(".upload__img-close").length + "' data-file='" + f.name + "' class='img-bg'><div class='upload__img-close'></div></div></div>"; imgWrap.append(html); iterator++; } reader.readAsDataURL(f); } } }); }); }); $('body').on('click', ".upload__img-close", function (e) { var file = $(this).parent().data("file"); console.log(file) for (var i = 0; i < imgArray.length; i++) { if (imgArray[i].name === file) { imgArray.splice(i, 1); break; } } $(this).parent().parent().remove(); }); $('body').on('click', ".close-chapter", function (e) { var ci = $(this).parent().data("id"); swal.fire({ title: 'Are you sure?', text: "You won't be able to revert this!", type: 'warning', showCancelButton: true, confirmButtonText: 'Yes, delete it!', buttonsStyling: true }).then(function (e) { if (e.isConfirmed) { $('#cimage_' + ci).remove() deleteChapterImage(ci) } }).catch(swal.noop) }); function deleteChapterImage(id) { var params = { action: 'delete_chapter_image', chapter_image_id: id }; $.ajax({ url: 'actions', dataType: 'text', type: 'post', contentType: 'application/x-www-form-urlencoded', data: $.param(params), success: function (data, textStatus, jQxhr) { console.log(data) }, error: function (jqXhr, textStatus, errorThrown) { console.log(errorThrown); } }); } $('#mangaChapterImageForm').submit(function (event) { event.preventDefault() var formData = new FormData(this); for (var pair of formData.entries()) { console.log(pair[0] + ', ' + pair[1]); } var img = $('.showcat'), imgshow = $('#imgshow'), overly = $('#over'), close = $('#close'); overly.show(); imgshow.attr('src', $(this).attr('src')); $.ajax({ url: 'actions', dataType: 'text', type: 'post', contentType: 'application/x-www-form-urlencoded', data: formData, contentType: false, cache: false, processData: false, success: function (data, textStatus, jQxhr) { var result = JSON.parse(data) if (result.success) { location.reload(); } else { Swal.fire({ icon: 'error', title: result.message, showConfirmButton: true }) } }, error: function (jqXhr, textStatus, errorThrown) { console.log(errorThrown); } }); }) } </script> <?php include('script.php'); ?> </body> </html>
Close