diff --git a/.gitignore b/.gitignore index 01e97bd..1805b2a 100644 --- a/.gitignore +++ b/.gitignore @@ -10,4 +10,5 @@ /images/**.jpg # LeL -/lel +/lel/volumes/* +/lel/.ftpconfig diff --git a/lel/.htaccess b/lel/.htaccess new file mode 100644 index 0000000..667750a --- /dev/null +++ b/lel/.htaccess @@ -0,0 +1,5 @@ +RewriteEngine on +RewriteBase / +RewriteCond %{THE_REQUEST} /index\.php\?r=([^\s]+) [NC] +RewriteRule . paluchage-sur-%1.html? [R=301,L] +RewriteRule ^paluchage-sur-(.+)\.html$ index.php?r=$1 [L] diff --git a/lel/classes/crawler.class.php b/lel/classes/crawler.class.php new file mode 100644 index 0000000..29bf6fd --- /dev/null +++ b/lel/classes/crawler.class.php @@ -0,0 +1,104 @@ + 0 and dl.numero_chapitre='integrale' + order by proj.titre +"; + +function doSql($request=""){ + $retourArray=[]; + global $bdd; + if(!empty($request)){ + $req=$bdd->prepare($request); + $req->execute(); + while($retour=$req->fetch(PDO::FETCH_ASSOC)){ + $retourArray[]=$retour; + + } + } + $req->closeCursor(); + return $retourArray; +} +// echo '
';
+// print_r(doSql($sql));
+// echo '
'; + +//crawler de dossier +if(isset($_POST['type']) && $_POST['type']=='dossier'){ + $path='../volumes/'; + $titleArray=[]; + if (is_dir($path)) { + if ($dossier = opendir($path)) { + while (($file = readdir($dossier)) !== false) { + if($file!='.' && $file!='..'){ + $file=str_replace("'","''",$file); + $titleArray['titre'][]=$file; + } + } + $inSql="'".implode("','",$titleArray['titre'])."'"; + $titleArray['inSql']=$inSql; + + $data=doSql("select + titre, + genre1, + genre2, + genre3, + auteur, + resume + from projets + where titre in($inSql)"); + } + + closedir($dossier); + // $titleArray['inSql']=$inSql; + // echo json_encode($titleArray); + echo json_encode($data); + } +} + +// crawler de projet +if(isset($_POST['type']) && $_POST['type']=='projet'){ + $path='../volumes/'.$_POST['titre']; + $imgArray=['mini'=>[],'maxi'=>[]]; + // Ouvre un dossier bien connu, et liste tous les fichiers + if (is_dir($path)) { + if ($dossier = opendir($path)) { + // on remplit le tableau avec les image HD + while (($file = readdir($dossier)) !== false) { + if($file!='.' && $file!='..' && $file!='mini'){ + $imgArray['maxi'][]=$file; + // on récupère la hauteur + $tempSize=getimagesize($path.'/'.$file); + $imgArray['height'][]=$tempSize[1]; + + } + // quand on tombe sur le dossier des miniature + elseif($file!='.' && $file!='..' && $file=='mini'){ + // on l'ouvre + $dossiermini = opendir($path.'/'.$file); + // et on remplit le tableau avec les miniatures + while (($file = readdir($dossiermini)) !== false) { + if($file!='.' && $file!='..'){ + $imgArray['mini'][]=$file; + } + } + closedir($dossiermini); + } + } + closedir($dossier); + echo json_encode($imgArray); + } + }else{ + echo 'le dossier spécifié n\'existe pas'; + } +} + + +?> diff --git a/lel/classes/index.html b/lel/classes/index.html new file mode 100644 index 0000000..e69de29 diff --git a/lel/css/css.css b/lel/css/css.css new file mode 100644 index 0000000..7118041 --- /dev/null +++ b/lel/css/css.css @@ -0,0 +1,478 @@ +/* + ___ ___ + ___ __| | | |__ ___ + / / / /| | | |\ \ \ \ + / / / / | |___| | \ \ \ \ + / /__/ / | | \ \__\ \ + / __ / | ___ | \ __ \ + / / / / | | | | \ \ \ \ + _________/__/ /__/_____|___| |___|_____\__\ \__\__________ +|############################################################| +| HARDCORE HENTAI HEADQUARTER | +|############################################################| +|############################################################| +|#########__Lecture en Ligne - POLE DEVELOPPEMENT___#########| + +*/ + +@charset-UTF-8; +::selection{ + color: #fff; + background:#000; +} +::-moz-selection{ + color: #fff; + background:#000; +} +/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */ +img,legend{border:0}legend,td,th{padding:0}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,optgroup,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0font-size:2em;}mark{color:#000background:#ff0;}small{font-size:80%}sub,sup{position:relative;vertical-align:baselinefont-size:75%;line-height:0;}sup{top:-.5em}sub{bottom:-.25em}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre,textarea{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0color:inherit;font:inherit;}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{cursor:pointer-webkit-appearance:button;}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0border:0;}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{box-sizing:content-box-webkit-appearance:textfield;}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{margin:0 2px;padding:.35em .625em .75emborder:1px solid silver;}table{border-spacing:0border-collapse:collapse;}div{box-sizing: border-box}p{margin:0px;padding:0px;} + + +body { + position: absolute;; + top: 0; + right: 0; + bottom: 0; + left: 0; + font-family: 'Play', sans-serif; + background: url(../img/fondlel.png) #500000 no-repeat; +font-family: 'Play', sans-serif; +background-position: center 0px; +} +body.nooverflow { + overflow: hidden; +} +.gras { + font-weight:bold; +} +.smoked { + background: -moz-linear-gradient(left, rgba(107, 0, 0, 0) 0%, rgba(107, 0, 0, 0.8) 25%, rgba(107, 0, 0, 1) 50%, rgba(107, 0, 0, 0.8) 75%, rgba(107, 0, 0, 0) 100%); + background: -webkit-linear-gradient(left, rgba(107, 0, 0, 0) 0%, rgba(107, 0, 0, 0.8) 25%, rgba(107, 0, 0, 1) 50%, rgba(107, 0, 0, 0.8) 75%, rgba(107, 0, 0, 0) 100%); + background: linear-gradient(to right, rgba(107, 0, 0, 0) 0%, rgba(107, 0, 0, 0.8) 25%, rgba(107, 0, 0, 1) 50%, rgba(107, 0, 0, 0.8) 75%, rgba(107, 0, 0, 0) 100%); + filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#006b0000', endColorstr='#006b0000', GradientType=1); +} +.blacksmoked{ +background: -moz-linear-gradient(left, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.8) 25%, rgba(0, 0, 0, 1) 50%, rgba(0, 0, 0, 0.8) 75%, rgba(0, 0, 0, 0) 100%); + background: -webkit-linear-gradient(left, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.8) 25%, rgba(0, 0, 0, 1) 50%, rgba(0, 0, 0, 0.8) 75%, rgba(0, 0, 0, 0) 100%); + background: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.8) 25%, rgba(0, 0, 0, 1) 50%, rgba(0, 0, 0, 0.8) 75%, rgba(0, 0, 0, 0) 100%); + filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#00000000', GradientType=1); +} +.blur { + filter: blur(3px); + -webkit-filter: blur(3px); +} +nav { + position: absolute; + z-index: 2; + top: 0px; + width: 40px; + height: 40px; + transition: all 0.2s; + color: #fff; + background: rgba(50, 0, 0, 0.85); + overflow:hidden; +} + +nav.deployed { + position: fixed; + width: 250px; + height: 100vh; + overflow-y: auto; +} +nav:hover.deployed { + width: 250px; + height: 100vh; +} +#menu { + width: 100%; + height: 40px; + margin-left: -1px; + cursor: pointer; + text-align: center; + font-size: 25px; +} +#menu span { + margin-top: 7px; +} +.release { + position: relative; + margin: 5px 0px; + padding: 2px 0px; + cursor: pointer; + text-align: center; +} +.release:hover .titre { + opacity: 0.5; +} +.moreinfo { + position: absolute; + top: 0px; + right: 0px; + bottom: 0px; + width: 50px; + font-size: 18px; + line-height: 23px; + cursor: pointer; + transition: all 0.7s; + opacity: 0; + background: -moz-linear-gradient(left, rgba(224, 0, 0, 0) 0%, rgba(56, 0, 0, 1) 45%, rgba(56, 0, 0, 1) 100%); + background: -webkit-linear-gradient(left, rgba(224, 0, 0, 0) 0%, rgba(56, 0, 0, 1) 45%, rgba(56, 0, 0, 1) 100%); + background: linear-gradient(to right, rgba(224, 0, 0, 0) 0%, rgba(56, 0, 0, 1) 45%, rgba(56, 0, 0, 1) 100%); + filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#00e00000', endColorstr='#380000', GradientType=1); +} +.release:hover .moreinfo { + opacity: 1; +} +.moreinfo span { + width: 20px; + margin-left: 13px; +} +.moreinfo:hover span { + color: #900000; +} +#curtain { + position: fixed; + z-index: 3; +} +.menuaction { + text-align: center; + padding: 5px; + margin: 5px 0px; + cursor: pointer; +} +#menuaide{ + margin-bottom: 20px; +} +.filtretitre{ + font-weight: normal; + margin: 10px 0px 5px; + padding: 2px 0px; +} +.singlefiltre{ + font-weight: normal; +} +.filtretitre:hover,.singlefiltre:hover{ + color:#ccc; +} +#moreinfbox { + position: relative; + top: calc(50vh - 155px); + left: calc(50vw - 290px); + overflow: auto; + width: 580px; + height: 310px; + padding: 10px; + color: #fff; + background: #AE0000; + box-shadow: 0px 0px 285px #000 inset; +} +#moreinfbox .image { + float: right; + margin: 30px 30px 10px 10px; +} +#moreinfbox .titre, #moreinfbox .auteur, #moreinfbox .genre, #moreinfbox .resume { + display: block; + margin-bottom: 5px; +} +#moreinfbox .titre { + font-size: 20px; +} +#moreinfbox .auteur { + font-size: 14px; +} +#moreinfbox .genre { + margin-bottom: 10px; + opacity: 0.5; + font-size: 12px; +} +#moreinfbox .resume { + font-size: 14px; +} +#curtain { + position: fixed; + z-index: 3; + top: 0px; + right: 0px; + bottom: 0px; + left: 0px; + display: none; + background: rgba(0, 0, 0, 0.65); +} +#closeinfoxbox, #closehandreading { + position: absolute; + right: 10px; + width: 20px; + height: 20px; + cursor: pointer; + text-align: center; + color: #fff; + background: rgba(255, 255, 255, 0.2); + font-size: 20px; +} +#loader { + position: absolute; + z-index: 4; + top: 0; + right: 0; + bottom: 0; + left: 0; + display: none; + background: rgba(0, 0, 0, 0.7); +} +#loader div { + overflow: hidden; + width: 69px; + height: 72px; + margin: calc(50vh - 36px) auto; +} +#loader div img { + position: relative; +} +#loader div img.animated { + animation: loading 1.2s steps(29) infinite; +} +@keyframes loading { + from { + left: 0px; + } + to { + left: -1916px; + } +} +#VolTitre { + display: none; +} +#theatre { + position: absolute; + top: 0; + right: 0px; + bottom: 0px; + left: 0px; + transition: all 0.2s; + overflow: auto; +} +#miniatureTitle { + position: fixed; + top: 0px; + width: 100%; + padding: 0px 70px 5px; + text-align: center; + color: #fff; + font-size: 22px; + font-weight: bold; + z-index: 1; +} +#imgminicontainer { + width: 825px; + margin: 0px auto 20px; + padding: 40px 0px; +} +.decomini { + height: 1px; +} +#imgminicontainer::after { + display: block; + clear: both; + content: ""; +} +#imghdcontainer { + position: absolute; + z-index: 3; + top: 0px; + right: 0px; + bottom: 0px; + left: 0px; + background: rgba(0, 0, 0, 0.8); +} +#imghdcontainer img { + height: 100%; + max-height: 1200px; +} +#imgminicontainer img { + width: 100px; + margin: auto; + cursor: pointer; + border: 1px solid #000; +} +#imgminicontainer .miniatures { + float:left; + padding: 0px 18px; + height: 146px; + overflow: hidden; + width: 16.6666%; /* 6 images par lignes */ + margin: 10px 0px; +} +#controlcontainer { + position: fixed; + bottom: 0px; + padding: 10px 20px; +} +#controlcontainer.mini { + position: fixed; + bottom: 0px; + width: 100%; + padding: 0px 70px; + text-align: center; +} +.paginationbox { + display: inline-block; + width: 20px; + margin: 5px 1px; + cursor: pointer; + text-align: center; + color: #fff; + font-size: 14px; + line-height: 20px !important; +} +#closehd { + position: absolute; + z-index: 10; + top: -15px; + right: -15px; + box-sizing: content-box; + width: 35px; + height: 35px; + padding: 20px; + cursor: pointer; + transition: all 0.2s; + text-align: center; + color: #230000; + border-radius: 50%; + background-color: #230101; + text-shadow: 0px 0px 3px #fff; + font-size: 30px; + line-height: 36px; +} + +#closehd:hover, #closehd:active { + color: #fff; + background-color: rgba(255, 255, 255, 0.6); + text-shadow: initial; +} +.imgpreload { + display: none; +} +#imgname { + width: auto; + padding: 5px; + background-color: #600000; +} +.currentimage { + -webkit-filter: invert(100%); + -moz-filter: invert(100%); + -ms-filter: invert(100%); + -o-filter: invert(100%); + filter: invert(100%); +} + +#urgenceFrame{ + position: absolute; + top:0px; + left:0px; + width: 100vw; + height: 100vh; + z-index: 1000; + border:0px; +} + +#exitUrgence{ + position:absolute; + top:0px; + left:0px; + z-index: 1001; + border:0px; + background-color: #fff; + color: #777; + cursor: pointer; +} +#credit { + color: #fff; + position: absolute; + bottom: 5px; + right: 25px; + font-size: 12px; +} + +#handreading{ +position: relative; +background: #AE0000; +box-shadow: 0px 0px 285px #000 inset; +width: 90%; +height: 500px; +overflow: auto; +padding: 10px; +margin: calc(50vh - 250px) auto; +color: #fff; +} + + +#handreadingtitle { + text-align: center; + margin-bottom: 20px; +} + +#handreadingtitle span:nth-child(1),#handreadingtitle span:nth-child(5) { + font-size: 30px; +} +#handreadingtitle span:nth-child(7) { + font-size: 12px; +} + +.handreadingtext { + text-indent: 10px; + margin-bottom: 10px; +} + +#twinbox { + margin-top: 30px; +} +#twinbox::after,.touche::after{ +content:""; +clear:both; +display:block; +margin-bottom: 15px; +} +.twin { + float: left; + width: 50%; + padding: 0px 20px; +} +.twin:first-child { + border-right: 2px dashed rgb(255, 255, 255); +} +.touche { + clear: both; +} +.touche img, .touche span{ + float:left; +} + +.touche span{ + font-size:35px; + margin-top: 10px; +} +.touche span.slash{ +transform: rotate(-10deg); +} +.touche span.desckey{ +font-size:initial; +} +.desckey { + width: 55%; + padding-top: 10px; + margin-left: 20px; +} +.twin .title { + text-align: center; + margin-bottom: 30px; + font-size: 20px; + font-weight: bold; +} + +#releasenotready { + text-align: center; + color: #fff; + padding: 50px; + margin-top: 150px; + box-shadow: 0px 0px 45px rgba(0,0,0,0.5); +} diff --git a/lel/css/font-awesome.min.css b/lel/css/font-awesome.min.css new file mode 100644 index 0000000..71249b6 --- /dev/null +++ b/lel/css/font-awesome.min.css @@ -0,0 +1,4 @@ +/*! + * Font Awesome 4.4.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:'FontAwesome';src:url('fonts/fontawesome-webfont.eot?v=4.4.0');src:url('fonts/fontawesome-webfont.eot?#iefix&v=4.4.0') format('embedded-opentype'),url('fonts/fontawesome-webfont.woff2?v=4.4.0') format('woff2'),url('fonts/fontawesome-webfont.woff?v=4.4.0') format('woff'),url('fonts/fontawesome-webfont.ttf?v=4.4.0') format('truetype'),url('fonts/fontawesome-webfont.svg?v=4.4.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"} diff --git a/lel/css/fonts/FontAwesome.otf b/lel/css/fonts/FontAwesome.otf new file mode 100644 index 0000000..681bdd4 Binary files /dev/null and b/lel/css/fonts/FontAwesome.otf differ diff --git a/lel/css/fonts/Pirates_Blackbeard.eot b/lel/css/fonts/Pirates_Blackbeard.eot new file mode 100644 index 0000000..e0f3656 Binary files /dev/null and b/lel/css/fonts/Pirates_Blackbeard.eot differ diff --git a/lel/css/fonts/Pirates_Blackbeard.svg b/lel/css/fonts/Pirates_Blackbeard.svg new file mode 100644 index 0000000..de282cc --- /dev/null +++ b/lel/css/fonts/Pirates_Blackbeard.svg @@ -0,0 +1,989 @@ + + + + +Created by FontForge 20150318 at Tue Nov 10 13:26:01 2015 + By uniteet7 +Copyright (c) 2009 by Floodfonts, designed by Felix Braden. All rights reserved. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lel/css/fonts/Pirates_Blackbeard.ttf b/lel/css/fonts/Pirates_Blackbeard.ttf new file mode 100644 index 0000000..4e38399 Binary files /dev/null and b/lel/css/fonts/Pirates_Blackbeard.ttf differ diff --git a/lel/css/fonts/Pirates_Blackbeard.woff b/lel/css/fonts/Pirates_Blackbeard.woff new file mode 100644 index 0000000..f13cef7 Binary files /dev/null and b/lel/css/fonts/Pirates_Blackbeard.woff differ diff --git a/lel/css/fonts/Pirates_Blackbeard.woff2 b/lel/css/fonts/Pirates_Blackbeard.woff2 new file mode 100644 index 0000000..65825da Binary files /dev/null and b/lel/css/fonts/Pirates_Blackbeard.woff2 differ diff --git a/lel/css/fonts/fontawesome-webfont.eot b/lel/css/fonts/fontawesome-webfont.eot new file mode 100644 index 0000000..a30335d Binary files /dev/null and b/lel/css/fonts/fontawesome-webfont.eot differ diff --git a/lel/css/fonts/fontawesome-webfont.svg b/lel/css/fonts/fontawesome-webfont.svg new file mode 100644 index 0000000..6fd19ab --- /dev/null +++ b/lel/css/fonts/fontawesome-webfont.svg @@ -0,0 +1,640 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lel/css/fonts/fontawesome-webfont.ttf b/lel/css/fonts/fontawesome-webfont.ttf new file mode 100644 index 0000000..d7994e1 Binary files /dev/null and b/lel/css/fonts/fontawesome-webfont.ttf differ diff --git a/lel/css/fonts/fontawesome-webfont.woff b/lel/css/fonts/fontawesome-webfont.woff new file mode 100644 index 0000000..6fd4ede Binary files /dev/null and b/lel/css/fonts/fontawesome-webfont.woff differ diff --git a/lel/css/fonts/fontawesome-webfont.woff2 b/lel/css/fonts/fontawesome-webfont.woff2 new file mode 100644 index 0000000..5560193 Binary files /dev/null and b/lel/css/fonts/fontawesome-webfont.woff2 differ diff --git a/lel/css/imghd.css b/lel/css/imghd.css new file mode 100644 index 0000000..eb367da --- /dev/null +++ b/lel/css/imghd.css @@ -0,0 +1,147 @@ + +#imghdcontainer{ + overflow: hidden; + text-align:center; + display: flex; + justify-content: center; + flex-direction: column; +} +#imghdcontainer.zoom{ + display: block; +} + +#imghdcontainer #cadreimghd { + padding: 30px; + text-align: center; +} + +#imghdcontainer.zoom #cadreimghd { + /* on évite le chevauchement avec la pagination */ + position: relative; + height: calc(100vh - 60px); + overflow-y: auto; + overflow-x: hidden; + display: inline-block; + margin-top: 30px; + padding-top: 0px; +} +#imghdcontainer.zoom #cadreimghd.nooverflow{ + overflow:hidden; +} + +#imghdcontainer #cadreimghd img { + width: auto; + height: auto; + max-width: calc(100vw - 60px); + max-height:calc(100vh - 60px); + box-shadow: 0px 0px 25px #000; + cursor: zoom-in; +} +#imghdcontainer.zoom #cadreimghd img { + max-height:initial; + cursor: zoom-out; +} +#hdpaginationcontainerleft{ + left:0px; +} +#hdpaginationcontainerright{ + right:0px; +} +#hdpaginationcontainerleft .fa{ + left:30px; +} +#hdpaginationcontainerright .fa{ + right:30px; +} + + + +#imghdcontainer #imgname{ + position: absolute; + bottom: 0; + left:0; + right:0; + margin:0; + height: 30px; + text-align: center; + color: #fff; + font-size: 14px; +} + +#imghdcontainer .paginationbox{ + position: absolute; + height: 100%; + width: 120px; + z-index: 2; + top:0px; +} + +#imghdcontainer .paginationbox:hover .fa,#imghdcontainer .paginationbox:active .fa{ + background-color:rgba(255,255,255,0.6); + color:rgba(255,255,255,255.8); +} + +#imghdcontainer .paginationbox .fa{ + position: absolute; + line-height: 60px; + top:calc(50vh - 30px ); + border-radius: 50%; + margin: 0px; + width: 60px; + height: 60px; + background-color:rgba(120,0,0,0.6); + color:rgba(180,0,0,0.8); + font-size:25px; + text-align:center; + content:""; +} + +#imghdcontainer .paginationbox .fa::before{ + text-shadow:0 0 10px #000; + } + #imghdcontainer.zoom #hdpaginationcontainerright,#imghdcontainer.zoom #hdpaginationcontainerleft{ + opacity:0; + transition: 0.2s; +} + #imghdcontainer.zoom #hdpaginationcontainerright:hover,#imghdcontainer.zoom #hdpaginationcontainerleft:hover{ + opacity:1; +} + +#imghdcontainer .fa-chevron-left::before { + margin-left: -5px; +} +#imghdcontainer .fa-chevron-right::before { + margin-right: -5px; +} +#hdpaginationcontainerright.zoom{ + right:30px; +} + +#hdpaginationcontainerleft.zoom{ + left:30px; +} + +#imghdcontainer #hdTitre { + position: absolute; + display: block; + color: #fff; + text-align: center; + top:0; + left: 0; + right: 0; + background: #230000; + height: 30px; + font-size: 20px; + background: -moz-linear-gradient(left, #230000 0%, #230000 20%, #600000 35%, #600000 50%, #600000 65%, #230000 80%, #230000 100%); + background: -webkit-linear-gradient(left, #230000 0%,#230000 20%,#600000 35%,#600000 50%,#600000 65%,#230000 80%,#230000 100%); + background: linear-gradient(to right, #230000 0%,#230000 20%,#600000 35%,#600000 50%,#600000 65%,#230000 80%,#230000 100%); + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#230000', endColorstr='#230000',GradientType=1 ); + +} +#imghdcontainer #imgname { + background: #230000; + background: -moz-linear-gradient(left, #230000 0%, #230000 20%, #600000 35%, #600000 50%, #600000 65%, #230000 80%, #230000 100%); + background: -webkit-linear-gradient(left, #230000 0%,#230000 20%,#600000 35%,#600000 50%,#600000 65%,#230000 80%,#230000 100%); + background: linear-gradient(to right, #230000 0%,#230000 20%,#600000 35%,#600000 50%,#600000 65%,#230000 80%,#230000 100%); + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#230000', endColorstr='#230000',GradientType=1 ); +} diff --git a/lel/css/small-screen-fix.css b/lel/css/small-screen-fix.css new file mode 100644 index 0000000..5d54c43 --- /dev/null +++ b/lel/css/small-screen-fix.css @@ -0,0 +1,72 @@ +@media screen and (max-width: 870px) { + #theatre{ + position:absolute; + top:0; + left:0; + right:0; + bottom:0; + padding:40px 20px; + + } + + /* CONTROLCONTAINER, VOLTITRE */ + #theatre #controlcontainer, + body #VolTitre{ + position:fixed; + display:inline-block; + text-align:center; + bottom:0; + left:0; + right:0; + max-width:360px; + margin:auto; + } + + #theatre .paginationbox{ + float:none; + display:inline-block; + } + + #theatre .fa-chevron-right{ + float:right; + } + + #theatre .fa-chevron-left{ + float:left; + } + + body #VolTitre{ + top:0; + bottom:initial; + background: #900000; + padding: 5px 20px; + border-bottom-left-radius: 10px; + border-bottom-right-radius: 10px; + border-bottom: 1px solid #600000; + border-left: 1px solid #900000; + border-right: 1px solid #900000; + color: #fff; + z-index:100; + } + + /* IMGMINICONTAIGNER */ + #theatre #imgminicontainer{ + margin : auto; + width:auto; + max-width:825px; + min-width:280px; + display:flex; + flex-wrap:wrap; + } + + #theatre .miniatures{ + min-width:110px; + float: none; + display: flex; + justify-content: center; + flex-direction: column; + /*min-height:140px;*/ + max-height:150px; + } + +} diff --git a/lel/handreading.html b/lel/handreading.html new file mode 100644 index 0000000..0d0317d --- /dev/null +++ b/lel/handreading.html @@ -0,0 +1,44 @@ +
+
+
+ Lecture au clavier
+ ou
+ "Lecture" à une main
+ (l'autre étant entre tes jambes) +
+ +
+ Dans cette LEL, on a pensé à vous et on a essayé d'optimiser au maximum le "one-handed-read" pour vous permettre de vous palucher tout en parcourant nos releases. +
+ +
+ Deux configurations sont disponibles en fonction de la vue sur laquelle vous êtes. Nous les avons adapté autant pour les personnes gauchères que pour les droitières, et autant pour les clavier AZERTY que QWERTY. +
+ +
+
+
En vue vignette
+
//Déplacement vers le haut dans la grille d'image
+
/Déplacement vers la droite dans la grille d'image
+
/Déplacement vers le bas dans la grille d'image
+
//Déplacement vers le bas dans la grille d'image
+
Vue one-page de l'image sélectionnée
+
Page de miniatures suivante
+
+Page de miniatures précédente
+
+MODE URGENCE !!!!!
+ +
+ +
+
En vue one-page
+
Entrer en mode zoom
+
//En mode zoom, monter dans l'image
+
/En mode zoom, descendre dans l'image
+
/Image suivante
+
//Image précédente
+
+MODE URGENCE !!!!!
+ +
+ +
+
\ No newline at end of file diff --git a/lel/hhh-lel.sh b/lel/hhh-lel.sh new file mode 100644 index 0000000..7c637a1 --- /dev/null +++ b/lel/hhh-lel.sh @@ -0,0 +1,23 @@ +#!/bin/bash +zip = $1 +out = $2 +# on vérifie que l'archive existe +if [ ! -f $zip ] +then + echo archive inexistante + exit 3 +fi +# on vérifie que le dossier n'existe pas déjà +if [ -f $out ] +then + echo le dossier existe deja + exit 4 +fi +# c'est parti pour le dézippage +unzip -j $zip -d $out +# maintenant, c'est au tour des miniatures à être créées +cd $out +for i in *.jpg *.JPG *.png *.PNG; do +convert $i -thumbnail 150x -quality 85 -scene 01 mini/$i +done +fi diff --git a/lel/img/a.png b/lel/img/a.png new file mode 100644 index 0000000..e539638 Binary files /dev/null and b/lel/img/a.png differ diff --git a/lel/img/bas.png b/lel/img/bas.png new file mode 100644 index 0000000..ab68568 Binary files /dev/null and b/lel/img/bas.png differ diff --git a/lel/img/black-paper.png b/lel/img/black-paper.png new file mode 100644 index 0000000..9fddee6 Binary files /dev/null and b/lel/img/black-paper.png differ diff --git a/lel/img/d.png b/lel/img/d.png new file mode 100644 index 0000000..2f8358d Binary files /dev/null and b/lel/img/d.png differ diff --git a/lel/img/droit.png b/lel/img/droit.png new file mode 100644 index 0000000..5a290ef Binary files /dev/null and b/lel/img/droit.png differ diff --git a/lel/img/echap.png b/lel/img/echap.png new file mode 100644 index 0000000..9d8eb00 Binary files /dev/null and b/lel/img/echap.png differ diff --git a/lel/img/entree.png b/lel/img/entree.png new file mode 100644 index 0000000..a4e7bab Binary files /dev/null and b/lel/img/entree.png differ diff --git a/lel/img/espace.png b/lel/img/espace.png new file mode 100644 index 0000000..4193d1b Binary files /dev/null and b/lel/img/espace.png differ diff --git a/lel/img/fondlel.jpg b/lel/img/fondlel.jpg new file mode 100644 index 0000000..8b155ea Binary files /dev/null and b/lel/img/fondlel.jpg differ diff --git a/lel/img/fondlel.png b/lel/img/fondlel.png new file mode 100644 index 0000000..b4c91d3 Binary files /dev/null and b/lel/img/fondlel.png differ diff --git a/lel/img/gauche.png b/lel/img/gauche.png new file mode 100644 index 0000000..99bdf83 Binary files /dev/null and b/lel/img/gauche.png differ diff --git a/lel/img/haut.png b/lel/img/haut.png new file mode 100644 index 0000000..5b94fc0 Binary files /dev/null and b/lel/img/haut.png differ diff --git a/lel/img/loader.png b/lel/img/loader.png new file mode 100644 index 0000000..985437a Binary files /dev/null and b/lel/img/loader.png differ diff --git a/lel/img/maj.png b/lel/img/maj.png new file mode 100644 index 0000000..1d18a31 Binary files /dev/null and b/lel/img/maj.png differ diff --git a/lel/img/noise.png b/lel/img/noise.png new file mode 100644 index 0000000..6248562 Binary files /dev/null and b/lel/img/noise.png differ diff --git a/lel/img/q.png b/lel/img/q.png new file mode 100644 index 0000000..6d6f334 Binary files /dev/null and b/lel/img/q.png differ diff --git a/lel/img/s.png b/lel/img/s.png new file mode 100644 index 0000000..e09c905 Binary files /dev/null and b/lel/img/s.png differ diff --git a/lel/img/w.png b/lel/img/w.png new file mode 100644 index 0000000..c46b7b6 Binary files /dev/null and b/lel/img/w.png differ diff --git a/lel/img/z.png b/lel/img/z.png new file mode 100644 index 0000000..ee9c76b Binary files /dev/null and b/lel/img/z.png differ diff --git a/lel/index.php b/lel/index.php new file mode 100644 index 0000000..a5c4e71 --- /dev/null +++ b/lel/index.php @@ -0,0 +1,77 @@ + + + + + + + Lecture en ligne Hentai - HHH + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + +
HHH LEL - Développé par Lukia,Westixy et Albirew
+ getTitle = "'.$_GET['r'].'"; '; + ?> + + + + diff --git a/lel/js/fonctions.js b/lel/js/fonctions.js new file mode 100644 index 0000000..5af1f63 --- /dev/null +++ b/lel/js/fonctions.js @@ -0,0 +1,597 @@ +/* + ___ ___ + ___ __| | | |__ ___ + / / / /| | | |\ \ \ \ + / / / / | |___| | \ \ \ \ + / /__/ / | | \ \__\ \ + / __ / | ___ | \ __ \ + / / / / | | | | \ \ \ \ + _________/__/ /__/_____|___| |___|_____\__\ \__\__________ +|############################################################| +| HARDCORE HENTAI HEADQUARTER | +|############################################################| +|############################################################| +|#########__Lecture en Ligne - POLE DEVELOPPEMENT___#########| + +*/ + +/*** TOOLBOX ***/ + +//on récupère les dimensions internes du navigateur. + var dimensions={ + largeur:window.innerWidth, + hauteur:window.innerHeight + } + +/* +@param string titreVolume : le titre du volume récupéré au click +@param page : la page de départ de la lecture, par défaut : 0 +*/ + + +function crawler(titreVolume,page){ + // les propriétés + this.prop={ + // id du conteneur principal + container:"theatre", + // id du conteneur de miniature + imgMiniContainer: "imgminicontainer", + // id du conteneur d'image HD + imgContainer: "imghdcontainer", + // id de l'image HD actuel + imgActual: "imgactual", + // id du panneau de controle + controlContainer: "controlcontainer", + // chemin vers le dossier du fichier + pathToFile:"volumes/"+titreVolume+"/", + // le titre du volume + titreVolume:titreVolume, + // la limite du nombre d'image HD à précharger au départ + maxiLimit:3, + // la limite du nombre de miniatures à afficher + miniatureLimitToDisplay:24, + // le nombre de miniature par lignes + miniaturesByRow:6, + //la page de départ de la lecture ou des miniature, par défaut : 0 + currentPage : page || 0, + // le numero de la picture + currentPicture:0, + // le nombre de page maximum + maxPage:0, + // le nombre de miniature qu'on a affiché depuis le début du tableau + miniatureDisplayed:0, + // l'objet qui contiendra toutes les données relatives aux images à afficher + volumeObject:{ + // on créer deux tableaux distinct, au cas où les miniatures n'aurait pas le meme nom que les images HD. Meme si dans la plupart des cas les noms de fichiers seront les meme (pour un poid différent) + // le tableau des miniatures + mini:[], + // le tableau des HD + maxi:[], + // la hauteur de l'images + height:[] + }, + // la vue actuellement à l'écran + actualView:'mini', + }, + + this.loader=function(kill){ + // on manipule le DOM comme un enfoiré + if(kill==true){ + + $("#cadreimghd").removeClass("nooverflow"); + + $("#loader").fadeOut(200,function(){ + $("#loader div img").removeClass("animated"); + }); + if(this.prop.actualView=="mini"){ + $("body").removeClass("nooverflow"); + $("#"+this.prop.container).removeClass("blur"); + } + if(this.prop.actualView=="hd"){ + $("#"+this.prop.imgActual).removeClass("blur"); + } + + } + else{ + $("html,#imghdcontainer #cadreimghd.zoom").scrollTop(0); + $("body, #cadreimghd").addClass("nooverflow"); + $("#loader").fadeIn(200,function(){ + $("#loader div img").addClass("animated"); + }); + if(this.prop.actualView=="mini"){ + $("#"+this.prop.container).addClass("blur"); + } + if(this.prop.actualView=="hd"){ + $("#"+this.prop.imgActual).addClass("blur"); + } + } + + } + + //la boite de controle + this.controlBox=function(type){ + // si c'est la boite de controle des pages HD + if(type=="maxi"){ + var html=//'
' + '
'+$('#miniatureTitle').text()+'
' + +'
' + +'
' + +'
' + +'
' + +'
' + +'
' + +'
' + +'
'; + //+'
'; + } + // si c'est la boite de controle des miniatures + if(type=="mini"){ + // calcul de la pagination + var pagesTotal=parseInt(this.prop.volumeObject.mini.length/this.prop.miniatureLimitToDisplay); + // si le modulo du total du tableau par la limite est supérieur à 0, on rajoute une page pour les images restantes + if(this.prop.volumeObject.mini.length%this.prop.miniatureLimitToDisplay>0){pagesTotal+=1; this.prop.maxPage=pagesTotal} + + // construction html des boites à pagination + var pagination=""; + for(var i=0; i'+(i+1)+''; + } + var html='
' + +'
' + +pagination + +'
' + + +'
'; + } + return html; + + } + + // les méthodes + this.getRelease=function(callback){ + // on charge le scope général de la fonction dans une variable afin de ne pas le perdre quand on sera plus profond + var that=this; + // on lance l'ajax dans un objet déféré + $.when( + $.ajax({ + type: "POST", + url: "classes/crawler.class.php", + data: {titre:titreVolume,type:"projet"}, + dataType:"json" + }).done(function(data) { + for(key in data){ + // on trie les tableaux de l'objet + data[key].sort(); + // on remplit l'objet des images + for(var i=0; iLe volume n\'est pas encore disponible'); + //return "noRelease"; + }); + }) + ).then(function(){ + // puis on execute le callback une fois que c'est terminé + callback(); + }); + }, + + this.nextPage=function(){ + if(this.prop.currentPage1) + this.prop.currentPage-=1; + }, + + // quand on clique sur suivant dans le maxi + this.nextPict=function(){ + if(this.prop.currentPicture0) + this.prop.currentPicture--; + } + + this.fixedPage=function(page){ + + this.prop.currentPage=page; + }, + + // Gestion des miniature + this.displayMiniature=function(update,sens){ + var that=this; + var allLoaded=0; + // on lance le loader + this.loader(); + // si c'est la première fois qu'on affiche les miniatures ou qu'on avance dans elles + // premiere fois + if(!update){ + // on créer le container + $("#"+this.prop.container).html('
'+this.prop.titreVolume+'
'+this.controlBox("mini")+'
'); + this.nextPage(); + } + + // si c'est une update, qu'on est à la fin et qu'on retourne en arriere + if(update && sens=="paginprev" && this.prop.currentPage>0 && this.prop.miniatureDisplayed!=this.prop.miniatureLimitToDisplay){ + //on compte le nombre de miniatures présentes et on les soustrait au nombre de miniatures total, puis on prépare la page précédente + this.prop.miniatureDisplayed-=$(".miniatures").length; + this.prop.miniatureDisplayed-=this.prop.miniatureLimitToDisplay; + + } + $(".paginationbox").removeAttr("style"); + $(".paginationbox:contains("+this.prop.currentPage+")").css("border-bottom","1px solid #EB3C3C"); + + + var html=""; + // on génère le tableau d'images + for(var i=this.prop.miniatureLimitToDisplay*(this.prop.currentPage-1);i'; + this.prop.miniatureDisplayed+=1; + }else{ + break; + } + + } + // si on affiche pour la première fois, qu'on revient pas en arrière et qu'on est pas arrivé à la fin ou si c'est une mise à jour du contenu + if(update && this.prop.currentPage>0 && this.prop.currentPage<=this.prop.maxPage && html.length>0|| !update){ + $("#"+this.prop.imgMiniContainer).html(html); + } + // on centre la pagination + $("#"+this.prop.controlContainer+".mini").css("left",($("#"+this.prop.container).width()-$("#"+this.prop.controlContainer+".mini").width())/2-70); + $("#miniatureTitle").css("left",($("#"+this.prop.container).width()-$("#miniatureTitle").width())/2-70); + + $(".miniatures img").load(function(){ + allLoaded++; + // si toutes les images ont été chargées + if(allLoaded==$(".miniatures").length){ + // on tue le loader + that.loader(true); + } + }); + // console.log(">>>>>>> \r\n prop.miniatureDisplayed : "+this.prop.miniatureDisplayed, "currentPage : "+this.prop.currentPage); + } + + this.paginationControl=function(elem){ + var sens=elem.attr("data-sens"); + var type=elem.attr("data-type"); + var page=parseInt(elem.text()); + if(sens=="paginnext"){ + if(type=="mini"){ + this.nextPage(); + // on envoi le steak + this.displayMiniature(true, sens); + }else{ + this.nextPict(); + // on affiche de quoi sbranler + this.displayHd(); + } + + } + if(sens=="paginprev"){ + if(type=="mini"){ + this.previousPage(); + // on envoi le steak + this.displayMiniature(true, sens); + }else{ + this.prevPict(); + // on affiche de quoi sbranler + this.displayHd(); + } + } + if(sens=="fixe"){ + this.fixedPage(page); + // on envoi le steak + this.displayMiniature(true, sens); + } + + } + + this.giveFileName=function(fileName){ + $("#imgname").text(fileName); + + } + + this.openHd=function(){ + // on génère la div conteneur + $("#"+this.prop.container).before('
'); + // on cache les miniatures + $("#"+this.prop.container).addClass("blur"); + // on cree le recepteur de l'image actuel + $("#"+this.prop.imgContainer).html('
'); + // on cree les recepteur des images en preload + $("#"+this.prop.imgContainer).append('
' + +'' + +'' + +'' + +'
'); + // on ajoute le controlbox + $("#"+this.prop.imgContainer).prepend(this.controlBox("maxi")); + + // on dit que la vue actuel est en hd + this.prop.actualView='hd'; + + // sauce this + this.displayHd(); + } + + // lors du click sur la miniature + this.onMiniatureClick=function(elem){ + var index = elem.attr("data-index"); + this.prop.currentPicture=index; + + this.openHd(); + + } + + this.onCloseHd=function(elem){ + // on supprime l'overlay hd + $("#"+this.prop.imgContainer).remove(); + // on réaffiche le theatre de base + $("#"+this.prop.container).removeClass("blur"); + $("body").removeClass("nooverflow"); + // on dit que l'on passe en mode mini + this.prop.actualView='mini'; + } + + this.onExitUrgence=function(){ + $("#exitUrgence, #iframe_urg").css("display","none"); + } + + this.displayUrgence=function(){ + $("#exitUrgence").css("display","block"); + $("#iframe_urg").css("display","block"); + } + + this.onHdClick=function(){ + // # CLICK SUR IMAGE HD + // switch d'etat entre le zoom ou l'etat normal + if($("#"+this.prop.imgContainer).hasClass("zoom")){ + // on supprime la classe zoom aux deux élements + $("#"+this.prop.imgContainer).removeClass("zoom"); + } + else{ + // on affecte la classe zoom aux deux élements + $("#"+this.prop.imgContainer).addClass("zoom"); + } + } + + this.displayHd=function(){ + // on reset le scroll + $("#imghdcontainer #cadreimghd.zoom").scrollTop(0); + // on lance le loader + this.loader(); + // on remplit le container par le haut car position absolute des images + $("#"+this.prop.imgActual).attr("src",this.prop.pathToFile+this.prop.volumeObject.maxi[this.prop.currentPicture]); + // on change le nom de la page + $("#imgname").html(this.prop.volumeObject.maxi[this.prop.currentPicture]); + + // on active la miniature correspondante + this.updateActiveMiniature(); + + // on cree un alias pour this + var that=this; + // on charge deux images après et une avant + $("#"+this.prop.imgActual).load(function(){ + that.imgHdScroll("top"); + // on tue le loader + that.loader(true); + // on défini l'ensemble d'éléments preload + var preloadElems = $("#hdPreloadContainer .imgpreload"); + // preload de l'image suivante si elle existe + preloadElems.eq(0).attr("src",function(){ + if(parseInt(that.prop.currentPicture)0){ + return that.prop.pathToFile+that.prop.volumeObject.maxi[+that.prop.currentPicture-1]; + } + } + ); + }); + }); + } + + // sert a déplacer limage activée + this.updateActiveMiniature=function(){ + var tempCurrentPage=Math.floor(this.prop.currentPicture/this.prop.miniatureLimitToDisplay+1); + // on change de page des miniatures + if (this.prop.currentPage!=tempCurrentPage){ + this.fixedPage(Math.floor(this.prop.currentPicture/this.prop.miniatureLimitToDisplay)+1); + this.displayMiniature(true, "fixe"); + } + // on active la miniature + $("#"+this.prop.imgMiniContainer+" img.currentimage").removeClass("currentimage"); + $("#"+this.prop.imgMiniContainer+" img[data-index="+this.prop.currentPicture+"]").addClass("currentimage"); + } + + // pour déplacer le scroll de l'image hd + // direction up, down (et top pour le déplacer tout en haut + this.imgHdScroll=function(direction,value){ + // si value n'existe pas alors, on lui attribue 10 + if(typeof value=="undefined") value=20; + var cadre=$("#cadreimghd"); + // pour scroll tout en haut + if(direction=="top"){ + cadre.scrollTop(0); + return;} + + var upOrDown=0; + if(direction=="up")upOrDown=-1; + if(direction=="down")upOrDown=+1; + + // on déplace le scroll + cadre.scrollTop(+cadre.get(0).scrollTop+(value*upOrDown)); + } +/******************************** KEYBOARD READING ******************************* + + escape*2 -> entre en mode URGENCE / sortir du mode URGENCE + + Sur miniature + right -> déplacement vers la droite de l'image sélectionne + left -> déplacement vers la gauche de l'image sélectionne + up -> déplacement vers le haut de l'image sélectionne + down -> déplacement vers le haut de l'image sélectionne + space -> déplacement d'une page(+1) de l'image sélectionne + shift+space -> déplacement d'une page(-1) de l'image sélectionne + enter -> ouverture de l'image HD sélectionnée + + Sur HD + right -> page suivante + left -> page précédente + space -> zoom/dé-zoom + up -> monter dans le zoom de l'image + down -> descendre dans le zoom de l'image + escape -> sortir de l'image HD (close hd) + +*********************************************************************************/ + // définition dest touche de controle + this.keys={ + left:[65,81,113,97,37], // q,a,< + right:[68,100,39], // d,> + up:[87,90,119,122,38], // w,z,^ + down:[83,115,40], // s,`down` + space:[32], // `space` + enter:[13,70,102], // `enter`, f + escape:[27,101,69], // `escape`,e + + // la dernière fois que la touche echap a été appuyée + lastEscapeTimeStamp:0, + + // savoir si l'évenement à une coresspondance dans la cle transmise + equals:function(key,keyEvent){ + for(var i=0; i