Namespace changes initial setup
* move all the libs into the correct folders * libs folder is now called lib * Smarty update to 3.1.30 * main config update with / is now set via core variable (dynamic)
This commit is contained in:
2
4dev/tmp/.gitignore
vendored
Normal file
2
4dev/tmp/.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
*
|
||||||
|
!.gitignore
|
||||||
62
4dev/update/20180323_namespace/comp_func.sh
Executable file
62
4dev/update/20180323_namespace/comp_func.sh
Executable file
@@ -0,0 +1,62 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
OIFS=${IFS};
|
||||||
|
class_file="Class.Basic.inc";
|
||||||
|
tmp_file="../../4dev/tmp/tmp.comp";
|
||||||
|
rm -f "${tmp_file}";
|
||||||
|
cat "${class_file}" | grep "WAS" -B 1 | while read line;
|
||||||
|
do
|
||||||
|
# if method grep for function call
|
||||||
|
found=$(echo "${line}" | sed -e 's/^[ \t]*//' | grep "METHOD");
|
||||||
|
if [ -n "${found}" ];
|
||||||
|
then
|
||||||
|
method=$(echo "${line}" | cut -d " " -f 3);
|
||||||
|
echo "1 MET: ${method}";
|
||||||
|
# is method
|
||||||
|
if [ -n "${method}" ];
|
||||||
|
then
|
||||||
|
# the full new call
|
||||||
|
new_function_call_full=$(grep "${method}(" Class.Basic.inc | grep "function" | sed -e 's/^[ \t]*//');
|
||||||
|
# just the method name
|
||||||
|
new_function_call=$(echo "${new_function_call_full}" | sed -e 's/public //' | sed -e 's/private //' | sed -e 's/static //' | sed -e 's/function //' | cut -d "(" -f 1);
|
||||||
|
# check if func call is more than just alphanumeric (we don't need to redeclare those, functions are case insenstivie)
|
||||||
|
#
|
||||||
|
# only params (remove all = ... stuff)
|
||||||
|
new_function_call_params=$(echo "${new_function_call_full}" | cut -d "(" -f 2- | sed -e 's/)//');
|
||||||
|
old_function_call_params='';
|
||||||
|
IFS=',';
|
||||||
|
for el in ${new_function_call_params};
|
||||||
|
do
|
||||||
|
if [ -n "${old_function_call_params}" ];
|
||||||
|
then
|
||||||
|
old_function_call_params=${old_function_call_params}", ";
|
||||||
|
fi;
|
||||||
|
old_function_call_params=${old_function_call_params}$(echo "${el}" | cut -d "=" -f 1 | tr -d ' ');
|
||||||
|
done;
|
||||||
|
# cut -d "," "${new_function_call_params}" | while
|
||||||
|
fi;
|
||||||
|
fi;
|
||||||
|
# if this is a WAS
|
||||||
|
was=$(echo "${line}" | sed -e 's/^[ \t]*//' | grep "WAS" | tr -s " ");
|
||||||
|
if [ -n "${was}" ];
|
||||||
|
then
|
||||||
|
old_function_call=$(echo "${was}" | cut -d " " -f 3)
|
||||||
|
echo "2 OLD: ${old_function_call} => ${new_function_call} [${new_function_call_full}]";
|
||||||
|
# for return write:
|
||||||
|
# rpl new -> old { new }
|
||||||
|
rpl=$(echo "${new_function_call_full}" | sed -e "s/${new_function_call}/${old_function_call}/");
|
||||||
|
new_call="${rpl}\n";
|
||||||
|
new_call=${new_call}"{\n";
|
||||||
|
new_call=${new_call}"\t\$this->debug('DEPRECATED CALL', __FUNCTION);\n";
|
||||||
|
new_call=${new_call}"\t\$this->${new_function_call}(${old_function_call_params});\n";
|
||||||
|
new_call=${new_call}"}\n";
|
||||||
|
echo -e "${new_call}" >> "${tmp_file}";
|
||||||
|
echo "3A RPL CALL: ${rpl}";
|
||||||
|
echo "3B RPL CALL: {";
|
||||||
|
echo "3B RPL CALL: \$this->debug('DEPRECATED CALL', __FUNCTION);";
|
||||||
|
echo "3B RPL CALL: ${new_function_call}(${old_function_call_params});";
|
||||||
|
echo "3B RPL CALL: }";
|
||||||
|
echo "----";
|
||||||
|
fi;
|
||||||
|
done;
|
||||||
|
IFS=${OIFS};
|
||||||
@@ -1 +0,0 @@
|
|||||||
smarty-3.1.27/
|
|
||||||
20
www/admin/namespace_test.php
Executable file
20
www/admin/namespace_test.php
Executable file
@@ -0,0 +1,20 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
// namespace test
|
||||||
|
ob_start();
|
||||||
|
|
||||||
|
// admin class tests
|
||||||
|
require 'config.inc' ;
|
||||||
|
DEFINE('SET_SESSION_NAME', EDIT_SESSION_NAME);
|
||||||
|
|
||||||
|
echo "CONFIG: ".CONFIG."<br>ROOT: ".ROOT."<br>BASE: ".BASE."<br>";
|
||||||
|
|
||||||
|
$lang = 'en_utf8';
|
||||||
|
$base = new CoreLibs\Basic($DB_CONFIG[MAIN_DB]);
|
||||||
|
|
||||||
|
print "ByteStringFormat: ".$base->ByteStringFormat(1234567.12)."<br>";
|
||||||
|
print "byteStringFormat: ".$base->byteStringFormat(1234567.12)."<br>";
|
||||||
|
|
||||||
|
ob_end_flush();
|
||||||
|
|
||||||
|
# __END__
|
||||||
52
www/autoloader.php
Executable file
52
www/autoloader.php
Executable file
@@ -0,0 +1,52 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Autoloader;
|
||||||
|
|
||||||
|
// shall implement an auto loader
|
||||||
|
|
||||||
|
if (class_exists('Autoload', false) === false) {
|
||||||
|
// define the auto loader class
|
||||||
|
class Autoload
|
||||||
|
{
|
||||||
|
// we do it simple here
|
||||||
|
// passes on the class to load and we search here in namespace
|
||||||
|
// to load that class
|
||||||
|
public static function load($class)
|
||||||
|
{
|
||||||
|
print "(1) Class: $class / DIR: ".__DIR__."<br>";
|
||||||
|
// set directory seperator (we need to replace from namespace)
|
||||||
|
$ds = DS ?? DIRECTORY_SEPARATOR;
|
||||||
|
// base lib
|
||||||
|
$LIB = LIB ?? 'lib'.DS;
|
||||||
|
// default path is unset
|
||||||
|
$path = false;
|
||||||
|
// set path on full dir
|
||||||
|
// if we have the namespace in the class, strip it out
|
||||||
|
$len = 0;
|
||||||
|
if (strpos($class, __NAMESPACE__) !== false) {
|
||||||
|
$len = strlen(__NAMESPACE__);
|
||||||
|
}
|
||||||
|
// set default extension
|
||||||
|
$extension = '.inc';
|
||||||
|
// set full include path
|
||||||
|
$path = __DIR__.$ds.$LIB.substr($class, $len);
|
||||||
|
// replace namespace \ with dir sepeator
|
||||||
|
$path = str_replace('\\', $ds, $path).$extension;
|
||||||
|
print "(2) Class clean: $path<br>";
|
||||||
|
// if path is set and a valid file
|
||||||
|
if ($path !== false && is_file($path)) {
|
||||||
|
echo "<b>(3)</b> Load Path: $path<br>";
|
||||||
|
// we should sub that
|
||||||
|
// self::loadFile($path);
|
||||||
|
include $path;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
} // end class define
|
||||||
|
|
||||||
|
// auto loader
|
||||||
|
spl_autoload_register('Autoloader\Autoload::load', true, true);
|
||||||
|
} // end check for already defined
|
||||||
|
|
||||||
|
# __END__
|
||||||
@@ -21,67 +21,66 @@ DEFINE('DEFAULT_LANG', "en_utf8");
|
|||||||
DEFINE('DEFAULT_ENCODING', "UTF-8");
|
DEFINE('DEFAULT_ENCODING', "UTF-8");
|
||||||
|
|
||||||
/************* PATHS *********************/
|
/************* PATHS *********************/
|
||||||
|
// directory seperator
|
||||||
|
DEFINE('DS', DIRECTORY_SEPARATOR);
|
||||||
// ** NEW/BETTER DIR DECLARATIONS **
|
// ** NEW/BETTER DIR DECLARATIONS **
|
||||||
// path to original file (if symlink)
|
// path to original file (if symlink)
|
||||||
DEFINE('DIR', __DIR__."/");
|
DEFINE('DIR', __DIR__.DS);
|
||||||
// libs base path based on DIR
|
// base dir root folder level
|
||||||
DEFINE('LIBDIR', DIR.'libs/');
|
DEFINE('BASE', str_replace('configs', '', __DIR__));
|
||||||
// SMARTY path based on DIR
|
|
||||||
DEFINE('SMARTYDIR', DIR.'Smarty/');
|
|
||||||
// table arrays for Class Form
|
|
||||||
DEFINE('TABLEARRAYDIR', DIR.'table_arrays/');
|
|
||||||
|
|
||||||
// ** OLD DIR DECLARATIONS **
|
// ** OLD DIR DECLARATIONS **
|
||||||
// path to document root of file called
|
// path to document root of file called
|
||||||
DEFINE('ROOT', getcwd()."/");
|
DEFINE('ROOT', getcwd().DS);
|
||||||
// libs path
|
// libs path
|
||||||
DEFINE('LIBS', "libs/");
|
DEFINE('LIB', 'lib'.DS);
|
||||||
|
DEFINE('LIBS', 'lib'.DS);
|
||||||
// includes (strings, arrays for static, etc)
|
// includes (strings, arrays for static, etc)
|
||||||
DEFINE('INCLUDES', "includes/");
|
DEFINE('INCLUDES', 'includes'.DS);
|
||||||
// layout base path
|
// layout base path
|
||||||
DEFINE('LAYOUT', 'layout/');
|
DEFINE('LAYOUT', 'layout'.DS);
|
||||||
// pic-root (compatible to CMS)
|
// pic-root (compatible to CMS)
|
||||||
DEFINE('PICTURES', "images/");
|
DEFINE('PICTURES', "images".DS);
|
||||||
// images
|
// images
|
||||||
DEFINE('IMAGES', "images/");
|
DEFINE('IMAGES', "images".DS);
|
||||||
// icons (below the images/ folder)
|
// icons (below the images/ folder)
|
||||||
DEFINE('ICONS', 'icons/');
|
DEFINE('ICONS', 'icons'.DS);
|
||||||
// media
|
// media
|
||||||
DEFINE('MEDIA', "media/");
|
DEFINE('MEDIA', "media".DS);
|
||||||
// flash-root (below media)
|
// flash-root (below media)
|
||||||
DEFINE('FLASH', "flash/");
|
DEFINE('FLASH', "flash".DS);
|
||||||
// uploads (anything to keep)
|
// uploads (anything to keep)
|
||||||
DEFINE('UPLOADS', "uploads/");
|
DEFINE('UPLOADS', "uploads".DS);
|
||||||
// files (binaries) (below media)
|
// files (binaries) (below media)
|
||||||
DEFINE('BINARIES', "binaries/");
|
DEFINE('BINARIES', "binaries".DS);
|
||||||
// files (videos) (below media)
|
// files (videos) (below media)
|
||||||
DEFINE('VIDEOS', "videos/");
|
DEFINE('VIDEOS', "videos".DS);
|
||||||
// files (documents) (below media)
|
// files (documents) (below media)
|
||||||
DEFINE('DOCUMENTS', "documents/");
|
DEFINE('DOCUMENTS', "documents".DS);
|
||||||
// files (pdfs) (below media)
|
// files (pdfs) (below media)
|
||||||
DEFINE('PDFS', "documents/");
|
DEFINE('PDFS', "documents".DS);
|
||||||
// css
|
// css
|
||||||
DEFINE('CSS', "css/");
|
DEFINE('CSS', "css".DS);
|
||||||
// js
|
// js
|
||||||
DEFINE('JS', "javascript/");
|
DEFINE('JS', "javascript".DS);
|
||||||
// table arrays
|
// table arrays
|
||||||
DEFINE('TABLE_ARRAYS', "table_arrays/");
|
DEFINE('TABLE_ARRAYS', "table_arrays".DS);
|
||||||
// smarty libs path
|
// smarty libs path
|
||||||
DEFINE('SMARTY', "Smarty/");
|
DEFINE('SMARTY', "Smarty".DS);
|
||||||
// po langs
|
// po langs
|
||||||
DEFINE('LANG', "lang/");
|
DEFINE('LANG', "lang".DS);
|
||||||
// cache path
|
// cache path
|
||||||
DEFINE('CACHE', "cache/");
|
DEFINE('CACHE', "cache".DS);
|
||||||
// temp path
|
// temp path
|
||||||
DEFINE('TMP', "tmp/");
|
DEFINE('TMP', "tmp".DS);
|
||||||
// log files
|
// log files
|
||||||
DEFINE('LOG', 'log/');
|
DEFINE('LOG', 'log'.DS);
|
||||||
// template base
|
// template base
|
||||||
DEFINE('TEMPLATES', "templates/");
|
DEFINE('TEMPLATES', "templates".DS);
|
||||||
// frontend template dir', only for admin
|
// frontend template dir', only for admin
|
||||||
DEFINE('TEMPLATES_FRONTEND', "templates_frontend/");
|
DEFINE('TEMPLATES_FRONTEND', "templates_frontend".DS);
|
||||||
// default template
|
// default template
|
||||||
DEFINE('DEFAULT_TEMPLATE', "default/");
|
DEFINE('DEFAULT_TEMPLATE', "default".DS);
|
||||||
// default template file
|
// default template file
|
||||||
DEFINE('DEFAULT_TEMPLATE_FILE', 'default.tpl');
|
DEFINE('DEFAULT_TEMPLATE_FILE', 'default.tpl');
|
||||||
|
|
||||||
@@ -249,27 +248,4 @@ if (DEBUG == false) {
|
|||||||
// any other global definitons here
|
// any other global definitons here
|
||||||
// DEFINE('SOME_ID', <SOME VALUE>);
|
// DEFINE('SOME_ID', <SOME VALUE>);
|
||||||
|
|
||||||
// function that will be called on top of each class include to load the class
|
# __END__
|
||||||
function _spl_autoload($include_file)
|
|
||||||
{
|
|
||||||
// where to search for the files to include
|
|
||||||
$dirs = array (
|
|
||||||
LIBDIR,
|
|
||||||
SMARTYDIR,
|
|
||||||
TABLEARRAYDIR,
|
|
||||||
'',
|
|
||||||
LIBS,
|
|
||||||
SMARTY,
|
|
||||||
TABLE_ARRAYS,
|
|
||||||
__DIR__.'/'.LIBS,
|
|
||||||
__DIR__.'/'.SMARTY
|
|
||||||
);
|
|
||||||
// try to find and load the class ifle
|
|
||||||
foreach ($dirs as $folder) {
|
|
||||||
if (file_exists($folder.$include_file)) {
|
|
||||||
require_once($folder.$include_file);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
71
www/lib/CoreLibs/Language/Core/FileReader.inc
Executable file
71
www/lib/CoreLibs/Language/Core/FileReader.inc
Executable file
@@ -0,0 +1,71 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace CoreLibs\Language\Core;
|
||||||
|
|
||||||
|
class FileReader
|
||||||
|
{
|
||||||
|
public $fr_pos;
|
||||||
|
public $fr_fd;
|
||||||
|
public $fr_length;
|
||||||
|
|
||||||
|
public function __construct($filename)
|
||||||
|
{
|
||||||
|
if (file_exists($filename)) {
|
||||||
|
$this->fr_length = filesize($filename);
|
||||||
|
$this->fr_pos = 0;
|
||||||
|
$this->fr_fd = fopen($filename, 'rb');
|
||||||
|
if (!$this->fr_fd) {
|
||||||
|
$this->error = 3; // Cannot read file, probably permissions
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$this->error = 2; // File doesn't exist
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function read($bytes)
|
||||||
|
{
|
||||||
|
if ($bytes) {
|
||||||
|
fseek($this->fr_fd, $this->fr_pos);
|
||||||
|
|
||||||
|
// PHP 5.1.1 does not read more than 8192 bytes in one fread()
|
||||||
|
// the discussions at PHP Bugs suggest it's the intended behaviour
|
||||||
|
$data = '';
|
||||||
|
while ($bytes > 0) {
|
||||||
|
$chunk = fread($this->fr_fd, $bytes);
|
||||||
|
$data .= $chunk;
|
||||||
|
$bytes -= strlen($chunk);
|
||||||
|
}
|
||||||
|
$this->fr_pos = ftell($this->fr_fd);
|
||||||
|
|
||||||
|
return $data;
|
||||||
|
} else {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function seekto($pos)
|
||||||
|
{
|
||||||
|
fseek($this->fr_fd, $pos);
|
||||||
|
$this->fr_pos = ftell($this->fr_fd);
|
||||||
|
return $this->fr_pos;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function currentpos()
|
||||||
|
{
|
||||||
|
return $this->fr_pos;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function length()
|
||||||
|
{
|
||||||
|
return $this->fr_length;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function close()
|
||||||
|
{
|
||||||
|
fclose($this->fr_fd);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# __END__
|
||||||
6
www/libs/gettext.php → www/lib/CoreLibs/Language/Core/GetTextReader.inc
Normal file → Executable file
6
www/libs/gettext.php → www/lib/CoreLibs/Language/Core/GetTextReader.inc
Normal file → Executable file
@@ -20,6 +20,8 @@
|
|||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
namespace CoreLibs\Language\Core;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Provides a simple gettext replacement that works independently from
|
* Provides a simple gettext replacement that works independently from
|
||||||
* the system's gettext abilities.
|
* the system's gettext abilities.
|
||||||
@@ -32,7 +34,7 @@
|
|||||||
* second parameter in the constructor (e.g. whenusing very large MO files
|
* second parameter in the constructor (e.g. whenusing very large MO files
|
||||||
* that you don't want to keep in memory)
|
* that you don't want to keep in memory)
|
||||||
*/
|
*/
|
||||||
class gettext_reader
|
class GetTextReader
|
||||||
{
|
{
|
||||||
// public:
|
// public:
|
||||||
public $error = 0; // public variable that holds error code (0 if no error)
|
public $error = 0; // public variable that holds error code (0 if no error)
|
||||||
@@ -454,3 +456,5 @@ class gettext_reader
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# __END__
|
||||||
31
www/lib/CoreLibs/Upload/Core/qqUploadedFileForm.inc
Executable file
31
www/lib/CoreLibs/Upload/Core/qqUploadedFileForm.inc
Executable file
@@ -0,0 +1,31 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace CoreLibs\Upload\Core;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Handle file uploads via regular form post (uses the $_FILES array)
|
||||||
|
*/
|
||||||
|
class qqUploadedFileForm
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Save the file to the specified path
|
||||||
|
* @return boolean TRUE on success
|
||||||
|
*/
|
||||||
|
public function save($path)
|
||||||
|
{
|
||||||
|
if (!move_uploaded_file($_FILES['qqfile']['tmp_name'], $path)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
public function getName()
|
||||||
|
{
|
||||||
|
return $_FILES['qqfile']['name'];
|
||||||
|
}
|
||||||
|
public function getSize()
|
||||||
|
{
|
||||||
|
return $_FILES['qqfile']['size'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# __END__
|
||||||
46
www/lib/CoreLibs/Upload/Core/qqUploadedFileXhr.inc
Executable file
46
www/lib/CoreLibs/Upload/Core/qqUploadedFileXhr.inc
Executable file
@@ -0,0 +1,46 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace CoreLibs\Upload\Core;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Handle file uploads via XMLHttpRequest
|
||||||
|
*/
|
||||||
|
class qqUploadedFileXhr
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Save the file to the specified path
|
||||||
|
* @return boolean TRUE on success
|
||||||
|
*/
|
||||||
|
public function save($path)
|
||||||
|
{
|
||||||
|
$input = fopen("php://input", "r");
|
||||||
|
$temp = tmpfile();
|
||||||
|
$realSize = stream_copy_to_stream($input, $temp);
|
||||||
|
fclose($input);
|
||||||
|
|
||||||
|
if ($realSize != $this->getSize()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
$target = fopen($path, "w");
|
||||||
|
fseek($temp, 0, SEEK_SET);
|
||||||
|
stream_copy_to_stream($temp, $target);
|
||||||
|
fclose($target);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
public function getName()
|
||||||
|
{
|
||||||
|
return $_GET['qqfile'];
|
||||||
|
}
|
||||||
|
public function getSize()
|
||||||
|
{
|
||||||
|
if (isset($_SERVER["CONTENT_LENGTH"])) {
|
||||||
|
return (int)$_SERVER["CONTENT_LENGTH"];
|
||||||
|
} else {
|
||||||
|
throw new Exception('Getting content length is not supported.');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# __END__
|
||||||
70
www/libs/FileUploader.inc → www/lib/CoreLibs/Upload/qqFileUploader.inc
Normal file → Executable file
70
www/libs/FileUploader.inc → www/lib/CoreLibs/Upload/qqFileUploader.inc
Normal file → Executable file
@@ -1,71 +1,9 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
/**
|
namespace CoreLibs\Upload;
|
||||||
* Handle file uploads via XMLHttpRequest
|
|
||||||
*/
|
|
||||||
class qqUploadedFileXhr
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* Save the file to the specified path
|
|
||||||
* @return boolean TRUE on success
|
|
||||||
*/
|
|
||||||
public function save($path)
|
|
||||||
{
|
|
||||||
$input = fopen("php://input", "r");
|
|
||||||
$temp = tmpfile();
|
|
||||||
$realSize = stream_copy_to_stream($input, $temp);
|
|
||||||
fclose($input);
|
|
||||||
|
|
||||||
if ($realSize != $this->getSize()) {
|
use \CoreLibs\Upload\Core\qqUploadedFileForm;
|
||||||
return false;
|
use \CoreLibs\Upload\Core\qqUploadedFileXhr;
|
||||||
}
|
|
||||||
|
|
||||||
$target = fopen($path, "w");
|
|
||||||
fseek($temp, 0, SEEK_SET);
|
|
||||||
stream_copy_to_stream($temp, $target);
|
|
||||||
fclose($target);
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
public function getName()
|
|
||||||
{
|
|
||||||
return $_GET['qqfile'];
|
|
||||||
}
|
|
||||||
public function getSize()
|
|
||||||
{
|
|
||||||
if (isset($_SERVER["CONTENT_LENGTH"])) {
|
|
||||||
return (int)$_SERVER["CONTENT_LENGTH"];
|
|
||||||
} else {
|
|
||||||
throw new Exception('Getting content length is not supported.');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Handle file uploads via regular form post (uses the $_FILES array)
|
|
||||||
*/
|
|
||||||
class qqUploadedFileForm
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* Save the file to the specified path
|
|
||||||
* @return boolean TRUE on success
|
|
||||||
*/
|
|
||||||
public function save($path)
|
|
||||||
{
|
|
||||||
if (!move_uploaded_file($_FILES['qqfile']['tmp_name'], $path)) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
public function getName()
|
|
||||||
{
|
|
||||||
return $_FILES['qqfile']['name'];
|
|
||||||
}
|
|
||||||
public function getSize()
|
|
||||||
{
|
|
||||||
return $_FILES['qqfile']['size'];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
class qqFileUploader
|
class qqFileUploader
|
||||||
{
|
{
|
||||||
@@ -170,3 +108,5 @@ class qqFileUploader
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# __END__
|
||||||
1
www/lib/Smarty
Symbolic link
1
www/lib/Smarty
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
smarty-3.1.30/
|
||||||
107
www/lib/smarty-3.1.30/Autoloader.php
Normal file
107
www/lib/smarty-3.1.30/Autoloader.php
Normal file
@@ -0,0 +1,107 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Smarty Autoloader
|
||||||
|
*
|
||||||
|
* @package Smarty
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Smarty Autoloader
|
||||||
|
*
|
||||||
|
* @package Smarty
|
||||||
|
* @author Uwe Tews
|
||||||
|
* Usage:
|
||||||
|
* require_once '...path/Autoloader.php';
|
||||||
|
* Smarty_Autoloader::register();
|
||||||
|
* $smarty = new Smarty();
|
||||||
|
* Note: This autoloader is not needed if you use Composer.
|
||||||
|
* Composer will automatically add the classes of the Smarty package to it common autoloader.
|
||||||
|
*/
|
||||||
|
class Smarty_Autoloader
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Filepath to Smarty root
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
public static $SMARTY_DIR = '';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Filepath to Smarty internal plugins
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
public static $SMARTY_SYSPLUGINS_DIR = '';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Array with Smarty core classes and their filename
|
||||||
|
*
|
||||||
|
* @var array
|
||||||
|
*/
|
||||||
|
public static $rootClasses = array('smarty' => 'Smarty.class.php', 'smartybc' => 'SmartyBC.class.php',);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Registers Smarty_Autoloader backward compatible to older installations.
|
||||||
|
*
|
||||||
|
* @param bool $prepend Whether to prepend the autoloader or not.
|
||||||
|
*/
|
||||||
|
public static function registerBC($prepend = false)
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* register the class autoloader
|
||||||
|
*/
|
||||||
|
if (!defined('SMARTY_SPL_AUTOLOAD')) {
|
||||||
|
define('SMARTY_SPL_AUTOLOAD', 0);
|
||||||
|
}
|
||||||
|
if (SMARTY_SPL_AUTOLOAD &&
|
||||||
|
set_include_path(get_include_path() . PATH_SEPARATOR . SMARTY_SYSPLUGINS_DIR) !== false
|
||||||
|
) {
|
||||||
|
$registeredAutoLoadFunctions = spl_autoload_functions();
|
||||||
|
if (!isset($registeredAutoLoadFunctions[ 'spl_autoload' ])) {
|
||||||
|
spl_autoload_register();
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
self::register($prepend);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Registers Smarty_Autoloader as an SPL autoloader.
|
||||||
|
*
|
||||||
|
* @param bool $prepend Whether to prepend the autoloader or not.
|
||||||
|
*/
|
||||||
|
public static function register($prepend = false)
|
||||||
|
{
|
||||||
|
self::$SMARTY_DIR = defined('SMARTY_DIR') ? SMARTY_DIR : dirname(__FILE__) . DIRECTORY_SEPARATOR;
|
||||||
|
self::$SMARTY_SYSPLUGINS_DIR = defined('SMARTY_SYSPLUGINS_DIR') ? SMARTY_SYSPLUGINS_DIR :
|
||||||
|
self::$SMARTY_DIR . 'sysplugins' . DIRECTORY_SEPARATOR;
|
||||||
|
if (version_compare(phpversion(), '5.3.0', '>=')) {
|
||||||
|
spl_autoload_register(array(__CLASS__, 'autoload'), true, $prepend);
|
||||||
|
} else {
|
||||||
|
spl_autoload_register(array(__CLASS__, 'autoload'));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Handles auto loading of classes.
|
||||||
|
*
|
||||||
|
* @param string $class A class name.
|
||||||
|
*/
|
||||||
|
public static function autoload($class)
|
||||||
|
{
|
||||||
|
$_class = strtolower($class);
|
||||||
|
if (strpos($_class, 'smarty') !== 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
$file = self::$SMARTY_SYSPLUGINS_DIR . $_class . '.php';
|
||||||
|
if (is_file($file)) {
|
||||||
|
include $file;
|
||||||
|
} else if (isset(self::$rootClasses[ $_class ])) {
|
||||||
|
$file = self::$SMARTY_DIR . self::$rootClasses[ $_class ];
|
||||||
|
if (is_file($file)) {
|
||||||
|
include $file;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -31,7 +31,7 @@
|
|||||||
require_once(dirname(__FILE__) . '/Smarty.class.php');
|
require_once(dirname(__FILE__) . '/Smarty.class.php');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Smarty Backward Compatability Wrapper Class
|
* Smarty Backward Compatibility Wrapper Class
|
||||||
*
|
*
|
||||||
* @package Smarty
|
* @package Smarty
|
||||||
*/
|
*/
|
||||||
@@ -44,14 +44,20 @@ class SmartyBC extends Smarty
|
|||||||
*/
|
*/
|
||||||
public $_version = self::SMARTY_VERSION;
|
public $_version = self::SMARTY_VERSION;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This is an array of directories where trusted php scripts reside.
|
||||||
|
*
|
||||||
|
* @var array
|
||||||
|
*/
|
||||||
|
public $trusted_dir = array();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initialize new SmartyBC object
|
* Initialize new SmartyBC object
|
||||||
*
|
*
|
||||||
* @param array $options options to set during initialization, e.g. array( 'forceCompile' => false )
|
|
||||||
*/
|
*/
|
||||||
public function __construct(array $options = array())
|
public function __construct()
|
||||||
{
|
{
|
||||||
parent::__construct($options);
|
parent::__construct();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -101,7 +107,7 @@ class SmartyBC extends Smarty
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Unregisters custom function
|
* Unregister custom function
|
||||||
*
|
*
|
||||||
* @param string $function name of template function
|
* @param string $function name of template function
|
||||||
*/
|
*/
|
||||||
@@ -122,7 +128,8 @@ class SmartyBC extends Smarty
|
|||||||
* @throws SmartyException
|
* @throws SmartyException
|
||||||
* @internal param array $block_functs list of methods that are block format
|
* @internal param array $block_functs list of methods that are block format
|
||||||
*/
|
*/
|
||||||
public function register_object($object, $object_impl, $allowed = array(), $smarty_args = true, $block_methods = array())
|
public function register_object($object, $object_impl, $allowed = array(), $smarty_args = true,
|
||||||
|
$block_methods = array())
|
||||||
{
|
{
|
||||||
settype($allowed, 'array');
|
settype($allowed, 'array');
|
||||||
settype($smarty_args, 'boolean');
|
settype($smarty_args, 'boolean');
|
||||||
@@ -130,7 +137,7 @@ class SmartyBC extends Smarty
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Unregisters object
|
* Unregister object
|
||||||
*
|
*
|
||||||
* @param string $object name of template object
|
* @param string $object name of template object
|
||||||
*/
|
*/
|
||||||
@@ -153,7 +160,7 @@ class SmartyBC extends Smarty
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Unregisters block function
|
* Unregister block function
|
||||||
*
|
*
|
||||||
* @param string $block name of template function
|
* @param string $block name of template function
|
||||||
*/
|
*/
|
||||||
@@ -175,7 +182,7 @@ class SmartyBC extends Smarty
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Unregisters compiler function
|
* Unregister compiler function
|
||||||
*
|
*
|
||||||
* @param string $function name of template function
|
* @param string $function name of template function
|
||||||
*/
|
*/
|
||||||
@@ -196,7 +203,7 @@ class SmartyBC extends Smarty
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Unregisters modifier
|
* Unregister modifier
|
||||||
*
|
*
|
||||||
* @param string $modifier name of template modifier
|
* @param string $modifier name of template modifier
|
||||||
*/
|
*/
|
||||||
@@ -217,7 +224,7 @@ class SmartyBC extends Smarty
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Unregisters a resource
|
* Unregister a resource
|
||||||
*
|
*
|
||||||
* @param string $type name of resource
|
* @param string $type name of resource
|
||||||
*/
|
*/
|
||||||
@@ -238,7 +245,7 @@ class SmartyBC extends Smarty
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Unregisters a prefilter function
|
* Unregister a prefilter function
|
||||||
*
|
*
|
||||||
* @param callable $function
|
* @param callable $function
|
||||||
*/
|
*/
|
||||||
@@ -259,7 +266,7 @@ class SmartyBC extends Smarty
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Unregisters a postfilter function
|
* Unregister a postfilter function
|
||||||
*
|
*
|
||||||
* @param callable $function
|
* @param callable $function
|
||||||
*/
|
*/
|
||||||
@@ -280,7 +287,7 @@ class SmartyBC extends Smarty
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Unregisters an outputfilter function
|
* Unregister an outputfilter function
|
||||||
*
|
*
|
||||||
* @param callable $function
|
* @param callable $function
|
||||||
*/
|
*/
|
||||||
@@ -128,7 +128,7 @@
|
|||||||
<tr class="{if $vars@iteration % 2 eq 0}odd{else}even{/if}">
|
<tr class="{if $vars@iteration % 2 eq 0}odd{else}even{/if}">
|
||||||
<td><h3><font color=blue>${$vars@key}</font></h3>
|
<td><h3><font color=blue>${$vars@key}</font></h3>
|
||||||
{if isset($vars['nocache'])}<b>Nocache</b></br>{/if}
|
{if isset($vars['nocache'])}<b>Nocache</b></br>{/if}
|
||||||
{if isset($vars['scope'])}<b>Origin:</b> {$vars['scope']|debug_print_var:10:80 nofilter}{/if}
|
{if isset($vars['scope'])}<b>Origin:</b> {$vars['scope']|debug_print_var nofilter}{/if}
|
||||||
</td>
|
</td>
|
||||||
<td><h3>Value</h3>{$vars['value']|debug_print_var:10:80 nofilter}</td>
|
<td><h3>Value</h3>{$vars['value']|debug_print_var:10:80 nofilter}</td>
|
||||||
<td>{if isset($vars['attributes'])}<h3>Attributes</h3>{$vars['attributes']|debug_print_var nofilter} {/if}</td>
|
<td>{if isset($vars['attributes'])}<h3>Attributes</h3>{$vars['attributes']|debug_print_var nofilter} {/if}</td>
|
||||||
@@ -141,7 +141,7 @@
|
|||||||
{foreach $config_vars as $vars}
|
{foreach $config_vars as $vars}
|
||||||
<tr class="{if $vars@iteration % 2 eq 0}odd{else}even{/if}">
|
<tr class="{if $vars@iteration % 2 eq 0}odd{else}even{/if}">
|
||||||
<td><h3><font color=blue>#{$vars@key}#</font></h3>
|
<td><h3><font color=blue>#{$vars@key}#</font></h3>
|
||||||
{if isset($vars['scope'])}<b>Origin:</b> {$vars['scope']|debug_print_var:10:80 nofilter}{/if}
|
{if isset($vars['scope'])}<b>Origin:</b> {$vars['scope']|debug_print_var nofilter}{/if}
|
||||||
</td>
|
</td>
|
||||||
<td>{$vars['value']|debug_print_var:10:80 nofilter}</td>
|
<td>{$vars['value']|debug_print_var:10:80 nofilter}</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -152,9 +152,9 @@
|
|||||||
</html>
|
</html>
|
||||||
{/capture}
|
{/capture}
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
{$id = ''}
|
{$id = '__Smarty__'}
|
||||||
{if $display_mode}{$id = "$offset$template_name"|md5}{/if}
|
{if $display_mode}{$id = "$offset$template_name"|md5}{/if}
|
||||||
_smarty_console = window.open("", "console{$id}", "width=680,height=600,left={$offset},top={$offset},resizable,scrollbars=yes");
|
_smarty_console = window.open("", "console{$id}", "width=1024,height=600,left={$offset},top={$offset},resizable,scrollbars=yes");
|
||||||
_smarty_console.document.write("{$debug_output|escape:'javascript' nofilter}");
|
_smarty_console.document.write("{$debug_output|escape:'javascript' nofilter}");
|
||||||
_smarty_console.document.close();
|
_smarty_console.document.close();
|
||||||
</script>
|
</script>
|
||||||
@@ -83,7 +83,9 @@ function smarty_block_textformat($params, $content, $template, &$repeat)
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
// convert mult. spaces & special chars to single space
|
// convert mult. spaces & special chars to single space
|
||||||
$_paragraph = preg_replace(array('!\s+!' . Smarty::$_UTF8_MODIFIER, '!(^\s+)|(\s+$)!' . Smarty::$_UTF8_MODIFIER), array(' ', ''), $_paragraph);
|
$_paragraph =
|
||||||
|
preg_replace(array('!\s+!' . Smarty::$_UTF8_MODIFIER, '!(^\s+)|(\s+$)!' . Smarty::$_UTF8_MODIFIER),
|
||||||
|
array(' ', ''), $_paragraph);
|
||||||
// indent first line
|
// indent first line
|
||||||
if ($indent_first > 0) {
|
if ($indent_first > 0) {
|
||||||
$_paragraph = str_repeat($indent_char, $indent_first) . $_paragraph;
|
$_paragraph = str_repeat($indent_char, $indent_first) . $_paragraph;
|
||||||
73
www/lib/smarty-3.1.30/plugins/function.counter.php
Normal file
73
www/lib/smarty-3.1.30/plugins/function.counter.php
Normal file
@@ -0,0 +1,73 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Smarty plugin
|
||||||
|
*
|
||||||
|
* @package Smarty
|
||||||
|
* @subpackage PluginsFunction
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Smarty {counter} function plugin
|
||||||
|
* Type: function<br>
|
||||||
|
* Name: counter<br>
|
||||||
|
* Purpose: print out a counter value
|
||||||
|
*
|
||||||
|
* @author Monte Ohrt <monte at ohrt dot com>
|
||||||
|
* @link http://www.smarty.net/manual/en/language.function.counter.php {counter}
|
||||||
|
* (Smarty online manual)
|
||||||
|
*
|
||||||
|
* @param array $params parameters
|
||||||
|
* @param Smarty_Internal_Template $template template object
|
||||||
|
*
|
||||||
|
* @return string|null
|
||||||
|
*/
|
||||||
|
function smarty_function_counter($params, $template)
|
||||||
|
{
|
||||||
|
static $counters = array();
|
||||||
|
|
||||||
|
$name = (isset($params[ 'name' ])) ? $params[ 'name' ] : 'default';
|
||||||
|
if (!isset($counters[ $name ])) {
|
||||||
|
$counters[ $name ] = array('start' => 1, 'skip' => 1, 'direction' => 'up', 'count' => 1);
|
||||||
|
}
|
||||||
|
$counter =& $counters[ $name ];
|
||||||
|
|
||||||
|
if (isset($params[ 'start' ])) {
|
||||||
|
$counter[ 'start' ] = $counter[ 'count' ] = (int) $params[ 'start' ];
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!empty($params[ 'assign' ])) {
|
||||||
|
$counter[ 'assign' ] = $params[ 'assign' ];
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isset($counter[ 'assign' ])) {
|
||||||
|
$template->assign($counter[ 'assign' ], $counter[ 'count' ]);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isset($params[ 'print' ])) {
|
||||||
|
$print = (bool) $params[ 'print' ];
|
||||||
|
} else {
|
||||||
|
$print = empty($counter[ 'assign' ]);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($print) {
|
||||||
|
$retval = $counter[ 'count' ];
|
||||||
|
} else {
|
||||||
|
$retval = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isset($params[ 'skip' ])) {
|
||||||
|
$counter[ 'skip' ] = $params[ 'skip' ];
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isset($params[ 'direction' ])) {
|
||||||
|
$counter[ 'direction' ] = $params[ 'direction' ];
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($counter[ 'direction' ] == "down") {
|
||||||
|
$counter[ 'count' ] -= $counter[ 'skip' ];
|
||||||
|
} else {
|
||||||
|
$counter[ 'count' ] += $counter[ 'skip' ];
|
||||||
|
}
|
||||||
|
|
||||||
|
return $retval;
|
||||||
|
}
|
||||||
@@ -60,9 +60,7 @@ function smarty_function_cycle($params, $template)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (isset($cycle_vars[$name]['values'])
|
if (isset($cycle_vars[ $name ][ 'values' ]) && $cycle_vars[ $name ][ 'values' ] != $params[ 'values' ]) {
|
||||||
&& $cycle_vars[$name]['values'] != $params['values']
|
|
||||||
) {
|
|
||||||
$cycle_vars[ $name ][ 'index' ] = 0;
|
$cycle_vars[ $name ][ 'index' ] = 0;
|
||||||
}
|
}
|
||||||
$cycle_vars[ $name ][ 'values' ] = $params[ 'values' ];
|
$cycle_vars[ $name ][ 'values' ] = $params[ 'values' ];
|
||||||
@@ -91,7 +91,8 @@ function smarty_function_html_checkboxes($params, $template)
|
|||||||
if (method_exists($_sel, "__toString")) {
|
if (method_exists($_sel, "__toString")) {
|
||||||
$_sel = smarty_function_escape_special_chars((string) $_sel->__toString());
|
$_sel = smarty_function_escape_special_chars((string) $_sel->__toString());
|
||||||
} else {
|
} else {
|
||||||
trigger_error("html_checkboxes: selected attribute contains an object of class '" . get_class($_sel) . "' without __toString() method", E_USER_NOTICE);
|
trigger_error("html_checkboxes: selected attribute contains an object of class '" .
|
||||||
|
get_class($_sel) . "' without __toString() method", E_USER_NOTICE);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -103,7 +104,8 @@ function smarty_function_html_checkboxes($params, $template)
|
|||||||
if (method_exists($_val, "__toString")) {
|
if (method_exists($_val, "__toString")) {
|
||||||
$selected = smarty_function_escape_special_chars((string) $_val->__toString());
|
$selected = smarty_function_escape_special_chars((string) $_val->__toString());
|
||||||
} else {
|
} else {
|
||||||
trigger_error("html_checkboxes: selected attribute is an object of class '" . get_class($_val) . "' without __toString() method", E_USER_NOTICE);
|
trigger_error("html_checkboxes: selected attribute is an object of class '" . get_class($_val) .
|
||||||
|
"' without __toString() method", E_USER_NOTICE);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$selected = smarty_function_escape_special_chars((string) $_val);
|
$selected = smarty_function_escape_special_chars((string) $_val);
|
||||||
@@ -111,7 +113,8 @@ function smarty_function_html_checkboxes($params, $template)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 'checkboxes':
|
case 'checkboxes':
|
||||||
trigger_error('html_checkboxes: the use of the "checkboxes" attribute is deprecated, use "options" instead', E_USER_WARNING);
|
trigger_error('html_checkboxes: the use of the "checkboxes" attribute is deprecated, use "options" instead',
|
||||||
|
E_USER_WARNING);
|
||||||
$options = (array) $_val;
|
$options = (array) $_val;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -129,7 +132,8 @@ function smarty_function_html_checkboxes($params, $template)
|
|||||||
case 'readonly':
|
case 'readonly':
|
||||||
if (!empty($params[ 'strict' ])) {
|
if (!empty($params[ 'strict' ])) {
|
||||||
if (!is_scalar($_val)) {
|
if (!is_scalar($_val)) {
|
||||||
trigger_error("html_options: $_key attribute must be a scalar, only boolean true or string '$_key' will actually add the attribute", E_USER_NOTICE);
|
trigger_error("html_options: $_key attribute must be a scalar, only boolean true or string '$_key' will actually add the attribute",
|
||||||
|
E_USER_NOTICE);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($_val === true || $_val === $_key) {
|
if ($_val === true || $_val === $_key) {
|
||||||
@@ -159,13 +163,17 @@ function smarty_function_html_checkboxes($params, $template)
|
|||||||
if (isset($options)) {
|
if (isset($options)) {
|
||||||
foreach ($options as $_key => $_val) {
|
foreach ($options as $_key => $_val) {
|
||||||
$_pos = isset($pos[ $_key ]) ? $pos[ $_key ] : '';
|
$_pos = isset($pos[ $_key ]) ? $pos[ $_key ] : '';
|
||||||
$_html_result[] = smarty_function_html_checkboxes_output($name, $_key, $_val, $selected, $extra, $separator, $labels, $label_ids, $_pos, $escape);
|
$_html_result[] =
|
||||||
|
smarty_function_html_checkboxes_output($name, $_key, $_val, $selected, $extra, $separator, $labels,
|
||||||
|
$label_ids, $_pos, $escape);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
foreach ($values as $_i => $_key) {
|
foreach ($values as $_i => $_key) {
|
||||||
$_val = isset($output[ $_i ]) ? $output[ $_i ] : '';
|
$_val = isset($output[ $_i ]) ? $output[ $_i ] : '';
|
||||||
$_pos = isset($pos[ $_i ]) ? $pos[ $_i ] : '';
|
$_pos = isset($pos[ $_i ]) ? $pos[ $_i ] : '';
|
||||||
$_html_result[] = smarty_function_html_checkboxes_output($name, $_key, $_val, $selected, $extra, $separator, $labels, $label_ids, $_pos, $escape);
|
$_html_result[] =
|
||||||
|
smarty_function_html_checkboxes_output($name, $_key, $_val, $selected, $extra, $separator, $labels,
|
||||||
|
$label_ids, $_pos, $escape);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -176,7 +184,8 @@ function smarty_function_html_checkboxes($params, $template)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function smarty_function_html_checkboxes_output($name, $value, $output, $selected, $extra, $separator, $labels, $label_ids, $pos, $escape = true)
|
function smarty_function_html_checkboxes_output($name, $value, $output, $selected, $extra, $separator, $labels,
|
||||||
|
$label_ids, $pos, $escape = true)
|
||||||
{
|
{
|
||||||
$_output = '';
|
$_output = '';
|
||||||
|
|
||||||
@@ -184,7 +193,8 @@ function smarty_function_html_checkboxes_output($name, $value, $output, $selecte
|
|||||||
if (method_exists($value, "__toString")) {
|
if (method_exists($value, "__toString")) {
|
||||||
$value = (string) $value->__toString();
|
$value = (string) $value->__toString();
|
||||||
} else {
|
} else {
|
||||||
trigger_error("html_options: value is an object of class '" . get_class($value) . "' without __toString() method", E_USER_NOTICE);
|
trigger_error("html_options: value is an object of class '" . get_class($value) .
|
||||||
|
"' without __toString() method", E_USER_NOTICE);
|
||||||
|
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
@@ -196,7 +206,8 @@ function smarty_function_html_checkboxes_output($name, $value, $output, $selecte
|
|||||||
if (method_exists($output, "__toString")) {
|
if (method_exists($output, "__toString")) {
|
||||||
$output = (string) $output->__toString();
|
$output = (string) $output->__toString();
|
||||||
} else {
|
} else {
|
||||||
trigger_error("html_options: output is an object of class '" . get_class($output) . "' without __toString() method", E_USER_NOTICE);
|
trigger_error("html_options: output is an object of class '" . get_class($output) .
|
||||||
|
"' without __toString() method", E_USER_NOTICE);
|
||||||
|
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
@@ -206,7 +217,8 @@ function smarty_function_html_checkboxes_output($name, $value, $output, $selecte
|
|||||||
|
|
||||||
if ($labels) {
|
if ($labels) {
|
||||||
if ($label_ids) {
|
if ($label_ids) {
|
||||||
$_id = smarty_function_escape_special_chars(preg_replace('![^\w\-\.]!' . Smarty::$_UTF8_MODIFIER, '_', $name . '_' . $value));
|
$_id = smarty_function_escape_special_chars(preg_replace('![^\w\-\.]!' . Smarty::$_UTF8_MODIFIER, '_',
|
||||||
|
$name . '_' . $value));
|
||||||
$_output .= '<label for="' . $_id . '">';
|
$_output .= '<label for="' . $_id . '">';
|
||||||
} else {
|
} else {
|
||||||
$_output .= '<label>';
|
$_output .= '<label>';
|
||||||
@@ -159,5 +159,6 @@ function smarty_function_html_image($params, $template)
|
|||||||
$height = round($height * $_resize);
|
$height = round($height * $_resize);
|
||||||
}
|
}
|
||||||
|
|
||||||
return $prefix . '<img src="' . $path_prefix . $file . '" alt="' . $alt . '" width="' . $width . '" height="' . $height . '"' . $extra . ' />' . $suffix;
|
return $prefix . '<img src="' . $path_prefix . $file . '" alt="' . $alt . '" width="' . $width . '" height="' .
|
||||||
|
$height . '"' . $extra . ' />' . $suffix;
|
||||||
}
|
}
|
||||||
@@ -73,7 +73,8 @@ function smarty_function_html_options($params)
|
|||||||
if (method_exists($_sel, "__toString")) {
|
if (method_exists($_sel, "__toString")) {
|
||||||
$_sel = smarty_function_escape_special_chars((string) $_sel->__toString());
|
$_sel = smarty_function_escape_special_chars((string) $_sel->__toString());
|
||||||
} else {
|
} else {
|
||||||
trigger_error("html_options: selected attribute contains an object of class '" . get_class($_sel) . "' without __toString() method", E_USER_NOTICE);
|
trigger_error("html_options: selected attribute contains an object of class '" .
|
||||||
|
get_class($_sel) . "' without __toString() method", E_USER_NOTICE);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -85,7 +86,8 @@ function smarty_function_html_options($params)
|
|||||||
if (method_exists($_val, "__toString")) {
|
if (method_exists($_val, "__toString")) {
|
||||||
$selected = smarty_function_escape_special_chars((string) $_val->__toString());
|
$selected = smarty_function_escape_special_chars((string) $_val->__toString());
|
||||||
} else {
|
} else {
|
||||||
trigger_error("html_options: selected attribute is an object of class '" . get_class($_val) . "' without __toString() method", E_USER_NOTICE);
|
trigger_error("html_options: selected attribute is an object of class '" . get_class($_val) .
|
||||||
|
"' without __toString() method", E_USER_NOTICE);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$selected = smarty_function_escape_special_chars((string) $_val);
|
$selected = smarty_function_escape_special_chars((string) $_val);
|
||||||
@@ -104,7 +106,8 @@ function smarty_function_html_options($params)
|
|||||||
case 'readonly':
|
case 'readonly':
|
||||||
if (!empty($params[ 'strict' ])) {
|
if (!empty($params[ 'strict' ])) {
|
||||||
if (!is_scalar($_val)) {
|
if (!is_scalar($_val)) {
|
||||||
trigger_error("html_options: $_key attribute must be a scalar, only boolean true or string '$_key' will actually add the attribute", E_USER_NOTICE);
|
trigger_error("html_options: $_key attribute must be a scalar, only boolean true or string '$_key' will actually add the attribute",
|
||||||
|
E_USER_NOTICE);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($_val === true || $_val === $_key) {
|
if ($_val === true || $_val === $_key) {
|
||||||
@@ -148,7 +151,9 @@ function smarty_function_html_options($params)
|
|||||||
if (!empty($name)) {
|
if (!empty($name)) {
|
||||||
$_html_class = !empty($class) ? ' class="' . $class . '"' : '';
|
$_html_class = !empty($class) ? ' class="' . $class . '"' : '';
|
||||||
$_html_id = !empty($id) ? ' id="' . $id . '"' : '';
|
$_html_id = !empty($id) ? ' id="' . $id . '"' : '';
|
||||||
$_html_result = '<select name="' . $name . '"' . $_html_class . $_html_id . $extra . '>' . "\n" . $_html_result . '</select>' . "\n";
|
$_html_result =
|
||||||
|
'<select name="' . $name . '"' . $_html_class . $_html_id . $extra . '>' . "\n" . $_html_result .
|
||||||
|
'</select>' . "\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
return $_html_result;
|
return $_html_result;
|
||||||
@@ -172,7 +177,8 @@ function smarty_function_html_options_optoutput($key, $value, $selected, $id, $c
|
|||||||
if (method_exists($value, "__toString")) {
|
if (method_exists($value, "__toString")) {
|
||||||
$value = smarty_function_escape_special_chars((string) $value->__toString());
|
$value = smarty_function_escape_special_chars((string) $value->__toString());
|
||||||
} else {
|
} else {
|
||||||
trigger_error("html_options: value is an object of class '" . get_class($value) . "' without __toString() method", E_USER_NOTICE);
|
trigger_error("html_options: value is an object of class '" . get_class($value) .
|
||||||
|
"' without __toString() method", E_USER_NOTICE);
|
||||||
|
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
@@ -183,7 +189,9 @@ function smarty_function_html_options_optoutput($key, $value, $selected, $id, $c
|
|||||||
$idx ++;
|
$idx ++;
|
||||||
} else {
|
} else {
|
||||||
$_idx = 0;
|
$_idx = 0;
|
||||||
$_html_result = smarty_function_html_options_optgroup($key, $value, $selected, !empty($id) ? ($id . '-' . $idx) : null, $class, $label, $_idx);
|
$_html_result =
|
||||||
|
smarty_function_html_options_optgroup($key, $value, $selected, !empty($id) ? ($id . '-' . $idx) : null,
|
||||||
|
$class, $label, $_idx);
|
||||||
$idx ++;
|
$idx ++;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -73,7 +73,8 @@ function smarty_function_html_radios($params, $template)
|
|||||||
if (method_exists($_val, "__toString")) {
|
if (method_exists($_val, "__toString")) {
|
||||||
$selected = smarty_function_escape_special_chars((string) $_val->__toString());
|
$selected = smarty_function_escape_special_chars((string) $_val->__toString());
|
||||||
} else {
|
} else {
|
||||||
trigger_error("html_radios: selected attribute is an object of class '" . get_class($_val) . "' without __toString() method", E_USER_NOTICE);
|
trigger_error("html_radios: selected attribute is an object of class '" . get_class($_val) .
|
||||||
|
"' without __toString() method", E_USER_NOTICE);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$selected = (string) $_val;
|
$selected = (string) $_val;
|
||||||
@@ -96,7 +97,8 @@ function smarty_function_html_radios($params, $template)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 'radios':
|
case 'radios':
|
||||||
trigger_error('html_radios: the use of the "radios" attribute is deprecated, use "options" instead', E_USER_WARNING);
|
trigger_error('html_radios: the use of the "radios" attribute is deprecated, use "options" instead',
|
||||||
|
E_USER_WARNING);
|
||||||
$options = (array) $_val;
|
$options = (array) $_val;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -110,7 +112,8 @@ function smarty_function_html_radios($params, $template)
|
|||||||
case 'readonly':
|
case 'readonly':
|
||||||
if (!empty($params[ 'strict' ])) {
|
if (!empty($params[ 'strict' ])) {
|
||||||
if (!is_scalar($_val)) {
|
if (!is_scalar($_val)) {
|
||||||
trigger_error("html_options: $_key attribute must be a scalar, only boolean true or string '$_key' will actually add the attribute", E_USER_NOTICE);
|
trigger_error("html_options: $_key attribute must be a scalar, only boolean true or string '$_key' will actually add the attribute",
|
||||||
|
E_USER_NOTICE);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($_val === true || $_val === $_key) {
|
if ($_val === true || $_val === $_key) {
|
||||||
@@ -141,12 +144,16 @@ function smarty_function_html_radios($params, $template)
|
|||||||
|
|
||||||
if (isset($options)) {
|
if (isset($options)) {
|
||||||
foreach ($options as $_key => $_val) {
|
foreach ($options as $_key => $_val) {
|
||||||
$_html_result[] = smarty_function_html_radios_output($name, $_key, $_val, $selected, $extra, $separator, $labels, $label_ids, $escape);
|
$_html_result[] =
|
||||||
|
smarty_function_html_radios_output($name, $_key, $_val, $selected, $extra, $separator, $labels,
|
||||||
|
$label_ids, $escape);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
foreach ($values as $_i => $_key) {
|
foreach ($values as $_i => $_key) {
|
||||||
$_val = isset($output[ $_i ]) ? $output[ $_i ] : '';
|
$_val = isset($output[ $_i ]) ? $output[ $_i ] : '';
|
||||||
$_html_result[] = smarty_function_html_radios_output($name, $_key, $_val, $selected, $extra, $separator, $labels, $label_ids, $escape);
|
$_html_result[] =
|
||||||
|
smarty_function_html_radios_output($name, $_key, $_val, $selected, $extra, $separator, $labels,
|
||||||
|
$label_ids, $escape);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -157,7 +164,8 @@ function smarty_function_html_radios($params, $template)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function smarty_function_html_radios_output($name, $value, $output, $selected, $extra, $separator, $labels, $label_ids, $escape)
|
function smarty_function_html_radios_output($name, $value, $output, $selected, $extra, $separator, $labels, $label_ids,
|
||||||
|
$escape)
|
||||||
{
|
{
|
||||||
$_output = '';
|
$_output = '';
|
||||||
|
|
||||||
@@ -165,7 +173,8 @@ function smarty_function_html_radios_output($name, $value, $output, $selected, $
|
|||||||
if (method_exists($value, "__toString")) {
|
if (method_exists($value, "__toString")) {
|
||||||
$value = (string) $value->__toString();
|
$value = (string) $value->__toString();
|
||||||
} else {
|
} else {
|
||||||
trigger_error("html_options: value is an object of class '" . get_class($value) . "' without __toString() method", E_USER_NOTICE);
|
trigger_error("html_options: value is an object of class '" . get_class($value) .
|
||||||
|
"' without __toString() method", E_USER_NOTICE);
|
||||||
|
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
@@ -177,7 +186,8 @@ function smarty_function_html_radios_output($name, $value, $output, $selected, $
|
|||||||
if (method_exists($output, "__toString")) {
|
if (method_exists($output, "__toString")) {
|
||||||
$output = (string) $output->__toString();
|
$output = (string) $output->__toString();
|
||||||
} else {
|
} else {
|
||||||
trigger_error("html_options: output is an object of class '" . get_class($output) . "' without __toString() method", E_USER_NOTICE);
|
trigger_error("html_options: output is an object of class '" . get_class($output) .
|
||||||
|
"' without __toString() method", E_USER_NOTICE);
|
||||||
|
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
@@ -187,7 +197,8 @@ function smarty_function_html_radios_output($name, $value, $output, $selected, $
|
|||||||
|
|
||||||
if ($labels) {
|
if ($labels) {
|
||||||
if ($label_ids) {
|
if ($label_ids) {
|
||||||
$_id = smarty_function_escape_special_chars(preg_replace('![^\w\-\.]!' . Smarty::$_UTF8_MODIFIER, '_', $name . '_' . $value));
|
$_id = smarty_function_escape_special_chars(preg_replace('![^\w\-\.]!' . Smarty::$_UTF8_MODIFIER, '_',
|
||||||
|
$name . '_' . $value));
|
||||||
$_output .= '<label for="' . $_id . '">';
|
$_output .= '<label for="' . $_id . '">';
|
||||||
} else {
|
} else {
|
||||||
$_output .= '<label>';
|
$_output .= '<label>';
|
||||||
@@ -182,17 +182,16 @@ function smarty_function_html_select_date($params)
|
|||||||
// $_REQUEST[$field_array] given
|
// $_REQUEST[$field_array] given
|
||||||
foreach (array('Y' => 'Year', 'm' => 'Month', 'd' => 'Day') as $_elementKey => $_elementName) {
|
foreach (array('Y' => 'Year', 'm' => 'Month', 'd' => 'Day') as $_elementKey => $_elementName) {
|
||||||
$_variableName = '_' . strtolower($_elementName);
|
$_variableName = '_' . strtolower($_elementName);
|
||||||
$$_variableName = isset($params['time'][$prefix . $_elementName])
|
$$_variableName =
|
||||||
? $params['time'][$prefix . $_elementName]
|
isset($params[ 'time' ][ $prefix . $_elementName ]) ? $params[ 'time' ][ $prefix . $_elementName ] :
|
||||||
: date($_elementKey);
|
date($_elementKey);
|
||||||
}
|
}
|
||||||
} elseif (isset($params[ 'time' ][ $field_array ][ $prefix . 'Year' ])) {
|
} elseif (isset($params[ 'time' ][ $field_array ][ $prefix . 'Year' ])) {
|
||||||
// $_REQUEST given
|
// $_REQUEST given
|
||||||
foreach (array('Y' => 'Year', 'm' => 'Month', 'd' => 'Day') as $_elementKey => $_elementName) {
|
foreach (array('Y' => 'Year', 'm' => 'Month', 'd' => 'Day') as $_elementKey => $_elementName) {
|
||||||
$_variableName = '_' . strtolower($_elementName);
|
$_variableName = '_' . strtolower($_elementName);
|
||||||
$$_variableName = isset($params['time'][$field_array][$prefix . $_elementName])
|
$$_variableName = isset($params[ 'time' ][ $field_array ][ $prefix . $_elementName ]) ?
|
||||||
? $params['time'][$field_array][$prefix . $_elementName]
|
$params[ 'time' ][ $field_array ][ $prefix . $_elementName ] : date($_elementKey);
|
||||||
: date($_elementKey);
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// no date found, use NOW
|
// no date found, use NOW
|
||||||
@@ -243,13 +242,16 @@ function smarty_function_html_select_date($params)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ($year_as_text) {
|
if ($year_as_text) {
|
||||||
$_html_years = '<input type="text" name="' . $_name . '" value="' . $_year . '" size="4" maxlength="4"' . $_extra . $extra_attrs . ' />';
|
$_html_years =
|
||||||
|
'<input type="text" name="' . $_name . '" value="' . $_year . '" size="4" maxlength="4"' . $_extra .
|
||||||
|
$extra_attrs . ' />';
|
||||||
} else {
|
} else {
|
||||||
$_html_years = '<select name="' . $_name . '"';
|
$_html_years = '<select name="' . $_name . '"';
|
||||||
if ($year_id !== null || $all_id !== null) {
|
if ($year_id !== null || $all_id !== null) {
|
||||||
$_html_years .= ' id="' . smarty_function_escape_special_chars(
|
$_html_years .= ' id="' . smarty_function_escape_special_chars($year_id !== null ?
|
||||||
$year_id !== null ? ($year_id ? $year_id : $_name) : ($all_id ? ($all_id . $_name) : $_name)
|
($year_id ? $year_id : $_name) :
|
||||||
) . '"';
|
($all_id ? ($all_id . $_name) :
|
||||||
|
$_name)) . '"';
|
||||||
}
|
}
|
||||||
if ($year_size) {
|
if ($year_size) {
|
||||||
$_html_years .= ' size="' . $year_size . '"';
|
$_html_years .= ' size="' . $year_size . '"';
|
||||||
@@ -257,14 +259,14 @@ function smarty_function_html_select_date($params)
|
|||||||
$_html_years .= $_extra . $extra_attrs . '>' . $option_separator;
|
$_html_years .= $_extra . $extra_attrs . '>' . $option_separator;
|
||||||
|
|
||||||
if (isset($year_empty) || isset($all_empty)) {
|
if (isset($year_empty) || isset($all_empty)) {
|
||||||
$_html_years .= '<option value="">' . (isset($year_empty) ? $year_empty : $all_empty) . '</option>' . $option_separator;
|
$_html_years .= '<option value="">' . (isset($year_empty) ? $year_empty : $all_empty) . '</option>' .
|
||||||
|
$option_separator;
|
||||||
}
|
}
|
||||||
|
|
||||||
$op = $start_year > $end_year ? - 1 : 1;
|
$op = $start_year > $end_year ? - 1 : 1;
|
||||||
for ($i = $start_year; $op > 0 ? $i <= $end_year : $i >= $end_year; $i += $op) {
|
for ($i = $start_year; $op > 0 ? $i <= $end_year : $i >= $end_year; $i += $op) {
|
||||||
$_html_years .= '<option value="' . $i . '"'
|
$_html_years .= '<option value="' . $i . '"' . ($_year == $i ? ' selected="selected"' : '') . '>' . $i .
|
||||||
. ($_year == $i ? ' selected="selected"' : '')
|
'</option>' . $option_separator;
|
||||||
. '>' . $i . '</option>' . $option_separator;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$_html_years .= '</select>';
|
$_html_years .= '</select>';
|
||||||
@@ -284,9 +286,10 @@ function smarty_function_html_select_date($params)
|
|||||||
|
|
||||||
$_html_months = '<select name="' . $_name . '"';
|
$_html_months = '<select name="' . $_name . '"';
|
||||||
if ($month_id !== null || $all_id !== null) {
|
if ($month_id !== null || $all_id !== null) {
|
||||||
$_html_months .= ' id="' . smarty_function_escape_special_chars(
|
$_html_months .= ' id="' . smarty_function_escape_special_chars($month_id !== null ?
|
||||||
$month_id !== null ? ($month_id ? $month_id : $_name) : ($all_id ? ($all_id . $_name) : $_name)
|
($month_id ? $month_id : $_name) :
|
||||||
) . '"';
|
($all_id ? ($all_id . $_name) :
|
||||||
|
$_name)) . '"';
|
||||||
}
|
}
|
||||||
if ($month_size) {
|
if ($month_size) {
|
||||||
$_html_months .= ' size="' . $month_size . '"';
|
$_html_months .= ' size="' . $month_size . '"';
|
||||||
@@ -294,16 +297,17 @@ function smarty_function_html_select_date($params)
|
|||||||
$_html_months .= $_extra . $extra_attrs . '>' . $option_separator;
|
$_html_months .= $_extra . $extra_attrs . '>' . $option_separator;
|
||||||
|
|
||||||
if (isset($month_empty) || isset($all_empty)) {
|
if (isset($month_empty) || isset($all_empty)) {
|
||||||
$_html_months .= '<option value="">' . (isset($month_empty) ? $month_empty : $all_empty) . '</option>' . $option_separator;
|
$_html_months .= '<option value="">' . (isset($month_empty) ? $month_empty : $all_empty) . '</option>' .
|
||||||
|
$option_separator;
|
||||||
}
|
}
|
||||||
|
|
||||||
for ($i = 1; $i <= 12; $i ++) {
|
for ($i = 1; $i <= 12; $i ++) {
|
||||||
$_val = sprintf('%02d', $i);
|
$_val = sprintf('%02d', $i);
|
||||||
$_text = isset($month_names) ? smarty_function_escape_special_chars($month_names[$i]) : ($month_format == "%m" ? $_val : strftime($month_format, $_month_timestamps[$i]));
|
$_text = isset($month_names) ? smarty_function_escape_special_chars($month_names[ $i ]) :
|
||||||
|
($month_format == "%m" ? $_val : strftime($month_format, $_month_timestamps[ $i ]));
|
||||||
$_value = $month_value_format == "%m" ? $_val : strftime($month_value_format, $_month_timestamps[ $i ]);
|
$_value = $month_value_format == "%m" ? $_val : strftime($month_value_format, $_month_timestamps[ $i ]);
|
||||||
$_html_months .= '<option value="' . $_value . '"'
|
$_html_months .= '<option value="' . $_value . '"' . ($_val == $_month ? ' selected="selected"' : '') .
|
||||||
. ($_val == $_month ? ' selected="selected"' : '')
|
'>' . $_text . '</option>' . $option_separator;
|
||||||
. '>' . $_text . '</option>' . $option_separator;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$_html_months .= '</select>';
|
$_html_months .= '</select>';
|
||||||
@@ -322,9 +326,9 @@ function smarty_function_html_select_date($params)
|
|||||||
|
|
||||||
$_html_days = '<select name="' . $_name . '"';
|
$_html_days = '<select name="' . $_name . '"';
|
||||||
if ($day_id !== null || $all_id !== null) {
|
if ($day_id !== null || $all_id !== null) {
|
||||||
$_html_days .= ' id="' . smarty_function_escape_special_chars(
|
$_html_days .= ' id="' .
|
||||||
$day_id !== null ? ($day_id ? $day_id : $_name) : ($all_id ? ($all_id . $_name) : $_name)
|
smarty_function_escape_special_chars($day_id !== null ? ($day_id ? $day_id : $_name) :
|
||||||
) . '"';
|
($all_id ? ($all_id . $_name) : $_name)) . '"';
|
||||||
}
|
}
|
||||||
if ($day_size) {
|
if ($day_size) {
|
||||||
$_html_days .= ' size="' . $day_size . '"';
|
$_html_days .= ' size="' . $day_size . '"';
|
||||||
@@ -332,16 +336,16 @@ function smarty_function_html_select_date($params)
|
|||||||
$_html_days .= $_extra . $extra_attrs . '>' . $option_separator;
|
$_html_days .= $_extra . $extra_attrs . '>' . $option_separator;
|
||||||
|
|
||||||
if (isset($day_empty) || isset($all_empty)) {
|
if (isset($day_empty) || isset($all_empty)) {
|
||||||
$_html_days .= '<option value="">' . (isset($day_empty) ? $day_empty : $all_empty) . '</option>' . $option_separator;
|
$_html_days .= '<option value="">' . (isset($day_empty) ? $day_empty : $all_empty) . '</option>' .
|
||||||
|
$option_separator;
|
||||||
}
|
}
|
||||||
|
|
||||||
for ($i = 1; $i <= 31; $i ++) {
|
for ($i = 1; $i <= 31; $i ++) {
|
||||||
$_val = sprintf('%02d', $i);
|
$_val = sprintf('%02d', $i);
|
||||||
$_text = $day_format == '%02d' ? $_val : sprintf($day_format, $i);
|
$_text = $day_format == '%02d' ? $_val : sprintf($day_format, $i);
|
||||||
$_value = $day_value_format == '%02d' ? $_val : sprintf($day_value_format, $i);
|
$_value = $day_value_format == '%02d' ? $_val : sprintf($day_value_format, $i);
|
||||||
$_html_days .= '<option value="' . $_value . '"'
|
$_html_days .= '<option value="' . $_value . '"' . ($_val == $_day ? ' selected="selected"' : '') . '>' .
|
||||||
. ($_val == $_day ? ' selected="selected"' : '')
|
$_text . '</option>' . $option_separator;
|
||||||
. '>' . $_text . '</option>' . $option_separator;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$_html_days .= '</select>';
|
$_html_days .= '</select>';
|
||||||
@@ -153,26 +153,24 @@ function smarty_function_html_select_time($params)
|
|||||||
// $_REQUEST[$field_array] given
|
// $_REQUEST[$field_array] given
|
||||||
foreach (array('H' => 'Hour', 'i' => 'Minute', 's' => 'Second') as $_elementKey => $_elementName) {
|
foreach (array('H' => 'Hour', 'i' => 'Minute', 's' => 'Second') as $_elementKey => $_elementName) {
|
||||||
$_variableName = '_' . strtolower($_elementName);
|
$_variableName = '_' . strtolower($_elementName);
|
||||||
$$_variableName = isset($params['time'][$prefix . $_elementName])
|
$$_variableName =
|
||||||
? $params['time'][$prefix . $_elementName]
|
isset($params[ 'time' ][ $prefix . $_elementName ]) ? $params[ 'time' ][ $prefix . $_elementName ] :
|
||||||
: date($_elementKey);
|
date($_elementKey);
|
||||||
}
|
}
|
||||||
$_meridian = isset($params['time'][$prefix . 'Meridian'])
|
$_meridian =
|
||||||
? (' ' . $params['time'][$prefix . 'Meridian'])
|
isset($params[ 'time' ][ $prefix . 'Meridian' ]) ? (' ' . $params[ 'time' ][ $prefix . 'Meridian' ]) :
|
||||||
: '';
|
'';
|
||||||
$time = strtotime($_hour . ':' . $_minute . ':' . $_second . $_meridian);
|
$time = strtotime($_hour . ':' . $_minute . ':' . $_second . $_meridian);
|
||||||
list($_hour, $_minute, $_second) = $time = explode('-', date('H-i-s', $time));
|
list($_hour, $_minute, $_second) = $time = explode('-', date('H-i-s', $time));
|
||||||
} elseif (isset($params[ 'time' ][ $field_array ][ $prefix . 'Hour' ])) {
|
} elseif (isset($params[ 'time' ][ $field_array ][ $prefix . 'Hour' ])) {
|
||||||
// $_REQUEST given
|
// $_REQUEST given
|
||||||
foreach (array('H' => 'Hour', 'i' => 'Minute', 's' => 'Second') as $_elementKey => $_elementName) {
|
foreach (array('H' => 'Hour', 'i' => 'Minute', 's' => 'Second') as $_elementKey => $_elementName) {
|
||||||
$_variableName = '_' . strtolower($_elementName);
|
$_variableName = '_' . strtolower($_elementName);
|
||||||
$$_variableName = isset($params['time'][$field_array][$prefix . $_elementName])
|
$$_variableName = isset($params[ 'time' ][ $field_array ][ $prefix . $_elementName ]) ?
|
||||||
? $params['time'][$field_array][$prefix . $_elementName]
|
$params[ 'time' ][ $field_array ][ $prefix . $_elementName ] : date($_elementKey);
|
||||||
: date($_elementKey);
|
|
||||||
}
|
}
|
||||||
$_meridian = isset($params['time'][$field_array][$prefix . 'Meridian'])
|
$_meridian = isset($params[ 'time' ][ $field_array ][ $prefix . 'Meridian' ]) ?
|
||||||
? (' ' . $params['time'][$field_array][$prefix . 'Meridian'])
|
(' ' . $params[ 'time' ][ $field_array ][ $prefix . 'Meridian' ]) : '';
|
||||||
: '';
|
|
||||||
$time = strtotime($_hour . ':' . $_minute . ':' . $_second . $_meridian);
|
$time = strtotime($_hour . ':' . $_minute . ':' . $_second . $_meridian);
|
||||||
list($_hour, $_minute, $_second) = $time = explode('-', date('H-i-s', $time));
|
list($_hour, $_minute, $_second) = $time = explode('-', date('H-i-s', $time));
|
||||||
} else {
|
} else {
|
||||||
@@ -203,9 +201,9 @@ function smarty_function_html_select_time($params)
|
|||||||
|
|
||||||
$_html_hours = '<select name="' . $_name . '"';
|
$_html_hours = '<select name="' . $_name . '"';
|
||||||
if ($hour_id !== null || $all_id !== null) {
|
if ($hour_id !== null || $all_id !== null) {
|
||||||
$_html_hours .= ' id="' . smarty_function_escape_special_chars(
|
$_html_hours .= ' id="' .
|
||||||
$hour_id !== null ? ($hour_id ? $hour_id : $_name) : ($all_id ? ($all_id . $_name) : $_name)
|
smarty_function_escape_special_chars($hour_id !== null ? ($hour_id ? $hour_id : $_name) :
|
||||||
) . '"';
|
($all_id ? ($all_id . $_name) : $_name)) . '"';
|
||||||
}
|
}
|
||||||
if ($hour_size) {
|
if ($hour_size) {
|
||||||
$_html_hours .= ' size="' . $hour_size . '"';
|
$_html_hours .= ' size="' . $hour_size . '"';
|
||||||
@@ -213,7 +211,8 @@ function smarty_function_html_select_time($params)
|
|||||||
$_html_hours .= $_extra . $extra_attrs . '>' . $option_separator;
|
$_html_hours .= $_extra . $extra_attrs . '>' . $option_separator;
|
||||||
|
|
||||||
if (isset($hour_empty) || isset($all_empty)) {
|
if (isset($hour_empty) || isset($all_empty)) {
|
||||||
$_html_hours .= '<option value="">' . (isset($hour_empty) ? $hour_empty : $all_empty) . '</option>' . $option_separator;
|
$_html_hours .= '<option value="">' . (isset($hour_empty) ? $hour_empty : $all_empty) . '</option>' .
|
||||||
|
$option_separator;
|
||||||
}
|
}
|
||||||
|
|
||||||
$start = $use_24_hours ? 0 : 1;
|
$start = $use_24_hours ? 0 : 1;
|
||||||
@@ -224,15 +223,12 @@ function smarty_function_html_select_time($params)
|
|||||||
$_value = $hour_value_format == '%02d' ? $_val : sprintf($hour_value_format, $i);
|
$_value = $hour_value_format == '%02d' ? $_val : sprintf($hour_value_format, $i);
|
||||||
|
|
||||||
if (!$use_24_hours) {
|
if (!$use_24_hours) {
|
||||||
$_hour12 = $_hour == 0
|
$_hour12 = $_hour == 0 ? 12 : ($_hour <= 12 ? $_hour : $_hour - 12);
|
||||||
? 12
|
|
||||||
: ($_hour <= 12 ? $_hour : $_hour - 12);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$selected = $_hour !== null ? ($use_24_hours ? $_hour == $_val : $_hour12 == $_val) : null;
|
$selected = $_hour !== null ? ($use_24_hours ? $_hour == $_val : $_hour12 == $_val) : null;
|
||||||
$_html_hours .= '<option value="' . $_value . '"'
|
$_html_hours .= '<option value="' . $_value . '"' . ($selected ? ' selected="selected"' : '') . '>' .
|
||||||
. ($selected ? ' selected="selected"' : '')
|
$_text . '</option>' . $option_separator;
|
||||||
. '>' . $_text . '</option>' . $option_separator;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$_html_hours .= '</select>';
|
$_html_hours .= '</select>';
|
||||||
@@ -252,9 +248,10 @@ function smarty_function_html_select_time($params)
|
|||||||
|
|
||||||
$_html_minutes = '<select name="' . $_name . '"';
|
$_html_minutes = '<select name="' . $_name . '"';
|
||||||
if ($minute_id !== null || $all_id !== null) {
|
if ($minute_id !== null || $all_id !== null) {
|
||||||
$_html_minutes .= ' id="' . smarty_function_escape_special_chars(
|
$_html_minutes .= ' id="' . smarty_function_escape_special_chars($minute_id !== null ?
|
||||||
$minute_id !== null ? ($minute_id ? $minute_id : $_name) : ($all_id ? ($all_id . $_name) : $_name)
|
($minute_id ? $minute_id : $_name) :
|
||||||
) . '"';
|
($all_id ? ($all_id . $_name) :
|
||||||
|
$_name)) . '"';
|
||||||
}
|
}
|
||||||
if ($minute_size) {
|
if ($minute_size) {
|
||||||
$_html_minutes .= ' size="' . $minute_size . '"';
|
$_html_minutes .= ' size="' . $minute_size . '"';
|
||||||
@@ -262,7 +259,8 @@ function smarty_function_html_select_time($params)
|
|||||||
$_html_minutes .= $_extra . $extra_attrs . '>' . $option_separator;
|
$_html_minutes .= $_extra . $extra_attrs . '>' . $option_separator;
|
||||||
|
|
||||||
if (isset($minute_empty) || isset($all_empty)) {
|
if (isset($minute_empty) || isset($all_empty)) {
|
||||||
$_html_minutes .= '<option value="">' . (isset($minute_empty) ? $minute_empty : $all_empty) . '</option>' . $option_separator;
|
$_html_minutes .= '<option value="">' . (isset($minute_empty) ? $minute_empty : $all_empty) . '</option>' .
|
||||||
|
$option_separator;
|
||||||
}
|
}
|
||||||
|
|
||||||
$selected = $_minute !== null ? ($_minute - $_minute % $minute_interval) : null;
|
$selected = $_minute !== null ? ($_minute - $_minute % $minute_interval) : null;
|
||||||
@@ -270,9 +268,8 @@ function smarty_function_html_select_time($params)
|
|||||||
$_val = sprintf('%02d', $i);
|
$_val = sprintf('%02d', $i);
|
||||||
$_text = $minute_format == '%02d' ? $_val : sprintf($minute_format, $i);
|
$_text = $minute_format == '%02d' ? $_val : sprintf($minute_format, $i);
|
||||||
$_value = $minute_value_format == '%02d' ? $_val : sprintf($minute_value_format, $i);
|
$_value = $minute_value_format == '%02d' ? $_val : sprintf($minute_value_format, $i);
|
||||||
$_html_minutes .= '<option value="' . $_value . '"'
|
$_html_minutes .= '<option value="' . $_value . '"' . ($selected === $i ? ' selected="selected"' : '') .
|
||||||
. ($selected === $i ? ' selected="selected"' : '')
|
'>' . $_text . '</option>' . $option_separator;
|
||||||
. '>' . $_text . '</option>' . $option_separator;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$_html_minutes .= '</select>';
|
$_html_minutes .= '</select>';
|
||||||
@@ -292,9 +289,10 @@ function smarty_function_html_select_time($params)
|
|||||||
|
|
||||||
$_html_seconds = '<select name="' . $_name . '"';
|
$_html_seconds = '<select name="' . $_name . '"';
|
||||||
if ($second_id !== null || $all_id !== null) {
|
if ($second_id !== null || $all_id !== null) {
|
||||||
$_html_seconds .= ' id="' . smarty_function_escape_special_chars(
|
$_html_seconds .= ' id="' . smarty_function_escape_special_chars($second_id !== null ?
|
||||||
$second_id !== null ? ($second_id ? $second_id : $_name) : ($all_id ? ($all_id . $_name) : $_name)
|
($second_id ? $second_id : $_name) :
|
||||||
) . '"';
|
($all_id ? ($all_id . $_name) :
|
||||||
|
$_name)) . '"';
|
||||||
}
|
}
|
||||||
if ($second_size) {
|
if ($second_size) {
|
||||||
$_html_seconds .= ' size="' . $second_size . '"';
|
$_html_seconds .= ' size="' . $second_size . '"';
|
||||||
@@ -302,7 +300,8 @@ function smarty_function_html_select_time($params)
|
|||||||
$_html_seconds .= $_extra . $extra_attrs . '>' . $option_separator;
|
$_html_seconds .= $_extra . $extra_attrs . '>' . $option_separator;
|
||||||
|
|
||||||
if (isset($second_empty) || isset($all_empty)) {
|
if (isset($second_empty) || isset($all_empty)) {
|
||||||
$_html_seconds .= '<option value="">' . (isset($second_empty) ? $second_empty : $all_empty) . '</option>' . $option_separator;
|
$_html_seconds .= '<option value="">' . (isset($second_empty) ? $second_empty : $all_empty) . '</option>' .
|
||||||
|
$option_separator;
|
||||||
}
|
}
|
||||||
|
|
||||||
$selected = $_second !== null ? ($_second - $_second % $second_interval) : null;
|
$selected = $_second !== null ? ($_second - $_second % $second_interval) : null;
|
||||||
@@ -310,9 +309,8 @@ function smarty_function_html_select_time($params)
|
|||||||
$_val = sprintf('%02d', $i);
|
$_val = sprintf('%02d', $i);
|
||||||
$_text = $second_format == '%02d' ? $_val : sprintf($second_format, $i);
|
$_text = $second_format == '%02d' ? $_val : sprintf($second_format, $i);
|
||||||
$_value = $second_value_format == '%02d' ? $_val : sprintf($second_value_format, $i);
|
$_value = $second_value_format == '%02d' ? $_val : sprintf($second_value_format, $i);
|
||||||
$_html_seconds .= '<option value="' . $_value . '"'
|
$_html_seconds .= '<option value="' . $_value . '"' . ($selected === $i ? ' selected="selected"' : '') .
|
||||||
. ($selected === $i ? ' selected="selected"' : '')
|
'>' . $_text . '</option>' . $option_separator;
|
||||||
. '>' . $_text . '</option>' . $option_separator;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$_html_seconds .= '</select>';
|
$_html_seconds .= '</select>';
|
||||||
@@ -332,9 +330,11 @@ function smarty_function_html_select_time($params)
|
|||||||
|
|
||||||
$_html_meridian = '<select name="' . $_name . '"';
|
$_html_meridian = '<select name="' . $_name . '"';
|
||||||
if ($meridian_id !== null || $all_id !== null) {
|
if ($meridian_id !== null || $all_id !== null) {
|
||||||
$_html_meridian .= ' id="' . smarty_function_escape_special_chars(
|
$_html_meridian .= ' id="' . smarty_function_escape_special_chars($meridian_id !== null ?
|
||||||
$meridian_id !== null ? ($meridian_id ? $meridian_id : $_name) : ($all_id ? ($all_id . $_name) : $_name)
|
($meridian_id ? $meridian_id :
|
||||||
) . '"';
|
$_name) :
|
||||||
|
($all_id ? ($all_id . $_name) :
|
||||||
|
$_name)) . '"';
|
||||||
}
|
}
|
||||||
if ($meridian_size) {
|
if ($meridian_size) {
|
||||||
$_html_meridian .= ' size="' . $meridian_size . '"';
|
$_html_meridian .= ' size="' . $meridian_size . '"';
|
||||||
@@ -342,12 +342,14 @@ function smarty_function_html_select_time($params)
|
|||||||
$_html_meridian .= $_extra . $extra_attrs . '>' . $option_separator;
|
$_html_meridian .= $_extra . $extra_attrs . '>' . $option_separator;
|
||||||
|
|
||||||
if (isset($meridian_empty) || isset($all_empty)) {
|
if (isset($meridian_empty) || isset($all_empty)) {
|
||||||
$_html_meridian .= '<option value="">' . (isset($meridian_empty) ? $meridian_empty : $all_empty) . '</option>' . $option_separator;
|
$_html_meridian .= '<option value="">' . (isset($meridian_empty) ? $meridian_empty : $all_empty) .
|
||||||
|
'</option>' . $option_separator;
|
||||||
}
|
}
|
||||||
|
|
||||||
$_html_meridian .= '<option value="am"' . ($_hour > 0 && $_hour < 12 ? ' selected="selected"' : '') . '>AM</option>' . $option_separator
|
$_html_meridian .= '<option value="am"' . ($_hour > 0 && $_hour < 12 ? ' selected="selected"' : '') .
|
||||||
. '<option value="pm"' . ($_hour < 12 ? '' : ' selected="selected"') . '>PM</option>' . $option_separator
|
'>AM</option>' . $option_separator . '<option value="pm"' .
|
||||||
. '</select>';
|
($_hour < 12 ? '' : ' selected="selected"') . '>PM</option>' . $option_separator .
|
||||||
|
'</select>';
|
||||||
}
|
}
|
||||||
|
|
||||||
$_html = '';
|
$_html = '';
|
||||||
@@ -50,7 +50,8 @@
|
|||||||
*/
|
*/
|
||||||
function smarty_function_mailto($params)
|
function smarty_function_mailto($params)
|
||||||
{
|
{
|
||||||
static $_allowed_encoding = array('javascript' => true, 'javascript_charcode' => true, 'hex' => true, 'none' => true);
|
static $_allowed_encoding =
|
||||||
|
array('javascript' => true, 'javascript_charcode' => true, 'hex' => true, 'none' => true);
|
||||||
$extra = '';
|
$extra = '';
|
||||||
|
|
||||||
if (empty($params[ 'address' ])) {
|
if (empty($params[ 'address' ])) {
|
||||||
@@ -96,7 +97,8 @@ function smarty_function_mailto($params)
|
|||||||
|
|
||||||
$encode = (empty($params[ 'encode' ])) ? 'none' : $params[ 'encode' ];
|
$encode = (empty($params[ 'encode' ])) ? 'none' : $params[ 'encode' ];
|
||||||
if (!isset($_allowed_encoding[ $encode ])) {
|
if (!isset($_allowed_encoding[ $encode ])) {
|
||||||
trigger_error("mailto: 'encode' parameter must be none, javascript, javascript_charcode or hex", E_USER_WARNING);
|
trigger_error("mailto: 'encode' parameter must be none, javascript, javascript_charcode or hex",
|
||||||
|
E_USER_WARNING);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -117,12 +119,8 @@ function smarty_function_mailto($params)
|
|||||||
$ord[] = ord($string[ $x ]);
|
$ord[] = ord($string[ $x ]);
|
||||||
}
|
}
|
||||||
|
|
||||||
$_ret = "<script type=\"text/javascript\" language=\"javascript\">\n"
|
$_ret = "<script type=\"text/javascript\" language=\"javascript\">\n" . "{document.write(String.fromCharCode(" .
|
||||||
. "{document.write(String.fromCharCode("
|
implode(',', $ord) . "))" . "}\n" . "</script>\n";
|
||||||
. implode(',', $ord)
|
|
||||||
. "))"
|
|
||||||
. "}\n"
|
|
||||||
. "</script>\n";
|
|
||||||
|
|
||||||
return $_ret;
|
return $_ret;
|
||||||
} elseif ($encode == 'hex') {
|
} elseif ($encode == 'hex') {
|
||||||
@@ -24,11 +24,10 @@
|
|||||||
*/
|
*/
|
||||||
function smarty_function_math($params, $template)
|
function smarty_function_math($params, $template)
|
||||||
{
|
{
|
||||||
static $_allowed_funcs = array(
|
static $_allowed_funcs =
|
||||||
'int' => true, 'abs' => true, 'ceil' => true, 'cos' => true, 'exp' => true, 'floor' => true,
|
array('int' => true, 'abs' => true, 'ceil' => true, 'cos' => true, 'exp' => true, 'floor' => true,
|
||||||
'log' => true, 'log10' => true, 'max' => true, 'min' => true, 'pi' => true, 'pow' => true,
|
'log' => true, 'log10' => true, 'max' => true, 'min' => true, 'pi' => true, 'pow' => true, 'rand' => true,
|
||||||
'rand' => true, 'round' => true, 'sin' => true, 'sqrt' => true, 'srand' => true, 'tan' => true
|
'round' => true, 'sin' => true, 'sqrt' => true, 'srand' => true, 'tan' => true);
|
||||||
);
|
|
||||||
// be sure equation parameter is present
|
// be sure equation parameter is present
|
||||||
if (empty($params[ 'equation' ])) {
|
if (empty($params[ 'equation' ])) {
|
||||||
trigger_error("math: missing equation parameter", E_USER_WARNING);
|
trigger_error("math: missing equation parameter", E_USER_WARNING);
|
||||||
@@ -45,8 +44,22 @@ function smarty_function_math($params, $template)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// disallow backticks
|
||||||
|
if (strpos($equation, '`') !== false) {
|
||||||
|
trigger_error("math: backtick character not allowed in equation", E_USER_WARNING);
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// also disallow dollar signs
|
||||||
|
if (strpos($equation, '$') !== false) {
|
||||||
|
trigger_error("math: dollar signs not allowed in equation", E_USER_WARNING);
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// match all vars in equation, make sure all are passed
|
// match all vars in equation, make sure all are passed
|
||||||
preg_match_all("!(?:0x[a-fA-F0-9]+)|([a-zA-Z][a-zA-Z0-9_]*)!", $equation, $match);
|
preg_match_all('!(?:0x[a-fA-F0-9]+)|([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)!', $equation, $match);
|
||||||
|
|
||||||
foreach ($match[ 1 ] as $curr_var) {
|
foreach ($match[ 1 ] as $curr_var) {
|
||||||
if ($curr_var && !isset($params[ $curr_var ]) && !isset($_allowed_funcs[ $curr_var ])) {
|
if ($curr_var && !isset($params[ $curr_var ]) && !isset($_allowed_funcs[ $curr_var ])) {
|
||||||
@@ -29,17 +29,23 @@ function smarty_modifier_capitalize($string, $uc_digits = false, $lc_rest = fals
|
|||||||
$upper_string = mb_convert_case($string, MB_CASE_TITLE, Smarty::$_CHARSET);
|
$upper_string = mb_convert_case($string, MB_CASE_TITLE, Smarty::$_CHARSET);
|
||||||
} else {
|
} else {
|
||||||
// uppercase word breaks
|
// uppercase word breaks
|
||||||
$upper_string = preg_replace_callback("!(^|[^\p{L}'])([\p{Ll}])!S" . Smarty::$_UTF8_MODIFIER, 'smarty_mod_cap_mbconvert_cb', $string);
|
$upper_string = preg_replace_callback("!(^|[^\p{L}'])([\p{Ll}])!S" . Smarty::$_UTF8_MODIFIER,
|
||||||
|
'smarty_mod_cap_mbconvert_cb', $string);
|
||||||
}
|
}
|
||||||
// check uc_digits case
|
// check uc_digits case
|
||||||
if (!$uc_digits) {
|
if (!$uc_digits) {
|
||||||
if (preg_match_all("!\b([\p{L}]*[\p{N}]+[\p{L}]*)\b!" . Smarty::$_UTF8_MODIFIER, $string, $matches, PREG_OFFSET_CAPTURE)) {
|
if (preg_match_all("!\b([\p{L}]*[\p{N}]+[\p{L}]*)\b!" . Smarty::$_UTF8_MODIFIER, $string, $matches,
|
||||||
|
PREG_OFFSET_CAPTURE)) {
|
||||||
foreach ($matches[ 1 ] as $match) {
|
foreach ($matches[ 1 ] as $match) {
|
||||||
$upper_string = substr_replace($upper_string, mb_strtolower($match[0], Smarty::$_CHARSET), $match[1], strlen($match[0]));
|
$upper_string =
|
||||||
|
substr_replace($upper_string, mb_strtolower($match[ 0 ], Smarty::$_CHARSET), $match[ 1 ],
|
||||||
|
strlen($match[ 0 ]));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$upper_string = preg_replace_callback("!((^|\s)['\"])(\w)!" . Smarty::$_UTF8_MODIFIER, 'smarty_mod_cap_mbconvert2_cb', $upper_string);
|
$upper_string =
|
||||||
|
preg_replace_callback("!((^|\s)['\"])(\w)!" . Smarty::$_UTF8_MODIFIER, 'smarty_mod_cap_mbconvert2_cb',
|
||||||
|
$upper_string);
|
||||||
return $upper_string;
|
return $upper_string;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -48,16 +54,21 @@ function smarty_modifier_capitalize($string, $uc_digits = false, $lc_rest = fals
|
|||||||
$string = strtolower($string);
|
$string = strtolower($string);
|
||||||
}
|
}
|
||||||
// uppercase (including hyphenated words)
|
// uppercase (including hyphenated words)
|
||||||
$upper_string = preg_replace_callback("!(^|[^\p{L}'])([\p{Ll}])!S" . Smarty::$_UTF8_MODIFIER, 'smarty_mod_cap_ucfirst_cb', $string);
|
$upper_string =
|
||||||
|
preg_replace_callback("!(^|[^\p{L}'])([\p{Ll}])!S" . Smarty::$_UTF8_MODIFIER, 'smarty_mod_cap_ucfirst_cb',
|
||||||
|
$string);
|
||||||
// check uc_digits case
|
// check uc_digits case
|
||||||
if (!$uc_digits) {
|
if (!$uc_digits) {
|
||||||
if (preg_match_all("!\b([\p{L}]*[\p{N}]+[\p{L}]*)\b!" . Smarty::$_UTF8_MODIFIER, $string, $matches, PREG_OFFSET_CAPTURE)) {
|
if (preg_match_all("!\b([\p{L}]*[\p{N}]+[\p{L}]*)\b!" . Smarty::$_UTF8_MODIFIER, $string, $matches,
|
||||||
|
PREG_OFFSET_CAPTURE)) {
|
||||||
foreach ($matches[ 1 ] as $match) {
|
foreach ($matches[ 1 ] as $match) {
|
||||||
$upper_string = substr_replace($upper_string, strtolower($match[0]), $match[1], strlen($match[0]));
|
$upper_string =
|
||||||
|
substr_replace($upper_string, strtolower($match[ 0 ]), $match[ 1 ], strlen($match[ 0 ]));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$upper_string = preg_replace_callback("!((^|\s)['\"])(\w)!" . Smarty::$_UTF8_MODIFIER, 'smarty_mod_cap_ucfirst2_cb', $upper_string);
|
$upper_string = preg_replace_callback("!((^|\s)['\"])(\w)!" . Smarty::$_UTF8_MODIFIER, 'smarty_mod_cap_ucfirst2_cb',
|
||||||
|
$upper_string);
|
||||||
return $upper_string;
|
return $upper_string;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -24,10 +24,7 @@
|
|||||||
*/
|
*/
|
||||||
function smarty_modifier_debug_print_var($var, $max = 10, $length = 40, $depth = 0, $objects = array())
|
function smarty_modifier_debug_print_var($var, $max = 10, $length = 40, $depth = 0, $objects = array())
|
||||||
{
|
{
|
||||||
$_replace = array("\n" => '<i>\n</i>',
|
$_replace = array("\n" => '\n', "\r" => '\r', "\t" => '\t');
|
||||||
"\r" => '<i>\r</i>',
|
|
||||||
"\t" => '<i>\t</i>'
|
|
||||||
);
|
|
||||||
switch (gettype($var)) {
|
switch (gettype($var)) {
|
||||||
case 'array' :
|
case 'array' :
|
||||||
$results = '<b>Array (' . count($var) . ')</b>';
|
$results = '<b>Array (' . count($var) . ')</b>';
|
||||||
@@ -35,9 +32,9 @@ function smarty_modifier_debug_print_var($var, $max = 10, $length = 40, $depth =
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
foreach ($var as $curr_key => $curr_val) {
|
foreach ($var as $curr_key => $curr_val) {
|
||||||
$results .= '<br>' . str_repeat(' ', $depth * 2)
|
$results .= '<br>' . str_repeat(' ', $depth * 2) . '<b>' . strtr($curr_key, $_replace) .
|
||||||
. '<b>' . strtr($curr_key, $_replace) . '</b> => '
|
'</b> => ' .
|
||||||
. smarty_modifier_debug_print_var($curr_val, $max, $length, ++ $depth, $objects);
|
smarty_modifier_debug_print_var($curr_val, $max, $length, ++ $depth, $objects);
|
||||||
$depth --;
|
$depth --;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -54,9 +51,8 @@ function smarty_modifier_debug_print_var($var, $max = 10, $length = 40, $depth =
|
|||||||
}
|
}
|
||||||
$objects[] = $var;
|
$objects[] = $var;
|
||||||
foreach ($object_vars as $curr_key => $curr_val) {
|
foreach ($object_vars as $curr_key => $curr_val) {
|
||||||
$results .= '<br>' . str_repeat(' ', $depth * 2)
|
$results .= '<br>' . str_repeat(' ', $depth * 2) . '<b> ->' . strtr($curr_key, $_replace) .
|
||||||
. '<b> ->' . strtr($curr_key, $_replace) . '</b> = '
|
'</b> = ' . smarty_modifier_debug_print_var($curr_val, $max, $length, ++ $depth, $objects);
|
||||||
. smarty_modifier_debug_print_var($curr_val, $max, $length, ++ $depth, $objects);
|
|
||||||
$depth --;
|
$depth --;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -93,7 +89,7 @@ function smarty_modifier_debug_print_var($var, $max = 10, $length = 40, $depth =
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$results = htmlspecialchars('"' . $results . '"');
|
$results = htmlspecialchars('"' . $results . '"', ENT_QUOTES, Smarty::$_CHARSET);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'unknown type' :
|
case 'unknown type' :
|
||||||
@@ -109,7 +105,7 @@ function smarty_modifier_debug_print_var($var, $max = 10, $length = 40, $depth =
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$results = htmlspecialchars($results);
|
$results = htmlspecialchars($results, ENT_QUOTES, Smarty::$_CHARSET);
|
||||||
}
|
}
|
||||||
|
|
||||||
return $results;
|
return $results;
|
||||||
@@ -66,7 +66,8 @@ function smarty_modifier_escape($string, $esc_type = 'html', $char_set = null, $
|
|||||||
// php <5.2.3 - prevent double encoding
|
// php <5.2.3 - prevent double encoding
|
||||||
$string = preg_replace('!&(#?\w+);!', '%%%SMARTY_START%%%\\1%%%SMARTY_END%%%', $string);
|
$string = preg_replace('!&(#?\w+);!', '%%%SMARTY_START%%%\\1%%%SMARTY_END%%%', $string);
|
||||||
$string = htmlspecialchars($string, ENT_QUOTES, $char_set);
|
$string = htmlspecialchars($string, ENT_QUOTES, $char_set);
|
||||||
$string = str_replace(array('%%%SMARTY_START%%%', '%%%SMARTY_END%%%'), array('&', ';'), $string);
|
$string =
|
||||||
|
str_replace(array('%%%SMARTY_START%%%', '%%%SMARTY_END%%%'), array('&', ';'), $string);
|
||||||
|
|
||||||
return $string;
|
return $string;
|
||||||
}
|
}
|
||||||
@@ -152,7 +153,8 @@ function smarty_modifier_escape($string, $esc_type = 'html', $char_set = null, $
|
|||||||
|
|
||||||
case 'javascript':
|
case 'javascript':
|
||||||
// escape quotes and backslashes, newlines, etc.
|
// escape quotes and backslashes, newlines, etc.
|
||||||
return strtr($string, array('\\' => '\\\\', "'" => "\\'", '"' => '\\"', "\r" => '\\r', "\n" => '\\n', '</' => '<\/'));
|
return strtr($string, array('\\' => '\\\\', "'" => "\\'", '"' => '\\"', "\r" => '\\r', "\n" => '\\n',
|
||||||
|
'</' => '<\/'));
|
||||||
|
|
||||||
case 'mail':
|
case 'mail':
|
||||||
if (Smarty::$_MBSTRING) {
|
if (Smarty::$_MBSTRING) {
|
||||||
@@ -19,10 +19,11 @@
|
|||||||
* @param string $string input string
|
* @param string $string input string
|
||||||
* @param string|array $search regular expression(s) to search for
|
* @param string|array $search regular expression(s) to search for
|
||||||
* @param string|array $replace string(s) that should be replaced
|
* @param string|array $replace string(s) that should be replaced
|
||||||
|
* @param int $limit the maximum number of replacements
|
||||||
*
|
*
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
function smarty_modifier_regex_replace($string, $search, $replace)
|
function smarty_modifier_regex_replace($string, $search, $replace, $limit = - 1)
|
||||||
{
|
{
|
||||||
if (is_array($search)) {
|
if (is_array($search)) {
|
||||||
foreach ($search as $idx => $s) {
|
foreach ($search as $idx => $s) {
|
||||||
@@ -32,7 +33,7 @@ function smarty_modifier_regex_replace($string, $search, $replace)
|
|||||||
$search = _smarty_regex_replace_check($search);
|
$search = _smarty_regex_replace_check($search);
|
||||||
}
|
}
|
||||||
|
|
||||||
return preg_replace($search, $replace, $string);
|
return preg_replace($search, $replace, $string, $limit);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -35,13 +35,15 @@ function smarty_modifier_truncate($string, $length = 80, $etc = '...', $break_wo
|
|||||||
if (mb_strlen($string, Smarty::$_CHARSET) > $length) {
|
if (mb_strlen($string, Smarty::$_CHARSET) > $length) {
|
||||||
$length -= min($length, mb_strlen($etc, Smarty::$_CHARSET));
|
$length -= min($length, mb_strlen($etc, Smarty::$_CHARSET));
|
||||||
if (!$break_words && !$middle) {
|
if (!$break_words && !$middle) {
|
||||||
$string = preg_replace('/\s+?(\S+)?$/' . Smarty::$_UTF8_MODIFIER, '', mb_substr($string, 0, $length + 1, Smarty::$_CHARSET));
|
$string = preg_replace('/\s+?(\S+)?$/' . Smarty::$_UTF8_MODIFIER, '',
|
||||||
|
mb_substr($string, 0, $length + 1, Smarty::$_CHARSET));
|
||||||
}
|
}
|
||||||
if (!$middle) {
|
if (!$middle) {
|
||||||
return mb_substr($string, 0, $length, Smarty::$_CHARSET) . $etc;
|
return mb_substr($string, 0, $length, Smarty::$_CHARSET) . $etc;
|
||||||
}
|
}
|
||||||
|
|
||||||
return mb_substr($string, 0, $length / 2, Smarty::$_CHARSET) . $etc . mb_substr($string, - $length / 2, $length, Smarty::$_CHARSET);
|
return mb_substr($string, 0, $length / 2, Smarty::$_CHARSET) . $etc .
|
||||||
|
mb_substr($string, - $length / 2, $length, Smarty::$_CHARSET);
|
||||||
}
|
}
|
||||||
|
|
||||||
return $string;
|
return $string;
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user