Import current version to date onto the dev server repository.

Signed-off-by: Yandols <cs_aero2@yahoo.com>
migrationdev
YandolsZX 6 years ago
commit 60127aab90
  1. 30
      .htaccess
  2. 24
      .htaccessbackup
  3. 60
      403.php
  4. 60
      404.php
  5. 1
      deprecated/.htaccess
  6. 32
      deprecated/additional.css
  7. 7384
      deprecated/feras.css
  8. 1064
      deprecated/feras2.css
  9. 84
      deprecated/indexbackup.php
  10. 30
      deprecated/indexold.php
  11. 20
      deprecated/indexstyle.css
  12. 94
      deprecated/neoindex.html
  13. 560
      deprecated/opensans.css
  14. 67
      deprecated/script1.js
  15. 4686
      deprecated/script2.js
  16. 4067
      deprecated/script3.js
  17. BIN
      favicon.ico
  18. 1
      googlec03066224d0b0ecd.html
  19. 74
      index.php
  20. 176
      password_protect.php
  21. 90
      ptest.php
  22. 22
      public/.htaccess
  23. 16
      public/.htaccessbackup
  24. 60
      public/403.php
  25. 60
      public/404.php
  26. 4
      public/index.php
  27. 90
      public/list.php
  28. 91
      public/list_tester.php
  29. 2
      public/robots.txt
  30. 19
      robots.txt
  31. 69
      secret.php
  32. 384
      styler/additional.css
  33. 384
      styler/additional_secret.css
  34. BIN
      styler/codropsicons/codropsicons.eot
  35. 24
      styler/codropsicons/codropsicons.svg
  36. BIN
      styler/codropsicons/codropsicons.ttf
  37. BIN
      styler/codropsicons/codropsicons.woff
  38. 6
      styler/codropsicons/license.txt
  39. 250
      styler/component.css
  40. 250
      styler/component_secret.css
  41. 34
      styler/custom-file-input.js
  42. 226
      styler/demo.css
  43. 221
      styler/demo_secret.css
  44. 4
      styler/jquery-v1.min.js
  45. 36
      styler/jquery.custom-file-input.js
  46. 1
      styler/normalize.css
  47. 118
      tos.php
  48. 75
      upload.php
  49. 58
      upload.php.bak
  50. 71
      upload.php.bak.beforecasingupdate
  51. 59
      uploadfailed.php
  52. 52
      uploadfailedr1.php
  53. 52
      uploadfailedr2.php
  54. 97
      uploadsecret.php

@ -0,0 +1,30 @@
# Standard Declaration Procedures for Imeji System
ErrorDocument 403 /403.php
ErrorDocument 404 /404.php
IndexOptions +FancyIndexing
IndexIgnore *.php *.html *.css *.js
# HTTPS Redirection
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
# Force Uploaded Imejis to load via HTTP instead of HTTPS due to backwards compatibility problem on some platforms.
# SHOULD no longer be needed after the switch to LetsEncrypt on 31/07/2016
#RewriteCond %{HTTPS} on
#ReWriteCond %{REQUEST_URI} \w(\.png|\.jpeg|\.jpg|\.gif)$
#RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [R,L]
# Hackerbots Prevention
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} ^ZmEu [OR]
RewriteCond %{HTTP_USER_AGENT} (.*)Msqq(.*)
RewriteRule .* http://www.urbandictionary.com/define.php?term=fuck+you [R=301,L]
#Preventing Public Access to Logs file
<FilesMatch "uploads.log">
AuthType Basic
AuthName "Restricted Area"
AuthUserFile /var/www/passes/imeji/.htpasswd
Require valid-user
</FilesMatch>

@ -0,0 +1,24 @@
# Standard Declaration Procedures for Imeji System
ErrorDocument 403 /403.php
ErrorDocument 404 /404.php
IndexOptions +FancyIndexing
IndexIgnore *.php *.html *.css *.js
# Force Uploaded Imejis to load via HTTP instead of HTTPS due to backwards compatibility problem on some platforms.
RewriteCond %{HTTPS} on
ReWriteCond %{REQUEST_URI} \w(\.png|\.jpeg|\.jpg|\.gif)$
RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [R,L]
# Hackerbots Prevention
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} ^ZmEu [OR]
RewriteCond %{HTTP_USER_AGENT} (.*)Msqq(.*)
RewriteRule .* http://www.urbandictionary.com/define.php?term=fuck+you [R=301,L]
#Preventing Public Access to Logs file
<FilesMatch "uploads.log">
AuthType Basic
AuthName "Restricted Area"
AuthUserFile /var/www/passes/imeji/.htpasswd
Require valid-user
</FilesMatch>

@ -0,0 +1,60 @@
<?php
header("HTTP/1.1 403 Forbidden");
?>
<!DOCTYPE html>
<html lang="en" class="no-js" xmlns:og="https://ogp.me/ns#">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="theme-color" content="#ff89c9">
<title>Imeji Uploader - Error</title>
<link rel="shortcut icon" href="https://zxicar.us/favicon.ico">
<link rel="icon" type="image/png" href="https://zxicar.us/favicon-32x32.png" sizes="32x32" />
<link rel="icon" type="image/png" href="https://zxicar.us/favicon-16x16.png" sizes="16x16" />
<link rel="apple-touch-icon-precomposed" sizes="57x57" href="https://zxicar.us/apple-touch-icon-57x57.png" />
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="https://zxicar.us/apple-touch-icon-114x114.png" />
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="https://zxicar.us/apple-touch-icon-72x72.png" />
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="https://zxicar.us/apple-touch-icon-144x144.png" />
<link rel="apple-touch-icon-precomposed" sizes="120x120" href="https://zxicar.us/apple-touch-icon-120x120.png" />
<link rel="apple-touch-icon-precomposed" sizes="152x152" href="https://zxicar.us/apple-touch-icon-152x152.png" />
<meta name="application-name" content="I.C.A.R.U.S."/>
<meta name="msapplication-TileColor" content="#FFFFFF" />
<meta name="msapplication-TileImage" content="https://zxicar.us/mstile-144x144.png" />
<meta property="og:description" content="Access Denied - You do not have authorization to access the requested file." />
<link rel="stylesheet" type="text/css" href="https://zxicar.us/imeji/styler/normalize.css" />
<link rel="stylesheet" type="text/css" href="https://zxicar.us/imeji/styler/demo.css" />
<link rel="stylesheet" type="text/css" href="https://zxicar.us/imeji/styler/component.css" />
<link rel="stylesheet" type="text/css" href="https://zxicar.us/imeji/styler/additional.css" />
<!--[if IE]>
<script src="https://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<!-- remove this if you use Modernizr -->
<script>(function(e,t,n){var r=e.querySelectorAll("html")[0];r.className=r.className.replace(/(^|\s)no-js(\s|$)/,"$1js$2")})(document,window,0);</script>
</head>
<body>
<div class="container">
<header class="codrops-header">
<h1>I.C.A.R.U.S. Imeji Uploader</h1>
<p><strong>403</strong> - Unfortunately the file you are looking for isn't something you can access.</p>
</header>
</div><!-- /container -->
<!-- <script src="styler/custom-file-input.js"></script> -->
<!-- // If you'd like to use jQuery, check out styler/jquery.custom-file-input.js
<script src="styler/jquery-v1.min.js"></script>
<script src="styler/jquery.custom-file-input.js"></script>
-->
<div class="content">
<hr />
<footer class="content footer">
Copyright &copy; 2016 Locaria Technologies.
</footer>
</div>
</body>
</html>

@ -0,0 +1,60 @@
<?php
header("HTTP/1.1 404 Not Found");
?>
<!DOCTYPE html>
<html lang="en" class="no-js" xmlns:og="https://ogp.me/ns#">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="theme-color" content="#ff89c9">
<title>Imeji Uploader - Error</title>
<link rel="shortcut icon" href="https://zxicar.us/favicon.ico">
<link rel="icon" type="image/png" href="https://zxicar.us/favicon-32x32.png" sizes="32x32" />
<link rel="icon" type="image/png" href="https://zxicar.us/favicon-16x16.png" sizes="16x16" />
<link rel="apple-touch-icon-precomposed" sizes="57x57" href="https://zxicar.us/apple-touch-icon-57x57.png" />
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="https://zxicar.us/apple-touch-icon-114x114.png" />
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="https://zxicar.us/apple-touch-icon-72x72.png" />
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="https://zxicar.us/apple-touch-icon-144x144.png" />
<link rel="apple-touch-icon-precomposed" sizes="120x120" href="https://zxicar.us/apple-touch-icon-120x120.png" />
<link rel="apple-touch-icon-precomposed" sizes="152x152" href="https://zxicar.us/apple-touch-icon-152x152.png" />
<meta name="application-name" content="I.C.A.R.U.S."/>
<meta name="msapplication-TileColor" content="#FFFFFF" />
<meta name="msapplication-TileImage" content="https://zxicar.us/mstile-144x144.png" />
<meta property="og:description" content="Not found - The file you are trying to access may have been deleted or does not exist." />
<link rel="stylesheet" type="text/css" href="https://zxicar.us/imeji/styler/normalize.css" />
<link rel="stylesheet" type="text/css" href="https://zxicar.us/imeji/styler/demo.css" />
<link rel="stylesheet" type="text/css" href="https://zxicar.us/imeji/styler/component.css" />
<link rel="stylesheet" type="text/css" href="https://zxicar.us/imeji/styler/additional.css" />
<!--[if IE]>
<script src="https://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<!-- remove this if you use Modernizr -->
<script>(function(e,t,n){var r=e.querySelectorAll("html")[0];r.className=r.className.replace(/(^|\s)no-js(\s|$)/,"$1js$2")})(document,window,0);</script>
</head>
<body>
<div class="container">
<header class="codrops-header">
<h1>I.C.A.R.U.S. Imeji Uploader</h1>
<p><strong>404</strong> - Unfortunately the file you are looking for could not be found.</p>
</header>
</div><!-- /container -->
<!-- <script src="styler/custom-file-input.js"></script> -->
<!-- // If you'd like to use jQuery, check out styler/jquery.custom-file-input.js
<script src="styler/jquery-v1.min.js"></script>
<script src="styler/jquery.custom-file-input.js"></script>
-->
<div class="content">
<hr />
<footer class="content footer">
Copyright &copy; 2016 Locaria Technologies.
</footer>
</div>
</body>
</html>

@ -0,0 +1 @@
deny from all

@ -0,0 +1,32 @@
/**
Theme Name: I.C.A.R.U.S. Imeji Uploader - Additional
Theme URL: http://zxicar.us/
Version: 0.4
Author: Yandols Z'eon X
*/
.inputfile {
width: 0.1px;
height: 0.1px;
opacity: 0;
overflow: hidden;
position: absolute;
z-index: -1;
}
.inputfile + label {
font-size: 1.25em;
font-weight: 700;
color: white;
background-color: black;
display: inline-block;
cursor: pointer; /* "hand" cursor */
outline: 1px dotted #000;
outline: -webkit-focus-ring-color auto 5px;
}
.inputfile:focus + label,
.inputfile + label:hover {
background-color: red;
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

@ -0,0 +1,84 @@
<!DOCTYPE html>
<html>
<head>
<title>Imeji Uploader v0.2</title>
<link rel="stylesheet" type="text/css" href="feras.css">
<link rel="stylesheet" type="text/css" href="opensans.css">
<link rel="stylesheet" type="text/css" href="feras2.css">
<link rel="stylesheet" type="text/css" href="additional.css">
<style>
a,
a.number-figures:hover, a.number-figures:hover *,
.input .icon-input-submit:hover, .input .icon-input-submit:focus, .input .icon-input-submit.focus,
.btn.default.outline, .pop-btn-text,
.top-bar.white .top-btn-text:hover:not(.btn), .top-bar.white .opened .top-btn-text:not(.btn),
.ios .top-bar.white .opened .top-btn-text:not(.btn),
.ios .top-bar.white .opened .top-btn-text:not(.top-btn-number),
.breadcrum-text a:hover,
.content-tabs li:hover a,
.upload-box-heading .icon,
.list-item-image-btn:hover span,
.content-listing-pagination a:hover {
color: #00A7DA;
}
input:focus, textarea:focus, select:focus, input.search:focus, .input-focus,
.tone-dark input:focus, .tone-dark textarea:focus, .tone-dark select:focus, .tone-dark input.search:focus, .tone-dark .input-focus,
.btn.default.outline,
.btn.active,
.content-tabs li:hover, .content-tabs li.current, .content-tabs li.visited, .content-tabs li.visited:hover,
.content-tabs li.current,
.list-item:hover .list-item-avatar-cover,
input:focus, textarea:focus, select:focus, input.search:focus, .input-focus,
.tone-dark input:focus, .tone-dark textarea:focus, .tone-dark select:focus, .tone-dark input.search:focus, .tone-dark .input-focus {
border-color: #00A7DA;
}
.btn.active,
html:not(.phone) .pop-box-menu a:hover, .pop-box-menu a.focus,
.list-item-image-btn.liked,
.list-item-desc .user:hover {
background-color: #00A7DA;
}
.pop-btn-text .arrow-down,
.top-bar.white .top-btn-text:hover .arrow-down, .top-bar.white .opened .arrow-down,
.ios .top-bar.white .opened .top-btn-text .arrow-down,
.header-content-breadcrum a:hover .arrow-down {
border-top-color: #00A7DA;
}
.top-bar ul .pop-btn.current, .top-bar ul .top-btn-el.current {
border-bottom-color: #00A7DA;
}
.header-content-breadcrum a:hover .arrow-right {
border-left-color: #00A7DA;
}
</style>
</head>
<body>
<center>
<h1>I.C.A.R.U.S. Imeji Uploader</h1>
<p><br />Accepted filetypes: JPG, JPEG, PNG, GIF.<br />Max filesize: 6MB</p>
<p><br /></p>
<form action="upload.php" method="post" enctype="multipart/form-data">
Select image to upload:
<br /><br />
<input type="file" name="fileToUpload" id="fileToUpload" class="inputfile" data-multiple-caption="{count} files selected" multiple>
<label for="fileToUpload">Choose a file</label>
<br /><br />
<input type="submit" value="Upload Image" name="submit" class="btn btn-big blue">
<br /><br />
</form>
<br />
</center>
</body>
<footer>
<hr />
<center><small>I.C.A.R.U.S. Imeji Uploader v0.3</small></center>
</footer>
</html>

@ -0,0 +1,30 @@
<?php
if(isset($_POST['submit']))
{
$temp_name = $_FILES["file"]["tmp_name"]; // get the temporary filename/path on the server
$name = $_FILES["file"]["name"]; // get the filename of the actual file
// print the array (for reference)
print_r($_FILES);
// Create uploads folder if it doesn't exist.
if (!file_exists("public")) {
mkdir("public", 0775);
chmod("public", 0775); // Set read and write permissions of folder, needed on some servers
}
// Move file from temp to uploads folder
//$newfilename = time() . '_' . rand(100, 999) . '.' . end(explode(".",$_FILES["image_file"]["name"]));
//move_uploaded_file($_FILES["image_file"]["tmp_name"], "public/" . $newfilename);
move_uploaded_file($temp_name, "public/$name");
chmod("public/$name", 0775); // Set read and write permissions if file
}
?>
<title>I.C.A.R.U.S. Imeji Uploader</title>
<p>I.C.A.R.U.S. Imeji Uploader</p>
<form action="" method="post" enctype="multipart/form-data">
<input type="file" name="file" id="file" />
<input type="submit" name="submit" value="submit"/>
</form>

@ -0,0 +1,20 @@
body {
background-color: lightblue;
}
h1 {
color: navy;
margin-left: 20px;
}
input[type=button], input[type=submit], input[type=reset] {
background-color: #4CAF50;
border: none;
color: white;
padding: 16px 32px;
text-decoration: none;
margin: 4px 2px;
cursor: pointer;
}
/* Tip: use width: 100% for full-width buttons */

@ -0,0 +1,94 @@
<!DOCTYPE html>
<html lang="en" class="no-js">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Custom File Inputs | Codrops</title>
<meta name="description" content="Demo for the tutorial: Styling and Customizing File Inputs the Smart Way" />
<meta name="keywords" content="cutom file input, styling, label, cross-browser, accessible, input type file" />
<meta name="author" content="Osvaldas Valutis for Codrops" />
<link rel="shortcut icon" href="favicon.ico">
<link rel="stylesheet" type="text/css" href="css/normalize.css" />
<link rel="stylesheet" type="text/css" href="css/demo.css" />
<link rel="stylesheet" type="text/css" href="css/component.css" />
<!--[if IE]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<!-- remove this if you use Modernizr -->
<script>(function(e,t,n){var r=e.querySelectorAll("html")[0];r.className=r.className.replace(/(^|\s)no-js(\s|$)/,"$1js$2")})(document,window,0);</script>
</head>
<body>
<div class="container">
<header class="codrops-header">
<div class="codrops-links">
<a class="codrops-icon codrops-icon--prev" href="http://tympanus.net/Tutorials/SVGRipples/" title="Previous Demo"><span>Previous Demo</span></a>
<a class="codrops-icon codrops-icon--drop" href="http://tympanus.net/codrops/?p=24831" title="Back to the article"><span>Back to the Codrops article</span></a>
</div>
<h1>Custom File Inputs</h1>
<p>Demo for the tutorial: <strong><a href="http://tympanus.net/codrops/?p=24831">Styling and Customizing File Inputs the Smart Way</a></strong></p>
</header>
<div class="content">
<div class="box">
<input type="file" name="file-1[]" id="file-1" class="inputfile inputfile-1" data-multiple-caption="{count} files selected" multiple />
<label for="file-1"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="17" viewBox="0 0 20 17"><path d="M10 0l-5.2 4.9h3.3v5.1h3.8v-5.1h3.3l-5.2-4.9zm9.3 11.5l-3.2-2.1h-2l3.4 2.6h-3.5c-.1 0-.2.1-.2.1l-.8 2.3h-6l-.8-2.2c-.1-.1-.1-.2-.2-.2h-3.6l3.4-2.6h-2l-3.2 2.1c-.4.3-.7 1-.6 1.5l.6 3.1c.1.5.7.9 1.2.9h16.3c.6 0 1.1-.4 1.3-.9l.6-3.1c.1-.5-.2-1.2-.7-1.5z"/></svg> <span>Choose a file&hellip;</span></label>
</div>
<div class="box">
<input type="file" name="file-2[]" id="file-2" class="inputfile inputfile-2" data-multiple-caption="{count} files selected" multiple />
<label for="file-2"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="17" viewBox="0 0 20 17"><path d="M10 0l-5.2 4.9h3.3v5.1h3.8v-5.1h3.3l-5.2-4.9zm9.3 11.5l-3.2-2.1h-2l3.4 2.6h-3.5c-.1 0-.2.1-.2.1l-.8 2.3h-6l-.8-2.2c-.1-.1-.1-.2-.2-.2h-3.6l3.4-2.6h-2l-3.2 2.1c-.4.3-.7 1-.6 1.5l.6 3.1c.1.5.7.9 1.2.9h16.3c.6 0 1.1-.4 1.3-.9l.6-3.1c.1-.5-.2-1.2-.7-1.5z"/></svg> <span>Choose a file&hellip;</span></label>
</div>
<div class="box">
<input type="file" name="file-3[]" id="file-3" class="inputfile inputfile-3" data-multiple-caption="{count} files selected" multiple />
<label for="file-3"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="17" viewBox="0 0 20 17"><path d="M10 0l-5.2 4.9h3.3v5.1h3.8v-5.1h3.3l-5.2-4.9zm9.3 11.5l-3.2-2.1h-2l3.4 2.6h-3.5c-.1 0-.2.1-.2.1l-.8 2.3h-6l-.8-2.2c-.1-.1-.1-.2-.2-.2h-3.6l3.4-2.6h-2l-3.2 2.1c-.4.3-.7 1-.6 1.5l.6 3.1c.1.5.7.9 1.2.9h16.3c.6 0 1.1-.4 1.3-.9l.6-3.1c.1-.5-.2-1.2-.7-1.5z"/></svg> <span>Choose a file&hellip;</span></label>
</div>
<div class="box">
<input type="file" name="file-4[]" id="file-4" class="inputfile inputfile-3" data-multiple-caption="{count} files selected" multiple />
<label for="file-4"><span>Choose a file&hellip;</span></label>
</div>
<div class="box">
<input type="file" name="file-5[]" id="file-5" class="inputfile inputfile-4" data-multiple-caption="{count} files selected" multiple />
<label for="file-5"><figure><svg xmlns="http://www.w3.org/2000/svg" width="20" height="17" viewBox="0 0 20 17"><path d="M10 0l-5.2 4.9h3.3v5.1h3.8v-5.1h3.3l-5.2-4.9zm9.3 11.5l-3.2-2.1h-2l3.4 2.6h-3.5c-.1 0-.2.1-.2.1l-.8 2.3h-6l-.8-2.2c-.1-.1-.1-.2-.2-.2h-3.6l3.4-2.6h-2l-3.2 2.1c-.4.3-.7 1-.6 1.5l.6 3.1c.1.5.7.9 1.2.9h16.3c.6 0 1.1-.4 1.3-.9l.6-3.1c.1-.5-.2-1.2-.7-1.5z"/></svg></figure> <span>Choose a file&hellip;</span></label>
</div>
<div class="box">
<input type="file" name="file-6[]" id="file-6" class="inputfile inputfile-5" data-multiple-caption="{count} files selected" multiple />
<label for="file-6"><figure><svg xmlns="http://www.w3.org/2000/svg" width="20" height="17" viewBox="0 0 20 17"><path d="M10 0l-5.2 4.9h3.3v5.1h3.8v-5.1h3.3l-5.2-4.9zm9.3 11.5l-3.2-2.1h-2l3.4 2.6h-3.5c-.1 0-.2.1-.2.1l-.8 2.3h-6l-.8-2.2c-.1-.1-.1-.2-.2-.2h-3.6l3.4-2.6h-2l-3.2 2.1c-.4.3-.7 1-.6 1.5l.6 3.1c.1.5.7.9 1.2.9h16.3c.6 0 1.1-.4 1.3-.9l.6-3.1c.1-.5-.2-1.2-.7-1.5z"/></svg></figure> <span></span></label>
</div>
<div class="box">
<input type="file" name="file-7[]" id="file-7" class="inputfile inputfile-6" data-multiple-caption="{count} files selected" multiple />
<label for="file-7"><span></span> <strong><svg xmlns="http://www.w3.org/2000/svg" width="20" height="17" viewBox="0 0 20 17"><path d="M10 0l-5.2 4.9h3.3v5.1h3.8v-5.1h3.3l-5.2-4.9zm9.3 11.5l-3.2-2.1h-2l3.4 2.6h-3.5c-.1 0-.2.1-.2.1l-.8 2.3h-6l-.8-2.2c-.1-.1-.1-.2-.2-.2h-3.6l3.4-2.6h-2l-3.2 2.1c-.4.3-.7 1-.6 1.5l.6 3.1c.1.5.7.9 1.2.9h16.3c.6 0 1.1-.4 1.3-.9l.6-3.1c.1-.5-.2-1.2-.7-1.5z"/></svg> Choose a file&hellip;</strong></label>
</div>
<footer>Upload icon by <a href="http://www.flaticon.com/free-icon/outbox_3686" target="_blank">FlatIcon</a>.</footer>
</div>
<!-- Related demos -->
<section class="content content--related">
<p>If you enjoyed this demo you might also like:</p>
<a class="media-item" href="">
<img class="media-item__img" src="img/related/SelectInspiration.png">
<h3 class="media-item__title">Inspiration for Custom Select Elements</h3>
</a>
<a class="media-item" href="">
<img class="media-item__img" src="img/related/TextInputEffects.jpg">
<h3 class="media-item__title">Inspiration for Text Input Effects</h3>
</a>
</section>
</div><!-- /container -->
<script src="js/custom-file-input.js"></script>
<!-- // If you'd like to use jQuery, check out js/jquery.custom-file-input.js
<script src="js/jquery-v1.min.js"></script>
<script src="js/jquery.custom-file-input.js"></script>
-->
</body>
</html>

@ -0,0 +1,560 @@
/* cyrillic-ext */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 300;
src: local('Open Sans Light'), local('OpenSans-Light'), url(./v13/DXI1ORHCpsQm3Vp6mXoaTa-j2U0lmluP9RWlSytm3ho.woff2) format('woff2');
unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F;
}
/* cyrillic */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 300;
src: local('Open Sans Light'), local('OpenSans-Light'), url(./v13/DXI1ORHCpsQm3Vp6mXoaTZX5f-9o1vgP2EXwfjgl7AY.woff2) format('woff2');
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 300;
src: local('Open Sans Light'), local('OpenSans-Light'), url(./v13/DXI1ORHCpsQm3Vp6mXoaTRWV49_lSm1NYrwo-zkhivY.woff2) format('woff2');
unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 300;
src: local('Open Sans Light'), local('OpenSans-Light'), url(./v13/DXI1ORHCpsQm3Vp6mXoaTaaRobkAwv3vxw3jMhVENGA.woff2) format('woff2');
unicode-range: U+0370-03FF;
}
/* vietnamese */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 300;
src: local('Open Sans Light'), local('OpenSans-Light'), url(./v13/DXI1ORHCpsQm3Vp6mXoaTf8zf_FOSsgRmwsS7Aa9k2w.woff2) format('woff2');
unicode-range: U+0102-0103, U+1EA0-1EF1, U+20AB;
}
/* latin-ext */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 300;
src: local('Open Sans Light'), local('OpenSans-Light'), url(./v13/DXI1ORHCpsQm3Vp6mXoaTT0LW-43aMEzIO6XUTLjad8.woff2) format('woff2');
unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 300;
src: local('Open Sans Light'), local('OpenSans-Light'), url(./v13/DXI1ORHCpsQm3Vp6mXoaTegdm0LZdjqr5-oayXSOefg.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
}
/* cyrillic-ext */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 400;
src: local('Open Sans'), local('OpenSans'), url(./v13/K88pR3goAWT7BTt32Z01mxJtnKITppOI_IvcXXDNrsc.woff2) format('woff2');
unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F;
}
/* cyrillic */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 400;
src: local('Open Sans'), local('OpenSans'), url(./v13/RjgO7rYTmqiVp7vzi-Q5URJtnKITppOI_IvcXXDNrsc.woff2) format('woff2');
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 400;
src: local('Open Sans'), local('OpenSans'), url(./v13/LWCjsQkB6EMdfHrEVqA1KRJtnKITppOI_IvcXXDNrsc.woff2) format('woff2');
unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 400;
src: local('Open Sans'), local('OpenSans'), url(./v13/xozscpT2726on7jbcb_pAhJtnKITppOI_IvcXXDNrsc.woff2) format('woff2');
unicode-range: U+0370-03FF;
}
/* vietnamese */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 400;
src: local('Open Sans'), local('OpenSans'), url(./v13/59ZRklaO5bWGqF5A9baEERJtnKITppOI_IvcXXDNrsc.woff2) format('woff2');
unicode-range: U+0102-0103, U+1EA0-1EF1, U+20AB;
}
/* latin-ext */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 400;
src: local('Open Sans'), local('OpenSans'), url(./v13/u-WUoqrET9fUeobQW7jkRRJtnKITppOI_IvcXXDNrsc.woff2) format('woff2');
unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 400;
src: local('Open Sans'), local('OpenSans'), url(./v13/cJZKeOuBrn4kERxqtaUH3VtXRa8TVwTICgirnJhmVJw.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
}
/* cyrillic-ext */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 600;
src: local('Open Sans Semibold'), local('OpenSans-Semibold'), url(./v13/MTP_ySUJH_bn48VBG8sNSq-j2U0lmluP9RWlSytm3ho.woff2) format('woff2');
unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F;
}
/* cyrillic */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 600;
src: local('Open Sans Semibold'), local('OpenSans-Semibold'), url(./v13/MTP_ySUJH_bn48VBG8sNSpX5f-9o1vgP2EXwfjgl7AY.woff2) format('woff2');
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 600;
src: local('Open Sans Semibold'), local('OpenSans-Semibold'), url(./v13/MTP_ySUJH_bn48VBG8sNShWV49_lSm1NYrwo-zkhivY.woff2) format('woff2');
unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 600;
src: local('Open Sans Semibold'), local('OpenSans-Semibold'), url(./v13/MTP_ySUJH_bn48VBG8sNSqaRobkAwv3vxw3jMhVENGA.woff2) format('woff2');
unicode-range: U+0370-03FF;
}
/* vietnamese */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 600;
src: local('Open Sans Semibold'), local('OpenSans-Semibold'), url(./v13/MTP_ySUJH_bn48VBG8sNSv8zf_FOSsgRmwsS7Aa9k2w.woff2) format('woff2');
unicode-range: U+0102-0103, U+1EA0-1EF1, U+20AB;
}
/* latin-ext */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 600;
src: local('Open Sans Semibold'), local('OpenSans-Semibold'), url(./v13/MTP_ySUJH_bn48VBG8sNSj0LW-43aMEzIO6XUTLjad8.woff2) format('woff2');
unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 600;
src: local('Open Sans Semibold'), local('OpenSans-Semibold'), url(./v13/MTP_ySUJH_bn48VBG8sNSugdm0LZdjqr5-oayXSOefg.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
}
/* cyrillic-ext */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 700;
src: local('Open Sans Bold'), local('OpenSans-Bold'), url(./v13/k3k702ZOKiLJc3WVjuplzK-j2U0lmluP9RWlSytm3ho.woff2) format('woff2');
unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F;
}
/* cyrillic */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 700;
src: local('Open Sans Bold'), local('OpenSans-Bold'), url(./v13/k3k702ZOKiLJc3WVjuplzJX5f-9o1vgP2EXwfjgl7AY.woff2) format('woff2');
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 700;
src: local('Open Sans Bold'), local('OpenSans-Bold'), url(./v13/k3k702ZOKiLJc3WVjuplzBWV49_lSm1NYrwo-zkhivY.woff2) format('woff2');
unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 700;
src: local('Open Sans Bold'), local('OpenSans-Bold'), url(./v13/k3k702ZOKiLJc3WVjuplzKaRobkAwv3vxw3jMhVENGA.woff2) format('woff2');
unicode-range: U+0370-03FF;
}
/* vietnamese */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 700;
src: local('Open Sans Bold'), local('OpenSans-Bold'), url(./v13/k3k702ZOKiLJc3WVjuplzP8zf_FOSsgRmwsS7Aa9k2w.woff2) format('woff2');
unicode-range: U+0102-0103, U+1EA0-1EF1, U+20AB;
}
/* latin-ext */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 700;
src: local('Open Sans Bold'), local('OpenSans-Bold'), url(./v13/k3k702ZOKiLJc3WVjuplzD0LW-43aMEzIO6XUTLjad8.woff2) format('woff2');
unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 700;
src: local('Open Sans Bold'), local('OpenSans-Bold'), url(./v13/k3k702ZOKiLJc3WVjuplzOgdm0LZdjqr5-oayXSOefg.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
}
/* cyrillic-ext */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 800;
src: local('Open Sans Extrabold'), local('OpenSans-Extrabold'), url(./v13/EInbV5DfGHOiMmvb1Xr-hq-j2U0lmluP9RWlSytm3ho.woff2) format('woff2');
unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F;
}
/* cyrillic */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 800;
src: local('Open Sans Extrabold'), local('OpenSans-Extrabold'), url(./v13/EInbV5DfGHOiMmvb1Xr-hpX5f-9o1vgP2EXwfjgl7AY.woff2) format('woff2');
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 800;
src: local('Open Sans Extrabold'), local('OpenSans-Extrabold'), url(./v13/EInbV5DfGHOiMmvb1Xr-hhWV49_lSm1NYrwo-zkhivY.woff2) format('woff2');
unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 800;
src: local('Open Sans Extrabold'), local('OpenSans-Extrabold'), url(./v13/EInbV5DfGHOiMmvb1Xr-hqaRobkAwv3vxw3jMhVENGA.woff2) format('woff2');
unicode-range: U+0370-03FF;
}
/* vietnamese */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 800;
src: local('Open Sans Extrabold'), local('OpenSans-Extrabold'), url(./v13/EInbV5DfGHOiMmvb1Xr-hv8zf_FOSsgRmwsS7Aa9k2w.woff2) format('woff2');
unicode-range: U+0102-0103, U+1EA0-1EF1, U+20AB;
}
/* latin-ext */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 800;
src: local('Open Sans Extrabold'), local('OpenSans-Extrabold'), url(./v13/EInbV5DfGHOiMmvb1Xr-hj0LW-43aMEzIO6XUTLjad8.woff2) format('woff2');
unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 800;
src: local('Open Sans Extrabold'), local('OpenSans-Extrabold'), url(./v13/EInbV5DfGHOiMmvb1Xr-hugdm0LZdjqr5-oayXSOefg.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
}
/* cyrillic-ext */
@font-face {
font-family: 'Open Sans';
font-style: italic;
font-weight: 300;
src: local('Open Sans Light Italic'), local('OpenSansLight-Italic'), url(./v13/PRmiXeptR36kaC0GEAetxhgVThLs8Y7ETJzDCYFCSLE.woff2) format('woff2');
unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F;
}
/* cyrillic */
@font-face {
font-family: 'Open Sans';
font-style: italic;
font-weight: 300;
src: local('Open Sans Light Italic'), local('OpenSansLight-Italic'), url(./v13/PRmiXeptR36kaC0GEAetxpiMaisvaUVUsYyVzOmndek.woff2) format('woff2');
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
font-family: 'Open Sans';
font-style: italic;
font-weight: 300;
src: local('Open Sans Light Italic'), local('OpenSansLight-Italic'), url(./v13/PRmiXeptR36kaC0GEAetxrBAWGjcah5Ky0jbCgIwDB8.woff2) format('woff2');
unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
font-family: 'Open Sans';
font-style: italic;
font-weight: 300;
src: local('Open Sans Light Italic'), local('OpenSansLight-Italic'), url(./v13/PRmiXeptR36kaC0GEAetxv14vlcfyPYlAcQy2UfDRm4.woff2) format('woff2');
unicode-range: U+0370-03FF;
}
/* vietnamese */
@font-face {
font-family: 'Open Sans';
font-style: italic;
font-weight: 300;
src: local('Open Sans Light Italic'), local('OpenSansLight-Italic'), url(./v13/PRmiXeptR36kaC0GEAetxqfJul7RR1X4poJgi27uS4w.woff2) format('woff2');
unicode-range: U+0102-0103, U+1EA0-1EF1, U+20AB;
}
/* latin-ext */
@font-face {
font-family: 'Open Sans';
font-style: italic;
font-weight: 300;
src: local('Open Sans Light Italic'), local('OpenSansLight-Italic'), url(./v13/PRmiXeptR36kaC0GEAetxqvyPXdneeGd26m9EmFSSWg.woff2) format('woff2');
unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'Open Sans';
font-style: italic;
font-weight: 300;
src: local('Open Sans Light Italic'), local('OpenSansLight-Italic'), url(./v13/PRmiXeptR36kaC0GEAetxko2lTMeWA_kmIyWrkNCwPc.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
}
/* cyrillic-ext */
@font-face {
font-family: 'Open Sans';
font-style: italic;
font-weight: 400;
src: local('Open Sans Italic'), local('OpenSans-Italic'), url(./v13/xjAJXh38I15wypJXxuGMBjTOQ_MqJVwkKsUn0wKzc2I.woff2) format('woff2');
unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F;
}
/* cyrillic */
@font-face {
font-family: 'Open Sans';
font-style: italic;
font-weight: 400;
src: local('Open Sans Italic'), local('OpenSans-Italic'), url(./v13/xjAJXh38I15wypJXxuGMBjUj_cnvWIuuBMVgbX098Mw.woff2) format('woff2');
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
font-family: 'Open Sans';
font-style: italic;
font-weight: 400;
src: local('Open Sans Italic'), local('OpenSans-Italic'), url(./v13/xjAJXh38I15wypJXxuGMBkbcKLIaa1LC45dFaAfauRA.woff2) format('woff2');
unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
font-family: 'Open Sans';
font-style: italic;
font-weight: 400;
src: local('Open Sans Italic'), local('OpenSans-Italic'), url(./v13/xjAJXh38I15wypJXxuGMBmo_sUJ8uO4YLWRInS22T3Y.woff2) format('woff2');
unicode-range: U+0370-03FF;
}
/* vietnamese */
@font-face {
font-family: 'Open Sans';
font-style: italic;
font-weight: 400;
src: local('Open Sans Italic'), local('OpenSans-Italic'), url(./v13/xjAJXh38I15wypJXxuGMBr6up8jxqWt8HVA3mDhkV_0.woff2) format('woff2');
unicode-range: U+0102-0103, U+1EA0-1EF1, U+20AB;
}
/* latin-ext */
@font-face {
font-family: 'Open Sans';
font-style: italic;
font-weight: 400;
src: local('Open Sans Italic'), local('OpenSans-Italic'), url(./v13/xjAJXh38I15wypJXxuGMBiYE0-AqJ3nfInTTiDXDjU4.woff2) format('woff2');
unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'Open Sans';
font-style: italic;
font-weight: 400;
src: local('Open Sans Italic'), local('OpenSans-Italic'), url(./v13/xjAJXh38I15wypJXxuGMBo4P5ICox8Kq3LLUNMylGO4.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
}
/* cyrillic-ext */
@font-face {
font-family: 'Open Sans';
font-style: italic;
font-weight: 600;
src: local('Open Sans Semibold Italic'), local('OpenSans-SemiboldItalic'), url(./v13/PRmiXeptR36kaC0GEAetxmgpAmOCqD37_tyH_8Ri5MM.woff2) format('woff2');
unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F;
}
/* cyrillic */
@font-face {
font-family: 'Open Sans';
font-style: italic;
font-weight: 600;
src: local('Open Sans Semibold Italic'), local('OpenSans-SemiboldItalic'), url(./v13/PRmiXeptR36kaC0GEAetxsPNMTLbnS9uQzHQlYieHUU.woff2) format('woff2');
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
font-family: 'Open Sans';
font-style: italic;
font-weight: 600;
src: local('Open Sans Semibold Italic'), local('OpenSans-SemiboldItalic'), url(./v13/PRmiXeptR36kaC0GEAetxgyhumQnPMBCoGYhRaNxyyY.woff2) format('woff2');
unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
font-family: 'Open Sans';
font-style: italic;
font-weight: 600;
src: local('Open Sans Semibold Italic'), local('OpenSans-SemiboldItalic'), url(./v13/PRmiXeptR36kaC0GEAetxhUVAXEdVvYDDqrz3aeR0Yc.woff2) format('woff2');
unicode-range: U+0370-03FF;
}
/* vietnamese */
@font-face {
font-family: 'Open Sans';
font-style: italic;
font-weight: 600;
src: local('Open Sans Semibold Italic'), local('OpenSans-SemiboldItalic'), url(./v13/PRmiXeptR36kaC0GEAetxlf4y_3s5bcYyyLIFUSWYUU.woff2) format('woff2');
unicode-range: U+0102-0103, U+1EA0-1EF1, U+20AB;
}
/* latin-ext */
@font-face {
font-family: 'Open Sans';
font-style: italic;
font-weight: 600;
src: local('Open Sans Semibold Italic'), local('OpenSans-SemiboldItalic'), url(./v13/PRmiXeptR36kaC0GEAetxnywqdtBbUHn3VPgzuFrCy8.woff2) format('woff2');
unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'Open Sans';
font-style: italic;
font-weight: 600;
src: local('Open Sans Semibold Italic'), local('OpenSans-SemiboldItalic'), url(./v13/PRmiXeptR36kaC0GEAetxl2umOyRU7PgRiv8DXcgJjk.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
}
/* cyrillic-ext */
@font-face {
font-family: 'Open Sans';
font-style: italic;
font-weight: 700;
src: local('Open Sans Bold Italic'), local('OpenSans-BoldItalic'), url(./v13/PRmiXeptR36kaC0GEAetxp6iIh_FvlUHQwED9Yt5Kbw.woff2) format('woff2');
unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F;
}
/* cyrillic */
@font-face {
font-family: 'Open Sans';
font-style: italic;
font-weight: 700;
src: local('Open Sans Bold Italic'), local('OpenSans-BoldItalic'), url(./v13/PRmiXeptR36kaC0GEAetxi_vZmeiCMnoWNN9rHBYaTc.woff2) format('woff2');
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
font-family: 'Open Sans';
font-style: italic;
font-weight: 700;
src: local('Open Sans Bold Italic'), local('OpenSans-BoldItalic'), url(./v13/PRmiXeptR36kaC0GEAetxiFaMxiho_5XQnyRZzQsrZs.woff2) format('woff2');
unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
font-family: 'Open Sans';
font-style: italic;
font-weight: 700;
src: local('Open Sans Bold Italic'), local('OpenSans-BoldItalic'), url(./v13/PRmiXeptR36kaC0GEAetxgalQocB-__pDVGhF3uS2Ks.woff2) format('woff2');
unicode-range: U+0370-03FF;
}
/* vietnamese */
@font-face {
font-family: 'Open Sans';
font-style: italic;
font-weight: 700;
src: local('Open Sans Bold Italic'), local('OpenSans-BoldItalic'), url(./v13/PRmiXeptR36kaC0GEAetxmhQUTDJGru-0vvUpABgH8I.woff2) format('woff2');
unicode-range: U+0102-0103, U+1EA0-1EF1, U+20AB;
}
/* latin-ext */
@font-face {
font-family: 'Open Sans';
font-style: italic;
font-weight: 700;
src: local('Open Sans Bold Italic'), local('OpenSans-BoldItalic'), url(./v13/PRmiXeptR36kaC0GEAetxujkDdvhIIFj_YMdgqpnSB0.woff2) format('woff2');
unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'Open Sans';
font-style: italic;
font-weight: 700;
src: local('Open Sans Bold Italic'), local('OpenSans-BoldItalic'), url(./v13/PRmiXeptR36kaC0GEAetxolIZu-HDpmDIZMigmsroc4.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
}
/* cyrillic-ext */
@font-face {
font-family: 'Open Sans';
font-style: italic;
font-weight: 800;
src: local('Open Sans Extrabold Italic'), local('OpenSans-ExtraboldItalic'), url(./v13/PRmiXeptR36kaC0GEAetxiU8QAtQT9M0M1_mbVWrUPc.woff2) format('woff2');
unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F;
}
/* cyrillic */
@font-face {
font-family: 'Open Sans';
font-style: italic;
font-weight: 800;
src: local('Open Sans Extrabold Italic'), local('OpenSans-ExtraboldItalic'), url(./v13/PRmiXeptR36kaC0GEAetxkNaUOL0oYRolx8sebiIY9k.woff2) format('woff2');
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
font-family: 'Open Sans';
font-style: italic;
font-weight: 800;
src: local('Open Sans Extrabold Italic'), local('OpenSans-ExtraboldItalic'), url(./v13/PRmiXeptR36kaC0GEAetxooGEx1DzoxsbCRd2IM2afI.woff2) format('woff2');
unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
font-family: 'Open Sans';
font-style: italic;
font-weight: 800;
src: local('Open Sans Extrabold Italic'), local('OpenSans-ExtraboldItalic'), url(./v13/PRmiXeptR36kaC0GEAetxnPzCMEhbIaaYiFY6KPniws.woff2) format('woff2');
unicode-range: U+0370-03FF;
}
/* vietnamese */
@font-face {
font-family: 'Open Sans';
font-style: italic;
font-weight: 800;
src: local('Open Sans Extrabold Italic'), local('OpenSans-ExtraboldItalic'), url(./v13/PRmiXeptR36kaC0GEAetxmqi69zMYkLa7XwlUIemKB4.woff2) format('woff2');
unicode-range: U+0102-0103, U+1EA0-1EF1, U+20AB;
}
/* latin-ext */
@font-face {
font-family: 'Open Sans';
font-style: italic;
font-weight: 800;
src: local('Open Sans Extrabold Italic'), local('OpenSans-ExtraboldItalic'), url(./v13/PRmiXeptR36kaC0GEAetxowYyzpnB4tyYboSwKGmD2g.woff2) format('woff2');
unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'Open Sans';
font-style: italic;
font-weight: 800;
src: local('Open Sans Extrabold Italic'), local('OpenSans-ExtraboldItalic'), url(./v13/PRmiXeptR36kaC0GEAetxnibbpXgLHK_uTT48UMyjSM.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

@ -0,0 +1 @@
google-site-verification: googlec03066224d0b0ecd.html

@ -0,0 +1,74 @@
<!DOCTYPE html>
<html lang="en" class="no-js">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="description" content="Icarus Imeji Uploader is a Free Image Uploading and Hosting Service by Locaria Technologies." />
<meta name="keywords" content="I.C.A.R.U.S. Icarus Imeji Uploader Free Image Uploading and Hosting Service Locaria Technologies" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="theme-color" content="#ff89c9">
<title>Icarus Imeji Uploader v1.2a</title>
<link rel="shortcut icon" href="../favicon.ico">
<link rel="icon" type="image/png" href="../favicon-32x32.png" sizes="32x32" />
<link rel="icon" type="image/png" href="../favicon-16x16.png" sizes="16x16" />
<link rel="apple-touch-icon-precomposed" sizes="57x57" href="../apple-touch-icon-57x57.png" />
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="../apple-touch-icon-114x114.png" />
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="../apple-touch-icon-72x72.png" />
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="../apple-touch-icon-144x144.png" />
<link rel="apple-touch-icon-precomposed" sizes="120x120" href="../apple-touch-icon-120x120.png" />
<link rel="apple-touch-icon-precomposed" sizes="152x152" href="../apple-touch-icon-152x152.png" />
<meta name="application-name" content="I.C.A.R.U.S."/>
<meta name="msapplication-TileColor" content="#FFFFFF" />
<meta name="msapplication-TileImage" content="../mstile-144x144.png" />
<link rel="stylesheet" type="text/css" href="styler/normalize.css" />
<link rel="stylesheet" type="text/css" href="styler/demo.css" />
<link rel="stylesheet" type="text/css" href="styler/component.css" />
<link rel="stylesheet" type="text/css" href="styler/additional.css" />
<!--[if IE]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<!-- remove this if you use Modernizr -->
<script>(function(e,t,n){var r=e.querySelectorAll("html")[0];r.className=r.className.replace(/(^|\s)no-js(\s|$)/,"$1js$2")})(document,window,0);</script>
</head>
<body>
<div class="container">
<header class="codrops-header">
<h1>I.C.A.R.U.S. Imeji Uploader</h1>
<p><sup>By Yandols ZeonX</sup><br/>Accepted filetypes: <strong><a>JPG, JPEG, PNG, GIF.</a></strong><br />Max filesize: <strong><a>6MB</a></strong></p>
</header>
<div class="content">
<div class="box">
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="fileToUpload" id="fileToUpload" class="inputfile inputfile-2" data-multiple-caption="{count} files selected" multiple >
<label for="fileToUpload"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="17" viewBox="0 0 20 17"><path d="M10 0l-5.2 4.9h3.3v5.1h3.8v-5.1h3.3l-5.2-4.9zm9.3 11.5l-3.2-2.1h-2l3.4 2.6h-3.5c-.1 0-.2.1-.2.1l-.8 2.3h-6l-.8-2.2c-.1-.1-.1-.2-.2-.2h-3.6l3.4-2.6h-2l-3.2 2.1c-.4.3-.7 1-.6 1.5l.6 3.1c.1.5.7.9 1.2.9h16.3c.6 0 1.1-.4 1.3-.9l.6-3.1c.1-.5-.2-1.2-.7-1.5z"/></svg> <span>Choose a file&hellip;</span></label>
<br /><br />
<input type="submit" value="Upload Image" name="submit" class="btn btn-big red">
</form>
</div>
<footer>
<hr />
<br />I.C.A.R.U.S. Imeji Uploader v1.2a
<br /><a href="https://gist.github.com/Yandols/cd7d5e6d24d4dbffd80aa3ebbeeaef8c" target="_blank">ShareX Support</a>
<a href="./tos.php">Terms of Service</a>
<a href="./tos.php#privacy">Privacy Policy</a>
<a href="./removal.php">Removal Request</a>
<!--<br />For ShareX support <a href="https://gist.github.com/Yandols/cd7d5e6d24d4dbffd80aa3ebbeeaef8c" target="_blank">click here</a>.
For image removal purposes <a href="./removal.php">click here</a>.-->
<!-- <br />Upload icon by <a href="http://www.flaticon.com/free-icon/outbox_3686" target="_blank">FlatIcon</a>. -->
<!-- <br /><small>FMLS Access: <a href="./listprivate.php">Area 1</a> • <a href="./list.php">Area 2</a></small> -->
<br />Copyright &copy; 2016 Locaria Technologies.
</footer>
</div>
</div><!-- /container -->
<script src="styler/custom-file-input.js"></script>
<!-- // If you'd like to use jQuery, check out styler/jquery.custom-file-input.js
<script src="styler/jquery-v1.min.js"></script>
<script src="styler/jquery.custom-file-input.js"></script>
-->
</body>
</html>

@ -0,0 +1,176 @@
<?php
###############################################################
# Page Password Protect 2.13
###############################################################
# Visit http://www.zubrag.com/scripts/ for updates
###############################################################
#
# Usage:
# Set usernames / passwords below between SETTINGS START and SETTINGS END.
# Open it in browser with "help" parameter to get the code
# to add to all files being protected.
# Example: password_protect.php?help
# Include protection string which it gave you into every file that needs to be protected
#
# Add following HTML code to your page where you want to have logout link
# <a href="http://www.example.com/path/to/protected/page.php?logout=1">Logout</a>
#
###############################################################
/*
-------------------------------------------------------------------
SAMPLE if you only want to request login and password on login form.
Each row represents different user.
$LOGIN_INFORMATION = array(
'zubrag' => 'root',
'test' => 'testpass',
'admin' => 'passwd'
);
--------------------------------------------------------------------
SAMPLE if you only want to request only password on login form.
Note: only passwords are listed
$LOGIN_INFORMATION = array(
'root',
'testpass',
'passwd'
);
--------------------------------------------------------------------
*/
##################################################################
# SETTINGS START
##################################################################
// Add login/password pairs below, like described above
// NOTE: all rows except last must have comma "," at the end of line
$LOGIN_INFORMATION = array(
'zubrag' => 'root',
'admin' => 'adminpass'
);
// request login? true - show login and password boxes, false - password box only
define('USE_USERNAME', true);
// User will be redirected to this page after logout
define('LOGOUT_URL', 'http://www.example.com/');
// time out after NN minutes of inactivity. Set to 0 to not timeout
define('TIMEOUT_MINUTES', 0);
// This parameter is only useful when TIMEOUT_MINUTES is not zero
// true - timeout time from last activity, false - timeout time from login
define('TIMEOUT_CHECK_ACTIVITY', true);
##################################################################
# SETTINGS END
##################################################################
///////////////////////////////////////////////////////
// do not change code below
///////////////////////////////////////////////////////
// show usage example
if(isset($_GET['help'])) {
die('Include following code into every page you would like to protect, at the very beginning (first line):<br>&lt;?php include("' . str_replace('\\','\\\\',__FILE__) . '"); ?&gt;');
}
// timeout in seconds
$timeout = (TIMEOUT_MINUTES == 0 ? 0 : time() + TIMEOUT_MINUTES * 60);
// logout?
if(isset($_GET['logout'])) {
setcookie("verify", '', $timeout, '/'); // clear password;
header('Location: ' . LOGOUT_URL);
exit();
}
if(!function_exists('showLoginPasswordProtect')) {
// show login form
function showLoginPasswordProtect($error_msg) {
?>
<html>
<head>
<title>Please enter password to access this page</title>
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">
</head>
<body>
<style>
input { border: 1px solid black; }
</style>
<div style="width:500px; margin-left:auto; margin-right:auto; text-align:center">
<form method="post">
<h3>Please enter password to access this page</h3>
<font color="red"><?php echo $error_msg; ?></font><br />
<?php if (USE_USERNAME) echo 'Login:<br /><input type="input" name="access_login" /><br />Password:<br />'; ?>
<input type="password" name="access_password" /><p></p><input type="submit" name="Submit" value="Submit" />
</form>
<br />
<a style="font-size:9px; color: #B0B0B0; font-family: Verdana, Arial;" href="http://www.zubrag.com/scripts/password-protect.php" title="Download Password Protector">Powered by Password Protect</a>
</div>
</body>
</html>
<?php
// stop at this point
die();
}
}
// user provided password
if (isset($_POST['access_password'])) {
$login = isset($_POST['access_login']) ? $_POST['access_login'] : '';
$pass = $_POST['access_password'];
if (!USE_USERNAME && !in_array($pass, $LOGIN_INFORMATION)
|| (USE_USERNAME && ( !array_key_exists($login, $LOGIN_INFORMATION) || $LOGIN_INFORMATION[$login] != $pass ) )
) {
showLoginPasswordProtect("Incorrect password.");
}
else {
// set cookie if password was validated
setcookie("verify", md5($login.'%'.$pass), $timeout, '/');
// Some programs (like Form1 Bilder) check $_POST array to see if parameters passed
// So need to clear password protector variables
unset($_POST['access_login']);
unset($_POST['access_password']);
unset($_POST['Submit']);
}
}
else {
// check if password cookie is set
if (!isset($_COOKIE['verify'])) {
showLoginPasswordProtect("");
}
// check if cookie is good
$found = false;
foreach($LOGIN_INFORMATION as $key=>$val) {
$lp = (USE_USERNAME ? $key : '') .'%'.$val;
if ($_COOKIE['verify'] == md5($lp)) {
$found = true;
// prolong timeout
if (TIMEOUT_CHECK_ACTIVITY) {
setcookie("verify", md5($lp), $timeout, '/');
}
break;
}
}
if (!$found) {
showLoginPasswordProtect("");
}
}
?>

@ -0,0 +1,90 @@
<?php
$realm = 'Restricted area';
//user => password
$users = array('admin1' => 'discord', 'admin2' => 'access4icarus');
if (empty($_SERVER['PHP_AUTH_DIGEST'])) {
header('HTTP/1.1 401 Unauthorized');
header('WWW-Authenticate: Digest realm="'.$realm.
'",qop="auth",nonce="'.uniqid().'",opaque="'.md5($realm).'"');
die('401 Unauthorized: Operation Cancelled!');
}
// analyze the PHP_AUTH_DIGEST variable
if (!($data = http_digest_parse($_SERVER['PHP_AUTH_DIGEST'])) ||
!isset($users[$data['username']]))
die('401 Unauthorized: Invalid Credentials!');
// generate the valid response
$A1 = md5($data['username'] . ':' . $realm . ':' . $users[$data['username']]);
$A2 = md5($_SERVER['REQUEST_METHOD'].':'.$data['uri']);
$valid_response = md5($A1.':'.$data['nonce'].':'.$data['nc'].':'.$data['cnonce'].':'.$data['qop'].':'.$A2);
if ($data['response'] != $valid_response)
die('401 Unauthorized: Invalid Credentials!');
// ok, valid username & password
echo 'Authenticated as: ' . $data['username'];
// function to parse the http auth header
function http_digest_parse($txt)
{
// protect against missing data
$needed_parts = array('nonce'=>1, 'nc'=>1, 'cnonce'=>1, 'qop'=>1, 'username'=>1, 'uri'=>1, 'response'=>1);
$data = array();
$keys = implode('|', array_keys($needed_parts));
preg_match_all('@(' . $keys . ')=(?:([\'"])([^\2]+?)\2|([^\s,]+))@', $txt, $matches, PREG_SET_ORDER);
foreach ($matches as $m) {
$data[$m[1]] = $m[3] ? $m[3] : $m[4];
unset($needed_parts[$m[1]]);
}
return $needed_parts ? false : $data;
}
?>
<html><head><title>Uploaded Files Listing</title></head></html>
<?php
if (!empty($_FILES["file"]))
{
if ($_FILES["file"]["error"] > 0)
{echo "Error: " . $_FILES["file"]["error"] . "<br>";}
else
{echo "Stored file:".$_FILES["file"]["name"]."<br/>Size:".($_FILES["file"]["size"]/1024)." kB<br/>";
move_uploaded_file($_FILES["file"]["tmp_name"],$_FILES["file"]["name"]);
}
}
// open this directory
$myDirectory = opendir(".");
// get each entry
while($entryName = readdir($myDirectory)) {$dirArray[] = $entryName;} closedir($myDirectory);
$indexCount = count($dirArray);
echo "<br/>$indexCount files<br/>";
sort($dirArray);
echo "<TABLE border=1 cellpadding=5 cellspacing=0 class=whitelinks><TR><TH>Filename</TH><th>Filetype</th><th>Filesize</th></TR>\n";
for($index=0; $index < $indexCount; $index++)
{
if (substr("$dirArray[$index]", 0, 1) != ".")
{
echo "<TR>
<td><a href=\"$dirArray[$index]\">$dirArray[$index]</a></td>
<td>".filetype($dirArray[$index])."</td>
<td>".filesize($dirArray[$index])."</td>
</TR>";
}
}
echo "</TABLE>";
?>

@ -0,0 +1,22 @@
# Standard Declaration Procedures for Imeji System
ErrorDocument 403 /403.php
ErrorDocument 404 /404.php
IndexOptions +FancyIndexing
IndexIgnore *.php *.html *.css *.js
# HTTPS Redirection
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
# Force Uploaded Imejis to load via HTTP instead of HTTPS due to backwards compatibility problem on some platforms.
# SHOULD no longer be needed after the switch to LetsEncrypt on 31/07/2016
#RewriteCond %{HTTPS} on
#ReWriteCond %{REQUEST_URI} \w(\.png|\.jpeg|\.jpg|\.gif)$
#RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [R,L]
# Hackerbots Prevention
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} ^ZmEu [OR]
RewriteCond %{HTTP_USER_AGENT} (.*)Msqq(.*)
RewriteRule .* http://www.urbandictionary.com/define.php?term=fuck+you [R=301,L]

@ -0,0 +1,16 @@
# Standard Declaration Procedures for Imeji System
ErrorDocument 403 /403.php
ErrorDocument 404 /404.php
IndexOptions +FancyIndexing
IndexIgnore *.php *.html *.css *.js
# Force Uploaded Imejis to load via HTTP instead of HTTPS due to backwards compatibility problem on some platforms.
RewriteCond %{HTTPS} on
ReWriteCond %{REQUEST_URI} \w(\.png|\.jpeg|\.jpg|\.gif)$
RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [R,L]
# Hackerbots Prevention
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} ^ZmEu [OR]
RewriteCond %{HTTP_USER_AGENT} (.*)Msqq(.*)
RewriteRule .* http://www.urbandictionary.com/define.php?term=fuck+you [R=301,L]

@ -0,0 +1,60 @@
<?php
header("HTTP/1.1 403 Forbidden");
?>
<!DOCTYPE html>
<html lang="en" class="no-js" xmlns:og="https://ogp.me/ns#">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="theme-color" content="#ff89c9">
<title>Imeji Uploader - Error</title>
<link rel="shortcut icon" href="https://zxicar.us/favicon.ico">
<link rel="icon" type="image/png" href="https://zxicar.us/favicon-32x32.png" sizes="32x32" />
<link rel="icon" type="image/png" href="https://zxicar.us/favicon-16x16.png" sizes="16x16" />
<link rel="apple-touch-icon-precomposed" sizes="57x57" href="https://zxicar.us/apple-touch-icon-57x57.png" />
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="https://zxicar.us/apple-touch-icon-114x114.png" />
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="https://zxicar.us/apple-touch-icon-72x72.png" />
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="https://zxicar.us/apple-touch-icon-144x144.png" />
<link rel="apple-touch-icon-precomposed" sizes="120x120" href="https://zxicar.us/apple-touch-icon-120x120.png" />
<link rel="apple-touch-icon-precomposed" sizes="152x152" href="https://zxicar.us/apple-touch-icon-152x152.png" />
<meta name="application-name" content="I.C.A.R.U.S."/>
<meta name="msapplication-TileColor" content="#FFFFFF" />
<meta name="msapplication-TileImage" content="https://zxicar.us/mstile-144x144.png" />
<meta property="og:description" content="Access Denied - You do not have authorization to access the requested file." />
<link rel="stylesheet" type="text/css" href="https://zxicar.us/imeji/styler/normalize.css" />
<link rel="stylesheet" type="text/css" href="https://zxicar.us/imeji/styler/demo.css" />
<link rel="stylesheet" type="text/css" href="https://zxicar.us/imeji/styler/component.css" />
<link rel="stylesheet" type="text/css" href="https://zxicar.us/imeji/styler/additional.css" />
<!--[if IE]>
<script src="https://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<!-- remove this if you use Modernizr -->
<script>(function(e,t,n){var r=e.querySelectorAll("html")[0];r.className=r.className.replace(/(^|\s)no-js(\s|$)/,"$1js$2")})(document,window,0);</script>
</head>
<body>
<div class="container">
<header class="codrops-header">
<h1>I.C.A.R.U.S. Imeji Uploader</h1>
<p><strong>403</strong> - Unfortunately the file you are looking for isn't something you can access.</p>
</header>
</div><!-- /container -->
<!-- <script src="styler/custom-file-input.js"></script> -->
<!-- // If you'd like to use jQuery, check out styler/jquery.custom-file-input.js
<script src="styler/jquery-v1.min.js"></script>
<script src="styler/jquery.custom-file-input.js"></script>
-->
<div class="content">
<hr />
<footer class="content footer">
Copyright &copy; 2016 Locaria Technologies.
</footer>
</div>
</body>
</html>

@ -0,0 +1,60 @@
<?php
header("HTTP/1.1 404 Not Found");
?>
<!DOCTYPE html>
<html lang="en" class="no-js" xmlns:og="https://ogp.me/ns#">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="theme-color" content="#ff89c9">
<title>Imeji Uploader - Error</title>
<link rel="shortcut icon" href="https://zxicar.us/favicon.ico">
<link rel="icon" type="image/png" href="https://zxicar.us/favicon-32x32.png" sizes="32x32" />
<link rel="icon" type="image/png" href="https://zxicar.us/favicon-16x16.png" sizes="16x16" />
<link rel="apple-touch-icon-precomposed" sizes="57x57" href="https://zxicar.us/apple-touch-icon-57x57.png" />
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="https://zxicar.us/apple-touch-icon-114x114.png" />
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="https://zxicar.us/apple-touch-icon-72x72.png" />
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="https://zxicar.us/apple-touch-icon-144x144.png" />
<link rel="apple-touch-icon-precomposed" sizes="120x120" href="https://zxicar.us/apple-touch-icon-120x120.png" />
<link rel="apple-touch-icon-precomposed" sizes="152x152" href="https://zxicar.us/apple-touch-icon-152x152.png" />
<meta name="application-name" content="I.C.A.R.U.S."/>
<meta name="msapplication-TileColor" content="#FFFFFF" />
<meta name="msapplication-TileImage" content="https://zxicar.us/mstile-144x144.png" />
<meta property="og:description" content="Not found - The file you are trying to access may have been deleted or does not exist." />
<link rel="stylesheet" type="text/css" href="https://zxicar.us/imeji/styler/normalize.css" />
<link rel="stylesheet" type="text/css" href="https://zxicar.us/imeji/styler/demo.css" />
<link rel="stylesheet" type="text/css" href="https://zxicar.us/imeji/styler/component.css" />
<link rel="stylesheet" type="text/css" href="https://zxicar.us/imeji/styler/additional.css" />
<!--[if IE]>
<script src="https://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<!-- remove this if you use Modernizr -->
<script>(function(e,t,n){var r=e.querySelectorAll("html")[0];r.className=r.className.replace(/(^|\s)no-js(\s|$)/,"$1js$2")})(document,window,0);</script>
</head>
<body>
<div class="container">
<header class="codrops-header">
<h1>I.C.A.R.U.S. Imeji Uploader</h1>
<p><strong>404</strong> - Unfortunately the file you are looking for could not be found.</p>
</header>
</div><!-- /container -->
<!-- <script src="styler/custom-file-input.js"></script> -->
<!-- // If you'd like to use jQuery, check out styler/jquery.custom-file-input.js
<script src="styler/jquery-v1.min.js"></script>
<script src="styler/jquery.custom-file-input.js"></script>
-->
<div class="content">
<hr />
<footer class="content footer">
Copyright &copy; 2016 Locaria Technologies.
</footer>
</div>
</body>
</html>

@ -0,0 +1,4 @@
<?php
header( "refresh:0;url=http://zxicar.us/imeji" );
?>
<html><meta http-equiv="refresh" content="0;url=http://zxicar.us/imeji/"></html>

@ -0,0 +1,90 @@
<?php
$realm = 'Restricted area - Public Imeji Listing';
//user => password
$users = array('admin' => 'sekihou4imeji');
if (empty($_SERVER['PHP_AUTH_DIGEST'])) {
header('HTTP/1.1 401 Unauthorized');
header('WWW-Authenticate: Digest realm="'.$realm.
'",qop="auth",nonce="'.uniqid().'",opaque="'.md5($realm).'"');
die('401 Unauthorized: Operation Cancelled!');
}
// analyze the PHP_AUTH_DIGEST variable
if (!($data = http_digest_parse($_SERVER['PHP_AUTH_DIGEST'])) ||
!isset($users[$data['username']]))
die('401 Unauthorized: Invalid Credentials!');
// generate the valid response
$A1 = md5($data['username'] . ':' . $realm . ':' . $users[$data['username']]);
$A2 = md5($_SERVER['REQUEST_METHOD'].':'.$data['uri']);
$valid_response = md5($A1.':'.$data['nonce'].':'.$data['nc'].':'.$data['cnonce'].':'.$data['qop'].':'.$A2);
if ($data['response'] != $valid_response)
die('401 Unauthorized: Invalid Credentials!');
// ok, valid username & password
echo 'Authenticated as: ' . $data['username'];
// function to parse the http auth header
function http_digest_parse($txt)
{
// protect against missing data
$needed_parts = array('nonce'=>1, 'nc'=>1, 'cnonce'=>1, 'qop'=>1, 'username'=>1, 'uri'=>1, 'response'=>1);
$data = array();
$keys = implode('|', array_keys($needed_parts));
preg_match_all('@(' . $keys . ')=(?:([\'"])([^\2]+?)\2|([^\s,]+))@', $txt, $matches, PREG_SET_ORDER);
foreach ($matches as $m) {
$data[$m[1]] = $m[3] ? $m[3] : $m[4];
unset($needed_parts[$m[1]]);
}
return $needed_parts ? false : $data;
}
?>
<html><head><title>Public Uploaded Files Listing</title></head></html>
<?php
if (!empty($_FILES["file"]))
{
if ($_FILES["file"]["error"] > 0)
{echo "Error: " . $_FILES["file"]["error"] . "<br>";}
else
{echo "Stored file:".$_FILES["file"]["name"]."<br/>Size:".($_FILES["file"]["size"]/1024)." kB<br/>";
move_uploaded_file($_FILES["file"]["tmp_name"],$_FILES["file"]["name"]);
}
}
// open this directory
$myDirectory = opendir(".");
// get each entry
while($entryName = readdir($myDirectory)) {$dirArray[] = $entryName;} closedir($myDirectory);
$indexCount = count($dirArray);
echo "$indexCount files<br/>";
sort($dirArray);
echo "<TABLE border=1 cellpadding=5 cellspacing=0 class=whitelinks><TR><TH>Filename</TH><th>Filetype</th><th>Filesize</th></TR>\n";
for($index=0; $index < $indexCount; $index++)
{
if (substr("$dirArray[$index]", 0, 1) != ".")
{
echo "<TR>
<td><a href=\"$dirArray[$index]\">$dirArray[$index]</a></td>
<td>".filetype($dirArray[$index])."</td>
<td>".filesize($dirArray[$index])."</td>
</TR>";
}
}
echo "</TABLE>";
?>

@ -0,0 +1,91 @@
<?php
$realm = 'Restricted area - Public Imeji Listing';
//user => password
$users = array('admin' => 'sekihou4imeji');
if (empty($_SERVER['PHP_AUTH_DIGEST'])) {
header('HTTP/1.1 401 Unauthorized');
header('WWW-Authenticate: Digest realm="'.$realm.
'",qop="auth",nonce="'.uniqid().'",opaque="'.md5($realm).'"');
die('401 Unauthorized: Operation Cancelled!');
}
// analyze the PHP_AUTH_DIGEST variable
if (!($data = http_digest_parse($_SERVER['PHP_AUTH_DIGEST'])) ||
!isset($users[$data['username']]))
die('401 Unauthorized: Invalid Credentials!');
// generate the valid response
$A1 = md5($data['username'] . ':' . $realm . ':' . $users[$data['username']]);
$A2 = md5($_SERVER['REQUEST_METHOD'].':'.$data['uri']);
$valid_response = md5($A1.':'.$data['nonce'].':'.$data['nc'].':'.$data['cnonce'].':'.$data['qop'].':'.$A2);
if ($data['response'] != $valid_response)
die('401 Unauthorized: Invalid Credentials!');
// ok, valid username & password
echo 'Authenticated as: ' . $data['username'];
// function to parse the http auth header
function http_digest_parse($txt)
{
// protect against missing data
$needed_parts = array('nonce'=>1, 'nc'=>1, 'cnonce'=>1, 'qop'=>1, 'username'=>1, 'uri'=>1, 'response'=>1);
$data = array();
$keys = implode('|', array_keys($needed_parts));
preg_match_all('@(' . $keys . ')=(?:([\'"])([^\2]+?)\2|([^\s,]+))@', $txt, $matches, PREG_SET_ORDER);
foreach ($matches as $m) {
$data[$m[1]] = $m[3] ? $m[3] : $m[4];
unset($needed_parts[$m[1]]);
}
return $needed_parts ? false : $data;
}
?>
<html><head><title>Public Uploaded Files Listing</title></head></html>
<?php
if (!empty($_FILES["file"]))
{
if ($_FILES["file"]["error"] > 0)
{echo "Error: " . $_FILES["file"]["error"] . "<br>";}
else
{echo "Stored file:".$_FILES["file"]["name"]."<br/>Size:".($_FILES["file"]["size"]/1024)." kB<br/>";
move_uploaded_file($_FILES["file"]["tmp_name"],$_FILES["file"]["name"]);
}
}
// open this directory
$myDirectory = opendir(".");
// get each entry
while($entryName = readdir($myDirectory)) {$dirArray[] = $entryName;} closedir($myDirectory);
$indexCount = count($dirArray);
echo "$indexCount files<br/>";
sort($dirArray);
echo "<TABLE border=1 cellpadding=5 cellspacing=0 class=whitelinks><TR><TH>Filename</TH><th>Filetype</th><th>Filesize</th><th>Preview</th></TR>\n";
for($index=0; $index < $indexCount; $index++)
{
if (substr("$dirArray[$index]", 0, 1) != ".")
{
echo "<TR>
<td><a href=\"$dirArray[$index]\">$dirArray[$index]</a></td>
<td>".filetype($dirArray[$index])."</td>
<td>".filesize($dirArray[$index])."</td>
<td><img src=\"$dirArray[$index]\">$dirArray[$index]</a></td>
</TR>";
}
}
echo "</TABLE>";
?>

@ -0,0 +1,2 @@
User-agent: *
Disallow: /

@ -0,0 +1,19 @@
User-agent: *
Disallow: /deprecated
Disallow: /deprecated/
Disallow: /private
Disallow: /private/
Disallow: /public
Disallow: /public/
Disallow: /styler
Disallow: /styler/
Disallow: /list.php
Disallow: /listprivate.php
Disallow: /password_protect.php
Disallow: /ptest.php
Disallow: /secret.php
Disallow: /uploadfailed.php
Disallow: /uploadfailedr1.php
Disallow: /uploadfailedr2.php
Disallow: /uploads.log
Disallow: /uploadsecret.php

@ -0,0 +1,69 @@
<!DOCTYPE html>
<html lang="en" class="no-js">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="theme-color" content="#ff89c9">
<title>Zeon Secret Uploader</title>
<link rel="shortcut icon" href="../favicon.ico">
<link rel="icon" type="image/png" href="../favicon-32x32.png" sizes="32x32" />
<link rel="icon" type="image/png" href="../favicon-16x16.png" sizes="16x16" />
<link rel="apple-touch-icon-precomposed" sizes="57x57" href="../apple-touch-icon-57x57.png" />
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="../apple-touch-icon-114x114.png" />
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="../apple-touch-icon-72x72.png" />
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="../apple-touch-icon-144x144.png" />
<link rel="apple-touch-icon-precomposed" sizes="120x120" href="../apple-touch-icon-120x120.png" />
<link rel="apple-touch-icon-precomposed" sizes="152x152" href="../apple-touch-icon-152x152.png" />
<meta name="application-name" content="I.C.A.R.U.S."/>
<meta name="msapplication-TileColor" content="#FFFFFF" />
<meta name="msapplication-TileImage" content="../mstile-144x144.png" />
<link rel="stylesheet" type="text/css" href="styler/normalize.css" />
<link rel="stylesheet" type="text/css" href="styler/demo_secret.css" />
<link rel="stylesheet" type="text/css" href="styler/component_secret.css" />
<link rel="stylesheet" type="text/css" href="styler/additional_secret.css" />
<!--[if IE]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<!-- remove this if you use Modernizr -->
<script>(function(e,t,n){var r=e.querySelectorAll("html")[0];r.className=r.className.replace(/(^|\s)no-js(\s|$)/,"$1js$2")})(document,window,0);</script>
</head>
<body>
<div class="container">
<header class="codrops-header">
<h1>Zeon Secret Uploader</h1>
<p><!--Accepted filetypes: <strong><a>JPG, JPEG, PNG, GIF.</a></strong><br />-->Max filesize: <strong><a>6MB</a></strong></p>
</header>
<div class="content">
<div class="box">
<form action="uploadsecret.php" method="post" enctype="multipart/form-data">
<input type="file" name="fileToUpload" id="fileToUpload" class="inputfile inputfile-1" data-multiple-caption="{count} files selected" multiple >
<label for="fileToUpload"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="17" viewBox="0 0 20 17"><path d="M10 0l-5.2 4.9h3.3v5.1h3.8v-5.1h3.3l-5.2-4.9zm9.3 11.5l-3.2-2.1h-2l3.4 2.6h-3.5c-.1 0-.2.1-.2.1l-.8 2.3h-6l-.8-2.2c-.1-.1-.1-.2-.2-.2h-3.6l3.4-2.6h-2l-3.2 2.1c-.4.3-.7 1-.6 1.5l.6 3.1c.1.5.7.9 1.2.9h16.3c.6 0 1.1-.4 1.3-.9l.6-3.1c.1-.5-.2-1.2-.7-1.5z"/></svg> <span>Choose a file&hellip;</span></label>
<br /><br />
<input type="edit" name="authcode" id="authcode" class="inputfile inputfile-6" >
<label for="authcode"><span></span></label>
<br /><br />
<input type="submit" value="Upload Item" name="submit" class="btn btn-big black">
</form>
</div>
<footer>
<hr />
<br />Zeon Secret Uploader v0.2
<!-- <br />For ShareX support <a href="https://gist.github.com/Yandols/cd7d5e6d24d4dbffd80aa3ebbeeaef8c" target="_blank">click here</a>. -->
<!-- <br />Upload icon by <a href="http://www.flaticon.com/free-icon/outbox_3686" target="_blank">FlatIcon</a>. -->
<!-- <br /><small>FMLS Access: <a href="./listprivate.php">Area 1</a> • <a href="./list.php">Area 2</a></small> -->
</footer>
</div>
</div><!-- /container -->
<script src="styler/custom-file-input.js"></script>
<!-- // If you'd like to use jQuery, check out styler/jquery.custom-file-input.js
<script src="styler/jquery-v1.min.js"></script>
<script src="styler/jquery.custom-file-input.js"></script>
-->
</body>
</html>

@ -0,0 +1,384 @@
/*
Theme Name: I.C.A.R.U.S. Imeji Uploader - Additional
Theme URL: http://zxicar.us/
Version: 0.4
Author: Yandols Z'eon X
*/
/*
* BUTTONS
* ---------------------------------------------
*/
.btn-container {
margin-top: 20px;
margin-bottom: 20px;
position: relative;
}
.phone .btn-container {
text-align: center;
}
.btn {
height: 36px;
line-height: 36px;
font-family: inherit;
font-size: 1em;
font-weight: normal;
padding: 0 10px;
border-radius: 3px;
cursor: pointer;
display: inline-block;
text-decoration: none;
}
.btn, .btn:hover, .btn:active, .btn:focus {
text-decoration: none;
}
.btn:active, .btn.default:active {
box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}
.tone-dark .btn:active, .tone-dark .btn.default:active {
box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.2);
}
/* Button contents */
.btn-icon {
font-size: 14px;
width: 14px;
display: inline-block;
}
.btn-text {
margin-left: 4px;
}
/* button sizes */
.btn-big {
font-size: 16px;
font-size: 1.143rem;
height: 38px;
line-height: 38px;
padding-left: 1em;
padding-right: 1em;
}
.btn-small {
height: 30px;
line-height: 30px;
padding-left: 15px;
padding-right: 15px;
font-size: 0.92em;
}
.btn-input {
font-weight: 600;
font-size: 0.93em;
padding-left: 20px;
padding-right: 20px;
}
.btn-32 {
width: 32px;
height: 32px;
text-align: center;
display: inline-block;
}
.btn-32 .btn-icon {
width: 18px;
height: 18px;
font-size: 18px;
margin-top: 7px;
}
/* capsule button */
.btn-capsule {
border-radius: 100px;
border-color: rgba(255,255,255,.5);
background-color: rgba(0,0,0,.5);
background-image: none;
height: auto;
color: #FFF;
text-shadow: none;
font-size: 0.93em;
height: 28px;
line-height: 28px;
font-weight: normal;
padding: 0 15px;
box-shadow: none;
filter: none;
}
.btn-capsule:hover {
background-color: rgba(0,0,0,.7);
}
.no-rgba .btn-capsule {
border-color: #666;
background-color: none;
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#7F000000,endColorstr=#7F000000);
zoom: 1;
}
.no-rgba .btn-capsule:hover {
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#B2000000,endColorstr=#B2000000);
}
.btn-capsule:active {
box-shadow: none;
}
.btn-capsule .btn-icon {
font-size: 0.93em;
}
/* button colors */
.btn.default {
color: #333;
border: 1px solid #CCC;
background-color: #EEE;
border-color: rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);
box-shadow: inset 0 1px 0 rgba(255,255,255,.3), 0 1px 2px rgba(0,0,0,.05);
}
.tone-dark .btn.default {
color: #CCC;
background-color: #2f2f2f;
box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 2px rgba(0,0,0,.05);
}
.btn.default:hover {
background-color: #E9E9E9;
}
.tone-dark .btn.default:hover {
background-color: #363636;
}
.btn.default.outline {
color: #00A7DA;
border-color: #00A7DA;
box-shadow: none;
}
.btn.disabled, .btn.disabled:hover {
color: #999;
background-color: #F6F6F6;
background-image: none;
box-shadow: none;
cursor: default;
}
.tone-dark .btn.disabled, .tone-dark .btn.disabled:hover {
color: #666;
background-color: #212121;
}
.btn.disabled.outline, .btn.disabled.outline:hover {
color: #BBB;
border-color: #CCC;
}
/* "plain" color (no color at all) */
.btn.plain, .btn.plain:hover {
background: none;
text-shadow: none;
border-color: transparent;
box-shadow: none;
padding: 0;
color: inherit;
}
.tone-dark .btn.plain, .tone-dark .btn.plain:hover {
background: none;
}
.btn.plain:active {
box-shadow: none;
}
.btn.active {
background-image: none;
background-color: #00A7DA;
border-color: #00A7DA;
filter: none;
}
.btn.grey, .btn.grey.off:hover {
border-color: #EEE;
background-color: #EEE;
}
.btn.grey:hover {
background-color: #E9E9E9;
}
.btn.grey.outline {
color: #EEE;
}
.btn.orange, .btn.orange.off:hover {
border-color: #FE771D;
background-color: #FE771D;
}
.btn.orange:hover {
background-color: #FE6B0A;
}
.btn.orange.outline {
color: #FE771D;
}
.btn.blue, .btn.blue.off:hover {
border-color: #2A80B9;
background-color: #2A80B9;
}
.btn.blue:hover {
background-color: #2879B0;
}
.btn.blue.outline {
color: #2A80B9;
}
.btn.green, .btn.green.off:hover {
border-color: #27AE61;
background-color: #27AE61;
}
.btn.green:hover {
background-color: #25A55C;
}
.btn.green.outline {
color: #27AE61;
}
.btn.red, .btn.red.off:hover {
border-color: #E84C3D;
background-color: #E84C3D;
}
.btn.red:hover {
background-color: #DC483A;
}
.btn.red.outline {
color: #E84C3D;
}
.btn.white, .btn.white.off:hover {
border-color: #FFF;
background-color: #FFF;
}
.btn.white:hover {
background-color: #FFF;
}
.btn.white.outline {
color: #FFF;
}
.btn.black, .btn.black.off:hover {
border-color: #3A3A3A;
background-color: #3A3A3A;
}
.btn.black:hover {
background-color: #343434;
}
.btn.black.outline {
color: #3A3A3A;
}
.btn.active, .btn.orange, .btn.blue, .btn.green, .btn.red, .btn.black {
color: #FFF;
border: 1px solid transparent;
}
.btn.grey, .btn.white {
color: #333;
}
.btn.off {
cursor: default;
}
.btn.off:active {
box-shadow: none;
}
/* Social networks buttons */
/* hover are usually .95 */
.btn-social {
color: #FFF;
background-image: none;
box-shadow: none;
border: 1px solid transparent;
}
.btn-social, .btn-social:hover {
text-decoration: none;
text-shadow: none;
background: #333;
}
.btn-twitter, .link-twitter span {
background: #00ACEE;
}
.btn-twitter:hover, .link-twitter:hover span {
background: #02A5E3;
}
.btn-facebook, .link-facebook span {
background: #3C5998;
}
.btn-facebook:hover, .link-facebook:hover span {
background: #374F8A;
}
.btn-google, .link-google span,
.btn-google-plus, .link-google-plus span {
background: #D74836;
}
.btn-google:hover, .link-google:hover span,
.btn-google-plus:hover, .link-google-plus:hover span {
background: #CD3C2A;
}
.btn-mail {
background: #CCC;
color: #333;
}
.btn-mail span {
color: #333;
}
.btn-mail:hover {
background: #BBB;
}
.btn-tumblr {
background: #39536C;
}
.btn-tumblr:hover {
background: #2C4762;
}
.btn-pinterest {
background: #CB2027;
}
.btn-pinterest:hover {
background: #B61A21;
}
.btn-stumbleupon {
background: #EA4B24;
}
.btn-stumbleupon:hover {
background: #DF421F;
}
.btn-blogger {
background: #F5821F;
}
.btn-blogger:hover {
background: #E97B1D;
}
.btn-reddit {
background: #CEE3F8;
}
.btn-reddit:hover {
background: #C0DBF5;
}
.btn-reddit .btn-icon {
color: #333;
}
.btn-vk, .link-vk span {
background: #587EA3;
}
.btn-vk:hover, .link-vk:hover span {
background: #4E6F93;
}
/* Outlines */
.btn.outline, .btn.outline:hover {
background: none;
border: 1px solid;
box-shadow: none;
}

@ -0,0 +1,384 @@
/*
Theme Name: Zeon Secret Uploader - Additional
Theme URL: http://zxicar.us/
Version: 0.1
Author: Yandols Z'eon X
*/
/*
* BUTTONS
* ---------------------------------------------
*/
.btn-container {
margin-top: 20px;
margin-bottom: 20px;
position: relative;
}
.phone .btn-container {
text-align: center;
}
.btn {
height: 36px;
line-height: 36px;
font-family: inherit;
font-size: 1em;
font-weight: normal;
padding: 0 10px;
border-radius: 3px;
cursor: pointer;
display: inline-block;
text-decoration: none;
}
.btn, .btn:hover, .btn:active, .btn:focus {
text-decoration: none;
}
.btn:active, .btn.default:active {
box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}
.tone-dark .btn:active, .tone-dark .btn.default:active {
box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.2);
}
/* Button contents */
.btn-icon {
font-size: 14px;
width: 14px;
display: inline-block;
}
.btn-text {
margin-left: 4px;
}
/* button sizes */
.btn-big {
font-size: 16px;
font-size: 1.143rem;
height: 38px;
line-height: 38px;
padding-left: 1em;
padding-right: 1em;
}
.btn-small {
height: 30px;
line-height: 30px;
padding-left: 15px;
padding-right: 15px;
font-size: 0.92em;
}
.btn-input {
font-weight: 600;
font-size: 0.93em;
padding-left: 20px;
padding-right: 20px;
}
.btn-32 {
width: 32px;
height: 32px;
text-align: center;
display: inline-block;
}
.btn-32 .btn-icon {
width: 18px;
height: 18px;
font-size: 18px;
margin-top: 7px;
}
/* capsule button */
.btn-capsule {
border-radius: 100px;
border-color: rgba(255,255,255,.5);
background-color: rgba(0,0,0,.5);
background-image: none;
height: auto;
color: #FFF;
text-shadow: none;
font-size: 0.93em;
height: 28px;
line-height: 28px;
font-weight: normal;
padding: 0 15px;
box-shadow: none;
filter: none;
}
.btn-capsule:hover {
background-color: rgba(0,0,0,.7);
}
.no-rgba .btn-capsule {
border-color: #666;
background-color: none;
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#7F000000,endColorstr=#7F000000);
zoom: 1;
}
.no-rgba .btn-capsule:hover {
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#B2000000,endColorstr=#B2000000);
}
.btn-capsule:active {
box-shadow: none;
}
.btn-capsule .btn-icon {
font-size: 0.93em;
}
/* button colors */
.btn.default {
color: #333;
border: 1px solid #CCC;
background-color: #EEE;
border-color: rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);
box-shadow: inset 0 1px 0 rgba(255,255,255,.3), 0 1px 2px rgba(0,0,0,.05);
}
.tone-dark .btn.default {
color: #CCC;
background-color: #2f2f2f;
box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 2px rgba(0,0,0,.05);
}
.btn.default:hover {
background-color: #E9E9E9;
}
.tone-dark .btn.default:hover {
background-color: #363636;
}
.btn.default.outline {
color: #00A7DA;
border-color: #00A7DA;
box-shadow: none;
}
.btn.disabled, .btn.disabled:hover {
color: #999;
background-color: #F6F6F6;
background-image: none;
box-shadow: none;
cursor: default;
}
.tone-dark .btn.disabled, .tone-dark .btn.disabled:hover {
color: #666;
background-color: #212121;
}
.btn.disabled.outline, .btn.disabled.outline:hover {
color: #BBB;
border-color: #CCC;
}
/* "plain" color (no color at all) */
.btn.plain, .btn.plain:hover {
background: none;
text-shadow: none;
border-color: transparent;
box-shadow: none;
padding: 0;
color: inherit;
}
.tone-dark .btn.plain, .tone-dark .btn.plain:hover {
background: none;
}
.btn.plain:active {
box-shadow: none;
}
.btn.active {
background-image: none;
background-color: #00A7DA;
border-color: #00A7DA;
filter: none;
}
.btn.grey, .btn.grey.off:hover {
border-color: #EEE;
background-color: #EEE;
}
.btn.grey:hover {
background-color: #E9E9E9;
}
.btn.grey.outline {
color: #EEE;
}
.btn.orange, .btn.orange.off:hover {
border-color: #FE771D;
background-color: #FE771D;
}
.btn.orange:hover {
background-color: #FE6B0A;
}
.btn.orange.outline {
color: #FE771D;
}
.btn.blue, .btn.blue.off:hover {
border-color: #2A80B9;
background-color: #2A80B9;
}
.btn.blue:hover {
background-color: #2879B0;
}
.btn.blue.outline {
color: #2A80B9;
}
.btn.green, .btn.green.off:hover {
border-color: #27AE61;
background-color: #27AE61;
}
.btn.green:hover {
background-color: #25A55C;
}
.btn.green.outline {
color: #27AE61;
}
.btn.red, .btn.red.off:hover {
border-color: #E84C3D;
background-color: #E84C3D;
}
.btn.red:hover {
background-color: #DC483A;
}
.btn.red.outline {
color: #E84C3D;
}
.btn.white, .btn.white.off:hover {
border-color: #FFF;
background-color: #FFF;
}
.btn.white:hover {
background-color: #FFF;
}
.btn.white.outline {
color: #FFF;
}
.btn.black, .btn.black.off:hover {
border-color: #3A3A3A;
background-color: #3A3A3A;
}
.btn.black:hover {
background-color: #343434;
}
.btn.black.outline {
color: #3A3A3A;
}
.btn.active, .btn.orange, .btn.blue, .btn.green, .btn.red, .btn.black {
color: #FFF;
border: 1px solid transparent;
}
.btn.grey, .btn.white {
color: #333;
}
.btn.off {
cursor: default;
}
.btn.off:active {
box-shadow: none;
}
/* Social networks buttons */
/* hover are usually .95 */
.btn-social {
color: #FFF;
background-image: none;
box-shadow: none;
border: 1px solid transparent;
}
.btn-social, .btn-social:hover {
text-decoration: none;
text-shadow: none;
background: #333;
}
.btn-twitter, .link-twitter span {
background: #00ACEE;
}
.btn-twitter:hover, .link-twitter:hover span {
background: #02A5E3;
}
.btn-facebook, .link-facebook span {
background: #3C5998;
}
.btn-facebook:hover, .link-facebook:hover span {
background: #374F8A;
}
.btn-google, .link-google span,
.btn-google-plus, .link-google-plus span {
background: #D74836;
}
.btn-google:hover, .link-google:hover span,
.btn-google-plus:hover, .link-google-plus:hover span {
background: #CD3C2A;
}
.btn-mail {
background: #CCC;
color: #333;
}
.btn-mail span {
color: #333;
}
.btn-mail:hover {
background: #BBB;
}
.btn-tumblr {
background: #39536C;
}
.btn-tumblr:hover {
background: #2C4762;
}
.btn-pinterest {
background: #CB2027;
}
.btn-pinterest:hover {
background: #B61A21;
}
.btn-stumbleupon {
background: #EA4B24;
}
.btn-stumbleupon:hover {
background: #DF421F;
}
.btn-blogger {
background: #F5821F;
}
.btn-blogger:hover {
background: #E97B1D;
}
.btn-reddit {
background: #CEE3F8;
}
.btn-reddit:hover {
background: #C0DBF5;
}
.btn-reddit .btn-icon {
color: #333;
}
.btn-vk, .link-vk span {
background: #587EA3;
}
.btn-vk:hover, .link-vk:hover span {
background: #4E6F93;
}
/* Outlines */
.btn.outline, .btn.outline:hover {
background: none;
border: 1px solid;
box-shadow: none;
}

@ -0,0 +1,24 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<svg xmlns="http://www.w3.org/2000/svg">
<metadata>
This is a custom SVG font generated by IcoMoon.
<iconset grid="14"></iconset>
</metadata>
<defs>
<font id="codropsicons" horiz-adv-x="448" >
<font-face units-per-em="448" ascent="384" descent="-64" />
<missing-glyph horiz-adv-x="448" />
<glyph unicode="&#xe001;" d="M 221.657,359.485 ,m0.00,0.00,c 0.00,0.00 -132.984-182.838 -132.205-286.236 0.515-68.522 61.089-123.688 135.314-123.218 74.202,0.479 133.943,56.421 133.428,124.943 C 357.414,178.368 221.657,359.485 221.657,359.485 z" />
<glyph unicode="&#xe004;" d="M 384.00,160.00l0.00-32.00 q0.00-13.25 -8.125-22.625t-21.125-9.375l-176.00,0.00 l 73.25-73.50q 9.50-9.00 9.50-22.50t-9.50-22.50l-18.75-19.00q-9.25-9.25 -22.50-9.25q-13.00,0.00 -22.75,9.25l-162.75,163.00q-9.25,9.25 -9.25,22.50q0.00,13.00 9.25,22.75l 162.75,162.50q 9.50,9.50 22.75,9.50q 13.00,0.00 22.50-9.50l 18.75-18.50q 9.50-9.50 9.50-22.75t-9.50-22.75l-73.25-73.25l 176.00,0.00 q 13.00,0.00 21.125-9.375 t 8.125-22.625z" horiz-adv-x="384" />
<glyph unicode="&#xe002;" d="M 407.273-23.273c0.00,0.00-325.818,0.00-366.545,0.00s-40.727,40.727-40.727,40.727l0.00,142.545 l 101.818,183.273l 244.364,0.00 l 101.818-183.273c0.00,0.00,0.00-101.818,0.00-142.545S 407.273-23.273, 407.273-23.273z M 325.818,302.545L 122.182,302.545
l-71.273-142.545L 142.545,160.00 c0.00,0.00, 40.727,0.00, 40.727-40.727l0.00-20.364 l 81.455,0.00 l0.00,20.364 c0.00,0.00,0.00,40.727, 40.727,40.727l 91.636,0.00 L 325.818,302.545z M 407.273,119.273l-96.911,0.00 C 307.532,113.917, 305.455,107.503, 305.455,98.909c0.00-40.727-40.727-40.727-40.727-40.727L 183.273,58.182 c0.00,0.00-40.727,0.00-40.727,40.727
c0.00,8.593-2.077,15.008-4.908,20.364L 40.727,119.273 l0.00-101.818 l 366.545,0.00 L 407.273,119.273 z M 132.364,221.091l 183.273,0.00 L 325.818,200.727L 122.182,200.727 L 132.364,221.091z M 152.727,261.818l 142.545,0.00 L 305.455,241.455L 142.545,241.455 L 152.727,261.818z" />
<glyph unicode="&#xe000;" d="M 368.00,144.00q0.00-13.50 -9.25-22.75l-162.75-162.75q-9.75-9.25 -22.75-9.25q-12.75,0.00 -22.50,9.25l-18.75,18.75q-9.50,9.50 -9.50,22.75t 9.50,22.75l 73.25,73.25l-176.00,0.00 q-13.00,0.00 -21.125,9.375t-8.125,22.625l0.00,32.00 q0.00,13.25 8.125,22.625t 21.125,9.375l 176.00,0.00 l-73.25,73.50q-9.50,9.00 -9.50,22.50t 9.50,22.50l 18.75,18.75q 9.50,9.50 22.50,9.50q 13.25,0.00 22.75-9.50l 162.75-162.75q 9.25-8.75 9.25-22.50z" horiz-adv-x="384" />
<glyph unicode="&#xe003;" d="M 224.00-64.00C 100.291-64.00,0.00,36.291,0.00,160.00S 100.291,384.00, 224.00,384.00s 224.00-100.291, 224.00-224.00S 347.709-64.00, 224.00-64.00z
M 224.00,343.273c-101.228,0.00-183.273-82.045-183.273-183.273s 82.045-183.273, 183.273-183.273s 183.273,82.045, 183.273,183.273S 325.228,343.273, 224.00,343.273z M 244.364,122.164C 244.364,111.005, 244.364,98.909, 244.364,98.909l-40.727,0.00 c0.00,0.00,0.00,29.466,0.00,40.727
s 9.123,20.364, 20.364,20.364l0.00,0.00c 22.481,0.00, 40.727,18.246, 40.727,40.727s-18.246,40.727-40.727,40.727S 183.273,223.209, 183.273,200.727c0.00-7.453, 2.138-14.356, 5.641-20.364L 145.437,180.364 C 143.727,186.90, 142.545,193.661, 142.545,200.727
c0.00,44.983, 36.471,81.455, 81.455,81.455s 81.455-36.471, 81.455-81.455C 305.455,162.831, 279.45,131.247, 244.364,122.164z M 244.364,37.818l-40.727,0.00 l0.00,40.727 l 40.727,0.00 L 244.364,37.818 z" />
<glyph unicode="&#x20;" horiz-adv-x="224" />
<glyph class="hidden" unicode="&#xf000;" d="M0,384L 448 -64L0 -64 z" horiz-adv-x="0" />
</font></defs></svg>

After

Width:  |  Height:  |  Size: 3.5 KiB

@ -0,0 +1,6 @@
Icon Set: Font Awesome -- http://fortawesome.github.com/Font-Awesome/
License: SIL -- http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=OFL
Icon Set: Eco Ico -- http://dribbble.com/shots/665585-Eco-Ico
License: CC0 -- http://creativecommons.org/publicdomain/zero/1.0/

@ -0,0 +1,250 @@
.js .inputfile {
width: 0.1px;
height: 0.1px;
opacity: 0;
overflow: hidden;
position: absolute;
z-index: -1;
}
.inputfile + label {
max-width: 80%;
font-size: 1.25rem;
/* 20px */
font-weight: 700;
text-overflow: ellipsis;
white-space: nowrap;
cursor: pointer;
display: inline-block;
overflow: hidden;
padding: 0.625rem 1.25rem;
/* 10px 20px */
}
.no-js .inputfile + label {
display: none;
}
.inputfile:focus + label,
.inputfile.has-focus + label {
outline: 1px dotted #000;
outline: -webkit-focus-ring-color auto 5px;
}
.inputfile + label * {
/* pointer-events: none; */
/* in case of FastClick lib use */
}
.inputfile + label svg {
width: 1em;
height: 1em;
vertical-align: middle;
fill: currentColor;
margin-top: -0.25em;
/* 4px */
margin-right: 0.25em;
/* 4px */
}
/* style 1 */
.inputfile-1 + label {
color: #f1e5e6;
background-color: #d3394c;
}
.inputfile-1:focus + label,
.inputfile-1.has-focus + label,
.inputfile-1 + label:hover {
background-color: #722040;
}
/* style 2 */
.inputfile-2 + label {
color: #d3394c;
border: 2px solid currentColor;
}
.inputfile-2:focus + label,
.inputfile-2.has-focus + label,
.inputfile-2 + label:hover {
color: #722040;
}
.inputfileToUpload + label {
color: #d3394c;
border: 2px solid currentColor;
}
.inputfileToUpload:focus + label,
.inputfileToUpload.has-focus + label,
.inputfileToUpload + label:hover {
color: #722040;
}
/* style 3 */
.inputfile-3 + label {
color: #d3394c;
}
.inputfile-3:focus + label,
.inputfile-3.has-focus + label,
.inputfile-3 + label:hover {
color: #722040;
}
/* style 4 */
.inputfile-4 + label {
color: #d3394c;
}
.inputfile-4:focus + label,
.inputfile-4.has-focus + label,
.inputfile-4 + label:hover {
color: #722040;
}
.inputfile-4 + label figure {
width: 100px;
height: 100px;
border-radius: 50%;
background-color: #d3394c;
display: block;
padding: 20px;
margin: 0 auto 10px;
}
.inputfile-4:focus + label figure,
.inputfile-4.has-focus + label figure,
.inputfile-4 + label:hover figure {
background-color: #722040;
}
.inputfile-4 + label svg {
width: 100%;
height: 100%;
fill: #f1e5e6;
}
/* style 5 */
.inputfile-5 + label {
color: #d3394c;
}
.inputfile-5:focus + label,
.inputfile-5.has-focus + label,
.inputfile-5 + label:hover {
color: #722040;
}
.inputfile-5 + label figure {
width: 100px;
height: 135px;
background-color: #d3394c;
display: block;
position: relative;
padding: 30px;
margin: 0 auto 10px;
}
.inputfile-5:focus + label figure,
.inputfile-5.has-focus + label figure,
.inputfile-5 + label:hover figure {
background-color: #722040;
}
.inputfile-5 + label figure::before,
.inputfile-5 + label figure::after {
width: 0;
height: 0;
content: '';
position: absolute;
top: 0;
right: 0;
}
.inputfile-5 + label figure::before {
border-top: 20px solid #dfc8ca;
border-left: 20px solid transparent;
}
.inputfile-5 + label figure::after {
border-bottom: 20px solid #722040;
border-right: 20px solid transparent;
}
.inputfile-5:focus + label figure::after,
.inputfile-5.has-focus + label figure::after,
.inputfile-5 + label:hover figure::after {
border-bottom-color: #d3394c;
}
.inputfile-5 + label svg {
width: 100%;
height: 100%;
fill: #f1e5e6;
}
/* style 6 */
.inputfile-6 + label {
color: #d3394c;
}
.inputfile-6 + label {
border: 1px solid #d3394c;
background-color: #f1e5e6;
padding: 0;
}
.inputfile-6:focus + label,
.inputfile-6.has-focus + label,
.inputfile-6 + label:hover {
border-color: #722040;
}
.inputfile-6 + label span,
.inputfile-6 + label strong {
padding: 0.625rem 1.25rem;
/* 10px 20px */
}
.inputfile-6 + label span {
width: 200px;
min-height: 2em;
display: inline-block;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
vertical-align: top;
}
.inputfile-6 + label strong {
height: 100%;
color: #f1e5e6;
background-color: #d3394c;
display: inline-block;
}
.inputfile-6:focus + label strong,
.inputfile-6.has-focus + label strong,
.inputfile-6 + label:hover strong {
background-color: #722040;
}
@media screen and (max-width: 50em) {
.inputfile-6 + label strong {
display: block;
}
}

@ -0,0 +1,250 @@
.js .inputfile {
width: 0.1px;
height: 0.1px;
opacity: 0;
overflow: hidden;
position: absolute;
z-index: -1;
}
.inputfile + label {
max-width: 80%;
font-size: 1.25rem;
/* 20px */
font-weight: 700;
text-overflow: ellipsis;
white-space: nowrap;
cursor: pointer;
display: inline-block;
overflow: hidden;
padding: 0.625rem 1.25rem;
/* 10px 20px */
}
.no-js .inputfile + label {
display: none;
}
.inputfile:focus + label,
.inputfile.has-focus + label {
outline: 1px dotted #000;
outline: -webkit-focus-ring-color auto 5px;
}
.inputfile + label * {
/* pointer-events: none; */
/* in case of FastClick lib use */
}
.inputfile + label svg {
width: 1em;
height: 1em;
vertical-align: middle;
fill: currentColor;
margin-top: -0.25em;
/* 4px */
margin-right: 0.25em;
/* 4px */
}
/* style 1 */
.inputfile-1 + label {
color: #cccccc;
background-color: #722040;
}
.inputfile-1:focus + label,
.inputfile-1.has-focus + label,
.inputfile-1 + label:hover {
background-color: #7b1968;
}
/* style 2 */
.inputfile-2 + label {
color: #d3394c;
border: 2px solid currentColor;
}
.inputfile-2:focus + label,
.inputfile-2.has-focus + label,
.inputfile-2 + label:hover {
color: #722040;
}
.inputfileToUpload + label {
color: #d3394c;
border: 2px solid currentColor;
}
.inputfileToUpload:focus + label,
.inputfileToUpload.has-focus + label,
.inputfileToUpload + label:hover {
color: #722040;
}
/* style 3 */
.inputfile-3 + label {
color: #d3394c;
}
.inputfile-3:focus + label,
.inputfile-3.has-focus + label,
.inputfile-3 + label:hover {
color: #722040;
}
/* style 4 */
.inputfile-4 + label {
color: #d3394c;
}
.inputfile-4:focus + label,
.inputfile-4.has-focus + label,
.inputfile-4 + label:hover {
color: #722040;
}
.inputfile-4 + label figure {
width: 100px;
height: 100px;
border-radius: 50%;
background-color: #d3394c;
display: block;
padding: 20px;
margin: 0 auto 10px;
}
.inputfile-4:focus + label figure,
.inputfile-4.has-focus + label figure,
.inputfile-4 + label:hover figure {
background-color: #722040;
}
.inputfile-4 + label svg {
width: 100%;
height: 100%;
fill: #f1e5e6;
}
/* style 5 */
.inputfile-5 + label {
color: #d3394c;
}
.inputfile-5:focus + label,
.inputfile-5.has-focus + label,
.inputfile-5 + label:hover {
color: #722040;
}
.inputfile-5 + label figure {
width: 100px;
height: 135px;
background-color: #d3394c;
display: block;
position: relative;
padding: 30px;
margin: 0 auto 10px;
}
.inputfile-5:focus + label figure,
.inputfile-5.has-focus + label figure,
.inputfile-5 + label:hover figure {
background-color: #722040;
}
.inputfile-5 + label figure::before,
.inputfile-5 + label figure::after {
width: 0;
height: 0;
content: '';
position: absolute;
top: 0;
right: 0;
}
.inputfile-5 + label figure::before {
border-top: 20px solid #dfc8ca;
border-left: 20px solid transparent;
}
.inputfile-5 + label figure::after {
border-bottom: 20px solid #722040;
border-right: 20px solid transparent;
}
.inputfile-5:focus + label figure::after,
.inputfile-5.has-focus + label figure::after,
.inputfile-5 + label:hover figure::after {
border-bottom-color: #d3394c;
}
.inputfile-5 + label svg {
width: 100%;
height: 100%;
fill: #f1e5e6;
}
/* style 6 */
.inputfile-6 + label {
color: #cccccc;
}
.inputfile-6 + label {
border: 1px solid #93394c;
background-color: #722040;
padding: 0;
}
.inputfile-6:focus + label,
.inputfile-6.has-focus + label,
.inputfile-6 + label:hover {
border-color: #823050;
}
.inputfile-6 + label span,
.inputfile-6 + label strong {
padding: 0.625rem 1.25rem;
/* 10px 20px */
}
.inputfile-6 + label span {
width: 200px;
min-height: 2em;
display: inline-block;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
vertical-align: top;
}
.inputfile-6 + label strong {
height: 100%;
color: #f1e5e6;
background-color: #d3394c;
display: inline-block;
}
.inputfile-6:focus + label strong,
.inputfile-6.has-focus + label strong,
.inputfile-6 + label:hover strong {
background-color: #722040;
}
@media screen and (max-width: 50em) {
.inputfile-6 + label strong {
display: block;
}
}

@ -0,0 +1,34 @@
/*
By Osvaldas Valutis, www.osvaldas.info
Available for use under the MIT License
*/
'use strict';
;( function ( document, window, index )
{
var inputs = document.querySelectorAll( '.inputfile' );
Array.prototype.forEach.call( inputs, function( input )
{
var label = input.nextElementSibling,
labelVal = label.innerHTML;
input.addEventListener( 'change', function( e )
{
var fileName = '';
if( this.files && this.files.length > 1 )
fileName = ( this.getAttribute( 'data-multiple-caption' ) || '' ).replace( '{count}', this.files.length );
else
fileName = e.target.value.split( '\\' ).pop();
if( fileName )
label.querySelector( 'span' ).innerHTML = fileName;
else
label.innerHTML = labelVal;
});
// Firefox bug fix
input.addEventListener( 'focus', function(){ input.classList.add( 'has-focus' ); });
input.addEventListener( 'blur', function(){ input.classList.remove( 'has-focus' ); });
});
}( document, window, 0 ));

@ -0,0 +1,226 @@
/*
Theme: Codrops Red Demo
Author: Codrops
*/
@font-face {
font-weight: normal;
font-style: normal;
font-family: 'codropsicons';
src: url('./codropsicons/codropsicons.eot');
src: url('./codropsicons/codropsicons.eot?#iefix') format('embedded-opentype'), url('../fonts/codropsicons/codropsicons.woff') format('woff'), url('../fonts/codropsicons/codropsicons.ttf') format('truetype'), url('../fonts/codropsicons/codropsicons.svg#codropsicons') format('svg');
}
*,
*:after,
*:before {
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
.clearfix:before,
.clearfix:after {
display: table;
content: '';
}
.clearfix:after {
clear: both;
}
body {
font-family: Avenir, 'Helvetica Neue', 'Lato', 'Segoe UI', Helvetica, Arial, sans-serif;
color: #4b0f31;
background-color: #f1e5e6;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
a {
outline: none;
color: #d3394c;
text-decoration: none;
}
a:hover,
a:focus {
color: #722040;
}
.hidden {
position: absolute;
overflow: hidden;
width: 0;
height: 0;
pointer-events: none;
}
/* Header */
.codrops-header {
padding: 2em 1em 3em;
text-align: center;
}
.codrops-header h1 {
margin: 0.5em 0 0;
letter-spacing: -1px;
font-size: 3em;
line-height: 1;
}
.codrops-header h1 span {
display: block;
padding: 0.5em 0 1em;
color: #999;
font-weight: normal;
font-size: 0.45em;
}
/* Top Navigation Style */
.codrops-links {
position: relative;
display: inline-block;
text-align: center;
white-space: nowrap;
}
.codrops-links::after {
position: absolute;
top: 0;
left: 50%;
width: 1px;
height: 100%;
background: rgba(0, 0, 0, 0.1);
content: '';
-webkit-transform: rotate3d(0, 0, 1, 22.5deg);
transform: rotate3d(0, 0, 1, 22.5deg);
}
.codrops-icon {
display: inline-block;
margin: 0.5em;
padding: 0em 0;
width: 1.5em;
text-decoration: none;
}
.codrops-icon span {
display: none;
}
.codrops-icon:before {
margin: 0 5px;
text-transform: none;
font-weight: normal;
font-style: normal;
font-variant: normal;
font-family: 'codropsicons';
line-height: 1;
speak: none;
-webkit-font-smoothing: antialiased;
}
.codrops-icon--drop:before {
content: "\e001";
}
.codrops-icon--prev:before {
content: "\e004";
}
/* Demo links */
.codrops-demos {
margin: 2em 0 0;
}
.codrops-demos a {
display: inline-block;
margin: 0 0.5em;
}
.codrops-demos a.current-demo {
color: #333;
}
/* Content */
.content {
width: 100%;
max-width: 800px;
text-align: center;
margin: 0 auto;
padding: 0 0 2em 0;
}
.content footer {
color: #b39295;
margin-top: 40px;
}
.content footer a:hover,
.content footer a:focus {
color: #4b0f31;
}
.box {
background-color: #dfc8ca;
padding: 4.25rem 1.25rem;
}
.box + .box {
margin-top: 2.5rem;
}
/* Related demos */
.content--related {
text-align: center;
font-weight: bold;
padding-top: 4em;
}
.media-item {
display: inline-block;
padding: 1em;
vertical-align: top;
-webkit-transition: color 0.3s;
transition: color 0.3s;
}
.media-item__img {
max-width: 100%;
opacity: 0.6;
-webkit-transition: opacity 0.3s;
transition: opacity 0.3s;
}
.media-item:hover .media-item__img,
.media-item:focus .media-item__img {
opacity: 1;
}
.media-item__title {
margin: 0;
padding: 0.5em;
font-size: 1em;
}
@media screen and (max-width: 50em) {
.codrops-header {
padding: 3em 10% 4em;
}
}
@media screen and (max-width: 40em) {
.codrops-header h1 {
font-size: 2.8em;
}
}

@ -0,0 +1,221 @@
@font-face {
font-weight: normal;
font-style: normal;
font-family: 'codropsicons';
src: url('./codropsicons/codropsicons.eot');
src: url('./codropsicons/codropsicons.eot?#iefix') format('embedded-opentype'), url('../codropsicons/codropsicons.woff') format('woff'), url('../codropsicons/codropsicons.ttf') format('truetype'), url('../codropsicons/codropsicons.svg#codropsicons') format('svg');
}
*,
*:after,
*:before {
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
.clearfix:before,
.clearfix:after {
display: table;
content: '';
}
.clearfix:after {
clear: both;
}
body {
font-family: Avenir, 'Helvetica Neue', 'Lato', 'Segoe UI', Helvetica, Arial, sans-serif;
color: #777777;
background-color: #4b0f31;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
a {
outline: none;
color: #722040;
text-decoration: none;
}
a:hover,
a:focus {
color: #7b1968;
}
.hidden {
position: absolute;
overflow: hidden;
width: 0;
height: 0;
pointer-events: none;
}
/* Header */
.codrops-header {
padding: 2em 1em 3em;
text-align: center;
}
.codrops-header h1 {
margin: 0.5em 0 0;
letter-spacing: -1px;
font-size: 3em;
line-height: 1;
}
.codrops-header h1 span {
display: block;
padding: 0.5em 0 1em;
color: #999;
font-weight: normal;
font-size: 0.45em;
}
/* Top Navigation Style */
.codrops-links {
position: relative;
display: inline-block;
text-align: center;
white-space: nowrap;
}
.codrops-links::after {
position: absolute;
top: 0;
left: 50%;
width: 1px;
height: 100%;
background: rgba(0, 0, 0, 0.1);
content: '';
-webkit-transform: rotate3d(0, 0, 1, 22.5deg);
transform: rotate3d(0, 0, 1, 22.5deg);
}
.codrops-icon {
display: inline-block;
margin: 0.5em;
padding: 0em 0;
width: 1.5em;
text-decoration: none;
}
.codrops-icon span {
display: none;
}
.codrops-icon:before {
margin: 0 5px;
text-transform: none;
font-weight: normal;
font-style: normal;
font-variant: normal;
font-family: 'codropsicons';
line-height: 1;
speak: none;
-webkit-font-smoothing: antialiased;
}
.codrops-icon--drop:before {
content: "\e001";
}
.codrops-icon--prev:before {
content: "\e004";
}
/* Demo links */
.codrops-demos {
margin: 2em 0 0;
}
.codrops-demos a {
display: inline-block;
margin: 0 0.5em;
}
.codrops-demos a.current-demo {
color: #333;
}
/* Content */
.content {
width: 100%;
max-width: 800px;
text-align: center;
margin: 0 auto;
padding: 0 0 2em 0;
}
.content footer {
color: #b39295;
margin-top: 40px;
}
.content footer a:hover,
.content footer a:focus {
color: #4b0f31;
}
.box {
background-color: #3b0c32;
padding: 3.25rem 1.25rem;
}
.box + .box {
margin-top: 2.5rem;
}
/* Related demos */
.content--related {
text-align: center;
font-weight: bold;
padding-top: 4em;
}
.media-item {
display: inline-block;
padding: 1em;
vertical-align: top;
-webkit-transition: color 0.3s;
transition: color 0.3s;
}
.media-item__img {
max-width: 100%;
opacity: 0.6;
-webkit-transition: opacity 0.3s;
transition: opacity 0.3s;
}
.media-item:hover .media-item__img,
.media-item:focus .media-item__img {
opacity: 1;
}
.media-item__title {
margin: 0;
padding: 0.5em;
font-size: 1em;
}
@media screen and (max-width: 50em) {
.codrops-header {
padding: 3em 10% 4em;
}
}
@media screen and (max-width: 40em) {
.codrops-header h1 {
font-size: 2.8em;
}
}

File diff suppressed because one or more lines are too long

@ -0,0 +1,36 @@
/*
By Osvaldas Valutis, www.osvaldas.info
Available for use under the MIT License
*/
'use strict';
;( function( $, window, document, undefined )
{
$( '.inputfile' ).each( function()
{
var $input = $( this ),
$label = $input.next( 'label' ),
labelVal = $label.html();
$input.on( 'change', function( e )
{
var fileName = '';
if( this.files && this.files.length > 1 )
fileName = ( this.getAttribute( 'data-multiple-caption' ) || '' ).replace( '{count}', this.files.length );
else if( e.target.value )
fileName = e.target.value.split( '\\' ).pop();
if( fileName )
$label.find( 'span' ).html( fileName );
else
$label.html( labelVal );
});
// Firefox bug fix
$input
.on( 'focus', function(){ $input.addClass( 'has-focus' ); })
.on( 'blur', function(){ $input.removeClass( 'has-focus' ); });
});
})( jQuery, window, document );

@ -0,0 +1 @@
article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block;}audio,canvas,video{display:inline-block;}audio:not([controls]){display:none;height:0;}[hidden]{display:none;}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;}body{margin:0;}a:focus{outline:thin dotted;}a:active,a:hover{outline:0;}h1{font-size:2em;margin:0.67em 0;}abbr[title]{border-bottom:1px dotted;}b,strong{font-weight:bold;}dfn{font-style:italic;}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0;}mark{background:#ff0;color:#000;}code,kbd,pre,samp{font-family:monospace,serif;font-size:1em;}pre{white-space:pre-wrap;}q{quotes:"\201C" "\201D" "\2018" "\2019";}small{font-size:80%;}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline;}sup{top:-0.5em;}sub{bottom:-0.25em;}img{border:0;}svg:not(:root){overflow:hidden;}figure{margin:0;}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em;}legend{border:0;padding:0;}button,input,select,textarea{font-family:inherit;font-size:100%;margin:0;}button,input{line-height:normal;}button,select{text-transform:none;}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer;}button[disabled],html input[disabled]{cursor:default;}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0;}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none;}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0;}textarea{overflow:auto;vertical-align:top;}table{border-collapse:collapse;border-spacing:0;}

@ -0,0 +1,118 @@
<!DOCTYPE html>
<html lang="en" class="no-js">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="theme-color" content="#ff89c9">
<title>Terms of Service and Privacy Policy - Icarus Imeji Uploader</title>
<link rel="shortcut icon" href="../favicon.ico">
<link rel="icon" type="image/png" href="../favicon-32x32.png" sizes="32x32" />
<link rel="icon" type="image/png" href="../favicon-16x16.png" sizes="16x16" />
<link rel="apple-touch-icon-precomposed" sizes="57x57" href="../apple-touch-icon-57x57.png" />
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="../apple-touch-icon-114x114.png" />
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="../apple-touch-icon-72x72.png" />
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="../apple-touch-icon-144x144.png" />
<link rel="apple-touch-icon-precomposed" sizes="120x120" href="../apple-touch-icon-120x120.png" />
<link rel="apple-touch-icon-precomposed" sizes="152x152" href="../apple-touch-icon-152x152.png" />
<meta name="application-name" content="I.C.A.R.U.S."/>
<meta name="msapplication-TileColor" content="#FFFFFF" />
<meta name="msapplication-TileImage" content="../mstile-144x144.png" />
<link rel="stylesheet" type="text/css" href="styler/normalize.css" />
<link rel="stylesheet" type="text/css" href="styler/demo.css" />
<link rel="stylesheet" type="text/css" href="styler/component.css" />
<link rel="stylesheet" type="text/css" href="styler/additional.css" />
<!--[if IE]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<!-- remove this if you use Modernizr -->
<script>(function(e,t,n){var r=e.querySelectorAll("html")[0];r.className=r.className.replace(/(^|\s)no-js(\s|$)/,"$1js$2")})(document,window,0);</script>
</head>
<body>
<div class="container">
<header class="codrops-header">
<h1>I.C.A.R.U.S. Imeji Uploader</h1>
<br />
<a id="termsofservice"></a>
<h2>TERMS OF SERVICE</h2>
<h3>TL;DR VERSION</h3>
<p>You can upload images anonymously and share them online with only the people you choose to share them with.
<br />If you make them publicly available, they may be featured somewhere else.
<br />This means that if you upload an image to share with your friend, only your friend will be able to access it online.
<br />However, if you share an image with Facebook, Twitter, Reddit, etc., then it may end up in someone's gallery.</p>
<h3>FULL VERSION</h3>
<p>By uploading a file or other content, you represent and warrant to us that
<br />(1) doing so does not violate or infringe anyone else's rights;
<br />and (2) you created the file or other content you are uploading,
<br />or otherwise have sufficient intellectual property rights to upload the material consistent with these terms.
<br />With regard to any file or content you upload to the public portions of our site,
<br />you grant Imeji a non-exclusive, royalty-free, perpetual, irrevocable worldwide license (with sublicense and assignment rights) to use,
<br />to display online and in any present or future media, to create derivative works of, to allow downloads of, and/or distribute any such file or content.
<br />To the extent that you delete any such file or content from the public portions of our site,
<br />the license you grant to Imeji pursuant to the preceding sentence will automatically terminate,
<br />but will not be revoked with respect to any file or content Imeji has already copied and sublicensed or designated for sublicense.
<br />Also, of course, anything you post to a public portion of our site may be used by the public pursuant to the following paragraph even after you delete it.</p>
<h3>USE OF IMEJI CONTENT</h3>
<p>By downloading an image or copying other user-generated content (UGC) from Imeji,
<br />you agree that you do not claim any rights to it.
<br />The following conditions apply:</p>
<li>You may use UGC for personal, non-commercial purposes.</li>
<li>You may use UGC for anything that qualifies as fair use under copyright law,
<br />for example journalism (news, comment, criticism, etc.),
<br />but please include an attribute ("Imeji" or "courtesy of Imeji") next to where it is displayed.</li>
<li>You may not use UGC for non-journalistic commercial purposes.</li>
<li>Your use of UGC is at your own risk.
<br />Imeji MAKES NO WARRANTIES OF NON-INFRINGEMENT,
<br />and you will indemnify and hold Imeji harmless from any copyright infringement claims arising out of your use of the UGC.</li>
<li>You may not copy or use any portions of our site that are not UGC except within the limits of fair use.</li>
<a id="privacy"></a>
<h2>PRIVACY POLICY</h2>
<h3>INFORMATION WE COLLECT; HOW WE USE IT</h3>
<p>Automatically collected technical information:
<br />Our servers log information about each computer connecting with our site such as IP address,
<br />dates and times of each upload, device characteristics, operating system, browser type,
<br />type of connection, page and image viewing statistics, and incoming and outgoing links.
<br />We also log the metadata associated with any images you upload.
<br />None of this automatically collected technical information is associated with any identified person at the time it is collected,
<br />but it could be associated with you under these circumstances:
<br />If we are required to disclose our server logs as a result of a subpoena or other legal process,
<br />some third party such as your internet provider could match our anonymous technical information with you,
<br />using information beyond what is found on our servers.</p>
<h3>PERSONAL DATA PROTECTION</h3>
<p>Because Imeji neither requires nor requests personally-identifiable information about you,
<br />Imeji does not disclose to any third party any personally identifiable information about you.</p>
<p>Every image uploaded to Imeji - whether uploaded directly through your web browser, or uploaded via a 3rd party tool - has its own URL,
<br />and no matter what, every image can always be accessed and viewed by anyone who types in that exact URL.
<br />No image uploaded to Imeji is ever completely hidden from public view.
<br />This is mainly to ensure that Imeji, which allows anonymous postings, will not be used as a platform for illegality.</p>
<br />
<p>We may revise our terms of service and privacy policy from time to time by posting the changes here.</p>
</header>
</div><!-- /container -->
<!-- <script src="styler/custom-file-input.js"></script> -->
<!-- // If you'd like to use jQuery, check out styler/jquery.custom-file-input.js
<script src="styler/jquery-v1.min.js"></script>
<script src="styler/jquery.custom-file-input.js"></script>
-->
<div class="content">
<hr />
<footer class="content footer">
Copyright &copy; 2016 Locaria Technologies.
</footer>
</div>
</body>
</html>

@ -0,0 +1,75 @@
<?php
//Imeji Uploader Core Code -- Version 1.2a
$target_dir = "public/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$target_filenameonly = basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
// Check if image file is a actual image or fake image
if(isset($_POST["submit"])) {
$check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
if($check !== false) {
echo "File is an image - " . $check["mime"] . ".";
$uploadOk = 1;
} else {
echo "File is not an image.";
$uploadOk = 0;
header('Location: ./uploadfailed.php');
}
}
// Check if file already exists
if (file_exists($target_file)) {
echo "Sorry, file already exists.";
$uploadOk = 0;
header('Location: ./uploadfailed.php');
}
// Check file size (Currently Max 6MB)
if ($_FILES["fileToUpload"]["size"] > 6291456) {
echo "Sorry, your file is too large. (Max is 6MB)";
$uploadOk = 0;
header('Location: ./uploadfailed.php');
}
// Allow certain file formats
// Fixed uppercase rejection bug in 1.1a
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "JPG" && $imageFileType != "PNG" && $imageFileType != "JPEG"
&& $imageFileType != "gif" && $imageFileType != "svg"
&& $imageFileType != "GIF" && $imageFileType != "SVG" ) {
echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
$uploadOk = 0;
header('Location: ./uploadfailed.php');
}
// Check if $uploadOk is set to 0 by an error
if ($uploadOk == 0) {
echo "Sorry, your file could not be uploaded.";
header('Location: ./uploadfailed.php');
// if everything is ok, try to upload file
} else {
// 1.2a -- Changed some case-confusing characters such as I and O to web safe symbols.
$characters = 'abcdefghjklmnpqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ1234567890-_!$+*';
$random_string_length = 12;
$randomFilename = '';
for ($i = 0; $i < $random_string_length; $i++) {
$randomFilename .= $characters[rand(0, strlen($characters) - 1)];
}
//$newfilename = time() . '_' . rand(1000000, 9999999) . '.' . end(explode(".",$_FILES["fileToUpload"]["name"])); --prior to v0.6b
//$newfilename = time() . '_' . rand(100, 999) . '_' . rand(100000000, 999999999) . '.' . end(explode(".",$_FILES["fileToUpload"]["name"])); --prior to v0.8
$newfilename = $randomFilename . '.' . end(explode(".",$_FILES["fileToUpload"]["name"]));
$newtarget = $target_dir . $newfilename;
//if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $newtarget)) {
chmod("$newtarget", 0775); // Set read and write permissions if file
echo "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded.";
$uploaderlog = "" . date('U') . ", ". date('Y-m-d H:i:s e') . ", $_SERVER[REMOTE_ADDR], $newfilename" . ", $_SERVER[HTTP_USER_AGENT]";
//$uploaderlog = "Unix Time: " . date('U') . ", Logical Time: ". date('Y-m-d H:i:s e') . ", IP Address: $_SERVER[REMOTE_ADDR], Filename: $newfilename" . ", User Agent: $_SERVER[HTTP_USER_AGENT], Referer: $_SERVER[HTTP_REFERER]"; --simplified in v0.9e
file_put_contents('uploads.log', $uploaderlog . PHP_EOL, FILE_APPEND);
header('Location: https://i.zxicar.us/' . $newfilename);
//header('Location: http://i.zxicar.us/' . $newfilename); --switched to HTTPS as of v0.9d
//header('Location: ../imeji/' . $newtarget); --changed as of v0.7
//header('Location: http://zxicar.us/imeji/'.basename( $_FILES["fileToUpload"]["name"])); --changed as of v0.2
} else {
echo "Sorry, there was a problem uploading your file.";
header('Location: ./uploadfailed.php');
}
}
?>

@ -0,0 +1,58 @@
<?php
$target_dir = "public/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$target_filenameonly = basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
// Check if image file is a actual image or fake image
if(isset($_POST["submit"])) {
$check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
if($check !== false) {
echo "File is an image - " . $check["mime"] . ".";
$uploadOk = 1;
} else {
echo "File is not an image.";
$uploadOk = 0;
header('Location: ../imeji/uploadfailed.php');
}
}
// Check if file already exists
if (file_exists($target_file)) {
echo "Sorry, file already exists.";
$uploadOk = 0;
header('Location: ../imeji/uploadfailed.php');
}
// Check file size (Currently Max 6MB)
if ($_FILES["fileToUpload"]["size"] > 6291456) {
echo "Sorry, your file is too large. (Max is 6MB)";
$uploadOk = 0;
header('Location: ../imeji/uploadfailed.php');
}
// Allow certain file formats
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" ) {
echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
$uploadOk = 0;
header('Location: ../imeji/uploadfailed.php');
}
// Check if $uploadOk is set to 0 by an error
if ($uploadOk == 0) {
echo "Sorry, your file could not be uploaded.";
header('Location: ../imeji/uploadfailed.php');
// if everything is ok, try to upload file
} else {
//$newfilename = time() . '_' . rand(1000000, 9999999) . '.' . end(explode(".",$_FILES["fileToUpload"]["name"]));
$newfilename = time() . '_' . rand(100, 999) . '_' . rand(100000000, 999999999) . '.' . end(explode(".",$_FILES["fileToUpload"]["name"]));
$newtarget = $target_dir . $newfilename;
//if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $newtarget)) {
chmod("$newtarget", 0775); // Set read and write permissions if file
echo "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded.";
header('Location: http://i.zxicar.us/' . $newfilename);
//header('Location: ../imeji/' . $newtarget); --changed as of v0.7
//header('Location: http://zxicar.us/imeji/'.basename( $_FILES["fileToUpload"]["name"])); --changed as of v0.2
} else {
echo "Sorry, there was a problem uploading your file.";
}
}
?>

@ -0,0 +1,71 @@
<?php
//Imeji Uploader Core Code -- Version 0.9e
$target_dir = "public/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$target_filenameonly = basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
// Check if image file is a actual image or fake image
if(isset($_POST["submit"])) {
$check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
if($check !== false) {
echo "File is an image - " . $check["mime"] . ".";
$uploadOk = 1;
} else {
echo "File is not an image.";
$uploadOk = 0;
header('Location: ./uploadfailed.php');
}
}
// Check if file already exists
if (file_exists($target_file)) {
echo "Sorry, file already exists.";
$uploadOk = 0;
header('Location: ./uploadfailed.php');
}
// Check file size (Currently Max 6MB)
if ($_FILES["fileToUpload"]["size"] > 6291456) {
echo "Sorry, your file is too large. (Max is 6MB)";
$uploadOk = 0;
header('Location: ./uploadfailed.php');
}
// Allow certain file formats
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" && $imageFileType != "svg" ) {
echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
$uploadOk = 0;
header('Location: ./uploadfailed.php');
}
// Check if $uploadOk is set to 0 by an error
if ($uploadOk == 0) {
echo "Sorry, your file could not be uploaded.";
header('Location: ./uploadfailed.php');
// if everything is ok, try to upload file
} else {
$characters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890-_';
$random_string_length = 12;
$randomFilename = '';
for ($i = 0; $i < $random_string_length; $i++) {
$randomFilename .= $characters[rand(0, strlen($characters) - 1)];
}
//$newfilename = time() . '_' . rand(1000000, 9999999) . '.' . end(explode(".",$_FILES["fileToUpload"]["name"])); --prior to v0.6b
//$newfilename = time() . '_' . rand(100, 999) . '_' . rand(100000000, 999999999) . '.' . end(explode(".",$_FILES["fileToUpload"]["name"])); --prior to v0.8
$newfilename = $randomFilename . '.' . end(explode(".",$_FILES["fileToUpload"]["name"]));
$newtarget = $target_dir . $newfilename;
//if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $newtarget)) {
chmod("$newtarget", 0775); // Set read and write permissions if file
echo "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded.";
$uploaderlog = "" . date('U') . ", ". date('Y-m-d H:i:s e') . ", $_SERVER[REMOTE_ADDR], $newfilename" . ", $_SERVER[HTTP_USER_AGENT]";
//$uploaderlog = "Unix Time: " . date('U') . ", Logical Time: ". date('Y-m-d H:i:s e') . ", IP Address: $_SERVER[REMOTE_ADDR], Filename: $newfilename" . ", User Agent: $_SERVER[HTTP_USER_AGENT], Referer: $_SERVER[HTTP_REFERER]"; --simplified in v0.9e
file_put_contents('uploads.log', $uploaderlog . PHP_EOL, FILE_APPEND);
header('Location: https://i.zxicar.us/' . $newfilename);
//header('Location: http://i.zxicar.us/' . $newfilename); --switched to HTTPS as of v0.9d
//header('Location: ../imeji/' . $newtarget); --changed as of v0.7
//header('Location: http://zxicar.us/imeji/'.basename( $_FILES["fileToUpload"]["name"])); --changed as of v0.2
} else {
echo "Sorry, there was a problem uploading your file.";
header('Location: ./uploadfailed.php');
}
}
?>

@ -0,0 +1,59 @@
<?php
header("HTTP/1.1 400 Bad Request");
?>
<!DOCTYPE html>
<html lang="en" class="no-js">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="theme-color" content="#ff89c9">
<title>Icarus Imeji Uploader - Upload Failed</title>
<link rel="shortcut icon" href="../favicon.ico">
<link rel="icon" type="image/png" href="../favicon-32x32.png" sizes="32x32" />
<link rel="icon" type="image/png" href="../favicon-16x16.png" sizes="16x16" />
<link rel="apple-touch-icon-precomposed" sizes="57x57" href="../apple-touch-icon-57x57.png" />
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="../apple-touch-icon-114x114.png" />
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="../apple-touch-icon-72x72.png" />
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="../apple-touch-icon-144x144.png" />
<link rel="apple-touch-icon-precomposed" sizes="120x120" href="../apple-touch-icon-120x120.png" />
<link rel="apple-touch-icon-precomposed" sizes="152x152" href="../apple-touch-icon-152x152.png" />
<meta name="application-name" content="I.C.A.R.U.S."/>
<meta name="msapplication-TileColor" content="#FFFFFF" />
<meta name="msapplication-TileImage" content="../mstile-144x144.png" />
<link rel="stylesheet" type="text/css" href="styler/normalize.css" />
<link rel="stylesheet" type="text/css" href="styler/demo.css" />
<link rel="stylesheet" type="text/css" href="styler/component.css" />
<link rel="stylesheet" type="text/css" href="styler/additional.css" />
<!--[if IE]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<!-- remove this if you use Modernizr -->
<script>(function(e,t,n){var r=e.querySelectorAll("html")[0];r.className=r.className.replace(/(^|\s)no-js(\s|$)/,"$1js$2")})(document,window,0);</script>
</head>
<body>
<div class="container">
<header class="codrops-header">
<h1>I.C.A.R.U.S. Imeji Uploader</h1>
<p>Unfortunately your upload has failed.<br />It might not have been a valid <strong><a>JPG, JPEG, PNG, GIF</a></strong> file or it might have exceeded the <strong><a>6MB</a></strong> filesize limit.</p>
</header>
</div><!-- /container -->
<!-- <script src="styler/custom-file-input.js"></script> -->
<!-- // If you'd like to use jQuery, check out styler/jquery.custom-file-input.js
<script src="styler/jquery-v1.min.js"></script>
<script src="styler/jquery.custom-file-input.js"></script>
-->
<div class="content">
<hr />
<footer class="content footer">
Copyright &copy; 2016 Locaria Technologies.
</footer>
</div>
</body>
</html>

@ -0,0 +1,52 @@
<?php
header("HTTP/1.1 401 Unauthorized");
?>
<!DOCTYPE html>
<html lang="en" class="no-js">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="theme-color" content="#ff89c9">
<title>Zeon Secret Uploader - Upload Failed</title>
<link rel="shortcut icon" href="../favicon.ico">
<link rel="icon" type="image/png" href="../favicon-32x32.png" sizes="32x32" />
<link rel="icon" type="image/png" href="../favicon-16x16.png" sizes="16x16" />
<link rel="apple-touch-icon-precomposed" sizes="57x57" href="../apple-touch-icon-57x57.png" />
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="../apple-touch-icon-114x114.png" />
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="../apple-touch-icon-72x72.png" />
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="../apple-touch-icon-144x144.png" />
<link rel="apple-touch-icon-precomposed" sizes="120x120" href="../apple-touch-icon-120x120.png" />
<link rel="apple-touch-icon-precomposed" sizes="152x152" href="../apple-touch-icon-152x152.png" />
<meta name="application-name" content="I.C.A.R.U.S."/>
<meta name="msapplication-TileColor" content="#FFFFFF" />
<meta name="msapplication-TileImage" content="../mstile-144x144.png" />
<link rel="stylesheet" type="text/css" href="styler/normalize.css" />
<link rel="stylesheet" type="text/css" href="styler/demo_secret.css" />
<link rel="stylesheet" type="text/css" href="styler/component_secret.css" />
<link rel="stylesheet" type="text/css" href="styler/additional_secret.css" />
<!--[if IE]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<!-- remove this if you use Modernizr -->
<script>(function(e,t,n){var r=e.querySelectorAll("html")[0];r.className=r.className.replace(/(^|\s)no-js(\s|$)/,"$1js$2")})(document,window,0);</script>
</head>
<body>
<div class="container">
<header class="codrops-header">
<h1>Zeon Secret Uploader</h1>
<p>Unfortunately your upload has failed.<br />The <strong><a>authentication code</a></strong> you provided is invalid.</p>
</header>
</div><!-- /container -->
<!-- <script src="styler/custom-file-input.js"></script> -->
<!-- // If you'd like to use jQuery, check out styler/jquery.custom-file-input.js
<script src="styler/jquery-v1.min.js"></script>
<script src="styler/jquery.custom-file-input.js"></script>
-->
</body>
</html>

@ -0,0 +1,52 @@
<?php
header("HTTP/1.1 400 Bad Request");
?>
<!DOCTYPE html>
<html lang="en" class="no-js">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="theme-color" content="#ff89c9">
<title>Zeon Secret Uploader - Upload Failed</title>
<link rel="shortcut icon" href="../favicon.ico">
<link rel="icon" type="image/png" href="../favicon-32x32.png" sizes="32x32" />
<link rel="icon" type="image/png" href="../favicon-16x16.png" sizes="16x16" />
<link rel="apple-touch-icon-precomposed" sizes="57x57" href="../apple-touch-icon-57x57.png" />
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="../apple-touch-icon-114x114.png" />
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="../apple-touch-icon-72x72.png" />
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="../apple-touch-icon-144x144.png" />
<link rel="apple-touch-icon-precomposed" sizes="120x120" href="../apple-touch-icon-120x120.png" />
<link rel="apple-touch-icon-precomposed" sizes="152x152" href="../apple-touch-icon-152x152.png" />
<meta name="application-name" content="I.C.A.R.U.S."/>
<meta name="msapplication-TileColor" content="#FFFFFF" />
<meta name="msapplication-TileImage" content="../mstile-144x144.png" />
<link rel="stylesheet" type="text/css" href="styler/normalize.css" />
<link rel="stylesheet" type="text/css" href="styler/demo_secret.css" />
<link rel="stylesheet" type="text/css" href="styler/component_secret.css" />
<link rel="stylesheet" type="text/css" href="styler/additional_secret.css" />
<!--[if IE]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<!-- remove this if you use Modernizr -->
<script>(function(e,t,n){var r=e.querySelectorAll("html")[0];r.className=r.className.replace(/(^|\s)no-js(\s|$)/,"$1js$2")})(document,window,0);</script>
</head>
<body>
<div class="container">
<header class="codrops-header">
<h1>Zeon Secret Uploader</h1>
<p>Unfortunately your upload has failed.<br />It might not have been a <strong><a>supported filetype</a></strong> or it might have exceeded the <strong><a>6MB</a></strong> filesize limit.</p>
</header>
</div><!-- /container -->
<!-- <script src="styler/custom-file-input.js"></script> -->
<!-- // If you'd like to use jQuery, check out styler/jquery.custom-file-input.js
<script src="styler/jquery-v1.min.js"></script>
<script src="styler/jquery.custom-file-input.js"></script>
-->
</body>
</html>

@ -0,0 +1,97 @@
<?php
//Imeji Uploader -- Secret Version v0.2 -- Based on Core v0.8c
$target_dir = "private/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$target_filenameonly = basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
// Check authentication.
if($_POST["authcode"] != 104616) {
echo "Authentication code not valid";
$uploadOk = 2;
// header('Location: ./uploadfailedr1.php');
// echo $_POST['name'];
// echo $_POST['authcode'];
}
/*
// Check if image file is a actual image or fake image
if(isset($_POST["submit"])) {
$check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
if($check !== false) {
echo "File is an image - " . $check["mime"] . ".";
$uploadOk = 1;
} else {
echo "File is not an image.";
$uploadOk = 0;
header('Location: ./uploadfailed.php');
}
}
*/
// Check if file already exists
if (file_exists($target_file)) {
echo "Sorry, file already exists.";
$uploadOk = 0;
header('Location: ./uploadfailedr2.php');
}
// Check file size (Currently Max 6MB)
if ($_FILES["fileToUpload"]["size"] > 6291456) {
echo "Sorry, your file is too large. (Max is 6MB)";
$uploadOk = 0;
header('Location: ./uploadfailedr2.php');
}
/*
// Allow certain file formats
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" && $imageFileType != "svg" ) {
echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
$uploadOk = 0;
header('Location: ./uploadfailed.php');
}
*/
// Check if $uploadOk is set to 0 by an error
if ($uploadOk == 0) {
echo "Sorry, your file could not be uploaded.";
header('Location: ./uploadfailedr2.php');
// if everything is ok, try to upload file
} else if ($uploadOk == 1) {
$characters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890-_';
$random_string_length = 12;
$randomFilename = '';
for ($i = 0; $i < $random_string_length; $i++) {
$randomFilename .= $characters[rand(0, strlen($characters) - 1)];
}
//$newfilename = time() . '_' . rand(1000000, 9999999) . '.' . end(explode(".",$_FILES["fileToUpload"]["name"])); --prior to v0.6b
//$newfilename = time() . '_' . rand(100, 999) . '_' . rand(100000000, 999999999) . '.' . end(explode(".",$_FILES["fileToUpload"]["name"])); --prior to v0.8
$newfilename = $randomFilename . '.' . end(explode(".",$_FILES["fileToUpload"]["name"]));
$newtarget = $target_dir . $newfilename;
//if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $newtarget)) {
chmod("$newtarget", 0775); // Set read and write permissions if file
//echo "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded.";
//header('Location: http://zxicar.us/imeji/private/' . $newfilename);
//echo "The file \"" . basename( $_FILES["fileToUpload"]["name"]) . "\" has been uploaded to <br /> http://zxicar.us/imeji/private/" . $newfilename;
$xmessage1 = 'The file "' . basename( $_FILES["fileToUpload"]["name"]) . '" has been uploaded to the following link: (you might wanna copy it)';
$xmessage2 = 'https://zxicar.us/imeji/private/' . $newfilename;
echo $xmessage1 . "<br />";
echo "<a><strong>".$xmessage2."</strong></a>";
//echo "<script type='text/javascript'>prompt('$xmessage1','$xmessage2');</script>";
//header('Location: ../imeji/' . $newtarget); --changed as of v0.7
//header('Location: http://zxicar.us/imeji/'.basename( $_FILES["fileToUpload"]["name"])); --changed as of v0.2
} else {
echo "Sorry, there was a problem uploading your file.";
header('Location: ./uploadfailedr2.php');
}
} else if ($uploadOk == 2) {
echo "Authentication code is invalid.";
header('Location: ./uploadfailedr1.php');
}
?>
<!DOCTYPE html>
<html lang="en" class="no-js">
<head>
<link rel="stylesheet" type="text/css" href="styler/normalize.css" />
<link rel="stylesheet" type="text/css" href="styler/demo_secret.css" />
<link rel="stylesheet" type="text/css" href="styler/component_secret.css" />
<link rel="stylesheet" type="text/css" href="styler/additional_secret.css" />
</head>
</html>
Loading…
Cancel
Save