Compare commits

..

3 Commits

Author SHA1 Message Date
Clemens Schwaighofer
c772a39156 Back port email regex patch 2019-06-14 14:51:28 +09:00
Clemens Schwaighofer
7907d1d507 Backport fix Basic Class date/time check 2019-06-07 16:42:06 +09:00
Clemens Schwaighofer
01c4a35026 Backport the CoreLibs/Basic changes to the oldTemplateLayout branch 2019-06-07 16:19:35 +09:00
982 changed files with 10575 additions and 13711 deletions

View File

@@ -1,29 +0,0 @@
# PHP XDEBUG SETTINGS
# php_value xdebug.profiler_output_dir xdebug/
# php_value xdebug.profiler_output_name timestamp
# php_value xdebug.profiler_enable 1
php_value xdebug.collect_params 2
php_value xdebug.collect_vars 0
php_value xdebug.show_local_vars 0
#php_value xdebug.dump_globals 0
# allowed COOKIE, FILES, GET, POST, REQUEST, SERVER, SESSION
#php_value xdebug.dump.GET *
# PHP ERROR SETTINGS
php_flag short_open_tag off
php_flag display_startup_errors on
php_flag display_errors on
php_flag html_errors on
php_flag log_errors on
php_flag ignore_repeated_errors off
php_flag ignore_repeated_source off
php_flag report_memleaks on
php_flag track_errors on
php_value docref_root 0
php_value docref_ext 0
# Turn this on to redirect log to different folder
#php_value error_log /var/www/html/developers/clemens/php/php-error/php-errors.log
# this is E_ALL reporting ON
php_value error_reporting -1
# this is E_ALL | ~E_NOTICE
#php_value error_reporting 2039
php_value log_errors_max_len 0

View File

@@ -1,124 +0,0 @@
<?php
use Phan\Config;
/**
* This configuration will be read and overlaid on top of the
* default configuration. Command line arguments will be applied
* after this file is read.
*
* @see src/Phan/Config.php
* See Config for all configurable options.
*
* A Note About Paths
* ==================
*
* Files referenced from this file should be defined as
*
* ```
* Config::projectPath('relative_path/to/file')
* ```
*
* where the relative path is relative to the root of the
* project which is defined as either the working directory
* of the phan executable or a path passed in via the CLI
* '-d' flag.
*/
return [
// If true, missing properties will be created when
// they are first seen. If false, we'll report an
// error message.
"allow_missing_properties" => false,
// Allow null to be cast as any type and for any
// type to be cast to null.
"null_casts_as_any_type" => false,
// Backwards Compatibility Checking
'backward_compatibility_checks' => true,
// Run a quick version of checks that takes less
// time
"quick_mode" => false,
// Only emit critical issues to start with
// (0 is low severity, 5 is normal severity, 10 is critical)
"minimum_severity" => 0,
// default false for include path check
"enable_include_path_checks" => true,
"include_paths" => [
'.', '../configs/'
],
'ignore_undeclared_variables_in_global_scope' => true,
"file_list" => [
"./www/configs/config.db.php",
"./www/configs/config.host.php",
"./www/configs/config.path.php",
"./www/configs/config.master.php",
"./www/includes/admin_header.php",
],
// A list of directories that should be parsed for class and
// method information. After excluding the directories
// defined in exclude_analysis_directory_list, the remaining
// files will be statically analyzed for errors.
//
// Thus, both first-party and third-party code being used by
// your application should be included in this list.
'directory_list' => [
// Change this to include the folders you wish to analyze
// (and the folders of their dependencies)
'www',
// To speed up analysis, we recommend going back later and
// limiting this to only the vendor/ subdirectories your
// project depends on.
// `phan --init` will generate a list of folders for you
//'www/vendor',
],
// A list of directories holding code that we want
// to parse, but not analyze
"exclude_analysis_directory_list" => [
'www/vendor',
'www/lib/FileUpload',
'www/lib/pChart',
'www/lib/pChart2.1.4',
'www/lib/Smarty',
'www/lib/smarty-3.1.30',
'www/templates_c',
'www/log',
'www/tmp',
'www/cache',
'www/media',
],
'exclude_file_list' => [
// ignore all symlink files to edit
'www/admin/edit_access.php',
'www/admin/edit_groups.php',
'www/admin/edit_languages.php',
'www/admin/edit_menu_group.php',
'www/admin/edit_order.php',
'www/admin/edit_pages.php',
'www/admin/edit_schemes.php',
'www/admin/edit_users.php',
'www/admin/edit_visible_group.php',
// ignore the old qq tests
'www/admin/qq_file_upload_front.php',
'www/admin/qq_file_upload_ajax.php',
],
// what not to show as problem
'suppress_issue_types' => [
// 'PhanUndeclaredMethod',
'PhanEmptyFile',
],
// Override to hardcode existence and types of (non-builtin) globals in the global scope.
// Class names should be prefixed with `\`.
//
// (E.g. `['_FOO' => '\FooClass', 'page' => '\PageClass', 'userId' => 'int']`)
'globals_type_map' => [],
];

File diff suppressed because one or more lines are too long

View File

@@ -16,7 +16,6 @@ table/edit_scheme.sql
table/edit_language.sql
table/edit_group.sql
table/edit_page_access.sql
table/edit_page_content.sql
table/edit_user.sql
table/edit_log.sql
table/edit_access.sql
@@ -32,7 +31,6 @@ trigger/trg_edit_group.sql
trigger/trg_edit_language.sql
trigger/trg_edit_log.sql
trigger/trg_edit_page_access.sql
trigger/trg_edit_page_content.sql
trigger/trg_edit_page.sql
trigger/trg_edit_query_string.sql
trigger/trg_edit_scheme.sql

View File

@@ -5,63 +5,19 @@
#echo "EXIT";
#exit;
# if flagged 'y' then it will ask after each import to continue
development='y';
test='n';
input='';
# database connection info
db='<db name>';
host='<db host>';
user='<db user>';
schema="public";
export PGPASSWORD='';
#schema="publicv";
# log files
error_file="log/error";
output_file="log/output";
if [ ! -f ORDER ]; then
echo "Could not find ORDER file";
exit;
fi;
if [ "$test" != "n" ]; then
echo "TESTING MODE, NO DATA WILL BE IMPORTED";
fi;
if [ "$development" = "y" ]; then
echo "STEP BY STEP IMPORT MODE ACTIVATED";
fi;
while read file <&3; do
if [ "$file" = "FINISHED" ]; then
echo "Database data is flagged as FINISHED in ORDER file";
exit;
for file in `cat ORDER`;
do
if [ -f $file ];
then
# for path in $schema;
# do
# echo "WORK ON "$schema"."$file;
psql -U $user -h $host -f $file $db 1>> output 2>> error
# done;
fi;
if [ -f "$file" ]; then
for path in "$schemas"; do
echo "[+] WORK ON '${file}' @ '${path}'";
if [ "$test" = 'n' ]; then
echo "=== START [$file] ===>" >> ${error_file};
psql -U ${user} -h ${host} -f "${file}" ${db} 1>> ${output_file} 2>> ${error_file}
echo "=== END [$file] ===>" >> ${error_file};
fi;
if [ "$development" = "y" ]; then
echo "Press 'y' to move to next. Press 'r' to reload last file. ^c to abort";
fi;
while [ "$development" = "y" ] && [ "$input" != "y" ]; do
read -ep "Continue (y|r|^c): " input;
if [ "$input" = "r" ]; then
echo "Reload File '${file}' ...";
if [ "$test" = 'n' ]; then
echo "=== START RELOAD [$file] ===>" >> ${error_file};
psql -U ${user} -h ${host} -f "${file}" ${db} 1>> ${output_file} 2>> ${error_file}
echo "=== END RELOAD [$file] ===>" >> ${error_file};
fi;
fi;
done;
input='';
done;
elif [[ ${file::1} != "#" ]]; then
echo "[!] COULD NOT FIND FILE: '${file}'";
fi;
done 3<ORDER;
done;

View File

@@ -51,7 +51,6 @@ INSERT INTO edit_page_menu_group VALUES ((SELECT edit_page_id FROM edit_page WHE
DELETE FROM edit_access_right;
INSERT INTO edit_access_right (name, level, type) VALUES ('Default', -1, 'default');
INSERT INTO edit_access_right (name, level, type) VALUES ('No Access', 0, 'none');
INSERT INTO edit_access_right (name, level, type) VALUES ('List', 10, 'list');
INSERT INTO edit_access_right (name, level, type) VALUES ('Read', 20, 'read');
INSERT INTO edit_access_right (name, level, type) VALUES ('Translator', 30, 'mod_trans');
INSERT INTO edit_access_right (name, level, type) VALUES ('Modify', 40, 'mod');

View File

@@ -14,6 +14,5 @@ CREATE TABLE edit_access (
uid VARCHAR,
enabled SMALLINT NOT NULL DEFAULT 0,
protected INT,
deleted SMALLINT DEFAULT 0,
additional_acl JSONB
deleted SMALLINT DEFAULT 0
) INHERITS (edit_generic) WITHOUT OIDS;

View File

@@ -10,10 +10,8 @@ CREATE TABLE edit_group (
edit_group_id SERIAL PRIMARY KEY,
name VARCHAR,
enabled SMALLINT NOT NULL DEFAULT 0,
deleted SMALLINT DEFAULT 0,
edit_scheme_id INT,
edit_access_right_id INT NOT NULL,
additional_acl JSONB,
FOREIGN KEY (edit_scheme_id) REFERENCES edit_scheme (edit_scheme_id) MATCH FULL ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY (edit_access_right_id) REFERENCES edit_access_right (edit_access_right_id) MATCH FULL ON DELETE CASCADE ON UPDATE CASCADE
) INHERITS (edit_generic) WITHOUT OIDS;

View File

@@ -2,13 +2,12 @@
-- DATE: 2005/07/05
-- DESCRIPTION:
-- edit tables, this table contains all pages in the edit interface and allocates rights + values to it
-- TABLE: edit_page
-- TABLE: edit_table
-- HISTORY:
-- DROP TABLE edit_page;
CREATE TABLE edit_page (
edit_page_id SERIAL PRIMARY KEY,
content_alias_edit_page_id INT, -- alias for page content, if the page content is defined on a different page, ege for ajax backend pages
filename VARCHAR,
name VARCHAR UNIQUE,
order_number INT NOT NULL,
@@ -16,6 +15,5 @@ CREATE TABLE edit_page (
menu SMALLINT NOT NULL DEFAULT 0,
popup SMALLINT NOT NULL DEFAULT 0,
popup_x SMALLINT,
popup_y SMALLINT,
FOREIGN KEY (content_alias_edit_page_id) REFERENCES edit_page (edit_page_id) MATCH FULL ON DELETE RESTRICT ON UPDATE CASCADE,
popup_y SMALLINT
) INHERITS (edit_generic) WITHOUT OIDS;

View File

@@ -1,20 +0,0 @@
-- AUTHOR: Clemens Schwaighofer
-- DATE: 2019/9/9
-- DESCRIPTION:
-- sub content to one page with additional edit access right set
-- can be eg JS content groups on one page
-- TABLE: edit_page_content
-- HISTORY:
-- DROP TABLE edit_page_content;
CREATE TABLE edit_page_content (
edit_page_content_id SERIAL PRIMARY KEY,
edit_page_id INT NOT NULL,
edit_access_right_id INT NOT NULL,
name VARCHAR,
uid VARCHAR UNIQUE,
order_number INT NOT NULL,
online SMALLINT NOT NULL DEFAULT 0,
FOREIGN KEY (edit_access_right_id) REFERENCES edit_access_right (edit_access_right_id) MATCH FULL ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY (edit_page_id) REFERENCES edit_page (edit_page_id) MATCH FULL ON DELETE CASCADE ON UPDATE CASCADE
) INHERITS (edit_generic) WITHOUT OIDS;

View File

@@ -16,7 +16,6 @@ CREATE TABLE edit_user (
first_name_furigana VARCHAR,
last_name_furigana VARCHAR,
enabled SMALLINT NOT NULL DEFAULT 0,
deleted SMALLINT NOT NULL DEFAULT 0,
debug SMALLINT NOT NULL DEFAULT 0,
db_debug SMALLINT NOT NULL DEFAULT 0,
email VARCHAR,
@@ -33,7 +32,6 @@ CREATE TABLE edit_user (
locked SMALLINT DEFAULT 0,
password_change_date TIMESTAMP WITHOUT TIME ZONE, -- only when password is first set or changed
password_change_interval INTERVAL, -- null if no change is needed, or d/m/y time interval
additional_acl JSONB, -- additional ACL as JSON string (can be set by other pages)
FOREIGN KEY (connect_edit_user_id) REFERENCES edit_user (edit_user_id) MATCH FULL ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY (edit_language_id) REFERENCES edit_language (edit_language_id) MATCH FULL ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY (edit_group_id) REFERENCES edit_group (edit_group_id) MATCH FULL ON DELETE CASCADE ON UPDATE CASCADE,

View File

@@ -1,4 +0,0 @@
DROP TRIGGER trg_edit_page_content ON edit_page_content;
CREATE TRIGGER trg_edit_page_content
BEFORE INSERT OR UPDATE ON edit_page_content
FOR EACH ROW EXECUTE PROCEDURE set_edit_generic();

View File

@@ -1,17 +0,0 @@
-- 2019/9/10 UPDATE missing cuid in edit_* tables
UPDATE edit_access SET cuid = random_string(12) WHERE cuid IS NULL;
UPDATE edit_access_data SET cuid = random_string(12) WHERE cuid IS NULL;
UPDATE edit_access_right SET cuid = random_string(12) WHERE cuid IS NULL;
UPDATE edit_access_user SET cuid = random_string(12) WHERE cuid IS NULL;
UPDATE edit_group SET cuid = random_string(12) WHERE cuid IS NULL;
UPDATE edit_language SET cuid = random_string(12) WHERE cuid IS NULL;
UPDATE edit_log SET cuid = random_string(12) WHERE cuid IS NULL;
UPDATE edit_menu_group SET cuid = random_string(12) WHERE cuid IS NULL;
UPDATE edit_page SET cuid = random_string(12) WHERE cuid IS NULL;
UPDATE edit_page_access SET cuid = random_string(12) WHERE cuid IS NULL;
UPDATE edit_page_content SET cuid = random_string(12) WHERE cuid IS NULL;
UPDATE edit_query_string SET cuid = random_string(12) WHERE cuid IS NULL;
UPDATE edit_scheme SET cuid = random_string(12) WHERE cuid IS NULL;
UPDATE edit_user SET cuid = random_string(12) WHERE cuid IS NULL;
UPDATE edit_visible_group SET cuid = random_string(12) WHERE cuid IS NULL;

View File

@@ -1,11 +1,11 @@
# ********************************************************************
#********************************************************************
# AUTHOR: Clemens Schwaighofer
# CREATED: 2005/08/09
# SHORT DESCRIPTION:
# Backned English Messages file for gettext
# to craete: msgfmt -o ja.mo messages_en.po
# HISTORY:
# ********************************************************************/
#********************************************************************/
msgid ""
msgstr ""
@@ -24,6 +24,3 @@ msgstr "Year"
msgid "Month"
msgstr "Month"
msgid "INPUT TEST"
msgstr "OUTPUT TEST EN"

View File

@@ -1,11 +1,11 @@
# ********************************************************************
#********************************************************************
# AUTHOR: Clemens Schwaighofer
# CREATED: 2018/03/28
# SHORT DESCRIPTION:
# Backend Japanese Messages file for gettext
# to craete: msgfmt -o ja.mo messages_ja.po
# HISTORY:
# ********************************************************************/
#********************************************************************/
msgid ""
msgstr ""
@@ -61,17 +61,3 @@ msgstr "土"
msgid "Sun"
msgstr "日"
msgid "INPUT TEST"
msgstr "OUTPUT TEST JA"
# login string
msgid "Hello %s"
msgstr "こにちは %s"
msgid "I should be translated"
msgstr "「スマーティー」これは正しいです"
msgid "Are we translated?"
msgstr "「クラス」これは翻訳です?"

View File

@@ -1,90 +0,0 @@
-- 2019/9/10 update edit_page with reference and additional ACLs, update core functions
-- * random_string function
-- * add cuid column in edit_generic
-- * update generic trigger function
-- * edit_page_content table/trigger
-- * edit_* additional_acl entries
-- * edit_page content alias link
-- * update any missing cuid entries
-- create random string with length X
CREATE FUNCTION random_string(randomLength int)
RETURNS text AS $$
SELECT array_to_string(
ARRAY(
SELECT substring(
'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789',
trunc(random() * 62)::int + 1,
1
)
FROM generate_series(1, randomLength) AS gs(x)
),
''
)
$$ LANGUAGE SQL
RETURNS NULL ON NULL INPUT
VOLATILE;
-- edit_gneric update
ALTER TABLE edit_generic ADD cuid VARCHAR;
-- adds the created or updated date tags
CREATE OR REPLACE FUNCTION set_edit_generic() RETURNS TRIGGER AS '
DECLARE
random_length INT = 12; -- that should be long enough
BEGIN
IF TG_OP = ''INSERT'' THEN
NEW.date_created := ''now'';
NEW.cuid := random_string(random_length);
ELSIF TG_OP = ''UPDATE'' THEN
NEW.date_updated := ''now'';
END IF;
RETURN NEW;
END;
' LANGUAGE 'plpgsql';
-- DROP TABLE edit_page_content;
CREATE TABLE edit_page_content (
edit_page_content_id SERIAL PRIMARY KEY,
edit_page_id INT NOT NULL,
edit_access_right_id INT NOT NULL,
name VARCHAR,
uid VARCHAR UNIQUE,
order_number INT NOT NULL,
online SMALLINT NOT NULL DEFAULT 0,
FOREIGN KEY (edit_access_right_id) REFERENCES edit_access_right (edit_access_right_id) MATCH FULL ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY (edit_page_id) REFERENCES edit_page (edit_page_id) MATCH FULL ON DELETE CASCADE ON UPDATE CASCADE
) INHERITS (edit_generic) WITHOUT OIDS;
DROP TRIGGER trg_edit_page_content ON edit_page_content;
CREATE TRIGGER trg_edit_page_content
BEFORE INSERT OR UPDATE ON edit_page_content
FOR EACH ROW EXECUTE PROCEDURE set_edit_generic();
-- INSERT new list entry
INSERT INTO edit_access_right (name, level, type) VALUES ('List', 10, 'list');
-- UPDATE
ALTER TABLE edit_user ADD additional_acl JSONB;
ALTER TABLE edit_group ADD additional_acl JSONB;
ALTER TABLE edit_access ADD additional_acl JSONB;
-- page content reference settings
ALTER TABLE edit_page ADD content_alias_edit_page_id INT;
ALTER TABLE edit_page ADD CONSTRAINT edit_page_content_alias_edit_page_id_fkey FOREIGN KEY (content_alias_edit_page_id) REFERENCES edit_page (edit_page_id) MATCH FULL ON DELETE RESTRICT ON UPDATE CASCADE;
-- 2019/9/10 UPDATE missing cuid in edit_* tables
UPDATE edit_access SET cuid = random_string(12) WHERE cuid IS NULL;
UPDATE edit_access_data SET cuid = random_string(12) WHERE cuid IS NULL;
UPDATE edit_access_right SET cuid = random_string(12) WHERE cuid IS NULL;
UPDATE edit_access_user SET cuid = random_string(12) WHERE cuid IS NULL;
UPDATE edit_group SET cuid = random_string(12) WHERE cuid IS NULL;
UPDATE edit_language SET cuid = random_string(12) WHERE cuid IS NULL;
UPDATE edit_log SET cuid = random_string(12) WHERE cuid IS NULL;
UPDATE edit_menu_group SET cuid = random_string(12) WHERE cuid IS NULL;
UPDATE edit_page SET cuid = random_string(12) WHERE cuid IS NULL;
UPDATE edit_page_access SET cuid = random_string(12) WHERE cuid IS NULL;
UPDATE edit_page_content SET cuid = random_string(12) WHERE cuid IS NULL;
UPDATE edit_query_string SET cuid = random_string(12) WHERE cuid IS NULL;
UPDATE edit_scheme SET cuid = random_string(12) WHERE cuid IS NULL;
UPDATE edit_user SET cuid = random_string(12) WHERE cuid IS NULL;
UPDATE edit_visible_group SET cuid = random_string(12) WHERE cuid IS NULL;

View File

@@ -1,6 +0,0 @@
<?php
// Boostrap file for PHPstand
// sets the _SERVER['HTTP_HOST'] var so we can have DB detection
$_SERVER['HTTP_HOST'] = 'soba.tokyo.tequila.jp';
// __END__

View File

@@ -1,55 +0,0 @@
# PHP Stan Config
parameters:
tmpDir: /tmp/phpstan-corelibs
level: 1
paths:
- %currentWorkingDirectory%/www
#bootstrap: %currentWorkingDirectory%/phpstan-bootstrap.php
#bootstrap: phpstan-bootstrap.php
autoload_directories:
autoload_files:
- %currentWorkingDirectory%/phpstan-bootstrap.php
- www/configs/config.master.php
- www/lib/autoloader.php
- www/vendor/autoload.php
excludes_analyse:
# no check admin
- www/admin/qq_file_upload_front.php
- www/admin/qq_file_upload_ajax.php
# admin synlink files
- www/admin/edit_access.php
- www/admin/edit_groups.php
- www/admin/edit_languages.php
- www/admin/edit_menu_group.php
- www/admin/edit_order.php
- www/admin/edit_pages.php
- www/admin/edit_schemes.php
- www/admin/edit_users.php
- www/admin/edit_visible_group.php
# ignore admin header stuff
- www/includes/admin_header.php # ignore the admin include stuff
- www/includes/admin_footer.php # ignore the admin include stuff
- www/includes/admin_set_paths.php # ignore the admin include stuff
- www/includes/admin_smarty.php # ignore the admin include stuff
# folders with data no check needed
- www/templates_c
- www/cache
- www/log
- www/media
- www/tmp
- www/lib/pChart
- www/lib/pChart2.1.4
- www/lib/Smarty/
- www/lib/smarty-3.1.30/
# ignore composer
- www/vendor
# ignore errores with
# ignoreErrors:
#- 'error regex'
#-
# message: 'error regex'
# path: %currentWorkingDirectory%/www/some/*
# paths:
# - ...
# - ...

View File

@@ -1,9 +0,0 @@
# main static checker
phan --progress-bar -C -o 4dev/tmp/analysis.txt
# sub static checker
phpstan analyse -c phpstan.neon --memory-limit=4G -l 0 www
# only if we work with composer only
www/: psalm (this needs the composer autoloader defined)
# for linting
parallel-lint www/

View File

@@ -1,7 +1,4 @@
<?php declare(strict_types=1);
/**
* @phan-file-suppress PhanTypeSuspiciousStringExpression
*/
<?php
$DEBUG_ALL_OVERRIDE = 0; // set to 1 to debug on live/remote server locations
$DEBUG_ALL = 1;
@@ -17,41 +14,27 @@ ob_start();
// basic class test file
define('USE_DATABASE', true);
// sample config
// require("config.inc");
require 'config.php';
// set session name
if (!defined('SET_SESSION_NAME')) {
define('SET_SESSION_NAME', EDIT_SESSION_NAME);
DEFINE('SET_SESSION_NAME', EDIT_SESSION_NAME);
}
// define log file id
$LOG_FILE_ID = 'classTest';
DEFINE('LOG_FILE_ID', 'classTest');
// set language for l10n
$lang = 'en_utf8';
// init login & backend class
$login = new CoreLibs\ACL\Login(DB_CONFIG);
$basic = new CoreLibs\Admin\Backend(DB_CONFIG);
$basic->dbInfo(true);
$login = new CoreLibs\ACL\Login($DB_CONFIG[LOGIN_DB], $lang);
$basic = new CoreLibs\Admin\Backend($DB_CONFIG[MAIN_DB], $lang);
$basic->dbInfo(1);
ob_end_flush();
echo "DB_CONFIG_SET constant: <pre>".print_r(DB_CONFIG, true)."</pre><br>";
$basic->hrRunningTime();
$basic->runningTime();
echo "RANDOM KEY [50]: ".$basic->randomKeyGen(50)."<br>";
echo "TIMED [hr]: ".$basic->hrRunningTime()."<br>";
echo "TIMED [def]: ".$basic->runningTime()."<br>";
echo "TIMED [string]: ".$basic->runningtime_string."<br>";
$basic->hrRunningTime();
echo "RANDOM KEY [default]: ".$basic->randomKeyGen()."<br>";
echo "TIMED [hr]: ".$basic->hrRunningTime()."<br>";
// color
print "COLOR: -1, -1, -1: ".$basic->rgb2hex(-1, -1, -1)."<br>";
print "COLOR: 10, 20, 30: ".$basic->rgb2hex(10, 20, 30)."<br>";
// set + check edit access id
$edit_access_id = 3;
if (is_object($login) && isset($login->acl['unit'])) {
print "ACL UNIT: ".print_r(array_keys($login->acl['unit']), true)."<br>";
print "ACCESS CHECK: ".(string)$login->loginCheckEditAccess($edit_access_id)."<br>";
if (isset($login) && is_object($login) && isset($login->acl['unit'])) {
print "ACL UNIT: ".print_r(array_keys($login->acl['unit']), 1)."<br>";
print "ACCESS CHECK: ".$login->loginCheckEditAccess($edit_access_id)."<br>";
if ($login->loginCheckEditAccess($edit_access_id)) {
$basic->edit_access_id = $edit_access_id;
} else {
@@ -85,7 +68,7 @@ print "CALLER BACKTRACE: ".$basic->getCallerMethod()."<br>";
$basic->debug('SOME MARK', 'Some error output');
print "EDIT ACCESS ID: ".$basic->edit_access_id."<br>";
if (is_object($login)) {
if (isset($login)) {
// print "ACL: <br>".$basic->print_ar($login->acl)."<br>";
$basic->debug('ACL', "ACL: ".$basic->printAr($login->acl));
// print "DEFAULT ACL: <br>".$basic->print_ar($login->default_acl_list)."<br>";
@@ -99,58 +82,49 @@ if (is_object($login)) {
// DB client encoding
print "DB Client encoding: ".$basic->dbGetEncoding()."<br>";
while ($res = $basic->dbReturn("SELECT * FROM max_test", 0, true)) {
print "TIME: ".$res['time']."<br>";
}
print "CACHED DATA: <pre>".print_r($basic->cursor_ext, true)."</pre><br>";
while ($res = $basic->dbReturn("SELECT * FROM max_test")) {
print "[CACHED] TIME: ".$res['time']."<br>";
print "TIME: ".$res['time']."<br>";
}
$status = $basic->dbExec("INSERT INTO foo (test) VALUES ('FOO TEST ".time()."') RETURNING test");
print "DIRECT INSERT STATUS: $status | PRIMARY KEY: ".$basic->insert_id." | PRIMARY KEY EXT: ".print_r($basic->insert_id_ext, true)."<br>";
print "DIRECT INSERT PREVIOUS INSERTED: ".print_r($basic->dbReturnRow("SELECT foo_id, test FROM foo WHERE foo_id = ".$basic->insert_id), true)."<br>";
print "DIRECT INSERT STATUS: $status | PRIMARY KEY: ".$basic->insert_id." | PRIMARY KEY EXT: ".print_r($basic->insert_id_ext, 1)."<br>";
print "DIRECT INSERT PREVIOUS INSERTED: ".print_r($basic->dbReturnRow("SELECT foo_id, test FROM foo WHERE foo_id = ".$basic->insert_id), 1)."<br>";
$basic->dbPrepare("ins_foo", "INSERT INTO foo (test) VALUES ($1)");
$status = $basic->dbExecute("ins_foo", array('BAR TEST '.time()));
print "PREPARE INSERT STATUS: $status | PRIMARY KEY: ".$basic->insert_id." | PRIMARY KEY EXT: ".print_r($basic->insert_id_ext, true)."<br>";
print "PREPARE INSERT PREVIOUS INSERTED: ".print_r($basic->dbReturnRow("SELECT foo_id, test FROM foo WHERE foo_id = ".$basic->insert_id), true)."<br>";
print "PREPARE INSERT STATUS: $status | PRIMARY KEY: ".$basic->insert_id." | PRIMARY KEY EXT: ".print_r($basic->insert_id_ext, 1)."<br>";
print "PREPARE INSERT PREVIOUS INSERTED: ".print_r($basic->dbReturnRow("SELECT foo_id, test FROM foo WHERE foo_id = ".$basic->insert_id), 1)."<br>";
// returning test with multiple entries
// $status = $basic->db_exec("INSERT INTO foo (test) values ('BAR 1 ".time()."'), ('BAR 2 ".time()."'), ('BAR 3 ".time()."') RETURNING foo_id");
$status = $basic->dbExec("INSERT INTO foo (test) values ('BAR 1 ".time()."'), ('BAR 2 ".time()."'), ('BAR 3 ".time()."') RETURNING foo_id, test");
print "DIRECT MULTIPLE INSERT STATUS: $status | PRIMARY KEYS: ".print_r($basic->insert_id, true)." | PRIMARY KEY EXT: ".print_r($basic->insert_id_ext, true)."<br>";
print "DIRECT MULTIPLE INSERT STATUS: $status | PRIMARY KEYS: ".print_r($basic->insert_id, 1)." | PRIMARY KEY EXT: ".print_r($basic->insert_id_ext, 1)."<br>";
// no returning, but not needed ;
$status = $basic->dbExec("INSERT INTO foo (test) VALUES ('FOO; TEST ".time()."');");
print "DIRECT INSERT STATUS: $status | PRIMARY KEY: ".$basic->insert_id." | PRIMARY KEY EXT: ".print_r($basic->insert_id_ext, true)."<br>";
print "DIRECT INSERT STATUS: $status | PRIMARY KEY: ".$basic->insert_id." | PRIMARY KEY EXT: ".print_r($basic->insert_id_ext, 1)."<br>";
// UPDATE WITH RETURNING
$status = $basic->dbExec("UPDATE foo SET test = 'SOMETHING DIFFERENT' WHERE foo_id = 3688452 RETURNING test");
print "UPDATE STATUS: $status | RETURNING EXT: ".print_r($basic->insert_id_ext, true)."<br>";
print "UPDATE STATUS: $status | RETURNING EXT: ".print_r($basic->insert_id_ext, 1)."<br>";
# db write class test
$table = 'foo';
print "TABLE META DATA: ".$basic->printAr($basic->dbShowTableMetaData($table))."<br>";
$primary_key = ''; # unset
$db_write_table = array('test', 'string_a', 'number_a', 'some_bool');
// $db_write_table = array('test');
$object_fields_not_touch = array();
$object_fields_not_update = array();
$data = array('test' => 'BOOL TEST SOMETHING '.time(), 'string_a' => 'SOME TEXT', 'number_a' => 5);
$db_write_table = array ('test', 'string_a', 'number_a', 'some_bool');
// $db_write_table = array ('test');
$object_fields_not_touch = array ();
$object_fields_not_update = array ();
$data = array ('test' => 'BOOL TEST SOMETHING '.time(), 'string_a' => 'SOME TEXT', 'number_a' => 5);
$primary_key = $basic->dbWriteDataExt($db_write_table, $primary_key, $table, $object_fields_not_touch, $object_fields_not_update, $data);
print "Wrote to DB tabel $table and got primary key $primary_key<br>";
$data = array('test' => 'BOOL TEST ON '.time(), 'string_a' => '', 'number_a' => 0, 'some_bool' => 1);
$data = array ('test' => 'BOOL TEST ON '.time(), 'string_a' => '', 'number_a' => 0, 'some_bool' => 1);
$primary_key = $basic->dbWriteDataExt($db_write_table, $primary_key, $table, $object_fields_not_touch, $object_fields_not_update, $data);
print "Wrote to DB tabel $table and got primary key $primary_key<br>";
$data = array('test' => 'BOOL TEST OFF '.time(), 'string_a' => null, 'number_a' => null, 'some_bool' => 0);
$data = array ('test' => 'BOOL TEST OFF '.time(), 'string_a' => null, 'number_a' => null, 'some_bool' => 0);
$primary_key = $basic->dbWriteDataExt($db_write_table, $primary_key, $table, $object_fields_not_touch, $object_fields_not_update, $data);
print "Wrote to DB tabel $table and got primary key $primary_key<br>";
$data = array('test' => 'BOOL TEST UNSET '.time());
$data = array ('test' => 'BOOL TEST UNSET '.time());
$primary_key = $basic->dbWriteDataExt($db_write_table, $primary_key, $table, $object_fields_not_touch, $object_fields_not_update, $data);
print "Wrote to DB tabel $table and got primary key $primary_key<br>";
// return Array Test
$query = "SELECT type, sdate, integer FROM foobar";
$data = $basic->dbReturnArray($query, true);
print "Full foobar list: <br><pre>".print_r($data, true)."</pre><br>";
# async test queries
/* $basic->dbExecAsync("SELECT test FROM foo, (SELECT pg_sleep(10)) as sub WHERE foo_id IN (27, 50, 67, 44, 10)");
echo "WAITING FOR ASYNC: ";
@@ -182,7 +156,7 @@ while (($ret = $basic->dbCheckAsync()) === true)
flush();
}
print "<br>END STATUS: ".$ret." | PK: ".$basic->insert_id."<br>";
print "ASYNC PREVIOUS INSERTED: ".print_r($basic->dbReturnRow("SELECT foo_id, test FROM foo WHERE foo_id = ".$basic->insert_id), true)."<br>"; */
print "ASYNC PREVIOUS INSERTED: ".print_r($basic->dbReturnRow("SELECT foo_id, test FROM foo WHERE foo_id = ".$basic->insert_id), 1)."<br>"; */
$to_db_version = '9.1.9';
print "VERSION DB: ".$basic->dbVersion()."<br>";
@@ -234,63 +208,8 @@ $date_1 = '2017/1/5';
$date_2 = '2017-01-05';
print "COMPARE DATE: ".$basic->compareDate($date_1, $date_2)."<br>";
// recursive array search
$test_array = array(
'foo' => 'bar',
'input' => array(
'element_a' => array(
'type' => 'text'
),
'element_b' => array(
'type' => 'email'
),
'element_c' => array(
'type' => 'email'
)
)
);
echo "SOURCE ARRAY: ".$basic->printAr($test_array)."<br>";
echo "FOUND ELEMENTS [base]: ".$basic->printAr($basic->arraySearchRecursive('email', $test_array, 'type'))."<br>";
echo "FOUND ELEMENTS [input]: ".$basic->printAr($basic->arraySearchRecursive('email', $test_array['input'], 'type'))."<br>";
// image thumbnail
$images = array(
// height bigger
// 'no_picture.jpg',
// 'no_picture.png',
// width bigger
// 'no_picture_width_bigger.jpg',
// 'no_picture_width_bigger.png',
// square
// 'no_picture_square.jpg',
// 'no_picture_square.png',
// other sample images
// '5c501af48da6c.jpg',
// Apple HEIC files
// 'img_2145.heic',
// Photoshop
'photoshop_test.psd',
);
echo "<hr>";
$thumb_width = 250;
$thumb_height = 300;
// return mime type ala mimetype
$finfo = new finfo(FILEINFO_MIME_TYPE);
foreach ($images as $image) {
$image = BASE.LAYOUT.CONTENT_PATH.IMAGES.$image;
list ($height, $width, $img_type) = getimagesize($image);
echo "<div>IMAGE INFO: ".$height."x".$width.", TYPE: ".$img_type." [".$finfo->file($image)."]</div>";
// rotate image first
$basic->correctImageOrientation($image);
// thumbnail tests
echo "<div>".basename($image).": WIDTH: $thumb_width<br><img src=".$basic->createThumbnailSimple($image, $thumb_width)."></div>";
echo "<div>".basename($image).": HEIGHT: $thumb_height<br><img src=".$basic->createThumbnailSimple($image, 0, $thumb_height)."></div>";
echo "<div>".basename($image).": WIDTH/HEIGHT: $thumb_width x $thumb_height<br><img src=".$basic->createThumbnailSimple($image, $thumb_width, $thumb_height)."></div>";
// test with dummy
echo "<div>".basename($image).": WIDTH/HEIGHT: $thumb_width x $thumb_height (+DUMMY)<br><img src=".$basic->createThumbnailSimple($image, $thumb_width, $thumb_height, null, true, false)."></div>";
echo "<hr>";
}
// array re
// print error messages
// print $login->printErrorMsg();

View File

@@ -1 +1 @@
../includes/edit_base.php
../includes/edit_base.inc

View File

@@ -1 +1 @@
../includes/edit_base.php
../includes/edit_base.inc

View File

@@ -1 +1 @@
../includes/edit_base.php
../includes/edit_base.inc

View File

@@ -1 +1 @@
../includes/edit_base.php
../includes/edit_base.inc

View File

@@ -1 +0,0 @@
../includes/edit_base.php

207
www/admin/edit_order.php Normal file
View File

@@ -0,0 +1,207 @@
<?php
/********************************************************************
* 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;
extract($_GET, EXTR_SKIP);
extract($_POST, EXTR_SKIP);
require 'config.php';
// 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;
}
$table_width = 600;
if (!$table_width) {
$table_width = PAGE_WIDTH;
}
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;
} 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 (!is_array($position)) {
$position = array ();
}
if (count($position)) {
$original_id = $row_data_id;
// 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 ();
if (!is_array($row_data)) {
$row_data = 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;
// 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;
// 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)
foreach ($CONTENT_DATA as $key => $value) {
$smarty->assign($key, $value);
}
if (is_dir(BASE.TEMPLATES_C)) {
$smarty->setCompileDir(BASE.TEMPLATES_C);
}
if (is_dir(BASE.CACHE)) {
$smarty->setCacheDir(BASE.CACHE);
}
$smarty->display('edit_order.tpl');
echo $login->printErrorMsg();
echo $db->printErrorMsg();
// __END__

View File

@@ -1 +1 @@
../includes/edit_base.php
../includes/edit_base.inc

View File

@@ -1 +1 @@
../includes/edit_base.php
../includes/edit_base.inc

View File

@@ -1 +1 @@
../includes/edit_base.php
../includes/edit_base.inc

View File

@@ -1 +1 @@
../includes/edit_base.php
../includes/edit_base.inc

View File

@@ -1,4 +1,4 @@
<?php declare(strict_types=1);
<?php
$DEBUG_ALL_OVERRIDE = 0; // set to 1 to debug on live/remote server locations
$DEBUG_ALL = 1;
@@ -11,8 +11,8 @@ if ($DEBUG_ALL) {
// sample config
require 'config.php';
echo "FILE: ".BASE.LIB."Error.Handling.php<br>";
require(BASE.LIB."Error.Handling.php");
echo "FILE: ".BASE.LIB."Error.Handling.inc<br>";
require(BASE.LIB."Error.Handling.inc");
if ($var) {
echo "OUT<br>";

View File

@@ -1,29 +1,17 @@
<?php declare(strict_types=1);
<?php
// debug for L10n issues in php 7.3
// namespace test
ob_start();
// init language
$lang = 'en_utf8';
// admin class tests
require 'config.php';
$l = new CoreLibs\Language\L10n($lang);
echo "OK<br>";
ob_end_flush();
$string = 'INPUT TEST';
echo "LANGUAGE SET: ".$l->__getLang()."<br>";
echo "LANGUAGE FILE: ".$l->__getMoFile()."<br>";
echo "INPUT TEST: ".$string." => ".$l->__($string)."<br>";
// switch to other language
$lang = 'ja_utf8';
$l->l10nReloadMOfile($lang);
echo "LANGUAGE SET: ".$l->__getLang()."<br>";
echo "LANGUAGE FILE: ".$l->__getMoFile()."<br>";
echo "INPUT TEST: ".$string." => ".$l->__($string)."<br>";
// __END__

View File

@@ -1,4 +1,6 @@
<?php declare(strict_types=1);
<?php
declare(strict_types=1);
$DEBUG_ALL_OVERRIDE = 0; // set to 1 to debug on live/remote server locations
$DEBUG_ALL = 1;
@@ -10,32 +12,30 @@ ob_start();
// admin class tests
require 'config.php';
$SET_SESSION_NAME = EDIT_SESSION_NAME;
DEFINE('SET_SESSION_NAME', EDIT_SESSION_NAME);
echo "DIR: ".DIR."<br>ROOT: ".ROOT."<br>BASE: ".BASE."<br>";
$base = new CoreLibs\Admin\Backend(DB_CONFIG);
$lang = 'ja_utf8';
$base = new CoreLibs\Admin\Backend($DB_CONFIG[MAIN_DB], $lang);
ob_end_flush();
if ($base->getConnectionStatus()) {
die("Cannot connect to database");
}
print "Start time: ".$base->runningTime()."<br>";
print "ByteStringFormat: ".$base->ByteStringFormat(1234567.12)."<br>";
print "byteStringFormat: ".$base->byteStringFormat(1234567.12)."<br>";
// print "get_page_name [DEPRECATED]: ".$base->get_page_name()."<br>";
print "get_page_name [DEPRECATED]: ".$base->get_page_name()."<br>";
print "getPageName: ".$base->getPageName()."<br>";
print "DB Info: ".$base->dbInfo(true)."<br>";
print "DB Info: ".$base->dbInfo(1)."<br>";
print "End Time: ".$base->runningTime()."<br>";
print "Start Time: ".$base->runningTime()."<br>";
print "Run Time: ".$base->runningTime()."<br>";
$base->resetRunningtime();
print "Lang: ".$base->l->__getLang().", MO File: ".$base->l->__getMoFile()."<br>";
print "Translate test: Year -> ".$base->l->__('Year')."<br>";
print "End Time: ".$base->runningTime()."<br>";
// end error print
print $base->printErrorMsg();

View File

@@ -1,4 +1,4 @@
<?php declare(strict_types=1);
<?php
namespace Foo;
@@ -21,14 +21,3 @@ class FooBar
echo "B: $wrong<br>";
}
}
$foo = $bar ?? 'EMPTY';
echo "BAR: ".$foo."<br>";
// define('DS', DIRECTORY_SEPARATOR);
$ds = defined('DS') ? DS : DIRECTORY_SEPARATOR;
$du = DS ?? DIRECTORY_SEPARATOR;
echo "DS is: ".$ds."<br>";
echo "SERVER HOST: ".$_SERVER['HTTP_HOST']."<br>";
// __END__

View File

@@ -16,7 +16,7 @@ $MAX_UPLOAD_SIZE = $base->StringByteFormat(ini_get('upload_max_filesize'));
$allowedExtensions = array ('csv', 'zip', 'jpg', 'pdf', 'bz2');
$sizeLimit = $MAX_UPLOAD_SIZE; // as set in php ini
$base->debug('AJAX UPLOAD', 'Size: '.$sizeLimit.', Memory Limit: '.ini_get('memory_limit'));
$uploader = new FileUpload\qqFileUploader($allowedExtensions, $sizeLimit);
$uploader = new CoreLibs\Upload\qqFileUploader($allowedExtensions, $sizeLimit);
// either in post or get
$_action= $_POST['action'] ? $_POST['action'] : $_GET['action'];
$_task_uid = $_POST['task_uid'] ? $_POST['task_uid'] : $_GET['task_uid'];

View File

@@ -1,4 +1,4 @@
<?php declare(strict_types=1);
<?php
$ENABLE_ERROR_HANDLING = 0;
$DEBUG_ALL_OVERRIDE = 0; // set to 1 to debug on live/remote server locations
$DEBUG_ALL = 1;
@@ -9,27 +9,24 @@ $LOG_PER_RUN = 1;
define('USE_DATABASE', true);
define('USE_HEADER', true);
require 'config.php';
require BASE.INCLUDES.'admin_header.php';
$smarty->MASTER_TEMPLATE_NAME = 'main_body.tpl';
$smarty->TEMPLATE_NAME = 'smarty_test.tpl';
$smarty->CSS_SPECIAL_TEMPLATE_NAME = 'smart_test.css';
$smarty->USE_PROTOTYPE = false;
$smarty->USE_JQUERY = true;
$smarty->JS_DATEPICKR = false;
if ($smarty->USE_PROTOTYPE) {
$smarty->ADMIN_JAVASCRIPT = 'edit.pt.js';
$smarty->JS_SPECIAL_TEMPLATE_NAME = 'prototype.test.js';
} elseif ($smarty->USE_JQUERY) {
$smarty->ADMIN_JAVASCRIPT = 'edit.jq.js';
$smarty->JS_SPECIAL_TEMPLATE_NAME = 'jquery.test.js';
require BASE.INCLUDES.'admin_header.inc';
$MASTER_TEMPLATE_NAME = 'main_body.tpl';
$TEMPLATE_NAME = 'smarty_test.tpl';
$CSS_NAME = 'smart_test.css';
$USE_PROTOTYPE = false;
$USE_JQUERY = true;
if ($USE_PROTOTYPE) {
$EDIT_JAVASCRIPT = 'edit.pt.js';
$JS_NAME = 'prototype.test.js';
} else if ($USE_JQUERY) {
$EDIT_JAVASCRIPT = 'edit.jq.js';
$JS_NAME = 'jquery.test.js';
}
$smarty->PAGE_WIDTH = "100%";
// require BASE.INCLUDES.'admin_set_paths.php';
$smarty->setSmartyPaths();
$PAGE_WIDTH = "100%";
require BASE.INCLUDES.'admin_set_paths.inc';
// smarty test
$smarty->DATA['SMARTY_TEST'] = 'Test Data';
$smarty->DATA['TRANSLATE_TEST'] = $cms->l->__('Are we translated?');
$cms->DATA['SMARTY_TEST'] = 'Test Data';
// drop down test with optgroups
$options = array (
@@ -48,8 +45,7 @@ $options = array (
)
);
$smarty->DATA['drop_down_test'] = $options;
$cms->DATA['drop_down_test'] = $options;
// require BASE.INCLUDES.'admin_smarty.php';
$smarty->setSmartyVarsAdmin();
require BASE.INCLUDES.'admin_footer.php';
require BASE.INCLUDES.'admin_smarty.inc';
require BASE.INCLUDES.'admin_footer.inc';

View File

@@ -1,9 +1,4 @@
<?php
/**
* @phan-file-suppress PhanTypeSuspiciousStringExpression
*/
namespace CoreLibs;
$DEBUG_ALL_OVERRIDE = 0; // set to 1 to debug on live/remote server locations
$DEBUG_ALL = 1;
@@ -11,15 +6,16 @@ $PRINT_ALL = 1;
$DB_DEBUG = 1;
// admin class tests
// require 'config.inc';
require 'config.php';
$SET_SESSION_NAME = EDIT_SESSION_NAME;
$base = new Basic();
DEFINE('SET_SESSION_NAME', EDIT_SESSION_NAME);
$base = new CoreLibs\Basic();
print "THIS HOST: ".HOST_NAME.", with PROTOCOL: ".HOST_PROTOCOL." is running SSL: ".HOST_SSL."<br>";
print "DIR: ".DIR."<br>";
print "BASE: ".BASE."<br>";
print "ROOT: ".ROOT."<br>";
print "HOST: ".HOST_NAME." => DB HOST: ".DB_CONFIG_NAME." => ".print_r(DB_CONFIG, true)."<br>";
print "HOST: ".$HOST_NAME." => DB HOST: ".$DB_HOST[$HOST_NAME]." => ".MAIN_DB."<br>";
$text = 'I am some text
with some
@@ -47,7 +43,7 @@ print "LB remove: ".$base->removeLB($text, '##BR##')."<br>";
// )
// );
// $base->debug('ARRAY', $base->printAr($test));
$base->debug('ARRAY', $base->printAr($test));
function rec($pre, $cur, $node = array ())
{
@@ -86,7 +82,6 @@ function flattenArrayKey(array $array, array $return = array ())
return $return;
}
$test = array ();
// core
$test = rec('', 'A', $test);
$test = rec('', '1', $test);

View File

@@ -1,12 +0,0 @@
{
"name": "gullevek/www",
"description": "CoreLibs",
"type": "library",
"authors": [
{
"name": "Clemens Schwaighofer",
"email": "clemens.schwaighofer@egplusww.com"
}
],
"require": {}
}

Binary file not shown.

View File

@@ -1,4 +1,4 @@
<?php declare(strict_types=1);
<?php
/********************************************************************
* AUTHOR: Clemens Schwaighofer
* CREATED: 2018/10/11
@@ -8,13 +8,13 @@
*********************************************************************/
// please be VERY carefull only to change the right side
$DB_CONFIG = array(
'test' => array(
$DB_CONFIG = array (
'test' => array (
'db_name' => 'gullevek',
'db_user' => 'gullevek',
'db_pass' => 'gullevek',
'db_host' => 'db.tokyo.tequila.jp',
'db_port' => 5432,
'db_port' => '5432',
'db_schema' => 'public',
'db_type' => 'pgsql',
'db_encoding' => '',

33
www/configs/config.host.inc Executable file
View File

@@ -0,0 +1,33 @@
<?php
/********************************************************************
* AUTHOR: Clemens Schwaighofer
* CREATED: 2018/10/11
* SHORT DESCRIPTION:
* configuration file for core host settings
* - DB access name (array group from config.db)
* - location (test/stage/live)
* - debug flag (true/false)
* - DB path (eg PUBLIC_SCHEMA)
* - stie lang
* HISTORY:
*********************************************************************/
// each host has a different db_host
// development host
$DB_HOST['soba.tokyo.tequila.jp'] = 'test';
// target host (live)
// $DB_TARGET_HOST['soba'] = '<DB ID>';
// url redirect database
// $DB_URL_REDIRECT_HOST['soba'] = '<DB ID>';
// location flagging
// test/dev/live
$LOCATION['soba.tokyo.tequila.jp'] = 'test';
// show DEBUG override
// true/false
$DEBUG_FLAG['soba.tokyo.tequila.jp'] = true;
// set postgresql paths (schemas)
$DB_PATH['soba.tokyo.tequila.jp'] = PUBLIC_SCHEMA;
// site language
$SITE_LANG['soba.tokyo.tequila.jp'] = 'en_utf8';
// __END__

View File

@@ -1,44 +0,0 @@
<?php declare(strict_types=1);
/********************************************************************
* AUTHOR: Clemens Schwaighofer
* CREATED: 2018/10/11
* SHORT DESCRIPTION:
* configuration file for core host settings
* - DB access name (array group from config.db)
* - location (test/stage/live)
* - debug flag (true/false)
* - site lang
* HISTORY:
*********************************************************************/
// other master config to attach
// $__LOCAL_CONFIG = array(
// 'db_host' => '',
// 'location' => '',
// 'debug_flag' => true,
// 'site_lang' => 'en_utf8',
// 'login_enabled' => true
// );
// each host has a different db_host
$SITE_CONFIG = array(
// development host
'soba.tokyo.tequila.jp' => array(
// db config selection
'db_host' => 'test',
// other db connections
// 'db_host_target' => '',
// 'db_host_other' => '',
// location flagging (test/dev/live) for debug output
'location' => 'test',
// show DEBUG override
'debug_flag' => true,
// site language
'site_lang' => 'en_utf8',
// enable/disable login override
'login_enabled' => true
),
// 'other.host.com' => $__LOCAL_CONFIG
);
// __END__

View File

@@ -1,4 +1,4 @@
<?php declare(strict_types=1);
<?php
/********************************************************************
* AUTHOR: Clemens Schwaighofer
* CREATED: 2003/06/10
@@ -26,8 +26,6 @@ DEFINE('LIBS', 'lib'.DS);
DEFINE('CONFIGS', 'configs'.DS);
// includes (strings, arrays for static, etc)
DEFINE('INCLUDES', 'includes'.DS);
// data folder (mostly in includes)
DEFINE('DATA', 'data'.DS);
// layout base path
DEFINE('LAYOUT', 'layout'.DS);
// pic-root (compatible to CMS)
@@ -72,32 +70,53 @@ DEFINE('LOG', 'log'.DS);
DEFINE('TEMPLATES_C', 'templates_c'.DS);
// template base
DEFINE('TEMPLATES', 'templates'.DS);
// frontend template dir', only for admin
DEFINE('TEMPLATES_FRONTEND', 'templates_frontend'.DS);
// if below is turned to true then the old folder format is ued
// www/layout/<admin|frontend>/<template name>/...
// in the new layout the "<template name>" is dropped and only frontend
// data is visible there: js, css, images
// language files are moved into www/includes/lang/<admin/frontend>/*.mo
// the language .po files are in 4dev/lang/<admin/frontend>/*.po
DEFINE('USE_DEPRECATED_TEMPLATE_FOLDERS', false);
// default template
DEFINE('DEFAULT_TEMPLATE', 'default'.DS);
// default template file
DEFINE('DEFAULT_TEMPLATE_FILE', 'default.tpl');
/************* HASH / ACL DEFAULT / ERROR SETTINGS / SMARTY *************/
// default hash type
DEFINE('DEFAULT_HASH', 'sha256');
// default acl level
DEFINE('DEFAULT_ACL_LEVEL', 80);
// default levels for certain actions
/* DEFINE('DEFAULT_ACL_READ', 20);
DEFINE('DEFAULT_ACL_CONFIRM', 35);
DEFINE('DEFAULT_ACL_MOD', 40);
DEFINE('DEFAULT_ACL_WRITE', 60);
DEFINE('DEFAULT_ACL_SEND', 70);
DEFINE('DEFAULT_ACL_DEL', 80);
DEFINE('DEFAULT_ACL_ADMIN', 100); */
// SSL host name
// DEFINE('SSL_HOST', 'ssl.host.name');
// DEFINE('SSL_HOST', 'ssl.host.name');
// error page strictness, Default is 3
// 1: only show error page as the last mesure if really no mid & aid can be loaded and found at all
// 2: if template not found, do not search, show error template
// 3: if default template is not found, show error template, do not fall back to default tree
// 4: very strict, even on normal fixable errors through error
// DEFINE('ERROR_STRICT', 3);
// DEFINE('ERROR_STRICT', 3);
// allow page caching in general, set to 'FALSE' if you do debugging or development!
// DEFINE('ALLOW_SMARTY_CACHE', FALSE);
// DEFINE('ALLOW_SMARTY_CACHE', FALSE);
// cache life time, in second', default here is 2 days (172800s)
// -1 is never expire cache
// DEFINE('SMARTY_CACHE_LIFETIME', -1);
// DEFINE('SMARTY_CACHE_LIFETIME', -1);
/************* LOGOUT ********************/
// logout target
DEFINE('LOGOUT_TARGET', '');
// password change allowed
DEFINE('PASSWORD_CHANGE', false);
DEFINE('PASSWORD_FORGOT', false);
// min/max password length
DEFINE('PASSWORD_MIN_LENGTH', 8);
DEFINE('PASSWORD_MAX_LENGTH', 255);
@@ -106,59 +125,40 @@ DEFINE('PASSWORD_MAX_LENGTH', 255);
// ajax request type
DEFINE('AJAX_REQUEST_TYPE', 'POST');
// what AJAX type to use
DEFINE('USE_PROTOTYPE', false);
DEFINE('USE_PROTOTYPE', true);
DEFINE('USE_SCRIPTACULOUS', false);
DEFINE('USE_JQUERY', true);
DEFINE('USE_JQUERY', false);
/************* LAYOUT WIDTHS *************/
DEFINE('PAGE_WIDTH', 800);
// the default template name
DEFINE('MASTER_TEMPLATE_NAME', 'main_body.tpl');
/************* OVERALL CONTROL NAMES *************/
// BELOW has HAS to be changed
// base name for all session and log names
DEFINE('BASE_NAME', 'CoreLibs');
/************* SESSION NAMES *************/
// server name HASH
DEFINE('SERVER_NAME_HASH', hash('crc32b', $_SERVER['HTTP_HOST']));
DEFINE('SERVER_PATH_HASH', hash('crc32b', BASE));
// backend
DEFINE('EDIT_SESSION_NAME', BASE_NAME.'Admin'.SERVER_NAME_HASH.SERVER_PATH_HASH);
DEFINE('EDIT_SESSION_NAME', 'ADMIN_SESSION_NAME'.SERVER_NAME_HASH);
// frontend
DEFINE('SESSION_NAME', BASE_NAME.SERVER_NAME_HASH.SERVER_PATH_HASH);
DEFINE('SESSION_NAME', 'SESSION_NAME'.SERVER_NAME_HASH);
// SET_SESSION_NAME should be set in the header if a special session name is needed
DEFINE('SET_SESSION_NAME', SESSION_NAME);
/************* CACHE/COMPILE IDS *************/
DEFINE('CACHE_ID', 'CACHE_'.BASE_NAME.'_'.SERVER_NAME_HASH);
DEFINE('COMPILE_ID', 'COMPILE_'.BASE_NAME.'_'.SERVER_NAME_HASH);
// DEFINE('SET_SESSION_NAME', SESSION_NAME);
/************* LANGUAGE / ENCODING *******/
DEFINE('DEFAULT_LANG', 'en_utf8');
// default web page encoding setting
DEFINE('DEFAULT_ENCODING', 'UTF-8');
/************* LOGGING *******************/
// below two can be defined here, but they should be
// defined in either the header file or the file itself
// as $LOG_FILE_ID which takes presence over LOG_FILE_ID
// see Basic class constructor
DEFINE('LOG_FILE_ID', BASE_NAME);
/************* CLASS ERRORS *******************/
// 0 = default all OFF
// 1 = throw notice on unset class var
// 2 = no notice on unset class var, but do not set undefined class var
// 3 = throw error and do not set class var
define('CLASS_VARIABLE_ERROR_MODE', 3);
/************* LOGGING *******************/
// DEFINE('LOG_FILE_ID', '');
/************* QUEUE TABLE *************/
// if we have a dev/live system
// set_live is a per page/per item
// live_queue is a global queue system
// DEFINE('QUEUE', 'live_queue');
// DEFINE('QUEUE', 'live_queue');
/************* DB PATHS (PostgreSQL) *****************/
// schema names, can also be defined per <DB INFO>
@@ -167,53 +167,35 @@ DEFINE('DEV_SCHEMA', 'public');
DEFINE('TEST_SCHEMA', 'public');
DEFINE('LIVE_SCHEMA', 'public');
/************* CORE HOST SETTINGS *****************/
if (file_exists(BASE.CONFIGS.'config.host.php')) {
require BASE.CONFIGS.'config.host.php';
}
if (!isset($SITE_CONFIG)) {
$SITE_CONFIG = array();
}
/************* DB ACCESS *****************/
if (file_exists(BASE.CONFIGS.'config.db.php')) {
require BASE.CONFIGS.'config.db.php';
}
if (!isset($DB_CONFIG)) {
$DB_CONFIG = array();
}
/************* OTHER PATHS *****************/
if (file_exists(BASE.CONFIGS.'config.path.php')) {
require BASE.CONFIGS.'config.path.php';
// File and Folder paths
// ID is TARGET (first array element)
// $PATHS['test']['csv_path'] = '';
// $PATHS['test']['perl_bin'] = '';
// $PATHS['test']['redirect_url'] = '';
/************* DB ACCESS *****************/
if (file_exists(BASE.CONFIGS.'config.db.inc')) {
require BASE.CONFIGS.'config.db.inc';
}
/************* CORE HOST SETTINGS *****************/
if (file_exists(BASE.CONFIGS.'config.host.inc')) {
require BASE.CONFIGS.'config.host.inc';
}
/************* MASTER INIT *****************/
// set the USE_DATABASE var, if there is nothing set, we assume TRUE
$USE_DATABASE = defined('USE_DATABASE') ? USE_DATABASE : true;
// live frontend pages
// ** missing live domains **
// get the name without the port
list($HOST_NAME) = array_pad(explode(':', $_SERVER['HTTP_HOST'], 2), 2, null);
if (!isset($DB_HOST[$HOST_NAME]) && $USE_DATABASE) {
echo 'No matching DB config found. Contact Admin<br>';
exit -1;
}
// set HOST name
DEFINE('HOST_NAME', $HOST_NAME);
// BAIL ON MISSING MASTER SITE CONFIG
if (!isset($SITE_CONFIG[HOST_NAME]['location'])) {
echo 'Missing SITE_CONFIG entry for: "'.HOST_NAME.'". Contact Administrator';
exit;
}
// BAIL ON MISSING DB CONFIG:
// we have either no db selction for this host but have db config entries
// or we have a db selection but no db config as array or empty
// or we have a selection but no matching db config entry
if ((!isset($SITE_CONFIG[HOST_NAME]['db_host']) && count($DB_CONFIG)) ||
(isset($SITE_CONFIG[HOST_NAME]['db_host']) &&
// missing DB CONFIG
((is_array($DB_CONFIG) && !count($DB_CONFIG)) ||
!is_array($DB_CONFIG) ||
// has DB CONFIG but no match
(is_array($DB_CONFIG) && count($DB_CONFIG) && !isset($DB_CONFIG[$SITE_CONFIG[HOST_NAME]['db_host']])))
)
) {
echo 'No matching DB config found for: "'.HOST_NAME.'". Contact Administrator';
exit;
}
// set SSL on
if ((array_key_exists('HTTPS', $_SERVER) && !empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') ||
$_SERVER['SERVER_PORT'] == 443) {
@@ -223,46 +205,44 @@ if ((array_key_exists('HTTPS', $_SERVER) && !empty($_SERVER['HTTPS']) && $_SERVE
DEFINE('HOST_SSL', false);
DEFINE('HOST_PROTOCOL', 'http://');
}
// define the db config set name, the db config and the db schema
DEFINE('DB_CONFIG_NAME', $SITE_CONFIG[HOST_NAME]['db_host']);
DEFINE('DB_CONFIG', isset($DB_CONFIG[DB_CONFIG_NAME]) ? $DB_CONFIG[DB_CONFIG_NAME] : array());
// DEFINE('DB_CONFIG_TARGET', SITE_CONFIG[$HOST_NAME]['db_host_target']);
// DEFINE('DB_CONFIG_OTHER', SITE_CONFIG[$HOST_NAME]['db_host_other']);
// override for login and global schemas
// DEFINE('LOGIN_DB_SCHEMA', PUBLIC_SCHEMA); // where the edit* tables are
// DEFINE('GLOBAL_DB_SCHEMA', PUBLIC_SCHEMA); // where global tables are that are used by all schemas (eg queue tables for online, etc)
// debug settings, site lang, etc
DEFINE('TARGET', $SITE_CONFIG[HOST_NAME]['location']);
DEFINE('DEBUG', $SITE_CONFIG[HOST_NAME]['debug_flag']);
DEFINE('SITE_LANG', $SITE_CONFIG[HOST_NAME]['site_lang']);
DEFINE('LOGIN_ENABLED', $SITE_CONFIG[HOST_NAME]['login_enabled']);
// paths
// define the static names
DEFINE('LOGIN_DB', $DB_HOST[$HOST_NAME]);
DEFINE('MAIN_DB', $DB_HOST[$HOST_NAME]);
DEFINE('DB_SCHEMA', $DB_PATH[$HOST_NAME]);
// DEFINE('TARGET_DB', $DB_TARGET_HOST[$HOST_NAME]);
// DEFINE('URL_REDIRECT_DB', $DB_URL_REDIRECT_HOST[$HOST_NAME]);
// next three if top is not set
// DEFINE('TEST_SCHEMA', $DB_CONFIG[MAIN_DB]['db_schema']);
// DEFINE('DEV_SCHEMA', $DB_CONFIG[MAIN_DB]['db_schema']);
// DEFINE('PUBLIC_SCHEMA', $DB_CONFIG[TARGET_DB]['db_schema']);
DEFINE('LOGIN_DB_SCHEMA', PUBLIC_SCHEMA); // where the edit* tables are
DEFINE('GLOBAL_DB_SCHEMA', PUBLIC_SCHEMA); // where global tables are that are used by all schemas (eg queue tables for online, etc)
DEFINE('TARGET', $LOCATION[$HOST_NAME]);
// DEFINE('CSV_PATH', $PATHS[TARGET]['csv_path']);
// DEFINE('EXPORT_SCRIPT', $PATHS[TARGET]['perl_bin']);
// DEFINE('REDIRECT_URL', $PATHS[TARGET]['redirect_url']);
DEFINE('DEBUG', $DEBUG_FLAG[$HOST_NAME]);
DEFINE('SITE_LANG', $SITE_LANG[$HOST_NAME]);
// show all errors if debug_all & show_error_handling are enabled
DEFINE('SHOW_ALL_ERRORS', true);
DEFINE('SHOW_ALL_ERRORS', true); // show all errors if debug_all & show_error_handling are enabled
/************* GENERAL PAGE TITLE ********/
DEFINE('G_TITLE', '<OVERALL FALLBACK PAGE TITLE>');
$G_TITLE = '<OVERALL PAGE TITLE>';
/************ STYLE SHEETS / JS **********/
DEFINE('ADMIN_STYLESHEET', 'edit.css');
DEFINE('ADMIN_JAVASCRIPT', 'edit.js');
DEFINE('STYLESHEET', 'frontend.css');
DEFINE('JAVASCRIPT', 'frontend.js');
$EDIT_STYLESHEET = 'edit.css';
$EDIT_JAVASCRIPT = 'edit.js';
$STYLESHEET = 'frontend.css';
$JAVASCRIPT = 'frontend.js';
// anything optional
/************* INTERNAL ******************/
// any other global definitons in the config.other.php
if (file_exists(BASE.CONFIGS.'config.other.php')) {
require BASE.CONFIGS.'config.other.php';
}
// any other global definitons here
// DEFINE('SOME_ID', <SOME VALUE>);
/************* CONVERT *******************/
// this only needed if the external thumbnail create is used
$paths = array(
$paths = array (
'/bin',
'/usr/bin',
'/usr/local/bin'
@@ -274,27 +254,21 @@ foreach ($paths as $path) {
DEFINE('CONVERT', $path.DS.'convert');
}
}
unset($paths);
/************* DEBUG *******************/
// turn off debug if debug flag is OFF
if (defined('DEBUG') && DEBUG == false) {
$ECHO_ALL = false;
$DEBUG_ALL = false;
$PRINT_ALL = false;
$DB_DEBUG = false;
$ENABLE_ERROR_HANDLING = false;
$DEBUG_ALL_OVERRIDE = false;
$ECHO_ALL = 0;
$DEBUG_ALL = 0;
$PRINT_ALL = 0;
$DB_DEBUG = 0;
$ENABLE_ERROR_HANDLING = 0;
} else {
$ECHO_ALL = false;
$DEBUG_ALL = true;
$PRINT_ALL = true;
$DB_DEBUG = true;
$ENABLE_ERROR_HANDLING = false;
$DEBUG_ALL_OVERRIDE = false;
$ECHO_ALL = 0;
$DEBUG_ALL = 1;
$PRINT_ALL = 1;
$DB_DEBUG = 1;
}
/************* AUTO LOADER *******************/
// read auto loader
require BASE.LIB.'autoloader.php';

View File

@@ -1,12 +0,0 @@
<?php declare(strict_types=1);
/********************************************************************
* AUTHOR: Clemens Schwaighofer
* CREATED: 2019/10/28
* SHORT DESCRIPTION:
* other global constant variables
* HISTORY:
*********************************************************************/
// DEFINE('SOME_ID', <SOME VALUE>);
// __END__

View File

@@ -1,21 +0,0 @@
<?php declare(strict_types=1);
/********************************************************************
* AUTHOR: Clemens Schwaighofer
* CREATED: 2018/10/11
* SHORT DESCRIPTION:
* configuration file for core path settings
* CSV target paths, and other download access URLS or paths needed
* HISTORY:
*********************************************************************/
// File and Folder paths
// ID is TARGET (first array element)
/*$PATHS = array(
'test' => array(
'csv_path' => '',
'perl_bin' => '',
'other_url' => '',
)
)*/
// __END__

View File

@@ -1,4 +1,4 @@
<?php declare(strict_types=1);
<?php
/********************************************************************
* AUTHOR: Clemens Schwaighofer
* CREATED: 2018/10/11
@@ -10,10 +10,10 @@
define('CONFIG_PATH', 'configs'.DIRECTORY_SEPARATOR);
// config path prefix search, start with 0, got down each level __DIR__ has, if nothing found -> bail
$CONFIG_PATH_PREFIX = '';
for ($dir_pos = 0, $dir_max = count(explode(DIRECTORY_SEPARATOR, __DIR__)); $dir_pos <= $dir_max; $dir_pos ++) {
for ($dir_pos = 0, $dir_max = count(explode('/', __DIR__)); $dir_pos <= $dir_max; $dir_pos ++) {
$CONFIG_PATH_PREFIX .= '..'.DIRECTORY_SEPARATOR;
if (file_exists($CONFIG_PATH_PREFIX.CONFIG_PATH.'config.master.php')) {
require $CONFIG_PATH_PREFIX.CONFIG_PATH.'config.master.php';
if (file_exists($CONFIG_PATH_PREFIX.CONFIG_PATH.'config.inc')) {
require $CONFIG_PATH_PREFIX.CONFIG_PATH.'config.inc';
break;
}
}
@@ -21,12 +21,5 @@ for ($dir_pos = 0, $dir_max = count(explode(DIRECTORY_SEPARATOR, __DIR__)); $dir
if (!defined('DS')) {
exit('Base config unloadable');
}
// find trigger name "admin/" or "frontend/" in the getcwd() folder
foreach (array('admin', 'frontend') as $folder) {
if (strstr(getcwd(), DS.$folder)) {
define('CONTENT_PATH', $folder.DS);
break;
}
}
// __END__

View File

@@ -1,7 +0,0 @@
RewriteEngine on
# not a file
RewriteCond %{REQUEST_FILENAME} !-f
# not a directory
RewriteCond %{REQUEST_FILENAME} !-d
# throw the whole path to the url as form parameter
RewriteRule (.*) index.php?path=$1 [QSA,L]

View File

@@ -1 +0,0 @@
../configs/config.php

View File

@@ -1 +0,0 @@
../../configs/config.php

View File

@@ -1,3 +0,0 @@
<?php
require 'config.php';

View File

@@ -1,3 +0,0 @@
<?php declare(strict_types=1);
require 'config.php';

View File

@@ -1,4 +1,4 @@
<?php declare(strict_types=1);
<?php
/********************************************************************
* AUTHOR: Clemens Schwaighofer
* CREATED: 2005/07/19
@@ -7,7 +7,7 @@
* HISTORY:
*********************************************************************/
$day_short = array(
$day_short = array (
1 => 'Mon',
2 => 'Tue',
3 => 'Wed',
@@ -17,7 +17,7 @@ $day_short = array(
7 => 'Sun'
);
$day_long = array(
$day_long = array (
1 => 'Monday',
2 => 'Tuesday',
3 => 'Wednesday',
@@ -28,7 +28,7 @@ $day_long = array(
);
// months
$month_long = array(
$month_long = array (
1 => 'January',
2 => 'February',
3 => 'March',
@@ -43,7 +43,7 @@ $month_long = array(
12 => 'December'
);
$month_short = array(
$month_short = array (
1 => 'Jan',
2 => 'Feb',
3 => 'Mar',

View File

@@ -1,4 +1,4 @@
<?php declare(strict_types=1);
<?php
/********************************************************************
* AUTHOR: Clemens Schwaighofer
* CREATED: 2008/08/14

View File

@@ -1,4 +1,4 @@
<?php declare(strict_types=1);
<?php
/********************************************************************
* AUTHOR: Clemens Schwaighofer
* CREATED: 2008/08/01
@@ -10,63 +10,61 @@
//------------------------------ variable init start
// for dev test we set full error reporting; writes everything, except E_ERROR into logs/php_error-<day>.log
if ($DEBUG_ALL && $ENABLE_ERROR_HANDLING) {
include BASE.LIBS."Error.Handling.php";
include BASE.LIBS."Error.Handling.inc";
}
// predefine vars
$messages = array();
$lang = '';
$messages = array ();
// import all POST vars
// extract($_POST, EXTR_SKIP);
extract($_POST, EXTR_SKIP);
//------------------------------ variable init end
//------------------------------ library include start
// set output to quiet for load of classes & session settings
ob_start();
// set the session name
$SET_SESSION_NAME = EDIT_SESSION_NAME;
$LOG_FILE_ID = BASE_NAME.'Admin';
//------------------------------ library include end
//------------------------------ basic variable settings start
if (!isset($AJAX_PAGE)) {
$AJAX_PAGE = false;
}
if (!isset($ZIP_STREAM)) {
$ZIP_STREAM = false;
}
// set encoding
if (!isset($ENCODING) || !$ENCODING) {
$ENCODING = DEFAULT_ENCODING;
if (!isset($encoding)) {
$encoding = DEFAULT_ENCODING;
}
// set the default lang, if not given
if (session_id() && $_SESSION['DEFAULT_LANG']) {
$lang = $_SESSION['DEFAULT_LANG'];
} elseif (!$lang) {
$lang = DEFAULT_LANG;
}
// end the stop of the output flow, but only if we didn't request a csv file download
if (isset($_POST['action']) && $_POST['action'] != 'download_csv' && !$AJAX_PAGE) {
header("Content-type: text/html; charset=".$ENCODING);
}
if ($AJAX_PAGE && !$ZIP_STREAM) {
header("Content-Type: application/json; charset=UTF-8");
if (array_key_exists('action', $_POST) && $_POST['action'] != 'download_csv') {
header("Content-type: text/html; charset=".$encoding);
ob_end_flush();
}
//------------------------------ basic variable settings start
//------------------------------ class init start
// login & page access check
$login = new CoreLibs\ACL\Login(DB_CONFIG);
$login = new CoreLibs\ACL\Login($DB_CONFIG[LOGIN_DB], $lang);
// post login lang check
if ($_SESSION['DEFAULT_LANG']) {
$lang = $_SESSION['DEFAULT_LANG'];
}
// create smarty object
$smarty = new CoreLibs\Template\SmartyExtend();
$smarty = new CoreLibs\Template\SmartyExtend($lang);
// create new DB class
$cms = new CoreLibs\Admin\Backend(DB_CONFIG);
$cms = new CoreLibs\Admin\Backend($DB_CONFIG[MAIN_DB], $lang);
// the menu show flag (what menu to show)
$cms->menu_show_flag = 'main';
// db nfo
$cms->dbInfo();
// set acl
$cms->setACL($login->acl);
// flush
ob_end_flush();
$cms->acl = $login->acl;
//------------------------------ class init end
//------------------------------ logging start
// log backend data
// data part creation
$data = array(
$data = array (
'_SESSION' => $_SESSION,
'_GET' => $_GET,
'_POST' => $_POST,
@@ -79,16 +77,22 @@ if (!$login->login) {
}
//------------------------------ logging end
//------------------------------ page rights start
// flag if to show the edit access id drop down list
// check if we have more than one EA ID
$cms->DATA['show_ea_extra'] = $login->acl['acl']['show_ea_extra'];
//------------------------------ page rights ned
// automatic hide for DEBUG messages on live server
// can be overridden when setting DEBUG_ALL_OVERRIDE on top of the script (for emergency debugging of one page only)
if ((TARGET == 'live' || TARGET == 'remote') && !$DEBUG_ALL_OVERRIDE) {
$login->debug_output_all = false;
$login->echo_output_all = false;
$login->print_output_all = false;
$cms->debug_output_all = false;
$cms->echo_output_all = false;
$cms->print_output_all = false;
$login->debug_output_all = 0;
$login->echo_output_all = 0;
$login->print_output_all = 0;
$cms->debug_output_all = 0;
$cms->echo_output_all = 0;
$cms->print_output_all = 0;
}
$smarty->DATA['JS_DEBUG'] = DEBUG;
$cms->DATA['JS_DEBUG'] = DEBUG;
// __END__

View File

@@ -0,0 +1,147 @@
<?php
/********************************************************************
* AUTHOR: Clemens Schwaighofer
* CREATED: 2007/09/03
* SHORT DESCRIPTION:
* set paths & language variables
* HISTORY:
*********************************************************************/
// template path
if ($_SESSION['TEMPLATE']) {
$TEMPLATE = $_SESSION['TEMPLATE'];
} elseif ($LOCAL_TEMPLATE) {
$TEMPLATE = $LOCAL_TEMPLATE;
} else {
$TEMPLATE = DEFAULT_TEMPLATE;
}
$TEMPLATE_DIR = $TEMPLATE;
// master template
if (!$MASTER_TEMPLATE_NAME) {
$MASTER_TEMPLATE_NAME = MASTER_TEMPLATE_NAME;
}
// just emergency fallback for language
// set encoding
if ($_SESSION['DEFAULT_CHARSET']) {
$encoding = $_SESSION['DEFAULT_CHARSET'];
} elseif (!$encoding) {
$encoding = DEFAULT_ENCODING;
}
// just emergency fallback for language
if ($_SESSION['DEFAULT_LANG']) {
$lang = $_SESSION['DEFAULT_LANG'];
} elseif (!$lang) {
$lang = defined('SITE_LANG') ? SITE_LANG : DEFAULT_LANG;
}
// create the char lang encoding
$lang_short = substr($lang, 0, 2);
// set include & template names
$CONTENT_INCLUDE = str_replace(".php", ".tpl", $cms->page_name);
$FORM_NAME = !isset($FORM_NAME) || !$FORM_NAME ? str_replace(".php", "", $cms->page_name) : $FORM_NAME;
// set local page title
$L_TITLE = ucfirst(str_replace('_', ' ', $cms->getPageName(1))).' - '.$G_TITLE;
// strip tpl and replace it with inc
// php include file per page
$cms->INC_TEMPLATE_NAME = str_replace(".tpl", ".inc", $CONTENT_INCLUDE);
// javascript include per page
$cms->JS_TEMPLATE_NAME = str_replace(".tpl", ".js", $CONTENT_INCLUDE);
// css per page
$cms->CSS_TEMPLATE_NAME = str_replace(".tpl", ".css", $CONTENT_INCLUDE);
// special CSS file
$cms->CSS_SPECIAL_TEMPLATE_NAME = @$CSS_NAME;
// special JS file
$cms->JS_SPECIAL_TEMPLATE_NAME = @$JS_NAME;
// set basic template path (tmp)
$cms->template_path = LAYOUT.$TEMPLATE_DIR.TEMPLATES;
if ($smarty) {
$smarty->setTemplateDir($cms->template_path);
}
$cms->lang_dir = LAYOUT.$TEMPLATE_DIR.LANG; // no outside
$cms->includes = BASE.INCLUDES; // no longer in templates, only global
$cms->javascript = LAYOUT.$TEMPLATE_DIR.JS;
$cms->css = LAYOUT.$TEMPLATE_DIR.CSS;
$cms->pictures = LAYOUT.$TEMPLATE_DIR.IMAGES;
$cms->cache_pictures = LAYOUT.$TEMPLATE_DIR.CACHE;
$cms->cache_pictures_root = ROOT.$cms->cache_pictures;
if (!is_dir($cms->cache_pictures_root)) {
mkdir($cms->cache_pictures_root);
}
$template_set = $TEMPLATE;
// if we don't find the master template, set the template path back AND set the insert template as absolute path
if (!file_exists(ROOT.$smarty->getTemplateDir()[0].DS.MASTER_TEMPLATE_NAME)) {
if (file_exists(ROOT.$smarty->getTemplateDir()[0].DS.$TEMPLATE_NAME)) {
$TEMPLATE_NAME = ROOT.$smarty->getTemplateDir()[0].DS.$TEMPLATE_NAME;
}
$smarty->setTemplateDir(LAYOUT.DEFAULT_TEMPLATE.TEMPLATES);
$template_set = DEFAULT_TEMPLATE;
} elseif (!file_exists(ROOT.$smarty->getTemplateDir()[0].DS.$TEMPLATE_NAME)) {
// check if the template exists in the template path, if not, set path to to default
$smarty->setTemplateDir(LAYOUT.DEFAULT_TEMPLATE.TEMPLATES);
$template_set = DEFAULT_TEMPLATE;
}
// check if lang_dir folder exists in the template path, if not fall back to default
if (!is_dir($cms->lang_dir)) {
$cms->lang_dir = LAYOUT.DEFAULT_TEMPLATE.LANG;
}
// check if the javascript folder exists in the template path, if not fall back to default
if (!is_dir($cms->javascript)) {
$cms->javascript = LAYOUT.DEFAULT_TEMPLATE.JS;
}
// check if css folder exists in the template path, if not fall back to default
if (!is_dir($cms->css)) {
$cms->css = LAYOUT.DEFAULT_TEMPLATE.CSS;
}
if (!is_dir($cms->pictures)) {
$cms->pictures = LAYOUT.DEFAULT_TEMPLATE.PICTURES;
}
if (!is_dir($cms->cache_pictures)) {
$cms->cache_pictures = LAYOUT.DEFAULT_TEMPLATE.CACHE;
$cms->cache_pictures_root = ROOT.$cms->cache_pictures;
}
// if the template_dir is != DEFAULT_TEMPLATE, then try to make a lang switch
// if the default lang is not like the lang given, switch lang
if (false === strstr(LAYOUT.DEFAULT_TEMPLATE.LANG, $cms->lang_dir) ||
strcasecmp(defined('SITE_LANG') ? SITE_LANG : DEFAULT_LANG, $lang)
) {
$cms->debug('LANG', 'Orig: '.LAYOUT.DEFAULT_TEMPLATE.LANG.', New: '.$cms->lang_dir.' | Orig Lang: '.(defined('SITE_LANG') ? SITE_LANG : DEFAULT_LANG).', New Lang: '.$lang);
$cms->l->l10nReloadMOfile($lang, $cms->lang_dir);
// if we have login class
if ($login) {
$login->l->l10nReloadMOfile($lang, $cms->lang_dir);
}
// if we have smarty template class
if ($smarty) {
$smarty->l10n->l10nReloadMOfile($lang, $cms->lang_dir);
}
}
// javascrip translate data as template for auto translate
if (!$TEMPLATE_TRANSLATE) {
$TEMPLATE_TRANSLATE = 'jsTranslate_'.$lang.'.tpl';
$cms->debug('LANG', 'Load lang: '.$lang.', for page file '.$TEMPLATE_TRANSLATE);
} else {
// we assume we have some fixed set
// we must add _<$lang>
// if .tpl, put before .tpl
// if not .tpl, add _<$lang>.tpl
if (strpos($TEMPLATE_TRANSLATE, '.tpl')) {
$TEMPLATE_TRANSLATE = str_replace('.tpl', '_'.$lang.'.tpl', $TEMPLATE_TRANSLATE);
} else {
$TEMPLATE_TRANSLATE .= '_'.$lang.'.tpl';
}
}
// if we can't find it, dump it
if (!file_exists($smarty->getTemplateDir()[0].DS.$TEMPLATE_TRANSLATE)) {
unset($TEMPLATE_TRANSLATE);
}
// $cms->debug("LANGUAGE", "L: $lang | ".$cms->lang_dir." | MO File: ".$cms->l->mofile);
$cms->debug("LANGUAGE", "SL: ".$_SESSION['DEFAULT_CHARSET']." | ".$_SESSION['LANG']." | ".$_SESSION['DEFAULT_LANG']);
$cms->debug("TEMPLATE", "P: ".$smarty->getTemplateDir()[0]);
// __END__

View File

@@ -1,19 +0,0 @@
<?php declare(strict_types=1);
/********************************************************************
* AUTHOR: Clemens Schwaighofer
* CREATED: 2007/09/03
* SHORT DESCRIPTION:
* set paths & language variables
* HISTORY:
*********************************************************************/
/******
NOTE THAT THIS INCLUDE IS OBSOLETE
USE THE BELOW FUNCTION CALL IN THE SCRIPT ITSELF
*******/
trigger_error('admin_set_paths.php is deprecated. Use SmartyExtended->setSmartyPaths();', E_USER_DEPRECATED);
if ($smarty) {
$smarty->setSmartyPaths();
}
// __END__

View File

@@ -0,0 +1,104 @@
<?php
/********************************************************************
* AUTHOR: Clemens Schwaighofer
* CREATED: 2005/07/12
* SHORT DESCRIPTION:
* default smarty vars, and create output template for smarty
* HISTORY:
*********************************************************************/
// trigger flags
$cms->HEADER['USE_PROTOTYPE'] = isset($USE_PROTOTYPE) ? $USE_PROTOTYPE : USE_PROTOTYPE;
// scriptacolous, can only be used with prototype
if ($cms->HEADER['USE_PROTOTYPE']) {
$cms->HEADER['USE_SCRIPTACULOUS'] = isset($USE_SCRIPTACULOUS) ? $USE_SCRIPTACULOUS : USE_SCRIPTACULOUS;
}
// jquery and prototype should not be used together
$cms->HEADER['USE_JQUERY'] = isset($USE_JQUERY) ? $USE_JQUERY : USE_JQUERY; // don't use either of those two toger
// set basic template path (tmp)
// paths are set in the 'set_paths.inc' file
// check if we have an external file with the template name
if (file_exists($cms->includes.$cms->INC_TEMPLATE_NAME) && is_file($cms->includes.$cms->INC_TEMPLATE_NAME)) {
include($cms->includes.$cms->INC_TEMPLATE_NAME);
}
// additional per page Javascript include
$cms->JS_INCLUDE = '';
if (file_exists($cms->javascript.$cms->JS_TEMPLATE_NAME) && is_file($cms->javascript.$cms->JS_TEMPLATE_NAME)) {
$cms->JS_INCLUDE = $cms->javascript.$cms->JS_TEMPLATE_NAME;
}
// per page css file
$cms->CSS_INCLUDE = '';
if (file_exists($cms->css.$cms->CSS_TEMPLATE_NAME) && is_file($cms->css.$cms->CSS_TEMPLATE_NAME)) {
$cms->CSS_INCLUDE = $cms->css.$cms->CSS_TEMPLATE_NAME;
}
// optional CSS file
$cms->CSS_SPECIAL_INCLUDE = '';
if (file_exists($cms->css.$cms->CSS_SPECIAL_TEMPLATE_NAME) && is_file($cms->css.$cms->CSS_SPECIAL_TEMPLATE_NAME)) {
$cms->CSS_SPECIAL_INCLUDE = $cms->css.$cms->CSS_SPECIAL_TEMPLATE_NAME;
}
// optional JS file
$cms->JS_SPECIAL_INCLUDE = '';
if (file_exists($cms->javascript.$cms->JS_SPECIAL_TEMPLATE_NAME) && is_file($cms->javascript.$cms->JS_SPECIAL_TEMPLATE_NAME)) {
$cms->JS_SPECIAL_INCLUDE = $cms->javascript.$cms->JS_SPECIAL_TEMPLATE_NAME;
}
// the actual include files for javascript (per page)
$cms->HEADER['JS_INCLUDE'] = $cms->JS_INCLUDE;
$cms->HEADER['CSS_INCLUDE'] = $cms->CSS_INCLUDE;
$cms->HEADER['CSS_SPECIAL_INCLUDE'] = $cms->CSS_SPECIAL_INCLUDE;
$cms->HEADER['JS_SPECIAL_INCLUDE'] = $cms->JS_SPECIAL_INCLUDE;
// paths to the files
$cms->DATA['includes'] = $cms->includes;
$cms->DATA['js'] = $cms->javascript;
$cms->DATA['css'] = $cms->css;
$cms->DATA['pictures'] = $cms->pictures;
// default CMS settings
// define all needed smarty stuff for the general HTML/page building
$cms->HEADER['CSS'] = CSS;
$cms->HEADER['JS'] = JS;
$cms->HEADER['ENCODING'] = $encoding;
$cms->HEADER['DEFAULT_ENCODING'] = DEFAULT_ENCODING;
$cms->HEADER['STYLESHEET'] = $EDIT_STYLESHEET;
$cms->HEADER['JAVASCRIPT'] = $EDIT_JAVASCRIPT;
// html title
$cms->HEADER['HTML_TITLE'] = (!isset($L_TITLE) || !$L_TITLE) ? $cms->l->__($G_TITLE) : $cms->l->__($L_TITLE);
$cms->DATA['table_width'] = $PAGE_WIDTH ? $PAGE_WIDTH : PAGE_WIDTH;
// messages = array('msg' =>, 'class' => 'error/warning/...')
$cms->DATA['messages'] = $cms->messages;
// top menu
$cms->DATA['nav_menu'] = $cms->adbTopMenu();
// the page name
$cms->DATA['page_name'] = $cms->page_name;
// user name
$cms->DATA['USER_NAME'] = $_SESSION['USER_NAME'];
// the template part to include into the body
$cms->DATA['TEMPLATE_NAME'] = $TEMPLATE_NAME;
$cms->DATA['CONTENT_INCLUDE'] = $CONTENT_INCLUDE;
// LANG
$cms->DATA['LANG'] = $lang;
$cms->DATA['TINYMCE_LANG'] = $lang_short;
// debug data, if DEBUG flag is on, this data is print out
$cms->DEBUG_DATA['debug_error_msg'] = $cms->runningTime();
$cms->DEBUG_DATA['DEBUG'] = @$DEBUG_TMPL;
// create main data array
$cms->CONTENT_DATA = array_merge($cms->HEADER, $cms->DATA, $cms->DEBUG_DATA);
// data is 1:1 mapping (all vars, values, etc)
foreach ($cms->CONTENT_DATA as $key => $value) {
$smarty->assign($key, $value);
}
if (is_dir(BASE.TEMPLATES_C)) {
$smarty->setCompileDir(BASE.TEMPLATES_C);
}
if (is_dir(BASE.CACHE)) {
$smarty->setCacheDir(BASE.CACHE);
}
$smarty->display($MASTER_TEMPLATE_NAME, $TEMPLATE.$lang, $TEMPLATE.$lang);
// __END__

View File

@@ -1,17 +0,0 @@
<?php declare(strict_types=1);
/********************************************************************
* AUTHOR: Clemens Schwaighofer
* CREATED: 2005/07/12
* SHORT DESCRIPTION:
* default smarty vars, and create output template for smarty
* HISTORY:
*********************************************************************/
/******
NOTE THAT THIS INCLUDE IS OBSOLETE
USE THE BELOW FUNCTION CALL IN THE SCRIPT ITSELF
*******/
trigger_error('admin_smarty.php is deprecated. Use SmartyExtended->setSmartyVarsAdmin(); or setSmartyVarsFrontend();', E_USER_DEPRECATED);
$smarty->setSmartyVarsAdmin();
// __END__

328
www/includes/edit_base.inc Normal file
View File

@@ -0,0 +1,328 @@
<?php
/********************************************************************
* AUTHOR: Clemens "Gullevek" Schwaighofer (www.gullevek.org)
* CREATED: 2003/06/10
* SHORT DESCRIPTION:
* central include for all edit_pages
* - edit_groups.php
* - edit_languages.php
* - edit_pages.php
* - edit_schemes.php
* - edit_users.php
* - edit_visible_group.php
* HISTORY:
* 2005/06/30 (cs) remove color settings, they are in CSS File now
* 2005/06/22 (cs) moved load of config array into form class, set lang and lang is must set var for form class; removed the page name setting, moved it into the form class, remove all HTML from main page
* 2004/09/30 (cs) changed layout to fit default layout & changed LIBS, etc
* 2003-06-10: creation of this page
*********************************************************************/
$DEBUG_ALL = 1;
$DB_DEBUG = 1;
extract($_POST, EXTR_SKIP);
$table_width = '100%';
// this is for certain CMS modules that set a relative path
define('REL_PATH', '');
ob_start();
require 'config.php';
// 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;
}
// set default lang if not set otherwise
if (!$lang) {
$lang = DEFAULT_LANG;
}
// should be utf8
header("Content-type: text/html; charset=".DEFAULT_ENCODING);
ob_end_flush();
$login = new CoreLibs\ACL\Login($DB_CONFIG[LOGIN_DB], $lang);
// create form class
$form = new CoreLibs\Output\Form\Generate($DB_CONFIG[MAIN_DB], $lang);
$form->dbExec("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 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
$form->debug_output_all = DEBUG ? 1 : 0;
$form->echo_output_all = 0;
$form->print_output_all = DEBUG ? 1 : 0;
}
// set the template dir
// WARNING: this has a special check for the mailing tool layout (old layout)
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;
}
// space for setting special debug flags
$login->debug_output_all = 1;
// define edit logging function. should be in a special edit interface class later
// METHOD: EditLog()
// 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
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']->dbEscapeString($event)."', '".$GLOBALS['form']->dbEscapeString($data)."', '".$GLOBALS['form']->getPageName()."')";
}
// log backend data
// data part creation
$data = array (
'_SESSION' => $_SESSION,
'_GET' => $_GET,
'_POST' => $_POST,
'_FILES' => $_FILES
);
// log action
EditLog('Edit Submit', serialize($data));
$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;
$HEADER['DEFAULT_ENCODING'] = DEFAULT_ENCODING;
$HEADER['JS'] = JS;
$HEADER['STYLESHEET'] = $EDIT_STYLESHEET;
$HEADER['JAVASCRIPT'] = $EDIT_JAVASCRIPT;
$DATA['table_width'] = $table_width;
// write out error / status messages
$messages[] = $form->formPrintMsg();
$DATA['form_error_msg'] = $messages;
// MENU START
// request some session vars
if (!$HEADER_COLOR) {
$DATA['HEADER_COLOR'] = "#E0E2FF";
} else {
$DATA['HEADER_COLOR'] = $_SESSION['HEADER_COLOR'];
}
$DATA['USER_NAME'] = $_SESSION["USER_NAME"];
$DATA['EUID'] = $_SESSION["EUID"];
$DATA['GROUP_NAME'] = $_SESSION["GROUP_NAME"];
$DATA['GROUP_LEVEL'] = $_SESSION["GROUP_LEVEL"];
$PAGES = $_SESSION["PAGES"];
//$form->debug('menu', $form->printAr($PAGES));
// build nav from $PAGES ...
if (!is_array($PAGES)) {
$PAGES = array ();
}
for ($i = 0, $i_max = count($PAGES); $i < $i_max; $i ++) {
if ($PAGES[$i]["menu"] && $PAGES[$i]["online"]) {
$menuarray[] = $PAGES[$i];
}
}
// split point for nav points
$COUNT_NAV_POINTS = count($menuarray);
$SPLIT_FACTOR = 3;
$START_SPLIT_COUNT = 3;
// WTF ?? I dunno what I am doing here ...
for ($i = 9; $i < $COUNT_NAV_POINTS; $i += $START_SPLIT_COUNT) {
if ($COUNT_NAV_POINTS > $i) {
$SPLIT_FACTOR += 1;
}
}
for ($i = 1; $i <= count($menuarray); $i ++) {
// do that for new array
$j = $i - 1;
$menu_data[$j]['pagename'] = htmlentities($menuarray[($i-1)]["page_name"]);
$menu_data[$j]['filename'] = $menuarray[($i-1)]["filename"].$menuarray[($i-1)]["query_string"];
if ($i == 1 || !(($i - 1) % $SPLIT_FACTOR)) {
$menu_data[$j]['splitfactor_in'] = 1;
}
if ($menuarray[($i - 1)]["filename"] == $form->getPageName()) {
$position = $i - 1;
$menu_data[$j]['position'] = 1;
} else {
// add query stuff
// HAS TO DONE LATER ... set urlencode, etc ...
// check if popup needed
if ($menuarray[($i - 1)]["popup"]) {
$menu_data[$j]['popup'] = 1;
$menu_data[$j]['rand'] = uniqid(rand());
$menu_data[$j]['width'] = $menuarray[($i-1)]["popup_x"];
$menu_data[$j]['height'] = $menuarray[($i-1)]["popup_y"];
} // popup or not
} // highlight or not
if (!($i % $SPLIT_FACTOR) || (($i + 1) > count($menuarray))) {
$menu_data[$j]['splitfactor_out'] = 1;
} // split
} // for
$DATA['menu_data'] = $menu_data;
$DATA['page_name'] = $menuarray[$position]["page_name"];
$L_TITLE = $DATA['page_name'];
// html title
$HEADER['HTML_TITLE'] = ((!$L_TITLE) ? $form->l->__($G_TITLE) : $form->l->__($L_TITLE));
// END MENU
// LOAD AND 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 "getPageName()" I show different stuff
switch ($form->my_page_name) {
case "edit_users":
$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("protected");
$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->formCreateElementListTable("edit_access_user");
break;
case "edit_schemes":
$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"]) {
$q = "DELETE FROM temp_files";
$form->dbExec($q);
// gets all files in the current dir ending with .php
$crap = exec("ls *.php", $output, $status);
// 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->dbEscapeString($output[$i])."')";
$form->dbExec($q.$t_q, 'NULL');
}
$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->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->formCreateElementListTable("edit_query_string");
$elements[] = $form->formCreateElement("popup");
$elements[] = $form->formCreateElement("popup_x");
$elements[] = $form->formCreateElement("popup_y");
$elements[] = $form->formCreateElementReferenceTable("edit_visible_group");
$elements[] = $form->formCreateElementReferenceTable("edit_menu_group");
break;
case "edit_languages":
$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->formCreateElement("enabled");
$elements[] = $form->formCreateElement("name");
$elements[] = $form->formCreateElement("edit_access_right_id");
$elements[] = $form->formCreateElement("edit_scheme_id");
$elements[] = $form->formCreateElementListTable("edit_page_access");
break;
case "edit_visible_group":
$elements[] = $form->formCreateElement("name");
$elements[] = $form->formCreateElement("flag");
break;
case "edit_menu_group":
$elements[] = $form->formCreateElement("name");
$elements[] = $form->formCreateElement("flag");
$elements[] = $form->formCreateElement("order_number");
break;
case "edit_access":
$elements[] = $form->formCreateElement("name");
$elements[] = $form->formCreateElement("enabled");
$elements[] = $form->formCreateElement("protected");
$elements[] = $form->formCreateElement("color");
$elements[] = $form->formCreateElement("description");
// add name/value list here
$elements[] = $form->formCreateElementListTable("edit_access_data");
break;
default:
print "[No valid page definition given]";
break;
}
// $form->debug('edit', "Elements: <pre>".$form->printAr($elements));
$DATA['elements'] = $elements;
$DATA['hidden'] = $form->formCreateHiddenFields();
$DATA['save_delete'] = $form->formCreateSaveDelete();
}
// 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)
foreach ($CONTENT_DATA as $key => $value) {
$smarty->assign($key, $value);
}
if (is_dir(BASE.TEMPLATES_C)) {
$smarty->setCompileDir(BASE.TEMPLATES_C);
}
if (is_dir(BASE.CACHE)) {
$smarty->setCacheDir(BASE.CACHE);
}
$smarty->display('edit_body.tpl');
// debug output
echo $login->printErrorMsg();
echo $form->printErrorMsg();
// __END__

View File

@@ -1,458 +0,0 @@
<?php declare(strict_types=1);
/********************************************************************
* AUTHOR: Clemens "Gullevek" Schwaighofer (www.gullevek.org)
* CREATED: 2003/06/10
* SHORT DESCRIPTION:
* central include for all edit_pages
* - edit_groups.php
* - edit_languages.php
* - edit_pages.php
* - edit_schemes.php
* - edit_users.php
* - edit_visible_group.php
* HISTORY:
* 2005/06/30 (cs) remove color settings, they are in CSS File now
* 2005/06/22 (cs) moved load of config array into form class, set lang and lang is must set var for form class; removed the page name setting, moved it into the form class, remove all HTML from main page
* 2004/09/30 (cs) changed layout to fit default layout & changed LIBS, etc
* 2003-06-10: creation of this page
*********************************************************************/
$DEBUG_ALL = 1;
$PRINT_ALL = 1;
$DB_DEBUG = 1;
// TODO: only extract _POST data that is needed
extract($_POST, EXTR_SKIP);
ob_start();
require 'config.php';
// set session name here
$SET_SESSION_NAME = EDIT_SESSION_NAME;
// overrride debug flags
if (!DEBUG) {
$DEBUG_ALL = 0;
$PRINT_ALL = 0;
$DB_DEBUG = 0;
$ECHO_ALL = 0;
}
// should be utf8
header("Content-type: text/html; charset=".DEFAULT_ENCODING);
ob_end_flush();
$login = new CoreLibs\ACL\Login(DB_CONFIG);
// create form class
$form = new CoreLibs\Output\Form\Generate(DB_CONFIG);
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 CoreLibs\Template\SmartyExtend();
// $form->debug('POST', $form->printAr($_POST));
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
$form->debug_output_all = DEBUG ? 1 : 0;
$form->echo_output_all = 0;
$form->print_output_all = DEBUG ? 1 : 0;
}
// space for setting special debug flags
$login->debug_output_all = 1;
// set smarty arrays
$HEADER = array();
$DATA = array();
$DEBUG_DATA = array();
// set the template dir
// WARNING: this has a special check for the mailing tool layout (old layout)
if (defined('LAYOUT')) {
$smarty->setTemplateDir(BASE.INCLUDES.TEMPLATES.CONTENT_PATH);
$DATA['css'] = LAYOUT.CSS;
$DATA['js'] = LAYOUT.JS;
} else {
$smarty->setTemplateDir(TEMPLATES);
$DATA['css'] = CSS;
$DATA['js'] = JS;
}
// set table width
$table_width = '100%';
// define all needed smarty stuff for the general HTML/page building
$HEADER['CSS'] = CSS;
$HEADER['DEFAULT_ENCODING'] = DEFAULT_ENCODING;
$HEADER['STYLESHEET'] = isset($ADMIN_STYLESHEET) ? $ADMIN_STYLESHEET : ADMIN_STYLESHEET;
if ($form->my_page_name == 'edit_order') {
// get is for "table_name" and "where" only
$table_name = isset($_GET['table_name']) ? $_GET['table_name'] : '';
// $where = isset($_GET['where']) ? $_GET['where'] : '';
// 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 (!isset($position)) {
$position = array();
}
$row_data_id = $_POST['row_data_id'];
$original_id = $row_data_id;
if (count($position)) {
$row_data_order = $_POST['row_data_order'];
// 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 (isset($up) && isset($position[0]) && $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 (isset($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 ((isset($up) && $position[0] > 0) ||
(isset($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 = $form->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 (!empty($where_string)) {
$q .= "WHERE $where_string ";
}
$q .= "ORDER BY order_number";
// init arrays
$row_data = array();
$options_id = array();
$options_name = array();
$options_selected = array();
// DB read data for menu
while ($res = $form->dbReturn($q)) {
$row_data[] = array(
"id" => $res[$table_name."_id"],
"name" => $res["name"],
"order" => $res["order_number"]
);
} // while read data ...
// html title
$HEADER['HTML_TITLE'] = $form->l->__('Edit Order');
$messages = array();
// error msg
if (isset($error)) {
if (!isset($msg)) {
$msg = array();
}
$messages[] = array('msg' => $msg, 'class' => 'error', 'width' => '100%');
}
$DATA['form_error_msg'] = $messages;
// all the row data
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;
// 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'] = isset($where_string) ? $where_string : '';
$EDIT_TEMPLATE = 'edit_order.tpl';
} else {
// load call only if id is set
if (isset(${$form->archive_pk_name})) {
$form->formProcedureLoad(${$form->archive_pk_name});
}
$form->formProcedureNew();
$form->formProcedureSave();
$form->formProcedureDelete();
// delete call only if those two are set
if (isset($element_list) && isset($remove_name)) {
$form->formProcedureDeleteFromElementList($element_list, $remove_name);
}
$DATA['table_width'] = $table_width;
$messages = array();
// write out error / status messages
$messages[] = $form->formPrintMsg();
$DATA['form_error_msg'] = $messages;
// MENU START
// request some session vars
if (!isset($HEADER_COLOR)) {
$DATA['HEADER_COLOR'] = '#E0E2FF';
} else {
$DATA['HEADER_COLOR'] = $_SESSION['HEADER_COLOR'];
}
$DATA['USER_NAME'] = $_SESSION['USER_NAME'];
$DATA['EUID'] = $_SESSION['EUID'];
$DATA['GROUP_NAME'] = $_SESSION['GROUP_NAME'];
$DATA['GROUP_LEVEL'] = $_SESSION['GROUP_ACL_LEVEL'];
$PAGES = $_SESSION['PAGES'];
//$form->debug('menu', $form->printAr($PAGES));
// build nav from $PAGES ...
if (!isset($PAGES) || !is_array($PAGES)) {
$PAGES = array();
}
$menuarray = array();
foreach ($PAGES as $PAGE_CUID => $PAGE_DATA) {
if ($PAGE_DATA['menu'] && $PAGE_DATA['online']) {
$menuarray[] = $PAGE_DATA;
}
}
// split point for nav points
$COUNT_NAV_POINTS = count($menuarray);
$SPLIT_FACTOR = 3;
$START_SPLIT_COUNT = 3;
// WTF ?? I dunno what I am doing here ...
for ($i = 9; $i < $COUNT_NAV_POINTS; $i += $START_SPLIT_COUNT) {
if ($COUNT_NAV_POINTS > $i) {
$SPLIT_FACTOR += 1;
}
}
$position = 0;
$menu_data = array();
for ($i = 1; $i <= count($menuarray); $i ++) {
// do that for new array
$j = $i - 1;
$menu_data[$j]['pagename'] = htmlentities($menuarray[($i-1)]['page_name']);
$menu_data[$j]['filename'] = $menuarray[($i-1)]['filename'].(isset($menuarray[$j]['query_string']) ? $menuarray[$j]['query_string'] : '');
if ($i == 1 || !($j % $SPLIT_FACTOR)) {
$menu_data[$j]['splitfactor_in'] = 1;
} else {
$menu_data[$j]['splitfactor_in'] = 0;
}
if ($menuarray[$j]['filename'] == $form->getPageName()) {
$position = $j;
$menu_data[$j]['position'] = 1;
$menu_data[$j]['popup'] = 0;
} else {
// add query stuff
// HAS TO DONE LATER ... set urlencode, etc ...
// check if popup needed
if (isset($menuarray[$j]['popup']) && $menuarray[$j]['popup'] == 1) {
$menu_data[$j]['popup'] = 1;
$menu_data[$j]['rand'] = uniqid((string)rand());
$menu_data[$j]['width'] = $menuarray[$j]['popup_x'];
$menu_data[$j]['height'] = $menuarray[$j]['popup_y'];
} else {
$menu_data[$j]['popup'] = 0;
}
$menu_data[$j]['position'] = 0;
} // highlight or not
if (!($i % $SPLIT_FACTOR) || (($i + 1) > count($menuarray))) {
$menu_data[$j]['splitfactor_out'] = 1;
} else {
$menu_data[$j]['splitfactor_out'] = 0;
}
} // for
// $form->debug('MENU ARRAY', $form->printAr($menu_data));
$DATA['menu_data'] = $menu_data;
$DATA['page_name'] = $menuarray[$position]['page_name'];
$L_TITLE = $DATA['page_name'];
// html title
$HEADER['HTML_TITLE'] = $form->l->__($L_TITLE);
// END MENU
// LOAD AND 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;
$DATA['filename_exist'] = 0;
$DATA['drop_down_input'] = 0;
$elements = array();
// depending on the "getPageName()" I show different stuff
switch ($form->my_page_name) {
case 'edit_users':
$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('protected');
$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->formCreateElementListTable('edit_access_user');
$elements[] = $form->formCreateElement('additional_acl');
break;
case 'edit_schemes':
$elements[] = $form->formCreateElement('enabled');
$elements[] = $form->formCreateElement('name');
$elements[] = $form->formCreateElement('header_color');
$elements[] = $form->formCreateElement('template');
break;
case 'edit_pages':
if (!isset($form->table_array['edit_page_id']['value'])) {
$q = "DELETE FROM temp_files";
$form->dbExec($q);
// gets all files in the current dir ending with .php
$crap = exec('ls *.php', $output, $status);
// 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->dbEscapeString($output[$i])."')";
$form->dbExec($q.$t_q, 'NULL');
}
$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->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->formCreateElementListTable('edit_query_string');
$elements[] = $form->formCreateElement('content_alias_edit_page_id');
$elements[] = $form->formCreateElementListTable('edit_page_content');
$elements[] = $form->formCreateElement('popup');
$elements[] = $form->formCreateElement('popup_x');
$elements[] = $form->formCreateElement('popup_y');
$elements[] = $form->formCreateElementReferenceTable('edit_visible_group');
$elements[] = $form->formCreateElementReferenceTable('edit_menu_group');
break;
case 'edit_languages':
$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->formCreateElement('enabled');
$elements[] = $form->formCreateElement('name');
$elements[] = $form->formCreateElement('edit_access_right_id');
$elements[] = $form->formCreateElement('edit_scheme_id');
$elements[] = $form->formCreateElementListTable('edit_page_access');
$elements[] = $form->formCreateElement('additional_acl');
break;
case 'edit_visible_group':
$elements[] = $form->formCreateElement('name');
$elements[] = $form->formCreateElement('flag');
break;
case 'edit_menu_group':
$elements[] = $form->formCreateElement('name');
$elements[] = $form->formCreateElement('flag');
$elements[] = $form->formCreateElement('order_number');
break;
case 'edit_access':
$elements[] = $form->formCreateElement('name');
$elements[] = $form->formCreateElement('enabled');
$elements[] = $form->formCreateElement('protected');
$elements[] = $form->formCreateElement('color');
$elements[] = $form->formCreateElement('description');
// add name/value list here
$elements[] = $form->formCreateElementListTable('edit_access_data');
$elements[] = $form->formCreateElement('additional_acl');
break;
default:
print '[No valid page definition given]';
break;
}
// $form->debug('edit', "Elements: <pre>".$form->printAr($elements));
$DATA['elements'] = $elements;
$DATA['hidden'] = $form->formCreateHiddenFields();
$DATA['save_delete'] = $form->formCreateSaveDelete();
} else {
$DATA['form_yes'] = 0;
}
$EDIT_TEMPLATE = 'edit_body.tpl';
}
// debug data, if DEBUG flag is on, this data is print out
$DEBUG_DATA['DEBUG'] = isset($DEBUG_TMPL) ? $DEBUG_TMPL : '';
// create main data array
$CONTENT_DATA = array_merge($HEADER, $DATA, $DEBUG_DATA);
// data is 1:1 mapping (all vars, values, etc)
foreach ($CONTENT_DATA as $key => $value) {
$smarty->assign($key, $value);
}
if (is_dir(BASE.TEMPLATES_C)) {
$smarty->setCompileDir(BASE.TEMPLATES_C);
}
if (is_dir(BASE.CACHE)) {
$smarty->setCacheDir(BASE.CACHE);
}
$smarty->display($EDIT_TEMPLATE, 'editAdmin_'.$smarty->lang, 'editAdmin_'.$smarty->lang);
// debug output
echo $login->printErrorMsg();
echo $form->printErrorMsg();
// __END__

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,99 @@
<?php
$edit_access = array (
"table_array" => array (
"edit_access_id" => array (
"value" => $GLOBALS["edit_access_id"],
"type" => "hidden",
"pk" => 1
),
"name" => array (
"value" => $GLOBALS["name"],
"output_name" => $this->l->__("Access Group Name"),
"mandatory" => 1,
"type" => "text",
"error_check" => "alphanumericspace|unique"
),
"description" => array (
"value" => $GLOBALS["description"],
"output_name" => $this->l->__("Description"),
"type" => "textarea"
),
"color" => array (
"value" => $GLOBALS["color"],
"output_name" => $this->l->__("Color"),
"mandatory" => 0,
"type" => "text",
"size" => 6,
"length" => 6,
"error_check" => "custom",
"error_regex" => "/[\dA-Fa-f]{6}/",
"error_example" => "F6A544"
),
"enabled" => array (
"value" => $GLOBALS["enabled"],
"output_name" => "Enabled",
"type" => "binary",
"int" => 1, // OR "bool" => 1
"element_list" => array (
"1" => "Yes",
"0" => "No"
)
),
"protected" => array (
"value" => $GLOBALS["protected"],
"output_name" => "Protected",
"type" => "binary",
"int" => 1,
"element_list" => array (
"1" => "Yes",
"0" => "No"
)
)
),
"table_name" => "edit_access",
"load_query" => "SELECT edit_access_id, name FROM edit_access ORDER BY name",
"show_fields" => array (
array (
"name" => "name"
)
),
"element_list" => array (
"edit_access_data" => array (
"output_name" => "Edit Access Data",
"type" => "reference_data", # is not a sub table read and connect, but only a sub table with data
"max_empty" => 5, # maxium visible if no data is set, if filled add this number to visible
"prefix" => "ead",
"elements" => array (
"edit_access_data_id" => array (
"output_name" => "Activate",
"type" => "hidden",
"int" => 1,
"pk_id" => 1
),
"name" => array (
"type" => "text",
"error_check" => "alphanumeric|unique",
"output_name" => "Name"
),
"value" => array (
"type" => "text",
"output_name" => "Value"
),
"enabled" => array (
"type" => "checkbox",
"output_name" => "Activate",
"int" => 1,
"element_list" => array(1)
),
"edit_access_id" => array (
"int" => 1,
"type" => "hidden",
"fk_id" => 1 # reference main key from master table above
)
)
)
)
);
// __END__

View File

@@ -1,108 +0,0 @@
<?php declare(strict_types=1);
$edit_access = array(
'table_array' => array(
'edit_access_id' => array(
'value' => isset($GLOBALS['edit_access_id']) ? $GLOBALS['edit_access_id'] : '',
'type' => 'hidden',
'pk' => 1
),
'name' => array(
'value' => isset($GLOBALS['name']) ? $GLOBALS['name'] : '',
'output_name' => 'Access Group Name',
'mandatory' => 1,
'type' => 'text',
'error_check' => 'alphanumericspace|unique'
),
'description' => array(
'value' => isset($GLOBALS['description']) ? $GLOBALS['description'] : '',
'output_name' => 'Description',
'type' => 'textarea'
),
'color' => array(
'value' => isset($GLOBALS['color']) ? $GLOBALS['color'] : '',
'output_name' => 'Color',
'mandatory' => 0,
'type' => 'text',
'size' => 6,
'length' => 6,
'error_check' => 'custom',
'error_regex' => "/[\dA-Fa-f]{6}/",
'error_example' => 'F6A544'
),
'enabled' => array(
'value' => isset($GLOBALS['enabled']) ? $GLOBALS['enabled'] : 0,
'output_name' => 'Enabled',
'type' => 'binary',
'int' => 1, // OR 'bool' => 1
'element_list' => array(
'1' => 'Yes',
'0' => 'No'
)
),
'protected' => array(
'value' => isset($GLOBALS['protected']) ? $GLOBALS['protected'] : 0,
'output_name' => 'Protected',
'type' => 'binary',
'int' => 1,
'element_list' => array(
'1' => 'Yes',
'0' => 'No'
)
),
'additional_acl' => array(
'value' => isset($GLOBALS['additional_acl']) ? $GLOBALS['additional_acl'] : '',
'output_name' => 'Additional ACL (as JSON)',
'type' => 'textarea',
'error_check' => 'json',
'rows' => 10,
'cols' => 60
),
),
'table_name' => 'edit_access',
"load_query" => "SELECT edit_access_id, name FROM edit_access ORDER BY name",
'show_fields' => array(
array(
'name' => 'name'
)
),
'element_list' => array(
'edit_access_data' => array(
'output_name' => 'Edit Access Data',
'delete_name' => 'remove_edit_access_data',
// 'type' => 'reference_data', # is not a sub table read and connect, but only a sub table with data
'max_empty' => 5, # maxium visible if no data is set, if filled add this number to visible
'prefix' => 'ead',
'elements' => array(
'name' => array(
'type' => 'text',
'error_check' => 'alphanumeric|unique',
'output_name' => 'Name',
'mandatory' => 1
),
'value' => array(
'type' => 'text',
'output_name' => 'Value'
),
'enabled' => array(
'type' => 'checkbox',
'output_name' => 'Activate',
'int' => 1,
'element_list' => array(1)
),
/*'edit_access_id' => array(
'int' => 1,
'type' => 'hidden',
'fk_id' => 1 # reference main key from master table above
),*/
'edit_access_data_id' => array(
'type' => 'hidden',
'int' => 1,
'pk_id' => 1
)
)
)
)
);
// __END__

View File

@@ -0,0 +1,102 @@
<?php
$edit_groups = array (
"table_array" => array (
"edit_group_id" => array (
"value" => $GLOBALS["edit_group_id"],
"pk" => 1,
"type" => "hidden"
),
"enabled" => array (
"value" => $GLOBALS["enabled"],
"output_name" => "Enabled",
"int" => 1,
"type" => "binary",
"element_list" => array (
"1" => "Yes",
"0" => "No"
)
),
"name" => array (
"value" => $GLOBALS["name"],
"output_name" => "Group Name",
"type" => "text",
"mandatory" => 1
),
"edit_access_right_id" => array (
"value" => $GLOBALS["edit_access_right_id"],
"output_name" => "Group Level",
"mandatory" => 1,
"int" => 1,
"type" => "drop_down_db",
"query" => "SELECT edit_access_right_id, name FROM edit_access_right ORDER BY level"
),
"edit_scheme_id" => array (
"value" => $GLOBALS["edit_scheme_id"],
"output_name" => "Group Scheme",
"int_null" => 1,
"type" => "drop_down_db",
"query" => "SELECT edit_scheme_id, name FROM edit_scheme WHERE enabled = 1 ORDER BY name"
)
),
"load_query" => "SELECT edit_group_id, name, enabled FROM edit_group ORDER BY name",
"table_name" => "edit_group",
"show_fields" => array (
array (
"name" => "name"
),
array (
"name" => "enabled",
"binary" => array ("Yes", "No"),
"before_value" => "Enabled: "
)
),
"element_list" => array (
"edit_page_access" => array (
"output_name" => "Pages",
"mandatory" => 1,
"delete" => 0, // set then reference entries are deleted, else the "enable" flag is only set
"enable_name" => "enable_page_access",
"prefix" => "epa",
"read_data" => array (
"table_name" => "edit_page",
"pk_id" => "edit_page_id",
"name" => "name",
"order" => "order_number"
),
"elements" => array (
"edit_page_access_id" => array (
"output_name" => "Activate",
"type" => "hidden",
"int" => 1,
"pk_id" => 1
),
"enabled" => array (
"type" => "checkbox",
"output_name" => "Activate",
"int" => 1,
"element_list" => array(1)
),
"edit_access_right_id" => array (
"type" => "drop_down_db",
"output_name" => "Access Level",
"int" => 1,
"preset" => 1, // first of the select
"query" => "SELECT edit_access_right_id, name FROM edit_access_right ORDER BY level"
),
"edit_page_id" => array (
"int" => 1,
"type" => "hidden"
)
/*,
"edit_default" => array (
"output_name" => "Default",
"type" => "radio",
"mandatory" => 1
)*/
)
) // edit pages ggroup
)
);
// __END__

View File

@@ -1,109 +0,0 @@
<?php declare(strict_types=1);
$edit_groups = array(
'table_array' => array(
'edit_group_id' => array(
'value' => isset($GLOBALS['edit_group_id']) ? $GLOBALS['edit_group_id'] : '',
'pk' => 1,
'type' => 'hidden'
),
'enabled' => array(
'value' => isset($GLOBALS['enabled']) ? $GLOBALS['enabled'] : '',
'output_name' => 'Enabled',
'int' => 1,
'type' => 'binary',
'element_list' => array(
'1' => 'Yes',
'0' => 'No'
)
),
'name' => array(
'value' => isset($GLOBALS['name']) ? $GLOBALS['name'] : '',
'output_name' => 'Group Name',
'type' => 'text',
'mandatory' => 1
),
'edit_access_right_id' => array(
'value' => isset($GLOBALS['edit_access_right_id']) ? $GLOBALS['edit_access_right_id'] : '',
'output_name' => 'Group Level',
'mandatory' => 1,
'int' => 1,
'type' => 'drop_down_db',
'query' => "SELECT edit_access_right_id, name FROM edit_access_right ORDER BY level"
),
'edit_scheme_id' => array(
'value' => isset($GLOBALS['edit_scheme_id']) ? $GLOBALS['edit_scheme_id'] : '',
'output_name' => 'Group Scheme',
'int_null' => 1,
'type' => 'drop_down_db',
'query' => "SELECT edit_scheme_id, name FROM edit_scheme WHERE enabled = 1 ORDER BY name"
),
'additional_acl' => array(
'value' => isset($GLOBALS['additional_acl']) ? $GLOBALS['additional_acl'] : '',
'output_name' => 'Additional ACL (as JSON)',
'type' => 'textarea',
'error_check' => 'json',
'rows' => 10,
'cols' => 60
),
),
'load_query' => "SELECT edit_group_id, name, enabled FROM edit_group ORDER BY name",
'table_name' => 'edit_group',
'show_fields' => array(
array(
'name' => 'name'
),
array(
'name' => 'enabled',
'binary' => array('Yes', 'No'),
'before_value' => 'Enabled: '
)
),
'element_list' => array(
'edit_page_access' => array(
'output_name' => 'Pages',
'mandatory' => 1,
'delete' => 0, // set then reference entries are deleted, else the 'enable' flag is only set
'enable_name' => 'enable_page_access',
'prefix' => 'epa',
'read_data' => array(
'table_name' => 'edit_page',
'pk_id' => 'edit_page_id',
'name' => 'name',
'order' => 'order_number'
),
'elements' => array(
'edit_page_access_id' => array(
'type' => 'hidden',
'int' => 1,
'pk_id' => 1
),
'enabled' => array(
'type' => 'checkbox',
'output_name' => 'Activate',
'int' => 1,
'element_list' => array(1)
),
'edit_access_right_id' => array(
'type' => 'drop_down_db',
'output_name' => 'Access Level',
'int' => 1,
'preset' => 1, // first of the select
'query' => "SELECT edit_access_right_id, name FROM edit_access_right ORDER BY level"
),
'edit_page_id' => array(
'int' => 1,
'type' => 'hidden'
)
/*,
'edit_default' => array(
'output_name' => 'Default',
'type' => 'radio',
'mandatory' => 1
)*/
)
) // edit pages ggroup
)
);
// __END__

View File

@@ -0,0 +1,75 @@
<?php
$edit_languages=array (
"table_array" => array (
"edit_language_id" => array (
"value" => $GLOBALS["edit_language_id"],
"type" => "hidden",
"pk" => 1
),
"short_name" => array (
"value" => $GLOBALS["short_name"],
"output_name" => "Language (short)",
"mandatory" => 1,
"type" => "text",
"size" => 2,
"length" => 2
),
"long_name" => array (
"value" => $GLOBALS["long_name"],
"output_name" => "Language (long)",
"mandatory" => 1,
"type" => "text",
"size" => 40
),
"iso_name" => array (
"value" => $GLOBALS["iso_name"],
"output_name" => "ISO Code",
"mandatory" => 1,
"type" => "text"
),
"order_number" => array (
"value" => $GLOBALS["order_number"],
"int" => 1,
"order" => 1
),
"enabled" => array (
"value" => $GLOBALS["enabled"],
"output_name" => "Enabled",
"int" => 1,
"type" => "binary",
"element_list" => array (
"1" => "Yes",
"0" => "No"
)
),
"lang_default" => array (
"value" => $GLOBALS["lang_default"],
"output_name" => "Default Language",
"int" => 1,
"type" => "binary",
"element_list" => array (
"1" => "Yes",
"0" => "No"
)
)
),
"load_query" => "SELECT edit_language_id, long_name, iso_name, enabled FROM edit_language ORDER BY long_name",
"show_fields" => array (
array (
"name" => "long_name"
),
array (
"name" => "iso_name",
"before_value" => "ISO: "
),
array (
"name" => "enabled",
"before_value" => "Enabled: ",
"binary" => array ("Yes","No")
)
),
"table_name" => "edit_language"
);
// __END__

View File

@@ -1,75 +0,0 @@
<?php declare(strict_types=1);
$edit_languages=array(
'table_array' => array(
'edit_language_id' => array(
'value' => isset($GLOBALS['edit_language_id']) ? $GLOBALS['edit_language_id'] : '',
'type' => 'hidden',
'pk' => 1
),
'short_name' => array(
'value' => isset($GLOBALS['short_name']) ? $GLOBALS['short_name'] : '',
'output_name' => 'Language (short)',
'mandatory' => 1,
'type' => 'text',
'size' => 2,
'length' => 2
),
'long_name' => array(
'value' => isset($GLOBALS['long_name']) ? $GLOBALS['long_name'] : '',
'output_name' => 'Language (long)',
'mandatory' => 1,
'type' => 'text',
'size' => 40
),
'iso_name' => array(
'value' => isset($GLOBALS['iso_name']) ? $GLOBALS['iso_name'] : '',
'output_name' => 'ISO Code',
'mandatory' => 1,
'type' => 'text'
),
'order_number' => array(
'value' => isset($GLOBALS['order_number']) ? $GLOBALS['order_number'] : '',
'int' => 1,
'order' => 1
),
'enabled' => array(
'value' => isset($GLOBALS['enabled']) ? $GLOBALS['enabled'] : '',
'output_name' => 'Enabled',
'int' => 1,
'type' => 'binary',
'element_list' => array(
'1' => 'Yes',
'0' => 'No'
)
),
'lang_default' => array(
'value' => isset($GLOBALS['lang_default']) ? $GLOBALS['lang_default'] : '',
'output_name' => 'Default Language',
'int' => 1,
'type' => 'binary',
'element_list' => array(
'1' => 'Yes',
'0' => 'No'
)
)
),
'load_query' => "SELECT edit_language_id, long_name, iso_name, enabled FROM edit_language ORDER BY long_name",
'show_fields' => array(
array(
'name' => 'long_name'
),
array(
'name' => 'iso_name',
'before_value' => 'ISO: '
),
array(
'name' => 'enabled',
'before_value' => 'Enabled: ',
'binary' => array('Yes','No')
)
),
'table_name' => 'edit_language'
);
// __END__

View File

@@ -0,0 +1,40 @@
<?php
$edit_menu_group = array (
"table_array" => array (
"edit_menu_group_id" => array (
"value" => $GLOBALS["edit_menu_group_id"],
"type" => "hidden",
"pk" => 1
),
"name" => array (
"value" => $GLOBALS["name"],
"output_name" => $this->l->__("Group name"),
"mandatory" => 1,
"type" => "text"
),
"flag" => array (
"value" => $GLOBALS["flag"],
"output_name" => $this->l->__("Flag"),
"mandatory" => 1,
"type" => "text",
"error_check" => "alphanumeric|unique"
),
"order_number" => array (
"value" => $GLOBALS["order_number"],
"output_name" => "Group order",
"type" => "order",
"int" => 1,
"order" => 1
)
),
"table_name" => "edit_menu_group",
"load_query" => "SELECT edit_menu_group_id, name FROM edit_menu_group ORDER BY name",
"show_fields" => array (
array (
"name" => "name"
)
)
);
// __END__

View File

@@ -1,40 +0,0 @@
<?php declare(strict_types=1);
$edit_menu_group = array(
'table_array' => array(
'edit_menu_group_id' => array(
'value' => isset($GLOBALS['edit_menu_group_id']) ? $GLOBALS['edit_menu_group_id'] : '',
'type' => 'hidden',
'pk' => 1
),
'name' => array(
'value' => isset($GLOBALS['name']) ? $GLOBALS['name'] : '',
'output_name' => 'Group name',
'mandatory' => 1,
'type' => 'text'
),
'flag' => array(
'value' => isset($GLOBALS['flag']) ? $GLOBALS['flag'] : '',
'output_name' => 'Flag',
'mandatory' => 1,
'type' => 'text',
'error_check' => 'alphanumeric|unique'
),
'order_number' => array(
'value' => isset($GLOBALS['order_number']) ? $GLOBALS['order_number'] : '',
'output_name' => 'Group order',
'type' => 'order',
'int' => 1,
'order' => 1
)
),
'table_name' => 'edit_menu_group',
'load_query' => "SELECT edit_menu_group_id, name FROM edit_menu_group ORDER BY name",
'show_fields' => array(
array(
'name' => 'name'
)
)
);
// __END__

View File

@@ -0,0 +1,180 @@
<?php
$edit_pages = array (
"table_array" => array (
"edit_page_id" => array (
"value" => $GLOBALS["edit_page_id"],
"type" => "hidden",
"pk" => 1
),
"filename" => array (
"value" => $GLOBALS["filename"],
"output_name" => "Add File ...",
"mandatory" => 1,
"type" => "drop_down_db",
"query" => "SELECT DISTINCT temp_files.filename AS id, temp_files.filename AS name FROM temp_files LEFT JOIN edit_page ep ON temp_files.filename = ep.filename WHERE ep.filename IS NULL"
),
"name" => array (
"value" => $GLOBALS["name"],
"output_name" => "Page name",
"mandatory" => 1,
"type" => "text"
),
"order_number" => array (
"value" => $GLOBALS["order_number"],
"output_name" => "Page order",
"type" => "order",
"int" => 1,
"order" => 1
),
/* "flag" => array (
"value" => $GLOBALS["flag"],
"output_name" => "Page Flag",
"type" => "drop_down_array",
"query" => array (
"0" => "0",
"1" => "1",
"2" => "2",
"3" => "3",
"4" => "4",
"5" => "5"
)
),*/
"online" => array (
"value" => $GLOBALS["online"],
"output_name" => "Online",
"int" => 1,
"type" => "binary",
"element_list" => array (
"1" => "Yes",
"0" => "No"
)
),
"menu" => array (
"value" => $GLOBALS["menu"],
"output_name" => "Menu",
"int" => 1,
"type" => "binary",
"element_list" => array (
"1" => "Yes",
"0" => "No"
)
),
"popup" => array (
"value" => $GLOBALS["popup"],
"output_name" => "Popup",
"int" => 1,
"type" => "binary",
"element_list" => array (
"1" => "Yes",
"0" => "No"
)
),
"popup_x" => array (
"value" => $GLOBALS["popup_x"],
"output_name" => "Popup Width",
"int_null" => 1,
"type" => "text",
"size" => 4,
"length" => 4
),
"popup_y" => array (
"value" => $GLOBALS["popup_y"],
"output_name" => "Popup Height",
"int_null" => 1,
"type" => "text",
"size" => 4,
"length" => 4
)/*,
"query_string" => array (
"value" => $GLOBALS["query_string"],
"output_name" => "Query String for Link",
"type" => "text",
"size" => "50"
)*/
),
"load_query" => "SELECT edit_page_id, filename, name, online, menu, popup FROM edit_page ORDER BY order_number",
"table_name" => "edit_page",
"show_fields" => array (
array (
"name" => "name"
),
array (
"name" => "filename",
"before_value" => "Filename: "
),
array (
"name" => "online",
"binary" => array ("Yes","No"),
"before_value" => "Online: "
),
array (
"name" => "menu",
"binary" => array ("Yes","No"),
"before_value" => "Menu: "
),
array (
"name" => "popup",
"binary" => array ("Yes","No"),
"before_value" => "Popup: "
)
),
"reference_arrays" => array (
"edit_visible_group" => array (
"table_name" => "edit_page_visible_group",
"other_table_pk" => "edit_visible_group_id",
"output_name" => "Visible Groups (access)",
"mandatory" => 1,
"select_size" => 10,
"selected" => $GLOBALS["edit_visible_group_id"],
"query" => 'SELECT edit_visible_group_id, \'Name: \' || name || \', \' || \'Flag: \' || flag FROM edit_visible_group ORDER BY name'
),
"edit_menu_group" => array (
"table_name" => "edit_page_menu_group",
"other_table_pk" => "edit_menu_group_id",
"output_name" => "Menu Groups (grouping)",
"mandatory" => 1,
"select_size" => 10,
"selected" => $GLOBALS["edit_menu_group_id"],
"query" => 'SELECT edit_menu_group_id, \'Name: \' || name || \', \' || \'Flag: \' || flag FROM edit_menu_group ORDER BY order_number'
)
),
"element_list" => array (
"edit_query_string" => array (
"output_name" => "Query Strings",
"delete_name" => "remove_query_string",
"prefix" => "eqs",
"elements" => array (
"name" => array (
"output_name" => "Name",
"type" => "text",
"error_check" => "unique|alphanumeric",
"mandatory" => 1
),
"value" => array (
"output_name" => "Value",
"type" => "text"
),
"enabled" => array (
"output_name" => "Enabled",
"int" => 1,
"type" => "checkbox",
"element_list" => array (1)
),
"dynamic" => array (
"output_name" => "Dynamic",
"int" => 1,
"type" => "checkbox",
"element_list" => array (1)
),
"edit_query_string_id" => array (
"type" => "hidden",
"pk_id" => 1
)
) // elements
) // query_string element list
) // element list
);
// __END__

View File

@@ -1,236 +0,0 @@
<?php declare(strict_types=1);
$edit_pages = array(
'table_array' => array(
'edit_page_id' => array(
'value' => isset($GLOBALS['edit_page_id']) ? $GLOBALS['edit_page_id'] : '',
'type' => 'hidden',
'pk' => 1
),
'filename' => array(
'value' => isset($GLOBALS['filename']) ? $GLOBALS['filename'] : '',
'output_name' => 'Add File ...',
'mandatory' => 1,
'type' => 'drop_down_db',
'query' => "SELECT DISTINCT temp_files.filename AS id, temp_files.filename AS name ".
"FROM temp_files ".
"LEFT JOIN edit_page ep ON temp_files.filename = ep.filename ".
"WHERE ep.filename IS NULL"
),
'name' => array(
'value' => isset($GLOBALS['name']) ? $GLOBALS['name'] : '',
'output_name' => 'Page name',
'mandatory' => 1,
'type' => 'text'
),
'order_number' => array(
'value' => isset($GLOBALS['order_number']) ? $GLOBALS['order_number'] : '',
'output_name' => 'Page order',
'type' => 'order',
'int' => 1,
'order' => 1
),
/* 'flag' => array(
'value' => isset($GLOBALS['flag']) ? $GLOBALS['flag'] : '',
'output_name' => 'Page Flag',
'type' => 'drop_down_array',
'query' => array(
'0' => '0',
'1' => '1',
'2' => '2',
'3' => '3',
'4' => '4',
'5' => '5'
)
),*/
'online' => array(
'value' => isset($GLOBALS['online']) ? $GLOBALS['online'] : '',
'output_name' => 'Online',
'int' => 1,
'type' => 'binary',
'element_list' => array(
'1' => 'Yes',
'0' => 'No'
)
),
'menu' => array(
'value' => isset($GLOBALS['menu']) ? $GLOBALS['menu'] : '',
'output_name' => 'Menu',
'int' => 1,
'type' => 'binary',
'element_list' => array(
'1' => 'Yes',
'0' => 'No'
)
),
'popup' => array(
'value' => isset($GLOBALS['popup']) ? $GLOBALS['popup'] : '',
'output_name' => 'Popup',
'int' => 1,
'type' => 'binary',
'element_list' => array(
'1' => 'Yes',
'0' => 'No'
)
),
'popup_x' => array(
'value' => isset($GLOBALS['popup_x']) ? $GLOBALS['popup_x'] : '',
'output_name' => 'Popup Width',
'int_null' => 1,
'type' => 'text',
'size' => 4,
'length' => 4
),
'popup_y' => array(
'value' => isset($GLOBALS['popup_y']) ? $GLOBALS['popup_y'] : '',
'output_name' => 'Popup Height',
'int_null' => 1,
'type' => 'text',
'size' => 4,
'length' => 4
),
'content_alias_edit_page_id' => array(
'value' => isset($GLOBALS['content_alias_edit_page_id']) ? $GLOBALS['content_alias_edit_page_id'] : '',
'output_name' => 'Content Alias Source',
'int_null' => 1,
'type' => 'drop_down_db',
// query creation
'select_distinct' => 0,
'pk_name' => 'edit_page_id AS content_alias_edit_page_id',
'input_name' => 'name',
'table_name' => 'edit_page',
'where_not_self' => 1,
'order_by' => 'order_number'
// 'query' => "SELECT edit_page_id AS content_alias_edit_page_id, name ".
// "FROM edit_page ".
// (isset($GLOBALS['edit_page_id']) ? " WHERE edit_page_id <> ".$GLOBALS['edit_page_id'] : "")." ".
// "ORDER BY order_number"
)
),
'load_query' => "SELECT edit_page_id, filename, name, online, menu, popup FROM edit_page ORDER BY order_number",
'table_name' => 'edit_page',
'show_fields' => array(
array(
'name' => 'name'
),
array(
'name' => 'filename',
'before_value' => 'Filename: '
),
array(
'name' => 'online',
'binary' => array('Yes','No'),
'before_value' => 'Online: '
),
array(
'name' => 'menu',
'binary' => array('Yes','No'),
'before_value' => 'Menu: '
),
array(
'name' => 'popup',
'binary' => array('Yes','No'),
'before_value' => 'Popup: '
)
),
'reference_arrays' => array(
'edit_visible_group' => array(
'table_name' => 'edit_page_visible_group',
'other_table_pk' => 'edit_visible_group_id',
'output_name' => 'Visible Groups (access)',
'mandatory' => 1,
'select_size' => 10,
'selected' => isset($GLOBALS['edit_visible_group_id']) ? $GLOBALS['edit_visible_group_id'] : '',
'query' => "SELECT edit_visible_group_id, 'Name: ' || name || ', ' || 'Flag: ' || flag FROM edit_visible_group ORDER BY name"
),
'edit_menu_group' => array(
'table_name' => 'edit_page_menu_group',
'other_table_pk' => 'edit_menu_group_id',
'output_name' => 'Menu Groups (grouping)',
'mandatory' => 1,
'select_size' => 10,
'selected' => isset($GLOBALS['edit_menu_group_id']) ? $GLOBALS['edit_menu_group_id'] : '',
'query' => "SELECT edit_menu_group_id, 'Name: ' || name || ', ' || 'Flag: ' || flag FROM edit_menu_group ORDER BY order_number"
)
),
'element_list' => array(
'edit_query_string' => array(
'output_name' => 'Query Strings',
'delete_name' => 'remove_query_string',
'prefix' => 'eqs',
'elements' => array(
'name' => array(
'output_name' => 'Name',
'type' => 'text',
'error_check' => 'unique|alphanumeric',
'mandatory' => 1
),
'value' => array(
'output_name' => 'Value',
'type' => 'text'
),
'enabled' => array(
'output_name' => 'Enabled',
'int' => 1,
'type' => 'checkbox',
'element_list' => array(1)
),
'dynamic' => array(
'output_name' => 'Dynamic',
'int' => 1,
'type' => 'checkbox',
'element_list' => array(1)
),
'edit_query_string_id' => array(
'type' => 'hidden',
'pk_id' => 1
)
) // elements
), // query_string element list
'edit_page_content' => array(
'output_name' => 'Page Content',
'delete_name' => 'remove_page_content',
'prefix' => 'epc',
'elements' => array(
'name' => array(
'output_name' => 'Content',
'type' => 'text',
'error_check' => 'alphanumeric',
'mandatory' => 1
),
'uid' => array(
'output_name' => 'UID',
'type' => 'text',
'error_check' => 'unique|alphanumeric',
'mandatory' => 1
),
'order_number' => array(
'output_name' => 'Order',
'type' => 'text',
'error_check' => 'int',
'mandatory' => 1
),
'online' => array(
'output_name' => 'Online',
'int' => 1,
'type' => 'checkbox',
'element_list' => array(1)
),
'edit_access_right_id' => array(
'type' => 'drop_down_db',
'output_name' => 'Access Level',
'int' => 1,
'preset' => 1, // first of the select
'query' => "SELECT edit_access_right_id, name FROM edit_access_right ORDER BY level"
),
'edit_page_content_id' => array(
'type' => 'hidden',
'pk_id' => 1
)
)
)
) // element list
);
// __END__

View File

@@ -0,0 +1,57 @@
<?php
$edit_schemes = array (
"table_array" => array (
"edit_scheme_id" => array (
"value" => $GLOBALS["edit_scheme_id"],
"type" => "hidden",
"pk" => 1
),
"name" => array (
"value" => $GLOBALS["name"],
"output_name" => "Scheme Name",
"mandatory" => 1,
"type" => "text"
),
"header_color" => array (
"value" => $GLOBALS["header_color"],
"output_name" => "Header Color",
"mandatory" => 1,
"type" => "text",
"size" => 6,
"length" => 6,
"error_check" => "custom",
"error_regex" => "/[\dA-Fa-f]{6}/",
"error_example" => "F6A544"
),
"enabled" => array (
"value" => $GLOBALS["enabled"],
"output_name" => "Enabled",
"int" => 1,
"type" => "binary",
"element_list" => array (
"1" => "Yes",
"0" => "No"
)
),
"template" => array (
"value" => $GLOBALS["template"],
"output_name" => "Template",
"type" => "text"
)
),
"table_name" => "edit_scheme",
"load_query" => "SELECT edit_scheme_id, name, enabled FROM edit_scheme ORDER BY name",
"show_fields" => array (
array (
"name" => "name"
),
array (
"name" => "enabled",
"binary" => array ("Yes", "No"),
"before_value" => "Enabled: "
)
)
); // main array
// __END__

View File

@@ -1,57 +0,0 @@
<?php declare(strict_types=1);
$edit_schemes = array(
'table_array' => array(
'edit_scheme_id' => array(
'value' => isset($GLOBALS['edit_scheme_id']) ? $GLOBALS['edit_scheme_id'] : '',
'type' => 'hidden',
'pk' => 1
),
'name' => array(
'value' => isset($GLOBALS['name']) ? $GLOBALS['name'] : '',
'output_name' => 'Scheme Name',
'mandatory' => 1,
'type' => 'text'
),
'header_color' => array(
'value' => isset($GLOBALS['header_color']) ? $GLOBALS['header_color'] : '',
'output_name' => 'Header Color',
'mandatory' => 1,
'type' => 'text',
'size' => 6,
'length' => 6,
'error_check' => 'custom',
'error_regex' => '/[\dA-Fa-f]{6}/',
'error_example' => 'F6A544'
),
'enabled' => array(
'value' => isset($GLOBALS['enabled']) ? $GLOBALS['enabled'] : '',
'output_name' => 'Enabled',
'int' => 1,
'type' => 'binary',
'element_list' => array(
'1' => 'Yes',
'0' => 'No'
)
),
'template' => array(
'value' => isset($GLOBALS['template']) ? $GLOBALS['template'] : '',
'output_name' => 'Template',
'type' => 'text'
)
),
'table_name' => 'edit_scheme',
'load_query' => "SELECT edit_scheme_id, name, enabled FROM edit_scheme ORDER BY name",
'show_fields' => array(
array(
'name' => 'name'
),
array(
'name' => 'enabled',
'binary' => array('Yes', 'No'),
'before_value' => 'Enabled: '
)
)
); // main array
// __END__

View File

@@ -0,0 +1,261 @@
<?php
$edit_users = array (
"table_array" => array (
"edit_user_id" => array (
"value" => $GLOBALS["edit_user_id"],
"type" => "hidden",
"pk" => 1,
"int" => 1
),
"username" => array (
"value" => $GLOBALS["username"],
"output_name" => "Username",
"mandatory" => 1,
"error_check" => "unique|alphanumericextended",
"type" => "text"
),
"password" => array (
"value" => $GLOBALS["password"],
"HIDDEN_value" => $GLOBALS["HIDDEN_password"],
"CONFIRM_value" => $GLOBALS["CONFIRM_password"],
"output_name" => "Password",
"mandatory" => 1,
"type" => "password", // later has to be password for encryption in database
'update' => array ( // connected field updates, and update data
'password_change_date' => array ( // db row to update
'type' => 'date', // type of field (int/text/date/etc)
'value' => 'NOW()' // value [todo: complex reference
)
)
),
// password date when first insert and password is set, needs special field with connection to password
// password reset force interval, if set, user needs to reset password after X time period
'password_change_interval' => array (
'value' => $GLOBALS['password_change_interval'],
'output_name' => 'Password change interval',
'error_check' => 'intervalshort', // can be any date length format. n Y/M/D [not H/M/S], only one set, no combination
'type' => 'text',
'interval' => 1, // interval needs NULL write for empty
'size' => 5, // make it 5 chars long
'length' => 5
),
"enabled" => array (
"value" => $GLOBALS["enabled"],
"output_name" => "Enabled",
"type" => "binary",
"int" => 1,
"element_list" => array (
"1" => "Yes",
"0" => "No"
)
),
"strict" => array (
"value" => $GLOBALS["strict"],
"output_name" => "Strict (Lock after errors)",
"type" => "binary",
"int" => 1,
"element_list" => array (
"1" => "Yes",
"0" => "No"
)
),
"locked" => array (
"value" => $GLOBALS["locked"],
"output_name" => "Locked (auto set if strict with errors)",
"type" => "binary",
"int" => 1,
"element_list" => array (
"1" => "Yes",
"0" => "No"
)
),
"admin" => array (
"value" => $GLOBALS["admin"],
"output_name" => "Admin",
"type" => "binary",
"int" => 1,
"element_list" => array (
"1" => "Yes",
"0" => "No"
)
),
"debug" => array (
"value" => $GLOBALS["debug"],
"output_name" => "Debug",
"type" => "binary",
"int" => 1,
"element_list" => array (
"1" => "Yes",
"0" => "No"
)
),
"db_debug" => array (
"value" => $GLOBALS["db_debug"],
"output_name" => "DB Debug",
"type" => "binary",
"int" => 1,
"element_list" => array (
"1" => "Yes",
"0" => "No"
)
),
"email" => array (
"value" => $GLOBALS["email"],
"output_name" => "E-Mail",
"type" => "text"
),
"last_name" => array (
"value" => $GLOBALS["last_name"],
"output_name" => "Last Name",
"type" => "text"
),
"first_name" => array (
"value" => $GLOBALS["first_name"],
"output_name" => "First Name",
"type" => "text"
),
"edit_language_id" => array (
"value" => $GLOBALS["edit_language_id"],
"output_name" => "Language",
"mandatory" => 1,
"int" => 1,
"type" => "drop_down_db",
"query" => "SELECT edit_language_id, long_name FROM edit_language WHERE enabled = 1 ORDER BY order_number"
),
"edit_scheme_id" => array (
"value" => $GLOBALS["edit_scheme_id"],
"output_name" => "Scheme",
"int_null" => 1,
"type" => "drop_down_db",
"query" => "SELECT edit_scheme_id, name FROM edit_scheme WHERE enabled = 1 ORDER BY name"
),
"edit_group_id" => array (
"value" => $GLOBALS["edit_group_id"],
"output_name" => "Group",
"int" => 1,
"type" => "drop_down_db",
"query" => "SELECT edit_group_id, name FROM edit_group WHERE enabled = 1 ORDER BY name",
"mandatory" => 1
),
"edit_access_right_id" => array (
"value" => $GLOBALS["edit_access_right_id"],
"output_name" => "User Level",
"mandatory" => 1,
"int" => 1,
"type" => "drop_down_db",
"query" => "SELECT edit_access_right_id, name FROM edit_access_right ORDER BY level"
),
"login_error_count" => array (
"output_name" => "Login error count",
"value" => $GLOBALS['login_error_count'],
"type" => "view",
"empty" => "0"
),
"login_error_date_last" => array (
"output_name" => "Last login error",
"value" => $GLOBALS['login_error_date_liast'],
"type" => "view",
"empty" => "-"
),
"login_error_date_first" => array (
"output_name" => "First login error",
"value" => $GLOBALS['login_error_date_first'],
"type" => "view",
"empty" => "-"
),
"protected" => array (
"value" => $GLOBALS["protected"],
"output_name" => "Protected",
"type" => "binary",
"int" => 1,
"element_list" => array (
"1" => "Yes",
"0" => "No"
)
)
),
"load_query" => "SELECT edit_user_id, username, enabled, debug, db_debug, strict, locked, login_error_count FROM edit_user ORDER BY username",
"table_name" => "edit_user",
"show_fields" => array (
array (
"name" => "username"
),
array (
"name" => "enabled",
"binary" => array ("Yes", "No"),
"before_value" => "Enabled: "
),
array (
"name" => "debug",
"binary" => array ("Yes", "No"),
"before_value" => "Debug: "
),
array (
"name" => "db_debug",
"binary" => array ("Yes", "No"),
"before_value" => "DB Debug: "
),
array (
"name" => "strict",
"binary" => array ("Yes", "No"),
"before_value" => "Strict: "
),
array (
"name" => "locked",
"binary" => array ("Yes", "No"),
"before_value" => "Locked: "
),
array (
"name" => "login_error_count",
"before_value" => "Errors: "
)
),
"element_list" => array (
"edit_access_user" => array (
"output_name" => "Accounts",
"mandatory" => 1,
"delete" => 0, // set then reference entries are deleted, else the "enable" flag is only set
"prefix" => "ecu",
"read_data" => array (
"table_name" => "edit_access",
"pk_id" => "edit_access_id",
"name" => "name",
"order" => "name"
),
"elements" => array (
"edit_access_user_id" => array (
"output_name" => "Activate",
"type" => "hidden",
"int" => 1,
"pk_id" => 1
),
"enabled" => array (
"type" => "checkbox",
"output_name" => "Activate",
"int" => 1,
"element_list" => array (1)
),
"edit_access_right_id" => array (
"type" => "drop_down_db",
"output_name" => "Access Level",
"preset" => 1, // first of the select
"int" => 1,
"query" => "SELECT edit_access_right_id, name FROM edit_access_right ORDER BY level"
),
"edit_default" => array (
"type" => "radio_group",
"output_name" => "Default",
"int" => 1,
"element_list" => "radio_group"
),
"edit_access_id" => array (
"type" => "hidden",
"int" => 1
)
)
) // edit pages ggroup
)
);
// __END__

View File

@@ -1,270 +0,0 @@
<?php declare(strict_types=1);
$edit_users = array(
'table_array' => array(
'edit_user_id' => array(
'value' => isset($GLOBALS['edit_user_id']) ? $GLOBALS['edit_user_id'] : '',
'type' => 'hidden',
'pk' => 1,
'int' => 1
),
'username' => array(
'value' => isset($GLOBALS['username']) ? $GLOBALS['username'] : '',
'output_name' => 'Username',
'mandatory' => 1,
'error_check' => 'unique|alphanumericextended',
'type' => 'text'
),
'password' => array(
'value' => isset($GLOBALS['password']) ? $GLOBALS['password'] : '',
'HIDDEN_value' => isset($GLOBALS['HIDDEN_password']) ? $GLOBALS['HIDDEN_password'] : '',
'CONFIRM_value' => isset($GLOBALS['CONFIRM_password']) ? $GLOBALS['CONFIRM_password'] : '',
'output_name' => 'Password',
'mandatory' => 1,
'type' => 'password', // later has to be password for encryption in database
'update' => array( // connected field updates, and update data
'password_change_date' => array( // db row to update
'type' => 'date', // type of field (int/text/date/etc)
'value' => 'NOW()' // value [todo: complex reference
)
)
),
// password date when first insert and password is set, needs special field with connection to password
// password reset force interval, if set, user needs to reset password after X time period
'password_change_interval' => array(
'value' => isset($GLOBALS['password_change_interval']) ? $GLOBALS['password_change_interval'] : '',
'output_name' => 'Password change interval',
'error_check' => 'intervalshort', // can be any date length format. n Y/M/D [not H/M/S], only one set, no combination
'type' => 'text',
'interval' => 1, // interval needs NULL write for empty
'size' => 5, // make it 5 chars long
'length' => 5
),
'enabled' => array(
'value' => isset($GLOBALS['enabled']) ? $GLOBALS['enabled'] : '',
'output_name' => 'Enabled',
'type' => 'binary',
'int' => 1,
'element_list' => array(
'1' => 'Yes',
'0' => 'No'
)
),
'strict' => array(
'value' => isset($GLOBALS['strict']) ? $GLOBALS['strict'] : '',
'output_name' => 'Strict (Lock after errors)',
'type' => 'binary',
'int' => 1,
'element_list' => array(
'1' => 'Yes',
'0' => 'No'
)
),
'locked' => array(
'value' => isset($GLOBALS['locked']) ? $GLOBALS['locked'] : '',
'output_name' => 'Locked (auto set if strict with errors)',
'type' => 'binary',
'int' => 1,
'element_list' => array(
'1' => 'Yes',
'0' => 'No'
)
),
'admin' => array(
'value' => isset($GLOBALS['admin']) ? $GLOBALS['admin'] : '',
'output_name' => 'Admin',
'type' => 'binary',
'int' => 1,
'element_list' => array(
'1' => 'Yes',
'0' => 'No'
)
),
'debug' => array(
'value' => isset($GLOBALS['debug']) ? $GLOBALS['debug'] : '',
'output_name' => 'Debug',
'type' => 'binary',
'int' => 1,
'element_list' => array(
'1' => 'Yes',
'0' => 'No'
)
),
'db_debug' => array(
'value' => isset($GLOBALS['db_debug']) ? $GLOBALS['db_debug'] : '',
'output_name' => 'DB Debug',
'type' => 'binary',
'int' => 1,
'element_list' => array(
'1' => 'Yes',
'0' => 'No'
)
),
'email' => array(
'value' => isset($GLOBALS['email']) ? $GLOBALS['email'] : '',
'output_name' => 'E-Mail',
'type' => 'text',
'error_check' => 'email'
),
'last_name' => array(
'value' => isset($GLOBALS['last_name']) ? $GLOBALS['last_name'] : '',
'output_name' => 'Last Name',
'type' => 'text'
),
'first_name' => array(
'value' => isset($GLOBALS['first_name']) ? $GLOBALS['first_name'] : '',
'output_name' => 'First Name',
'type' => 'text'
),
'edit_language_id' => array(
'value' => isset($GLOBALS['edit_language_id']) ? $GLOBALS['edit_language_id'] : '',
'output_name' => 'Language',
'mandatory' => 1,
'int' => 1,
'type' => 'drop_down_db',
'query' => "SELECT edit_language_id, long_name FROM edit_language WHERE enabled = 1 ORDER BY order_number"
),
'edit_scheme_id' => array(
'value' => isset($GLOBALS['edit_scheme_id']) ? $GLOBALS['edit_scheme_id'] : '',
'output_name' => 'Scheme',
'int_null' => 1,
'type' => 'drop_down_db',
'query' => "SELECT edit_scheme_id, name FROM edit_scheme WHERE enabled = 1 ORDER BY name"
),
'edit_group_id' => array(
'value' => isset($GLOBALS['edit_group_id']) ? $GLOBALS['edit_group_id'] : '',
'output_name' => 'Group',
'int' => 1,
'type' => 'drop_down_db',
'query' => "SELECT edit_group_id, name FROM edit_group WHERE enabled = 1 ORDER BY name",
'mandatory' => 1
),
'edit_access_right_id' => array(
'value' => isset($GLOBALS['edit_access_right_id']) ? $GLOBALS['edit_access_right_id'] : '',
'output_name' => 'User Level',
'mandatory' => 1,
'int' => 1,
'type' => 'drop_down_db',
'query' => "SELECT edit_access_right_id, name FROM edit_access_right ORDER BY level"
),
'login_error_count' => array(
'output_name' => 'Login error count',
'value' => isset($GLOBALS['login_error_count']) ? $GLOBALS['login_error_count'] : '',
'type' => 'view',
'empty' => '0'
),
'login_error_date_last' => array(
'output_name' => 'Last login error',
'value' => isset($GLOBALS['login_error_date_liast']) ? $GLOBALS['login_error_date_liast'] : '',
'type' => 'view',
'empty' => '-'
),
'login_error_date_first' => array(
'output_name' => 'First login error',
'value' => isset($GLOBALS['login_error_date_first']) ? $GLOBALS['login_error_date_first'] : '',
'type' => 'view',
'empty' => '-'
),
'protected' => array(
'value' => isset($GLOBALS['protected']) ? $GLOBALS['protected'] : '',
'output_name' => 'Protected',
'type' => 'binary',
'int' => 1,
'element_list' => array(
'1' => 'Yes',
'0' => 'No'
)
),
'additional_acl' => array(
'value' => isset($GLOBALS['additional_acl']) ? $GLOBALS['additional_acl'] : '',
'output_name' => 'Additional ACL (as JSON)',
'type' => 'textarea',
'error_check' => 'json',
'rows' => 10,
'cols' => 60
),
),
'load_query' => "SELECT edit_user_id, username, enabled, debug, db_debug, strict, locked, login_error_count FROM edit_user ORDER BY username",
'table_name' => 'edit_user',
'show_fields' => array(
array(
'name' => 'username'
),
array(
'name' => 'enabled',
'binary' => array('Yes', 'No'),
'before_value' => 'Enabled: '
),
array(
'name' => 'debug',
'binary' => array('Yes', 'No'),
'before_value' => 'Debug: '
),
array(
'name' => 'db_debug',
'binary' => array('Yes', 'No'),
'before_value' => 'DB Debug: '
),
array(
'name' => 'strict',
'binary' => array('Yes', 'No'),
'before_value' => 'Strict: '
),
array(
'name' => 'locked',
'binary' => array('Yes', 'No'),
'before_value' => 'Locked: '
),
array(
'name' => 'login_error_count',
'before_value' => 'Errors: '
)
),
'element_list' => array(
'edit_access_user' => array(
'output_name' => 'Accounts',
'mandatory' => 1,
'delete' => 0, // set then reference entries are deleted, else the 'enable' flag is only set
'prefix' => 'ecu',
'read_data' => array(
'table_name' => 'edit_access',
'pk_id' => 'edit_access_id',
'name' => 'name',
'order' => 'name'
),
'elements' => array(
'edit_access_user_id' => array(
'output_name' => 'Activate',
'type' => 'hidden',
'int' => 1,
'pk_id' => 1
),
'enabled' => array(
'type' => 'checkbox',
'output_name' => 'Activate',
'int' => 1,
'element_list' => array(1)
),
'edit_access_right_id' => array(
'type' => 'drop_down_db',
'output_name' => 'Access Level',
'preset' => 1, // first of the select
'int' => 1,
'query' => "SELECT edit_access_right_id, name FROM edit_access_right ORDER BY level"
),
'edit_default' => array(
'type' => 'radio_group',
'output_name' => 'Default',
'int' => 1,
'element_list' => 'radio_group'
),
'edit_access_id' => array(
'type' => 'hidden',
'int' => 1
)
)
) // edit pages ggroup
)
);
// __END__

View File

@@ -0,0 +1,33 @@
<?php
$edit_visible_group = array (
"table_array" => array (
"edit_visible_group_id" => array (
"value" => $GLOBALS["edit_visible_group_id"],
"type" => "hidden",
"pk" => 1
),
"name" => array (
"value" => $GLOBALS["name"],
"output_name" => $this->l->__("Group name"),
"mandatory" => 1,
"type" => "text"
),
"flag" => array (
"value" => $GLOBALS["flag"],
"output_name" => $this->l->__("Flag"),
"mandatory" => 1,
"type" => "text",
"error_check" => "alphanumeric|unique"
)
),
"table_name" => "edit_visible_group",
"load_query" => "SELECT edit_visible_group_id, name FROM edit_visible_group ORDER BY name",
"show_fields" => array (
array (
"name" => "name"
)
)
);
// __END__

View File

@@ -1,33 +0,0 @@
<?php declare(strict_types=1);
$edit_visible_group = array(
'table_array' => array(
'edit_visible_group_id' => array(
'value' => isset($GLOBALS['edit_visible_group_id']) ? $GLOBALS['edit_visible_group_id'] : '',
'type' => 'hidden',
'pk' => 1
),
'name' => array(
'value' => isset($GLOBALS['name']) ? $GLOBALS['name'] : '',
'output_name' => 'Group name',
'mandatory' => 1,
'type' => 'text'
),
'flag' => array(
'value' => isset($GLOBALS['flag']) ? $GLOBALS['flag'] : '',
'output_name' => 'Flag',
'mandatory' => 1,
'type' => 'text',
'error_check' => 'alphanumeric|unique'
)
),
'table_name' => 'edit_visible_group',
'load_query' => "SELECT edit_visible_group_id, name FROM edit_visible_group ORDER BY name",
'show_fields' => array(
array(
'name' => 'name'
)
)
);
// __END__

View File

@@ -1,2 +0,0 @@
*
!.gitignore

View File

@@ -1,2 +0,0 @@
*
!.gitignore

View File

@@ -1,19 +1,13 @@
/* smart test CSS */
.jq-container {
width: 100%;
margin: 0;
padding: 0;
}
.jp-test {
width: 100%;
padding: 20px;
margin: 20px;
box-sizing: border-box;
}
.test-div {
padding: 20px;
margin: 20px;
}
/* CORE overlay, progress elements */

View File

Before

Width:  |  Height:  |  Size: 6.6 KiB

After

Width:  |  Height:  |  Size: 6.6 KiB

Some files were not shown because too many files have changed in this diff Show More