cleanup of cms-folder

Dieser Commit ist enthalten in:
oldperl 2017-06-09 10:58:40 +00:00
Ursprung e7a6c16dc2
Commit 464e866e3a
74 geänderte Dateien mit 0 neuen und 2899 gelöschten Zeilen

Datei anzeigen

@ -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; }
}

Datei anzeigen

@ -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;
}
}

Datei anzeigen

@ -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;
}

Binäre Datei nicht angezeigt.

Vorher

Breite:  |  Höhe:  |  Größe: 2.6 KiB

Binäre Datei nicht angezeigt.

Vorher

Breite:  |  Höhe:  |  Größe: 1.8 KiB

Binäre Datei nicht angezeigt.

Vorher

Breite:  |  Höhe:  |  Größe: 1.1 KiB

Binäre Datei nicht angezeigt.

Vorher

Breite:  |  Höhe:  |  Größe: 1.1 KiB

Binäre Datei nicht angezeigt.

Vorher

Breite:  |  Höhe:  |  Größe: 1.0 KiB

Binäre Datei nicht angezeigt.

Vorher

Breite:  |  Höhe:  |  Größe: 1.1 KiB

Binäre Datei nicht angezeigt.

Vorher

Breite:  |  Höhe:  |  Größe: 2.1 KiB

Binäre Datei nicht angezeigt.

Vorher

Breite:  |  Höhe:  |  Größe: 2.1 KiB

Binäre Datei nicht angezeigt.

Vorher

Breite:  |  Höhe:  |  Größe: 2.5 KiB

Binäre Datei nicht angezeigt.

Vorher

Breite:  |  Höhe:  |  Größe: 8.6 KiB

Binäre Datei nicht angezeigt.

Vorher

Breite:  |  Höhe:  |  Größe: 12 KiB

Binäre Datei nicht angezeigt.

Vorher

Breite:  |  Höhe:  |  Größe: 9.5 KiB

Binäre Datei nicht angezeigt.

Vorher

Breite:  |  Höhe:  |  Größe: 14 KiB

Binäre Datei nicht angezeigt.

Vorher

Breite:  |  Höhe:  |  Größe: 2.7 KiB

Binäre Datei nicht angezeigt.

Vorher

Breite:  |  Höhe:  |  Größe: 5.5 KiB

Binäre Datei nicht angezeigt.

Vorher

Breite:  |  Höhe:  |  Größe: 26 KiB

Datei anzeigen

@ -1,4 +0,0 @@
<?php
header("Location:/index.php");
exit;
?>

Binäre Datei nicht angezeigt.

Vorher

Breite:  |  Höhe:  |  Größe: 3.4 KiB

Binäre Datei nicht angezeigt.

Vorher

Breite:  |  Höhe:  |  Größe: 10 KiB

Datei anzeigen

@ -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 &hellip; (...) 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 .= '&hellip;';
}
return $sText2;
}
?>

Datei anzeigen

@ -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;}

Binäre Datei nicht angezeigt.

Vorher

Breite:  |  Höhe:  |  Größe: 1.8 KiB

Binäre Datei nicht angezeigt.

Vorher

Breite:  |  Höhe:  |  Größe: 673 B

Datei anzeigen

@ -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);

Datei anzeigen

@ -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" />&nbsp;';
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);

Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist

Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist

Datei anzeigen

@ -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';
}
};
} )();

Datei anzeigen

@ -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>

Datei anzeigen

@ -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>

Datei anzeigen

@ -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" />

Datei anzeigen

@ -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>

Datei anzeigen

@ -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>

Datei anzeigen

@ -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
//-->

Datei anzeigen

@ -1 +0,0 @@
<p>&copy; 2012-2013 <a href="http://www.ConLite.org" target="_blank">ConLite</a></p>

Datei anzeigen

@ -1 +0,0 @@
<p>&copy; 2012-2013 <a href="http://www.ConLite.org" target="_blank">ConLite</a></p>

Datei anzeigen

@ -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>

Datei anzeigen

@ -1 +0,0 @@
<h1>{HEADLINE}</h1>

Datei anzeigen

@ -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>

Datei anzeigen

@ -1,5 +0,0 @@
<h3>{headline}</h3>
<div id="logoutText">
{text}
<a href="{url}" title="{label_logout}">{label_logout}&nbsp;&nbsp;<img src="images/link_pfeil.gif" alt="" /></a>
</div>

Datei anzeigen

@ -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>

Datei anzeigen

@ -1,4 +0,0 @@
<ul id="metaNavigation" class="nav">
{items}
</ul>

Datei anzeigen

@ -1,3 +0,0 @@
<!-- BEGIN:BLOCK -->
<li><a href="{url}" title="{title}">{label}</a></li>
<!-- END:BLOCK -->

Datei anzeigen

@ -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>

Datei anzeigen

@ -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 -->

Datei anzeigen

@ -1,3 +0,0 @@
<ul class="navmainStandardMainCat">
{list_items}
</ul>

Datei anzeigen

@ -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">&nbsp;</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/>

Datei anzeigen

@ -1,5 +0,0 @@
<ul>
<!-- BEGIN:BLOCK -->
<li><a target="_blank" href="{LINK}">{TITLE}</a></li>
<!-- END:BLOCK -->
</ul>

Datei anzeigen

@ -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 -->

Datei anzeigen

@ -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>

Datei anzeigen

@ -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>

Datei anzeigen

@ -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}&nbsp;&nbsp;{PREV}{PAGES}{NEXT}</p>
</div>

Datei anzeigen

@ -1,137 +0,0 @@
<script type="text/javascript">
//<![CDATA[
// Symbole fuer die Navigation (Bilder oder Zeichen)
var naviLeftSymbol{INSTANCE} = '&lt;';
var naviRightSymbol{INSTANCE} = '&gt;';
// 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' + '>' + '&nbsp;' + '<' + '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;"' + '>' + '&nbsp;' + No + '/' + numImages{INSTANCE} : '') + '&nbsp;' + '<' + '/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&szlig;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>

Datei anzeigen

@ -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>

Datei anzeigen

@ -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 -->

Datei anzeigen

@ -1,3 +0,0 @@
<ul class="sitemapStandardMainCat">
{list_items}
</ul>

Datei anzeigen

@ -1 +0,0 @@
<h2>{SUBHEADLINE}</h2>

Datei anzeigen

@ -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} &rsaquo;</a></p>
<!-- END:BLOCK -->
</div>

Datei anzeigen

@ -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 -->

Datei anzeigen

@ -1,3 +0,0 @@
<div class="textItem">
{text}
</div>

Binäre Datei nicht angezeigt.

Vorher

Breite:  |  Höhe:  |  Größe: 146 KiB

Binäre Datei nicht angezeigt.

Vorher

Breite:  |  Höhe:  |  Größe: 126 KiB

Binäre Datei nicht angezeigt.

Vorher

Breite:  |  Höhe:  |  Größe: 126 KiB

Binäre Datei nicht angezeigt.

Vorher

Breite:  |  Höhe:  |  Größe: 53 KiB

Binäre Datei nicht angezeigt.

Vorher

Breite:  |  Höhe:  |  Größe: 246 KiB

Binäre Datei nicht angezeigt.

Vorher

Breite:  |  Höhe:  |  Größe: 133 KiB

Binäre Datei nicht angezeigt.

Vorher

Breite:  |  Höhe:  |  Größe: 157 KiB

Binäre Datei nicht angezeigt.

Vorher

Breite:  |  Höhe:  |  Größe: 156 KiB

Binäre Datei nicht angezeigt.

Vorher

Breite:  |  Höhe:  |  Größe: 146 KiB

Binäre Datei nicht angezeigt.

Vorher

Breite:  |  Höhe:  |  Größe: 172 KiB