Index: branches/2.8.x/CHANGELOG
===================================================================
--- branches/2.8.x/CHANGELOG	(revision 1545)
+++ branches/2.8.x/CHANGELOG	(revision 1546)
@@ -11,7 +11,13 @@
 ! = Update/Change
 
 =========================== add small Features 2.8.2 ==========================
-15 Dez-2011 Build 1544 Dietmar Woellbrink (Luisehahne)
+18 Dez-2011 Build 1546 Dietmar Woellbrink (Luisehahne)
+! recoded /account/forgot_form.php
+! update quickSkin 
+! update languages files 
++ add /temp/quickSkin/ folder
+! begin fixing sec_anchor in urls
+15 Dez-2011 Build 1545 Dietmar Woellbrink (Luisehahne)
 ! update admin/pages/modify.php now you can send page_id with GET and POST
 15 Dez-2011 Build 1544 Dietmar Woellbrink (Luisehahne)
 # fix droplet import after new wb installtion
Index: branches/2.8.x/wb/include/quickSkin/class.quickskin.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/class.quickskin.php	(revision 1545)
+++ branches/2.8.x/wb/include/quickSkin/class.quickskin.php	(nonexistent)
@@ -1,1012 +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(eregi("<!-- INCLUDE", $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";
-    }
-
-    /* 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/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/qx/qx_uppercase.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/qx/qx_uppercase.php	(revision 1545)
+++ branches/2.8.x/wb/include/quickSkin/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/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/qx/qx_current_datetime.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/qx/qx_current_datetime.php	(revision 1545)
+++ branches/2.8.x/wb/include/quickSkin/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/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/qx/qx_nvl.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/qx/qx_nvl.php	(revision 1545)
+++ branches/2.8.x/wb/include/quickSkin/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/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/qx/qx_mailtoencode.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/qx/qx_mailtoencode.php	(revision 1545)
+++ branches/2.8.x/wb/include/quickSkin/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/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/qx/qx_current_date.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/qx/qx_current_date.php	(revision 1545)
+++ branches/2.8.x/wb/include/quickSkin/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/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/qx/qx_codesnippetend.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/qx/qx_codesnippetend.php	(revision 1545)
+++ branches/2.8.x/wb/include/quickSkin/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/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/qx/qx_replace.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/qx/qx_replace.php	(revision 1545)
+++ branches/2.8.x/wb/include/quickSkin/qx/qx_replace.php	(nonexistent)
@@ -1,17 +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/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/qx/qx_mailto.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/qx/qx_mailto.php	(revision 1545)
+++ branches/2.8.x/wb/include/quickSkin/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/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/qx/qx_current_time.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/qx/qx_current_time.php	(revision 1545)
+++ branches/2.8.x/wb/include/quickSkin/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/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/qx/qx_vardump.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/qx/qx_vardump.php	(revision 1545)
+++ branches/2.8.x/wb/include/quickSkin/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/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/qx/qx_trim.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/qx/qx_trim.php	(revision 1545)
+++ branches/2.8.x/wb/include/quickSkin/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/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/qx/qx_encode.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/qx/qx_encode.php	(revision 1545)
+++ branches/2.8.x/wb/include/quickSkin/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/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/qx/qx_htmlentities.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/qx/qx_htmlentities.php	(revision 1545)
+++ branches/2.8.x/wb/include/quickSkin/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/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/qx/qx_db_date.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/qx/qx_db_date.php	(revision 1545)
+++ branches/2.8.x/wb/include/quickSkin/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/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/qx/qx_db_time.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/qx/qx_db_time.php	(revision 1545)
+++ branches/2.8.x/wb/include/quickSkin/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/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/qx/qx_regex.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/qx/qx_regex.php	(revision 1545)
+++ branches/2.8.x/wb/include/quickSkin/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/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/qx/qx_hidemail.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/qx/qx_hidemail.php	(revision 1545)
+++ branches/2.8.x/wb/include/quickSkin/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/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/qx/index.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/qx/index.php	(revision 1545)
+++ branches/2.8.x/wb/include/quickSkin/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/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/qx/qx_session.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/qx/qx_session.php	(revision 1545)
+++ branches/2.8.x/wb/include/quickSkin/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/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/qx/qx_number.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/qx/qx_number.php	(revision 1545)
+++ branches/2.8.x/wb/include/quickSkin/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/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/qx/qx_options.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/qx/qx_options.php	(revision 1545)
+++ branches/2.8.x/wb/include/quickSkin/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/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/qx/qx_entity_decode.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/qx/qx_entity_decode.php	(revision 1545)
+++ branches/2.8.x/wb/include/quickSkin/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/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/qx/qx_truncate.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/qx/qx_truncate.php	(revision 1545)
+++ branches/2.8.x/wb/include/quickSkin/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/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/qx/qx_count.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/qx/qx_count.php	(revision 1545)
+++ branches/2.8.x/wb/include/quickSkin/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/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/qx/qx_codesnippetstart.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/qx/qx_codesnippetstart.php	(revision 1545)
+++ branches/2.8.x/wb/include/quickSkin/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/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/qx/qx_substr.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/qx/qx_substr.php	(revision 1545)
+++ branches/2.8.x/wb/include/quickSkin/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/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/qx/qx_header.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/qx/qx_header.php	(revision 1545)
+++ branches/2.8.x/wb/include/quickSkin/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/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/qx/qx_dateformatgrid.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/qx/qx_dateformatgrid.php	(revision 1545)
+++ branches/2.8.x/wb/include/quickSkin/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/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/qx/qx_config.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/qx/qx_config.php	(revision 1545)
+++ branches/2.8.x/wb/include/quickSkin/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/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/qx/qx_load_config.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/qx/qx_load_config.php	(revision 1545)
+++ branches/2.8.x/wb/include/quickSkin/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/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/qx/qx_stringformat.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/qx/qx_stringformat.php	(revision 1545)
+++ branches/2.8.x/wb/include/quickSkin/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/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/qx/qx_urlencode.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/qx/qx_urlencode.php	(revision 1545)
+++ branches/2.8.x/wb/include/quickSkin/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/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/qx/qx_db_datetime.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/qx/qx_db_datetime.php	(revision 1545)
+++ branches/2.8.x/wb/include/quickSkin/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/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/qx/qx_lowercase.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/qx/qx_lowercase.php	(revision 1545)
+++ branches/2.8.x/wb/include/quickSkin/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/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/qx/qx_load_file.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/qx/qx_load_file.php	(revision 1545)
+++ branches/2.8.x/wb/include/quickSkin/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/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/qx/qx_layoutfield.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_layoutfield.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_layoutfield.php	(revision 1546)
@@ -0,0 +1,22 @@
+<?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
___________________________________________________________________
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/_lib/qx/qx_db_date.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_db_date.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_db_date.php	(revision 1546)
@@ -0,0 +1,23 @@
+<?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
___________________________________________________________________
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/_lib/qx/qx_substr.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_substr.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_substr.php	(revision 1546)
@@ -0,0 +1,21 @@
+<?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
___________________________________________________________________
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/_lib/qx/qx_lowercase.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_lowercase.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_lowercase.php	(revision 1546)
@@ -0,0 +1,17 @@
+<?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
___________________________________________________________________
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/_lib/qx/qx_mailto.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_mailto.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_mailto.php	(revision 1546)
@@ -0,0 +1,48 @@
+<?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
___________________________________________________________________
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/_lib/qx/qx_WB_HEADING.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_WB_HEADING.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_WB_HEADING.php	(revision 1546)
@@ -0,0 +1,18 @@
+<?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
___________________________________________________________________
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/_lib/qx/qx_number.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_number.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_number.php	(revision 1546)
@@ -0,0 +1,32 @@
+<?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
___________________________________________________________________
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/_lib/qx/qx_count.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_count.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_count.php	(revision 1546)
@@ -0,0 +1,18 @@
+<?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
___________________________________________________________________
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/_lib/qx/qx_current_datetime.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_current_datetime.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_current_datetime.php	(revision 1546)
@@ -0,0 +1,22 @@
+<?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
___________________________________________________________________
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/_lib/qx/qx_nvl.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_nvl.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_nvl.php	(revision 1546)
@@ -0,0 +1,21 @@
+<?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
___________________________________________________________________
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/_lib/qx/qx_db_datetime.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_db_datetime.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_db_datetime.php	(revision 1546)
@@ -0,0 +1,23 @@
+<?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
___________________________________________________________________
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/_lib/qx/qx_specialchars.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_specialchars.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_specialchars.php	(revision 1546)
@@ -0,0 +1,17 @@
+<?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
___________________________________________________________________
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/_lib/qx/qx_load_config.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_load_config.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_load_config.php	(revision 1546)
@@ -0,0 +1,56 @@
+<?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
___________________________________________________________________
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/_lib/qx/qx_regex.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_regex.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_regex.php	(revision 1546)
@@ -0,0 +1,17 @@
+<?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
___________________________________________________________________
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/_lib/qx/qx_replace.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_replace.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_replace.php	(revision 1546)
@@ -0,0 +1,18 @@
+<?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
___________________________________________________________________
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/_lib/qx/qx_trim.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_trim.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_trim.php	(revision 1546)
@@ -0,0 +1,17 @@
+<?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
___________________________________________________________________
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/_lib/qx/qx_stringformat.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_stringformat.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_stringformat.php	(revision 1546)
@@ -0,0 +1,17 @@
+<?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
___________________________________________________________________
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/_lib/qx/qx_session.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_session.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_session.php	(revision 1546)
@@ -0,0 +1,17 @@
+<?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
___________________________________________________________________
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/_lib/qx/qx_truncate.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_truncate.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_truncate.php	(revision 1546)
@@ -0,0 +1,17 @@
+<?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
___________________________________________________________________
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/_lib/qx/qx_uppercase.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_uppercase.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_uppercase.php	(revision 1546)
@@ -0,0 +1,17 @@
+<?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
___________________________________________________________________
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/_lib/qx/qx_header.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_header.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_header.php	(revision 1546)
@@ -0,0 +1,23 @@
+<?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
___________________________________________________________________
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/_lib/qx/qx_codesnippetstart.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_codesnippetstart.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_codesnippetstart.php	(revision 1546)
@@ -0,0 +1,26 @@
+<?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
___________________________________________________________________
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/_lib/qx/qx_options.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_options.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_options.php	(revision 1546)
@@ -0,0 +1,34 @@
+<?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
___________________________________________________________________
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/_lib/qx/qx_dateformatgrid.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_dateformatgrid.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_dateformatgrid.php	(revision 1546)
@@ -0,0 +1,19 @@
+<?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
___________________________________________________________________
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/_lib/qx/qx_encode.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_encode.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_encode.php	(revision 1546)
@@ -0,0 +1,18 @@
+<?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
___________________________________________________________________
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/_lib/qx/index.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/index.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/index.php	(revision 1546)
@@ -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/_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/_lib/qx/qx_current_time.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_current_time.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_current_time.php	(revision 1546)
@@ -0,0 +1,22 @@
+<?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
___________________________________________________________________
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/_lib/qx/qx_db_time.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_db_time.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_db_time.php	(revision 1546)
@@ -0,0 +1,23 @@
+<?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
___________________________________________________________________
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/_lib/qx/qx_mailtoencode.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_mailtoencode.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_mailtoencode.php	(revision 1546)
@@ -0,0 +1,106 @@
+<?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
___________________________________________________________________
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/_lib/qx/qx_codesnippetend.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_codesnippetend.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_codesnippetend.php	(revision 1546)
@@ -0,0 +1,15 @@
+<?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
___________________________________________________________________
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/_lib/qx/qx_config.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_config.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_config.php	(revision 1546)
@@ -0,0 +1,19 @@
+<?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
___________________________________________________________________
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/_lib/qx/qx_WB_TXT.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_WB_TXT.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_WB_TXT.php	(revision 1546)
@@ -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/_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/_lib/qx/qx_htmlentities.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_htmlentities.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_htmlentities.php	(revision 1546)
@@ -0,0 +1,17 @@
+<?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
___________________________________________________________________
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/_lib/qx/qx_hidemail.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_hidemail.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_hidemail.php	(revision 1546)
@@ -0,0 +1,18 @@
+<?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
___________________________________________________________________
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/_lib/qx/qx_load_file.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_load_file.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_load_file.php	(revision 1546)
@@ -0,0 +1,31 @@
+<?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
___________________________________________________________________
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/_lib/qx/qx_vardump.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_vardump.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_vardump.php	(revision 1546)
@@ -0,0 +1,23 @@
+<?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
___________________________________________________________________
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/_lib/qx/qx_entity_decode.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_entity_decode.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_entity_decode.php	(revision 1546)
@@ -0,0 +1,19 @@
+<?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
___________________________________________________________________
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/_lib/qx/qx_TXT.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_TXT.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_TXT.php	(revision 1546)
@@ -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/_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/_lib/qx/qx_current_date.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_current_date.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_current_date.php	(revision 1546)
@@ -0,0 +1,22 @@
+<?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
___________________________________________________________________
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/_lib/qx/qx_urlencode.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_urlencode.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin/_lib/qx/qx_urlencode.php	(revision 1546)
@@ -0,0 +1,17 @@
+<?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
___________________________________________________________________
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/_lib/quickSkin_28/class.quickskin.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/quickSkin_28/class.quickskin.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin/_lib/quickSkin_28/class.quickskin.php	(revision 1546)
@@ -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/_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/_lib/quickSkin_28/index.php
===================================================================
--- branches/2.8.x/wb/include/quickSkin/_lib/quickSkin_28/index.php	(nonexistent)
+++ branches/2.8.x/wb/include/quickSkin/_lib/quickSkin_28/index.php	(revision 1546)
@@ -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/_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/admin/themes/templates/settings.htt
===================================================================
--- branches/2.8.x/wb/admin/themes/templates/settings.htt	(revision 1545)
+++ branches/2.8.x/wb/admin/themes/templates/settings.htt	(revision 1546)
@@ -401,7 +401,7 @@
 	<td class="setting_value" id="file_mode" align="left">
 		<table summary="" cellpadding="2" cellspacing="0" border="0" width="90%" style="border-right: 1px solid #ddd;" id="{ADVANCED_FILE_PERMS_ID}2">
 		<tr>
-			<td colspan="3" style="text-align: center; font-weight: bold;">{TEXT_FILES}:</td>
+			<td colspan="3" style="text-align: center; font-weight: bold;">{TEXT_FILES}: {STRING_FILE_MODE}</td>
 		</tr>
 		<tr>
 			<td>{TEXT_USER}:</td>
@@ -445,7 +445,7 @@
 	<td class="setting_value" id="dir_mode" style="text-align: right;">
 		<table summary="" cellpadding="2" cellspacing="0" border="0" width="90%" id="{ADVANCED_FILE_PERMS_ID}3">
 		<tr>
-			<td colspan="3" style="text-align: center; font-weight: bold;">{TEXT_DIRECTORIES}:</td>
+			<td colspan="3" style="text-align: center; font-weight: bold;">{TEXT_DIRECTORIES}: {STRING_DIR_MODE}</td>
 		</tr>
 		<tr>
 			<td>{TEXT_USER}:</td>
Index: branches/2.8.x/wb/admin/interface/version.php
===================================================================
--- branches/2.8.x/wb/admin/interface/version.php	(revision 1545)
+++ branches/2.8.x/wb/admin/interface/version.php	(revision 1546)
@@ -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', '1545');
+if(!defined('REVISION')) define('REVISION', '1546');
 if(!defined('SP')) define('SP', 'SP2');
Index: branches/2.8.x/wb/account/login_form.php
===================================================================
--- branches/2.8.x/wb/account/login_form.php	(revision 1545)
+++ branches/2.8.x/wb/account/login_form.php	(revision 1546)
@@ -4,7 +4,6 @@
  * @category        frontend
  * @package         account
  * @author          WebsiteBaker Project
- * @copyright       2004-2009, Ryan Djurovich
  * @copyright       2009-2011, Website Baker Org. e.V.
  * @link			http://www.websitebaker2.org/
  * @license         http://www.gnu.org/licenses/gpl.html
@@ -18,80 +17,107 @@
 
 // Must include code to stop this file being access directly
 if(defined('WB_PATH') == false) { die("Cannot access this file directly"); }
-
-$username_fieldname = 'username';
-$password_fieldname = 'password';
-
-if(defined('SMART_LOGIN') AND SMART_LOGIN == 'enabled') {
-	// Generate username field name
-	$username_fieldname = 'username_';
-	$password_fieldname = 'password_';
-
-	$temp = array_merge(range('a','z'), range(0,9));
-	shuffle($temp);
-	for($i=0;$i<=7;$i++) {
-		$username_fieldname .= $temp[$i];
-		$password_fieldname .= $temp[$i];
+// Check if the user has already submitted the form, otherwise show it
+if(isset($_POST['email']) && $_POST['email'] != "" &&
+    preg_match("/([0-9a-zA-Z]+[-._+&])*[0-9a-zA-Z]+@([-0-9a-zA-Z]+[.])+[a-zA-Z]{2,6}/i", $_POST['email']))
+{
+	$email = strip_tags($_POST['email']);
+// Check if the email exists in the database
+	$sql  = 'SELECT `user_id`,`username`,`display_name`,`email`,`last_reset`,`password` '.
+	        'FROM `'.TABLE_PREFIX.'users` '.
+	        'WHERE `email`=\''.$wb->add_slashes($_POST['email']).'\'';
+	if(($results = $database->query($sql)))
+	{
+		if(($results_array = $results->fetchRow()))
+		{ // Get the id, username, email, and last_reset from the above db query
+		// Check if the password has been reset in the last 2 hours
+			if( (time() - (int)$results_array['last_reset']) < (2 * 3600) ) {
+			// Tell the user that their password cannot be reset more than once per hour
+				$message = $MESSAGE['FORGOT_PASS']['ALREADY_RESET'];
+			} else {
+				require_once(WB_PATH.'/framework/PasswordHash.php');
+				$pwh = new PasswordHash(0, true);
+				$old_pass = $results_array['password'];
+			// Generate a random password then update the database with it
+				$new_pass = $pwh->NewPassword();
+				$sql = 'UPDATE `'.TABLE_PREFIX.'users` '.
+				       'SET `password`=\''.$pwh->HashPassword($new_pass, true).'\', '.
+				           '`last_reset`='.time().' '.
+				       'WHERE `user_id`='.(int)$results_array['user_id'];
+				unset($pwh); // destroy $pwh-Object
+				if($database->query($sql))
+				{ // Setup email to send
+					$mail_to = $email;
+					$mail_subject = $MESSAGE['SIGNUP2_SUBJECT_LOGIN_INFO'];
+				// Replace placeholders from language variable with values
+					$search = array('{LOGIN_DISPLAY_NAME}', '{LOGIN_WEBSITE_TITLE}', '{LOGIN_NAME}', '{LOGIN_PASSWORD}');
+					$replace = array($results_array['display_name'], WEBSITE_TITLE, $results_array['username'], $new_pass);
+					$mail_message = str_replace($search, $replace, $MESSAGE['SIGNUP2_BODY_LOGIN_FORGOT']);
+				// Try sending the email
+					if($wb->mail(SERVER_EMAIL,$mail_to,$mail_subject,$mail_message)) {
+						$message = $MESSAGE['FORGOT_PASS_PASSWORD_RESET'];
+						$display_form = false;
+					}else { // snd mail failed, rollback
+						$sql = 'UPDATE `'.TABLE_PREFIX.'users` '.
+						       'SET `password`=\''.$old_pass.'\' '.
+						       'WHERE `user_id`='.(int)$results_array['user_id'];
+						$database->query($sql);
+						$message = $MESSAGE['FORGOT_PASS_CANNOT_EMAIL'];
+					}
+				}else { // Error updating database
+					$message = $MESSAGE['RECORD_MODIFIED_FAILED'];
+					if(DEBUG) {
+						$message .= '<br />'.$database->get_error();
+						$message .= '<br />'.$sql;
+					}
+				}
+			}
+		}else { // no record found - Email doesn't exist, so tell the user
+			$message = $MESSAGE['FORGOT_PASS_EMAIL_NOT_FOUND'];
+		}
+	} else { // Query failed
+		$message = 'SystemError:: Database query failed!';
+		if(DEBUG) {
+			$message .= '<br />'.$database->get_error();
+			$message .= '<br />'.$sql;
+		}
 	}
+} else {
+	$email = '';
 }
 
-$page_id = !empty($_SESSION['PAGE_ID']) ? $_SESSION['PAGE_ID'] : 0;
-$_SESSION['PAGE_LINK'] = get_page_link( $page_id );
-if(!file_exists($_SESSION['PAGE_LINK'])) {$_SESSION['PAGE_LINK'] = WB_URL.'/'; }
-$_SESSION['HTTP_REFERER'] = $_SESSION['PAGE_LINK'];
-$thisApp->redirect_url = (isset($thisApp->redirect_url) ? $thisApp->redirect_url : $_SESSION['PAGE_LINK'])
+if(isset($message) && $message != '') {
+	$message_color = 'FF0000';
+} else {
+	$message = $MESSAGE['FORGOT_PASS_NO_DATA'];
+	$message_color = '000000';
+}
+
+$_SESSION['PAGE_LINK'] = get_page_link( $_SESSION['PAGE_ID'] );
+$_SESSION['HTTP_REFERER'] = page_link($_SESSION['PAGE_LINK']);
+	
 ?>
 <div style="margin: 1em auto;">
 	<button type="button" value="cancel" onClick="javascript: window.location = '<?php print $_SESSION['HTTP_REFERER'] ?>';"><?php print $TEXT['CANCEL'] ?></button>
 </div>
-<h1>&nbsp;Login</h1>
-&nbsp;<?php echo $thisApp->message; ?>
-<br />
-<br />
-
-<form class="login-box" action="<?php echo WB_URL.'/account/login.php'; ?>" method="post">
-<input type="hidden" name="username_fieldname" value="<?php echo $username_fieldname; ?>" />
-<input type="hidden" name="password_fieldname" value="<?php echo $password_fieldname; ?>" />
-<input type="hidden" name="redirect" value="<?php echo $thisApp->redirect_url;?>" />
-
-<table cellpadding="5" cellspacing="0" border="0" width="90%">
-<tr>
-	<td style="width:100px"><?php echo $TEXT['USERNAME']; ?>:</td>
-	<td class="value_input">
-		<input type="text" name="<?php echo $username_fieldname; ?>" maxlength="30" style="width:220px;"/>
-    	<script type="text/javascript">
-    	// document.login.<?php echo $username_fieldname; ?>.focus();
-    	var ref= document.getElementById("<?php echo $username_fieldname; ?>");
-    	if (ref) ref.focus();
-    	</script>
-	</td>
-</tr>
-<tr>
-	<td style="width:100px"><?php echo $TEXT['PASSWORD']; ?>:</td>
-	<td class="value_input">
-		<input type="password" name="<?php echo $password_fieldname; ?>" maxlength="30" style="width:220px;"/>
-	</td>
-</tr>
-<?php if($username_fieldname != 'username') { ?>
-<tr>
-	<td>&nbsp;</td>
-	<td>
-		<input type="checkbox" name="remember" id="remember" value="true"/>
-		<label for="remember"><?php echo $TEXT['REMEMBER_ME']; ?></label>
-	</td>
-</tr>
+<h1 style="text-align: center;"><?php echo $MENU['FORGOT']; ?></h1>
+<form name="forgot_pass" action="<?php echo WB_URL.'/account/forgot.php'; ?>" method="post">
+	<input type="hidden" name="url" value="{URL}" />
+		<table cellpadding="5" cellspacing="0" border="0" align="center" width="500">
+		<tr>
+			<td height="40" align="center" style="color: #<?php echo $message_color; ?>;" colspan="2">
+			<?php echo $message; ?>
+			</td>
+		</tr>
+<?php if(!isset($display_form) OR $display_form != false) { ?>
+		<tr>
+			<td height="10" colspan="2"></td>
+		</tr>
+		<tr>
+			<td width="165" height="30" align="right"><?php echo $TEXT['EMAIL']; ?>:</td>
+			<td><input type="text" maxlength="255" name="email" value="<?php echo $email; ?>" style="width: 180px;" /></td>
+			<td><input type="submit" name="submit" value="<?php echo $TEXT['SEND_DETAILS']; ?>" style="width: 180px; font-size: 10px; color: #003366; border: 1px solid #336699; background-color: #DDDDDD; padding: 3px; text-transform: uppercase;" /></td>
+		</tr>
 <?php } ?>
-<tr>
-	<td>&nbsp;</td>
-	<td>
-		<input type="submit" name="submit" value="<?php echo $TEXT['LOGIN']; ?>"  />
-		<input type="reset" name="reset" value="<?php echo $TEXT['RESET']; ?>"  />
-	</td>
-</tr>
-</table>
-
-</form>
-
-<br />
-
-<a href="<?php echo WB_URL; ?>/account/forgot.php"><?php echo $TEXT['FORGOTTEN_DETAILS']; ?></a>
\ No newline at end of file
+		</table>
+</form>
\ No newline at end of file
Index: branches/2.8.x/wb/templates/wb_theme/theme.css
===================================================================
--- branches/2.8.x/wb/templates/wb_theme/theme.css	(revision 1545)
+++ branches/2.8.x/wb/templates/wb_theme/theme.css	(revision 1546)
@@ -46,7 +46,7 @@
 .sections_header { width :100%; margin-bottom :10px; border :none; background-color :#f0f0f0; height :50px; }
 .sections_header td { padding :5px; }
 .setting_name { width :20%; }
-.setting_value { width :90%; }
+.setting_value { width :30%; }
 .setting_value textarea { height :50px; }
 .title { width :90%; padding :3px 5px 0px 0px; color :#003366; font-weight :bold; font-size :14px; text-align :left; height :16px; }
 .tool_table ul { margin :0; padding :0; margin-left :20px; margin-bottom :2px; }
Index: branches/2.8.x/wb/templates/argos_theme/theme.css
===================================================================
--- branches/2.8.x/wb/templates/argos_theme/theme.css	(revision 1545)
+++ branches/2.8.x/wb/templates/argos_theme/theme.css	(revision 1546)
@@ -58,7 +58,7 @@
 .modify_link { padding :4px 0 0 7px; }
 .settings_table td { vertical-align :top; text-align :left; padding :5px; }
 .setting_name { width :10%; min-width :180px; }
-.setting_value { width :90%; }
+.setting_value { width :50%; }
 .setting_value input, .setting_value select, .setting_value textarea { width :100%; }
 .setting_value textarea { height :50px; }
 #admintools ul { padding :0; margin :0; }
Index: branches/2.8.x/wb/languages/FI.php
===================================================================
--- branches/2.8.x/wb/languages/FI.php	(revision 1545)
+++ branches/2.8.x/wb/languages/FI.php	(revision 1546)
@@ -540,7 +540,7 @@
 $MESSAGE['MEDIA_TARGET_DOT_DOT_SLASH'] = 'Merkki&auml; ../ ei voi k&auml;ytt&auml;&auml; ';
 $MESSAGE['MEDIA_UPLOADED'] = ' tiedostot ladattu';
 $MESSAGE['MOD_FORM_EXCESS_SUBMISSIONS'] = 'Rajoitus voimassa, yrit&auml; tunnin kuluttua uudelleen';
-$MESSAGE['MOD_FORM_INCORRECT_CAPTCHA'] = 'The verification number (also known as Captcha) that you entered is incorrect. If you are having problems reading the Captcha, please email: '.SERVER_EMAIL;
+$MESSAGE['MOD_FORM_INCORRECT_CAPTCHA'] = 'The verification number (also known as Captcha) that you entered is incorrect. If you are having problems reading the Captcha, please email: <a href="mailto:'.SERVER_EMAIL.'">'.SERVER_EMAIL.'</a>';
 $MESSAGE['MOD_FORM_REQUIRED_FIELDS'] = 'T&auml;yt&auml; kent&auml;t';
 $MESSAGE['PAGES_ADDED'] = 'Sivu lis&auml;tty';
 $MESSAGE['PAGES_ADDED_HEADING'] = 'Otsikko lis&auml;tty';
Index: branches/2.8.x/wb/languages/EN.php
===================================================================
--- branches/2.8.x/wb/languages/EN.php	(revision 1545)
+++ branches/2.8.x/wb/languages/EN.php	(revision 1546)
@@ -540,7 +540,7 @@
 $MESSAGE['MEDIA_TARGET_DOT_DOT_SLASH'] = 'Cannot have ../ in the folder target';
 $MESSAGE['MEDIA_UPLOADED'] = ' files were successfully uploaded';
 $MESSAGE['MOD_FORM_EXCESS_SUBMISSIONS'] = 'Sorry, this form has been submitted too many times so far this hour. Please retry in the next hour.';
-$MESSAGE['MOD_FORM_INCORRECT_CAPTCHA'] = 'The verification number (also known as Captcha) that you entered is incorrect. If you are having problems reading the Captcha, please email: '.SERVER_EMAIL;
+$MESSAGE['MOD_FORM_INCORRECT_CAPTCHA'] = 'The verification number (also known as Captcha) that you entered is incorrect. If you are having problems reading the Captcha, please email: <a href="mailto:'.SERVER_EMAIL.'">'.SERVER_EMAIL.'</a>';
 $MESSAGE['MOD_FORM_REQUIRED_FIELDS'] = 'You must enter details for the following fields';
 $MESSAGE['PAGES_ADDED'] = 'Page added successfully';
 $MESSAGE['PAGES_ADDED_HEADING'] = 'Page heading added successfully';
Index: branches/2.8.x/wb/languages/CS.php
===================================================================
--- branches/2.8.x/wb/languages/CS.php	(revision 1545)
+++ branches/2.8.x/wb/languages/CS.php	(revision 1546)
@@ -540,7 +540,7 @@
 $MESSAGE['MEDIA_TARGET_DOT_DOT_SLASH'] = 'Nelze pou&#382;&iacute;t ../ v c&iacute;lov&eacute;m adres&aacute;&#345;i';
 $MESSAGE['MEDIA_UPLOADED'] = ' soubory byly &uacute;sp&#283;&scaron;n&#283; nahr&aacute;ny';
 $MESSAGE['MOD_FORM_EXCESS_SUBMISSIONS'] = 'Omlouv&aacute;me se, ale tento formul&aacute;&#345; dos&aacute;hl limitu povolen&yacute;ch odesl&aacute;n&iacute; pro tuto hodinu. Pros&iacute;m zkuste to znovu v dal&scaron;&iacute; hodin&#283;..';
-$MESSAGE['MOD_FORM_INCORRECT_CAPTCHA'] = 'Kontroln&iacute; k&oacute;d (zn&aacute;m&yacute; jako Captcha) neodpov&iacute;d&aacute;. Pokud m&aacute;te probl&eacute;my s p&#345;e&#269;ten&iacute;m tohoto k&oacute;du, kontaktujte '.SERVER_EMAIL;
+$MESSAGE['MOD_FORM_INCORRECT_CAPTCHA'] = 'Kontroln&iacute; k&oacute;d (zn&aacute;m&yacute; jako Captcha) neodpov&iacute;d&aacute;. Pokud m&aacute;te probl&eacute;my s p&#345;e&#269;ten&iacute;m tohoto k&oacute;du, kontaktujte <a href="mailto:'.SERVER_EMAIL.'">'.SERVER_EMAIL.'</a>';
 $MESSAGE['MOD_FORM_REQUIRED_FIELDS'] = 'Mus&iacute;te vyplnit n&aacute;sleduj&iacute;c&iacute; pole';
 $MESSAGE['PAGES_ADDED'] = 'Str&aacute;nka byla &uacute;sp&#283;&scaron;n&#283; p&#345;id&aacute;na';
 $MESSAGE['PAGES_ADDED_HEADING'] = 'Z&aacute;hlav&iacute; str&aacute;nky bylo &uacute;sp&#283;&scaron;n&#283; p&#345;id&aacute;no';
Index: branches/2.8.x/wb/languages/SE.php
===================================================================
--- branches/2.8.x/wb/languages/SE.php	(revision 1545)
+++ branches/2.8.x/wb/languages/SE.php	(revision 1546)
@@ -540,7 +540,7 @@
 $MESSAGE['MEDIA_TARGET_DOT_DOT_SLASH'] = 'Kan inte ha ../ i mappens m&aring;l';
 $MESSAGE['MEDIA_UPLOADED'] = ' filerna laddades upp';
 $MESSAGE['MOD_FORM_EXCESS_SUBMISSIONS'] = 'Tyv&auml;rr, detta formul&auml;r har skickats f&ouml;r m&aring;nga g&aring;nger inom denna timme. F&ouml;rs&ouml;k igen om ett tag.';
-$MESSAGE['MOD_FORM_INCORRECT_CAPTCHA'] = 'Verifieringsnumret (ocks&aring; k&auml;nt som Captcha) som du angav &auml;r felaktigt. Om du har problem med att l&auml;sa ut Captcha, v&auml;nligen s&auml;nd email till: '.SERVER_EMAIL;
+$MESSAGE['MOD_FORM_INCORRECT_CAPTCHA'] = 'Verifieringsnumret (ocks&aring; k&auml;nt som Captcha) som du angav &auml;r felaktigt. Om du har problem med att l&auml;sa ut Captcha, v&auml;nligen s&auml;nd email till: <a href="mailto:'.SERVER_EMAIL.'">'.SERVER_EMAIL.'</a>';
 $MESSAGE['MOD_FORM_REQUIRED_FIELDS'] = 'Du m&aring;ste fylla i f&ouml;ljande f&auml;lt';
 $MESSAGE['PAGES_ADDED'] = 'Sidan lades till';
 $MESSAGE['PAGES_ADDED_HEADING'] = 'Sidans huvud lades till';
Index: branches/2.8.x/wb/languages/ES.php
===================================================================
--- branches/2.8.x/wb/languages/ES.php	(revision 1545)
+++ branches/2.8.x/wb/languages/ES.php	(revision 1546)
@@ -540,7 +540,7 @@
 $MESSAGE['MEDIA_TARGET_DOT_DOT_SLASH'] = 'No puede tener ../ en el nombre de carpeta';
 $MESSAGE['MEDIA_UPLOADED'] = ' archivos recibidos correctamente';
 $MESSAGE['MOD_FORM_EXCESS_SUBMISSIONS'] = 'Disculpe este formulario ha sido enviado demasiadas veces seguidas. Vuelva a intentarlo en una hora.';
-$MESSAGE['MOD_FORM_INCORRECT_CAPTCHA'] = 'El n&uacute;mero de verificaci&oacute;n que ha introducido es incorrecto. Si est&aacute;s teniendo problemas ley&eacute;ndolo, por favor, env&iacute;e un e-mail a: '.SERVER_EMAIL;
+$MESSAGE['MOD_FORM_INCORRECT_CAPTCHA'] = 'El n&uacute;mero de verificaci&oacute;n que ha introducido es incorrecto. Si est&aacute;s teniendo problemas ley&eacute;ndolo, por favor, env&iacute;e un e-mail a: <a href="mailto:'.SERVER_EMAIL.'">'.SERVER_EMAIL.'</a>';
 $MESSAGE['MOD_FORM_REQUIRED_FIELDS'] = 'Debe completar los siguiente campos';
 $MESSAGE['PAGES_ADDED'] = 'P&aacute;gina agregada';
 $MESSAGE['PAGES_ADDED_HEADING'] = 'Encabezado de P&aacute;gina agregado';
Index: branches/2.8.x/wb/languages/FR.php
===================================================================
--- branches/2.8.x/wb/languages/FR.php	(revision 1545)
+++ branches/2.8.x/wb/languages/FR.php	(revision 1546)
@@ -540,7 +540,7 @@
 $MESSAGE['MEDIA_TARGET_DOT_DOT_SLASH'] = 'Impossible d&apos;avoir ../ dans le nom du dossier cible';
 $MESSAGE['MEDIA_UPLOADED'] = 'Les fichiers ont &eacute;t&eacute; upload&eacute;s avec succ&egrave;s';
 $MESSAGE['MOD_FORM_EXCESS_SUBMISSIONS'] = 'D&eacute;sol&eacute; mais ce formulaire est utilis&eacute; trop fr&eacute;quemment en ce moment. Afin de nous aider &agrave; lutter contre le spam, merci de r&eacute;essayer plus tard';
-$MESSAGE['MOD_FORM_INCORRECT_CAPTCHA'] = 'Le num&eacute;ro de v&eacute;rification (Captcha) que vous avez entr&eacute; est incorrect. Si vous rencontrez des probl&egrave;mes quant &agrave; la lecture de ce num&eacute;ro, merci d&apos;envoyer un email &agrave; : '.SERVER_EMAIL;
+$MESSAGE['MOD_FORM_INCORRECT_CAPTCHA'] = 'Le num&eacute;ro de v&eacute;rification (Captcha) que vous avez entr&eacute; est incorrect. Si vous rencontrez des probl&egrave;mes quant &agrave; la lecture de ce num&eacute;ro, merci d&apos;envoyer un email &agrave; : <a href="mailto:'.SERVER_EMAIL.'">'.SERVER_EMAIL.'</a>';
 $MESSAGE['MOD_FORM_REQUIRED_FIELDS'] = 'Vous devez renseigner les champs suivants';
 $MESSAGE['PAGES_ADDED'] = 'Page ajout&eacute;e avec succ&egrave;s';
 $MESSAGE['PAGES_ADDED_HEADING'] = 'L&apos;ent&ecirc;te de la page a &eacute;t&eacute; ajout&eacute; avec succ&egrave;s';
Index: branches/2.8.x/wb/languages/ET.php
===================================================================
--- branches/2.8.x/wb/languages/ET.php	(revision 1545)
+++ branches/2.8.x/wb/languages/ET.php	(revision 1546)
@@ -540,7 +540,7 @@
 $MESSAGE['MEDIA_TARGET_DOT_DOT_SLASH'] = 'Cannot have ../ in the folder target';
 $MESSAGE['MEDIA_UPLOADED'] = ' failid edukalt &uuml;les laetud';
 $MESSAGE['MOD_FORM_EXCESS_SUBMISSIONS'] = 'Vabandame, see vorm on juba liiga palju kordi selle tunni jooksul saadetud. Palun proovi j&auml;rgmine tund uuesti.';
-$MESSAGE['MOD_FORM_INCORRECT_CAPTCHA'] = 'The verification number (also known as Captcha) that you entered is incorrect. If you are having problems reading the Captcha, please email: '.SERVER_EMAIL;
+$MESSAGE['MOD_FORM_INCORRECT_CAPTCHA'] = 'The verification number (also known as Captcha) that you entered is incorrect. If you are having problems reading the Captcha, please email: <a href="mailto:'.SERVER_EMAIL.'">'.SERVER_EMAIL.'</a>';
 $MESSAGE['MOD_FORM_REQUIRED_FIELDS'] = 'Sa pead detailid sisestama j&auml;rgnevatesse lahtritesse';
 $MESSAGE['PAGES_ADDED'] = 'Lehek&uuml;lg edukalt lisatud';
 $MESSAGE['PAGES_ADDED_HEADING'] = 'Lehek&uuml;lje p&auml;is edukalt lisatud';
Index: branches/2.8.x/wb/languages/HR.php
===================================================================
--- branches/2.8.x/wb/languages/HR.php	(revision 1545)
+++ branches/2.8.x/wb/languages/HR.php	(revision 1546)
@@ -540,7 +540,7 @@
 $MESSAGE['MEDIA_TARGET_DOT_DOT_SLASH'] = 'Ne mo&#382;e ../ u cilj direktorija';
 $MESSAGE['MEDIA_UPLOADED'] = ' fileovi su supje&scaron;no nasnimljeni';
 $MESSAGE['MOD_FORM_EXCESS_SUBMISSIONS'] = 'Ova forma je pregledavana previ&scaron;e puta u jednom satu. Molimo poku&scaron;ajte slijede&aelig;i sat.';
-$MESSAGE['MOD_FORM_INCORRECT_CAPTCHA'] = 'Broj provjere (poznat kao Captcha) neto&egrave;no je une&scaron;en. Ako imate problema s &egrave;itanjem Captcha, molimo po&scaron;aljite email: '.SERVER_EMAIL;
+$MESSAGE['MOD_FORM_INCORRECT_CAPTCHA'] = 'Broj provjere (poznat kao Captcha) neto&egrave;no je une&scaron;en. Ako imate problema s &egrave;itanjem Captcha, molimo po&scaron;aljite email: <a href="mailto:'.SERVER_EMAIL.'">'.SERVER_EMAIL.'</a>';
 $MESSAGE['MOD_FORM_REQUIRED_FIELDS'] = 'Morate unjeti detaljen podatke u nadoilaze&aelig;a polja';
 $MESSAGE['PAGES_ADDED'] = 'Stranica je uspje&scaron;no dodana';
 $MESSAGE['PAGES_ADDED_HEADING'] = 'Zaglavlje stranice uspje&scaron;no je dodano';
Index: branches/2.8.x/wb/languages/NL.php
===================================================================
--- branches/2.8.x/wb/languages/NL.php	(revision 1545)
+++ branches/2.8.x/wb/languages/NL.php	(revision 1546)
@@ -540,7 +540,7 @@
 $MESSAGE['MEDIA_TARGET_DOT_DOT_SLASH'] = 'Gebruik van ../ in de map is niet toegestaan';
 $MESSAGE['MEDIA_UPLOADED'] = ' geupload';
 $MESSAGE['MOD_FORM_EXCESS_SUBMISSIONS'] = 'Dit formulier is te vaak verstuurd binnen dit uur. Probeert u het over een uur nog eens.';
-$MESSAGE['MOD_FORM_INCORRECT_CAPTCHA'] = 'Het verificatienummer (ook wel Captcha genoemd) dat u hebt ingevoerd is incorrect. Als u de Captcha niet goed kunt lezen, stuur dan een e-mail naar: '.SERVER_EMAIL;
+$MESSAGE['MOD_FORM_INCORRECT_CAPTCHA'] = 'Het verificatienummer (ook wel Captcha genoemd) dat u hebt ingevoerd is incorrect. Als u de Captcha niet goed kunt lezen, stuur dan een e-mail naar: <a href="mailto:'.SERVER_EMAIL.'">'.SERVER_EMAIL.'</a>';
 $MESSAGE['MOD_FORM_REQUIRED_FIELDS'] = 'De volgende velden zijn verplicht';
 $MESSAGE['PAGES_ADDED'] = 'Pagina toegevoegd';
 $MESSAGE['PAGES_ADDED_HEADING'] = 'Paginatitel opgeslagen';
Index: branches/2.8.x/wb/languages/PL.php
===================================================================
--- branches/2.8.x/wb/languages/PL.php	(revision 1545)
+++ branches/2.8.x/wb/languages/PL.php	(revision 1546)
@@ -540,7 +540,7 @@
 $MESSAGE['MEDIA_TARGET_DOT_DOT_SLASH'] = 'Folder docelowy nie moze zawierac ../';
 $MESSAGE['MEDIA_UPLOADED'] = ' pliki zostaly pomyslnie zaladowane';
 $MESSAGE['MOD_FORM_EXCESS_SUBMISSIONS'] = 'Niestety, ten formularz zostal wyslany zbyt wiele razy w ciagu tej godziny. Prosimy spróbowac ponownie za godzine.';
-$MESSAGE['MOD_FORM_INCORRECT_CAPTCHA'] = 'Wprowadzony numer weryfikacyjny (tzw. Captcha) jest nieprawidlowy. Jesli masz problemy z odczytaniem Captcha, napisz do: '.SERVER_EMAIL;
+$MESSAGE['MOD_FORM_INCORRECT_CAPTCHA'] = 'Wprowadzony numer weryfikacyjny (tzw. Captcha) jest nieprawidlowy. Jesli masz problemy z odczytaniem Captcha, napisz do: <a href="mailto:'.SERVER_EMAIL.'">'.SERVER_EMAIL.'</a>';
 $MESSAGE['MOD_FORM_REQUIRED_FIELDS'] = 'Nalezy wprowadzic szczególy dla nastepujacych pól';
 $MESSAGE['PAGES_ADDED'] = 'Strona zostala dodana';
 $MESSAGE['PAGES_ADDED_HEADING'] = 'Naglówek strony zostal dodany';
Index: branches/2.8.x/wb/languages/HU.php
===================================================================
--- branches/2.8.x/wb/languages/HU.php	(revision 1545)
+++ branches/2.8.x/wb/languages/HU.php	(revision 1546)
@@ -540,7 +540,7 @@
 $MESSAGE['MEDIA_TARGET_DOT_DOT_SLASH'] = 'Nem lehet ../ in k&ouml;nyvt&aacute;r n&eacute;vben';
 $MESSAGE['MEDIA_UPLOADED'] = ' file sikeresen felt&ouml;ltve';
 $MESSAGE['MOD_FORM_EXCESS_SUBMISSIONS'] = 'Sajn&aacute;ljuk, de ez az ╨Х┬▒rlap t&uacute;l sokszor lett kit&ouml;ltve egy &oacute;ran bel&uuml;l! K&eacute;rem pr&oacute;b&aacute;lja meg egy &oacute;ra m&uacute;lva';
-$MESSAGE['MOD_FORM_INCORRECT_CAPTCHA'] = 'A megadott ellen&ouml;rz&agrave;k&oacute;d (vagy m&aacute;s n&eacute;ven Captcha) hib&aacute;s. Ha probl&eacute;m&aacute;d van elolvasni a Captcha k&oacute;dot, k&uuml;mailt ide: '.SERVER_EMAIL;
+$MESSAGE['MOD_FORM_INCORRECT_CAPTCHA'] = 'A megadott ellen&ouml;rz&agrave;k&oacute;d (vagy m&aacute;s n&eacute;ven Captcha) hib&aacute;s. Ha probl&eacute;m&aacute;d van elolvasni a Captcha k&oacute;dot, k&uuml;mailt ide: <a href="mailto:'.SERVER_EMAIL.'">'.SERVER_EMAIL.'</a>';
 $MESSAGE['MOD_FORM_REQUIRED_FIELDS'] = 'A k&ouml;vetkez&agrave;mez╨Ф┬лet k&ouml;telez&agrave;kit&ouml;ltenie';
 $MESSAGE['PAGES_ADDED'] = 'Lap sikeresen hozz&aacute;adva';
 $MESSAGE['PAGES_ADDED_HEADING'] = 'Lap c&iacute;msor sikeresen hozz&aacute;adva';
Index: branches/2.8.x/wb/languages/IT.php
===================================================================
--- branches/2.8.x/wb/languages/IT.php	(revision 1545)
+++ branches/2.8.x/wb/languages/IT.php	(revision 1546)
@@ -540,7 +540,7 @@
 $MESSAGE['MEDIA_TARGET_DOT_DOT_SLASH'] = 'Impossibile avere ../ nella cartella di destinazione';
 $MESSAGE['MEDIA_UPLOADED'] = ' file sono stati caricati con successo';
 $MESSAGE['MOD_FORM_EXCESS_SUBMISSIONS'] = 'Spiacente: hai compilato questa form troppe volte nell\'ultima ora.';
-$MESSAGE['MOD_FORM_INCORRECT_CAPTCHA'] = 'Il numero di controllo (chiama Captcha) che hai inserito non &egrave; valido. Se hai problemi con la lettura del Captcha, invia un email email: '.SERVER_EMAIL;
+$MESSAGE['MOD_FORM_INCORRECT_CAPTCHA'] = 'Il numero di controllo (chiama Captcha) che hai inserito non &egrave; valido. Se hai problemi con la lettura del Captcha, invia un email email: <a href="mailto:'.SERVER_EMAIL.'">'.SERVER_EMAIL.'</a>';
 $MESSAGE['MOD_FORM_REQUIRED_FIELDS'] = 'Devi inserire tutti i dati nei seguenti campi';
 $MESSAGE['PAGES_ADDED'] = 'Pagina aggiunta';
 $MESSAGE['PAGES_ADDED_HEADING'] = 'Pagina intestazione aggiunta';
Index: branches/2.8.x/wb/languages/NO.php
===================================================================
--- branches/2.8.x/wb/languages/NO.php	(revision 1545)
+++ branches/2.8.x/wb/languages/NO.php	(revision 1546)
@@ -540,7 +540,7 @@
 $MESSAGE['MEDIA_TARGET_DOT_DOT_SLASH'] = 'Kan ikke ha ../ i katalog m&aring;let';
 $MESSAGE['MEDIA_UPLOADED'] = ' Lykkes &aring; laste opp filene';
 $MESSAGE['MOD_FORM_EXCESS_SUBMISSIONS'] = 'Beklager, dette skjemaet har blitt sendt for mange ganger denne timen. Vennligst pr&oslash;v igjen om en time.';
-$MESSAGE['MOD_FORM_INCORRECT_CAPTCHA'] = 'Bekreftelsesnummeret (ogs&aring; kjent som Captcha) som du skrev inn er feil. Hvis du har problemer med &aring; lese Captcha, vennligst kontakt: '.SERVER_EMAIL;
+$MESSAGE['MOD_FORM_INCORRECT_CAPTCHA'] = 'Bekreftelsesnummeret (ogs&aring; kjent som Captcha) som du skrev inn er feil. Hvis du har problemer med &aring; lese Captcha, vennligst kontakt: <a href="mailto:'.SERVER_EMAIL.'">'.SERVER_EMAIL.'</a>';
 $MESSAGE['MOD_FORM_REQUIRED_FIELDS'] = 'Du m&aring; skrive inn detaljer for f&oslash;lgende felt';
 $MESSAGE['PAGES_ADDED'] = 'Lykkes &aring; legge til siden';
 $MESSAGE['PAGES_ADDED_HEADING'] = 'Lykkes &aring; legge til side overskrift';
Index: branches/2.8.x/wb/languages/SK.php
===================================================================
--- branches/2.8.x/wb/languages/SK.php	(revision 1545)
+++ branches/2.8.x/wb/languages/SK.php	(revision 1546)
@@ -540,7 +540,7 @@
 $MESSAGE['MEDIA_TARGET_DOT_DOT_SLASH'] = 'Nejde pou&#382;i&#357; ../ v cielovom adres&aacute;ry';
 $MESSAGE['MEDIA_UPLOADED'] = ' s&uacute;bory boly &uacute;spe&#353;ne nahr&aacute;n&eacute;';
 $MESSAGE['MOD_FORM_EXCESS_SUBMISSIONS'] = 'Ospravedl&#328;ujeme sa, ale tento formul&aacute;r dosiahol limitu povolen&yacute;ch odeslan&iacute; pre t&uacute;to hodinu. Pros&iacute;m sk&uacute;ste to znovu v dal&#353;iej hodine..';
-$MESSAGE['MOD_FORM_INCORRECT_CAPTCHA'] = 'Kontroln&yacute; k&oacute;d (zn&aacute;m&yacute; ako Captcha) nezodpoved&aacute;. Pokia&#318; m&aacute;te probl&eacute;my s pre&#269;&iacute;tan&iacute;m tohoto k&oacute;du, kontaktujte '.SERVER_EMAIL;
+$MESSAGE['MOD_FORM_INCORRECT_CAPTCHA'] = 'Kontroln&yacute; k&oacute;d (zn&aacute;m&yacute; ako Captcha) nezodpoved&aacute;. Pokia&#318; m&aacute;te probl&eacute;my s pre&#269;&iacute;tan&iacute;m tohoto k&oacute;du, kontaktujte <a href="mailto:'.SERVER_EMAIL.'">'.SERVER_EMAIL.'</a>';
 $MESSAGE['MOD_FORM_REQUIRED_FIELDS'] = 'Mus&iacute;te vyplni&#357; n&aacute;sleduj&uacute;ce pole';
 $MESSAGE['PAGES_ADDED'] = 'Str&aacute;nka bola &uacute;spe&#353;ne pridan&aacute;';
 $MESSAGE['PAGES_ADDED_HEADING'] = 'Z&aacute;hlavie str&aacute;nky bolo &uacute;spe&#353;ne pridan&eacute;';
Index: branches/2.8.x/wb/languages/LV.php
===================================================================
--- branches/2.8.x/wb/languages/LV.php	(revision 1545)
+++ branches/2.8.x/wb/languages/LV.php	(revision 1546)
@@ -540,7 +540,7 @@
 $MESSAGE['MEDIA_TARGET_DOT_DOT_SLASH'] = 'Nav iespejams ieklaut ../ mapes merki (target)';
 $MESSAGE['MEDIA_UPLOADED'] = ' datnes tika veiksmigi aug&scaron;upieladetas';
 $MESSAGE['MOD_FORM_EXCESS_SUBMISSIONS'] = 'Atvaino, &scaron;i forma ir tikusi aizpildita parak daudz rei&#382;u &scaron;is stundas laika. Ludzu pamegini velreiz pec stundas.';
-$MESSAGE['MOD_FORM_INCORRECT_CAPTCHA'] = 'Ievaditais parbaudes numurs ir nepareizs. Ja radu&scaron;as problemas ar parbaudes koda nolasi&scaron;anu, suti zinu uz: '.SERVER_EMAIL;
+$MESSAGE['MOD_FORM_INCORRECT_CAPTCHA'] = 'Ievaditais parbaudes numurs ir nepareizs. Ja radu&scaron;as problemas ar parbaudes koda nolasi&scaron;anu, suti zinu uz: <a href="mailto:'.SERVER_EMAIL.'">'.SERVER_EMAIL.'</a>';
 $MESSAGE['MOD_FORM_REQUIRED_FIELDS'] = 'Ievadi detalas sekojo&scaron;ajos laukos';
 $MESSAGE['PAGES_ADDED'] = 'Lapa veiksmigi pievienota';
 $MESSAGE['PAGES_ADDED_HEADING'] = 'Lapas virsraksts pievienots veiksmigi';
Index: branches/2.8.x/wb/languages/CA.php
===================================================================
--- branches/2.8.x/wb/languages/CA.php	(revision 1545)
+++ branches/2.8.x/wb/languages/CA.php	(revision 1546)
@@ -540,7 +540,7 @@
 $MESSAGE['MEDIA_TARGET_DOT_DOT_SLASH'] = 'No es pot tenir ../ a la carpeta de dest&iacute;';
 $MESSAGE['MEDIA_UPLOADED'] = ' fitxers han estat penjats amb &egrave;xit';
 $MESSAGE['MOD_FORM_EXCESS_SUBMISSIONS'] = 'Ho sentim, aquest formulari ha estat enviat massa vegades durant l\'&uacute;ltima hora. Per favor torneu-ho a intentar d\'ac&iacute; una hora.';
-$MESSAGE['MOD_FORM_INCORRECT_CAPTCHA'] = 'The verification number (also known as Captcha) that you entered is incorrect. If you are having problems reading the Captcha, please email: '.SERVER_EMAIL;
+$MESSAGE['MOD_FORM_INCORRECT_CAPTCHA'] = 'The verification number (also known as Captcha) that you entered is incorrect. If you are having problems reading the Captcha, please email: <a href="mailto:'.SERVER_EMAIL.'">'.SERVER_EMAIL.'</a>';
 $MESSAGE['MOD_FORM_REQUIRED_FIELDS'] = 'Heu d\'introduir les dades per als seg&uuml;ents camps';
 $MESSAGE['PAGES_ADDED'] = 'P&agrave;gina afegida amb &egrave;xit';
 $MESSAGE['PAGES_ADDED_HEADING'] = 'Cap&ccedil;alera de p&agrave;gina afegida amb &egrave;xit';
Index: branches/2.8.x/wb/languages/PT.php
===================================================================
--- branches/2.8.x/wb/languages/PT.php	(revision 1545)
+++ branches/2.8.x/wb/languages/PT.php	(revision 1546)
@@ -540,7 +540,7 @@
 $MESSAGE['MEDIA_TARGET_DOT_DOT_SLASH'] = 'N&atilde;o pode possuir ../ na pasta alvo';
 $MESSAGE['MEDIA_UPLOADED'] = ' arquivos enviados com sucesso';
 $MESSAGE['MOD_FORM_EXCESS_SUBMISSIONS'] = 'Desculpe, este formul&aacute;rio foi submetido v&aacute;rias vezes nessa hora. Favor tentar novamente dentro de uma hora.';
-$MESSAGE['MOD_FORM_INCORRECT_CAPTCHA'] = 'O N&uacute;mero de Verifica&ccdil;&atilde;o (conhecido como Captcha) que voc&ecirc; entrou, &eacute; inv&aacute;lido. Se estiver tendo problemas usando o Captcha, envie uma mensagem para: '.SERVER_EMAIL;
+$MESSAGE['MOD_FORM_INCORRECT_CAPTCHA'] = 'O N&uacute;mero de Verifica&ccdil;&atilde;o (conhecido como Captcha) que voc&ecirc; entrou, &eacute; inv&aacute;lido. Se estiver tendo problemas usando o Captcha, envie uma mensagem para: <a href="mailto:'.SERVER_EMAIL.'">'.SERVER_EMAIL.'</a>';
 $MESSAGE['MOD_FORM_REQUIRED_FIELDS'] = 'Voc&ecirc; precisa preencher os seguintes campos';
 $MESSAGE['PAGES_ADDED'] = 'P&aacute;gina adicionada com sucesso';
 $MESSAGE['PAGES_ADDED_HEADING'] = 'Cabe&ccdil;alho da P&aacute;gina adicionado com sucesso.';
Index: branches/2.8.x/wb/languages/DA.php
===================================================================
--- branches/2.8.x/wb/languages/DA.php	(revision 1545)
+++ branches/2.8.x/wb/languages/DA.php	(revision 1546)
@@ -540,7 +540,7 @@
 $MESSAGE['MEDIA_TARGET_DOT_DOT_SLASH'] = 'Kan ikke have ../ i placeringen af biblioteket (mappen)';
 $MESSAGE['MEDIA_UPLOADED'] = 'filer blev overf&oslash;rt';
 $MESSAGE['MOD_FORM_EXCESS_SUBMISSIONS'] = 'Beklager! Denne formular er blevet afsendt for mange gange indenfor den sidste time, og du vil derfor blive afvist - Pr&oslash;v igen om en times tid!';
-$MESSAGE['MOD_FORM_INCORRECT_CAPTCHA'] = 'Verifikationstallene (ogs&aring; kendt som Captcha) som du tastede er ikke korrekte. Hvis du har problemer med at l&aelig;se Captha tallene, s&aring; kontakt venligst sidens Administrator p&aring; denne mailadresse: '.SERVER_EMAIL;
+$MESSAGE['MOD_FORM_INCORRECT_CAPTCHA'] = 'Verifikationstallene (ogs&aring; kendt som Captcha) som du tastede er ikke korrekte. Hvis du har problemer med at l&aelig;se Captha tallene, s&aring; kontakt venligst sidens Administrator p&aring; denne mailadresse: <a href="mailto:'.SERVER_EMAIL.'">'.SERVER_EMAIL.'</a>';
 $MESSAGE['MOD_FORM_REQUIRED_FIELDS'] = 'Du skal udfylde f&oslash;lgende felter:';
 $MESSAGE['PAGES_ADDED'] = 'Siden er tilf&oslash;jet';
 $MESSAGE['PAGES_ADDED_HEADING'] = 'Overskrift til side tilf&oslash;jet';
Index: branches/2.8.x/wb/languages/TR.php
===================================================================
--- branches/2.8.x/wb/languages/TR.php	(revision 1545)
+++ branches/2.8.x/wb/languages/TR.php	(revision 1546)
@@ -540,7 +540,7 @@
 $MESSAGE['MEDIA_TARGET_DOT_DOT_SLASH'] = 'Cannot have ../ in the folder target';
 $MESSAGE['MEDIA_UPLOADED'] = ' Dosyalar ba&thorn;ar&yacute;l&yacute; bir &thorn;ekilde y&uuml;klendi';
 $MESSAGE['MOD_FORM_EXCESS_SUBMISSIONS'] = 'Sorry, this form has been submitted too many times so far this hour. Please retry in the next hour.';
-$MESSAGE['MOD_FORM_INCORRECT_CAPTCHA'] = 'The verification number (also known as Captcha) that you entered is incorrect. If you are having problems reading the Captcha, please email: '.SERVER_EMAIL;
+$MESSAGE['MOD_FORM_INCORRECT_CAPTCHA'] = 'The verification number (also known as Captcha) that you entered is incorrect. If you are having problems reading the Captcha, please email: <a href="mailto:'.SERVER_EMAIL.'">'.SERVER_EMAIL.'</a>';
 $MESSAGE['MOD_FORM_REQUIRED_FIELDS'] = 'You must enter details for the following fields';
 $MESSAGE['PAGES_ADDED'] = 'Sayfa, ba&thorn;ar&yacute;l&yacute; bir &thorn;ekilde ekledi';
 $MESSAGE['PAGES_ADDED_HEADING'] = '&Uuml;st sayfa, ba&thorn;ar&yacute;l&yacute; bir &thorn;ekilde ekledi';
Index: branches/2.8.x/wb/languages/RU.php
===================================================================
--- branches/2.8.x/wb/languages/RU.php	(revision 1545)
+++ branches/2.8.x/wb/languages/RU.php	(revision 1546)
@@ -540,7 +540,7 @@
 $MESSAGE['MEDIA_TARGET_DOT_DOT_SLASH'] = '&#1053;&#1077;&#1083;&#1100;&#1079;&#1103; &#1080;&#1089;&#1087;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1090;&#1100; ../ &#1074; &#1080;&#1084;&#1077;&#1085;&#1080;';
 $MESSAGE['MEDIA_UPLOADED'] = ' &#1092;&#1072;&#1081;&#1083;&#1099; &#1091;&#1089;&#1087;&#1077;&#1096;&#1085;&#1086; &#1079;&#1072;&#1082;&#1072;&#1095;&#1072;&#1085;&#1099;';
 $MESSAGE['MOD_FORM_EXCESS_SUBMISSIONS'] = '&#1048;&#1079;&#1074;&#1080;&#1085;&#1080;&#1090;&#1077;, &#1089;&#1083;&#1080;&#1096;&#1082;&#1086;&#1084; &#1084;&#1085;&#1086;&#1075;&#1086; &#1089;&#1086;&#1086;&#1073;&#1097;&#1077;&#1085;&#1080;&#1081; &#1079;&#1072; &#1087;&#1086;&#1089;&#1083;&#1077;&#1076;&#1085;&#1080;&#1081; &#1095;&#1072;&#1089;. &#1055;&#1086;&#1078;&#1072;&#1083;&#1091;&#1081;&#1089;&#1090;&#1072; &#1087;&#1086;&#1087;&#1088;&#1086;&#1073;&#1091;&#1081;&#1090;&#1077; &#1087;&#1086;&#1074;&#1090;&#1086;&#1088;&#1080;&#1090;&#1100; &#1086;&#1090;&#1087;&#1088;&#1072;&#1074;&#1082;&#1091; &#1095;&#1077;&#1088;&#1077;&#1079; &#1085;&#1077;&#1082;&#1086;&#1090;&#1086;&#1088;&#1086;&#1077; &#1074;&#1088;&#1077;&#1084;&#1103;.';
-$MESSAGE['MOD_FORM_INCORRECT_CAPTCHA'] = '&#1050;&#1086;&#1076; &#1087;&#1086;&#1076;&#1090;&#1074;&#1077;&#1088;&#1078;&#1076;&#1077;&#1085;&#1080;&#1103; &#1074;&#1074;&#1077;&#1076;&#1077;&#1085; &#1085;&#1077;&#1074;&#1077;&#1088;&#1085;&#1086;. &#1045;&#1089;&#1083;&#1080; &#1074;&#1099; &#1085;&#1077; &#1084;&#1086;&#1078;&#1077;&#1090;&#1077; &#1087;&#1088;&#1086;&#1095;&#1077;&#1089;&#1090;&#1100; &#1082;&#1086;&#1076;, &#1087;&#1086;&#1078;&#1072;&#1083;&#1091;&#1081;&#1089;&#1090;&#1072; &#1089;&#1086;&#1086;&#1073;&#1097;&#1080;&#1090;&#1077; &#1088;&#1072;&#1079;&#1088;&#1072;&#1073;&#1086;&#1090;&#1095;&#1080;&#1082;&#1072;&#1084;: '.SERVER_EMAIL;
+$MESSAGE['MOD_FORM_INCORRECT_CAPTCHA'] = '&#1050;&#1086;&#1076; &#1087;&#1086;&#1076;&#1090;&#1074;&#1077;&#1088;&#1078;&#1076;&#1077;&#1085;&#1080;&#1103; &#1074;&#1074;&#1077;&#1076;&#1077;&#1085; &#1085;&#1077;&#1074;&#1077;&#1088;&#1085;&#1086;. &#1045;&#1089;&#1083;&#1080; &#1074;&#1099; &#1085;&#1077; &#1084;&#1086;&#1078;&#1077;&#1090;&#1077; &#1087;&#1088;&#1086;&#1095;&#1077;&#1089;&#1090;&#1100; &#1082;&#1086;&#1076;, &#1087;&#1086;&#1078;&#1072;&#1083;&#1091;&#1081;&#1089;&#1090;&#1072; &#1089;&#1086;&#1086;&#1073;&#1097;&#1080;&#1090;&#1077; &#1088;&#1072;&#1079;&#1088;&#1072;&#1073;&#1086;&#1090;&#1095;&#1080;&#1082;&#1072;&#1084;: <a href="mailto:'.SERVER_EMAIL.'">'.SERVER_EMAIL.'</a>';
 $MESSAGE['MOD_FORM_REQUIRED_FIELDS'] = '&#1042;&#1053;&#1048;&#1052;&#1040;&#1053;&#1048;&#1045;! &#1042;&#1099; &#1076;&#1086;&#1083;&#1078;&#1085;&#1099; &#1079;&#1072;&#1087;&#1086;&#1083;&#1085;&#1080;&#1090;&#1100; &#1087;&#1086;&#1083;&#1077;';
 $MESSAGE['PAGES_ADDED'] = '&#1057;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1072; &#1091;&#1089;&#1087;&#1077;&#1096;&#1085;&#1086; &#1076;&#1086;&#1073;&#1072;&#1074;&#1083;&#1077;&#1085;&#1072;';
 $MESSAGE['PAGES_ADDED_HEADING'] = '&#1047;&#1072;&#1075;&#1086;&#1083;&#1086;&#1074;&#1086;&#1082; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1099; &#1091;&#1089;&#1087;&#1077;&#1096;&#1085;&#1086; &#1076;&#1086;&#1073;&#1072;&#1074;&#1083;&#1077;&#1085;';
Index: branches/2.8.x/wb/languages/DE.php
===================================================================
--- branches/2.8.x/wb/languages/DE.php	(revision 1545)
+++ branches/2.8.x/wb/languages/DE.php	(revision 1546)
@@ -541,7 +541,7 @@
 $MESSAGE['MEDIA_TARGET_DOT_DOT_SLASH'] = 'Der Name des Zielverzeichnisses darf nicht ../ enthalten';
 $MESSAGE['MEDIA_UPLOADED'] = 'Dateien wurden erfolgreich &uuml;bertragen';
 $MESSAGE['MOD_FORM_EXCESS_SUBMISSIONS'] = 'Dieses Formular wurde zu oft aufgerufen. Bitte versuchen Sie es in einer Stunde noch einmal.';
-$MESSAGE['MOD_FORM_INCORRECT_CAPTCHA'] = 'Die eingegebene Pr&uuml;fziffer stimmt nicht &uuml;berein. Wenn Sie Probleme mit dem Lesen der Pr&uuml;fziffer haben, bitte schreiben Sie eine E-Mail an uns: '.SERVER_EMAIL;
+$MESSAGE['MOD_FORM_INCORRECT_CAPTCHA'] = 'Die eingegebene Pr&uuml;fziffer stimmt nicht &uuml;berein. Wenn Sie Probleme mit dem Lesen der Pr&uuml;fziffer haben, bitte schreiben Sie eine E-Mail an uns: <a href="mailto:'.SERVER_EMAIL.'">'.SERVER_EMAIL.'</a>';
 $MESSAGE['MOD_FORM_REQUIRED_FIELDS'] = 'Bitte folgende Angaben erg&auml;nzen';
 $MESSAGE['PAGES_ADDED'] = 'Die Seite wurde erfolgreich hinzugef&uuml;gt';
 $MESSAGE['PAGES_ADDED_HEADING'] = 'Seitenkopf erfolgreich hinzugef&uuml;gt';
Index: branches/2.8.x/wb/languages/BG.php
===================================================================
--- branches/2.8.x/wb/languages/BG.php	(revision 1545)
+++ branches/2.8.x/wb/languages/BG.php	(revision 1546)
@@ -540,7 +540,7 @@
 $MESSAGE['MEDIA_TARGET_DOT_DOT_SLASH'] = '&#1053;&#1077; &#1084;&#1086;&#1078;&#1077; &#1076;&#1072; &#1074;&#1082;&#1083;&#1102;&#1095;&#1080;&#1090;&#1077; ../ &#1082;&#1072;&#1090;&#1086; &#1094;&#1077;&#1083; &#1085;&#1072; &#1087;&#1072;&#1087;&#1082;&#1072;';
 $MESSAGE['MEDIA_UPLOADED'] = ' &#1092;&#1072;&#1081;&#1083;&#1086;&#1074;&#1077;&#1090;&#1077; &#1073;&#1103;&#1093;&#1072; &#1091;&#1089;&#1087;&#1077;&#1096;&#1085;&#1086; &#1082;&#1072;&#1095;&#1077;&#1085;&#1080;';
 $MESSAGE['MOD_FORM_EXCESS_SUBMISSIONS'] = '&#1057;&#1098;&#1078;&#1072;&#1083;&#1103;&#1074;&#1072;&#1084;&#1077;, &#1090;&#1086;&#1079;&#1080; &#1092;&#1086;&#1088;&#1091;&#1083;&#1103;&#1088; &#1077; &#1087;&#1086;&#1076;&#1072;&#1076;&#1077;&#1085; &#1087;&#1086;&#1074;&#1077;&#1095;&#1077; &#1087;&#1098;&#1090;&#1080; &#1086;&#1090; &#1087;&#1086;&#1079;&#1074;&#1086;&#1083;&#1077;&#1085;&#1086;&#1090;&#1086; &#1087;&#1088;&#1077;&#1079; &#1090;&#1086;&#1079;&#1080; &#1095;&#1072;&#1089;. &#1054;&#1087;&#1080;&#1090;&#1072;&#1081;&#1090;&#1077; &#1086;&#1090;&#1085;&#1086;&#1074;&#1077; &#1087;&#1086; &#1074;&#1088;&#1077;&#1084;&#1077; &#1085;&#1072; &#1089;&#1083;&#1077;&#1076;&#1074;&#1072;&#1097;&#1080; &#1095;&#1072;&#1089;.';
-$MESSAGE['MOD_FORM_INCORRECT_CAPTCHA'] = '&#1050;&#1086;&#1085;&#1090;&#1088;&#1086;&#1083;&#1085;&#1080;&#1103; &#1085;&#1086;&#1084;&#1077;&#1088; (&#1087;&#1086;&#1079;&#1072;&#1085;&#1090; &#1082;&#1072;&#1090;&#1086; Captcha) &#1077; &#1075;&#1088;&#1077;&#1096;&#1077;&#1085;. &#1040;&#1082;&#1086; &#1080;&#1084;&#1072;&#1090;&#1077; &#1087;&#1088;&#1086;&#1073;&#1083;&#1077;&#1084; &#1089; &#1095;&#1077;&#1090;&#1077;&#1085;&#1077;&#1090;&#1086; &#1085;&#1072; Captcha, &#1080;&#1079;&#1087;&#1088;&#1072;&#1090;&#1077;&#1090;&#1077; e-mail &#1085;&#1072;: '.SERVER_EMAIL;
+$MESSAGE['MOD_FORM_INCORRECT_CAPTCHA'] = '&#1050;&#1086;&#1085;&#1090;&#1088;&#1086;&#1083;&#1085;&#1080;&#1103; &#1085;&#1086;&#1084;&#1077;&#1088; (&#1087;&#1086;&#1079;&#1072;&#1085;&#1090; &#1082;&#1072;&#1090;&#1086; Captcha) &#1077; &#1075;&#1088;&#1077;&#1096;&#1077;&#1085;. &#1040;&#1082;&#1086; &#1080;&#1084;&#1072;&#1090;&#1077; &#1087;&#1088;&#1086;&#1073;&#1083;&#1077;&#1084; &#1089; &#1095;&#1077;&#1090;&#1077;&#1085;&#1077;&#1090;&#1086; &#1085;&#1072; Captcha, &#1080;&#1079;&#1087;&#1088;&#1072;&#1090;&#1077;&#1090;&#1077; e-mail &#1085;&#1072;: <a href="mailto:'.SERVER_EMAIL.'">'.SERVER_EMAIL.'</a>';
 $MESSAGE['MOD_FORM_REQUIRED_FIELDS'] = '&#1058;&#1088;&#1103;&#1073;&#1074;&#1072; &#1076;&#1072; &#1087;&#1086;&#1087;&#1098;&#1083;&#1085;&#1080;&#1090;&#1077; &#1089;&#1083;&#1077;&#1076;&#1085;&#1080;&#1090;&#1077; &#1087;&#1086;&#1083;&#1077;&#1090;&#1072;';
 $MESSAGE['PAGES_ADDED'] = '&#1057;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1072;&#1090;&#1072; &#1091;&#1089;&#1087;&#1077;&#1096;&#1085;&#1086; &#1076;&#1086;&#1073;&#1072;&#1074;&#1077;&#1085;&#1072;';
 $MESSAGE['PAGES_ADDED_HEADING'] = 'Page heading &#1091;&#1089;&#1087;&#1077;&#1096;&#1085;&#1086; &#1076;&#1086;&#1073;&#1072;&#1074;&#1077;&#1085;';
Index: branches/2.8.x/wb/modules/wysiwyg/save.php
===================================================================
--- branches/2.8.x/wb/modules/wysiwyg/save.php	(revision 1545)
+++ branches/2.8.x/wb/modules/wysiwyg/save.php	(revision 1546)
@@ -44,11 +44,12 @@
 	$database->query($query);	
 }
 
+$sec_anchor = (defined( 'SEC_ANCHOR' ) && ( SEC_ANCHOR != '' )  ? '#'.SEC_ANCHOR.$section['section_id'] : '' );
 if(defined('EDIT_ONE_SECTION') and EDIT_ONE_SECTION)
 {
     $edit_page = ADMIN_URL.'/pages/modify.php?page_id='.$page_id.'&wysiwyg='.$section_id;
 } else {
-    $edit_page = ADMIN_URL.'/pages/modify.php?page_id='.$page_id.'#wb'.$section_id;
+    $edit_page = ADMIN_URL.'/pages/modify.php?page_id='.$page_id.$sec_anchor;
 }
 
 // Check if there is a database error, otherwise say successful
