Base transfer to namespace complete
All libraries have been transformed to namespace layout
This commit is contained in:
@@ -1,12 +1,12 @@
|
||||
#!/bin/bash
|
||||
|
||||
# create path
|
||||
path=`pwd`"/"$0;
|
||||
path=$(pwd)"/"$0;
|
||||
|
||||
LOCAL_BASE_DIR="<local folder>";
|
||||
LOCAL_DIR=$LOCAL_BASE_DIR"";
|
||||
REMOTE_WEB="<remote folder>";
|
||||
TARGET_HOST_WEB="<user>@<host>
|
||||
TARGET_HOST_WEB="<user>@<host>";
|
||||
TMP_DIR=$LOCAL_BASE_DIR"/4dev/";
|
||||
tmpf_web=$TMP_DIR"tmp.web";
|
||||
|
||||
|
||||
@@ -1,13 +1,21 @@
|
||||
#!/bin/bash
|
||||
|
||||
OIFS=${IFS};
|
||||
class_file="Class.Basic.inc";
|
||||
tmp_file="../../4dev/tmp/tmp.comp";
|
||||
base_dir="/home/clemens/html/developers/clemens/core_data/php_libraries/trunk/";
|
||||
class_file="CoreLibs/Output/Form/Generate.inc";
|
||||
tmp_file=${base_dir}"4dev/tmp/tmp.comp."$(echo "${class_file}" | tr \/. _);
|
||||
rpl_file=${base_dir}"4dev/tmp/tmp.rpl."$(echo "${class_file}" | tr \/. _);
|
||||
rm -f "${tmp_file}";
|
||||
cat "${class_file}" | grep "WAS" -B 1 | while read line;
|
||||
rm -f "${rpl_file}";
|
||||
if [ ! -f ${class_file} ];
|
||||
then
|
||||
echo "Cannot find ${class_file} in current folder: $(pwd)";
|
||||
exit;
|
||||
fi;
|
||||
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");
|
||||
found=$(echo "${line}" | sed -e 's/^[ \t]*//' | grep "METHOD:");
|
||||
if [ -n "${found}" ];
|
||||
then
|
||||
method=$(echo "${line}" | cut -d " " -f 3);
|
||||
@@ -16,7 +24,7 @@ do
|
||||
if [ -n "${method}" ];
|
||||
then
|
||||
# the full new call
|
||||
new_function_call_full=$(grep "${method}(" Class.Basic.inc | grep "function" | sed -e 's/^[ \t]*//');
|
||||
new_function_call_full=$(grep "function ${method}(" "${class_file}" | 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)
|
||||
@@ -37,26 +45,28 @@ do
|
||||
fi;
|
||||
fi;
|
||||
# if this is a WAS
|
||||
was=$(echo "${line}" | sed -e 's/^[ \t]*//' | grep "WAS" | tr -s " ");
|
||||
was=$(echo "${line}" | sed -e 's/^[ \t]*//' | grep "WAS :" | tr -s " ");
|
||||
if [ -n "${was}" ];
|
||||
then
|
||||
old_function_call=$(echo "${was}" | cut -d " " -f 3)
|
||||
old_function_call=$(echo "${was}" | cut -d " " -f 4)
|
||||
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}"\terror_log('DEPRECATED CALL: '.__METHOD__.', '.__FILE__.':'.__LINE__.', '.debug_backtrace()[0]['file'].':'.debug_backtrace()[0]['line']);\n";
|
||||
new_call=${new_call}"\treturn \$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 "3B RPL CALL: return \$this->${new_function_call}(${old_function_call_params});";
|
||||
echo "4 SWT RPL : rpl '\$this->${old_function_call}' '\$this->${new_function_call}'";
|
||||
# write the replace calls for old $this->old_call to $this->new_call
|
||||
echo "rpl '\$this->${old_function_call}' '\$this->${new_function_call}' ##TARGET_FILE##" >> "${rpl_file}";
|
||||
echo "----";
|
||||
fi;
|
||||
done;
|
||||
IFS=${OIFS};
|
||||
IFS=${OIFS};
|
||||
|
||||
# __END__
|
||||
|
||||
@@ -28,22 +28,15 @@ define(REL_PATH, '');
|
||||
|
||||
ob_start();
|
||||
include("config.inc");
|
||||
// set session name here
|
||||
define('SET_SESSION_NAME', EDIT_SESSION_NAME);
|
||||
// overrride debug flags
|
||||
if (!DEBUG) {
|
||||
$DEBUG_ALL = 0;
|
||||
$PRINT_ALL = 0;
|
||||
$DB_DEBUG = 0;
|
||||
$ECHO_ALL = 0;
|
||||
// $DEBUG_TMPL = 0;
|
||||
}
|
||||
// set session name here
|
||||
define('SET_SESSION_NAME', EDIT_SESSION_NAME);
|
||||
// login class
|
||||
require(LIBS."Class.Login.inc");
|
||||
// form generate for edit interface
|
||||
require(LIBS."Class.Form.Generate.inc");
|
||||
// Smarty: and the small extend for l10n calls
|
||||
require(LIBS.'Class.Smarty.Extend.inc');
|
||||
|
||||
// set default lang if not set otherwise
|
||||
if (!$lang) {
|
||||
@@ -52,17 +45,17 @@ if (!$lang) {
|
||||
// should be utf8
|
||||
header("Content-type: text/html; charset=".DEFAULT_ENCODING);
|
||||
ob_end_flush();
|
||||
$login = new login($DB_CONFIG[LOGIN_DB], $lang);
|
||||
$login = new CoreLibs\ACL\Login($DB_CONFIG[LOGIN_DB], $lang);
|
||||
|
||||
// create form class
|
||||
$form = new form($DB_CONFIG[MAIN_DB], $lang);
|
||||
$form = new CoreLibs\Output\Form\Generate($DB_CONFIG[MAIN_DB], $lang);
|
||||
$form->db_exec("SET search_path TO ".LOGIN_DB_SCHEMA);
|
||||
if ($form->mobile_phone) {
|
||||
echo "I am sorry, but this page cannot be viewed by a mobile phone";
|
||||
exit;
|
||||
}
|
||||
// smarty template engine (extended Translation version)
|
||||
$smarty = new SmartyML($lang);
|
||||
$smarty = new CoreLibs\Template\SmartyExtend($lang);
|
||||
|
||||
if (TARGET == 'live' || TARGET == 'remote') {
|
||||
// login
|
||||
@@ -98,7 +91,7 @@ function EditLog($event = '', $data = '')
|
||||
{
|
||||
$q = "INSERT INTO edit_log ";
|
||||
$q .= "(euid, event_date, ip, event, data, page) ";
|
||||
$q .= "VALUES (".$_SESSION['EUID'].", NOW(), '".$_SERVER["REMOTE_ADDR"]."', '".$GLOBALS['form']->db_escape_string($event)."', '".$GLOBALS['form']->db_escape_string($data)."', '".$GLOBALS['form']->get_page_name()."')";
|
||||
$q .= "VALUES (".$_SESSION['EUID'].", NOW(), '".$_SERVER["REMOTE_ADDR"]."', '".$GLOBALS['form']->dbEscapeString($event)."', '".$GLOBALS['form']->dbEscapeString($data)."', '".$GLOBALS['form']->getPageName()."')";
|
||||
}
|
||||
|
||||
// log backend data
|
||||
@@ -112,11 +105,11 @@ $data = array (
|
||||
// log action
|
||||
EditLog('Edit Submit', serialize($data));
|
||||
|
||||
$form->form_procedure_load(${$form->archive_pk_name});
|
||||
$form->form_procedure_new();
|
||||
$form->form_procedure_save();
|
||||
$form->form_procedure_delete();
|
||||
$form->form_procedure_delete_from_element_list($element_list, $remove_name);
|
||||
$form->formProcedureLoad(${$form->archive_pk_name});
|
||||
$form->formProcedureNew();
|
||||
$form->formProcedureSave();
|
||||
$form->formProcedureDelete();
|
||||
$form->formProcedureDeleteFromElementList($element_list, $remove_name);
|
||||
|
||||
// define all needed smarty stuff for the general HTML/page building
|
||||
$HEADER['CSS'] = CSS;
|
||||
@@ -128,7 +121,7 @@ $HEADER['JAVASCRIPT'] = $EDIT_JAVASCRIPT;
|
||||
$DATA['table_width'] = $table_width;
|
||||
|
||||
// write out error / status messages
|
||||
$messages[] = $form->form_error_msg();
|
||||
$messages[] = $form->formErrorMsg();
|
||||
$DATA['form_error_msg'] = $messages;
|
||||
|
||||
// MENU START
|
||||
@@ -172,7 +165,7 @@ for ($i = 1; $i <= count($menuarray); $i ++) {
|
||||
if ($i == 1 || !(($i - 1) % $SPLIT_FACTOR)) {
|
||||
$menu_data[$j]['splitfactor_in'] = 1;
|
||||
}
|
||||
if ($menuarray[($i - 1)]["filename"] == $form->get_page_name()) {
|
||||
if ($menuarray[($i - 1)]["filename"] == $form->getPageName()) {
|
||||
$position = $i - 1;
|
||||
$menu_data[$j]['position'] = 1;
|
||||
} else {
|
||||
@@ -197,42 +190,42 @@ $L_TITLE = $DATA['page_name'];
|
||||
$HEADER['HTML_TITLE'] = ((!$L_TITLE) ? $form->l->__($G_TITLE) : $form->l->__($L_TITLE));
|
||||
// END MENU
|
||||
// LOAD AND NEW
|
||||
$DATA['load'] = $form->form_create_load();
|
||||
$DATA['new'] = $form->form_create_new();
|
||||
$DATA['load'] = $form->formCreateLoad();
|
||||
$DATA['new'] = $form->formCreateNew();
|
||||
// SHOW DATA PART
|
||||
if ($form->yes) {
|
||||
$DATA['form_yes'] = $form->yes;
|
||||
$DATA['form_my_page_name'] = $form->my_page_name;
|
||||
|
||||
// depending on the "get_page_name()" I show different stuff
|
||||
// depending on the "getPageName()" I show different stuff
|
||||
switch ($form->my_page_name) {
|
||||
case "edit_users":
|
||||
$elements[] = $form->form_create_element("login_error_count");
|
||||
$elements[] = $form->form_create_element("login_error_date_last");
|
||||
$elements[] = $form->form_create_element("login_error_date_first");
|
||||
$elements[] = $form->form_create_element("enabled");
|
||||
$elements[] = $form->form_create_element("username");
|
||||
$elements[] = $form->form_create_element("password");
|
||||
$elements[] = $form->form_create_element("password_change_interval");
|
||||
$elements[] = $form->form_create_element("email");
|
||||
$elements[] = $form->form_create_element("last_name");
|
||||
$elements[] = $form->form_create_element("first_name");
|
||||
$elements[] = $form->form_create_element("edit_group_id");
|
||||
$elements[] = $form->form_create_element("edit_access_right_id");
|
||||
$elements[] = $form->form_create_element("strict");
|
||||
$elements[] = $form->form_create_element("locked");
|
||||
$elements[] = $form->form_create_element("admin");
|
||||
$elements[] = $form->form_create_element("debug");
|
||||
$elements[] = $form->form_create_element("db_debug");
|
||||
$elements[] = $form->form_create_element("edit_language_id");
|
||||
$elements[] = $form->form_create_element("edit_scheme_id");
|
||||
$elements[] = $form->form_show_list_table("edit_access_user");
|
||||
$elements[] = $form->formCreateElement("login_error_count");
|
||||
$elements[] = $form->formCreateElement("login_error_date_last");
|
||||
$elements[] = $form->formCreateElement("login_error_date_first");
|
||||
$elements[] = $form->formCreateElement("enabled");
|
||||
$elements[] = $form->formCreateElement("username");
|
||||
$elements[] = $form->formCreateElement("password");
|
||||
$elements[] = $form->formCreateElement("password_change_interval");
|
||||
$elements[] = $form->formCreateElement("email");
|
||||
$elements[] = $form->formCreateElement("last_name");
|
||||
$elements[] = $form->formCreateElement("first_name");
|
||||
$elements[] = $form->formCreateElement("edit_group_id");
|
||||
$elements[] = $form->formCreateElement("edit_access_right_id");
|
||||
$elements[] = $form->formCreateElement("strict");
|
||||
$elements[] = $form->formCreateElement("locked");
|
||||
$elements[] = $form->formCreateElement("admin");
|
||||
$elements[] = $form->formCreateElement("debug");
|
||||
$elements[] = $form->formCreateElement("db_debug");
|
||||
$elements[] = $form->formCreateElement("edit_language_id");
|
||||
$elements[] = $form->formCreateElement("edit_scheme_id");
|
||||
$elements[] = $form->formShowListTable("edit_access_user");
|
||||
break;
|
||||
case "edit_schemes":
|
||||
$elements[] = $form->form_create_element("enabled");
|
||||
$elements[] = $form->form_create_element("name");
|
||||
$elements[] = $form->form_create_element("header_color");
|
||||
$elements[] = $form->form_create_element("template");
|
||||
$elements[] = $form->formCreateElement("enabled");
|
||||
$elements[] = $form->formCreateElement("name");
|
||||
$elements[] = $form->formCreateElement("header_color");
|
||||
$elements[] = $form->formCreateElement("template");
|
||||
break;
|
||||
case "edit_pages":
|
||||
if (!$form->table_array["edit_page_id"]["value"]) {
|
||||
@@ -243,57 +236,57 @@ if ($form->yes) {
|
||||
// now get all that are NOT in de DB
|
||||
$q = "INSERT INTO temp_files VALUES ";
|
||||
for ($i = 0; $i < count($output); $i ++) {
|
||||
$t_q = "('".$form->db_escape_string($output[$i])."')";
|
||||
$form->db_exec($q.$t_q, 'NULL');
|
||||
$t_q = "('".$form->dbEscapeString($output[$i])."')";
|
||||
$form->dbExec($q.$t_q, 'NULL');
|
||||
}
|
||||
$elements[] = $form->form_create_element("filename");
|
||||
$elements[] = $form->formCreateElement("filename");
|
||||
} else {
|
||||
// show file menu
|
||||
// just show name of file ...
|
||||
$DATA['filename_exist'] = 1;
|
||||
$DATA['filename'] = $form->table_array["filename"]["value"];
|
||||
} // File Name View IF
|
||||
$elements[] = $form->form_create_element("name");
|
||||
// $elements[] = $form->form_create_element("tag");
|
||||
// $elements[] = $form->form_create_element("min_acl");
|
||||
$elements[] = $form->form_create_element("order_number");
|
||||
$elements[] = $form->form_create_element("online");
|
||||
$elements[] = $form->form_create_element("menu");
|
||||
$elements[] = $form->form_show_list_table("edit_query_string");
|
||||
$elements[] = $form->form_create_element("popup");
|
||||
$elements[] = $form->form_create_element("popup_x");
|
||||
$elements[] = $form->form_create_element("popup_y");
|
||||
$elements[] = $form->form_show_reference_table("edit_visible_group");
|
||||
$elements[] = $form->form_show_reference_table("edit_menu_group");
|
||||
$elements[] = $form->formCreateElement("name");
|
||||
// $elements[] = $form->formCreateElement("tag");
|
||||
// $elements[] = $form->formCreateElement("min_acl");
|
||||
$elements[] = $form->formCreateElement("order_number");
|
||||
$elements[] = $form->formCreateElement("online");
|
||||
$elements[] = $form->formCreateElement("menu");
|
||||
$elements[] = $form->formShowListTable("edit_query_string");
|
||||
$elements[] = $form->formCreateElement("popup");
|
||||
$elements[] = $form->formCreateElement("popup_x");
|
||||
$elements[] = $form->formCreateElement("popup_y");
|
||||
$elements[] = $form->formShowReferenceTable("edit_visible_group");
|
||||
$elements[] = $form->formShowReferenceTable("edit_menu_group");
|
||||
break;
|
||||
case "edit_languages":
|
||||
$elements[] = $form->form_create_element("enabled");
|
||||
$elements[] = $form->form_create_element("short_name");
|
||||
$elements[] = $form->form_create_element("long_name");
|
||||
$elements[] = $form->form_create_element("iso_name");
|
||||
$elements[] = $form->formCreateElement("enabled");
|
||||
$elements[] = $form->formCreateElement("short_name");
|
||||
$elements[] = $form->formCreateElement("long_name");
|
||||
$elements[] = $form->formCreateElement("iso_name");
|
||||
break;
|
||||
case "edit_groups":
|
||||
$elements[] = $form->form_create_element("enabled");
|
||||
$elements[] = $form->form_create_element("name");
|
||||
$elements[] = $form->form_create_element("edit_access_right_id");
|
||||
$elements[] = $form->form_create_element("edit_scheme_id");
|
||||
$elements[] = $form->form_show_list_table("edit_page_access");
|
||||
$elements[] = $form->formCreateElement("enabled");
|
||||
$elements[] = $form->formCreateElement("name");
|
||||
$elements[] = $form->formCreateElement("edit_access_right_id");
|
||||
$elements[] = $form->formCreateElement("edit_scheme_id");
|
||||
$elements[] = $form->formShowListTable("edit_page_access");
|
||||
break;
|
||||
case "edit_visible_group":
|
||||
$elements[] = $form->form_create_element("name");
|
||||
$elements[] = $form->form_create_element("flag");
|
||||
$elements[] = $form->formCreateElement("name");
|
||||
$elements[] = $form->formCreateElement("flag");
|
||||
break;
|
||||
case "edit_menu_group":
|
||||
$elements[] = $form->form_create_element("name");
|
||||
$elements[] = $form->form_create_element("flag");
|
||||
$elements[] = $form->form_create_element("order_number");
|
||||
$elements[] = $form->formCreateElement("name");
|
||||
$elements[] = $form->formCreateElement("flag");
|
||||
$elements[] = $form->formCreateElement("order_number");
|
||||
break;
|
||||
case "edit_access":
|
||||
$elements[] = $form->form_create_element("name");
|
||||
$elements[] = $form->form_create_element("color");
|
||||
$elements[] = $form->form_create_element("description");
|
||||
$elements[] = $form->formCreateElement("name");
|
||||
$elements[] = $form->formCreateElement("color");
|
||||
$elements[] = $form->formCreateElement("description");
|
||||
// add name/value list here
|
||||
$elements[] = $form->form_show_list_table("edit_access_data");
|
||||
$elements[] = $form->formShowListTable("edit_access_data");
|
||||
break;
|
||||
default:
|
||||
print "[No valid page definition given]";
|
||||
@@ -301,8 +294,8 @@ if ($form->yes) {
|
||||
}
|
||||
// $form->debug('edit', "Elements: <pre>".$form->print_ar($elements));
|
||||
$DATA['elements'] = $elements;
|
||||
$DATA['hidden'] = $form->form_create_hidden_fields();
|
||||
$DATA['save_delete'] = $form->form_create_save_delete();
|
||||
$DATA['hidden'] = $form->formCreateHiddenFields();
|
||||
$DATA['save_delete'] = $form->formCreateSaveDelete();
|
||||
}
|
||||
|
||||
// debug data, if DEBUG flag is on, this data is print out
|
||||
@@ -315,10 +308,10 @@ while (list($key, $value) = each($CONTENT_DATA)) {
|
||||
$smarty->assign($key, $value);
|
||||
}
|
||||
|
||||
// $smarty->assign('popup_page', 'mt_popup_'.$body_part.'.tpl');
|
||||
|
||||
$smarty->display('edit_body.tpl');
|
||||
|
||||
// debug output
|
||||
echo $login->print_error_msg();
|
||||
echo $form->print_error_msg();
|
||||
echo $login->printErrorMsg();
|
||||
echo $form->printErrorMsg();
|
||||
|
||||
# __END__
|
||||
|
||||
@@ -1,209 +1,196 @@
|
||||
<?
|
||||
/********************************************************************
|
||||
* AUTHOR: Clemens Schwaighofer
|
||||
* CREATED: 2001/07/11
|
||||
* SHORT DESCRIPTION:
|
||||
* sets the order from a table (edit_)
|
||||
* HISTORY:
|
||||
* 2005/07/11 (cs) adept to new edit interface
|
||||
* 2002-10-18: little include changes
|
||||
* 2001-07-11: erste Version
|
||||
**********************************************************************/
|
||||
/********************************************************************
|
||||
* AUTHOR: Clemens Schwaighofer
|
||||
* CREATED: 2001/07/11
|
||||
* SHORT DESCRIPTION:
|
||||
* sets the order from a table (edit_)
|
||||
* HISTORY:
|
||||
* 2005/07/11 (cs) adept to new edit interface
|
||||
* 2002-10-18: little include changes
|
||||
* 2001-07-11: erste Version
|
||||
**********************************************************************/
|
||||
|
||||
$DEBUG_ALL = 1;
|
||||
$DB_DEBUG = 1;
|
||||
$DEBUG_ALL = 1;
|
||||
$DB_DEBUG = 1;
|
||||
|
||||
extract($_GET, EXTR_SKIP);
|
||||
extract($_POST, EXTR_SKIP);
|
||||
extract($_GET, EXTR_SKIP);
|
||||
extract($_POST, EXTR_SKIP);
|
||||
|
||||
include("config.inc");
|
||||
// overrride debug flags
|
||||
if (!DEBUG)
|
||||
{
|
||||
$DEBUG_ALL = 0;
|
||||
$PRINT_ALL = 0;
|
||||
$DB_DEBUG = 0;
|
||||
$ECHO_ALL = 0;
|
||||
// $DEBUG_TMPL = 0;
|
||||
}
|
||||
// set session name
|
||||
define('SET_SESSION_NAME', EDIT_SESSION_NAME);
|
||||
require(LIBS."Class.Login.inc");
|
||||
require(LIBS.'Class.Smarty.Extend.inc');
|
||||
include("config.inc");
|
||||
// set session name
|
||||
define('SET_SESSION_NAME', EDIT_SESSION_NAME);
|
||||
// overrride debug flags
|
||||
if (!DEBUG) {
|
||||
$DEBUG_ALL = 0;
|
||||
$PRINT_ALL = 0;
|
||||
$DB_DEBUG = 0;
|
||||
$ECHO_ALL = 0;
|
||||
}
|
||||
|
||||
// default lang
|
||||
if (!$lang)
|
||||
$lang = DEFAULT_LANG;
|
||||
// default lang
|
||||
if (!$lang) {
|
||||
$lang = DEFAULT_LANG;
|
||||
}
|
||||
|
||||
$table_width = 600;
|
||||
if (!$table_width)
|
||||
$table_width = PAGE_WIDTH;
|
||||
$table_width = 600;
|
||||
if (!$table_width) {
|
||||
$table_width = PAGE_WIDTH;
|
||||
}
|
||||
|
||||
ob_end_flush();
|
||||
$login = new login($DB_CONFIG[LOGIN_DB], $lang);
|
||||
$db = new db_io($DB_CONFIG[MAIN_DB]);
|
||||
$db->db_exec("SET search_path TO ".LOGIN_DB_SCHEMA);
|
||||
$smarty = new SmartyML($lang);
|
||||
if (TARGET == 'live' || TARGET == 'remote')
|
||||
{
|
||||
// login
|
||||
$login->debug_output_all = DEBUG ? 1 : 0;
|
||||
$login->echo_output_all = 0;
|
||||
$login->print_output_all = DEBUG ? 1 : 0;
|
||||
// form
|
||||
$db->debug_output_all = DEBUG ? 1 : 0;
|
||||
$db->echo_output_all = 0;
|
||||
$db->print_output_all = DEBUG ? 1 : 0;
|
||||
}
|
||||
// set the template dir
|
||||
if (defined('LAYOUT'))
|
||||
{
|
||||
$smarty->setTemplateDir(LAYOUT.DEFAULT_TEMPLATE.TEMPLATES);
|
||||
$DATA['css'] = LAYOUT.DEFAULT_TEMPLATE.CSS;
|
||||
$DATA['js'] = LAYOUT.DEFAULT_TEMPLATE.JS;
|
||||
}
|
||||
else
|
||||
{
|
||||
$smarty->setTemplateDir(TEMPLATES.DEFAULT_TEMPLATE);
|
||||
$DATA['css'] = CSS.DEFAULT_TEMPLATE;
|
||||
$DATA['js'] = JS.DEFAULT_TEMPLATE;
|
||||
}
|
||||
|
||||
// order name is _always_ order_number for the edit interface
|
||||
|
||||
// follwing arrays do exist here:
|
||||
// $position ... has the positions of the array (0..max), cause in a <select> I can't put an number into the array field, in this array, there are the POSITION stored, that should CHANGE there order (up/down)
|
||||
// $row_data_id ... has ALL ids from the sorting part
|
||||
// $row_data_order ... has ALL order positions from the soirting part
|
||||
if (count($position))
|
||||
{
|
||||
$original_id = $row_data_id;
|
||||
|
||||
// FIRST u have to put right sort, then read again ...
|
||||
if ($up && $position[0] > 0) // hast to be >0 or the first one is selected and then there is no move
|
||||
{
|
||||
for ($i = 0; $i < count($position); $i++)
|
||||
{
|
||||
// change position order
|
||||
// this gets temp, id before that, gets actual (moves one "down")
|
||||
// this gets the old before (moves one "up")
|
||||
// is done for every element in row
|
||||
//echo "A: ".$row_data_id[$position[$i]]." (".$row_data_order[$position[$i]].") -- ".$row_data_id[$position[$i]-1]." (".$row_data_order[$position[$i]-1].")<br>";
|
||||
$temp_id = $row_data_id[$position[$i]];
|
||||
$row_data_id[$position[$i]] = $row_data_id[$position[$i]-1];
|
||||
$row_data_id[$position[$i]-1] = $temp_id;
|
||||
//echo "A: ".$row_data_id[$position[$i]]." (".$row_data_order[$position[$i]].") -- ".$row_data_id[$position[$i]-1]." (".$row_data_order[$position[$i]-1].")<br>";
|
||||
} // for
|
||||
} // if up
|
||||
|
||||
if ($down && ($position[count($position) - 1] != (count($row_data_id) - 1))) // the last position id from position array is not to be the count-1 of row_data_id array, or it is the last element
|
||||
{
|
||||
for ($i = count($position) - 1; $i >= 0; $i --)
|
||||
{
|
||||
// same as up, just up in other way, starts from bottom (last element) and moves "up"
|
||||
// element before actuel gets temp, this element, becomes element after this,
|
||||
// element after this, gets this
|
||||
$temp_id = $row_data_id[$position[$i] + 1];
|
||||
$row_data_id[$position[$i] + 1] = $row_data_id[$position[$i]];
|
||||
$row_data_id[$position[$i]] = $temp_id;
|
||||
} // for
|
||||
} // if down
|
||||
|
||||
// write data ... (which has to be abstrackt ...)
|
||||
if (($up && $position[0] > 0) || ($down && ($position[count($position) - 1]!=(count($row_data_id) - 1))))
|
||||
{
|
||||
for ($i = 0;$i < count($row_data_id); $i ++)
|
||||
{
|
||||
// $q="UPDATE broschueren SET broschuere_order=".$row_data_order[$i]." WHERE unique_id='".$row_data_id[$i]."'";
|
||||
$q = "UPDATE ".$table_name." SET order_number = ".$row_data_order[$i]." WHERE ".$table_name."_id = ".$row_data_id[$i];
|
||||
//echo "Q: $q<br>";
|
||||
$q = $db->db_exec($q);
|
||||
} // for all article ids ...
|
||||
} // if write
|
||||
} // if there is something to move
|
||||
|
||||
// get ...
|
||||
$q = "SELECT ".$table_name."_id, name, order_number FROM ".$table_name." ";
|
||||
if ($where_string)
|
||||
$q .= "WHERE $where_string ";
|
||||
$q .= "ORDER BY order_number";
|
||||
|
||||
while ($res = $db->db_return($q))
|
||||
{
|
||||
$row_data[] = array (
|
||||
"id" => $res[$table_name."_id"],
|
||||
"name" => $res["name"],
|
||||
"order" => $res["order_number"]
|
||||
);
|
||||
} // while read data ...
|
||||
|
||||
// define all needed smarty stuff for the general HTML/page building
|
||||
ob_end_flush();
|
||||
$login = new CoreLibs\ACL\Login($DB_CONFIG[LOGIN_DB], $lang);
|
||||
$db = new CoreLibs\DB\IO($DB_CONFIG[MAIN_DB]);
|
||||
$db->dbExec("SET search_path TO ".LOGIN_DB_SCHEMA);
|
||||
$smarty = new CoreLibs\Template\SmartyExtend($lang);
|
||||
if (TARGET == 'live' || TARGET == 'remote') {
|
||||
// login
|
||||
$login->debug_output_all = DEBUG ? 1 : 0;
|
||||
$login->echo_output_all = 0;
|
||||
$login->print_output_all = DEBUG ? 1 : 0;
|
||||
// form
|
||||
$db->debug_output_all = DEBUG ? 1 : 0;
|
||||
$db->echo_output_all = 0;
|
||||
$db->print_output_all = DEBUG ? 1 : 0;
|
||||
}
|
||||
// set the template dir
|
||||
if (defined('LAYOUT')) {
|
||||
$smarty->setTemplateDir(LAYOUT.DEFAULT_TEMPLATE.TEMPLATES);
|
||||
$DATA['css'] = LAYOUT.DEFAULT_TEMPLATE.CSS;
|
||||
$DATA['js'] = LAYOUT.DEFAULT_TEMPLATE.JS;
|
||||
$HEADER['CSS'] = CSS;
|
||||
$HEADER['DEFAULT_ENCODING'] = DEFAULT_ENCODING;
|
||||
$HEADER['JS'] = JS;
|
||||
$HEADER['STYLESHEET'] = $EDIT_STYLESHEET;
|
||||
$HEADER['JAVASCRIPT'] = $EDIT_JAVASCRIPT;
|
||||
// html title
|
||||
$HEADER['HTML_TITLE'] = ((!$L_TITLE) ? $smarty->l10n->__($G_TITLE) : $smarty->l10n->__($L_TITLE));
|
||||
} else {
|
||||
$smarty->setTemplateDir(TEMPLATES.DEFAULT_TEMPLATE);
|
||||
$DATA['css'] = CSS.DEFAULT_TEMPLATE;
|
||||
$DATA['js'] = JS.DEFAULT_TEMPLATE;
|
||||
}
|
||||
|
||||
$DATA['table_width'] = $table_width;
|
||||
// order name is _always_ order_number for the edit interface
|
||||
|
||||
// error msg
|
||||
if ($error)
|
||||
{
|
||||
$messages[] = array('msg' => $msg, 'class' => 'error', 'width' => $table_width);
|
||||
}
|
||||
$DATA['form_error_msg'] = $messages;
|
||||
// follwing arrays do exist here:
|
||||
// $position ... has the positions of the array (0..max), cause in a <select>
|
||||
// I can't put an number into the array field, in this array,
|
||||
// there are the POSITION stored, that should CHANGE there order (up/down)
|
||||
// $row_data_id ... has ALL ids from the sorting part
|
||||
// $row_data_order ... has ALL order positions from the soirting part
|
||||
if (count($position)) {
|
||||
$original_id = $row_data_id;
|
||||
|
||||
// all the row data
|
||||
$options_id = array();
|
||||
$options_name = array();
|
||||
$options_selected = array();
|
||||
for ($i = 0; $i < count($row_data); $i ++)
|
||||
{
|
||||
$options_id[] = $i;
|
||||
$options_name[] = $row_data[$i]["name"];
|
||||
// list of points to order
|
||||
for ($j = 0; $j < count($position); $j++)
|
||||
{
|
||||
// if matches, put into select array
|
||||
if ($original_id[$position[$j]] == $row_data[$i]["id"])
|
||||
$options_selected[] = $i;
|
||||
// FIRST u have to put right sort, then read again ...
|
||||
// hast to be >0 or the first one is selected and then there is no move
|
||||
if ($up && $position[0] > 0) {
|
||||
for ($i = 0; $i < count($position); $i++) {
|
||||
// change position order
|
||||
// this gets temp, id before that, gets actual (moves one "down")
|
||||
// this gets the old before (moves one "up")
|
||||
// is done for every element in row
|
||||
// echo "A: ".$row_data_id[$position[$i]]." (".$row_data_order[$position[$i]].") -- ".$row_data_id[$position[$i]-1]." (".$row_data_order[$position[$i]-1].")<br>";
|
||||
$temp_id = $row_data_id[$position[$i]];
|
||||
$row_data_id[$position[$i]] = $row_data_id[$position[$i]-1];
|
||||
$row_data_id[$position[$i]-1] = $temp_id;
|
||||
// echo "A: ".$row_data_id[$position[$i]]." (".$row_data_order[$position[$i]].") -- ".$row_data_id[$position[$i]-1]." (".$row_data_order[$position[$i]-1].")<br>";
|
||||
} // for
|
||||
} // if up
|
||||
|
||||
// the last position id from position array is not to be the count-1 of row_data_id array, or it is the last element
|
||||
if ($down && ($position[count($position) - 1] != (count($row_data_id) - 1))) {
|
||||
for ($i = count($position) - 1; $i >= 0; $i --) {
|
||||
// same as up, just up in other way, starts from bottom (last element) and moves "up"
|
||||
// element before actuel gets temp, this element, becomes element after this,
|
||||
// element after this, gets this
|
||||
$temp_id = $row_data_id[$position[$i] + 1];
|
||||
$row_data_id[$position[$i] + 1] = $row_data_id[$position[$i]];
|
||||
$row_data_id[$position[$i]] = $temp_id;
|
||||
} // for
|
||||
} // if down
|
||||
|
||||
// write data ... (which has to be abstrackt ...)
|
||||
if (($up && $position[0] > 0) || ($down && ($position[count($position) - 1]!=(count($row_data_id) - 1)))) {
|
||||
for ($i = 0; $i < count($row_data_id); $i ++) {
|
||||
$q = "UPDATE ".$table_name." SET order_number = ".$row_data_order[$i]." WHERE ".$table_name."_id = ".$row_data_id[$i];
|
||||
$q = $db->dbExec($q);
|
||||
} // for all article ids ...
|
||||
} // if write
|
||||
} // if there is something to move
|
||||
|
||||
// get ...
|
||||
$q = "SELECT ".$table_name."_id, name, order_number FROM ".$table_name." ";
|
||||
if ($where_string) {
|
||||
$q .= "WHERE $where_string ";
|
||||
}
|
||||
$q .= "ORDER BY order_number";
|
||||
|
||||
while ($res = $db->dbReturn($q)) {
|
||||
$row_data[] = array (
|
||||
"id" => $res[$table_name."_id"],
|
||||
"name" => $res["name"],
|
||||
"order" => $res["order_number"]
|
||||
);
|
||||
} // while read data ...
|
||||
|
||||
// define all needed smarty stuff for the general HTML/page building
|
||||
$DATA['css'] = LAYOUT.DEFAULT_TEMPLATE.CSS;
|
||||
$DATA['js'] = LAYOUT.DEFAULT_TEMPLATE.JS;
|
||||
$HEADER['CSS'] = CSS;
|
||||
$HEADER['DEFAULT_ENCODING'] = DEFAULT_ENCODING;
|
||||
$HEADER['JS'] = JS;
|
||||
$HEADER['STYLESHEET'] = $EDIT_STYLESHEET;
|
||||
$HEADER['JAVASCRIPT'] = $EDIT_JAVASCRIPT;
|
||||
// html title
|
||||
$HEADER['HTML_TITLE'] = (!$L_TITLE) ? $smarty->l10n->__($G_TITLE) : $smarty->l10n->__($L_TITLE);
|
||||
|
||||
$DATA['table_width'] = $table_width;
|
||||
|
||||
// error msg
|
||||
if ($error) {
|
||||
$messages[] = array('msg' => $msg, 'class' => 'error', 'width' => $table_width);
|
||||
}
|
||||
$DATA['form_error_msg'] = $messages;
|
||||
|
||||
// all the row data
|
||||
$options_id = array();
|
||||
$options_name = array();
|
||||
$options_selected = array();
|
||||
for ($i = 0; $i < count($row_data); $i ++) {
|
||||
$options_id[] = $i;
|
||||
$options_name[] = $row_data[$i]["name"];
|
||||
// list of points to order
|
||||
for ($j = 0; $j < count($position); $j++) {
|
||||
// if matches, put into select array
|
||||
if ($original_id[$position[$j]] == $row_data[$i]["id"]) {
|
||||
$options_selected[] = $i;
|
||||
}
|
||||
}
|
||||
$DATA['options_id'] = $options_id;
|
||||
$DATA['options_name'] = $options_name;
|
||||
$DATA['options_selected'] = $options_selected;
|
||||
}
|
||||
$DATA['options_id'] = $options_id;
|
||||
$DATA['options_name'] = $options_name;
|
||||
$DATA['options_selected'] = $options_selected;
|
||||
|
||||
// hidden list for the data (id, order number)
|
||||
$row_data_id = array();
|
||||
$row_data_order = array();
|
||||
for ($i = 0; $i < count($row_data); $i++)
|
||||
{
|
||||
$row_data_id[] = $row_data[$i]["id"];
|
||||
$row_data_order[] = $row_data[$i]["order"];
|
||||
}
|
||||
$DATA['row_data_id'] = $row_data_id;
|
||||
$DATA['row_data_order'] = $row_data_order;
|
||||
// hidden list for the data (id, order number)
|
||||
$row_data_id = array();
|
||||
$row_data_order = array();
|
||||
for ($i = 0; $i < count($row_data); $i++) {
|
||||
$row_data_id[] = $row_data[$i]["id"];
|
||||
$row_data_order[] = $row_data[$i]["order"];
|
||||
}
|
||||
$DATA['row_data_id'] = $row_data_id;
|
||||
$DATA['row_data_order'] = $row_data_order;
|
||||
|
||||
// hidden names for the table & where string
|
||||
$DATA['table_name'] = $table_name;
|
||||
$DATA['where_string'] = $where_string;
|
||||
// hidden names for the table & where string
|
||||
$DATA['table_name'] = $table_name;
|
||||
$DATA['where_string'] = $where_string;
|
||||
|
||||
// debug data, if DEBUG flag is on, this data is print out
|
||||
$DEBUG_DATA['DEBUG'] = $DEBUG_TMPL;
|
||||
// debug data, if DEBUG flag is on, this data is print out
|
||||
$DEBUG_DATA['DEBUG'] = $DEBUG_TMPL;
|
||||
|
||||
// create main data array
|
||||
$CONTENT_DATA = array_merge($HEADER, $DATA, $DEBUG_DATA);
|
||||
// data is 1:1 mapping (all vars, values, etc)
|
||||
while (list($key, $value) = each($CONTENT_DATA))
|
||||
{
|
||||
$smarty->assign($key, $value);
|
||||
}
|
||||
$smarty->display('edit_order.tpl');
|
||||
// create main data array
|
||||
$CONTENT_DATA = array_merge($HEADER, $DATA, $DEBUG_DATA);
|
||||
// data is 1:1 mapping (all vars, values, etc)
|
||||
while (list($key, $value) = each($CONTENT_DATA)) {
|
||||
$smarty->assign($key, $value);
|
||||
}
|
||||
$smarty->display('edit_order.tpl');
|
||||
|
||||
echo $login->printErrorMsg();
|
||||
echo $db->printErrorMsg();
|
||||
|
||||
# __END__
|
||||
|
||||
echo $login->print_error_msg();
|
||||
echo $db->print_error_msg();
|
||||
?>
|
||||
|
||||
@@ -1,5 +1,10 @@
|
||||
<?php
|
||||
|
||||
$DEBUG_ALL_OVERRIDE = 0; // set to 1 to debug on live/remote server locations
|
||||
$DEBUG_ALL = 1;
|
||||
$PRINT_ALL = 1;
|
||||
$DB_DEBUG = 1;
|
||||
|
||||
// namespace test
|
||||
ob_start();
|
||||
|
||||
@@ -10,11 +15,17 @@ 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]);
|
||||
$base = new CoreLibs\Admin\Backend($DB_CONFIG[MAIN_DB], $lang);
|
||||
|
||||
print "ByteStringFormat: ".$base->ByteStringFormat(1234567.12)."<br>";
|
||||
print "byteStringFormat: ".$base->byteStringFormat(1234567.12)."<br>";
|
||||
print "get_page_name: ".$base->get_page_name()."<br>";
|
||||
print "getPageName: ".$base->getPageName()."<br>";
|
||||
|
||||
print "DB Info: ".$base->dbInfo(1);
|
||||
|
||||
ob_end_flush();
|
||||
|
||||
print $base->printErrorMsg();
|
||||
|
||||
# __END__
|
||||
|
||||
@@ -57,10 +57,9 @@
|
||||
* 2000-06-01: created basic idea and functions
|
||||
*********************************************************************/
|
||||
|
||||
// try to include file from LIBS path, or from normal path
|
||||
_spl_autoload('Class.DB.IO.inc');
|
||||
namespace CoreLibs\ACL;
|
||||
|
||||
class login extends db_io
|
||||
class Login extends \CoreLibs\DB\IO
|
||||
{
|
||||
private $euid; // the user id var
|
||||
private $permission_okay = 0; // is set to one if login okay, or EUID is set and user is okay to access this page
|
||||
@@ -100,14 +99,12 @@ class login extends db_io
|
||||
exit;
|
||||
}
|
||||
|
||||
// get the language sub class & init it
|
||||
_spl_autoload('Class.l10n.inc');
|
||||
$this->l = new l10n($lang);
|
||||
$this->l = new \CoreLibs\Language\L10n($lang);
|
||||
|
||||
// if we have a search path we need to set it, to use the correct DB to login
|
||||
// check what schema to use. if there is a login schema use this, else check if there is a schema set in the config, or fall back to DB_SCHEMA if this exists, if this also does not exists use public schema
|
||||
$SCHEMA = defined('LOGIN_DB_SCHEMA') ? LOGIN_DB_SCHEMA : ($db_config['db_schema'] ? $db_config['db_schema'] : (defined('DB_SCHEMA') ? DB_SCHEMA : 'public'));
|
||||
$this->db_exec("SET search_path TO ".$SCHEMA);
|
||||
$this->dbExec("SET search_path TO ".$SCHEMA);
|
||||
$this->euid = array_key_exists('EUID', $_SESSION) ? $_SESSION['EUID'] : 0; // if there is none, there is none, saves me POST/GET check
|
||||
// get login vars, are so, can't be changed
|
||||
// prepare
|
||||
@@ -174,7 +171,7 @@ class login extends db_io
|
||||
$_SESSION['DEFAULT_ACL_LIST'] = array ();
|
||||
// read the current edit_access_right list into an array
|
||||
$q = "SELECT level, type, name FROM edit_access_right WHERE level >= 0 ORDER BY level";
|
||||
while ($res = $this->db_return($q)) {
|
||||
while ($res = $this->dbReturn($q)) {
|
||||
// level to description format (numeric)
|
||||
$this->default_acl_list[$res['level']] = array (
|
||||
'type' => $res['type'],
|
||||
@@ -185,19 +182,19 @@ class login extends db_io
|
||||
$_SESSION['DEFAULT_ACL_LIST'] = $this->default_acl_list;
|
||||
|
||||
// if username & password & !$euid start login
|
||||
$this->login_login_user();
|
||||
$this->loginLoginUser();
|
||||
// checks if $euid given check if user is okay for that side
|
||||
$this->login_check_permissions();
|
||||
$this->loginCheckPermissions();
|
||||
// logsout user
|
||||
$this->login_logout_user();
|
||||
$this->loginLogoutUser();
|
||||
// if the password change flag is okay, run the password change method
|
||||
if ($this->password_change) {
|
||||
$this->login_password_change();
|
||||
$this->loginPasswordChange();
|
||||
}
|
||||
// if !$euid || permission not okay, print login screan
|
||||
echo $this->login_print_login();
|
||||
echo $this->loginPrintLogin();
|
||||
// closing all connections, depending on error status, exit
|
||||
if (!$this->login_close_class()) {
|
||||
if (!$this->loginCloseClass()) {
|
||||
// do not go anywhere, quit processing here
|
||||
// do something with possible debug data?
|
||||
if (TARGET == 'live' || TARGET == 'remote') {
|
||||
@@ -206,14 +203,14 @@ class login extends db_io
|
||||
$this->echo_output_all = 0;
|
||||
$this->print_output_all = DEBUG ? 1 : 0;
|
||||
}
|
||||
$status_msg = $this->print_error_msg();
|
||||
$status_msg = $this->printErrorMsg();
|
||||
if ($this->echo_output_all) {
|
||||
echo $status_msg;
|
||||
}
|
||||
exit;
|
||||
}
|
||||
// set acls for this user/group and this page
|
||||
$this->login_set_acl();
|
||||
$this->loginSetAcl();
|
||||
}
|
||||
|
||||
// METHOD: _login
|
||||
@@ -225,11 +222,12 @@ class login extends db_io
|
||||
parent::__destruct();
|
||||
}
|
||||
|
||||
// METHOD: login_login_user
|
||||
// METHOD: loginLoginUser
|
||||
// WAS : login_login_user
|
||||
// PARAMS: none
|
||||
// RETURN: none
|
||||
// DESC : if user pressed login button this script is called, but only if there is no preview euid set
|
||||
private function login_login_user()
|
||||
private function loginLoginUser()
|
||||
{
|
||||
// have to get the global stuff here for setting it later
|
||||
if (!$this->euid && $this->login) {
|
||||
@@ -253,7 +251,7 @@ class login extends db_io
|
||||
$q .= "eg.edit_access_right_id = eareg.edit_access_right_id AND ";
|
||||
// password match is done in script, against old plain or new blowfish encypted
|
||||
$q .= "(LOWER(username) = '".strtolower($this->username)."') ";
|
||||
$res = $this->db_return($q);
|
||||
$res = $this->dbReturn($q);
|
||||
// username is wrong, but we throw for wrong username and wrong password the same error
|
||||
if (!$this->cursor_ext[md5($q)]["num_rows"]) {
|
||||
$this->login_error = 1010;
|
||||
@@ -280,13 +278,24 @@ class login extends db_io
|
||||
} elseif ($res['locked']) {
|
||||
// user is locked, either set or auto set
|
||||
$this->login_error = 105;
|
||||
} elseif ((preg_match("/^\\$2(a|y)\\$/", $res['password']) && CRYPT_BLOWFISH != 1) || (preg_match("/^\\$1\\$/", $res['password']) && CRYPT_MD5 != 1) || (preg_match("/^\\$[0-9A-Za-z.]{12}$/", $res['password']) && CRYPT_STD_DES != 1)) {
|
||||
} elseif ((preg_match("/^\\$2(a|y)\\$/", $res['password']) && CRYPT_BLOWFISH != 1) ||
|
||||
(preg_match("/^\\$1\\$/", $res['password']) && CRYPT_MD5 != 1) ||
|
||||
(preg_match("/^\\$[0-9A-Za-z.]{12}$/", $res['password']) && CRYPT_STD_DES != 1)
|
||||
) {
|
||||
// this means password cannot be decrypted because of missing crypt methods
|
||||
$this->login_error = 9999;
|
||||
} elseif ((preg_match("/^\\$2(a|y)\\$/", $res['password']) || preg_match("/^\\$1\\$/", $res['password']) || preg_match("/^\\$[0-9A-Za-z.]{12}$/", $res['password'])) && !$this->verifyCryptString($this->password, $res['password'])) {
|
||||
} elseif ((preg_match("/^\\$2(a|y)\\$/", $res['password']) ||
|
||||
preg_match("/^\\$1\\$/", $res['password']) ||
|
||||
preg_match("/^\\$[0-9A-Za-z.]{12}$/", $res['password'])) &&
|
||||
!$this->verifyCryptString($this->password, $res['password'])
|
||||
) {
|
||||
// check passwword as crypted, $2a$ or $2y$ is blowfish start, $1$ is MD5 start, $\w{12} is standard DES
|
||||
$this->login_error = 1011;
|
||||
} elseif (!preg_match("/^\\$2(a|y)\\$/", $res['password']) && !preg_match("/^\\$1\\$/", $res['password']) && !preg_match("/^\\$[0-9A-Za-z.]{12}$/", $res['password']) && $res['password'] != $this->password) {
|
||||
} elseif (!preg_match("/^\\$2(a|y)\\$/", $res['password']) &&
|
||||
!preg_match("/^\\$1\\$/", $res['password']) &&
|
||||
!preg_match("/^\\$[0-9A-Za-z.]{12}$/", $res['password']) &&
|
||||
$res['password'] != $this->password
|
||||
) {
|
||||
// check old plain password, non case sensitive
|
||||
$this->login_error = 1012;
|
||||
} else {
|
||||
@@ -294,7 +303,7 @@ class login extends db_io
|
||||
// set class var and session var
|
||||
$_SESSION["EUID"] = $this->euid = $res["edit_user_id"];
|
||||
// check if user is okay
|
||||
$this->login_check_permissions();
|
||||
$this->loginCheckPermissions();
|
||||
if (!$this->login_error) {
|
||||
// now set all session vars and read page permissions
|
||||
$GLOBALS["DEBUG_ALL"] = $_SESSION["DEBUG_ALL"] = $res["debug"];
|
||||
@@ -314,7 +323,7 @@ class login extends db_io
|
||||
// reset any login error count for this user
|
||||
if ($res['login_error_count'] > 0) {
|
||||
$q = "UPDATE edit_user SET login_error_count = 0, login_error_date_last = NULL, login_error_date_first = NULL WHERE edit_user_id = ".$res['edit_user_id'];
|
||||
$this->db_exec($q);
|
||||
$this->dbExec($q);
|
||||
}
|
||||
$pages = array();
|
||||
$edit_page_ids = array();
|
||||
@@ -324,7 +333,7 @@ class login extends db_io
|
||||
$q .= "WHERE ep.edit_page_id = epa.edit_page_id AND ear.edit_access_right_id = epa.edit_access_right_id ";
|
||||
$q .= "AND epa.enabled = 1 AND epa.edit_group_id = ".$res["edit_group_id"]." ";
|
||||
$q .= "ORDER BY ep.order_number";
|
||||
while ($res = $this->db_return($q)) {
|
||||
while ($res = $this->dbReturn($q)) {
|
||||
// page id array for sub data readout
|
||||
$edit_page_ids[] = $res['edit_page_id'];
|
||||
// create the array for pages
|
||||
@@ -348,22 +357,26 @@ class login extends db_io
|
||||
} // for each page
|
||||
// get the visible groups for all pages and write them to the pages
|
||||
$_edit_page_id = 0;
|
||||
$q = "SELECT epvg.edit_page_id, name, flag FROM edit_visible_group evp, edit_page_visible_group epvg WHERE evp.edit_visible_group_id = epvg.edit_visible_group_id AND epvg.edit_page_id IN (".join(', ', $edit_page_ids).") ORDER BY epvg.edit_page_id";
|
||||
while ($res = $this->db_return($q)) {
|
||||
$q = "SELECT epvg.edit_page_id, name, flag ";
|
||||
$q .= "FROM edit_visible_group evp, edit_page_visible_group epvg ";
|
||||
$q .= "WHERE evp.edit_visible_group_id = epvg.edit_visible_group_id AND epvg.edit_page_id IN (".join(', ', $edit_page_ids).") ";
|
||||
$q .= "ORDER BY epvg.edit_page_id";
|
||||
while ($res = $this->dbReturn($q)) {
|
||||
if ($res['edit_page_id'] != $_edit_page_id) {
|
||||
// search the pos in the array push
|
||||
$pos = $this->array_search_recursive($res['edit_page_id'], $pages, 'edit_page_id');
|
||||
$pos = $this->arraySearchRecursive($res['edit_page_id'], $pages, 'edit_page_id');
|
||||
$_edit_page_id = $res['edit_page_id'];
|
||||
}
|
||||
$pages[$pos[0]]['visible'][$res['name']] = $res['flag'];
|
||||
}
|
||||
// get the same for the query strings
|
||||
$_edit_page_id = 0;
|
||||
$q = "SELECT eqs.edit_page_id, name, value, dynamic FROM edit_query_string eqs WHERE enabled = 1 AND edit_page_id IN (".join(', ', $edit_page_ids).") ORDER BY eqs.edit_page_id";
|
||||
while ($res = $this->db_return($q)) {
|
||||
$q = "SELECT eqs.edit_page_id, name, value, dynamic FROM edit_query_string eqs ";
|
||||
$q .= "WHERE enabled = 1 AND edit_page_id IN (".join(', ', $edit_page_ids).") ORDER BY eqs.edit_page_id";
|
||||
while ($res = $this->dbReturn($q)) {
|
||||
if ($res['edit_page_id'] != $_edit_page_id) {
|
||||
// search the pos in the array push
|
||||
$pos = $this->array_search_recursive($res['edit_page_id'], $pages, 'edit_page_id');
|
||||
$pos = $this->arraySearchRecursive($res['edit_page_id'], $pages, 'edit_page_id');
|
||||
$_edit_page_id = $res['edit_page_id'];
|
||||
}
|
||||
$pages[$pos[0]]['query'][] = array (
|
||||
@@ -378,16 +391,17 @@ class login extends db_io
|
||||
// load the edit_access user rights
|
||||
$q = "SELECT ea.edit_access_id, level, type, ea.name, ea.color, ea.uid, edit_default ";
|
||||
$q .= "FROM edit_access_user eau, edit_access_right ear, edit_access ea ";
|
||||
$q .= "WHERE eau.edit_access_id = ea.edit_access_id AND eau.edit_access_right_id = ear.edit_access_right_id AND eau.enabled = 1 AND edit_user_id = ".$this->euid." ";
|
||||
$q .= "WHERE eau.edit_access_id = ea.edit_access_id AND eau.edit_access_right_id = ear.edit_access_right_id ";
|
||||
$q .= "AND eau.enabled = 1 AND edit_user_id = ".$this->euid." ";
|
||||
$q .= "ORDER BY ea.name";
|
||||
$unit_access = array();
|
||||
$eauid = array();
|
||||
$unit_acl = array();
|
||||
while ($res = $this->db_return($q)) {
|
||||
while ($res = $this->dbReturn($q)) {
|
||||
// read edit access data fields and drop them into the unit access array
|
||||
$q_sub ="SELECT name, value FROM edit_access_data WHERE enabled = 1 AND edit_access_id = ".$res['edit_access_id'];
|
||||
$ea_data = array ();
|
||||
while ($res_sub = $this->db_return($q_sub)) {
|
||||
while ($res_sub = $this->dbReturn($q_sub)) {
|
||||
$ea_data[$res_sub['name']] = $res_sub['value'];
|
||||
}
|
||||
// build master unit array
|
||||
@@ -419,8 +433,10 @@ class login extends db_io
|
||||
$login_error_date_first = ', login_error_date_first = NOW()';
|
||||
}
|
||||
// update login error count for this user
|
||||
$q = "UPDATE edit_user SET login_error_count = login_error_count + 1, login_error_date_last = NOW() $login_error_date_first WHERE edit_user_id = ".$res['edit_user_id'];
|
||||
$this->db_exec($q);
|
||||
$q = "UPDATE edit_user ";
|
||||
$q .= "SET login_error_count = login_error_count + 1, login_error_date_last = NOW() $login_error_date_first ";
|
||||
$q .= "WHERE edit_user_id = ".$res['edit_user_id'];
|
||||
$this->dbExec($q);
|
||||
// totally lock the user if error max is reached
|
||||
if ($res['login_error_count'] + 1 > $this->max_login_error_count) {
|
||||
// do some alert reporting in case this error is too big
|
||||
@@ -441,18 +457,19 @@ class login extends db_io
|
||||
} // if he pressed login at least and is not yet loggined in
|
||||
}
|
||||
|
||||
// METHOD: login_check_permission
|
||||
// METHOD: loginCheckPermissions
|
||||
// WAS : login_check_permission
|
||||
// PARAMS: none
|
||||
// RETUNR none
|
||||
// DESC : for every page the user access this script checks if he is allowed to do so
|
||||
public function login_check_permissions()
|
||||
public function loginCheckPermissions()
|
||||
{
|
||||
if ($this->euid && $this->login_error != 103) {
|
||||
$q = "SELECT filename ";
|
||||
$q .= "FROM edit_page ep, edit_page_access epa, edit_group eg, edit_user eu ";
|
||||
$q .= "WHERE ep.edit_page_id = epa.edit_page_id AND eg.edit_group_id = epa.edit_group_id AND eg.edit_group_id = eu.edit_group_id ";
|
||||
$q .= "AND eu.edit_user_id = ".$this->euid." AND filename = '".$this->page_name."' AND eg.enabled = 1 AND epa.enabled = 1";
|
||||
$res = $this->db_return_row($q);
|
||||
$res = $this->dbReturnRow($q);
|
||||
// unset mem limit if debug is set to 1
|
||||
// if (($GLOBALS["DEBUG_ALL"] || $GLOBALS["DB_DEBUG"] || $_SESSION["DEBUG_ALL"] || $_SESSION["DB_DEBUG"]) && ini_get('memory_limit') != -1)
|
||||
// ini_set('memory_limit', -1);
|
||||
@@ -467,11 +484,12 @@ class login extends db_io
|
||||
return $this->permission_okay;
|
||||
}
|
||||
|
||||
// METHOD: login_logout_user
|
||||
// METHOD: loginLogoutUser
|
||||
// WAS : login_logout_user
|
||||
// PARAMS: none
|
||||
// RETURN: none
|
||||
// DESC : if a user pressed on logout, destroyes session and unsets all global vars
|
||||
public function login_logout_user()
|
||||
public function loginLogoutUser()
|
||||
{
|
||||
if ($this->logout || $this->login_error) {
|
||||
// unregister and destroy session vars
|
||||
@@ -495,7 +513,8 @@ class login extends db_io
|
||||
}
|
||||
}
|
||||
|
||||
// METHOD: login_set_acl
|
||||
// METHOD: loginSetAcl
|
||||
// WAS : login_set_acl
|
||||
// PARAMS: none
|
||||
// RETURN: none
|
||||
// DESC : sets all the basic ACLs
|
||||
@@ -512,7 +531,7 @@ class login extends db_io
|
||||
// * if an account ACL is set, set this parallel, account ACL overrides user ACL if it applies
|
||||
// * if edit access ACL level is set, use this, else use page
|
||||
// set all base ACL levels as a list keyword -> ACL number
|
||||
public function login_set_acl()
|
||||
public function loginSetAcl()
|
||||
{
|
||||
// we start with the default acl
|
||||
$this->acl['base'] = DEFAULT_ACL_LEVEL;
|
||||
@@ -595,11 +614,12 @@ class login extends db_io
|
||||
// $this->debug('ACL', $this->print_ar($this->acl));
|
||||
}
|
||||
|
||||
// METHOD: login_check_edit_access
|
||||
// METHOD: loginCheckEditAccess
|
||||
// WAS : login_check_edit_access
|
||||
// PARAMS: edit_access_id to check
|
||||
// RETURN: true/false: if the edit access is not in the valid list: false
|
||||
// DESC : checks if this edit access id is valid
|
||||
public function login_check_edit_access($edit_access_id)
|
||||
public function loginCheckEditAccess($edit_access_id)
|
||||
{
|
||||
if (array_key_exists($edit_access_id, $this->acl['unit'])) {
|
||||
return true;
|
||||
@@ -608,11 +628,12 @@ class login extends db_io
|
||||
}
|
||||
}
|
||||
|
||||
// METHOD: login_password_change
|
||||
// METHOD: loginPasswordChange
|
||||
// WAS : login_password_change
|
||||
// PARAMS: none
|
||||
// RETURN: none
|
||||
// DESC : changes a user password
|
||||
private function login_password_change()
|
||||
private function loginPasswordChange()
|
||||
{
|
||||
if ($this->change_password) {
|
||||
$event = 'Password Change';
|
||||
@@ -624,8 +645,8 @@ class login extends db_io
|
||||
}
|
||||
// check user exist, if not -> error
|
||||
if (!$this->login_error) {
|
||||
$q = "SELECT edit_user_id FROM edit_user WHERE enabled = 1 AND username = '".$this->db_escape_string($this->pw_username)."'";
|
||||
list ($edit_user_id) = $this->db_return_row($q);
|
||||
$q = "SELECT edit_user_id FROM edit_user WHERE enabled = 1 AND username = '".$this->dbEscapeString($this->pw_username)."'";
|
||||
list ($edit_user_id) = $this->dbReturnRow($q);
|
||||
if (!$edit_user_id) {
|
||||
// username wrong
|
||||
$this->login_error = 201;
|
||||
@@ -634,8 +655,8 @@ class login extends db_io
|
||||
}
|
||||
// check old passwords match -> error
|
||||
if (!$this->login_error) {
|
||||
$q = "SELECT edit_user_id FROM edit_user WHERE enabled = 1 AND username = '".$this->db_escape_string($this->pw_username)."' AND password = '".$this->db_escape_string($this->pw_old_password)."'";
|
||||
list ($edit_user_id) = $this->db_return_row($q);
|
||||
$q = "SELECT edit_user_id FROM edit_user WHERE enabled = 1 AND username = '".$this->dbEscapeString($this->pw_username)."' AND password = '".$this->dbEscapeString($this->pw_old_password)."'";
|
||||
list ($edit_user_id) = $this->dbReturnRow($q);
|
||||
if (!$edit_user_id) {
|
||||
// old password wrong
|
||||
$this->login_error = 202;
|
||||
@@ -659,8 +680,8 @@ class login extends db_io
|
||||
// no error change this users password
|
||||
if (!$this->login_error) {
|
||||
// update the user (edit_user_id) with the new password
|
||||
$q = "UPDATE edit_user SET password = '".$this->db_escape_string($this->cryptString($this->pw_new_password))."' WHERE edit_user_id = ".$edit_user_id;
|
||||
$this->db_exec($q);
|
||||
$q = "UPDATE edit_user SET password = '".$this->dbEscapeString($this->cryptString($this->pw_new_password))."' WHERE edit_user_id = ".$edit_user_id;
|
||||
$this->dbExec($q);
|
||||
$data = 'Password change for user "'.$this->pw_username.'" from "'.$this->pw_old_password.'" to "'.$this->pw_new_password.'"';
|
||||
}
|
||||
} else {
|
||||
@@ -673,15 +694,16 @@ class login extends db_io
|
||||
} // button pressed
|
||||
}
|
||||
|
||||
// METHOD: login_print_login
|
||||
// METHOD: loginPrintLogin
|
||||
// WAS : login_print_login
|
||||
// PARAMS: none
|
||||
// RETURN: none
|
||||
// DESC : prints out login html part if no permission (error) is set
|
||||
private function login_print_login()
|
||||
private function loginPrintLogin()
|
||||
{
|
||||
if (!$this->permission_okay) {
|
||||
// set the templates now
|
||||
$this->login_set_templates();
|
||||
$this->loginSetTemplates();
|
||||
// if there is a global logout target ...
|
||||
if (file_exists($this->logout_target) && $this->logout_target) {
|
||||
$LOGOUT_TARGET = $this->logout_target;
|
||||
@@ -728,11 +750,12 @@ class login extends db_io
|
||||
} // if permission is 0 then print out login
|
||||
}
|
||||
|
||||
// METHOD: login_close_class
|
||||
// METHOD: loginCloseClass
|
||||
// WAS : login_close_class
|
||||
// PARAMS: none
|
||||
// RETURN: none
|
||||
// DESC : last function called, writes log and prints out error msg and exists script if permission 0
|
||||
private function login_close_class()
|
||||
private function loginCloseClass()
|
||||
{
|
||||
// write to LOG table ...
|
||||
if ($this->login_error || $this->login || $this->logout) {
|
||||
@@ -750,9 +773,9 @@ class login extends db_io
|
||||
if ($this->euid) {
|
||||
// get user from user table
|
||||
$q = "SELECT username, password FROM edit_user WHERE edit_user_id = ".$this->euid;
|
||||
list($username, $password) = $this->db_return_row($q);
|
||||
list($username, $password) = $this->dbReturnRow($q);
|
||||
} // if euid is set, get username (or try)
|
||||
$this->write_log($event, '', $this->login_error, $username, $password);
|
||||
$this->writeLog($event, '', $this->login_error, $username, $password);
|
||||
} // write log under certain settings
|
||||
// now close DB connection
|
||||
// $this->error_msg = $this->_login();
|
||||
@@ -763,11 +786,12 @@ class login extends db_io
|
||||
}
|
||||
}
|
||||
|
||||
// METHOD: login_set_templates
|
||||
// METHOD: loginSetTemplates
|
||||
// WAS : login_set_templates
|
||||
// PARAMS:
|
||||
// RETURN: none
|
||||
// DESC : checks if there are external templates, if not uses internal fallback ones
|
||||
private function login_set_templates()
|
||||
private function loginSetTemplates()
|
||||
{
|
||||
$strings = array (
|
||||
'HTML_TITLE' => $this->l->__("LOGIN"),
|
||||
@@ -911,13 +935,14 @@ EOM;
|
||||
}
|
||||
}
|
||||
|
||||
// METHOD: write_log
|
||||
// METHOD: writeLog
|
||||
// WAS : write_log
|
||||
// PARAMS: event -> string of what has been done
|
||||
// data -> data information (id, etc)
|
||||
// error -> if error, write error string (not enougth data, etc)
|
||||
// RETURN: none
|
||||
// DESC : writes detailed data into the edit user log table (keep log what user does)
|
||||
private function write_log($event, $data, $error = "", $username = "", $password = "")
|
||||
private function writeLog($event, $data, $error = "", $username = "", $password = "")
|
||||
{
|
||||
if ($this->login) {
|
||||
$this->action = 'Login';
|
||||
@@ -931,31 +956,32 @@ EOM;
|
||||
'_FILES' => $_FILES,
|
||||
'error' => $this->login_error
|
||||
);
|
||||
$data_binary = $this->db_escape_bytea(bzcompress(serialize($_data_binary)));
|
||||
$data_binary = $this->dbEscapeBytea(bzcompress(serialize($_data_binary)));
|
||||
// SQL querie for log entry
|
||||
$q = "INSERT INTO edit_log ";
|
||||
$q .= "(username, password, euid, event_date, event, error, data, data_binary, page, ";
|
||||
$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 .= "VALUES ('".$this->db_escape_string($username)."', '".$this->db_escape_string($password)."', ".(($this->euid) ? $this->euid : 'NULL').", ";
|
||||
$q .= "NOW(), '".$this->db_escape_string($event)."', '".$this->db_escape_string($error)."', '".$this->db_escape_string($data)."', '".$data_binary."', '".$this->page_name."', ";
|
||||
$q .= "VALUES ('".$this->dbEscapeString($username)."', '".$this->dbEscapeString($password)."', ".(($this->euid) ? $this->euid : 'NULL').", ";
|
||||
$q .= "NOW(), '".$this->dbEscapeString($event)."', '".$this->dbEscapeString($error)."', '".$this->dbEscapeString($data)."', '".$data_binary."', '".$this->page_name."', ";
|
||||
foreach (array('REMOTE_ADDR', 'HTTP_USER_AGENT', 'HTTP_REFERER', 'SCRIPT_FILENAME', 'QUERY_STRING', 'SERVER_NAME', 'HTTP_HOST', 'HTTP_ACCEPT', 'HTTP_ACCEPT_CHARSET', 'HTTP_ACCEPT_ENCODING') as $server_code) {
|
||||
if (array_key_exists($server_code, $_SERVER)) {
|
||||
$q .= "'".$this->db_escape_string($_SERVER[$server_code])."', ";
|
||||
$q .= "'".$this->dbEscapeString($_SERVER[$server_code])."', ";
|
||||
} else {
|
||||
$q .= "NULL, ";
|
||||
}
|
||||
}
|
||||
$q .= "'".session_id()."', ";
|
||||
$q .= "'".$this->db_escape_string($this->action)."', '".$this->db_escape_string($this->username)."', NULL, '".$this->db_escape_string($this->login_error)."', NULL, NULL, '".$this->db_escape_string($this->permission_okay)."', NULL)";
|
||||
$this->db_exec($q, 'NULL');
|
||||
$q .= "'".$this->dbEscapeString($this->action)."', '".$this->dbEscapeString($this->username)."', NULL, '".$this->dbEscapeString($this->login_error)."', NULL, NULL, '".$this->dbEscapeString($this->permission_okay)."', NULL)";
|
||||
$this->dbExec($q, 'NULL');
|
||||
}
|
||||
|
||||
// METHOD: login_check_edit_access_id
|
||||
// METHOD: loginCheckEditAccessId
|
||||
// WAS : login_check_edit_access_id
|
||||
// PARAMS: edit access id to check
|
||||
// RETURN: same edit access id if ok, or the default edit access id if given one is not valud
|
||||
// DESC : checks that the given edit access id is valid for this user
|
||||
public function login_check_edit_access_id($edit_access_id)
|
||||
public function loginCheckEditAccessId($edit_access_id)
|
||||
{
|
||||
if (!array_key_exists($edit_access_id, $_SESSION["UNIT"])) {
|
||||
return $_SESSION["UNIT_DEFAULT"];
|
||||
@@ -964,11 +990,12 @@ EOM;
|
||||
}
|
||||
}
|
||||
|
||||
// METHOD: login_set_edit_access_data
|
||||
// METHOD: loginSetEditAccessData
|
||||
// WAS : login_set_edit_access_data
|
||||
// PARAMS: edit access id, key value to search for
|
||||
// RETURN: false for not found or string for found data
|
||||
// DESC : searchs in the data set for the unit for the data key and returns the value asociated with it
|
||||
public function login_set_edit_access_data($edit_access_id, $data_key)
|
||||
public function loginSetEditAccessData($edit_access_id, $data_key)
|
||||
{
|
||||
if (!$_SESSION['UNIT'][$edit_access_id]['data'][$data_key]) {
|
||||
return false;
|
||||
@@ -977,3 +1004,5 @@ EOM;
|
||||
}
|
||||
}
|
||||
} // close class
|
||||
|
||||
# __END__
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
/*********************************************************************
|
||||
* AUTHOR: Clemens "Gullevek" Schwaighofer (www.gullevek.org)
|
||||
* CREATED: 2006/08/15
|
||||
* VERSION: 0.1.0
|
||||
* VERSION: 1.0.0
|
||||
* RELEASED LICENSE: GNU GPL 3
|
||||
* DESCRIPTION
|
||||
* Basic Admin interface backend
|
||||
@@ -22,10 +22,9 @@
|
||||
*
|
||||
*********************************************************************/
|
||||
|
||||
// try to include file from LIBS path, or from normal path
|
||||
_spl_autoload('Class.DB.IO.inc');
|
||||
namespace CoreLibs\Admin;
|
||||
|
||||
class AdminBackend extends db_io
|
||||
class Backend extends \CoreLibs\DB\IO
|
||||
{
|
||||
// page name
|
||||
public $page_name; // the name of the current page
|
||||
@@ -61,9 +60,7 @@ class AdminBackend extends db_io
|
||||
public function __construct($db_config, $lang, $debug = 0, $db_debug = 0, $echo = 1, $print = 0)
|
||||
{
|
||||
// get the language sub class & init it
|
||||
_spl_autoload('Class.l10n.inc');
|
||||
|
||||
$this->l = new l10n($lang);
|
||||
$this->l = new \CoreLibs\Language\L10n($lang);
|
||||
|
||||
// init the database class
|
||||
// $this->db_io($db_config, $debug, $db_debug, $echo, $print);
|
||||
@@ -78,7 +75,7 @@ class AdminBackend extends db_io
|
||||
);
|
||||
|
||||
// set page name
|
||||
$this->page_name = $this->get_page_name();
|
||||
$this->page_name = $this->getPageName();
|
||||
|
||||
// set the action ids
|
||||
foreach ($this->action_list as $_action) {
|
||||
@@ -122,7 +119,7 @@ class AdminBackend extends db_io
|
||||
// METHOD: adbEditLog()
|
||||
// PARAMS: event -> any kind of event description, data -> any kind of data related to that event
|
||||
// RETURN: none
|
||||
// DESC: writes all action vars plus other info into edit_log table
|
||||
// DESC : writes all action vars plus other info into edit_log table
|
||||
public function adbEditLog($event = '', $data = '', $write_type = 'STRING')
|
||||
{
|
||||
if ($write_type == 'BINARY') {
|
||||
@@ -162,7 +159,7 @@ class AdminBackend extends db_io
|
||||
// METHOD: adbTopMenu
|
||||
// PARAMS: level
|
||||
// RETURN: returns an array for the top menu with all correct settings
|
||||
// DESC: menu creater
|
||||
// DESC : menu creater
|
||||
public function adbTopMenu($flag = 0)
|
||||
{
|
||||
if ($this->menu_show_flag) {
|
||||
@@ -174,9 +171,7 @@ class AdminBackend extends db_io
|
||||
if (!is_array($pages)) {
|
||||
$pages = array ();
|
||||
}
|
||||
|
||||
//$this->debug('pages', $this->print_ar($pages));
|
||||
|
||||
// $this->debug('pages', $this->print_ar($pages));
|
||||
// if flag is 0, then we show all, else, we show only the matching flagges array points
|
||||
// array is already sorted after correct order
|
||||
reset($pages);
|
||||
@@ -244,7 +239,7 @@ class AdminBackend extends db_io
|
||||
// METHOD: adbShowMenuPoint
|
||||
// PARAMS: filename
|
||||
// RETURN: returns boolean true/false
|
||||
// DESC: checks if this filename is in the current situation (user id, etc) available
|
||||
// DESC : checks if this filename is in the current situation (user id, etc) available
|
||||
public function adbShowMenuPoint($filename)
|
||||
{
|
||||
$enabled = 0;
|
||||
@@ -260,7 +255,7 @@ class AdminBackend extends db_io
|
||||
// METHOD: adbAssocArray
|
||||
// PARAMS: db array, key, value part
|
||||
// RETURN: returns and associative array
|
||||
// DESC: creates out of a normal db_return array an assoc array
|
||||
// DESC : creates out of a normal db_return array an assoc array
|
||||
public function adbAssocArray($db_array, $key, $value)
|
||||
{
|
||||
return $this->GenAssocArray($db_array, $key, $value);
|
||||
@@ -270,7 +265,7 @@ class AdminBackend extends db_io
|
||||
// METHOD: adbByteStringFormat
|
||||
// PARAMS: int
|
||||
// RETURN: string
|
||||
// DESC: converts bytes into formated string with KB, MB, etc
|
||||
// DESC : converts bytes into formated string with KB, MB, etc
|
||||
public function adbByteStringFormat($number)
|
||||
{
|
||||
return $this->ByteStringFormat($number);
|
||||
@@ -285,7 +280,7 @@ class AdminBackend extends db_io
|
||||
// path -> if source start is not ROOT path, if empty ROOT is choosen
|
||||
// cache -> cache path, if not given TMP is used
|
||||
// RETURN: thumbnail name
|
||||
// DESC: converts picture to a thumbnail with max x and max y size
|
||||
// DESC : converts picture to a thumbnail with max x and max y size
|
||||
public function adbCreateThumbnail($pic, $size_x, $size_y, $dummy = false, $path = "", $cache = "")
|
||||
{
|
||||
return $this->CreateThumbnail($pic, $size_x, $size_y, $dummy, $path, $cache);
|
||||
@@ -296,7 +291,7 @@ class AdminBackend extends db_io
|
||||
// msg -> string, can be printf formated
|
||||
// var array -> optional data for a possible printf formated msg
|
||||
// RETURN: none
|
||||
// DESC: wrapper function to fill up the mssages array
|
||||
// DESC : wrapper function to fill up the mssages array
|
||||
public function adbMsg($level, $msg, $vars = array ())
|
||||
{
|
||||
if (!preg_match("/^info|warning|error$/", $level)) {
|
||||
@@ -329,7 +324,7 @@ class AdminBackend extends db_io
|
||||
// associate -> NULL for free, LOCK for first insert, group key for reference to first entry
|
||||
// file -> string for special file copy actions; mostyle "test#live;..."
|
||||
// RETURN: none
|
||||
// DESC: writes live queue
|
||||
// DESC : writes live queue
|
||||
public function adbLiveQueue($queue_key, $type, $target, $data, $key_name, $key_value, $associate = null, $file = null)
|
||||
{
|
||||
$q = "INSERT INTO ".GLOBAL_DB_SCHEMA.".live_queue (";
|
||||
@@ -348,7 +343,7 @@ class AdminBackend extends db_io
|
||||
// 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
|
||||
// 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
|
||||
@@ -408,3 +403,5 @@ class AdminBackend extends db_io
|
||||
return $string;
|
||||
}
|
||||
}
|
||||
|
||||
# __END__
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -4,7 +4,7 @@
|
||||
* CREATED: 2002/12/17
|
||||
* VERSION: 0.4.0
|
||||
* RELEASED LICENSE: GNU GPL 3
|
||||
* SHORT DESCRIPTION:
|
||||
* SHORT DESC :RIPTION:
|
||||
* DB Array IO Class:
|
||||
* writes, reads or deletes a complete array (one data set) in/out a
|
||||
* table from the connected DB.
|
||||
@@ -14,9 +14,9 @@
|
||||
*
|
||||
* PRIVATE VARIABLES
|
||||
*
|
||||
* PUBLIC METHODS
|
||||
* PUBLIC METHOD:S
|
||||
*
|
||||
* PRIVATE METHODS
|
||||
* PRIVATE METHOD:S
|
||||
*
|
||||
* HISTORY:
|
||||
* 2005/07/07 (cs) updated array class for postgres: set 0 & NULL if int field given, insert uses () values () syntax
|
||||
@@ -36,11 +36,10 @@
|
||||
// as it actually has nothing to do with this one here ? (or at least
|
||||
// put into separete function in this class)
|
||||
|
||||
// try to include file from LIBS path, or from normal path
|
||||
_spl_autoload('Class.DB.IO.inc');
|
||||
namespace CoreLibs\DB\Extended;
|
||||
|
||||
// subclass for one array handling
|
||||
class db_array_io extends db_io
|
||||
class ArrayIO extends \CoreLibs\DB\IO
|
||||
{
|
||||
// main calss variables
|
||||
public $table_array; // the array from the table to work on
|
||||
@@ -48,14 +47,14 @@ class db_array_io extends db_io
|
||||
public $pk_name; // the primary key from this table
|
||||
public $pk_id; // the PK id
|
||||
|
||||
// METHOD db_array_io
|
||||
// PARAMS db_config -> db_io class init vars
|
||||
// table_array -> the array from the table
|
||||
// table_name -> name of the table (for the array)
|
||||
// db_debug -> turn on db_io debug output (DB_DEBUG as global var does the same)
|
||||
// RETURN none
|
||||
// DESC constructor for the array io class, set the
|
||||
// primary key name automatically (from array)
|
||||
// METHOD: db_array_io
|
||||
// PARAMS: db_config -> db_io class init vars
|
||||
// table_array -> the array from the table
|
||||
// table_name -> name of the table (for the array)
|
||||
// db_debug -> turn on db_io debug output (DB_DEBUG as global var does the same)
|
||||
// RETURN: none
|
||||
// DESC : constructor for the array io class, set the
|
||||
// primary key name automatically (from array)
|
||||
public function __construct($db_config, $table_array, $table_name, $debug = 0, $db_debug = 0, $echo = 1, $print = 0)
|
||||
{
|
||||
// instance db_io class
|
||||
@@ -90,14 +89,15 @@ class db_array_io extends db_io
|
||||
parent::__destruct();
|
||||
}
|
||||
|
||||
// METHOD convert_data
|
||||
// PARAMS string -> the string that should be changed
|
||||
// RETURN string -> the altered string
|
||||
// DESC changes all previously alterd HTML code into visible one,
|
||||
// works for <b>,<i>, and <a> (thought <a> can be / or should
|
||||
// be handled with the magic links functions
|
||||
// used with the read function
|
||||
public function convert_data($text)
|
||||
// METHOD: convertData
|
||||
// WAS : convert_data
|
||||
// PARAMS: string -> the string that should be changed
|
||||
// RETURN: string -> the altered string
|
||||
// DESC : changes all previously alterd HTML code into visible one,
|
||||
// works for <b>,<i>, and <a> (thought <a> can be / or should
|
||||
// be handled with the magic links functions
|
||||
// used with the read function
|
||||
public function convertData($text)
|
||||
{
|
||||
$text = str_replace('<b>', '<b>', $text);
|
||||
$text = str_replace('</b>', '</b>', $text);
|
||||
@@ -110,11 +110,12 @@ class db_array_io extends db_io
|
||||
return $text;
|
||||
}
|
||||
|
||||
// METHOD convert_entities
|
||||
// PARAMS string -> string to be changed
|
||||
// RETURN string -> altered string
|
||||
// DESC changeds all HTML entities into non HTML ones
|
||||
public function convert_entities($text)
|
||||
// METHOD: convertEntities
|
||||
// WAS : convert_entities
|
||||
// PARAMS: string -> string to be changed
|
||||
// RETURN: string -> altered string
|
||||
// DESC : changeds all HTML entities into non HTML ones
|
||||
public function convertEntities($text)
|
||||
{
|
||||
$text = str_replace('<', '<', $text);
|
||||
$text = str_replace('>', '>', $text);
|
||||
@@ -124,11 +125,12 @@ class db_array_io extends db_io
|
||||
return $text;
|
||||
}
|
||||
|
||||
// METHOD db_dump_array
|
||||
// PARAMS none
|
||||
// RETURN returns the current array
|
||||
// DESC dumps the current data
|
||||
public function db_dump_array($write = 0)
|
||||
// METHOD: dbDumpArray
|
||||
// WAS : db_dump_array
|
||||
// PARAMS: none
|
||||
// RETURN: returns the current array
|
||||
// DESC : dumps the current data
|
||||
public function dbDumpArray($write = 0)
|
||||
{
|
||||
reset($this->table_array);
|
||||
while (list($column, $data_array) = each($this->table_array)) {
|
||||
@@ -141,24 +143,12 @@ class db_array_io extends db_io
|
||||
return $string;
|
||||
}
|
||||
|
||||
// METHOD _db_error
|
||||
// PARAMS none
|
||||
// RETURN none
|
||||
// DESC writes errors to internal error string
|
||||
/* function _db_error()
|
||||
{
|
||||
// if error occured
|
||||
if ($this->error_id)
|
||||
{
|
||||
$this->error_msg['db'] .= "<b>-DB_ARRAY-error-></b> ".$this->error_id.": ".$this->error_string[$this->error_id]." <br>";
|
||||
}
|
||||
} */
|
||||
|
||||
// METHOD db_check_pk_set
|
||||
// PARAMS none
|
||||
// RETURN none
|
||||
// DESC checks if pk is set and if not, set from pk_id and if this also not set return 0
|
||||
public function db_check_pk_set()
|
||||
// METHOD: dbCheckPkSet
|
||||
// WAS : db_check_pk_set
|
||||
// PARAMS: none
|
||||
// RETURN: none
|
||||
// DESC : checks if pk is set and if not, set from pk_id and if this also not set return 0
|
||||
public function dbCheckPkSet()
|
||||
{
|
||||
// if pk_id is set, overrule ...
|
||||
if ($this->pk_id) {
|
||||
@@ -168,18 +158,19 @@ class db_array_io extends db_io
|
||||
if (!$this->table_array[$this->pk_name]["value"]) {
|
||||
// if no PK found, error ...
|
||||
$this->error_id = 21;
|
||||
$this->_db_error();
|
||||
$this->__dbError();
|
||||
return 0;
|
||||
} else {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
// METHOD db_reset_array
|
||||
// PARAMS reset_pk -> if set reset the pk too
|
||||
// RETURN none
|
||||
// DESC resets the whole array
|
||||
public function db_reset_array($reset_pk = 0)
|
||||
// METHOD: dbResetArray
|
||||
// WAS : db_reset_array
|
||||
// PARAMS: reset_pk -> if set reset the pk too
|
||||
// RETURN: none
|
||||
// DESC : resets the whole array
|
||||
public function dbResetArray($reset_pk = 0)
|
||||
{
|
||||
reset($this->table_array);
|
||||
while (list($column, $data_array) = each($this->table_array)) {
|
||||
@@ -191,16 +182,17 @@ class db_array_io extends db_io
|
||||
}
|
||||
}
|
||||
|
||||
// METHOD db_delete
|
||||
// PARAMS optional the table_array, if not given uses class var
|
||||
// RETURN 1 for successfull delete or 0 for error
|
||||
// DESC deletes one dataset
|
||||
public function db_delete($table_array = 0)
|
||||
// METHOD: dbDelete
|
||||
// WAS : db_delete
|
||||
// PARAMS: optional the table_array, if not given uses class var
|
||||
// RETURN: 1 for successfull delete or 0 for error
|
||||
// DESC : deletes one dataset
|
||||
public function dbDelete($table_array = 0)
|
||||
{
|
||||
if (is_array($table_array)) {
|
||||
$this->table_array = $table_array;
|
||||
}
|
||||
if (!$this->db_check_pk_set()) {
|
||||
if (!$this->dbCheckPkSet()) {
|
||||
return $this->table_array;
|
||||
}
|
||||
// delete query
|
||||
@@ -209,7 +201,7 @@ class db_array_io extends db_io
|
||||
// delete files and build FK query
|
||||
reset($this->table_array);
|
||||
while (list($column, $data_array) = each($this->table_array)) {
|
||||
// suchen nach bildern und löschen ...
|
||||
// suchen nach bildern und lschen ...
|
||||
if ($this->table_array[$column]["file"] && file_exists($this->table_array[$column]["url"].$this->table_array[$column]["value"])) {
|
||||
if (file_exists($this->table_array[$column]["path"].$this->table_array[$column]["value"])) {
|
||||
unlink($this->table_array[$column]["path"].$this->table_array[$column]["value"]);
|
||||
@@ -227,7 +219,7 @@ class db_array_io extends db_io
|
||||
}
|
||||
$q_where .= $column." = ".$this->table_array[$column]["value"];
|
||||
}
|
||||
// allgemeines zurücksetzen des arrays
|
||||
// allgemeines zurcksetzen des arrays
|
||||
unset($this->table_array[$column]["value"]);
|
||||
}
|
||||
|
||||
@@ -237,24 +229,25 @@ class db_array_io extends db_io
|
||||
}
|
||||
// if 0, error
|
||||
unset($this->pk_id);
|
||||
if (!$this->db_exec($q)) {
|
||||
if (!$this->dbExec($q)) {
|
||||
$this->error_id=22;
|
||||
$this->_db_error();
|
||||
$this->__dbError();
|
||||
}
|
||||
return $this->table_array;
|
||||
}
|
||||
|
||||
// METHOD db_read
|
||||
// PARAMS edit -> if 1 data will not be altered for output, optional the table_array, if not given uses class var
|
||||
// RETURN true or false for reading
|
||||
// DESC reads one row into the array
|
||||
public function db_read($edit = 0, $table_array = 0)
|
||||
// METHOD: dbRead
|
||||
// WAS : db_read
|
||||
// PARAMS: edit -> if 1 data will not be altered for output, optional the table_array, if not given uses class var
|
||||
// RETURN: true or false for reading
|
||||
// DESC : reads one row into the array
|
||||
public function dbRead($edit = 0, $table_array = 0)
|
||||
{
|
||||
// if array give, overrules internal array
|
||||
if (is_array($table_array)) {
|
||||
$this->table_array = $table_array;
|
||||
}
|
||||
if (!$this->db_check_pk_set()) {
|
||||
if (!$this->dbCheckPkSet()) {
|
||||
return $this->table_array;
|
||||
}
|
||||
reset($this->table_array);
|
||||
@@ -283,12 +276,12 @@ class db_array_io extends db_io
|
||||
}
|
||||
|
||||
// if query was executed okay, else set error
|
||||
if ($this->db_exec($q)) {
|
||||
if ($res = $this->db_fetch_array()) {
|
||||
if ($this->dbExec($q)) {
|
||||
if ($res = $this->dbFetchArray()) {
|
||||
reset($this->table_array);
|
||||
while (list($column, $data_array) = each($this->table_array)) {
|
||||
// wenn "edit" dann gib daten wie in DB zurück, ansonten aufbereiten für ausgabe
|
||||
// ?? sollte das nicht draußen ??? man weis ja net was da drin steht --> is noch zu überlegen
|
||||
// wenn "edit" dann gib daten wie in DB zurck, ansonten aufbereiten fr ausgabe
|
||||
// ?? sollte das nicht drauen ??? man weis ja net was da drin steht --> is noch zu berlegen
|
||||
// echo "EDIT: $edit | Spalte: $column | type: ".$this->table_array[$column]["type"]." | Res: ".$res[$column]."<br>";
|
||||
if ($edit) {
|
||||
$this->table_array[$column]["value"] = $res[$column];
|
||||
@@ -297,25 +290,26 @@ class db_array_io extends db_io
|
||||
$this->table_array[$column]["HIDDEN_value"] = $res[$column];
|
||||
}
|
||||
} else {
|
||||
$this->table_array[$column]["value"] = $this->convert_data(nl2br($res[$column]));
|
||||
$this->table_array[$column]["value"] = $this->convertData(nl2br($res[$column]));
|
||||
// had to put out the htmlentities from the line above as it breaks japanese characters
|
||||
}
|
||||
}
|
||||
}
|
||||
// possible db_fetch_array errors ...
|
||||
// possible dbFetchArray errors ...
|
||||
$this->pk_id = $this->table_array[$this->pk_name]["value"];
|
||||
} else {
|
||||
$this->error_id = 22;
|
||||
$this->_db_error();
|
||||
$this->__dbError();
|
||||
}
|
||||
return $this->table_array;
|
||||
}
|
||||
|
||||
// METHOD db_write
|
||||
// PARAMS addslashes -> if 1 will make an addslashes for each array field, optional the table_array, if not given uses class var
|
||||
// RETURN true or false on write
|
||||
// DESC writes on set into DB or updates one set (if PK exists)
|
||||
public function db_write($addslashes = 0, $table_array = 0)
|
||||
// METHOD: dbWrite
|
||||
// WAS : db_write
|
||||
// PARAMS: addslashes -> if 1 will make an addslashes for each array field, optional the table_array, if not given uses class var
|
||||
// RETURN: true or false on write
|
||||
// DESC : writes on set into DB or updates one set (if PK exists)
|
||||
public function dbWrite($addslashes = 0, $table_array = 0)
|
||||
{
|
||||
if (is_array($table_array)) {
|
||||
$this->table_array = $table_array;
|
||||
@@ -427,9 +421,9 @@ class db_array_io extends db_io
|
||||
$q_data .= "'";
|
||||
// if add slashes do convert & add slashes else write AS is
|
||||
if ($addslashes) {
|
||||
$q_data .= $this->db_escape_string($this->convert_entities($this->table_array[$column]["value"]));
|
||||
$q_data .= $this->dbEscapeString($this->convertEntities($this->table_array[$column]["value"]));
|
||||
} else {
|
||||
$q_data .= $this->db_escape_string($this->table_array[$column]["value"]);
|
||||
$q_data .= $this->dbEscapeString($this->table_array[$column]["value"]);
|
||||
}
|
||||
$q_data .= "'";
|
||||
}
|
||||
@@ -454,7 +448,7 @@ class db_array_io extends db_io
|
||||
if (!$this->table_array[$this->pk_name]["value"]) {
|
||||
// max id, falls INSERT
|
||||
$q = "SELECT MAX(".$this->pk_name.") + 1 AS pk_id FROM ".$this->table_name;
|
||||
$res = $this->db_return_row($q);
|
||||
$res = $this->dbReturnRow($q);
|
||||
if (!$res["pk_id"]) {
|
||||
$res["pk_id"] = 1;
|
||||
}
|
||||
@@ -482,9 +476,9 @@ class db_array_io extends db_io
|
||||
// $this->pk_id = $this->table_array[$this->pk_name]["value"];
|
||||
}
|
||||
// return success or not
|
||||
if (!$this->db_exec($q)) {
|
||||
if (!$this->dbExec($q)) {
|
||||
$this->error_id = 22;
|
||||
$this->_db_error();
|
||||
$this->__dbError();
|
||||
}
|
||||
// set primary key
|
||||
if ($insert) {
|
||||
@@ -494,4 +488,60 @@ class db_array_io extends db_io
|
||||
// return the table if needed
|
||||
return $this->table_array;
|
||||
}
|
||||
|
||||
// *************************************************************
|
||||
// COMPATIBILITY METHODS
|
||||
// those methods are deprecated function call names
|
||||
// they exist for backwards compatibility only
|
||||
// *************************************************************
|
||||
|
||||
public function convert_data($text)
|
||||
{
|
||||
error_log('DEPRECATED CALL: '.__METHOD__.', '.__FILE__.':'.__LINE__.', '.debug_backtrace()[0]['file'].':'.debug_backtrace()[0]['line']);
|
||||
return $this->convertData($text);
|
||||
}
|
||||
|
||||
public function convert_entities($text)
|
||||
{
|
||||
error_log('DEPRECATED CALL: '.__METHOD__.', '.__FILE__.':'.__LINE__.', '.debug_backtrace()[0]['file'].':'.debug_backtrace()[0]['line']);
|
||||
return $this->convertEntities($text);
|
||||
}
|
||||
|
||||
public function db_dump_array($write = 0)
|
||||
{
|
||||
error_log('DEPRECATED CALL: '.__METHOD__.', '.__FILE__.':'.__LINE__.', '.debug_backtrace()[0]['file'].':'.debug_backtrace()[0]['line']);
|
||||
return $this->dbDumpArray($write);
|
||||
}
|
||||
|
||||
public function db_check_pk_set()
|
||||
{
|
||||
error_log('DEPRECATED CALL: '.__METHOD__.', '.__FILE__.':'.__LINE__.', '.debug_backtrace()[0]['file'].':'.debug_backtrace()[0]['line']);
|
||||
return $this->dbCheckPkSet();
|
||||
}
|
||||
|
||||
public function db_reset_array($reset_pk = 0)
|
||||
{
|
||||
error_log('DEPRECATED CALL: '.__METHOD__.', '.__FILE__.':'.__LINE__.', '.debug_backtrace()[0]['file'].':'.debug_backtrace()[0]['line']);
|
||||
return $this->dbResetArray($reset_pk);
|
||||
}
|
||||
|
||||
public function db_delete($table_array = 0)
|
||||
{
|
||||
error_log('DEPRECATED CALL: '.__METHOD__.', '.__FILE__.':'.__LINE__.', '.debug_backtrace()[0]['file'].':'.debug_backtrace()[0]['line']);
|
||||
return $this->dbDelete($table_array);
|
||||
}
|
||||
|
||||
public function db_read($edit = 0, $table_array = 0)
|
||||
{
|
||||
error_log('DEPRECATED CALL: '.__METHOD__.', '.__FILE__.':'.__LINE__.', '.debug_backtrace()[0]['file'].':'.debug_backtrace()[0]['line']);
|
||||
return $this->dbRead($edit, $table_array);
|
||||
}
|
||||
|
||||
public function db_write($addslashes = 0, $table_array = 0)
|
||||
{
|
||||
error_log('DEPRECATED CALL: '.__METHOD__.', '.__FILE__.':'.__LINE__.', '.debug_backtrace()[0]['file'].':'.debug_backtrace()[0]['line']);
|
||||
return $this->dbWrite($addslashes, $table_array);
|
||||
}
|
||||
} // end of class
|
||||
|
||||
# __END__
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -3,8 +3,12 @@
|
||||
* AUTHOR: Clemens "Gullevek" Schwaighofer (www.gullevek.org)
|
||||
* CREATED: 2003/04/09
|
||||
* SHORT DESCRIPTION:
|
||||
* 2018/3/23, the whole class system is transformed to namespaces
|
||||
* also all internal class calls are converted to camel case
|
||||
*
|
||||
* pgsql wrapper calls
|
||||
* HISTORY:
|
||||
*
|
||||
* HISTORY:
|
||||
* 2008/04/16 (cs) wrapper for pg escape string
|
||||
* 2007/01/11 (cs) add prepare/execute for postgres
|
||||
* 2006/09/12 (cs) in case db_query retuns false, save the query and run the query through the send/get procedure to get correct error data from the db
|
||||
@@ -37,7 +41,9 @@
|
||||
*
|
||||
*/
|
||||
|
||||
class db_pgsql
|
||||
namespace CoreLibs\DB\SQL;
|
||||
|
||||
class PgSQL
|
||||
{
|
||||
private $last_error_query;
|
||||
private $dbh;
|
||||
@@ -51,7 +57,12 @@ class db_pgsql
|
||||
{
|
||||
}
|
||||
|
||||
public function _db_last_error_query()
|
||||
// METHOD: __dbLastErrorQuery
|
||||
// WAS : _db_last_error_query
|
||||
// PARAMS: none
|
||||
// RETURN: true/false if last error is set
|
||||
// DESC : queries last error query and returns true or false if error was set
|
||||
public function __dbLastErrorQuery()
|
||||
{
|
||||
if ($this->last_error_query) {
|
||||
return true;
|
||||
@@ -60,11 +71,12 @@ class db_pgsql
|
||||
}
|
||||
}
|
||||
|
||||
// METHOD: _db_query
|
||||
// METHOD: __dbQuery
|
||||
// WAS : _db_query
|
||||
// PARAMS: query
|
||||
// RETURN: query result
|
||||
// DESC : wrapper for gp_query, catches error and stores it in class var
|
||||
public function _db_query($query)
|
||||
public function __dbQuery($query)
|
||||
{
|
||||
$this->last_error_query = '';
|
||||
// read out the query status and save the query if needed
|
||||
@@ -75,20 +87,22 @@ class db_pgsql
|
||||
return $result;
|
||||
}
|
||||
|
||||
// METHOD: _db_send_query
|
||||
// METHOD: __dbSendQuery
|
||||
// WAS : _db_send_query
|
||||
// PARAMS: query
|
||||
// RETURN: true/false if query was sent successful
|
||||
// DESC : sends an async query to the server
|
||||
public function _db_send_query($query)
|
||||
public function __dbSendQuery($query)
|
||||
{
|
||||
return pg_send_query($this->dbh, $query);
|
||||
}
|
||||
|
||||
// METHOD: _db_get_result
|
||||
// METHOD: __dbGetResult
|
||||
// WAS : _db_get_result
|
||||
// PARAMS: none
|
||||
// RETURN: resource handler
|
||||
// DESC : wrapper for pg_get_result
|
||||
public function _db_get_result()
|
||||
public function __dbGetResult()
|
||||
{
|
||||
$this->last_error_query = '';
|
||||
$result = pg_get_result($this->dbh);
|
||||
@@ -98,11 +112,12 @@ class db_pgsql
|
||||
return $result;
|
||||
}
|
||||
|
||||
// METHOD: _db_close
|
||||
// METHOD: __dbClose
|
||||
// WAS : _db_close
|
||||
// PARAMS: none
|
||||
// RETURN: none
|
||||
// DESC : wrapper for pg_close
|
||||
public function _db_close()
|
||||
public function __dbClose()
|
||||
{
|
||||
if (is_resource($this->dbh)) {
|
||||
if (pg_connection_status($this->dbh) === PGSQL_CONNECTION_OK) {
|
||||
@@ -111,11 +126,12 @@ class db_pgsql
|
||||
}
|
||||
}
|
||||
|
||||
// METHOD: _db_prepare
|
||||
// METHOD: __dbPrepare
|
||||
// WAS : _db_prepare
|
||||
// PARAMS: prepare name, query
|
||||
// RETURN: prepared statement handler
|
||||
// DESC : wrapper for pg_prepare
|
||||
public function _db_prepare($name, $query)
|
||||
public function __dbPrepare($name, $query)
|
||||
{
|
||||
$result = pg_prepare($this->dbh, $name, $query);
|
||||
if (!$result) {
|
||||
@@ -124,11 +140,12 @@ class db_pgsql
|
||||
return $result;
|
||||
}
|
||||
|
||||
// METHOD: _db_execute
|
||||
// METHOD: __dbExecute
|
||||
// WAS : _db_execute
|
||||
// PARAMS: prepare name, data for query
|
||||
// RETURN: returns status
|
||||
// DESC : wrapper for pg_execute for running a prepared statement
|
||||
public function _db_execute($name, $data)
|
||||
public function __dbExecute($name, $data)
|
||||
{
|
||||
$result = pg_execute($this->dbh, $name, $data);
|
||||
if (!$result) {
|
||||
@@ -137,73 +154,80 @@ class db_pgsql
|
||||
return $result;
|
||||
}
|
||||
|
||||
// METHOD: _db_num_rows
|
||||
// METHOD: __dbNumRows
|
||||
// WAS : _db_num_rows
|
||||
// PARAMS: cursor
|
||||
// RETURN: rows
|
||||
// DESC : wrapper for pg_num_rows
|
||||
public function _db_num_rows($cursor)
|
||||
public function __dbNumRows($cursor)
|
||||
{
|
||||
return pg_num_rows($cursor);
|
||||
}
|
||||
|
||||
// METHOD: _db_num_fields
|
||||
// METHOD: __dbNumFields
|
||||
// WAS : _db_num_fields
|
||||
// PARAMS: cursor
|
||||
// RETURN: number for fields in query
|
||||
// DESC : wrapper for pg_num_fields
|
||||
public function _db_num_fields($cursor)
|
||||
public function __dbNumFields($cursor)
|
||||
{
|
||||
return pg_num_fields($cursor);
|
||||
}
|
||||
|
||||
// METHOD: _db_field_name
|
||||
// METHOD: __dbFieldName
|
||||
// WAS : _db_field_name
|
||||
// PARAMS: cursor, field position
|
||||
// RETURN: name of field
|
||||
// DESC : wrapper for pg_field_name
|
||||
public function _db_field_name($cursor, $i)
|
||||
public function __dbFieldName($cursor, $i)
|
||||
{
|
||||
return pg_field_name($cursor, $i);
|
||||
}
|
||||
|
||||
// METHOD: _db_fetch_array
|
||||
// METHOD: __dbFetchArray
|
||||
// WAS : _db_fetch_array
|
||||
// PARAMS: cursor, opt result type
|
||||
// RETURN: row
|
||||
// DESC : wrapper for pg_fetch_array
|
||||
public function _db_fetch_array($cursor, $result_type = '')
|
||||
public function __dbFetchArray($cursor, $result_type = '')
|
||||
{
|
||||
// result type is passed on as is [should be checked]
|
||||
if ($result_type) {
|
||||
return pg_fetch_array($cursor, NULL, $result_type);
|
||||
return pg_fetch_array($cursor, null, $result_type);
|
||||
} else {
|
||||
return pg_fetch_array($cursor);
|
||||
}
|
||||
}
|
||||
|
||||
// METHOD: _db_fetch_all
|
||||
// METHOD: __dbFetchAll
|
||||
// WAS : _db_fetch_all
|
||||
// PARAMS: cursor
|
||||
// RETURN: all rows as array
|
||||
// DESC : wrapper for pg_fetch_array
|
||||
public function _db_fetch_all($cursor)
|
||||
public function __dbFetchAll($cursor)
|
||||
{
|
||||
return pg_fetch_all($cursor);
|
||||
}
|
||||
|
||||
// METHOD: _db_affected_ros
|
||||
// METHOD: __dbAffectedRows
|
||||
// WAS : _db_affected_rows
|
||||
// PARAMS: cursor
|
||||
// RETURN: number for rows
|
||||
// DESC : wrapper for pg_affected_rows
|
||||
public function _db_affected_rows($cursor)
|
||||
public function __dbAffectedRows($cursor)
|
||||
{
|
||||
return pg_affected_rows($cursor);
|
||||
}
|
||||
|
||||
// METHOD: _db_insert_id
|
||||
// METHOD: __dbInsertId
|
||||
// WAS : _db_insert_id
|
||||
// PARAMS: query, primary key name
|
||||
// RETURN: last insert primary key
|
||||
// DESC : reads the last inserted primary key for the query
|
||||
// if ther is no pk_name tries to auto built it from the table name
|
||||
// this only works if db schema is after "no plural names. and pk name is table name + _id
|
||||
// detects schema prefix in table name
|
||||
public function _db_insert_id($query, $pk_name)
|
||||
public function __dbInsertId($query, $pk_name)
|
||||
{
|
||||
// only if an insert has been done
|
||||
if (preg_match("/^insert /i", $query)) {
|
||||
@@ -229,8 +253,8 @@ class db_pgsql
|
||||
$q = "SELECT CURRVAL('$seq') AS insert_id";
|
||||
// $this->currval_query = $q;
|
||||
// I have to do manually or I overwrite the original insert internal vars ...
|
||||
if ($q = $this->_db_query($q)) {
|
||||
list($id) = $this->_db_fetch_array($q);
|
||||
if ($q = $this->__dbQuery($q)) {
|
||||
list($id) = $this->__dbFetchArray($q);
|
||||
} else {
|
||||
$id = array(-1, $q);
|
||||
}
|
||||
@@ -238,19 +262,20 @@ class db_pgsql
|
||||
}
|
||||
}
|
||||
|
||||
// METHOD: _db_primary_key
|
||||
// METHOD: __dbPrimaryKey
|
||||
// WAS : _db_primary_key
|
||||
// PARAMS: table and optional schema
|
||||
// RETURN: primary key name OR false if not possible
|
||||
// DESC : queries database for the primary key name to this table in the selected schema
|
||||
public function _db_primary_key($table, $schema = '')
|
||||
public function __dbPrimaryKey($table, $schema = '')
|
||||
{
|
||||
if ($table) {
|
||||
// check if schema set is different from schema given, only needed if schema is not empty
|
||||
$table_prefix = '';
|
||||
if ($schema) {
|
||||
$q = "SHOW search_path";
|
||||
$cursor = $this->_db_query($q);
|
||||
$search_path = $this->_db_fetch_array($cursor)['search_path'];
|
||||
$cursor = $this->__dbQuery($q);
|
||||
$search_path = $this->__dbFetchArray($cursor)['search_path'];
|
||||
if ($search_path != $schema) {
|
||||
$table_prefix = $schema.'.';
|
||||
}
|
||||
@@ -273,9 +298,9 @@ class db_pgsql
|
||||
$q .= "pg_attribute.attrelid = pg_class.oid AND ";
|
||||
$q .= "pg_attribute.attnum = any(pg_index.indkey) ";
|
||||
$q .= "AND indisprimary";
|
||||
$cursor = $this->_db_query($q);
|
||||
$cursor = $this->__dbQuery($q);
|
||||
if ($cursor) {
|
||||
return $this->_db_fetch_array($cursor)['column_name'];
|
||||
return $this->__dbFetchArray($cursor)['column_name'];
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
@@ -284,11 +309,12 @@ class db_pgsql
|
||||
}
|
||||
}
|
||||
|
||||
// METHOD: _db_connect
|
||||
// METHOD: __dbConnect
|
||||
// WAS : _db_connect
|
||||
// PARAMS: host name, user name, password, database name, optional port (defaults to default postgres port), optional ssl (default allow)
|
||||
// RETURN: database handler
|
||||
// DESC : wrapper for pg_connect, writes out failure to screen if error occurs (hidden var)
|
||||
public function _db_connect($db_host, $db_user, $db_pass, $db_name, $db_port = 5432, $db_ssl = 'allow')
|
||||
public function __dbConnect($db_host, $db_user, $db_pass, $db_name, $db_port = 5432, $db_ssl = 'allow')
|
||||
{
|
||||
// to avoid empty db_port
|
||||
if (!$db_port) {
|
||||
@@ -301,11 +327,12 @@ class db_pgsql
|
||||
return $this->dbh;
|
||||
}
|
||||
|
||||
// METHOD: _db_print_error
|
||||
// METHOD: __dbPrintError
|
||||
// WAS : _db_print_error
|
||||
// PARAMS: database handler, cursor
|
||||
// RETURN: error string (HTML)
|
||||
// DESC : reads the last error for this cursor
|
||||
public function _db_print_error($cursor = '')
|
||||
public function __dbPrintError($cursor = '')
|
||||
{
|
||||
// run the query again for the error result here
|
||||
if (!$cursor && $this->last_error_query) {
|
||||
@@ -318,47 +345,52 @@ class db_pgsql
|
||||
}
|
||||
}
|
||||
|
||||
// METHOD: _db_meta_data
|
||||
// METHOD: __dbMetaData
|
||||
// WAS : _db_meta_data
|
||||
// PARAMS: table name
|
||||
// RETURN: array with table data
|
||||
// DESC : wrapper for pg_emta_data
|
||||
public function _db_meta_data($table)
|
||||
public function __dbMetaData($table)
|
||||
{
|
||||
return pg_meta_data($this->dbh, $table);
|
||||
}
|
||||
|
||||
// METHOD: _db_escape_string
|
||||
// METHOD: __dbEscapeString
|
||||
// WAS : _db_escape_string
|
||||
// PARAMS: string
|
||||
// RETURN: escaped string for postgres
|
||||
// DESC : wrapper for pg_escape_string
|
||||
public function _db_escape_string($string)
|
||||
public function __dbEscapeString($string)
|
||||
{
|
||||
return pg_escape_string($this->dbh, $string);
|
||||
}
|
||||
|
||||
// METHOD: _db_escape_bytea
|
||||
// METHOD: __dbEscapeBytea
|
||||
// WAS : _db_escape_bytea
|
||||
// PARAMS: string
|
||||
// RETURN: escape bytes for postgres
|
||||
// DESC : wrapper for pg_escape_bytea
|
||||
public function _db_escape_bytea($bytea)
|
||||
public function __dbEscapeBytea($bytea)
|
||||
{
|
||||
return pg_escape_bytea($this->dbh, $bytea);
|
||||
}
|
||||
|
||||
// METHOD: _db_connection_busy
|
||||
// METHOD: __dbConnectionBusy
|
||||
// WAS : _db_connection_busy
|
||||
// PARAMS: none
|
||||
// RETURN: true/false for busy connection
|
||||
// DESC : wrapper for pg_connection_busy
|
||||
public function _db_connection_busy()
|
||||
public function __dbConnectionBusy()
|
||||
{
|
||||
return pg_connection_busy($this->dbh);
|
||||
}
|
||||
|
||||
// METHOD: _db_version
|
||||
// METHOD: __dbVersion
|
||||
// WAS : _db_version
|
||||
// PARAMS: none
|
||||
// RETURN: databse version
|
||||
// DESC : wrapper for pg_version
|
||||
public function _db_version()
|
||||
public function __dbVersion()
|
||||
{
|
||||
// array has client, protocol, server
|
||||
// we just need the server
|
||||
@@ -366,13 +398,14 @@ class db_pgsql
|
||||
return $v['server'];
|
||||
}
|
||||
|
||||
// METHOD: _db_array_parse
|
||||
// METHOD: __dbArrayParse
|
||||
// WAS : _db_array_parse
|
||||
// PARAMS: input text, output array [needed]
|
||||
// [internal] limit: are we at the end of the parse
|
||||
// [internal] offset: shift for {}
|
||||
// RETURN: array with the elements
|
||||
// DESC : postgresql array to php array
|
||||
public function _db_array_parse($text, &$output, $limit = false, $offset = 1)
|
||||
public function __dbArrayParse($text, &$output, $limit = false, $offset = 1)
|
||||
{
|
||||
if (false === $limit) {
|
||||
$limit = strlen($text) - 1;
|
||||
@@ -395,3 +428,5 @@ class db_pgsql
|
||||
return $output;
|
||||
}
|
||||
}
|
||||
|
||||
# __END__
|
||||
|
||||
48
www/lib/CoreLibs/Language/Core/CachedFileReader.inc
Executable file
48
www/lib/CoreLibs/Language/Core/CachedFileReader.inc
Executable file
@@ -0,0 +1,48 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
Copyright (c) 2003, 2005, 2006, 2009 Danilo Segan <danilo@kvota.net>.
|
||||
|
||||
This file is part of PHP-gettext.
|
||||
|
||||
PHP-gettext is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
PHP-gettext is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with PHP-gettext; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
namespace CoreLibs\Language\Core;
|
||||
|
||||
// Preloads entire file in memory first, then creates a StringReader
|
||||
// over it (it assumes knowledge of StringReader internals)
|
||||
class CachedFileReader extends CoreLibs\Language\Core\StringReader
|
||||
{
|
||||
public function __construct($filename)
|
||||
{
|
||||
if (file_exists($filename)) {
|
||||
$length = filesize($filename);
|
||||
$fd = fopen($filename, 'rb');
|
||||
|
||||
if (!$fd) {
|
||||
$this->error = 3; // Cannot read file, probably permissions
|
||||
return false;
|
||||
}
|
||||
$this->_str = fread($fd, $length);
|
||||
fclose($fd);
|
||||
} else {
|
||||
$this->error = 2; // File doesn't exist
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# __END__
|
||||
@@ -1,5 +1,25 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
Copyright (c) 2003, 2005, 2006, 2009 Danilo Segan <danilo@kvota.net>.
|
||||
|
||||
This file is part of PHP-gettext.
|
||||
|
||||
PHP-gettext is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
PHP-gettext is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with PHP-gettext; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
namespace CoreLibs\Language\Core;
|
||||
|
||||
class FileReader
|
||||
|
||||
54
www/lib/CoreLibs/Language/Core/StreamReader.inc
Executable file
54
www/lib/CoreLibs/Language/Core/StreamReader.inc
Executable file
@@ -0,0 +1,54 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
Copyright (c) 2003, 2005, 2006, 2009 Danilo Segan <danilo@kvota.net>.
|
||||
|
||||
This file is part of PHP-gettext.
|
||||
|
||||
PHP-gettext is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
PHP-gettext is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with PHP-gettext; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
namespace CoreLibs\Language\Core;
|
||||
|
||||
// Simple class to wrap file streams, string streams, etc.
|
||||
// seek is essential, and it should be byte stream
|
||||
class StreamReader
|
||||
{
|
||||
// should return a string [FIXME: perhaps return array of bytes?]
|
||||
public function read($bytes)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// should return new position
|
||||
public function seekto($position)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// returns current position
|
||||
public function currentpos()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// returns length of entire stream (limit for seekto()s)
|
||||
public function length()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
# __END__
|
||||
67
www/lib/CoreLibs/Language/Core/StringReader.inc
Executable file
67
www/lib/CoreLibs/Language/Core/StringReader.inc
Executable file
@@ -0,0 +1,67 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
Copyright (c) 2003, 2005, 2006, 2009 Danilo Segan <danilo@kvota.net>.
|
||||
|
||||
This file is part of PHP-gettext.
|
||||
|
||||
PHP-gettext is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
PHP-gettext is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with PHP-gettext; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
namespace CoreLibs\Language\Core;
|
||||
|
||||
class StringReader
|
||||
{
|
||||
public $sr_pos;
|
||||
public $sr_str;
|
||||
|
||||
public function __construct($str = '')
|
||||
{
|
||||
$this->sr_str = $str;
|
||||
$this->sr_pos = 0;
|
||||
}
|
||||
|
||||
public function read($bytes)
|
||||
{
|
||||
$data = substr($this->sr_str, $this->sr_pos, $bytes);
|
||||
$this->sr_pos += $bytes;
|
||||
if (strlen($this->sr_str) < $this->sr_pos) {
|
||||
$this->sr_pos = strlen($this->sr_str);
|
||||
}
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
public function seekto($pos)
|
||||
{
|
||||
$this->sr_pos = $pos;
|
||||
if (strlen($this->sr_str) < $this->sr_pos) {
|
||||
$this->sr_pos = strlen($this->sr_str);
|
||||
}
|
||||
return $this->sr_pos;
|
||||
}
|
||||
|
||||
public function currentpos()
|
||||
{
|
||||
return $this->sr_pos;
|
||||
}
|
||||
|
||||
public function length()
|
||||
{
|
||||
return strlen($this->sr_str);
|
||||
}
|
||||
}
|
||||
|
||||
# __END__
|
||||
@@ -1,182 +0,0 @@
|
||||
<?php
|
||||
/*
|
||||
Copyright (c) 2003, 2005, 2006, 2009 Danilo Segan <danilo@kvota.net>.
|
||||
|
||||
This file is part of PHP-gettext.
|
||||
|
||||
PHP-gettext is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
PHP-gettext is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with PHP-gettext; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
|
||||
// Simple class to wrap file streams, string streams, etc.
|
||||
// seek is essential, and it should be byte stream
|
||||
class StreamReader
|
||||
{
|
||||
// should return a string [FIXME: perhaps return array of bytes?]
|
||||
public function read($bytes)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// should return new position
|
||||
public function seekto($position)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// returns current position
|
||||
public function currentpos()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// returns length of entire stream (limit for seekto()s)
|
||||
public function length()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
class StringReader
|
||||
{
|
||||
public $_pos;
|
||||
public $_str;
|
||||
|
||||
public function __construct($str = '')
|
||||
{
|
||||
$this->_str = $str;
|
||||
$this->_pos = 0;
|
||||
}
|
||||
|
||||
public function read($bytes)
|
||||
{
|
||||
$data = substr($this->_str, $this->_pos, $bytes);
|
||||
$this->_pos += $bytes;
|
||||
if (strlen($this->_str)<$this->_pos) {
|
||||
$this->_pos = strlen($this->_str);
|
||||
}
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
public function seekto($pos)
|
||||
{
|
||||
$this->_pos = $pos;
|
||||
if (strlen($this->_str)<$this->_pos) {
|
||||
$this->_pos = strlen($this->_str);
|
||||
}
|
||||
return $this->_pos;
|
||||
}
|
||||
|
||||
public function currentpos()
|
||||
{
|
||||
return $this->_pos;
|
||||
}
|
||||
|
||||
public function length()
|
||||
{
|
||||
return strlen($this->_str);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
class FileReader
|
||||
{
|
||||
public $_pos;
|
||||
public $_fd;
|
||||
public $_length;
|
||||
|
||||
public function __construct($filename)
|
||||
{
|
||||
if (file_exists($filename)) {
|
||||
$this->_length=filesize($filename);
|
||||
$this->_pos = 0;
|
||||
$this->_fd = fopen($filename, 'rb');
|
||||
if (!$this->_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->_fd, $this->_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->_fd, $bytes);
|
||||
$data .= $chunk;
|
||||
$bytes -= strlen($chunk);
|
||||
}
|
||||
$this->_pos = ftell($this->_fd);
|
||||
|
||||
return $data;
|
||||
} else {
|
||||
return '';
|
||||
}
|
||||
}
|
||||
|
||||
public function seekto($pos)
|
||||
{
|
||||
fseek($this->_fd, $pos);
|
||||
$this->_pos = ftell($this->_fd);
|
||||
return $this->_pos;
|
||||
}
|
||||
|
||||
public function currentpos()
|
||||
{
|
||||
return $this->_pos;
|
||||
}
|
||||
|
||||
public function length()
|
||||
{
|
||||
return $this->_length;
|
||||
}
|
||||
|
||||
public function close()
|
||||
{
|
||||
fclose($this->_fd);
|
||||
}
|
||||
}
|
||||
|
||||
// Preloads entire file in memory first, then creates a StringReader
|
||||
// over it (it assumes knowledge of StringReader internals)
|
||||
class CachedFileReader extends StringReader
|
||||
{
|
||||
public function __construct($filename)
|
||||
{
|
||||
if (file_exists($filename)) {
|
||||
$length=filesize($filename);
|
||||
$fd = fopen($filename, 'rb');
|
||||
|
||||
if (!$fd) {
|
||||
$this->error = 3; // Cannot read file, probably permissions
|
||||
return false;
|
||||
}
|
||||
$this->_str = fread($fd, $length);
|
||||
fclose($fd);
|
||||
} else {
|
||||
$this->error = 2; // File doesn't exist
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2,7 +2,7 @@
|
||||
/*********************************************************************
|
||||
* AUTHOR: Clemens "Gullevek" Schwaighofer (www.gullevek.org)
|
||||
* CREATED: 2004/11/18
|
||||
* VERSION: 0.1.1
|
||||
* VERSION: 1.0.0
|
||||
* RELEASED LICENSE: GNU GPL 3
|
||||
* SHORT DESCRIPTION:
|
||||
* init class for gettext. Original was just a function & var setting include for wordpress.
|
||||
@@ -14,7 +14,7 @@
|
||||
*
|
||||
* PUBLIC METHODS
|
||||
* __: returns string (translated or original if not found)
|
||||
* _e: echos out string (translated or original if not found)
|
||||
* __e: echos out string (translated or original if not found)
|
||||
* __ngettext: should return plural. never tested this.
|
||||
*
|
||||
* PRIVATE METHODS
|
||||
@@ -23,10 +23,12 @@
|
||||
* 2005/10/17 (cs) made an on the fly switch method (reload of lang)
|
||||
*********************************************************************/
|
||||
|
||||
// try to include file from LIBS path, or from normal path
|
||||
_spl_autoload('Class.Basic.inc');
|
||||
namespace CoreLibs\Language;
|
||||
|
||||
class l10n extends basic
|
||||
use \CoreLibs\Language\Core\FileReader;
|
||||
use \CoreLibs\Language\Core\GetTextReader;
|
||||
|
||||
class L10n extends \CoreLibs\Basic
|
||||
{
|
||||
private $lang = '';
|
||||
private $mofile = '';
|
||||
@@ -35,10 +37,6 @@ class l10n extends basic
|
||||
|
||||
public function __construct($lang = '', $path = DEFAULT_TEMPLATE)
|
||||
{
|
||||
foreach (array('streams.php', 'gettext.php') as $include_file) {
|
||||
_spl_autoload($include_file);
|
||||
}
|
||||
|
||||
if (!$lang) {
|
||||
$this->lang = 'en';
|
||||
} else {
|
||||
@@ -60,7 +58,7 @@ class l10n extends basic
|
||||
$this->input = false;
|
||||
}
|
||||
|
||||
$this->l10n = new gettext_reader($this->input);
|
||||
$this->l10n = new GetTextReader($this->input);
|
||||
}
|
||||
|
||||
// reloads the mofile, if the location of the lang file changes
|
||||
@@ -82,7 +80,7 @@ class l10n extends basic
|
||||
// check if get a readable mofile
|
||||
if (is_readable($this->mofile)) {
|
||||
$this->input = new FileReader($this->mofile);
|
||||
$this->l10n = new gettext_reader($this->input);
|
||||
$this->l10n = new GetTextReader($this->input);
|
||||
} else {
|
||||
// else fall back to the old ones
|
||||
$this->mofile = $old_mofile;
|
||||
@@ -95,7 +93,7 @@ class l10n extends basic
|
||||
return $this->l10n->translate($text);
|
||||
}
|
||||
|
||||
public function _e($text)
|
||||
public function __e($text)
|
||||
{
|
||||
echo $this->l10n->translate($text);
|
||||
}
|
||||
@@ -106,12 +104,12 @@ class l10n extends basic
|
||||
return $this->l10n->ngettext($single, $plural, $number);
|
||||
}
|
||||
|
||||
public function __get_lang()
|
||||
public function __getLang()
|
||||
{
|
||||
return $this->lang;
|
||||
}
|
||||
|
||||
public function __get_mofile()
|
||||
public function __getMoFile()
|
||||
{
|
||||
return $this->mofile;
|
||||
}
|
||||
@@ -210,10 +210,9 @@
|
||||
* save data, loads data, etc
|
||||
*********************************************************************/
|
||||
|
||||
// try to include file from LIBS path, or from normal path
|
||||
_spl_autoload('Class.DB.Array.IO.inc');
|
||||
namespace CoreLibs\Output\Form;
|
||||
|
||||
class form extends db_array_io
|
||||
class Generate extends \CoreLibs\DB\Extended\ArrayIO
|
||||
{
|
||||
// rest
|
||||
public $field_array = array (); // for the load statetment describes which elements from the load query should be shown and i which format
|
||||
@@ -244,23 +243,20 @@ class form extends db_array_io
|
||||
// now some default error msgs (english)
|
||||
public $language_array = array ();
|
||||
|
||||
// METHOD constructor
|
||||
// PARAMS $db_config -> connect to DB
|
||||
// $lang -> language code ("en", "ja", etc)
|
||||
// $table_width -> width of table
|
||||
// $db_debug -> turns db_io debug on/off (DB_DEBUG as global var does the same)
|
||||
// METHOD: constructor
|
||||
// PARAMS: $db_config -> connect to DB
|
||||
// $lang -> language code ("en", "ja", etc)
|
||||
// $table_width -> width of table
|
||||
// $db_debug -> turns db_io debug on/off (DB_DEBUG as global var does the same)
|
||||
public function __construct($db_config, $lang, $table_width = 750, $debug = 0, $db_debug = 0, $echo = 1, $print = 0)
|
||||
{
|
||||
$this->my_page_name = $this->get_page_name(1);
|
||||
$this->my_page_name = $this->getPageName(1);
|
||||
// init the language class
|
||||
_spl_autoload('Class.l10n.inc');
|
||||
$this->l = new l10n($lang);
|
||||
$this->l = new \CoreLibs\Language\L10n($lang);
|
||||
// load config array
|
||||
// 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");
|
||||
|
||||
$config_array = ${$this->my_page_name};
|
||||
|
||||
// start the array_io class which will start db_io ...
|
||||
@@ -316,7 +312,7 @@ class form extends db_array_io
|
||||
}
|
||||
|
||||
// dumps all values into output (for error msg)
|
||||
public function form_dump_table_array()
|
||||
public function formDumpTableArray()
|
||||
{
|
||||
if (!is_array($this->table_array)) {
|
||||
$this->table_array = array ();
|
||||
@@ -338,49 +334,14 @@ class form extends db_array_io
|
||||
parent::__destruct();
|
||||
}
|
||||
|
||||
/*****************************************************
|
||||
Along here are wrapper functions for the former, old names
|
||||
*/
|
||||
|
||||
public function form_load()
|
||||
{
|
||||
return $this->form_create_load();
|
||||
}
|
||||
|
||||
public function form_new($hide_new_checkbox = 0)
|
||||
{
|
||||
return $this->form_create_new($hide_new_checkbox);
|
||||
}
|
||||
|
||||
public function form_delete_save($hide_delete = 0, $hide_delete_checkbox = 0)
|
||||
{
|
||||
return $this->form_create_save_delete($hide_delete, $hide_delete_checkbox);
|
||||
}
|
||||
|
||||
public function form_error_msg()
|
||||
{
|
||||
return $this->form_print_msg();
|
||||
}
|
||||
|
||||
public function form_show_reference_table($table_name)
|
||||
{
|
||||
return $this->form_create_element_reference_table($table_name);
|
||||
}
|
||||
|
||||
public function form_show_list_table($table_name)
|
||||
{
|
||||
return $this->form_create_element_list_table($table_name);
|
||||
}
|
||||
|
||||
// END wrapper
|
||||
|
||||
// METHOD form_get_col_name_from_key
|
||||
// PARAMS $want_key: the key where u want the data from
|
||||
// $key_value: if set searches for special right value
|
||||
// RETURN the value of the $want_key array field
|
||||
// works only with fields that appear only ONCE
|
||||
// if multiple gets only FIRST
|
||||
public function form_get_col_name_from_key($want_key, $key_value = "")
|
||||
// METHOD: formGetColNameFromKey
|
||||
// WAS : form_get_col_name_from_key
|
||||
// PARAMS: $want_key: the key where u want the data from
|
||||
// $key_value: if set searches for special right value
|
||||
// RETURN: the value of the $want_key array field
|
||||
// works only with fields that appear only ONCE
|
||||
// if multiple gets only FIRST
|
||||
public function formGetColNameFromKey($want_key, $key_value = "")
|
||||
{
|
||||
if (!is_array($this->table_array)) {
|
||||
$this->table_array = array ();
|
||||
@@ -395,11 +356,12 @@ class form extends db_array_io
|
||||
}
|
||||
}
|
||||
|
||||
// METHOD form_get_col_name_array_from_key
|
||||
// PARAMS $want_key: the key where u want the data from
|
||||
// $key_value: if set searches for special right value
|
||||
// RETURN array of fields
|
||||
public function form_get_col_name_array_from_key($want_key, $key_value = "")
|
||||
// METHOD: formGetColNameArrayFromKey
|
||||
// WAS : form_get_col_name_array_from_key
|
||||
// PARAMS: $want_key: the key where u want the data from
|
||||
// $key_value: if set searches for special right value
|
||||
// RETURN: array of fields
|
||||
public function formGetColNameArrayFromKey($want_key, $key_value = "")
|
||||
{
|
||||
$key_array = array();
|
||||
if (!is_array($this->table_array)) {
|
||||
@@ -417,10 +379,11 @@ class form extends db_array_io
|
||||
return $key_array;
|
||||
}
|
||||
|
||||
// METHOD form_print_msg
|
||||
// PARAMS none
|
||||
// RETURN formated output for the error && warning msg
|
||||
public function form_print_msg()
|
||||
// METHOD: formPrintMsg
|
||||
// WAS : form_print_msg
|
||||
// PARAMS: none
|
||||
// RETURN: formated output for the error && warning msg
|
||||
public function formPrintMsg()
|
||||
{
|
||||
if ($this->error) {
|
||||
$class = "error";
|
||||
@@ -432,11 +395,12 @@ class form extends db_array_io
|
||||
}
|
||||
|
||||
// next for functions are pre_test fkts for easier default new,load, etc handling
|
||||
// METHOD form_procedure_load
|
||||
// PARAMS archive_id - which ID should be loaded
|
||||
// RETURN none
|
||||
// DESC default load procedure
|
||||
public function form_procedure_load($archive_id)
|
||||
// METHOD: formProcedureLoad
|
||||
// WAS : form_procedure_load
|
||||
// PARAMS: archive_id - which ID should be loaded
|
||||
// RETURN: none
|
||||
// DESC : default load procedure
|
||||
public function formProcedureLoad($archive_id)
|
||||
{
|
||||
if ($this->archive && $archive_id && $this->group_level_user <= $this->security_level["load"]) {
|
||||
$this->form_load_table_array($archive_id);
|
||||
@@ -444,11 +408,12 @@ class form extends db_array_io
|
||||
}
|
||||
}
|
||||
|
||||
// METHOD form_procedure_new
|
||||
// PARAMS none
|
||||
// RETURN none
|
||||
// DESC default new procedure
|
||||
public function form_procedure_new()
|
||||
// METHOD: formProcedureNew
|
||||
// WAS : form_procedure_new
|
||||
// PARAMS: none
|
||||
// RETURN: none
|
||||
// DESC : default new procedure
|
||||
public function formProcedureNew()
|
||||
{
|
||||
if ($this->new && $this->group_level_user <= $this->security_level["new"]) {
|
||||
if ($this->really_new == "yes") {
|
||||
@@ -461,11 +426,12 @@ class form extends db_array_io
|
||||
}
|
||||
}
|
||||
|
||||
// METHOD form_procedure_save
|
||||
// PARAMS none
|
||||
// RETURN none
|
||||
// DESC default save procedure
|
||||
public function form_procedure_save()
|
||||
// METHOD: formProcedureSave
|
||||
// WAS : form_procedure_save
|
||||
// PARAMS: none
|
||||
// RETURN: none
|
||||
// DESC : default save procedure
|
||||
public function formProcedureSave()
|
||||
{
|
||||
if ($this->save && $this->group_level_user <= $this->security_level["save"]) {
|
||||
$this->form_error_check();
|
||||
@@ -476,11 +442,12 @@ class form extends db_array_io
|
||||
}
|
||||
}
|
||||
|
||||
// METHOD form_procedure_delete
|
||||
// PARAMS none
|
||||
// RETURN none
|
||||
// DESC default delete procedure
|
||||
public function form_procedure_delete()
|
||||
// METHOD: formProcedureDelete
|
||||
// WAS : form_procedure_delete
|
||||
// PARAMS: none
|
||||
// RETURN: none
|
||||
// DESC : default delete procedure
|
||||
public function formProcedureDelete()
|
||||
{
|
||||
// delete is also by "protected"
|
||||
if ($this->delete && $this->group_level_user <= $this->security_level["delete"] && !$this->table_array["protected"]["value"]) {
|
||||
@@ -498,16 +465,17 @@ class form extends db_array_io
|
||||
}
|
||||
}
|
||||
|
||||
// METHOD form_procedure_delete_from_element_list
|
||||
// PARAMS none
|
||||
// RETURN none
|
||||
// DESC default delete procedure
|
||||
public function form_procedure_delete_from_element_list($element_list, $remove_name)
|
||||
// METHOD: formProcedureDeleteFromElementList
|
||||
// WAS : form_procedure_delete_from_element_list
|
||||
// PARAMS: none
|
||||
// RETURN: none
|
||||
// DESC : default delete procedure
|
||||
public function formProcedureDeleteFromElementList($element_list, $remove_name)
|
||||
{
|
||||
// only do if the user is allowed to delete
|
||||
if ($this->group_level_user <= $this->security_level["delete"] && !$this->table_array["protected"]["value"] && !$this->error) {
|
||||
for ($i = 0; $i < count($element_list); $i ++) {
|
||||
//$this->debug('form_error', "Array: ".is_array($this->element_list[$element_list[$i]]["read_data"])." | ".$this->element_list[$element_list[$i]]["delete"]);
|
||||
// $this->debug('form_error', "Array: ".is_array($this->element_list[$element_list[$i]]["read_data"])." | ".$this->element_list[$element_list[$i]]["delete"]);
|
||||
// if prefix, set it
|
||||
$prfx = ($this->element_list[$element_list[$i]]["prefix"]) ? $this->element_list[$element_list[$i]]["prefix"]."_" : '';
|
||||
// get the primary key
|
||||
@@ -540,13 +508,13 @@ class form extends db_array_io
|
||||
}
|
||||
}
|
||||
} elseif (is_array($this->element_list[$element_list[$i]]["read_data"]) && $this->element_list[$element_list[$i]]["delete"]) {
|
||||
//$this->debug('form_clean', "ID [$id] [$prfx.$pk_name]");
|
||||
//$this->debug('form_clean', "ID arr: ".$this->print_ar($_POST[$id]));
|
||||
//$this->debug('form_clean', "PK arr: ".$this->print_ar($_POST[$prfx.$pk_name]));
|
||||
// $this->debug('form_clean', "ID [$id] [$prfx.$pk_name]");
|
||||
// $this->debug('form_clean', "ID arr: ".$this->print_ar($_POST[$id]));
|
||||
// $this->debug('form_clean', "PK arr: ".$this->print_ar($_POST[$prfx.$pk_name]));
|
||||
for ($j = 0; $j < count($_POST[$prfx.$pk_name]); $j ++) {
|
||||
if (!$_POST[$remove_name[$i]][$j] && $_POST[$prfx.$pk_name][$j]) {
|
||||
$q = "DELETE FROM ".$element_list[$i]." WHERE ".$pk_name." = ".$_POST[$prfx.$pk_name][$j];
|
||||
// $this->debug('edit_db', "DEL: $q");
|
||||
// $this->debug('edit_db', "DEL: $q");
|
||||
$this->db_exec($q);
|
||||
$this->msg .= $this->l->__("Deleted deselected entries from list<br>");
|
||||
$this->warning = 1;
|
||||
@@ -560,10 +528,11 @@ class form extends db_array_io
|
||||
}
|
||||
}
|
||||
|
||||
// METHOD form_create_load
|
||||
// PARAMS none
|
||||
// RETURN string from "load" part of form ...
|
||||
public function form_create_load()
|
||||
// METHOD: formCreateLoad
|
||||
// WAS : form_create_load
|
||||
// PARAMS: none
|
||||
// RETURN: string from "load" part of form ...
|
||||
public function formCreateLoad()
|
||||
{
|
||||
// when security leve is okay ...
|
||||
if ($this->group_level_user <= $this->security_level["load"]) {
|
||||
@@ -590,19 +559,17 @@ class form extends db_array_io
|
||||
$t_string .= $res[$this->field_array[$i]["name"]];
|
||||
}
|
||||
}
|
||||
/*
|
||||
//<? echo $res["question"]." (Lang: ".$res["lang_name"].", Freigeschalten: ".ucfirst($res["enabled"]?"ja":"nein").")"; ?>
|
||||
*/
|
||||
$pk_names[] = $t_string;
|
||||
}
|
||||
} // show it at all
|
||||
return array('t_pk_name' => $t_pk_name, 'pk_ids' => $pk_ids, 'pk_names' => $pk_names, 'pk_selected' => $pk_selected);
|
||||
}
|
||||
|
||||
// METHOD form_create_new
|
||||
// PARAMS none
|
||||
// RETURN part for new
|
||||
public function form_create_new($hide_new_checkbox = 0)
|
||||
// METHOD: formCreateNew
|
||||
// WAS : form_create_new
|
||||
// PARAMS: none
|
||||
// RETURN: part for new
|
||||
public function formCreateNew($hide_new_checkbox = 0)
|
||||
{
|
||||
// when security level is okay
|
||||
if ($this->group_level_user <= $this->security_level["new"]) {
|
||||
@@ -619,10 +586,11 @@ class form extends db_array_io
|
||||
return array('new_name' => $new_name, 'show_checkbox' => $show_checkbox);
|
||||
}
|
||||
|
||||
// METHOD form_create_save_delete
|
||||
// PARAMS none
|
||||
// RETURN string for delete / save part
|
||||
public function form_create_save_delete($hide_delete = 0, $hide_delete_checkbox = 0)
|
||||
// METHOD: formCreateSaveDelete
|
||||
// WAS : form_create_save_delete
|
||||
// PARAMS: none
|
||||
// RETURN: string for delete / save part
|
||||
public function formCreateSaveDelete($hide_delete = 0, $hide_delete_checkbox = 0)
|
||||
{
|
||||
if ($this->group_level_user <= $this->security_level["save"] || $this->group_level_user <= $this->security_level["delete"]) {
|
||||
$old_school_hidden = 0;
|
||||
@@ -647,13 +615,14 @@ class form extends db_array_io
|
||||
return array('seclevel_okay' => $seclevel_okay, 'save' => $save, 'pk_name' => $pk_name, 'pk_value' => $pk_value, 'show_delete' => $show_delete, 'hide_delete_checkbox' => $hide_delete_checkbox);
|
||||
} // end of function
|
||||
|
||||
// METHOD form_create_element
|
||||
// PARAMS $element_name: the name from the array, you want to have build
|
||||
// $query: can overrule internal query data,
|
||||
// for drop down, as data comes from a reference table
|
||||
// for drop_down_text it has to be an array with $key->$value
|
||||
// RETURN element in HTML
|
||||
public function form_create_element($element_name, $query = "")
|
||||
// METHOD: formCreateElement
|
||||
// WAS : form_create_element
|
||||
// PARAMS: $element_name: the name from the array, you want to have build
|
||||
// $query: can overrule internal query data,
|
||||
// for drop down, as data comes from a reference table
|
||||
// for drop_down_text it has to be an array with $key->$value
|
||||
// RETURN: element in HTML
|
||||
public function formCreateElement($element_name, $query = "")
|
||||
{
|
||||
// special 2nd color for "binary" attribut
|
||||
if ($this->table_array[$element_name]["type"] == "binary" && !$this->table_array[$element_name]["value"]) {
|
||||
@@ -824,13 +793,14 @@ class form extends db_array_io
|
||||
return array('output_name' => $output_name, 'color' => $EDIT_FGCOLOR_T, 'type' => $type, 'data' => $data);
|
||||
}
|
||||
|
||||
// METHOD form_error_check
|
||||
// PARAMS none
|
||||
// RETURNS full error message string for output
|
||||
// METHOD: formErrorCheck
|
||||
// WAS : form_error_check
|
||||
// PARAMS: none
|
||||
// RETURN: full error message string for output
|
||||
// should be cought like this ...
|
||||
// if ($msg=$form->form_error_check())
|
||||
// $error=1;
|
||||
public function form_error_check()
|
||||
public function formErrorCheck()
|
||||
{
|
||||
if (!is_array($this->table_array)) {
|
||||
$this->table_array = array ();
|
||||
@@ -841,7 +811,7 @@ class form extends db_array_io
|
||||
// if error value set && somethign input, check if input okay
|
||||
if ($value["error_check"] && $this->table_array[$key]["value"]) {
|
||||
// each error check can be a piped seperated value, lets split it
|
||||
//$this->debug('edit', $value["error_check"]);
|
||||
// $this->debug('edit', $value["error_check"]);
|
||||
foreach (explode('|', $value["error_check"]) as $error_check) {
|
||||
switch ($error_check) {
|
||||
case "number":
|
||||
@@ -889,20 +859,20 @@ class form extends db_array_io
|
||||
}
|
||||
break;
|
||||
case "alphanumericspace":
|
||||
//$this->debug('edit', 'IN Alphanumericspace');
|
||||
// $this->debug('edit', 'IN Alphanumericspace');
|
||||
if (!preg_match("/^[0-9A-Za-z\ ]+$/", $this->table_array[$key]["value"])) {
|
||||
$this->msg .= sprintf($this->l->__("Please enter a valid alphanumeric (Numbers and Letters, spaces allowed) value for the <b>%s</b> Field!<br>"), $this->table_array[$key]["output_name"]);
|
||||
}
|
||||
break;
|
||||
case "alphanumeric":
|
||||
//$this->debug('edit', 'IN Alphanumeric');
|
||||
// $this->debug('edit', 'IN Alphanumeric');
|
||||
if (!preg_match("/^[0-9A-Za-z_\-]+$/", $this->table_array[$key]["value"])) {
|
||||
$this->msg .= sprintf($this->l->__("Please enter a valid alphanumeric (Numbers and Letters only also - and _, no spaces) value for the <b>%s</b> Field!<br>"), $this->table_array[$key]["output_name"]);
|
||||
}
|
||||
break;
|
||||
// this one also allows @ and .
|
||||
case "alphanumericextended":
|
||||
//$this->debug('edit', 'IN Alphanumericextended');
|
||||
// $this->debug('edit', 'IN Alphanumericextended');
|
||||
if (!preg_match("/^[0-9A-Za-z_\-@\.]+$/", $this->table_array[$key]["value"])) {
|
||||
$this->msg .= sprintf($this->l->__("Please enter a valid alphanumeric extended (Numbers, Letters, -, _, @ and . only, no spaces) value for the <b>%s</b> Field!<br>"), $this->table_array[$key]["output_name"]);
|
||||
}
|
||||
@@ -928,7 +898,7 @@ class form extends db_array_io
|
||||
// main if end
|
||||
) {
|
||||
// if mandatory && no input
|
||||
//$this->debug('form', "A: ".$this->table_array[$key]["type"]." -- ".$this->table_array[$key]["input_value"]." -- ".$this->table_array[$key]["value"]);
|
||||
// $this->debug('form', "A: ".$this->table_array[$key]["type"]." -- ".$this->table_array[$key]["input_value"]." -- ".$this->table_array[$key]["value"]);
|
||||
if (!$this->table_array[$key]["value"] && $this->table_array[$key]["type"] != "binary") {
|
||||
$this->msg .= sprintf($this->l->__("Please enter something into the <b>%s</b> field!<br>"), $this->table_array[$key]["output_name"]);
|
||||
}
|
||||
@@ -964,7 +934,7 @@ class form extends db_array_io
|
||||
}
|
||||
}
|
||||
}
|
||||
//$this->debug('edit_error', "QS: <pre>".print_r($_POST, 1)."</pre>");
|
||||
// $this->debug('edit_error', "QS: <pre>".print_r($_POST, 1)."</pre>");
|
||||
if (is_array($this->element_list)) {
|
||||
// check the mandatory stuff
|
||||
// if mandatory, check that at least on pk exists or if at least the mandatory field is filled
|
||||
@@ -988,10 +958,10 @@ class form extends db_array_io
|
||||
if (count($_POST[$prfx.$key]) > $max) {
|
||||
$max = count($_POST[$prfx.$key]);
|
||||
}
|
||||
//$this->debug('edit_error_chk', "KEY: $prfx$key | count: ".count($_POST[$prfx.$key])." | M: $max");
|
||||
//$this->debug('edit_error_chk', "K: ".$_POST[$prfx.$key]." | ".$_POST[$prfx.$key][0]);
|
||||
// $this->debug('edit_error_chk', "KEY: $prfx$key | count: ".count($_POST[$prfx.$key])." | M: $max");
|
||||
// $this->debug('edit_error_chk', "K: ".$_POST[$prfx.$key]." | ".$_POST[$prfx.$key][0]);
|
||||
}
|
||||
//$this->debug('post_array', $this->print_ar($_POST));
|
||||
$this->debug('post_array', $this->print_ar($_POST));
|
||||
# check each row
|
||||
for ($i = 0; $i < $max; $i ++) {
|
||||
// either one of the post pks is set, or the mandatory
|
||||
@@ -1005,18 +975,18 @@ class form extends db_array_io
|
||||
}
|
||||
// we found a mandatory field. check now if one is set to satisfy the main mandatory
|
||||
// also check, if this field is mandatory and its not set, but any other, throw an error
|
||||
//$this->debug('edit_error_chk', "RG error - Data[".$prfx.$el_name.": ".$_POST[$prfx.$el_name][$i]." | ".$_POST[$prfx.$el_name]." - ".$reference_array['enable_name']." - ".$_POST[$reference_array['enable_name']][$_POST[$prfx.$el_name][$i]]);
|
||||
// $this->debug('edit_error_chk', "RG error - Data[".$prfx.$el_name.": ".$_POST[$prfx.$el_name][$i]." | ".$_POST[$prfx.$el_name]." - ".$reference_array['enable_name']." - ".$_POST[$reference_array['enable_name']][$_POST[$prfx.$el_name][$i]]);
|
||||
if ($data_array["mandatory"] && $_POST[$prfx.$el_name][$i]) {
|
||||
$mand_okay = 1;
|
||||
$row_okay[$i] = 1;
|
||||
} elseif ($data_array['type'] == 'radio_group' && !isset($_POST[$prfx.$el_name])) {
|
||||
// radio group and set where one not active
|
||||
//$this->debug('edit_error_chk', "RADIO GROUP");
|
||||
// $this->debug('edit_error_chk', "RADIO GROUP");
|
||||
$row_okay[$_POST[$prfx.$el_name][$i]] = 0;
|
||||
$default_wrong[$_POST[$prfx.$el_name][$i]] = 1;
|
||||
$error[$_POST[$prfx.$el_name][$i]] = 1;
|
||||
} elseif ($_POST[$prfx.$el_name][$i] && !$error[$i]) {
|
||||
//$this->debug('edit_error_chk', "[$i]");
|
||||
// $this->debug('edit_error_chk', "[$i]");
|
||||
$element_set[$i] = 1;
|
||||
$row_okay[$i] = 1;
|
||||
} elseif ($data_array["mandatory"] && !$_POST[$prfx.$el_name][$i]) {
|
||||
@@ -1068,11 +1038,12 @@ class form extends db_array_io
|
||||
}
|
||||
}
|
||||
|
||||
// METHOD form_set_order
|
||||
// PARAMS none
|
||||
// RETURN the table array
|
||||
// DOES sets the order to the maximum, if order flag is set in array
|
||||
public function form_set_order()
|
||||
// METHOD: formSetOrder
|
||||
// WAS: form_set_order
|
||||
// PARAMS: none
|
||||
// RETURN: the table array
|
||||
// DESC : sets the order to the maximum, if order flag is set in array
|
||||
public function formSetOrder()
|
||||
{
|
||||
// get order name
|
||||
$order_name = $this->form_get_col_name_from_key("order");
|
||||
@@ -1095,11 +1066,12 @@ class form extends db_array_io
|
||||
return $this->table_array;
|
||||
}
|
||||
|
||||
// METHOD form_unsert_table_array
|
||||
// PARAMS none
|
||||
// RETURN none
|
||||
// DOES resets all values in table_array and in the reference tables
|
||||
public function form_unset_table_array()
|
||||
// METHOD: formUnsetTableArray
|
||||
// WAS : form_unsert_table_array
|
||||
// PARAMS: none
|
||||
// RETURN: none
|
||||
// DESC : resets all values in table_array and in the reference tables
|
||||
public function formUnsetTableArray()
|
||||
{
|
||||
unset($this->pk_id);
|
||||
if (!is_array($this->table_array)) {
|
||||
@@ -1127,11 +1099,12 @@ class form extends db_array_io
|
||||
$this->msg = $this->l->__("Cleared for new Dataset!");
|
||||
}
|
||||
|
||||
// METHOD form_load_table_array
|
||||
// PARAMS pk_id - overrule pk_id
|
||||
// RETURN none
|
||||
// DESC load a table & reference
|
||||
public function form_load_table_array($pk_id = 0)
|
||||
// METHOD: formLoadTableArray
|
||||
// WAS : form_load_table_array
|
||||
// PARAMS: pk_id - overrule pk_id
|
||||
// RETURN: none
|
||||
// DESC : load a table & reference
|
||||
public function formLoadTableArray($pk_id = 0)
|
||||
{
|
||||
if ($pk_id) {
|
||||
$this->pk_id = $pk_id;
|
||||
@@ -1165,11 +1138,12 @@ class form extends db_array_io
|
||||
$this->msg = $this->l->__("Dataset has been loaded!<br>");
|
||||
}
|
||||
|
||||
// METHOD form_save_table_array
|
||||
// PARAMS addslashes - if one, passes 1 to the db_write function
|
||||
// RETURN none
|
||||
// DESC save a table, reference and all input fields
|
||||
public function form_save_table_array($addslashes = 0)
|
||||
// METHOD: formSaveTableArray
|
||||
// WAS : form_save_table_array
|
||||
// PARAMS: addslashes - if one, passes 1 to the db_write function
|
||||
// RETURN: none
|
||||
// DESC : save a table, reference and all input fields
|
||||
public function formSaveTableArray($addslashes = 0)
|
||||
{
|
||||
// global $_FILES;
|
||||
// for drop_down_db_input check if text field is filled and if, if not yet in db ...
|
||||
@@ -1419,11 +1393,12 @@ class form extends db_array_io
|
||||
$this->msg = $this->l->__("Dataset has been saved!<Br>");
|
||||
}
|
||||
|
||||
// METHOD form_delete_table_array
|
||||
// PARAMS none
|
||||
// RETURN none
|
||||
// DESC delete a table and reference fields
|
||||
public function form_delete_table_array()
|
||||
// METHOD: formDeleteTableArray
|
||||
// WAS : form_delete_table_array
|
||||
// PARAMS: none
|
||||
// RETURN: none
|
||||
// DESC : delete a table and reference fields
|
||||
public function formDeleteTableArray()
|
||||
{
|
||||
// remove any reference arrays
|
||||
if (is_array($this->reference_array)) {
|
||||
@@ -1462,11 +1437,12 @@ class form extends db_array_io
|
||||
$this->msg = $this->l->__("Dataset has been deleted!");
|
||||
}
|
||||
|
||||
// METHOD form_create_hidden_fields
|
||||
// PARAMS $hidden_array
|
||||
// RETURNS the input fields (html)
|
||||
// creates HTML hidden input fields out of an hash array
|
||||
public function form_create_hidden_fields($hidden_array = "")
|
||||
// METHOD: formCreateHiddenFields
|
||||
// WAS : form_create_hidden_fields
|
||||
// PARAMS: $hidden_array
|
||||
// RETURN: the input fields (html)
|
||||
// DESC : creates HTML hidden input fields out of an hash array
|
||||
public function formCreateHiddenFields($hidden_array = "")
|
||||
{
|
||||
$hidden = array ();
|
||||
if (!is_array($this->table_array)) {
|
||||
@@ -1487,11 +1463,12 @@ class form extends db_array_io
|
||||
return $hidden;
|
||||
}
|
||||
|
||||
// METHOD form_create_element_reference_table
|
||||
// PARAMS show which reference table
|
||||
// RETURN array for output
|
||||
// DESC creates the multiple select part for a reference_table
|
||||
public function form_create_element_reference_table($table_name)
|
||||
// METHOD: formCreateElementReferenceTable
|
||||
// WAS : form_create_element_reference_table
|
||||
// PARAMS: show which reference table
|
||||
// RETURN: array for output
|
||||
// DESC : creates the multiple select part for a reference_table
|
||||
public function formCreateElementReferenceTable($table_name)
|
||||
{
|
||||
$output_name = $this->reference_array[$table_name]["output_name"];
|
||||
if ($this->reference_array[$table_name]["mandatory"]) {
|
||||
@@ -1508,13 +1485,14 @@ class form extends db_array_io
|
||||
return array('output_name' => $output_name, 'type' => $type, 'color' => 'edit_fgcolor', 'data' => $data);
|
||||
}
|
||||
|
||||
// METHOD form_create_element_list
|
||||
// PARAMS show which element list
|
||||
// RETURN array for output
|
||||
// DESC create list of elements next to each other for a group of data in an input field
|
||||
// this currently only works for a list that is filled from a sub table and creates only a connection to this one
|
||||
// new version will allow a sub list with free input fields to directly fill a sub table to a master table
|
||||
public function form_create_element_list_table($table_name)
|
||||
// METHOD: formCreateElementListTable
|
||||
// WAS : form_create_element_list
|
||||
// PARAMS: show which element list
|
||||
// RETURN: array for output
|
||||
// DESC : create list of elements next to each other for a group of data in an input field
|
||||
// this currently only works for a list that is filled from a sub table and creates only a connection to this one
|
||||
// new version will allow a sub list with free input fields to directly fill a sub table to a master table
|
||||
public function formCreateElementListTable($table_name)
|
||||
{
|
||||
// output name for the viewable left table td box, prefixed with * if mandatory
|
||||
$output_name = $this->element_list[$table_name]["output_name"];
|
||||
@@ -1547,7 +1525,7 @@ class form extends db_array_io
|
||||
// generic data read in (counts for all rows)
|
||||
// visible list data output
|
||||
while (list($el_name, $data_array) = each($this->element_list[$table_name]["elements"])) {
|
||||
// $this->debug('CFG', 'El: '.$el_name.' -> '.$this->print_ar($data_array));
|
||||
$this->debug('CFG', 'El: '.$el_name.' -> '.$this->print_ar($data_array));
|
||||
// if the element name matches the read array, then set the table as a name prefix
|
||||
$q_select[] = $el_name; // this is for reading the data
|
||||
// prefix the name for any further data parts
|
||||
@@ -1566,7 +1544,7 @@ class form extends db_array_io
|
||||
if ($data_array['type'] == 'drop_down_db') {
|
||||
$md_q = md5($data_array['query']);
|
||||
while ($res = $this->db_return($data_array['query'])) {
|
||||
//$this->debug('edit', "Q[$md_q] pos: ".$this->cursor_ext[$md_q]["pos"]." | want: ".$data_array["preset"]." | set: ".$data['preset'][$el_name]);
|
||||
$this->debug('edit', "Q[$md_q] pos: ".$this->cursor_ext[$md_q]["pos"]." | want: ".$data_array["preset"]." | set: ".$data['preset'][$el_name]);
|
||||
// first is default for this element
|
||||
if (!$data['preset'][$el_name] && ($this->cursor_ext[$md_q]["pos"] == $data_array['preset'])) {
|
||||
$data['preset'][$el_name] = $res[0];
|
||||
@@ -1580,11 +1558,11 @@ class form extends db_array_io
|
||||
}
|
||||
$proto[$el_name] = ($this->error) ? $_POST[$el_name][(count($_POST[$el_name]) - 1)] : ''; // this is for the new line
|
||||
}
|
||||
// $this->debug('CFG DATA', 'Data: '.$this->print_ar($data));
|
||||
// $this->debug('CFG PROTO', 'Proto: '.$this->print_ar($proto));
|
||||
// $this->debug('CFG SELECT', 'Proto: '.$this->print_ar($q_select));
|
||||
// $this->debug('CFG DATA', 'Data: '.$this->print_ar($data));
|
||||
// $this->debug('CFG PROTO', 'Proto: '.$this->print_ar($proto));
|
||||
// $this->debug('CFG SELECT', 'Proto: '.$this->print_ar($q_select));
|
||||
// query for reading in the data
|
||||
//$this->debug('edit_error', "ERR: ".$this->error);
|
||||
$this->debug('edit_error', "ERR: ".$this->error);
|
||||
// if we got a read data, build the read select for the read, and read out the "selected" data
|
||||
if ($this->element_list[$table_name]["read_data"]) {
|
||||
// we need a second one for the query build only
|
||||
@@ -1604,18 +1582,18 @@ class form extends db_array_io
|
||||
$data['type'][$data["prefix"].$this->element_list[$table_name]["read_data"]["name"]] = 'string';
|
||||
// build the read query
|
||||
$q = "SELECT ";
|
||||
// if (!$this->table_array[$this->int_pk_name]["value"])
|
||||
// $q .= "DISTINCT ";
|
||||
// if (!$this->table_array[$this->int_pk_name]["value"])
|
||||
// $q .= "DISTINCT ";
|
||||
// prefix join key with table name, and implode the query select part
|
||||
$q .= str_replace($table_name.'.'.$this->element_list[$table_name]["read_data"]["pk_id"], $this->element_list[$table_name]["read_data"]["table_name"].'.'.$this->element_list[$table_name]["read_data"]["pk_id"], implode(', ', $_q_select)).' ';
|
||||
// if (!$this->table_array[$this->int_pk_name]["value"] && $this->element_list[$table_name]["read_data"]["order"])
|
||||
// $q .= ", ".$this->element_list[$table_name]["read_data"]["order"]." ";
|
||||
// if (!$this->table_array[$this->int_pk_name]["value"] && $this->element_list[$table_name]["read_data"]["order"])
|
||||
// $q .= ", ".$this->element_list[$table_name]["read_data"]["order"]." ";
|
||||
// read from the read table as main, and left join to the sub table to read the actual data
|
||||
$q .= "FROM ".$this->element_list[$table_name]["read_data"]["table_name"]." ";
|
||||
$q .= "LEFT JOIN ".$table_name." ";
|
||||
$q .= "ON (";
|
||||
$q .= $this->element_list[$table_name]["read_data"]["table_name"].".".$this->element_list[$table_name]["read_data"]["pk_id"]." = ".$table_name.".".$this->element_list[$table_name]["read_data"]["pk_id"]." ";
|
||||
// if ($this->table_array[$this->int_pk_name]["value"])
|
||||
// if ($this->table_array[$this->int_pk_name]["value"])
|
||||
$q .= "AND ".$table_name.".".$this->int_pk_name." = ".(($this->table_array[$this->int_pk_name]["value"]) ? $this->table_array[$this->int_pk_name]["value"] : 'NULL')." ";
|
||||
$q .= ") ";
|
||||
if ($this->element_list[$table_name]["read_data"]["order"]) {
|
||||
@@ -1628,7 +1606,7 @@ class form extends db_array_io
|
||||
$q = "SELECT ".implode(", ", $q_select)." FROM ".$table_name." WHERE ".$this->int_pk_name." = ".$this->table_array[$this->int_pk_name]["value"];
|
||||
}
|
||||
}
|
||||
// $this->debug('CFG QUERY', 'Q: '.$q);
|
||||
// $this->debug('CFG QUERY', 'Q: '.$q);
|
||||
// only run if we have query strnig
|
||||
if ($q) {
|
||||
$pos = 0; // position in while for overwrite if needed
|
||||
@@ -1640,7 +1618,7 @@ class form extends db_array_io
|
||||
for ($i = 0; $i < count($q_select); $i ++) {
|
||||
// query select part, set to the element name
|
||||
$el_name = $q_select[$i];
|
||||
//$this->debug('edit_error', "[$i] ELNAME: $el_name | POS[$prfx$el_name]: ".$_POST[$prfx.$el_name][$pos]." | RES: ".$res[$el_name]);
|
||||
// $this->debug('edit_error', "[$i] ELNAME: $el_name | POS[$prfx$el_name]: ".$_POST[$prfx.$el_name][$pos]." | RES: ".$res[$el_name]);
|
||||
// if we have an error, we take what we have in the vars, if not we take the data from the db
|
||||
if ($this->error) {
|
||||
// if we have a radio group, set a bit different
|
||||
@@ -1700,8 +1678,10 @@ class form extends db_array_io
|
||||
if ($data['delete_name']) {
|
||||
$data['content'][] = $proto;
|
||||
}
|
||||
//$this->debug('edit', "A:<pre>".print_r($data, 1)."</pre>");
|
||||
// $this->debug('edit', "A:<pre>".print_r($data, 1)."</pre>");
|
||||
$type = 'element_list';
|
||||
return array('output_name' => $output_name, 'type' => $type, 'color' => 'edit_fgcolor', 'data' => $data);
|
||||
}
|
||||
} // end of class
|
||||
|
||||
# __END__
|
||||
@@ -11,6 +11,8 @@
|
||||
*
|
||||
*/
|
||||
|
||||
namespace CoreLibs\Output;
|
||||
|
||||
class ProgressBar
|
||||
{
|
||||
// private vars
|
||||
@@ -80,13 +82,13 @@ class ProgressBar
|
||||
$this->height = $height;
|
||||
}
|
||||
// needs to be called twice or I do not get any output
|
||||
$this->_flushCache($this->clear_buffer_size_init);
|
||||
$this->_flushCache($this->clear_buffer_size_init);
|
||||
$this->__flushCache($this->clear_buffer_size_init);
|
||||
$this->__flushCache($this->clear_buffer_size_init);
|
||||
}
|
||||
|
||||
// private functions
|
||||
|
||||
private function _flushCache($clear_buffer_size = 0)
|
||||
private function __flushCache($clear_buffer_size = 0)
|
||||
{
|
||||
if (!$clear_buffer_size) {
|
||||
$clear_buffer_size = $this->clear_buffer_size;
|
||||
@@ -96,7 +98,7 @@ class ProgressBar
|
||||
flush();
|
||||
}
|
||||
|
||||
private function _calculatePercent($step)
|
||||
private function __calculatePercent($step)
|
||||
{
|
||||
// avoid divison through 0
|
||||
if ($this->max - $this->min == 0) {
|
||||
@@ -109,7 +111,7 @@ class ProgressBar
|
||||
return $percent;
|
||||
}
|
||||
|
||||
private function _calculatePosition($step)
|
||||
private function __calculatePosition($step)
|
||||
{
|
||||
switch ($this->direction) {
|
||||
case 'right':
|
||||
@@ -162,7 +164,7 @@ class ProgressBar
|
||||
return $position;
|
||||
}
|
||||
|
||||
private function _setStep($step)
|
||||
private function __setStep($step)
|
||||
{
|
||||
if ($step > $this->max) {
|
||||
$step = $this->max;
|
||||
@@ -323,7 +325,7 @@ class ProgressBar
|
||||
$output .= 'document.getElementById("plbl'.$name.$this->code.'").style.align="'.$this->label[$name]['align'].'";';
|
||||
$output .= '</script>'."\n";
|
||||
echo $output;
|
||||
$this->_flushCache();
|
||||
$this->__flushCache();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -332,7 +334,7 @@ class ProgressBar
|
||||
$this->label[$name]['color'] = $color;
|
||||
if ($this->status != 'new') {
|
||||
echo '<script type="text/JavaScript">document.getElementById("plbl'.$name.$this->code.'").style.color="'.$color.'";</script>'."\n";
|
||||
$this->_flushCache();
|
||||
$this->__flushCache();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -341,7 +343,7 @@ class ProgressBar
|
||||
$this->label[$name]['bgr_color'] = $color;
|
||||
if ($this->status != 'new') {
|
||||
echo '<script type="text/JavaScript">document.getElementById("plbl'.$name.$this->code.'").style.background="'.$color.'";</script>'."\n";
|
||||
$this->_flushCache();
|
||||
$this->__flushCache();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -376,7 +378,7 @@ class ProgressBar
|
||||
$output .= 'document.getElementById("plbl'.$name.$this->code.'").style.font-weight="'.$this->label[$name]['font-weight'].'";';
|
||||
$output .= '</script>'."\n";
|
||||
echo $output;
|
||||
$this->_flushCache();
|
||||
$this->__flushCache();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -386,7 +388,7 @@ class ProgressBar
|
||||
// print "NAME[$name], Status: ".$this->status.": ".$value."<Br>";
|
||||
if ($this->status != 'new') {
|
||||
echo '<script type="text/JavaScript">PBlabelText'.$this->code.'("'.$name.'","'.$this->label[$name]['value'].'");</script>'."\n";
|
||||
$this->_flushCache();
|
||||
$this->__flushCache();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -395,7 +397,7 @@ class ProgressBar
|
||||
$this->color = $color;
|
||||
if ($this->status != 'new') {
|
||||
echo '<script type="text/JavaScript">document.getElementById("pbar'.$this->code.'").style.background="'.$color.'";</script>'."\n";
|
||||
$this->_flushCache();
|
||||
$this->__flushCache();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -404,7 +406,7 @@ class ProgressBar
|
||||
$this->bgr_color = $color;
|
||||
if ($this->status != 'new') {
|
||||
echo '<script type="text/JavaScript">document.getElementById("pbrd'.$this->code.'").style.background="'.$color.'";</script>'."\n";
|
||||
$this->_flushCache();
|
||||
$this->__flushCache();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -413,7 +415,7 @@ class ProgressBar
|
||||
$this->direction = $direction;
|
||||
|
||||
if ($this->status != 'new') {
|
||||
$this->position = $this->_calculatePosition($this->step);
|
||||
$this->position = $this->__calculatePosition($this->step);
|
||||
|
||||
echo '<script type="text/JavaScript">';
|
||||
echo 'PBposition'.$this->code.'("left",'.$this->position['left'].');';
|
||||
@@ -421,7 +423,7 @@ class ProgressBar
|
||||
echo 'PBposition'.$this->code.'("width",'.$this->position['width'].');';
|
||||
echo 'PBposition'.$this->code.'("height",'.$this->position['height'].');';
|
||||
echo '</script>'."\n";
|
||||
$this->_flushCache();
|
||||
$this->__flushCache();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -431,8 +433,8 @@ class ProgressBar
|
||||
$js = '';
|
||||
$html_button = '';
|
||||
|
||||
$this->_setStep($this->step);
|
||||
$this->position = $this->_calculatePosition($this->step);
|
||||
$this->__setStep($this->step);
|
||||
$this->position = $this->__calculatePosition($this->step);
|
||||
|
||||
if ($this->top || $this->left) {
|
||||
$style_master = 'position:relative;top:'.$this->top.'px;left:'.$this->left.'px;width:'.($this->width + 10).'px;';
|
||||
@@ -524,11 +526,11 @@ class ProgressBar
|
||||
// only one inner percent
|
||||
// print "STYLE[$name]: ".$style_lbl."<br>";
|
||||
if (!$html_percent) {
|
||||
$html_percent = '<div id="plbl'.$name.$this->code.'" style="'.$style_lbl.'width:'.$data['width'].'px;line-height:1;text-shadow: 0 0 .2em white, 0 0 .5em white;">'.$this->_calculatePercent($this->step).'%</div>'."\n";
|
||||
$html_percent = '<div id="plbl'.$name.$this->code.'" style="'.$style_lbl.'width:'.$data['width'].'px;line-height:1;text-shadow: 0 0 .2em white, 0 0 .5em white;">'.$this->__calculatePercent($this->step).'%</div>'."\n";
|
||||
}
|
||||
break;
|
||||
case 'percentlbl':
|
||||
$html .= '<div id="plbl'.$name.$this->code.'" style="'.$style_lbl.'width:'.$data['width'].'px;">'.$this->_calculatePercent($this->step).'%</div>'."\n";
|
||||
$html .= '<div id="plbl'.$name.$this->code.'" style="'.$style_lbl.'width:'.$data['width'].'px;">'.$this->__calculatePercent($this->step).'%</div>'."\n";
|
||||
break;
|
||||
case 'crossbar':
|
||||
$html .= '<div id="plbl'.$name.$this->code.'" style="'.$style_lbl.'">'.$data['value'].'</div>'."\n";
|
||||
@@ -578,16 +580,16 @@ class ProgressBar
|
||||
{
|
||||
$this->status = 'show';
|
||||
echo $this->getHtml();
|
||||
$this->_flushCache();
|
||||
$this->__flushCache();
|
||||
}
|
||||
|
||||
public function moveStep($step)
|
||||
{
|
||||
$last_step = $this->step;
|
||||
$this->_setStep($step);
|
||||
$this->__setStep($step);
|
||||
|
||||
$js = '';
|
||||
$new_position = $this->_calculatePosition($this->step);
|
||||
$new_position = $this->__calculatePosition($this->step);
|
||||
if ($new_position['width'] != $this->position['width'] && ($this->direction == 'right' || $this->direction == 'left')) {
|
||||
if ($this->direction=='left') {
|
||||
$js .= 'PBposition'.$this->code.'("left",'.$new_position['left'].');';
|
||||
@@ -603,7 +605,7 @@ class ProgressBar
|
||||
$this->position = $new_position;
|
||||
foreach ($this->label as $name => $data) {
|
||||
if (array_key_exists('type', $data)) {
|
||||
switch($data['type']) {
|
||||
switch ($data['type']) {
|
||||
case 'step':
|
||||
if ($this->step != $last_step) {
|
||||
$js .= 'PBlabelText'.$this->code.'("'.$name.'","'.$this->step.'/'.$this->max.'");';
|
||||
@@ -611,8 +613,8 @@ class ProgressBar
|
||||
break;
|
||||
case 'percentlbl':
|
||||
case 'percent':
|
||||
$percent = $this->_calculatePercent($this->step);
|
||||
if ($percent != $this->_calculatePercent($last_step)) {
|
||||
$percent = $this->__calculatePercent($this->step);
|
||||
if ($percent != $this->__calculatePercent($last_step)) {
|
||||
$js .= 'PBlabelText'.$this->code.'("'.$name.'","'.$percent.'%");';
|
||||
}
|
||||
break;
|
||||
@@ -624,7 +626,7 @@ class ProgressBar
|
||||
}
|
||||
if ($js != '') {
|
||||
echo '<script type="text/JavaScript">'.$js.'</script>'."\n";
|
||||
$this->_flushCache();
|
||||
$this->__flushCache();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -647,7 +649,7 @@ class ProgressBar
|
||||
$output .= 'document.getElementById("pbm'.$this->code.'").style.visibility="hidden";document.getElementById("pbm'.$this->code.'").style.display="none";';
|
||||
$output .= '</script>'."\n";
|
||||
echo $output;
|
||||
$this->_flushCache();
|
||||
$this->__flushCache();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -660,7 +662,7 @@ class ProgressBar
|
||||
$output .= 'document.getElementById("pbm'.$this->code.'").style.visibility="visible";document.getElementById("pbm'.$this->code.'").style.visibility="block";';
|
||||
$output .= '</script>'."\n";
|
||||
echo $output;
|
||||
$this->_flushCache();
|
||||
$this->__flushCache();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,12 +8,14 @@
|
||||
* 2005/06/22 (cs) include smarty class here, so there is no need to include it in the main file
|
||||
*********************************************************************/
|
||||
|
||||
// read in the Smarty class for definition
|
||||
// use smarty BC for backwards compability
|
||||
// try to include file from LIBS path, or from normal path
|
||||
_spl_autoload('SmartyBC.class.php');
|
||||
namespace CoreLibs\Template;
|
||||
|
||||
class SmartyML extends SmartyBC
|
||||
// I need to manually load Smarty BC here (it is not namespaced)
|
||||
require_once(BASE.LIB.SMARTY.'SmartyBC.class.php');
|
||||
// So it doesn't start looking around in the wrong naemspace as smarty doesn't have one
|
||||
use SmartyBC;
|
||||
|
||||
class SmartyExtend extends SmartyBC
|
||||
{
|
||||
public $l10n;
|
||||
|
||||
@@ -21,9 +23,10 @@ class SmartyML extends SmartyBC
|
||||
public function __construct($lang)
|
||||
{
|
||||
SmartyBC::__construct();
|
||||
_spl_autoload('Class.l10n.inc');
|
||||
$this->l10n = new l10n($lang);
|
||||
$this->l10n = new \CoreLibs\Language\L10n($lang);
|
||||
// variable variable register
|
||||
$this->register_modifier('getvar', array(&$this, 'get_template_vars'));
|
||||
}
|
||||
}
|
||||
|
||||
# __END__
|
||||
|
||||
Reference in New Issue
Block a user