Compare commits
10 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3e29073664 | ||
|
|
5601b14d5f | ||
|
|
a1afc1fb2e | ||
|
|
d445bc3526 | ||
|
|
719d82d4ee | ||
|
|
6807f33120 | ||
|
|
114ca6c24a | ||
|
|
e46d0fa4a4 | ||
|
|
f7db84c62f | ||
|
|
3267fc0266 |
@@ -56,6 +56,7 @@ return [
|
|||||||
"./www/configs/config.db.php",
|
"./www/configs/config.db.php",
|
||||||
"./www/configs/config.host.php",
|
"./www/configs/config.host.php",
|
||||||
"./www/configs/config.path.php",
|
"./www/configs/config.path.php",
|
||||||
|
"./www/configs/config.other.php",
|
||||||
"./www/configs/config.master.php",
|
"./www/configs/config.master.php",
|
||||||
"./www/includes/admin_header.php",
|
"./www/includes/admin_header.php",
|
||||||
],
|
],
|
||||||
@@ -83,7 +84,7 @@ return [
|
|||||||
// to parse, but not analyze
|
// to parse, but not analyze
|
||||||
"exclude_analysis_directory_list" => [
|
"exclude_analysis_directory_list" => [
|
||||||
'www/vendor',
|
'www/vendor',
|
||||||
'www/lib/FileUpload',
|
// 'www/lib/FileUpload',
|
||||||
'www/lib/pChart',
|
'www/lib/pChart',
|
||||||
'www/lib/pChart2.1.4',
|
'www/lib/pChart2.1.4',
|
||||||
'www/lib/Smarty',
|
'www/lib/Smarty',
|
||||||
@@ -108,6 +109,8 @@ return [
|
|||||||
// ignore the old qq tests
|
// ignore the old qq tests
|
||||||
'www/admin/qq_file_upload_front.php',
|
'www/admin/qq_file_upload_front.php',
|
||||||
'www/admin/qq_file_upload_ajax.php',
|
'www/admin/qq_file_upload_ajax.php',
|
||||||
|
// symlink files for msarty
|
||||||
|
'www/lib/smarty-3.1.30/SmartyBC.class.php',
|
||||||
],
|
],
|
||||||
|
|
||||||
// what not to show as problem
|
// what not to show as problem
|
||||||
|
|||||||
@@ -1,7 +1,10 @@
|
|||||||
# functions
|
# functions
|
||||||
function/update_function.sql
|
function/set_uid.sql
|
||||||
|
function/set_generic.sql
|
||||||
function/random_string.sql
|
function/random_string.sql
|
||||||
|
function/set_edit_generic.sql
|
||||||
function/edit_set_access_uid.sql
|
function/edit_set_access_uid.sql
|
||||||
|
function/edit_log_partition_trigger.sql
|
||||||
# generic tables
|
# generic tables
|
||||||
table/edit_temp_files.sql
|
table/edit_temp_files.sql
|
||||||
table/edit_generic.sql
|
table/edit_generic.sql
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ do
|
|||||||
done;
|
done;
|
||||||
# copy the trigger template to the target
|
# copy the trigger template to the target
|
||||||
|
|
||||||
for path in $schema;
|
for path in $schemas;
|
||||||
do
|
do
|
||||||
if [ $sqltype ];
|
if [ $sqltype ];
|
||||||
then
|
then
|
||||||
|
|||||||
@@ -1,3 +1,10 @@
|
|||||||
|
-- AUTHOR: Clemens Schwaighofer
|
||||||
|
-- DATE: 2018-07-17
|
||||||
|
-- DESCRIPTION:
|
||||||
|
-- partition the edit_log table by year
|
||||||
|
-- auto creates table if missing, if failure writes to overflow table
|
||||||
|
-- HISTORY:
|
||||||
|
|
||||||
CREATE OR REPLACE FUNCTION edit_log_insert_trigger ()
|
CREATE OR REPLACE FUNCTION edit_log_insert_trigger ()
|
||||||
RETURNS TRIGGER AS
|
RETURNS TRIGGER AS
|
||||||
$$
|
$$
|
||||||
@@ -6,18 +13,23 @@ DECLARE
|
|||||||
end_date DATE;
|
end_date DATE;
|
||||||
timeformat TEXT := 'YYYY';
|
timeformat TEXT := 'YYYY';
|
||||||
selector TEXT := 'year';
|
selector TEXT := 'year';
|
||||||
_interval INTERVAL;
|
base_table TEXT := 'edit_log';
|
||||||
|
_interval INTERVAL := '1 ' || selector;
|
||||||
|
_interval_next INTERVAL := '2 ' || selector;
|
||||||
table_name TEXT;
|
table_name TEXT;
|
||||||
|
-- compare date column
|
||||||
|
compare_date DATE := NEW.event_date;
|
||||||
|
compare_date_name TEXT := 'event_date';
|
||||||
|
-- the create commands
|
||||||
|
command_create_table TEXT := 'CREATE TABLE IF NOT EXISTS {TABLE_NAME} (CHECK({COMPARE_DATE_NAME} >= {START_DATE} AND {COMPARE_DATE_NAME} < {END_DATE})) INHERITS ({BASE_NAME})';
|
||||||
|
command_create_primary_key TEXT := 'ALTER TABLE {TABLE_NAME} ADD PRIMARY KEY ({BASE_TABLE}_id)';
|
||||||
|
command_create_foreign_key_1 TEXT := 'ALTER TABLE {TABLE_NAME} ADD CONSTRAINT {TABLE_NAME}_euid_fkey FOREIGN KEY (euid) REFERENCES edit_user (edit_user_id) MATCH FULL ON UPDATE CASCADE ON DELETE SET NULL';
|
||||||
|
command_create_trigger_1 TEXT = 'CREATE TRIGGER trg_{TABLE_NAME} BEFORE INSERT OR UPDATE ON {TABLE_NAME} FOR EACH ROW EXECUTE PROCEDURE set_edit_generic()';
|
||||||
BEGIN
|
BEGIN
|
||||||
-- get year and month from edit_log date so we can build the target edit_log table
|
|
||||||
|
|
||||||
-- move interval
|
|
||||||
_interval := '1 ' || selector;
|
|
||||||
-- current table name
|
|
||||||
table_name := 'edit_log_' || to_char(NEW.event_date, timeformat);
|
|
||||||
|
|
||||||
-- we are in valid start time area
|
-- we are in valid start time area
|
||||||
IF (NEW.event_date >= start_date) THEN
|
IF (NEW.event_date >= start_date) THEN
|
||||||
|
-- current table name
|
||||||
|
table_name := base_table || '_' || to_char(NEW.event_date, timeformat);
|
||||||
BEGIN
|
BEGIN
|
||||||
EXECUTE 'INSERT INTO ' || quote_ident(table_name) || ' SELECT ($1).*' USING NEW;
|
EXECUTE 'INSERT INTO ' || quote_ident(table_name) || ' SELECT ($1).*' USING NEW;
|
||||||
-- if insert failed because of missing table, create new below
|
-- if insert failed because of missing table, create new below
|
||||||
@@ -25,17 +37,45 @@ BEGIN
|
|||||||
WHEN undefined_table THEN
|
WHEN undefined_table THEN
|
||||||
-- another block, so in case the creation fails here too
|
-- another block, so in case the creation fails here too
|
||||||
BEGIN
|
BEGIN
|
||||||
-- create new talbe here + all indexes
|
-- create new table here + all indexes
|
||||||
start_date := date_trunc(selector, NEW.event_date);
|
start_date := date_trunc(selector, NEW.event_date);
|
||||||
end_date := date_trunc(selector, NEW.event_date + _interval);
|
end_date := date_trunc(selector, NEW.event_date + _interval);
|
||||||
-- creat table
|
-- creat table
|
||||||
EXECUTE 'CREATE TABLE IF NOT EXISTS ' || quote_ident(table_name) || ' ( CHECK ( event_date >= ' || quote_literal(start_date) || ' AND event_date < ' || quote_literal(end_date) || ' ) ) INHERITS (edit_log)';
|
EXECUTE format(REPLACE( -- end date
|
||||||
|
REPLACE( -- start date
|
||||||
|
REPLACE( -- compare date name
|
||||||
|
REPLACE( -- base name (inherit)
|
||||||
|
REPLACE( -- table name
|
||||||
|
command_create_table,
|
||||||
|
'{TABLE_NAME}',
|
||||||
|
table_name
|
||||||
|
),
|
||||||
|
'{BASE_NAME}',
|
||||||
|
base_table
|
||||||
|
),
|
||||||
|
'{COMPARE_DATE_NAME}',
|
||||||
|
compare_date_name
|
||||||
|
),
|
||||||
|
'{START_DATE}',
|
||||||
|
quote_literal(start_date)
|
||||||
|
),
|
||||||
|
'{END_DATE}',
|
||||||
|
quote_literal(end_date)
|
||||||
|
));
|
||||||
-- create all indexes and triggers
|
-- create all indexes and triggers
|
||||||
EXECUTE 'ALTER TABLE ' || quote_ident(table_name) || ' ADD PRIMARY KEY (edit_log_id)';
|
EXECUTE format(REPLACE(
|
||||||
|
REPLACE(
|
||||||
|
command_create_primary_key,
|
||||||
|
'{TABLE_NAME}',
|
||||||
|
table_name
|
||||||
|
),
|
||||||
|
'{BASE_TABLE}',
|
||||||
|
base_table
|
||||||
|
));
|
||||||
-- FK constraints
|
-- FK constraints
|
||||||
EXECUTE 'ALTER TABLE ' || quote_ident(table_name) || ' ADD CONSTRAINT fk_' || quote_ident(table_name) || '_euid_fkey FOREIGN KEY (euid) REFERENCES edit_user (edit_user_id) MATCH FULL ON UPDATE CASCADE ON DELETE CASCADE';
|
EXECUTE format(REPLACE(command_create_foreign_key_1, '{TABLE_NAME}', table_name));
|
||||||
-- generic trigger
|
-- generic trigger
|
||||||
EXECUTE 'CREATE TRIGGER trg_' || quote_ident(table_name) || ' BEFORE INSERT OR UPDATE ON ' || quote_ident(table_name) || ' FOR EACH ROW EXECUTE PROCEDURE set_edit_generic()';
|
EXECUTE format(REPLACE(command_create_trigger_1, '{TABLE_NAME}', table_name));
|
||||||
|
|
||||||
-- insert try again
|
-- insert try again
|
||||||
EXECUTE 'INSERT INTO ' || quote_ident(table_name) || ' SELECT ($1).*' USING NEW;
|
EXECUTE 'INSERT INTO ' || quote_ident(table_name) || ' SELECT ($1).*' USING NEW;
|
||||||
@@ -49,6 +89,57 @@ BEGIN
|
|||||||
-- if this faled, throw it into the overflow table (so we don't loose anything)
|
-- if this faled, throw it into the overflow table (so we don't loose anything)
|
||||||
INSERT INTO edit_log_overflow VALUES (NEW.*);
|
INSERT INTO edit_log_overflow VALUES (NEW.*);
|
||||||
END;
|
END;
|
||||||
|
-- main insert run done, check if we have to create next months table
|
||||||
|
BEGIN
|
||||||
|
-- check if next month table exists
|
||||||
|
table_name := base_table || '_' || to_char((SELECT NEW.event_date + _interval)::DATE, timeformat);
|
||||||
|
-- RAISE NOTICE 'SEARCH NEXT: %', table_name;
|
||||||
|
IF (SELECT to_regclass(table_name)) IS NULL THEN
|
||||||
|
-- move inner interval same
|
||||||
|
start_date := date_trunc(selector, NEW.event_date + _interval);
|
||||||
|
end_date := date_trunc(selector, NEW.event_date + _interval_next);
|
||||||
|
-- RAISE NOTICE 'CREATE NEXT: %', table_name;
|
||||||
|
-- create table
|
||||||
|
EXECUTE format(REPLACE( -- end date
|
||||||
|
REPLACE( -- start date
|
||||||
|
REPLACE( -- compare date name
|
||||||
|
REPLACE( -- base name (inherit)
|
||||||
|
REPLACE( -- table name
|
||||||
|
command_create_table,
|
||||||
|
'{TABLE_NAME}',
|
||||||
|
table_name
|
||||||
|
),
|
||||||
|
'{BASE_NAME}',
|
||||||
|
base_table
|
||||||
|
),
|
||||||
|
'{COMPARE_DATE_NAME}',
|
||||||
|
compare_date_name
|
||||||
|
),
|
||||||
|
'{START_DATE}',
|
||||||
|
quote_literal(start_date)
|
||||||
|
),
|
||||||
|
'{END_DATE}',
|
||||||
|
quote_literal(end_date)
|
||||||
|
));
|
||||||
|
-- create all indexes and triggers
|
||||||
|
EXECUTE format(REPLACE(
|
||||||
|
REPLACE(
|
||||||
|
command_create_primary_key,
|
||||||
|
'{TABLE_NAME}',
|
||||||
|
table_name
|
||||||
|
),
|
||||||
|
'{BASE_TABLE}',
|
||||||
|
base_table
|
||||||
|
));
|
||||||
|
-- FK constraints
|
||||||
|
EXECUTE format(REPLACE(command_create_foreign_key_1, '{TABLE_NAME}', table_name));
|
||||||
|
-- generic trigger
|
||||||
|
EXECUTE format(REPLACE(command_create_trigger_1, '{TABLE_NAME}', table_name));
|
||||||
|
END IF;
|
||||||
|
EXCEPTION
|
||||||
|
WHEN OTHERS THEN
|
||||||
|
RAISE NOTICE 'Failed to create next table: %', table_name;
|
||||||
|
END;
|
||||||
ELSE
|
ELSE
|
||||||
-- if outside valid date, insert into overflow
|
-- if outside valid date, insert into overflow
|
||||||
INSERT INTO edit_log_overflow VALUES (NEW.*);
|
INSERT INTO edit_log_overflow VALUES (NEW.*);
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
CREATE OR REPLACE FUNCTION set_uid() RETURNS TRIGGER AS '
|
CREATE OR REPLACE FUNCTION set_uid() RETURNS TRIGGER AS '
|
||||||
DECLARE
|
DECLARE
|
||||||
random_length INT = 12; -- that should be long enough
|
random_length INT = 32; -- that should be long enough
|
||||||
BEGIN
|
BEGIN
|
||||||
IF TG_OP = ''INSERT'' THEN
|
IF TG_OP = ''INSERT'' THEN
|
||||||
NEW.uid := random_string(random_length);
|
NEW.uid := random_string(random_length);
|
||||||
|
|||||||
@@ -1,14 +1,16 @@
|
|||||||
-- adds the created or updated date tags
|
-- adds the created or updated date tags
|
||||||
|
|
||||||
CREATE OR REPLACE FUNCTION set_generic() RETURNS TRIGGER AS '
|
-- OLD, DEPRECATED, use set_generic.sql
|
||||||
BEGIN
|
|
||||||
IF TG_OP = ''INSERT'' THEN
|
-- CREATE OR REPLACE FUNCTION set_generic() RETURNS TRIGGER AS '
|
||||||
NEW.date_created := clock_timestamp();
|
-- BEGIN
|
||||||
NEW.user_created := current_user;
|
-- IF TG_OP = ''INSERT'' THEN
|
||||||
ELSIF TG_OP = ''UPDATE'' THEN
|
-- NEW.date_created := clock_timestamp();
|
||||||
NEW.date_updated := clock_timestamp();
|
-- NEW.user_created := current_user;
|
||||||
NEW.user_updated := current_user;
|
-- ELSIF TG_OP = ''UPDATE'' THEN
|
||||||
END IF;
|
-- NEW.date_updated := clock_timestamp();
|
||||||
RETURN NEW;
|
-- NEW.user_updated := current_user;
|
||||||
END;
|
-- END IF;
|
||||||
' LANGUAGE 'plpgsql';
|
-- RETURN NEW;
|
||||||
|
-- END;
|
||||||
|
-- ' LANGUAGE 'plpgsql';
|
||||||
|
|||||||
@@ -8,12 +8,12 @@
|
|||||||
-- DROP TABLE edit_access;
|
-- DROP TABLE edit_access;
|
||||||
CREATE TABLE edit_access (
|
CREATE TABLE edit_access (
|
||||||
edit_access_id SERIAL PRIMARY KEY,
|
edit_access_id SERIAL PRIMARY KEY,
|
||||||
|
enabled SMALLINT NOT NULL DEFAULT 0,
|
||||||
|
protected SMALLINT DEFAULT 0,
|
||||||
|
deleted SMALLINT DEFAULT 0,
|
||||||
|
uid VARCHAR,
|
||||||
name VARCHAR UNIQUE,
|
name VARCHAR UNIQUE,
|
||||||
description VARCHAR,
|
description VARCHAR,
|
||||||
color VARCHAR,
|
color VARCHAR,
|
||||||
uid VARCHAR,
|
|
||||||
enabled SMALLINT NOT NULL DEFAULT 0,
|
|
||||||
protected INT,
|
|
||||||
deleted SMALLINT DEFAULT 0,
|
|
||||||
additional_acl JSONB
|
additional_acl JSONB
|
||||||
) INHERITS (edit_generic) WITHOUT OIDS;
|
) INHERITS (edit_generic) WITHOUT OIDS;
|
||||||
|
|||||||
@@ -9,8 +9,8 @@
|
|||||||
CREATE TABLE edit_access_data (
|
CREATE TABLE edit_access_data (
|
||||||
edit_access_data_id SERIAL PRIMARY KEY,
|
edit_access_data_id SERIAL PRIMARY KEY,
|
||||||
edit_access_id INT NOT NULL,
|
edit_access_id INT NOT NULL,
|
||||||
|
enabled SMALLINT NOT NULL DEFAULT 0,
|
||||||
name VARCHAR,
|
name VARCHAR,
|
||||||
value VARCHAR,
|
value VARCHAR,
|
||||||
enabled SMALLINT NOT NULL DEFAULT 0,
|
|
||||||
FOREIGN KEY (edit_access_id) REFERENCES edit_access (edit_access_id) MATCH FULL ON DELETE CASCADE ON UPDATE CASCADE
|
FOREIGN KEY (edit_access_id) REFERENCES edit_access (edit_access_id) MATCH FULL ON DELETE CASCADE ON UPDATE CASCADE
|
||||||
) INHERITS (edit_generic) WITHOUT OIDS;
|
) INHERITS (edit_generic) WITHOUT OIDS;
|
||||||
|
|||||||
@@ -8,10 +8,10 @@
|
|||||||
-- DROP TABLE edit_access_user;
|
-- DROP TABLE edit_access_user;
|
||||||
CREATE TABLE edit_access_user (
|
CREATE TABLE edit_access_user (
|
||||||
edit_access_user_id SERIAL PRIMARY KEY,
|
edit_access_user_id SERIAL PRIMARY KEY,
|
||||||
edit_default SMALLINT DEFAULT 0,
|
|
||||||
edit_access_id INT NOT NULL,
|
edit_access_id INT NOT NULL,
|
||||||
edit_user_id INT NOT NULL,
|
edit_user_id INT NOT NULL,
|
||||||
edit_access_right_id INT NOT NULL,
|
edit_access_right_id INT NOT NULL,
|
||||||
|
edit_default SMALLINT DEFAULT 0,
|
||||||
enabled SMALLINT NOT NULL DEFAULT 0,
|
enabled SMALLINT NOT NULL DEFAULT 0,
|
||||||
FOREIGN KEY (edit_access_id) REFERENCES edit_access (edit_access_id) MATCH FULL ON DELETE CASCADE ON UPDATE CASCADE,
|
FOREIGN KEY (edit_access_id) REFERENCES edit_access (edit_access_id) MATCH FULL ON DELETE CASCADE ON UPDATE CASCADE,
|
||||||
FOREIGN KEY (edit_user_id) REFERENCES edit_user (edit_user_id) MATCH FULL ON DELETE CASCADE ON UPDATE CASCADE,
|
FOREIGN KEY (edit_user_id) REFERENCES edit_user (edit_user_id) MATCH FULL ON DELETE CASCADE ON UPDATE CASCADE,
|
||||||
|
|||||||
@@ -8,11 +8,12 @@
|
|||||||
-- DROP TABLE edit_group;
|
-- DROP TABLE edit_group;
|
||||||
CREATE TABLE edit_group (
|
CREATE TABLE edit_group (
|
||||||
edit_group_id SERIAL PRIMARY KEY,
|
edit_group_id SERIAL PRIMARY KEY,
|
||||||
name VARCHAR,
|
|
||||||
enabled SMALLINT NOT NULL DEFAULT 0,
|
|
||||||
deleted SMALLINT DEFAULT 0,
|
|
||||||
edit_scheme_id INT,
|
edit_scheme_id INT,
|
||||||
edit_access_right_id INT NOT NULL,
|
edit_access_right_id INT NOT NULL,
|
||||||
|
enabled SMALLINT NOT NULL DEFAULT 0,
|
||||||
|
deleted SMALLINT DEFAULT 0,
|
||||||
|
uid VARCHAR,
|
||||||
|
name VARCHAR,
|
||||||
additional_acl JSONB,
|
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_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
|
FOREIGN KEY (edit_access_right_id) REFERENCES edit_access_right (edit_access_right_id) MATCH FULL ON DELETE CASCADE ON UPDATE CASCADE
|
||||||
|
|||||||
@@ -9,10 +9,10 @@
|
|||||||
-- DROP TABLE edit_language;
|
-- DROP TABLE edit_language;
|
||||||
CREATE TABLE edit_language (
|
CREATE TABLE edit_language (
|
||||||
edit_language_id SERIAL PRIMARY KEY,
|
edit_language_id SERIAL PRIMARY KEY,
|
||||||
short_name VARCHAR,
|
|
||||||
long_name VARCHAR,
|
|
||||||
iso_name VARCHAR,
|
|
||||||
order_number INT,
|
|
||||||
enabled SMALLINT NOT NULL DEFAULT 0,
|
enabled SMALLINT NOT NULL DEFAULT 0,
|
||||||
lang_default SMALLINT NOT NULL DEFAULT 0
|
lang_default SMALLINT NOT NULL DEFAULT 0,
|
||||||
|
long_name VARCHAR,
|
||||||
|
short_name VARCHAR,
|
||||||
|
iso_name VARCHAR,
|
||||||
|
order_number INT
|
||||||
) INHERITS (edit_generic) WITHOUT OIDS;
|
) INHERITS (edit_generic) WITHOUT OIDS;
|
||||||
|
|||||||
@@ -37,5 +37,5 @@ CREATE TABLE edit_log (
|
|||||||
http_accept_charset VARCHAR,
|
http_accept_charset VARCHAR,
|
||||||
http_accept_encoding VARCHAR,
|
http_accept_encoding VARCHAR,
|
||||||
session_id VARCHAR,
|
session_id VARCHAR,
|
||||||
FOREIGN KEY (euid) REFERENCES edit_user (edit_user_id) MATCH FULL ON UPDATE CASCADE
|
FOREIGN KEY (euid) REFERENCES edit_user (edit_user_id) MATCH FULL ON UPDATE CASCADE ON DELETE SET NULL
|
||||||
) INHERITS (edit_generic) WITHOUT OIDS;
|
) INHERITS (edit_generic) WITHOUT OIDS;
|
||||||
|
|||||||
12
4dev/database/table/edit_log_overflow.sql
Executable file
12
4dev/database/table/edit_log_overflow.sql
Executable file
@@ -0,0 +1,12 @@
|
|||||||
|
-- AUTHOR: Clemens Schwaighofer
|
||||||
|
-- DATE: 2020/1/28
|
||||||
|
-- DESCRIPTION:
|
||||||
|
-- edit log overflow table
|
||||||
|
-- this is the overflow table for partition
|
||||||
|
-- TABLE: edit_log_overflow
|
||||||
|
-- HISTORY:
|
||||||
|
|
||||||
|
-- DROP TABLE edit_log_overflow;
|
||||||
|
CREATE TABLE IF NOT EXISTS edit_log_overflow () INHERITS (edit_log);
|
||||||
|
ALTER TABLE edit_log_overflow ADD PRIMARY KEY (edit_log_id);
|
||||||
|
ALTER TABLE edit_log_overflow ADD CONSTRAINT edit_log_overflow_euid_fkey FOREIGN KEY (euid) REFERENCES edit_user (edit_user_id) MATCH FULL ON UPDATE CASCADE ON DELETE SET NULL;
|
||||||
@@ -17,5 +17,6 @@ CREATE TABLE edit_page (
|
|||||||
popup SMALLINT NOT NULL DEFAULT 0,
|
popup SMALLINT NOT NULL DEFAULT 0,
|
||||||
popup_x SMALLINT,
|
popup_x SMALLINT,
|
||||||
popup_y 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,
|
hostname VARCHAR,
|
||||||
|
FOREIGN KEY (content_alias_edit_page_id) REFERENCES edit_page (edit_page_id) MATCH FULL ON DELETE RESTRICT ON UPDATE CASCADE
|
||||||
) INHERITS (edit_generic) WITHOUT OIDS;
|
) INHERITS (edit_generic) WITHOUT OIDS;
|
||||||
|
|||||||
@@ -8,10 +8,10 @@
|
|||||||
-- DROP TABLE edit_page_access;
|
-- DROP TABLE edit_page_access;
|
||||||
CREATE TABLE edit_page_access (
|
CREATE TABLE edit_page_access (
|
||||||
edit_page_access_id SERIAL PRIMARY KEY,
|
edit_page_access_id SERIAL PRIMARY KEY,
|
||||||
enabled SMALLINT NOT NULL DEFAULT 0,
|
|
||||||
edit_group_id INT NOT NULL,
|
edit_group_id INT NOT NULL,
|
||||||
edit_page_id INT NOT NULL,
|
edit_page_id INT NOT NULL,
|
||||||
edit_access_right_id INT NOT NULL,
|
edit_access_right_id INT NOT NULL,
|
||||||
|
enabled SMALLINT NOT NULL DEFAULT 0,
|
||||||
FOREIGN KEY (edit_group_id) REFERENCES edit_group (edit_group_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,
|
||||||
FOREIGN KEY (edit_page_id) REFERENCES edit_page (edit_page_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,
|
||||||
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_access_right_id) REFERENCES edit_access_right (edit_access_right_id) MATCH FULL ON DELETE CASCADE ON UPDATE CASCADE
|
||||||
|
|||||||
@@ -11,8 +11,8 @@ CREATE TABLE edit_page_content (
|
|||||||
edit_page_content_id SERIAL PRIMARY KEY,
|
edit_page_content_id SERIAL PRIMARY KEY,
|
||||||
edit_page_id INT NOT NULL,
|
edit_page_id INT NOT NULL,
|
||||||
edit_access_right_id INT NOT NULL,
|
edit_access_right_id INT NOT NULL,
|
||||||
name VARCHAR,
|
|
||||||
uid VARCHAR UNIQUE,
|
uid VARCHAR UNIQUE,
|
||||||
|
name VARCHAR,
|
||||||
order_number INT NOT NULL,
|
order_number INT NOT NULL,
|
||||||
online SMALLINT NOT NULL DEFAULT 0,
|
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_access_right_id) REFERENCES edit_access_right (edit_access_right_id) MATCH FULL ON DELETE CASCADE ON UPDATE CASCADE,
|
||||||
|
|||||||
@@ -8,10 +8,10 @@
|
|||||||
-- DROP TABLE edit_query_string;
|
-- DROP TABLE edit_query_string;
|
||||||
CREATE TABLE edit_query_string (
|
CREATE TABLE edit_query_string (
|
||||||
edit_query_string_id SERIAL PRIMARY KEY,
|
edit_query_string_id SERIAL PRIMARY KEY,
|
||||||
|
edit_page_id INT NOT NULL,
|
||||||
|
enabled SMALLINT NOT NULL DEFAULT 0,
|
||||||
name VARCHAR,
|
name VARCHAR,
|
||||||
value VARCHAR,
|
value VARCHAR,
|
||||||
enabled SMALLINT NOT NULL DEFAULT 0,
|
|
||||||
dynamic SMALLINT NOT NULL DEFAULT 0,
|
dynamic SMALLINT NOT NULL DEFAULT 0,
|
||||||
edit_page_id INT NOT NULL,
|
|
||||||
FOREIGN KEY (edit_page_id) REFERENCES edit_page (edit_page_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;
|
) INHERITS (edit_generic) WITHOUT OIDS;
|
||||||
|
|||||||
@@ -7,5 +7,6 @@
|
|||||||
|
|
||||||
-- DROP TABLE temp_files;
|
-- DROP TABLE temp_files;
|
||||||
CREATE TABLE temp_files (
|
CREATE TABLE temp_files (
|
||||||
filename VARCHAR
|
filename VARCHAR,
|
||||||
|
folder VARCHAR
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -9,23 +9,23 @@
|
|||||||
CREATE TABLE edit_user (
|
CREATE TABLE edit_user (
|
||||||
edit_user_id SERIAL PRIMARY KEY,
|
edit_user_id SERIAL PRIMARY KEY,
|
||||||
connect_edit_user_id INT, -- possible reference to other user
|
connect_edit_user_id INT, -- possible reference to other user
|
||||||
|
edit_language_id INT NOT NULL,
|
||||||
|
edit_group_id INT NOT NULL,
|
||||||
|
edit_scheme_id INT,
|
||||||
|
edit_access_right_id INT NOT NULL,
|
||||||
|
enabled SMALLINT NOT NULL DEFAULT 0,
|
||||||
|
deleted SMALLINT NOT NULL DEFAULT 0,
|
||||||
username VARCHAR UNIQUE,
|
username VARCHAR UNIQUE,
|
||||||
password VARCHAR,
|
password VARCHAR,
|
||||||
first_name VARCHAR,
|
first_name VARCHAR,
|
||||||
last_name VARCHAR,
|
last_name VARCHAR,
|
||||||
first_name_furigana VARCHAR,
|
first_name_furigana VARCHAR,
|
||||||
last_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,
|
debug SMALLINT NOT NULL DEFAULT 0,
|
||||||
db_debug SMALLINT NOT NULL DEFAULT 0,
|
db_debug SMALLINT NOT NULL DEFAULT 0,
|
||||||
email VARCHAR,
|
email VARCHAR,
|
||||||
protected SMALLINT NOT NULL DEFAULT 0,
|
protected SMALLINT NOT NULL DEFAULT 0,
|
||||||
admin SMALLINT NOT NULL DEFAULT 0,
|
admin SMALLINT NOT NULL DEFAULT 0,
|
||||||
edit_language_id INT NOT NULL,
|
|
||||||
edit_group_id INT NOT NULL,
|
|
||||||
edit_scheme_id INT,
|
|
||||||
edit_access_right_id INT NOT NULL,
|
|
||||||
login_error_count INT,
|
login_error_count INT,
|
||||||
login_error_date_last TIMESTAMP WITHOUT TIME ZONE,
|
login_error_date_last TIMESTAMP WITHOUT TIME ZONE,
|
||||||
login_error_date_first TIMESTAMP WITHOUT TIME ZONE,
|
login_error_date_first TIMESTAMP WITHOUT TIME ZONE,
|
||||||
|
|||||||
@@ -11,7 +11,3 @@ CREATE TABLE edit_visible_group (
|
|||||||
name VARCHAR,
|
name VARCHAR,
|
||||||
flag VARCHAR
|
flag VARCHAR
|
||||||
) INHERITS (edit_generic) WITHOUT OIDS;
|
) INHERITS (edit_generic) WITHOUT OIDS;
|
||||||
|
|
||||||
DELETE FROM edit_visible_group;
|
|
||||||
INSERT INTO edit_visible_group (name, flag) VALUES ('Main Menu', 'main');
|
|
||||||
INSERT INTO edit_visible_group (name, flag) VALUES ('Data popup Menu', 'datapopup');
|
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
DROP TRIGGER trg_edit_access ON edit_access;
|
DROP TRIGGER IF EXISTS trg_edit_access ON edit_access;
|
||||||
CREATE TRIGGER trg_edit_access
|
CREATE TRIGGER trg_edit_access
|
||||||
BEFORE INSERT OR UPDATE ON edit_access
|
BEFORE INSERT OR UPDATE ON edit_access
|
||||||
FOR EACH ROW EXECUTE PROCEDURE set_edit_generic();
|
FOR EACH ROW EXECUTE PROCEDURE set_edit_generic();
|
||||||
|
|
||||||
DROP TRIGGER trg_set_edit_access_uid ON edit_access;
|
DROP TRIGGER IF EXISTS trg_set_edit_access_uid ON edit_access;
|
||||||
CREATE TRIGGER trg_set_edit_access_uid
|
CREATE TRIGGER trg_set_edit_access_uid
|
||||||
BEFORE INSERT OR UPDATE ON edit_access
|
BEFORE INSERT OR UPDATE ON edit_access
|
||||||
FOR EACH ROW EXECUTE PROCEDURE set_edit_access_uid();
|
FOR EACH ROW EXECUTE PROCEDURE set_edit_access_uid();
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
DROP TRIGGER trg_edit_access_data ON edit_access_data;
|
DROP TRIGGER IF EXISTS trg_edit_access_data ON edit_access_data;
|
||||||
CREATE TRIGGER trg_edit_access_data
|
CREATE TRIGGER trg_edit_access_data
|
||||||
BEFORE INSERT OR UPDATE ON edit_access_data
|
BEFORE INSERT OR UPDATE ON edit_access_data
|
||||||
FOR EACH ROW EXECUTE PROCEDURE set_edit_generic();
|
FOR EACH ROW EXECUTE PROCEDURE set_edit_generic();
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
DROP TRIGGER trg_edit_access_right ON edit_access_right;
|
DROP TRIGGER IF EXISTS trg_edit_access_right ON edit_access_right;
|
||||||
CREATE TRIGGER trg_edit_access_right
|
CREATE TRIGGER trg_edit_access_right
|
||||||
BEFORE INSERT OR UPDATE ON edit_access_right
|
BEFORE INSERT OR UPDATE ON edit_access_right
|
||||||
FOR EACH ROW EXECUTE PROCEDURE set_edit_generic();
|
FOR EACH ROW EXECUTE PROCEDURE set_edit_generic();
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
DROP TRIGGER trg_edit_access_user ON edit_access_user;
|
DROP TRIGGER IF EXISTS trg_edit_access_user ON edit_access_user;
|
||||||
CREATE TRIGGER trg_edit_access_user
|
CREATE TRIGGER trg_edit_access_user
|
||||||
BEFORE INSERT OR UPDATE ON edit_access_user
|
BEFORE INSERT OR UPDATE ON edit_access_user
|
||||||
FOR EACH ROW EXECUTE PROCEDURE set_edit_generic();
|
FOR EACH ROW EXECUTE PROCEDURE set_edit_generic();
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
DROP TRIGGER trg_edit_group ON edit_group;
|
DROP TRIGGER IF EXISTS trg_edit_group ON edit_group;
|
||||||
CREATE TRIGGER trg_edit_group
|
CREATE TRIGGER trg_edit_group
|
||||||
BEFORE INSERT OR UPDATE ON edit_group
|
BEFORE INSERT OR UPDATE ON edit_group
|
||||||
FOR EACH ROW EXECUTE PROCEDURE set_edit_generic();
|
FOR EACH ROW EXECUTE PROCEDURE set_edit_generic();
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
DROP TRIGGER trg_edit_language ON edit_language;
|
DROP TRIGGER IF EXISTS trg_edit_language ON edit_language;
|
||||||
CREATE TRIGGER trg_edit_language
|
CREATE TRIGGER trg_edit_language
|
||||||
BEFORE INSERT OR UPDATE ON edit_language
|
BEFORE INSERT OR UPDATE ON edit_language
|
||||||
FOR EACH ROW EXECUTE PROCEDURE set_edit_generic();
|
FOR EACH ROW EXECUTE PROCEDURE set_edit_generic();
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
DROP TRIGGER trg_edit_log ON edit_log;
|
DROP TRIGGER IF EXISTS trg_edit_log ON edit_log;
|
||||||
CREATE TRIGGER trg_edit_log
|
CREATE TRIGGER trg_edit_log
|
||||||
BEFORE INSERT OR UPDATE ON edit_log
|
BEFORE INSERT OR UPDATE ON edit_log
|
||||||
FOR EACH ROW EXECUTE PROCEDURE set_edit_generic();
|
FOR EACH ROW EXECUTE PROCEDURE set_edit_generic();
|
||||||
|
|
||||||
DROP TRIGGER trg_edit_log_insert_partition ON edit_log;
|
DROP TRIGGER IF EXISTS trg_edit_log_insert_partition ON edit_log;
|
||||||
CREATE TRIGGER trg_edit_log_insert_partition
|
CREATE TRIGGER trg_edit_log_insert_partition
|
||||||
BEFORE INSERT OR UPDATE ON edit_log
|
BEFORE INSERT OR UPDATE ON edit_log
|
||||||
FOR EACH ROW EXECUTE PROCEDURE edit_log_insert_trigger();
|
FOR EACH ROW EXECUTE PROCEDURE edit_log_insert_trigger();
|
||||||
|
|||||||
4
4dev/database/trigger/trg_edit_log_overflow.sql
Executable file
4
4dev/database/trigger/trg_edit_log_overflow.sql
Executable file
@@ -0,0 +1,4 @@
|
|||||||
|
DROP TRIGGER IF EXISTS trg_edit_log_overflow ON edit_log_overflow;
|
||||||
|
CREATE TRIGGER trg_edit_log_overflow
|
||||||
|
BEFORE INSERT OR UPDATE ON edit_log_overflow
|
||||||
|
FOR EACH ROW EXECUTE PROCEDURE set_edit_generic();
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
DROP TRIGGER trg_edit_menu_group ON edit_menu_group;
|
DROP TRIGGER IF EXISTS trg_edit_menu_group ON edit_menu_group;
|
||||||
CREATE TRIGGER trg_edit_menu_group
|
CREATE TRIGGER trg_edit_menu_group
|
||||||
BEFORE INSERT OR UPDATE ON edit_menu_group
|
BEFORE INSERT OR UPDATE ON edit_menu_group
|
||||||
FOR EACH ROW EXECUTE PROCEDURE set_edit_generic();
|
FOR EACH ROW EXECUTE PROCEDURE set_edit_generic();
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
DROP TRIGGER trg_edit_page ON edit_page;
|
DROP TRIGGER IF EXISTS trg_edit_page ON edit_page;
|
||||||
CREATE TRIGGER trg_edit_page
|
CREATE TRIGGER trg_edit_page
|
||||||
BEFORE INSERT OR UPDATE ON edit_page
|
BEFORE INSERT OR UPDATE ON edit_page
|
||||||
FOR EACH ROW EXECUTE PROCEDURE set_edit_generic();
|
FOR EACH ROW EXECUTE PROCEDURE set_edit_generic();
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
DROP TRIGGER trg_edit_page_access ON edit_page_access;
|
DROP TRIGGER IF EXISTS trg_edit_page_access ON edit_page_access;
|
||||||
CREATE TRIGGER trg_edit_page_access
|
CREATE TRIGGER trg_edit_page_access
|
||||||
BEFORE INSERT OR UPDATE ON edit_page_access
|
BEFORE INSERT OR UPDATE ON edit_page_access
|
||||||
FOR EACH ROW EXECUTE PROCEDURE set_edit_generic();
|
FOR EACH ROW EXECUTE PROCEDURE set_edit_generic();
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
DROP TRIGGER trg_edit_page_content ON edit_page_content;
|
DROP TRIGGER IF EXISTS trg_edit_page_content ON edit_page_content;
|
||||||
CREATE TRIGGER trg_edit_page_content
|
CREATE TRIGGER trg_edit_page_content
|
||||||
BEFORE INSERT OR UPDATE ON edit_page_content
|
BEFORE INSERT OR UPDATE ON edit_page_content
|
||||||
FOR EACH ROW EXECUTE PROCEDURE set_edit_generic();
|
FOR EACH ROW EXECUTE PROCEDURE set_edit_generic();
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
DROP TRIGGER trg_edit_query_string ON edit_query_string;
|
DROP TRIGGER IF EXISTS trg_edit_query_string ON edit_query_string;
|
||||||
CREATE TRIGGER trg_edit_query_string
|
CREATE TRIGGER trg_edit_query_string
|
||||||
BEFORE INSERT OR UPDATE ON edit_query_string
|
BEFORE INSERT OR UPDATE ON edit_query_string
|
||||||
FOR EACH ROW EXECUTE PROCEDURE set_edit_generic();
|
FOR EACH ROW EXECUTE PROCEDURE set_edit_generic();
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
DROP TRIGGER trg_edit_scheme ON edit_scheme;
|
DROP TRIGGER IF EXISTS trg_edit_scheme ON edit_scheme;
|
||||||
CREATE TRIGGER trg_edit_scheme
|
CREATE TRIGGER trg_edit_scheme
|
||||||
BEFORE INSERT OR UPDATE ON edit_scheme
|
BEFORE INSERT OR UPDATE ON edit_scheme
|
||||||
FOR EACH ROW EXECUTE PROCEDURE set_edit_generic();
|
FOR EACH ROW EXECUTE PROCEDURE set_edit_generic();
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
DROP TRIGGER trg_edit_user ON edit_user;
|
DROP TRIGGER IF EXISTS trg_edit_user ON edit_user;
|
||||||
CREATE TRIGGER trg_edit_user
|
CREATE TRIGGER trg_edit_user
|
||||||
BEFORE INSERT OR UPDATE ON edit_user
|
BEFORE INSERT OR UPDATE ON edit_user
|
||||||
FOR EACH ROW EXECUTE PROCEDURE set_edit_generic();
|
FOR EACH ROW EXECUTE PROCEDURE set_edit_generic();
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
DROP TRIGGER trg_edit_visible_group ON edit_visible_group;
|
DROP TRIGGER IF EXISTS trg_edit_visible_group ON edit_visible_group;
|
||||||
CREATE TRIGGER trg_edit_visible_group
|
CREATE TRIGGER trg_edit_visible_group
|
||||||
BEFORE INSERT OR UPDATE ON edit_visible_group
|
BEFORE INSERT OR UPDATE ON edit_visible_group
|
||||||
FOR EACH ROW EXECUTE PROCEDURE set_edit_generic();
|
FOR EACH ROW EXECUTE PROCEDURE set_edit_generic();
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ ALTER TABLE edit_access ADD protected SMALLINT DEFAULT 0;
|
|||||||
ALTER TABLE edit_group ADD uid VARCHAR;
|
ALTER TABLE edit_group ADD uid VARCHAR;
|
||||||
ALTER TABLE edit_group ADD deleted SMALLINT DEFAULT 0;
|
ALTER TABLE edit_group ADD deleted SMALLINT DEFAULT 0;
|
||||||
|
|
||||||
ALTER TABLE temp_files ADD folder varchar;
|
ALTER TABLE temp_files ADD folder VARCHAR;
|
||||||
ALTER TABLE edit_page ADD hostname varchar;
|
ALTER TABLE edit_page ADD hostname VARCHAR;
|
||||||
|
|
||||||
ALTER TABLE edit_user ADD deleted SMALLINT DEFAULT 0;
|
ALTER TABLE edit_user ADD deleted SMALLINT DEFAULT 0;
|
||||||
|
|||||||
9
www/admin/phan_test.php
Executable file
9
www/admin/phan_test.php
Executable file
@@ -0,0 +1,9 @@
|
|||||||
|
<?php declare(strict_types=1);
|
||||||
|
|
||||||
|
require 'config.php';
|
||||||
|
require BASE.INCLUDES.'admin_header.php';
|
||||||
|
|
||||||
|
// $DATA['foo'] = 'bar';
|
||||||
|
// $messages['foo'] = 'bar';
|
||||||
|
|
||||||
|
// __END__
|
||||||
@@ -10,26 +10,28 @@ define('USE_DATABASE', true);
|
|||||||
define('USE_HEADER', true);
|
define('USE_HEADER', true);
|
||||||
require 'config.php';
|
require 'config.php';
|
||||||
require BASE.INCLUDES.'admin_header.php';
|
require BASE.INCLUDES.'admin_header.php';
|
||||||
$smarty->MASTER_TEMPLATE_NAME = 'main_body.tpl';
|
if (is_object($smarty)) {
|
||||||
$smarty->TEMPLATE_NAME = 'smarty_test.tpl';
|
$smarty->MASTER_TEMPLATE_NAME = 'main_body.tpl';
|
||||||
$smarty->CSS_SPECIAL_TEMPLATE_NAME = 'smart_test.css';
|
$smarty->TEMPLATE_NAME = 'smarty_test.tpl';
|
||||||
$smarty->USE_PROTOTYPE = false;
|
$smarty->CSS_SPECIAL_TEMPLATE_NAME = 'smart_test.css';
|
||||||
$smarty->USE_JQUERY = true;
|
$smarty->USE_PROTOTYPE = false;
|
||||||
$smarty->JS_DATEPICKR = false;
|
$smarty->USE_JQUERY = true;
|
||||||
if ($smarty->USE_PROTOTYPE) {
|
$smarty->JS_DATEPICKR = false;
|
||||||
$smarty->ADMIN_JAVASCRIPT = 'edit.pt.js';
|
if ($smarty->USE_PROTOTYPE) {
|
||||||
$smarty->JS_SPECIAL_TEMPLATE_NAME = 'prototype.test.js';
|
$smarty->ADMIN_JAVASCRIPT = 'edit.pt.js';
|
||||||
} elseif ($smarty->USE_JQUERY) {
|
$smarty->JS_SPECIAL_TEMPLATE_NAME = 'prototype.test.js';
|
||||||
$smarty->ADMIN_JAVASCRIPT = 'edit.jq.js';
|
} elseif ($smarty->USE_JQUERY) {
|
||||||
$smarty->JS_SPECIAL_TEMPLATE_NAME = 'jquery.test.js';
|
$smarty->ADMIN_JAVASCRIPT = 'edit.jq.js';
|
||||||
}
|
$smarty->JS_SPECIAL_TEMPLATE_NAME = 'jquery.test.js';
|
||||||
$smarty->PAGE_WIDTH = "100%";
|
}
|
||||||
// require BASE.INCLUDES.'admin_set_paths.php';
|
$smarty->PAGE_WIDTH = '100%';
|
||||||
$smarty->setSmartyPaths();
|
// require BASE.INCLUDES.'admin_set_paths.php';
|
||||||
|
$smarty->setSmartyPaths();
|
||||||
|
|
||||||
// smarty test
|
// smarty test
|
||||||
$smarty->DATA['SMARTY_TEST'] = 'Test Data';
|
$smarty->DATA['SMARTY_TEST'] = 'Test Data';
|
||||||
$smarty->DATA['TRANSLATE_TEST'] = $cms->l->__('Are we translated?');
|
$smarty->DATA['TRANSLATE_TEST'] = $cms->l->__('Are we translated?');
|
||||||
|
}
|
||||||
|
|
||||||
// drop down test with optgroups
|
// drop down test with optgroups
|
||||||
$options = array (
|
$options = array (
|
||||||
@@ -48,8 +50,9 @@ $options = array (
|
|||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
$smarty->DATA['drop_down_test'] = $options;
|
if (is_object($smarty)) {
|
||||||
|
$smarty->DATA['drop_down_test'] = $options;
|
||||||
// require BASE.INCLUDES.'admin_smarty.php';
|
// require BASE.INCLUDES.'admin_smarty.php';
|
||||||
$smarty->setSmartyVarsAdmin();
|
$smarty->setSmartyVarsAdmin();
|
||||||
|
}
|
||||||
require BASE.INCLUDES.'admin_footer.php';
|
require BASE.INCLUDES.'admin_footer.php';
|
||||||
|
|||||||
@@ -88,7 +88,7 @@ define('DEFAULT_ACL_LEVEL', 80);
|
|||||||
// 3: if default template is not found, show error template, do not fall back to default tree
|
// 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
|
// 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!
|
// 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)
|
// cache life time, in second', default here is 2 days (172800s)
|
||||||
// -1 is never expire cache
|
// -1 is never expire cache
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ $paths = array(
|
|||||||
foreach ($paths as $path) {
|
foreach ($paths as $path) {
|
||||||
if (file_exists($path.DS.'convert') && is_file($path.DS.'convert')) {
|
if (file_exists($path.DS.'convert') && is_file($path.DS.'convert')) {
|
||||||
// image magick convert location
|
// image magick convert location
|
||||||
DEFINE('CONVERT', $path.DS.'convert');
|
define('CONVERT', $path.DS.'convert');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
unset($paths);
|
unset($paths);
|
||||||
|
|||||||
@@ -14,8 +14,6 @@ if ($DEBUG_ALL && $ENABLE_ERROR_HANDLING) {
|
|||||||
}
|
}
|
||||||
// predefine vars
|
// predefine vars
|
||||||
$messages = array();
|
$messages = array();
|
||||||
// import all POST vars
|
|
||||||
// extract($_POST, EXTR_SKIP);
|
|
||||||
//------------------------------ variable init end
|
//------------------------------ variable init end
|
||||||
|
|
||||||
//------------------------------ library include start
|
//------------------------------ library include start
|
||||||
|
|||||||
@@ -85,12 +85,12 @@ $table_width = '100%';
|
|||||||
// define all needed smarty stuff for the general HTML/page building
|
// define all needed smarty stuff for the general HTML/page building
|
||||||
$HEADER['CSS'] = CSS;
|
$HEADER['CSS'] = CSS;
|
||||||
$HEADER['DEFAULT_ENCODING'] = DEFAULT_ENCODING;
|
$HEADER['DEFAULT_ENCODING'] = DEFAULT_ENCODING;
|
||||||
$HEADER['STYLESHEET'] = isset($ADMIN_STYLESHEET) ? $ADMIN_STYLESHEET : ADMIN_STYLESHEET;
|
$HEADER['STYLESHEET'] = $ADMIN_STYLESHEET ?? ADMIN_STYLESHEET;
|
||||||
|
|
||||||
if ($form->my_page_name == 'edit_order') {
|
if ($form->my_page_name == 'edit_order') {
|
||||||
// get is for "table_name" and "where" only
|
// get is for "table_name" and "where" only
|
||||||
$table_name = isset($_GET['table_name']) ? $_GET['table_name'] : '';
|
$table_name = $_GET['table_name'] ?? '';
|
||||||
// $where = isset($_GET['where']) ? $_GET['where'] : '';
|
// $where = $_GET['where'] ?? '';
|
||||||
// order name is _always_ order_number for the edit interface
|
// order name is _always_ order_number for the edit interface
|
||||||
|
|
||||||
// follwing arrays do exist here:
|
// follwing arrays do exist here:
|
||||||
@@ -208,7 +208,7 @@ if ($form->my_page_name == 'edit_order') {
|
|||||||
|
|
||||||
// hidden names for the table & where string
|
// hidden names for the table & where string
|
||||||
$DATA['table_name'] = $table_name;
|
$DATA['table_name'] = $table_name;
|
||||||
$DATA['where_string'] = isset($where_string) ? $where_string : '';
|
$DATA['where_string'] = $where_string ?? '';
|
||||||
|
|
||||||
$EDIT_TEMPLATE = 'edit_order.tpl';
|
$EDIT_TEMPLATE = 'edit_order.tpl';
|
||||||
} else {
|
} else {
|
||||||
@@ -282,7 +282,7 @@ if ($form->my_page_name == 'edit_order') {
|
|||||||
''
|
''
|
||||||
).
|
).
|
||||||
// filename
|
// filename
|
||||||
$data['filename'].
|
($data['filename'] ?? '').
|
||||||
// query string
|
// query string
|
||||||
(isset($data['query_string']) && $data['query_string'] ?
|
(isset($data['query_string']) && $data['query_string'] ?
|
||||||
$data['query_string'] :
|
$data['query_string'] :
|
||||||
@@ -294,7 +294,8 @@ if ($form->my_page_name == 'edit_order') {
|
|||||||
$menu_data[$i]['splitfactor_in'] = 0;
|
$menu_data[$i]['splitfactor_in'] = 0;
|
||||||
}
|
}
|
||||||
// on matching, we also need to check if we are in the same folder
|
// on matching, we also need to check if we are in the same folder
|
||||||
if ($data['filename'] == $form->getPageName() &&
|
if (isset($data['filename']) &&
|
||||||
|
$data['filename'] == $form->getPageName() &&
|
||||||
(!isset($data['hostname']) || (
|
(!isset($data['hostname']) || (
|
||||||
isset($data['hostname']) &&
|
isset($data['hostname']) &&
|
||||||
(!$data['hostname'] || strstr($data['hostname'], CONTENT_PATH) !== false)
|
(!$data['hostname'] || strstr($data['hostname'], CONTENT_PATH) !== false)
|
||||||
@@ -476,7 +477,7 @@ if ($form->my_page_name == 'edit_order') {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// debug data, if DEBUG flag is on, this data is print out
|
// debug data, if DEBUG flag is on, this data is print out
|
||||||
$DEBUG_DATA['DEBUG'] = isset($DEBUG_TMPL) ? $DEBUG_TMPL : '';
|
$DEBUG_DATA['DEBUG'] = $DEBUG_TMPL ?? '';
|
||||||
|
|
||||||
// create main data array
|
// create main data array
|
||||||
$CONTENT_DATA = array_merge($HEADER, $DATA, $DEBUG_DATA);
|
$CONTENT_DATA = array_merge($HEADER, $DATA, $DEBUG_DATA);
|
||||||
|
|||||||
0
www/layout/admin/cache/index.php
vendored
0
www/layout/admin/cache/index.php
vendored
@@ -86,9 +86,10 @@ function getScrollOffset()
|
|||||||
function setCenter(id, left, top)
|
function setCenter(id, left, top)
|
||||||
{
|
{
|
||||||
// get size of id
|
// get size of id
|
||||||
var dimensions = {};
|
var dimensions = {
|
||||||
dimensions.height = $('#' + id).height();
|
height: $('#' + id).height(),
|
||||||
dimensions.width = $('#' + id).width();
|
width: $('#' + id).width()
|
||||||
|
};
|
||||||
var type = $('#' + id).css('position');
|
var type = $('#' + id).css('position');
|
||||||
var viewport = getWindowSize();
|
var viewport = getWindowSize();
|
||||||
var offset = getScrollOffset();
|
var offset = getScrollOffset();
|
||||||
@@ -418,9 +419,11 @@ function actionIndicator(loc, overlay = true)
|
|||||||
function actionIndicatorShow(loc, overlay = true)
|
function actionIndicatorShow(loc, overlay = true)
|
||||||
{
|
{
|
||||||
console.log('Indicator: SHOW [%s]', loc);
|
console.log('Indicator: SHOW [%s]', loc);
|
||||||
$('#indicator').addClass('progress');
|
if (!$('#indicator').is(':visible')) {
|
||||||
setCenter('indicator', true, true);
|
$('#indicator').addClass('progress');
|
||||||
$('#indicator').show();
|
setCenter('indicator', true, true);
|
||||||
|
$('#indicator').show();
|
||||||
|
}
|
||||||
if (overlay === true) {
|
if (overlay === true) {
|
||||||
overlayBoxShow();
|
overlayBoxShow();
|
||||||
}
|
}
|
||||||
@@ -474,12 +477,9 @@ function overlayBoxHide()
|
|||||||
*/
|
*/
|
||||||
function setOverlayBox()
|
function setOverlayBox()
|
||||||
{
|
{
|
||||||
var viewport = document.viewport.getDimensions();
|
if (!$('#overlayBox').is(':visible')) {
|
||||||
$('#overlayBox').setStyle ({
|
$('#overlayBox').show();
|
||||||
width: '100%',
|
}
|
||||||
height: '100%'
|
|
||||||
});
|
|
||||||
$('#overlayBox').show();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
0
www/layout/frontend/cache/index.php
vendored
0
www/layout/frontend/cache/index.php
vendored
@@ -179,16 +179,16 @@ class Login extends \CoreLibs\DB\IO
|
|||||||
// get login vars, are so, can't be changed
|
// get login vars, are so, can't be changed
|
||||||
// prepare
|
// prepare
|
||||||
// pass on vars to Object vars
|
// pass on vars to Object vars
|
||||||
$this->login = isset($_POST['login_login']) ? $_POST['login_login'] : '';
|
$this->login = $_POST['login_login'] ?? '';
|
||||||
$this->username = isset($_POST['login_username']) ? $_POST['login_username'] : '';
|
$this->username = $_POST['login_username'] ?? '';
|
||||||
$this->password = isset($_POST['login_password']) ? $_POST['login_password'] : '';
|
$this->password = $_POST['login_password'] ?? '';
|
||||||
$this->logout = isset($_POST['login_logout']) ? $_POST['login_logout'] : '';
|
$this->logout = $_POST['login_logout'] ?? '';
|
||||||
// password change vars
|
// password change vars
|
||||||
$this->change_password = isset($_POST['change_password']) ? $_POST['change_password'] : '';
|
$this->change_password = $_POST['change_password'] ?? '';
|
||||||
$this->pw_username = isset($_POST['pw_username']) ? $_POST['pw_username'] : '';
|
$this->pw_username = $_POST['pw_username'] ?? '';
|
||||||
$this->pw_old_password = isset($_POST['pw_old_password']) ? $_POST['pw_old_password'] : '';
|
$this->pw_old_password = $_POST['pw_old_password'] ?? '';
|
||||||
$this->pw_new_password = isset($_POST['pw_new_password']) ? $_POST['pw_new_password'] : '';
|
$this->pw_new_password = $_POST['pw_new_password'] ?? '';
|
||||||
$this->pw_new_password_confirm = isset($_POST['pw_new_password_confirm']) ? $_POST['pw_new_password_confirm'] : '';
|
$this->pw_new_password_confirm = $_POST['pw_new_password_confirm'] ?? '';
|
||||||
// logout target (from config)
|
// logout target (from config)
|
||||||
$this->logout_target = LOGOUT_TARGET;
|
$this->logout_target = LOGOUT_TARGET;
|
||||||
// disallow user list for password change
|
// disallow user list for password change
|
||||||
@@ -418,8 +418,8 @@ class Login extends \CoreLibs\DB\IO
|
|||||||
$_SESSION['GROUP_ACL_LEVEL'] = $res['group_level'];
|
$_SESSION['GROUP_ACL_LEVEL'] = $res['group_level'];
|
||||||
$_SESSION['GROUP_ACL_TYPE'] = $res['group_type'];
|
$_SESSION['GROUP_ACL_TYPE'] = $res['group_type'];
|
||||||
// deprecated TEMPLATE setting
|
// deprecated TEMPLATE setting
|
||||||
$_SESSION['TEMPLATE'] = ($res['template']) ? $res['template'] : '';
|
$_SESSION['TEMPLATE'] = $res['template'] ? $res['template'] : '';
|
||||||
$_SESSION['HEADER_COLOR'] = ($res['second_header_color']) ? $res['second_header_color'] : $res['first_header_color'];
|
$_SESSION['HEADER_COLOR'] = $res['second_header_color'] ? $res['second_header_color'] : $res['first_header_color'];
|
||||||
$_SESSION['LANG'] = $res['lang_short'];
|
$_SESSION['LANG'] = $res['lang_short'];
|
||||||
$_SESSION['DEFAULT_CHARSET'] = $res['lang_iso'];
|
$_SESSION['DEFAULT_CHARSET'] = $res['lang_iso'];
|
||||||
$_SESSION['DEFAULT_LANG'] = $res['lang_short'].'_'.strtolower(str_replace('-', '', $res['lang_iso']));
|
$_SESSION['DEFAULT_LANG'] = $res['lang_short'].'_'.strtolower(str_replace('-', '', $res['lang_iso']));
|
||||||
@@ -1194,7 +1194,7 @@ EOM;
|
|||||||
$q .= "(username, password, euid, event_date, event, error, data, data_binary, page, ";
|
$q .= "(username, password, euid, event_date, event, error, data, data_binary, page, ";
|
||||||
$q .= "ip, user_agent, referer, script_name, query_string, server_name, http_host, http_accept, http_accept_charset, http_accept_encoding, session_id, ";
|
$q .= "ip, user_agent, referer, script_name, query_string, server_name, http_host, http_accept, http_accept_charset, http_accept_encoding, session_id, ";
|
||||||
$q .= "action, action_id, action_yes, action_flag, action_menu, action_loaded, action_value, action_error) ";
|
$q .= "action, action_id, action_yes, action_flag, action_menu, action_loaded, action_value, action_error) ";
|
||||||
$q .= "VALUES ('".$this->dbEscapeString($username)."', 'PASSWORD', ".(($this->euid) ? $this->euid : 'NULL').", ";
|
$q .= "VALUES ('".$this->dbEscapeString($username)."', 'PASSWORD', ".($this->euid ? $this->euid : 'NULL').", ";
|
||||||
$q .= "NOW(), '".$this->dbEscapeString($event)."', '".$this->dbEscapeString((string)$error)."', '".$this->dbEscapeString($data)."', '".$data_binary."', '".$this->page_name."', ";
|
$q .= "NOW(), '".$this->dbEscapeString($event)."', '".$this->dbEscapeString((string)$error)."', '".$this->dbEscapeString($data)."', '".$data_binary."', '".$this->page_name."', ";
|
||||||
foreach (array(
|
foreach (array(
|
||||||
'REMOTE_ADDR', 'HTTP_USER_AGENT', 'HTTP_REFERER', 'SCRIPT_FILENAME', 'QUERY_STRING', 'SERVER_NAME', 'HTTP_HOST', 'HTTP_ACCEPT', 'HTTP_ACCEPT_CHARSET', 'HTTP_ACCEPT_ENCODING'
|
'REMOTE_ADDR', 'HTTP_USER_AGENT', 'HTTP_REFERER', 'SCRIPT_FILENAME', 'QUERY_STRING', 'SERVER_NAME', 'HTTP_HOST', 'HTTP_ACCEPT', 'HTTP_ACCEPT_CHARSET', 'HTTP_ACCEPT_ENCODING'
|
||||||
@@ -1228,7 +1228,7 @@ EOM;
|
|||||||
is_array($_SESSION['UNIT']) &&
|
is_array($_SESSION['UNIT']) &&
|
||||||
!array_key_exists($edit_access_id, $_SESSION['UNIT'])
|
!array_key_exists($edit_access_id, $_SESSION['UNIT'])
|
||||||
) {
|
) {
|
||||||
return $_SESSION['UNIT_DEFAULT'];
|
return (int)$_SESSION['UNIT_DEFAULT'];
|
||||||
} else {
|
} else {
|
||||||
return $edit_access_id;
|
return $edit_access_id;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -82,7 +82,7 @@ class Backend extends \CoreLibs\DB\IO
|
|||||||
|
|
||||||
// set the action ids
|
// set the action ids
|
||||||
foreach ($this->action_list as $_action) {
|
foreach ($this->action_list as $_action) {
|
||||||
$this->$_action = (isset($_POST[$_action])) ? $_POST[$_action] : '';
|
$this->$_action = $_POST[$_action] ?? '';
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->default_acl = DEFAULT_ACL_LEVEL;
|
$this->default_acl = DEFAULT_ACL_LEVEL;
|
||||||
@@ -189,14 +189,14 @@ class Backend extends \CoreLibs\DB\IO
|
|||||||
$q .= "NOW(), ";
|
$q .= "NOW(), ";
|
||||||
$q .= "'".$this->dbEscapeString((string)$event)."', '".$data."', '".$data_binary."', '".$this->dbEscapeString((string)$this->page_name)."', ";
|
$q .= "'".$this->dbEscapeString((string)$event)."', '".$data."', '".$data_binary."', '".$this->dbEscapeString((string)$this->page_name)."', ";
|
||||||
$q .= "'".@$_SERVER["REMOTE_ADDR"]."', '".$this->dbEscapeString(@$_SERVER['HTTP_USER_AGENT'])."', ";
|
$q .= "'".@$_SERVER["REMOTE_ADDR"]."', '".$this->dbEscapeString(@$_SERVER['HTTP_USER_AGENT'])."', ";
|
||||||
$q .= "'".$this->dbEscapeString(isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '')."', ";
|
$q .= "'".$this->dbEscapeString($_SERVER['HTTP_REFERER'] ?? '')."', ";
|
||||||
$q .= "'".$this->dbEscapeString(isset($_SERVER['SCRIPT_FILENAME']) ? $_SERVER['SCRIPT_FILENAME'] : '')."', ";
|
$q .= "'".$this->dbEscapeString($_SERVER['SCRIPT_FILENAME'] ?? '')."', ";
|
||||||
$q .= "'".$this->dbEscapeString(isset($_SERVER['QUERY_STRING']) ? $_SERVER['QUERY_STRING'] : '')."', ";
|
$q .= "'".$this->dbEscapeString($_SERVER['QUERY_STRING'] ?? '')."', ";
|
||||||
$q .= "'".$this->dbEscapeString(isset($_SERVER['SERVER_NAME']) ? $_SERVER['SERVER_NAME'] : '')."', ";
|
$q .= "'".$this->dbEscapeString($_SERVER['SERVER_NAME'] ?? '')."', ";
|
||||||
$q .= "'".$this->dbEscapeString(isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : '')."', ";
|
$q .= "'".$this->dbEscapeString($_SERVER['HTTP_HOST'] ?? '')."', ";
|
||||||
$q .= "'".$this->dbEscapeString(isset($_SERVER['HTTP_ACCEPT']) ? $_SERVER['HTTP_ACCEPT'] : '')."', ";
|
$q .= "'".$this->dbEscapeString($_SERVER['HTTP_ACCEPT'] ?? '')."', ";
|
||||||
$q .= "'".$this->dbEscapeString(isset($_SERVER['HTTP_ACCEPT_CHARSET']) ? $_SERVER['HTTP_ACCEPT_CHARSET'] : '')."', ";
|
$q .= "'".$this->dbEscapeString($_SERVER['HTTP_ACCEPT_CHARSET'] ?? '')."', ";
|
||||||
$q .= "'".$this->dbEscapeString(isset($_SERVER['HTTP_ACCEPT_ENCODING']) ? $_SERVER['HTTP_ACCEPT_ENCODING'] : '')."', ";
|
$q .= "'".$this->dbEscapeString($_SERVER['HTTP_ACCEPT_ENCODING'] ?? '')."', ";
|
||||||
$q .= "'".session_id()."', ";
|
$q .= "'".session_id()."', ";
|
||||||
$q .= "'".$this->dbEscapeString($this->action)."', ";
|
$q .= "'".$this->dbEscapeString($this->action)."', ";
|
||||||
$q .= "'".$this->dbEscapeString($this->action_id)."', ";
|
$q .= "'".$this->dbEscapeString($this->action_id)."', ";
|
||||||
@@ -221,7 +221,7 @@ class Backend extends \CoreLibs\DB\IO
|
|||||||
}
|
}
|
||||||
|
|
||||||
// get the session pages array
|
// get the session pages array
|
||||||
$PAGES = isset($_SESSION['PAGES']) ? $_SESSION['PAGES'] : null;
|
$PAGES = $_SESSION['PAGES'] ?? null;
|
||||||
if (!isset($PAGES) || !is_array($PAGES)) {
|
if (!isset($PAGES) || !is_array($PAGES)) {
|
||||||
$PAGES = array();
|
$PAGES = array();
|
||||||
}
|
}
|
||||||
@@ -256,6 +256,7 @@ class Backend extends \CoreLibs\DB\IO
|
|||||||
$type = 'popup';
|
$type = 'popup';
|
||||||
} else {
|
} else {
|
||||||
$type = 'normal';
|
$type = 'normal';
|
||||||
|
/** @phan-suppress-next-line PhanTypeArraySuspicious */
|
||||||
$data['popup'] = 0;
|
$data['popup'] = 0;
|
||||||
}
|
}
|
||||||
$query_string = '';
|
$query_string = '';
|
||||||
@@ -291,11 +292,11 @@ class Backend extends \CoreLibs\DB\IO
|
|||||||
if (isset($data['hostname']) && $data['hostname']) {
|
if (isset($data['hostname']) && $data['hostname']) {
|
||||||
$url .= $data['hostname'];
|
$url .= $data['hostname'];
|
||||||
}
|
}
|
||||||
$url .= isset($data['filename']) ? $data['filename'] : '';
|
$url .= $data['filename'] ?? '';
|
||||||
if (strlen($query_string)) {
|
if (strlen($query_string)) {
|
||||||
$url .= '?'.$query_string;
|
$url .= '?'.$query_string;
|
||||||
}
|
}
|
||||||
$name = isset($data['page_name']) ? $data['page_name'] : '';
|
$name = $data['page_name'] ?? '';
|
||||||
// if page name matchs -> set selected flag
|
// if page name matchs -> set selected flag
|
||||||
$selected = 0;
|
$selected = 0;
|
||||||
if (isset($data['filename']) &&
|
if (isset($data['filename']) &&
|
||||||
|
|||||||
@@ -686,6 +686,63 @@ class Basic
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* checks if we have a need to work on certain debug output
|
||||||
|
* Needs debug/echo/print ad target for which of the debug flag groups we check
|
||||||
|
* also needs level string to check in the per level output flag check.
|
||||||
|
* In case we have invalid target it will return false
|
||||||
|
* @param string $target target group to check debug/echo/print
|
||||||
|
* @param string $level level to check in detailed level flag
|
||||||
|
* @return bool true on access allowed or false on no access
|
||||||
|
*/
|
||||||
|
private function doDebugTrigger(string $target, string $level): bool
|
||||||
|
{
|
||||||
|
$access = false;
|
||||||
|
// check if we do debug, echo or print
|
||||||
|
switch ($target) {
|
||||||
|
case 'debug':
|
||||||
|
if ((
|
||||||
|
(isset($this->debug_output[$level]) && $this->debug_output[$level]) ||
|
||||||
|
$this->debug_output_all
|
||||||
|
) &&
|
||||||
|
(!isset($this->debug_output_not[$level]) ||
|
||||||
|
(isset($this->debug_output_not[$level]) && !$this->debug_output_not[$level])
|
||||||
|
)
|
||||||
|
) {
|
||||||
|
$access = true;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'echo':
|
||||||
|
if ((
|
||||||
|
(isset($this->echo_output[$level]) && $this->echo_output[$level]) ||
|
||||||
|
$this->echo_output_all
|
||||||
|
) &&
|
||||||
|
(!isset($this->echo_output_not[$level]) ||
|
||||||
|
(isset($this->echo_output_not[$level]) && !$this->echo_output_not[$level])
|
||||||
|
)
|
||||||
|
) {
|
||||||
|
$access = true;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'print':
|
||||||
|
if ((
|
||||||
|
(isset($this->print_output[$level]) && $this->print_output[$level]) ||
|
||||||
|
$this->print_output_all
|
||||||
|
) &&
|
||||||
|
(!isset($this->print_output_not[$level]) ||
|
||||||
|
(isset($this->print_output_not[$level]) && !$this->print_output_not[$level])
|
||||||
|
)
|
||||||
|
) {
|
||||||
|
$access = true;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
// fall through with access false
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return $access;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* write debug data to error_msg array
|
* write debug data to error_msg array
|
||||||
* @param string $level id for error message, groups messages together
|
* @param string $level id for error message, groups messages together
|
||||||
@@ -697,7 +754,7 @@ class Basic
|
|||||||
*/
|
*/
|
||||||
public function debug(string $level, string $string, bool $strip = false): void
|
public function debug(string $level, string $string, bool $strip = false): void
|
||||||
{
|
{
|
||||||
if (($this->debug_output[$level] || $this->debug_output_all) && !$this->debug_output_not[$level]) {
|
if ($this->doDebugTrigger('debug', $level)) {
|
||||||
if (!isset($this->error_msg[$level])) {
|
if (!isset($this->error_msg[$level])) {
|
||||||
$this->error_msg[$level] = '';
|
$this->error_msg[$level] = '';
|
||||||
}
|
}
|
||||||
@@ -721,7 +778,7 @@ class Basic
|
|||||||
// write to file if set
|
// write to file if set
|
||||||
$this->writeErrorMsg($level, $error_string_print);
|
$this->writeErrorMsg($level, $error_string_print);
|
||||||
// write to error level
|
// write to error level
|
||||||
if (($this->echo_output[$level] || $this->echo_output_all) && !$this->echo_output_not[$level]) {
|
if ($this->doDebugTrigger('echo', $level)) {
|
||||||
$this->error_msg[$level] .= $error_string;
|
$this->error_msg[$level] .= $error_string;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -782,9 +839,9 @@ class Basic
|
|||||||
}
|
}
|
||||||
$script_end = microtime(true) - $this->script_starttime;
|
$script_end = microtime(true) - $this->script_starttime;
|
||||||
foreach ($this->error_msg as $level => $temp_debug_output) {
|
foreach ($this->error_msg as $level => $temp_debug_output) {
|
||||||
if (($this->debug_output[$level] || $this->debug_output_all) && !$this->debug_output_not[$level]) {
|
if ($this->doDebugTrigger('debug', $level)) {
|
||||||
if (($this->echo_output[$level] || $this->echo_output_all) && !$this->echo_output_not[$level]) {
|
if ($this->doDebugTrigger('echo', $level)) {
|
||||||
$string_output .= '<div style="font-size: 12px;">[<span style="font-style: italic; color: #c56c00;">'.$level.'</span>] '.(($string) ? "<b>**** ".$this->htmlent($string)." ****</b>\n" : "").'</div>';
|
$string_output .= '<div style="font-size: 12px;">[<span style="font-style: italic; color: #c56c00;">'.$level.'</span>] '.($string ? "<b>**** ".$this->htmlent($string)." ****</b>\n" : "").'</div>';
|
||||||
$string_output .= $temp_debug_output;
|
$string_output .= $temp_debug_output;
|
||||||
} // echo it out
|
} // echo it out
|
||||||
} // do printout
|
} // do printout
|
||||||
@@ -809,9 +866,9 @@ class Basic
|
|||||||
*/
|
*/
|
||||||
private function writeErrorMsg(string $level, string $error_string): void
|
private function writeErrorMsg(string $level, string $error_string): void
|
||||||
{
|
{
|
||||||
if (($this->debug_output[$level] || $this->debug_output_all) && !$this->debug_output_not[$level]) {
|
if ($this->doDebugTrigger('debug', $level)) {
|
||||||
// only write if write is requested
|
// only write if write is requested
|
||||||
if (($this->print_output[$level] || $this->print_output_all) && !$this->print_output_not[$level]) {
|
if ($this->doDebugTrigger('print', $level)) {
|
||||||
// replace all html tags
|
// replace all html tags
|
||||||
// $error_string = preg_replace("/(<\/?)(\w+)([^>]*>)/", "##\\2##", $error_string);
|
// $error_string = preg_replace("/(<\/?)(\w+)([^>]*>)/", "##\\2##", $error_string);
|
||||||
// $error_string = preg_replace("/(<\/?)(\w+)([^>]*>)/", "", $error_string);
|
// $error_string = preg_replace("/(<\/?)(\w+)([^>]*>)/", "", $error_string);
|
||||||
@@ -1030,11 +1087,11 @@ class Basic
|
|||||||
{
|
{
|
||||||
if (is_array($haystack)) {
|
if (is_array($haystack)) {
|
||||||
if (in_array((string)$needle, $haystack)) {
|
if (in_array((string)$needle, $haystack)) {
|
||||||
return (($type) ? "checked" : "selected");
|
return $type ? 'checked' : 'selected';
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if ($haystack == $needle) {
|
if ($haystack == $needle) {
|
||||||
return (($type) ? "checked" : "selected");
|
return $type ? 'checked' : 'selected';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
@@ -1135,7 +1192,7 @@ class Basic
|
|||||||
}
|
}
|
||||||
// if it is a link already just return the original link do not touch anything
|
// if it is a link already just return the original link do not touch anything
|
||||||
if (!$href && !$atag) {
|
if (!$href && !$atag) {
|
||||||
return "##LT##a href=##QUOT##".$_1.$_2.$_3."##QUOT##".(($class) ? ' class=##QUOT##'.$class.'##QUOT##' : '').(($target) ? " target=##QUOT##".$target."##QUOT##" : '')."##GT##".(($name) ? $name : $_2.$_3)."##LT##/a##GT##";
|
return "##LT##a href=##QUOT##".$_1.$_2.$_3."##QUOT##".($class ? ' class=##QUOT##'.$class.'##QUOT##' : '').($target ? " target=##QUOT##".$target."##QUOT##" : '')."##GT##".($name ? $name : $_2.$_3)."##LT##/a##GT##";
|
||||||
} elseif ($href && !$atag) {
|
} elseif ($href && !$atag) {
|
||||||
return "href=##QUOT##$_1$_2$_3##QUOT##";
|
return "href=##QUOT##$_1$_2$_3##QUOT##";
|
||||||
} elseif ($atag) {
|
} elseif ($atag) {
|
||||||
@@ -1160,7 +1217,7 @@ class Basic
|
|||||||
{
|
{
|
||||||
$email = $_1."@".$_2.".".$_3;
|
$email = $_1."@".$_2.".".$_3;
|
||||||
if (!$mailto && !$atag) {
|
if (!$mailto && !$atag) {
|
||||||
return "##LT##a href=##QUOT##mailto:".$email."##QUOT##".(($class) ? ' class=##QUOT##'.$class.'##QUOT##' : '')."##GT##".(($title) ? $title : $email)."##LT##/a##GT##";
|
return "##LT##a href=##QUOT##mailto:".$email."##QUOT##".($class ? ' class=##QUOT##'.$class.'##QUOT##' : '')."##GT##".($title ? $title : $email)."##LT##/a##GT##";
|
||||||
} elseif ($mailto && !$atag) {
|
} elseif ($mailto && !$atag) {
|
||||||
return "mailto:".$email;
|
return "mailto:".$email;
|
||||||
} elseif ($atag) {
|
} elseif ($atag) {
|
||||||
@@ -1198,7 +1255,7 @@ class Basic
|
|||||||
public static function getPageName(int $strip_ext = 0): string
|
public static function getPageName(int $strip_ext = 0): string
|
||||||
{
|
{
|
||||||
// get the file info
|
// get the file info
|
||||||
$page_temp = pathinfo($_SERVER["PHP_SELF"]);
|
$page_temp = pathinfo($_SERVER['PHP_SELF']);
|
||||||
if ($strip_ext == 1) {
|
if ($strip_ext == 1) {
|
||||||
return $page_temp['filename'];
|
return $page_temp['filename'];
|
||||||
} elseif ($strip_ext == 2) {
|
} elseif ($strip_ext == 2) {
|
||||||
@@ -1216,7 +1273,7 @@ class Basic
|
|||||||
public static function getFilenameEnding(string $filename): string
|
public static function getFilenameEnding(string $filename): string
|
||||||
{
|
{
|
||||||
$page_temp = pathinfo($filename);
|
$page_temp = pathinfo($filename);
|
||||||
return isset($page_temp['extension']) ? $page_temp['extension'] : '';
|
return $page_temp['extension'] ?? '';
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1256,7 +1313,12 @@ class Basic
|
|||||||
$path[] = $key;
|
$path[] = $key;
|
||||||
break;
|
break;
|
||||||
} elseif (is_array($val) &&
|
} elseif (is_array($val) &&
|
||||||
$path = Basic::arraySearchRecursive($needle, $val, $key_lookin)
|
$path = Basic::arraySearchRecursive(
|
||||||
|
$needle,
|
||||||
|
(array)$val,
|
||||||
|
// to avoid PhanTypeMismatchArgumentNullable
|
||||||
|
($key_lookin === null ? $key_lookin : (string)$key_lookin)
|
||||||
|
)
|
||||||
) {
|
) {
|
||||||
array_unshift($path, $key);
|
array_unshift($path, $key);
|
||||||
break;
|
break;
|
||||||
@@ -1271,10 +1333,10 @@ class Basic
|
|||||||
* @param string|int $needle needle (search for)
|
* @param string|int $needle needle (search for)
|
||||||
* @param array $haystack haystack (search in)
|
* @param array $haystack haystack (search in)
|
||||||
* @param string|int $key the key to look for in
|
* @param string|int $key the key to look for in
|
||||||
* @param array $path recursive call for previous path
|
* @param array|null $path recursive call for previous path
|
||||||
* @return ?array all array elements paths where the element was found
|
* @return ?array all array elements paths where the element was found
|
||||||
*/
|
*/
|
||||||
public static function arraySearchRecursiveAll($needle, array $haystack, $key, $path = null): ?array
|
public static function arraySearchRecursiveAll($needle, array $haystack, $key, ?array $path = null): ?array
|
||||||
{
|
{
|
||||||
// init if not set on null
|
// init if not set on null
|
||||||
if ($path === null) {
|
if ($path === null) {
|
||||||
@@ -1723,7 +1785,7 @@ class Basic
|
|||||||
$exp ++;
|
$exp ++;
|
||||||
}
|
}
|
||||||
// label name, including leading space if flagged
|
// label name, including leading space if flagged
|
||||||
$pre = ($space ? ' ' : '').(isset($labels[$exp]) ? $labels[$exp] : '>E').($si ? 'i' : '').'B';
|
$pre = ($space ? ' ' : '').($labels[$exp] ?? '>E').($si ? 'i' : '').'B';
|
||||||
$bytes_calc = $abs_bytes / pow($unit, $exp);
|
$bytes_calc = $abs_bytes / pow($unit, $exp);
|
||||||
if ($adjust) {
|
if ($adjust) {
|
||||||
return sprintf("%.2f%sB", $bytes_calc, $pre);
|
return sprintf("%.2f%sB", $bytes_calc, $pre);
|
||||||
@@ -1893,7 +1955,7 @@ class Basic
|
|||||||
if (!$date) {
|
if (!$date) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
list ($year, $month, $day) = preg_split("/[\/-]/", $date);
|
list ($year, $month, $day) = array_pad(preg_split("/[\/-]/", $date), 3, null);
|
||||||
if (!$year || !$month || !$day) {
|
if (!$year || !$month || !$day) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -1951,13 +2013,13 @@ class Basic
|
|||||||
}
|
}
|
||||||
|
|
||||||
// splits the data up with / or -
|
// splits the data up with / or -
|
||||||
list ($start_year, $start_month, $start_day) = preg_split('/[\/-]/', $start_date);
|
list ($start_year, $start_month, $start_day) = array_pad(preg_split('/[\/-]/', $start_date), 3, null);
|
||||||
list ($end_year, $end_month, $end_day) = preg_split('/[\/-]/', $end_date);
|
list ($end_year, $end_month, $end_day) = array_pad(preg_split('/[\/-]/', $end_date), 3, null);
|
||||||
// check that month & day are two digits and then combine
|
// check that month & day are two digits and then combine
|
||||||
foreach (array('start', 'end') as $prefix) {
|
foreach (array('start', 'end') as $prefix) {
|
||||||
foreach (array('month', 'day') as $date_part) {
|
foreach (array('month', 'day') as $date_part) {
|
||||||
$_date = $prefix.'_'.$date_part;
|
$_date = $prefix.'_'.$date_part;
|
||||||
if ($$_date < 10 && !preg_match("/^0/", $$_date)) {
|
if (isset($$_date) && $$_date < 10 && !preg_match("/^0/", $$_date)) {
|
||||||
$$_date = '0'.$$_date;
|
$$_date = '0'.$$_date;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1983,7 +2045,7 @@ class Basic
|
|||||||
* returns int/bool in:
|
* returns int/bool in:
|
||||||
* -1 if the first date is smaller the last
|
* -1 if the first date is smaller the last
|
||||||
* 0 if both are equal
|
* 0 if both are equal
|
||||||
* 1 if the end date is bigger than the last
|
* 1 if the first date is bigger than the last
|
||||||
* false if no valid date/times chould be found
|
* false if no valid date/times chould be found
|
||||||
* @param string $start_datetime start date/time in YYYY-MM-DD HH:mm:ss
|
* @param string $start_datetime start date/time in YYYY-MM-DD HH:mm:ss
|
||||||
* @param string $end_datetime end date/time in YYYY-MM-DD HH:mm:ss
|
* @param string $end_datetime end date/time in YYYY-MM-DD HH:mm:ss
|
||||||
@@ -2648,6 +2710,35 @@ class Basic
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO: make this a proper uniq ID creation
|
||||||
|
* add uuidv4 subcall to the uuid function too
|
||||||
|
* creates a uniq id
|
||||||
|
* @param string $type uniq id type, currently md5 or sha256 allowed
|
||||||
|
* if not set will use DEFAULT_HASH if set
|
||||||
|
* @return string uniq id
|
||||||
|
*/
|
||||||
|
public function uniqId(string $type = ''): string
|
||||||
|
{
|
||||||
|
$uniq_id = '';
|
||||||
|
switch ($type) {
|
||||||
|
case 'md5':
|
||||||
|
$uniq_id = md5(uniqid((string)rand(), true));
|
||||||
|
break;
|
||||||
|
case 'sha256':
|
||||||
|
$uniq_id = hash('sha256', uniqid((string)rand(), true));
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
$hash = 'sha256';
|
||||||
|
if (defined(DEFAULT_HASH)) {
|
||||||
|
$hash = DEFAULT_HASH;
|
||||||
|
}
|
||||||
|
$uniq_id = hash($hash, uniqid((string)rand(), true));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return $uniq_id;
|
||||||
|
}
|
||||||
|
|
||||||
// [!!! DEPRECATED !!!]
|
// [!!! DEPRECATED !!!]
|
||||||
// ALL crypt* methids are DEPRECATED and SHALL NOT BE USED
|
// ALL crypt* methids are DEPRECATED and SHALL NOT BE USED
|
||||||
// use the new password* instead
|
// use the new password* instead
|
||||||
@@ -2909,7 +3000,7 @@ class Basic
|
|||||||
// convert to HEX value
|
// convert to HEX value
|
||||||
$$color = dechex($$color);
|
$$color = dechex($$color);
|
||||||
// prefix with 0 if only one char
|
// prefix with 0 if only one char
|
||||||
$$color = ((strlen($$color) < 2) ? '0' : '').$$color;
|
$$color = (strlen($$color) < 2 ? '0' : '').$$color;
|
||||||
}
|
}
|
||||||
// prefix hex parts with 0 if they are just one char long and return the html color string
|
// prefix hex parts with 0 if they are just one char long and return the html color string
|
||||||
return '#'.$red.$green.$blue;
|
return '#'.$red.$green.$blue;
|
||||||
@@ -3081,7 +3172,7 @@ class Basic
|
|||||||
// S= L <= 0.5 ? C/2L : C/2 - 2L
|
// S= L <= 0.5 ? C/2L : C/2 - 2L
|
||||||
return array(
|
return array(
|
||||||
(int)round($HUE),
|
(int)round($HUE),
|
||||||
(int)round((($MAX - $MIN) / (($L <= 0.5) ? ($MAX + $MIN) : (2 - $MAX - $MIN))) * 100),
|
(int)round((($MAX - $MIN) / ($L <= 0.5 ? ($MAX + $MIN) : (2 - $MAX - $MIN))) * 100),
|
||||||
(int)$L
|
(int)$L
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -3101,11 +3192,11 @@ class Basic
|
|||||||
if ($s == 0) {
|
if ($s == 0) {
|
||||||
return array($l * 255, $l * 255, $l * 255);
|
return array($l * 255, $l * 255, $l * 255);
|
||||||
} else {
|
} else {
|
||||||
$m2 = ($l < 0.5) ? $l * ($s + 1) : ($l + $s) - ($l * $s);
|
$m2 = $l < 0.5 ? $l * ($s + 1) : ($l + $s) - ($l * $s);
|
||||||
$m1 = $l * 2 - $m2;
|
$m1 = $l * 2 - $m2;
|
||||||
$hue = function ($base) use ($m1, $m2) {
|
$hue = function ($base) use ($m1, $m2) {
|
||||||
// base = hue, hue > 360 (1) - 360 (1), else < 0 + 360 (1)
|
// base = hue, hue > 360 (1) - 360 (1), else < 0 + 360 (1)
|
||||||
$base = ($base < 0) ? $base + 1 : (($base > 1) ? $base - 1 : $base);
|
$base = $base < 0 ? $base + 1 : ($base > 1 ? $base - 1 : $base);
|
||||||
// 6: 60, 2: 180, 3: 240
|
// 6: 60, 2: 180, 3: 240
|
||||||
// 2/3 = 240
|
// 2/3 = 240
|
||||||
// 1/3 = 120 (all from 360)
|
// 1/3 = 120 (all from 360)
|
||||||
@@ -3209,13 +3300,13 @@ class Basic
|
|||||||
$max_year = (int)date("Y", $timestamp) + 1;
|
$max_year = (int)date("Y", $timestamp) + 1;
|
||||||
|
|
||||||
// preset year, month, ...
|
// preset year, month, ...
|
||||||
$year = (!$year) ? date("Y", $timestamp) : $year;
|
$year = !$year ? date('Y', $timestamp) : $year;
|
||||||
$month = (!$month) ? date("m", $timestamp) : $month;
|
$month = !$month ? date('m', $timestamp) : $month;
|
||||||
$day = (!$day) ? date("d", $timestamp) : $day;
|
$day = !$day ? date('d', $timestamp) : $day;
|
||||||
$hour = (!$hour) ? date("H", $timestamp) : $hour;
|
$hour = !$hour ? date('H', $timestamp) : $hour;
|
||||||
$min = (!$min) ? date("i", $timestamp) : $min; // add to five min?
|
$min = !$min ? date('i', $timestamp) : $min; // add to five min?
|
||||||
// max days in selected month
|
// max days in selected month
|
||||||
$days_in_month = date("t", strtotime($year."-".$month."-".$day." ".$hour.":".$min.":0"));
|
$days_in_month = date('t', strtotime($year.'-'.$month.'-'.$day.' '.$hour.':'.$min.':0'));
|
||||||
$string = '';
|
$string = '';
|
||||||
// from now to ?
|
// from now to ?
|
||||||
if ($name_pos_back === false) {
|
if ($name_pos_back === false) {
|
||||||
@@ -3223,7 +3314,7 @@ class Basic
|
|||||||
}
|
}
|
||||||
$string .= '<select id="year'.$suffix.'" name="year'.$suffix.'" onChange="'.$on_change_call.'">';
|
$string .= '<select id="year'.$suffix.'" name="year'.$suffix.'" onChange="'.$on_change_call.'">';
|
||||||
for ($i = date("Y"); $i <= $max_year; $i ++) {
|
for ($i = date("Y"); $i <= $max_year; $i ++) {
|
||||||
$string .= '<option value="'.$i.'" '.(($year == $i) ? 'selected' : '').'>'.$i.'</option>';
|
$string .= '<option value="'.$i.'" '.($year == $i ? 'selected' : '').'>'.$i.'</option>';
|
||||||
}
|
}
|
||||||
$string .= '</select> ';
|
$string .= '</select> ';
|
||||||
if ($name_pos_back === true) {
|
if ($name_pos_back === true) {
|
||||||
@@ -3234,7 +3325,7 @@ class Basic
|
|||||||
}
|
}
|
||||||
$string .= '<select id="month'.$suffix.'" name="month'.$suffix.'" onChange="'.$on_change_call.'">';
|
$string .= '<select id="month'.$suffix.'" name="month'.$suffix.'" onChange="'.$on_change_call.'">';
|
||||||
for ($i = 1; $i <= 12; $i ++) {
|
for ($i = 1; $i <= 12; $i ++) {
|
||||||
$string .= '<option value="'.(($i < 10) ? '0'.$i : $i).'" '.(($month == $i) ? 'selected' : '').'>'.$i.'</option>';
|
$string .= '<option value="'.($i < 10 ? '0'.$i : $i).'" '.($month == $i ? 'selected' : '').'>'.$i.'</option>';
|
||||||
}
|
}
|
||||||
$string .= '</select> ';
|
$string .= '</select> ';
|
||||||
if ($name_pos_back === true) {
|
if ($name_pos_back === true) {
|
||||||
@@ -3246,7 +3337,7 @@ class Basic
|
|||||||
$string .= '<select id="day'.$suffix.'" name="day'.$suffix.'" onChange="'.$on_change_call.'">';
|
$string .= '<select id="day'.$suffix.'" name="day'.$suffix.'" onChange="'.$on_change_call.'">';
|
||||||
for ($i = 1; $i <= $days_in_month; $i ++) {
|
for ($i = 1; $i <= $days_in_month; $i ++) {
|
||||||
// set weekday text based on current month ($month) and year ($year)
|
// set weekday text based on current month ($month) and year ($year)
|
||||||
$string .= '<option value="'.(($i < 10) ? '0'.$i : $i).'" '.(($day == $i) ? 'selected' : '').'>'.$i.' ('.date('D', mktime(0, 0, 0, $month, $i, $year)).')</option>';
|
$string .= '<option value="'.($i < 10 ? '0'.$i : $i).'" '.($day == $i ? 'selected' : '').'>'.$i.' ('.date('D', mktime(0, 0, 0, $month, $i, $year)).')</option>';
|
||||||
}
|
}
|
||||||
$string .= '</select> ';
|
$string .= '</select> ';
|
||||||
if ($name_pos_back === true) {
|
if ($name_pos_back === true) {
|
||||||
@@ -3257,7 +3348,7 @@ class Basic
|
|||||||
}
|
}
|
||||||
$string .= '<select id="hour'.$suffix.'" name="hour'.$suffix.'" onChange="'.$on_change_call.'">';
|
$string .= '<select id="hour'.$suffix.'" name="hour'.$suffix.'" onChange="'.$on_change_call.'">';
|
||||||
for ($i = 0; $i <= 23; $i += $min_steps) {
|
for ($i = 0; $i <= 23; $i += $min_steps) {
|
||||||
$string .= '<option value="'.(($i < 10) ? '0'.$i : $i).'" '.(($hour == $i) ? 'selected' : '').'>'.$i.'</option>';
|
$string .= '<option value="'.($i < 10 ? '0'.$i : $i).'" '.($hour == $i ? 'selected' : '').'>'.$i.'</option>';
|
||||||
}
|
}
|
||||||
$string .= '</select> ';
|
$string .= '</select> ';
|
||||||
if ($name_pos_back === true) {
|
if ($name_pos_back === true) {
|
||||||
@@ -3268,7 +3359,7 @@ class Basic
|
|||||||
}
|
}
|
||||||
$string .= '<select id="min'.$suffix.'" name="min'.$suffix.'" onChange="'.$on_change_call.'">';
|
$string .= '<select id="min'.$suffix.'" name="min'.$suffix.'" onChange="'.$on_change_call.'">';
|
||||||
for ($i = 0; $i <= 59; $i ++) {
|
for ($i = 0; $i <= 59; $i ++) {
|
||||||
$string .= '<option value="'.(( $i < 10) ? '0'.$i : $i).'" '.(($min == $i) ? 'selected' : '').'>'.$i.'</option>';
|
$string .= '<option value="'.($i < 10 ? '0'.$i : $i).'" '.($min == $i ? 'selected' : '').'>'.$i.'</option>';
|
||||||
}
|
}
|
||||||
$string .= '</select>';
|
$string .= '</select>';
|
||||||
if ($name_pos_back === true) {
|
if ($name_pos_back === true) {
|
||||||
|
|||||||
@@ -994,7 +994,7 @@ class IO extends \CoreLibs\Basic
|
|||||||
$string .= 'at host <b>\''.$this->db_host.'\'</b> ';
|
$string .= 'at host <b>\''.$this->db_host.'\'</b> ';
|
||||||
$string .= 'on port <b>\''.$this->db_port.'\'</b> ';
|
$string .= 'on port <b>\''.$this->db_port.'\'</b> ';
|
||||||
$string .= 'with ssl mode <b>\''.$this->db_ssl.'\'</b><br>';
|
$string .= 'with ssl mode <b>\''.$this->db_ssl.'\'</b><br>';
|
||||||
$string .= '<b>-DB-info-></b> DB IO Class debug output: <b>'.(($this->db_debug) ? 'Yes' : 'No').'</b>';
|
$string .= '<b>-DB-info-></b> DB IO Class debug output: <b>'.($this->db_debug ? 'Yes' : 'No').'</b>';
|
||||||
if ($show === true) {
|
if ($show === true) {
|
||||||
$this->__dbDebug('db', $string, 'dbInfo');
|
$this->__dbDebug('db', $string, 'dbInfo');
|
||||||
} else {
|
} else {
|
||||||
@@ -1407,7 +1407,7 @@ class IO extends \CoreLibs\Basic
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
$md5 = md5($query);
|
$md5 = md5($query);
|
||||||
return $this->cursor_ext[$md5]['pos'];
|
return (int)$this->cursor_ext[$md5]['pos'];
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1423,7 +1423,7 @@ class IO extends \CoreLibs\Basic
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
$md5 = md5($query);
|
$md5 = md5($query);
|
||||||
return $this->cursor_ext[$md5]['num_rows'];
|
return (int)$this->cursor_ext[$md5]['num_rows'];
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1868,7 +1868,7 @@ class IO extends \CoreLibs\Basic
|
|||||||
}
|
}
|
||||||
// write data into sql string
|
// write data into sql string
|
||||||
if (strstr($table_data[$field]['type'], 'int')) {
|
if (strstr($table_data[$field]['type'], 'int')) {
|
||||||
$q_sub_data .= (is_numeric($_data)) ? $_data : 'NULL';
|
$q_sub_data .= is_numeric($_data) ? $_data : 'NULL';
|
||||||
} else {
|
} else {
|
||||||
// if bool -> set bool, else write data
|
// if bool -> set bool, else write data
|
||||||
$q_sub_data .= isset($_data) ? "'".($is_bool ? $this->dbBoolean($_data, true) : $this->dbEscapeString($_data))."'" : 'NULL';
|
$q_sub_data .= isset($_data) ? "'".($is_bool ? $this->dbBoolean($_data, true) : $this->dbEscapeString($_data))."'" : 'NULL';
|
||||||
@@ -1898,7 +1898,7 @@ class IO extends \CoreLibs\Basic
|
|||||||
$primary_key['value'] = $this->insert_id;
|
$primary_key['value'] = $this->insert_id;
|
||||||
}
|
}
|
||||||
// if there is not priamry key value field return false
|
// if there is not priamry key value field return false
|
||||||
return isset($primary_key['value']) ? $primary_key['value'] : false;
|
return $primary_key['value'] ?? false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1951,19 +1951,19 @@ class IO extends \CoreLibs\Basic
|
|||||||
{
|
{
|
||||||
switch ($kbn) {
|
switch ($kbn) {
|
||||||
case 'i':
|
case 'i':
|
||||||
$value = ($value === '') ? "NULL" : intval($value);
|
$value = $value === '' ? "NULL" : intval($value);
|
||||||
break;
|
break;
|
||||||
case 'f':
|
case 'f':
|
||||||
$value = ($value === '') ? "NULL" : floatval($value);
|
$value = $value === '' ? "NULL" : floatval($value);
|
||||||
break;
|
break;
|
||||||
case 't':
|
case 't':
|
||||||
$value = ($value === '') ? "NULL" : "'".$this->dbEscapeString($value)."'";
|
$value = $value === '' ? "NULL" : "'".$this->dbEscapeString($value)."'";
|
||||||
break;
|
break;
|
||||||
case 'd':
|
case 'd':
|
||||||
$value = ($value === '') ? "NULL" : "'".$this->dbEscapeString($value)."'";
|
$value = $value === '' ? "NULL" : "'".$this->dbEscapeString($value)."'";
|
||||||
break;
|
break;
|
||||||
case 'i2':
|
case 'i2':
|
||||||
$value = ($value === '') ? 0 : intval($value);
|
$value = $value === '' ? 0 : intval($value);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return $value;
|
return $value;
|
||||||
|
|||||||
@@ -260,7 +260,7 @@ class PgSQL
|
|||||||
// set pk_name to "id"
|
// set pk_name to "id"
|
||||||
$pk_name = $table."_id";
|
$pk_name = $table."_id";
|
||||||
}
|
}
|
||||||
$seq = (($schema) ? $schema.'.' : '').$table."_".$pk_name."_seq";
|
$seq = ($schema ? $schema.'.' : '').$table."_".$pk_name."_seq";
|
||||||
$q = "SELECT CURRVAL('$seq') AS insert_id";
|
$q = "SELECT CURRVAL('$seq') AS insert_id";
|
||||||
// I have to do manually or I overwrite the original insert internal vars ...
|
// I have to do manually or I overwrite the original insert internal vars ...
|
||||||
if ($q = $this->__dbQuery($q)) {
|
if ($q = $this->__dbQuery($q)) {
|
||||||
|
|||||||
@@ -316,16 +316,16 @@ class Generate extends \CoreLibs\DB\Extended\ArrayIO
|
|||||||
$this->table_width = $table_width;
|
$this->table_width = $table_width;
|
||||||
|
|
||||||
// set button vars
|
// set button vars
|
||||||
$this->archive = isset($_POST['archive']) ? $_POST['archive'] : '';
|
$this->archive = $_POST['archive'] ?? '';
|
||||||
$this->new = isset($_POST['new']) ? $_POST['new'] : '';
|
$this->new = $_POST['new'] ?? '';
|
||||||
$this->really_new = isset($_POST['really_new']) ? $_POST['really_new'] : '';
|
$this->really_new = $_POST['really_new'] ?? '';
|
||||||
$this->delete = isset($_POST['delete']) ? $_POST['delete'] : '';
|
$this->delete = $_POST['delete'] ?? '';
|
||||||
$this->really_delete = isset($_POST['really_delete']) ? $_POST['really_delete'] : '';
|
$this->really_delete = $_POST['really_delete'] ?? '';
|
||||||
$this->save = isset($_POST['save']) ? $_POST['save'] : '';
|
$this->save = $_POST['save'] ?? '';
|
||||||
$this->remove_button = isset($_POST['remove_button']) ? $_POST['remove_button'] : '';
|
$this->remove_button = $_POST['remove_button'] ?? '';
|
||||||
|
|
||||||
// security settings
|
// security settings
|
||||||
$this->base_acl_level = isset($_SESSION['BASE_ACL_LEVEL']) ? $_SESSION['BASE_ACL_LEVEL'] : 0;
|
$this->base_acl_level = $_SESSION['BASE_ACL_LEVEL'] ?? 0;
|
||||||
// security levels for buttons/actions
|
// security levels for buttons/actions
|
||||||
// if array does not exists create basic
|
// if array does not exists create basic
|
||||||
if (!isset($config_array['security_level']) ||
|
if (!isset($config_array['security_level']) ||
|
||||||
@@ -689,7 +689,9 @@ class Generate extends \CoreLibs\DB\Extended\ArrayIO
|
|||||||
$t_string .= $field_array['before_value'];
|
$t_string .= $field_array['before_value'];
|
||||||
}
|
}
|
||||||
// must have res element set
|
// must have res element set
|
||||||
if (isset($res[$field_array['name']])) {
|
if (isset($field_array['name']) &&
|
||||||
|
isset($res[$field_array['name']])
|
||||||
|
) {
|
||||||
if (isset($field_array['binary'])) {
|
if (isset($field_array['binary'])) {
|
||||||
if (isset($field_array['binary'][0])) {
|
if (isset($field_array['binary'][0])) {
|
||||||
$t_string .= $field_array['binary'][0];
|
$t_string .= $field_array['binary'][0];
|
||||||
@@ -850,16 +852,16 @@ class Generate extends \CoreLibs\DB\Extended\ArrayIO
|
|||||||
// normal text element
|
// normal text element
|
||||||
if ($this->table_array[$element_name]['type'] == 'text') {
|
if ($this->table_array[$element_name]['type'] == 'text') {
|
||||||
$data['name'] = $element_name;
|
$data['name'] = $element_name;
|
||||||
$data['value'] = isset($this->table_array[$element_name]['value']) ? $this->table_array[$element_name]['value'] : '';
|
$data['value'] = $this->table_array[$element_name]['value'] ?? '';
|
||||||
$data['size'] = isset($this->table_array[$element_name]['size']) ? $this->table_array[$element_name]['size'] : '';
|
$data['size'] = $this->table_array[$element_name]['size'] ?? '';
|
||||||
$data['length'] = isset($this->table_array[$element_name]['length']) ? $this->table_array[$element_name]['length'] : '';
|
$data['length'] = $this->table_array[$element_name]['length'] ?? '';
|
||||||
}
|
}
|
||||||
// password element, does not write back the value
|
// password element, does not write back the value
|
||||||
if ($this->table_array[$element_name]['type'] == 'password') {
|
if ($this->table_array[$element_name]['type'] == 'password') {
|
||||||
$data['name'] = $element_name;
|
$data['name'] = $element_name;
|
||||||
$data['HIDDEN_value'] = $this->table_array[$element_name]['HIDDEN_value'];
|
$data['HIDDEN_value'] = $this->table_array[$element_name]['HIDDEN_value'];
|
||||||
$data['size'] = isset($this->table_array[$element_name]['size']) ? $this->table_array[$element_name]['size'] : '';
|
$data['size'] = $this->table_array[$element_name]['size'] ?? '';
|
||||||
$data['length'] = isset($this->table_array[$element_name]['length']) ? $this->table_array[$element_name]['length'] : '';
|
$data['length'] = $this->table_array[$element_name]['length'] ?? '';
|
||||||
}
|
}
|
||||||
// date (YYYY-MM-DD)
|
// date (YYYY-MM-DD)
|
||||||
if ($this->table_array[$element_name]['type'] == 'date') {
|
if ($this->table_array[$element_name]['type'] == 'date') {
|
||||||
@@ -872,9 +874,9 @@ class Generate extends \CoreLibs\DB\Extended\ArrayIO
|
|||||||
// textarea
|
// textarea
|
||||||
if ($this->table_array[$element_name]['type'] == 'textarea') {
|
if ($this->table_array[$element_name]['type'] == 'textarea') {
|
||||||
$data['name'] = $element_name;
|
$data['name'] = $element_name;
|
||||||
$data['value'] = isset($this->table_array[$element_name]['value']) ? $this->table_array[$element_name]['value'] : '';
|
$data['value'] = $this->table_array[$element_name]['value'] ?? '';
|
||||||
$data['rows'] = isset($this->table_array[$element_name]['rows']) ? $this->table_array[$element_name]['rows'] : '';
|
$data['rows'] = $this->table_array[$element_name]['rows'] ?? '';
|
||||||
$data['cols'] = isset($this->table_array[$element_name]['cols']) ? $this->table_array[$element_name]['cols'] : '';
|
$data['cols'] = $this->table_array[$element_name]['cols'] ?? '';
|
||||||
}
|
}
|
||||||
// for drop_down_*
|
// for drop_down_*
|
||||||
if (preg_match("/^drop_down_/", $this->table_array[$element_name]['type'])) {
|
if (preg_match("/^drop_down_/", $this->table_array[$element_name]['type'])) {
|
||||||
@@ -980,7 +982,7 @@ class Generate extends \CoreLibs\DB\Extended\ArrayIO
|
|||||||
if ($this->table_array[$element_name]['type'] == 'order') {
|
if ($this->table_array[$element_name]['type'] == 'order') {
|
||||||
$data['output_name'] = $this->table_array[$element_name]['output_name'];
|
$data['output_name'] = $this->table_array[$element_name]['output_name'];
|
||||||
$data['name'] = $element_name;
|
$data['name'] = $element_name;
|
||||||
$data['value'] = isset($this->table_array[$element_name]['value']) ? $this->table_array[$element_name]['value'] : 0;
|
$data['value'] = $this->table_array[$element_name]['value'] ?? 0;
|
||||||
$data['col_name'] = $this->col_name;
|
$data['col_name'] = $this->col_name;
|
||||||
$data['table_name'] = $this->table_name;
|
$data['table_name'] = $this->table_name;
|
||||||
$data['query'] = $query !== null ? urlencode($query) : '';
|
$data['query'] = $query !== null ? urlencode($query) : '';
|
||||||
@@ -1183,7 +1185,7 @@ class Generate extends \CoreLibs\DB\Extended\ArrayIO
|
|||||||
// get the leasy of keys from the elements array
|
// get the leasy of keys from the elements array
|
||||||
$keys = array_keys($reference_array['elements']);
|
$keys = array_keys($reference_array['elements']);
|
||||||
// prefix
|
// prefix
|
||||||
$prfx = ($reference_array['prefix']) ? $reference_array['prefix'].'_' : '';
|
$prfx = $reference_array['prefix'] ? $reference_array['prefix'].'_' : '';
|
||||||
// get max elements
|
// get max elements
|
||||||
$max = 0;
|
$max = 0;
|
||||||
foreach ($keys as $key) {
|
foreach ($keys as $key) {
|
||||||
@@ -1545,7 +1547,7 @@ class Generate extends \CoreLibs\DB\Extended\ArrayIO
|
|||||||
// get the number of keys from the elements array
|
// get the number of keys from the elements array
|
||||||
$keys = array_keys($reference_array['elements']);
|
$keys = array_keys($reference_array['elements']);
|
||||||
// element prefix name
|
// element prefix name
|
||||||
$prfx = ($reference_array['prefix']) ? $reference_array['prefix'].'_' : '';
|
$prfx = $reference_array['prefix'] ? $reference_array['prefix'].'_' : '';
|
||||||
// get max elements
|
// get max elements
|
||||||
$max = 0;
|
$max = 0;
|
||||||
foreach ($keys as $key) {
|
foreach ($keys as $key) {
|
||||||
@@ -1650,7 +1652,7 @@ class Generate extends \CoreLibs\DB\Extended\ArrayIO
|
|||||||
$_value = 'NULL';
|
$_value = 'NULL';
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$_value = isset($_POST[$prfx.$el_name][$i]) ? $_POST[$prfx.$el_name][$i] : '';
|
$_value = $_POST[$prfx.$el_name][$i] ?? '';
|
||||||
}
|
}
|
||||||
// pre write data set. if int value, unset flagged need to be set null or 0 depending on settings
|
// pre write data set. if int value, unset flagged need to be set null or 0 depending on settings
|
||||||
if (isset($data_array['int']) || isset($data_array['int_null'])) {
|
if (isset($data_array['int']) || isset($data_array['int_null'])) {
|
||||||
@@ -1683,15 +1685,15 @@ class Generate extends \CoreLibs\DB\Extended\ArrayIO
|
|||||||
// if tpye is update
|
// if tpye is update
|
||||||
if (isset($type[$i]) && $type[$i] == 'update') {
|
if (isset($type[$i]) && $type[$i] == 'update') {
|
||||||
$q = $q_begin[$i].
|
$q = $q_begin[$i].
|
||||||
(isset($q_data[$i]) ? $q_data[$i] : '').
|
($q_data[$i] ?? '').
|
||||||
$q_end[$i];
|
$q_end[$i];
|
||||||
// or if we have block write, then it is insert (new)
|
// or if we have block write, then it is insert (new)
|
||||||
} elseif (isset($block_write[$i]) && $block_write[$i]) {
|
} elseif (isset($block_write[$i]) && $block_write[$i]) {
|
||||||
$q = $q_begin[$i].
|
$q = $q_begin[$i].
|
||||||
(isset($q_names[$i]) ? $q_names[$i] : '').', '.
|
($q_names[$i] ?? '').', '.
|
||||||
$this->int_pk_name.
|
$this->int_pk_name.
|
||||||
(isset($q_middle[$i]) ? $q_middle[$i] : '').
|
($q_middle[$i] ?? '').
|
||||||
(isset($q_values[$i]) ? $q_values[$i] : '').', '.
|
($q_values[$i] ?? '').', '.
|
||||||
$this->table_array[$this->int_pk_name]['value'].
|
$this->table_array[$this->int_pk_name]['value'].
|
||||||
$q_end[$i];
|
$q_end[$i];
|
||||||
}
|
}
|
||||||
@@ -1770,7 +1772,7 @@ class Generate extends \CoreLibs\DB\Extended\ArrayIO
|
|||||||
$this->table_array[$key]['type'] == 'hidden'
|
$this->table_array[$key]['type'] == 'hidden'
|
||||||
) {
|
) {
|
||||||
if (array_key_exists($key, $this->table_array)) {
|
if (array_key_exists($key, $this->table_array)) {
|
||||||
$hidden_array[$key] = isset($this->table_array[$key]['value']) ? $this->table_array[$key]['value'] : '';
|
$hidden_array[$key] = $this->table_array[$key]['value'] ?? '';
|
||||||
} else {
|
} else {
|
||||||
$hidden_array[$key] = '';
|
$hidden_array[$key] = '';
|
||||||
}
|
}
|
||||||
@@ -1805,7 +1807,7 @@ class Generate extends \CoreLibs\DB\Extended\ArrayIO
|
|||||||
$data['value'][] = $res[0];
|
$data['value'][] = $res[0];
|
||||||
$data['output'][] = $res[1];
|
$data['output'][] = $res[1];
|
||||||
$data['selected'][] = ($this->checked(
|
$data['selected'][] = ($this->checked(
|
||||||
isset($this->reference_array[$table_name]['selected']) ? $this->reference_array[$table_name]['selected'] : '',
|
$this->reference_array[$table_name]['selected'] ?? '',
|
||||||
$res[0]
|
$res[0]
|
||||||
)) ? $res[0] : '';
|
)) ? $res[0] : '';
|
||||||
}
|
}
|
||||||
@@ -1880,9 +1882,9 @@ class Generate extends \CoreLibs\DB\Extended\ArrayIO
|
|||||||
// prefix the name for any further data parts
|
// prefix the name for any further data parts
|
||||||
$el_name = $data['prefix'].$el_name;
|
$el_name = $data['prefix'].$el_name;
|
||||||
// this are the output names (if given)
|
// this are the output names (if given)
|
||||||
$data['output_name'][$el_name] = isset($data_array['output_name']) ? $data_array['output_name'] : '';
|
$data['output_name'][$el_name] = $data_array['output_name'] ?? '';
|
||||||
// this is the type of the field
|
// this is the type of the field
|
||||||
$data['type'][$el_name] = isset($data_array['type']) ? $data_array['type'] : '';
|
$data['type'][$el_name] = $data_array['type'] ?? '';
|
||||||
// set the primary key name
|
// set the primary key name
|
||||||
if (isset($data_array['pk_id'])) {
|
if (isset($data_array['pk_id'])) {
|
||||||
$data['pk_name'] = $el_name;
|
$data['pk_name'] = $el_name;
|
||||||
@@ -1896,7 +1898,7 @@ class Generate extends \CoreLibs\DB\Extended\ArrayIO
|
|||||||
$md_q = md5($data_array['query']);
|
$md_q = md5($data_array['query']);
|
||||||
while ($res = $this->dbReturn($data_array['query'])) {
|
while ($res = $this->dbReturn($data_array['query'])) {
|
||||||
/** @phan-suppress-next-line PhanTypeInvalidDimOffset */
|
/** @phan-suppress-next-line PhanTypeInvalidDimOffset */
|
||||||
$this->debug('edit', 'Q['.$md_q.'] pos: '.$this->cursor_ext[$md_q]['pos'].' | want: '.(isset($data_array['preset']) ? $data_array['preset'] : '-').' | set: '.(isset($data['preset'][$el_name]) ? $data['preset'][$el_name] : '-'));
|
$this->debug('edit', 'Q['.$md_q.'] pos: '.$this->cursor_ext[$md_q]['pos'].' | want: '.($data_array['preset'] ?? '-').' | set: '.($data['preset'][$el_name] ?? '-'));
|
||||||
// first is default for this element
|
// first is default for this element
|
||||||
if (isset($data_array['preset']) &&
|
if (isset($data_array['preset']) &&
|
||||||
(!isset($data['preset'][$el_name]) || empty($data['preset'][$el_name])) &&
|
(!isset($data['preset'][$el_name]) || empty($data['preset'][$el_name])) &&
|
||||||
@@ -1918,7 +1920,7 @@ class Generate extends \CoreLibs\DB\Extended\ArrayIO
|
|||||||
if ($this->error) {
|
if ($this->error) {
|
||||||
if (isset($_POST[$el_name]) && is_array($_POST[$el_name])) {
|
if (isset($_POST[$el_name]) && is_array($_POST[$el_name])) {
|
||||||
// this is for the new line
|
// this is for the new line
|
||||||
$proto[$el_name] = isset($_POST[$el_name][(count($_POST[$el_name]) - 1)]) ? $_POST[$el_name][(count($_POST[$el_name]) - 1)] : 0;
|
$proto[$el_name] = $_POST[$el_name][(count($_POST[$el_name]) - 1)] ?? 0;
|
||||||
} else {
|
} else {
|
||||||
$proto[$el_name] = 0;
|
$proto[$el_name] = 0;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -78,6 +78,9 @@ class ProgressBar
|
|||||||
)
|
)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// output strings
|
||||||
|
public $prefix_message = '';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* progress bar constructor
|
* progress bar constructor
|
||||||
* @param integer $width progress bar width, default 0
|
* @param integer $width progress bar width, default 0
|
||||||
|
|||||||
@@ -345,7 +345,7 @@ class SmartyExtend extends SmartyBC
|
|||||||
// special for admin
|
// special for admin
|
||||||
if ($admin_call === true) {
|
if ($admin_call === true) {
|
||||||
// set ACL extra show
|
// set ACL extra show
|
||||||
$this->DATA['show_ea_extra'] = isset($cms->acl['show_ea_extra']) ? $cms->acl['show_ea_extra'] : false;
|
$this->DATA['show_ea_extra'] = $cms->acl['show_ea_extra'] ?? false;
|
||||||
$this->DATA['ADMIN'] = !empty($cms->acl['admin']) ? $cms->acl['admin'] : 0;
|
$this->DATA['ADMIN'] = !empty($cms->acl['admin']) ? $cms->acl['admin'] : 0;
|
||||||
// set style sheets
|
// set style sheets
|
||||||
$this->HEADER['STYLESHEET'] = $this->ADMIN_STYLESHEET ? $this->ADMIN_STYLESHEET : ADMIN_STYLESHEET;
|
$this->HEADER['STYLESHEET'] = $this->ADMIN_STYLESHEET ? $this->ADMIN_STYLESHEET : ADMIN_STYLESHEET;
|
||||||
@@ -354,10 +354,10 @@ class SmartyExtend extends SmartyBC
|
|||||||
$this->DATA['nav_menu'] = $cms->adbTopMenu();
|
$this->DATA['nav_menu'] = $cms->adbTopMenu();
|
||||||
$this->DATA['nav_menu_count'] = is_array($this->DATA['nav_menu']) ? count($this->DATA['nav_menu']) : 0;
|
$this->DATA['nav_menu_count'] = is_array($this->DATA['nav_menu']) ? count($this->DATA['nav_menu']) : 0;
|
||||||
// messages = array('msg' =>, 'class' => 'error/warning/...')
|
// messages = array('msg' =>, 'class' => 'error/warning/...')
|
||||||
$this->DATA['messages'] = isset($cms->messages) ? $cms->messages : $cms->messages;
|
$this->DATA['messages'] = $cms->messages ?? array();
|
||||||
// the page name
|
// the page name
|
||||||
$this->DATA['page_name'] = $this->page_name;
|
$this->DATA['page_name'] = $this->page_name;
|
||||||
$this->DATA['table_width'] = isset($this->PAGE_WIDTH) ? $this->PAGE_WIDTH : PAGE_WIDTH;
|
$this->DATA['table_width'] = $this->PAGE_WIDTH ?? PAGE_WIDTH;
|
||||||
// for tinymce special
|
// for tinymce special
|
||||||
$this->DATA['TINYMCE_LANG'] = $this->lang_short;
|
$this->DATA['TINYMCE_LANG'] = $this->lang_short;
|
||||||
// include flags
|
// include flags
|
||||||
@@ -390,7 +390,7 @@ class SmartyExtend extends SmartyBC
|
|||||||
// the template part to include into the body
|
// the template part to include into the body
|
||||||
$this->DATA['TEMPLATE_NAME'] = $this->TEMPLATE_NAME;
|
$this->DATA['TEMPLATE_NAME'] = $this->TEMPLATE_NAME;
|
||||||
$this->DATA['CONTENT_INCLUDE'] = $this->CONTENT_INCLUDE;
|
$this->DATA['CONTENT_INCLUDE'] = $this->CONTENT_INCLUDE;
|
||||||
$this->DATA['TEMPLATE_TRANSLATE'] = isset($this->TEMPLATE_TRANSLATE) ? $this->TEMPLATE_TRANSLATE : null;
|
$this->DATA['TEMPLATE_TRANSLATE'] = $this->TEMPLATE_TRANSLATE ?? null;
|
||||||
$this->DATA['PAGE_FILE_NAME'] = str_replace('.php', '', $this->page_name).'.tpl';
|
$this->DATA['PAGE_FILE_NAME'] = str_replace('.php', '', $this->page_name).'.tpl';
|
||||||
// render page
|
// render page
|
||||||
$this->renderSmarty();
|
$this->renderSmarty();
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
namespace FileUpload;
|
namespace FileUpload;
|
||||||
|
|
||||||
use \FileUpload\Core;
|
// use \FileUpload\Core;
|
||||||
|
|
||||||
class qqFileUploader
|
class qqFileUploader
|
||||||
{
|
{
|
||||||
@@ -84,7 +84,7 @@ class qqFileUploader
|
|||||||
$pathinfo = pathinfo($this->file->getName());
|
$pathinfo = pathinfo($this->file->getName());
|
||||||
$filename = $pathinfo['filename'];
|
$filename = $pathinfo['filename'];
|
||||||
//$filename = md5(uniqid());
|
//$filename = md5(uniqid());
|
||||||
$ext = $pathinfo['extension'];
|
$ext = $pathinfo['extension'] ?? '';
|
||||||
|
|
||||||
if ($this->allowedExtensions && !in_array(strtolower($ext), $this->allowedExtensions)) {
|
if ($this->allowedExtensions && !in_array(strtolower($ext), $this->allowedExtensions)) {
|
||||||
$these = implode(', ', $this->allowedExtensions);
|
$these = implode(', ', $this->allowedExtensions);
|
||||||
|
|||||||
Reference in New Issue
Block a user