cleanup of cms-folder
|
@ -1,523 +0,0 @@
|
|||
/*
|
||||
Simple Responsive Template v 1.2
|
||||
|
||||
|
||||
primary styles
|
||||
Author: www.prowebdesign.ro
|
||||
Add your own styles to customize the project.
|
||||
|
||||
|
||||
|
||||
BASE (MOBILE) SIZE
|
||||
These are the mobile styles. It's what people see on their phones.
|
||||
Remember, keep it light: Speed is Important.
|
||||
*/
|
||||
|
||||
/* typography */
|
||||
body{
|
||||
color:#666;
|
||||
font-family:'Ubuntu', Arial, Helvetica, sans-serif;
|
||||
font-size:1em;
|
||||
line-height:1.4em;
|
||||
font-weight:normal;
|
||||
}
|
||||
h1, h2, h3, h4, h5, h6{
|
||||
font-weight:normal;
|
||||
font-family:'Droid Serif', Arial, Helvetica, sans-serif;
|
||||
line-height:1.5em;
|
||||
margin:.45em 0;
|
||||
padding:0;
|
||||
}
|
||||
|
||||
|
||||
/* links */
|
||||
a,
|
||||
a:visited,
|
||||
a:active,
|
||||
a:hover{color:#0099ff;}
|
||||
a:hover{ text-decoration:none;}
|
||||
|
||||
|
||||
/* Box sizing. Awesome thing. Read about it here: http://www.w3schools.com/cssref/css3_pr_box-sizing.asp */
|
||||
*{ box-sizing:border-box;
|
||||
-moz-box-sizing:border-box;}
|
||||
|
||||
|
||||
/* structure */
|
||||
.wrapper{
|
||||
width: 92%;
|
||||
margin: 0 auto;
|
||||
}
|
||||
header{
|
||||
padding:15px 0;
|
||||
}
|
||||
#banner{
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
#hero,
|
||||
#page-header{
|
||||
background:#f3f3f3;
|
||||
border-top:1px solid #e2e2e2;
|
||||
border-bottom:1px solid #e2e2e2;
|
||||
padding:20px 0;
|
||||
}
|
||||
#hero h1{
|
||||
line-height:1.2em;
|
||||
margin-top:0px;
|
||||
margin-bottom:10px;}
|
||||
|
||||
.flexslider{
|
||||
display:none;
|
||||
}
|
||||
|
||||
#content {
|
||||
margin:40px 0;
|
||||
}
|
||||
|
||||
aside {
|
||||
margin:40px 0;
|
||||
}
|
||||
|
||||
p{ margin:0 0 1.5em;}
|
||||
|
||||
|
||||
/* RESPONSIVE IMAGES */
|
||||
img{ max-width:100%; height:auto;}
|
||||
|
||||
|
||||
/*MAIN MENU*/
|
||||
.menu-toggle{
|
||||
display:block;
|
||||
padding:10px;
|
||||
margin:20px 0 0;
|
||||
background:#666;
|
||||
color:#fff;
|
||||
cursor:pointer;
|
||||
text-transform:uppercase;
|
||||
font-size:20px;
|
||||
}
|
||||
.menu-toggle.toggled-on{
|
||||
background:#0099ff;
|
||||
}
|
||||
.srt-menu{
|
||||
display:none;
|
||||
}
|
||||
.srt-menu.toggled-on{
|
||||
display:block;
|
||||
position:relative;
|
||||
z-index:10;
|
||||
}
|
||||
|
||||
.srt-menu{
|
||||
clear:both;
|
||||
margin-bottom:60px;
|
||||
|
||||
}
|
||||
.srt-menu li a {
|
||||
background:#dadada;
|
||||
display:block;
|
||||
margin:1px 0;
|
||||
padding:10px;
|
||||
text-decoration:none;
|
||||
}
|
||||
.srt-menu li a:hover{
|
||||
background:#0099ff;
|
||||
color:#fff;
|
||||
}
|
||||
.srt-menu li li a {
|
||||
background:#e8e8e8;
|
||||
padding-left:40px;
|
||||
}
|
||||
.srt-menu li li li a {
|
||||
background:#efefef;
|
||||
padding-left:80px;
|
||||
}
|
||||
|
||||
/*SECONDARY MENU*/
|
||||
#secondary-navigation{
|
||||
margin-bottom:60px;
|
||||
}
|
||||
#secondary-navigation ul{
|
||||
margin:0;
|
||||
padding:0;
|
||||
}
|
||||
#secondary-navigation ul li a{
|
||||
background:#E6E6E6;
|
||||
display:block;
|
||||
margin:5px 0;
|
||||
padding:10px;
|
||||
text-decoration:none;
|
||||
}
|
||||
#secondary-navigation ul li a:hover,
|
||||
#secondary-navigation ul li.active a{
|
||||
background:#0099ff;
|
||||
color:#fff;
|
||||
}
|
||||
|
||||
/*SPACE GRID ELEMENTS VERTICALLY, SINCE THEY ARE ONE UNDER ANOTHER SO FAR*/
|
||||
.grid_1,
|
||||
.grid_2,
|
||||
.grid_3,
|
||||
.grid_4,
|
||||
.grid_5,
|
||||
.grid_6,
|
||||
.grid_7,
|
||||
.grid_8,
|
||||
.grid_9,
|
||||
.grid_10,
|
||||
.grid_11,
|
||||
.grid_12 {
|
||||
margin-bottom:40px;
|
||||
/*positioning and padding*/
|
||||
position: relative;
|
||||
min-height: 1px;
|
||||
padding-left: 15px;
|
||||
padding-right: 15px;
|
||||
}
|
||||
|
||||
/*FOOTER*/
|
||||
footer{
|
||||
clear:both;
|
||||
font-size:80%;
|
||||
padding:20px 0;
|
||||
}
|
||||
footer ul{
|
||||
margin:0;
|
||||
padding:0;
|
||||
}
|
||||
|
||||
/*colors and backgrounds*/
|
||||
body{
|
||||
background:#fff;
|
||||
}
|
||||
h1, h2, h3, h4, h5, h6{
|
||||
color:#333;
|
||||
}
|
||||
|
||||
footer{
|
||||
background:#333;
|
||||
color:#ccc;
|
||||
}
|
||||
footer h1, footer h2, footer h3, footer h4{
|
||||
color:#CCC;
|
||||
margin-bottom:10px;
|
||||
}
|
||||
footer ul{
|
||||
margin:0 0 0 8%;
|
||||
}
|
||||
|
||||
a.buttonlink{
|
||||
background:#0099ff;
|
||||
border-radius:7px;
|
||||
color:#fff;
|
||||
display:block;
|
||||
float:left;
|
||||
margin:10px 15px 10px 0;
|
||||
padding:10px;
|
||||
text-decoration:none;
|
||||
}
|
||||
a.buttonlink:hover{
|
||||
background:#8dbc01;
|
||||
}
|
||||
.greenelement{
|
||||
background:#5ec79e;
|
||||
color:#fff;
|
||||
}
|
||||
.violetelement{
|
||||
background:#887dc2;
|
||||
color:#fff;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* Contain floats*/
|
||||
.clearfix:before,
|
||||
.clearfix:after,
|
||||
.row:before,
|
||||
.row:after {
|
||||
content: " ";
|
||||
display: table;
|
||||
}
|
||||
.clearfix:after,
|
||||
.container:after,
|
||||
.row:after{
|
||||
clear: both;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
LARGER MOBILE DEVICES
|
||||
This is for mobile devices with a bit larger screens.
|
||||
*/
|
||||
@media only screen and (min-width: 481px) {
|
||||
#banner{
|
||||
float:left;
|
||||
text-align:left;
|
||||
margin-bottom:-20px;/*this depends on the height of the logo*/
|
||||
}
|
||||
.menu-toggle{/*make menu float right, instead of sitting under the logo*/
|
||||
margin-top:10px; /*this depends on the height of the logo*/
|
||||
float:right;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
TABLET & SMALLER LAPTOPS
|
||||
The average viewing window and preferred media query for those is 768px.
|
||||
But I think that some more breathing space is good:)
|
||||
*/
|
||||
@media only screen and (min-width: 920px) {
|
||||
|
||||
.wrapper{
|
||||
max-width: 1200px;
|
||||
margin: .75em auto;
|
||||
}
|
||||
|
||||
#banner{
|
||||
float:left;
|
||||
text-align:left;
|
||||
margin-bottom:0px;
|
||||
}
|
||||
header{
|
||||
padding:0;
|
||||
}
|
||||
#content {
|
||||
float:left;
|
||||
width:65%;
|
||||
}
|
||||
#content.wide-content{
|
||||
float:none;
|
||||
width:100%;
|
||||
}
|
||||
|
||||
.flexslider{
|
||||
display:block;
|
||||
/*demo 1 slider theme*/
|
||||
margin: 0 0 60px;
|
||||
background: #fff;
|
||||
border: 4px solid #fff;
|
||||
-webkit-border-radius: 4px;
|
||||
-moz-border-radius: 4px;
|
||||
-o-border-radius: 4px;
|
||||
border-radius: 4px;
|
||||
box-shadow: 0 1px 4px rgba(0,0,0,.2);
|
||||
-webkit-box-shadow: 0 1px 4px rgba(0,0,0,.2);
|
||||
-moz-box-shadow: 0 1px 4px rgba(0,0,0,.2);
|
||||
-o-box-shadow: 0 1px 4px rgba(0,0,0,.2);
|
||||
}
|
||||
|
||||
|
||||
aside {
|
||||
float:right;
|
||||
width:30%;
|
||||
}
|
||||
|
||||
/*** MAIN MENU - ESSENTIAL STYLES ***/
|
||||
.menu-toggle{display:none;}
|
||||
#menu-main-navigation{display:block;}
|
||||
|
||||
.srt-menu, .srt-menu * {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
}
|
||||
.srt-menu ul {
|
||||
position: absolute;
|
||||
display:none;
|
||||
width: 12em; /* left offset of submenus need to match (see below) */
|
||||
}
|
||||
.srt-menu ul li {
|
||||
width: 100%;
|
||||
}
|
||||
.srt-menu li:hover {
|
||||
visibility: inherit; /* fixes IE7 'sticky bug' */
|
||||
}
|
||||
.srt-menu li {
|
||||
float: left;
|
||||
position: relative;
|
||||
margin-left:1px;
|
||||
}
|
||||
.srt-menu li li {
|
||||
margin-left:0px;
|
||||
}
|
||||
.srt-menu a {
|
||||
display: block;
|
||||
position: relative;
|
||||
}
|
||||
.srt-menu li:hover ul,
|
||||
.srt-menu li.sfHover ul {
|
||||
display:block;
|
||||
left: 0;
|
||||
top: 45px; /* match top ul list item height */
|
||||
z-index: 99;
|
||||
-webkit-box-shadow: 2px 3px 2px 0px rgba(00, 00, 00, .3);
|
||||
box-shadow: 2px 3px 2px 0px rgba(00, 00, 00, .3);
|
||||
}
|
||||
ul.srt-menu li:hover li ul,
|
||||
ul.srt-menu li.sfHover li ul {
|
||||
top: -999em;
|
||||
}
|
||||
ul.srt-menu li li:hover ul,
|
||||
ul.srt-menu li li.sfHover ul {
|
||||
left: 12em; /* match ul width */
|
||||
top: 0;
|
||||
}
|
||||
ul.srt-menu li li:hover li ul,
|
||||
ul.srt-menu li li.sfHover li ul {
|
||||
top: -999em;
|
||||
}
|
||||
ul.srt-menu li li li:hover ul,
|
||||
ul.srt-menu li li li.sfHover ul {
|
||||
left: 10em; /* match ul width */
|
||||
top: 0;
|
||||
}
|
||||
|
||||
/*** DEMO1 SKIN ***/
|
||||
#topnav, .srt-menu {
|
||||
float:right;
|
||||
margin: .35em 0 0 0;
|
||||
}
|
||||
.srt-menu a {
|
||||
text-decoration:none;
|
||||
}
|
||||
.srt-menu li a {
|
||||
background:#fff;
|
||||
margin:0;
|
||||
padding:10px 20px;
|
||||
height:45px;
|
||||
}
|
||||
.srt-menu a, .srt-menu a:visited { /* visited pseudo selector so IE6 applies text colour*/
|
||||
color: #0099ff;
|
||||
}
|
||||
.srt-menu li li a {
|
||||
border-top: 1px solid rgba(255,255,255,.2);
|
||||
background: #333; /*fallback for old IE*/
|
||||
background:rgba(0,0,0,.6);
|
||||
color: #fff;
|
||||
padding-left:20px;
|
||||
height:auto;
|
||||
}
|
||||
.srt-menu li li a:visited{color:#fff;}
|
||||
.srt-menu li li li a,
|
||||
.srt-menu li.active * li a{
|
||||
padding-left:20px;
|
||||
background:rgba(0,0,0,.6);
|
||||
}
|
||||
|
||||
.srt-menu li:hover > a,
|
||||
.srt-menu li.active a{
|
||||
color:#fff;
|
||||
background:#0099ff;
|
||||
}
|
||||
.srt-menu li li:hover > a{
|
||||
color:#fff;
|
||||
background:#0099ff;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*GRID*/
|
||||
/*
|
||||
& Columns : 12
|
||||
|
||||
*/
|
||||
.row{
|
||||
margin-left: -15px;
|
||||
margin-right: -15px;
|
||||
}
|
||||
|
||||
.grid_1 { width: 8.33333333%; }
|
||||
.grid_2 { width: 16.66666667%; }
|
||||
.grid_3 { width: 25%; }
|
||||
.grid_4 { width: 33.33333333%; }
|
||||
.grid_5 { width: 41.66666667%; }
|
||||
.grid_6 { width: 50%; }
|
||||
.grid_7 { width: 58.33333333%; }
|
||||
.grid_8 { width: 66.66666667%; }
|
||||
.grid_9 { width: 75%; }
|
||||
.grid_10 { width: 83.33333333%; }
|
||||
.grid_11 { width: 91.66666667%; }
|
||||
.grid_12 { width: 100%; }
|
||||
|
||||
.grid_1,
|
||||
.grid_2,
|
||||
.grid_3,
|
||||
.grid_4,
|
||||
.grid_5,
|
||||
.grid_6,
|
||||
.grid_7,
|
||||
.grid_8,
|
||||
.grid_9,
|
||||
.grid_10,
|
||||
.grid_11,
|
||||
.grid_12 {
|
||||
float: left;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.rightfloat{float:right;}
|
||||
/* @notation inspired by tinyGrid, .row and percentage by Twitter Bootstrap
|
||||
*/
|
||||
|
||||
#hero [class*="grid_"] { margin-bottom:-20px;}
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
DESKTOP
|
||||
This is the average viewing window. So Desktops, Laptops, and
|
||||
in general anyone not viewing on a mobile device. Here's where
|
||||
you can add resource intensive styles.
|
||||
*/
|
||||
@media only screen and (min-width: 1030px) {
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
LARGE VIEWING SIZE
|
||||
This is for the larger monitors and possibly full screen viewers.
|
||||
*/
|
||||
@media only screen and (min-width: 1240px) {
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
RETINA (2x RESOLUTION DEVICES)
|
||||
This applies to the retina iPhone (4s) and iPad (2,3) along with
|
||||
other displays with a 2x resolution.
|
||||
*/
|
||||
@media only screen and (-webkit-min-device-pixel-ratio: 1.5),
|
||||
only screen and (min--moz-device-pixel-ratio: 1.5),
|
||||
only screen and (min-device-pixel-ratio: 1.5) {
|
||||
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
iPHONE 5 MEDIA QUERY
|
||||
iPhone 5 or iPod Touch 5th generation styles (you can include your own file if you want)
|
||||
*/
|
||||
@media (device-height: 568px) and (-webkit-min-device-pixel-ratio: 2) {
|
||||
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
PRINT STYLESHEET
|
||||
*/
|
||||
@media print {
|
||||
* { background: transparent !important; color: black !important; text-shadow: none !important; filter:none !important; -ms-filter: none !important; } /* Black prints faster: h5bp.com/s */
|
||||
a, a:visited { text-decoration: underline; }
|
||||
a[href]:after { content: " (" attr(href) ")"; }
|
||||
abbr[title]:after { content: " (" attr(title) ")"; }
|
||||
.ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; } /* Don't show links for images, or javascript/internal links */
|
||||
pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
|
||||
thead { display: table-header-group; } /* h5bp.com/t */
|
||||
tr, img { page-break-inside: avoid; }
|
||||
img { max-width: 100% !important; }
|
||||
@page { margin: 0.5cm; }
|
||||
p, h2, h3 { orphans: 3; widows: 3; }
|
||||
h2, h3 { page-break-after: avoid; }
|
||||
}
|
|
@ -1,136 +0,0 @@
|
|||
form#login_box {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
form#login_box fieldset {
|
||||
padding: 3px;
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
input[type='submit'] {
|
||||
background: #0099ff none repeat scroll 0 0;
|
||||
border: 1px solid;
|
||||
border-radius: 6px;
|
||||
color: #fff;
|
||||
margin: 5px 10px 5px 0;
|
||||
padding: 5px;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
footer #colophon {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
div#social-media-links {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
text-align: right;
|
||||
width: 20%;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
a.social-media-icon {
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
background-image: url(../images/ico/social_icons_sprite.png);
|
||||
display: inline-block;
|
||||
color: rgba(0, 0, 0, 0);
|
||||
}
|
||||
|
||||
.facebook {
|
||||
background-position: 0 0 !important;
|
||||
}
|
||||
|
||||
.facebook:hover {
|
||||
background-position: 0 -32px !important;
|
||||
}
|
||||
|
||||
.pinterest {
|
||||
background-position: -32px 0 !important;
|
||||
}
|
||||
|
||||
.pinterest:hover {
|
||||
background-position: -32px -32px !important;
|
||||
}
|
||||
|
||||
.youtube {
|
||||
background-position: -64px 0px !important;
|
||||
}
|
||||
|
||||
.youtube:hover {
|
||||
background-position: -64px -32px !important;
|
||||
}
|
||||
|
||||
.flickr {
|
||||
background-position: -96px 0px !important;
|
||||
}
|
||||
|
||||
.flickr:hover{
|
||||
background-position: -96px -32px !important;
|
||||
}
|
||||
|
||||
.google-plus {
|
||||
background-position: -128px 0px !important;
|
||||
}
|
||||
|
||||
.google-plus:hover {
|
||||
background-position: -128px -32px !important;
|
||||
}
|
||||
|
||||
.rss {
|
||||
background-position: -160px 0 !important;
|
||||
}
|
||||
|
||||
.rss:hover {
|
||||
background-position: -160px -32px !important;
|
||||
}
|
||||
|
||||
|
||||
.twitter {
|
||||
background-position: -192px 0 !important;
|
||||
}
|
||||
|
||||
.twitter:hover {
|
||||
background-position: -192px -32px !important;
|
||||
}
|
||||
|
||||
|
||||
.vimeo {
|
||||
background-position: -224px 0 !important;
|
||||
}
|
||||
|
||||
.vimeo:hover {
|
||||
background-position: -224px -32px !important;
|
||||
}
|
||||
|
||||
.dribble {
|
||||
background-position: -256px 0 !important;
|
||||
}
|
||||
|
||||
.dribble:hover {
|
||||
background-position: -256px -32px !important;
|
||||
}
|
||||
|
||||
.linkedin {
|
||||
background-position: -288px 0 !important;
|
||||
}
|
||||
|
||||
.linkedin:hover {
|
||||
background-position: -288px -32px !important;
|
||||
}
|
||||
|
||||
.xing {
|
||||
background-position: -320px 0 !important;
|
||||
}
|
||||
|
||||
.xing:hover {
|
||||
background-position: -320px -32px !important;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@media only screen and (min-width: 920px) {
|
||||
form#login_box input {
|
||||
max-width: 100px;
|
||||
}
|
||||
}
|
|
@ -1,530 +0,0 @@
|
|||
/*! normalize.css v1.1.0 | MIT License | git.io/normalize */
|
||||
|
||||
/* ==========================================================================
|
||||
HTML5 display definitions
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* Correct `block` display not defined in IE 6/7/8/9 and Firefox 3.
|
||||
*/
|
||||
|
||||
article,
|
||||
aside,
|
||||
details,
|
||||
figcaption,
|
||||
figure,
|
||||
footer,
|
||||
header,
|
||||
hgroup,
|
||||
main,
|
||||
nav,
|
||||
section,
|
||||
summary {
|
||||
display: block;
|
||||
}
|
||||
|
||||
/**
|
||||
* Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3.
|
||||
*/
|
||||
|
||||
audio,
|
||||
canvas,
|
||||
video {
|
||||
display: inline-block;
|
||||
*display: inline;
|
||||
*zoom: 1;
|
||||
}
|
||||
|
||||
/**
|
||||
* Prevent modern browsers from displaying `audio` without controls.
|
||||
* Remove excess height in iOS 5 devices.
|
||||
*/
|
||||
|
||||
audio:not([controls]) {
|
||||
display: none;
|
||||
height: 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Address styling not present in IE 7/8/9, Firefox 3, and Safari 4.
|
||||
* Known issue: no IE 6 support.
|
||||
*/
|
||||
|
||||
[hidden] {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
Base
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* 1. Correct text resizing oddly in IE 6/7 when body `font-size` is set using
|
||||
* `em` units.
|
||||
* 2. Prevent iOS text size adjust after orientation change, without disabling
|
||||
* user zoom.
|
||||
*/
|
||||
|
||||
html {
|
||||
font-size: 100%; /* 1 */
|
||||
-webkit-text-size-adjust: 100%; /* 2 */
|
||||
-ms-text-size-adjust: 100%; /* 2 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Address `font-family` inconsistency between `textarea` and other form
|
||||
* elements.
|
||||
*/
|
||||
|
||||
html,
|
||||
button,
|
||||
input,
|
||||
select,
|
||||
textarea {
|
||||
font-family: sans-serif;
|
||||
}
|
||||
|
||||
/**
|
||||
* Address margins handled incorrectly in IE 6/7.
|
||||
*/
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
Links
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* Address `outline` inconsistency between Chrome and other browsers.
|
||||
*/
|
||||
|
||||
a:focus {
|
||||
outline: thin dotted;
|
||||
}
|
||||
|
||||
/**
|
||||
* Improve readability when focused and also mouse hovered in all browsers.
|
||||
*/
|
||||
|
||||
a:active,
|
||||
a:hover {
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
Typography
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* Address font sizes and margins set differently in IE 6/7.
|
||||
* Address font sizes within `section` and `article` in Firefox 4+, Safari 5,
|
||||
* and Chrome.
|
||||
*/
|
||||
|
||||
h1 {
|
||||
font-size: 2em;
|
||||
margin: 0.67em 0;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: 1.5em;
|
||||
margin: 0.83em 0;
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-size: 1.17em;
|
||||
margin: 1em 0;
|
||||
}
|
||||
|
||||
h4 {
|
||||
font-size: 1em;
|
||||
margin: 1.33em 0;
|
||||
}
|
||||
|
||||
h5 {
|
||||
font-size: 0.83em;
|
||||
margin: 1.67em 0;
|
||||
}
|
||||
|
||||
h6 {
|
||||
font-size: 0.67em;
|
||||
margin: 2.33em 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Address styling not present in IE 7/8/9, Safari 5, and Chrome.
|
||||
*/
|
||||
|
||||
abbr[title] {
|
||||
border-bottom: 1px dotted;
|
||||
}
|
||||
|
||||
/**
|
||||
* Address style set to `bolder` in Firefox 3+, Safari 4/5, and Chrome.
|
||||
*/
|
||||
|
||||
b,
|
||||
strong {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
blockquote {
|
||||
margin: 1em 40px;
|
||||
}
|
||||
|
||||
/**
|
||||
* Address styling not present in Safari 5 and Chrome.
|
||||
*/
|
||||
|
||||
dfn {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
/**
|
||||
* Address differences between Firefox and other browsers.
|
||||
* Known issue: no IE 6/7 normalization.
|
||||
*/
|
||||
|
||||
hr {
|
||||
-moz-box-sizing: content-box;
|
||||
box-sizing: content-box;
|
||||
height: 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Address styling not present in IE 6/7/8/9.
|
||||
*/
|
||||
|
||||
mark {
|
||||
background: #ff0;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
/**
|
||||
* Address margins set differently in IE 6/7.
|
||||
*/
|
||||
|
||||
p,
|
||||
pre {
|
||||
margin: 1em 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Correct font family set oddly in IE 6, Safari 4/5, and Chrome.
|
||||
*/
|
||||
|
||||
code,
|
||||
kbd,
|
||||
pre,
|
||||
samp {
|
||||
font-family: monospace, serif;
|
||||
_font-family: 'courier new', monospace;
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
/**
|
||||
* Improve readability of pre-formatted text in all browsers.
|
||||
*/
|
||||
|
||||
pre {
|
||||
white-space: pre;
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Address CSS quotes not supported in IE 6/7.
|
||||
*/
|
||||
|
||||
q {
|
||||
quotes: none;
|
||||
}
|
||||
|
||||
/**
|
||||
* Address `quotes` property not supported in Safari 4.
|
||||
*/
|
||||
|
||||
q:before,
|
||||
q:after {
|
||||
content: '';
|
||||
content: none;
|
||||
}
|
||||
|
||||
/**
|
||||
* Address inconsistent and variable font size in all browsers.
|
||||
*/
|
||||
|
||||
small {
|
||||
font-size: 80%;
|
||||
}
|
||||
|
||||
/**
|
||||
* Prevent `sub` and `sup` affecting `line-height` in all browsers.
|
||||
*/
|
||||
|
||||
sub,
|
||||
sup {
|
||||
font-size: 75%;
|
||||
line-height: 0;
|
||||
position: relative;
|
||||
vertical-align: baseline;
|
||||
}
|
||||
|
||||
sup {
|
||||
top: -0.5em;
|
||||
}
|
||||
|
||||
sub {
|
||||
bottom: -0.25em;
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
Lists
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* Address margins set differently in IE 6/7.
|
||||
*/
|
||||
|
||||
dl,
|
||||
menu,
|
||||
ol,
|
||||
ul {
|
||||
margin: 1em 0;
|
||||
}
|
||||
|
||||
dd {
|
||||
margin: 0 0 0 40px;
|
||||
}
|
||||
|
||||
/**
|
||||
* Address paddings set differently in IE 6/7.
|
||||
*/
|
||||
|
||||
menu,
|
||||
ol,
|
||||
ul {
|
||||
padding: 0 0 0 40px;
|
||||
}
|
||||
|
||||
/**
|
||||
* Correct list images handled incorrectly in IE 7.
|
||||
*/
|
||||
|
||||
nav ul,
|
||||
nav ol {
|
||||
list-style: none;
|
||||
list-style-image: none;
|
||||
padding:0;
|
||||
margin:0;
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
Embedded content
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* 1. Remove border when inside `a` element in IE 6/7/8/9 and Firefox 3.
|
||||
* 2. Improve image quality when scaled in IE 7.
|
||||
*/
|
||||
|
||||
img {
|
||||
border: 0; /* 1 */
|
||||
-ms-interpolation-mode: bicubic; /* 2 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Correct overflow displayed oddly in IE 9.
|
||||
*/
|
||||
|
||||
svg:not(:root) {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
Figures
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* Address margin not present in IE 6/7/8/9, Safari 5, and Opera 11.
|
||||
*/
|
||||
|
||||
figure {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
Forms
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* Correct margin displayed oddly in IE 6/7.
|
||||
*/
|
||||
|
||||
form {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Define consistent border, margin, and padding.
|
||||
*/
|
||||
|
||||
fieldset {
|
||||
border: 1px solid #c0c0c0;
|
||||
margin: 0 2px;
|
||||
padding: 0.35em 0.625em 0.75em;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Correct color not being inherited in IE 6/7/8/9.
|
||||
* 2. Correct text not wrapping in Firefox 3.
|
||||
* 3. Correct alignment displayed oddly in IE 6/7.
|
||||
*/
|
||||
|
||||
legend {
|
||||
border: 0; /* 1 */
|
||||
padding: 0;
|
||||
white-space: normal; /* 2 */
|
||||
*margin-left: -7px; /* 3 */
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Correct font size not being inherited in all browsers.
|
||||
* 2. Address margins set differently in IE 6/7, Firefox 3+, Safari 5,
|
||||
* and Chrome.
|
||||
* 3. Improve appearance and consistency in all browsers.
|
||||
*/
|
||||
|
||||
button,
|
||||
input,
|
||||
select,
|
||||
textarea {
|
||||
font-size: 100%; /* 1 */
|
||||
margin: 0; /* 2 */
|
||||
vertical-align: baseline; /* 3 */
|
||||
*vertical-align: middle; /* 3 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Address Firefox 3+ setting `line-height` on `input` using `!important` in
|
||||
* the UA stylesheet.
|
||||
*/
|
||||
|
||||
button,
|
||||
input {
|
||||
line-height: normal;
|
||||
}
|
||||
|
||||
/**
|
||||
* Address inconsistent `text-transform` inheritance for `button` and `select`.
|
||||
* All other form control elements do not inherit `text-transform` values.
|
||||
* Correct `button` style inheritance in Chrome, Safari 5+, and IE 6+.
|
||||
* Correct `select` style inheritance in Firefox 4+ and Opera.
|
||||
*/
|
||||
|
||||
button,
|
||||
select {
|
||||
text-transform: none;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
|
||||
* and `video` controls.
|
||||
* 2. Correct inability to style clickable `input` types in iOS.
|
||||
* 3. Improve usability and consistency of cursor style between image-type
|
||||
* `input` and others.
|
||||
* 4. Remove inner spacing in IE 7 without affecting normal text inputs.
|
||||
* Known issue: inner spacing remains in IE 6.
|
||||
*/
|
||||
|
||||
button,
|
||||
html input[type="button"], /* 1 */
|
||||
input[type="reset"],
|
||||
input[type="submit"] {
|
||||
-webkit-appearance: button; /* 2 */
|
||||
cursor: pointer; /* 3 */
|
||||
*overflow: visible; /* 4 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Re-set default cursor for disabled elements.
|
||||
*/
|
||||
|
||||
button[disabled],
|
||||
html input[disabled] {
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Address box sizing set to content-box in IE 8/9.
|
||||
* 2. Remove excess padding in IE 8/9.
|
||||
* 3. Remove excess padding in IE 7.
|
||||
* Known issue: excess padding remains in IE 6.
|
||||
*/
|
||||
|
||||
input[type="checkbox"],
|
||||
input[type="radio"] {
|
||||
box-sizing: border-box; /* 1 */
|
||||
padding: 0; /* 2 */
|
||||
*height: 13px; /* 3 */
|
||||
*width: 13px; /* 3 */
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
|
||||
* 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
|
||||
* (include `-moz` to future-proof).
|
||||
*/
|
||||
|
||||
input[type="search"] {
|
||||
-webkit-appearance: textfield; /* 1 */
|
||||
-moz-box-sizing: content-box;
|
||||
-webkit-box-sizing: content-box; /* 2 */
|
||||
box-sizing: content-box;
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove inner padding and search cancel button in Safari 5 and Chrome
|
||||
* on OS X.
|
||||
*/
|
||||
|
||||
input[type="search"]::-webkit-search-cancel-button,
|
||||
input[type="search"]::-webkit-search-decoration {
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove inner padding and border in Firefox 3+.
|
||||
*/
|
||||
|
||||
button::-moz-focus-inner,
|
||||
input::-moz-focus-inner {
|
||||
border: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Remove default vertical scrollbar in IE 6/7/8/9.
|
||||
* 2. Improve readability and alignment in all browsers.
|
||||
*/
|
||||
|
||||
textarea {
|
||||
overflow: auto; /* 1 */
|
||||
vertical-align: top; /* 2 */
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
Tables
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* Remove most spacing between table cells.
|
||||
*/
|
||||
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
border-spacing: 0;
|
||||
}
|
Vorher Breite: | Höhe: | Größe: 2.6 KiB |
Vorher Breite: | Höhe: | Größe: 1.8 KiB |
Vorher Breite: | Höhe: | Größe: 1.1 KiB |
Vorher Breite: | Höhe: | Größe: 1.1 KiB |
Vorher Breite: | Höhe: | Größe: 1.0 KiB |
Vorher Breite: | Höhe: | Größe: 1.1 KiB |
Vorher Breite: | Höhe: | Größe: 2.1 KiB |
Vorher Breite: | Höhe: | Größe: 2.1 KiB |
Vorher Breite: | Höhe: | Größe: 2.5 KiB |
Vorher Breite: | Höhe: | Größe: 8.6 KiB |
Vorher Breite: | Höhe: | Größe: 12 KiB |
Vorher Breite: | Höhe: | Größe: 9.5 KiB |
Vorher Breite: | Höhe: | Größe: 14 KiB |
Vorher Breite: | Höhe: | Größe: 2.7 KiB |
Vorher Breite: | Höhe: | Größe: 5.5 KiB |
Vorher Breite: | Höhe: | Größe: 26 KiB |
|
@ -1,4 +0,0 @@
|
|||
<?php
|
||||
header("Location:/index.php");
|
||||
exit;
|
||||
?>
|
Vorher Breite: | Höhe: | Größe: 3.4 KiB |
Vorher Breite: | Höhe: | Größe: 10 KiB |
|
@ -1,859 +0,0 @@
|
|||
<?php
|
||||
/*
|
||||
* Project:
|
||||
* Spider IT Deutschland ConLite and Contenido Extensions
|
||||
*
|
||||
* Description:
|
||||
* File with useful helper functions
|
||||
*
|
||||
* Requirements:
|
||||
* @con_php_req 5
|
||||
*
|
||||
* @package Frontend
|
||||
* @author René Mansveld <R.Mansveld@Spider-IT.de>
|
||||
* @copyright Spider IT Deutschland <www.Spider-IT.de>
|
||||
* @license MIT <http://en.wikipedia.org/wiki/MIT_License> <http://de.wikipedia.org/wiki/MIT-Lizenz>
|
||||
* (see below)
|
||||
* @link http://www.Spider-IT.de
|
||||
* @link http://www.conlite.org
|
||||
* @link http://www.contenido.org
|
||||
*
|
||||
* @file spider-it.functions.inc.php
|
||||
* @version 1.2
|
||||
* @date 2012-11-21
|
||||
*
|
||||
* {@internal
|
||||
* created 2012-09-14
|
||||
* modified 2012-10-10
|
||||
* modified 2012-10-14
|
||||
* modified 2012-10-22
|
||||
* modified 2012-10-24
|
||||
* modified 2012-10-30
|
||||
* modified 2012-11-21
|
||||
*
|
||||
* $Id: spider-it.functions.inc.php 450 2016-07-20 11:11:12Z oldperl $:
|
||||
* }
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2012 Spider IT Deutschland
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
|
||||
* documentation files (the "Software"), to deal in the Software without restriction, including without
|
||||
* limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the
|
||||
* Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in all copies or substantial portions
|
||||
* of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
|
||||
* TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
|
||||
* CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
* DEALINGS IN THE SOFTWARE.
|
||||
*
|
||||
*
|
||||
* Hiermit wird unentgeltlich, jeder Person, die eine Kopie der Software und der zugehörigen Dokumentationen (die
|
||||
* "Software") erhält, die Erlaubnis erteilt, sie uneingeschränkt zu benutzen, inklusive und ohne Ausnahme, dem
|
||||
* Recht, sie zu verwenden, kopieren, ändern, fusionieren, verlegen, verbreiten, unterlizenzieren und/oder zu
|
||||
* verkaufen, und Personen, die diese Software erhalten, diese Rechte zu geben, unter den folgenden Bedingungen:
|
||||
*
|
||||
* Der obige Urheberrechtsvermerk und dieser Erlaubnisvermerk sind in allen Kopien oder Teilkopien der Software
|
||||
* beizulegen.
|
||||
*
|
||||
* DIE SOFTWARE WIRD OHNE JEDE AUSDRÜCKLICHE ODER IMPLIZIERTE GARANTIE BEREITGESTELLT, EINSCHLIESSLICH DER GARANTIE
|
||||
* ZUR BENUTZUNG FÜR DEN VORGESEHENEN ODER EINEM BESTIMMTEN ZWECK SOWIE JEGLICHER RECHTSVERLETZUNG, JEDOCH NICHT
|
||||
* DARAUF BESCHRÄNKT. IN KEINEM FALL SIND DIE AUTOREN ODER COPYRIGHTINHABER FÜR JEGLICHEN SCHADEN ODER SONSTIGE
|
||||
* ANSPRÜCHE HAFTBAR ZU MACHEN, OB INFOLGE DER ERFÜLLUNG EINES VERTRAGES, EINES DELIKTES ODER ANDERS IM ZUSAMMENHANG
|
||||
* MIT DER SOFTWARE ODER SONSTIGER VERWENDUNG DER SOFTWARE ENTSTANDEN.
|
||||
*/
|
||||
|
||||
# Functions in this file:
|
||||
# debug()
|
||||
# sitCascadedArraySort()
|
||||
# sitConvertCmykJpgToSrgbJpg()
|
||||
# sitExplodeAssociative()
|
||||
# sitExplodeCascading()
|
||||
# sitExplodeLines()
|
||||
# sitGetFilesInDirectory()
|
||||
# sitGetImageDescription()
|
||||
# sitGetRemoteContentToFile()
|
||||
# sitGetSubdirs()
|
||||
# sitImgScale()
|
||||
# sitMoveAllUploadFiles()
|
||||
# sitSafeStringEscape()
|
||||
# sitSendHtmlMail()
|
||||
# sitSetClientProperty()
|
||||
# sitTeaserText()
|
||||
|
||||
if (!defined('CON_FRAMEWORK')) {
|
||||
die('Illegal call');
|
||||
}
|
||||
|
||||
# debug()
|
||||
#
|
||||
# Zeigt Debugging-Informationen auf der Webseite
|
||||
#
|
||||
# Parameter:
|
||||
# $value - Der anzuzeigende Wert
|
||||
# $type - Der Typ des Wertes (optional)
|
||||
# Möglichkeiten:
|
||||
# '' - Text / Array / Object
|
||||
# 'sql' - SQL-Anweisungen (Aufruf sollte nach $db->query() erfolgen)
|
||||
#
|
||||
# Der Wert wird aufbereitet per echo auf der Webseite
|
||||
# ausgegeben, wobei die Funktion selbstständig zwischen
|
||||
# einzelnen Werte, Arrays und Objekte unterscheidet.
|
||||
# Der 2. Parameter $type dient besondere Fälle, wie z.B.
|
||||
# 'sql' für SQL-Anweisungen, welche dann individuell
|
||||
# aufbereitet werden.
|
||||
function debug($value, $type = '') {
|
||||
global $db, $debug;
|
||||
|
||||
if ($debug) {
|
||||
echo '<div style="font-size: 14px;">';
|
||||
switch (strtolower($type)) {
|
||||
case 'sql':
|
||||
echo '<pre style="margin-top: 0px;">' . str_replace(array(str_repeat(chr(32), 4), chr(9)), '', $value) . '</pre>Records: ' . intval(@$db->num_rows());
|
||||
break;
|
||||
default:
|
||||
if (is_array($value)) {
|
||||
echo '<pre>'; var_dump($value); echo '</pre>';
|
||||
} elseif (is_object($value)) {
|
||||
echo 'Object:<pre style="margin-top: 0px;">'; var_dump($value); echo '</pre>';
|
||||
} else {
|
||||
echo $value;
|
||||
}
|
||||
break;
|
||||
}
|
||||
echo '</div>';
|
||||
}
|
||||
}
|
||||
|
||||
# sitCascadedArraySort()
|
||||
#
|
||||
# Sortiert ein kaskadiertes Array nach Spalten
|
||||
#
|
||||
# Parameter:
|
||||
# Zu sortierendes Array
|
||||
# Liste aus Feldnamen, Sortierarten und Sortierrichtungen (siehe
|
||||
# array_multisort, de.php.net/manual/de/function.array-multisort.php)
|
||||
#
|
||||
# Sortiert ein mehrdimentionales Array nach den angegebenen Spalten
|
||||
# nach den vorgegebenen Sortierarten und -richtungen (je Spalte anzugeben)
|
||||
# Beispiel:
|
||||
# $x = sitCascadedArraySort($x, 'Name', SORT_STRING, SORT_ASC, 'Vorname', SORT_STRING, SORT_ASC);
|
||||
function sitCascadedArraySort() {
|
||||
$args = func_get_args();
|
||||
$marray = array_shift($args);
|
||||
if (count($marray)) {
|
||||
$msortline = 'return(array_multisort(';
|
||||
foreach ($args as $arg) {
|
||||
$i ++;
|
||||
if (is_string($arg)) {
|
||||
foreach ($marray as $row) {
|
||||
$sortarr[$i][] = $row[$arg];
|
||||
}
|
||||
} else {
|
||||
$sortarr[$i] = $arg;
|
||||
}
|
||||
$msortline .= '$sortarr['.$i.'],';
|
||||
}
|
||||
$msortline .= '$marray));';
|
||||
eval($msortline);
|
||||
}
|
||||
return $marray;
|
||||
}
|
||||
|
||||
# sitConvertCmykJpgToSrgbJpg()
|
||||
#
|
||||
# Wandelt JPG-Bilder mit CMYK Farbprofil in sRGB Farbprofil um
|
||||
#
|
||||
# Parameter:
|
||||
# $path - Kompletter Pfad zum Bild
|
||||
#
|
||||
# Da der Internet Explorer keine JPG-Bilder (.jpg / .jpeg) mit CMYK Farbprofil
|
||||
# darstellen kann, müssen diese Bilder in das sRGB Farbprofil (für das Web)
|
||||
# umgewandelt werden. Diese Funktion prüft das Bild und wandelt es ggf. um.
|
||||
function sitConvertCmykJpgToSrgbJpg($path) {
|
||||
if ((strtolower(substr($path, -4)) == '.jpg') || (strtolower(substr($path, -5)) == '.jpeg')) {
|
||||
exec('identify -verbose ' . $path . ' >' . $path . '.txt');
|
||||
$tmp = file($path . '.txt');
|
||||
unlink($path . '.txt');
|
||||
for ($i = 0, $n = count($tmp); $i < $n; $i ++) {
|
||||
$a = explode(':', $tmp[$i]);
|
||||
if (trim($a[0]) == 'Colorspace') {
|
||||
if (strpos($a[1], 'RGB') === false) {
|
||||
# Bild ist in CMYK
|
||||
exec('convert ' . $path . ' -profile sRGB.icc -colorspace sRGB ' . $path . '.jpg');
|
||||
unlink($path);
|
||||
rename($path . '.jpg', $path);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# sitExplodeAssociative()
|
||||
#
|
||||
# Zerlegt eine Zeichenfolge in ein assoziatives Array.
|
||||
#
|
||||
# Parameter:
|
||||
# $delimiter - Array mit Trennzeichen zum Zerlegen der Zeichenfolge
|
||||
# $string - Zu zerlegende Zeichenfolge
|
||||
#
|
||||
# Das erste Trennzeichen bildet das Array, das zweite Trennzeichen
|
||||
# splittet auf Key und Value.
|
||||
function sitExplodeAssociative($delimiters = array(), $string = '') {
|
||||
$tmp = explode($delimiters[0], $string);
|
||||
$ret = array();
|
||||
for ($i = 0, $n = count($tmp); $i < $n; $i ++) {
|
||||
$t = explode($delimiters[1], $tmp[$i]);
|
||||
$ret[$t[0]] = $t[1];
|
||||
}
|
||||
return $ret;
|
||||
}
|
||||
|
||||
# sitExplodeCascading()
|
||||
#
|
||||
# Zerlegt eine Zeichenfolge in ein kaskadiertes Array.
|
||||
#
|
||||
# Parameter:
|
||||
# $delimiter - Array mit Trennzeichen zum Zerlegen der Zeichenfolge
|
||||
# $string - Zu zerlegende Zeichenfolge
|
||||
#
|
||||
# Das erste Trennzeichen bildet das Hauptarray, jedes weitere
|
||||
# Trennzeichen darin ein Unterarray (mehrere Ebenen).
|
||||
function sitExplodeCascading($delimiters = array(), $string = '') {
|
||||
$tmp = explode($delimiters[0], $string);
|
||||
array_shift($delimiters);
|
||||
for ($i = 0, $n = count($tmp); $i < $n; $i ++) {
|
||||
$tmp[$i] = sitMultipleExplode($delimiters, $tmp[$i]);
|
||||
}
|
||||
return $tmp;
|
||||
}
|
||||
|
||||
# sitExplodeLines()
|
||||
#
|
||||
# Zerlegt einen Text in einzelnen Zeilen
|
||||
#
|
||||
# Parameter:
|
||||
# $string - Zu zerlegende Zeichenfolge
|
||||
#
|
||||
# Zerlegt den Text unabhängig der Zeilenumbruchart in ein Array
|
||||
# mit den einzelnen Zeilen.
|
||||
function sitExplodeLines($string) {
|
||||
return explode("\n", str_replace("\r\n", "\n", $string));
|
||||
}
|
||||
|
||||
# sitGetFilesInDirectory()
|
||||
#
|
||||
# Liest Dateien in ein Verzeichnis
|
||||
#
|
||||
# Parameter:
|
||||
# $path - Kompletter Pfad des zu lesenden Verzeichnisses
|
||||
# $filter - Filter für gefundenen Dateien (optional)
|
||||
# $sort - Sortierreihenfolge (optional)
|
||||
#
|
||||
# Liest die Dateien in ein Verzeichnis und filtert und sortiert diese bei Bedarf.
|
||||
# $filter kann ein Array mit mehrere Filter sein, z.B. array('*.jp*g', '*.gif', '*.png').
|
||||
# $sort kann 'asc', 'desc', SORT_ASC oder SORT_DESC sein, oder weggelassen werden.
|
||||
function sitGetFilesInDirectory($path, $filter = '*', $sort = '') {
|
||||
define('FNM_CASEFOLD', 16);
|
||||
$aFiles = array();
|
||||
if (is_dir($path)) {
|
||||
if (!is_array($filter)) {
|
||||
$filter = array($filter);
|
||||
}
|
||||
if ($oDir = opendir($path)) {
|
||||
while (($sFile = readdir($oDir)) !== false) {
|
||||
if (is_dir($path . $sFile)) {
|
||||
continue;
|
||||
} else {
|
||||
for ($i = 0, $n = count($filter); $i < $n; $i ++) {
|
||||
if (fnmatch($filter[$i], $sFile, FNM_CASEFOLD)) {
|
||||
$aFiles[] = $sFile;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
closedir($oDir);
|
||||
if (strlen($sort)) {
|
||||
sort($aFiles, SORT_STRING);
|
||||
if (($sort == 'desc') || ($sort == SORT_DESC)) {
|
||||
$aFiles = array_reverse($aFiles);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return $aFiles;
|
||||
}
|
||||
|
||||
# sitGetImageDescription()
|
||||
#
|
||||
# Liest die Bildbeschreibung aus der Datenbank
|
||||
#
|
||||
# Parameter:
|
||||
# $idupl - ID des Bildeintrags in der Datenbank
|
||||
#
|
||||
# Liest die zum Bild gehörenden Beschreibung entweder aus der Tabelle ..._upl_meta
|
||||
# oder (falls leer) aus der Tabelle ..._upl und liefert diese zurück.
|
||||
function sitGetImageDescription($idupl) {
|
||||
global $db, $cfg;
|
||||
|
||||
$sDesc = '';
|
||||
$sql = 'SELECT description
|
||||
FROM ' . $cfg['tab']['upl_meta'] . '
|
||||
WHERE (idupl=' . $idupl . ')';
|
||||
$db->query($sql);
|
||||
if ($db->next_record()) {
|
||||
$sDesc = urldecode(str_replace(array('%0D%0A', '%0D', '%0A'), '<br />', $db->f('description')));
|
||||
}
|
||||
if (strlen(trim($sDesc)) == 0) {
|
||||
$sql = 'SELECT description
|
||||
FROM ' . $cfg['tab']['upl'] . '
|
||||
WHERE (idupl=' . $idupl . ')';
|
||||
$db->query($sql);
|
||||
if ($db->next_record()) {
|
||||
$sDesc = $db->f('description');
|
||||
}
|
||||
}
|
||||
return $sDesc;
|
||||
}
|
||||
|
||||
# sitGetRemoteContentToFile()
|
||||
#
|
||||
# Holt entfernten Inhalt ab und speichert diesen lokal
|
||||
#
|
||||
# Parameter:
|
||||
# $url - Die Adresse von wo der Inhalt geholt werden soll
|
||||
# $file - Die Datei in der gespeichert werden soll (inkl. Pfad)
|
||||
# $errno - Die Fehlernummer (Rückgabe)
|
||||
# $errmsg - Die Fehlerbeschreibung (Rückgabe)
|
||||
#
|
||||
# Die Daten (Webseite, Bild, Feed usw) werden per cURL geholt,
|
||||
# wobei Weiterleitungen gefolgt werden.
|
||||
# Diese Methode ist unabhängig von allow_url_fopen und verarbeitet
|
||||
# auch Anfragen per https (SSL).
|
||||
function sitGetRemoteContentToFile($url, $file, $errno, $errmsg) {
|
||||
$options = array(
|
||||
CURLOPT_RETURNTRANSFER => true, // return web page
|
||||
CURLOPT_HEADER => false, // don't return headers
|
||||
CURLOPT_FOLLOWLOCATION => true, // follow redirects
|
||||
CURLOPT_ENCODING => "", // handle compressed
|
||||
CURLOPT_USERAGENT => "spider", // who am i
|
||||
CURLOPT_AUTOREFERER => true, // set referer on redirect
|
||||
CURLOPT_CONNECTTIMEOUT => 10, // timeout on connect
|
||||
CURLOPT_TIMEOUT => 10, // timeout on response
|
||||
CURLOPT_MAXREDIRS => 10, // stop after 10 redirects
|
||||
);
|
||||
|
||||
$ch = curl_init($url);
|
||||
curl_setopt_array($ch, $options);
|
||||
$content = curl_exec($ch);
|
||||
$errno = curl_errno($ch);
|
||||
$errmsg = curl_error($ch);
|
||||
$header = curl_getinfo($ch);
|
||||
curl_close($ch);
|
||||
|
||||
if (($errno == 0) && ($header['http_code'] == 200)) {
|
||||
# Content in Datei speichern
|
||||
if ($fp = fopen($file, 'w')) {
|
||||
fputs($fp, $content);
|
||||
fclose($fp);
|
||||
return true;
|
||||
} else {
|
||||
$errno = -1;
|
||||
$errmsg = 'Can\'t write to file ' . $file;
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
# sitGetSubdirs()
|
||||
#
|
||||
# Listet Unterverzeichnisse eines Verzeichnisses
|
||||
#
|
||||
# Parameter:
|
||||
# $dir - Übergeordnetes Verzeichnis
|
||||
# $levels - Anzahl Ebenen an Unterverzeichnisse die mit aufgelistet werden sollen
|
||||
# $__dirs - interner Parameter für Rekursion
|
||||
#
|
||||
# Listet die Unterverzeichnisse eines Verzeichnisses inkl. aller Unterverzeichnisse
|
||||
# bis zu der angegebenen Anzahl an Ebenen (die Tiefe).
|
||||
function sitGetSubdirs($dir, $levels = 1, $__dirs = array()) {
|
||||
$a = array();
|
||||
$p = opendir($dir);
|
||||
while (($s = readdir($p)) !== false) {
|
||||
if (($s == '.') || ($s == '..')) {
|
||||
continue;
|
||||
}
|
||||
if (is_dir($dir . ((substr($dir, -1) == '/') ? '' : '/') . $s)) {
|
||||
$a[] = $dir . ((substr($dir, -1) == '/') ? '' : '/') . $s . '/';
|
||||
}
|
||||
}
|
||||
closedir($p);
|
||||
sort($a, SORT_STRING);
|
||||
for ($i = 0; $i < count($a); $i ++) {
|
||||
$__dirs[] = $a[$i];
|
||||
if ($levels > 1) {
|
||||
$__dirs = sitGetSubdirs($a[$i], ($levels - 1), $__dirs);
|
||||
}
|
||||
}
|
||||
return $__dirs;
|
||||
}
|
||||
|
||||
# sitImgScale()
|
||||
#
|
||||
# Skaliert oder zoomt ein Bild auch mit Transparenz
|
||||
#
|
||||
# Parameter:
|
||||
# $img - Pfad und Dateiname der Originaldatei relativ zum Mandantenverzeichnis
|
||||
# $maxX - Maximale Breite des neuen Bildes
|
||||
# $maxY - Maximale Höhe des neuen Bildes
|
||||
# $crop - Bild darf beschnitten werden (optional)
|
||||
# $expand - Bild darf vergrößert werden
|
||||
# $cacheTime - Ältere Version nutzen oder überschreiben
|
||||
# $wantHQ - Bild soll in hoher Qualität sein
|
||||
# $quality - Qualität bei JPG und GIF
|
||||
# $keepType - Dateityp beibehalten
|
||||
# $fixedSize - Zielbild wird auf angegebene Größe erstellt und transparent (GIF und PNG) gefüllt
|
||||
# $fixedBG - Bei $fixedSize und JPG wird dies die Hintergrundfarbe des umgebenden Bereichs
|
||||
#
|
||||
# Erstellt im cache Verzeichnis eine skalierte Version des Originalbildes
|
||||
# wie auch die Con-Funktion capiImgScale(), aber behält Transparenz in GIF
|
||||
# und PNG Bilder bei. Der zusätzliche Parameter $fixedSize ermöglicht es,
|
||||
# das Zielbild mit fixe Abmessungen zu erstellen und das skalierte Bild
|
||||
# darin zu zentrieren, wobei der umgebenden Bereich bei GIF und PNG Bilder
|
||||
# transparent, bei JPG Bilder mit der in $fixedBG angegebenen Farbe gefüllt
|
||||
# wird. Ist $fixedBG nicht angegeben, wird weiß (#FFF) angenommen.
|
||||
function sitImgScale($img, $maxX = 0, $maxY = 0, $crop = false, $expand = false, $cacheTime = 10, $wantHQ = true, $quality = 75, $keepType = false, $fixedSize = false, $fixedBG = 'FFFFFF') {
|
||||
global $cfgClient, $client, $lang;
|
||||
|
||||
if (($maxX <= 0) && ($maxY <= 0)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
# Cache
|
||||
$md5 = capiImgScaleGetMD5CacheFile($img, $maxX, $maxY, $crop, $expand);
|
||||
list($oWidth, $oHeight, $oType) = @getimagesize($cfgClient[$client]['path']['frontend'] . $img);
|
||||
switch ($oType) {
|
||||
case IMAGETYPE_GIF:
|
||||
$cfileName = $md5 . '.gif';
|
||||
break;
|
||||
case IMAGETYPE_JPEG:
|
||||
if ($keepType) {
|
||||
$cfileName = $md5 . '.jpg';
|
||||
} else {
|
||||
$cfileName = $md5 . '.png';
|
||||
}
|
||||
break;
|
||||
case IMAGETYPE_PNG:
|
||||
$cfileName = $md5 . '.png';
|
||||
break;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
$cacheFile = $cfgClient[$client]['path']['frontend'] . 'cache/' . $cfileName;
|
||||
$webFile = $cfgClient[$client]['path']['htmlpath'] . 'cache/' . $cfileName;
|
||||
if (file_exists($cacheFile)) {
|
||||
if ($cacheTime == 0) {
|
||||
# Datei läuft nicht ab, also direkt ausgeben
|
||||
return $webFile;
|
||||
} elseif ((filemtime($cacheFile) + (60 * $cacheTime)) < time()) {
|
||||
# Datei ist abgelaufen
|
||||
unlink($cacheFile);
|
||||
} else {
|
||||
# Datei ist noch nicht abgelaufen
|
||||
return $webFile;
|
||||
}
|
||||
}
|
||||
|
||||
# Bild neu aufbauen
|
||||
$nLeft = 0;
|
||||
$nTop = 0;
|
||||
$nWidth = 0;
|
||||
$nHeight = 0;
|
||||
if ($fixedSize) {
|
||||
$iWidth = $maxX;
|
||||
$iHeight = $maxY;
|
||||
# Abmessung und Position in neues Bild berechnen
|
||||
if (($oWidth > $maxX) || ($oHeight > $maxY) || ($expand)) {
|
||||
# Bild ist größer oder soll vergrößert werden
|
||||
if ($crop) {
|
||||
$faktor = max($maxX / $oWidth, $maxY / $oHeight);
|
||||
} else {
|
||||
$faktor = min($maxX / $oWidth, $maxY / $oHeight);
|
||||
}
|
||||
if ($faktor == ($maxX / $oWidth)) {
|
||||
$nLeft = 0;
|
||||
$nWidth = $maxX;
|
||||
$nHeight = floor($oHeight * $faktor);
|
||||
$nTop = floor(($maxY - $nHeight) / 2);
|
||||
} else {
|
||||
$nTop = 0;
|
||||
$nHeight = $maxY;
|
||||
$nWidth = floor($oWidth * $faktor);
|
||||
$nLeft = floor(($maxX - $nWidth) / 2);
|
||||
}
|
||||
} else {
|
||||
$nLeft = floor(($maxX - $oWidth) / 2);
|
||||
$nTop = floor(($maxY / $oHeight) / 2);
|
||||
$nWidth = $oWidth;
|
||||
$nHeight = $oHeight;
|
||||
}
|
||||
} else {
|
||||
# Abmessung des neuen Bildes berechnen
|
||||
if (($oWidth > $maxX) || ($oHeight > $maxY) || ($expand)) {
|
||||
if ($crop) {
|
||||
$faktor = max($maxX / $oWidth, $maxY / $oHeight);
|
||||
} else {
|
||||
$faktor = min($maxX / $oWidth, $maxY / $oHeight);
|
||||
}
|
||||
if ($faktor == ($maxX / $oWidth)) {
|
||||
$nWidth = $maxX;
|
||||
$nHeight = floor($oHeight * $faktor);
|
||||
$iWidth = $maxX;
|
||||
$iHeight = (($nHeight > $maxY) ? $maxY : $nHeight);
|
||||
$nTop = (($nHeight > $maxY) ? floor(($maxY - $nHeight) / 2) : 0);
|
||||
} else {
|
||||
$nHeight = $maxY;
|
||||
$nWidth = floor($oWidth * $faktor);
|
||||
$iHeight = $maxY;
|
||||
$iWidth = (($nWidth > $maxX) ? $maxX : $nWidth);
|
||||
$nLeft = (($nWidth > $maxX) ? floor(($maxX - $nWidth) / 2) : 0);
|
||||
}
|
||||
} else {
|
||||
# Bild ist kleiner und soll nicht vergrößert werden
|
||||
$iWidth = $nWidth = $oWidth;
|
||||
$iHeight = $nHeight = $oHeight;
|
||||
}
|
||||
}
|
||||
# Bild einlesen
|
||||
switch ($oType) {
|
||||
case IMAGETYPE_GIF:
|
||||
$image = imagecreatefromgif($img);
|
||||
break;
|
||||
case IMAGETYPE_JPEG:
|
||||
$image = imagecreatefromjpeg($img);
|
||||
break;
|
||||
case IMAGETYPE_PNG:
|
||||
$image = imagecreatefrompng($img);
|
||||
break;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
# Neues Bild erzeugen und Hintergrundfarbe einstellen
|
||||
$nImage = imagecreatetruecolor($iWidth, $iHeight);
|
||||
if (($oType == IMAGETYPE_GIF) || ($oType == IMAGETYPE_PNG)) {
|
||||
$transIdx = imagecolortransparent($image);
|
||||
if ($transIdx >= 0) {
|
||||
# Es gibt eine transparente Farbe (GIF oder PNG8)
|
||||
$transColor = imagecolorsforindex($image, $transIdx);
|
||||
$transIdx = imagecolorallocate($nImage, $transColor['red'], $transColor['green'], $transColor['blue']);
|
||||
imagefill($nImage, 0, 0, $transIdx);
|
||||
imagecolortransparent($nImage, $transIdx);
|
||||
} elseif ($oType == IMAGETYPE_PNG) {
|
||||
# Ein PNG24 kriegt ein transparenter Hintergrund per Alpha-Kanal
|
||||
imagealphablending($nImage, false);
|
||||
$oColor = imagecolorallocatealpha($nImage, 0, 0, 0, 127);
|
||||
imagefill($nImage, 0, 0, $oColor);
|
||||
imagesavealpha($nImage, true);
|
||||
}
|
||||
} else {
|
||||
$debug = 1;
|
||||
if ($keepType) {
|
||||
# Andere Bilder (JPG) kriegen eine Hintergrundfarbe
|
||||
$oColor = imagecolorallocate($nImage, hexdec(substr($fixedBG, 0, 2)), hexdec(substr($fixedBG, 2, 2)), hexdec(substr($fixedBG, 4, 2)));
|
||||
#debug('imagecolorallocate($nImage, ' . hexdec(substr($fixedBG, 0, 2)) . ', ' . hexdec(substr($fixedBG, 2, 2)) . ', ' . hexdec(substr($fixedBG, 4, 2)) . ') = ' . $oColor);
|
||||
# imagefill($nImage, 0, 0, $oColor);
|
||||
imagefilledrectangle($nImage, 0, 0, $iWidth, $iHeight, $oColor);
|
||||
} else {
|
||||
# JPG-Bilder werden in PNG24 umgewandelt
|
||||
$oType = IMAGETYPE_PNG;
|
||||
imagealphablending($nImage, false);
|
||||
$oColor = imagecolorallocatealpha($nImage, 0, 0, 0, 127);
|
||||
# imagefill($nImage, 0, 0, $oColor);
|
||||
imagefilledRectangle($nImage, 0, 0, $iWidth, $iHeight, $oColor);
|
||||
imagesavealpha($nImage, true);
|
||||
}
|
||||
}
|
||||
# Das Originalbild skaliert hinein kopieren
|
||||
imagecopyresampled($nImage, $image, $nLeft, $nTop, 0, 0, $nWidth, $nHeight, $oWidth, $oHeight);
|
||||
# Das neue Bild speichern
|
||||
switch ($oType) {
|
||||
case IMAGETYPE_GIF:
|
||||
imagegif($nImage, $cacheFile);
|
||||
break;
|
||||
case IMAGETYPE_JPEG:
|
||||
imagejpeg($nImage, $cacheFile);
|
||||
break;
|
||||
case IMAGETYPE_PNG:
|
||||
imagepng($nImage, $cacheFile);
|
||||
break;
|
||||
}
|
||||
# Aufräumen
|
||||
imagedestroy($image);
|
||||
imagedestroy($nImage);
|
||||
# Pfad zurück liefern
|
||||
return $webFile;
|
||||
}
|
||||
|
||||
# sitMoveAllUploadFiles()
|
||||
#
|
||||
# Verschiebt alle Dateien eines Verzeichnisses
|
||||
#
|
||||
# Parameter:
|
||||
# $source - Quellverzeichnis
|
||||
# $dest - Zielverzeichnis
|
||||
#
|
||||
# Verschiebt alle Dateien eines Verzeichnisses im Upload-Bereich (unter /upload/)
|
||||
# und passt die Einträge in der Datenbank entsprechend an.
|
||||
function sitMoveAllUploadFiles($source, $dest) {
|
||||
global $cfgClient, $client, $db, $cfg;
|
||||
|
||||
$source .= ((substr($source, -1) == '/') ? '' : '/');
|
||||
$dest .= ((substr($dest, -1) == '/') ? '' : '/');
|
||||
|
||||
$a = array();
|
||||
$p = opendir($cfgClient[$client]['upl']['path'] . $source);
|
||||
while (($s = readdir($p)) !== false) {
|
||||
if (is_dir($cfgClient[$client]['upl']['path'] . $source . $s)) {
|
||||
continue;
|
||||
} elseif (strlen($s) > 2) {
|
||||
$a[] = $s;
|
||||
}
|
||||
}
|
||||
for ($i = 0, $n = count($a); $i < $n; $i ++) {
|
||||
rename($cfgClient[$client]['upl']['path'] . $source . $a[$i], $cfgClient[$client]['upl']['path'] . $dest . $a[$i]);
|
||||
$sql = 'UPDATE ' . $cfg['tab']['upl'] . '
|
||||
SET dirname = "' . $dest . '"
|
||||
WHERE ((dirname="' . $source . '")
|
||||
AND (filename="' . $a[$i] . '"))';
|
||||
$db->query($sql);
|
||||
}
|
||||
}
|
||||
|
||||
# sitSafeStringEscape()
|
||||
#
|
||||
# Escaped eine Zeichenfolge für SQL-Anweisungen
|
||||
#
|
||||
# Parameter:
|
||||
# $string - Zu escapenden Zeichenfolge
|
||||
#
|
||||
# Escaped eine Zeichenfolge so, dass diese sicher in die Datenbank eingetragen
|
||||
# werden kann.
|
||||
function sitSafeStringEscape($string) {
|
||||
$escapeCount = 0;
|
||||
$targetString = '';
|
||||
for($offset = 0; $offset < strlen($string); $offset ++) {
|
||||
switch ($c = $string{$offset}) {
|
||||
case "'":
|
||||
if ($escapeCount % 2 == 0) {
|
||||
$targetString .= "\\";
|
||||
}
|
||||
$escapeCount = 0;
|
||||
$targetString .= $c;
|
||||
break;
|
||||
case '"':
|
||||
if ($escapeCount % 2 == 0) {
|
||||
$targetString .= "\\";
|
||||
}
|
||||
$escapeCount = 0;
|
||||
$targetString .= $c;
|
||||
break;
|
||||
case '\\':
|
||||
$escapeCount ++ ;
|
||||
$targetString .= $c;
|
||||
break;
|
||||
default:
|
||||
$escapeCount = 0;
|
||||
$targetString .= $c;
|
||||
}
|
||||
}
|
||||
return $targetString;
|
||||
}
|
||||
|
||||
# sitSendHtmlMail()
|
||||
#
|
||||
# Sendet eine HTML-Mail mit HTML- und Textteil
|
||||
#
|
||||
# Parameter:
|
||||
# $html - HTML-Teil der Mail
|
||||
# $subject - Betreffzeile der Mail
|
||||
# $receipients - Array von Empfänger ('name' und 'email', mehrere möglich)
|
||||
# $attachments - Dateipfad oder Array von Dateipfade für Anhänge (optional)
|
||||
# $sname - Absendername (optional)
|
||||
# $smail - Absenderadresse (optional)
|
||||
# $mailer - Versandmethode ('mail' / 'qmail' / 'sendmail' / 'smtp') (optional)
|
||||
# $sserver - SMTP-Server Adresse (optional)
|
||||
# $slogin - SMTP Login (optional)
|
||||
# $spass - SMTP Passwort (optional)
|
||||
# $sport - SMTP Port (optional)
|
||||
#
|
||||
# Sendet eine HTML-Mail mit HTML- und Textteil an einen oder mehrere Empfänger
|
||||
# mit keinen oder mehrere Anhänge und liefert den Erfolgsstatus zurück.
|
||||
# Die Angaben zum Absender und den Mailer werden, sofern sie nicht mit angegeben
|
||||
# sind, aus den Mandanten- bzw. Systemeinstellungen ausgelesen.
|
||||
# - email - absende-name
|
||||
# - email - absender-email
|
||||
# - email - mailer
|
||||
# - email - smtp-server
|
||||
# - email - smtp-login
|
||||
# - email - smtp-passwort
|
||||
# - email - smtp-port - 25
|
||||
# Die Empfänger werden als Array aus Name(n) und Email-Adresse(n) übergeben.
|
||||
# Beispiel 1: array('name' => 'xyz', 'email' => 'xyz@abc.de');
|
||||
# Beispiel 2: array(array('name' => 'xyz', 'email' => 'xyz@abc.de'), array('name'...
|
||||
function sitSendHtmlMail($html, $subject, $receipients, $attachments = '', $sname = '', $smail = '', $mailer = '', $sserver = '', $slogin = '', $spass = '', $sport = '') {
|
||||
# Eingaben ergänzen
|
||||
if (!is_array($attachments)) {
|
||||
$attachments = array($attachments);
|
||||
}
|
||||
$sname = ((strlen($sname)) ? $sname : getEffectiveSetting('email', 'absender-name'));
|
||||
$smail = ((strlen($smail)) ? $smail : getEffectiveSetting('email', 'absender-email'));
|
||||
if (strlen($sname) == 0) {
|
||||
$sname = $smail;
|
||||
}
|
||||
$mailer = strtolower(((strlen($mailer)) ? $mailer : getEffectiveSetting('email', 'mailer')));
|
||||
if (strlen($mailer) == 0) {
|
||||
$mailer = 'mail';
|
||||
}
|
||||
if ($mailer == 'smtp') {
|
||||
$sserver = ((strlen($sserver)) ? $sserver : getEffectiveSetting('email', 'smtp-server'));
|
||||
$slogin = ((strlen($slogin)) ? $slogin : getEffectiveSetting('email', 'smtp-login'));
|
||||
$spass = ((strlen($spass)) ? $spass : getEffectiveSetting('email', 'smtp-passwort'));
|
||||
$sport = intval(((strlen($sport)) ? $sport : getEffectiveSetting('email', 'smtp-port')));
|
||||
if ($sport == 0) {
|
||||
$sport = 25;
|
||||
}
|
||||
}
|
||||
# Prüfen, ob genügend Angaben vorliegen
|
||||
if ((strlen($html) == 0) || (strlen($subject) == 0)) {
|
||||
return false;
|
||||
}
|
||||
if ((!is_array($receipients)) || ((strlen($receipients['email']) == 0) && (strlen($receipients[0]['email']) == 0))) {
|
||||
return false;
|
||||
}
|
||||
if (strlen($smail) == 0) {
|
||||
return false;
|
||||
}
|
||||
if (($mailer == 'smtp') && ((strlen($sserver) == 0) || (strlen($slogin) == 0) || (strlen($spass) == 0))) {
|
||||
return false;
|
||||
}
|
||||
# Mail aufbereiten und versenden
|
||||
$oMail = new PHPMailer();
|
||||
$oMail->IsHTML(true);
|
||||
$oMail->Mailer = $mailer;
|
||||
if ($mailer == 'smtp') {
|
||||
$oMail->SMTPAuth = true;
|
||||
$oMail->Host = $sserver;
|
||||
$oMail->Port = $sport;
|
||||
$oMail->Username = $slogin;
|
||||
$oMail->Password = $spass;
|
||||
}
|
||||
$oMail->Subject = $subject;
|
||||
$oMail->From = $smail;
|
||||
$oMail->FromName = $sname;
|
||||
if (is_array($receipients[0])) {
|
||||
for ($i = 0, $n = count($receipients); $i < $n; $i ++) {
|
||||
if (strlen($receipients[$i]['email'])) {
|
||||
$oMail->AddAddress($receipients[$i]['email'], ((strlen($receipients[$i]['name'])) ? $receipients[$i]['name'] : $receipients[$i]['email']));
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$oMail->AddAddress($receipients['email'], ((strlen($receipients['name'])) ? $receipients['name'] : $receipients['email']));
|
||||
}
|
||||
$oMail->Body = $html;
|
||||
# Nur-Text-Bereich -->
|
||||
$sMsg = substr($html, strpos($html, '<body'));
|
||||
$sMsg = str_replace(array("\n", '</p>', '<br />', '<br>'), array('', "</p>\n\n", "\n", "\n"), $sMsg);
|
||||
$sMsg = trim(strip_tags($sMsg));
|
||||
$sMsg = explode("\n", $sMsg);
|
||||
for ($i = 0, $n = count($sMsg); $i < $n; $i ++) {
|
||||
$sMsg[$i] = trim($sMsg[$i]);
|
||||
}
|
||||
$sMsg = implode("\n", $sMsg);
|
||||
$sMsg = html_entity_decode($sMsg);
|
||||
$sMsg = capiStrReplaceDiacritics($sMsg);
|
||||
# <-- Nur-Text-Bereich
|
||||
$oMail->AltBody = $sMsg;
|
||||
for ($i = 0, $n = count($attachments); $i < $n; $i ++) {
|
||||
if (is_file($attachments[$i])) {
|
||||
$oMail->AddAttachment($attachments[$i]);
|
||||
}
|
||||
}
|
||||
$oMail->WordWrap = 76;
|
||||
return $oMail->Send();
|
||||
}
|
||||
|
||||
# sitSetClientProperty()
|
||||
#
|
||||
# Speichert eine Mandanteneinstellung
|
||||
#
|
||||
# Parameter:
|
||||
# $type - Typ des Entrags (Text)
|
||||
# $name - Name des Eintrags
|
||||
# $value - Wert des Eintrags (Text)
|
||||
#
|
||||
# Speichert ein Eintrag in den Mandanteneinstellungen, überschreibt dabei
|
||||
# eine gleichnamige vorhandene Einstellung.
|
||||
function sitSetClientProperty($type, $name, $value) {
|
||||
global $client, $cfg;
|
||||
|
||||
if ((strlen($type)) && (strlen($name))) {
|
||||
$type = sitSafeStringEscape($type);
|
||||
$name = sitSafeStringEscape($name);
|
||||
$value = sitSafeStringEscape($value);
|
||||
$db = new DB_Contenido();
|
||||
$sql = 'SELECT value
|
||||
FROM ' . $cfg['tab']['properties'] . '
|
||||
WHERE ((idclient=' . $client . ')
|
||||
AND (itemtype="clientsetting")
|
||||
AND (type="' . $type . '")
|
||||
AND (name="' . $name . '"))';
|
||||
$db->query($sql);
|
||||
if ($db->next_record()) {
|
||||
$sql = 'UPDATE ' . $cfg['tab']['properties'] . '
|
||||
SET value = "' . $value . '",
|
||||
modified = "' . date('Y-m-d H:i:n') . '",
|
||||
modifiedby = "' . $auth->auth['uid'] . '"
|
||||
WHERE ((idclient=' . $client . ')
|
||||
AND (itemtype="clientsetting")
|
||||
AND (type="' . $type . '")
|
||||
AND (name="' . $name . '"))';
|
||||
} else {
|
||||
$sql = 'INSERT INTO ' . $cfg['tab']['properties'] . ' (idclient, itemtype, itemid, type, name, value, author, created, modified, modifiedby)
|
||||
VALUES (' . $client . ', "clientsetting", 1, "' . $type . '", "' . $name . '", "' . $value . '", "' . $auth->auth['uid'] . '", "' . date('Y-m-d H:i:n') . '", "' . date('Y-m-d H:i:n') . '", "' . $auth->auth['uid'] . '")';
|
||||
}
|
||||
$db->query($sql);
|
||||
}
|
||||
}
|
||||
|
||||
# sitTeaserText()
|
||||
#
|
||||
# Teasert einen Text an
|
||||
#
|
||||
# Parameter:
|
||||
# $text - Zu teasernden Text
|
||||
# $maxlength - Maximale Länge des Textes
|
||||
#
|
||||
# Der Text wird auf die maximale Anzahl Zeichen gekürzt, wobei der Schnitt nicht
|
||||
# mitten im Wort erfolgt, sondern davor.
|
||||
# Zuvor werden aus dem Text noch alle HTML-Tags entfernt.
|
||||
# Wenn der Text gekürzt wird (nur wenn der Text länger als der maximalen Anzahl
|
||||
# Zeichen ist), wird ein HTML-Zeichen … (...) angehängt.
|
||||
function sitTeaserText($text, $maxlength) {
|
||||
$sText1 = strip_tags(str_replace(array("\r\n", "\n"), ' ', $text));
|
||||
$sText2 = capiStrTrimAfterWord($sText1, intval($maxlength));
|
||||
if (strlen($sText2) < strlen($sText1)) {
|
||||
$sText2 .= '…';
|
||||
}
|
||||
return $sText2;
|
||||
}
|
||||
?>
|
|
@ -1,71 +0,0 @@
|
|||
/*
|
||||
* jQuery FlexSlider v2.0
|
||||
* http://www.woothemes.com/flexslider/
|
||||
*
|
||||
* Copyright 2012 WooThemes
|
||||
* Free to use under the GPLv2 license.
|
||||
* http://www.gnu.org/licenses/gpl-2.0.html
|
||||
*
|
||||
* Contributing author: Tyler Smith (@mbmufffin)
|
||||
*/
|
||||
|
||||
|
||||
/* Browser Resets */
|
||||
.flex-container a:active,
|
||||
.flexslider a:active,
|
||||
.flex-container a:focus,
|
||||
.flexslider a:focus {outline: none;}
|
||||
.slides,
|
||||
.flex-control-nav,
|
||||
.flex-direction-nav {margin: 0; padding: 0; list-style: none;}
|
||||
|
||||
/* FlexSlider Necessary Styles
|
||||
*********************************/
|
||||
.flexslider {margin: 0; padding: 0; min-height:150px; background:url(images/loader.gif) no-repeat center center;}
|
||||
.flexslider .slides > li {display: none; -webkit-backface-visibility: hidden;} /* Hide the slides before the JS is loaded. Avoids image jumping */
|
||||
.flexslider .slides img {width: 100%; display: block;}
|
||||
.flex-pauseplay span {text-transform: capitalize;}
|
||||
|
||||
/* Clearfix for the .slides element */
|
||||
.slides:after {content: "."; display: block; clear: both; visibility: hidden; line-height: 0; height: 0;}
|
||||
html[xmlns] .slides {display: block;}
|
||||
* html .slides {height: 1%;}
|
||||
|
||||
/* No JavaScript Fallback */
|
||||
/* If you are not using another script, such as Modernizr, make sure you
|
||||
* include js that eliminates this class on page load */
|
||||
.no-js .slides > li:first-child {display: block;}
|
||||
|
||||
|
||||
/* FlexSlider Default Theme
|
||||
*********************************/
|
||||
.flexslider {position: relative; zoom: 1; }
|
||||
.flex-viewport {max-height: 2000px; -webkit-transition: all 1s ease; -moz-transition: all 1s ease; transition: all 1s ease;}
|
||||
.loading .flex-viewport {max-height: 300px;}
|
||||
.flexslider .slides {zoom: 1;}
|
||||
|
||||
.flexslider .flex-caption{ margin:10px 7px;}
|
||||
|
||||
.carousel li {margin-right: 5px}
|
||||
|
||||
|
||||
/* Direction Nav */
|
||||
.flex-direction-nav {*height: 0;}
|
||||
.flex-direction-nav a {width: 30px; height: 30px; margin: -20px 0 0; display: block; background: url(images/bg_direction_nav.png) no-repeat 0 0; position: absolute; top: 50%; z-index: 10; cursor: pointer; text-indent: -9999px; opacity: 0; -webkit-transition: all .3s ease;}
|
||||
.flex-direction-nav .flex-next {background-position: 100% 0; opacity: 0.8; right: 5px;}
|
||||
.flex-direction-nav .flex-prev {opacity: 0.8; left: 5px;}
|
||||
.flexslider:hover .flex-next:hover, .flexslider:hover .flex-prev:hover {opacity: 1;}
|
||||
.flex-direction-nav .flex-disabled {opacity: .3!important; filter:alpha(opacity=30); cursor: default;}
|
||||
|
||||
/* Control Nav */
|
||||
.flex-control-nav {width: 100%; position: absolute; bottom: -40px; text-align: center;}
|
||||
.flex-control-nav li {margin: 0 6px; display: inline-block; zoom: 1; *display: inline;}
|
||||
.flex-control-paging li a {width: 11px; height: 11px; display: block; background: #666; background: rgba(0,0,0,0.5); cursor: pointer; text-indent: -9999px; -webkit-border-radius: 20px; -moz-border-radius: 20px; -o-border-radius: 20px; border-radius: 20px; box-shadow: inset 0 0 3px rgba(0,0,0,0.3);}
|
||||
.flex-control-paging li a:hover { background: #333; background: rgba(0,0,0,0.7); }
|
||||
.flex-control-paging li a.flex-active { background: #000; background: rgba(0,0,0,0.9); cursor: default; }
|
||||
|
||||
.flex-control-thumbs {margin: 5px 0 0; position: static; overflow: hidden;}
|
||||
.flex-control-thumbs li {width: 25%; float: left; margin: 0;}
|
||||
.flex-control-thumbs img {width: 100%; display: block; opacity: .7; cursor: pointer;}
|
||||
.flex-control-thumbs img:hover {opacity: 1;}
|
||||
.flex-control-thumbs .flex-active {opacity: 1; cursor: default;}
|
Vorher Breite: | Höhe: | Größe: 1.8 KiB |
Vorher Breite: | Höhe: | Größe: 673 B |
|
@ -1,38 +0,0 @@
|
|||
/*
|
||||
* jQuery FlexSlider v2.1
|
||||
* Copyright 2012 WooThemes
|
||||
* Contributing Author: Tyler Smith
|
||||
*/
|
||||
;(function(d){d.flexslider=function(i,k){var a=d(i),c=d.extend({},d.flexslider.defaults,k),e=c.namespace,p="ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch,t=p?"touchend":"click",l="vertical"===c.direction,m=c.reverse,h=0<c.itemWidth,r="fade"===c.animation,s=""!==c.asNavFor,f={};d.data(i,"flexslider",a);f={init:function(){a.animating=!1;a.currentSlide=c.startAt;a.animatingTo=a.currentSlide;a.atEnd=0===a.currentSlide||a.currentSlide===a.last;a.containerSelector=c.selector.substr(0,
|
||||
c.selector.search(" "));a.slides=d(c.selector,a);a.container=d(a.containerSelector,a);a.count=a.slides.length;a.syncExists=0<d(c.sync).length;"slide"===c.animation&&(c.animation="swing");a.prop=l?"top":"marginLeft";a.args={};a.manualPause=!1;var b=a,g;if(g=!c.video)if(g=!r)if(g=c.useCSS)a:{g=document.createElement("div");var n=["perspectiveProperty","WebkitPerspective","MozPerspective","OPerspective","msPerspective"],e;for(e in n)if(void 0!==g.style[n[e]]){a.pfx=n[e].replace("Perspective","").toLowerCase();
|
||||
a.prop="-"+a.pfx+"-transform";g=!0;break a}g=!1}b.transitions=g;""!==c.controlsContainer&&(a.controlsContainer=0<d(c.controlsContainer).length&&d(c.controlsContainer));""!==c.manualControls&&(a.manualControls=0<d(c.manualControls).length&&d(c.manualControls));c.randomize&&(a.slides.sort(function(){return Math.round(Math.random())-0.5}),a.container.empty().append(a.slides));a.doMath();s&&f.asNav.setup();a.setup("init");c.controlNav&&f.controlNav.setup();c.directionNav&&f.directionNav.setup();c.keyboard&&
|
||||
(1===d(a.containerSelector).length||c.multipleKeyboard)&&d(document).bind("keyup",function(b){b=b.keyCode;if(!a.animating&&(39===b||37===b))b=39===b?a.getTarget("next"):37===b?a.getTarget("prev"):!1,a.flexAnimate(b,c.pauseOnAction)});c.mousewheel&&a.bind("mousewheel",function(b,g){b.preventDefault();var d=0>g?a.getTarget("next"):a.getTarget("prev");a.flexAnimate(d,c.pauseOnAction)});c.pausePlay&&f.pausePlay.setup();c.slideshow&&(c.pauseOnHover&&a.hover(function(){!a.manualPlay&&!a.manualPause&&a.pause()},
|
||||
function(){!a.manualPause&&!a.manualPlay&&a.play()}),0<c.initDelay?setTimeout(a.play,c.initDelay):a.play());p&&c.touch&&f.touch();(!r||r&&c.smoothHeight)&&d(window).bind("resize focus",f.resize);setTimeout(function(){c.start(a)},200)},asNav:{setup:function(){a.asNav=!0;a.animatingTo=Math.floor(a.currentSlide/a.move);a.currentItem=a.currentSlide;a.slides.removeClass(e+"active-slide").eq(a.currentItem).addClass(e+"active-slide");a.slides.click(function(b){b.preventDefault();var b=d(this),g=b.index();
|
||||
!d(c.asNavFor).data("flexslider").animating&&!b.hasClass("active")&&(a.direction=a.currentItem<g?"next":"prev",a.flexAnimate(g,c.pauseOnAction,!1,!0,!0))})}},controlNav:{setup:function(){a.manualControls?f.controlNav.setupManual():f.controlNav.setupPaging()},setupPaging:function(){var b=1,g;a.controlNavScaffold=d('<ol class="'+e+"control-nav "+e+("thumbnails"===c.controlNav?"control-thumbs":"control-paging")+'"></ol>');if(1<a.pagingCount)for(var n=0;n<a.pagingCount;n++)g="thumbnails"===c.controlNav?
|
||||
'<img src="'+a.slides.eq(n).attr("data-thumb")+'"/>':"<a>"+b+"</a>",a.controlNavScaffold.append("<li>"+g+"</li>"),b++;a.controlsContainer?d(a.controlsContainer).append(a.controlNavScaffold):a.append(a.controlNavScaffold);f.controlNav.set();f.controlNav.active();a.controlNavScaffold.delegate("a, img",t,function(b){b.preventDefault();var b=d(this),g=a.controlNav.index(b);b.hasClass(e+"active")||(a.direction=g>a.currentSlide?"next":"prev",a.flexAnimate(g,c.pauseOnAction))});p&&a.controlNavScaffold.delegate("a",
|
||||
"click touchstart",function(a){a.preventDefault()})},setupManual:function(){a.controlNav=a.manualControls;f.controlNav.active();a.controlNav.live(t,function(b){b.preventDefault();var b=d(this),g=a.controlNav.index(b);b.hasClass(e+"active")||(g>a.currentSlide?a.direction="next":a.direction="prev",a.flexAnimate(g,c.pauseOnAction))});p&&a.controlNav.live("click touchstart",function(a){a.preventDefault()})},set:function(){a.controlNav=d("."+e+"control-nav li "+("thumbnails"===c.controlNav?"img":"a"),
|
||||
a.controlsContainer?a.controlsContainer:a)},active:function(){a.controlNav.removeClass(e+"active").eq(a.animatingTo).addClass(e+"active")},update:function(b,c){1<a.pagingCount&&"add"===b?a.controlNavScaffold.append(d("<li><a>"+a.count+"</a></li>")):1===a.pagingCount?a.controlNavScaffold.find("li").remove():a.controlNav.eq(c).closest("li").remove();f.controlNav.set();1<a.pagingCount&&a.pagingCount!==a.controlNav.length?a.update(c,b):f.controlNav.active()}},directionNav:{setup:function(){var b=d('<ul class="'+
|
||||
e+'direction-nav"><li><a class="'+e+'prev" href="#">'+c.prevText+'</a></li><li><a class="'+e+'next" href="#">'+c.nextText+"</a></li></ul>");a.controlsContainer?(d(a.controlsContainer).append(b),a.directionNav=d("."+e+"direction-nav li a",a.controlsContainer)):(a.append(b),a.directionNav=d("."+e+"direction-nav li a",a));f.directionNav.update();a.directionNav.bind(t,function(b){b.preventDefault();b=d(this).hasClass(e+"next")?a.getTarget("next"):a.getTarget("prev");a.flexAnimate(b,c.pauseOnAction)});
|
||||
p&&a.directionNav.bind("click touchstart",function(a){a.preventDefault()})},update:function(){var b=e+"disabled";1===a.pagingCount?a.directionNav.addClass(b):c.animationLoop?a.directionNav.removeClass(b):0===a.animatingTo?a.directionNav.removeClass(b).filter("."+e+"prev").addClass(b):a.animatingTo===a.last?a.directionNav.removeClass(b).filter("."+e+"next").addClass(b):a.directionNav.removeClass(b)}},pausePlay:{setup:function(){var b=d('<div class="'+e+'pauseplay"><a></a></div>');a.controlsContainer?
|
||||
(a.controlsContainer.append(b),a.pausePlay=d("."+e+"pauseplay a",a.controlsContainer)):(a.append(b),a.pausePlay=d("."+e+"pauseplay a",a));f.pausePlay.update(c.slideshow?e+"pause":e+"play");a.pausePlay.bind(t,function(b){b.preventDefault();d(this).hasClass(e+"pause")?(a.manualPause=!0,a.manualPlay=!1,a.pause()):(a.manualPause=!1,a.manualPlay=!0,a.play())});p&&a.pausePlay.bind("click touchstart",function(a){a.preventDefault()})},update:function(b){"play"===b?a.pausePlay.removeClass(e+"pause").addClass(e+
|
||||
"play").text(c.playText):a.pausePlay.removeClass(e+"play").addClass(e+"pause").text(c.pauseText)}},touch:function(){function b(b){j=l?d-b.touches[0].pageY:d-b.touches[0].pageX;p=l?Math.abs(j)<Math.abs(b.touches[0].pageX-e):Math.abs(j)<Math.abs(b.touches[0].pageY-e);if(!p||500<Number(new Date)-k)b.preventDefault(),!r&&a.transitions&&(c.animationLoop||(j/=0===a.currentSlide&&0>j||a.currentSlide===a.last&&0<j?Math.abs(j)/q+2:1),a.setProps(f+j,"setTouch"))}function g(){i.removeEventListener("touchmove",
|
||||
b,!1);if(a.animatingTo===a.currentSlide&&!p&&null!==j){var h=m?-j:j,l=0<h?a.getTarget("next"):a.getTarget("prev");a.canAdvance(l)&&(550>Number(new Date)-k&&50<Math.abs(h)||Math.abs(h)>q/2)?a.flexAnimate(l,c.pauseOnAction):r||a.flexAnimate(a.currentSlide,c.pauseOnAction,!0)}i.removeEventListener("touchend",g,!1);f=j=e=d=null}var d,e,f,q,j,k,p=!1;i.addEventListener("touchstart",function(j){a.animating?j.preventDefault():1===j.touches.length&&(a.pause(),q=l?a.h:a.w,k=Number(new Date),f=h&&m&&a.animatingTo===
|
||||
a.last?0:h&&m?a.limit-(a.itemW+c.itemMargin)*a.move*a.animatingTo:h&&a.currentSlide===a.last?a.limit:h?(a.itemW+c.itemMargin)*a.move*a.currentSlide:m?(a.last-a.currentSlide+a.cloneOffset)*q:(a.currentSlide+a.cloneOffset)*q,d=l?j.touches[0].pageY:j.touches[0].pageX,e=l?j.touches[0].pageX:j.touches[0].pageY,i.addEventListener("touchmove",b,!1),i.addEventListener("touchend",g,!1))},!1)},resize:function(){!a.animating&&a.is(":visible")&&(h||a.doMath(),r?f.smoothHeight():h?(a.slides.width(a.computedW),
|
||||
a.update(a.pagingCount),a.setProps()):l?(a.viewport.height(a.h),a.setProps(a.h,"setTotal")):(c.smoothHeight&&f.smoothHeight(),a.newSlides.width(a.computedW),a.setProps(a.computedW,"setTotal")))},smoothHeight:function(b){if(!l||r){var c=r?a:a.viewport;b?c.animate({height:a.slides.eq(a.animatingTo).height()},b):c.height(a.slides.eq(a.animatingTo).height())}},sync:function(b){var g=d(c.sync).data("flexslider"),e=a.animatingTo;switch(b){case "animate":g.flexAnimate(e,c.pauseOnAction,!1,!0);break;case "play":!g.playing&&
|
||||
!g.asNav&&g.play();break;case "pause":g.pause()}}};a.flexAnimate=function(b,g,n,i,k){s&&1===a.pagingCount&&(a.direction=a.currentItem<b?"next":"prev");if(!a.animating&&(a.canAdvance(b,k)||n)&&a.is(":visible")){if(s&&i)if(n=d(c.asNavFor).data("flexslider"),a.atEnd=0===b||b===a.count-1,n.flexAnimate(b,!0,!1,!0,k),a.direction=a.currentItem<b?"next":"prev",n.direction=a.direction,Math.ceil((b+1)/a.visible)-1!==a.currentSlide&&0!==b)a.currentItem=b,a.slides.removeClass(e+"active-slide").eq(b).addClass(e+
|
||||
"active-slide"),b=Math.floor(b/a.visible);else return a.currentItem=b,a.slides.removeClass(e+"active-slide").eq(b).addClass(e+"active-slide"),!1;a.animating=!0;a.animatingTo=b;c.before(a);g&&a.pause();a.syncExists&&!k&&f.sync("animate");c.controlNav&&f.controlNav.active();h||a.slides.removeClass(e+"active-slide").eq(b).addClass(e+"active-slide");a.atEnd=0===b||b===a.last;c.directionNav&&f.directionNav.update();b===a.last&&(c.end(a),c.animationLoop||a.pause());if(r)p?(a.slides.eq(a.currentSlide).css({opacity:0,
|
||||
zIndex:1}),a.slides.eq(b).css({opacity:1,zIndex:2}),a.slides.unbind("webkitTransitionEnd transitionend"),a.slides.eq(a.currentSlide).bind("webkitTransitionEnd transitionend",function(){c.after(a)}),a.animating=!1,a.currentSlide=a.animatingTo):(a.slides.eq(a.currentSlide).fadeOut(c.animationSpeed,c.easing),a.slides.eq(b).fadeIn(c.animationSpeed,c.easing,a.wrapup));else{var q=l?a.slides.filter(":first").height():a.computedW;h?(b=c.itemWidth>a.w?2*c.itemMargin:c.itemMargin,b=(a.itemW+b)*a.move*a.animatingTo,
|
||||
b=b>a.limit&&1!==a.visible?a.limit:b):b=0===a.currentSlide&&b===a.count-1&&c.animationLoop&&"next"!==a.direction?m?(a.count+a.cloneOffset)*q:0:a.currentSlide===a.last&&0===b&&c.animationLoop&&"prev"!==a.direction?m?0:(a.count+1)*q:m?(a.count-1-b+a.cloneOffset)*q:(b+a.cloneOffset)*q;a.setProps(b,"",c.animationSpeed);if(a.transitions){if(!c.animationLoop||!a.atEnd)a.animating=!1,a.currentSlide=a.animatingTo;a.container.unbind("webkitTransitionEnd transitionend");a.container.bind("webkitTransitionEnd transitionend",
|
||||
function(){a.wrapup(q)})}else a.container.animate(a.args,c.animationSpeed,c.easing,function(){a.wrapup(q)})}c.smoothHeight&&f.smoothHeight(c.animationSpeed)}};a.wrapup=function(b){!r&&!h&&(0===a.currentSlide&&a.animatingTo===a.last&&c.animationLoop?a.setProps(b,"jumpEnd"):a.currentSlide===a.last&&(0===a.animatingTo&&c.animationLoop)&&a.setProps(b,"jumpStart"));a.animating=!1;a.currentSlide=a.animatingTo;c.after(a)};a.animateSlides=function(){a.animating||a.flexAnimate(a.getTarget("next"))};a.pause=
|
||||
function(){clearInterval(a.animatedSlides);a.playing=!1;c.pausePlay&&f.pausePlay.update("play");a.syncExists&&f.sync("pause")};a.play=function(){a.animatedSlides=setInterval(a.animateSlides,c.slideshowSpeed);a.playing=!0;c.pausePlay&&f.pausePlay.update("pause");a.syncExists&&f.sync("play")};a.canAdvance=function(b,g){var d=s?a.pagingCount-1:a.last;return g?!0:s&&a.currentItem===a.count-1&&0===b&&"prev"===a.direction?!0:s&&0===a.currentItem&&b===a.pagingCount-1&&"next"!==a.direction?!1:b===a.currentSlide&&
|
||||
!s?!1:c.animationLoop?!0:a.atEnd&&0===a.currentSlide&&b===d&&"next"!==a.direction?!1:a.atEnd&&a.currentSlide===d&&0===b&&"next"===a.direction?!1:!0};a.getTarget=function(b){a.direction=b;return"next"===b?a.currentSlide===a.last?0:a.currentSlide+1:0===a.currentSlide?a.last:a.currentSlide-1};a.setProps=function(b,g,d){var e,f=b?b:(a.itemW+c.itemMargin)*a.move*a.animatingTo;e=-1*function(){if(h)return"setTouch"===g?b:m&&a.animatingTo===a.last?0:m?a.limit-(a.itemW+c.itemMargin)*a.move*a.animatingTo:a.animatingTo===
|
||||
a.last?a.limit:f;switch(g){case "setTotal":return m?(a.count-1-a.currentSlide+a.cloneOffset)*b:(a.currentSlide+a.cloneOffset)*b;case "setTouch":return b;case "jumpEnd":return m?b:a.count*b;case "jumpStart":return m?a.count*b:b;default:return b}}()+"px";a.transitions&&(e=l?"translate3d(0,"+e+",0)":"translate3d("+e+",0,0)",d=void 0!==d?d/1E3+"s":"0s",a.container.css("-"+a.pfx+"-transition-duration",d));a.args[a.prop]=e;(a.transitions||void 0===d)&&a.container.css(a.args)};a.setup=function(b){if(r)a.slides.css({width:"100%",
|
||||
"float":"left",marginRight:"-100%",position:"relative"}),"init"===b&&(p?a.slides.css({opacity:0,display:"block",webkitTransition:"opacity "+c.animationSpeed/1E3+"s ease",zIndex:1}).eq(a.currentSlide).css({opacity:1,zIndex:2}):a.slides.eq(a.currentSlide).fadeIn(c.animationSpeed,c.easing)),c.smoothHeight&&f.smoothHeight();else{var g,n;"init"===b&&(a.viewport=d('<div class="'+e+'viewport"></div>').css({overflow:"hidden",position:"relative"}).appendTo(a).append(a.container),a.cloneCount=0,a.cloneOffset=
|
||||
0,m&&(n=d.makeArray(a.slides).reverse(),a.slides=d(n),a.container.empty().append(a.slides)));c.animationLoop&&!h&&(a.cloneCount=2,a.cloneOffset=1,"init"!==b&&a.container.find(".clone").remove(),a.container.append(a.slides.first().clone().addClass("clone")).prepend(a.slides.last().clone().addClass("clone")));a.newSlides=d(c.selector,a);g=m?a.count-1-a.currentSlide+a.cloneOffset:a.currentSlide+a.cloneOffset;l&&!h?(a.container.height(200*(a.count+a.cloneCount)+"%").css("position","absolute").width("100%"),
|
||||
setTimeout(function(){a.newSlides.css({display:"block"});a.doMath();a.viewport.height(a.h);a.setProps(g*a.h,"init")},"init"===b?100:0)):(a.container.width(200*(a.count+a.cloneCount)+"%"),a.setProps(g*a.computedW,"init"),setTimeout(function(){a.doMath();a.newSlides.css({width:a.computedW,"float":"left",display:"block"});c.smoothHeight&&f.smoothHeight()},"init"===b?100:0))}h||a.slides.removeClass(e+"active-slide").eq(a.currentSlide).addClass(e+"active-slide")};a.doMath=function(){var b=a.slides.first(),
|
||||
d=c.itemMargin,e=c.minItems,f=c.maxItems;a.w=a.width();a.h=b.height();a.boxPadding=b.outerWidth()-b.width();h?(a.itemT=c.itemWidth+d,a.minW=e?e*a.itemT:a.w,a.maxW=f?f*a.itemT:a.w,a.itemW=a.minW>a.w?(a.w-d*e)/e:a.maxW<a.w?(a.w-d*f)/f:c.itemWidth>a.w?a.w:c.itemWidth,a.visible=Math.floor(a.w/(a.itemW+d)),a.move=0<c.move&&c.move<a.visible?c.move:a.visible,a.pagingCount=Math.ceil((a.count-a.visible)/a.move+1),a.last=a.pagingCount-1,a.limit=1===a.pagingCount?0:c.itemWidth>a.w?(a.itemW+2*d)*a.count-a.w-
|
||||
d:(a.itemW+d)*a.count-a.w-d):(a.itemW=a.w,a.pagingCount=a.count,a.last=a.count-1);a.computedW=a.itemW-a.boxPadding};a.update=function(b,d){a.doMath();h||(b<a.currentSlide?a.currentSlide+=1:b<=a.currentSlide&&0!==b&&(a.currentSlide-=1),a.animatingTo=a.currentSlide);if(c.controlNav&&!a.manualControls)if("add"===d&&!h||a.pagingCount>a.controlNav.length)f.controlNav.update("add");else if("remove"===d&&!h||a.pagingCount<a.controlNav.length)h&&a.currentSlide>a.last&&(a.currentSlide-=1,a.animatingTo-=1),
|
||||
f.controlNav.update("remove",a.last);c.directionNav&&f.directionNav.update()};a.addSlide=function(b,e){var f=d(b);a.count+=1;a.last=a.count-1;l&&m?void 0!==e?a.slides.eq(a.count-e).after(f):a.container.prepend(f):void 0!==e?a.slides.eq(e).before(f):a.container.append(f);a.update(e,"add");a.slides=d(c.selector+":not(.clone)",a);a.setup();c.added(a)};a.removeSlide=function(b){var e=isNaN(b)?a.slides.index(d(b)):b;a.count-=1;a.last=a.count-1;isNaN(b)?d(b,a.slides).remove():l&&m?a.slides.eq(a.last).remove():
|
||||
a.slides.eq(b).remove();a.doMath();a.update(e,"remove");a.slides=d(c.selector+":not(.clone)",a);a.setup();c.removed(a)};f.init()};d.flexslider.defaults={namespace:"flex-",selector:".slides > li",animation:"fade",easing:"swing",direction:"horizontal",reverse:!1,animationLoop:!0,smoothHeight:!1,startAt:0,slideshow:!0,slideshowSpeed:7E3,animationSpeed:600,initDelay:0,randomize:!1,pauseOnAction:!0,pauseOnHover:!1,useCSS:!0,touch:!0,video:!1,controlNav:!0,directionNav:!0,prevText:"Previous",nextText:"Next",
|
||||
keyboard:!0,multipleKeyboard:!1,mousewheel:!1,pausePlay:!1,pauseText:"Pause",playText:"Play",controlsContainer:"",manualControls:"",sync:"",asNavFor:"",itemWidth:0,itemMargin:0,minItems:0,maxItems:0,move:0,start:function(){},before:function(){},after:function(){},end:function(){},added:function(){},removed:function(){}};d.fn.flexslider=function(i){void 0===i&&(i={});if("object"===typeof i)return this.each(function(){var a=d(this),c=a.find(i.selector?i.selector:".slides > li");1===c.length?(c.fadeIn(400),
|
||||
i.start&&i.start(a)):void 0==a.data("flexslider")&&new d.flexslider(this,i)});var k=d(this).data("flexslider");switch(i){case "play":k.play();break;case "pause":k.pause();break;case "next":k.flexAnimate(k.getTarget("next"),!0);break;case "prev":case "previous":k.flexAnimate(k.getTarget("prev"),!0);break;default:"number"===typeof i&&k.flexAnimate(i,!0)}}})(jQuery);
|
|
@ -1,294 +0,0 @@
|
|||
/* Cookies Directive - The rewrite. Now a jQuery plugin
|
||||
* Version: 2.0.1
|
||||
* Author: Ollie Phillips
|
||||
* 24 October 2013
|
||||
*/
|
||||
|
||||
;(function($) {
|
||||
$.cookiesDirective = function(options) {
|
||||
|
||||
// Default Cookies Directive Settings
|
||||
var settings = $.extend({
|
||||
//Options
|
||||
explicitConsent: true,
|
||||
position: 'top',
|
||||
duration: 10,
|
||||
limit: 0,
|
||||
message: null,
|
||||
cookieScripts: null,
|
||||
privacyPolicyUri: 'privacy.html',
|
||||
inlineAction: false,
|
||||
scriptWrapper: function(){},
|
||||
// Styling
|
||||
fontFamily: 'helvetica',
|
||||
fontColor: '#FFFFFF',
|
||||
fontSize: '13px',
|
||||
backgroundColor: '#000000',
|
||||
backgroundOpacity: '80',
|
||||
linkColor: '#CA0000',
|
||||
// Messages
|
||||
multipleCookieScriptBeginningLabel: ' We use ',
|
||||
and: ' and ',
|
||||
multipleCookieScriptEndLabel: ' scripts, which all set cookies. ',
|
||||
singleCookieScriptBeginningLabel: ' We use a ',
|
||||
singleCookieScriptEndLabel: ' script which sets cookies.',
|
||||
explicitCookieDeletionWarning: 'You may delete and block all cookies from this site, but parts of the site will not work.',
|
||||
explicitFindOutMore: 'To find out more about cookies on this website, see our',
|
||||
privacyPolicyLinkText: ' privacy policy',
|
||||
explicitCheckboxLabel: 'You must tick the "I accept cookies from this site" box to accept',
|
||||
explicitCookieAcceptanceLabel: 'I accept cookies from this site',
|
||||
explicitCookieAcceptButtonText: 'Continue',
|
||||
impliedDisclosureText: ' More details can be found in our',
|
||||
impliedSubmitText: 'Do not show this message again',
|
||||
}, options);
|
||||
|
||||
// Perform consent checks
|
||||
if(!getCookie('cookiesDirective')) {
|
||||
if(settings.limit > 0) {
|
||||
// Display limit in force, record the view
|
||||
if(!getCookie('cookiesDisclosureCount')) {
|
||||
setCookie('cookiesDisclosureCount',1,1);
|
||||
} else {
|
||||
var disclosureCount = getCookie('cookiesDisclosureCount');
|
||||
disclosureCount ++;
|
||||
setCookie('cookiesDisclosureCount',disclosureCount,1);
|
||||
}
|
||||
|
||||
// Have we reached the display limit, if not make disclosure
|
||||
if(settings.limit >= getCookie('cookiesDisclosureCount')) {
|
||||
disclosure(settings);
|
||||
}
|
||||
} else {
|
||||
// No display limit
|
||||
disclosure(settings);
|
||||
}
|
||||
|
||||
// If we don't require explicit consent, load up our script wrapping function
|
||||
if(!settings.explicitConsent) {
|
||||
settings.scriptWrapper.call();
|
||||
}
|
||||
} else {
|
||||
// Cookies accepted, load script wrapping function
|
||||
settings.scriptWrapper.call();
|
||||
}
|
||||
};
|
||||
|
||||
// Used to load external javascript files into the DOM
|
||||
$.cookiesDirective.loadScript = function(options) {
|
||||
var settings = $.extend({
|
||||
uri: '',
|
||||
appendTo: 'body'
|
||||
}, options);
|
||||
|
||||
var elementId = String(settings.appendTo);
|
||||
var sA = document.createElement("script");
|
||||
sA.src = settings.uri;
|
||||
sA.type = "text/javascript";
|
||||
sA.onload = sA.onreadystatechange = function() {
|
||||
if ((!sA.readyState || sA.readyState == "loaded" || sA.readyState == "complete")) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
switch(settings.appendTo) {
|
||||
case 'head':
|
||||
$('head').append(sA);
|
||||
break;
|
||||
case 'body':
|
||||
$('body').append(sA);
|
||||
break;
|
||||
default:
|
||||
$('#' + elementId).append(sA);
|
||||
}
|
||||
}
|
||||
|
||||
// Helper scripts
|
||||
// Get cookie
|
||||
var getCookie = function(name) {
|
||||
var nameEQ = name + "=";
|
||||
var ca = document.cookie.split(';');
|
||||
for(var i=0;i < ca.length;i++) {
|
||||
var c = ca[i];
|
||||
while (c.charAt(0)==' ') c = c.substring(1,c.length);
|
||||
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
// Set cookie
|
||||
var setCookie = function(name,value,days) {
|
||||
if (days) {
|
||||
var date = new Date();
|
||||
date.setTime(date.getTime()+(days*24*60*60*1000));
|
||||
var expires = "; expires="+date.toGMTString();
|
||||
}
|
||||
else var expires = "";
|
||||
document.cookie = name+"="+value+expires+"; path=/";
|
||||
}
|
||||
|
||||
// Detect IE < 9
|
||||
var checkIE = function(){
|
||||
var version;
|
||||
if (navigator.appName == 'Microsoft Internet Explorer') {
|
||||
var ua = navigator.userAgent;
|
||||
var re = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
|
||||
if (re.exec(ua) != null) {
|
||||
version = parseFloat(RegExp.$1);
|
||||
}
|
||||
if (version <= 8.0) {
|
||||
return true;
|
||||
} else {
|
||||
if(version == 9.0) {
|
||||
if(document.compatMode == "BackCompat") {
|
||||
// IE9 in quirks mode won't run the script properly, set to emulate IE8
|
||||
var mA = document.createElement("meta");
|
||||
mA.content = "IE=EmulateIE8";
|
||||
document.getElementsByTagName('head')[0].appendChild(mA);
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// Disclosure routines
|
||||
var disclosure = function(options) {
|
||||
var settings = options;
|
||||
settings.css = 'fixed';
|
||||
|
||||
// IE 9 and lower has issues with position:fixed, either out the box or in compatibility mode - fix that
|
||||
if(checkIE()) {
|
||||
settings.position = 'top';
|
||||
settings.css = 'absolute';
|
||||
}
|
||||
|
||||
// Any cookie setting scripts to disclose
|
||||
var scriptsDisclosure = '';
|
||||
if (settings.cookieScripts) {
|
||||
var scripts = settings.cookieScripts.split(',');
|
||||
var scriptsCount = scripts.length;
|
||||
var scriptDisclosureTxt = '';
|
||||
if(scriptsCount>1) {
|
||||
for(var t=0; t < scriptsCount - 1; t++) {
|
||||
scriptDisclosureTxt += scripts[t] + ', ';
|
||||
}
|
||||
|
||||
scriptsDisclosure = settings.multipleCookieScriptBeginningLabel + scriptDisclosureTxt.substring(0, scriptDisclosureTxt.length - 2) + settings.and + scripts[scriptsCount - 1] + settings.multipleCookieScriptEndLabel;
|
||||
} else {
|
||||
scriptsDisclosure = setting.singleCookieScriptBeginningLabel + scripts[0] + settings.singleCookieScriptEndLabel;
|
||||
}
|
||||
}
|
||||
|
||||
// Create overlay, vary the disclosure based on explicit/implied consent
|
||||
// Set our disclosure/message if one not supplied
|
||||
var html = '';
|
||||
html += '<div id="epd">';
|
||||
html += '<div id="cookiesdirective" style="position:'+ settings.css +';'+ settings.position + ':-300px;left:0px;width:100%;'
|
||||
html += 'height:auto;background:' + settings.backgroundColor + ';opacity:.' + settings.backgroundOpacity + ';';
|
||||
html += '-ms-filter: “alpha(opacity=' + settings.backgroundOpacity + ')”; filter: alpha(opacity=' + settings.backgroundOpacity + ');';
|
||||
html += '-khtml-opacity: .' + settings.backgroundOpacity + '; -moz-opacity: .' + settings.backgroundOpacity + ';';
|
||||
html += 'color:' + settings.fontColor + ';font-family:' + settings.fontFamily + ';font-size:' + settings.fontSize + ';';
|
||||
html += 'text-align:center;z-index:1000;">';
|
||||
html += '<div style="position:relative;height:auto;width:90%;padding:10px;margin-left:auto;margin-right:auto;">';
|
||||
|
||||
if(!settings.message) {
|
||||
if(settings.explicitConsent) {
|
||||
// Explicit consent message
|
||||
settings.message = 'This site uses cookies. Some of the cookies we ';
|
||||
settings.message += 'use are essential for parts of the site to operate and have already been set.';
|
||||
} else {
|
||||
// Implied consent message
|
||||
settings.message = 'We have placed cookies on your computer to help make this website better.';
|
||||
}
|
||||
}
|
||||
html += settings.message;
|
||||
|
||||
// Build the rest of the disclosure for implied and explicit consent
|
||||
if(settings.explicitConsent) {
|
||||
// Explicit consent disclosure
|
||||
html += scriptsDisclosure + settings.explicitCookieDeletionWarning;
|
||||
html += settings.explicitFindOutMore + '<a style="color:'+ settings.linkColor + ';font-weight:bold;';
|
||||
html += 'font-family:' + settings.fontFamily + ';font-size:' + settings.fontSize + ';" href="'+ settings.privacyPolicyUri + '">'+ settings.privacyPolicyLinkText +'</a>.';
|
||||
html += '<div id="epdnotick" style="color:#ca0000;display:none;margin:2px;"><span style="background:#cecece;padding:2px;">' + settings.explicitCheckboxLabel + '</span></div>'
|
||||
html += '<div style="margin-top:5px;';
|
||||
if(settings.inlineAction) {
|
||||
html += 'display:inline-block;margin-left:5px';
|
||||
}
|
||||
html += '">' + settings.explicitCookieAcceptanceLabel + '<input type="checkbox" name="epdagree" id="epdagree" /> ';
|
||||
html += '<input type="submit" name="explicitsubmit" id="explicitsubmit" value="' + settings.explicitCookieAcceptButtonText + '"/><br/></div></div>';
|
||||
|
||||
} else {
|
||||
// Implied consent disclosure
|
||||
html += scriptsDisclosure + settings.impliedDisclosureText + ' <a style="color:'+ settings.linkColor + ';';
|
||||
html += 'font-weight:bold;font-family:' + settings.fontFamily + ';font-size:' + settings.fontSize + ';" href="'+ settings.privacyPolicyUri + '">' + settings.privacyPolicyLinkText + '</a>.';
|
||||
html += '<div style="margin-top:5px;';
|
||||
if(settings.inlineAction) {
|
||||
html += 'display:inline-block;margin-left:5px';
|
||||
}
|
||||
html += '"><input type="submit" name="impliedsubmit" id="impliedsubmit" value="' + settings.impliedSubmitText + '"/></div></div>';
|
||||
}
|
||||
html += '</div></div>';
|
||||
$('body').append(html);
|
||||
|
||||
// Serve the disclosure, and be smarter about branching
|
||||
var dp = settings.position.toLowerCase();
|
||||
if(dp != 'top' && dp!= 'bottom') {
|
||||
dp = 'top';
|
||||
}
|
||||
var opts = new Array();
|
||||
if(dp == 'top') {
|
||||
opts['in'] = {'top':'0'};
|
||||
opts['out'] = {'top':'-300'};
|
||||
} else {
|
||||
opts['in'] = {'bottom':'0'};
|
||||
opts['out'] = {'bottom':'-300'};
|
||||
}
|
||||
|
||||
// Start animation
|
||||
$('#cookiesdirective').animate(opts['in'], 1000, function() {
|
||||
// Set event handlers depending on type of disclosure
|
||||
if(settings.explicitConsent) {
|
||||
// Explicit, need to check a box and click a button
|
||||
$('#explicitsubmit').click(function() {
|
||||
if($('#epdagree').is(':checked')) {
|
||||
// Set a cookie to prevent this being displayed again
|
||||
setCookie('cookiesDirective',1,365);
|
||||
// Close the overlay
|
||||
$('#cookiesdirective').animate(opts['out'],1000,function() {
|
||||
// Remove the elements from the DOM and reload page
|
||||
$('#cookiesdirective').remove();
|
||||
location.reload(true);
|
||||
});
|
||||
} else {
|
||||
// We need the box checked we want "explicit consent", display message
|
||||
$('#epdnotick').css('display', 'block');
|
||||
}
|
||||
});
|
||||
} else {
|
||||
// Implied consent, just a button to close it
|
||||
$('#impliedsubmit').click(function() {
|
||||
// Set a cookie to prevent this being displayed again
|
||||
setCookie('cookiesDirective',1,365);
|
||||
// Close the overlay
|
||||
$('#cookiesdirective').animate(opts['out'],1000,function() {
|
||||
// Remove the elements from the DOM and reload page
|
||||
$('#cookiesdirective').remove();
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
// Set a timer to remove the warning after 'settings.duration' seconds
|
||||
setTimeout(function(){
|
||||
$('#cookiesdirective').animate({
|
||||
opacity:'0'
|
||||
},2000, function(){
|
||||
$('#cookiesdirective').css(dp,'-300px');
|
||||
});
|
||||
}, settings.duration * 1000);
|
||||
});
|
||||
}
|
||||
})(jQuery);
|
|
@ -1,42 +0,0 @@
|
|||
|
||||
// Fireup the plugins
|
||||
$(document).ready(function(){
|
||||
|
||||
// initialise slideshow
|
||||
$('.flexslider').flexslider({
|
||||
animation: "slide",
|
||||
start: function(slider){
|
||||
$('body').removeClass('loading');
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
/**
|
||||
* Handles toggling the navigation menu for small screens.
|
||||
*/
|
||||
( function() {
|
||||
var button = document.getElementById( 'topnav' ).getElementsByTagName( 'div' )[0],
|
||||
menu = document.getElementById( 'topnav' ).getElementsByTagName( 'ul' )[0];
|
||||
|
||||
if ( undefined === button )
|
||||
return false;
|
||||
|
||||
// Hide button if menu is missing or empty.
|
||||
if ( undefined === menu || ! menu.childNodes.length ) {
|
||||
button.style.display = 'none';
|
||||
return false;
|
||||
}
|
||||
|
||||
button.onclick = function() {
|
||||
if ( -1 == menu.className.indexOf( 'srt-menu' ) )
|
||||
menu.className = 'srt-menu';
|
||||
|
||||
if ( -1 != button.className.indexOf( 'toggled-on' ) ) {
|
||||
button.className = button.className.replace( ' toggled-on', '' );
|
||||
menu.className = menu.className.replace( ' toggled-on', '' );
|
||||
} else {
|
||||
button.className += ' toggled-on';
|
||||
menu.className += ' toggled-on';
|
||||
}
|
||||
};
|
||||
} )();
|
|
@ -1,10 +0,0 @@
|
|||
<div class="flexslider">
|
||||
<ul class="slides">
|
||||
<!-- BEGIN:BLOCK -->
|
||||
<li>
|
||||
<img src="{IMG}" alt="" />
|
||||
<p class="flex-caption">{IMG_CAPTION}</p>
|
||||
</li>
|
||||
<!-- END:BLOCK -->
|
||||
</ul>
|
||||
</div>
|
|
@ -1,9 +0,0 @@
|
|||
<form id="login_box" action="{form_action}" method="post">
|
||||
<fieldset>
|
||||
<legend>Login</legend>
|
||||
<input type="hidden" name="return" value="true" />
|
||||
<input type="text" placeholder="{label_name}" id="username" name="username" />
|
||||
<input type="password" placeholder="{label_pass}" id="password" name="password" />
|
||||
<input id="loginBtn" type="submit" name="login" value="{label_login}" />
|
||||
</fieldset>
|
||||
</form>
|
|
@ -1,18 +0,0 @@
|
|||
<!-- developer design for file list -->
|
||||
<h3>{TITLE}</h3>
|
||||
<!--
|
||||
Possible place holders for entries:
|
||||
FILELINK, FILENAME, FILEEXTENSION, FILESIZE, FILESIZE_UNIT,
|
||||
FILECREATIONDATE, FILEMODIFYDATE, FILEDIRCTORY,
|
||||
FILEMETA_DESCRIPTION, FILEMETA_KEYWORDS, FILEMETA_MEDIANAME,
|
||||
FILEMETA_INTERNAL_NOTICE, FILEMETA_COPYRIGHT
|
||||
-->
|
||||
<!-- BEGIN:BLOCK -->
|
||||
<div style="float: left;margin-bottom: 20px;width:47%;padding-right:5px">
|
||||
<b><a href="{FILELINK}">{FILENAME}</a></b> ({FILEEXTENSION})<br />
|
||||
<span style="color: rgb(170, 170, 170);">{LABEL_FILESIZE}</span> {FILESIZE} {FILESIZE_UNIT}<br />
|
||||
<span style="color: rgb(170, 170, 170);">{LABEL_UPLOAD_DATE}</span> {FILECREATIONDATE}<br />
|
||||
{FILEMETA_DESCRIPTION}
|
||||
</div>
|
||||
<!-- END:BLOCK -->
|
||||
<br style="clear:both" />
|
|
@ -1,11 +0,0 @@
|
|||
<div style="width:400px">
|
||||
<p style="font-weight:bold; font-style:italic;">{TITLE}</p>
|
||||
<!-- BEGIN:BLOCK -->
|
||||
<div style="margin-bottom:10px; width: 192px; float:left; padding:3px;">
|
||||
<div style="color:#aaa;">{PUBLISHED}</div>
|
||||
<p style="font-weight:bold; margin-top:2px; margin-bottom:2px;"><a href="{ART_URL}">{TITLE}</a></p>
|
||||
{IMAGE}{TEXT} <a href="{ART_URL}">{MORE}</a>
|
||||
</div>
|
||||
<!-- END:BLOCK -->
|
||||
</div>
|
||||
<div style="clear:both;"></div>
|
|
@ -1,11 +0,0 @@
|
|||
<div style="width:400px">
|
||||
<p style="font-weight:bold; font-style:italic;">{TITLE}</p>
|
||||
<!-- BEGIN:BLOCK -->
|
||||
<div style="margin-bottom:10px;padding:3px;">
|
||||
<div style="float:right; color:#aaa;">{PUBLISHED}</div>
|
||||
<p style="font-weight:bold; margin-top:2px; margin-bottom:2px;"><a href="{ART_URL}">{TITLE}</a></p>
|
||||
{IMAGE}{TEXT} <a href="{ART_URL}">{MORE}</a>
|
||||
</div>
|
||||
<!-- END:BLOCK -->
|
||||
</div>
|
||||
<div style="clear:both;"></div>
|
|
@ -1,6 +0,0 @@
|
|||
<!--
|
||||
Dude, this page rocks! The gentle musicians of Contenido are proud to present this brilliant example.
|
||||
Contenido is a free and easy to use open source Content Management System created by four for business AG and licensed under GNU/GPL 2.
|
||||
Contenido is copyright 2001-2010 of four for business AG. Modules are copyright of their respective owners.
|
||||
Information and contribution at http://www.contenido.org
|
||||
//-->
|
|
@ -1 +0,0 @@
|
|||
<p>© 2012-2013 <a href="http://www.ConLite.org" target="_blank">ConLite</a></p>
|
|
@ -1 +0,0 @@
|
|||
<p>© 2012-2013 <a href="http://www.ConLite.org" target="_blank">ConLite</a></p>
|
|
@ -1,4 +0,0 @@
|
|||
<div id="headBody" class="clearfix"{css-style}>
|
||||
<a id="logoTop" href="{url}" title="{title}"><img src="images/logo_oben.gif" alt="" /></a>
|
||||
<h1>{headline}</h1>
|
||||
</div>
|
|
@ -1 +0,0 @@
|
|||
<h1>{HEADLINE}</h1>
|
|
@ -1,55 +0,0 @@
|
|||
|
||||
<div id="contactForm">
|
||||
<form action="{form_action}" method="post">
|
||||
<input type="hidden" name="send" value="1" />
|
||||
<div class="contactRow clearfix" style="font-size: 0.8em;">* {PFLICHTFELDER}</div>
|
||||
<div class="contactRow clearfix">
|
||||
<label for="Anrede">{ANREDE}</label>
|
||||
<input type="radio" name="Anrede" value="{ANREDE_OPTION1}" id="Anrede" checked="checked" style="width:auto;border:0;" /> {ANREDE_OPTION1}
|
||||
<input type="radio" name="Anrede" value="{ANREDE_OPTION2}" style="width:auto;border:0;" /> {ANREDE_OPTION2}
|
||||
</div>
|
||||
<div class="contactRow clearfix">
|
||||
<label for="Vorname">{VORNAME} *</label>
|
||||
<input type="text" name="Vorname" id="Vorname" class="eingabe" maxlength="100"/>
|
||||
</div>
|
||||
<div class="contactRow clearfix">
|
||||
<label for="Nachname">{NACHNAME} *</label>
|
||||
<input type="text" name="Nachname" id="Nachname" class="eingabe" maxlength="100"/>
|
||||
</div>
|
||||
<div class="contactRow clearfix">
|
||||
<label for="Firma">{FIRMA} *</label>
|
||||
<input type="text" name="Firma" id="Firma" class="eingabe" maxlength="100"/>
|
||||
</div>
|
||||
<div class="contactRow clearfix">
|
||||
<label for="Strasse">{STRASSE} *</label>
|
||||
<input type="text" name="Strasse" id="Strasse" class="eingabe" maxlength="100"/>
|
||||
</div>
|
||||
<div class="contactRow clearfix">
|
||||
<label for="PLZOrt">{PLZORT} *</label>
|
||||
<input type="text" name="PLZOrt" id="PLZOrt" class="eingabe" maxlength="100"/>
|
||||
</div>
|
||||
<div class="contactRow clearfix">
|
||||
<label for="Telefon">{TELEFON} *</label>
|
||||
<input type="text" name="Telefon" id="Telefon" class="eingabe" maxlength="100"/>
|
||||
</div>
|
||||
<div class="contactRow clearfix">
|
||||
<label for="EMail">{EMAIL} *</label>
|
||||
<input type="text" name="EMail" id="EMail" class="eingabe" maxlength="100"/>
|
||||
</div>
|
||||
<div class="contactRow clearfix">
|
||||
<label for="Anliegen">{ANLIEGEN} *</label>
|
||||
<textarea name="Anliegen" id="Anliegen"></textarea>
|
||||
</div>
|
||||
<div id="contactFormSubmit" class="clearfix">
|
||||
<label></label>
|
||||
<div class="uneditable-input" style="padding: 0px 0px 4px 0px; border: 0px none;">
|
||||
<div id="contactFormSubmitLeft">
|
||||
<input type="reset" value="{LOESCHEN}" />
|
||||
</div>
|
||||
<div id="contactFormSubmitRight">
|
||||
<input type="submit" value="{ABSCHICKEN}" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
|
@ -1,5 +0,0 @@
|
|||
<h3>{headline}</h3>
|
||||
<div id="logoutText">
|
||||
{text}
|
||||
<a href="{url}" title="{label_logout}">{label_logout} <img src="images/link_pfeil.gif" alt="" /></a>
|
||||
</div>
|
|
@ -1 +0,0 @@
|
|||
<a id="logoBottom" href="http://www.contenido.org/" title="Zur Contenido Homepage"><img src="images/logo_unten.gif" alt="Contenido Logo" /></a>
|
|
@ -1,4 +0,0 @@
|
|||
|
||||
<ul id="metaNavigation" class="nav">
|
||||
{items}
|
||||
</ul>
|
|
@ -1,3 +0,0 @@
|
|||
<!-- BEGIN:BLOCK -->
|
||||
<li><a href="{url}" title="{title}">{label}</a></li>
|
||||
<!-- END:BLOCK -->
|
|
@ -1,8 +0,0 @@
|
|||
<div class="menu-toggle">Menu</div>
|
||||
<ul class="srt-menu" id="menu-main-navigation">
|
||||
<!-- BEGIN:BLOCK -->
|
||||
<li class="navmainStandardLevel_{css_level}{css_first_item}{css_last_item}{css_active_item}">
|
||||
<a href="{url}" title="{name}" class="navmainStandardLevel_{css_level}{css_first_item}{css_last_item}{css_active_item}">{name}</a>
|
||||
</li>
|
||||
<!-- END:BLOCK -->
|
||||
</ul>
|
|
@ -1,5 +0,0 @@
|
|||
<!-- BEGIN:BLOCK -->
|
||||
<li class="navmainStandardLevel_{css_level}">
|
||||
<a href="{url}" title="{name}" class="sitemapStandardLevel_{css_level}">{name}</a>
|
||||
</li>
|
||||
<!-- END:BLOCK -->
|
|
@ -1,3 +0,0 @@
|
|||
<ul class="navmainStandardMainCat">
|
||||
{list_items}
|
||||
</ul>
|
|
@ -1,31 +0,0 @@
|
|||
<br/>
|
||||
<form method="post" action="{FORM_ACTION}" name="newsletterform"{FORM_TARGET}>
|
||||
<div id="contactForm">
|
||||
<div class="contactRow clearfix">
|
||||
<label for="emailname">{EMAILNAME}</label>
|
||||
<input id="emailname" type="text" name="emailname" value="" class="eingabe" maxlength="100"/>
|
||||
</div>
|
||||
<div class="contactRow clearfix">
|
||||
<label for="email">{EMAIL}</label>
|
||||
<input id="email" type="text" name="email" value="" class="eingabe" maxlength="100"/>
|
||||
</div>
|
||||
<div class="contactRow clearfix" style="padding-bottom:5px;">
|
||||
<label for="action"> </label>
|
||||
<select name="action" class="eingabe" maxlength="100" style="float:left; margin-right:3px;">
|
||||
<option value="subscribe" selected>{SUBSCRIBE}</option>
|
||||
<option value="delete">{DELETE}</option>
|
||||
</select>
|
||||
{EXTRAHTML}
|
||||
</div>
|
||||
<hr class="clearfix" style="border: 1px solid #f1f1f1; width: 430px;"/>
|
||||
<div id="contactFormSubmit" class="clearfix">
|
||||
<div id="contactFormSubmitLeft">
|
||||
<input type="reset" value="{LOESCHEN}" />
|
||||
</div>
|
||||
<div id="contactFormSubmitRight">
|
||||
<input type="submit" value="{ABSCHICKEN}" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<br/>
|
|
@ -1 +0,0 @@
|
|||
{CONTENT}
|
|
@ -1,5 +0,0 @@
|
|||
<ul>
|
||||
<!-- BEGIN:BLOCK -->
|
||||
<li><a target="_blank" href="{LINK}">{TITLE}</a></li>
|
||||
<!-- END:BLOCK -->
|
||||
</ul>
|
|
@ -1,4 +0,0 @@
|
|||
<!-- BEGIN:BLOCK -->
|
||||
<h3><a href="{LINK}" title="Link zu '{TITLE}'">{TITLE}</a></h3>
|
||||
<p>{IMAGE}{DESCRIPTION} <a href="{LINK}" title="Link zu '{TITLE}'" class="extern" target="_blank">{READ_ON}</a></p>
|
||||
<!-- END:BLOCK -->
|
|
@ -1,7 +0,0 @@
|
|||
<div class="suchausgabe">
|
||||
<!-- BEGIN:BLOCK -->
|
||||
<h2><a href="{LINK}" target="_blank" title="Link zu '{TITLE}'">{TITLE}</a></h2>
|
||||
<p>{IMAGE}{DESCRIPTION} <a href="{LINK}" title="Link zu '{TITLE}'" target="_blank">{READ_ON}</a></p>
|
||||
<hr class="noshade"/>
|
||||
<!-- END:BLOCK -->
|
||||
</div>
|
|
@ -1,7 +0,0 @@
|
|||
<div id="search">
|
||||
<form action="{form_action}" method="post">
|
||||
<label for="searchterm">{label_search}</label>
|
||||
<input type="text" id="searchterm" name="searchterm" />
|
||||
<input type="image" id="search_send" name="search_send" src="images/navi_pfeil_zu.gif" class="sbmt" />
|
||||
</form>
|
||||
</div>
|
|
@ -1,13 +0,0 @@
|
|||
<div id="searchResults">
|
||||
<p class="message">{MESSAGE}</p>
|
||||
<!-- BEGIN:BLOCK -->
|
||||
<div class="searchResultItem">
|
||||
<h2>{NUM}. <a title="{TITLE}" href="{HREF}" target="{TARGET}">{CATNAME}</a></h2>
|
||||
<p style="padding:0;margin:0 0 10px 0;">
|
||||
{HEADLINE}
|
||||
</p>
|
||||
<img src="images/link_pfeil_klein.gif" alt="" /> <a title="{TITLE}" href="{HREF}" target="{TARGET}">{more}</a>
|
||||
</div>
|
||||
<!-- END:BLOCK -->
|
||||
<p class="result">{result_page} {PREV}{PAGES}{NEXT}</p>
|
||||
</div>
|
|
@ -1,137 +0,0 @@
|
|||
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
|
||||
// Symbole fuer die Navigation (Bilder oder Zeichen)
|
||||
var naviLeftSymbol{INSTANCE} = '<';
|
||||
var naviRightSymbol{INSTANCE} = '>';
|
||||
|
||||
// Ab hier keine Aenderungen !!!
|
||||
var numImages{INSTANCE} = {NUM_IMAGES};
|
||||
var aImages{INSTANCE} = new Array({IMAGES_ARRAY});
|
||||
var aThumbs{INSTANCE} = new Array();
|
||||
{THUMBS_ARRAY}
|
||||
var iThumbs{INSTANCE} = {THUMBS_PER_ARRAY};
|
||||
var iArrays{INSTANCE} = {THUMB_ARRAYS};
|
||||
var aPopups{INSTANCE} = new Array({POPUPS_ARRAY});
|
||||
var aDescr{INSTANCE} = new Array({DESCR_ARRAY});
|
||||
|
||||
{PRELOAD_IMAGES}
|
||||
function simpleGallery{INSTANCE}ShowImage(No) {
|
||||
if ({USE_POPUP}) {
|
||||
document.getElementById('SimpleGallery{INSTANCE}Image').innerHTML = '<' + 'a href="javascript:simpleGallery{INSTANCE}ShowImagePopup(' + No + ')"' + '>' + '<' + 'img src="' + aImages{INSTANCE}[(No - 1)] + '" alt="" /' + '>' + '<' + '/a' + '>';
|
||||
document.getElementById('SimpleGallery{INSTANCE}PopupLink').setAttribute('onclick', 'simpleGallery{INSTANCE}ShowImagePopup(' + No + ')');
|
||||
} else {
|
||||
document.getElementById('SimpleGallery{INSTANCE}Image').innerHTML = '<' + 'img src="' + aImages{INSTANCE}[(No - 1)] + '" alt="" /' + '>';
|
||||
}
|
||||
document.getElementById('SimpleGallery{INSTANCE}ImageInfo').innerHTML = No + '/' + numImages{INSTANCE};
|
||||
document.getElementById('SimpleGallery{INSTANCE}ImageDescription').innerHTML = aDescr{INSTANCE}[(No - 1)];
|
||||
document.getElementById('SimpleGallery{INSTANCE}Navigation').innerHTML = '<' + 'a href="javascript:simpleGallery{INSTANCE}ShowImage(' + ((No == 1) ? numImages{INSTANCE} : (No - 1)) + ');"' + '>' + naviLeftSymbol{INSTANCE} + '<' + '/a' + '>' + ' ' + '<' + 'a href="javascript:simpleGallery{INSTANCE}ShowImage(' + ((No == numImages{INSTANCE}) ? 1 : (No + 1)) + ');"' + '>' + naviRightSymbol{INSTANCE} + '<' + '/a' + '>';
|
||||
var ImgL = new Image(); ImgL.src = aPopups{INSTANCE}[(No - 1)];
|
||||
}
|
||||
|
||||
var iCurrent = -1;
|
||||
var iBlock = 0;
|
||||
function simpleGallery{INSTANCE}ShowImagePopup(No) {
|
||||
if (iCurrent == -1) {
|
||||
setTimeout('simpleGallery{INSTANCE}PreloadLargeImages()', 2000);
|
||||
}
|
||||
if (iCurrent != No) {
|
||||
iCurrent = No;
|
||||
simpleGallery{INSTANCE}ShowThumbs(No);
|
||||
document.getElementById('SimpleGallery{INSTANCE}ImageArea').innerHTML = '<'+'img src="' + aPopups{INSTANCE}[(No - 1)] + '" alt="" /' + '>';
|
||||
document.getElementById('SimpleGallery{INSTANCE}DescriptionArea').innerHTML = aDescr{INSTANCE}[(No - 1)];
|
||||
document.getElementById('SimpleGallery{INSTANCE}DarkBackground').style.display = 'block';
|
||||
document.getElementById('SimpleGallery{INSTANCE}ImageWindow').style.display = 'block';
|
||||
document.getElementById('SimpleGallery{INSTANCE}PopupImageNaviLeft').setAttribute('onclick', 'simpleGallery{INSTANCE}ShowImagePopup(' + ((No == 1) ? numImages{INSTANCE} : (No - 1)) + ')');
|
||||
document.getElementById('SimpleGallery{INSTANCE}PopupImageNaviRight').setAttribute('onclick', 'simpleGallery{INSTANCE}ShowImagePopup(' + ((No == numImages{INSTANCE}) ? 1 : (No + 1)) + ')');
|
||||
var ImgL0 = new Image(); ImgL0.src = aPopups{INSTANCE}[((No == 1) ? (numImages{INSTANCE} - 1) : (No - 2))];
|
||||
var ImgL1 = new Image(); ImgL1.src = aPopups{INSTANCE}[((No == numImages{INSTANCE}) ? 1 : No)];
|
||||
}
|
||||
}
|
||||
function simpleGallery{INSTANCE}CloseImagePopup() {
|
||||
document.getElementById('SimpleGallery{INSTANCE}ImageWindow').style.display = 'none';
|
||||
document.getElementById('SimpleGallery{INSTANCE}DarkBackground').style.display = 'none';
|
||||
iCurrent = 0;
|
||||
iBlock = 0;
|
||||
}
|
||||
function simpleGallery{INSTANCE}ShowThumbs(No) {
|
||||
var iThumbsArrayNo = Math.ceil(No / iThumbs{INSTANCE});
|
||||
var sThumbs = '';
|
||||
iBlock = iThumbsArrayNo;
|
||||
for (var i = 0; i < iThumbs{INSTANCE}; i ++) {
|
||||
if (i < aThumbs{INSTANCE}[iThumbsArrayNo].length) {
|
||||
sThumbs += '<' + 'div style="float: left; margin: 0px 1px; padding: 2px 2px 0px 2px; width: {THUMB_BLOCK_WIDTH}px; height: {THUMB_BLOCK_HEIGHT}px; text-align: center; border: 1px solid #' + (((i + ((iThumbsArrayNo - 1) * iThumbs{INSTANCE}) + 1) == No) ? '000' : 'FFF') + ';"' + '>' + '<' + 'a href="javascript:simpleGallery{INSTANCE}ShowImagePopup(' + (i + ((iThumbsArrayNo - 1) * iThumbs{INSTANCE}) + 1) + ')"' + '>' + '<' + 'img src="' + aThumbs{INSTANCE}[iThumbsArrayNo][i] + '" alt="" onmousemove="simpleGallery{INSTANCE}ShowImagePopup(' + (i + ((iThumbsArrayNo - 1) * iThumbs{INSTANCE}) + 1) + ')" style="width: 100px; height: 75px;" /' + '>' + '<' + '/a' + '>' + '<' + 'br /' + '>' + (((i + ((iThumbsArrayNo - 1) * iThumbs{INSTANCE}) + 1) == No) ? '<' + 'span style="line-height: 20px; background-color: #FFF;"' + '>' + ' ' + No + '/' + numImages{INSTANCE} : '') + ' ' + '<' + '/span' + '>' + '<' + '/div' + '>';
|
||||
}
|
||||
}
|
||||
document.getElementById('SimpleGallery{INSTANCE}ThumbsAreaThumbs').innerHTML = sThumbs;
|
||||
if (iThumbsArrayNo > 1) {
|
||||
document.getElementById('SimpleGallery{INSTANCE}ThumbsAreaNaviLeft').innerHTML = '<' + 'a href="javascript:simpleGallery{INSTANCE}ShowImagePopup(' + ((iThumbs{INSTANCE} * iThumbsArrayNo) - iThumbs{INSTANCE}) + ')"' + '>' + '<' + 'img src="images/SimpleGallery/NaviLeft.png" alt="" /' + '>' + '<' + '/a' + '>';
|
||||
} else {
|
||||
document.getElementById('SimpleGallery{INSTANCE}ThumbsAreaNaviLeft').innerHTML = '<' + 'img src="images/SimpleGallery/NaviLeftDisabled.png" alt="" /' + '>';
|
||||
}
|
||||
if (iThumbsArrayNo < iArrays{INSTANCE}) {
|
||||
document.getElementById('SimpleGallery{INSTANCE}ThumbsAreaNaviRight').innerHTML = '<' + 'a href="javascript:simpleGallery{INSTANCE}ShowImagePopup(' + ((iThumbs{INSTANCE} * iThumbsArrayNo) + 1) + ')"' + '>' + '<' + 'img src="images/SimpleGallery/NaviRight.png" alt="" /' + '>' + '<' + '/a' + '>';
|
||||
} else {
|
||||
document.getElementById('SimpleGallery{INSTANCE}ThumbsAreaNaviRight').innerHTML = '<' + 'img src="images/SimpleGallery/NaviRightDisabled.png" alt="" /' + '>';
|
||||
}
|
||||
}
|
||||
function simpleGallery{INSTANCE}PreloadLargeImages() {
|
||||
{PRELOAD_THUMB_IMAGES}
|
||||
}
|
||||
//]]>
|
||||
</script>
|
||||
<div id="SimpleGallery{INSTANCE}" class="SimpleGallery" style="width: {WIDTH}px;">
|
||||
<div style="position: relative; margin: 0px 50px 10px 50px;">
|
||||
<div id="SimpleGallery{INSTANCE}PopupLink" style="position: absolute;{SHOW_POPUP} width: {IMAGE_WIDTH}px; height: {IMAGE_HEIGHT}px; background: url('images/SimpleGallery/ZoomOverlay.png') center center no-repeat; opacity: 0; filter: alpha(opacity=0); transition: opacity 0.3s ease 0s; cursor: pointer;" onmouseover="this.style.opacity=1; this.style.filter='alpha(opacity=70)'; this.style.transition='opacity 0.5s ease 0s';" onmouseout="this.style.opacity=0; this.style.filter='alpha(opacity=0)'; this.style.transition='opacity 0.3s ease 0s';"></div>
|
||||
<div id="SimpleGallery{INSTANCE}Image" class="SimpleGalleryImage"></div>
|
||||
</div>
|
||||
<div id="SimpleGallery{INSTANCE}ImageInfo" class="SimpleGalleryImageInfo" style="float: left;"></div>
|
||||
<div id="SimpleGallery{INSTANCE}Navigation" class="SimpleGalleryNavigation" style="float: right;"></div>
|
||||
<div id="SimpleGallery{INSTANCE}ImageDescription" class="SimpleGalleryImageDescription" style="margin: 0px 50px; padding-left: 4px; border-left: 1px solid #999;"></div>
|
||||
<div style="clear: both;"></div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
simpleGallery{INSTANCE}ShowImage(1);
|
||||
//]]>
|
||||
</script>
|
||||
<div id="SimpleGallery{INSTANCE}DarkBackground" onclick="simpleGallery{INSTANCE}CloseImagePopup();" style="position: fixed; left: 0px; top: 0px; width: 100%; height: 100%; z-index: 200; display: none; background-color: #000; opacity: 0.6;"></div>
|
||||
<div id="SimpleGallery{INSTANCE}ImageWindow" style="position: fixed; left: 0px; top: 0px; width: 100%; height: 100%; z-index: 210; display: none; font-family: Arial, Verdana, sans-serif;">
|
||||
<table border="0" cellspacing="0" cellpadding="0" style="width: 100%; height: 100%;">
|
||||
<tr><td onclick="simpleGallery{INSTANCE}CloseImagePopup();"></td></tr>
|
||||
<tr valign="middle" style="height: 1%;">
|
||||
<td onclick="simpleGallery{INSTANCE}CloseImagePopup();"></td>
|
||||
<td align="center" style="width: 1%; background-color: transparent;">
|
||||
<div style="display: inline-block; position: relative; width: {POPUP_WIDTH}px; text-align: left; color: #000; background-color: #FFF; border: 8px solid #FFF;">
|
||||
<div style="position: absolute; top: -24px; right: -24px;">
|
||||
<img src="images/SimpleGallery/ClosePopup.png" alt="Schließen" onclick="simpleGallery{INSTANCE}CloseImagePopup();" style="cursor: pointer;" />
|
||||
</div>
|
||||
<div style="float: left;">
|
||||
<div>
|
||||
<div style="position: relative; margin-bottom: 8px; width: {POPUP_IMAGE_WIDTH}px; height: {POPUP_IMAGE_HEIGHT}px; background: url('images/SimpleGallery/Loading.gif') center center no-repeat;">
|
||||
<div style="position: absolute; width: {POPUP_IMAGE_WIDTH}px; height: {POPUP_IMAGE_HEIGHT}px; opacity: 0.5; filter: alpha(opacity=50); transition: opacity 0.3s ease 0s; cursor: pointer;" onmouseover="this.style.opacity=1; this.style.filter='alpha(opacity=70)'; this.style.transition='opacity 0.5s ease 0s';" onmouseout="this.style.opacity=0; this.style.filter='alpha(opacity=0)'; this.style.transition='opacity 0.3s ease 0s';">
|
||||
<div id="SimpleGallery{INSTANCE}PopupImageNaviLeft" style="position: absolute; left: 0px; width: 50%; height: {POPUP_IMAGE_HEIGHT}px; background: url('images/SimpleGallery/PopupImageNaviLeft.png') center left no-repeat;"></div>
|
||||
<div id="SimpleGallery{INSTANCE}PopupImageNaviRight" style="position: absolute; right: 0px; width: 50%; height: {POPUP_IMAGE_HEIGHT}px; background: url('images/SimpleGallery/PopupImageNaviRight.png') center right no-repeat;"></div>
|
||||
</div>
|
||||
<div id="SimpleGallery{INSTANCE}ImageArea"></div>
|
||||
</div>
|
||||
<div id="SimpleGallery{INSTANCE}ThumbsArea" style="width: {POPUP_IMAGE_WIDTH}px; height: 101px; overflow: hidden;">
|
||||
<div id="SimpleGallery{INSTANCE}ThumbsAreaNaviLeft" style="float: left; padding: 39px 1px; width: 10px; height: 21px; border: 1px solid #CCC;"><img src="images/SimpleGallery/NaviLeftDisabled.png" alt="" /></div>
|
||||
<div id="SimpleGallery{INSTANCE}ThumbsAreaNaviRight" style="float: right; padding: 39px 1px; width: 10px; height: 21px; border: 1px solid #CCC;"><img src="images/SimpleGallery/NaviRightDisabled.png" alt="" /></div>
|
||||
<div id="SimpleGallery{INSTANCE}ThumbsAreaThumbs" style="padding: 2px 0px; height: 95px; font-size: 14px; border: 0px solid #CCC; border-width: 1px 0px;"></div>
|
||||
<div style="clear: both;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div style="float: right; margin-left: 8px; width: 220px;">
|
||||
<div id="SimpleGallery{INSTANCE}DescriptionArea" class="SimpleGalleryDescriptionArea"></div>
|
||||
</div>
|
||||
<div style="clear: both;"></div>
|
||||
</div>
|
||||
</td>
|
||||
<td onclick="simpleGallery{INSTANCE}CloseImagePopup();"></td>
|
||||
</tr>
|
||||
<tr><td onclick="simpleGallery{INSTANCE}CloseImagePopup();"></td></tr>
|
||||
</table>
|
||||
</div>
|
|
@ -1,7 +0,0 @@
|
|||
<ul class="sitemapStandardMainCat">
|
||||
<!-- BEGIN:BLOCK -->
|
||||
<li class="sitemapStandardLevel_{css_level}">
|
||||
<a href="{url}" title="{name}" class="sitemapStandardLevel_{css_level}">{name}</a>
|
||||
</li>
|
||||
<!-- END:BLOCK -->
|
||||
</ul>
|
|
@ -1,5 +0,0 @@
|
|||
<!-- BEGIN:BLOCK -->
|
||||
<li class="sitemapStandardLevel_{css_level}">
|
||||
<a href="{url}" title="{name}" class="sitemapStandardLevel_{css_level}">{name}</a>
|
||||
</li>
|
||||
<!-- END:BLOCK -->
|
|
@ -1,3 +0,0 @@
|
|||
<ul class="sitemapStandardMainCat">
|
||||
{list_items}
|
||||
</ul>
|
|
@ -1 +0,0 @@
|
|||
<h2>{SUBHEADLINE}</h2>
|
|
@ -1,7 +0,0 @@
|
|||
<h1>{TITLE}</h1>
|
||||
<div class="artikelliste">
|
||||
<!-- BEGIN:BLOCK -->
|
||||
<h2><a href="{HREF}">{HEADLINE}</a></h2>
|
||||
<p>{IMG}{TEXT} <a href="{HREF}" title="{MORE}">{MORE} ›</a></p>
|
||||
<!-- END:BLOCK -->
|
||||
</div>
|
|
@ -1,7 +0,0 @@
|
|||
<!-- BEGIN:BLOCK -->
|
||||
<div class="teaserItem">
|
||||
<h3><a href="{LINK}" title="{TITLE}">{TITLE}</a></h3>
|
||||
{DESCRIPTION}
|
||||
<a href="{LINK}" title="{TITLE}" class="more" target="_blank">{READ_ON}</a>
|
||||
</div>
|
||||
<!-- END:BLOCK -->
|
|
@ -1,3 +0,0 @@
|
|||
<div class="textItem">
|
||||
{text}
|
||||
</div>
|
Vorher Breite: | Höhe: | Größe: 146 KiB |
Vorher Breite: | Höhe: | Größe: 126 KiB |
Vorher Breite: | Höhe: | Größe: 126 KiB |
Vorher Breite: | Höhe: | Größe: 53 KiB |
Vorher Breite: | Höhe: | Größe: 246 KiB |
Vorher Breite: | Höhe: | Größe: 133 KiB |
Vorher Breite: | Höhe: | Größe: 157 KiB |
Vorher Breite: | Höhe: | Größe: 156 KiB |
Vorher Breite: | Höhe: | Größe: 146 KiB |
Vorher Breite: | Höhe: | Größe: 172 KiB |