diff --git a/branches/NoDemoClient/cms/css/basic-style.css b/branches/NoDemoClient/cms/css/basic-style.css
deleted file mode 100644
index a2c9e8b..0000000
--- a/branches/NoDemoClient/cms/css/basic-style.css
+++ /dev/null
@@ -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; }
-}
\ No newline at end of file
diff --git a/branches/NoDemoClient/cms/css/conlite-demo.css b/branches/NoDemoClient/cms/css/conlite-demo.css
deleted file mode 100644
index 6662565..0000000
--- a/branches/NoDemoClient/cms/css/conlite-demo.css
+++ /dev/null
@@ -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;
- }
-}
\ No newline at end of file
diff --git a/branches/NoDemoClient/cms/css/normalize.css b/branches/NoDemoClient/cms/css/normalize.css
deleted file mode 100644
index 68fcfea..0000000
--- a/branches/NoDemoClient/cms/css/normalize.css
+++ /dev/null
@@ -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;
-}
diff --git a/branches/NoDemoClient/cms/images/SimpleGallery/ClosePopup.png b/branches/NoDemoClient/cms/images/SimpleGallery/ClosePopup.png
deleted file mode 100644
index d3881e4..0000000
Binary files a/branches/NoDemoClient/cms/images/SimpleGallery/ClosePopup.png and /dev/null differ
diff --git a/branches/NoDemoClient/cms/images/SimpleGallery/Loading.gif b/branches/NoDemoClient/cms/images/SimpleGallery/Loading.gif
deleted file mode 100644
index 9572958..0000000
Binary files a/branches/NoDemoClient/cms/images/SimpleGallery/Loading.gif and /dev/null differ
diff --git a/branches/NoDemoClient/cms/images/SimpleGallery/NaviLeft.png b/branches/NoDemoClient/cms/images/SimpleGallery/NaviLeft.png
deleted file mode 100644
index a4591f6..0000000
Binary files a/branches/NoDemoClient/cms/images/SimpleGallery/NaviLeft.png and /dev/null differ
diff --git a/branches/NoDemoClient/cms/images/SimpleGallery/NaviLeftDisabled.png b/branches/NoDemoClient/cms/images/SimpleGallery/NaviLeftDisabled.png
deleted file mode 100644
index 2ffddf9..0000000
Binary files a/branches/NoDemoClient/cms/images/SimpleGallery/NaviLeftDisabled.png and /dev/null differ
diff --git a/branches/NoDemoClient/cms/images/SimpleGallery/NaviRight.png b/branches/NoDemoClient/cms/images/SimpleGallery/NaviRight.png
deleted file mode 100644
index 80c4d76..0000000
Binary files a/branches/NoDemoClient/cms/images/SimpleGallery/NaviRight.png and /dev/null differ
diff --git a/branches/NoDemoClient/cms/images/SimpleGallery/NaviRightDisabled.png b/branches/NoDemoClient/cms/images/SimpleGallery/NaviRightDisabled.png
deleted file mode 100644
index daebe5f..0000000
Binary files a/branches/NoDemoClient/cms/images/SimpleGallery/NaviRightDisabled.png and /dev/null differ
diff --git a/branches/NoDemoClient/cms/images/SimpleGallery/PopupImageNaviLeft.png b/branches/NoDemoClient/cms/images/SimpleGallery/PopupImageNaviLeft.png
deleted file mode 100644
index f45a0e2..0000000
Binary files a/branches/NoDemoClient/cms/images/SimpleGallery/PopupImageNaviLeft.png and /dev/null differ
diff --git a/branches/NoDemoClient/cms/images/SimpleGallery/PopupImageNaviRight.png b/branches/NoDemoClient/cms/images/SimpleGallery/PopupImageNaviRight.png
deleted file mode 100644
index 9be9ee5..0000000
Binary files a/branches/NoDemoClient/cms/images/SimpleGallery/PopupImageNaviRight.png and /dev/null differ
diff --git a/branches/NoDemoClient/cms/images/SimpleGallery/ZoomOverlay.png b/branches/NoDemoClient/cms/images/SimpleGallery/ZoomOverlay.png
deleted file mode 100644
index d3c2bdf..0000000
Binary files a/branches/NoDemoClient/cms/images/SimpleGallery/ZoomOverlay.png and /dev/null differ
diff --git a/branches/NoDemoClient/cms/images/glyphicons-halflings-white.png b/branches/NoDemoClient/cms/images/glyphicons-halflings-white.png
deleted file mode 100644
index 3bf6484..0000000
Binary files a/branches/NoDemoClient/cms/images/glyphicons-halflings-white.png and /dev/null differ
diff --git a/branches/NoDemoClient/cms/images/glyphicons-halflings.png b/branches/NoDemoClient/cms/images/glyphicons-halflings.png
deleted file mode 100644
index a996999..0000000
Binary files a/branches/NoDemoClient/cms/images/glyphicons-halflings.png and /dev/null differ
diff --git a/branches/NoDemoClient/cms/images/ico/apple-touch-icon-114-precomposed.png b/branches/NoDemoClient/cms/images/ico/apple-touch-icon-114-precomposed.png
deleted file mode 100644
index dbd92fa..0000000
Binary files a/branches/NoDemoClient/cms/images/ico/apple-touch-icon-114-precomposed.png and /dev/null differ
diff --git a/branches/NoDemoClient/cms/images/ico/apple-touch-icon-144-precomposed.png b/branches/NoDemoClient/cms/images/ico/apple-touch-icon-144-precomposed.png
deleted file mode 100644
index b85ecd0..0000000
Binary files a/branches/NoDemoClient/cms/images/ico/apple-touch-icon-144-precomposed.png and /dev/null differ
diff --git a/branches/NoDemoClient/cms/images/ico/apple-touch-icon-57-precomposed.png b/branches/NoDemoClient/cms/images/ico/apple-touch-icon-57-precomposed.png
deleted file mode 100644
index 17a7748..0000000
Binary files a/branches/NoDemoClient/cms/images/ico/apple-touch-icon-57-precomposed.png and /dev/null differ
diff --git a/branches/NoDemoClient/cms/images/ico/apple-touch-icon-72-precomposed.png b/branches/NoDemoClient/cms/images/ico/apple-touch-icon-72-precomposed.png
deleted file mode 100644
index da2b86c..0000000
Binary files a/branches/NoDemoClient/cms/images/ico/apple-touch-icon-72-precomposed.png and /dev/null differ
diff --git a/branches/NoDemoClient/cms/images/ico/social_icons_sprite.png b/branches/NoDemoClient/cms/images/ico/social_icons_sprite.png
deleted file mode 100644
index f79efb1..0000000
Binary files a/branches/NoDemoClient/cms/images/ico/social_icons_sprite.png and /dev/null differ
diff --git a/branches/NoDemoClient/cms/images/index.php b/branches/NoDemoClient/cms/images/index.php
deleted file mode 100644
index ef8b776..0000000
--- a/branches/NoDemoClient/cms/images/index.php
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/branches/NoDemoClient/cms/images/logo-small.png b/branches/NoDemoClient/cms/images/logo-small.png
deleted file mode 100644
index f9bc9dd..0000000
Binary files a/branches/NoDemoClient/cms/images/logo-small.png and /dev/null differ
diff --git a/branches/NoDemoClient/cms/images/logo.png b/branches/NoDemoClient/cms/images/logo.png
deleted file mode 100644
index edcf5ec..0000000
Binary files a/branches/NoDemoClient/cms/images/logo.png and /dev/null differ
diff --git a/branches/NoDemoClient/cms/includes/spider-it.functions.inc.php b/branches/NoDemoClient/cms/includes/spider-it.functions.inc.php
deleted file mode 100644
index bfe187d..0000000
--- a/branches/NoDemoClient/cms/includes/spider-it.functions.inc.php
+++ /dev/null
@@ -1,859 +0,0 @@
-
- * @copyright Spider IT Deutschland ' . str_replace(array(str_repeat(chr(32), 4), chr(9)), '', $value) . '
Records: ' . intval(@$db->num_rows());
- break;
- default:
- if (is_array($value)) {
- echo ''; var_dump($value); echo '
';
- } elseif (is_object($value)) {
- echo 'Object:'; var_dump($value); echo '
';
- } else {
- echo $value;
- }
- break;
- }
- echo '
', $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, '', '
', '
'), array('', "
t |