Index: branches/2.8.x/CHANGELOG
===================================================================
--- branches/2.8.x/CHANGELOG	(revision 1558)
+++ branches/2.8.x/CHANGELOG	(revision 1559)
@@ -11,6 +11,8 @@
 ! = Update/Change
 
 =========================== add small Features 2.8.2 ==========================
+04 Jan-2012 Build 1559 Dietmar Woellbrink (Luisehahne)
+! change quickSkin to alpha status, ATTANTION rename folder to quickSkin_alpha 
 02 Jan-2012 Build 1558 Dietmar Woellbrink (Luisehahne)
 # remove backslash in $_CONFIG['extensions_dir']
 ! update editor.css for allcssand round  (Tks to Ruebenwurzel)
Index: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_uppercase.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_uppercase.php	(revision 1558)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_uppercase.php	(nonexistent)
@@ -1,17 +0,0 @@
-<?php
-  /**
-  * QuickSkin Extension uppercase
-  * Converts String to uppercase
-  *
-  * Usage Example:
-  * Content:  $template->assign('NAME', 'John Doe');
-  * Template: Username: {uppercase:NAME}
-  * Result:   Username: JOHN DOE
-  *
-  * @author Andy Prevost andy@codeworxtech.com - original by Philipp v. Criegern philipp@criegern.de
-  */
-  function qx_uppercase ( $param ) {
-    return strtoupper( $param );
-  }
-
-?>

Property changes on: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_uppercase.php
___________________________________________________________________
Deleted: svn:eol-style
## -1 +0,0 ##
-native
\ No newline at end of property
Deleted: svn:keywords
## -1 +0,0 ##
-Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_current_datetime.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_current_datetime.php	(revision 1558)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_current_datetime.php	(nonexistent)
@@ -1,22 +0,0 @@
-<?php
-  /**
-  * QuickSkin Extension current_datetime
-  * Print Current Date and Time
-  *
-  * Usage Example:
-  * Template: Time: {current_datetime:}
-  * Result:   Time: 01.01.2009 - 12:46:00
-  *
-  * @author Andy Prevost andy@codeworxtech.com - original by Philipp v. Criegern philipp@criegern.de
-  */
-  function qx_current_datetime () {
-    global $_CONFIG;
-
-    $datetimeFormat = 'F j, Y H:i:s';
-    if ( !empty($_CONFIG['datetime_format']) ) {
-      $datetimeFormat = $_CONFIG['datetime_format'];
-    }
-    return date( $datetimeFormat );
-  }
-
-?>
\ No newline at end of file

Property changes on: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_current_datetime.php
___________________________________________________________________
Deleted: svn:eol-style
## -1 +0,0 ##
-native
\ No newline at end of property
Deleted: svn:keywords
## -1 +0,0 ##
-Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_nvl.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_nvl.php	(revision 1558)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_nvl.php	(nonexistent)
@@ -1,21 +0,0 @@
-<?php
-  /**
-  * QuickSkin Extension nvl
-  * Insert a default value if variable is empty
-  *
-  * Usage Example:
-  * Content:  $template->assign('PREVIEW1', 'picture_21.gif');
-  * Template: <img src="{nvl:PREVIEW1,'not_available.gif'}"> / <img src="{nvl:PREVIEW2,'not_available.gif'}">
-  * Result:   <img src="picture_21.gif"> / <img src="not_available.gif">
-  *
-  * @author Andy Prevost andy@codeworxtech.com - original by Philipp v. Criegern philipp@criegern.de
-  */
-  function qx_nvl ( $param, $default ) {
-    if (strlen($param)) {
-      return ( $param );
-    } else {
-      return ( $default );
-    }
-  }
-
-?>

Property changes on: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_nvl.php
___________________________________________________________________
Deleted: svn:eol-style
## -1 +0,0 ##
-native
\ No newline at end of property
Deleted: svn:keywords
## -1 +0,0 ##
-Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_mailtoencode.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_mailtoencode.php	(revision 1558)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_mailtoencode.php	(nonexistent)
@@ -1,106 +0,0 @@
-<?php
-  /**
-  * QuickSkin Extension mailtoencode
-  * Protects email address from being scanned by spam bots
-  * and optionally builds full mailto: link
-  *
-  * Usage Example 1:
-  * Content:  $template->assign('AUTHOR', 'yourname@yourdomain.com' );
-  * Template: Author: {mailtoencode:AUTHOR}
-  * Result:   Author: <a href="&#109&#97&#105&#108&#116&#111&#58&#121;&#111;&#117;&#114;&#110;&#97;&#109;&#101;&#64;&#121;&#111;&#117;&#114;&#100;&#111;&#109;&#97;&#105;&#110;&#46;&#99;&#111;&#109;">yourname&#64;yourdomain&#46;com</a>
-  *
-  * Usage Example 2 (Email address only):
-  * Template: Author: {mailtoencode:"yourname@yourdomain.com"}
-  * Result:   Author: <a href="&#109&#97&#105&#108&#116&#111&#58&#121;&#111;&#117;&#114;&#110;&#97;&#109;&#101;&#64;&#121;&#111;&#117;&#114;&#100;&#111;&#109;&#97;&#105;&#110;&#46;&#99;&#111;&#109;">yourname&#64;yourdomain&#46;com</a>
-  *
-  * Usage Example 3 (Email address and name):
-  * Template: Author: {mailtoencode:"yourname@yourdomain.com","Your Name"}
-  * Result:   Author: <a href="&#109&#97&#105&#108&#116&#111&#58&#121;&#111;&#117;&#114;&#110;&#97;&#109;&#101;&#64;&#121;&#111;&#117;&#114;&#100;&#111;&#109;&#97;&#105;&#110;&#46;&#99;&#111;&#109;">Your Name</a>
-  *
-  * Usage Example 4 (Email address and name, encode set to true, and class name):
-  * Template: Author: {mailtoencode:"yourname@yourdomain.com","Your Name",true,'white'}
-  * Result:   Author: <a href="&#109&#97&#105&#108&#116&#111&#58&#121;&#111;&#117;&#114;&#110;&#97;&#109;&#101;&#64;&#121;&#111;&#117;&#114;&#100;&#111;&#109;&#97;&#105;&#110;&#46;&#99;&#111;&#109;" class="white">Your Name</a>
-  *
-  * Usage Example 5 (Email address and name, encode set to true, class name and style defined):
-  * Template: Author: {mailtoencode:"yourname@yourdomain.com","Your Name",true,'white','font-size:18px;'}
-  * Result:   Author: <a href="&#109&#97&#105&#108&#116&#111&#58&#121;&#111;&#117;&#114;&#110;&#97;&#109;&#101;&#64;&#121;&#111;&#117;&#114;&#100;&#111;&#109;&#97;&#105;&#110;&#46;&#99;&#111;&#109;" class="white" style="font-size:18px;">Your Name</a>
-  *
-  * Usage Example 6 (Email address and name, encode set to true, no class name and style defined):
-  * Template: Author: {mailtoencode:"yourname@yourdomain.com","Your Name",true,'','font-size:18px;'}
-  * Result:   Author: <a href="&#109&#97&#105&#108&#116&#111&#58&#121;&#111;&#117;&#114;&#110;&#97;&#109;&#101;&#64;&#121;&#111;&#117;&#114;&#100;&#111;&#109;&#97;&#105;&#110;&#46;&#99;&#111;&#109;" style="font-size:18px;">Your Name</a>
-  *
-  * @author Andy Prevost andy@codeworxtech.com
-  */
-
-  if(!function_exists('str_split')){
-    function str_split($text, $split = 1){
-      $array = array();
-      for($i=0; $i < strlen($text); $i++){
-        $key = NULL;
-        for ($j = 0; $j < $split; $j++){
-          $key .= $text[$i];
-        }
-        array_push($array, $key);
-      }
-        return $array;
-    }
-  }
-
-  function qx_mailtoencode ($emailAddy,$text='',$buildLink=true,$class='',$style='') {
-    if ( $buildLink ) {
-      // mailto: portion
-      $obfuscatedMailTo = '';
-      $mailto           = "mailto:";
-      $length           = strlen($mailto);
-      for ($i = 0; $i < $length; $i++) {
-        $obfuscatedMailTo .= "&#" . ord($mailto[$i]);
-      }
-      // END - mailto: portion
-      $emailLink  = '<a href="';
-      $emailLink .= $obfuscatedMailTo;
-    }
-    $emailLink .= obfuscate($emailAddy);
-    if ( $buildLink ) {
-      $emailLink .= '"';
-      if ( trim($class) != '' ) {
-        $emailLink .= ' class="' . $class . '"';
-      }
-      if ( trim($style) != '' ) {
-        $emailLink .= ' style="' . $style . '"';
-      }
-      $emailLink .= '>';
-      if ( trim($text) != '' ) {
-        $newText    = trim($text);
-        $newText    = str_replace('@','&#64;',$newText);
-        $newText    = str_replace('.','&#46;',$newText);
-        $emailLink .= $newText;
-      } else {
-        $newText    = trim($emailAddy);
-        $newText    = str_replace('@','&#64;',$newText);
-        $newText    = str_replace('.','&#46;',$newText);
-        $emailLink .= $newText;
-      }
-      $emailLink .= "</a>";
-    }
-    return $emailLink;
-  }
-
-  function obfuscate($text) { // NOTE: Uses function str_split
-    preg_match_all("/[-a-z0-9\._]+@[-a-z0-9\._]+\.[a-z]{2,4}/", $text, $emails);
-    $patterns = array();
-    $replacements = array();
-    foreach($emails[0] as $email) {
-      if(!in_array("/$email/", $patterns)) {
-        $obfuscated = '';
-        foreach(str_split($email) as $char) {
-          $obfuscated .= '&#'.ord($char).';';
-        }
-        $patterns[] = "/$email/";
-        $replacements[] = $obfuscated;
-      }
-    }
-    $text = preg_replace($patterns, $replacements, $text);
-    return $text;
-  }
-
-?>

Property changes on: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_mailtoencode.php
___________________________________________________________________
Deleted: svn:eol-style
## -1 +0,0 ##
-native
\ No newline at end of property
Deleted: svn:keywords
## -1 +0,0 ##
-Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_current_date.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_current_date.php	(revision 1558)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_current_date.php	(nonexistent)
@@ -1,22 +0,0 @@
-<?php
-  /**
-  * QuickSkin Extension current_date
-  * Print Current Date
-  *
-  * Usage Example:
-  * Template: Today: {current_date:}
-  * Result:   Today: 30.01.2003
-  *
-  * @author Andy Prevost andy@codeworxtech.com - original by Philipp v. Criegern philipp@criegern.de
-  */
-  function qx_current_date () {
-    global $_CONFIG;
-
-    $dateFormat = 'F j, Y';
-    if ( !empty($_CONFIG['date_format']) ) {
-      $dateFormat = $_CONFIG['date_format'];
-    }
-    return date( $dateFormat );
-  }
-
-?>
\ No newline at end of file

Property changes on: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_current_date.php
___________________________________________________________________
Deleted: svn:eol-style
## -1 +0,0 ##
-native
\ No newline at end of property
Deleted: svn:keywords
## -1 +0,0 ##
-Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_WB_TXT.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_WB_TXT.php	(revision 1558)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_WB_TXT.php	(nonexistent)
@@ -1,17 +0,0 @@
-<?php
-  /**
-  * QuickSkin Extension WB_TXT
-  * This function will replace the string with the value of WebsiteBaker CMS's $TEXT[] array 
-  *
-  * Usage Example:
-  * in Template use:{WB_TXT:"SAVE"}
-  *	returns the translated string
-  *
-  * @author WebsiteBaker Org e.V.
-  *
-  */
-function qx_WB_TXT ( $var ) {
-	$LANG_ARRAY = $GLOBALS['TEXT'];		
-	$ret_val = isset($LANG_ARRAY[$var]) ? $LANG_ARRAY[$var] : ('<span style="color:#777">'.$var.'</span>');
-	return $ret_val;	
-}

Property changes on: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_WB_TXT.php
___________________________________________________________________
Deleted: svn:eol-style
## -1 +0,0 ##
-native
\ No newline at end of property
Deleted: svn:keywords
## -1 +0,0 ##
-Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_codesnippetend.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_codesnippetend.php	(revision 1558)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_codesnippetend.php	(nonexistent)
@@ -1,15 +0,0 @@
-<?php
-  /**
-  * QuickSkin Extension codesnippetend
-  * required for the end of a code snippet
-  *
-  * Usage Example:
-  * Template: Code Snippet<br />{codesnippetend:}
-  *
-  * @author Andy Prevost andy@codeworxtech.com
-  */
-  function qx_codesnippetend () {
-    return '</pre>';
-  }
-
-?>

Property changes on: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_codesnippetend.php
___________________________________________________________________
Deleted: svn:eol-style
## -1 +0,0 ##
-native
\ No newline at end of property
Deleted: svn:keywords
## -1 +0,0 ##
-Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_replace.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_replace.php	(revision 1558)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_replace.php	(nonexistent)
@@ -1,18 +0,0 @@
-<?php
-  /**
-  * QuickSkin Extension replace
-  * String Replace
-  *
-  * Usage Example:
-  * Content:  $template->assign('PATH', $path_tranlated);  //  C:\Apache\htdocs\php\test.php
-  * Template: Script Name: {replace:PATH,'\\','/'}
-  * Result:   Script Name: C:/Apache/htdocs/php/test.php
-  *
-  * @author Andy Prevost andy@codeworxtech.com - original by Philipp v. Criegern philipp@criegern.de
-  */
-  function qx_replace ( $param, $pattern, $replace ) {
-    return str_replace( $pattern, $replace, $param );
-  }
-
-  
-?>

Property changes on: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_replace.php
___________________________________________________________________
Deleted: svn:eol-style
## -1 +0,0 ##
-native
\ No newline at end of property
Deleted: svn:keywords
## -1 +0,0 ##
-Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_mailto.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_mailto.php	(revision 1558)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_mailto.php	(nonexistent)
@@ -1,48 +0,0 @@
-<?php
-  /**
-  * QuickSkin Extension mailto
-  * creates Mailto-Link from email address
-  *
-  * Usage Example:
-  * Content:  $template->assign('CONTACT', 'philipp@criegern.de' );
-  * Template: Mail to Webmaster: {mailto:CONTACT}
-  * Result:   Mail to Webmaster: <a href="mailto:philipp@criegern.de">philipp@criegern.de</a>
-  *
-  * @author Andy Prevost andy@codeworxtech.com
-  */
-  function qx_mailto ( $param,$name='',$encode=false ) {
-    if ($encode === false) {
-      if ( $name != '' ) {
-        return '<a href="mailto:' . $param . '">' . $name . '</a>';
-      } else {
-        return '<a href="mailto:' . $param . '">' . $param . '</a>';
-      }
-    } else {
-      $obfuscatedMailTo = '';
-      $mailto = "mailto:";
-      $length = strlen($mailto);
-      for ($i = 0; $i < $length; $i++) {
-        $obfuscatedMailTo .= "&#" . ord($mailto[$i]);
-      }
-      $mailto = $param;
-      $length = strlen($mailto);
-      $param  = '';
-      for ($i = 0; $i < $length; $i++) {
-        $param .= "&#" . ord($mailto[$i]);
-      }
-      if ( $name != '' ) {
-        $mailto = $name;
-        $length = strlen($mailto);
-        $name  = '';
-        for ($i = 0; $i < $length; $i++) {
-          $name .= "&#" . ord($mailto[$i]);
-        }
-        return '<a href="' . $obfuscatedMailTo . ':' . $param . '">' . $name . '</a>';
-      } else {
-        return '<a href="' . $obfuscatedMailTo . ':' . $param . '">' . $param . '</a>';
-      }
-
-    }
-  }
-
-?>

Property changes on: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_mailto.php
___________________________________________________________________
Deleted: svn:eol-style
## -1 +0,0 ##
-native
\ No newline at end of property
Deleted: svn:keywords
## -1 +0,0 ##
-Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_current_time.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_current_time.php	(revision 1558)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_current_time.php	(nonexistent)
@@ -1,22 +0,0 @@
-<?php
-  /**
-  * QuickSkin Extension current_time
-  * Print Current Time
-  *
-  * Usage Example:
-  * Template: Time: {current_time:}
-  * Result:   Time: 12:46:00
-  *
-  * @author Andy Prevost andy@codeworxtech.com - original by Philipp v. Criegern philipp@criegern.de
-  */
-  function qx_current_time ($meridiem='A') {
-    global $_CONFIG;
-
-    $timeFormat = 'g:i:s ' . $meridiem;
-    if ( !empty($_CONFIG['time_format']) ) {
-      $timeFormat = $_CONFIG['time_format'];
-    }
-    return date( $timeFormat );
-  }
-
-?>

Property changes on: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_current_time.php
___________________________________________________________________
Deleted: svn:eol-style
## -1 +0,0 ##
-native
\ No newline at end of property
Deleted: svn:keywords
## -1 +0,0 ##
-Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_vardump.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_vardump.php	(revision 1558)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_vardump.php	(nonexistent)
@@ -1,23 +0,0 @@
-<?php
-  /**
-  * QuickSkin Extension vardump
-  * Prints variable content for debug purpose
-  *
-  * Usage Example I:
-  * Content:  $template->assign('test', array( "name1", "value1",  "name2", "value2" ) );
-  *
-  * Template: DEBUG: {vardump:test}
-  *
-  * Result:   DEBUG: Array
-  *                  (
-  *                      [name1] => value1
-  *                      [name2] => value2
-  *                  )
-  *
-  * @author Andy Prevost andy@codeworxtech.com - original by Philipp v. Criegern philipp@criegern.de
-  */
-  function qx_vardump ( $param ) {
-    return '<pre>' . print_r($param, true) . '</pre>';
-  }
-
-?>

Property changes on: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_vardump.php
___________________________________________________________________
Deleted: svn:eol-style
## -1 +0,0 ##
-native
\ No newline at end of property
Deleted: svn:keywords
## -1 +0,0 ##
-Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_trim.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_trim.php	(revision 1558)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_trim.php	(nonexistent)
@@ -1,17 +0,0 @@
-<?php
-  /**
-  * QuickSkin Extension trim
-  * Removes leading and trailing Whitespaces and Line Feeds
-  *
-  * Usage Example:
-  * Content:  $template->assign('LINK', ' Click Here  ');
-  * Template: <a href="/">{trim:LINK}</a>
-  * Result:   <a href="/">Click Here</a>
-  *
-  * @author Andy Prevost andy@codeworxtech.com - original by Philipp v. Criegern philipp@criegern.de
-  */
-  function qx_trim ( $param ) {
-    return trim( $param );
-  }
-
-?>

Property changes on: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_trim.php
___________________________________________________________________
Deleted: svn:eol-style
## -1 +0,0 ##
-native
\ No newline at end of property
Deleted: svn:keywords
## -1 +0,0 ##
-Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_encode.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_encode.php	(revision 1558)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_encode.php	(nonexistent)
@@ -1,18 +0,0 @@
-<?php
-  /**
-  * QuickSkin Extension encode
-  * Encodes String (md5)
-  *
-  * Usage Example:
-  * Content:  $template->assign('ID', 123);
-  * Template: <a href="delete.php?id={encode:ID}">delete</a>
-  * Result:   <a href="delete.php?id=7B600B6476167773626A">delete</a>
-  *
-  * @author Andy Prevost andy@codeworxtech.com
-  */
-
-  function qx_encode ( $param ) {
-    return md5( $param );
-  }
-
-?>

Property changes on: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_encode.php
___________________________________________________________________
Deleted: svn:eol-style
## -1 +0,0 ##
-native
\ No newline at end of property
Deleted: svn:keywords
## -1 +0,0 ##
-Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_specialchars.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_specialchars.php	(revision 1558)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_specialchars.php	(nonexistent)
@@ -1,17 +0,0 @@
-<?php
-  /**
-  * QuickSkin Extension specialchars
-  * Converts  HTML Entities 2 Special Characters
-  *
-  * Usage Example:
-  * Content:  $template->assign('NEXT', 'Next Page &gt;&gt;');
-  * Template: <a href="next.php">{specialchars:NEXT}</a>
-  * Result:   <a href="next.php">Next Page >></a>
-  *
-  * @author Andy Prevost andy@codeworxtech.com - original by Philipp v. Criegern philipp@criegern.de
-  */
-  function qx_specialchars ( $param ) {
-    return htmlspecialchars( $param );
-  }
-
-?>

Property changes on: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_specialchars.php
___________________________________________________________________
Deleted: svn:eol-style
## -1 +0,0 ##
-native
\ No newline at end of property
Deleted: svn:keywords
## -1 +0,0 ##
-Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_htmlentities.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_htmlentities.php	(revision 1558)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_htmlentities.php	(nonexistent)
@@ -1,17 +0,0 @@
-<?php
-  /**
-  * QuickSkin Extension htmlentities
-  * Converts Special Characters to HTML Entities
-  *
-  * Usage Example:
-  * Content:  $template->assign('NEXT', 'Next Page >>');
-  * Template: <a href="next.php">{htmlentities:NEXT}</a>
-  * Result:   <a href="next.php">Next Page &gt;&gt;</a>
-  *
-  * @author Andy Prevost andy@codeworxtech.com - original by Philipp v. Criegern philipp@criegern.de
-  */
-  function qx_htmlentities ( $param ) {
-    return htmlentities( $param );
-  }
-
-?>

Property changes on: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_htmlentities.php
___________________________________________________________________
Deleted: svn:eol-style
## -1 +0,0 ##
-native
\ No newline at end of property
Deleted: svn:keywords
## -1 +0,0 ##
-Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_db_date.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_db_date.php	(revision 1558)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_db_date.php	(nonexistent)
@@ -1,23 +0,0 @@
-<?php
-  /**
-  * QuickSkin Extension db_date
-  * Convert Oracle Date (British Format) to Local Formatted Date
-  *
-  * Usage Example:
-  * Content:  $template->assign('UPDATE', $result['LAST_UPDATE_DATE_TIME']);
-  * Template: Last update: {db_date:UPDATE}
-  * Result:   Last update: 30.01.2003
-  *
-  * @author Andy Prevost andy@codeworxtech.com - original by Philipp v. Criegern philipp@criegern.de
-  */
-  function qx_db_date ( $param ) {
-    global $configuration;
-
-    if (preg_match('/\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}/', $param)) {
-      return date( $configuration['date_format'],  strtotime($param) );
-    } else {
-      return 'Invalid date format!';
-    }
-  }
-
-?>

Property changes on: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_db_date.php
___________________________________________________________________
Deleted: svn:eol-style
## -1 +0,0 ##
-native
\ No newline at end of property
Deleted: svn:keywords
## -1 +0,0 ##
-Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_db_time.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_db_time.php	(revision 1558)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_db_time.php	(nonexistent)
@@ -1,23 +0,0 @@
-<?php
-  /**
-  * QuickSkin Extension db_time
-  * Convert Oracle Date (British Format) to Local Formatted Time
-  *
-  * Usage Example:
-  * Content:  $template->assign('UPDATE', $result['LAST_UPDATE_DATE_TIME']);
-  * Template: Last update: {db_time:UPDATE}
-  * Result:   Last update: 12:46:00
-  *
-  * @author Andy Prevost andy@codeworxtech.com - original by Philipp v. Criegern philipp@criegern.de
-  */
-  function qx_db_time ( $param ) {
-    global $configuration;
-
-    if (preg_match('/\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}/', $param)) {
-      return date( $configuration['time_format'],  strtotime($param) );
-    } else {
-      return 'Invalid date format!';
-    }
-  }
-
-?>

Property changes on: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_db_time.php
___________________________________________________________________
Deleted: svn:eol-style
## -1 +0,0 ##
-native
\ No newline at end of property
Deleted: svn:keywords
## -1 +0,0 ##
-Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_regex.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_regex.php	(revision 1558)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_regex.php	(nonexistent)
@@ -1,17 +0,0 @@
-<?php
-  /**
-  * QuickSkin Extension regex
-  * Regular Expression String Replace
-  *
-  * Usage Example:
-  * Content:  $template->assign('NAME', '*My Document*');
-  * Template: Document Name: {regex:NAME,'/[^a-z0-9]/i','_'}
-  * Result:   Document Name: _My_Document_
-  *
-  * @author Andy Prevost andy@codeworxtech.com - original by Philipp v. Criegern philipp@criegern.de
-  */
-  function qx_regex ( $param, $pattern, $replace ) {
-    return preg_replace( $pattern, $replace, $param );
-  }
-
-?>

Property changes on: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_regex.php
___________________________________________________________________
Deleted: svn:eol-style
## -1 +0,0 ##
-native
\ No newline at end of property
Deleted: svn:keywords
## -1 +0,0 ##
-Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_WB_HEADING.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_WB_HEADING.php	(revision 1558)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_WB_HEADING.php	(nonexistent)
@@ -1,18 +0,0 @@
-<?php
-  /**
-  * QuickSkin Extension WB_HEADING
-  * This function will replace the string with the value of WebsiteBaker CMS's $HEADING[] array 
-  *
-  * Usage Example:
-  * in Template use:{WB_HEADING:"GENERAL_SETTINGS"}
-  *	returns the translated string
-  *
-  * @author WebsiteBaker Org e.V.
-  *
-  */
-function qx_WB_HEADING ( $var ) {
-	$LANG_ARRAY = $GLOBALS['HEADING'];		
-	$ret_val = isset($LANG_ARRAY[$var]) ? $LANG_ARRAY[$var] : ('<span style="color:#777">'.$var.'</span>');
-	return $ret_val;	
-}
-?>

Property changes on: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_WB_HEADING.php
___________________________________________________________________
Deleted: svn:eol-style
## -1 +0,0 ##
-native
\ No newline at end of property
Deleted: svn:keywords
## -1 +0,0 ##
-Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_hidemail.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_hidemail.php	(revision 1558)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_hidemail.php	(nonexistent)
@@ -1,18 +0,0 @@
-<?php
-  /**
-  * QuickSkin Extension hidemail
-  * Protects email address from being scanned by spam bots
-  *
-  * Usage Example:
-  * Content:  $template->assign('AUTHOR', 'andy@codeworxtech.com' );
-  * Template: Author: {hidemail:AUTHOR}
-  * Result Source:   Author: andy&#64;codeworxtech&#46;com
-  * Result Display:  Author: andy@codeworxtech.com
-  *
-  * @author Andy Prevost andy@codeworxtech.com
-  */
-  function qx_hidemail ( $param ) {
-    return str_replace('@', '&#64;', str_replace('.', '&#46;', $param));
-  }
-
-?>

Property changes on: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_hidemail.php
___________________________________________________________________
Deleted: svn:eol-style
## -1 +0,0 ##
-native
\ No newline at end of property
Deleted: svn:keywords
## -1 +0,0 ##
-Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin/_lib/qx/index.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/index.php	(revision 1558)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/index.php	(nonexistent)
@@ -1,20 +0,0 @@
-<?php
-/**
- *
- * @category        Security
- * @package         FolderProtectFile
- * @author          WebsiteBaker Project
- * @copyright       2009-2011, Website Baker Org. e.V.
- * @link            http://www.websitebaker2.org/
- * @license         http://www.gnu.org/licenses/gpl.html
- * @platform        WebsiteBaker 2.8.x
- * @requirements    PHP 5.2.2 and higher
- * @version         $Id$
- * @filesource      $HeadURL$
- * @lastmodified    $Date$
- *
- */
-
-header('HTTP/1.1 301 Moved Permanently');
-header("Location: ../../../index.php");
-

Property changes on: branches/2.8.x/wb/include/quickSkin/_lib/qx/index.php
___________________________________________________________________
Deleted: svn:eol-style
## -1 +0,0 ##
-native
\ No newline at end of property
Deleted: svn:keywords
## -1 +0,0 ##
-Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_session.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_session.php	(revision 1558)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_session.php	(nonexistent)
@@ -1,17 +0,0 @@
-<?php
-  /**
-  * QuickSkin Extension session
-  * Print Content of Session variables
-  *
-  * Usage Example:
-  * Content:  $_SESSION['userName']  =  'Philipp von Criegern';
-  * Template: Current User: {session:"userName"}
-  * Result:   Current User: Philipp von Criegern
-  *
-  * @author Andy Prevost andy@codeworxtech.com - original by Philipp v. Criegern philipp@criegern.de
-  */
-  function qx_session ( $param ) {
-    return $_SESSION[$param];
-  }
-
-?>

Property changes on: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_session.php
___________________________________________________________________
Deleted: svn:eol-style
## -1 +0,0 ##
-native
\ No newline at end of property
Deleted: svn:keywords
## -1 +0,0 ##
-Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_number.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_number.php	(revision 1558)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_number.php	(nonexistent)
@@ -1,32 +0,0 @@
-<?php
-  /**
-  * QuickSkin Extension number
-  * Format a number with grouped thousands
-  *
-  * Usage Example:
-  * Content:  $template->assign('SUM', 2500000);
-  * Template: Current balance: {number:SUM}
-  * Result:   Current balance: 2.500.000,00
-  *
-  * @author Andy Prevost andy@codeworxtech.com - original by Philipp v. Criegern philipp@criegern.de
-  */
-  function qx_number ( $param ) {
-    global $_CONFIG;
-
-    $decimalChar = ',';
-    if ( !empty($_CONFIG['decimal_char']) ) {
-      $decimalChar = $_CONFIG['decimal_char'];
-    }
-    $decimalPlaces = 2;
-    if ( !empty($_CONFIG['decimal_places']) ) {
-      $decimalPlaces = $_CONFIG['decimal_places'];
-    }
-    $thousandsSep = '.';
-    if ( !empty($_CONFIG['thousands_sep']) ) {
-      $thousandsSep = $_CONFIG['thousands_sep'];
-    }
-
-    return number_format( $param, $decimalChar, $decimalPlaces, $thousandsSep );
-  }
-
-?>

Property changes on: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_number.php
___________________________________________________________________
Deleted: svn:eol-style
## -1 +0,0 ##
-native
\ No newline at end of property
Deleted: svn:keywords
## -1 +0,0 ##
-Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_options.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_options.php	(revision 1558)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_options.php	(nonexistent)
@@ -1,34 +0,0 @@
-<?php
-  /**
-  * QuickSkin Extension options
-  * Creates HTML DropDown Option list from an array
-  *
-  * Usage Example I:
-  * Content:  $template->assign('pick', array( "on", "off" ) );
-  * Template: Choose: <select name="onoff"> {options:pick} </select>
-  * Result:   Choose: <select name="onoff"> <option>on</option><option>off</option> </select>
-  *
-  * Usage Example II:
-  * Content:  $template->assign('color',   array( "FF0000" => "Red", "00FF00" => "Green", "0000FF" => "Blue" ) );
-  *           $template->assign('default', "00FF00" );
-  * Template: Color: <select name="col"> {options:color,default} </select>
-  * Result:   Color: <select name="col"> <option value="FF0000">Red</option><option value="00FF00" selected>Green</option><option value="0000FF">Blue</option> </select>
-  *
-  * @author Andy Prevost andy@codeworxtech.com - original by Philipp v. Criegern philipp@criegern.de
-  */
-  function qx_options ( $param,  $default = '_DEFAULT_' ) {
-    $output  =  '';
-    if (is_array($param)) {
-      $keyindex  =  0;
-      foreach ($param as $key => $value) {
-        if ($key==$keyindex++ && is_numeric($key)) {
-          $output  .=  '<option' . (($value == $default) ? '  selected' : '') . '>' . $value . '</option>';
-        } else {
-          $output  .=  '<option value="' . $key . '"' . (($key == $default) ? '  selected' : '') . '>' . $value . '</option>';
-        }
-      }
-    }
-    return $output;
-  }
-
-?>

Property changes on: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_options.php
___________________________________________________________________
Deleted: svn:eol-style
## -1 +0,0 ##
-native
\ No newline at end of property
Deleted: svn:keywords
## -1 +0,0 ##
-Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_truncate.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_truncate.php	(revision 1558)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_truncate.php	(nonexistent)
@@ -1,17 +0,0 @@
-<?php
-  /**
-  * QuickSkin Extension truncate
-  * Restricts a String to a specific number characters
-  *
-  * Usage Example:
-  * Content:  $template->assign('TEASER', 'PHP 4.3.0RC1 has been released. This is the first release candidate');
-  * Template: News: {truncate:TEASER,50} ... [more]
-  * Result:   News: QuickSkin version 5.0 has been released. This is the first ... [more]
-  *
-  * @author Andy Prevost andy@codeworxtech.com - original by Philipp v. Criegern philipp@criegern.de
-  */
-  function qx_truncate ( $param, $size ) {
-    return substr( $param, 0, $size );
-  }
-
-?>

Property changes on: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_truncate.php
___________________________________________________________________
Deleted: svn:eol-style
## -1 +0,0 ##
-native
\ No newline at end of property
Deleted: svn:keywords
## -1 +0,0 ##
-Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_entity_decode.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_entity_decode.php	(revision 1558)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_entity_decode.php	(nonexistent)
@@ -1,19 +0,0 @@
-<?php
-  /**
-  * QuickSkin Extension entity_decode
-  * Convert all HTML entities to their applicable characters
-  *
-  * Usage Example:
-  * Content:  $template->assign('MESSAGE', 'Nicht m&ouml;glich!');
-  * Template: <a href="alert('{entity_decode:MESSAGE}');">Alert</a>
-  * Result:   <a href="alert('Nicht m?lich!');">Alert</a>
-  *
-  * @author Andy Prevost andy@codeworxtech.com - original by Philipp v. Criegern philipp@criegern.de
-  */
-  function qx_entity_decode ( $param ) {
-    $param  =  strtr($param, array_flip(get_html_translation_table(HTML_ENTITIES)));
-    $param  =  preg_replace("/&#([0-9]+);/me", "chr('\\1')", $param);
-    return $param;
-  }
-
-?>

Property changes on: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_entity_decode.php
___________________________________________________________________
Deleted: svn:eol-style
## -1 +0,0 ##
-native
\ No newline at end of property
Deleted: svn:keywords
## -1 +0,0 ##
-Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_TXT.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_TXT.php	(revision 1558)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_TXT.php	(nonexistent)
@@ -1,43 +0,0 @@
-<?php
-  /**
-  * QuickSkin Extension TXT
-  * This function will replace the string with the value of  language array of the module
-  *
-  * Usage Example:
-  * in Template use:{TXT:"OPEN_FILE"}
-  *	returns the translated string
-  *  
-  * 
-  * Important Note:
-  * ===============
-  * In order to use this function, you will need to follow the standard Naming Convention of WebsiteBaker CMS
-  * It is: if your Module has the name "myModule", your language array needs to be named "$MOD_MYMODULE[]"
-  * If you follow this rule, you can use this function (this extension) flawlessly
-  *
-  * @author WebsiteBaker Org e.V.
-  *
-  */
-function qx_TXT ( $var ) {
-	
-	$ret_val = '';
-	switch (TRUE)
-	{
-		// retrieve the MODULE_NAME
-		case isset($GLOBALS['tool']): $MODULE_NAME = $GLOBALS['tool']; break;				// AdminTool
-		case isset($GLOBALS['section']['module']): $MODULE_NAME = $GLOBALS['section']['module']; break;     // PageType Module
-		case isset($GLOBALS['module_dir']): $MODULE_NAME = $GLOBALS['module_dir']; break;	// SnippetType Module
-		default: $MODULE_NAME = FALSE;	
-	}
-	
-	if(!isset($MODULE_NAME))
-	{
-		$ret_val = 'A problem occured. <br />(QuickSkin Extension) qx_TXT issue.';		
-	} 
-	else 
-	{	
-		$MODULE_NAME = strtoupper($MODULE_NAME);
-		$LANG_ARRAY = $GLOBALS['MOD_'.$MODULE_NAME];
-		$ret_val = isset($LANG_ARRAY[$var]) ? $LANG_ARRAY[$var] : ('<span style="color:#777">'.$var.'</span>');
-	}	
-	return $ret_val;
-}

Property changes on: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_TXT.php
___________________________________________________________________
Deleted: svn:eol-style
## -1 +0,0 ##
-native
\ No newline at end of property
Deleted: svn:keywords
## -1 +0,0 ##
-Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_substr.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_substr.php	(revision 1558)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_substr.php	(nonexistent)
@@ -1,21 +0,0 @@
-<?php
-  /**
-  * QuickSkin Extension substr
-  * Insert specific part of a string
-  *
-  * Usage Example:
-  * Content:  $template->assign('HEADLINE', 'My Title');
-  * Template: <font size=4>{substr:HEADLINE,0,1}</font>{substr:HEADLINE,1}
-  * Result:   <font size=4>M</font>y Title
-  *
-  * @author Andy Prevost andy@codeworxtech.com - original by Philipp v. Criegern philipp@criegern.de
-  */
-  function qx_substr ( $param, $lim0 = 0, $lim1 = 0 ) {
-    if ($lim1) {
-      return substr( $param, $lim0, $lim1 );
-    } else {
-      return substr( $param, $lim0 );
-    }
-  }
-
-?>

Property changes on: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_substr.php
___________________________________________________________________
Deleted: svn:eol-style
## -1 +0,0 ##
-native
\ No newline at end of property
Deleted: svn:keywords
## -1 +0,0 ##
-Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_count.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_count.php	(revision 1558)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_count.php	(nonexistent)
@@ -1,18 +0,0 @@
-<?php
-  /**
-  * QuickSkin Extension count
-  * count element of an array
-  *
-  * Usage Example:
-  * Content:  $template->assign('list', array('a','b'));
-  * Template: count: {count:list}
-  * Result:   count: 2
-  *
-  * @author Andy Prevost andy@codeworxtech.com - original by Philipp v. Criegern philipp@criegern.de
-  */
-  function qx_count ( $param ) {
-    $temp = count( $param );
-    return $temp;
-  }
-
-?>

Property changes on: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_count.php
___________________________________________________________________
Deleted: svn:eol-style
## -1 +0,0 ##
-native
\ No newline at end of property
Deleted: svn:keywords
## -1 +0,0 ##
-Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_codesnippetstart.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_codesnippetstart.php	(revision 1558)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_codesnippetstart.php	(nonexistent)
@@ -1,26 +0,0 @@
-<?php
-  /**
-  * QuickSkin Extension codesnippetstart
-  * required for the start of a code snippet
-  *
-  * Usage Example:
-  * Template: Code Snippet<br />{codesnippetstart:}
-  *
-  * @author Andy Prevost andy@codeworxtech.com
-  */
-  function qx_codesnippetstart ( $param='' ) {
-    /*
-    nogutter = no line numbers
-    nocontrols = no menu at top
-    collapse = = display nothing, menu at top will display '+ expand source'
-    firstline[value] = starting number to start count
-    showcolumns = shows "ruler" at top
-    */
-    if ( $param = '' ) {
-      return '<pre name="code" class="php">';
-    } else {
-      return '<pre name="code" class="php:' . $param . '">';
-    }
-  }
-
-?>

Property changes on: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_codesnippetstart.php
___________________________________________________________________
Deleted: svn:eol-style
## -1 +0,0 ##
-native
\ No newline at end of property
Deleted: svn:keywords
## -1 +0,0 ##
-Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_config.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_config.php	(revision 1558)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_config.php	(nonexistent)
@@ -1,19 +0,0 @@
-<?php
-  /**
-  * QuickSkin Extension config
-  * Print Content of Configuration Parameters
-  *
-  * Usage Example:
-  * Content:  $_CONFIG['webmaster']  =  'philipp@criegern.de';
-  * Template: Please Contact Webmaster: {config:"webmaster"}
-  * Result:   Please Contact Webmaster: philipp@criegern.de
-  *
-  * @author Andy Prevost andy@codeworxtech.com - original by Philipp v. Criegern philipp@criegern.de
-  */
-  function qx_config ( $param ) {
-    global $_CONFIG;
-
-    return $_CONFIG[$param];
-  }
-
-?>

Property changes on: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_config.php
___________________________________________________________________
Deleted: svn:eol-style
## -1 +0,0 ##
-native
\ No newline at end of property
Deleted: svn:keywords
## -1 +0,0 ##
-Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_header.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_header.php	(revision 1558)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_header.php	(nonexistent)
@@ -1,23 +0,0 @@
-<?php
-  /**
-  * QuickSkin Extension header
-  * Sends HTTP Header
-  *
-  * Usage Example:
-  * Content:  $template->assign( 'TITLE', 'SVG Template Demo:' );
-  *
-  * Template:
-  *     {header:"Content-type: image/svg+xml"}<?xml version="1.0" ?>
-  *     <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
-  *     <svg width="300px" height="150px" style="shape-rendering:optimizeQuality;text-rendering:optimizeQuality">
-  *       <circle id="ball" cx="150" cy="75" r="50" style="fill:rgb(200,200,255)" />
-  *       <text x="70" y="80" id="title" style="font-face:Courier;font-size:12pt">{TITLE}</text>
-  *     </svg>
-  *
-  * @author Andy Prevost andy@codeworxtech.com - original by Philipp v. Criegern philipp@criegern.de
-  */
-  function qx_header ( $param ) {
-    header($param);
-  }
-
-

Property changes on: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_header.php
___________________________________________________________________
Deleted: svn:eol-style
## -1 +0,0 ##
-native
\ No newline at end of property
Deleted: svn:keywords
## -1 +0,0 ##
-Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_dateformatgrid.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_dateformatgrid.php	(revision 1558)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_dateformatgrid.php	(nonexistent)
@@ -1,19 +0,0 @@
-<?php
-  /**
-  * QuickSkin Extension dateformatgrid
-  * Changes Dateformat
-  *
-  * @author Andy Prevost andy@codeworxtech.com - original by Philipp v. Criegern philipp@criegern.de
-  */
-  function qx_dateformatgrid ( $param, $format = 'F j, Y' ) {
-    list($month,$day,$year,$hour,$minute,$second) = split("[-:T\.]", $param);
-
-    // handle empty values
-    if (! $hour) { $hour = '00'; }
-    if (! $minute) { $minute = '00'; }
-    if (! $second) { $second = '00'; }
-
-    return date( $format, mktime($hour, $minute, $second, $month, $day, $year));
-  }
-
-?>

Property changes on: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_dateformatgrid.php
___________________________________________________________________
Deleted: svn:eol-style
## -1 +0,0 ##
-native
\ No newline at end of property
Deleted: svn:keywords
## -1 +0,0 ##
-Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_load_config.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_load_config.php	(revision 1558)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_load_config.php	(nonexistent)
@@ -1,56 +0,0 @@
-<?php
-  /**
-  * QuickSkin Extension load_config
-  * Reads an INI-Style configuration file into an array
-  *
-  * Usage Example:
-  * Configuration File (parameter.ini):
-  *
-  *     PAGETITLE   =  Default Page Title
-  *     [colors]
-  *     BACKGROUND  =  #FFFFFF
-  *     TEXT        =  #000000
-  *
-  * Template:
-  *
-  *     {load_config:"parameter.ini","config"}
-  *     <title>{config.PAGETITLE}</title>
-  *     <body bgcolor="{config.colors.BACKGROUND}" text="{config.colors.TEXT}">
-  *
-  * Result:
-  *
-  *     <title>Default Page Title</title>
-  *     <body bgcolor="#FFFFFF" text="#000000">
-  *
-  * @author Andy Prevost andy@codeworxtech.com - original by Philipp v. Criegern philipp@criegern.de
-  */
-  function qx_load_config ( $filename,  $name = 'config' ) {
-    global $_top;
-
-    $section  =  null;
-    if (is_file($filename)) {
-      $cfgfile  =  file($filename);
-      if (is_array($cfgfile)) {
-        foreach ($cfgfile as $line) {
-          if (substr($line, 0, 1) != '#') {
-            if (substr($line, 0, 1) == '[') {
-              if ($rbr = strpos($line, ']')) {
-                $section  =  substr($line, 1, $rbr -1);
-              }
-            }
-            if ($tr = strpos($line, '=')) {
-              $k  =  trim(substr($line, 0, $tr));
-              $v  =  trim(substr($line, $tr+1));
-              if (isset($section)) {
-                $_top[$name][$section][$k]  =  $v;
-              } else {
-                $_top[$name][$k]  =  $v;
-              }
-            }
-          }
-        }
-      }
-    }
-  }
-
-?>

Property changes on: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_load_config.php
___________________________________________________________________
Deleted: svn:eol-style
## -1 +0,0 ##
-native
\ No newline at end of property
Deleted: svn:keywords
## -1 +0,0 ##
-Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_stringformat.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_stringformat.php	(revision 1558)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_stringformat.php	(nonexistent)
@@ -1,17 +0,0 @@
-<?php
-  /**
-  * QuickSkin Extension stringformat
-  * Inserts a formatted String
-  *
-  * Usage Example:
-  * Content:  $template->assign('SUM', 25);
-  * Template: Current balance: {stringformat:SUM,'$ %01.2f'}
-  * Result:   Current balance: $ 25.00
-  *
-  * @author Andy Prevost andy@codeworxtech.com - original by Philipp v. Criegern philipp@criegern.de
-  */
-  function qx_stringformat ( $param, $format ) {
-    return sprintf( $format,  $param );
-  }
-
-?>

Property changes on: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_stringformat.php
___________________________________________________________________
Deleted: svn:eol-style
## -1 +0,0 ##
-native
\ No newline at end of property
Deleted: svn:keywords
## -1 +0,0 ##
-Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_layoutfield.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_layoutfield.php	(revision 1558)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_layoutfield.php	(nonexistent)
@@ -1,22 +0,0 @@
-<?php
-  /**
-  * QuickSkin Extension layoutfield
-  * This function is to be used with WebsiteBakers Layout-Fields
-  * Layout-Fields are mostly <textarea> fields, where the modules Frontend Template is specified
-  *
-  * Usage Example:
-  * Content:  $template->assign('loop_template', $settings['loop']);  
-  * Template: <textarea name="loop" rows="10" cols="1">{layoutfield:loop_template}</textarea>
-  *
-  * @author WebsiteBaker Org e.V.
-  */
-  function qx_layoutfield( $db_string ) {
-  // Set raw html <'s and >'s to be replaced by friendly html code to be used in Layout Fields
-	$raw = array('<', '>');
-	$friendly = array('&lt;', '&gt;');
-	
-    return str_replace( $raw, $friendly, $db_string );
-  }
-
-  
-?>

Property changes on: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_layoutfield.php
___________________________________________________________________
Deleted: svn:eol-style
## -1 +0,0 ##
-native
\ No newline at end of property
Deleted: svn:keywords
## -1 +0,0 ##
-Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_urlencode.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_urlencode.php	(revision 1558)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_urlencode.php	(nonexistent)
@@ -1,17 +0,0 @@
-<?php
- /**
-  * QuickSkin Extension urlencode
-  * Inserts URL-encoded String
-  *
-  * Usage Example:
-  * Content:  $template->assign('PARAM', 'Delete User!');
-  * Template: go.php?param={urlencode:PARAM}
-  * Result:   go.php?param=Delete+User%21
-  *
-  * @author Andy Prevost andy@codeworxtech.com - original by Philipp v. Criegern philipp@criegern.de
-  */
-  function qx_urlencode ( $param ) {
-    return urlencode( $param );
-  }
-
-?>

Property changes on: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_urlencode.php
___________________________________________________________________
Deleted: svn:eol-style
## -1 +0,0 ##
-native
\ No newline at end of property
Deleted: svn:keywords
## -1 +0,0 ##
-Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_db_datetime.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_db_datetime.php	(revision 1558)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_db_datetime.php	(nonexistent)
@@ -1,23 +0,0 @@
-<?php
-  /**
-  * QuickSkin Extension db_datetime
-  * Convert Oracle Date (British Format) to Local Formatted Date and Time
-  *
-  * Usage Example:
-  * Content:  $template->assign('UPDATE', $result['LAST_UPDATE_DATE_TIME']);
-  * Template: Last update: {db_datetime:UPDATE}
-  * Result:   Last update: 30.01.2003 - 12:46:00
-  *
-  * @author Andy Prevost andy@codeworxtech.com - original by Philipp v. Criegern philipp@criegern.de
-  */
-  function qx_db_datetime ( $param ) {
-    global $configuration;
-
-    if (preg_match('/\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}/', $param)) {
-      return date( $configuration['datetime_format'],  strtotime($param) );
-    } else {
-      return 'Invalid date format!';
-    }
-  }
-
-?>

Property changes on: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_db_datetime.php
___________________________________________________________________
Deleted: svn:eol-style
## -1 +0,0 ##
-native
\ No newline at end of property
Deleted: svn:keywords
## -1 +0,0 ##
-Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_lowercase.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_lowercase.php	(revision 1558)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_lowercase.php	(nonexistent)
@@ -1,17 +0,0 @@
-<?php
-  /**
-  * QuickSkin Extension lowercase
-  * Converts String to lowercase
-  *
-  * Usage Example:
-  * Content:  $template->assign('NAME', 'John Doe');
-  * Template: Username: {lowercase:NAME}
-  * Result:   Username: john doe
-  *
-  * @author Andy Prevost andy@codeworxtech.com - original by Philipp v. Criegern philipp@criegern.de
-  */
-  function qx_lowercase ( $param ) {
-    return strtolower( $param );
-  }
-
-?>

Property changes on: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_lowercase.php
___________________________________________________________________
Deleted: svn:eol-style
## -1 +0,0 ##
-native
\ No newline at end of property
Deleted: svn:keywords
## -1 +0,0 ##
-Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_load_file.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_load_file.php	(revision 1558)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_load_file.php	(nonexistent)
@@ -1,31 +0,0 @@
-<?php
-  /**
-  * QuickSkin Extension load_file
-  * Print out file content
-  *
-  * Usage Example:
-  * External Content Source (counter.txt):
-  *
-  *     1234
-  *
-  * Template:
-  *
-  *     You are visitor No: {load_file:"counter.txt"}
-  *
-  * Result:
-  *
-  *     You are visitor No: 1234
-  *
-  * @author Andy Prevost andy@codeworxtech.com - original by Philipp v. Criegern philipp@criegern.de
-  */
-  function qx_load_file ( $filename ) {
-    if (is_file($filename)) {
-      if($hd = @fopen($filename, 'r')) {
-        $content  =  fread($hd, filesize($filename));
-        fclose($hd);
-        return $content;
-      }
-    }
-  }
-
-?>

Property changes on: branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_load_file.php
___________________________________________________________________
Deleted: svn:eol-style
## -1 +0,0 ##
-native
\ No newline at end of property
Deleted: svn:keywords
## -1 +0,0 ##
-Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin/_lib/quickSkin_28/class.quickskin.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/quickSkin_28/class.quickskin.php	(revision 1558)
+++ branches/2.8.x/wb/include/quickSkin/_lib/quickSkin_28/class.quickskin.php	(nonexistent)
@@ -1,1015 +0,0 @@
-<?php
-//error_reporting(E_ALL ^ E_NOTICE);
-/*~ class.quickskin.php
-.---------------------------------------------------------------------------.
-|  Software: QuickSkin Class                                                |
-|   Version: 5.0                                                            |
-|   Contact: andy.prevost@worxteam.com,andy@codeworx.ca                     |
-|      Info: http://quickskin.sourceforge.net                               |
-|   Support: http://sourceforge.net/projects/quickskin/                     |
-| ------------------------------------------------------------------------- |
-|    Author: Andy Prevost andy.prevost@worxteam.com (admin)                 |
-|    Author: Manuel 'EndelWar' Dalla Lana endelwar@aregar.it (former admin) |
-|    Author: Philipp v. Criegern philipp@criegern.com (original founder)    |
-| Copyright (c) 2002-2009, Andy Prevost. All Rights Reserved.               |
-|    * NOTE: QuickSkin is the SmartTemplate project renamed. SmartTemplate  |
-|            information and downloads can still be accessed at the         |
-|            smarttemplate.sourceforge.net site                             |
-| ------------------------------------------------------------------------- |
-|   License: Distributed under the Lesser General Public License (LGPL)     |
-|            http://www.gnu.org/copyleft/lesser.html                        |
-| This program is distributed in the hope that it will be useful - WITHOUT  |
-| ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or     |
-| FITNESS FOR A PARTICULAR PURPOSE.                                         |
-| ------------------------------------------------------------------------- |
-| We offer a number of paid services:                                       |
-| - Web Hosting on highly optimized fast and secure servers                 |
-| - Technology Consulting                                                   |
-| - Oursourcing (highly qualified programmers and graphic designers)        |
-'---------------------------------------------------------------------------'
-Last modified: January 01 2009 ~*/
-
-/* designed to work with PHP5 - will NOT work with PHP4 */
-
-/* PURPOSE: 'Compiles' HTML-Templates to PHP Code
- *
- * Usage Example I:
- *
- * $page = new QuickSkin( "template.html" );
- * $page->assign( 'TITLE',  'TemplateDemo - Userlist' );
- * $page->assign( 'user',   DB_read_all( 'select * from ris_user' ) );
- * $page->output();
- *
- * Usage Example II:
- *
- * $data = array(
- *             'TITLE' => 'TemplateDemo - Userlist',
- *             'user'  => DB_read_all( 'select * from ris_user' )
- *         );
- * $page = new QuickSkin( "template.html" );
- * $page->output( $data );
- *
- */
-
-class QuickSkin {
-
-  /////////////////////////////////////////////////
-  // PROPERTIES, PUBLIC
-  /////////////////////////////////////////////////
-
-  /**
-   * Reuse Code
-   * Whether to use stored compiled php code or not (for debug purpose)
-   * @var bool
-   */
-  public $reuse_code       = false;
-
-  /**
-   * Template Directory
-   * Directory where all templates are stored, can be overwritten by
-   * global configuration array $_CONFIG['template_dir']
-   * @var string
-   */
-  public $template_dir     = '_skins/';
-
-  /**
-   * Temp Directory
-   * Where to store compiled templates, can be overwritten by
-   * global configuration array $_CONFIG['quickskin_compiled']
-   * @var string
-   */
-  public $temp_dir         = '_skins_tmp/';
-
-  /**
-   * Cache Directory
-   * Temporary folder for output cache storage, can be overwritten by
-   * global configuration array $_CONFIG['quickskin_cache']
-   * Note: typically set the same as the Temp Directory, but can be unique
-   * @var string
-   */
-  public $cache_dir         = '_skins_tmp/';
-
-  /**
-   * Cache Lifetime
-   * Default Output Cache Lifetime in Seconds, can be overwritten by
-   * global configuration array $_CONFIG['cache_lifetime']
-   * @var int
-   */
-  public $cache_lifetime    = 600; // seconds
-
-  /**
-   * Extensions Directory
-   * Directory where all extensions are stored
-   * @var string
-   */
-  public $extensions_dir    = '_lib/qx';      /* Directory where all extensions are stored */
-
-  /**
-   * Extension Prefix
-   * Filename prefix on all the extensions files
-   * @var string
-   */
-  public $extension_prefix  = 'qx_';
-
-  /**
-   * Left Delimiter
-   * Default Left delimiter, can be overwritten by
-   * global configuration array $_CONFIG['left_delimiter']
-   * @var string
-   */
-  public $left_delimiter    = '{';
-
-  /**
-   * Right Delimiter
-   * Default Right delimiter, can be overwritten by
-   * global configuration array $_CONFIG['right_delimiter']
-   * @var string
-   */
-  public $right_delimiter   = '}';
-
-  /**
-   * Extension Tagged
-   * List of used QuickSkin Extensions
-   * @var array
-   */
-  public $extension_tagged  = array();
-
-  /**
-   * QuickSkin Version Number
-   * List of used QuickSkin Extensions
-   * @var string
-   */
-  public $version           = '5.0';
-
-  /////////////////////////////////////////////////
-  // PROPERTIES, PRIVATE
-  /////////////////////////////////////////////////
-
-  private $cache_filename; /* Temporary file for output cache storage */
-  private $tpl_file;       /* The template filename */
-  private $cpl_file;       /* The compiled template filename */
-  private $data = array(); /* Template content array */
-  private $parser;         /* Parser Class */
-  private $debugger;       /* Debugger Class */
-  private $skins_sub_dir;  /* temporary variable to hold the subdirectory of the main template */
-  private $supp_templates = '';   /* supplementary templates */
-  private $supptemplate   = '';   /* supplementary template */
-
-  /* QuickSkin Constructor
-   * @access public
-   * @param string $template_filename Template Filename
-   */
-  function __construct( $template_filename = '' ) {
-    global $_CONFIG;
-	// make extension directory setting
-	if (!empty($_CONFIG['extensions_dir'])) {
-      $this->extensions_dir  =  $_CONFIG['extensions_dir'];
-    }
-    if (!empty($_CONFIG['quickskin_compiled'])) {
-      $this->temp_dir  =  $_CONFIG['quickskin_compiled'];
-    }
-    if (!empty($_CONFIG['quickskin_cache'])) {
-      $this->cache_dir  =  $_CONFIG['quickskin_cache'];
-    }
-    if (is_numeric($_CONFIG['cache_lifetime'])) {
-      $this->cache_lifetime  =  $_CONFIG['cache_lifetime'];
-    }
-    if (!empty($_CONFIG['template_dir'])  &&  is_file($_CONFIG['template_dir'] . '/' . $template_filename)) {
-      $this->template_dir  =  $_CONFIG['template_dir'];
-    }
-    $this->tpl_file  =  $template_filename;
-    if ( dirname($this->tpl_file) != "") {
-      $this->skins_sub_dir = dirname($this->tpl_file);
-    }
-  }
-
-  /* DEPRECATED METHODS */
-  /* Methods used in older parser versions, soon will be removed */
-  function set_templatefile ($template_filename)  { $this->tpl_file  =  $template_filename; }
-  function add_value ($name, $value )       { $this->assign($name, $value); }
-  function add_array ($name, $value )       { $this->append($name, $value); }
-
-  /* Process file or contents to strip out the <body tag (inclusive)
-   * and the </body tag to the end
-   *
-   * Usage Example:
-   * $page->getContents( '', '/contents.htm' );
-   * or
-   * $page->getContents( 'start of data .... end of data' );
-   *
-   * @access public
-   * @param string $contents Parameter contents
-   * @param string $filename Parameter filename (fully qualified)
-   * @desc strip out body tags and return only page data
-   */
-  function getContents($contents, $filename="") {
-    if ( $contents == '' && $filename != '' && file_exists($filename) ) {
-      $contents = file_get_contents($filename);
-    }
-
-    // START process any PHP code
-    ob_start();
-    eval("?>".$contents."<?php ");
-    $contents = ob_get_contents();
-    ob_end_clean();
-    // END process any PHP code
-    $lower_contents = strtolower($contents);
-    // determine if a <body tag exists and process if necessary
-    $bodytag_start = strpos($lower_contents, "<body");
-    if ( $bodytag_start !== false ) {
-      $bodytag_end    = strpos($lower_contents, ">", $bodytag_start) + 1;
-      // get contents with <body tag removed
-      $contents       = substr($contents, $bodytag_end);
-      $lower_contents = strtolower($contents);
-      // work on </body closing tag
-      $end_start      = strpos($lower_contents, "</body");
-      $end_end        = strpos($lower_contents, ">", $bodytag_start) + 1;
-      // return stripped out <body and </body tags
-      return $this->getExtensions( substr($contents, 0, $end_start) );
-    } else {
-      // body tags not found, so return data
-      return $this->getExtensions( $contents );
-    }
-  }
-
-  /* Determine Contents Command from Variable Name
-   * {variable}             :  array( "echo",              "variable" )  ->  echo $_obj['variable']
-   * {variable > new_name}  :  array( "_obj['new_name']=", "variable" )  ->  $_obj['new_name']= $_obj['variable']
-   * @param string $tag Variale Name used in Template
-   * @return array  Array Command, Variable
-   * @access private
-   * @desc Determine Contents Command from Variable Name
-   */
-  function processCmd($tag) {
-    if (preg_match('/^(.+) > ([a-zA-Z0-9_.]+)$/', $tag, $tagvar)) {
-      $tag  =  $tagvar[1];
-      list($newblock, $newskalar)  =  $this->var_name($tagvar[2]);
-      $cmd  =  "\$$newblock"."['$newskalar']=";
-    } else {
-      $cmd  =  'echo';
-    }
-    $ret = array($cmd, $tag);
-    return $ret;
-  }
-
-  /* Load and process the Extensions that may be used in the Contents
-   *
-   * Usage Example:
-   * $tcnt = $this->getExtensions( $param );
-   *
-   * @access public
-   * @param string $param (content to process)
-   * @return string
-   * @desc Load and process the Extensions that may be used in the Contents
-   */
-  function getExtensions($contents) {
-    $header = '';
-    /* Include Extensions */
-    if (preg_match_all('/'.$this->left_delimiter.'([a-zA-Z0-9_]+):([^}]*)'.$this->right_delimiter.'/', $contents, $var)) {
-      foreach ($var[2] as $cnt => $tag) {
-        /* Determine Command (echo / $obj[n]=) */
-        list($cmd, $tag)  =  $this->processCmd($tag);
-
-        $extension  =  $var[1][$cnt];
-        //if (!isset($this->extension_tagged[$extension])) {
-          $header .= 'include_once "'.$this->extensions_dir."/".$this->extension_prefix."$extension.php\";\n";
-        //  $this->extension_tagged[$extension]  =  true;
-        //}
-        if (!strlen($tag)) {
-          $code  =  "<?php\n$cmd ".$this->extension_prefix."$extension();\n?>\n";
-        } elseif (substr($tag, 0, 1) == '"') {
-          $code  =  "<?php\n$cmd ".$this->extension_prefix."$extension($tag);\n?>\n";
-        } elseif (strpos($tag, ',')) {
-          list($tag, $addparam)  =  explode(',', $tag, 2);
-          list($block, $skalar)  =  $this->var_name($tag);
-          if (preg_match('/^([a-zA-Z_]+)/', $addparam, $match)) {
-            $nexttag   =  $match[1];
-            list($nextblock, $nextskalar)  =  $this->var_name($nexttag);
-            $addparam  =  substr($addparam, strlen($nexttag));
-            $code  =  "<?php\n$cmd ".$this->extension_prefix."$extension(\$$block"."['$skalar'],\$$nextblock"."['$nextskalar']"."$addparam);\n?>\n";
-          } else {
-            $code  =  "<?php\n$cmd ".$this->extension_prefix."$extension(\$$block"."['$skalar'],$addparam);\n?>\n";
-          }
-        } else {
-          list($block, $skalar) = $this->var_name($tag);
-          $code  =  "<?php\n$cmd ".$this->extension_prefix."$extension(\$$block"."['$skalar']);\n?>\n";
-        }
-        $contents  =  str_replace($var[0][$cnt],  $code,  $contents);
-      }
-    }
-    // START process any PHP code
-    ob_start();
-    eval($header);
-    eval("?>".$contents."<?php ");
-    $contents = ob_get_contents();
-    ob_end_clean();
-    // END process any PHP code
-    return $contents;
-  }
-
-  /* Assign Supplementary Template
-   *
-   * Usage Example:
-   * $page->addtpl( 'sponsors', 'default/poweredby.htm' );
-   *
-   * @access public
-   * @param string $name Parameter Name
-   * @param string $value Parameter Value
-   * @desc Assign Supplementary Template
-   */
-  function addtpl ( $name, $value = '' ) {
-    if (is_array($name)) {
-      foreach ($name as $k => $v) {
-        $this->supptemplate[$k]  =  $v;
-      }
-    } else {
-      $this->supptemplate[$name]  =  $value;
-    }
-  }
-
-  /* Assign Template Content
-   *
-   * Usage Example:
-   * $page->assign( 'TITLE',     'My Document Title' );
-   * $page->assign( 'userlist',  array(
-   *                               array( 'ID' => 123,  'NAME' => 'John Doe' ),
-   *                               array( 'ID' => 124,  'NAME' => 'Jack Doe' ),
-   *                             );
-   *
-   * @access public
-   * @param string $name Parameter Name
-   * @param mixed $value Parameter Value
-   * @desc Assign Template Content
-   */
-  function assign ( $name, $value = '' ) {
-    if (is_array($name)) {
-      foreach ($name as $k => $v) {
-        $this->data[$k]  =  $v;
-      }
-    } else {
-      $this->data[$name]  =  $value;
-    }
-  }
-
-  /* Assign Template Content
-   *
-   * Usage Example:
-   * $page->append( 'userlist',  array( 'ID' => 123,  'NAME' => 'John Doe' ) );
-   * $page->append( 'userlist',  array( 'ID' => 124,  'NAME' => 'Jack Doe' ) );
-   *
-   * @access public
-   * @param string $name Parameter Name
-   * @param mixed $value Parameter Value
-   * @desc Assign Template Content
-   */
-  function append ( $name, $value ) {
-    if (is_array($value)) {
-      $this->data[$name][]  =  $value;
-    } elseif (!is_array($this->data[$name])) {
-      $this->data[$name]  .=  $value;
-    }
-  }
-
-  /* Parser Wrapper
-   * Returns Template Output as a String
-   *
-   * @access public
-   * @param array $_top Content Array
-   * @return string  Parsed Template
-   * @desc Output Buffer Parser Wrapper
-   */
-  function result ( $_top = '' ) {
-    ob_start();
-    $this->output( $_top );
-    $result  =  ob_get_contents();
-    ob_end_clean();
-    return $result;
-  }
-
-  /* Execute parsed Template
-   * Prints Parsing Results to Standard Output
-   *
-   * @access public
-   * @param array $_top Content Array
-   * @desc Execute parsed Template
-   */
-  function output ( $_top = '' ) {
-    global $_top;
-
-    $data   = $this->data;
-    /* Process supplementary templates */
-    if ( is_array($this->supptemplate) && !empty($this->supptemplate) ) { // passed by addtpl functionality
-      foreach ($this->supptemplate as $key => $value) {
-        $supp_templates[$key] = file_get_contents($value);
-      }
-    }
-
-    /* Make sure that folder names have a trailing '/' */
-    if (strlen($this->template_dir)  &&  substr($this->template_dir, -1) != '/') {
-      $this->template_dir  .=  '/';
-    }
-    if (strlen($this->temp_dir)  &&  substr($this->temp_dir, -1) != '/') {
-      $this->temp_dir  .=  '/';
-    }
-
-    /* Prepare Template Content*/
-    if (!is_array($_top)) {
-      if (strlen($_top)) {
-        $this->tpl_file  =  $_top;
-      }
-      $_top  =  $this->data;
-    }
-    $_obj  =  &$_top;
-    $_stack_cnt  =  0;
-    $_stack[$_stack_cnt++]  =  $_obj;
-
-    /* Check if template is already compiled */
-    $queryString = $_SERVER['QUERY_STRING'];
-    $cpl_file_name = preg_replace('/[:\/.\\\\]/', '_', $this->tpl_file . '?' . $queryString);
-    if (strlen($cpl_file_name) > 0) {
-      $cpl_file_name = 'qs_' . md5($cpl_file_name);
-      $this->cpl_file  =  $this->temp_dir . $cpl_file_name . '.php';
-      $compile_template  =  true;
-      if ($this->reuse_code) {
-        if (is_file($this->cpl_file)) {
-          if ($this->mtime($this->cpl_file) > $this->mtime($this->template_dir . $this->tpl_file)) {
-            $compile_template  =  false;
-          }
-        }
-      }
-      if ($compile_template) {
-        $this->parser = new QuickSkinParser();
-        $this->parser->template_dir     = $this->template_dir;
-        $this->parser->skins_sub_dir    = $this->skins_sub_dir;
-        $this->parser->tpl_file         = $this->tpl_file;
-        $this->parser->left_delimiter   = $this->left_delimiter;
-        $this->parser->right_delimiter  = $this->right_delimiter;
-        $this->parser->extensions_dir   = $this->extensions_dir;
-        $this->parser->extension_prefix = $this->extension_prefix;
-        $this->parser->supp_templates   = $this->supp_templates;
-
-        if (!$this->parser->compile($this->cpl_file,$data,$this->supp_templates,$this->extensions_dir)) {
-          exit('QuickSkin Parser Error: ' . $this->parser->error);
-        }
-      }
-      /* Execute Compiled Template */
-      include($this->cpl_file);
-    } else {
-      exit('QuickSkin Error: You must set a template file name');
-    }
-    /* Delete Global Content Array in order to allow multiple use of QuickSkin class in one script */
-    unset ($GLOBALS['_top']);
-  }
-
-  /* Debug Template
-   *
-   * @access public
-   * @param array $_top Content Array
-   * @desc Debug Template
-   */
-  function debug ( $_top = '' ) {
-    /* Prepare Template Content */
-    if (!$_top) {
-      $_top  =  $this->data;
-    }
-    if (@include_once('class.quickskindebugger.php')) {
-      $this->debugger = new QuickSkinDebugger($this->template_dir . $this->tpl_file, $this->right_delimiter, $this->left_delimiter);
-      $this->debugger->start($_top);
-    } else {
-      exit( 'QuickSkin Error: Cannot find class.quickskindebugger.php; check QuickSkin installation');
-    }
-  }
-
-  /* Start Ouput Content Buffering
-   *
-   * Usage Example:
-   * $page = new QuickSkin('template.html');
-   * $page->use_cache();
-   * ...
-   *
-   * @access public
-   * @desc Output Cache
-   */
-  function use_cache ( $key = '' ) {
-    if (empty($_POST)) {
-      $this->cache_filename  =  $this->cache_dir . 'cache_' . md5($_SERVER['REQUEST_URI'] . serialize($key)) . '.ser';
-      if (($_SERVER['HTTP_CACHE_CONTROL'] != 'no-cache')  &&  ($_SERVER['HTTP_PRAGMA'] != 'no-cache')  &&  @is_file($this->cache_filename)) {
-        if ((time() - filemtime($this->cache_filename)) < $this->cache_lifetime) {
-          readfile($this->cache_filename);
-          exit;
-        }
-      }
-      ob_start( array( &$this, 'cache_callback' ) );
-    }
-  }
-
-  /* Output Buffer Callback Function
-   *
-   * @access private
-   * @param string $output
-   * @return string $output
-   */
-  function cache_callback ( $output ) {
-    if ($hd = @fopen($this->cache_filename, 'w')) {
-      fwrite($hd,  $output);
-      fclose($hd);
-    } else {
-      $output = 'QuickSkin Error: failed to open cache file "' . $this->cache_filename . '"';
-    }
-    return $output;
-  }
-
-  /* Determine Last Filechange Date (if File exists)
-   *
-   * @access private
-   * @param string $filename
-   * @return mixed
-   * @desc Determine Last Filechange Date
-   */
-  function mtime ( $filename ) {
-    if (@is_file($filename)) {
-      $ret = filemtime($filename);
-      return $ret;
-    }
-  }
-
-  /* Set (or reset) Properties (variables)
-   *
-   * Usage Example:
-   * $page->set('reuse_code', true);
-   *
-   * @access public
-   * @param string $name Parameter Name
-   * @param mixed $value Parameter Value
-   * NOTE: will not work with arrays, there are no arrays to set/reset */
-  function set ( $name, $value = '' ) {
-    if ( isset($this->$name) ) {
-      $this->$name = $value;
-    } else {
-      exit( 'QuickSkin Error: Attempt to set a non-existant class property: ' . $name);
-    }
-  }
-
-}
-
-/*~
-.---------------------------------------------------------------------------.
-|  Software: QuickSkinParser Class * Used by QuickSkin Class                |
-|   Version: 5.0                                                            |
-|   Contact: andy.prevost@worxteam.com,andy@codeworx.ca                     |
-|      Info: http://quickskin.sourceforge.net                               |
-|   Support: http://sourceforge.net/projects/quickskin/                     |
-| ------------------------------------------------------------------------- |
-|    Author: Andy Prevost andy.prevost@worxteam.com (admin)                 |
-|    Author: Manuel 'EndelWar' Dalla Lana endelwar@aregar.it (former admin) |
-|    Author: Philipp v. Criegern philipp@criegern.com (original founder)    |
-| Copyright (c) 2002-2009, Andy Prevost. All Rights Reserved.               |
-|    * NOTE: QuickSkin is the SmartTemplate project renamed. SmartTemplate  |
-|            information and downloads can still be accessed at the         |
-|            smarttemplate.sourceforge.net site                             |
-| ------------------------------------------------------------------------- |
-|   License: Distributed under the Lesser General Public License (LGPL)     |
-|            http://www.gnu.org/copyleft/lesser.html                        |
-| This program is distributed in the hope that it will be useful - WITHOUT  |
-| ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or     |
-| FITNESS FOR A PARTICULAR PURPOSE.                                         |
-| ------------------------------------------------------------------------- |
-| We offer a number of paid services:                                       |
-| - Web Hosting on highly optimized fast and secure servers                 |
-| - Technology Consulting                                                   |
-| - Oursourcing (highly qualified programmers and graphic designers)        |
-'---------------------------------------------------------------------------'
-Last modified: January 01 2009 ~*/
-
-class QuickSkinParser {
-
-  /////////////////////////////////////////////////
-  // PROPERTIES, PUBLIC
-  /////////////////////////////////////////////////
-
-  public $error;               /* Error messages */
-  public $template;            /* The template itself */
-  public $tpl_file;            /* The template filename */
-  public $template_dir;        /* The template filename used to extract the dirname for subtemplates */
-  public $skins_sub_dir;       /* The template subdirectory, passed by main class */
-  public $extensions_dir;      /* The extension directory */
-  public $extension_tagged = array(); /* List of used QuickSkin Extensions */
-  public $left_delimiter;      /* Default Left delimiter */
-  public $right_delimiter;     /* Default Right delimiter */
-  public $supp_templates = ''; /* Contains array or single supplementary template(s) */
-  public $extension_prefix;    /* filename prefix on all the extensions files */
-
-  /* QuickSkinParser Constructor */
-  /*
-  function __construct() {
-  }
-  */
-
-  /* Replace template logical expression in IF..ENDIF (|| or &&) with php logical expression
-   * @access private
-   * @desc replace template logical expression (|| or &&) with php logical expression
-   * @author Bruce Huang (msn: huang_x_c@163.com)
-   * @param string $src_page source page intended to be replaced
-   */
-  function replace_logic_expression( &$src_page ) {
-    /* cannot find '||' or '&&' */
-    if(!strpos($src_page, '||') && !strpos($src_page, '&&')) {
-      return;
-    }
-    /* match 'ELSE' and the last sub expression */
-    if (preg_match_all('/<!-- (ELSE)?IF \s*(\(*).*[|&]{2}\s*\(*\s*([a-zA-Z0-9_.]+)\s*([!=<>]+)\s*(["]?[^"]*?["]?)\s*(\)*)\s* -->/', $src_page, $var)) {
-      foreach ($var[3] as $cnt => $tag) {
-        list($parent, $block)  =  $this->var_name($tag);
-        $cmp   =  $var[4][$cnt];
-        $val   =  $var[5][$cnt];
-        $else  =  ($var[1][$cnt] == 'ELSE') ? '} else' : '';
-        if ($cmp == '=') {
-          $cmp  =  '==';
-        }
-        if (preg_match('/"([^"]*)"/',$val,$matches)) {
-          $code_suffix  =  "\$$parent"."['$block'] $cmp \"".$matches[1].$var[6][$cnt]."\"){\n?>";
-        } elseif (preg_match('/([^"]*)/',$val,$matches)) {
-          list($parent_right, $block_right)  =  $this->var_name($matches[1]);
-          $code_suffix  =  "\$$parent"."['$block'] $cmp \$$parent_right"."['$block_right']".$var[6][$cnt]."){\?>";
-        }
-
-        /* match other sub expressions */
-        if (preg_match_all('/([a-zA-Z0-9_.]+)\s*([!=<>]+)\s*(["]?[^"]*?["]?)\s*(\)*\s*[|&]{2}\s*\(*)\s*/', $var[0][$cnt], $sub_var)) {
-          $code_mid = '';
-          foreach($sub_var[1] as $sub_cnt => $sub_tag) {
-            list($sub_parent, $sub_block) = $this->var_name($sub_tag);
-            $cmp = $sub_var[2][$sub_cnt];
-            $val = $sub_var[3][$sub_cnt];
-            $logic_exp  =  $sub_var[4][$sub_cnt];
-            if ($cmp == '=') {
-              $cmp  =  '==';
-            }
-            if (preg_match('/"([^"]*)"/',$val,$matches)) {
-              $code_mid  =  $code_mid."\$$sub_parent"."['$sub_block'] $cmp \"".$matches[1]."\"".$logic_exp;
-            } elseif (preg_match('/([^"]*)/',$val,$matches)) {
-              list($sub_parent_right, $sub_block_right)  =  $this->var_name($matches[1]);
-              $code_mid  =  $code_mid."\$$sub_parent"."['$sub_block'] $cmp \$$sub_parent_right"."['$sub_block_right']".$logic_exp;
-            }
-          }
-        }
-        $code = "<?php\n".$else.'if ('.$var[2][$cnt].$code_mid.$code_suffix;
-        $src_page = str_replace($var[0][$cnt],  $code,  $src_page);
-      }
-    }
-  }
-
-  /* Main Template Parser
-   * @param string $compiled_template_filename Compiled Template Filename
-   * @desc Creates Compiled PHP Template
-   */
-  function compile( $compiled_template_filename = '', $data='', $supp_templates='', $extensions_dir='' ) {
-
-    $this->extension_prefix = preg_quote($this->extension_prefix);
-
-    /* Load Template */
-    $template_filename = $this->template_dir . $this->tpl_file;
-    if ($hd = @fopen($template_filename, 'r')) {
-      if (filesize($template_filename)) {
-        $this->template = fread($hd, filesize($template_filename));
-        $this->left_delimiter = preg_quote($this->left_delimiter);
-        $this->right_delimiter = preg_quote($this->right_delimiter);
-      } else {
-        $this->template = 'QuickSkin Parser Error: File size is zero byte: ' .$template_filename;
-      }
-      fclose($hd);
-    } else {
-      $this->template = 'QuickSkin Parser Error: File not found: ' .$template_filename;
-    }
-
-    if (empty($this->template)) {
-      return;
-    }
-
-    /* Do the variable substitution for paths, urls, subtemplates */
-    $this->template = $this->worx_var_swap($this->template, $data, $supp_templates);
-
-    $header = '';
-
-    /* Code to allow subtemplates */
-    if(preg_match("/<!-- INCLUDE/is", $this->template)) {
-      while ($this->count_subtemplates() > 0) {
-        preg_match_all('/<!-- INCLUDE ([a-zA-Z0-9\-_.]+) -->/', $this->template, $tvar);
-        foreach($tvar[1] as $subfile) {
-          if(file_exists($this->template_dir . '/' . $this->skins_sub_dir . '/' .$subfile)) {
-            $subst = implode('',file($this->template_dir . '/' . $this->skins_sub_dir . '/' .$subfile));
-          } else {
-            $subst = 'QuickSkin Parser Error: Subtemplate not found: \''.$subfile.'\'';
-          }
-          $this->template = str_replace("<!-- INCLUDE $subfile -->", $subst, $this->template);
-        }
-      }
-    }
-    /* END, ELSE Blocks */
-    $page  =  preg_replace("/<!-- ENDIF.+?-->/", "<?php\n}\n?>", $this->template);
-    $page  =  preg_replace("/<!-- END[ a-zA-Z0-9_.]* -->/",  "<?php\n}\n\$_obj=\$_stack[--\$_stack_cnt];}\n?>", $page);
-    $page  =  preg_replace("/<!-- ENDLOOP[ a-zA-Z0-9_.]* -->/",  "<?php\n}\n\$_obj=\$_stack[--\$_stack_cnt];}\n?>", $page);
-    $page  =  str_replace("<!-- ELSE -->", "<?php\n} else {\n?>", $page);
-
-    /* 'BEGIN - END' Blocks */
-    if (preg_match_all('/<!-- LOOP ([a-zA-Z0-9_.]+) -->/', $page, $var)) {
-      foreach ($var[1] as $tag) {
-        list($parent, $block)  =  $this->var_name($tag);
-        $code  =  "<?php\n"
-            . "if (!empty(\$$parent"."['$block'])){\n"
-            . "if (!is_array(\$$parent"."['$block']))\n"
-            . "\$$parent"."['$block']=array(array('$block'=>\$$parent"."['$block']));\n"
-            . "\$_stack[\$_stack_cnt++]=\$_obj;\n"
-            . "\$rowcounter = 0;\n"
-            . "foreach (\$$parent"."['$block'] as \$rowcnt=>\$$block) {\n"
-              . "\$$block"."['ROWCNT']=(\$rowcounter);\n"
-              . "\$$block"."['ALTROW']=\$rowcounter%2;\n"
-              . "\$$block"."['ROWBIT']=\$rowcounter%2;\n"
-              . "\$rowcounter++;"
-              . "\$_obj=&\$$block;\n?>";
-        $page  =  str_replace("<!-- LOOP $tag -->",  $code,  $page);
-      }
-    }
-
-    /* replace logical operator in [ELSE]IF */
-    $this->replace_logic_expression($page);
-
-    /* 'IF nnn=mmm' Blocks */
-    if (preg_match_all('/<!-- (ELSE)?IF ([a-zA-Z0-9_.]+)\s*([!=<>]+)\s*(["]?[^"]*["]?) -->/', $page, $var)) {
-      foreach ($var[2] as $cnt => $tag) {
-        list($parent, $block)  =  $this->var_name($tag);
-        $cmp   =  $var[3][$cnt];
-        $val   =  $var[4][$cnt];
-        $else  =  ($var[1][$cnt] == 'ELSE') ? '} else' : '';
-        if ($cmp == '=') {
-          $cmp  =  '==';
-        }
-
-        if (preg_match('/"([^"]*)"/',$val,$matches)) {
-          $code  =  "<?php\n$else"."if (\$$parent"."['$block'] $cmp \"".$matches[1]."\"){\n?>";
-        } elseif (preg_match('/([^"]*)/',$val,$matches)) {
-          list($parent_right, $block_right)  =  $this->var_name($matches[1]);
-          $code  =  "<?php\n$else"."if (\$$parent"."['$block'] $cmp \$$parent_right"."['$block_right']){\n?>";
-        }
-
-        $page  =  str_replace($var[0][$cnt],  $code,  $page);
-      }
-    }
-
-    /* 'IF nnn' Blocks */
-    if (preg_match_all('/<!-- (ELSE)?IF ([a-zA-Z0-9_.]+) -->/', $page, $var)) {
-      foreach ($var[2] as $cnt => $tag) {
-        $else  =  ($var[1][$cnt] == 'ELSE') ? '} else' : '';
-        list($parent, $block)  =  $this->var_name($tag);
-        $code  =  "<?php\n$else"."if (!empty(\$$parent"."['$block'])){\n?>";
-        $page  =  str_replace($var[0][$cnt],  $code,  $page);
-      }
-    }
-
-    /* 'IF {extension:variable}'=mmm Blocks
-     * e.g.
-     * <!-- IF {count:list} > 0 -->
-     * List populated
-     * <!-- ELSE -->
-     * List is empty
-     * <!-- ENDIF -->
-     * thanks to Khary Sharpe (ksharpe [at] kharysharpe [dot] com) for the initial code
-     */
-    if (preg_match_all('/<!-- (ELSE)?IF {([a-zA-Z0-9_]+):([^}]*)}\s*([!=<>]+)\s*(["]?[^"]*["]?) -->/', $page, $var)) {
-      foreach ($var[2] as $cnt => $tag) {
-        list($parent, $block)  =  $this->var_name($tag);
-        $cmp   =  $var[4][$cnt];
-        $val   =  $var[5][$cnt];
-        $else  =  ($var[1][$cnt] == 'ELSE') ? '} else' : '';
-        if ($cmp == '=') {
-          $cmp  =  '==';
-        }
-
-        $extension = $var[2][$cnt];
-        $extension_var = $var[3][$cnt];
-        if (!isset($this->extension_tagged[$extension])) {
-          $header .= 'include_once  "'.$this->extensions_dir."/".$this->extension_prefix."$extension.php\";\n";
-          $this->extension_tagged[$extension] = true;
-        }
-        if (!strlen($extension_var)) {
-          $code = "<?php\n$else"."if (".$this->extension_prefix."$extension() $cmp $val) {\n?>\n";
-        } elseif (substr($extension_var, 0, 1) == '"') {
-          $code = "<?php\n$else"."if (".$this->extension_prefix."$extension($extension_var) $cmp $val) {\n?>\n";
-        } elseif (strpos($extension_var, ',')) {
-          list($tag, $addparam) = explode(',', $extension_var, 2);
-          list($block, $skalar) = $this->var_name($extension_var);
-          if (preg_match('/^([a-zA-Z_]+)/', $addparam, $match)) {
-            $nexttag = $match[1];
-            list($nextblock, $nextskalar) = $this->var_name($nexttag);
-            $addparam = substr($addparam, strlen($nexttag));
-            $code = "<?php\n$else"."if (".$this->extension_prefix."$extension(\$$block"."['$skalar'],\$$nextblock"."['$nextskalar']"."$addparam) $cmp $val) {\n?>\n";
-          } else {
-            $code = "<?php\n$else"."if (".$this->extension_prefix."$extension(\$$block"."['$skalar'],$addparam) $cmp $val) {\n?>\n";
-          }
-        } else {
-          list($block, $skalar) = $this->var_name($extension_var);
-          $code = "<?php\n$else"."if (".$this->extension_prefix."$extension(\$$block"."['$skalar']) $cmp $val) {\n?>\n";
-        }
-        $page = str_replace($var[0][$cnt], $code, $page);
-      }
-    }
-
-    /* Replace Scalars */
-    if (preg_match_all('/'.$this->left_delimiter.'([a-zA-Z0-9_. >]+)'.$this->right_delimiter.'/', $page, $var)) {
-      foreach ($var[1] as $fulltag) {
-        /* Determine Command (echo / $obj[n]=) */
-        list($cmd, $tag)  =  $this->cmd_name($fulltag);
-        list($block, $skalar)  =  $this->var_name($tag);
-        $code  =  "<?php\n$cmd \$$block"."['$skalar'];\n?>\n";
-        $page  =  str_replace(stripslashes($this->left_delimiter).$fulltag.stripslashes($this->right_delimiter), $code, $page);
-      }
-    }
-
-    /* Replace Translations */
-    if (preg_match_all('/<"([a-zA-Z0-9_.]+)">/', $page, $var)) {
-      foreach ($var[1] as $tag) {
-        list($block, $skalar)  =  $this->var_name($tag);
-        $code  =  "<?php\necho gettext('$skalar');\n?>\n";
-        $page  =  str_replace('<"'.$tag.'">',  $code,  $page);
-      }
-    }
-
-    /* Include Extensions */
-    if (preg_match_all('/'.$this->left_delimiter.'([a-zA-Z0-9_]+):([^}]*)'.$this->right_delimiter.'/', $page, $var)) {
-      foreach ($var[2] as $cnt => $tag) {
-        /* Determine Command (echo / $obj[n]=) */
-        list($cmd, $tag)  =  $this->cmd_name($tag);
-
-        $extension  =  $var[1][$cnt];
-        if (!isset($this->extension_tagged[$extension])) {
-          $header .= 'include_once "'.$this->extensions_dir."/".$this->extension_prefix."$extension.php\";\n";
-          $this->extension_tagged[$extension]  =  true;
-        }
-        if (!strlen($tag)) {
-          $code  =  "<?php\n$cmd ".$this->extension_prefix."$extension();\n?>\n";
-        } elseif (substr($tag, 0, 1) == '"') {
-          $code  =  "<?php\n$cmd ".$this->extension_prefix."$extension($tag);\n?>\n";
-        } elseif (strpos($tag, ',')) {
-          list($tag, $addparam)  =  explode(',', $tag, 2);
-          list($block, $skalar)  =  $this->var_name($tag);
-          if (preg_match('/^([a-zA-Z_]+)/', $addparam, $match)) {
-            $nexttag   =  $match[1];
-            list($nextblock, $nextskalar)  =  $this->var_name($nexttag);
-            $addparam  =  substr($addparam, strlen($nexttag));
-            $code  =  "<?php\n$cmd ".$this->extension_prefix."$extension(\$$block"."['$skalar'],\$$nextblock"."['$nextskalar']"."$addparam);\n?>\n";
-          } else {
-            $code  =  "<?php\n$cmd ".$this->extension_prefix."$extension(\$$block"."['$skalar'],$addparam);\n?>\n";
-          }
-        } else {
-          list($block, $skalar) = $this->var_name($tag);
-          $code  =  "<?php\n$cmd ".$this->extension_prefix."$extension(\$$block"."['$skalar']);\n?>\n";
-        }
-        $page  =  str_replace($var[0][$cnt],  $code,  $page);
-      }
-    }
-
-    /* Add Include Header */
-    if (isset($header) && !empty($header)) {
-      $page  =  "<?php\n$header\n?>$page";
-    }
-
-	/* use_common_placeholders */
-	if(function_exists('use_common_placeholders')){
-		$page = use_common_placeholders($page);
-	}
-	
-    /* do substitutions on included supplementary templates */
-    $page = $this->worx_tpl_swap($page, $data, $supp_templates);
-
-    /* Store Code to Temp Dir */
-    if (strlen($compiled_template_filename)) {
-      if ($hd  =  fopen($compiled_template_filename,  'w')) {
-        fwrite($hd,  $page);
-        fclose($hd);
-        return true;
-      } else {
-        $this->error  =  'Could not write compiled file.';
-        return false;
-      }
-    } else {
-      return $page;
-    }
-  }
-
-  /* Splits Template-Style Variable Names into an Array-Name/Key-Name Components
-   * {example}               :  array( "_obj",                   "example" )  ->  $_obj['example']
-   * {example.value}         :  array( "_obj['example']",        "value" )    ->  $_obj['example']['value']
-   * {example.0.value}       :  array( "_obj['example'][0]",     "value" )    ->  $_obj['example'][0]['value']
-   * {top.example}           :  array( "_stack[0]",              "example" )  ->  $_stack[0]['example']
-   * {parent.example}        :  array( "_stack[$_stack_cnt-1]",  "example" )  ->  $_stack[$_stack_cnt-1]['example']
-   * {parent.parent.example} :  array( "_stack[$_stack_cnt-2]",  "example" )  ->  $_stack[$_stack_cnt-2]['example']
-   * @param string $tag Variale Name used in Template
-   * @return array  Array Name, Key Name
-   * @access private
-   * @desc Splits Template-Style Variable Names into an Array-Name/Key-Name Components
-   */
-  function var_name($tag) {
-    $parent_level  =  0;
-    while (substr($tag, 0, 7) == 'parent.') {
-      $tag  =  substr($tag, 7);
-      $parent_level++;
-    }
-    if (substr($tag, 0, 4) == 'top.') {
-      $obj  =  '_stack[0]';
-      $tag  =  substr($tag,4);
-    } elseif ($parent_level) {
-      $obj  =  '_stack[$_stack_cnt-'.$parent_level.']';
-    } else {
-      $obj  =  '_obj';
-    }
-    while (is_int(strpos($tag, '.'))) {
-      list($parent, $tag)  =  explode('.', $tag, 2);
-      if (is_numeric($parent)) {
-        $obj  .=  "[" . $parent . "]";
-      } else {
-        $obj  .=  "['" . $parent . "']";
-      }
-    }
-    $ret = array($obj, $tag);
-    return $ret;
-  }
-
-  /* Determine Template Command from Variable Name
-   * {variable}             :  array( "echo",              "variable" )  ->  echo $_obj['variable']
-   * {variable > new_name}  :  array( "_obj['new_name']=", "variable" )  ->  $_obj['new_name']= $_obj['variable']
-   * @param string $tag Variale Name used in Template
-   * @return array  Array Command, Variable
-   * @access private
-   * @desc Determine Template Command from Variable Name
-   */
-  function cmd_name($tag) {
-    if (preg_match('/^(.+) > ([a-zA-Z0-9_.]+)$/', $tag, $tagvar)) {
-      $tag  =  $tagvar[1];
-      list($newblock, $newskalar)  =  $this->var_name($tagvar[2]);
-      $cmd  =  "\$$newblock"."['$newskalar']=";
-    } else {
-      $cmd  =  'echo';
-    }
-    $ret = array($cmd, $tag);
-    return $ret;
-  }
-
-  /* @return int Number of subtemplate included
-   * @access private
-   * @desc Count number of subtemplates included in current template
-   */
-  function count_subtemplates() {
-    $ret = preg_match_all('/<!-- INCLUDE ([a-zA-Z0-9_.]+) -->/', $this->template, $tvar);
-    unset($tvar);
-    return $ret;
-  }
-
-  function worx_var_swap($tpldata, $data, $supp_templates) { /* do the substitution of the variables here */
-
-    /* replace all the template elements (sub templates) */
-    if ( is_array($supp_templates) && !empty($supp_templates) ) {
-      foreach ($supp_templates as $key => $val) {
-        $tpldata = str_replace("\{$key}", $val, $tpldata);
-      }
-    }
-    /* do the substitution of the directory names here */
-
-    return $tpldata;
-
-  }
-
-  function worx_tpl_swap($tpldata, $data, $supp_templates) { // do the substitution of the sub templates here 
-
-	// do the substitution of the directory names here
-	/*/
-    // do image link substitution 
-    if ( $data['tpl_img'] != '' && $data['url_img'] != '' ) {
-      $tpldata = str_replace($data['tpl_img'],$data['url_img'],$tpldata);
-      unset($data['tpl_img']);
-      unset($data['url_img']);
-    } elseif (defined(_URL_USRIMG)) {
-      $tpldata = str_replace('tplimgs/',_URL_USRIMG,$tpldata);
-    }
-    // do javascript link substitution
-    if ( $data['tpl_js'] != '' && $data['url_js'] != '' ) {
-      $tpldata = str_replace($data['tpl_js'],$data['url_js'],$tpldata);
-      unset($data['img_tpl']);
-      unset($data['url_js']);
-    } elseif (defined(_URL_USRJS)) {
-      $tpldata = str_replace('tpljs/',_URL_USRJS,$tpldata);
-    }
-    // do css link substitution
-    if ( $data['tpl_css'] != '' && $data['url_css'] != '' ) {
-      $tpldata = str_replace($data['tpl_css'],$data['url_css'],$tpldata);
-      unset($data['tpl_css']);
-      unset($data['url_css']);
-    } elseif (defined(_URL_USRCSS)) {
-      $tpldata = str_replace('url_css/',_URL_USRCSS,$tpldata);
-    }
-	/*/
-    return $tpldata;
-	
-  }
-
-}
-
-?>

Property changes on: branches/2.8.x/wb/include/quickSkin/_lib/quickSkin_28/class.quickskin.php
___________________________________________________________________
Deleted: svn:eol-style
## -1 +0,0 ##
-native
\ No newline at end of property
Deleted: svn:keywords
## -1 +0,0 ##
-Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin/_lib/quickSkin_28/index.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/quickSkin_28/index.php	(revision 1558)
+++ branches/2.8.x/wb/include/quickSkin/_lib/quickSkin_28/index.php	(nonexistent)
@@ -1,20 +0,0 @@
-<?php
-/**
- *
- * @category        Security
- * @package         FolderProtectFile
- * @author          WebsiteBaker Project
- * @copyright       2009-2011, Website Baker Org. e.V.
- * @link            http://www.websitebaker2.org/
- * @license         http://www.gnu.org/licenses/gpl.html
- * @platform        WebsiteBaker 2.8.x
- * @requirements    PHP 5.2.2 and higher
- * @version         $Id$
- * @filesource      $HeadURL$
- * @lastmodified    $Date$
- *
- */
-
-header('HTTP/1.1 301 Moved Permanently');
-header("Location: ../../index.php");
-

Property changes on: branches/2.8.x/wb/include/quickSkin/_lib/quickSkin_28/index.php
___________________________________________________________________
Deleted: svn:eol-style
## -1 +0,0 ##
-native
\ No newline at end of property
Deleted: svn:keywords
## -1 +0,0 ##
-Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin/class.quickskindebugger.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/class.quickskindebugger.php	(revision 1558)
+++ branches/2.8.x/wb/include/quickSkin/class.quickskindebugger.php	(nonexistent)
@@ -1,384 +0,0 @@
-<?php
-/*~ class.quickskindebugger.php
-.---------------------------------------------------------------------------.
-|  Software: QuickSkinDebugger Class * Used by QuickSkin Class              |
-|   Version: 5.0                                                            |
-|   Contact: andy.prevost@worxteam.com,andy@codeworx.ca                     |
-|      Info: http://quickskin.sourceforge.net                               |
-|   Support: http://sourceforge.net/projects/quickskin/                     |
-| ------------------------------------------------------------------------- |
-|    Author: Andy Prevost andy.prevost@worxteam.com (admin)                 |
-|    Author: Manuel 'EndelWar' Dalla Lana endelwar@aregar.it (former admin) |
-|    Author: Philipp v. Criegern philipp@criegern.com (original founder)    |
-| Copyright (c) 2002-2009, Andy Prevost. All Rights Reserved.               |
-|    * NOTE: QuickSkin is the SmartTemplate project renamed. SmartTemplate  |
-|            information and downloads can still be accessed at the         |
-|            smarttemplate.sourceforge.net site                             |
-| ------------------------------------------------------------------------- |
-|   License: Distributed under the Lesser General Public License (LGPL)     |
-|            http://www.gnu.org/copyleft/lesser.html                        |
-| This program is distributed in the hope that it will be useful - WITHOUT  |
-| ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or     |
-| FITNESS FOR A PARTICULAR PURPOSE.                                         |
-| ------------------------------------------------------------------------- |
-| We offer a number of paid services:                                       |
-| - Web Hosting on highly optimized fast and secure servers                 |
-| - Technology Consulting                                                   |
-| - Oursourcing (highly qualified programmers and graphic designers)        |
-'---------------------------------------------------------------------------'
-Last modified: January 01 2009 ~*/
-
-/* designed to work with PHP5 - will NOT work with PHP4 */
-
-class QuickSkinDebugger {
-
-  /* The template Filename
-   * @access private
-   */
-  private $filename;
-
-  /* The template itself
-   * @access private
-   */
-  private $template;
-
-  /* Default Left delimiter
-   * Can be overwritten by global configuration array $_CONFIG['left_delimiter']
-   * @access public
-   */
-  private $left_delimiter =  '{';
-
-  /* Default Right delimiter
-   * Can be overwritten by global configuration array $_CONFIG['right_delimiter']
-   * @access public
-   */
-  private $right_delimiter =  '}';
-
-  /* QuickSkinDebugger Constructor
-   * @param string $template_filename HTML Template Filename
-   */
-  function __construct( $template_filename, $right_delimiter = '}', $left_delimiter = '{' ) {
-    $this->filename  =  $template_filename;
-
-    /* Load Template */
-    if ($hd  =  @fopen($template_filename,  'r')) {
-      $this->template  =  fread($hd,  filesize($template_filename));
-      fclose($hd);
-    } else {
-      $this->template  =  'QuickSkin Debugger Error: File not found: ' . $template_filename;
-    }
-    $this->tab[0]  =  '';
-    for ($i=1;  $i < 10;  $i++) {
-      $this->tab[$i]  =  str_repeat('    ', $i);
-    }
-    $this->right_delimiter = $right_delimiter;
-    $this->left_delimiter = $left_delimiter;
-  }
-
-  /* Main Template Parser
-   * @param string $compiled_template_filename Compiled Template Filename
-   * @desc Creates Compiled PHP Template
-   */
-  function start ( $vars ) {
-    $page  =  $this->template;
-
-    $page  =  preg_replace("/(<!-- BEGIN [ a-zA-Z0-9_.]* -->)/",  "\n$1\n",  $page);
-    $page  =  preg_replace("/(<!-- IF .+? -->)/",  "\n$1\n",  $page);
-    $page  =  preg_replace("/(<!-- END.*? -->)/",  "\n$1\n",  $page);
-    $page  =  preg_replace("/(<!-- ELSEIF .+? -->)/",  "\n$1\n",  $page);
-    $page  =  preg_replace("/(<!-- ELSE [ a-zA-Z0-9_.]*-->)/",  "\n$1\n",  $page);
-
-    $page  =  $this->highlight_html($page);
-
-    $rows      =  explode("\n",  $page);
-    $page_arr  =  array();
-    $level     =  0;
-    $blocklvl  =  0;
-    $rowcnt    =  0;
-    $spancnt   =  0;
-    $offset    =  22;
-    $lvl_block =  array();
-    $lvl_row   =  array();
-    $lvl_typ   =  array();
-    foreach ($rows as $row) {
-      if ($row  =  trim($row)) {
-        $closespan  =  false;
-        if (substr($row, $offset, 12) == '&lt;!-- END ') {
-          if ($level < 1) {
-            $level++;
-            $error[$rowcnt]  =  'END Without BEGIN';
-          } elseif ($lvl_typ[$level] != 'BEGIN') {
-            $error[$lvl_row[$level]]  =  'IF without ENDIF';
-            $error[$rowcnt]  =  'END Without BEGIN';
-          }
-          $blocklvl--;
-          $level--;
-          $closespan  =  true;
-        }
-        if (substr($row, $offset, 14) == '&lt;!-- ENDIF ') {
-          if ($level < 1) {
-            $level++;
-            $error[$rowcnt]  =  'ENDIF Without IF';
-          } elseif ($lvl_typ[$level] != 'IF') {
-            $error[$lvl_row[$level]]  =  'BEGIN without END';
-            $error[$rowcnt]  =  'ENDIF Without IF';
-          }
-          $closespan  =  true;
-          $level--;
-        }
-        if ($closespan) {
-          $page_arr[$rowcnt-1]  .=  '</span>';
-        }
-        $this_row  =  $this->tab[$level] . $row;
-        if (substr($row, $offset, 12) == '&lt;!-- ELSE') {
-          if ($level < 1) {
-            $error[$rowcnt]  =  'ELSE Without IF';
-          } elseif ($lvl_typ[$level] != 'IF') {
-            $error[$rowcnt]  =  'ELSE Without IF';
-          } else {
-            $this_row  =  $this->tab[$level-1] . $row;
-          }
-        }
-        if (substr($row, $offset, 14) == '&lt;!-- BEGIN ') {
-          if ($blocklvl == 0) {
-            if ($lp = strpos($row, '--&gt;')) {
-              if ($blockname  =  trim(substr($row, $offset + 14, $lp -$offset -14))) {
-                if ($nr = count($vars[$blockname])) {
-                  $this_row  .=  $this->toggleview($nr . ' Entries');
-                } else {
-                  $this_row  .=  $this->toggleview('Emtpy');
-                }
-              }
-            }
-          } else {
-            $this_row  .=  $this->toggleview('[');
-          }
-          $blocklvl++;
-          $level++;
-          $lvl_row[$level]  =  $rowcnt;
-          $lvl_typ[$level]  =  'BEGIN';
-        } elseif (substr($row, $offset, 11) == '&lt;!-- IF ') {
-          $level++;
-          $lvl_row[$level]  =  $rowcnt;
-          $lvl_typ[$level]  =  'IF';
-          $this_row  .=  $this->toggleview();
-        }
-        $page_arr[]  =  $this_row;
-        $lvl_block[$rowcnt]  =  $blocklvl;
-        $rowcnt++;
-      }
-    }
-    if ($level > 0) {
-      $error[$lvl_row[$level]]  =  'Block not closed';
-    }
-
-    $page  =  join("\n", $page_arr);
-    $rows  =  explode("\n",  $page);
-    $cnt   =  count($rows);
-
-    for ($i = 0;  $i < $cnt;  $i++) {
-      /* Add Errortext */
-      if (isset($error)) {
-        if ($err = $error[$i]) {
-          $rows[$i]  =  '<b>' . $rows[$i] . '        ERROR: ' . $err . '!</b>';
-        }
-      }
-
-      /* Replace Scalars */
-      $right_delimiter = preg_quote($this->right_delimiter);
-      $left_delimiter = preg_quote($this->left_delimiter);
-      if (preg_match_all("/$left_delimiter([a-zA-Z0-9_. &;]+)$right_delimiter/", $rows[$i], $var)) {
-        foreach ($var[1] as $tag) {
-          $fulltag  =  $tag;
-          if ($delim = strpos($tag, ' &gt; ')) {
-            $tag  =  substr($tag, 0, $delim);
-          }
-          if (substr($tag, 0, 4) == 'top.') {
-            $title  =  $this->tip($vars[substr($tag, 4)]);
-          } elseif ($lvl_block[$i] == 0) {
-            $title  =  $this->tip($vars[$tag]);
-          } else {
-            $title  =  '[BLOCK?]';
-          }
-          $code  =  '<b title="' . $title . '">' . $left_delimiter . $fulltag . $right_delimiter . '</b>';
-          $rows[$i]  =  str_replace('{'.$fulltag.'}',  $code,  $rows[$i]);
-        }
-      }
-
-      /* Replace Extensions */
-      if (preg_match_all("/$left_delimiter([a-zA-Z0-9_]+):([^}]*)$right_delimiter/", $rows[$i], $var)) {
-        foreach ($var[2] as $tmpcnt => $tag) {
-          $fulltag  =  $tag;
-          if ($delim = strpos($tag, ' &gt; ')) {
-            $tag  =  substr($tag, 0, $delim);
-          }
-          if (strpos($tag, ',')) {
-            list($tag, $addparam)  =  explode(',', $tag, 2);
-          }
-          $extension  =  $var[1][$tmpcnt];
-
-          if (substr($tag, 0, 4) == 'top.') {
-            $title  =  $this->tip($vars[substr($tag, 4)]);
-          } elseif ($lvl_block[$i] == 0) {
-            $title  =  $this->tip($vars[$tag]);
-          } else {
-            $title  =  '[BLOCK?]';
-          }
-          $code  =  '<b title="' . $title . '">' . $this->left_delimiter . $extension . ':' . $fulltag . $this->right_delimiter . '</b>';
-          $rows[$i]  =  str_replace($this->left_delimiter . $extension . ':' . $fulltag . $this->right_delimiter,  $code,  $rows[$i]);
-        }
-      }
-
-      /* 'IF nnn' Blocks */
-      if (preg_match_all('/&lt;!-- IF ([a-zA-Z0-9_.]+) --&gt;/', $rows[$i], $var)) {
-        foreach ($var[1] as $tag) {
-          if (substr($tag, 0, 4) == 'top.') {
-            $title  =  $this->tip($vars[substr($tag, 4)]);
-          } elseif ($lvl_block[$i] == 0) {
-            $title  =  $this->tip($vars[$tag]);
-          } else {
-            $title  =  '[BLOCK?]';
-          }
-          $code  =  '<span title="' . $title . '">&lt;!-- IF ' . $tag . ' --&gt;</span>';
-          $rows[$i]  =  str_replace("&lt;!-- IF $tag --&gt;",  $code,  $rows[$i]);
-          if ($title == '[NULL]') {
-            $rows[$i]  =  str_replace('Hide',  'Show',  $rows[$i]);
-            $rows[$i]  =  str_replace('block',  'none',  $rows[$i]);
-          }
-        }
-      }
-    }
-    $page  =  join('<br>', $rows);
-
-    /* Print Header */
-    echo '<html><head><script type="text/javascript">
-        function toggleVisibility(el, src) {
-        var v = el.style.display == "block";
-        var str = src.innerHTML;
-        el.style.display = v ? "none" : "block";
-        src.innerHTML = v ? str.replace(/Hide/, "Show") : str.replace(/Show/, "Hide");}
-        </script></head><body>';
-
-    /* Print Index */
-    echo '<font face="Arial" Size="3"><b>';
-    echo 'QuickSkin Debugger<br>';
-    echo '<font size="2"><li>PHP-Script: ' . $_SERVER['SCRIPT_FILENAME'] . '</li><li>Template: ' . $this->filename . '</li></font><hr>';
-    echo '<li><a href="#template_code">Template</a></li>';
-    echo '<li><a href="#compiled_code">Compiled Template</a></li>';
-    echo '<li><a href="#data_code">Data</a></li>';
-    echo '</b></font><hr>';
-
-    /* Print Template */
-    echo '<a name="template_code"><br><font face="Arial" Size="3"><b>Template:</b>&nbsp;[<a href="javascript:void(\'\');" onclick="toggleVisibility(document.getElementById(\'Template\'), this); return false">Hide Ouptut</a>]</font><br>';
-    echo '<table border="0" cellpadding="4" cellspacing="1" width="100%" bgcolor="#C6D3EF"><tr><td bgcolor="#F0F0F0"><pre id="Template" style="display:block">';
-    echo $page;
-    echo '</pre></td></tr></table>';
-
-    /* Print Compiled Template */
-    if (@include_once ("class.quickskinparser.php")) {
-      $parser = new QuickSkinParser($this->filename);
-      $compiled  =  $parser->compile();
-      echo '<a name="compiled_code"><br><br><font face="Arial" Size="3"><b>Compiled Template:</b>&nbsp;[<a href="javascript:void(\'\');" onclick="toggleVisibility(document.getElementById(\'Compiled\'), this); return false">Hide Ouptut</a>]</font><br>';
-      echo '<table border="0" cellpadding="4" cellspacing="1" width="100%" bgcolor="#C6D3EF"><tr><td bgcolor="#F0F0F0"><pre id="Compiled" style="display:block">';
-      highlight_string($compiled);
-      echo '</pre></td></tr></table>';
-    } else {
-      exit( "QuickSkin Error: Cannot find class.quickskinparser.php; check QuickSkin installation");
-    }
-
-    /* Print Data */
-    echo '<a name="data_code"><br><br><font face="Arial" Size="3"><b>Data:</b>&nbsp;[<a href="javascript:void(\'\');" onclick="toggleVisibility(document.getElementById(\'Data\'), this); return false">Hide Ouptut</a>]</font><br>';
-    echo '<table border="0" cellpadding="4" cellspacing="1" width="100%" bgcolor="#C6D3EF"><tr><td bgcolor="#F0F0F0"><pre id="Data" style="display:block">';
-    echo $this->vardump($vars);
-    echo '</pre></td></tr></table></body></html>';
-  }
-
-  /* Insert Hide/Show Layer Switch
-   * @param string $suffix Additional Text
-   * @desc Insert Hide/Show Layer Switch
-   */
-  function toggleview ( $suffix = '') {
-    global $spancnt;
-
-    $spancnt++;
-    if ($suffix) {
-      $suffix  .=  ':';
-    }
-    $ret =  '[' . $suffix . '<a href="javascript:void(\'\');" onclick="toggleVisibility(document.getElementById(\'Block' . $spancnt . '\'), this); return false">Hide Block</a>]<span id="Block' . $spancnt . '" style="display:block">';
-    return $ret;
-  }
-
-  /* Create Title Text
-   * @param string $value Content
-   * @desc Create Title Text
-   */
-  function tip ( $value ) {
-    if (empty($value)) {
-      return '[NULL]';
-    } else {
-      $ret = htmlentities(substr($value,0,200));
-      return $ret;
-    }
-  }
-
-  /* Recursive Variable Display Output
-   * @param mixed $var Content
-   * @param int $depth Incremented Indent Counter for Recursive Calls
-   * @return string Variable Content
-   * @access private
-   * @desc Recursive Variable Display Output
-   */
-    function vardump($var, $depth = 0) {
-      if (is_array($var)) {
-        $result  =  "Array (" . count($var) . ")<BR>";
-        foreach(array_keys($var) as $key) {
-          $result  .=  $this->tab[$depth] . "<B>$key</B>: " . $this->vardump($var[$key],  $depth+1);
-        }
-        return $result;
-      } else {
-        $ret =  htmlentities($var) . '<BR>';
-        return $ret;
-      }
-    }
-
-  /* Splits Template-Style Variable Names into an Array-Name/Key-Name Components
-   * @param string $tag Variale Name used in Template
-   * @return array  Array Name, Key Name
-   * @access private
-   * @desc Splits Template-Style Variable Names into an Array-Name/Key-Name Components
-   */
-  function var_name($tag) {
-    $parent_level  =  0;
-    while (substr($tag, 0, 7) == 'parent.') {
-      $tag  =  substr($tag, 7);
-      $parent_level++;
-    }
-    if (substr($tag, 0, 4) == 'top.') {
-      $ret = array('_stack[0]', substr($tag,4));
-      return $ret;
-    } elseif ($parent_level) {
-      $ret = array('_stack[$_stack_cnt-'.$parent_level.']', $tag);
-      return $ret;
-    } else {
-      $ret = array('_obj', $tag);
-      return $ret;
-    }
-  }
-
-  /* Highlight HTML Source
-   * @param string $code HTML Source
-   * @return string Hightlighte HTML Source
-   * @access private
-   * @desc Highlight HTML Source
-   */
-  function highlight_html ( $code ) {
-    $code  =  htmlentities($code);
-    $code  =  preg_replace('/([a-zA-Z_]+)=/',  '<font color="#FF0000">$1=</font>',  $code);
-    $code  =  preg_replace('/(&lt;[\/a-zA-Z0-9&;]+)/',  '<font color="#0000FF">$1</font>',  $code);
-    $code  =  str_replace('&lt;!--',  '<font color="#008080">&lt;!--',  $code);
-    $code  =  str_replace('--&gt;',  '--&gt;</font>',  $code);
-    $code  =  preg_replace('/[\r\n]+/',  "\n",  $code);
-    return $code;
-  }
-}
-?>

Property changes on: branches/2.8.x/wb/include/quickSkin/class.quickskindebugger.php
___________________________________________________________________
Deleted: svn:eol-style
## -1 +0,0 ##
-native
\ No newline at end of property
Deleted: svn:keywords
## -1 +0,0 ##
-Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin/wb_quickSkin_28.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/wb_quickSkin_28.php	(revision 1558)
+++ branches/2.8.x/wb/include/quickSkin/wb_quickSkin_28.php	(nonexistent)
@@ -1,113 +0,0 @@
-<?php
-/* -------------------------------------------------------- */
-if(defined('WB_PATH') == false)
-{
-	// Stop this file being access directly
-		die('<head><title>Access denied</title></head><body><h2 style="color:red;margin:3em auto;text-align:center;">Cannot access this file directly</h2></body></html>');
-}
-/* -------------------------------------------------------- */
-
-// use Debug Mode?
-$debugmode = false;
-
-$aMsg = array();
-require_once(WB_PATH.'/framework/functions.php');
-// COMPILED TEMPLATES
-$_CONFIG['quickskin_compiled'] = WB_PATH.'/temp/quickSkin/_skins_tmp/';
-if(!is_dir($_CONFIG['quickskin_compiled'])) {
-	$msg = createFolderProtectFile($_CONFIG['quickskin_compiled']);
-	if(sizeof($msg)) {
-		// $admin->print_error($MESSAGE['GENERIC_BAD_PERMISSIONS'],$module_overview_link );
-		$aMsg[] = $msg;
-	}
-}
-
-// CACHED FILES
-$_CONFIG['quickskin_cache'] = WB_PATH.'/temp/quickSkin/_skins_cache/';
-if(!is_dir($_CONFIG['quickskin_cache'])) {
-	$msg = createFolderProtectFile($_CONFIG['quickskin_cache']);
-	if(sizeof($msg)) {
-		//$admin->print_error($MESSAGE['GENERIC_BAD_PERMISSIONS'],$module_overview_link );
-		$aMsg[] = $msg;
-	}
-}
-$_CONFIG['cache_lifetime'] = 600;
-
-// EXTENTSIONS DIR
-$_CONFIG['extensions_dir'] = str_replace('\\','/', dirname(__FILE__).'/_lib/qx'); 
-
-require_once (WB_PATH.'/include/quickSkin/_lib/quickSkin_28/class.quickskin.php');
-
-
-/**
-	SET UP COMPRESSION 
-*/
-if ( ini_get( 'zlib.output_compression' )  && ini_get( 'zlib.output_compression_level' ) != 5 ) {
-  ini_set( 'zlib.output_compression_level', '5' );
-  ob_start();
-}
-/**
- * use_common_placeholders
- * 
- * This function is for QuickSkins internal use.
- * It will replace common placeholders to ease the work 
- * and the creation of modules and its templates
- * This function is called in the class.quickskin.php
- *
- */
-
-/**
- * use_common_placeholders
- * 
- * This function is for QuickSkins internal use.
- * It will replace common placeholders to ease the work 
- * and the creation of modules and its templates
- * This function is called in the class.quickskin.php
- *
- */
-
-function use_common_placeholders($text) {
-
-	/**
-		This function makes possible to use the following PLACEHOLDERS within your modules.
-		Works good in PAGE Type and ADMIN TOOL Type modules.
-		As of date 12-18-2011, SNIPPET Type Modules weren't tested
-		[MODULE_NAME]
-		[MODULE_URL]
-
-		[WB_URL]
-		[ADMIN_URL]
-		[THEME_URL]
-		[MEDIA_DIRECTORY]
-			
-		[TEMPLATE_DIR]
-		[TEMPLATE_NAME]
-		[TEMPLATE]
-
-	*/
-	switch (TRUE){
-		case isset($GLOBALS['tool']): $MOD_NAME = $GLOBALS['tool']; break;  // AdminTool
-		case isset($GLOBALS['section']['module']): $MOD_NAME = $GLOBALS['section']['module']; break;  // PageType Module
-		case isset($GLOBALS['module_dir']): $MOD_NAME = $GLOBALS['module_dir']; break;  // SnippetType Module
-		default: $MOD_NAME = FALSE;
-	
-	}
-	
-	if(isset($MOD_NAME)) {
-		$text = str_replace('[MODULE_NAME]', $MOD_NAME, $text);
-		$text = str_replace('[MODULE_URL]', WB_URL.'/modules/'.$MOD_NAME, $text);
-	}	
-	
-	// WB CONSTANTS (frontend only)
-	if(defined('TEMPLATE_DIR'))	 $text = str_replace('[TEMPLATE_DIR]', TEMPLATE_DIR, $text);
-	if(defined('TEMPLATE_NAME')) $text = str_replace('[TEMPLATE_NAME]', TEMPLATE_NAME, $text);
-	if(defined('TEMPLATE'))	     $text = str_replace('[TEMPLATE]', TEMPLATE, $text);	
-	
-	// WB CONSTANTS (always accessible) 
-	$text = str_replace('[WB_URL]', WB_URL, $text);	
-	$text = str_replace('[ADMIN_URL]', ADMIN_URL, $text);
-	$text = str_replace('[MEDIA_DIRECTORY]', MEDIA_DIRECTORY, $text);
-	$text = str_replace('[THEME_URL]', THEME_URL, $text);
-		
-	return $text;
-}
\ No newline at end of file

Property changes on: branches/2.8.x/wb/include/quickSkin/wb_quickSkin_28.php
___________________________________________________________________
Deleted: svn:eol-style
## -1 +0,0 ##
-native
\ No newline at end of property
Deleted: svn:keywords
## -1 +0,0 ##
-Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin/index.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/index.php	(revision 1558)
+++ branches/2.8.x/wb/include/quickSkin/index.php	(nonexistent)
@@ -1,20 +0,0 @@
-<?php
-/**
- *
- * @category        Security
- * @package         FolderProtectFile
- * @author          WebsiteBaker Project
- * @copyright       2009-2011, Website Baker Org. e.V.
- * @link            http://www.websitebaker2.org/
- * @license         http://www.gnu.org/licenses/gpl.html
- * @platform        WebsiteBaker 2.8.x
- * @requirements    PHP 5.2.2 and higher
- * @version         $Id$
- * @filesource      $HeadURL$
- * @lastmodified    $Date$
- *
- */
-
-header('HTTP/1.1 301 Moved Permanently');
-header("Location: ../../index.php");
-

Property changes on: branches/2.8.x/wb/include/quickSkin/index.php
___________________________________________________________________
Deleted: svn:eol-style
## -1 +0,0 ##
-native
\ No newline at end of property
Deleted: svn:keywords
## -1 +0,0 ##
-Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_layoutfield.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_layoutfield.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_layoutfield.php	(revision 1559)
@@ -0,0 +1,19 @@
+<?php
+  /**
+  * QuickSkin Extension layoutfield
+  * This function is to be used with WebsiteBakers Layout-Fields
+  * Layout-Fields are mostly <textarea> fields, where the modules Frontend Template is specified
+  *
+  * Usage Example:
+  * Content:  $template->assign('loop_template', $settings['loop']);  
+  * Template: <textarea name="loop" rows="10" cols="1">{layoutfield:loop_template}</textarea>
+  *
+  * @author WebsiteBaker Org e.V.
+  */
+  function qx_layoutfield( $db_string ) {
+  // Set raw html <'s and >'s to be replaced by friendly html code to be used in Layout Fields
+	$raw = array('<', '>');
+	$friendly = array('&lt;', '&gt;');
+	
+    return str_replace( $raw, $friendly, $db_string );
+  }

Property changes on: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_layoutfield.php
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_db_date.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_db_date.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_db_date.php	(revision 1559)
@@ -0,0 +1,21 @@
+<?php
+  /**
+  * QuickSkin Extension db_date
+  * Convert Oracle Date (British Format) to Local Formatted Date
+  *
+  * Usage Example:
+  * Content:  $template->assign('UPDATE', $result['LAST_UPDATE_DATE_TIME']);
+  * Template: Last update: {db_date:UPDATE}
+  * Result:   Last update: 30.01.2003
+  *
+  * @author Andy Prevost andy@codeworxtech.com - original by Philipp v. Criegern philipp@criegern.de
+  */
+  function qx_db_date ( $param ) {
+    global $configuration;
+
+    if (preg_match('/\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}/', $param)) {
+      return date( $configuration['date_format'],  strtotime($param) );
+    } else {
+      return 'Invalid date format!';
+    }
+  }

Property changes on: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_db_date.php
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_substr.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_substr.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_substr.php	(revision 1559)
@@ -0,0 +1,19 @@
+<?php
+  /**
+  * QuickSkin Extension substr
+  * Insert specific part of a string
+  *
+  * Usage Example:
+  * Content:  $template->assign('HEADLINE', 'My Title');
+  * Template: <font size=4>{substr:HEADLINE,0,1}</font>{substr:HEADLINE,1}
+  * Result:   <font size=4>M</font>y Title
+  *
+  * @author Andy Prevost andy@codeworxtech.com - original by Philipp v. Criegern philipp@criegern.de
+  */
+  function qx_substr ( $param, $lim0 = 0, $lim1 = 0 ) {
+    if ($lim1) {
+      return substr( $param, $lim0, $lim1 );
+    } else {
+      return substr( $param, $lim0 );
+    }
+  }

Property changes on: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_substr.php
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_lowercase.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_lowercase.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_lowercase.php	(revision 1559)
@@ -0,0 +1,15 @@
+<?php
+  /**
+  * QuickSkin Extension lowercase
+  * Converts String to lowercase
+  *
+  * Usage Example:
+  * Content:  $template->assign('NAME', 'John Doe');
+  * Template: Username: {lowercase:NAME}
+  * Result:   Username: john doe
+  *
+  * @author Andy Prevost andy@codeworxtech.com - original by Philipp v. Criegern philipp@criegern.de
+  */
+  function qx_lowercase ( $param ) {
+    return strtolower( $param );
+  }

Property changes on: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_lowercase.php
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_mailto.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_mailto.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_mailto.php	(revision 1559)
@@ -0,0 +1,46 @@
+<?php
+  /**
+  * QuickSkin Extension mailto
+  * creates Mailto-Link from email address
+  *
+  * Usage Example:
+  * Content:  $template->assign('CONTACT', 'philipp@criegern.de' );
+  * Template: Mail to Webmaster: {mailto:CONTACT}
+  * Result:   Mail to Webmaster: <a href="mailto:philipp@criegern.de">philipp@criegern.de</a>
+  *
+  * @author Andy Prevost andy@codeworxtech.com
+  */
+  function qx_mailto ( $param,$name='',$encode=false ) {
+    if ($encode === false) {
+      if ( $name != '' ) {
+        return '<a href="mailto:' . $param . '">' . $name . '</a>';
+      } else {
+        return '<a href="mailto:' . $param . '">' . $param . '</a>';
+      }
+    } else {
+      $obfuscatedMailTo = '';
+      $mailto = "mailto:";
+      $length = strlen($mailto);
+      for ($i = 0; $i < $length; $i++) {
+        $obfuscatedMailTo .= "&#" . ord($mailto[$i]);
+      }
+      $mailto = $param;
+      $length = strlen($mailto);
+      $param  = '';
+      for ($i = 0; $i < $length; $i++) {
+        $param .= "&#" . ord($mailto[$i]);
+      }
+      if ( $name != '' ) {
+        $mailto = $name;
+        $length = strlen($mailto);
+        $name  = '';
+        for ($i = 0; $i < $length; $i++) {
+          $name .= "&#" . ord($mailto[$i]);
+        }
+        return '<a href="' . $obfuscatedMailTo . ':' . $param . '">' . $name . '</a>';
+      } else {
+        return '<a href="' . $obfuscatedMailTo . ':' . $param . '">' . $param . '</a>';
+      }
+
+    }
+  }

Property changes on: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_mailto.php
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_WB_HEADING.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_WB_HEADING.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_WB_HEADING.php	(revision 1559)
@@ -0,0 +1,17 @@
+<?php
+  /**
+  * QuickSkin Extension WB_HEADING
+  * This function will replace the string with the value of WebsiteBaker CMS's $HEADING[] array 
+  *
+  * Usage Example:
+  * in Template use:{WB_HEADING:"GENERAL_SETTINGS"}
+  *	returns the translated string
+  *
+  * @author WebsiteBaker Org e.V.
+  *
+  */
+function qx_WB_HEADING ( $var ) {
+	$LANG_ARRAY = $GLOBALS['HEADING'];		
+	$ret_val = isset($LANG_ARRAY[$var]) ? $LANG_ARRAY[$var] : ('<span style="color:#777">'.$var.'</span>');
+	return $ret_val;	
+}

Property changes on: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_WB_HEADING.php
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_number.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_number.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_number.php	(revision 1559)
@@ -0,0 +1,30 @@
+<?php
+  /**
+  * QuickSkin Extension number
+  * Format a number with grouped thousands
+  *
+  * Usage Example:
+  * Content:  $template->assign('SUM', 2500000);
+  * Template: Current balance: {number:SUM}
+  * Result:   Current balance: 2.500.000,00
+  *
+  * @author Andy Prevost andy@codeworxtech.com - original by Philipp v. Criegern philipp@criegern.de
+  */
+  function qx_number ( $param ) {
+    global $_CONFIG;
+
+    $decimalChar = ',';
+    if ( !empty($_CONFIG['decimal_char']) ) {
+      $decimalChar = $_CONFIG['decimal_char'];
+    }
+    $decimalPlaces = 2;
+    if ( !empty($_CONFIG['decimal_places']) ) {
+      $decimalPlaces = $_CONFIG['decimal_places'];
+    }
+    $thousandsSep = '.';
+    if ( !empty($_CONFIG['thousands_sep']) ) {
+      $thousandsSep = $_CONFIG['thousands_sep'];
+    }
+
+    return number_format( $param, $decimalChar, $decimalPlaces, $thousandsSep );
+  }

Property changes on: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_number.php
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_count.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_count.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_count.php	(revision 1559)
@@ -0,0 +1,16 @@
+<?php
+  /**
+  * QuickSkin Extension count
+  * count element of an array
+  *
+  * Usage Example:
+  * Content:  $template->assign('list', array('a','b'));
+  * Template: count: {count:list}
+  * Result:   count: 2
+  *
+  * @author Andy Prevost andy@codeworxtech.com - original by Philipp v. Criegern philipp@criegern.de
+  */
+  function qx_count ( $param ) {
+    $temp = count( $param );
+    return $temp;
+  }

Property changes on: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_count.php
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_current_datetime.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_current_datetime.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_current_datetime.php	(revision 1559)
@@ -0,0 +1,20 @@
+<?php
+  /**
+  * QuickSkin Extension current_datetime
+  * Print Current Date and Time
+  *
+  * Usage Example:
+  * Template: Time: {current_datetime:}
+  * Result:   Time: 01.01.2009 - 12:46:00
+  *
+  * @author Andy Prevost andy@codeworxtech.com - original by Philipp v. Criegern philipp@criegern.de
+  */
+  function qx_current_datetime () {
+    global $_CONFIG;
+
+    $datetimeFormat = 'F j, Y H:i:s';
+    if ( !empty($_CONFIG['datetime_format']) ) {
+      $datetimeFormat = $_CONFIG['datetime_format'];
+    }
+    return date( $datetimeFormat );
+  }

Property changes on: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_current_datetime.php
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_nvl.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_nvl.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_nvl.php	(revision 1559)
@@ -0,0 +1,19 @@
+<?php
+  /**
+  * QuickSkin Extension nvl
+  * Insert a default value if variable is empty
+  *
+  * Usage Example:
+  * Content:  $template->assign('PREVIEW1', 'picture_21.gif');
+  * Template: <img src="{nvl:PREVIEW1,'not_available.gif'}"> / <img src="{nvl:PREVIEW2,'not_available.gif'}">
+  * Result:   <img src="picture_21.gif"> / <img src="not_available.gif">
+  *
+  * @author Andy Prevost andy@codeworxtech.com - original by Philipp v. Criegern philipp@criegern.de
+  */
+  function qx_nvl ( $param, $default ) {
+    if (strlen($param)) {
+      return ( $param );
+    } else {
+      return ( $default );
+    }
+  }

Property changes on: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_nvl.php
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_db_datetime.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_db_datetime.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_db_datetime.php	(revision 1559)
@@ -0,0 +1,21 @@
+<?php
+  /**
+  * QuickSkin Extension db_datetime
+  * Convert Oracle Date (British Format) to Local Formatted Date and Time
+  *
+  * Usage Example:
+  * Content:  $template->assign('UPDATE', $result['LAST_UPDATE_DATE_TIME']);
+  * Template: Last update: {db_datetime:UPDATE}
+  * Result:   Last update: 30.01.2003 - 12:46:00
+  *
+  * @author Andy Prevost andy@codeworxtech.com - original by Philipp v. Criegern philipp@criegern.de
+  */
+  function qx_db_datetime ( $param ) {
+    global $configuration;
+
+    if (preg_match('/\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}/', $param)) {
+      return date( $configuration['datetime_format'],  strtotime($param) );
+    } else {
+      return 'Invalid date format!';
+    }
+  }

Property changes on: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_db_datetime.php
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_specialchars.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_specialchars.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_specialchars.php	(revision 1559)
@@ -0,0 +1,15 @@
+<?php
+  /**
+  * QuickSkin Extension specialchars
+  * Converts  HTML Entities 2 Special Characters
+  *
+  * Usage Example:
+  * Content:  $template->assign('NEXT', 'Next Page &gt;&gt;');
+  * Template: <a href="next.php">{specialchars:NEXT}</a>
+  * Result:   <a href="next.php">Next Page >></a>
+  *
+  * @author Andy Prevost andy@codeworxtech.com - original by Philipp v. Criegern philipp@criegern.de
+  */
+  function qx_specialchars ( $param ) {
+    return htmlspecialchars( $param );
+  }

Property changes on: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_specialchars.php
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_load_config.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_load_config.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_load_config.php	(revision 1559)
@@ -0,0 +1,54 @@
+<?php
+  /**
+  * QuickSkin Extension load_config
+  * Reads an INI-Style configuration file into an array
+  *
+  * Usage Example:
+  * Configuration File (parameter.ini):
+  *
+  *     PAGETITLE   =  Default Page Title
+  *     [colors]
+  *     BACKGROUND  =  #FFFFFF
+  *     TEXT        =  #000000
+  *
+  * Template:
+  *
+  *     {load_config:"parameter.ini","config"}
+  *     <title>{config.PAGETITLE}</title>
+  *     <body bgcolor="{config.colors.BACKGROUND}" text="{config.colors.TEXT}">
+  *
+  * Result:
+  *
+  *     <title>Default Page Title</title>
+  *     <body bgcolor="#FFFFFF" text="#000000">
+  *
+  * @author Andy Prevost andy@codeworxtech.com - original by Philipp v. Criegern philipp@criegern.de
+  */
+  function qx_load_config ( $filename,  $name = 'config' ) {
+    global $_top;
+
+    $section  =  null;
+    if (is_file($filename)) {
+      $cfgfile  =  file($filename);
+      if (is_array($cfgfile)) {
+        foreach ($cfgfile as $line) {
+          if (substr($line, 0, 1) != '#') {
+            if (substr($line, 0, 1) == '[') {
+              if ($rbr = strpos($line, ']')) {
+                $section  =  substr($line, 1, $rbr -1);
+              }
+            }
+            if ($tr = strpos($line, '=')) {
+              $k  =  trim(substr($line, 0, $tr));
+              $v  =  trim(substr($line, $tr+1));
+              if (isset($section)) {
+                $_top[$name][$section][$k]  =  $v;
+              } else {
+                $_top[$name][$k]  =  $v;
+              }
+            }
+          }
+        }
+      }
+    }
+  }

Property changes on: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_load_config.php
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_regex.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_regex.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_regex.php	(revision 1559)
@@ -0,0 +1,15 @@
+<?php
+  /**
+  * QuickSkin Extension regex
+  * Regular Expression String Replace
+  *
+  * Usage Example:
+  * Content:  $template->assign('NAME', '*My Document*');
+  * Template: Document Name: {regex:NAME,'/[^a-z0-9]/i','_'}
+  * Result:   Document Name: _My_Document_
+  *
+  * @author Andy Prevost andy@codeworxtech.com - original by Philipp v. Criegern philipp@criegern.de
+  */
+  function qx_regex ( $param, $pattern, $replace ) {
+    return preg_replace( $pattern, $replace, $param );
+  }

Property changes on: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_regex.php
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_replace.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_replace.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_replace.php	(revision 1559)
@@ -0,0 +1,15 @@
+<?php
+  /**
+  * QuickSkin Extension replace
+  * String Replace
+  *
+  * Usage Example:
+  * Content:  $template->assign('PATH', $path_tranlated);  //  C:\Apache\htdocs\php\test.php
+  * Template: Script Name: {replace:PATH,'\\','/'}
+  * Result:   Script Name: C:/Apache/htdocs/php/test.php
+  *
+  * @author Andy Prevost andy@codeworxtech.com - original by Philipp v. Criegern philipp@criegern.de
+  */
+  function qx_replace ( $param, $pattern, $replace ) {
+    return str_replace( $pattern, $replace, $param );
+  }

Property changes on: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_replace.php
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_trim.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_trim.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_trim.php	(revision 1559)
@@ -0,0 +1,15 @@
+<?php
+  /**
+  * QuickSkin Extension trim
+  * Removes leading and trailing Whitespaces and Line Feeds
+  *
+  * Usage Example:
+  * Content:  $template->assign('LINK', ' Click Here  ');
+  * Template: <a href="/">{trim:LINK}</a>
+  * Result:   <a href="/">Click Here</a>
+  *
+  * @author Andy Prevost andy@codeworxtech.com - original by Philipp v. Criegern philipp@criegern.de
+  */
+  function qx_trim ( $param ) {
+    return trim( $param );
+  }

Property changes on: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_trim.php
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_stringformat.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_stringformat.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_stringformat.php	(revision 1559)
@@ -0,0 +1,15 @@
+<?php
+  /**
+  * QuickSkin Extension stringformat
+  * Inserts a formatted String
+  *
+  * Usage Example:
+  * Content:  $template->assign('SUM', 25);
+  * Template: Current balance: {stringformat:SUM,'$ %01.2f'}
+  * Result:   Current balance: $ 25.00
+  *
+  * @author Andy Prevost andy@codeworxtech.com - original by Philipp v. Criegern philipp@criegern.de
+  */
+  function qx_stringformat ( $param, $format ) {
+    return sprintf( $format,  $param );
+  }

Property changes on: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_stringformat.php
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_lang.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_lang.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_lang.php	(revision 1559)
@@ -0,0 +1,13 @@
+<?php
+
+function qx_lang($var) {
+	$retval = '{'.$var.'}';
+	$arr = explode('_', $var);
+	$var0 = array_shift($arr);
+	while( sizeof($arr) > 0 ) {
+		$var1 = implode('_', $arr);
+		$retval = ( isset($GLOBALS[$var0][$var1]) ? $GLOBALS[$var0][$var1] : $retval );
+		$var0 .= '_'.array_shift($arr);
+	}
+	return $retval;
+}

Property changes on: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_lang.php
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_globals.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_globals.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_globals.php	(revision 1559)
@@ -0,0 +1,6 @@
+<?php
+function qx_globals($var) {
+	$retval = '{'.$var.'}';
+	$retval = (array_key_exists ( $var, $GLOBALS ) ? $GLOBALS[$var] : $retval);
+	return $retval;
+}

Property changes on: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_globals.php
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_session.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_session.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_session.php	(revision 1559)
@@ -0,0 +1,15 @@
+<?php
+  /**
+  * QuickSkin Extension session
+  * Print Content of Session variables
+  *
+  * Usage Example:
+  * Content:  $_SESSION['userName']  =  'Philipp von Criegern';
+  * Template: Current User: {session:"userName"}
+  * Result:   Current User: Philipp von Criegern
+  *
+  * @author Andy Prevost andy@codeworxtech.com - original by Philipp v. Criegern philipp@criegern.de
+  */
+  function qx_session ( $param ) {
+    return $_SESSION[$param];
+  }

Property changes on: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_session.php
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_truncate.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_truncate.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_truncate.php	(revision 1559)
@@ -0,0 +1,15 @@
+<?php
+  /**
+  * QuickSkin Extension truncate
+  * Restricts a String to a specific number characters
+  *
+  * Usage Example:
+  * Content:  $template->assign('TEASER', 'PHP 4.3.0RC1 has been released. This is the first release candidate');
+  * Template: News: {truncate:TEASER,50} ... [more]
+  * Result:   News: QuickSkin version 5.0 has been released. This is the first ... [more]
+  *
+  * @author Andy Prevost andy@codeworxtech.com - original by Philipp v. Criegern philipp@criegern.de
+  */
+  function qx_truncate ( $param, $size ) {
+    return substr( $param, 0, $size );
+  }

Property changes on: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_truncate.php
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_const.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_const.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_const.php	(revision 1559)
@@ -0,0 +1,9 @@
+<?php
+
+function qx_const($const) {
+        $retval = '{'.$const.'}';
+        if(defined($const)) {
+                $retval = constant($const);
+        }
+        return $retval;
+}
\ No newline at end of file

Property changes on: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_const.php
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_uppercase.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_uppercase.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_uppercase.php	(revision 1559)
@@ -0,0 +1,15 @@
+<?php
+  /**
+  * QuickSkin Extension uppercase
+  * Converts String to uppercase
+  *
+  * Usage Example:
+  * Content:  $template->assign('NAME', 'John Doe');
+  * Template: Username: {uppercase:NAME}
+  * Result:   Username: JOHN DOE
+  *
+  * @author Andy Prevost andy@codeworxtech.com - original by Philipp v. Criegern philipp@criegern.de
+  */
+  function qx_uppercase ( $param ) {
+    return strtoupper( $param );
+  }

Property changes on: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_uppercase.php
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_header.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_header.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_header.php	(revision 1559)
@@ -0,0 +1,21 @@
+<?php
+  /**
+  * QuickSkin Extension header
+  * Sends HTTP Header
+  *
+  * Usage Example:
+  * Content:  $template->assign( 'TITLE', 'SVG Template Demo:' );
+  *
+  * Template:
+  *     {header:"Content-type: image/svg+xml"}<?xml version="1.0" ?>
+  *     <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+  *     <svg width="300px" height="150px" style="shape-rendering:optimizeQuality;text-rendering:optimizeQuality">
+  *       <circle id="ball" cx="150" cy="75" r="50" style="fill:rgb(200,200,255)" />
+  *       <text x="70" y="80" id="title" style="font-face:Courier;font-size:12pt">{TITLE}</text>
+  *     </svg>
+  *
+  * @author Andy Prevost andy@codeworxtech.com - original by Philipp v. Criegern philipp@criegern.de
+  */
+  function qx_header ( $param ) {
+    header($param);
+  }

Property changes on: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_header.php
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_codesnippetstart.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_codesnippetstart.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_codesnippetstart.php	(revision 1559)
@@ -0,0 +1,24 @@
+<?php
+  /**
+  * QuickSkin Extension codesnippetstart
+  * required for the start of a code snippet
+  *
+  * Usage Example:
+  * Template: Code Snippet<br />{codesnippetstart:}
+  *
+  * @author Andy Prevost andy@codeworxtech.com
+  */
+  function qx_codesnippetstart ( $param='' ) {
+    /*
+    nogutter = no line numbers
+    nocontrols = no menu at top
+    collapse = = display nothing, menu at top will display '+ expand source'
+    firstline[value] = starting number to start count
+    showcolumns = shows "ruler" at top
+    */
+    if ( $param = '' ) {
+      return '<pre name="code" class="php">';
+    } else {
+      return '<pre name="code" class="php:' . $param . '">';
+    }
+  }

Property changes on: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_codesnippetstart.php
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_options.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_options.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_options.php	(revision 1559)
@@ -0,0 +1,32 @@
+<?php
+  /**
+  * QuickSkin Extension options
+  * Creates HTML DropDown Option list from an array
+  *
+  * Usage Example I:
+  * Content:  $template->assign('pick', array( "on", "off" ) );
+  * Template: Choose: <select name="onoff"> {options:pick} </select>
+  * Result:   Choose: <select name="onoff"> <option>on</option><option>off</option> </select>
+  *
+  * Usage Example II:
+  * Content:  $template->assign('color',   array( "FF0000" => "Red", "00FF00" => "Green", "0000FF" => "Blue" ) );
+  *           $template->assign('default', "00FF00" );
+  * Template: Color: <select name="col"> {options:color,default} </select>
+  * Result:   Color: <select name="col"> <option value="FF0000">Red</option><option value="00FF00" selected>Green</option><option value="0000FF">Blue</option> </select>
+  *
+  * @author Andy Prevost andy@codeworxtech.com - original by Philipp v. Criegern philipp@criegern.de
+  */
+  function qx_options ( $param,  $default = '_DEFAULT_' ) {
+    $output  =  '';
+    if (is_array($param)) {
+      $keyindex  =  0;
+      foreach ($param as $key => $value) {
+        if ($key==$keyindex++ && is_numeric($key)) {
+          $output  .=  '<option' . (($value == $default) ? '  selected="selected"' : '') . '>' . $value . '</option>';
+        } else {
+          $output  .=  '<option value="' . $key . '"' . (($key == $default) ? '  selected="selected"' : '') . '>' . $value . '</option>';
+        }
+      }
+    }
+    return $output;
+  }

Property changes on: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_options.php
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_dateformatgrid.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_dateformatgrid.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_dateformatgrid.php	(revision 1559)
@@ -0,0 +1,17 @@
+<?php
+  /**
+  * QuickSkin Extension dateformatgrid
+  * Changes Dateformat
+  *
+  * @author Andy Prevost andy@codeworxtech.com - original by Philipp v. Criegern philipp@criegern.de
+  */
+  function qx_dateformatgrid ( $param, $format = 'F j, Y' ) {
+    list($month,$day,$year,$hour,$minute,$second) = split("[-:T\.]", $param);
+
+    // handle empty values
+    if (! $hour) { $hour = '00'; }
+    if (! $minute) { $minute = '00'; }
+    if (! $second) { $second = '00'; }
+
+    return date( $format, mktime($hour, $minute, $second, $month, $day, $year));
+  }

Property changes on: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_dateformatgrid.php
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_encode.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_encode.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_encode.php	(revision 1559)
@@ -0,0 +1,16 @@
+<?php
+  /**
+  * QuickSkin Extension encode
+  * Encodes String (md5)
+  *
+  * Usage Example:
+  * Content:  $template->assign('ID', 123);
+  * Template: <a href="delete.php?id={encode:ID}">delete</a>
+  * Result:   <a href="delete.php?id=7B600B6476167773626A">delete</a>
+  *
+  * @author Andy Prevost andy@codeworxtech.com
+  */
+
+  function qx_encode ( $param ) {
+    return md5( $param );
+  }

Property changes on: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_encode.php
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_current_time.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_current_time.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_current_time.php	(revision 1559)
@@ -0,0 +1,20 @@
+<?php
+  /**
+  * QuickSkin Extension current_time
+  * Print Current Time
+  *
+  * Usage Example:
+  * Template: Time: {current_time:}
+  * Result:   Time: 12:46:00
+  *
+  * @author Andy Prevost andy@codeworxtech.com - original by Philipp v. Criegern philipp@criegern.de
+  */
+  function qx_current_time ($meridiem='A') {
+    global $_CONFIG;
+
+    $timeFormat = 'g:i:s ' . $meridiem;
+    if ( !empty($_CONFIG['time_format']) ) {
+      $timeFormat = $_CONFIG['time_format'];
+    }
+    return date( $timeFormat );
+  }

Property changes on: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_current_time.php
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_db_time.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_db_time.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_db_time.php	(revision 1559)
@@ -0,0 +1,21 @@
+<?php
+  /**
+  * QuickSkin Extension db_time
+  * Convert Oracle Date (British Format) to Local Formatted Time
+  *
+  * Usage Example:
+  * Content:  $template->assign('UPDATE', $result['LAST_UPDATE_DATE_TIME']);
+  * Template: Last update: {db_time:UPDATE}
+  * Result:   Last update: 12:46:00
+  *
+  * @author Andy Prevost andy@codeworxtech.com - original by Philipp v. Criegern philipp@criegern.de
+  */
+  function qx_db_time ( $param ) {
+    global $configuration;
+
+    if (preg_match('/\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}/', $param)) {
+      return date( $configuration['time_format'],  strtotime($param) );
+    } else {
+      return 'Invalid date format!';
+    }
+  }

Property changes on: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_db_time.php
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_mailtoencode.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_mailtoencode.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_mailtoencode.php	(revision 1559)
@@ -0,0 +1,104 @@
+<?php
+  /**
+  * QuickSkin Extension mailtoencode
+  * Protects email address from being scanned by spam bots
+  * and optionally builds full mailto: link
+  *
+  * Usage Example 1:
+  * Content:  $template->assign('AUTHOR', 'yourname@yourdomain.com' );
+  * Template: Author: {mailtoencode:AUTHOR}
+  * Result:   Author: <a href="&#109&#97&#105&#108&#116&#111&#58&#121;&#111;&#117;&#114;&#110;&#97;&#109;&#101;&#64;&#121;&#111;&#117;&#114;&#100;&#111;&#109;&#97;&#105;&#110;&#46;&#99;&#111;&#109;">yourname&#64;yourdomain&#46;com</a>
+  *
+  * Usage Example 2 (Email address only):
+  * Template: Author: {mailtoencode:"yourname@yourdomain.com"}
+  * Result:   Author: <a href="&#109&#97&#105&#108&#116&#111&#58&#121;&#111;&#117;&#114;&#110;&#97;&#109;&#101;&#64;&#121;&#111;&#117;&#114;&#100;&#111;&#109;&#97;&#105;&#110;&#46;&#99;&#111;&#109;">yourname&#64;yourdomain&#46;com</a>
+  *
+  * Usage Example 3 (Email address and name):
+  * Template: Author: {mailtoencode:"yourname@yourdomain.com","Your Name"}
+  * Result:   Author: <a href="&#109&#97&#105&#108&#116&#111&#58&#121;&#111;&#117;&#114;&#110;&#97;&#109;&#101;&#64;&#121;&#111;&#117;&#114;&#100;&#111;&#109;&#97;&#105;&#110;&#46;&#99;&#111;&#109;">Your Name</a>
+  *
+  * Usage Example 4 (Email address and name, encode set to true, and class name):
+  * Template: Author: {mailtoencode:"yourname@yourdomain.com","Your Name",true,'white'}
+  * Result:   Author: <a href="&#109&#97&#105&#108&#116&#111&#58&#121;&#111;&#117;&#114;&#110;&#97;&#109;&#101;&#64;&#121;&#111;&#117;&#114;&#100;&#111;&#109;&#97;&#105;&#110;&#46;&#99;&#111;&#109;" class="white">Your Name</a>
+  *
+  * Usage Example 5 (Email address and name, encode set to true, class name and style defined):
+  * Template: Author: {mailtoencode:"yourname@yourdomain.com","Your Name",true,'white','font-size:18px;'}
+  * Result:   Author: <a href="&#109&#97&#105&#108&#116&#111&#58&#121;&#111;&#117;&#114;&#110;&#97;&#109;&#101;&#64;&#121;&#111;&#117;&#114;&#100;&#111;&#109;&#97;&#105;&#110;&#46;&#99;&#111;&#109;" class="white" style="font-size:18px;">Your Name</a>
+  *
+  * Usage Example 6 (Email address and name, encode set to true, no class name and style defined):
+  * Template: Author: {mailtoencode:"yourname@yourdomain.com","Your Name",true,'','font-size:18px;'}
+  * Result:   Author: <a href="&#109&#97&#105&#108&#116&#111&#58&#121;&#111;&#117;&#114;&#110;&#97;&#109;&#101;&#64;&#121;&#111;&#117;&#114;&#100;&#111;&#109;&#97;&#105;&#110;&#46;&#99;&#111;&#109;" style="font-size:18px;">Your Name</a>
+  *
+  * @author Andy Prevost andy@codeworxtech.com
+  */
+
+  if(!function_exists('str_split')){
+    function str_split($text, $split = 1){
+      $array = array();
+      for($i=0; $i < strlen($text); $i++){
+        $key = NULL;
+        for ($j = 0; $j < $split; $j++){
+          $key .= $text[$i];
+        }
+        array_push($array, $key);
+      }
+        return $array;
+    }
+  }
+
+  function qx_mailtoencode ($emailAddy,$text='',$buildLink=true,$class='',$style='') {
+    if ( $buildLink ) {
+      // mailto: portion
+      $obfuscatedMailTo = '';
+      $mailto           = "mailto:";
+      $length           = strlen($mailto);
+      for ($i = 0; $i < $length; $i++) {
+        $obfuscatedMailTo .= "&#" . ord($mailto[$i]);
+      }
+      // END - mailto: portion
+      $emailLink  = '<a href="';
+      $emailLink .= $obfuscatedMailTo;
+    }
+    $emailLink .= obfuscate($emailAddy);
+    if ( $buildLink ) {
+      $emailLink .= '"';
+      if ( trim($class) != '' ) {
+        $emailLink .= ' class="' . $class . '"';
+      }
+      if ( trim($style) != '' ) {
+        $emailLink .= ' style="' . $style . '"';
+      }
+      $emailLink .= '>';
+      if ( trim($text) != '' ) {
+        $newText    = trim($text);
+        $newText    = str_replace('@','&#64;',$newText);
+        $newText    = str_replace('.','&#46;',$newText);
+        $emailLink .= $newText;
+      } else {
+        $newText    = trim($emailAddy);
+        $newText    = str_replace('@','&#64;',$newText);
+        $newText    = str_replace('.','&#46;',$newText);
+        $emailLink .= $newText;
+      }
+      $emailLink .= "</a>";
+    }
+    return $emailLink;
+  }
+
+  function obfuscate($text) { // NOTE: Uses function str_split
+    preg_match_all("/[-a-z0-9\._]+@[-a-z0-9\._]+\.[a-z]{2,4}/", $text, $emails);
+    $patterns = array();
+    $replacements = array();
+    foreach($emails[0] as $email) {
+      if(!in_array("/$email/", $patterns)) {
+        $obfuscated = '';
+        foreach(str_split($email) as $char) {
+          $obfuscated .= '&#'.ord($char).';';
+        }
+        $patterns[] = "/$email/";
+        $replacements[] = $obfuscated;
+      }
+    }
+    $text = preg_replace($patterns, $replacements, $text);
+    return $text;
+  }

Property changes on: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_mailtoencode.php
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_codesnippetend.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_codesnippetend.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_codesnippetend.php	(revision 1559)
@@ -0,0 +1,13 @@
+<?php
+  /**
+  * QuickSkin Extension codesnippetend
+  * required for the end of a code snippet
+  *
+  * Usage Example:
+  * Template: Code Snippet<br />{codesnippetend:}
+  *
+  * @author Andy Prevost andy@codeworxtech.com
+  */
+  function qx_codesnippetend () {
+    return '</pre>';
+  }

Property changes on: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_codesnippetend.php
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_config.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_config.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_config.php	(revision 1559)
@@ -0,0 +1,17 @@
+<?php
+  /**
+  * QuickSkin Extension config
+  * Print Content of Configuration Parameters
+  *
+  * Usage Example:
+  * Content:  $_CONFIG['webmaster']  =  'philipp@criegern.de';
+  * Template: Please Contact Webmaster: {config:"webmaster"}
+  * Result:   Please Contact Webmaster: philipp@criegern.de
+  *
+  * @author Andy Prevost andy@codeworxtech.com - original by Philipp v. Criegern philipp@criegern.de
+  */
+  function qx_config ( $param ) {
+    global $_CONFIG;
+
+    return $_CONFIG[$param];
+  }

Property changes on: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_config.php
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_htmlentities.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_htmlentities.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_htmlentities.php	(revision 1559)
@@ -0,0 +1,15 @@
+<?php
+  /**
+  * QuickSkin Extension htmlentities
+  * Converts Special Characters to HTML Entities
+  *
+  * Usage Example:
+  * Content:  $template->assign('NEXT', 'Next Page >>');
+  * Template: <a href="next.php">{htmlentities:NEXT}</a>
+  * Result:   <a href="next.php">Next Page &gt;&gt;</a>
+  *
+  * @author Andy Prevost andy@codeworxtech.com - original by Philipp v. Criegern philipp@criegern.de
+  */
+  function qx_htmlentities ( $param ) {
+    return htmlentities( $param );
+  }

Property changes on: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_htmlentities.php
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_hidemail.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_hidemail.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_hidemail.php	(revision 1559)
@@ -0,0 +1,16 @@
+<?php
+  /**
+  * QuickSkin Extension hidemail
+  * Protects email address from being scanned by spam bots
+  *
+  * Usage Example:
+  * Content:  $template->assign('AUTHOR', 'andy@codeworxtech.com' );
+  * Template: Author: {hidemail:AUTHOR}
+  * Result Source:   Author: andy&#64;codeworxtech&#46;com
+  * Result Display:  Author: andy@codeworxtech.com
+  *
+  * @author Andy Prevost andy@codeworxtech.com
+  */
+  function qx_hidemail ( $param ) {
+    return str_replace('@', '&#64;', str_replace('.', '&#46;', $param));
+  }

Property changes on: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_hidemail.php
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_load_file.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_load_file.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_load_file.php	(revision 1559)
@@ -0,0 +1,29 @@
+<?php
+  /**
+  * QuickSkin Extension load_file
+  * Print out file content
+  *
+  * Usage Example:
+  * External Content Source (counter.txt):
+  *
+  *     1234
+  *
+  * Template:
+  *
+  *     You are visitor No: {load_file:"counter.txt"}
+  *
+  * Result:
+  *
+  *     You are visitor No: 1234
+  *
+  * @author Andy Prevost andy@codeworxtech.com - original by Philipp v. Criegern philipp@criegern.de
+  */
+  function qx_load_file ( $filename ) {
+    if (is_file($filename)) {
+      if($hd = @fopen($filename, 'r')) {
+        $content  =  fread($hd, filesize($filename));
+        fclose($hd);
+        return $content;
+      }
+    }
+  }

Property changes on: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_load_file.php
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_vardump.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_vardump.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_vardump.php	(revision 1559)
@@ -0,0 +1,21 @@
+<?php
+  /**
+  * QuickSkin Extension vardump
+  * Prints variable content for debug purpose
+  *
+  * Usage Example I:
+  * Content:  $template->assign('test', array( "name1", "value1",  "name2", "value2" ) );
+  *
+  * Template: DEBUG: {vardump:test}
+  *
+  * Result:   DEBUG: Array
+  *                  (
+  *                      [name1] => value1
+  *                      [name2] => value2
+  *                  )
+  *
+  * @author Andy Prevost andy@codeworxtech.com - original by Philipp v. Criegern philipp@criegern.de
+  */
+  function qx_vardump ( $param ) {
+    return '<pre>' . print_r($param, true) . '</pre>';
+  }

Property changes on: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_vardump.php
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_entity_decode.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_entity_decode.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_entity_decode.php	(revision 1559)
@@ -0,0 +1,17 @@
+<?php
+  /**
+  * QuickSkin Extension entity_decode
+  * Convert all HTML entities to their applicable characters
+  *
+  * Usage Example:
+  * Content:  $template->assign('MESSAGE', 'Nicht m&ouml;glich!');
+  * Template: <a href="alert('{entity_decode:MESSAGE}');">Alert</a>
+  * Result:   <a href="alert('Nicht m?lich!');">Alert</a>
+  *
+  * @author Andy Prevost andy@codeworxtech.com - original by Philipp v. Criegern philipp@criegern.de
+  */
+  function qx_entity_decode ( $param ) {
+    $param  =  strtr($param, array_flip(get_html_translation_table(HTML_ENTITIES)));
+    $param  =  preg_replace("/&#([0-9]+);/me", "chr('\\1')", $param);
+    return $param;
+  }

Property changes on: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_entity_decode.php
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_current_date.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_current_date.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_current_date.php	(revision 1559)
@@ -0,0 +1,20 @@
+<?php
+  /**
+  * QuickSkin Extension current_date
+  * Print Current Date
+  *
+  * Usage Example:
+  * Template: Today: {current_date:}
+  * Result:   Today: 30.01.2003
+  *
+  * @author Andy Prevost andy@codeworxtech.com - original by Philipp v. Criegern philipp@criegern.de
+  */
+  function qx_current_date () {
+    global $_CONFIG;
+
+    $dateFormat = 'F j, Y';
+    if ( !empty($_CONFIG['date_format']) ) {
+      $dateFormat = $_CONFIG['date_format'];
+    }
+    return date( $dateFormat );
+  }

Property changes on: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_current_date.php
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_urlencode.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_urlencode.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_urlencode.php	(revision 1559)
@@ -0,0 +1,15 @@
+<?php
+ /**
+  * QuickSkin Extension urlencode
+  * Inserts URL-encoded String
+  *
+  * Usage Example:
+  * Content:  $template->assign('PARAM', 'Delete User!');
+  * Template: go.php?param={urlencode:PARAM}
+  * Result:   go.php?param=Delete+User%21
+  *
+  * @author Andy Prevost andy@codeworxtech.com - original by Philipp v. Criegern philipp@criegern.de
+  */
+  function qx_urlencode ( $param ) {
+    return urlencode( $param );
+  }

Property changes on: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_urlencode.php
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/index.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/index.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/index.php	(revision 1559)
@@ -0,0 +1,20 @@
+<?php
+/**
+ *
+ * @category        Security
+ * @package         FolderProtectFile
+ * @author          WebsiteBaker Project
+ * @copyright       2009-2011, Website Baker Org. e.V.
+ * @link            http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 5.2.2 and higher
+ * @version         $Id$
+ * @filesource      $HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+header('HTTP/1.1 301 Moved Permanently');
+header("Location: ../../../index.php");
+

Property changes on: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/index.php
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_WB_TXT.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_WB_TXT.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_WB_TXT.php	(revision 1559)
@@ -0,0 +1,17 @@
+<?php
+  /**
+  * QuickSkin Extension WB_TXT
+  * This function will replace the string with the value of WebsiteBaker CMS's $TEXT[] array 
+  *
+  * Usage Example:
+  * in Template use:{WB_TXT:"SAVE"}
+  *	returns the translated string
+  *
+  * @author WebsiteBaker Org e.V.
+  *
+  */
+function qx_WB_TXT ( $var ) {
+	$LANG_ARRAY = $GLOBALS['TEXT'];		
+	$ret_val = isset($LANG_ARRAY[$var]) ? $LANG_ARRAY[$var] : ('<span style="color:#777">'.$var.'</span>');
+	return $ret_val;	
+}

Property changes on: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_WB_TXT.php
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_TXT.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_TXT.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_TXT.php	(revision 1559)
@@ -0,0 +1,43 @@
+<?php
+  /**
+  * QuickSkin Extension TXT
+  * This function will replace the string with the value of  language array of the module
+  *
+  * Usage Example:
+  * in Template use:{TXT:"OPEN_FILE"}
+  *	returns the translated string
+  *  
+  * 
+  * Important Note:
+  * ===============
+  * In order to use this function, you will need to follow the standard Naming Convention of WebsiteBaker CMS
+  * It is: if your Module has the name "myModule", your language array needs to be named "$MOD_MYMODULE[]"
+  * If you follow this rule, you can use this function (this extension) flawlessly
+  *
+  * @author WebsiteBaker Org e.V.
+  *
+  */
+function qx_TXT ( $var ) {
+	
+	$ret_val = '';
+	switch (TRUE)
+	{
+		// retrieve the MODULE_NAME
+		case isset($GLOBALS['tool']): $MODULE_NAME = $GLOBALS['tool']; break;				// AdminTool
+		case isset($GLOBALS['section']['module']): $MODULE_NAME = $GLOBALS['section']['module']; break;     // PageType Module
+		case isset($GLOBALS['module_dir']): $MODULE_NAME = $GLOBALS['module_dir']; break;	// SnippetType Module
+		default: $MODULE_NAME = FALSE;	
+	}
+	
+	if(!isset($MODULE_NAME))
+	{
+		$ret_val = 'A problem occured. <br />(QuickSkin Extension) qx_TXT issue.';		
+	} 
+	else 
+	{	
+		$MODULE_NAME = strtoupper($MODULE_NAME);
+		$LANG_ARRAY = $GLOBALS['MOD_'.$MODULE_NAME];
+		$ret_val = isset($LANG_ARRAY[$var]) ? $LANG_ARRAY[$var] : ('<span style="color:#777">'.$var.'</span>');
+	}	
+	return $ret_val;
+}

Property changes on: branches/2.8.x/wb/include/quickSkin_alpha/_lib/qx/qx_TXT.php
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin_alpha/_lib/quickSkin_28/class.quickskin.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin_alpha/_lib/quickSkin_28/class.quickskin.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin_alpha/_lib/quickSkin_28/class.quickskin.php	(revision 1559)
@@ -0,0 +1,1015 @@
+<?php
+//error_reporting(E_ALL ^ E_NOTICE);
+/*~ class.quickskin.php
+.---------------------------------------------------------------------------.
+|  Software: QuickSkin Class                                                |
+|   Version: 5.0                                                            |
+|   Contact: andy.prevost@worxteam.com,andy@codeworx.ca                     |
+|      Info: http://quickskin.sourceforge.net                               |
+|   Support: http://sourceforge.net/projects/quickskin/                     |
+| ------------------------------------------------------------------------- |
+|    Author: Andy Prevost andy.prevost@worxteam.com (admin)                 |
+|    Author: Manuel 'EndelWar' Dalla Lana endelwar@aregar.it (former admin) |
+|    Author: Philipp v. Criegern philipp@criegern.com (original founder)    |
+| Copyright (c) 2002-2009, Andy Prevost. All Rights Reserved.               |
+|    * NOTE: QuickSkin is the SmartTemplate project renamed. SmartTemplate  |
+|            information and downloads can still be accessed at the         |
+|            smarttemplate.sourceforge.net site                             |
+| ------------------------------------------------------------------------- |
+|   License: Distributed under the Lesser General Public License (LGPL)     |
+|            http://www.gnu.org/copyleft/lesser.html                        |
+| This program is distributed in the hope that it will be useful - WITHOUT  |
+| ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or     |
+| FITNESS FOR A PARTICULAR PURPOSE.                                         |
+| ------------------------------------------------------------------------- |
+| We offer a number of paid services:                                       |
+| - Web Hosting on highly optimized fast and secure servers                 |
+| - Technology Consulting                                                   |
+| - Oursourcing (highly qualified programmers and graphic designers)        |
+'---------------------------------------------------------------------------'
+Last modified: January 01 2009 ~*/
+
+/* designed to work with PHP5 - will NOT work with PHP4 */
+
+/* PURPOSE: 'Compiles' HTML-Templates to PHP Code
+ *
+ * Usage Example I:
+ *
+ * $page = new QuickSkin( "template.html" );
+ * $page->assign( 'TITLE',  'TemplateDemo - Userlist' );
+ * $page->assign( 'user',   DB_read_all( 'select * from ris_user' ) );
+ * $page->output();
+ *
+ * Usage Example II:
+ *
+ * $data = array(
+ *             'TITLE' => 'TemplateDemo - Userlist',
+ *             'user'  => DB_read_all( 'select * from ris_user' )
+ *         );
+ * $page = new QuickSkin( "template.html" );
+ * $page->output( $data );
+ *
+ */
+
+class QuickSkin {
+
+  /////////////////////////////////////////////////
+  // PROPERTIES, PUBLIC
+  /////////////////////////////////////////////////
+
+  /**
+   * Reuse Code
+   * Whether to use stored compiled php code or not (for debug purpose)
+   * @var bool
+   */
+  public $reuse_code       = false;
+
+  /**
+   * Template Directory
+   * Directory where all templates are stored, can be overwritten by
+   * global configuration array $_CONFIG['template_dir']
+   * @var string
+   */
+  public $template_dir     = '_skins/';
+
+  /**
+   * Temp Directory
+   * Where to store compiled templates, can be overwritten by
+   * global configuration array $_CONFIG['quickskin_compiled']
+   * @var string
+   */
+  public $temp_dir         = '_skins_tmp/';
+
+  /**
+   * Cache Directory
+   * Temporary folder for output cache storage, can be overwritten by
+   * global configuration array $_CONFIG['quickskin_cache']
+   * Note: typically set the same as the Temp Directory, but can be unique
+   * @var string
+   */
+  public $cache_dir         = '_skins_tmp/';
+
+  /**
+   * Cache Lifetime
+   * Default Output Cache Lifetime in Seconds, can be overwritten by
+   * global configuration array $_CONFIG['cache_lifetime']
+   * @var int
+   */
+  public $cache_lifetime    = 600; // seconds
+
+  /**
+   * Extensions Directory
+   * Directory where all extensions are stored
+   * @var string
+   */
+  public $extensions_dir    = '_lib/qx';      /* Directory where all extensions are stored */
+
+  /**
+   * Extension Prefix
+   * Filename prefix on all the extensions files
+   * @var string
+   */
+  public $extension_prefix  = 'qx_';
+
+  /**
+   * Left Delimiter
+   * Default Left delimiter, can be overwritten by
+   * global configuration array $_CONFIG['left_delimiter']
+   * @var string
+   */
+  public $left_delimiter    = '{';
+
+  /**
+   * Right Delimiter
+   * Default Right delimiter, can be overwritten by
+   * global configuration array $_CONFIG['right_delimiter']
+   * @var string
+   */
+  public $right_delimiter   = '}';
+
+  /**
+   * Extension Tagged
+   * List of used QuickSkin Extensions
+   * @var array
+   */
+  public $extension_tagged  = array();
+
+  /**
+   * QuickSkin Version Number
+   * List of used QuickSkin Extensions
+   * @var string
+   */
+  public $version           = '5.0';
+
+  /////////////////////////////////////////////////
+  // PROPERTIES, PRIVATE
+  /////////////////////////////////////////////////
+
+  private $cache_filename; /* Temporary file for output cache storage */
+  private $tpl_file;       /* The template filename */
+  private $cpl_file;       /* The compiled template filename */
+  private $data = array(); /* Template content array */
+  private $parser;         /* Parser Class */
+  private $debugger;       /* Debugger Class */
+  private $skins_sub_dir;  /* temporary variable to hold the subdirectory of the main template */
+  private $supp_templates = '';   /* supplementary templates */
+  private $supptemplate   = '';   /* supplementary template */
+
+  /* QuickSkin Constructor
+   * @access public
+   * @param string $template_filename Template Filename
+   */
+  function __construct( $template_filename = '' ) {
+    global $_CONFIG;
+	// make extension directory setting
+	if (!empty($_CONFIG['extensions_dir'])) {
+      $this->extensions_dir  =  $_CONFIG['extensions_dir'];
+    }
+    if (!empty($_CONFIG['quickskin_compiled'])) {
+      $this->temp_dir  =  $_CONFIG['quickskin_compiled'];
+    }
+    if (!empty($_CONFIG['quickskin_cache'])) {
+      $this->cache_dir  =  $_CONFIG['quickskin_cache'];
+    }
+    if (is_numeric($_CONFIG['cache_lifetime'])) {
+      $this->cache_lifetime  =  $_CONFIG['cache_lifetime'];
+    }
+    if (!empty($_CONFIG['template_dir'])  &&  is_file($_CONFIG['template_dir'] . '/' . $template_filename)) {
+      $this->template_dir  =  $_CONFIG['template_dir'];
+    }
+    $this->tpl_file  =  $template_filename;
+    if ( dirname($this->tpl_file) != "") {
+      $this->skins_sub_dir = dirname($this->tpl_file);
+    }
+  }
+
+  /* DEPRECATED METHODS */
+  /* Methods used in older parser versions, soon will be removed */
+  function set_templatefile ($template_filename)  { $this->tpl_file  =  $template_filename; }
+  function add_value ($name, $value )       { $this->assign($name, $value); }
+  function add_array ($name, $value )       { $this->append($name, $value); }
+
+  /* Process file or contents to strip out the <body tag (inclusive)
+   * and the </body tag to the end
+   *
+   * Usage Example:
+   * $page->getContents( '', '/contents.htm' );
+   * or
+   * $page->getContents( 'start of data .... end of data' );
+   *
+   * @access public
+   * @param string $contents Parameter contents
+   * @param string $filename Parameter filename (fully qualified)
+   * @desc strip out body tags and return only page data
+   */
+  function getContents($contents, $filename="") {
+    if ( $contents == '' && $filename != '' && file_exists($filename) ) {
+      $contents = file_get_contents($filename);
+    }
+
+    // START process any PHP code
+    ob_start();
+    eval("?>".$contents."<?php ");
+    $contents = ob_get_contents();
+    ob_end_clean();
+    // END process any PHP code
+    $lower_contents = strtolower($contents);
+    // determine if a <body tag exists and process if necessary
+    $bodytag_start = strpos($lower_contents, "<body");
+    if ( $bodytag_start !== false ) {
+      $bodytag_end    = strpos($lower_contents, ">", $bodytag_start) + 1;
+      // get contents with <body tag removed
+      $contents       = substr($contents, $bodytag_end);
+      $lower_contents = strtolower($contents);
+      // work on </body closing tag
+      $end_start      = strpos($lower_contents, "</body");
+      $end_end        = strpos($lower_contents, ">", $bodytag_start) + 1;
+      // return stripped out <body and </body tags
+      return $this->getExtensions( substr($contents, 0, $end_start) );
+    } else {
+      // body tags not found, so return data
+      return $this->getExtensions( $contents );
+    }
+  }
+
+  /* Determine Contents Command from Variable Name
+   * {variable}             :  array( "echo",              "variable" )  ->  echo $_obj['variable']
+   * {variable > new_name}  :  array( "_obj['new_name']=", "variable" )  ->  $_obj['new_name']= $_obj['variable']
+   * @param string $tag Variale Name used in Template
+   * @return array  Array Command, Variable
+   * @access private
+   * @desc Determine Contents Command from Variable Name
+   */
+  function processCmd($tag) {
+    if (preg_match('/^(.+) > ([a-zA-Z0-9_.]+)$/', $tag, $tagvar)) {
+      $tag  =  $tagvar[1];
+      list($newblock, $newskalar)  =  $this->var_name($tagvar[2]);
+      $cmd  =  "\$$newblock"."['$newskalar']=";
+    } else {
+      $cmd  =  'echo';
+    }
+    $ret = array($cmd, $tag);
+    return $ret;
+  }
+
+  /* Load and process the Extensions that may be used in the Contents
+   *
+   * Usage Example:
+   * $tcnt = $this->getExtensions( $param );
+   *
+   * @access public
+   * @param string $param (content to process)
+   * @return string
+   * @desc Load and process the Extensions that may be used in the Contents
+   */
+  function getExtensions($contents) {
+    $header = '';
+    /* Include Extensions */
+    if (preg_match_all('/'.$this->left_delimiter.'([a-zA-Z0-9_]+):([^}]*)'.$this->right_delimiter.'/', $contents, $var)) {
+      foreach ($var[2] as $cnt => $tag) {
+        /* Determine Command (echo / $obj[n]=) */
+        list($cmd, $tag)  =  $this->processCmd($tag);
+
+        $extension  =  $var[1][$cnt];
+        //if (!isset($this->extension_tagged[$extension])) {
+          $header .= 'include_once "'.$this->extensions_dir."/".$this->extension_prefix."$extension.php\";\n";
+        //  $this->extension_tagged[$extension]  =  true;
+        //}
+        if (!strlen($tag)) {
+          $code  =  "<?php\n$cmd ".$this->extension_prefix."$extension();\n?>\n";
+        } elseif (substr($tag, 0, 1) == '"') {
+          $code  =  "<?php\n$cmd ".$this->extension_prefix."$extension($tag);\n?>\n";
+        } elseif (strpos($tag, ',')) {
+          list($tag, $addparam)  =  explode(',', $tag, 2);
+          list($block, $skalar)  =  $this->var_name($tag);
+          if (preg_match('/^([a-zA-Z_]+)/', $addparam, $match)) {
+            $nexttag   =  $match[1];
+            list($nextblock, $nextskalar)  =  $this->var_name($nexttag);
+            $addparam  =  substr($addparam, strlen($nexttag));
+            $code  =  "<?php\n$cmd ".$this->extension_prefix."$extension(\$$block"."['$skalar'],\$$nextblock"."['$nextskalar']"."$addparam);\n?>\n";
+          } else {
+            $code  =  "<?php\n$cmd ".$this->extension_prefix."$extension(\$$block"."['$skalar'],$addparam);\n?>\n";
+          }
+        } else {
+          list($block, $skalar) = $this->var_name($tag);
+          $code  =  "<?php\n$cmd ".$this->extension_prefix."$extension(\$$block"."['$skalar']);\n?>\n";
+        }
+        $contents  =  str_replace($var[0][$cnt],  $code,  $contents);
+      }
+    }
+    // START process any PHP code
+    ob_start();
+    eval($header);
+    eval("?>".$contents."<?php ");
+    $contents = ob_get_contents();
+    ob_end_clean();
+    // END process any PHP code
+    return $contents;
+  }
+
+  /* Assign Supplementary Template
+   *
+   * Usage Example:
+   * $page->addtpl( 'sponsors', 'default/poweredby.htm' );
+   *
+   * @access public
+   * @param string $name Parameter Name
+   * @param string $value Parameter Value
+   * @desc Assign Supplementary Template
+   */
+  function addtpl ( $name, $value = '' ) {
+    if (is_array($name)) {
+      foreach ($name as $k => $v) {
+        $this->supptemplate[$k]  =  $v;
+      }
+    } else {
+      $this->supptemplate[$name]  =  $value;
+    }
+  }
+
+  /* Assign Template Content
+   *
+   * Usage Example:
+   * $page->assign( 'TITLE',     'My Document Title' );
+   * $page->assign( 'userlist',  array(
+   *                               array( 'ID' => 123,  'NAME' => 'John Doe' ),
+   *                               array( 'ID' => 124,  'NAME' => 'Jack Doe' ),
+   *                             );
+   *
+   * @access public
+   * @param string $name Parameter Name
+   * @param mixed $value Parameter Value
+   * @desc Assign Template Content
+   */
+  function assign ( $name, $value = '' ) {
+    if (is_array($name)) {
+      foreach ($name as $k => $v) {
+        $this->data[$k]  =  $v;
+      }
+    } else {
+      $this->data[$name]  =  $value;
+    }
+  }
+
+  /* Assign Template Content
+   *
+   * Usage Example:
+   * $page->append( 'userlist',  array( 'ID' => 123,  'NAME' => 'John Doe' ) );
+   * $page->append( 'userlist',  array( 'ID' => 124,  'NAME' => 'Jack Doe' ) );
+   *
+   * @access public
+   * @param string $name Parameter Name
+   * @param mixed $value Parameter Value
+   * @desc Assign Template Content
+   */
+  function append ( $name, $value ) {
+    if (is_array($value)) {
+      $this->data[$name][]  =  $value;
+    } elseif (!is_array($this->data[$name])) {
+      $this->data[$name]  .=  $value;
+    }
+  }
+
+  /* Parser Wrapper
+   * Returns Template Output as a String
+   *
+   * @access public
+   * @param array $_top Content Array
+   * @return string  Parsed Template
+   * @desc Output Buffer Parser Wrapper
+   */
+  function result ( $_top = '' ) {
+    ob_start();
+    $this->output( $_top );
+    $result  =  ob_get_contents();
+    ob_end_clean();
+    return $result;
+  }
+
+  /* Execute parsed Template
+   * Prints Parsing Results to Standard Output
+   *
+   * @access public
+   * @param array $_top Content Array
+   * @desc Execute parsed Template
+   */
+  function output ( $_top = '' ) {
+    global $_top;
+
+    $data   = $this->data;
+    /* Process supplementary templates */
+    if ( is_array($this->supptemplate) && !empty($this->supptemplate) ) { // passed by addtpl functionality
+      foreach ($this->supptemplate as $key => $value) {
+        $supp_templates[$key] = file_get_contents($value);
+      }
+    }
+
+    /* Make sure that folder names have a trailing '/' */
+    if (strlen($this->template_dir)  &&  substr($this->template_dir, -1) != '/') {
+      $this->template_dir  .=  '/';
+    }
+    if (strlen($this->temp_dir)  &&  substr($this->temp_dir, -1) != '/') {
+      $this->temp_dir  .=  '/';
+    }
+
+    /* Prepare Template Content*/
+    if (!is_array($_top)) {
+      if (strlen($_top)) {
+        $this->tpl_file  =  $_top;
+      }
+      $_top  =  $this->data;
+    }
+    $_obj  =  &$_top;
+    $_stack_cnt  =  0;
+    $_stack[$_stack_cnt++]  =  $_obj;
+
+    /* Check if template is already compiled */
+    $queryString = $_SERVER['QUERY_STRING'];
+    $cpl_file_name = preg_replace('/[:\/.\\\\]/', '_', $this->tpl_file . '?' . $queryString);
+    if (strlen($cpl_file_name) > 0) {
+      $cpl_file_name = 'qs_' . md5($cpl_file_name);
+      $this->cpl_file  =  $this->temp_dir . $cpl_file_name . '.php';
+      $compile_template  =  true;
+      if ($this->reuse_code) {
+        if (is_file($this->cpl_file)) {
+          if ($this->mtime($this->cpl_file) > $this->mtime($this->template_dir . $this->tpl_file)) {
+            $compile_template  =  false;
+          }
+        }
+      }
+      if ($compile_template) {
+        $this->parser = new QuickSkinParser();
+        $this->parser->template_dir     = $this->template_dir;
+        $this->parser->skins_sub_dir    = $this->skins_sub_dir;
+        $this->parser->tpl_file         = $this->tpl_file;
+        $this->parser->left_delimiter   = $this->left_delimiter;
+        $this->parser->right_delimiter  = $this->right_delimiter;
+        $this->parser->extensions_dir   = $this->extensions_dir;
+        $this->parser->extension_prefix = $this->extension_prefix;
+        $this->parser->supp_templates   = $this->supp_templates;
+
+        if (!$this->parser->compile($this->cpl_file,$data,$this->supp_templates,$this->extensions_dir)) {
+          exit('QuickSkin Parser Error: ' . $this->parser->error);
+        }
+      }
+      /* Execute Compiled Template */
+      include($this->cpl_file);
+    } else {
+      exit('QuickSkin Error: You must set a template file name');
+    }
+    /* Delete Global Content Array in order to allow multiple use of QuickSkin class in one script */
+    unset ($GLOBALS['_top']);
+  }
+
+  /* Debug Template
+   *
+   * @access public
+   * @param array $_top Content Array
+   * @desc Debug Template
+   */
+  function debug ( $_top = '' ) {
+    /* Prepare Template Content */
+    if (!$_top) {
+      $_top  =  $this->data;
+    }
+    if (@include_once('class.quickskindebugger.php')) {
+      $this->debugger = new QuickSkinDebugger($this->template_dir . $this->tpl_file, $this->right_delimiter, $this->left_delimiter);
+      $this->debugger->start($_top);
+    } else {
+      exit( 'QuickSkin Error: Cannot find class.quickskindebugger.php; check QuickSkin installation');
+    }
+  }
+
+  /* Start Ouput Content Buffering
+   *
+   * Usage Example:
+   * $page = new QuickSkin('template.html');
+   * $page->use_cache();
+   * ...
+   *
+   * @access public
+   * @desc Output Cache
+   */
+  function use_cache ( $key = '' ) {
+    if (empty($_POST)) {
+      $this->cache_filename  =  $this->cache_dir . 'cache_' . md5($_SERVER['REQUEST_URI'] . serialize($key)) . '.ser';
+      if (($_SERVER['HTTP_CACHE_CONTROL'] != 'no-cache')  &&  ($_SERVER['HTTP_PRAGMA'] != 'no-cache')  &&  @is_file($this->cache_filename)) {
+        if ((time() - filemtime($this->cache_filename)) < $this->cache_lifetime) {
+          readfile($this->cache_filename);
+          exit;
+        }
+      }
+      ob_start( array( &$this, 'cache_callback' ) );
+    }
+  }
+
+  /* Output Buffer Callback Function
+   *
+   * @access private
+   * @param string $output
+   * @return string $output
+   */
+  function cache_callback ( $output ) {
+    if ($hd = @fopen($this->cache_filename, 'w')) {
+      fwrite($hd,  $output);
+      fclose($hd);
+    } else {
+      $output = 'QuickSkin Error: failed to open cache file "' . $this->cache_filename . '"';
+    }
+    return $output;
+  }
+
+  /* Determine Last Filechange Date (if File exists)
+   *
+   * @access private
+   * @param string $filename
+   * @return mixed
+   * @desc Determine Last Filechange Date
+   */
+  function mtime ( $filename ) {
+    if (@is_file($filename)) {
+      $ret = filemtime($filename);
+      return $ret;
+    }
+  }
+
+  /* Set (or reset) Properties (variables)
+   *
+   * Usage Example:
+   * $page->set('reuse_code', true);
+   *
+   * @access public
+   * @param string $name Parameter Name
+   * @param mixed $value Parameter Value
+   * NOTE: will not work with arrays, there are no arrays to set/reset */
+  function set ( $name, $value = '' ) {
+    if ( isset($this->$name) ) {
+      $this->$name = $value;
+    } else {
+      exit( 'QuickSkin Error: Attempt to set a non-existant class property: ' . $name);
+    }
+  }
+
+}
+
+/*~
+.---------------------------------------------------------------------------.
+|  Software: QuickSkinParser Class * Used by QuickSkin Class                |
+|   Version: 5.0                                                            |
+|   Contact: andy.prevost@worxteam.com,andy@codeworx.ca                     |
+|      Info: http://quickskin.sourceforge.net                               |
+|   Support: http://sourceforge.net/projects/quickskin/                     |
+| ------------------------------------------------------------------------- |
+|    Author: Andy Prevost andy.prevost@worxteam.com (admin)                 |
+|    Author: Manuel 'EndelWar' Dalla Lana endelwar@aregar.it (former admin) |
+|    Author: Philipp v. Criegern philipp@criegern.com (original founder)    |
+| Copyright (c) 2002-2009, Andy Prevost. All Rights Reserved.               |
+|    * NOTE: QuickSkin is the SmartTemplate project renamed. SmartTemplate  |
+|            information and downloads can still be accessed at the         |
+|            smarttemplate.sourceforge.net site                             |
+| ------------------------------------------------------------------------- |
+|   License: Distributed under the Lesser General Public License (LGPL)     |
+|            http://www.gnu.org/copyleft/lesser.html                        |
+| This program is distributed in the hope that it will be useful - WITHOUT  |
+| ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or     |
+| FITNESS FOR A PARTICULAR PURPOSE.                                         |
+| ------------------------------------------------------------------------- |
+| We offer a number of paid services:                                       |
+| - Web Hosting on highly optimized fast and secure servers                 |
+| - Technology Consulting                                                   |
+| - Oursourcing (highly qualified programmers and graphic designers)        |
+'---------------------------------------------------------------------------'
+Last modified: January 01 2009 ~*/
+
+class QuickSkinParser {
+
+  /////////////////////////////////////////////////
+  // PROPERTIES, PUBLIC
+  /////////////////////////////////////////////////
+
+  public $error;               /* Error messages */
+  public $template;            /* The template itself */
+  public $tpl_file;            /* The template filename */
+  public $template_dir;        /* The template filename used to extract the dirname for subtemplates */
+  public $skins_sub_dir;       /* The template subdirectory, passed by main class */
+  public $extensions_dir;      /* The extension directory */
+  public $extension_tagged = array(); /* List of used QuickSkin Extensions */
+  public $left_delimiter;      /* Default Left delimiter */
+  public $right_delimiter;     /* Default Right delimiter */
+  public $supp_templates = ''; /* Contains array or single supplementary template(s) */
+  public $extension_prefix;    /* filename prefix on all the extensions files */
+
+  /* QuickSkinParser Constructor */
+  /*
+  function __construct() {
+  }
+  */
+
+  /* Replace template logical expression in IF..ENDIF (|| or &&) with php logical expression
+   * @access private
+   * @desc replace template logical expression (|| or &&) with php logical expression
+   * @author Bruce Huang (msn: huang_x_c@163.com)
+   * @param string $src_page source page intended to be replaced
+   */
+  function replace_logic_expression( &$src_page ) {
+    /* cannot find '||' or '&&' */
+    if(!strpos($src_page, '||') && !strpos($src_page, '&&')) {
+      return;
+    }
+    /* match 'ELSE' and the last sub expression */
+    if (preg_match_all('/<!-- (ELSE)?IF \s*(\(*).*[|&]{2}\s*\(*\s*([a-zA-Z0-9_.]+)\s*([!=<>]+)\s*(["]?[^"]*?["]?)\s*(\)*)\s* -->/', $src_page, $var)) {
+      foreach ($var[3] as $cnt => $tag) {
+        list($parent, $block)  =  $this->var_name($tag);
+        $cmp   =  $var[4][$cnt];
+        $val   =  $var[5][$cnt];
+        $else  =  ($var[1][$cnt] == 'ELSE') ? '} else' : '';
+        if ($cmp == '=') {
+          $cmp  =  '==';
+        }
+        if (preg_match('/"([^"]*)"/',$val,$matches)) {
+          $code_suffix  =  "\$$parent"."['$block'] $cmp \"".$matches[1].$var[6][$cnt]."\"){\n?>";
+        } elseif (preg_match('/([^"]*)/',$val,$matches)) {
+          list($parent_right, $block_right)  =  $this->var_name($matches[1]);
+          $code_suffix  =  "\$$parent"."['$block'] $cmp \$$parent_right"."['$block_right']".$var[6][$cnt]."){\?>";
+        }
+
+        /* match other sub expressions */
+        if (preg_match_all('/([a-zA-Z0-9_.]+)\s*([!=<>]+)\s*(["]?[^"]*?["]?)\s*(\)*\s*[|&]{2}\s*\(*)\s*/', $var[0][$cnt], $sub_var)) {
+          $code_mid = '';
+          foreach($sub_var[1] as $sub_cnt => $sub_tag) {
+            list($sub_parent, $sub_block) = $this->var_name($sub_tag);
+            $cmp = $sub_var[2][$sub_cnt];
+            $val = $sub_var[3][$sub_cnt];
+            $logic_exp  =  $sub_var[4][$sub_cnt];
+            if ($cmp == '=') {
+              $cmp  =  '==';
+            }
+            if (preg_match('/"([^"]*)"/',$val,$matches)) {
+              $code_mid  =  $code_mid."\$$sub_parent"."['$sub_block'] $cmp \"".$matches[1]."\"".$logic_exp;
+            } elseif (preg_match('/([^"]*)/',$val,$matches)) {
+              list($sub_parent_right, $sub_block_right)  =  $this->var_name($matches[1]);
+              $code_mid  =  $code_mid."\$$sub_parent"."['$sub_block'] $cmp \$$sub_parent_right"."['$sub_block_right']".$logic_exp;
+            }
+          }
+        }
+        $code = "<?php\n".$else.'if ('.$var[2][$cnt].$code_mid.$code_suffix;
+        $src_page = str_replace($var[0][$cnt],  $code,  $src_page);
+      }
+    }
+  }
+
+  /* Main Template Parser
+   * @param string $compiled_template_filename Compiled Template Filename
+   * @desc Creates Compiled PHP Template
+   */
+  function compile( $compiled_template_filename = '', $data='', $supp_templates='', $extensions_dir='' ) {
+
+    $this->extension_prefix = preg_quote($this->extension_prefix);
+
+    /* Load Template */
+    $template_filename = $this->template_dir . $this->tpl_file;
+    if ($hd = @fopen($template_filename, 'r')) {
+      if (filesize($template_filename)) {
+        $this->template = fread($hd, filesize($template_filename));
+        $this->left_delimiter = preg_quote($this->left_delimiter);
+        $this->right_delimiter = preg_quote($this->right_delimiter);
+      } else {
+        $this->template = 'QuickSkin Parser Error: File size is zero byte: ' .$template_filename;
+      }
+      fclose($hd);
+    } else {
+      $this->template = 'QuickSkin Parser Error: File not found: ' .$template_filename;
+    }
+
+    if (empty($this->template)) {
+      return;
+    }
+
+    /* Do the variable substitution for paths, urls, subtemplates */
+    $this->template = $this->worx_var_swap($this->template, $data, $supp_templates);
+
+    $header = '';
+
+    /* Code to allow subtemplates */
+    if(preg_match("/<!-- INCLUDE/is", $this->template)) {
+      while ($this->count_subtemplates() > 0) {
+        preg_match_all('/<!-- INCLUDE ([a-zA-Z0-9\-_.]+) -->/', $this->template, $tvar);
+        foreach($tvar[1] as $subfile) {
+          if(file_exists($this->template_dir . '/' . $this->skins_sub_dir . '/' .$subfile)) {
+            $subst = implode('',file($this->template_dir . '/' . $this->skins_sub_dir . '/' .$subfile));
+          } else {
+            $subst = 'QuickSkin Parser Error: Subtemplate not found: \''.$subfile.'\'';
+          }
+          $this->template = str_replace("<!-- INCLUDE $subfile -->", $subst, $this->template);
+        }
+      }
+    }
+    /* END, ELSE Blocks */
+    $page  =  preg_replace("/<!-- ENDIF.+?-->/", "<?php\n}\n?>", $this->template);
+    $page  =  preg_replace("/<!-- END[ a-zA-Z0-9_.]* -->/",  "<?php\n}\n\$_obj=\$_stack[--\$_stack_cnt];}\n?>", $page);
+    $page  =  preg_replace("/<!-- ENDLOOP[ a-zA-Z0-9_.]* -->/",  "<?php\n}\n\$_obj=\$_stack[--\$_stack_cnt];}\n?>", $page);
+    $page  =  str_replace("<!-- ELSE -->", "<?php\n} else {\n?>", $page);
+
+    /* 'BEGIN - END' Blocks */
+    if (preg_match_all('/<!-- LOOP ([a-zA-Z0-9_.]+) -->/', $page, $var)) {
+      foreach ($var[1] as $tag) {
+        list($parent, $block)  =  $this->var_name($tag);
+        $code  =  "<?php\n"
+            . "if (!empty(\$$parent"."['$block'])){\n"
+            . "if (!is_array(\$$parent"."['$block']))\n"
+            . "\$$parent"."['$block']=array(array('$block'=>\$$parent"."['$block']));\n"
+            . "\$_stack[\$_stack_cnt++]=\$_obj;\n"
+            . "\$rowcounter = 0;\n"
+            . "foreach (\$$parent"."['$block'] as \$rowcnt=>\$$block) {\n"
+              . "\$$block"."['ROWCNT']=(\$rowcounter);\n"
+              . "\$$block"."['ALTROW']=\$rowcounter%2;\n"
+              . "\$$block"."['ROWBIT']=\$rowcounter%2;\n"
+              . "\$rowcounter++;"
+              . "\$_obj=&\$$block;\n?>";
+        $page  =  str_replace("<!-- LOOP $tag -->",  $code,  $page);
+      }
+    }
+
+    /* replace logical operator in [ELSE]IF */
+    $this->replace_logic_expression($page);
+
+    /* 'IF nnn=mmm' Blocks */
+    if (preg_match_all('/<!-- (ELSE)?IF ([a-zA-Z0-9_.]+)\s*([!=<>]+)\s*(["]?[^"]*["]?) -->/', $page, $var)) {
+      foreach ($var[2] as $cnt => $tag) {
+        list($parent, $block)  =  $this->var_name($tag);
+        $cmp   =  $var[3][$cnt];
+        $val   =  $var[4][$cnt];
+        $else  =  ($var[1][$cnt] == 'ELSE') ? '} else' : '';
+        if ($cmp == '=') {
+          $cmp  =  '==';
+        }
+
+        if (preg_match('/"([^"]*)"/',$val,$matches)) {
+          $code  =  "<?php\n$else"."if (\$$parent"."['$block'] $cmp \"".$matches[1]."\"){\n?>";
+        } elseif (preg_match('/([^"]*)/',$val,$matches)) {
+          list($parent_right, $block_right)  =  $this->var_name($matches[1]);
+          $code  =  "<?php\n$else"."if (\$$parent"."['$block'] $cmp \$$parent_right"."['$block_right']){\n?>";
+        }
+
+        $page  =  str_replace($var[0][$cnt],  $code,  $page);
+      }
+    }
+
+    /* 'IF nnn' Blocks */
+    if (preg_match_all('/<!-- (ELSE)?IF ([a-zA-Z0-9_.]+) -->/', $page, $var)) {
+      foreach ($var[2] as $cnt => $tag) {
+        $else  =  ($var[1][$cnt] == 'ELSE') ? '} else' : '';
+        list($parent, $block)  =  $this->var_name($tag);
+        $code  =  "<?php\n$else"."if (!empty(\$$parent"."['$block'])){\n?>";
+        $page  =  str_replace($var[0][$cnt],  $code,  $page);
+      }
+    }
+
+    /* 'IF {extension:variable}'=mmm Blocks
+     * e.g.
+     * <!-- IF {count:list} > 0 -->
+     * List populated
+     * <!-- ELSE -->
+     * List is empty
+     * <!-- ENDIF -->
+     * thanks to Khary Sharpe (ksharpe [at] kharysharpe [dot] com) for the initial code
+     */
+    if (preg_match_all('/<!-- (ELSE)?IF {([a-zA-Z0-9_]+):([^}]*)}\s*([!=<>]+)\s*(["]?[^"]*["]?) -->/', $page, $var)) {
+      foreach ($var[2] as $cnt => $tag) {
+        list($parent, $block)  =  $this->var_name($tag);
+        $cmp   =  $var[4][$cnt];
+        $val   =  $var[5][$cnt];
+        $else  =  ($var[1][$cnt] == 'ELSE') ? '} else' : '';
+        if ($cmp == '=') {
+          $cmp  =  '==';
+        }
+
+        $extension = $var[2][$cnt];
+        $extension_var = $var[3][$cnt];
+        if (!isset($this->extension_tagged[$extension])) {
+          $header .= 'include_once  "'.$this->extensions_dir."/".$this->extension_prefix."$extension.php\";\n";
+          $this->extension_tagged[$extension] = true;
+        }
+        if (!strlen($extension_var)) {
+          $code = "<?php\n$else"."if (".$this->extension_prefix."$extension() $cmp $val) {\n?>\n";
+        } elseif (substr($extension_var, 0, 1) == '"') {
+          $code = "<?php\n$else"."if (".$this->extension_prefix."$extension($extension_var) $cmp $val) {\n?>\n";
+        } elseif (strpos($extension_var, ',')) {
+          list($tag, $addparam) = explode(',', $extension_var, 2);
+          list($block, $skalar) = $this->var_name($extension_var);
+          if (preg_match('/^([a-zA-Z_]+)/', $addparam, $match)) {
+            $nexttag = $match[1];
+            list($nextblock, $nextskalar) = $this->var_name($nexttag);
+            $addparam = substr($addparam, strlen($nexttag));
+            $code = "<?php\n$else"."if (".$this->extension_prefix."$extension(\$$block"."['$skalar'],\$$nextblock"."['$nextskalar']"."$addparam) $cmp $val) {\n?>\n";
+          } else {
+            $code = "<?php\n$else"."if (".$this->extension_prefix."$extension(\$$block"."['$skalar'],$addparam) $cmp $val) {\n?>\n";
+          }
+        } else {
+          list($block, $skalar) = $this->var_name($extension_var);
+          $code = "<?php\n$else"."if (".$this->extension_prefix."$extension(\$$block"."['$skalar']) $cmp $val) {\n?>\n";
+        }
+        $page = str_replace($var[0][$cnt], $code, $page);
+      }
+    }
+
+    /* Replace Scalars */
+    if (preg_match_all('/'.$this->left_delimiter.'([a-zA-Z0-9_. >]+)'.$this->right_delimiter.'/', $page, $var)) {
+      foreach ($var[1] as $fulltag) {
+        /* Determine Command (echo / $obj[n]=) */
+        list($cmd, $tag)  =  $this->cmd_name($fulltag);
+        list($block, $skalar)  =  $this->var_name($tag);
+        $code  =  "<?php\n$cmd \$$block"."['$skalar'];\n?>\n";
+        $page  =  str_replace(stripslashes($this->left_delimiter).$fulltag.stripslashes($this->right_delimiter), $code, $page);
+      }
+    }
+
+    /* Replace Translations */
+    if (preg_match_all('/<"([a-zA-Z0-9_.]+)">/', $page, $var)) {
+      foreach ($var[1] as $tag) {
+        list($block, $skalar)  =  $this->var_name($tag);
+        $code  =  "<?php\necho gettext('$skalar');\n?>\n";
+        $page  =  str_replace('<"'.$tag.'">',  $code,  $page);
+      }
+    }
+
+    /* Include Extensions */
+    if (preg_match_all('/'.$this->left_delimiter.'([a-zA-Z0-9_]+):([^}]*)'.$this->right_delimiter.'/', $page, $var)) {
+      foreach ($var[2] as $cnt => $tag) {
+        /* Determine Command (echo / $obj[n]=) */
+        list($cmd, $tag)  =  $this->cmd_name($tag);
+
+        $extension  =  $var[1][$cnt];
+        if (!isset($this->extension_tagged[$extension])) {
+          $header .= 'include_once "'.$this->extensions_dir."/".$this->extension_prefix."$extension.php\";\n";
+          $this->extension_tagged[$extension]  =  true;
+        }
+        if (!strlen($tag)) {
+          $code  =  "<?php\n$cmd ".$this->extension_prefix."$extension();\n?>\n";
+        } elseif (substr($tag, 0, 1) == '"') {
+          $code  =  "<?php\n$cmd ".$this->extension_prefix."$extension($tag);\n?>\n";
+        } elseif (strpos($tag, ',')) {
+          list($tag, $addparam)  =  explode(',', $tag, 2);
+          list($block, $skalar)  =  $this->var_name($tag);
+          if (preg_match('/^([a-zA-Z_]+)/', $addparam, $match)) {
+            $nexttag   =  $match[1];
+            list($nextblock, $nextskalar)  =  $this->var_name($nexttag);
+            $addparam  =  substr($addparam, strlen($nexttag));
+            $code  =  "<?php\n$cmd ".$this->extension_prefix."$extension(\$$block"."['$skalar'],\$$nextblock"."['$nextskalar']"."$addparam);\n?>\n";
+          } else {
+            $code  =  "<?php\n$cmd ".$this->extension_prefix."$extension(\$$block"."['$skalar'],$addparam);\n?>\n";
+          }
+        } else {
+          list($block, $skalar) = $this->var_name($tag);
+          $code  =  "<?php\n$cmd ".$this->extension_prefix."$extension(\$$block"."['$skalar']);\n?>\n";
+        }
+        $page  =  str_replace($var[0][$cnt],  $code,  $page);
+      }
+    }
+
+    /* Add Include Header */
+    if (isset($header) && !empty($header)) {
+      $page  =  "<?php\n$header\n?>$page";
+    }
+
+	/* use_common_placeholders */
+	if(function_exists('use_common_placeholders')){
+		$page = use_common_placeholders($page);
+	}
+	
+    /* do substitutions on included supplementary templates */
+    $page = $this->worx_tpl_swap($page, $data, $supp_templates);
+
+    /* Store Code to Temp Dir */
+    if (strlen($compiled_template_filename)) {
+      if ($hd  =  fopen($compiled_template_filename,  'w')) {
+        fwrite($hd,  $page);
+        fclose($hd);
+        return true;
+      } else {
+        $this->error  =  'Could not write compiled file.';
+        return false;
+      }
+    } else {
+      return $page;
+    }
+  }
+
+  /* Splits Template-Style Variable Names into an Array-Name/Key-Name Components
+   * {example}               :  array( "_obj",                   "example" )  ->  $_obj['example']
+   * {example.value}         :  array( "_obj['example']",        "value" )    ->  $_obj['example']['value']
+   * {example.0.value}       :  array( "_obj['example'][0]",     "value" )    ->  $_obj['example'][0]['value']
+   * {top.example}           :  array( "_stack[0]",              "example" )  ->  $_stack[0]['example']
+   * {parent.example}        :  array( "_stack[$_stack_cnt-1]",  "example" )  ->  $_stack[$_stack_cnt-1]['example']
+   * {parent.parent.example} :  array( "_stack[$_stack_cnt-2]",  "example" )  ->  $_stack[$_stack_cnt-2]['example']
+   * @param string $tag Variale Name used in Template
+   * @return array  Array Name, Key Name
+   * @access private
+   * @desc Splits Template-Style Variable Names into an Array-Name/Key-Name Components
+   */
+  function var_name($tag) {
+    $parent_level  =  0;
+    while (substr($tag, 0, 7) == 'parent.') {
+      $tag  =  substr($tag, 7);
+      $parent_level++;
+    }
+    if (substr($tag, 0, 4) == 'top.') {
+      $obj  =  '_stack[0]';
+      $tag  =  substr($tag,4);
+    } elseif ($parent_level) {
+      $obj  =  '_stack[$_stack_cnt-'.$parent_level.']';
+    } else {
+      $obj  =  '_obj';
+    }
+    while (is_int(strpos($tag, '.'))) {
+      list($parent, $tag)  =  explode('.', $tag, 2);
+      if (is_numeric($parent)) {
+        $obj  .=  "[" . $parent . "]";
+      } else {
+        $obj  .=  "['" . $parent . "']";
+      }
+    }
+    $ret = array($obj, $tag);
+    return $ret;
+  }
+
+  /* Determine Template Command from Variable Name
+   * {variable}             :  array( "echo",              "variable" )  ->  echo $_obj['variable']
+   * {variable > new_name}  :  array( "_obj['new_name']=", "variable" )  ->  $_obj['new_name']= $_obj['variable']
+   * @param string $tag Variale Name used in Template
+   * @return array  Array Command, Variable
+   * @access private
+   * @desc Determine Template Command from Variable Name
+   */
+  function cmd_name($tag) {
+    if (preg_match('/^(.+) > ([a-zA-Z0-9_.]+)$/', $tag, $tagvar)) {
+      $tag  =  $tagvar[1];
+      list($newblock, $newskalar)  =  $this->var_name($tagvar[2]);
+      $cmd  =  "\$$newblock"."['$newskalar']=";
+    } else {
+      $cmd  =  'echo';
+    }
+    $ret = array($cmd, $tag);
+    return $ret;
+  }
+
+  /* @return int Number of subtemplate included
+   * @access private
+   * @desc Count number of subtemplates included in current template
+   */
+  function count_subtemplates() {
+    $ret = preg_match_all('/<!-- INCLUDE ([a-zA-Z0-9_.]+) -->/', $this->template, $tvar);
+    unset($tvar);
+    return $ret;
+  }
+
+  function worx_var_swap($tpldata, $data, $supp_templates) { /* do the substitution of the variables here */
+
+    /* replace all the template elements (sub templates) */
+    if ( is_array($supp_templates) && !empty($supp_templates) ) {
+      foreach ($supp_templates as $key => $val) {
+        $tpldata = str_replace("\{$key}", $val, $tpldata);
+      }
+    }
+    /* do the substitution of the directory names here */
+
+    return $tpldata;
+
+  }
+
+  function worx_tpl_swap($tpldata, $data, $supp_templates) { // do the substitution of the sub templates here 
+
+	// do the substitution of the directory names here
+	/*/
+    // do image link substitution 
+    if ( $data['tpl_img'] != '' && $data['url_img'] != '' ) {
+      $tpldata = str_replace($data['tpl_img'],$data['url_img'],$tpldata);
+      unset($data['tpl_img']);
+      unset($data['url_img']);
+    } elseif (defined(_URL_USRIMG)) {
+      $tpldata = str_replace('tplimgs/',_URL_USRIMG,$tpldata);
+    }
+    // do javascript link substitution
+    if ( $data['tpl_js'] != '' && $data['url_js'] != '' ) {
+      $tpldata = str_replace($data['tpl_js'],$data['url_js'],$tpldata);
+      unset($data['img_tpl']);
+      unset($data['url_js']);
+    } elseif (defined(_URL_USRJS)) {
+      $tpldata = str_replace('tpljs/',_URL_USRJS,$tpldata);
+    }
+    // do css link substitution
+    if ( $data['tpl_css'] != '' && $data['url_css'] != '' ) {
+      $tpldata = str_replace($data['tpl_css'],$data['url_css'],$tpldata);
+      unset($data['tpl_css']);
+      unset($data['url_css']);
+    } elseif (defined(_URL_USRCSS)) {
+      $tpldata = str_replace('url_css/',_URL_USRCSS,$tpldata);
+    }
+	/*/
+    return $tpldata;
+	
+  }
+
+}
+
+?>

Property changes on: branches/2.8.x/wb/include/quickSkin_alpha/_lib/quickSkin_28/class.quickskin.php
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin_alpha/_lib/quickSkin_28/index.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin_alpha/_lib/quickSkin_28/index.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin_alpha/_lib/quickSkin_28/index.php	(revision 1559)
@@ -0,0 +1,20 @@
+<?php
+/**
+ *
+ * @category        Security
+ * @package         FolderProtectFile
+ * @author          WebsiteBaker Project
+ * @copyright       2009-2011, Website Baker Org. e.V.
+ * @link            http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 5.2.2 and higher
+ * @version         $Id$
+ * @filesource      $HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+header('HTTP/1.1 301 Moved Permanently');
+header("Location: ../../index.php");
+

Property changes on: branches/2.8.x/wb/include/quickSkin_alpha/_lib/quickSkin_28/index.php
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin_alpha/wb_quickSkin_28.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin_alpha/wb_quickSkin_28.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin_alpha/wb_quickSkin_28.php	(revision 1559)
@@ -0,0 +1,108 @@
+<?php
+/* -------------------------------------------------------- */
+if(defined('WB_PATH') == false)
+{
+	// Stop this file being access directly
+		die('<head><title>Access denied</title></head><body><h2 style="color:red;margin:3em auto;text-align:center;">Cannot access this file directly</h2></body></html>');
+}
+/* -------------------------------------------------------- */
+
+// use Debug Mode?
+$debugmode = false;
+
+$aMsg = array();
+require_once(WB_PATH.'/framework/functions.php');
+// COMPILED TEMPLATES
+$_CONFIG['quickskin_compiled'] = WB_PATH.'/temp/quickSkin/_skins_tmp/';
+if(!is_dir($_CONFIG['quickskin_compiled'])) {
+	$msg = createFolderProtectFile($_CONFIG['quickskin_compiled']);
+	if(sizeof($msg)) {
+		// $admin->print_error($MESSAGE['GENERIC_BAD_PERMISSIONS'],$module_overview_link );
+		$aMsg[] = $msg;
+	}
+}
+
+// CACHED FILES
+$_CONFIG['quickskin_cache'] = WB_PATH.'/temp/quickSkin/_skins_cache/';
+if(!is_dir($_CONFIG['quickskin_cache'])) {
+	$msg = createFolderProtectFile($_CONFIG['quickskin_cache']);
+	if(sizeof($msg)) {
+		//$admin->print_error($MESSAGE['GENERIC_BAD_PERMISSIONS'],$module_overview_link );
+		$aMsg[] = $msg;
+	}
+}
+$_CONFIG['cache_lifetime'] = 600;
+
+// EXTENTSIONS DIR
+$_CONFIG['extensions_dir'] = str_replace('\\','/', dirname(__FILE__).'/_lib/qx'); 
+
+require_once (WB_PATH.'/include/quickSkin_alpha/_lib/quickSkin_28/class.quickskin.php');
+
+
+/**
+	Comment out : will not work on all clients
+	Must be also made dependent from the client browser
+
+	SET UP COMPRESSION
+
+if ( ini_get( 'zlib.output_compression' )  && ini_get( 'zlib.output_compression_level' ) != 5 ) {
+  ini_set( 'zlib.output_compression_level', '5' );
+  ob_start();
+}
+*/
+
+/**
+ * use_common_placeholders DEPRICATED
+ * 
+ * This function is for QuickSkins internal use.
+ * It will replace common placeholders to ease the work 
+ * and the creation of modules and its templates
+ * This function is called in the class.quickskin.php
+ *
+ */
+
+function use_common_placeholders($text) {  //  DEPRICATED
+
+	/**
+		This function makes possible to use the following PLACEHOLDERS within your modules.
+		Works good in PAGE Type and ADMIN TOOL Type modules.
+		As of date 12-18-2011, SNIPPET Type Modules weren't tested
+		[MODULE_NAME]
+		[MODULE_URL]
+
+		[WB_URL]
+		[ADMIN_URL]
+		[THEME_URL]
+		[MEDIA_DIRECTORY]
+			
+		[TEMPLATE_DIR]
+		[TEMPLATE_NAME]
+		[TEMPLATE]
+
+	*/
+	switch (TRUE){
+		case isset($GLOBALS['tool']): $MOD_NAME = $GLOBALS['tool']; break;  // AdminTool
+		case isset($GLOBALS['section']['module']): $MOD_NAME = $GLOBALS['section']['module']; break;  // PageType Module
+		case isset($GLOBALS['module_dir']): $MOD_NAME = $GLOBALS['module_dir']; break;  // SnippetType Module
+		default: $MOD_NAME = FALSE;
+	
+	}
+	
+	if(isset($MOD_NAME)) {
+		$text = str_replace('[MODULE_NAME]', $MOD_NAME, $text);
+		$text = str_replace('[MODULE_URL]', WB_URL.'/modules/'.$MOD_NAME, $text);
+	}	
+	
+	// WB CONSTANTS (frontend only)
+	if(defined('TEMPLATE_DIR'))	 $text = str_replace('[TEMPLATE_DIR]', TEMPLATE_DIR, $text);
+	if(defined('TEMPLATE_NAME')) $text = str_replace('[TEMPLATE_NAME]', TEMPLATE_NAME, $text);
+	if(defined('TEMPLATE'))	     $text = str_replace('[TEMPLATE]', TEMPLATE, $text);	
+	
+	// WB CONSTANTS (always accessible) 
+	$text = str_replace('[WB_URL]', WB_URL, $text);	
+	$text = str_replace('[ADMIN_URL]', ADMIN_URL, $text);
+	$text = str_replace('[MEDIA_DIRECTORY]', MEDIA_DIRECTORY, $text);
+	$text = str_replace('[THEME_URL]', THEME_URL, $text);
+		
+	return $text;
+}
\ No newline at end of file

Property changes on: branches/2.8.x/wb/include/quickSkin_alpha/wb_quickSkin_28.php
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin_alpha/DOCS/control_structures.txt
===================================================================
--- branches/2.8.x/wb/include/quickSkin_alpha/DOCS/control_structures.txt	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin_alpha/DOCS/control_structures.txt	(revision 1559)
@@ -0,0 +1,122 @@
+QuickSkin Control Structures (Used within templates)
+
+Control Structure - IF
+
+  The if ... endif construct facilitates the conditional presentation of template fragments.
+
+  The syntax can be one of the following:
+
+  <!-- IF var --> var is not empty! <!-- ENDIF var -->
+  <!-- IF name=='John Doe' --> Your name is John Doe! <!-- ENDIF name -->
+  <!-- IF name!='John Doe' --> Your name is not John Doe! <!-- ENDIF name -->
+
+  A variable can be used as right part of the IF clause using the folloging syntax:
+
+  <!-- IF name=variablename --> Your name match with {variablename} <!-- ENDIF name -->
+  <!-- IF name!=top.variablename --> Your name doesn't match with {top.variablename} <!-- ENDIF name -->
+
+  * (var after ENDIF is optional)
+  * the 'var' comes from your PHP code
+  * IF/ELSE/ELSEIF control structures can be nested in other IF or LOOP control structures
+
+Control Structure - ELSE
+
+  The else construct extends an if construct to display a template fragment in case the
+  expression in the if statement evaluates to FALSE.
+
+  <!-- IF usergroup="ADMIN" -->
+  <a href="admin.php"> ADMIN Login </a><br />
+  <!-- ELSE -->
+  You are in guest mode!<br />
+  <!-- ENDIF usergroup -->
+
+  * (var after ENDIF is optional)
+  * the 'var' comes from your PHP code
+  * IF/ELSE/ELSEIF control structures can be nested in other IF or LOOP control structures
+
+Control Structure - ELSEIF
+
+  The elseif construct is a combination of an else and if construct.
+
+  <!-- IF usergroup="ADMIN" -->
+  <a href="admin.php"> Admin Staff Login </a><br />
+  <!-- ELSEIF usergroup="SUPPORT" -->
+  <a href="support.php"> Support Staff Login </a><br />
+  <!-- ELSEIF usergroup -->
+  <a href="other.php"> Standard Login </a><br />
+  <!-- ELSE -->
+  You don't even have a usergroup!
+  <!-- ENDIF -->
+
+  * (var after ENDIF is optional)
+  * the 'var' comes from your PHP code
+  * IF/ELSE/ELSEIF control structures can be nested in other IF or LOOP control structures
+
+Control Structure - LOOP ... ENDLOOP
+
+  The loop ... endloop construct facilitates a way to iterate through numeric arrays.
+  Each element of the numeric array is expected to be an associative array and is used
+  to parse the template fragment that is embedded between the
+  <!-- LOOP --> and <!-- ENDLOOP -->
+  tags like it was a small template itself.
+  
+  Each associative array is expanded by the following two additional elements:
+  
+  ROWCNT : The actual position of this element within the parent array. (0,1,2,3,...n)
+  ROWBIT : The least significant bit of ROWCNT. (0,1,0,1,0,1,...)
+  
+  loop ... endloop blocks can easily be nested and parsed recursivly.
+  
+  Example, assuming this code precedes in your PHP:
+  
+  $users = array(
+             array( 'NAME' => 'John Doe',   'GROUP' => 'ADMIN' ),
+             array( 'NAME' => 'Jack Doe',   'GROUP' => 'SUPPORT' ),
+             array( 'NAME' => 'James Doe',  'GROUP' => 'GUEST' ),
+             array( 'NAME' => 'Jane Doe',   'GROUP' => 'GUEST' ),
+           );
+  $page->assign( 'users',  $users );
+  
+  The template, then, would contain:
+
+  <style type="text/css">
+    .col0 { background-color: #D0D0D0; }
+    .col1 { background-color: #F0F0F0; }
+  </style>
+  <table border="1" cellpadding="2" cellspacing="0">
+    <tr>
+      <th>No.</th>
+      <th>Username</th>
+      <th>Usergroup</th>
+    </tr>
+    <!-- LOOP users -->
+    <tr class="col{ROWBIT}">
+      <td>{ROWCNT}</td>
+      <td>{NAME}</td>
+      <td>{GROUP}</td>
+    </tr>
+    <!-- ENDLOOP users -->
+  </table>
+
+  * (var after ENDLOOP is optional)
+  * the 'var' comes from your PHP code
+  * IF/ELSE/ELSEIF control structures can be nested in other IF or LOOP control structures
+  * LOOP/ENDLOOP control structures can be nested in other IF or LOOP control structures
+
+Control Structure - INCLUDE
+
+  While not a true Control Structure, the INCLUDE directive loads external data, in place, in your template.
+
+  Templates can be included in other templates by using the INCLUDE statement.
+  All functionality available to the main template is also available to the sub template
+  (variable substitution, etc.). This permit the use of subtemplating.
+
+  The syntax is:
+
+  <!-- INCLUDE templatename.html --> 
+  
+  * file to include is in the template directory (default '_skins/')
+  * similar to the method $page->addtpl() ... difference is that 'addtpl' stores the data 
+    in a variable that then gets assigned ('$page->assign()') within the main template
+
+  
\ No newline at end of file
Index: branches/2.8.x/wb/include/quickSkin_alpha/DOCS/methods.txt
===================================================================
--- branches/2.8.x/wb/include/quickSkin_alpha/DOCS/methods.txt	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin_alpha/DOCS/methods.txt	(revision 1559)
@@ -0,0 +1,49 @@
+QuickSkin Methods:
+
+QuickSkin::set( $property, $value )
+  Assigns content to a template property. Can be strings, no arrays.
+  (Please read the properties.txt document for examples).
+
+QuickSkin::addtpl()
+  Loads a supplementary template to the main template. Primarily used for
+  advertising banners, right columns, login boxes or member menus, etc. All
+  functionality available to the main template is also available to the sub
+  template (variable substitution, etc.). 
+
+QuickSkin::assign()
+  Assigns content to a template placeholder or a list. Can be used on associative
+  arrays and scalars.
+
+QuickSkin::append()
+  Appends content to a template placeholder. Can be used on associative arrays and
+  scalars.
+
+QuickSkin::use_cache()
+  Activates the built in output cache. Checks if the executed script
+  (ref. $_SERVER[REQUEST URI]) has produced any output whithin a certain period of
+  time. If so, use_cache sends the cached page to the standard output (Browser) and
+  terminates any further script execution.  
+  If no valid output is available, use_cache activates the PHP output buffer and returns
+  to the script form which it was called. During the following script execution, use_cache
+  captures all output that is send to the browser and stores it in a temporary cache file.
+  The filename of this cach file is a unique key that is created by modulating the current
+  script filename, its GET-parameters (REQUEST_URI) and the optional key parameter.  
+  If any important logging is done by this script, this has to be done before use_cache
+  is called. 
+
+QuickSkin::result()
+  Parses template and returns result page (usually to a variable).
+
+QuickSkin::output()
+  Parses template and sends to standard output (Browser). 
+
+QuickSkin::debug()
+  Activates the built in template debugger. Debug can be called instead of or in addition
+  to output. It prints a detailed list of all assigned variables and their content, the
+  compiled template and a the structured source template.
+  Debug can be very helpful for locating and removing errors in your template. 
+
+$contents = QuickSkin::getContents($param)
+  $param can be either a variable containing the contents, or a filename with full path.
+  Does some basic substitutions in advance of the class parsing the template and contents.
+  
Index: branches/2.8.x/wb/include/quickSkin_alpha/DOCS/install.txt
===================================================================
--- branches/2.8.x/wb/include/quickSkin_alpha/DOCS/install.txt	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin_alpha/DOCS/install.txt	(revision 1559)
@@ -0,0 +1,109 @@
+/*~ install.txt
+.---------------------------------------------------------------------------.
+|  Software: QuickSkin                                                      |
+|   Version: 5.0                                                            |
+|   Contact: andy.prevost@worxteam.com                                      |
+|      Info: http://sourceforge.net/projects/quickskin                      |
+|   Support: http://sourceforge.net/projects/quickskin                      |
+| ------------------------------------------------------------------------- |
+|    Author: Andy Prevost andy.prevost@worxteam.com (admin)                 |
+|    Author: Manuel 'EndelWar' Dalla Lana endelwar@aregar.it (former admin) |
+|    Author: Philipp v. Criegern philipp@criegern.com (original founder)    |
+| Copyright (c) 2002-2009, Andy Prevost. All Rights Reserved.               |
+|    * NOTE: QuickSkin is the SmartTemplate project renamed. SmartTemplate  |
+|            information and downloads can still be accessed at the         |
+|            smarttemplate.sourceforge.net site                             |
+| ------------------------------------------------------------------------- |
+|   License: Distributed under the Lesser General Public License (LGPL)     |
+|            http://www.gnu.org/copyleft/lesser.html                        |
+| This program is distributed in the hope that it will be useful - WITHOUT  |
+| ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or     |
+| FITNESS FOR A PARTICULAR PURPOSE.                                         |
+| ------------------------------------------------------------------------- |
+| We offer a number of paid services:                                       |
+| - Web Hosting on highly optimized fast and secure servers                 |
+| - Technology Consulting                                                   |
+| - Oursourcing (highly qualified programmers and graphic designers)        |
+'---------------------------------------------------------------------------'
+Last modified: January 01 2009 ~*/
+
+To install and use QuickSkin:
+
+1. Uncompress the ZIP file to your local computer
+
+-- FULL INSTALLATION
+
+   Copy the files to your webserver. We recommend that you put those in a 
+   directory structure that resembles:
+   
+   /_lib/class.quickskin.php
+   /_lib/class.quickskindebugger.php
+   /_lib/qx/{all files that start with qx_}
+   
+-- MINIMAL INSTALLATION
+   
+   If you want to install the absolutely bare-bones installation, copy only
+   the base class file to your webserver. We recommend that you put that file in
+   the following directory structure:
+   
+   /_lib/class.quickskin.php
+   
+2. Create a directory for your compiled/cached files. We recommend:
+
+   /_skins_tmp/
+   
+3. If you are using QuickSkin as part of a framework or plan to reuse your
+   code often, we recommend that you create a template structure such as:
+   
+   /_skins/
+   /_skins/default/         (to store your template HTML files)
+   /_skins/default/tplimgs/ (to store your template images and CSS files)
+   /_skins/default/tpljs/   (to store your template Javascript files)
+   /_skins_tmp/             (to store all compiled and cached files)
+   
+   With this kind of structure, you are able to create/edit your HTML 
+   files with any HTML editor (MS FrontPage, MS Expression Web, Macromedia
+   Dreamweaver, etc.). All of your references to locations of Javascript
+   files, images, and CSS files will reference the directory under the
+   HTML template file (ie. <img src="tplimgs/yourimage.jpg>). This 
+   is simple and convenient for both you and your users. Continue reading
+   for examples on how to take advantage of this directory structure.
+   
+4. All you need to use QuickSkin, is to instantiate it inside of your
+   script. If you used the directory structure we recommended, that looks like:
+   
+   include_once('/_lib/class.quickskin.php');
+   
+   $page = new QuickSkin( "default/yourtemplate.htm" );
+   
+   $page->assign( 'title',  'TemplateDemo' );
+   $page->assign( 'welcome', 'My Welcome' );
+   
+   $page->assign('welcome', 'My Welcome');
+   
+   $page->set('template_dir', '_skins/');
+   $page->set('temp_dir', '_skins_tmp/');
+   $page->set('cache_dir', '_skins_tmp/');
+   
+   // do substitute of template image directory
+   $page->assign('tpl_img', 'tplimgs/');
+   $page->assign('url_img', 'http://www.yourdomain.com/_skins/default/tplimgs/');
+   
+   // do substitute of template javascript directory
+   $page->assign('tpl_js', 'tpljs/');
+   $page->assign('url_js', 'http://www.yourdomain.com/_skins/default/tpljs/');
+   
+   $page->addtpl('sponsors', '_skins/default/sponsors.htm');
+   
+   //$page->debug();
+
+   $page->output();
+   
+Experiment. It is pretty simple to work the system and the scripts are
+well documented.
+
+If you are a previous user of SmartTemplate, the new version is completely code
+compatible with version 1.2.1 - with ONE EXCEPTION. The default for 'reuse_code'
+is now FALSE. There's quite a few enhancements that you will want to explore.
+
+Andy Prevost.
Index: branches/2.8.x/wb/include/quickSkin_alpha/DOCS/changelog.txt
===================================================================
--- branches/2.8.x/wb/include/quickSkin_alpha/DOCS/changelog.txt	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin_alpha/DOCS/changelog.txt	(revision 1559)
@@ -0,0 +1,67 @@
+Version 5.0.1 - November 01 2010
+- fixed last ereg-deprecatements
+- rename block command ( BEGIN - END  into LOOP - ENDLOOP)
+
+Version 5.0 - January 01 2009
+- First version designed specifically for PHP5
+- Changed default for 'reuse_code' to false
+- Added LPGL script dp.SyntaxHighlighter 
+- Added Extension 'codesnippetstart'
+- Added Extension 'codesnippetend'
+- changed behavior of all extensions - they no longer set the $_CONFIG array variales
+- added new default template
+- added code for Syntax Highlighter
+
+using Syntax Highlighter:
+In your HTML code, add:
+{codesnippetstart:}
+... your php code
+{codesnippetend:}
+Everything else is done for you.
+Please note that if you want to include the PHP start tag (ie. <?php ) and the PHP end tag (ie. ?> )
+in the code snippeg, you must use them like this:
+&lt;?php
+and
+?&gt;
+... the reason for this is that using the PHP start tag and end tag would process the code as a
+php script prior to the code snippet display and would mess up the page.
+
+---------------------------------------------------------------------------------------
+Version 2.2 - July 20 2008 (for PHP4)
+- renamed extensions directory to 'qx'
+- renamed all extension prefixes to 'qx_'
+- fixed auto-loading of extensions
+- added sample application
+- added ability to read file and strip all unnecessary header and footer HTML code
+- added ability to process QuickSkin Extensions in dynamic data
+
+Version 2.1.0rc1 - October 31 2007
+- Fixed INCLUDE issue where template files in subdirectories were not being called properly
+- Tested and works with PHP4 and PHP5 (5.2.4) ... will not work with E_STRICT
+
+Version 2.0.0rc1 - October 2007
+- Changed project name from SmartTemplate to QuickCache
+  - modified all file names and function names to conform to new product name
+- Added class property for template directory and modified logic in code to support this new property
+- Added class method "set" to set class properties (can be explicitly set vs, use of assumptive $_CONFIG variable)
+- Added class method "addtpl" to add a supplmentary template (banner ad, etc) that loads at same time as main template
+- Added properties to both the parser and debugger to facilitate passing of variables between classes
+- Changed all " (double quotes) to ' (single quotes) where possible to enhance performance
+- Modified compiled and cached files names to a maximum of 35 characters, plus extension
+- Added support for QUERY STRING - particularly important to large scale projects where the query string is widely used
+- Merged class.quickskin.php and class.quickskinparser.php into one single file (both are dependent on each other)
+- QuickSkin now compatible with CodeIgniter with a simple file name change
+  - change filename from class.quickskin.php to Quickskin.php and add to your /system/application/libraries directory
+*Note: next version will focus on compatibility with PHP4 and PHP5
+
+Version 1.2.1 - codename Betelgeuse
+- A variable can be used as right part of an IF clause
+- Added space recognition in IF clauses
+
+Version 1.2.0 - codename Orion
+- added subtemplate system
+- better error reporting
+- some bugfixing
+
+
+Version 1.0.2 - original developed by Philipp v. Criegern
Index: branches/2.8.x/wb/include/quickSkin_alpha/DOCS/properties.txt
===================================================================
--- branches/2.8.x/wb/include/quickSkin_alpha/DOCS/properties.txt	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin_alpha/DOCS/properties.txt	(revision 1559)
@@ -0,0 +1,34 @@
+QuickSkin Properties:
+
+Please note: if you do not want to modify the default, the respective property code is not required.
+
+$page->set('reuse_code', false);
+  defines whether or not to use the compiled PHP code or not, default is false
+  * note: if you have dynamic data (ie. from a database), set to false
+
+$page->set('template_dir', '_skins/');
+  defines the directory where the skins are stored, default is '_skins/'
+  (can also be set using the $_CONFIG['template_dir'] variable)
+
+$page->set('temp_dir', '_skins_tmp/');
+  defines the directory where the compiled code is stored, default is '_skins_tmp/'
+  (can also be set using the $_CONFIG['quickskin_compiled'] variable)
+
+$page->set('cache_dir', '_skins_tmp/');
+  defines the directory where the temporary compiled code is stored, default is '_skins_tmp/'
+  (can also be set using the $_CONFIG['quickskin_cache'] variable)
+
+$page->set('cache_lifetime', 600);
+  defines the Output Cache Lifetime in seconds, default is 600 seconds (10 minutes)
+  (can also be set using the $_CONFIG['cache_lifetime'] variable)
+
+$page->set('extensions_dir', '_lib/qx');
+  defines the directory where the QuickSkin Extensions are stored, default is '_lib/qx'
+  (QuickSkin Extensions are code that can be used in your templates - but not in dynamic data)
+  
+$page->set('extension_prefix', 'qx_');
+  defines the prefix used on all QuickSkin Extensions, default is 'qx_' (not usually changed)
+
+$page->set('extensions_dir', '_skins/');
+  defines the directory where the skins are stored, default is '_skins/'
+
Index: branches/2.8.x/wb/include/quickSkin_alpha/DOCS/readme.txt
===================================================================
--- branches/2.8.x/wb/include/quickSkin_alpha/DOCS/readme.txt	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin_alpha/DOCS/readme.txt	(revision 1559)
@@ -0,0 +1,86 @@
+/*~ readme.txt
+.---------------------------------------------------------------------------.
+|  Software: QuickSkin                                                      |
+|   Version: 5.0                                                            |
+|   Contact: andy.prevost@worxteam.com                                      |
+|      Info: http://sourceforge.net/projects/quickskin                      |
+|   Support: http://sourceforge.net/projects/quickskin                      |
+| ------------------------------------------------------------------------- |
+|    Author: Andy Prevost andy.prevost@worxteam.com (admin)                 |
+|    Author: Manuel 'EndelWar' Dalla Lana endelwar@aregar.it (former admin) |
+|    Author: Philipp v. Criegern philipp@criegern.com (original founder)    |
+| Copyright (c) 2002-2009, Andy Prevost. All Rights Reserved.               |
+|    * NOTE: QuickSkin is the SmartTemplate project renamed. SmartTemplate  |
+|            information and downloads can still be accessed at the         |
+|            smarttemplate.sourceforge.net site                             |
+| ------------------------------------------------------------------------- |
+|   License: Distributed under the Lesser General Public License (LGPL)     |
+|            http://www.gnu.org/copyleft/lesser.html                        |
+| This program is distributed in the hope that it will be useful - WITHOUT  |
+| ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or     |
+| FITNESS FOR A PARTICULAR PURPOSE.                                         |
+| ------------------------------------------------------------------------- |
+| We offer a number of paid services:                                       |
+| - Web Hosting on highly optimized fast and secure servers                 |
+| - Technology Consulting                                                   |
+| - Oursourcing (highly qualified programmers and graphic designers)        |
+'---------------------------------------------------------------------------'
+Last modified: January 01 2009 ~*/
+
+For documentation, please see the 'DOCS' folder.
+
+QuickSkin v5.0
+http://sourceforge.net/projects/quickskin 
+
+Copyright (c) 2002-2009, Andy Prevost. All Rights Reserved.
+
+QuickSkin is a Template Engine that was designed to support web based 
+applications of any size. It is particularly suited to large scale applications
+like Content Management Systems. The project was originally started by 
+Philipp v. Criegern and named "SmartTemplate". The project was then taken over
+by Manuel 'EndelWar' Dalla Lana and HonestQiao. The name of the project back
+then led to confusion with Smarty Templating. Despite its advantages over other
+templating systems (speed, small footprint, ease of use, power), SmartTemplate
+has not been updated and had many outstanding bugs. Codeworx Technologies has
+been using SmartTemplate on a variety of projects for several years. Over that
+time we have become very familiar with the code. We have now taken over the
+project. Our first task was to rename the project to make it less confusing,
+fix the bugs, and extend its capabilities -- while maintaining its core 
+simplicity and ease of use.
+
+What's so special about it?
+
+Common template engines work like the following: Your PHP script specifies an 
+HTML template and assigns some dynamic content to display. The template parser
+replaces all placeholders within the template with the assigned content and
+displays it to the user. This means a lot of string processing and regular
+expression work each time you want to display some content.
+
+QuickSkin works like a 'template compiler' that converts templates into executable
+PHP code and stores it for later reuse. The first time a new template is processed,
+all placeholders in the template are replaced by small PHP code elements that
+print the assigned content. The HTML template fragment <H3>{TITLE}</H3>, for
+example, is converted into something like <H3><?php echo $TITLE; ?></H3>. If you
+have assigned your content to the right variables, there is no need for any
+template parsing anymore. The only thing that has to be done is to include and
+execute the compiled template. This usually increases the execution time of the
+template engine dramatically.
+
+QuickSkin supports:
+
+- Simple Scalar Substitution (Strings, etc.)
+- Block Iterations (nested Arrays / LOOP..ENDLOOP)
+- Basic Control Structures (IF..ELSEIF..ELSE)
+- Custom Extension (Output filters, uppercase, sprintf, etc.)
+- Template Compilation (HTML templates are converted to executable PHP Code)
+- Output Caching (Accelerates your applications by reusing page output) 
+- Tested and works with PHP4 and PHP5 (5.2.4)
+
+If you successfully deploy QuickSkin with your applications, please add text
+link or link the QuickSkin button back to
+http://sourceforge.net/projects/quickskin/.
+
+Please let us know about your usage, so we can keep track of the sites using
+QuickSkin.
+     
+Andy Prevost.
Index: branches/2.8.x/wb/include/quickSkin_alpha/README
===================================================================
--- branches/2.8.x/wb/include/quickSkin_alpha/README	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin_alpha/README	(revision 1559)
@@ -0,0 +1,11 @@
+===============================================================================
+Please note: This version of QuickSkin is still in ALPHA-State
+
+It's for testing and learning purposes only !!!!!
+
+The original class is under work and will be published soon.
+
+!! Do not use this library for live systems please !!
+===============================================================================
+
+
Index: branches/2.8.x/wb/include/quickSkin_alpha/index.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin_alpha/index.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin_alpha/index.php	(revision 1559)
@@ -0,0 +1,20 @@
+<?php
+/**
+ *
+ * @category        Security
+ * @package         FolderProtectFile
+ * @author          WebsiteBaker Project
+ * @copyright       2009-2011, Website Baker Org. e.V.
+ * @link            http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 5.2.2 and higher
+ * @version         $Id$
+ * @filesource      $HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+header('HTTP/1.1 301 Moved Permanently');
+header("Location: ../../index.php");
+

Property changes on: branches/2.8.x/wb/include/quickSkin_alpha/index.php
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/include/quickSkin_alpha/class.quickskindebugger.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin_alpha/class.quickskindebugger.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin_alpha/class.quickskindebugger.php	(revision 1559)
@@ -0,0 +1,384 @@
+<?php
+/*~ class.quickskindebugger.php
+.---------------------------------------------------------------------------.
+|  Software: QuickSkinDebugger Class * Used by QuickSkin Class              |
+|   Version: 5.0                                                            |
+|   Contact: andy.prevost@worxteam.com,andy@codeworx.ca                     |
+|      Info: http://quickskin.sourceforge.net                               |
+|   Support: http://sourceforge.net/projects/quickskin/                     |
+| ------------------------------------------------------------------------- |
+|    Author: Andy Prevost andy.prevost@worxteam.com (admin)                 |
+|    Author: Manuel 'EndelWar' Dalla Lana endelwar@aregar.it (former admin) |
+|    Author: Philipp v. Criegern philipp@criegern.com (original founder)    |
+| Copyright (c) 2002-2009, Andy Prevost. All Rights Reserved.               |
+|    * NOTE: QuickSkin is the SmartTemplate project renamed. SmartTemplate  |
+|            information and downloads can still be accessed at the         |
+|            smarttemplate.sourceforge.net site                             |
+| ------------------------------------------------------------------------- |
+|   License: Distributed under the Lesser General Public License (LGPL)     |
+|            http://www.gnu.org/copyleft/lesser.html                        |
+| This program is distributed in the hope that it will be useful - WITHOUT  |
+| ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or     |
+| FITNESS FOR A PARTICULAR PURPOSE.                                         |
+| ------------------------------------------------------------------------- |
+| We offer a number of paid services:                                       |
+| - Web Hosting on highly optimized fast and secure servers                 |
+| - Technology Consulting                                                   |
+| - Oursourcing (highly qualified programmers and graphic designers)        |
+'---------------------------------------------------------------------------'
+Last modified: January 01 2009 ~*/
+
+/* designed to work with PHP5 - will NOT work with PHP4 */
+
+class QuickSkinDebugger {
+
+  /* The template Filename
+   * @access private
+   */
+  private $filename;
+
+  /* The template itself
+   * @access private
+   */
+  private $template;
+
+  /* Default Left delimiter
+   * Can be overwritten by global configuration array $_CONFIG['left_delimiter']
+   * @access public
+   */
+  private $left_delimiter =  '{';
+
+  /* Default Right delimiter
+   * Can be overwritten by global configuration array $_CONFIG['right_delimiter']
+   * @access public
+   */
+  private $right_delimiter =  '}';
+
+  /* QuickSkinDebugger Constructor
+   * @param string $template_filename HTML Template Filename
+   */
+  function __construct( $template_filename, $right_delimiter = '}', $left_delimiter = '{' ) {
+    $this->filename  =  $template_filename;
+
+    /* Load Template */
+    if ($hd  =  @fopen($template_filename,  'r')) {
+      $this->template  =  fread($hd,  filesize($template_filename));
+      fclose($hd);
+    } else {
+      $this->template  =  'QuickSkin Debugger Error: File not found: ' . $template_filename;
+    }
+    $this->tab[0]  =  '';
+    for ($i=1;  $i < 10;  $i++) {
+      $this->tab[$i]  =  str_repeat('    ', $i);
+    }
+    $this->right_delimiter = $right_delimiter;
+    $this->left_delimiter = $left_delimiter;
+  }
+
+  /* Main Template Parser
+   * @param string $compiled_template_filename Compiled Template Filename
+   * @desc Creates Compiled PHP Template
+   */
+  function start ( $vars ) {
+    $page  =  $this->template;
+
+    $page  =  preg_replace("/(<!-- BEGIN [ a-zA-Z0-9_.]* -->)/",  "\n$1\n",  $page);
+    $page  =  preg_replace("/(<!-- IF .+? -->)/",  "\n$1\n",  $page);
+    $page  =  preg_replace("/(<!-- END.*? -->)/",  "\n$1\n",  $page);
+    $page  =  preg_replace("/(<!-- ELSEIF .+? -->)/",  "\n$1\n",  $page);
+    $page  =  preg_replace("/(<!-- ELSE [ a-zA-Z0-9_.]*-->)/",  "\n$1\n",  $page);
+
+    $page  =  $this->highlight_html($page);
+
+    $rows      =  explode("\n",  $page);
+    $page_arr  =  array();
+    $level     =  0;
+    $blocklvl  =  0;
+    $rowcnt    =  0;
+    $spancnt   =  0;
+    $offset    =  22;
+    $lvl_block =  array();
+    $lvl_row   =  array();
+    $lvl_typ   =  array();
+    foreach ($rows as $row) {
+      if ($row  =  trim($row)) {
+        $closespan  =  false;
+        if (substr($row, $offset, 12) == '&lt;!-- END ') {
+          if ($level < 1) {
+            $level++;
+            $error[$rowcnt]  =  'END Without BEGIN';
+          } elseif ($lvl_typ[$level] != 'BEGIN') {
+            $error[$lvl_row[$level]]  =  'IF without ENDIF';
+            $error[$rowcnt]  =  'END Without BEGIN';
+          }
+          $blocklvl--;
+          $level--;
+          $closespan  =  true;
+        }
+        if (substr($row, $offset, 14) == '&lt;!-- ENDIF ') {
+          if ($level < 1) {
+            $level++;
+            $error[$rowcnt]  =  'ENDIF Without IF';
+          } elseif ($lvl_typ[$level] != 'IF') {
+            $error[$lvl_row[$level]]  =  'BEGIN without END';
+            $error[$rowcnt]  =  'ENDIF Without IF';
+          }
+          $closespan  =  true;
+          $level--;
+        }
+        if ($closespan) {
+          $page_arr[$rowcnt-1]  .=  '</span>';
+        }
+        $this_row  =  $this->tab[$level] . $row;
+        if (substr($row, $offset, 12) == '&lt;!-- ELSE') {
+          if ($level < 1) {
+            $error[$rowcnt]  =  'ELSE Without IF';
+          } elseif ($lvl_typ[$level] != 'IF') {
+            $error[$rowcnt]  =  'ELSE Without IF';
+          } else {
+            $this_row  =  $this->tab[$level-1] . $row;
+          }
+        }
+        if (substr($row, $offset, 14) == '&lt;!-- BEGIN ') {
+          if ($blocklvl == 0) {
+            if ($lp = strpos($row, '--&gt;')) {
+              if ($blockname  =  trim(substr($row, $offset + 14, $lp -$offset -14))) {
+                if ($nr = count($vars[$blockname])) {
+                  $this_row  .=  $this->toggleview($nr . ' Entries');
+                } else {
+                  $this_row  .=  $this->toggleview('Emtpy');
+                }
+              }
+            }
+          } else {
+            $this_row  .=  $this->toggleview('[');
+          }
+          $blocklvl++;
+          $level++;
+          $lvl_row[$level]  =  $rowcnt;
+          $lvl_typ[$level]  =  'BEGIN';
+        } elseif (substr($row, $offset, 11) == '&lt;!-- IF ') {
+          $level++;
+          $lvl_row[$level]  =  $rowcnt;
+          $lvl_typ[$level]  =  'IF';
+          $this_row  .=  $this->toggleview();
+        }
+        $page_arr[]  =  $this_row;
+        $lvl_block[$rowcnt]  =  $blocklvl;
+        $rowcnt++;
+      }
+    }
+    if ($level > 0) {
+      $error[$lvl_row[$level]]  =  'Block not closed';
+    }
+
+    $page  =  join("\n", $page_arr);
+    $rows  =  explode("\n",  $page);
+    $cnt   =  count($rows);
+
+    for ($i = 0;  $i < $cnt;  $i++) {
+      /* Add Errortext */
+      if (isset($error)) {
+        if ($err = $error[$i]) {
+          $rows[$i]  =  '<b>' . $rows[$i] . '        ERROR: ' . $err . '!</b>';
+        }
+      }
+
+      /* Replace Scalars */
+      $right_delimiter = preg_quote($this->right_delimiter);
+      $left_delimiter = preg_quote($this->left_delimiter);
+      if (preg_match_all("/$left_delimiter([a-zA-Z0-9_. &;]+)$right_delimiter/", $rows[$i], $var)) {
+        foreach ($var[1] as $tag) {
+          $fulltag  =  $tag;
+          if ($delim = strpos($tag, ' &gt; ')) {
+            $tag  =  substr($tag, 0, $delim);
+          }
+          if (substr($tag, 0, 4) == 'top.') {
+            $title  =  $this->tip($vars[substr($tag, 4)]);
+          } elseif ($lvl_block[$i] == 0) {
+            $title  =  $this->tip($vars[$tag]);
+          } else {
+            $title  =  '[BLOCK?]';
+          }
+          $code  =  '<b title="' . $title . '">' . $left_delimiter . $fulltag . $right_delimiter . '</b>';
+          $rows[$i]  =  str_replace('{'.$fulltag.'}',  $code,  $rows[$i]);
+        }
+      }
+
+      /* Replace Extensions */
+      if (preg_match_all("/$left_delimiter([a-zA-Z0-9_]+):([^}]*)$right_delimiter/", $rows[$i], $var)) {
+        foreach ($var[2] as $tmpcnt => $tag) {
+          $fulltag  =  $tag;
+          if ($delim = strpos($tag, ' &gt; ')) {
+            $tag  =  substr($tag, 0, $delim);
+          }
+          if (strpos($tag, ',')) {
+            list($tag, $addparam)  =  explode(',', $tag, 2);
+          }
+          $extension  =  $var[1][$tmpcnt];
+
+          if (substr($tag, 0, 4) == 'top.') {
+            $title  =  $this->tip($vars[substr($tag, 4)]);
+          } elseif ($lvl_block[$i] == 0) {
+            $title  =  $this->tip($vars[$tag]);
+          } else {
+            $title  =  '[BLOCK?]';
+          }
+          $code  =  '<b title="' . $title . '">' . $this->left_delimiter . $extension . ':' . $fulltag . $this->right_delimiter . '</b>';
+          $rows[$i]  =  str_replace($this->left_delimiter . $extension . ':' . $fulltag . $this->right_delimiter,  $code,  $rows[$i]);
+        }
+      }
+
+      /* 'IF nnn' Blocks */
+      if (preg_match_all('/&lt;!-- IF ([a-zA-Z0-9_.]+) --&gt;/', $rows[$i], $var)) {
+        foreach ($var[1] as $tag) {
+          if (substr($tag, 0, 4) == 'top.') {
+            $title  =  $this->tip($vars[substr($tag, 4)]);
+          } elseif ($lvl_block[$i] == 0) {
+            $title  =  $this->tip($vars[$tag]);
+          } else {
+            $title  =  '[BLOCK?]';
+          }
+          $code  =  '<span title="' . $title . '">&lt;!-- IF ' . $tag . ' --&gt;</span>';
+          $rows[$i]  =  str_replace("&lt;!-- IF $tag --&gt;",  $code,  $rows[$i]);
+          if ($title == '[NULL]') {
+            $rows[$i]  =  str_replace('Hide',  'Show',  $rows[$i]);
+            $rows[$i]  =  str_replace('block',  'none',  $rows[$i]);
+          }
+        }
+      }
+    }
+    $page  =  join('<br>', $rows);
+
+    /* Print Header */
+    echo '<html><head><script type="text/javascript">
+        function toggleVisibility(el, src) {
+        var v = el.style.display == "block";
+        var str = src.innerHTML;
+        el.style.display = v ? "none" : "block";
+        src.innerHTML = v ? str.replace(/Hide/, "Show") : str.replace(/Show/, "Hide");}
+        </script></head><body>';
+
+    /* Print Index */
+    echo '<font face="Arial" Size="3"><b>';
+    echo 'QuickSkin Debugger<br>';
+    echo '<font size="2"><li>PHP-Script: ' . $_SERVER['SCRIPT_FILENAME'] . '</li><li>Template: ' . $this->filename . '</li></font><hr>';
+    echo '<li><a href="#template_code">Template</a></li>';
+    echo '<li><a href="#compiled_code">Compiled Template</a></li>';
+    echo '<li><a href="#data_code">Data</a></li>';
+    echo '</b></font><hr>';
+
+    /* Print Template */
+    echo '<a name="template_code"><br><font face="Arial" Size="3"><b>Template:</b>&nbsp;[<a href="javascript:void(\'\');" onclick="toggleVisibility(document.getElementById(\'Template\'), this); return false">Hide Ouptut</a>]</font><br>';
+    echo '<table border="0" cellpadding="4" cellspacing="1" width="100%" bgcolor="#C6D3EF"><tr><td bgcolor="#F0F0F0"><pre id="Template" style="display:block">';
+    echo $page;
+    echo '</pre></td></tr></table>';
+
+    /* Print Compiled Template */
+    if (@include_once ("class.quickskinparser.php")) {
+      $parser = new QuickSkinParser($this->filename);
+      $compiled  =  $parser->compile();
+      echo '<a name="compiled_code"><br><br><font face="Arial" Size="3"><b>Compiled Template:</b>&nbsp;[<a href="javascript:void(\'\');" onclick="toggleVisibility(document.getElementById(\'Compiled\'), this); return false">Hide Ouptut</a>]</font><br>';
+      echo '<table border="0" cellpadding="4" cellspacing="1" width="100%" bgcolor="#C6D3EF"><tr><td bgcolor="#F0F0F0"><pre id="Compiled" style="display:block">';
+      highlight_string($compiled);
+      echo '</pre></td></tr></table>';
+    } else {
+      exit( "QuickSkin Error: Cannot find class.quickskinparser.php; check QuickSkin installation");
+    }
+
+    /* Print Data */
+    echo '<a name="data_code"><br><br><font face="Arial" Size="3"><b>Data:</b>&nbsp;[<a href="javascript:void(\'\');" onclick="toggleVisibility(document.getElementById(\'Data\'), this); return false">Hide Ouptut</a>]</font><br>';
+    echo '<table border="0" cellpadding="4" cellspacing="1" width="100%" bgcolor="#C6D3EF"><tr><td bgcolor="#F0F0F0"><pre id="Data" style="display:block">';
+    echo $this->vardump($vars);
+    echo '</pre></td></tr></table></body></html>';
+  }
+
+  /* Insert Hide/Show Layer Switch
+   * @param string $suffix Additional Text
+   * @desc Insert Hide/Show Layer Switch
+   */
+  function toggleview ( $suffix = '') {
+    global $spancnt;
+
+    $spancnt++;
+    if ($suffix) {
+      $suffix  .=  ':';
+    }
+    $ret =  '[' . $suffix . '<a href="javascript:void(\'\');" onclick="toggleVisibility(document.getElementById(\'Block' . $spancnt . '\'), this); return false">Hide Block</a>]<span id="Block' . $spancnt . '" style="display:block">';
+    return $ret;
+  }
+
+  /* Create Title Text
+   * @param string $value Content
+   * @desc Create Title Text
+   */
+  function tip ( $value ) {
+    if (empty($value)) {
+      return '[NULL]';
+    } else {
+      $ret = htmlentities(substr($value,0,200));
+      return $ret;
+    }
+  }
+
+  /* Recursive Variable Display Output
+   * @param mixed $var Content
+   * @param int $depth Incremented Indent Counter for Recursive Calls
+   * @return string Variable Content
+   * @access private
+   * @desc Recursive Variable Display Output
+   */
+    function vardump($var, $depth = 0) {
+      if (is_array($var)) {
+        $result  =  "Array (" . count($var) . ")<BR>";
+        foreach(array_keys($var) as $key) {
+          $result  .=  $this->tab[$depth] . "<B>$key</B>: " . $this->vardump($var[$key],  $depth+1);
+        }
+        return $result;
+      } else {
+        $ret =  htmlentities($var) . '<BR>';
+        return $ret;
+      }
+    }
+
+  /* Splits Template-Style Variable Names into an Array-Name/Key-Name Components
+   * @param string $tag Variale Name used in Template
+   * @return array  Array Name, Key Name
+   * @access private
+   * @desc Splits Template-Style Variable Names into an Array-Name/Key-Name Components
+   */
+  function var_name($tag) {
+    $parent_level  =  0;
+    while (substr($tag, 0, 7) == 'parent.') {
+      $tag  =  substr($tag, 7);
+      $parent_level++;
+    }
+    if (substr($tag, 0, 4) == 'top.') {
+      $ret = array('_stack[0]', substr($tag,4));
+      return $ret;
+    } elseif ($parent_level) {
+      $ret = array('_stack[$_stack_cnt-'.$parent_level.']', $tag);
+      return $ret;
+    } else {
+      $ret = array('_obj', $tag);
+      return $ret;
+    }
+  }
+
+  /* Highlight HTML Source
+   * @param string $code HTML Source
+   * @return string Hightlighte HTML Source
+   * @access private
+   * @desc Highlight HTML Source
+   */
+  function highlight_html ( $code ) {
+    $code  =  htmlentities($code);
+    $code  =  preg_replace('/([a-zA-Z_]+)=/',  '<font color="#FF0000">$1=</font>',  $code);
+    $code  =  preg_replace('/(&lt;[\/a-zA-Z0-9&;]+)/',  '<font color="#0000FF">$1</font>',  $code);
+    $code  =  str_replace('&lt;!--',  '<font color="#008080">&lt;!--',  $code);
+    $code  =  str_replace('--&gt;',  '--&gt;</font>',  $code);
+    $code  =  preg_replace('/[\r\n]+/',  "\n",  $code);
+    return $code;
+  }
+}
+?>

Property changes on: branches/2.8.x/wb/include/quickSkin_alpha/class.quickskindebugger.php
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/admin/interface/version.php
===================================================================
--- branches/2.8.x/wb/admin/interface/version.php	(revision 1558)
+++ branches/2.8.x/wb/admin/interface/version.php	(revision 1559)
@@ -52,5 +52,5 @@
 
 // check if defined to avoid errors during installation (redirect to admin panel fails if PHP error/warnings are enabled)
 if(!defined('VERSION')) define('VERSION', '2.8.2');
-if(!defined('REVISION')) define('REVISION', '1558');
+if(!defined('REVISION')) define('REVISION', '1559');
 if(!defined('SP')) define('SP', 'SP2');
