Compare commits

..

6 Commits

Author SHA1 Message Date
Clemens Schwaighofer
a182834985 Remove old SVN $id from edit new template 2016-01-06 11:19:05 +09:00
Clemens Schwaighofer
0ce1432513 Bug fix for spl autoload table array part
arrays cannot be loaded with the auto load method, fallback to old load
method
2016-01-05 18:36:26 +09:00
Clemens Schwaighofer
a447fc2ef6 Update auto set for HTML title, PHP 7.0 class fixes
Auto append current page file name to the HTML auto title.

Fix class declaration in gettext reader for PHP 7.0
2015-12-16 11:08:51 +09:00
Clemens Schwaighofer
8160d05d25 Add HTML print date+time method
Function prints out HTML date time method with auto javacsript adjust
for leap years, month day length, etc.
2015-11-16 10:17:55 +09:00
Clemens Schwaighofer
647dd52c92 Remove all include/require parts from classes and use autoload function
Any include or require call is removed and now we use only _spl_autoload
in any class external file include call.
There are three new _DIR vars: LIBDIR, SMARTYDIR, TABLEARRAYDIR that are
based on the __DIR__ and not current working directory.
2015-11-11 14:19:25 +09:00
Clemens Schwaighofer
b2fdbc0571 Better autoload for required files
Add autoload function to main config file.
Add better DIR declarations in config file based on __DIR__ for libs &
smarty classes.
Load all class files with the new autoload function in header & direct
file calls.
2015-11-11 14:14:06 +09:00
15 changed files with 182 additions and 91 deletions

View File

@@ -15,10 +15,8 @@
// session_name(EDIT_SESSION_NAME); // session_name(EDIT_SESSION_NAME);
// session_start(); // session_start();
// basic class test file // basic class test file
// require(LIBS."Class.Basic.inc"); foreach (array ('Login', 'Admin.Backend') as $class)
// require(LIBS."Class.DB.IO.inc"); _spl_autoload('Class.'.$class.'.inc');
require(LIBS."Class.Login.inc");
require(LIBS."Class.Admin.Backend.inc");
$lang = 'en_utf8'; $lang = 'en_utf8';

View File

@@ -24,12 +24,9 @@
require("config.inc"); require("config.inc");
// set the session name // set the session name
define('SET_SESSION_NAME', EDIT_SESSION_NAME); define('SET_SESSION_NAME', EDIT_SESSION_NAME);
// login class // login class, DB connections & Admin class, Smarty extension
require(LIBS."Class.Login.inc"); foreach (array ('Login', 'Admin.Backend', 'Smarty.Extend') as $class)
// DB connection & work time class _spl_autoload('Class.'.$class.'.inc');
require(LIBS.'Class.Admin.Backend.inc');
// Smarty: and the small extend for l10n calls
require(LIBS.'Class.Smarty.Extend.inc');
//------------------------------ library include end //------------------------------ library include end
//------------------------------ basic variable settings start //------------------------------ basic variable settings start
@@ -42,7 +39,7 @@
elseif (!$lang) elseif (!$lang)
$lang = DEFAULT_LANG; $lang = DEFAULT_LANG;
// end the stop of the output flow, but only if we didn't request a csv file download // end the stop of the output flow, but only if we didn't request a csv file download
if ($_POST['action'] != 'download_csv') if (array_key_exists('action', $_POST) && $_POST['action'] != 'download_csv')
{ {
header("Content-type: text/html; charset=".$encoding); header("Content-type: text/html; charset=".$encoding);
ob_end_flush(); ob_end_flush();

View File

@@ -35,7 +35,9 @@
// set include & template names // set include & template names
$CONTENT_INCLUDE = str_replace(".php", ".tpl", $cms->page_name); $CONTENT_INCLUDE = str_replace(".php", ".tpl", $cms->page_name);
$FORM_NAME = !$FORM_NAME ? str_replace(".php", "", $cms->page_name) : $FORM_NAME; $FORM_NAME = !isset($FORM_NAME) || !$FORM_NAME ? str_replace(".php", "", $cms->page_name) : $FORM_NAME;
// set local page title
$L_TITLE = ucfirst(str_replace('_', ' ', $cms->get_page_name(1))).' - '.$G_TITLE;
// strip tpl and replace it with inc // strip tpl and replace it with inc
// php include file per page // php include file per page
$cms->INC_TEMPLATE_NAME = str_replace(".tpl", ".inc", $CONTENT_INCLUDE); $cms->INC_TEMPLATE_NAME = str_replace(".tpl", ".inc", $CONTENT_INCLUDE);
@@ -44,9 +46,9 @@
// css per page // css per page
$cms->CSS_TEMPLATE_NAME = str_replace(".tpl", ".css", $CONTENT_INCLUDE); $cms->CSS_TEMPLATE_NAME = str_replace(".tpl", ".css", $CONTENT_INCLUDE);
// special CSS file // special CSS file
$cms->CSS_SPECIAL_TEMPLATE_NAME = $CSS_NAME; $cms->CSS_SPECIAL_TEMPLATE_NAME = @$CSS_NAME;
// special JS file // special JS file
$cms->JS_SPECIAL_TEMPLATE_NAME = $JS_NAME; $cms->JS_SPECIAL_TEMPLATE_NAME = @$JS_NAME;
// set basic template path (tmp) // set basic template path (tmp)
$smarty->setTemplateDir(LAYOUT.$TEMPLATE_DIR.TEMPLATES.'/'); $smarty->setTemplateDir(LAYOUT.$TEMPLATE_DIR.TEMPLATES.'/');

View File

@@ -24,21 +24,25 @@
include($cms->includes.$cms->INC_TEMPLATE_NAME); include($cms->includes.$cms->INC_TEMPLATE_NAME);
} }
// additional per page Javascript include // additional per page Javascript include
$cms->JS_INCLUDE = '';
if (file_exists($cms->javascript.$cms->JS_TEMPLATE_NAME) && is_file($cms->javascript.$cms->JS_TEMPLATE_NAME)) if (file_exists($cms->javascript.$cms->JS_TEMPLATE_NAME) && is_file($cms->javascript.$cms->JS_TEMPLATE_NAME))
{ {
$cms->JS_INCLUDE = $cms->javascript.$cms->JS_TEMPLATE_NAME; $cms->JS_INCLUDE = $cms->javascript.$cms->JS_TEMPLATE_NAME;
} }
// per page css file // per page css file
$cms->CSS_INCLUDE = '';
if (file_exists($cms->css.$cms->CSS_TEMPLATE_NAME) && is_file($cms->css.$cms->CSS_TEMPLATE_NAME)) if (file_exists($cms->css.$cms->CSS_TEMPLATE_NAME) && is_file($cms->css.$cms->CSS_TEMPLATE_NAME))
{ {
$cms->CSS_INCLUDE = $cms->css.$cms->CSS_TEMPLATE_NAME; $cms->CSS_INCLUDE = $cms->css.$cms->CSS_TEMPLATE_NAME;
} }
// optional CSS file // optional CSS file
$cms->CSS_SPECIAL_INCLUDE = '';
if (file_exists($cms->css.$cms->CSS_SPECIAL_TEMPLATE_NAME) && is_file($cms->css.$cms->CSS_SPECIAL_TEMPLATE_NAME)) if (file_exists($cms->css.$cms->CSS_SPECIAL_TEMPLATE_NAME) && is_file($cms->css.$cms->CSS_SPECIAL_TEMPLATE_NAME))
{ {
$cms->CSS_SPECIAL_INCLUDE = $cms->css.$cms->CSS_SPECIAL_TEMPLATE_NAME; $cms->CSS_SPECIAL_INCLUDE = $cms->css.$cms->CSS_SPECIAL_TEMPLATE_NAME;
} }
// optional JS file // optional JS file
$cms->JS_SPECIAL_INCLUDE = '';
if (file_exists($cms->javascript.$cms->JS_SPECIAL_TEMPLATE_NAME) && is_file($cms->javascript.$cms->JS_SPECIAL_TEMPLATE_NAME)) if (file_exists($cms->javascript.$cms->JS_SPECIAL_TEMPLATE_NAME) && is_file($cms->javascript.$cms->JS_SPECIAL_TEMPLATE_NAME))
{ {
$cms->JS_SPECIAL_INCLUDE = $cms->javascript.$cms->JS_SPECIAL_TEMPLATE_NAME; $cms->JS_SPECIAL_INCLUDE = $cms->javascript.$cms->JS_SPECIAL_TEMPLATE_NAME;
@@ -64,7 +68,7 @@
$cms->HEADER['STYLESHEET'] = $EDIT_STYLESHEET; $cms->HEADER['STYLESHEET'] = $EDIT_STYLESHEET;
$cms->HEADER['JAVASCRIPT'] = $EDIT_JAVASCRIPT; $cms->HEADER['JAVASCRIPT'] = $EDIT_JAVASCRIPT;
// html title // html title
$cms->HEADER['HTML_TITLE'] = ((!$L_TITLE) ? $cms->l->__($G_TITLE) : $cms->l->__($L_TITLE)); $cms->HEADER['HTML_TITLE'] = (!isset($L_TITLE) || !$L_TITLE) ? $cms->l->__($G_TITLE) : $cms->l->__($L_TITLE);
$cms->DATA['table_width'] = $PAGE_WIDTH ? $PAGE_WIDTH : PAGE_WIDTH; $cms->DATA['table_width'] = $PAGE_WIDTH ? $PAGE_WIDTH : PAGE_WIDTH;
// messages = array('msg' =>, 'class' => 'error/warning/...') // messages = array('msg' =>, 'class' => 'error/warning/...')
@@ -85,7 +89,7 @@
// debug data, if DEBUG flag is on, this data is print out // debug data, if DEBUG flag is on, this data is print out
$cms->DEBUG_DATA['debug_error_msg'] = $cms->running_time(); $cms->DEBUG_DATA['debug_error_msg'] = $cms->running_time();
$cms->DEBUG_DATA['DEBUG'] = $DEBUG_TMPL; $cms->DEBUG_DATA['DEBUG'] = @$DEBUG_TMPL;
// create main data array // create main data array
$cms->CONTENT_DATA = array_merge($cms->HEADER, $cms->DATA, $cms->DEBUG_DATA); $cms->CONTENT_DATA = array_merge($cms->HEADER, $cms->DATA, $cms->DEBUG_DATA);

View File

@@ -1,14 +1,11 @@
<? <?
$DEBGU_ALL_OVERRIDE = 0; // set to 1 to debug on live/remote server locations $ENABLE_ERROR_HANDLING = 0;
$DEBUG_ALL_OVERRIDE = 0; // set to 1 to debug on live/remote server locations
$DEBUG_ALL = 1; $DEBUG_ALL = 1;
$PRINT_ALL = 1; $PRINT_ALL = 1;
$DB_DEBUG = 1; $DB_DEBUG = 1;
if ($DEBUG_ALL)
error_reporting(E_ALL | E_STRICT | E_ERROR | E_WARNING | E_PARSE | E_COMPILE_ERROR);
define('USE_DATABASE', true); define('USE_DATABASE', true);
require("config.inc");
require("header.inc"); require("header.inc");
$MASTER_TEMPLATE_NAME = 'main_body.tpl'; $MASTER_TEMPLATE_NAME = 'main_body.tpl';
$TEMPLATE_NAME = 'smarty_test.tpl'; $TEMPLATE_NAME = 'smarty_test.tpl';

View File

@@ -19,7 +19,18 @@
DEFINE('DEFAULT_ENCODING', "UTF-8"); DEFINE('DEFAULT_ENCODING', "UTF-8");
/************* PATHS *********************/ /************* PATHS *********************/
// path to document root // ** NEW/BETTER DIR DECLARATIONS **
// path to original file (if symlink)
DEFINE('DIR', __DIR__."/");
// libs base path based on DIR
DEFINE('LIBDIR', DIR.'libs/');
// SMARTY path based on DIR
DEFINE('SMARTYDIR', DIR.'Smarty/');
// table arrays for Class Form
DEFINE('TABLEARRAYDIR', DIR.'table_arrays/');
// ** OLD DIR DECLARATIONS **
// path to document root of file called
DEFINE('ROOT', getcwd()."/"); DEFINE('ROOT', getcwd()."/");
// libs path // libs path
DEFINE('LIBS', "libs/"); DEFINE('LIBS', "libs/");
@@ -238,16 +249,35 @@
$DB_DEBUG = 0; $DB_DEBUG = 0;
$ENABLE_ERROR_HANDLING = 0; $ENABLE_ERROR_HANDLING = 0;
} }
else
{
$ECHO_ALL = 1;
$DEBUG_ALL = 1;
$PRINT_ALL = 1;
$DB_DEBUG = 1;
$ENABLE_ERROR_HANDLING = 1;
}
// 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
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;
}
?> ?>

View File

@@ -21,5 +21,3 @@
<input type="submit" name="new" value="{$new.new_name}"> <input type="submit" name="new" value="{$new.new_name}">
</td> </td>
</tr> </tr>
{* $Id: edit_new.tpl 4897 2014-02-06 08:16:56Z gullevek $ *}

View File

@@ -26,12 +26,7 @@
*********************************************************************/ *********************************************************************/
// try to include file from LIBS path, or from normal path // try to include file from LIBS path, or from normal path
$include_file = 'Class.DB.IO.inc'; _spl_autoload('Class.DB.IO.inc');
foreach (array('', LIBS, __DIR__.'/') as $folder)
{
if (file_exists($folder.$include_file))
require_once($folder.$include_file);
}
class AdminBackend extends db_io class AdminBackend extends db_io
{ {
@@ -72,7 +67,7 @@
public function __construct($db_config, $lang, $debug = 0, $db_debug = 0, $echo = 1, $print = 0) public function __construct($db_config, $lang, $debug = 0, $db_debug = 0, $echo = 1, $print = 0)
{ {
// get the language sub class & init it // get the language sub class & init it
require_once(LIBS."Class.l10n.inc"); _spl_autoload('Class.l10n.inc');
$this->l = new l10n($lang); $this->l = new l10n($lang);
@@ -144,8 +139,8 @@
$q .= "ip, user_agent, referer, script_name, query_string, server_name, http_host, http_accept, http_accept_charset, http_accept_encoding, session_id, "; $q .= "ip, user_agent, referer, script_name, query_string, server_name, http_host, http_accept, http_accept_charset, http_accept_encoding, session_id, ";
$q .= "action, action_id, action_yes, action_flag, action_menu, action_loaded, action_value, action_error) "; $q .= "action, action_id, action_yes, action_flag, action_menu, action_loaded, action_value, action_error) ";
$q .= "VALUES "; $q .= "VALUES ";
$q .= "(".$_SESSION['EUID'].", NOW(), '".$this->db_escape_string($event)."', '".$data."', '".$data_binary."', '".$this->page_name."', "; $q .= "(".@$_SESSION['EUID'].", NOW(), '".$this->db_escape_string($event)."', '".$data."', '".$data_binary."', '".$this->page_name."', ";
$q .= "'".$_SERVER["REMOTE_ADDR"]."', '".$this->db_escape_string($_SERVER['HTTP_USER_AGENT'])."', '".$this->db_escape_string($_SERVER['HTTP_REFERER'])."', '".$this->db_escape_string($_SERVER['SCRIPT_FILENAME'])."', '".$this->db_escape_string($_SERVER['QUERY_STRING'])."', '".$this->db_escape_string($_SERVER['SERVER_NAME'])."', '".$this->db_escape_string($_SERVER['HTTP_HOST'])."', '".$this->db_escape_string($_SERVER['HTTP_ACCEPT'])."', '".$this->db_escape_string($_SERVER['HTTP_ACCEPT_CHARSET'])."', '".$this->db_escape_string($_SERVER['HTTP_ACCEPT_ENCODING'])."', '".session_id()."', "; $q .= "'".@$_SERVER["REMOTE_ADDR"]."', '".$this->db_escape_string(@$_SERVER['HTTP_USER_AGENT'])."', '".$this->db_escape_string(@$_SERVER['HTTP_REFERER'])."', '".$this->db_escape_string(@$_SERVER['SCRIPT_FILENAME'])."', '".$this->db_escape_string(@$_SERVER['QUERY_STRING'])."', '".$this->db_escape_string(@$_SERVER['SERVER_NAME'])."', '".$this->db_escape_string(@$_SERVER['HTTP_HOST'])."', '".$this->db_escape_string(@$_SERVER['HTTP_ACCEPT'])."', '".$this->db_escape_string(@$_SERVER['HTTP_ACCEPT_CHARSET'])."', '".$this->db_escape_string(@$_SERVER['HTTP_ACCEPT_ENCODING'])."', '".session_id()."', ";
$q .= "'".$this->db_escape_string($this->action)."', '".$this->db_escape_string($this->action_id)."', '".$this->db_escape_string($this->action_yes)."', '".$this->db_escape_string($this->action_flag)."', '".$this->db_escape_string($this->action_menu)."', '".$this->db_escape_string($this->action_loaded)."', '".$this->db_escape_string($this->action_value)."', '".$this->db_escape_string($this->action_error)."')"; $q .= "'".$this->db_escape_string($this->action)."', '".$this->db_escape_string($this->action_id)."', '".$this->db_escape_string($this->action_yes)."', '".$this->db_escape_string($this->action_flag)."', '".$this->db_escape_string($this->action_menu)."', '".$this->db_escape_string($this->action_loaded)."', '".$this->db_escape_string($this->action_value)."', '".$this->db_escape_string($this->action_error)."')";
$this->db_exec($q, 'edit_log_id'); $this->db_exec($q, 'edit_log_id');
} }
@@ -340,5 +335,71 @@
$this->db_exec($q); $this->db_exec($q);
} }
// METHOD: adbPrintDateTime
// PARAMS: year, month, day, hour, min: the date and time values
// suffix: additional info printed after the date time variable in the drop down, also used for ID in the on change JS call
// minute steps, can be 1 (default), 5, 10, etc, if invalid (outside 1h range, it falls back to 1min)
// RETURN: HTML formated strings for drop down lists of date and time
// DESC: print the date/time drop downs, used in any queue/send/insert at date/time place
public function adbPrintDateTime($year, $month, $day, $hour, $min, $suffix = '', $min_steps = 1)
{
// if suffix given, add _ before
if ($suffix)
$suffix = '_'.$suffix;
if ($min_steps < 1 || $min_steps > 59)
$min_steps = 1;
$on_change_call = 'dt_list(\''.$suffix.'\');';
// always be 1h ahead (for safety)
$timestamp = time() + 3600; // in seconds
// the max year is this year + 1;
$max_year = date("Y", $timestamp) + 1;
// preset year, month, ...
$year = (!$year) ? date("Y", $timestamp) : $year;
$month = (!$month) ? date("m", $timestamp) : $month;
$day = (!$day) ? date("d", $timestamp) : $day;
$hour = (!$hour) ? date("H", $timestamp) : $hour;
$min = (!$min) ? date("i", $timestamp) : $min; // add to five min?
// max days in selected month
$days_in_month = date("t", strtotime($year."-".$month."-".$day." ".$hour.":".$min.":0"));
// from now to ?
$string = $this->l->__('Year').' ';
$string .= '<select id="year'.$suffix.'" name="year'.$suffix.'" onChange="'.$on_change_call.'">';
for ($i = date("Y"); $i <= $max_year; $i ++)
{ $string .= '<option value="'.$i.'" '.(($year == $i) ? 'selected' : '').'>'.$i.'</option>';
}
$string .= '</select> '.$this->l->__('Month').' ';
$string .= '<select id="month'.$suffix.'" name="month'.$suffix.'" onChange="'.$on_change_call.'">';
for ($i = 1; $i <= 12; $i ++)
{
$string .= '<option value="'.(($i < 10) ? '0'.$i : $i).'" '.(($month == $i) ? 'selected' : '').'>'.$i.'</option>';
}
$string .= '</select> '.$this->l->__('Day').' ';
$string .= '<select id="day'.$suffix.'" name="day'.$suffix.'" onChange="'.$on_change_call.'">';
for ($i = 1; $i <= $days_in_month; $i ++)
{
// set weekday text based on current month ($month) and year ($year)
$string .= '<option value="'.(($i < 10) ? '0'.$i : $i).'" '.(($day == $i) ? 'selected' : '').'>'.$i.' ('.$this->l->__(date('D', mktime(0, 0, 0, $month, $i, $year))).')</option>';
}
$string .= '</select> '.$this->l->__('Hour').' ';
$string .= '<select id="hour'.$suffix.'" name="hour'.$suffix.'" onChange="'.$on_change_call.'">';
for ($i = 0; $i <= 23; $i ++)
{
$string .= '<option value="'.(($i < 10) ? '0'.$i : $i).'" '.(($hour == $i) ? 'selected' : '').'>'.$i.'</option>';
}
$string .= '</select> '.$this->l->__('Minute').' ';
$string .= '<select id="min'.$suffix.'" name="min'.$suffix.'" onChange="'.$on_change_call.'">';
for ( $i = 0; $i <= 59; $i += $min_steps)
{
$string .= '<option value="'.(( $i < 10) ? '0'.$i : $i).'" '.(($min == $i) ? 'selected' : '').'>'.$i.'</option>';
}
$string .= '</select>';
// return the datetime select string
return $string;
}
} }
?> ?>

View File

@@ -39,12 +39,7 @@
// put into separete function in this class) // put into separete function in this class)
// try to include file from LIBS path, or from normal path // try to include file from LIBS path, or from normal path
$include_file = 'Class.DB.IO.inc'; _spl_autoload('Class.DB.IO.inc');
foreach (array('', LIBS, __DIR__.'/') as $folder)
{
if (file_exists($folder.$include_file))
require_once($folder.$include_file);
}
// subclass for one array handling // subclass for one array handling
class db_array_io extends db_io class db_array_io extends db_io

View File

@@ -241,12 +241,7 @@
*********************************************************************/ *********************************************************************/
// try to include file from LIBS path, or from normal path // try to include file from LIBS path, or from normal path
$include_file = 'Class.Basic.inc'; _spl_autoload('Class.Basic.inc');
foreach (array('', LIBS, __DIR__.'/') as $folder)
{
if (file_exists($folder.$include_file))
require_once($folder.$include_file);
}
class db_io extends basic class db_io extends basic
{ {
@@ -358,7 +353,7 @@
$this->db_debug = $GLOBALS['DB_DEBUG']; $this->db_debug = $GLOBALS['DB_DEBUG'];
// includes sub class for db type // includes sub class for db type
include_once(LIBS.$this->db_type.'.inc'); _spl_autoload($this->db_type.'.inc');
$this->db_functions = new $this->db_type(); $this->db_functions = new $this->db_type();
// connect to DB // connect to DB

View File

@@ -213,12 +213,7 @@
*********************************************************************/ *********************************************************************/
// try to include file from LIBS path, or from normal path // try to include file from LIBS path, or from normal path
$include_file = 'Class.DB.Array.IO.inc'; _spl_autoload('Class.DB.Array.IO.inc');
foreach (array('', LIBS, __DIR__.'/') as $folder)
{
if (file_exists($folder.$include_file))
require_once($folder.$include_file);
}
class form extends db_array_io class form extends db_array_io
{ {
@@ -260,10 +255,12 @@
{ {
$this->my_page_name = $this->get_page_name(1); $this->my_page_name = $this->get_page_name(1);
// init the language class // init the language class
require_once(LIBS."Class.l10n.inc"); _spl_autoload('Class.l10n.inc');
$this->l = new l10n($lang); $this->l = new l10n($lang);
// load config array // load config array
// get table array definitions for current page name // get table array definitions for current page name
// WARNING: auto spl load does not work with this as it is an array and not a function/object
// $flag = _spl_autoload('array_'.$this->my_page_name.'.inc');
include(TABLE_ARRAYS."array_".$this->my_page_name.".inc"); include(TABLE_ARRAYS."array_".$this->my_page_name.".inc");
$config_array = ${$this->my_page_name}; $config_array = ${$this->my_page_name};
@@ -326,6 +323,8 @@
// dumps all values into output (for error msg) // dumps all values into output (for error msg)
public function form_dump_table_array() public function form_dump_table_array()
{ {
if (!is_array($this->table_array))
$this->table_array = array ();
reset($this->table_array); reset($this->table_array);
$string .= "<b>TABLE ARRAY DUMP:</b> ".$this->table_name."<br>"; $string .= "<b>TABLE ARRAY DUMP:</b> ".$this->table_name."<br>";
while (list($key, $value) = each($this->table_array)) while (list($key, $value) = each($this->table_array))
@@ -388,6 +387,8 @@
// if multiple gets only FIRST // if multiple gets only FIRST
public function form_get_col_name_from_key($want_key, $key_value = "") public function form_get_col_name_from_key($want_key, $key_value = "")
{ {
if (!is_array($this->table_array))
$this->table_array = array ();
reset($this->table_array); reset($this->table_array);
while (list($key, $value) = each($this->table_array)) while (list($key, $value) = each($this->table_array))
{ {
@@ -405,6 +406,8 @@
public function form_get_col_name_array_from_key($want_key, $key_value = "") public function form_get_col_name_array_from_key($want_key, $key_value = "")
{ {
$key_array = array(); $key_array = array();
if (!is_array($this->table_array))
$this->table_array = array ();
reset($this->table_array); reset($this->table_array);
while (list($key, $value) = each($this->table_array)) while (list($key, $value) = each($this->table_array))
{ {
@@ -685,7 +688,7 @@
// for drop down, as data comes from a reference table // for drop down, as data comes from a reference table
// for drop_down_text it has to be an array with $key->$value // for drop_down_text it has to be an array with $key->$value
// RETURN element in HTML // RETURN element in HTML
public function form_create_element ($element_name, $query = "") public function form_create_element($element_name, $query = "")
{ {
// special 2nd color for "binary" attribut // special 2nd color for "binary" attribut
if ($this->table_array[$element_name]["type"] == "binary" && !$this->table_array[$element_name]["value"]) if ($this->table_array[$element_name]["type"] == "binary" && !$this->table_array[$element_name]["value"])
@@ -872,6 +875,8 @@
// $error=1; // $error=1;
public function form_error_check() public function form_error_check()
{ {
if (!is_array($this->table_array))
$this->table_array = array ();
reset($this->table_array); reset($this->table_array);
while (list($key, $value) = each($this->table_array)) while (list($key, $value) = each($this->table_array))
{ {
@@ -977,6 +982,8 @@
if (is_array($this->reference_array)) if (is_array($this->reference_array))
{ {
// do check for reference tables // do check for reference tables
if (!is_array($this->reference_array))
$this->reference_array = array ();
reset($this->reference_array); reset($this->reference_array);
while (list($key, $value) = each($this->reference_array)) while (list($key, $value) = each($this->reference_array))
{ {
@@ -1111,6 +1118,8 @@
public function form_unset_table_array() public function form_unset_table_array()
{ {
unset($this->pk_id); unset($this->pk_id);
if (!is_array($this->table_array))
$this->table_array = array ();
reset($this->table_array); reset($this->table_array);
while (list($key, $value) = each($this->table_array)) while (list($key, $value) = each($this->table_array))
{ {
@@ -1122,6 +1131,8 @@
} }
if (is_array($this->reference_array)) if (is_array($this->reference_array))
{ {
if (!is_array($this->reference_array))
$this->reference_array = array ();
reset($this->reference_array); reset($this->reference_array);
while (list($key, $value) = each($this->reference_array)) while (list($key, $value) = each($this->reference_array))
{ {
@@ -1143,6 +1154,8 @@
$this->table_array = $this->db_read(1); $this->table_array = $this->db_read(1);
// reset all temp fields // reset all temp fields
if (!is_array($this->table_array))
$this->table_array = array ();
reset($this->table_array); reset($this->table_array);
while (list($key, $value) = each($this->table_array)) while (list($key, $value) = each($this->table_array))
unset($this->table_array[$key]["input_value"]); unset($this->table_array[$key]["input_value"]);
@@ -1150,6 +1163,8 @@
if (is_array($this->reference_array)) if (is_array($this->reference_array))
{ {
// load each reference_table // load each reference_table
if (!is_array($this->reference_array))
$this->reference_array = array ();
reset($this->reference_array); reset($this->reference_array);
while (list($key, $value) = each($this->reference_array)) while (list($key, $value) = each($this->reference_array))
{ {
@@ -1172,6 +1187,8 @@
// global $_FILES; // global $_FILES;
// for drop_down_db_input check if text field is filled and if, if not yet in db ... // for drop_down_db_input check if text field is filled and if, if not yet in db ...
// and upload files // and upload files
if (!is_array($this->table_array))
$this->table_array = array ();
reset($this->table_array); reset($this->table_array);
while (list($key, $value) = each($this->table_array)) while (list($key, $value) = each($this->table_array))
{ {
@@ -1297,6 +1314,8 @@
// write reference array(s) if necessary // write reference array(s) if necessary
if (is_array($this->reference_array)) if (is_array($this->reference_array))
{ {
if (!is_array($this->reference_array))
$this->reference_array = array ();
reset($this->reference_array); reset($this->reference_array);
foreach ($this->reference_array AS $reference_array) foreach ($this->reference_array AS $reference_array)
{ {
@@ -1313,8 +1332,9 @@
// write element list // write element list
if (is_array($this->element_list)) if (is_array($this->element_list))
{ {
if (!is_array($this->element_list))
$this->element_list = array ();
reset($this->element_list); reset($this->element_list);
while (list($table_name, $reference_array) = each($this->element_list)) while (list($table_name, $reference_array) = each($this->element_list))
{ {
// get the number of keys from the elements array // get the number of keys from the elements array
@@ -1436,6 +1456,8 @@ $this->debug('edit_error', "I: $i | EL Name: $prfx$el_name | Data: ".$_POST[$prf
// remove any reference arrays // remove any reference arrays
if (is_array($this->reference_array)) if (is_array($this->reference_array))
{ {
if (!is_array($this->reference_array))
$this->reference_array = array ();
reset($this->reference_array); reset($this->reference_array);
foreach ($this->reference_array AS $reference_array) foreach ($this->reference_array AS $reference_array)
{ {
@@ -1446,6 +1468,8 @@ $this->debug('edit_error', "I: $i | EL Name: $prfx$el_name | Data: ".$_POST[$prf
// remove any element list references // remove any element list references
if (is_array($this->element_list)) if (is_array($this->element_list))
{ {
if (!is_array($this->element_list))
$this->element_list = array ();
reset($this->element_list); reset($this->element_list);
while (list($table_name, $data_array) = each($this->element_list)) while (list($table_name, $data_array) = each($this->element_list))
{ {
@@ -1454,6 +1478,8 @@ $this->debug('edit_error', "I: $i | EL Name: $prfx$el_name | Data: ".$_POST[$prf
} }
} }
// unlink ALL files // unlink ALL files
if (!is_array($this->table_array))
$this->table_array = array ();
reset($this->table_array); reset($this->table_array);
while (list($key, $value) = each($this->table_array)) while (list($key, $value) = each($this->table_array))
{ {
@@ -1471,7 +1497,10 @@ $this->debug('edit_error', "I: $i | EL Name: $prfx$el_name | Data: ".$_POST[$prf
// creates HTML hidden input fields out of an hash array // creates HTML hidden input fields out of an hash array
public function form_create_hidden_fields($hidden_array = "") public function form_create_hidden_fields($hidden_array = "")
{ {
reset ($this->table_array); $hidden = array ();
if (!is_array($this->table_array))
$this->table_array = array ();
reset($this->table_array);
while (list($key, $value) = each($this->table_array)) while (list($key, $value) = each($this->table_array))
{ {
if ($this->table_array[$key]["type"] == "hidden") if ($this->table_array[$key]["type"] == "hidden")
@@ -1479,9 +1508,9 @@ $this->debug('edit_error', "I: $i | EL Name: $prfx$el_name | Data: ".$_POST[$prf
$hidden_array[$key] = $this->table_array[$key]["value"]; $hidden_array[$key] = $this->table_array[$key]["value"];
} }
} }
if ($hidden_array) if (is_array($hidden_array))
{ {
reset ($hidden_array); reset($hidden_array);
while (list($key, $value) = each($hidden_array)) while (list($key, $value) = each($hidden_array))
{ {
$hidden[] = array('key' => $key, 'value' => $value); $hidden[] = array('key' => $key, 'value' => $value);
@@ -1535,6 +1564,8 @@ $this->debug('edit_error', "I: $i | EL Name: $prfx$el_name | Data: ".$_POST[$prf
$data['table_name'] = $table_name; $data['table_name'] = $table_name;
$pos = 0; // position in while for overwrite if needed $pos = 0; // position in while for overwrite if needed
// build the select part // build the select part
if (!is_array($this->element_list[$table_name]["elements"]))
$this->element_list[$table_name]["elements"] = array ();
reset($this->element_list[$table_name]["elements"]); reset($this->element_list[$table_name]["elements"]);
// generic data read in (counts for all rows) // generic data read in (counts for all rows)
while (list($el_name, $data_array) = each($this->element_list[$table_name]["elements"])) while (list($el_name, $data_array) = each($this->element_list[$table_name]["elements"]))

View File

@@ -60,12 +60,7 @@
*********************************************************************/ *********************************************************************/
// try to include file from LIBS path, or from normal path // try to include file from LIBS path, or from normal path
$include_file = 'Class.DB.IO.inc'; _spl_autoload('Class.DB.IO.inc');
foreach (array('', LIBS, __DIR__.'/') as $folder)
{
if (file_exists($folder.$include_file))
require_once($folder.$include_file);
}
class login extends db_io class login extends db_io
{ {
@@ -118,7 +113,7 @@
$this->file_name_ext = '_login_'.date('Y-m-d').'.log'; $this->file_name_ext = '_login_'.date('Y-m-d').'.log';
// get the language sub class & init it // get the language sub class & init it
require_once(LIBS."Class.l10n.inc"); _spl_autoload('Class.l10n.inc');
$this->l = new l10n($lang); $this->l = new l10n($lang);
// if we have a search path we need to set it, to use the correct DB to login // if we have a search path we need to set it, to use the correct DB to login

View File

@@ -11,12 +11,7 @@
// read in the Smarty class for definition // read in the Smarty class for definition
// use smarty BC for backwards compability // use smarty BC for backwards compability
// try to include file from LIBS path, or from normal path // try to include file from LIBS path, or from normal path
$include_file = 'SmartyBC.class.php'; _spl_autoload('SmartyBC.class.php');
foreach (array('', SMARTY, __DIR__.'/../'.SMARTY) as $folder)
{
if (file_exists($folder.$include_file))
require_once($folder.$include_file);
}
class SmartyML extends SmartyBC class SmartyML extends SmartyBC
{ {
@@ -26,7 +21,7 @@
public function __construct($lang) public function __construct($lang)
{ {
SmartyBC::__construct(); SmartyBC::__construct();
require_once(LIBS."Class.l10n.inc"); _spl_autoload('Class.l10.inc');
$this->l10n = new l10n($lang); $this->l10n = new l10n($lang);
// variable variable register // variable variable register
$this->register_modifier('getvar', array(&$this, 'get_template_vars')); $this->register_modifier('getvar', array(&$this, 'get_template_vars'));

View File

@@ -26,12 +26,7 @@
*********************************************************************/ *********************************************************************/
// try to include file from LIBS path, or from normal path // try to include file from LIBS path, or from normal path
$include_file = 'Class.Basic.inc'; _spl_autoload('Class.Basic.inc');
foreach (array('', LIBS, __DIR__.'/') as $folder)
{
if (file_exists($folder.$include_file))
require_once($folder.$include_file);
}
class l10n extends basic class l10n extends basic
{ {
@@ -42,8 +37,8 @@
public function __construct($lang = '', $path = '') public function __construct($lang = '', $path = '')
{ {
require_once(LIBS.'streams.php'); foreach (array('streas.php', 'gettext.php') as $include_file)
require_once(LIBS.'gettext.php'); _spl_autoload($include_file);
if (!$lang) if (!$lang)
$this->lang = 'en'; $this->lang = 'en';
@@ -109,6 +104,4 @@
return $this->l10n->ngettext($single, $plural, $number); return $this->l10n->ngettext($single, $plural, $number);
} }
} }
//require(LIBS.'locale.php');
?> ?>

View File

@@ -98,7 +98,7 @@ class gettext_reader {
* @param object Reader the StreamReader object * @param object Reader the StreamReader object
* @param boolean enable_cache Enable or disable caching of strings (default on) * @param boolean enable_cache Enable or disable caching of strings (default on)
*/ */
function gettext_reader($Reader, $enable_cache = true) { function __construct($Reader, $enable_cache = true) {
// If there isn't a StreamReader, turn on short circuit mode. // If there isn't a StreamReader, turn on short circuit mode.
if (! $Reader || isset($Reader->error) ) { if (! $Reader || isset($Reader->error) ) {
$this->short_circuit = true; $this->short_circuit = true;