add files to project
2
web/assets/.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
*
|
||||
!.gitignore
|
4089
web/css/a.css
Normal file
1411
web/css/frame.css
Normal file
9
web/css/jquery-confirm.min.css
vendored
Normal file
1
web/css/jquery.fancybox.min.css
vendored
Normal file
1
web/css/lightbox.min.css
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
.lb-loader,.lightbox{text-align:center;line-height:0}body:after{content:url(../images/close.png) url(../images/loading.gif) url(../images/prev.png) url(../images/next.png);display:none}.lb-dataContainer:after,.lb-outerContainer:after{content:"";clear:both}body.lb-disable-scrolling{overflow:hidden}.lightboxOverlay{position:absolute;top:0;left:0;z-index:9999;background-color:#000;filter:alpha(Opacity=80);opacity:.8;display:none}.lightbox{position:absolute;left:0;width:100%;z-index:10000;font-weight:400}.lightbox .lb-image{display:block;height:auto;max-width:inherit;max-height:none;border-radius:3px;border:4px solid #fff}.lightbox a img{border:none}.lb-outerContainer{position:relative;width:250px;height:250px;margin:0 auto;border-radius:4px;background-color:#fff}.lb-loader,.lb-nav{position:absolute;left:0}.lb-outerContainer:after{display:table}.lb-loader{top:43%;height:25%;width:100%}.lb-cancel{display:block;width:32px;height:32px;margin:0 auto;background:url(../images/loading.gif) no-repeat}.lb-nav{top:0;height:100%;width:100%;z-index:10}.lb-container>.nav{left:0}.lb-nav a{outline:0;background-image:url(data:image/gif;base64,R0lGODlhAQABAPAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==)}.lb-next,.lb-prev{height:100%;cursor:pointer;display:block}.lb-nav a.lb-prev{width:34%;left:0;float:left;background:url(../images/prev.png) left 48% no-repeat;filter:alpha(Opacity=0);opacity:0;-webkit-transition:opacity .6s;-moz-transition:opacity .6s;-o-transition:opacity .6s;transition:opacity .6s}.lb-nav a.lb-prev:hover{filter:alpha(Opacity=100);opacity:1}.lb-nav a.lb-next{width:64%;right:0;float:right;background:url(../images/next.png) right 48% no-repeat;filter:alpha(Opacity=0);opacity:0;-webkit-transition:opacity .6s;-moz-transition:opacity .6s;-o-transition:opacity .6s;transition:opacity .6s}.lb-nav a.lb-next:hover{filter:alpha(Opacity=100);opacity:1}.lb-dataContainer{margin:0 auto;padding-top:5px;width:100%;-moz-border-radius-bottomleft:4px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomright:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px}.lb-dataContainer:after{display:table}.lb-data{padding:0 4px;color:#ccc}.lb-data .lb-details{width:85%;float:left;text-align:left;line-height:1.1em}.lb-data .lb-caption{font-size:13px;font-weight:700;line-height:1em}.lb-data .lb-caption a{color:#4ae}.lb-data .lb-number{display:block;clear:left;padding-bottom:1em;font-size:12px;color:#999}.lb-data .lb-close{display:block;float:right;width:30px;height:30px;background:url(../images/close.png) top right no-repeat;text-align:right;outline:0;filter:alpha(Opacity=70);opacity:.7;-webkit-transition:opacity .2s;-moz-transition:opacity .2s;-o-transition:opacity .2s;transition:opacity .2s}.lb-data .lb-close:hover{cursor:pointer;filter:alpha(Opacity=100);opacity:1}
|
1392
web/css/mobile.css
Normal file
634
web/css/site.css
Normal file
|
@ -0,0 +1,634 @@
|
|||
*,
|
||||
*:after,
|
||||
*:before {
|
||||
-moz-box-sizing: border-box;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Conv_FiraSans-SemiBold';
|
||||
src: url('../fonts/FiraSans-SemiBold.eot');
|
||||
src: local('☺'), url('../fonts/FiraSans-SemiBold.woff') format('woff'), url('../fonts/FiraSans-SemiBold.ttf') format('truetype'), url('../fonts/FiraSans-SemiBold.svg') format('svg');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Conv_FiraSans-Light';
|
||||
src: url('../fonts/FiraSans-Light.eot');
|
||||
src: local('☺'), url('../fonts/FiraSans-Light.woff') format('woff'), url('../fonts/FiraSans-Light.ttf') format('truetype'), url('../fonts/FiraSans-Light.svg') format('svg');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Conv_8170';
|
||||
src: url('../fonts/8170.eot');
|
||||
src: local('☺'), url('../fonts/8170.woff') format('woff'), url('../fonts/8170.ttf') format('truetype'), url('../fonts/8170.svg') format('svg');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Conv_FiraSans-Bold';
|
||||
src: url('../fonts/FiraSans-Bold.eot');
|
||||
src: local('☺'), url('../fonts/FiraSans-Bold.woff') format('woff'), url('../fonts/FiraSans-Bold.ttf') format('truetype'), url('../fonts/FiraSans-Bold.svg') format('svg');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Conv_8162';
|
||||
src: url('../fonts/8162.eot');
|
||||
src: local('☺'), url('../fonts/8162.woff') format('woff'), url('../fonts/8162.ttf') format('truetype'), url('../fonts/8162.svg') format('svg');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Conv_FiraSans-Medium';
|
||||
src: url('../fonts/FiraSans-Medium.eot');
|
||||
src: local('☺'), url('../fonts/FiraSans-Medium.woff') format('woff'), url('../fonts/FiraSans-Medium.ttf') format('truetype'), url('../fonts/FiraSans-Medium.svg') format('svg');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Conv_FiraSans-ExtraBold';
|
||||
src: url('../fonts/FiraSans-ExtraBold.eot');
|
||||
src: local('☺'), url('../fonts/FiraSans-ExtraBold.woff') format('woff'), url('../fonts/FiraSans-ExtraBold.ttf') format('truetype'), url('../fonts/FiraSans-ExtraBold.svg') format('svg');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
/** Generated by FG **/
|
||||
@font-face {
|
||||
font-family: 'Conv_FiraSans-Regular';
|
||||
src: url('../fonts/FiraSans-Regular.eot');
|
||||
src: local('☺'), url('../fonts/FiraSans-Regular.woff') format('woff'), url('../fonts/FiraSans-Regular.ttf') format('truetype'), url('../fonts/FiraSans-Regular.svg') format('svg');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
/** Generated by FG **/
|
||||
@font-face {
|
||||
font-family: 'Conv_fontawesome-webfont';
|
||||
src: url('../fonts/fontawesome-webfont.eot');
|
||||
src: local('☺'), url('../fonts/fontawesome-webfont.woff') format('woff'), url('../fonts/fontawesome-webfont.ttf') format('truetype'), url('../fonts/fontawesome-webfont.svg') format('svg');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Conv_Roboto-Regular';
|
||||
src: url('../fonts/Roboto-Regular.eot');
|
||||
src: local('☺'), url('../fonts/Roboto-Regular.woff') format('woff'), url('../fonts/Roboto-Regular.ttf') format('truetype'), url('../fonts/Roboto-Regular.svg') format('svg');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Conv_Roboto-Medium';
|
||||
src: url('../fonts/Roboto-Medium.eot');
|
||||
src: local('☺'), url('../fonts/Roboto-Medium.woff') format('woff'), url('../fonts/Roboto-Medium.ttf') format('truetype'), url('../fonts/Roboto-Medium.svg') format('svg');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Conv_Roboto-Bold';
|
||||
src: url('../fonts/Roboto-Bold.eot');
|
||||
src: local('☺'), url('../fonts/Roboto-Bold.woff') format('woff'), url('../fonts/Roboto-Bold.ttf') format('truetype'), url('../fonts/Roboto-Bold.svg') format('svg');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Conv_Roboto-Light';
|
||||
src: url('../fonts/Roboto-Light.eot');
|
||||
src: local('☺'), url('../fonts/Roboto-Light.woff') format('woff'), url('../fonts/Roboto-Light.ttf') format('truetype'), url('../fonts/Roboto-Light.svg') format('svg');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
|
||||
/* CSS RESET */
|
||||
html, body, div, span, applet, object, iframe,
|
||||
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
|
||||
a, abbr, acronym, address, big, cite, code,
|
||||
del, dfn, em, img, ins, kbd, q, s, samp,
|
||||
small, strike, strong, sub, sup, tt, var,
|
||||
b, u, i, center,
|
||||
dl, dt, dd, ol, ul, li,
|
||||
fieldset, form, label, legend,
|
||||
table, caption, tbody, tfoot, thead, tr, th, td,
|
||||
article, aside, canvas, details, embed,
|
||||
figure, figcaption, footer, header, hgroup,
|
||||
menu, nav, output, ruby, section, summary,
|
||||
time, mark, audio, video {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border: 0;
|
||||
font-size: 100%;
|
||||
font: inherit;
|
||||
vertical-align: baseline;
|
||||
-webkit-text-size-adjust:100%;
|
||||
outline:none
|
||||
}
|
||||
|
||||
/* HTML5 display-role reset for older browsers */
|
||||
article, aside, details, figcaption, figure,
|
||||
footer, header, hgroup, menu, nav, section {
|
||||
display: block;
|
||||
}
|
||||
html {
|
||||
height: 100%;
|
||||
}
|
||||
body {
|
||||
line-height: 1;
|
||||
-webkit-font-smoothing: subpixel-antialiased !important;
|
||||
-webkit-backface-visibility: hidden;
|
||||
-moz-backface-visibility: hidden;
|
||||
-ms-backface-visibility: hidden;
|
||||
background-color: #f7f7f7;
|
||||
padding-bottom: 78px;
|
||||
position: relative;
|
||||
min-height:100%;
|
||||
}
|
||||
ol, ul {
|
||||
|
||||
list-style: none;
|
||||
}
|
||||
blockquote, q {
|
||||
quotes: none;
|
||||
}
|
||||
blockquote:before, blockquote:after,
|
||||
q:before, q:after {
|
||||
content: '';
|
||||
content: none;
|
||||
}
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
border-spacing: 0;
|
||||
}
|
||||
input, textarea, button:focus {outline:none;
|
||||
border-radius:0
|
||||
}
|
||||
::-moz-focus-inner {border:0; outline:none}
|
||||
/* END CSS RESET */
|
||||
|
||||
/* GLOBAL */
|
||||
a {color:#65a3be; cursor:pointer; text-decoration:none}
|
||||
a:hover {text-decoration:none}
|
||||
b, strong {font-weight:normal}
|
||||
|
||||
html, body {position:relative; height:100%}
|
||||
|
||||
body {font-size:11pt; line-height:16pt; color:#4a4a4a;}
|
||||
|
||||
.cont {position:relative; max-width:978px; margin:0 auto; padding:0 10px}
|
||||
.clfix:after {clear:both; height:0; overflow:hidden; position:relative; zoom:1; display:block; content:""}
|
||||
|
||||
/* fonts */
|
||||
.contacts a,
|
||||
.mTarif span {font-family: 'Conv_8170'}
|
||||
|
||||
.logo,
|
||||
.all,
|
||||
.searchPhone.currNumber {font-family: 'Conv_FiraSans-Bold'}
|
||||
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
nav,
|
||||
.socialReg,
|
||||
.inpBtn {font-family: 'Conv_FiraSans-SemiBold'}
|
||||
|
||||
body,
|
||||
.inp,
|
||||
.registration,
|
||||
.searchLoading,
|
||||
.resultTitle,
|
||||
.resultTitle .sTime,
|
||||
.vkp p,
|
||||
.res,
|
||||
.bottInfo,
|
||||
.sinfo,
|
||||
.myProfileMenu,
|
||||
.rDate,
|
||||
.rResult .allRes {font-family: 'Conv_FiraSans-Light'}
|
||||
|
||||
.searchPhone,
|
||||
.footer {font-family: 'Conv_8162'}
|
||||
|
||||
.userMenu,
|
||||
.searchInner .searchBtn,
|
||||
.check span,
|
||||
.searchStatusInner strong,
|
||||
.socRes .resultTitle,
|
||||
.faceb a,
|
||||
.vkp,
|
||||
.listResult,
|
||||
.allRes,
|
||||
.userInfo span,
|
||||
.mBalans strong,
|
||||
.rPrice {font-family: 'Conv_FiraSans-Medium'}
|
||||
|
||||
/* colors */
|
||||
.articles h3,
|
||||
.search h2,
|
||||
.contacts a {color:#65a3be;}
|
||||
|
||||
|
||||
header {
|
||||
border-bottom:1px solid #e5e5e5; padding:15px 0 15px;font-size: 10pt; background:#fff; z-index:99;
|
||||
}
|
||||
/*header li {display:inline-block; vertical-align:top;}*/
|
||||
.logo {
|
||||
font-size:24px;
|
||||
color:#686868;
|
||||
font-family: Conv_FiraSans-Bold, serif;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
nav {float:left; width:auto; padding: 6px 0 0 51px; font-size:10.5pt}
|
||||
nav ul li {float:left; width:auto; padding:0 0px 0 0;}
|
||||
nav ul li a {color:#fff; margin: 0 26px 0 0;}
|
||||
nav ul li:last-child a {margin:0}
|
||||
nav ul li a:hover {text-decoration:underline}
|
||||
|
||||
.contacts {float:right; width:auto;padding: 6px 22px 0 0;font-size: 10.5pt;}
|
||||
.contacts li a {margin-left:8px;}
|
||||
.bot {position:relative; padding:1px 0 0 33px; font-size:10pt}
|
||||
.bot:before {content:""; display:block; vertical-align:top; width:29px; height:28px; background:url(../img/email.png) no-repeat; position:absolute; left:0; top:-6px; z-index:-1}
|
||||
.bot:hover {text-decoration:underline}
|
||||
.userMenu {
|
||||
/*float:right; width:auto;*/
|
||||
font-size: 14px;
|
||||
font-family: Conv_Roboto-Regular, serif;
|
||||
color:#3f3f45;
|
||||
}
|
||||
|
||||
.reg, .enter {
|
||||
font-size: 14px;
|
||||
font-family: Conv_Roboto-Regular, serif;
|
||||
text-decoration: underline;
|
||||
color:#3f3f45;
|
||||
}
|
||||
.reg:hover, .enter:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.search {text-align:center; padding: 7.51% 0 8.2%;}
|
||||
.search input {display:block; margin:0 auto 38px;}
|
||||
/*
|
||||
.search input + {display:block; margin:0 auto 38px;}
|
||||
.search input + a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
*/
|
||||
.searchPhone {width: 298px; border: 1px solid rgba(138, 144, 164, 0.7); border-radius:6px; color:#777f96; font-size:14pt; background:url(../img/phone.png) 18px 14px no-repeat; padding:18px 0 12px 52px;}
|
||||
.searchPhone.currNumber {color:#ff8e42; font-size:24pt; background:url(../img/phone2.png) 18px 14px no-repeat}
|
||||
.searchBtn {width:311px; background-image:url(../img/search.png); background-position: 89% 15px; background-repeat: no-repeat;padding: 17px 33px 16px;}
|
||||
.inpBtn {box-shadow:0 2px 0 rgba(202, 58, 8, 0.75); color: #fff; font-size: 19pt; text-shadow:0 1px 0 rgba(114, 29, 0, 0.41); background-color:#ff8e41; border:0; border-radius:6px; text-align:left; cursor:pointer}
|
||||
.inpBtn:hover {background-color:#65a3be; box-shadow:0 2px 0 rgba(0,0,0, 0.75);}
|
||||
|
||||
.searchInner {padding:0}
|
||||
.searchInner .cont {border-bottom:2px solid #5295b6; padding:18px 0 18px}
|
||||
.searchInner h2 {margin:0 0 18px}
|
||||
.check {display:inline-block; vertical-align:top;padding: 0 5px 0 0}
|
||||
.check span {display:block; font-size:13pt; color:#a9a9a9; text-align:center}
|
||||
.searchInner .searchPhone {display:inline-block; vertical-align:top; float:none; margin-bottom:4px;width: 272px;padding: 5px 10px 5px 42px;background-position: 19px 11px;}
|
||||
.searchInner .searchBtn {display:inline-block; vertical-align:top; float:none; background:#fff; color:#ff8e42; font-size:12pt; text-shadow:none; box-shadow:none; border:1px solid #ff8e42;margin: 0 0 0 4px;width: 233px;padding: 14px 0 15px;text-align: center;}
|
||||
.searchInner .searchBtn:hover {background:#ff8e42; color:#fff}
|
||||
|
||||
.searchBox {padding:22px 0 0}
|
||||
|
||||
.searchStatus {text-align:center}
|
||||
.searchStatusInner {color:#515151; font-size:10.5pt; text-transform:uppercase; padding:14px 15px 14px 54px; border:1px solid #b9b9b9; border-radius:50px; background-repeat:no-repeat; margin-bottom:23px; display:inline-block; vertical-align:top}
|
||||
.searchLoading {background-image:url(../img/sload.gif); background-position:9px 50%}
|
||||
.searchFinished {background-image:url(../img/sRes.png); background-position:9px 50%; font-size:12pt; padding-left:62px; background-position:18px 40%}
|
||||
.searchErr {background-image:url(../img/sErr.png); font-size:13pt; padding-left:62px; background-position:14px 50%; color:#c50726; text-transform:none}
|
||||
.searchErr a {text-decoration:underline}
|
||||
.searchErr .free {color:#666}
|
||||
|
||||
h2 {font-size:31pt; line-height:31pt;margin-bottom: 20px;}
|
||||
h3 {font-size:24pt; line-height:24pt;}
|
||||
|
||||
.articles {border-top:1px solid #adadad;padding: 0 0 15px;}
|
||||
.articles h3 {display:inline-block; vertical-align:top; border-top:2px solid #5295b6;padding: 29px 0 18px;}
|
||||
.article {padding-bottom:26px;}
|
||||
.date {color:#7e7e7e; font-size:9pt;padding: 0 0 8px;}
|
||||
.articles h4 {font-size:18pt;padding: 0 0 20px;}
|
||||
.articles .more {padding: 22px 0 0;}
|
||||
.articles .more a {background-color: #EBEBEB; border: 1px solid #C9C9C9; -moz-border-radius: 2px; -webkit-border-radius: 2px; border-radius: 2px; color:#464646;font-size: 10pt;padding: 6px 9px 5px 9px;display: inline-block;}
|
||||
.articles .more a:hover {background:#65a3be; border-color:#65a3be; color:#fff}
|
||||
|
||||
.all {padding:25px 0 20px;}
|
||||
.all a {color:#5295b6; text-decoration:underline; font-size:10.5pt;}
|
||||
.all a:hover {text-decoration:none}
|
||||
|
||||
.registration {background:url(../img/line.png) repeat-x; font-size:12.5pt; text-align:center;padding: 43px 0 37px;}
|
||||
.registration h3 {line-height:28pt;margin: 0 0 19px;}
|
||||
.inp {
|
||||
width: 402px;
|
||||
background-color: #FFF;
|
||||
border: 1px solid rgba(82, 149, 182, 0.61);
|
||||
-moz-border-radius: 5px;
|
||||
-webkit-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
color:#555353;
|
||||
font-size:14pt;
|
||||
padding: 15px 0;
|
||||
text-align: center;
|
||||
}
|
||||
.registration .fLine {padding:24px 0 0;margin: 0 0 -3px;}
|
||||
.registration label {font-size:14pt; color:#5295b6}
|
||||
.registration label input {vertical-align:middle; margin:0 11px;}
|
||||
.socialReg {font-size:14.5pt; color:#868686;padding: 30px 0 !important;}
|
||||
.socialReg p {padding-bottom:18px}
|
||||
|
||||
.regBtn {width:256px; background-image:url(../img/reg2.png); background-position: 18px 13px; background-repeat: no-repeat;padding: 15px 0 12px 68px;}
|
||||
|
||||
.vk, .fb, .google {width:46px; height:44px; display:inline-block; vertical-align:top; margin:0 5px; overflow:hidden; text-indent:-999px; position:relative; background-repeat:no-repeat}
|
||||
.vk {background-image:url(../img/vk.png)}
|
||||
.fb {background-image:url(../img/fb.png)}
|
||||
.google {
|
||||
position: relative;
|
||||
margin-right: 16px;
|
||||
height: 44px;
|
||||
width: 49px;
|
||||
border-radius: 100%;
|
||||
background-color: #db4437;
|
||||
background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0MDAiIGhlaWdodD0iNDAwIj48cGF0aCBmaWxsPSIjRkZGIiBkPSJNMTQyLjkgMjQuMkM5Ny42IDM5LjcgNTkgNzMuNiAzNy41IDExNi41IDMwIDEzMS4zIDI0LjYgMTQ3IDIxLjMgMTYzLjNjLTguMiA0MC40LTIuNSA4My41IDE2LjEgMTIwLjMgMTIuMSAyNCAyOS41IDQ1LjQgNTAuNSA2Mi4xIDE5LjkgMTUuOCA0MyAyNy42IDY3LjYgMzQuMSAzMSA4LjMgNjQgOC4xIDk1LjIgMSAyOC4yLTYuNSA1NC45LTIwIDc2LjItMzkuNiAyMi41LTIwLjcgMzguNi00Ny45IDQ3LjEtNzcuMiA5LjMtMzEuOSAxMC41LTY2IDQuNy05OC44aC0xNzV2NzIuNmgxMDEuNGMtMy45IDIzLjItMTcuNyA0NC40LTM3LjIgNTcuNS0xMi4zIDguMy0yNi40IDEzLjYtNDEgMTYuMi0xNC42IDIuNS0yOS44IDIuOC00NC40LS4xLTE0LjktMy0yOS05LjItNDEuNC0xNy45LTE5LjgtMTMuOS0zNC45LTM0LjItNDIuNi01Ny4xLTcuOS0yMy4zLTgtNDkuMiAwLTcyLjQgNS42LTE2LjQgMTQuOC0zMS41IDI3LTQzLjkgMTUtMTUuNCAzNC41LTI2LjQgNTUuNi0zMC45IDE4LTMuOCAzNy0zLjEgNTQuNiAyLjIgMTUgNC41IDI4LjggMTIuOCA0MC4xIDIzLjZMMzEwIDgwLjhjNi02LjEgMTIuMy0xMiAxOC4xLTE4LjMtMTcuMy0xNi0zNy43LTI4LjktNTkuOS0zNy4xLTQwLTE0LjgtODUtMTUuMS0xMjUuMy0xLjJ6Ii8+PHBhdGggZmlsbD0iI0ZGRiIgZD0iTTE0Mi45IDI0LjJjNDAuMi0xMy45IDg1LjMtMTMuNiAxMjUuMyAxLjEgMjIuMiA4LjIgNDIuNSAyMSA1OS45IDM3LjEtNS44IDYuMy0xMi4xIDEyLjItMTguMSAxOC4zbC0zNC4yIDM0LjJjLTExLjMtMTAuOC0yNS4xLTE5LTQwLjEtMjMuNi0xNy42LTUuMy0zNi42LTYuMS01NC42LTIuMi0yMSA0LjUtNDAuNSAxNS41LTU1LjYgMzAuOS0xMi4yIDEyLjMtMjEuNCAyNy41LTI3IDQzLjktMjAuMy0xNS44LTQwLjYtMzEuNS02MS00Ny4zIDIxLjUtNDMgNjAuMS03Ni45IDEwNS40LTkyLjR6Ii8+PHBhdGggZmlsbD0iI0ZGRiIgZD0iTTIxLjQgMTYzLjJjMy4zLTE2LjIgOC43LTMyIDE2LjItNDYuOCAyMC4zIDE1LjggNDAuNiAzMS41IDYxIDQ3LjMtOCAyMy4zLTggNDkuMiAwIDcyLjQtMjAuMyAxNS44LTQwLjYgMzEuNi02MC45IDQ3LjMtMTguOC0zNi43LTI0LjUtNzkuOC0xNi4zLTEyMC4yeiIvPjxwYXRoIGZpbGw9IiNGRkYiIGQ9Ik0yMDMuNyAxNjUuMWgxNzVjNS44IDMyLjcgNC41IDY2LjgtNC43IDk4LjgtOC41IDI5LjMtMjQuNiA1Ni41LTQ3LjEgNzcuMmwtNTkuMS00NS45YzE5LjUtMTMuMSAzMy4zLTM0LjMgMzcuMi01Ny41SDIwMy42Yy4xLTI0LjIuMS00OC40LjEtNzIuNnoiLz48cGF0aCBmaWxsPSIjRkZGIiBkPSJNMzcuNSAyODMuNWMyMC4zLTE1LjcgNDAuNi0zMS41IDYwLjktNDcuMyA3LjggMjIuOSAyMi44IDQzLjIgNDIuNiA1Ny4xIDEyLjQgOC43IDI2LjYgMTQuOSA0MS40IDE3LjkgMTQuNiAzIDI5LjcgMi42IDQ0LjQuMSAxNC42LTIuNiAyOC43LTcuOSA0MS0xNi4ybDU5LjEgNDUuOWMtMjEuMyAxOS43LTQ4IDMzLjEtNzYuMiAzOS42LTMxLjIgNy4xLTY0LjIgNy4zLTk1LjItMS0yNC42LTYuNS00Ny43LTE4LjItNjcuNi0zNC4xLTIwLjktMTYuNi0zOC4zLTM4LTUwLjQtNjJ6Ii8+PC9zdmc+);
|
||||
background-position: 50%;
|
||||
background-repeat: no-repeat;
|
||||
background-size: 18px auto;
|
||||
}
|
||||
|
||||
.socialReg a:hover {opacity:0.75}
|
||||
|
||||
/*
|
||||
footer {background:#5295b6; font-size:9.5pt; color:#fff;padding: 14px 0;}
|
||||
footer a {color:#fff}
|
||||
*/
|
||||
.copy {float:left; width:auto;padding: 6px 17px 6px 0;}
|
||||
.stores {float:left; width:auto}
|
||||
.stores li {float:left; width:auto;padding: 0 12px 0 0;}
|
||||
.stores a {float:left; width:122px; height:39px; text-indent:-999px; overflow:hidden; position:relative; background-repeat:repeat; border-radius:6px}
|
||||
.stores .appstore {background-image:url(../img/appstore.png)}
|
||||
.stores .googleplay {background-image:url(../img/googleplay.png)}
|
||||
.stores a:hover {box-shadow:0 0 5px rgba(0,0,0,0.5)}
|
||||
|
||||
.links {float:right; width:auto; position:relative; z-index:2;font-size: 10pt; padding:0 4.8% 0 0; text-align:right; top:-4px}
|
||||
.links li {display:block}
|
||||
.links li .bot {font-size:10.5pt}
|
||||
.links li .bot:before {background-image:url(../img/email2.png);left: -2px;top: -2px;}
|
||||
.links li:hover {text-decoration:underline}
|
||||
|
||||
.searchBox {border-top:1px solid #adadad}
|
||||
|
||||
.results {clear:both; display:block}
|
||||
.resultInner {background:#f7f7f7; border-radius:3px; margin:0 0 17px; position:relative; padding:19px 19px 18px}
|
||||
.resultInnerFirst {min-height:123px}
|
||||
.resultTitle {color:#46575f; text-transform:uppercase; font-size:13pt; border-bottom:1px solid #cfcfcf; padding-bottom:13px; margin-bottom:12px; position:relative}
|
||||
.resultTitle .sTime {color:#a2a2a2; font-size:8pt; padding-bottom:0; position:absolute; right:0; bottom:0}
|
||||
.parcent {background:#ff8e42; height:21px; border-radius:21px; position:absolute; right:-10px; top:-10px; color:#fff; font-size:9pt; padding:0 2.5px}
|
||||
.resultNo .parcent {background:#a8a8a8}
|
||||
|
||||
.results {margin:0 -9.5px}
|
||||
.results .resLeft {float:left; width:50%}
|
||||
.results .resRight {float:right; width:50%}
|
||||
.results .resultInner {margin:0 9.5px 19px}
|
||||
.results .result a {text-decoration:underline}
|
||||
.results .result a:hover {text-decoration:none}
|
||||
|
||||
.photos {overflow:hidden; position:relative; zoom:1; margin:0 -12px -12px 0}
|
||||
.photos li {float:left; width:auto; padding:0 12px 12px 0; height:70px}
|
||||
.photos li img {width:70px; height:70px; }
|
||||
|
||||
.names {color:#46575f; line-height:18pt; font-size:10pt}
|
||||
.socRes .resultTitle {font-size:18pt}
|
||||
|
||||
.socRes.resultNo {color:#282828}
|
||||
.socRes.resultNo .resultTitle {color:#46575f}
|
||||
.faceb {font-size:14pt}
|
||||
.faceb img {vertical-align:middle; width:108px; margin-right:42px}
|
||||
|
||||
.vkp {font-size:14pt; overflow:hidden; position:relative; zoom:1}
|
||||
.vkp img {width:108px; margin-right:19px; float:left}
|
||||
.vkp p {font-size:11.5pt; line-height:18pt; padding:5px 0 0}
|
||||
|
||||
.resultNo,
|
||||
.no {color:#c2c2c2; font-size:12pt}
|
||||
.resultNo .resultTitle {color:#969696}
|
||||
|
||||
.listResult,
|
||||
.allRes {font-size:12pt; line-height:22px}
|
||||
.allRes {padding:5px 0 0}
|
||||
.allRes span {color:#ff8e42}
|
||||
|
||||
.resultTitle .parc {color:#fe8204}
|
||||
.resultTitle .popular {color:#65a3be}
|
||||
|
||||
.res {color:#a0a0a0; font-size:11pt; line-height:17pt}
|
||||
.res li {clear:both; overflow:hidden}
|
||||
.res2 li {background:url(../img/linfo.png) 0 22px repeat-x; padding-bottom:3px}
|
||||
.res2 li span {position:relative; top:6px}
|
||||
.finfo {color:#a1a1a1; float:left; width:auto; padding-right:5px; background:#f7f7f7}
|
||||
.linfo {float:right; width:auto; background:#f7f7f7; color:#000; padding-left:5px}
|
||||
|
||||
.bottInfo {color:#000; font-size:6pt; line-height:10px; padding-bottom:20px}
|
||||
|
||||
.ic1:before {content:""; display:inline-block; vertical-align:middle; width:34px; height:25px; background:url(../img/ic1.png); margin:-5px 12px 0 0}
|
||||
.ic2:before {content:""; display:inline-block; vertical-align:middle; width:29px; height:26px; background:url(../img/ic2.png); margin:-5px 12px 0 0}
|
||||
.ic3:before {content:""; display:inline-block; vertical-align:middle; width:59px; height:59px; background:url(../img/ic3.png); margin:-5px 15px 0 0}
|
||||
.ic4:before {content:""; display:inline-block; vertical-align:middle; width:59px; height:59px; background:url(../img/ic4.png); margin:-5px 15px 0 0}
|
||||
.ic5:before {content:""; display:inline-block; vertical-align:middle; width:43px; height:25px; background:url(../img/ic5.png); margin:-5px 12px 0 0}
|
||||
.ic6:before {content:""; display:inline-block; vertical-align:middle; width:26px; height:26px; background:url(../img/ic6.png); margin:-5px 12px 0 0}
|
||||
.ic7:before {content:""; display:inline-block; vertical-align:middle; width:30px; height:29px; background:url(../img/ic7.png); margin:-5px 12px 0 0}
|
||||
.ic8:before {content:""; display:inline-block; vertical-align:middle; width:37px; height:34px; background:url(../img/ic8.png); margin:-5px 15px 0 0}
|
||||
.ic9:before {content:""; display:inline-block; vertical-align:middle; width:34px; height:34px; background:url(../img/ic9.png); margin:-5px 15px 0 0}
|
||||
.scorista:before {content:""; display:inline-block; vertical-align:middle; width:34px; height:34px; background:url(../img/scorista.png); margin:-5px 15px 0 0; background-size: cover;}
|
||||
|
||||
.resultNo .ic1:before {background:url(../img/ic1no.png) !important}
|
||||
.resultNo .ic2:before {background:url(../img/ic2no.png)}/*
|
||||
.resultNo .ic3:before {background:url(../img/ic3no.png)}
|
||||
.resultNo .ic4:before {background:url(../img/ic4no.png)}*/
|
||||
.resultNo .ic5:before {background:url(../img/ic5no.png)}
|
||||
.resultNo .ic6:before {background:url(../img/ic6no.png)}
|
||||
.resultNo .ic7:before {background:url(../img/ic7no.png)}
|
||||
.resultNo .ic8:before {background:url(../img/ic8no.png)}
|
||||
.resultNo .ic9:before {background:url(../img/ic9no.png)}
|
||||
|
||||
.tarif,
|
||||
.balans {font-size:11.5pt; padding:3px 0 0 38px; position:relative; top:-4px; line-height:13pt}
|
||||
.tarif span,
|
||||
.balans span {color:#65a3be; font-weight:bold}
|
||||
.tarif {padding-right:25px; border-right:1px solid #e0e0e0; height:37px; display:inline-block; position:relative}
|
||||
.tarif:before {content:""; width:29px; height:31px; display:inline-block; vertical-align:middle; background:url(../img/i1.png) no-repeat; position:absolute; top:5px; left:0}
|
||||
.link {display:inline-block; font-size:9pt; text-decoration:underline}
|
||||
.link:hover {background:#65a3be; color:#fff; border-color:#65a3be}
|
||||
.balans {display:inline-block; padding:0 0 0 59px; position:relative}
|
||||
.balans:before {content:""; width:37px; height:31px; display:inline-block; vertical-align:middle; background:url(../img/i2.png) no-repeat; position:absolute; top:2px; left:12px}
|
||||
|
||||
a.sAppStore, a.sGp {margin-right:14px; float:right; width:auto}
|
||||
a.sAppStore img, a.sGp img {float:left; width:auto}
|
||||
|
||||
.profile {float:right; width:auto}
|
||||
/*.myProfile {border:1px solid #5295b6; padding:7px 24px 8px 36px; border-radius:38px; display:inline-block; vertical-align:top; font-size:10.5pt; background:url(../img/profile.png) 15px 45% no-repeat; margin:-2px 0 0}*/
|
||||
/*.myProfile:hover {background-color:#f5f5f5}*/
|
||||
|
||||
.myProfile {
|
||||
font-family: Conv_Roboto-Regular, serif;
|
||||
font-size: 14px;
|
||||
color: #3f3f45;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.sinfo img {float:left; width:108px; margin-right:15px}
|
||||
.sinfo {font-size:13pt}
|
||||
.sinfo a {display:inline-block; vertical-align:top; width:140px; height:40px; border:1px solid #65a3be; border-radius:40px; text-align:center; text-decoration:none !important; font-size:11pt; line-height:39px; margin-right:7px; margin-top:10px}
|
||||
.sinfo a.freeBuy {border-color:#cfcfcf; line-height:12pt; color:#3d3d3d; padding-top:3px; height:37px}
|
||||
.sinfo a:hover {background:#65a3be; color:#fff; border-color:#65a3be}
|
||||
|
||||
.btns {display:inline-block; vertical-align:top}
|
||||
|
||||
.searchWrap .logo,
|
||||
.myProfileWrap {display:none}
|
||||
|
||||
footer a.sGp {margin-right:0}
|
||||
footer a.sAppStore {margin-right:14px}
|
||||
|
||||
.singIn img {height:31px}
|
||||
.singIn a.sAppStore, .singIn a.sGp {margin-right:8px}
|
||||
.singIn .myProfile {padding:4px 9px 5px 32px; margin:-1px 0 0; font-size:9.5pt; background-position:10px 5px}
|
||||
|
||||
.usInf {float:left; width:auto}
|
||||
.usLinks {float:right; width:auto}
|
||||
|
||||
.profile li {position:relative}
|
||||
.myProfileOpen {border-radius:6px 6px 0 0; border-bottom-color:#fff; z-index:21; position:relative; height:30px; background-color:#fff !important}
|
||||
.myProfileMenu {color:#8b8b8b; font-size:12pt; line-height:59px; border:1px solid #5295b6; background:#fff; position:absolute; top:39px; right:0; border-radius:6px 0 6px 6px; width:351px; display:none; z-index:20; text-align:left}
|
||||
.myProfileWrap .myProfileMenu {top:50px}
|
||||
.myProfileWrap .myProfileOpen {height:36px; background-position:10px 8px}
|
||||
.myProfileMenu .mLine {border-bottom:1px solid #ddd; height:59px; line-height:59px; padding:0 0 0 42px}
|
||||
.myProfileMenu .mLogin,
|
||||
.myProfileMenu .mTarif,
|
||||
.myProfileMenu .mBalans {font-size:11pt}
|
||||
.myProfileMenu .mLogin span,
|
||||
.myProfileMenu .mTarif strong {color:#65a3be}
|
||||
.myProfileMenu .mTarif strong {text-transform:uppercase}
|
||||
.myProfileMenu .mLogin {background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAcCAMAAABBJv+bAAACE1BMVEU0NDT///80NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDTBx2TnAAAAsHRSTlMAAAECAwQFBggJCgsMDQ4PEBIUFRYXGBkbHB0eHyAhIiMmJygpKissLS4vMzQ1Njc5Ozw/REVISU1OT1FSU1RWWFldXl9gY2RlZmdrbm9wcXJzdXZ5ent8f4CBg4aJi4yNj5OVl5iZm52goaKjpaanqKytsLGztbe4uby+wMHCxMXGyMnKy8zNzs/Q0dTW19jb3N3e3+Dh4+Tl5ufp6uvs7e7v8PLz9Pb3+Pn6+/z9/nHaS7UAAAIUSURBVHjaVdP7X8tRHMfxz/lmzEzLalOJjEwkotBcMvdGiRJCsVbuZTLdjJKiC9pqsdVKTLNsq/ef6Hu+333X9no8zuOcx3n+cM4P51Ay4fCd7q/BxelBR1UmU1Jwc90wgIh/ehHArKM4nSu/Af01pXoVaQotbXOINWnXeF0r4NzHV7qc9eJmps2PsSKF1S74j/PFiaF/CDiyxO3sdgTLZM7owISJ6zngmX0KA9zZTQRMEtfDm8t1a2jlFJH+C+4x3i0MbxR5dyR6kHiX4SIidhoTGZK/QqPIL/CQpJpRyzk3GtgkcUHol5HyI0t5Mt+HjXPOsl/DpOyoIRtekpwVTziXY0SQeT/c1InzCd4yHzaL3IMGJqeamqdPKKFElzBzodKJMR1L5IqRd7WQlK6HAbwrYEqP4uRb2U7J8i7WlQssWVucxrGXUmMpOePUBYsiu650fPjc11yhVXj8N12DXUZjJ4A/P2OA1yJrfnSITPEfGq5lMxg4s1OnNRxqiaFV4FyL20QuVItqDuKGkDi7ZBJ2cdJ4IjuISuOzRlKPoGHtatt8qGKsCXZGRC3opbPoS735UUyKw5fFWfMWj92oSGX2HncXIkcYZzKMAn4hjWuAVavyFPU9CFerU9jci4VjTGFS1YfhaSzeIHH2yW7gdVHaN9jTHgK+9z9/2jX6F3BbmRwlM1x941mKxZbnPj44wJT+A4YAqJcARoPDAAAAAElFTkSuQmCC); background-position:16px 50%; background-repeat:no-repeat; padding-left:55px}
|
||||
.myProfileMenu .mHistory a {background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAUCAMAAABlGZcgAAABKVBMVEX///9lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo74u5d5DAAAAYnRSTlMAAQMFCAsMDg8RExUXHCAhJScoKywtNjk6Oz0/RElKS0xNTlRXXWFkZWlrcHF2d3l9goeIiYqTl5qcn6Glp6ips7S3vcHCw8TKy8zP09XY3N7f4eLl5urs7fHz9PX2+fr7/GWQrrsAAADJSURBVHgBY4hIiEaA+EgGVeckBPDQZGAQjkmIBYOY+AQZBiAwsOHm4+Pn4+M2sWIAAQUHBggw1wZTHEEcYJrZXwhMM9oacjnaOwiruTFC1PH6aUQnJWr7ijJAgbS3jouxpzIDHEh4cboqMSCAWCC7jyyCKx4qySASogjj8gTLgdSECEH51mYMDOwMDHrOEPvYg1hZLcIs2ZgCBMB8eTuWQKDfglhNIe7VN9IFe9ZUywLEFYyKSwDzE+PipRgYVJyQwsNdnSEcNbwAhVwxL9OmoL4AAAAASUVORK5CYII=); background-position:16px 50%; background-repeat:no-repeat}
|
||||
.myProfileMenu .mConstacts a {background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAAUCAMAAABYi/ZGAAAA2FBMVEVlo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75HOLnCAAAAR3RSTlMAAQIDBAUGBwgJChcgJCYqKywuMDIzNzlTVldeaWttbnN0d3h5e3yEhZCRkq+ws8bJ2tvi5OXr7O3u7/Dx8/T3+Pn6+/z9/vIcuFAAAADlSURBVHgBZZDpVsIwEEY/CJq0orgv4L4IIu5oSws2MxTm/d/ImCCK3J7TH/d0mskFoNq5tUVhwzPsKACXssgVoNLpeba3uRVonMoAABf6YwU/1HiM1n057o6iudNEIHFY/euYcPM4KXufBth5fdmeOYCK1TSG6ou8KcAQw6yxrWcRtBUh/e0I77P/VR5EehVAE6PvnQHUybHCfJbqWQxsNJvr8N/5M3QS40gch8Hd+l0iHDynydN+mOV/OxtmtLqT8m5k/tyDQ4NksQFqg+lFvutbuVfjzLe6Xm6KamcY2juszdvVL3uwMpTcwYsnAAAAAElFTkSuQmCC); background-position:16px 50%; background-repeat:no-repeat}
|
||||
.myProfileMenu .mProfile a {background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAWCAMAAAAYXScKAAABR1BMVEVlo77///9lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo75lo74lFXcXAAAAbHRSTlMAAAECAwQFBgcJCgsNDxAREhMVFxgZGhsdHh8iIyUmKy0vMjM0ODk7QURGR1NWWF1eX2JlZmdqbHB1d4KFkpaYm5yeoKmsubrCxMXHyMnKy83Q0tPU2d3e4eLj5ebo6uvs7u/x9vf4+vv8/f4WiwkFAAABIElEQVQY02WRRVtCUQBE5z5BBSxUxMDu7u5uxQ4UfQrChfP/1y4eqHzO8izmm5AKcqLNzWWSjDHGFKGiX9Z2l9CagDQKjEvlLUUavr7o8G8B+6H6g2SPRxvi4J5lgdzNI7i9xkiKffJXdsQYSc6iBXCfXy2Q33A834oXSC0H5Jt4h1yd51s9n8HOSpL60rAWNkZ1p/cZiPs1cbzsaBtyz7dtigGwq8oUtGsSgMEC3VFlinxM0wAMqPb47gvifo0dLUm7YB+uWiWFZjLYOUlSf5r8ak0hWQLSK0H5ptzfZFqwQN5NvFmAda9Fa2nj7JAxksIn8HGaBXLXT5Ds8hyqL887fJvAXjB8mOgsrl4VkIYLqzeVPNT47yFJciKRyM+b32xXWBsRc+aUAAAAAElFTkSuQmCC); background-position:16px 50%; background-repeat:no-repeat}
|
||||
.myProfileMenu .mExit a {background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAASCAMAAABsDg4iAAAAvVBMVEVhYGH///9hYGFhYGFhYGFhYGFhYGFhYGFhYGFhYGFhYGFhYGFhYGFhYGFhYGFhYGFhYGFhYGFhYGFhYGFhYGFhYGFhYGFhYGFhYGFhYGFhYGFhYGFhYGFhYGFhYGFhYGFhYGFhYGFhYGFhYGFhYGFhYGFhYGFhYGFhYGFhYGFhYGFhYGFhYGFhYGFhYGFhYGFhYGFhYGFhYGFhYGFhYGFhYGFhYGFhYGFhYGFhYGFhYGFhYGFhYGFhYGFhYGFAEEzCAAAAPnRSTlMAAAEFDg8QERITFBcbKCk3Oj0+QEJFR0hJSlNUVldcXX5/wMLDxsfW5+nq6+zt7u/w8fLz9PX29/n6+/z9/j3oCnMAAADUSURBVBjTZVCHksIgFMQSCPYS9dSz91jCBVsivP//LB+gnqO7sAM7w7BvSRDetFZIrXAjVBgQAccwQggRWW6OIAikPY8Z5K0y+psC0UmNvCNTTzSBpGUvP7OKM9toXk9dc86tIKq9zGzWPaNTkN2nWaSM+z73vdISLqOHKeQD+wOAnjgziuNYSpTdHkCNnVnwMCZlNF9awHn48RGbg+x8RzpUX5EgdeHb0/J/eH39GLNhx+zTAucY1OcGdICFCDhtxR/SLJTtGasLQtOtshUrI7d18w6qZChVYrGSUgAAAABJRU5ErkJggg==); background-position:16px 50%; background-repeat:no-repeat}
|
||||
.myProfileMenu .mTarif {background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAASCAMAAABl5a5YAAABF1BMVEX/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkIbYfKtAAAAXHRSTlMAAgMEBQYHCAkMDxASFBUWFxgZGhscKDc8TFZjb3J1dnd4eX1+f4CBgoSFiYqLjI2Oj5WZnZ+qq7G0tba3uLm7vL6/wMHCw8bHysvU293e3+Dw8fP29/n6+/z9/kC3k7YAAADwSURBVBgZBcE9S0JhGMfh332f56iHKANdGgrKII2CrMUt6AM09WF7mRqyIZemCKLaGrIXRE2PPs+/67KLPPp0UhWMm1X5MlR/70/7QwD2W/3eetBrnp881YV/dzx/OwoU7bvDLqRs6+O9PVJQSsMrw5ClfDeZG7UVpRRjiqrXwGXRALCcGIXb0gyA4/MwRzjYwjZW2ey4YSKQqSzOZo+9v8vFGhkOZLOvoje/mUAUTlQtXT+Pb0dgbgQyS6SHgYBokss0BQQwjW7BSj/4LKInrGxmCwKVQYNSGPDzsk1gr5JLyZEpa+wolKElE4AJmP8DMBBs3O7PZQUAAAAASUVORK5CYII=) 16px 50% no-repeat; margin-left:-42px; padding-left:42px; position:relative; margin-right:15px; padding-right:20px}
|
||||
.myProfileMenu .mTarif:after {content:""; width:2px; height:30px; position:absolute; right:0; top:-7px; background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAAHCAAAAAAHEMNLAAAAFUlEQVQI12N48J9h8kmGD/8Z/iMQAIS4DSOu364EAAAAAElFTkSuQmCC) repeat-y}
|
||||
.myProfileMenu .mBalans {background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAARCAMAAAAIRmf1AAAA3lBMVEX/jkL/////jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL/jkL+CvG4AAAASXRSTlMAAAIEBg8RFSAvMzU+SVBXWVpcX2BmZ2hpa2xtb3OAgoOMkJeZm5+irLCys7e6wMHCxsjR1NXW19jZ2tvc4+To8/T19vf5+vz9S9vv+QAAAKhJREFUeNptzdcOgkAQheFBsIssFhaxY29gpVhZirLv/0JyYyLlz1x9OckAN7Zt0zBM0zAt63K7P0c5WL1aDRFFCUgQEBKVUICgBJujru81XY/usGO7dfC3tY6MZYwlScJt3OOrHBBKP3+FlK4jS+aDkzKSsQsSdtZOj2vchsVmgWVj5ueXdMEwMQv5yrycMBqoymA6yfj7Bj9lLswyjFMdz/1FiOuR/heiDElUIcGqCAAAAABJRU5ErkJggg==) 0 50% no-repeat; padding-left:28px}
|
||||
.myProfileMenu .mLine.mShps {height:auto; padding:14px 0 14px 12px; line-height:normal}
|
||||
.myProfileMenu .mLine.mShps a {display:inline-block; vertical-align:top; margin-right:3px}
|
||||
.myProfileMenu .mLine.mShps img {height:31px}
|
||||
.mBot {border:1px solid #d8d9d9; border-radius:5px; font-size:9pt; padding:6px 16px 6px 34px; background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAVCAMAAAB1/u6nAAABzlBMVEUAkcsAkcwBkMsBkswBk8wCk8sDk8wDlMwFkMsFlMwFlM0GlMwGlc0Gls0Hlc0Hls0Ils0Il84JkMoLl84LmM4MmM4MmM8Mmc8Nls0NmM8Ol84OmM8Pmc8Qmc8Qms8RmdARmtASl88Sms8SmtASm9ATm9AUm9AUnNAVnNAWmc8Ymc8YnNAZmc8ZmdAZms8ZndEcn9Idn9IendEfnNEgnNAgoNMhndIhodMkntIlndEmodMmpNQopNQqodIqodMqptUsodMsotQsptUtotMtptUuptUxptYyptUzqdY6q9g7rNg8rNhBrtlBr9lCrNhCrdpIstpJstpQsdpQsdtTs9tXtNxXtdxeut9iveBjvOBpv+FqwOFvweJvw+NwwuJywuN4xeR4xuR5xuR5xuV6xuV8x+SAyeaCyOWGy+iLzuiPzuiP0OmQzuiRzuiV0OiV0Omb0+qb1Oqi1eyq3O6s2+6w3vC03/C54vG94/K+5PLB5fPI6PTK6PTK6fTL6fXM6fXQ6/TQ6/bT7PbX7ffZ7vfb7/jb8Pfc7/jc8Pjg8vnh8/ji8/rk8/rk9Prn9frr9/vt9/vt+Pvy+f30+/31+/z2+/76/f77/f7+///////8GZ58AAABNUlEQVQY022R03aDQQCEt3ab2s7spraZ2kyt1LZt25237cWf6pzO3XxXA0GS5PGcqSA+0di+cKp5QZKXg3nKoqKxuy+8VYVfqt3T8GYG/ih/hxS8KP8D9UD1LcV7zxeQMtTVISAkGhii2EnWmAHewqWi72jUViLrRIwrAFJFuIikrtWrF/baKWBWNCgg2sMmqG7xmhvTD8/lOgW0ijSFqPBq8wF509H9yLMIXwkUixglfVLWyNepHPMHueIECWSLdAV9WFzlxLDXEkmOWBsAGEWDAhAoUjsnSZLNzgYALVoSwL7//nCZfMoMBIAZS27l3rie6zjwth0ZBiDr5Luln84z2Kq+yV8PYIiCF2WW6hJS5yahbUJu/CwoFYD83f/2rtn/552Sn3dIHs+bCmMTStsWzjX/CZdBh9tDrIoKAAAAAElFTkSuQmCC) 7px 50% no-repeat}
|
||||
|
||||
.myProfileMenu .mHistory a,
|
||||
.myProfileMenu .mConstacts a,
|
||||
.myProfileMenu .mProfile a,
|
||||
.myProfileMenu .mExit a {height:59px; display:block; margin-left:-42px; padding-left:42px}
|
||||
|
||||
.myProfileMenu .mHistory a:hover,
|
||||
.myProfileMenu .mConstacts a:hover,
|
||||
.myProfileMenu .mProfile a:hover,
|
||||
.myProfileMenu .mExit a:hover {background-color:#f5f5f5}
|
||||
|
||||
.rTable {width:100%; margin:-14px 0 0}
|
||||
.rTable td {background:url(../img/linex.png) 0 100% repeat-x; padding:10px 0}
|
||||
.rTable td:first-child {width:154px}
|
||||
.rTable a {font-size:12.5pt}
|
||||
.rDate {color:#b4b4b4; font-size:9.5pt}
|
||||
.rPrice {color:#ff8e42; font-size:10.5pt}
|
||||
|
||||
.rRes {font-size:9.5pt; line-height:13pt; padding-left:14px !important; vertical-align:middle}
|
||||
.rResult .allRes {border-right:1px solid #bbb; height:40px; line-height:36px; padding-right:17px}
|
||||
.rResult .allRes a {color:#436a90}
|
||||
|
||||
.mCheck {width:30px; height:9px; border-radius:9px; position:relative; float:right; background:#fff; cursor:pointer; z-index:5}
|
||||
.mCheckOn {background:#4add85}
|
||||
.mCheck div {width:15px; height:15px; background:#fff; border:1px solid #ddd; border-radius:15px; top:-4px; position:absolute; left:-7px; right:auto}
|
||||
.mCheckOn div {right:-7px; left:auto}
|
||||
|
||||
@media (min-width: 999px) {
|
||||
.searchWrap {position:relative}
|
||||
.searchWrap .logo {position:absolute; left:10px; top:8px}
|
||||
.myProfileWrap {position:absolute; right:10px; top:8px}
|
||||
|
||||
.searchWrap.scroll {min-height:180px}
|
||||
.searchWrap.scroll .searchInner {position:fixed; left:0; top:0; width:100%; background:#fff; border-bottom:1px solid #999; z-index:99}
|
||||
.searchWrap.scroll h2 {display:none}
|
||||
.searchWrap.scroll .logo,
|
||||
.searchWrap.scroll .myProfileWrap {display:block; top:25px}
|
||||
|
||||
.headerFix {position:static; z-index:auto}
|
||||
.myProfileMenuFix {position:fixed; z-index:1000}
|
||||
}
|
||||
@media (max-width: 998px) {
|
||||
.menu {width:40px; height:31px; border-radius:3px; background:url(../img/menu.png) 50% 50% no-repeat; position:absolute; left:10px; top:0; background-color:#fff; border:1px solid #65a3be; cursor:pointer}
|
||||
.copy {padding-left:55px}
|
||||
nav {margin-right:-30px}
|
||||
nav ul {position:absolute; bottom:58px; left:0; background:#5295b6; padding:0; display:none; z-index:5; width:100%; padding-bottom:1px}
|
||||
nav ul li {display:block; margin:0; padding:0; margin-bottom:-1px}
|
||||
nav ul li a {display:block; border-bottom:1px solid #65a3be; margin:0; padding:10px 15px; float:none}
|
||||
nav ul li a:hover {background:#65a3be; color:#fff}
|
||||
.userInfo {max-width:800px; margin:0 auto}
|
||||
.userInfo .sAppStore,
|
||||
.userInfo .sGp {margin-top:10px}
|
||||
.sinfo a {width:110px; font-size:10.5pt}
|
||||
.profile {margin-right:70px}
|
||||
.links {padding:0 15px 0 0; margin-left:-50px}
|
||||
|
||||
/*.usInf {clear:both; text-align:center; border-top:1px solid #f3f3f3; padding:14px 0; float:none}*/c
|
||||
.usInf div {text-align:left}
|
||||
.profile {position:absolute; right:0; top:0; margin-right:10px !important}
|
||||
.usLinks {text-align:center; clear:both; text-align:center; border-top:1px solid #f3f3f3; padding:10px 0 0; float:none}
|
||||
.usLinks a {float:none; margin:0; display:inline-block}
|
||||
header {padding-bottom:15px}
|
||||
}
|
||||
@media (max-width: 768px) {
|
||||
.links li {display:block; vertical-align:top;padding:0 0 0 16px}
|
||||
.searchInner h2 {font-size:26pt}
|
||||
}
|
||||
@media (max-width: 640px) {
|
||||
.searchInner h2 {font-size:20pt}
|
||||
.searchInner .searchBtn {display:block; margin:15px auto 0}
|
||||
.results .resLeft {width:auto}
|
||||
.results .resRight {width:auto}
|
||||
.sinfo a {width:120px; font-size:10.5pt}
|
||||
.btns {display:block; vertical-align:top}
|
||||
.contacts {clear:both; margin:0; padding-right:10px; padding-bottom:0}
|
||||
}
|
||||
|
||||
|
||||
/* retina */
|
||||
@media only screen and ( -webkit-min-device-pixel-ratio: 1 ),
|
||||
only screen and ( min--moz-device-pixel-ratio: 1 ),
|
||||
only screen and ( -o-min-device-pixel-ratio: 2 ),
|
||||
only screen and ( min-device-pixel-ratio: 1 ),
|
||||
only screen and ( min-resolution: 124.8dpi ),
|
||||
only screen and ( min-resolution: 1dppx ) {
|
||||
|
||||
}
|
||||
.page {position:absolute; left:0; top:0; width:100%; height:9999px; background:url(../1.png) 50% 0 no-repeat; opacity:0.5; z-index:999;}
|
||||
|
||||
input[type="submit"] {
|
||||
-webkit-appearance: none;
|
||||
-moz-appearance: none;
|
||||
appearance: none;
|
||||
}
|
||||
|
||||
.footer__menu {
|
||||
margin-left: 35px;
|
||||
}
|
||||
|
||||
.footer__menu a {
|
||||
font-size: 13px;
|
||||
font-family: Conv_Roboto-Medium, serif;
|
||||
text-decoration: underline;
|
||||
color: #3f3f45;
|
||||
}
|
||||
|
||||
footer > .cont {
|
||||
line-height: 84px;
|
||||
display: table;
|
||||
width: 100%;
|
||||
vertical-align: middle;
|
||||
}
|
87
web/css/slimbox2.css
Normal file
|
@ -0,0 +1,87 @@
|
|||
/* SLIMBOX */
|
||||
|
||||
#lbOverlay {
|
||||
position: fixed;
|
||||
z-index: 9999;
|
||||
left: 0;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: #000;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
#lbCenter, #lbBottomContainer {
|
||||
position: absolute;
|
||||
z-index: 9999;
|
||||
overflow: hidden;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
.lbLoading {
|
||||
background: #fff url(loading.gif) no-repeat center;
|
||||
}
|
||||
|
||||
#lbImage {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
border: 10px solid #fff;
|
||||
background-repeat: no-repeat;
|
||||
max-width: 700px;
|
||||
max-height: 700px;
|
||||
background-position: center;
|
||||
background-size: cover;
|
||||
}
|
||||
|
||||
#lbPrevLink, #lbNextLink {
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
width: 50%;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
#lbPrevLink {
|
||||
left: 0;
|
||||
}
|
||||
|
||||
#lbPrevLink:hover {
|
||||
background: transparent url(prevlabel.gif) no-repeat 0 15%;
|
||||
}
|
||||
|
||||
#lbNextLink {
|
||||
right: 0;
|
||||
}
|
||||
|
||||
#lbNextLink:hover {
|
||||
background: transparent url(nextlabel.gif) no-repeat 100% 15%;
|
||||
}
|
||||
|
||||
#lbBottom {
|
||||
font-family: Verdana, Arial, Geneva, Helvetica, sans-serif;
|
||||
font-size: 10px;
|
||||
color: #666;
|
||||
line-height: 1.4em;
|
||||
text-align: left;
|
||||
border: 10px solid #fff;
|
||||
border-top-style: none;
|
||||
}
|
||||
|
||||
#lbCloseLink {
|
||||
display: block;
|
||||
float: right;
|
||||
width: 66px;
|
||||
height: 22px;
|
||||
background: transparent url(closelabel.gif) no-repeat center;
|
||||
margin: 5px 0;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
#lbCaption, #lbNumber {
|
||||
margin-right: 71px;
|
||||
}
|
||||
|
||||
#lbCaption {
|
||||
font-weight: bold;
|
||||
}
|
42
web/css/source/fonts.css
Normal file
|
@ -0,0 +1,42 @@
|
|||
@font-face {
|
||||
font-family: 'Conv_FiraSans-SemiBold';
|
||||
src: url('../fonts/FiraSans-SemiBold.eot');
|
||||
src: local('☺'), url('../fonts/FiraSans-SemiBold.woff') format('woff'), url('../fonts/FiraSans-SemiBold.ttf') format('truetype'), url('../fonts/FiraSans-SemiBold.svg') format('svg');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Conv_FiraSans-Light';
|
||||
src: url('../fonts/FiraSans-Light.eot');
|
||||
src: local('☺'), url('../fonts/FiraSans-Light.woff') format('woff'), url('../fonts/FiraSans-Light.ttf') format('truetype'), url('../fonts/FiraSans-Light.svg') format('svg');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Conv_8170';
|
||||
src: url('../fonts/8170.eot');
|
||||
src: local('☺'), url('../fonts/8170.woff') format('woff'), url('../fonts/8170.ttf') format('truetype'), url('../fonts/8170.svg') format('svg');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Conv_FiraSans-Bold';
|
||||
src: url('../fonts/FiraSans-Bold.eot');
|
||||
src: local('☺'), url('../fonts/FiraSans-Bold.woff') format('woff'), url('../fonts/FiraSans-Bold.ttf') format('truetype'), url('../fonts/FiraSans-Bold.svg') format('svg');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Conv_8162';
|
||||
src: url('../fonts/8162.eot');
|
||||
src: local('☺'), url('../fonts/8162.woff') format('woff'), url('../fonts/8162.ttf') format('truetype'), url('../fonts/8162.svg') format('svg');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Conv_FiraSans-Medium';
|
||||
src: url('../fonts/FiraSans-Medium.eot');
|
||||
src: local('☺'), url('../fonts/FiraSans-Medium.woff') format('woff'), url('../fonts/FiraSans-Medium.ttf') format('truetype'), url('../fonts/FiraSans-Medium.svg') format('svg');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
53
web/css/source/reset.css
Normal file
|
@ -0,0 +1,53 @@
|
|||
/* CSS RESET */
|
||||
html, body, div, span, applet, object, iframe,
|
||||
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
|
||||
a, abbr, acronym, address, big, cite, code,
|
||||
del, dfn, em, img, ins, kbd, q, s, samp,
|
||||
small, strike, strong, sub, sup, tt, var,
|
||||
b, u, i, center,
|
||||
dl, dt, dd, ol, ul, li,
|
||||
fieldset, form, label, legend,
|
||||
table, caption, tbody, tfoot, thead, tr, th, td,
|
||||
article, aside, canvas, details, embed,
|
||||
figure, figcaption, footer, header, hgroup,
|
||||
menu, nav, output, ruby, section, summary,
|
||||
time, mark, audio, video {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border: 0;
|
||||
font-size: 100%;
|
||||
font: inherit;
|
||||
vertical-align: baseline;
|
||||
-webkit-text-size-adjust:100%;
|
||||
outline:none
|
||||
}
|
||||
|
||||
/* HTML5 display-role reset for older browsers */
|
||||
article, aside, details, figcaption, figure,
|
||||
footer, header, hgroup, menu, nav, section {
|
||||
display: block;
|
||||
}
|
||||
body {
|
||||
line-height: 1;
|
||||
}
|
||||
ol, ul {
|
||||
|
||||
list-style: none;
|
||||
}
|
||||
blockquote, q {
|
||||
quotes: none;
|
||||
}
|
||||
blockquote:before, blockquote:after,
|
||||
q:before, q:after {
|
||||
content: '';
|
||||
content: none;
|
||||
}
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
border-spacing: 0;
|
||||
}
|
||||
input, textarea, button:focus {outline:none;
|
||||
border-radius:0
|
||||
}
|
||||
::-moz-focus-inner {border:0; outline:none}
|
||||
/* END CSS RESET */
|
7
web/css/source/style.sass
Normal file
|
@ -0,0 +1,7 @@
|
|||
*
|
||||
*:before,
|
||||
*:after {
|
||||
-moz-box-sizing: border-box;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
298
web/css/swipebox.min.css
vendored
Normal file
|
@ -0,0 +1,298 @@
|
|||
/*! Swipebox v1.3.0 | Constantin Saguin csag.co | MIT License | github.com/brutaldesign/swipebox */
|
||||
html.swipebox-html.swipebox-touch {
|
||||
overflow: hidden !important
|
||||
}
|
||||
|
||||
#swipebox-overlay img {
|
||||
border: none !important
|
||||
}
|
||||
|
||||
#swipebox-overlay {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: 99999 !important;
|
||||
overflow: hidden;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none
|
||||
}
|
||||
|
||||
#swipebox-container {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 100%
|
||||
}
|
||||
|
||||
#swipebox-slider {
|
||||
-webkit-transition: -webkit-transform .4s ease;
|
||||
transition: transform .4s ease;
|
||||
height: 100%;
|
||||
left: 0;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
white-space: nowrap;
|
||||
position: absolute;
|
||||
display: none;
|
||||
cursor: pointer
|
||||
}
|
||||
|
||||
#swipebox-slider .slide {
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
line-height: 1px;
|
||||
text-align: center;
|
||||
display: inline-block
|
||||
}
|
||||
|
||||
#swipebox-slider .slide:before {
|
||||
content: "";
|
||||
display: inline-block;
|
||||
height: 50%;
|
||||
width: 1px;
|
||||
margin-right: -1px
|
||||
}
|
||||
|
||||
#swipebox-slider .slide .swipebox-inline-container, #swipebox-slider .slide .swipebox-video-container, #swipebox-slider .slide img {
|
||||
display: inline-block;
|
||||
max-height: 100%;
|
||||
max-width: 100%;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
width: auto;
|
||||
height: auto;
|
||||
vertical-align: middle
|
||||
}
|
||||
|
||||
#swipebox-slider .slide .swipebox-video-container {
|
||||
background: 0 0;
|
||||
max-width: 1140px;
|
||||
max-height: 100%;
|
||||
width: 100%;
|
||||
padding: 5%;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box
|
||||
}
|
||||
|
||||
#swipebox-slider .slide .swipebox-video-container .swipebox-video {
|
||||
width: 100%;
|
||||
height: 0;
|
||||
padding-bottom: 56.25%;
|
||||
overflow: hidden;
|
||||
position: relative
|
||||
}
|
||||
|
||||
#swipebox-slider .slide .swipebox-video-container .swipebox-video iframe {
|
||||
width: 100% !important;
|
||||
height: 100% !important;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0
|
||||
}
|
||||
|
||||
#swipebox-slider .slide-loading {
|
||||
background: url(../img/loader.gif) center center no-repeat
|
||||
}
|
||||
|
||||
#swipebox-bottom-bar, #swipebox-top-bar {
|
||||
-webkit-transition: .5s;
|
||||
transition: .5s;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
z-index: 999;
|
||||
height: 50px;
|
||||
width: 100%
|
||||
}
|
||||
|
||||
#swipebox-bottom-bar {
|
||||
bottom: -50px
|
||||
}
|
||||
|
||||
#swipebox-bottom-bar.visible-bars {
|
||||
-webkit-transform: translate3d(0, -50px, 0);
|
||||
transform: translate3d(0, -50px, 0)
|
||||
}
|
||||
|
||||
#swipebox-top-bar {
|
||||
top: -50px
|
||||
}
|
||||
|
||||
#swipebox-top-bar.visible-bars {
|
||||
-webkit-transform: translate3d(0, 50px, 0);
|
||||
transform: translate3d(0, 50px, 0)
|
||||
}
|
||||
|
||||
#swipebox-title {
|
||||
display: block;
|
||||
width: 100%;
|
||||
text-align: center
|
||||
}
|
||||
|
||||
#swipebox-close, #swipebox-next, #swipebox-prev {
|
||||
background-image: url(../img/icons.png);
|
||||
background-repeat: no-repeat;
|
||||
border: none !important;
|
||||
text-decoration: none !important;
|
||||
cursor: pointer;
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
top: 0
|
||||
}
|
||||
|
||||
#swipebox-close {
|
||||
width: 80px;
|
||||
height: 80px;
|
||||
background-size: cover;
|
||||
}
|
||||
|
||||
#swipebox-arrows {
|
||||
display: block;
|
||||
margin: 0 auto;
|
||||
width: 100%;
|
||||
height: 50px
|
||||
}
|
||||
|
||||
#swipebox-prev {
|
||||
background-position: -32px 13px;
|
||||
float: left
|
||||
}
|
||||
|
||||
#swipebox-next {
|
||||
background-position: -78px 13px;
|
||||
float: right
|
||||
}
|
||||
|
||||
#swipebox-close {
|
||||
top: 0;
|
||||
right: 0;
|
||||
position: absolute;
|
||||
z-index: 9999;
|
||||
background-position: 15px 0px
|
||||
}
|
||||
|
||||
.swipebox-no-close-button #swipebox-close {
|
||||
display: none
|
||||
}
|
||||
|
||||
#swipebox-next.disabled, #swipebox-prev.disabled {
|
||||
opacity: .3
|
||||
}
|
||||
|
||||
.swipebox-no-touch #swipebox-overlay.rightSpring #swipebox-slider {
|
||||
-webkit-animation: rightSpring .3s;
|
||||
animation: rightSpring .3s
|
||||
}
|
||||
|
||||
.swipebox-no-touch #swipebox-overlay.leftSpring #swipebox-slider {
|
||||
-webkit-animation: leftSpring .3s;
|
||||
animation: leftSpring .3s
|
||||
}
|
||||
|
||||
.swipebox-touch #swipebox-container:after, .swipebox-touch #swipebox-container:before {
|
||||
-webkit-backface-visibility: hidden;
|
||||
backface-visibility: hidden;
|
||||
-webkit-transition: all .3s ease;
|
||||
transition: all .3s ease;
|
||||
content: ' ';
|
||||
position: absolute;
|
||||
z-index: 999;
|
||||
top: 0;
|
||||
height: 100%;
|
||||
width: 20px;
|
||||
opacity: 0
|
||||
}
|
||||
|
||||
.swipebox-touch #swipebox-container:before {
|
||||
left: 0;
|
||||
-webkit-box-shadow: inset 10px 0 10px -8px #656565;
|
||||
box-shadow: inset 10px 0 10px -8px #656565
|
||||
}
|
||||
|
||||
.swipebox-touch #swipebox-container:after {
|
||||
right: 0;
|
||||
-webkit-box-shadow: inset -10px 0 10px -8px #656565;
|
||||
box-shadow: inset -10px 0 10px -8px #656565
|
||||
}
|
||||
|
||||
.swipebox-touch #swipebox-overlay.leftSpringTouch #swipebox-container:before, .swipebox-touch #swipebox-overlay.rightSpringTouch #swipebox-container:after {
|
||||
opacity: 1
|
||||
}
|
||||
|
||||
@-webkit-keyframes rightSpring {
|
||||
0% {
|
||||
left: 0
|
||||
}
|
||||
50% {
|
||||
left: -30px
|
||||
}
|
||||
100% {
|
||||
left: 0
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes rightSpring {
|
||||
0% {
|
||||
left: 0
|
||||
}
|
||||
50% {
|
||||
left: -30px
|
||||
}
|
||||
100% {
|
||||
left: 0
|
||||
}
|
||||
}
|
||||
|
||||
@-webkit-keyframes leftSpring {
|
||||
0% {
|
||||
left: 0
|
||||
}
|
||||
50% {
|
||||
left: 30px
|
||||
}
|
||||
100% {
|
||||
left: 0
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes leftSpring {
|
||||
0% {
|
||||
left: 0
|
||||
}
|
||||
50% {
|
||||
left: 30px
|
||||
}
|
||||
100% {
|
||||
left: 0
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (min-width: 800px) {
|
||||
#swipebox-close {
|
||||
right: 10px
|
||||
}
|
||||
|
||||
#swipebox-arrows {
|
||||
width: 92%;
|
||||
max-width: 800px
|
||||
}
|
||||
}
|
||||
|
||||
#swipebox-overlay {
|
||||
background: #0d0d0d
|
||||
}
|
||||
|
||||
#swipebox-bottom-bar, #swipebox-top-bar {
|
||||
text-shadow: 1px 1px 1px #000;
|
||||
background: #000;
|
||||
opacity: .95
|
||||
}
|
||||
|
||||
#swipebox-top-bar {
|
||||
color: #fff !important;
|
||||
font-size: 15px;
|
||||
line-height: 43px;
|
||||
font-family: Helvetica, Arial, sans-serif
|
||||
}
|
80
web/evercookie/assets/EvercookieCacheServlet.java
Normal file
|
@ -0,0 +1,80 @@
|
|||
package evercookie;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import javax.servlet.ServletException;
|
||||
import javax.servlet.ServletOutputStream;
|
||||
import javax.servlet.annotation.WebServlet;
|
||||
import javax.servlet.http.Cookie;
|
||||
import javax.servlet.http.HttpServlet;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
/**
|
||||
* This is a Java Servlet port of evercookie_cache.php, the server-side
|
||||
* component of Evercookie's cacheData mechanism.
|
||||
*
|
||||
* Install this servlet at /evercookie_cache.php in your web.xml (or add a @WebServlet
|
||||
* annotation) and you won't even need to modify evercookie.js! This assumes
|
||||
* that Evercookie's assets are in your web root.
|
||||
*
|
||||
* Of course, if you have set $_ec_baseurl to something, you should install this
|
||||
* at [$_ec_baseurl]evercookie_cache.php. Remember, $ec_baseurl needs a trailing
|
||||
* slash in the evercookie.js.
|
||||
*
|
||||
* @author Gabriel Bauman <gabe@codehaus.org>
|
||||
*
|
||||
*/
|
||||
public class EvercookieCacheServlet extends HttpServlet {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
public EvercookieCacheServlet() {
|
||||
super();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
|
||||
|
||||
boolean cookieExists = false;
|
||||
String cookieValue = null;
|
||||
Cookie[] cookies = req.getCookies();
|
||||
|
||||
if (null != cookies) {
|
||||
// Iterate over cookies until we find one named evercookie_cache
|
||||
for (Cookie cookie : cookies)
|
||||
{
|
||||
if (cookie.getName().equals("evercookie_cache")) {
|
||||
cookieExists = true;
|
||||
cookieValue = cookie.getValue();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// If the cookie doesn't exist, send 304 Not Modified and exit.
|
||||
if (!cookieExists) {
|
||||
resp.setStatus(304);
|
||||
return;
|
||||
}
|
||||
|
||||
// The cookie was present; set up the response headers.
|
||||
resp.setContentType("text/html");
|
||||
resp.addHeader("Last-Modified", "Wed, 30 Jun 2010 21:36:48 GMT");
|
||||
resp.addHeader("Expires", "Tue, 31 Dec 2030 23:30:45 GMT");
|
||||
resp.addHeader("Cache-Control", "private, max-age=630720000");
|
||||
|
||||
// Print the contents of the cookie as the response body.
|
||||
ServletOutputStream body = resp.getOutputStream();
|
||||
|
||||
try {
|
||||
body.print(cookieValue);
|
||||
} finally {
|
||||
body.close();
|
||||
}
|
||||
|
||||
// And we're done.
|
||||
resp.setStatus(200);
|
||||
resp.flushBuffer();
|
||||
}
|
||||
}
|
79
web/evercookie/assets/EvercookieEtagServlet.java
Normal file
|
@ -0,0 +1,79 @@
|
|||
package evercookie;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import javax.servlet.ServletException;
|
||||
import javax.servlet.ServletOutputStream;
|
||||
import javax.servlet.annotation.WebServlet;
|
||||
import javax.servlet.http.Cookie;
|
||||
import javax.servlet.http.HttpServlet;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
/**
|
||||
* This is a Java Servlet port of evercookie_etag.php, the server-side component
|
||||
* of Evercookie that uses the If-None-Match and Etag headers to keep track of
|
||||
* persistent values.
|
||||
*
|
||||
* Install this servlet at /evercookie_etag.php in your web.xml (or add a @WebServlet
|
||||
* annotation) and you won't even need to modify evercookie.js! This assumes
|
||||
* that Evercookie's assets are in your web root.
|
||||
*
|
||||
* Of course, if you have set $_ec_baseurl to something, you should install this
|
||||
* at [$_ec_baseurl]evercookie_etag.php. Remember, $ec_baseurl needs a trailing
|
||||
* slash in the evercookie.js.
|
||||
*
|
||||
* @author Gabriel Bauman <gabe@codehaus.org>
|
||||
*
|
||||
*/
|
||||
public class EvercookieEtagServlet extends HttpServlet {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
public EvercookieEtagServlet() {
|
||||
super();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
|
||||
|
||||
boolean cookieExists = false;
|
||||
String cookieValue = null;
|
||||
Cookie[] cookies = req.getCookies();
|
||||
|
||||
if (null != cookies) {
|
||||
// Iterate over cookies until we find one named evercookie_etag
|
||||
for (Cookie cookie : cookies)
|
||||
{
|
||||
if (cookie.getName().equals("evercookie_etag")) {
|
||||
cookieExists = true;
|
||||
cookieValue = cookie.getValue();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ServletOutputStream body = resp.getOutputStream();
|
||||
|
||||
try {
|
||||
|
||||
if (cookieExists) {
|
||||
// Cookie set; send cookie value as Etag header/response body.
|
||||
resp.addHeader("Etag", cookieValue);
|
||||
body.print(cookieValue);
|
||||
}
|
||||
else
|
||||
{
|
||||
// No cookie; set the body to the request's If-None-Match value.
|
||||
body.print(req.getHeader("If-None-Match"));
|
||||
}
|
||||
|
||||
} finally {
|
||||
// close the output stream.
|
||||
body.close();
|
||||
}
|
||||
|
||||
resp.setStatus(200);
|
||||
|
||||
}
|
||||
}
|
95
web/evercookie/assets/EvercookiePngServlet.java
Normal file
|
@ -0,0 +1,95 @@
|
|||
package evercookie;
|
||||
|
||||
import java.awt.Color;
|
||||
import java.awt.RenderingHints;
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
|
||||
import javax.imageio.ImageIO;
|
||||
import javax.servlet.ServletException;
|
||||
import javax.servlet.annotation.WebServlet;
|
||||
import javax.servlet.http.Cookie;
|
||||
import javax.servlet.http.HttpServlet;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
/**
|
||||
* This is a Java Servlet port of evercookie_png.php, the server-side component
|
||||
* of Evercookie that stores values in force-cached PNG image data.
|
||||
*
|
||||
* Install this servlet at /evercookie_png.php in your web.xml (or add a @WebServlet
|
||||
* annotation) and you won't even need to modify evercookie.js! This assumes
|
||||
* that Evercookie's assets are in your web root.
|
||||
*
|
||||
* Of course, if you have set $_ec_baseurl to something, you should install this
|
||||
* at [$_ec_baseurl]evercookie_png.php. Remember, $ec_baseurl needs a trailing
|
||||
* slash in the evercookie.js.
|
||||
*
|
||||
* @author Gabriel Bauman <gabe@codehaus.org>
|
||||
*
|
||||
*/
|
||||
public class EvercookiePngServlet extends HttpServlet {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
public EvercookiePngServlet() {
|
||||
super();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
|
||||
|
||||
boolean cookieExists = false;
|
||||
String cookieValue = null;
|
||||
Cookie[] cookies = req.getCookies();
|
||||
|
||||
if (null != cookies) {
|
||||
// Iterate over cookies until we find one named evercookie_png
|
||||
for (Cookie cookie : cookies)
|
||||
{
|
||||
if (cookie.getName().equals("evercookie_png")) {
|
||||
cookieExists = true;
|
||||
cookieValue = cookie.getValue();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// If the cookie doesn't exist, send 304 Not Modified and exit.
|
||||
if (!cookieExists) {
|
||||
resp.setStatus(304);
|
||||
return;
|
||||
}
|
||||
|
||||
// Generate a PNG image from the cookie value.
|
||||
BufferedImage image = new BufferedImage(200, 1, BufferedImage.TYPE_INT_ARGB);
|
||||
image.createGraphics().setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_OFF);
|
||||
int x = 0;
|
||||
|
||||
for (int i = 0; i < cookieValue.length(); i += 3) {
|
||||
// Treat every 3 chars of the cookie value as an {R,G,B} triplet.
|
||||
Color c = new Color(cookieValue.charAt(i), cookieValue.charAt(i + 1), cookieValue.charAt(i + 2));
|
||||
image.setRGB(x++, 0, c.getRGB());
|
||||
}
|
||||
|
||||
// The cookie was present; set up the response headers.
|
||||
resp.setContentType("image/png");
|
||||
resp.addHeader("Last-Modified", "Wed, 30 Jun 2010 21:36:48 GMT");
|
||||
resp.addHeader("Expires", "Tue, 31 Dec 2033 23:30:45 GMT");
|
||||
resp.addHeader("Cache-Control", "private, max-age=630720000");
|
||||
|
||||
// Send the generate image data as the response body.
|
||||
OutputStream body = resp.getOutputStream();
|
||||
|
||||
try {
|
||||
ImageIO.write(image, "png", body);
|
||||
} finally {
|
||||
body.close();
|
||||
}
|
||||
|
||||
// And we're done.
|
||||
resp.setStatus(200);
|
||||
resp.flushBuffer();
|
||||
}
|
||||
}
|
BIN
web/evercookie/assets/evercookie.fla
Normal file
23
web/evercookie/assets/evercookie.jnlp
Normal file
|
@ -0,0 +1,23 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<jnlp>
|
||||
<information>
|
||||
<title>Evercookie Applet</title>
|
||||
<vendor>Gabriel Bauman</vendor>
|
||||
<offline-allowed />
|
||||
</information>
|
||||
<resources>
|
||||
<j2se
|
||||
version="1.5+"
|
||||
href="http://java.sun.com/products/autodl/j2se" />
|
||||
<!-- The following href must be the absolute path. -->
|
||||
<jar
|
||||
href="evercookie.jar"
|
||||
main="true" />
|
||||
</resources>
|
||||
<applet-desc
|
||||
name="Evercookie"
|
||||
main-class="evercookie.EvercookieApplet"
|
||||
width="1"
|
||||
height="1">
|
||||
</applet-desc>
|
||||
</jnlp>
|
BIN
web/evercookie/assets/evercookie.swf
Normal file
BIN
web/evercookie/assets/evercookie.xap
Normal file
43
web/evercookie/assets/evercookie_sl/evercookie.sln
Normal file
|
@ -0,0 +1,43 @@
|
|||
<<<<<<< HEAD
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||
# Visual Web Developer Express 2010
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "evercookie", "evercookie\evercookie.csproj", "{4F1FD744-6C5A-4C7E-8DFB-702FBC6B9964}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{4F1FD744-6C5A-4C7E-8DFB-702FBC6B9964}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{4F1FD744-6C5A-4C7E-8DFB-702FBC6B9964}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{4F1FD744-6C5A-4C7E-8DFB-702FBC6B9964}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{4F1FD744-6C5A-4C7E-8DFB-702FBC6B9964}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
=======
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||
# Visual Web Developer Express 2010
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "evercookie", "evercookie\evercookie.csproj", "{4F1FD744-6C5A-4C7E-8DFB-702FBC6B9964}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{4F1FD744-6C5A-4C7E-8DFB-702FBC6B9964}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{4F1FD744-6C5A-4C7E-8DFB-702FBC6B9964}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{4F1FD744-6C5A-4C7E-8DFB-702FBC6B9964}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{4F1FD744-6C5A-4C7E-8DFB-702FBC6B9964}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
>>>>>>> eb2b5f487357f4715e1960350c1c44eb44992cae
|
BIN
web/evercookie/assets/evercookie_sl/evercookie.suo
Normal file
19
web/evercookie/assets/evercookie_sl/evercookie/App.xaml
Normal file
|
@ -0,0 +1,19 @@
|
|||
<<<<<<< HEAD
|
||||
<Application xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
x:Class="evercookie.App"
|
||||
>
|
||||
<Application.Resources>
|
||||
|
||||
</Application.Resources>
|
||||
</Application>
|
||||
=======
|
||||
<Application xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
x:Class="evercookie.App"
|
||||
>
|
||||
<Application.Resources>
|
||||
|
||||
</Application.Resources>
|
||||
</Application>
|
||||
>>>>>>> eb2b5f487357f4715e1960350c1c44eb44992cae
|
167
web/evercookie/assets/evercookie_sl/evercookie/App.xaml.cs
Normal file
|
@ -0,0 +1,167 @@
|
|||
<<<<<<< HEAD
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.IO.IsolatedStorage;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Windows;
|
||||
using System.Windows.Browser;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Animation;
|
||||
using System.Windows.Shapes;
|
||||
|
||||
namespace evercookie
|
||||
{
|
||||
public partial class App : Application
|
||||
{
|
||||
public App()
|
||||
{
|
||||
this.Startup += this.Application_Startup;
|
||||
this.Exit += this.Application_Exit;
|
||||
this.UnhandledException += this.Application_UnhandledException;
|
||||
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void Application_Startup(object sender, StartupEventArgs e)
|
||||
{
|
||||
MainPage scriptableControl = new MainPage();
|
||||
this.RootVisual = scriptableControl;
|
||||
HtmlPage.RegisterScriptableObject("App", scriptableControl);
|
||||
|
||||
MainPage.output.Text = "To save: " + e.InitParams.Count.ToString() + " values\n";
|
||||
if (e.InitParams != null)
|
||||
{
|
||||
foreach (var item in e.InitParams)
|
||||
{
|
||||
this.Resources.Add(item.Key, item.Value);
|
||||
MainPage.save(item.Key,item.Value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void Application_Exit(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void Application_UnhandledException(object sender, ApplicationUnhandledExceptionEventArgs e)
|
||||
{
|
||||
// If the app is running outside of the debugger then report the exception using
|
||||
// the browser's exception mechanism. On IE this will display it a yellow alert
|
||||
// icon in the status bar and Firefox will display a script error.
|
||||
if (!System.Diagnostics.Debugger.IsAttached)
|
||||
{
|
||||
|
||||
// NOTE: This will allow the application to continue running after an exception has been thrown
|
||||
// but not handled.
|
||||
// For production applications this error handling should be replaced with something that will
|
||||
// report the error to the website and stop the application.
|
||||
e.Handled = true;
|
||||
Deployment.Current.Dispatcher.BeginInvoke(delegate { ReportErrorToDOM(e); });
|
||||
}
|
||||
}
|
||||
|
||||
private void ReportErrorToDOM(ApplicationUnhandledExceptionEventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
string errorMsg = e.ExceptionObject.Message + e.ExceptionObject.StackTrace;
|
||||
errorMsg = errorMsg.Replace('"', '\'').Replace("\r\n", @"\n");
|
||||
|
||||
System.Windows.Browser.HtmlPage.Window.Eval("throw new Error(\"Unhandled Error in Silverlight Application " + errorMsg + "\");");
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
=======
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.IO.IsolatedStorage;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Windows;
|
||||
using System.Windows.Browser;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Animation;
|
||||
using System.Windows.Shapes;
|
||||
|
||||
namespace evercookie
|
||||
{
|
||||
public partial class App : Application
|
||||
{
|
||||
public App()
|
||||
{
|
||||
this.Startup += this.Application_Startup;
|
||||
this.Exit += this.Application_Exit;
|
||||
this.UnhandledException += this.Application_UnhandledException;
|
||||
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void Application_Startup(object sender, StartupEventArgs e)
|
||||
{
|
||||
MainPage scriptableControl = new MainPage();
|
||||
this.RootVisual = scriptableControl;
|
||||
HtmlPage.RegisterScriptableObject("App", scriptableControl);
|
||||
|
||||
MainPage.output.Text = "To save: " + e.InitParams.Count.ToString() + " values\n";
|
||||
if (e.InitParams != null)
|
||||
{
|
||||
foreach (var item in e.InitParams)
|
||||
{
|
||||
this.Resources.Add(item.Key, item.Value);
|
||||
MainPage.save(item.Key,item.Value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void Application_Exit(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void Application_UnhandledException(object sender, ApplicationUnhandledExceptionEventArgs e)
|
||||
{
|
||||
// If the app is running outside of the debugger then report the exception using
|
||||
// the browser's exception mechanism. On IE this will display it a yellow alert
|
||||
// icon in the status bar and Firefox will display a script error.
|
||||
if (!System.Diagnostics.Debugger.IsAttached)
|
||||
{
|
||||
|
||||
// NOTE: This will allow the application to continue running after an exception has been thrown
|
||||
// but not handled.
|
||||
// For production applications this error handling should be replaced with something that will
|
||||
// report the error to the website and stop the application.
|
||||
e.Handled = true;
|
||||
Deployment.Current.Dispatcher.BeginInvoke(delegate { ReportErrorToDOM(e); });
|
||||
}
|
||||
}
|
||||
|
||||
private void ReportErrorToDOM(ApplicationUnhandledExceptionEventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
string errorMsg = e.ExceptionObject.Message + e.ExceptionObject.StackTrace;
|
||||
errorMsg = errorMsg.Replace('"', '\'').Replace("\r\n", @"\n");
|
||||
|
||||
System.Windows.Browser.HtmlPage.Window.Eval("throw new Error(\"Unhandled Error in Silverlight Application " + errorMsg + "\");");
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
>>>>>>> eb2b5f487357f4715e1960350c1c44eb44992cae
|
|
@ -0,0 +1,12 @@
|
|||
<<<<<<< HEAD
|
||||
<Deployment xmlns="http://schemas.microsoft.com/client/2007/deployment" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" EntryPointAssembly="evercookie" EntryPointType="evercookie.App" RuntimeVersion="4.0.50401.0">
|
||||
<Deployment.Parts>
|
||||
<AssemblyPart x:Name="evercookie" Source="evercookie.dll" />
|
||||
</Deployment.Parts>
|
||||
=======
|
||||
<Deployment xmlns="http://schemas.microsoft.com/client/2007/deployment" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" EntryPointAssembly="evercookie" EntryPointType="evercookie.App" RuntimeVersion="4.0.50401.0">
|
||||
<Deployment.Parts>
|
||||
<AssemblyPart x:Name="evercookie" Source="evercookie.dll" />
|
||||
</Deployment.Parts>
|
||||
>>>>>>> eb2b5f487357f4715e1960350c1c44eb44992cae
|
||||
</Deployment>
|
|
@ -0,0 +1,149 @@
|
|||
<<<<<<< HEAD
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" >
|
||||
<!-- saved from url=(0014)about:internet -->
|
||||
<head>
|
||||
<title>evercookie</title>
|
||||
<style type="text/css">
|
||||
html, body {
|
||||
height: 100%;
|
||||
overflow: auto;
|
||||
}
|
||||
body {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
#silverlightControlHost {
|
||||
height: 100%;
|
||||
text-align:center;
|
||||
}
|
||||
</style>
|
||||
|
||||
<script type="text/javascript">
|
||||
function onSilverlightError(sender, args) {
|
||||
var appSource = "";
|
||||
if (sender != null && sender != 0) {
|
||||
appSource = sender.getHost().Source;
|
||||
}
|
||||
|
||||
var errorType = args.ErrorType;
|
||||
var iErrorCode = args.ErrorCode;
|
||||
|
||||
if (errorType == "ImageError" || errorType == "MediaError") {
|
||||
return;
|
||||
}
|
||||
|
||||
var errMsg = "Unhandled Error in Silverlight Application " + appSource + "\n" ;
|
||||
|
||||
errMsg += "Code: "+ iErrorCode + " \n";
|
||||
errMsg += "Category: " + errorType + " \n";
|
||||
errMsg += "Message: " + args.ErrorMessage + " \n";
|
||||
|
||||
if (errorType == "ParserError") {
|
||||
errMsg += "File: " + args.xamlFile + " \n";
|
||||
errMsg += "Line: " + args.lineNumber + " \n";
|
||||
errMsg += "Position: " + args.charPosition + " \n";
|
||||
}
|
||||
else if (errorType == "RuntimeError") {
|
||||
if (args.lineNumber != 0) {
|
||||
errMsg += "Line: " + args.lineNumber + " \n";
|
||||
errMsg += "Position: " + args.charPosition + " \n";
|
||||
}
|
||||
errMsg += "MethodName: " + args.methodName + " \n";
|
||||
}
|
||||
|
||||
throw new Error(errMsg);
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server" style="height:100%">
|
||||
<div id="silverlightControlHost">
|
||||
<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%">
|
||||
<param name="source" value="evercookie.xap"/>
|
||||
<param name="onError" value="onSilverlightError" />
|
||||
<param name="background" value="white" />
|
||||
<param name="minRuntimeVersion" value="4.0.50401.0" />
|
||||
<param name="autoUpgrade" value="true" />
|
||||
<a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=4.0.50401.0" style="text-decoration:none">
|
||||
<img src="http://go.microsoft.com/fwlink/?LinkId=161376" alt="Get Microsoft Silverlight" style="border-style:none"/>
|
||||
</a>
|
||||
</object><iframe id="_sl_historyFrame" style="visibility:hidden;height:0px;width:0px;border:0px"></iframe></div>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
=======
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" >
|
||||
<!-- saved from url=(0014)about:internet -->
|
||||
<head>
|
||||
<title>evercookie</title>
|
||||
<style type="text/css">
|
||||
html, body {
|
||||
height: 100%;
|
||||
overflow: auto;
|
||||
}
|
||||
body {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
#silverlightControlHost {
|
||||
height: 100%;
|
||||
text-align:center;
|
||||
}
|
||||
</style>
|
||||
|
||||
<script type="text/javascript">
|
||||
function onSilverlightError(sender, args) {
|
||||
var appSource = "";
|
||||
if (sender != null && sender != 0) {
|
||||
appSource = sender.getHost().Source;
|
||||
}
|
||||
|
||||
var errorType = args.ErrorType;
|
||||
var iErrorCode = args.ErrorCode;
|
||||
|
||||
if (errorType == "ImageError" || errorType == "MediaError") {
|
||||
return;
|
||||
}
|
||||
|
||||
var errMsg = "Unhandled Error in Silverlight Application " + appSource + "\n" ;
|
||||
|
||||
errMsg += "Code: "+ iErrorCode + " \n";
|
||||
errMsg += "Category: " + errorType + " \n";
|
||||
errMsg += "Message: " + args.ErrorMessage + " \n";
|
||||
|
||||
if (errorType == "ParserError") {
|
||||
errMsg += "File: " + args.xamlFile + " \n";
|
||||
errMsg += "Line: " + args.lineNumber + " \n";
|
||||
errMsg += "Position: " + args.charPosition + " \n";
|
||||
}
|
||||
else if (errorType == "RuntimeError") {
|
||||
if (args.lineNumber != 0) {
|
||||
errMsg += "Line: " + args.lineNumber + " \n";
|
||||
errMsg += "Position: " + args.charPosition + " \n";
|
||||
}
|
||||
errMsg += "MethodName: " + args.methodName + " \n";
|
||||
}
|
||||
|
||||
throw new Error(errMsg);
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server" style="height:100%">
|
||||
<div id="silverlightControlHost">
|
||||
<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%">
|
||||
<param name="source" value="evercookie.xap"/>
|
||||
<param name="onError" value="onSilverlightError" />
|
||||
<param name="background" value="white" />
|
||||
<param name="minRuntimeVersion" value="4.0.50401.0" />
|
||||
<param name="autoUpgrade" value="true" />
|
||||
<a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=4.0.50401.0" style="text-decoration:none">
|
||||
<img src="http://go.microsoft.com/fwlink/?LinkId=161376" alt="Get Microsoft Silverlight" style="border-style:none"/>
|
||||
</a>
|
||||
</object><iframe id="_sl_historyFrame" style="visibility:hidden;height:0px;width:0px;border:0px"></iframe></div>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
>>>>>>> eb2b5f487357f4715e1960350c1c44eb44992cae
|
25
web/evercookie/assets/evercookie_sl/evercookie/MainPage.xaml
Normal file
|
@ -0,0 +1,25 @@
|
|||
<<<<<<< HEAD
|
||||
<UserControl x:Class="evercookie.MainPage"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="200" d:DesignWidth="200">
|
||||
<Canvas>
|
||||
<TextBox x:Name="txtOut" Grid.Row="6" Grid.Column="1" TextWrapping="Wrap" Width="200" Height="200" ToolTipService.ToolTip="Enter Name" HorizontalAlignment="Left" VerticalAlignment="Top" TabIndex="1" HorizontalScrollBarVisibility="Visible" VerticalScrollBarVisibility="Visible" Text="Loading..."></TextBox>
|
||||
</Canvas>
|
||||
</UserControl>
|
||||
=======
|
||||
<UserControl x:Class="evercookie.MainPage"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="200" d:DesignWidth="200">
|
||||
<Canvas>
|
||||
<TextBox x:Name="txtOut" Grid.Row="6" Grid.Column="1" TextWrapping="Wrap" Width="200" Height="200" ToolTipService.ToolTip="Enter Name" HorizontalAlignment="Left" VerticalAlignment="Top" TabIndex="1" HorizontalScrollBarVisibility="Visible" VerticalScrollBarVisibility="Visible" Text="Loading..."></TextBox>
|
||||
</Canvas>
|
||||
</UserControl>
|
||||
>>>>>>> eb2b5f487357f4715e1960350c1c44eb44992cae
|
137
web/evercookie/assets/evercookie_sl/evercookie/MainPage.xaml.cs
Normal file
|
@ -0,0 +1,137 @@
|
|||
<<<<<<< HEAD
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.IO.IsolatedStorage;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Windows;
|
||||
using System.Windows.Browser;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Animation;
|
||||
using System.Windows.Shapes;
|
||||
|
||||
namespace evercookie
|
||||
{
|
||||
public partial class MainPage : UserControl
|
||||
{
|
||||
private static string isoFile = "evercookie_isoData.txt";
|
||||
public static TextBox output;
|
||||
public MainPage()
|
||||
{
|
||||
InitializeComponent();
|
||||
output = txtOut;
|
||||
}
|
||||
|
||||
[ScriptableMember()]
|
||||
public string getIsolatedStorage()
|
||||
{
|
||||
output.Text += "Loading isoData...\n";
|
||||
string data = String.Empty;
|
||||
using (IsolatedStorageFile isf = IsolatedStorageFile.GetUserStoreForApplication())
|
||||
{
|
||||
using (IsolatedStorageFileStream isfs = new IsolatedStorageFileStream(isoFile, FileMode.Open, isf))
|
||||
{
|
||||
using (StreamReader sr = new StreamReader(isfs))
|
||||
{
|
||||
string lineOfData = String.Empty;
|
||||
while ((lineOfData = sr.ReadLine()) != null)
|
||||
{
|
||||
data += lineOfData;
|
||||
output.Text += "Loading: " + lineOfData + "\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return data;
|
||||
}
|
||||
|
||||
public static void save(string name, string value)
|
||||
{
|
||||
output.Text += "Saving: " + name + "=" + value + "\n";
|
||||
using (IsolatedStorageFile isf = IsolatedStorageFile.GetUserStoreForApplication())
|
||||
{
|
||||
using (IsolatedStorageFileStream isfs = new IsolatedStorageFileStream(isoFile, FileMode.Create, isf))
|
||||
{
|
||||
using (StreamWriter sw = new StreamWriter(isfs))
|
||||
{
|
||||
sw.Write(name+"="+value);
|
||||
sw.Close();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
=======
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.IO.IsolatedStorage;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Windows;
|
||||
using System.Windows.Browser;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Animation;
|
||||
using System.Windows.Shapes;
|
||||
|
||||
namespace evercookie
|
||||
{
|
||||
public partial class MainPage : UserControl
|
||||
{
|
||||
private static string isoFile = "evercookie_isoData.txt";
|
||||
public static TextBox output;
|
||||
public MainPage()
|
||||
{
|
||||
InitializeComponent();
|
||||
output = txtOut;
|
||||
}
|
||||
|
||||
[ScriptableMember()]
|
||||
public string getIsolatedStorage()
|
||||
{
|
||||
output.Text += "Loading isoData...\n";
|
||||
string data = String.Empty;
|
||||
using (IsolatedStorageFile isf = IsolatedStorageFile.GetUserStoreForApplication())
|
||||
{
|
||||
using (IsolatedStorageFileStream isfs = new IsolatedStorageFileStream(isoFile, FileMode.Open, isf))
|
||||
{
|
||||
using (StreamReader sr = new StreamReader(isfs))
|
||||
{
|
||||
string lineOfData = String.Empty;
|
||||
while ((lineOfData = sr.ReadLine()) != null)
|
||||
{
|
||||
data += lineOfData;
|
||||
output.Text += "Loading: " + lineOfData + "\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return data;
|
||||
}
|
||||
|
||||
public static void save(string name, string value)
|
||||
{
|
||||
output.Text += "Saving: " + name + "=" + value + "\n";
|
||||
using (IsolatedStorageFile isf = IsolatedStorageFile.GetUserStoreForApplication())
|
||||
{
|
||||
using (IsolatedStorageFileStream isfs = new IsolatedStorageFileStream(isoFile, FileMode.Create, isf))
|
||||
{
|
||||
using (StreamWriter sw = new StreamWriter(isfs))
|
||||
{
|
||||
sw.Write(name+"="+value);
|
||||
sw.Close();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
>>>>>>> eb2b5f487357f4715e1960350c1c44eb44992cae
|
|
@ -0,0 +1,15 @@
|
|||
<<<<<<< HEAD
|
||||
<Deployment xmlns="http://schemas.microsoft.com/client/2007/deployment"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
>
|
||||
<Deployment.Parts>
|
||||
</Deployment.Parts>
|
||||
</Deployment>
|
||||
=======
|
||||
<Deployment xmlns="http://schemas.microsoft.com/client/2007/deployment"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
>
|
||||
<Deployment.Parts>
|
||||
</Deployment.Parts>
|
||||
</Deployment>
|
||||
>>>>>>> eb2b5f487357f4715e1960350c1c44eb44992cae
|
|
@ -0,0 +1,73 @@
|
|||
<<<<<<< HEAD
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("evercookie")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("Microsoft")]
|
||||
[assembly: AssemblyProduct("evercookie")]
|
||||
[assembly: AssemblyCopyright("Copyright © Microsoft 2010")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
[assembly: Guid("2677569e-14bc-4ec6-b4b1-3c7de7b21afd")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Revision and Build Numbers
|
||||
// by using the '*' as shown below:
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
=======
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("evercookie")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("Microsoft")]
|
||||
[assembly: AssemblyProduct("evercookie")]
|
||||
[assembly: AssemblyCopyright("Copyright © Microsoft 2010")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
[assembly: Guid("2677569e-14bc-4ec6-b4b1-3c7de7b21afd")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Revision and Build Numbers
|
||||
// by using the '*' as shown below:
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
>>>>>>> eb2b5f487357f4715e1960350c1c44eb44992cae
|
224
web/evercookie/assets/evercookie_sl/evercookie/evercookie.csproj
Normal file
|
@ -0,0 +1,224 @@
|
|||
<<<<<<< HEAD
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>8.0.50727</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{4F1FD744-6C5A-4C7E-8DFB-702FBC6B9964}</ProjectGuid>
|
||||
<ProjectTypeGuids>{A1591282-1198-4647-A2B1-27E5FF5F6F3B};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>evercookie</RootNamespace>
|
||||
<AssemblyName>evercookie</AssemblyName>
|
||||
<TargetFrameworkIdentifier>Silverlight</TargetFrameworkIdentifier>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<SilverlightVersion>$(TargetFrameworkVersion)</SilverlightVersion>
|
||||
<SilverlightApplication>true</SilverlightApplication>
|
||||
<SupportedCultures>
|
||||
</SupportedCultures>
|
||||
<XapOutputs>true</XapOutputs>
|
||||
<GenerateSilverlightManifest>true</GenerateSilverlightManifest>
|
||||
<XapFilename>evercookie.xap</XapFilename>
|
||||
<SilverlightManifestTemplate>Properties\AppManifest.xml</SilverlightManifestTemplate>
|
||||
<SilverlightAppEntry>evercookie.App</SilverlightAppEntry>
|
||||
<TestPageFileName>evercookieTestPage.html</TestPageFileName>
|
||||
<CreateTestPage>true</CreateTestPage>
|
||||
<ValidateXaml>true</ValidateXaml>
|
||||
<EnableOutOfBrowser>false</EnableOutOfBrowser>
|
||||
<OutOfBrowserSettingsFile>Properties\OutOfBrowserSettings.xml</OutOfBrowserSettingsFile>
|
||||
<UsePlatformExtensions>false</UsePlatformExtensions>
|
||||
<ThrowErrorsInValidation>true</ThrowErrorsInValidation>
|
||||
<LinkedServerProject>
|
||||
</LinkedServerProject>
|
||||
</PropertyGroup>
|
||||
<!-- This property group is only here to support building this project using the
|
||||
MSBuild 3.5 toolset. In order to work correctly with this older toolset, it needs
|
||||
to set the TargetFrameworkVersion to v3.5 -->
|
||||
<PropertyGroup Condition="'$(MSBuildToolsVersion)' == '3.5'">
|
||||
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>Bin\Debug</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE;SILVERLIGHT</DefineConstants>
|
||||
<NoStdLib>true</NoStdLib>
|
||||
<NoConfig>true</NoConfig>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>Bin\Release</OutputPath>
|
||||
<DefineConstants>TRACE;SILVERLIGHT</DefineConstants>
|
||||
<NoStdLib>true</NoStdLib>
|
||||
<NoConfig>true</NoConfig>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="mscorlib" />
|
||||
<Reference Include="System.Windows" />
|
||||
<Reference Include="system" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Net" />
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="System.Windows.Browser" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="App.xaml.cs">
|
||||
<DependentUpon>App.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="MainPage.xaml.cs">
|
||||
<DependentUpon>MainPage.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ApplicationDefinition Include="App.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</ApplicationDefinition>
|
||||
<Page Include="MainPage.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Properties\AppManifest.xml" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\Silverlight\$(SilverlightVersion)\Microsoft.Silverlight.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
<ProjectExtensions>
|
||||
<VisualStudio>
|
||||
<FlavorProperties GUID="{A1591282-1198-4647-A2B1-27E5FF5F6F3B}">
|
||||
<SilverlightProjectProperties />
|
||||
</FlavorProperties>
|
||||
</VisualStudio>
|
||||
</ProjectExtensions>
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>copy "$(TargetDir)$(TargetName).xap" "Y:\My Dropbox\www\evercookie\evercookie.xap"</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
=======
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>8.0.50727</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{4F1FD744-6C5A-4C7E-8DFB-702FBC6B9964}</ProjectGuid>
|
||||
<ProjectTypeGuids>{A1591282-1198-4647-A2B1-27E5FF5F6F3B};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>evercookie</RootNamespace>
|
||||
<AssemblyName>evercookie</AssemblyName>
|
||||
<TargetFrameworkIdentifier>Silverlight</TargetFrameworkIdentifier>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<SilverlightVersion>$(TargetFrameworkVersion)</SilverlightVersion>
|
||||
<SilverlightApplication>true</SilverlightApplication>
|
||||
<SupportedCultures>
|
||||
</SupportedCultures>
|
||||
<XapOutputs>true</XapOutputs>
|
||||
<GenerateSilverlightManifest>true</GenerateSilverlightManifest>
|
||||
<XapFilename>evercookie.xap</XapFilename>
|
||||
<SilverlightManifestTemplate>Properties\AppManifest.xml</SilverlightManifestTemplate>
|
||||
<SilverlightAppEntry>evercookie.App</SilverlightAppEntry>
|
||||
<TestPageFileName>evercookieTestPage.html</TestPageFileName>
|
||||
<CreateTestPage>true</CreateTestPage>
|
||||
<ValidateXaml>true</ValidateXaml>
|
||||
<EnableOutOfBrowser>false</EnableOutOfBrowser>
|
||||
<OutOfBrowserSettingsFile>Properties\OutOfBrowserSettings.xml</OutOfBrowserSettingsFile>
|
||||
<UsePlatformExtensions>false</UsePlatformExtensions>
|
||||
<ThrowErrorsInValidation>true</ThrowErrorsInValidation>
|
||||
<LinkedServerProject>
|
||||
</LinkedServerProject>
|
||||
</PropertyGroup>
|
||||
<!-- This property group is only here to support building this project using the
|
||||
MSBuild 3.5 toolset. In order to work correctly with this older toolset, it needs
|
||||
to set the TargetFrameworkVersion to v3.5 -->
|
||||
<PropertyGroup Condition="'$(MSBuildToolsVersion)' == '3.5'">
|
||||
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>Bin\Debug</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE;SILVERLIGHT</DefineConstants>
|
||||
<NoStdLib>true</NoStdLib>
|
||||
<NoConfig>true</NoConfig>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>Bin\Release</OutputPath>
|
||||
<DefineConstants>TRACE;SILVERLIGHT</DefineConstants>
|
||||
<NoStdLib>true</NoStdLib>
|
||||
<NoConfig>true</NoConfig>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="mscorlib" />
|
||||
<Reference Include="System.Windows" />
|
||||
<Reference Include="system" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Net" />
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="System.Windows.Browser" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="App.xaml.cs">
|
||||
<DependentUpon>App.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="MainPage.xaml.cs">
|
||||
<DependentUpon>MainPage.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ApplicationDefinition Include="App.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</ApplicationDefinition>
|
||||
<Page Include="MainPage.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Properties\AppManifest.xml" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\Silverlight\$(SilverlightVersion)\Microsoft.Silverlight.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
<ProjectExtensions>
|
||||
<VisualStudio>
|
||||
<FlavorProperties GUID="{A1591282-1198-4647-A2B1-27E5FF5F6F3B}">
|
||||
<SilverlightProjectProperties />
|
||||
</FlavorProperties>
|
||||
</VisualStudio>
|
||||
</ProjectExtensions>
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>copy "$(TargetDir)$(TargetName).xap" "Y:\My Dropbox\www\evercookie\evercookie.xap"</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
>>>>>>> eb2b5f487357f4715e1960350c1c44eb44992cae
|
||||
</Project>
|
|
@ -0,0 +1,60 @@
|
|||
<<<<<<< HEAD
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ProjectExtensions>
|
||||
<VisualStudio>
|
||||
<FlavorProperties GUID="{A1591282-1198-4647-A2B1-27E5FF5F6F3B}">
|
||||
<SilverlightProjectProperties>
|
||||
<StartPageUrl>
|
||||
</StartPageUrl>
|
||||
<StartAction>DynamicPage</StartAction>
|
||||
<AspNetDebugging>True</AspNetDebugging>
|
||||
<NativeDebugging>False</NativeDebugging>
|
||||
<SQLDebugging>False</SQLDebugging>
|
||||
<ExternalProgram>
|
||||
</ExternalProgram>
|
||||
<StartExternalURL>
|
||||
</StartExternalURL>
|
||||
<StartCmdLineArguments>
|
||||
</StartCmdLineArguments>
|
||||
<StartWorkingDirectory>
|
||||
</StartWorkingDirectory>
|
||||
<ShowWebRefOnDebugPrompt>True</ShowWebRefOnDebugPrompt>
|
||||
<OutOfBrowserProjectToDebug>
|
||||
</OutOfBrowserProjectToDebug>
|
||||
<ShowRiaSvcsOnDebugPrompt>True</ShowRiaSvcsOnDebugPrompt>
|
||||
</SilverlightProjectProperties>
|
||||
</FlavorProperties>
|
||||
</VisualStudio>
|
||||
</ProjectExtensions>
|
||||
=======
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ProjectExtensions>
|
||||
<VisualStudio>
|
||||
<FlavorProperties GUID="{A1591282-1198-4647-A2B1-27E5FF5F6F3B}">
|
||||
<SilverlightProjectProperties>
|
||||
<StartPageUrl>
|
||||
</StartPageUrl>
|
||||
<StartAction>DynamicPage</StartAction>
|
||||
<AspNetDebugging>True</AspNetDebugging>
|
||||
<NativeDebugging>False</NativeDebugging>
|
||||
<SQLDebugging>False</SQLDebugging>
|
||||
<ExternalProgram>
|
||||
</ExternalProgram>
|
||||
<StartExternalURL>
|
||||
</StartExternalURL>
|
||||
<StartCmdLineArguments>
|
||||
</StartCmdLineArguments>
|
||||
<StartWorkingDirectory>
|
||||
</StartWorkingDirectory>
|
||||
<ShowWebRefOnDebugPrompt>True</ShowWebRefOnDebugPrompt>
|
||||
<OutOfBrowserProjectToDebug>
|
||||
</OutOfBrowserProjectToDebug>
|
||||
<ShowRiaSvcsOnDebugPrompt>True</ShowRiaSvcsOnDebugPrompt>
|
||||
</SilverlightProjectProperties>
|
||||
</FlavorProperties>
|
||||
</VisualStudio>
|
||||
</ProjectExtensions>
|
||||
>>>>>>> eb2b5f487357f4715e1960350c1c44eb44992cae
|
||||
</Project>
|
|
@ -0,0 +1,109 @@
|
|||
<<<<<<< HEAD
|
||||
#pragma checksum "C:\Users\Ethrel\Documents\Projects\Silverlight\evercookie\evercookie\App.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "D9A8BE4B3DC1C91D368CA6B44F124B38"
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.1
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
using System;
|
||||
using System.Windows;
|
||||
using System.Windows.Automation;
|
||||
using System.Windows.Automation.Peers;
|
||||
using System.Windows.Automation.Provider;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Controls.Primitives;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Ink;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Interop;
|
||||
using System.Windows.Markup;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Animation;
|
||||
using System.Windows.Media.Imaging;
|
||||
using System.Windows.Resources;
|
||||
using System.Windows.Shapes;
|
||||
using System.Windows.Threading;
|
||||
|
||||
|
||||
namespace evercookie {
|
||||
|
||||
|
||||
public partial class App : System.Windows.Application {
|
||||
|
||||
private bool _contentLoaded;
|
||||
|
||||
/// <summary>
|
||||
/// InitializeComponent
|
||||
/// </summary>
|
||||
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
public void InitializeComponent() {
|
||||
if (_contentLoaded) {
|
||||
return;
|
||||
}
|
||||
_contentLoaded = true;
|
||||
System.Windows.Application.LoadComponent(this, new System.Uri("/evercookie;component/App.xaml", System.UriKind.Relative));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
=======
|
||||
#pragma checksum "C:\Users\Ethrel\Documents\Projects\Silverlight\evercookie\evercookie\App.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "D9A8BE4B3DC1C91D368CA6B44F124B38"
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.1
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
using System;
|
||||
using System.Windows;
|
||||
using System.Windows.Automation;
|
||||
using System.Windows.Automation.Peers;
|
||||
using System.Windows.Automation.Provider;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Controls.Primitives;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Ink;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Interop;
|
||||
using System.Windows.Markup;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Animation;
|
||||
using System.Windows.Media.Imaging;
|
||||
using System.Windows.Resources;
|
||||
using System.Windows.Shapes;
|
||||
using System.Windows.Threading;
|
||||
|
||||
|
||||
namespace evercookie {
|
||||
|
||||
|
||||
public partial class App : System.Windows.Application {
|
||||
|
||||
private bool _contentLoaded;
|
||||
|
||||
/// <summary>
|
||||
/// InitializeComponent
|
||||
/// </summary>
|
||||
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
public void InitializeComponent() {
|
||||
if (_contentLoaded) {
|
||||
return;
|
||||
}
|
||||
_contentLoaded = true;
|
||||
System.Windows.Application.LoadComponent(this, new System.Uri("/evercookie;component/App.xaml", System.UriKind.Relative));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
>>>>>>> eb2b5f487357f4715e1960350c1c44eb44992cae
|
|
@ -0,0 +1,109 @@
|
|||
<<<<<<< HEAD
|
||||
#pragma checksum "C:\Users\Ethrel\Documents\Projects\Silverlight\evercookie\evercookie\App.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "D9A8BE4B3DC1C91D368CA6B44F124B38"
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.1
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
using System;
|
||||
using System.Windows;
|
||||
using System.Windows.Automation;
|
||||
using System.Windows.Automation.Peers;
|
||||
using System.Windows.Automation.Provider;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Controls.Primitives;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Ink;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Interop;
|
||||
using System.Windows.Markup;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Animation;
|
||||
using System.Windows.Media.Imaging;
|
||||
using System.Windows.Resources;
|
||||
using System.Windows.Shapes;
|
||||
using System.Windows.Threading;
|
||||
|
||||
|
||||
namespace evercookie {
|
||||
|
||||
|
||||
public partial class App : System.Windows.Application {
|
||||
|
||||
private bool _contentLoaded;
|
||||
|
||||
/// <summary>
|
||||
/// InitializeComponent
|
||||
/// </summary>
|
||||
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
public void InitializeComponent() {
|
||||
if (_contentLoaded) {
|
||||
return;
|
||||
}
|
||||
_contentLoaded = true;
|
||||
System.Windows.Application.LoadComponent(this, new System.Uri("/evercookie;component/App.xaml", System.UriKind.Relative));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
=======
|
||||
#pragma checksum "C:\Users\Ethrel\Documents\Projects\Silverlight\evercookie\evercookie\App.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "D9A8BE4B3DC1C91D368CA6B44F124B38"
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.1
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
using System;
|
||||
using System.Windows;
|
||||
using System.Windows.Automation;
|
||||
using System.Windows.Automation.Peers;
|
||||
using System.Windows.Automation.Provider;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Controls.Primitives;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Ink;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Interop;
|
||||
using System.Windows.Markup;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Animation;
|
||||
using System.Windows.Media.Imaging;
|
||||
using System.Windows.Resources;
|
||||
using System.Windows.Shapes;
|
||||
using System.Windows.Threading;
|
||||
|
||||
|
||||
namespace evercookie {
|
||||
|
||||
|
||||
public partial class App : System.Windows.Application {
|
||||
|
||||
private bool _contentLoaded;
|
||||
|
||||
/// <summary>
|
||||
/// InitializeComponent
|
||||
/// </summary>
|
||||
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
public void InitializeComponent() {
|
||||
if (_contentLoaded) {
|
||||
return;
|
||||
}
|
||||
_contentLoaded = true;
|
||||
System.Windows.Application.LoadComponent(this, new System.Uri("/evercookie;component/App.xaml", System.UriKind.Relative));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
>>>>>>> eb2b5f487357f4715e1960350c1c44eb44992cae
|
|
@ -0,0 +1,115 @@
|
|||
<<<<<<< HEAD
|
||||
#pragma checksum "C:\Users\Ethrel\Documents\Projects\Silverlight\evercookie\evercookie\MainPage.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "EF5CB8E67DD7E04FA002328FDB17DC85"
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.1
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
using System;
|
||||
using System.Windows;
|
||||
using System.Windows.Automation;
|
||||
using System.Windows.Automation.Peers;
|
||||
using System.Windows.Automation.Provider;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Controls.Primitives;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Ink;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Interop;
|
||||
using System.Windows.Markup;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Animation;
|
||||
using System.Windows.Media.Imaging;
|
||||
using System.Windows.Resources;
|
||||
using System.Windows.Shapes;
|
||||
using System.Windows.Threading;
|
||||
|
||||
|
||||
namespace evercookie {
|
||||
|
||||
|
||||
public partial class MainPage : System.Windows.Controls.UserControl {
|
||||
|
||||
internal System.Windows.Controls.TextBox txtOut;
|
||||
|
||||
private bool _contentLoaded;
|
||||
|
||||
/// <summary>
|
||||
/// InitializeComponent
|
||||
/// </summary>
|
||||
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
public void InitializeComponent() {
|
||||
if (_contentLoaded) {
|
||||
return;
|
||||
}
|
||||
_contentLoaded = true;
|
||||
System.Windows.Application.LoadComponent(this, new System.Uri("/evercookie;component/MainPage.xaml", System.UriKind.Relative));
|
||||
this.txtOut = ((System.Windows.Controls.TextBox)(this.FindName("txtOut")));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
=======
|
||||
#pragma checksum "C:\Users\Ethrel\Documents\Projects\Silverlight\evercookie\evercookie\MainPage.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "EF5CB8E67DD7E04FA002328FDB17DC85"
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.1
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
using System;
|
||||
using System.Windows;
|
||||
using System.Windows.Automation;
|
||||
using System.Windows.Automation.Peers;
|
||||
using System.Windows.Automation.Provider;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Controls.Primitives;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Ink;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Interop;
|
||||
using System.Windows.Markup;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Animation;
|
||||
using System.Windows.Media.Imaging;
|
||||
using System.Windows.Resources;
|
||||
using System.Windows.Shapes;
|
||||
using System.Windows.Threading;
|
||||
|
||||
|
||||
namespace evercookie {
|
||||
|
||||
|
||||
public partial class MainPage : System.Windows.Controls.UserControl {
|
||||
|
||||
internal System.Windows.Controls.TextBox txtOut;
|
||||
|
||||
private bool _contentLoaded;
|
||||
|
||||
/// <summary>
|
||||
/// InitializeComponent
|
||||
/// </summary>
|
||||
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
public void InitializeComponent() {
|
||||
if (_contentLoaded) {
|
||||
return;
|
||||
}
|
||||
_contentLoaded = true;
|
||||
System.Windows.Application.LoadComponent(this, new System.Uri("/evercookie;component/MainPage.xaml", System.UriKind.Relative));
|
||||
this.txtOut = ((System.Windows.Controls.TextBox)(this.FindName("txtOut")));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
>>>>>>> eb2b5f487357f4715e1960350c1c44eb44992cae
|
|
@ -0,0 +1,115 @@
|
|||
<<<<<<< HEAD
|
||||
#pragma checksum "C:\Users\Ethrel\Documents\Projects\Silverlight\evercookie\evercookie\MainPage.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "EF5CB8E67DD7E04FA002328FDB17DC85"
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.1
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
using System;
|
||||
using System.Windows;
|
||||
using System.Windows.Automation;
|
||||
using System.Windows.Automation.Peers;
|
||||
using System.Windows.Automation.Provider;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Controls.Primitives;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Ink;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Interop;
|
||||
using System.Windows.Markup;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Animation;
|
||||
using System.Windows.Media.Imaging;
|
||||
using System.Windows.Resources;
|
||||
using System.Windows.Shapes;
|
||||
using System.Windows.Threading;
|
||||
|
||||
|
||||
namespace evercookie {
|
||||
|
||||
|
||||
public partial class MainPage : System.Windows.Controls.UserControl {
|
||||
|
||||
internal System.Windows.Controls.TextBox txtOut;
|
||||
|
||||
private bool _contentLoaded;
|
||||
|
||||
/// <summary>
|
||||
/// InitializeComponent
|
||||
/// </summary>
|
||||
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
public void InitializeComponent() {
|
||||
if (_contentLoaded) {
|
||||
return;
|
||||
}
|
||||
_contentLoaded = true;
|
||||
System.Windows.Application.LoadComponent(this, new System.Uri("/evercookie;component/MainPage.xaml", System.UriKind.Relative));
|
||||
this.txtOut = ((System.Windows.Controls.TextBox)(this.FindName("txtOut")));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
=======
|
||||
#pragma checksum "C:\Users\Ethrel\Documents\Projects\Silverlight\evercookie\evercookie\MainPage.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "EF5CB8E67DD7E04FA002328FDB17DC85"
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.1
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
using System;
|
||||
using System.Windows;
|
||||
using System.Windows.Automation;
|
||||
using System.Windows.Automation.Peers;
|
||||
using System.Windows.Automation.Provider;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Controls.Primitives;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Ink;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Interop;
|
||||
using System.Windows.Markup;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Animation;
|
||||
using System.Windows.Media.Imaging;
|
||||
using System.Windows.Resources;
|
||||
using System.Windows.Shapes;
|
||||
using System.Windows.Threading;
|
||||
|
||||
|
||||
namespace evercookie {
|
||||
|
||||
|
||||
public partial class MainPage : System.Windows.Controls.UserControl {
|
||||
|
||||
internal System.Windows.Controls.TextBox txtOut;
|
||||
|
||||
private bool _contentLoaded;
|
||||
|
||||
/// <summary>
|
||||
/// InitializeComponent
|
||||
/// </summary>
|
||||
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
public void InitializeComponent() {
|
||||
if (_contentLoaded) {
|
||||
return;
|
||||
}
|
||||
_contentLoaded = true;
|
||||
System.Windows.Application.LoadComponent(this, new System.Uri("/evercookie;component/MainPage.xaml", System.UriKind.Relative));
|
||||
this.txtOut = ((System.Windows.Controls.TextBox)(this.FindName("txtOut")));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
>>>>>>> eb2b5f487357f4715e1960350c1c44eb44992cae
|
|
@ -0,0 +1,10 @@
|
|||
<<<<<<< HEAD
|
||||
<xapCache source="C:\Users\Ethrel\Documents\Projects\Silverlight\evercookie\evercookie\Bin\Debug\evercookie.xap" wasSigned="False" certificateThumbprint="" TimeStampUrl="" lastWriteTime="10/10/2010 1:17:46 PM">
|
||||
<file source="C:\Users\Ethrel\Documents\Projects\Silverlight\evercookie\evercookie\obj\Debug\evercookie.dll" archivePath="evercookie.dll" lastWriteTime="10/10/2010 1:17:46 PM" />
|
||||
<file source="C:\Users\Ethrel\Documents\Projects\Silverlight\evercookie\evercookie\Bin\Debug\AppManifest.xaml" archivePath="AppManifest.xaml" lastWriteTime="10/10/2010 11:20:23 AM" />
|
||||
=======
|
||||
<xapCache source="C:\Users\Ethrel\Documents\Projects\Silverlight\evercookie\evercookie\Bin\Debug\evercookie.xap" wasSigned="False" certificateThumbprint="" TimeStampUrl="" lastWriteTime="10/10/2010 1:17:46 PM">
|
||||
<file source="C:\Users\Ethrel\Documents\Projects\Silverlight\evercookie\evercookie\obj\Debug\evercookie.dll" archivePath="evercookie.dll" lastWriteTime="10/10/2010 1:17:46 PM" />
|
||||
<file source="C:\Users\Ethrel\Documents\Projects\Silverlight\evercookie\evercookie\Bin\Debug\AppManifest.xaml" archivePath="AppManifest.xaml" lastWriteTime="10/10/2010 11:20:23 AM" />
|
||||
>>>>>>> eb2b5f487357f4715e1960350c1c44eb44992cae
|
||||
</xapCache>
|
|
@ -0,0 +1,27 @@
|
|||
<<<<<<< HEAD
|
||||
C:\Users\Ethrel\Documents\Projects\Silverlight\evercookie\evercookie\Bin\Debug\evercookie.dll
|
||||
C:\Users\Ethrel\Documents\Projects\Silverlight\evercookie\evercookie\Bin\Debug\evercookie.pdb
|
||||
C:\Users\Ethrel\Documents\Projects\Silverlight\evercookie\evercookie\Bin\Debug\AppManifest.xaml
|
||||
C:\Users\Ethrel\Documents\Projects\Silverlight\evercookie\evercookie\Bin\Debug\evercookie.xap
|
||||
C:\Users\Ethrel\Documents\Projects\Silverlight\evercookie\evercookie\Bin\Debug\evercookieTestPage.html
|
||||
C:\Users\Ethrel\Documents\Projects\Silverlight\evercookie\evercookie\obj\Debug\ResolveAssemblyReference.cache
|
||||
C:\Users\Ethrel\Documents\Projects\Silverlight\evercookie\evercookie\obj\Debug\App.g.i.cs
|
||||
C:\Users\Ethrel\Documents\Projects\Silverlight\evercookie\evercookie\obj\Debug\MainPage.g.i.cs
|
||||
C:\Users\Ethrel\Documents\Projects\Silverlight\evercookie\evercookie\obj\Debug\evercookie.g.resources
|
||||
C:\Users\Ethrel\Documents\Projects\Silverlight\evercookie\evercookie\obj\Debug\evercookie.dll
|
||||
C:\Users\Ethrel\Documents\Projects\Silverlight\evercookie\evercookie\obj\Debug\evercookie.pdb
|
||||
C:\Users\Ethrel\Documents\Projects\Silverlight\evercookie\evercookie\obj\Debug\XapCacheFile.xml
|
||||
=======
|
||||
C:\Users\Ethrel\Documents\Projects\Silverlight\evercookie\evercookie\Bin\Debug\evercookie.dll
|
||||
C:\Users\Ethrel\Documents\Projects\Silverlight\evercookie\evercookie\Bin\Debug\evercookie.pdb
|
||||
C:\Users\Ethrel\Documents\Projects\Silverlight\evercookie\evercookie\Bin\Debug\AppManifest.xaml
|
||||
C:\Users\Ethrel\Documents\Projects\Silverlight\evercookie\evercookie\Bin\Debug\evercookie.xap
|
||||
C:\Users\Ethrel\Documents\Projects\Silverlight\evercookie\evercookie\Bin\Debug\evercookieTestPage.html
|
||||
C:\Users\Ethrel\Documents\Projects\Silverlight\evercookie\evercookie\obj\Debug\ResolveAssemblyReference.cache
|
||||
C:\Users\Ethrel\Documents\Projects\Silverlight\evercookie\evercookie\obj\Debug\App.g.i.cs
|
||||
C:\Users\Ethrel\Documents\Projects\Silverlight\evercookie\evercookie\obj\Debug\MainPage.g.i.cs
|
||||
C:\Users\Ethrel\Documents\Projects\Silverlight\evercookie\evercookie\obj\Debug\evercookie.g.resources
|
||||
C:\Users\Ethrel\Documents\Projects\Silverlight\evercookie\evercookie\obj\Debug\evercookie.dll
|
||||
C:\Users\Ethrel\Documents\Projects\Silverlight\evercookie\evercookie\obj\Debug\evercookie.pdb
|
||||
C:\Users\Ethrel\Documents\Projects\Silverlight\evercookie\evercookie\obj\Debug\XapCacheFile.xml
|
||||
>>>>>>> eb2b5f487357f4715e1960350c1c44eb44992cae
|
14
web/evercookie/php/_cookie_name.php
Normal file
|
@ -0,0 +1,14 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* Gets evercookie's cookie name for PHP's scripts to get value froms
|
||||
*
|
||||
* @param string $file_name Usually it's a file name like 'evercookie_blabla.php'
|
||||
* @return string evercookie_blabla
|
||||
*/
|
||||
function evercookie_get_cookie_name($file_name) {
|
||||
if (!empty($_GET['cookie'])) {
|
||||
return $_GET['cookie'];
|
||||
}
|
||||
return basename($file_name, '.php');
|
||||
}
|
25
web/evercookie/php/evercookie_cache.php
Normal file
|
@ -0,0 +1,25 @@
|
|||
<?php
|
||||
/* evercookie, by samy kamkar, 09/20/2010
|
||||
* http://samy.pl : code@samy.pl
|
||||
*
|
||||
* This is the server-side simple caching mechanism.
|
||||
*
|
||||
* -samy kamkar
|
||||
*/
|
||||
|
||||
// we get cookie name from current file name so remember about it when rename of this file will be required
|
||||
include dirname(__FILE__) . DIRECTORY_SEPARATOR . '_cookie_name.php';
|
||||
$cookie_name = evercookie_get_cookie_name(__FILE__);
|
||||
|
||||
// we don't have a cookie, user probably deleted it, force cache
|
||||
if (empty($_COOKIE[$cookie_name])) {
|
||||
header('HTTP/1.1 304 Not Modified');
|
||||
exit;
|
||||
}
|
||||
|
||||
header('Content-Type: text/html');
|
||||
header('Last-Modified: Wed, 30 Jun 2010 21:36:48 GMT');
|
||||
header('Expires: Tue, 31 Dec 2030 23:30:45 GMT');
|
||||
header('Cache-Control: private, max-age=630720000');
|
||||
|
||||
echo $_COOKIE[$cookie_name];
|
59
web/evercookie/php/evercookie_etag.php
Normal file
|
@ -0,0 +1,59 @@
|
|||
<?php
|
||||
/* evercookie, by samy kamkar, 09/20/2010
|
||||
* http://samy.pl : code@samy.pl
|
||||
*
|
||||
* This is the server-side ETag software which tags a user by
|
||||
* using the Etag HTTP header, as well as If-None-Match to check
|
||||
* if the user has been tagged before.
|
||||
*
|
||||
* -samy kamkar
|
||||
*/
|
||||
|
||||
// we get cookie name from current file name so remember about it when rename of this file will be required
|
||||
include dirname(__FILE__) . DIRECTORY_SEPARATOR . '_cookie_name.php';
|
||||
$cookie_name = evercookie_get_cookie_name(__FILE__);
|
||||
|
||||
// we don't have a cookie, so we're not setting it
|
||||
if (empty($_COOKIE[$cookie_name])) {
|
||||
// read our etag and pass back
|
||||
if (!function_exists('apache_request_headers')) {
|
||||
function apache_request_headers() {
|
||||
// Source: http://www.php.net/manual/en/function.apache-request-headers.php#70810
|
||||
$arh = array();
|
||||
$rx_http = '/\AHTTP_/';
|
||||
foreach ($_SERVER as $key => $val) {
|
||||
if (preg_match($rx_http, $key)) {
|
||||
$arh_key = preg_replace($rx_http, '', $key);
|
||||
$rx_matches = array();
|
||||
// do some nasty string manipulations to restore the original letter case
|
||||
// this should work in most cases
|
||||
$rx_matches = explode('_', $arh_key);
|
||||
if (count($rx_matches) > 0 and strlen($arh_key) > 2) {
|
||||
foreach ($rx_matches as $ak_key => $ak_val) {
|
||||
$rx_matches[$ak_key] = ucfirst(strtolower($ak_val));
|
||||
}
|
||||
$arh_key = implode('-', $rx_matches);
|
||||
}
|
||||
$arh[$arh_key] = $val;
|
||||
}
|
||||
}
|
||||
return ($arh);
|
||||
}
|
||||
}
|
||||
|
||||
// Headers might have different letter case depending on the web server.
|
||||
// So, change all headers to uppercase and compare it.
|
||||
$headers = array_change_key_case(apache_request_headers(), CASE_UPPER);
|
||||
if(isset($headers['IF-NONE-MATCH'])) {
|
||||
// extracting value from ETag presented format (which may be prepended by Weak validator modifier)
|
||||
$etag_value = preg_replace('|^(W/)?"(.+)"$|', '$2', $headers['IF-NONE-MATCH']);
|
||||
header('HTTP/1.1 304 Not Modified');
|
||||
header('ETag: "' . $etag_value . '"');
|
||||
echo $etag_value;
|
||||
}
|
||||
exit;
|
||||
}
|
||||
|
||||
// set our etag
|
||||
header('ETag: "' . $_COOKIE[$cookie_name] . '"');
|
||||
echo $_COOKIE[$cookie_name];
|
59
web/evercookie/php/evercookie_png.php
Normal file
|
@ -0,0 +1,59 @@
|
|||
<?php
|
||||
/* evercookie, by samy kamkar, 09/20/2010
|
||||
* http://samy.pl : code@samy.pl
|
||||
*
|
||||
* This is the server-side variable PNG generator for evercookie.
|
||||
* If an HTTP cookie is passed, the cookie data gets converted into
|
||||
* RGB-values in a PNG image. The PNG image is printed out with a
|
||||
* 20-year cache expiration date.
|
||||
*
|
||||
* If for any reason this file is accessed again WITHOUT the cookie,
|
||||
* as in the user deleted their cookie, the code returns back with
|
||||
* a forced 'Not Modified' meaning the browser should look at its
|
||||
* cache for the image.
|
||||
*
|
||||
* The client-side code then places the cached image in a canvas and
|
||||
* reads it in pixel by pixel, converting the PNG back into a cookie.
|
||||
*
|
||||
* -samy kamkar
|
||||
*/
|
||||
|
||||
// we get cookie name from current file name so remember about it when rename of this file will be required
|
||||
include dirname(__FILE__) . DIRECTORY_SEPARATOR . '_cookie_name.php';
|
||||
$cookie_name = evercookie_get_cookie_name(__FILE__);
|
||||
|
||||
// we don't have a cookie, user probably deleted it, force cache
|
||||
if (empty($_COOKIE[$cookie_name])) {
|
||||
if(!headers_sent()) {
|
||||
header('HTTP/1.1 304 Not Modified');
|
||||
}
|
||||
exit;
|
||||
}
|
||||
|
||||
// width of 200 means 600 bytes (3 RGB bytes per pixel)
|
||||
$x = 200;
|
||||
$y = 1;
|
||||
|
||||
$gd = imagecreatetruecolor($x, $y);
|
||||
|
||||
$data_arr = str_split($_COOKIE[$cookie_name]);
|
||||
|
||||
$x = 0;
|
||||
$y = 0;
|
||||
for ($i = 0, $i_count = count($data_arr); $i < $i_count; $i += 3) {
|
||||
$red = isset($data_arr[$i]) ? ord($data_arr[$i]) : 0;
|
||||
$green = isset($data_arr[$i+1]) ? ord($data_arr[$i+1]) : 0;
|
||||
$blue = isset($data_arr[$i+2]) ? ord($data_arr[$i+2]) : 0;
|
||||
$color = imagecolorallocate($gd, $red, $green, $blue);
|
||||
imagesetpixel($gd, $x++, $y, $color);
|
||||
}
|
||||
|
||||
if(!headers_sent()) {
|
||||
header('Content-Type: image/png');
|
||||
header('Last-Modified: Wed, 30 Jun 2010 21:36:48 GMT');
|
||||
header('Expires: Tue, 31 Dec 2030 23:30:45 GMT');
|
||||
header('Cache-Control: private, max-age=630720000');
|
||||
}
|
||||
|
||||
// boom. headshot.
|
||||
imagepng($gd);
|
35
web/evercookie/php/hsts_cookie.php
Normal file
|
@ -0,0 +1,35 @@
|
|||
<?php
|
||||
//header('Access-Control-Allow-Origin: *');
|
||||
$is_ssl = !empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PORT'] == 443;
|
||||
|
||||
if(isset($_GET['SET'])){
|
||||
if($is_ssl){
|
||||
header('Strict-Transport-Security: max-age=31536000');
|
||||
header('Content-type: image/png');
|
||||
echo base64_decode('iVBORw0KGgoAAAANSUhEUgAAAAgAAAAJCAIAAACAMfp5AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYSURBVBhXY/z//z8DNsAEpTHAkJJgYAAAo0sDD8axyJQAAAAASUVORK5CYII=');
|
||||
}else{
|
||||
$redirect = "https://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
|
||||
header("Location: $redirect");
|
||||
}
|
||||
die();
|
||||
}
|
||||
|
||||
if(isset($_GET['DEL'])){
|
||||
if($is_ssl){
|
||||
header('Strict-Transport-Security: max-age=0');
|
||||
}else{
|
||||
$redirect = "https://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
|
||||
header("Location: $redirect");
|
||||
}
|
||||
die();
|
||||
}
|
||||
|
||||
if($is_ssl){
|
||||
header('Content-type: image/png');
|
||||
// some white pixel
|
||||
echo base64_decode('iVBORw0KGgoAAAANSUhEUgAAAAgAAAAJCAIAAACAMfp5AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYSURBVBhXY/z//z8DNsAEpTHAkJJgYAAAo0sDD8axyJQAAAAASUVORK5CYII=');
|
||||
die();
|
||||
}else{
|
||||
header('X-PHP-Response-Code: 404', true, 404);
|
||||
}
|
||||
?>
|
BIN
web/favicon-16x16.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
web/favicon-32x32.png
Normal file
After Width: | Height: | Size: 1.9 KiB |
BIN
web/favicon-96x96.png
Normal file
After Width: | Height: | Size: 9.3 KiB |
BIN
web/favicon.png
Normal file
After Width: | Height: | Size: 556 B |
BIN
web/fonts/8162.eot
Normal file
BIN
web/fonts/8162.otf
Normal file
3346
web/fonts/8162.svg
Normal file
After Width: | Height: | Size: 457 KiB |
BIN
web/fonts/8162.ttf
Normal file
BIN
web/fonts/8162.woff
Normal file
BIN
web/fonts/8170.eot
Normal file
BIN
web/fonts/8170.otf
Normal file
9818
web/fonts/8170.svg
Normal file
After Width: | Height: | Size: 898 KiB |
BIN
web/fonts/8170.ttf
Normal file
BIN
web/fonts/8170.woff
Normal file
BIN
web/fonts/FiraSans-Bold.eot
Normal file
BIN
web/fonts/FiraSans-Bold.otf
Normal file
34268
web/fonts/FiraSans-Bold.svg
Normal file
After Width: | Height: | Size: 2.9 MiB |
BIN
web/fonts/FiraSans-Bold.ttf
Normal file
BIN
web/fonts/FiraSans-Bold.woff
Normal file
BIN
web/fonts/FiraSans-ExtraBold.eot
Normal file
BIN
web/fonts/FiraSans-ExtraBold.otf
Normal file
34240
web/fonts/FiraSans-ExtraBold.svg
Normal file
After Width: | Height: | Size: 2.9 MiB |
BIN
web/fonts/FiraSans-ExtraBold.ttf
Normal file
BIN
web/fonts/FiraSans-ExtraBold.woff
Normal file
BIN
web/fonts/FiraSans-Light.eot
Normal file
BIN
web/fonts/FiraSans-Light.otf
Normal file
34339
web/fonts/FiraSans-Light.svg
Normal file
After Width: | Height: | Size: 2.9 MiB |
BIN
web/fonts/FiraSans-Light.ttf
Normal file
BIN
web/fonts/FiraSans-Light.woff
Normal file
BIN
web/fonts/FiraSans-Medium.eot
Normal file
BIN
web/fonts/FiraSans-Medium.otf
Normal file
34352
web/fonts/FiraSans-Medium.svg
Normal file
After Width: | Height: | Size: 2.9 MiB |
BIN
web/fonts/FiraSans-Medium.ttf
Normal file
BIN
web/fonts/FiraSans-Medium.woff
Normal file
BIN
web/fonts/FiraSans-Regular.eot
Normal file
BIN
web/fonts/FiraSans-Regular.otf
Normal file
34200
web/fonts/FiraSans-Regular.svg
Normal file
After Width: | Height: | Size: 2.9 MiB |
BIN
web/fonts/FiraSans-Regular.ttf
Normal file
BIN
web/fonts/FiraSans-Regular.woff
Normal file
BIN
web/fonts/FiraSans-SemiBold.eot
Normal file
BIN
web/fonts/FiraSans-SemiBold.otf
Normal file
34409
web/fonts/FiraSans-SemiBold.svg
Normal file
After Width: | Height: | Size: 3 MiB |
BIN
web/fonts/FiraSans-SemiBold.ttf
Normal file
BIN
web/fonts/FiraSans-SemiBold.woff
Normal file
BIN
web/fonts/Roboto-Bold.eot
Normal file
BIN
web/fonts/Roboto-Bold.otf
Normal file
12465
web/fonts/Roboto-Bold.svg
Normal file
After Width: | Height: | Size: 1,012 KiB |