-- phpMyAdmin SQL Dump -- version 5.2.2 -- https://www.phpmyadmin.net/ -- -- Host: 127.0.0.1:3306 -- Generation Time: Sep 22, 2025 at 04:16 PM -- Server version: 8.2.0 -- PHP Version: 8.3.4 SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; START TRANSACTION; SET time_zone = "+00:00"; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8mb4 */; -- -- Database: `nubuilder` -- -- -------------------------------------------------------- -- -- Table structure for table `zzzzsys_access` -- CREATE TABLE `zzzzsys_access` ( `zzzzsys_access_id` varchar(25) NOT NULL DEFAULT '', `sal_code` varchar(50) DEFAULT NULL, `sal_description` varchar(200) DEFAULT NULL, `sal_group` varchar(80) DEFAULT NULL, `sal_zzzzsys_form_id` varchar(25) DEFAULT NULL, `sal_use_2fa` varchar(1) DEFAULT NULL, `sal_json` mediumtext ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3; -- -------------------------------------------------------- -- -- Table structure for table `zzzzsys_access_form` -- CREATE TABLE `zzzzsys_access_form` ( `zzzzsys_access_form_id` varchar(25) NOT NULL DEFAULT '', `slf_zzzzsys_access_id` varchar(25) DEFAULT NULL, `slf_zzzzsys_form_id` varchar(25) DEFAULT NULL, `slf_add_button` varchar(1) DEFAULT NULL, `slf_save_button` varchar(1) DEFAULT NULL, `slf_delete_button` varchar(1) DEFAULT NULL, `slf_clone_button` varchar(1) DEFAULT NULL, `slf_new_button` varchar(1) DEFAULT NULL, `slf_print_button` varchar(1) DEFAULT NULL, `slf_data_mode` varchar(2) DEFAULT NULL, `slf_form_type` varchar(2) DEFAULT NULL, `slf_json` mediumtext ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3; -- -------------------------------------------------------- -- -- Table structure for table `zzzzsys_access_php` -- CREATE TABLE `zzzzsys_access_php` ( `zzzzsys_access_php_id` varchar(25) NOT NULL, `slp_zzzzsys_access_id` varchar(25) DEFAULT NULL, `slp_zzzzsys_php_id` varchar(25) DEFAULT NULL, `slp_json` mediumtext ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3; -- -------------------------------------------------------- -- -- Table structure for table `zzzzsys_access_report` -- CREATE TABLE `zzzzsys_access_report` ( `zzzzsys_access_report_id` varchar(25) NOT NULL, `sre_zzzzsys_access_id` varchar(25) DEFAULT NULL, `sre_zzzzsys_report_id` varchar(25) DEFAULT NULL, `srp_json` mediumtext ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3; -- -------------------------------------------------------- -- -- Table structure for table `zzzzsys_app_cloner` -- CREATE TABLE `zzzzsys_app_cloner` ( `zzzzsys_app_cloner_id` varchar(25) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL, `cla_code` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL, `cla_description` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL, `cla_log_file` varchar(150) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL, `cla_copy_files` varchar(1) COLLATE utf8mb3_unicode_ci DEFAULT NULL, `cla_copy_files_mode` varchar(10) COLLATE utf8mb3_unicode_ci DEFAULT NULL, `cla_source_path` varchar(400) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL, `cla_target_host` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL, `cla_target_db` varchar(40) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL, `cla_target_username` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL, `cla_target_password` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL, `cla_target_port` smallint DEFAULT NULL, `cla_target_db_collation` varchar(30) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL, `cla_target_charset` varchar(20) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL, `cla_target_path` varchar(400) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL, `cla_excluded_dirs` varchar(2000) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL, `cla_excluded_files` varchar(2000) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL, `cla_insert_type` varchar(15) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL, `cla_target_db_mode` varchar(10) COLLATE utf8mb3_unicode_ci DEFAULT NULL, `cla_dry_run` varchar(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL, `cla_opt_1` varchar(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL, `cla_opt_2` varchar(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL, `cla_opt_2_include` mediumtext COLLATE utf8mb3_unicode_ci, `cla_opt_3` varchar(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL, `cla_opt_4` varchar(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL, `cla_opt_5` varchar(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL, `cla_opt_6` varchar(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL, `cla_opt_7` varchar(1) COLLATE utf8mb3_unicode_ci DEFAULT NULL, `cla_opt_8` varchar(1) COLLATE utf8mb3_unicode_ci DEFAULT NULL, `cla_opt_9` varchar(1) COLLATE utf8mb3_unicode_ci DEFAULT NULL, `cla_show_progress` varchar(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL, `cla_transaction_mode` varchar(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci; -- -------------------------------------------------------- -- -- Table structure for table `zzzzsys_browse` -- CREATE TABLE `zzzzsys_browse` ( `zzzzsys_browse_id` varchar(25) NOT NULL DEFAULT '', `sbr_zzzzsys_form_id` varchar(25) DEFAULT NULL, `sbr_title` varchar(100) DEFAULT NULL, `sbr_display` varchar(512) DEFAULT NULL, `sbr_align` char(1) DEFAULT NULL, `sbr_format` varchar(300) DEFAULT NULL, `sbr_order` int DEFAULT NULL, `sbr_width` int DEFAULT NULL, `sbr_json` mediumtext ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3; -- -- Dumping data for table `zzzzsys_browse` -- INSERT INTO `zzzzsys_browse` (`zzzzsys_browse_id`, `sbr_zzzzsys_form_id`, `sbr_title`, `sbr_display`, `sbr_align`, `sbr_format`, `sbr_order`, `sbr_width`, `sbr_json`) VALUES ('nu5bad6cb3746cc1b', 'nuuser', 'Language', 'sus_language', 'l', '', 50, 130, NULL), ('nu5bad6cb3747d41c', 'nuuser', 'Username', 'sus_login_name', 'l', '', 20, 145, NULL), ('nu5bad6cb37487772', 'nulaunchform', 'Type', 'sfo_type', 'l', '', 10, 100, NULL), ('nu5bad6cb3749102a', 'nulaunchform', 'Code', 'sfo_code', 'l', '', 20, 150, NULL), ('nu5bad6cb3749a37d', 'nulaunchform', 'Description', 'sfo_description', 'l', '', 30, 250, NULL), ('nu5bad6cb374a3c61', 'nutablookup', 'Tab', 'syt_title', 'l', '', 10, 200, NULL), ('nu5bad6cb374ae1fc', 'nutablookup', 'Form', 'sfo_description', 'l', '', 20, 150, NULL), ('nu5bad6cb374b7c3b', 'nutablookup', 'Code', 'sfo_code', 'l', '', 30, 160, NULL), ('nu5bad6cb374c102f', 'nutablookup', 'Type', 'sfo_type', 'l', '', 40, 100, NULL), ('nu5bad6cb374ca5aa', 'nuform', 'Code', 'sfo_code', 'l', '', 30, 250, NULL), ('nu5bad6cb374d3dbc', 'nuform', 'Description', 'sfo_description', 'l', '', 40, 440, NULL), ('nu5bad6cb374dd13c', 'nutab', 'Form', 'sfo_description', 'l', '', 20, 150, NULL), ('nu5bad6cb374f3729', 'nutab', 'Tab', 'syt_title', 'l', '', 10, 200, NULL), ('nu5bad6cb37505eea', 'nuobject', 'Form', 'sfo_description', 'l', '', 60, 210, NULL), ('nu5bad6cb37547640', 'nuobject', 'Tab', 'syt_title', 'l', '', 70, 135, NULL), ('nu5bad6cb375a3782', 'nuobject', 'Object', 'sob_all_id', 'l', '', 30, 235, NULL), ('nu5bad6cb375afa75', 'nuobject', 'Type', 'sob_all_type', 'l', '', 10, 120, NULL), ('nu5bad6cb375bd72e', 'nuobject', 'Label', 'sob_all_label', 'l', '', 50, 180, NULL), ('nu5bad6cb375c8f2a', 'nutab', 'Type', 'sfo_type', 'l', '', 40, 100, NULL), ('nu5bad6cb375d23fd', 'nunonsystemform', 'Code', 'sfo_code', 'l', '', 20, 150, NULL), ('nu5bad6cb375dbd9c', 'nunonsystemform', 'Description', 'sfo_description', 'l', '', 30, 250, NULL), ('nu5bad6cb375e5588', 'nunonsystemform', 'Type', 'sfo_type', 'l', '', 10, 100, NULL), ('nu5bad6cb375eeb8e', 'nuaccess', 'Code', 'sal_code', 'l', '', 10, 300, NULL), ('nu5bad6cb375f8259', 'nuaccess', 'Description', 'sal_description', 'l', '', 20, 400, NULL), ('nu5bad6cb376017c8', 'nuuser', 'Name', 'sus_name', 'l', '', 10, 185, NULL), ('nu5bad6cb3760ae9a', 'nuuser', 'Email', 'sus_email', 'l', '', 30, 140, NULL), ('nu5bad6cb376141d0', 'nuuser', 'Access Level', 'CONCAT(sal_code,\' : \',sal_description) AS acl', 'l', '', 40, 220, NULL), ('nu5bad6cb3761e561', 'nuprocedure', 'Code', 'sph_code', 'l', '', 10, 300, NULL), ('nu5bad6cb37627eb1', 'nuprocedure', 'Description', 'sph_description', 'l', '', 20, 480, NULL), ('nu5bad6cb37631164', 'nubuildreport', 'Code', 'sre_code', 'l', '', 10, 280, NULL), ('nu5bad6cb3763a5b4', 'nubuildreport', 'Description', 'sre_description', 'l', '', 20, 360, NULL), ('nu5bad6cb3764389f', 'nuform', 'Type', 'sfo_type', 'l', '', 20, 120, NULL), ('nu5bad6cb3764cb3b', 'nubuildreport', 'Launch From', 'CONCAT(sfo_code, \' - \', sfo_description)', 'l', '', 40, 250, NULL), ('nu5bad6cb376560e0', 'nurun', 'Type', 'type', 'l', '', 10, 100, NULL), ('nu5bad6cb3765f712', 'nurun', 'Code', 'code', 'l', '', 20, 100, NULL), ('nu5bad6cb37668ca4', 'nurun', 'Description', 'description', 'l', '', 30, 100, NULL), ('nu5bad6cb37672072', 'nurunlist', 'Type', 'run', 'l', '', 10, 100, NULL), ('nu5bad6cb3767b4d5', 'nurunlist', 'Code', 'code', 'l', '', 20, 150, NULL), ('nu5bad6cb376849b6', 'nurunlist', 'Description', 'description', 'l', '', 30, 250, NULL), ('nu5bad6cb3768dd0c', 'nudebug', 'Message', 'deb_message', 'l', '', 10, 700, NULL), ('nu5bad6cb37697a01', 'nuaccesslevelreport', '1', '1', 'l', '', 10, 1, NULL), ('nu5bad6cb376a1655', 'nutab', 'Code', 'sfo_code', 'l', '', 30, 100, NULL), ('nu5bad6cb376aaab5', 'nubrowse', 'Title', 'sbr_title', 'l', '', 20, 240, NULL), ('nu5bad6cb376b3dd7', 'nubuildreport', 'Group', 'sre_group', 'l', '', 30, 280, NULL), ('nu5bad6cb376bd159', 'nuprocedure', 'Group', 'sph_group', 'l', '', 30, 160, NULL), ('nu5bad6cb376c65d3', 'nurunreport', 'Code', 'sre_code', 'l', '', 20, 150, NULL), ('nu5bad6cb376cf902', 'nurunreport', 'Description', 'sre_description', 'l', '', 30, 250, NULL), ('nu5bad6cb376d900a', 'nurunreport', 'Group', 'sre_group', 'l', '', 40, 150, NULL), ('nu5bad6cb376e2688', 'nurunphp', 'Code', 'sph_code', 'l', '', 10, 205, NULL), ('nu5bad6cb376eb9d6', 'nurunphp', 'Description', 'sph_description', 'l', '', 20, 420, NULL), ('nu5bad6cb376f4f5f', 'nurunphp', 'Group', 'sph_group', 'l', '', 30, 150, NULL), ('nu5bad6cb376fe259', 'nurunreport', 'Form', 'sre_zzzzsys_form_id', 'l', '', 10, 0, NULL), ('nu5bad6cb37707660', 'nurunphp', 'Form ID', 'sph_zzzzsys_form_id', 'l', '', 40, 0, NULL), ('nu5bad6cb3771115d', 'nuobject', 'Form Id', 'zzzzsys_form_id', 'l', '', 40, 0, NULL), ('nu5bad6cb3771b003', 'nuprocedure', 'Launch From', 'CONCAT(sfo_code, \' - \', sfo_description)', 'l', '', 60, 180, NULL), ('nu5bad6cb37724836', 'nutimezone', 'Time Zone', 'stz_timezone', 'l', '', 10, 350, NULL), ('nu5bad6cb3772dd22', 'nutranslate', 'Language', 'trl_language', 'l', '', 10, 140, NULL), ('nu5bad6cb37737185', 'nutranslate', 'English', 'trl_english', 'l', '', 20, 345, NULL), ('nu5bad6cb377406bb', 'nutranslate', 'Translation', 'trl_translation', 'l', '', 30, 430, NULL), ('nu5bad6cb37749ba7', 'nucalcobjects', 'object.subform', 'CONCAT(thechild,IF(theparent = \'\',\'\',\'.\'),theparent)', 'c', '', 10, 250, NULL), ('nu5bad6cb377531c6', 'nucalcobjects', ' ', 'theform', 'l', '', 30, 0, NULL), ('nu5bad6cb37765e82', 'nucalcobjects', ' ', 'thevalue', 'l', '', 40, 2, NULL), ('nu5bad6cb3777c5ee', 'nucalcobjects', 'Object', 'thechild', 'l', '', 20, 0, NULL), ('nu5bad6cb377899bf', 'nuformat', 'Type', 'srm_type', 'l', '', 20, 150, NULL), ('nu5bad6cb3779593d', 'nuformat', 'Format', 'srm_format', 'l', '', 10, 190, NULL), ('nu5bad6cb377a01b0', 'nuobject', 'Input Type', 'sob_input_type', 'l', '', 20, 150, NULL), ('nu5bad6cb377a9e19', 'nubrowse', 'join', 'sbr_zzzzsys_form_id', 'l', '', 10, 0, NULL), ('nu5bad6cb377b6a58', 'nuform', 'Table', 'sfo_table', 'l', '', 50, 220, NULL), ('nu5bad6cb377c33ea', 'nufile', 'Code', 'sfi_code', 'l', '', 10, 200, NULL), ('nu5bad6cb377d2981', 'nufile', 'Description', 'sfi_description', 'l', '', 20, 300, NULL), ('nu5bad6cb3781d394', 'nufile', 'JSON', 'sfi_json', 'l', '', 30, 0, NULL), ('nu5bad6cb3783715c', 'nufile', 'Image', 'NULL', 'c', '', 40, 300, NULL), ('nu5bad6cb37849637', 'nufile', 'Group', 'sfi_group', 'l', '', 50, 150, NULL), ('nu5bad6cb3786de92', 'nuselect', 'Description', 'sse_description', 'l', '', 20, 600, NULL), ('nu5bad6cb3787ca71', 'nulaunchable', 'Type', 'sfo_type', 'l', '', 10, 100, NULL), ('nu5bad6cb37889036', 'nulaunchable', 'Code', 'sfo_code', 'l', '', 20, 240, NULL), ('nu5bad6cb3789662e', 'nulaunchable', 'Description', 'sfo_description', 'l', '', 30, 400, NULL), ('nu5bad6cb378aa4cf', 'nulaunchable', 'Table', 'sfo_table', 'l', '', 40, 200, NULL), ('nu5bad6cb378b79f4', 'nudebug', 'When', 'deb_added', 'l', '', 30, 130, NULL), ('nu5bad6cb378c316b', 'nubuildtable', 'Code', 'srd_code', 'l', '', 10, 100, NULL), ('nu5bad6cb378cf278', 'nubuildtable', 'Description', 'srd_description', 'l', '', 20, 300, NULL), ('nu5f9aaac9719b88c', 'nucloner', 'Source Form', 'clo_form_source', 'l', '', 10, 190, NULL), ('nu5f9aaac971c84e2', 'nucloner', 'Destination Form', 'clo_form_dest', 'l', '', 20, 190, NULL), ('nu5f9aaac971ec977', 'nucloner', 'Dump SQL', 'REPLACE(REPLACE(clo_dump,1,\'✔\'),0,\'\')', 'l', '', 30, 75, NULL), ('nu5f9aaac971fc30c', 'nucloner', 'Without Objects', 'REPLACE(REPLACE(clo_objects,1,\'✔\'),0,\'\')', 'l', '', 40, 175, NULL), ('nu5f9c04dbab4da92', 'nucloner', 'Notes', 'clo_notes', 'l', '', 50, 350, NULL), ('nu5fd29810a628f4f', 'nunotes', 'Notes', 'not_title', 'l', '', 20, 600, NULL), ('nu5fd29810a62a421', 'nunotes', 'Category', 'noc_name', 'l', '', 10, 150, NULL), ('nu5fd3b22fa460a12', 'nunotescategroy', 'Category', 'noc_name', 'l', '', 10, 400, NULL), ('nu5fd3bb4dc0d2841', 'nunotes', 'Updated on', 'not_updated_on', 'l', '', 40, 145, NULL), ('nu5fd5b7fc8c163a3', 'nuuser', 'Code', 'sus_code', 'l', '', 60, 55, NULL), ('nu5fd5b7fc8de0c57', 'nuuser', 'Position', 'sus_position', 'l', '', 70, 130, NULL), ('nu5fd5b7fc8fad224', 'nuuser', 'Team', 'sus_team', 'l', '', 90, 120, NULL), ('nu5fd8d2459834722', 'nutranslate', 'Added by User', 'IF(zzzzsys_translate_id like \'nu%\',\'\',\'✔\')', 'l', '', 40, 140, NULL), ('nu5fd8ed3051616cd', 'nusession', 'Login Name', 'login', 'l', '', 30, 180, NULL), ('nu5fd8ed305162c77', 'nusession', 'Username', 'user', 'l', '', 20, 180, NULL), ('nu5fd8ed3051639e7', 'nusession', 'Login Time', 'login_time', 'l', '', 40, 200, NULL), ('nu5fdb1b5b3fd1be7', 'nucodesnippet', 'Code', 'cot_code', 'l', '', 20, 250, NULL), ('nu5fdb1b5b407a6f1', 'nucodesnippet', 'Description', 'cot_description', 'l', '', 40, 400, NULL), ('nu5fdb1b5b408a860', 'nucodesnippet', 'Language', 'cot_language', 'l', '', 10, 120, NULL), ('nu5fdb668a2947958', 'nuobject', 'Access', 'REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(sob_all_access,0,\'Editable\'),1,\'Readonly\'),2,\'Hidden\'),3,\'Hidden (User)\'),\'4\',\'Hidden (User) + Readonly\')', 'l', '', 80, 115, NULL), ('nu5fdb67accbbfa6d', 'nuobject', 'Validation', 'REPLACE(REPLACE(REPLACE(REPLACE(sob_all_validate, 0,\'None\'),1,\'No Blanks\'),2,\'No Duplicates\'),3,\'No Duplicates/Blanks\')', 'l', '', 90, 150, NULL), ('nu5fdb689731ed0db', 'nuobject', 'Align', 'CONCAT(UCASE(LEFT(sob_all_align, 1)),SUBSTRING(LOWER(sob_all_align),2))', 'l', '', 100, 90, NULL), ('nu5fdcc69ceb26325', 'nucodesnippet', 'Changed On', 'cot_updated_on', 'l', '', 50, 180, NULL), ('nu5fdfd91ab3a0d63', 'nusession', 'IP Address', 'ip', 'l', '', 50, 170, NULL), ('nu5fe0352637b2e4f', 'nuuser', 'Expires On', 'sus_expires_on', 'l', 'D|yyyy-mm-dd', 100, 130, NULL), ('nu5fe035b0d058339', 'nuuser', 'Department', 'sus_department', 'l', '', 80, 140, NULL), ('nu5fe179294648601', 'nuform', ' ', 'null', 'l', '', 10, 50, NULL), ('nu5fed7ae8d82586a', 'nuobjectgrid', 'Code', 'sfo_code', 'l', '', 10, 250, NULL), ('nu5ff0df492665285', 'nuaccess', 'Home', 'sfo_code', 'l', '', 40, 300, NULL), ('nu60fd004179b7f95', 'nuselect', 'Code', 'sse_code', 'l', '', 10, 300, NULL), ('nu61bb9991f1c4d45', 'nudebug', 'User', 'IFNULL(sus_name, deb_user_id)', 'l', '', 40, 170, NULL), ('nu61d7d0231fff5c5', 'nuaccess', 'Group', 'sal_group', 'l', NULL, 30, 280, NULL), ('nu635294e972c14ef', 'nuemailtemplate', 'Description', 'emt_description', 'l', '', 100, 130, NULL), ('nu635294e972c1e89', 'nuemailtemplate', 'Subject', 'emt_subject', 'l', '', 60, 210, NULL), ('nu635294e972c2625', 'nuemailtemplate', 'To', 'emt_to', 'l', '', 70, 95, NULL), ('nu635294e972c2d41', 'nuemailtemplate', 'Language', 'emt_language', 'c', '', 40, 130, NULL), ('nu635294e972c3457', 'nuemailtemplate', 'Form', 'sfo_description', 'l', NULL, 50, 160, NULL), ('nu635294e972c3b80', 'nuemailtemplate', 'Group', 'emt_group', 'l', NULL, 20, 100, NULL), ('nu635294e972c429c', 'nuemailtemplate', 'Code', 'emt_code', 'l', NULL, 10, 230, NULL), ('nu6353373db2e435c', 'nuemailtemplate', 'CC', 'emt_cc', 'l', NULL, 80, 115, NULL), ('nu6353373db60f3b6', 'nuemailtemplate', 'BCC', 'emt_bcc', 'l', NULL, 90, 110, NULL), ('nu63efd6559d98201', 'nuobjectevent', 'Event', 'sev_event', 'l', '', 30, 110, NULL), ('nu63efd6559e407ea', 'nuobjectevent', 'JavaScript', 'sev_javascript', 'l', '', 40, 540, NULL), ('nu63efd77886152f1', 'nuobjectevent', 'Object', 'sob_all_id', 'l', NULL, 20, 225, NULL), ('nu63efd7ebe965c50', 'nuobjectevent', 'Tab', 'syt_title', 'l', NULL, 10, 100, NULL), ('nu63f0aec187a8b7f', 'nunuobjectevent', 'Tab', 'IF (LEFT(syt_title,1) = \'|\', SUBSTR(syt_title, 2), syt_title)', 'l', NULL, 10, 100, NULL), ('nu63f0aec188423bf', 'nunuobjectevent', 'Object', 'sob_all_id', 'l', NULL, 20, 225, NULL), ('nu63f0aec188c5610', 'nunuobjectevent', 'Event', 'sev_event', 'l', NULL, 30, 110, NULL), ('nu63f0aec18949fac', 'nunuobjectevent', 'JavaScript', 'sev_javascript', 'l', NULL, 40, 620, NULL), ('nu647b47e3943fc57', 'nucodesnippet', 'Group', 'cot_group', 'l', NULL, 30, 180, NULL), ('nu648030319e8fa15', 'nuform', 'Group', 'sfo_group', 'l', NULL, 60, 100, NULL), ('nu65d777ae073fdbf', 'nupermissionitem', 'Description', 'pme_description', 'l', '', 30, 860, NULL), ('nu65d777ae076e987', 'nupermissionitem', 'Ident', 'pme_ident', 'l', '', 10, 235, NULL), ('nu65d7833b8766fd0', 'nupermissionitem', 'Group', 'pme_group', 'l', NULL, 20, 225, NULL), ('nu65e9ea5e7414ca0', 'nudebug', 'Flag', 'deb_flag', 'l', NULL, 20, 180, NULL), ('nu65f27499bd98728', 'nuphp', 'Code', 'sph_code', 'l', '', 10, 300, NULL), ('nu65f27499bd9ba79', 'nuphp', 'Description', 'sph_description', 'l', '', 20, 580, NULL), ('nu65f27499bd9dbce', 'nuphp', 'Group', 'sph_group', 'l', '', 30, 175, NULL), ('nu65f27499bd9f97e', 'nuphp', 'Launch From', 'CONCAT(sfo_code, \' - \', sfo_description)', 'l', '', 40, 405, NULL), ('nu65f28ff562c3640', 'nuemaillog', 'Sent At', 'eml_sent_at', 'l', '', 20, 125, NULL), ('nu65f28ff562c4440', 'nuemaillog', 'Created At', 'eml_created_at', 'l', '', 10, 125, NULL), ('nu65f28ff562c4cea', 'nuemaillog', 'State', 'eml_state', 'l', '', 30, 130, NULL), ('nu65f28ff562c532b', 'nuemaillog', 'To', 'eml_to', 'l', '', 40, 150, NULL), ('nu65f28ff562c5ad0', 'nuemaillog', 'Subject', 'eml_subject', 'l', '', 50, 249, NULL), ('nu65f28ff562c619f', 'nuemaillog', 'Error', 'eml_error', 'l', '', 60, 145, NULL), ('nu65f28ff562c6881', 'nuemaillog', 'Table', 'eml_table_name', 'l', '', 70, 120, NULL), ('nu65f28ff562c6ffd', 'nuemaillog', 'Tags', 'eml_tag', 'l', '', 80, 70, NULL), ('nu65f28ff562c768f', 'nuemaillog', 'Form', 'CONCAT(sfo_code, \': \', sfo_description)', 'l', '', 90, 154, NULL), ('nu65f28ff562c7d6c', 'nuemaillog', 'User', 'sus_name', 'l', '', 100, 120, NULL), ('nu65f28ff562c841d', 'nuemaillog', 'Record', 'eml_record_id', 'l', '', 110, 0, NULL), ('nu67aa94103ed9b9f', 'nusession', 'Terminate', 'NULL', 'l', NULL, 10, 90, NULL), ('nu67aa98c7b218fc1', 'nusession', 'Session Id', 'zzzzsys_session_id', 'l', NULL, 60, 0, NULL), ('nu67b5e6b0e09f411', 'nuFormat', 'Default', 'REPLACE(REPLACE(IFNULL(srm_default,\'\'),1,\'✔\'),0,\'\')', 'c', NULL, 30, 120, NULL), ('nu67f22e3baa8fb58', 'nu67f22e3ba027e23', 'Object ID', 'sob_all_id', 'l', '', 10, 150, NULL), ('nu67f22e3baaa1532', 'nu67f22e3ba027e23', 'Form Code', 'sfo_code', 'l', '', 20, 225, NULL), ('nu67f22f45127989b', 'nu67f22e3ba027e23', 'Form Description ', 'sfo_description', 'l', NULL, 30, 370, NULL), ('nu67f233a1045f7cc', 'nu67f22e3ba027e23', 'File Id', 'sob_image_zzzzsys_file_id', 'l', NULL, 40, 0, NULL), ('nu67f3174964bda68', 'nufile', 'Linked Objects', 'counter', 'c', NULL, 60, 250, NULL), ('nu682ddc25ab3c2d4', 'nu682ddc25aa0bb5f', 'Code', 'sfo_code', 'l', '', 20, 150, NULL), ('nu682ddc25ab41022', 'nu682ddc25aa0bb5f', 'Description', 'sfo_description', 'l', '', 30, 170, NULL), ('nu682ddc25ab44c49', 'nu682ddc25aa0bb5f', 'Type', 'sfo_type', 'l', '', 10, 100, NULL), ('nu682ebf5750aa854', 'nu682ddc25aa0bb5f', 'Access Levels', 'access_levels', 'l', NULL, 40, 300, NULL), ('nu682ebf5750eb2ef', 'nu682ddc25aa0bb5f', 'Count', 'access_levels_count', 'l', NULL, 50, 100, NULL), ('nu682fe38322e7e70', 'nuform', 'Status', 'REPLACE(REPLACE(REPLACE(REPLACE(IFNULL(sfo_status, \'Active\'), \'0\', \'Draft\'), \'1\', \'Active\'), \'2\', \'Disabled\'), \'3\', \'Archived\')', 'c', NULL, 70, 130, NULL), ('nu683303b26da6924', 'nupromptgenerator', 'Code', 'pge_code', 'l', '', 10, 150, NULL), ('nu683303b26e6e4f8', 'nupromptgenerator', 'Description', 'pge_description', 'l', '', 20, 250, NULL), ('nu683303b26f090e1', 'nupromptgenerator', 'Language', 'REPLACE(REPLACE(REPLACE(REPLACE(pge_language, \'[\', \'\'), \']\', \'\'), \'\"\', \'\'), \',\', \', \') AS pge_language', 'l', '', 30, 200, NULL), ('nu683303b26fbaa7a', 'nupromptgenerator', 'Prompt', 'pge_prompt', 'l', '', 50, 250, NULL), ('nu68345fe0838d724', 'nupromptgenerator', 'Scope', 'REPLACE(REPLACE(REPLACE(REPLACE(pge_scope, \'[\', \'\'), \']\', \'\'), \'\"\', \'\'), \',\', \', \') AS pge_scope', 'l', NULL, 40, 300, NULL), ('nu6836b70dec060b9', 'nu6836b70dd053bb4', 'Value', 'itm_value', 'l', '', 10, 250, NULL), ('nu6836b70dec1db3f', 'nu6836b70dd053bb4', 'Description', 'itm_description', 'l', '', 20, 250, NULL), ('nu6836b70dec2d718', 'nu6836b70dd053bb4', 'Category', 'itm_category', 'l', '', 30, 250, NULL), ('nu6836b70dec3c960', 'nu6836b70dd053bb4', 'Sort Order', 'itm_sort_order', 'l', '', 50, 250, NULL), ('nu6836b70dec525bd', 'nu6836b70dd053bb4', 'Tag', 'itm_tag', 'l', '', 60, 250, NULL), ('nu6836b70dec61378', 'nu6836b70dd053bb4', 'Additional 1', 'itm_additional1', 'l', '', 70, 250, NULL), ('nu6836b70dec714c7', 'nu6836b70dd053bb4', 'Additional 2', 'itm_additional2', 'l', '', 80, 250, NULL), ('nu6836b70dec7e4da', 'nu6836b70dd053bb4', 'Language', 'itm_language', 'l', '', 120, 250, NULL), ('nu6836b70dec8d030', 'nu6836b70dd053bb4', 'Active', 'itm_active', 'l', '', 140, 250, NULL), ('nu6836b70dec9b91f', 'nu6836b70dd053bb4', 'Created On', 'itm_created_on', 'l', '', 150, 250, NULL), ('nu6836b70deca8864', 'nu6836b70dd053bb4', 'Updated On', 'itm_updated_on', 'l', '', 160, 250, NULL), ('nu6836b7e92777044', 'nuitem', 'Value', 'itm_value', 'l', '', 30, 140, NULL), ('nu6836b7e927875cd', 'nuitem', 'Description', 'itm_description', 'l', '', 40, 180, NULL), ('nu6836b7e92791a69', 'nuitem', 'Category', 'itm_category', 'l', '', 60, 115, NULL), ('nu6836b7e9279baba', 'nuitem', 'Tags', 'itm_tag', 'l', '', 70, 105, NULL), ('nu6836b7e927a565a', 'nuitem', 'Language', 'itm_language', 'l', '', 80, 120, NULL), ('nu6836b7e927aed72', 'nuitem', 'Active', 'IF(IFNULL(itm_active,\'\') = \'0\',\'✖\',\'✔\')', 'c', '', 90, 150, NULL), ('nu6836b7e927ce213', 'nuitem', 'Updated on', 'IFNULL(itm_updated_on, itm_created_on) as `Updated On`', 'l', '', 100, 130, NULL), ('nu6878434013629b5', 'nuprocedure', 'Category', 'sph_category', 'l', NULL, 40, 160, NULL), ('nu6836b8f0dfa4fb3', 'nuitem', 'Object ID', 'sob_all_id', 'l', NULL, 20, 130, NULL), ('nu6836b8f0dff0fa1', 'nuitem', 'Form Code', 'sfo_code', 'l', NULL, 10, 179, NULL), ('nu68397bb79024ee9', 'nu68397bb77c048bb', 'Value', 'itm_value', 'l', '', 20, 160, NULL), ('nu68397bb79059d6e', 'nu68397bb77c048bb', 'Description', 'itm_description', 'l', '', 30, 150, NULL), ('nu68397bb79067032', 'nu68397bb77c048bb', 'Category', 'itm_category', 'l', '', 40, 76, NULL), ('nu68397bb790713fd', 'nu68397bb77c048bb', 'Active', 'IF(IFNULL(itm_active,\'\') = \'0\',\'\',\'✔\')', 'c', '', 80, 80, NULL), ('nu68398174b5a27f7', 'nu68397bb77c048bb', 'Sort Order', 'itm_sort_order', 'c', NULL, 70, 100, NULL), ('nu68397bb79084962', 'nu68397bb77c048bb', 'Language', 'itm_language', 'l', '', 50, 100, NULL), ('nu68397bb7908e02f', 'nu68397bb77c048bb', 'Created On', 'itm_created_on', 'l', '', 90, 85, NULL), ('nu68397bb7909743b', 'nu68397bb77c048bb', 'Updated On', 'itm_updated_on', 'l', '', 100, 85, NULL), ('nu6839839e28d97d6', 'nu68397bb77c048bb', 'Tags', 'itm_tag', 'l', NULL, 60, 100, NULL), ('nu68398471f0f8b93', 'nu68397bb77c048bb', 'Object ID', 'sob_all_id', 'l', NULL, 10, 120, NULL), ('nu6839a33c00a5279', 'nupromptgenerator', 'Template', 'IF(IFNULL(pge_template,\'\') = \'\',\'\',\'✔\')', 'c', NULL, 60, 100, NULL), ('nu6839c130dc4de4a', 'nu68397bb77c048bb', 'Item Object Id (Filter)', 'itm_object_id', 'l', NULL, 110, 0, NULL), ('nu683c1ed713aefaa', 'nuitem', 'Group', 'itm_group', 'l', NULL, 50, 150, NULL), ('nu684e185947ef47e', 'nunotes', 'Text', 'not_text', 'l', NULL, 30, 300, NULL), ('nu6862f0becfb7938', 'nuprocedure', 'Status', 'REPLACE(REPLACE(REPLACE(REPLACE(IFNULL(sph_status, \'Active\'), \'0\', \'Draft\'), \'1\', \'Active\'), \'2\', \'Disabled\'), \'3\', \'Archived\')', 'l', NULL, 50, 140, NULL), ('nu68784fb4ac37836', 'nuemailtemplate', 'Category', 'emt_category', 'l', NULL, 30, 100, NULL), ('nu6885d0b3c3a24ef', 'nuappcloner', 'Code', 'cla_code', 'l', NULL, 10, 250, NULL), ('nu6885d1075ca15ef', 'nuappcloner', 'Description', 'cla_description', 'l', NULL, 20, 300, NULL), ('nu6885d1075cd34fa', 'nuappcloner', 'Target Host', 'cla_target_host', 'l', NULL, 40, 150, NULL), ('nu6885d1075d05c30', 'nuappcloner', 'Target Database', 'cla_target_db', 'l', NULL, 50, 150, NULL), ('nu6885d1075d3683e', 'nuappcloner', 'Source Path', 'cla_source_path', 'l', NULL, 30, 300, NULL); -- -------------------------------------------------------- -- -- Table structure for table `zzzzsys_cloner` -- CREATE TABLE `zzzzsys_cloner` ( `zzzzsys_cloner_id` varchar(25) NOT NULL, `clo_form_source` varchar(25) DEFAULT NULL, `clo_form_dest` varchar(25) DEFAULT NULL, `clo_tabs` varchar(1000) DEFAULT NULL, `clo_dump` tinyint(1) DEFAULT NULL, `clo_objects` tinyint(1) DEFAULT NULL, `clo_subforms_include` tinyint(1) DEFAULT NULL, `clo_subforms` varchar(1000) DEFAULT NULL, `clo_iframe_forms_include` tinyint(1) DEFAULT NULL, `clo_iframe_forms` text, `clo_tables_include` mediumtext, `clo_tables_exclude` mediumtext, `clo_new_pks` tinyint(1) DEFAULT NULL, `clo_notes` text, `clo_json` mediumtext ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3; -- -------------------------------------------------------- -- -- Table structure for table `zzzzsys_code_snippet` -- CREATE TABLE `zzzzsys_code_snippet` ( `zzzzsys_code_snippet_id` varchar(25) NOT NULL, `cot_code` varchar(50) DEFAULT NULL, `cot_description` text, `cot_group` varchar(80) DEFAULT NULL, `cot_url` varchar(500) DEFAULT NULL, `cot_source_code` text, `cot_language` varchar(20) DEFAULT NULL, `cot_scope` varchar(50) DEFAULT NULL, `cot_template` varchar(1) DEFAULT NULL, `cot_updated_on` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `cot_json` mediumtext ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3; -- -- Dumping data for table `zzzzsys_code_snippet` -- INSERT INTO `zzzzsys_code_snippet` (`zzzzsys_code_snippet_id`, `cot_code`, `cot_description`, `cot_group`, `cot_url`, `cot_source_code`, `cot_language`, `cot_scope`, `cot_template`, `cot_updated_on`, `cot_json`) VALUES ('nu5fdb1a7c5b3d3b2', 'nuBeforeSave', 'Before a record is saved, nuBuilder checks for the existance of a function called nuBeforeSave().\nIf this exists it will use its return value to decide whether to continue saving the record.', 'nubuilder', 'https://wiki.nubuilder.cloud/index.php?title=Javascript#nuBeforeSave', 'function nuBeforeSave() {\n\n if (nuGetValue(\'cus_name\') !== \'something\') { /* condition(s) here */\n\n nuMessage(\'Error message here.\');\n\n // Cancel saving \n return false;\n\n }\n\n // Continue Saving\n return true;\n\n}', 'JavaScript', '[\"0\"]', NULL, '2025-06-04 06:45:35', NULL), ('nu65f5feb50d4d041', 'nuDebug', NULL, 'nubuilder', NULL, 'nuDebug::setFlag(\'Test\')->log(\'Error: Failed to retrieve data..\');\n', 'PHP', '[\"3\"]', NULL, '2025-06-04 06:44:34', NULL), ('nu682683a594b7932', 'nuSelectBrowse', 'This is a built in function that runs when any record on a Browse Form is selected.', 'nubuilder', 'https://wiki.nubuilder.cloud/index.php?title=Javascript#nuSelectBrowse', 'function nuSelectBrowse(event, element) {\n\n // Example 1: Get info about the selected cell\n const { pk, row, column, html, value, $cell } = nuBrowseRow(element);\n console.log(pk, row, column, html, value, $cell);\n\n // Example 2: Get the row number of the selected cell\n const cell = nuBrowseRow(element);\n console.log(cell.row);\n \n // Example 3: Get the value of column 2 in the same row\n // 0 = 1st column, 1 = 2nd column or pass the column primary key\n const otherCell = nuBrowseRow(element, 1); \n console.log(otherCell.value);\n\n // Open the current Form in a new browser tab\n nuForm(nuFormId(), pk, \'\', \'\', \'2\');\n\n}', 'JavaScript', '[\"0\"]', NULL, '2025-06-04 06:44:40', NULL), ('nu6866e0177fc5399', 'nu_upload_file_uppy_code_template', NULL, 'nubuilder', NULL, '
\n\n\n', 'JavaScript', '[\"\"]', '1', '2025-07-04 03:32:59', NULL); -- -------------------------------------------------------- -- -- Table structure for table `zzzzsys_config` -- CREATE TABLE `zzzzsys_config` ( `zzzzsys_config_id` varchar(25) NOT NULL, `zzzzsys_setup_id` varchar(25) NOT NULL DEFAULT '1', `cfg_order` int DEFAULT NULL, `cfg_category` varchar(50) DEFAULT NULL, `cfg_title` varchar(50) DEFAULT NULL, `cfg_setting` varchar(1000) DEFAULT NULL, `cfg_value` varchar(1000) DEFAULT NULL, `cfg_description` varchar(1000) DEFAULT NULL, `cfg_type` tinyint NOT NULL DEFAULT '1', `cfg_effective` varchar(1) NOT NULL DEFAULT '1', `cfg_json` mediumtext ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3; -- -- Dumping data for table `zzzzsys_config` -- INSERT INTO `zzzzsys_config` (`zzzzsys_config_id`, `zzzzsys_setup_id`, `cfg_order`, `cfg_category`, `cfg_title`, `cfg_setting`, `cfg_value`, `cfg_description`, `cfg_type`, `cfg_effective`, `cfg_json`) VALUES ('nu62a0a02105071cb', '1', 50, 'Admin', 'Objects Icon', 'nuObjectsIcon', 'true', 'Show Objects (Obj) icon', 2, '1', NULL), ('nu62a0a02105062e5', '1', 60, 'Admin', 'PHP Icons', 'nuPHPIcon', 'true', 'Show PHP (BE, BS, AS, BB) icons', 2, '1', NULL), ('nu62a0a02105079da', '1', 70, 'Admin', 'Properties Icon', 'nuPropertiesIcon', 'true', 'Show Properties (Prop) icon', 2, '1', NULL), ('nu62a0a0210506a8f', '1', 80, 'Admin', 'Refresh Icons', 'nuRefreshIcon', 'true', 'Show Refresh icon', 2, '1', NULL), ('nu62a0a0210505b68', '1', 10, 'Admin', 'Debug Icon', 'nuDebugIcon', 'true', 'Show Debug icon', 2, '1', NULL), ('nu62a0a02105011e4', '1', 40, 'Admin', 'Debug Mode', 'nuDebugMode', 'true', 'If the element does not exist when using functions such as nuGetValue() or nuSetValue(), a warning will be output to the Developer Console', 2, '1', NULL), ('nu62a0a02104dee61', '1', 90, 'Admin', 'Globeadmin User IDs', '$nuConfigDBGlobeadminUsers', '', 'User Ids with \'globeadmin\' permissions, separated by commas', 1, '1', NULL), ('nu62bdc792e1efb3a', '1', 100, 'Admin', 'Admin Home Form ID', '$nuConfigGlobeadminHome', 'nuhome', 'Home form ID for administrator. Default: nuhome', 1, '3', NULL), ('nu62a0a02104e96df', '1', 110, 'Admin', 'Enable DB Update', '$nuConfigEnableDatabaseUpdate', 'true', 'Enable updating the database within nuBuilder', 2, '1', NULL), ('nu62a0a02104e542c', '1', 120, 'Form', 'Additional 1 Label', '$nuConfigUserAdditional1Label', '', 'User Form: If not blank, rename the Label \'Additional 1\'', 1, '1', NULL), ('nu62a0a02104e64e6', '1', 130, 'Form', 'Additional 2 Label', '$nuConfigUserAdditional2Label', '', 'User Form: If not blank, rename the Label \'Additional 2\'', 1, '1', NULL), ('nu62a0a02104e72e8', '1', 140, 'Form', 'Code Label', '$nuConfigUserCodeLabel', '', 'User Form: If not blank, rename the Label \'Code\'', 1, '1', NULL), ('nu62a0a02104fba72', '1', 160, 'Form', 'Autosize Browse Columns', 'nuAutosizeBrowseColumns', 'true', 'Autosize columns to fit the document width', 2, '1', NULL), ('nu62a0a02104fd939', '1', 170, 'Form', 'Browse Pagination Info', 'nuBrowsePaginationInfo', 'default', 'Default Format is= \'{StartRow} - {EndRow} \' + nuTranslate(\'of\') + \' \' + \'{TotalRows}\'.', 1, '1', NULL), ('nu62a0a0210502912', '1', 180, 'Form', 'Mobile View', 'nuMobileView', 'true', 'Optimise view for mobile devices', 2, '1', NULL), ('nu634795d35e9b070', '1', 200, 'Form', 'Close After Save', 'nuEditCloseAfterSave', 'None', 'Close forms after saving', 1, '1', NULL), ('nu62a0a02104fc425', '1', 210, 'Form', 'Show Back Button', 'nuShowBackButton', 'false', 'Show a Back Button', 2, '1', NULL), ('nu62a0a02104f8bad', '1', 230, 'Browser', 'Enable Browser Back Button', 'nuEnableBrowserBackButton', 'true', 'Enable the browser\'s Back button', 2, '1', NULL), ('nu62a0a0210501e50', '1', 240, 'Browser', 'Browser Tab Title Prefix', 'nuBrowserTabTitlePrefix', 'nuBuilder', 'Prefix in the Browser Tab', 1, '1', NULL), ('nu62a0a02104ffe04', '1', 250, 'Browser', 'Show Browser Tab Title', 'nuShowBrowserTabTitle', 'true', 'Show the Form Title in the Browser Tab', 2, '1', NULL), ('nu62a0a02104dfbee', '1', 270, 'Settings', 'Title', '$nuConfigTitle', 'nuBuilder 4.5', 'nuBuilder Title', 1, '1', NULL), ('nu62a0a02104e8621', '1', 280, 'Settings', 'Backup Location', '$nuConfigBackupLocation', '', 'Backup location: Default: If left blank, backups are stored in /core/libs/mysqldump/dumps. Make sure to turn off directory listing!', 1, '1', NULL), ('nu62a0a02104ea45f', '1', 290, 'Settings', 'Keep Session Alive', '$nuConfigKeepSessionAlive', 'true', 'Use a timer to keep the session alive', 2, '2', NULL), ('nu62a0a02104eb409', '1', 300, 'Settings', 'Keep-alive Interval', '$nuConfigKeepSessionAliveInterval', '600', 'Keep-alive interval. Default 600 s (10 min)', 1, '2', NULL), ('nu62a0a02104ec632', '1', 310, 'Settings', 'MD5 Password Hash', '$nuUseMd5PasswordHash', 'false', 'If set to true, MD5 is used to hash passwords, otherwise password_hash(), which is recommended', 2, '1', NULL), ('nu62a0a02104f9b3c', '1', 320, 'Settings', 'Prevent Double Click', 'nuPreventButtonDblClick', 'true', 'Prevent double clicks on buttons', 2, '1', NULL), ('nu62a0a02104e08d7', '1', 330, 'Settings', 'Session Timeout', '$nuConfigTimeOut', '1440', 'Session Timeout. Default: 1440 (24h)', 3, '1', NULL), ('nu62a0a02104e45ba', '1', 340, 'Settings', 'Show JavaScript Errors', 'nuShowJSErrors', 'globeadmin', 'Show JavaScript errors in a popup in addition to the developer console', 1, '1', NULL), ('nu62a0a02104ff0bf', '1', 350, 'Settings', 'Show Logged-in User', 'nuShowLoggedInUser', 'true', 'Show the logged in User', 2, '1', NULL), ('nu62a0a02104fe599', '1', 360, 'Settings', 'Show nuBuilder Link', 'nuShowNuBuilderLink', 'false', 'Show the link to nubuilder com', 2, '1', NULL), ('nu62a0a02104fab5f', '1', 370, 'Settings', 'Show Properties on Middle Click', 'nuShowPropertiesOnMiddleClick', 'true', 'Show the Object Properties on middle mouse click', 2, '1', NULL), ('nu62a0a02104f4b8c', '1', 380, 'Includes', 'Include Apex Charts', '$nuConfigIncludeApexCharts', 'false', 'Include apex charts (libs/apexcharts)', 2, '2', NULL), ('nu62a0a02104f3db0', '1', 390, 'Includes', 'Include Google Charts', '$nuConfigIncludeGoogleCharts', 'true', 'Include external link to www.gstatic.com', 2, '2', NULL), ('nu62a0a02104f230f', '1', 400, 'Includes', 'Include TinyMCE', '$nuConfigIncludeTinyMCE', 'true', 'Include TinyMCE WYSIWYG', 2, '1', NULL), ('nu62a0a021050465f', '1', 410, '3rd Party', 'Ace Theme', 'nuAceTheme', 'dawn', 'Ace theme. Default: Monokai', 9, '0', NULL), ('nu62a0a021050464c', '1', 420, '3rd Party', 'Select2 Theme', 'nuSelect2Theme', 'default', 'select2 theme (default, classic) Default: default', 1, '0', NULL), ('nu62a0a0210503957', '1', 430, '3rd Party', 'Calendar Start of Week', 'nuCalendarStartOfWeek', '', 'nuCalendar: Start day of the week. 0:Sunday, 1:Monday', 3, '1', NULL), ('nu62a0a0210503958', '1', 440, '3rd Party', 'Calendar Week Numbers', 'nuCalendarWeekNumbers', 'None', 'nuCalendar: Week numbers to display', 1, '1', NULL), ('nu62a0a02104ed59e', '1', 450, '2FA', 'Admin 2FA', '$nuConfig2FAAdmin', 'false', 'Use 2FA authentication for administrator', 2, '1', NULL), ('nu62a0a02104ee392', '1', 460, '2FA', 'User 2FA', '$nuConfig2FAUser', 'false', 'Use 2FA authentication for users', 2, '1', NULL), ('nu62a0a02104ef4e4', '1', 470, '2FA', '2FA Form ID', '$nuConfig2FAFormID', 'nuauthentication', '2FA form ID. Default id: nuauthentication', 1, '1', NULL), ('nu62a0a02104f17ad', '1', 480, '2FA', 'Show Remember Me', '$nuConfig2FAShowRememberMe', 'false', 'Show a checkbox \'Remember me for X days\' in the authentication form', 2, '1', NULL), ('nu62a0a02104f06aa', '1', 490, '2FA', 'Token Validity Time', '$nuConfig2FATokenValidityTime', '168', '2FA Token Validity Time. Default: 7 days (7 * 24 hours)', 3, '1', NULL), ('nu62a0a02104e1480', '1', 500, 'Demo', 'Demo Mode', '$nuConfigIsDemo', 'false', 'Demo Mode: Restricted rights. Saving not permitted.', 2, '3', NULL), ('nu62a0a02104e340b', '1', 510, 'Demo', 'Demo User Password', '$nuConfigDemoDBGlobeadminPassword', '', 'Demo Mode: Demo User Password', 1, '1', NULL), ('nu62a0a02104e283a', '1', 520, 'Demo', 'Demo Username', '$nuConfigDemoDBGlobeadminUsername', '', 'Demo Mode: Specify a Demo Username and Password if $nuConfigIsDemo is set to true', 1, '1', NULL), ('nu62a0a02104e45bc', '1', 530, 'Demo', 'Allowed Form IDs', '$nuConfigDemoSavingAllowedIds', '', 'Demo Mode: Saving allowed in the specified form Ids. Separated by comma.', 1, '1', NULL), ('nu62a0a02104ffe05', '1', 260, 'Browser', 'Show Permalink URL', 'nuShowURLPermaLink', 'false', 'Show Permalink in URL bar', 2, '1', NULL), ('nu62a0a02104fc315', '1', 220, 'Form', 'Hide Tab Title if only one', 'nuHideTabTitleIfOnlyOne', 'none', 'Hide tab title if there is just one tab', 1, '1', NULL), ('nu62a0a0510504b91', '1', 30, 'Admin', 'Tools Icon', 'nuToolsIcon', 'true', 'Show Tools icon', 2, '1', NULL), ('nu62a0a1220502913', '1', 190, 'Form', 'Print Button', 'nuPrintButton', 'false', 'Display Print (Action) Button', 2, '1', NULL), ('nu62a0a1710505b69', '1', 20, 'Admin', 'Database Icon', 'nuDatabaseIcon', 'false', 'Show Database icon', 2, '1', NULL), ('nu62a0a02104fba73', '1', 150, 'Form', 'Sticky Headers', 'nuStickyHeaders', 'true', 'Sticky Headers', 2, '1', NULL); -- -------------------------------------------------------- -- -- Table structure for table `zzzzsys_debug` -- CREATE TABLE `zzzzsys_debug` ( `zzzzsys_debug_id` varchar(25) NOT NULL, `deb_message` longtext, `deb_flag` varchar(50) DEFAULT NULL, `deb_added` int DEFAULT NULL, `deb_user_id` varchar(25) DEFAULT NULL, `deb_json` mediumtext ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3; -- -------------------------------------------------------- -- -- Table structure for table `zzzzsys_email_log` -- CREATE TABLE `zzzzsys_email_log` ( `zzzzsys_email_log_id` varchar(25) NOT NULL, `eml_created_at` datetime DEFAULT CURRENT_TIMESTAMP, `eml_sent_at` datetime DEFAULT NULL, `eml_state` varchar(20) DEFAULT NULL, `eml_from` varchar(70) DEFAULT NULL, `eml_from_name` varchar(70) DEFAULT NULL, `eml_to` varchar(4000) DEFAULT NULL, `eml_cc` varchar(4000) DEFAULT NULL, `eml_bcc` varchar(4000) DEFAULT NULL, `eml_subject` varchar(250) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL, `eml_body` text, `eml_file` varchar(1000) DEFAULT NULL, `eml_html` tinyint(1) DEFAULT NULL, `eml_reply_to` varchar(100) DEFAULT NULL, `eml_form_id` varchar(25) DEFAULT NULL, `eml_user_id` varchar(25) DEFAULT NULL, `eml_record_id` varchar(25) DEFAULT NULL, `eml_importance` smallint DEFAULT NULL, `eml_error` varchar(200) DEFAULT NULL, `eml_table_name` varchar(100) DEFAULT NULL, `eml_tag` varchar(70) DEFAULT NULL, `eml_json` text ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3; -- -------------------------------------------------------- -- -- Table structure for table `zzzzsys_email_template` -- CREATE TABLE `zzzzsys_email_template` ( `zzzzsys_email_template_id` varchar(25) NOT NULL, `emt_form_id` varchar(25) DEFAULT NULL, `emt_group` varchar(100) DEFAULT NULL, `emt_category` varchar(100) DEFAULT NULL, `emt_template` varchar(1) DEFAULT '0', `emt_language` varchar(20) DEFAULT NULL, `emt_description` varchar(200) DEFAULT NULL, `emt_code` varchar(80) DEFAULT NULL, `emt_body` mediumtext, `emt_subject` varchar(1000) DEFAULT NULL, `emt_to` varchar(1000) DEFAULT NULL, `emt_cc` varchar(1000) DEFAULT NULL, `emt_bcc` varchar(1000) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3; -- -- Dumping data for table `zzzzsys_email_template` -- INSERT INTO `zzzzsys_email_template` (`zzzzsys_email_template_id`, `emt_form_id`, `emt_group`, `emt_category`, `emt_template`, `emt_language`, `emt_description`, `emt_code`, `emt_body`, `emt_subject`, `emt_to`, `emt_cc`, `emt_bcc`) VALUES ('nu64f9586941b545d', 'nuuser', 'nubuilder', NULL, '1', NULL, 'When \"Send welcome email\" is checked in the user form, a welcome email is sent to the new user.', 'nu_send_welcome_email_template', 'Dear #sus_name#\n\nWelcome to nuBuilder! Your temporary OTP is valid for a limited time for security reasons. \n\nFollow these steps to get started:\n\n1. Visit #NUBUILDER_URL# to access the login page.\n\n2. Enter your Username: #sus_login_name#\n\n3. Use the temporary OTP as your password: #check_password#\n\n4. Once logged in, create a more secure password that includes uppercase letters, lowercase letters, numbers, and special characters.\n\n5. Login with your new password.\n\nBest regards,\nAdministrator', ' Welcome to nuBuilder - Temporary OTP Password', '#sus_email#', NULL, NULL); -- -------------------------------------------------------- -- -- Table structure for table `zzzzsys_event` -- CREATE TABLE `zzzzsys_event` ( `zzzzsys_event_id` varchar(25) NOT NULL, `sev_zzzzsys_object_id` varchar(25) DEFAULT NULL, `sev_event` varchar(100) DEFAULT NULL, `sev_javascript` varchar(3000) DEFAULT NULL, `sev_json` mediumtext ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3; -- -- Dumping data for table `zzzzsys_event` -- INSERT INTO `zzzzsys_event` (`zzzzsys_event_id`, `sev_zzzzsys_object_id`, `sev_event`, `sev_javascript`, `sev_json`) VALUES ('nu5bad6cb37911d4e', 'nu5bad6cb363bb5b7', 'onchange', 'nuObjectTestChart();', NULL), ('nu5bad6cb3791fc33', 'nu5bad6cb3647b4cb', 'onchange', 'nuObjectTestChart();', NULL), ('nu5bad6cb3792a2a1', 'nu5bad6cb364add63', 'onchange', 'nuObjectTestChart();', NULL), ('nu5bad6cb37933f0c', 'nu5bad6cb36568f2b', 'onchange', 'nuObjectTestChart();', NULL), ('nu5bad6cb3793d45a', 'nu5bad6cb328be090', 'afterinsertrow', '$(\"[id$=\'syt_help\']\").addClass(\'js\')', NULL), ('nu5bad6cb3797b0a7', 'nu5bad6cb32930450', 'onclick', 'if (sre_zzzzsys_php_id.value === \'\') {\n nuMessage(nuTranslate(\'No table selected\'));\n return;\n}\nwindow.open(\'core/nureportdesigner.php?tt=\' + $(\"#sre_zzzzsys_php_id\").val() + \'&launch=\' + $(\"#sre_zzzzsys_form_id\").val());', NULL), ('nu5bad6cb3798566b', 'nu5bad6cb329fdf13', 'onchange', 'nuObjectTypeChanged();', NULL), ('nu5bad6cb3798ef56', 'nu5bad6cb3263f2a8', 'onchange', 'nuFormTypeChanged();', NULL), ('nu5bad6cb379988c5', 'nu5bad6cb34c005d7', 'onclick', 'nuPopPHP(event, \'BE\');', NULL), ('nu5bad6cb379a3d0a', 'nu5bad6cb34c4775c', 'onclick', 'nuPopPHP(event, \'BS\');', NULL), ('nu5bad6cb379b055d', 'nu5bad6cb34d23de5', 'onclick', 'nuPopPHP(event, \'AS\');', NULL), ('nu5bad6cb379bcdcc', 'nu5bad6cb34d7e1db', 'onclick', 'nuPopPHP(event, \'BD\');', NULL), ('nu5bad6cb379ec280', 'nu5bad6cb34e2eaec', 'onclick', 'nuPopPHP(event, \'AD\');', NULL), ('nu5bad6cb37a13d93', 'nu5bad6cb329136ba', 'onclick', 'nuPopPHP(event, \'BB\');', NULL), ('nu5bad6cb37a4de1d', 'nu5bad6cb34b050a0', 'onclick', 'nuPopPHP(event, \'AB\');', NULL), ('nu5bad6cb37a6a213', 'nu5bad6cb34e5cc53', 'onclick', 'nuPreview()', NULL), ('nu5bad6cb37af380e', 'nu5bad6cb34fa79c0', 'onchange', 'nuSetFormatType(1)', NULL), ('nu5bad6cb37b01a0f', 'nu5bad6cb32c4d9de', 'onchange', 'nuObjectInputTypeChanged(this.value)', NULL), ('nu5bad6cb37b0e5e5', 'nu5bad6cb3518a9c0', 'onclick', 'nuPreview(1)', NULL), ('nu5bad6cb37b274c5', 'nu5bad6cb325c8954', 'afterinsertrow', '$(\"[id$=\'sev_javascript\']\").addClass(\'js\')', NULL), ('nu5bad6cb37b32126', 'nu5bad6cb32b77005', 'onclick', 'nuPopPHP(event, \'BB\');', NULL), ('nu5bad6cb37b42053', 'nu5bad6cb32b9715a', 'onclick', 'nuPopPHP(event, \'BB\');', NULL), ('nu5bad6cb37b5e79f', 'nu5bad6cb35304ffd', 'onkeydown', 'nuFORM.scrollList(event, window.nuObjectFields);', NULL), ('nu5bad6cb37b6ab21', 'nu5bad6cb3568c736', 'onclick', 'nuPopup(\'nusample\',\'-1\');', NULL), ('nu5bad6cb37b75849', 'nu5bad6cb35a0a29e', 'onclick', 'nuSelectResizeSQL();', NULL), ('nu5bad6cb37b853f4', 'nu5bad6cb35a52325', 'onchange', 'nuSelectAddSQLTable(event);', NULL), ('nu5bad6cb37b91ff1', 'nu5bad6cb35b23983', 'onchange', '$(\'#sqlframe\').contents().find(\'body\').css(\'zoom\', this.value / 100)', NULL), ('nu5bad6cb37ba5b09', 'nu5bad6cb35ab1f0a', 'onchange', 'nuSelectWhereClauses();\nnuSelectBuildSQL();', NULL), ('nu5bad6cb37bb54ac', 'nu5bad6cb35afa1d0', 'onchange', 'nuSelectBuildSQL();', NULL), ('nu5bad6cb37bc1b7a', 'nu5bad6cb35ad7f0a', 'onchange', 'nuSelectBuildSQL();', NULL), ('nu5bad6cb37bcc8fb', 'nu5bad6cb35b860e2', 'onchange', 'nuSelectBuildSQL();', NULL), ('nu5bad6cb37bd72d2', 'nu5bad6cb35a8885a', 'onchange', 'nuSelectBuildSQL();', NULL), ('nu5bad6cb37beca3a', 'nu5bad6cb34ebf5bd', 'onfocus', 'onColumnPicker(event);\n$(\'#available_columns\').prop(\'selectedIndex\',-1);\nnuShowAvailableFields(true);', NULL), ('nu5bad6cb37c0be93', 'nu5bad6cb34f0470a', 'afterinsertrow', 'nuSetFFTable();\nnuDisableLastFFRow();\n\nconst l = nuSubformObject(\'obj_sf\').rows.length;\n\nvar rowPrefix = \'obj_sf\' + nuPad3(l == 1 ? 0: l - 1);\nnuSetFFTypeOptionsColor(rowPrefix + \'ff_type\');\nnuSelectRemoveEmpty(rowPrefix + \'ff_type\', \'-1\');\n\nnuEnableFFDataType();', NULL), ('nu5bad6cb37c22211', 'nu5bad6cb35cf61c0', 'onclick', 'nuPopSQL(event, \'BR\');', NULL), ('nu5bad6cb37c317ec', 'nu5bad6cb35d26e8f', 'onclick', 'nuPopSQL(event, \'DI\');', NULL), ('nu5bad6cb37c45b5b', 'nu5bad6cb35d48819', 'onclick', 'nuPopSQL(event, \'SE\');', NULL), ('nu67c0804b3e35224', 'nu67bcf2045f3f018', 'onkeydown', 'event.preventDefault();', NULL), ('nu5bad6cb37c73e80', 'nu5bad6cb35dadfc5', 'onchange', 'nuOnFormTypeChanged();\n\nif (this.value == \'launch\') {\n nuSetValue(\'fastform_table\', \'\');\n nuShowAvailableFields(false);\n}', NULL), ('nu5bad6cb37ca3577', 'nu5bad6cb35b23983', 'afterinsertrow', 'nuSelectSetSFCB();', NULL), ('nu5bad6cb37ccc397', 'nu5bad6cb35ff457a', 'onclick', 'nuPopPHP(event, \'BB\');', NULL), ('nu5bad6cb37cda28d', 'nu5bad6cb366e865e', 'onchange', 'nuSetFFTable();', NULL), ('nu5bad6cb37ce6dae', 'nu5bad6cb3670b7db', 'onclick', 'nuBuildReportPickTableType();', NULL), ('nu5bd8f419d886e17', 'nu5bad6cb327ab3b8', 'afterinsertrow', 'nuFromDefaultDescription();\n\nlet l = nuSubformObject(\'zzzzsys_browse_sf\').rows.length;\nvar rowPrefix = \'zzzzsys_browse_sf\' + nuPad3(l == 1 ? 0 : l - 1);\nnuFormUpdateDisplayDatalists(rowPrefix + \'sbr_display\');', NULL), ('nu5f7129d5424e73c', 'nu5f711b9351ae752', 'onchange', 'nuCSVTransfer(this.value)', NULL), ('nu5fab41c055475d8', 'nu5bad6cb3513b16c', 'onchange', 'nuAddToFormat();', NULL), ('nu5fab41d07a80c9b', 'nu5fab2f8952634e4', 'onchange', 'nuAddToFormat();', NULL), ('nu5fab41e0265f1e4', 'nu5fab2fa48a504e4', 'onchange', 'nuAddToFormat();', NULL), ('nu5fab41f0d3d7845', 'nu5fab2fb6e66f19b', 'onchange', 'nuAddToFormat();', NULL), ('nu5fd6f92d9463a40', 'nu5fd6f828a1e42b1', 'onclick', 'nuSetValue(\'sob_all_cloneable\',0);', NULL), ('nu5fd6f95baab794b', 'nu5fd6f7819d659bc', 'onclick', 'nuSetValue(\'sob_all_cloneable\',1);', NULL), ('nu5fd6fa042a999b1', 'nu5fd6fa0428adcd3', 'onclick', 'nuSetValue(\'sob_all_align\',\'left\');', NULL), ('nu5fd6fbe95e24346', 'nu5fd6fbe95c2c61d', 'onclick', 'nuSetValue(\'sob_all_align\',\'right\');', NULL), ('nu5fd6fc4a7f52ae6', 'nu5fd6fc4a7ccf484', 'onclick', 'nuSetValue(\'sob_all_align\',\'center\');', NULL), ('nu5fd6fdad3ae76f5', 'nu5fd6fdad38e8f5d', 'onclick', 'nuSetValue(\'sob_all_validate\', 1);', NULL), ('nu5fd6fddaeb44cc3', 'nu5fd6fddae953fd3', 'onclick', 'nuSetValue(\'sob_all_access\', 2);', NULL), ('nu5fd6ff14af381f2', 'nu5fd6ff14ad0870d', 'onclick', 'nuSetValue(\'sob_all_access\',0);', NULL), ('nu5fd6ff6a110d480', 'nu5fd6ff6a0ef6017', 'onclick', 'nuSetValue(\'sob_all_access\', 1);', NULL), ('nu5fd757f92870577', 'nu5fd757f9266ea99', 'onclick', 'nuSetValue(\'sob_all_validate\', 0);', NULL), ('nu5fd7583fbf9bde0', 'nu5fd7583fbdb0750', 'onclick', 'nuSetValue(\'sob_all_validate\', 2);', NULL), ('nu5fdbe04a014fa', 'nu5fdbe049f365a', 'onclick', 'if (nuIsSaved()) { var fid = nuSubformRowId(this); nuPopup(\'nuObject\', fid);} else { nuMessage([\"Please save any changes before leaving this form.\"])} ', NULL), ('nu5fdcde23d59bc7a', 'nu5fdcde23d2db265', 'onchange', 'nuFormColor();', NULL), ('nu5fddb7fc8b5b539', 'nu5bad6cb32a1c004', 'oninput', 'nuObjectShowDataType();', NULL), ('nu5fdf83039b7f6d6', 'nu5fee9ff762770', 'afterinsertrow', 'nuProcUpdateAclCount();', NULL), ('nu5fe06a07c9e9567', 'nu5fe0547b841fb32', 'onclick', 'nu2FAVerify();', NULL), ('nu5fe1b140081ce8c', 'nu5fe1aeac3363ae7', 'onclick', 'nuSetupIncDBVersion();', NULL), ('nu5fe1b155b2648e4', 'nu5fe1b155aed9e46', 'onclick', 'nuSetupIncFilesVersion();', NULL), ('nu5fecdc0b9678ebf', 'nu5fa249be5df47ad', 'onclick', 'cloSubformsChecked();', NULL), ('nu5fecde321f82513', 'nu5fa959f97244564', 'onclick', 'cloIframeFormsChecked();', NULL), ('nu5fed986754a8a23', 'nu5fed8c73e475b16', 'onclick', 'nuForm(\"nuobjectgrid\",nuCurrentProperties().record_id,\"\", \"\", 2)', NULL), ('nu5ff0364d11e7498', 'nu5ff0352f501ba8c', 'onclick', 'if ($(this).prop(\'checked\')) { nuEnable(\'sob_calc_formula\'); $(\'#sob_calc_formula\').focus(); } else { nuDisable(\'sob_calc_formula\'); }', NULL), ('nu5ff0b31354688aa', 'nu5bad6cb32e1a66a', 'onchange', 'nuObjectSetLookupWidth();', NULL), ('nu5ff0b329e242e25', 'nu5bad6cb32e47d18', 'onchange', 'nuObjectSetLookupWidth();', NULL), ('nu5ff32fdade879d8', 'nu5ff32fdadb8f46f', 'onclick', 'var form_id = $(\'#sob_lookup_zzzzsys_form_id\').val(); if (form_id !== \'\') { nuForm(\'nuform\',form_id,\'\',\'\',2);} else { nuMessage([nuTranslate(\'Select a (Lookup) Form first.\')]); }', NULL), ('nu5ff4a8cb2258088', 'nu5ff4a82b76d96d6', 'onclick', 'if (!nuIsSaved()) {\n nuTranslate(\'Save the settings first\');\n} else {\n nuPopup(\'nuemailtest\',\'-1\')\n}', NULL), ('nu5ff4b6479adf58a', 'nu5ff4b5f53f85f69', 'onclick', 'nuemailtestLoadDatafromLS();', NULL), ('nu5ff4b67643ec503', 'nu5ff4b56934a1973', 'onclick', 'nuemailtestSaveDatatoLS();', NULL), ('nu5ff5b7b1bb92f1a', 'nu5ff5b7b1b918a4b', 'onclick', 'const formId = nuGetValue(\'sob_run_zzzzsys_form_id\');\n\nif (!formId) {\n nuMessage([nuTranslate(\'Select a Run Item first.\')]);\n return;\n}\n\nconst runType = nuGetValue(\'sob_run_type\');\n\nswitch (runType) {\n case \'P\':\n nuForm(\'nuprocedure\', formId, \'\', \'\', 2);\n break;\n case \'R\':\n nuForm(\'nubuildreport\', formId, \'\', \'\', 2);\n break;\n default: // \'F\' or any other\n nuForm(\'nuform\', formId, \'\', \'\', 2);\n break;\n}', NULL), ('nu5ff727ad73226b8', 'nu5ff727ad6f17b85', 'onclick', 'nuForm(\'nuaccess\',sus_zzzzsys_access_id.value,\'\',\'\',2);', NULL), ('nu60013e0629f72ae', 'nu60013e0626d80ce', 'onclick', 'var form_id = $(\'#sob_subform_zzzzsys_form_id\').val(); if (form_id !== \'\') { nuForm(\'nuform\',form_id,\'\',\'\',2);} else { nuMessage([nuTranslate(\'Select a Form (Subform) first.\')]); }', NULL), ('nu60028804f2e662b', 'nu60028804f043b86', 'onclick', 'var objType = nuGetValue(\'sob_all_type\',\'text\')\nif (objType !== \'\') { \n nuSelectTabByTitle(objType); \n}', NULL), ('nu60510d8a0a1478a', 'nu60510d8a0496fd5', 'onclick', 'nu2FASendToken();', NULL), ('nu605b66293122778', 'nu605b522d65c642a', 'onclick', 'nuSetValue(\'sob_all_validate\', 3);', NULL), ('nu606590a77f7de08', 'nu5bad6cb32d8ec39', 'onchange', 'nuObjectRunMethodChanged();', NULL), ('nu6065ae6429db0bd', 'nu5bad6cb32a1c004', 'onblur', '$(this).val($(this).val().replace(/\\s/g,\"\"));', NULL), ('nu6065aed581aba95', 'nu5bad6cb326a4367', 'onblur', '$(this).val($(this).val().replace(/\\s/g,\"\"));', NULL), ('nu606acbb9c729da3', 'nu5bad6cb327ca554', 'onchange', 'nuFromDefaultDescription();\nnuFormOnTitleDisplayChanged(event);', NULL), ('nu606ad5daa5324de', 'nu5bad6cb327ee8dc', 'onchange', 'nuFormOnTitleDisplayChanged(event);', NULL), ('nu606adc62e50275d', 'nu5bad6cb327ee8dc', 'onblur', 'nuFormOnDisplayBlur(event);', NULL), ('nu606c4b2a1170912', 'nu606c448e53cd465', 'onclick', 'nuAvailableFieldsOnClick(event, this);', NULL), ('nu606c7f4b120254f', 'nu606c448e53cd465', 'onblur', 'nuShowAvailableFields(false);', NULL), ('nu606c9e7a0af15b3', 'nu5bad6cb34ebf5bd', 'onkeyup', 'nuShowAvailableFields(true);\nnuSetDataUserModified(this, event);\nif (nuSubformHandleArrowKeyEvent(window.event)) window.event.preventDefault(); \n', NULL), ('nu606eec916480f6b', 'nu5bad6cb34ebf5bd', 'onblur', 'nuOnBlurFFField(this, event);', NULL), ('nu606f29e74fa90bc', 'nu5bad6cb34ee220e', 'onblur', 'nuOnBlurFFLabel(this, event);', NULL), ('nu606f64f83b36dbd', 'nu5bad6cb34ee220e', 'onkeydown', 'nuSetDataUserModified(this, event);', NULL), ('nu606f7854568b337', 'nu606f399ea7b558f', 'onchange', 'if(this.value.length !== 1){\n nuChangePrefix(this.value);\n}\n', NULL), ('nu6072b7075d65a8e', 'nu5bad6cb34ee220e', 'onkeyup', 'if (nuSubformHandleArrowKeyEvent(window.event)) {\n window.event.preventDefault(); \n}', NULL), ('nu607459b941be49a', 'nu60741457ef6f315', 'onchange', 'nuOnChangeFFType(this, event);', NULL), ('nu60758a15ecc02aa', 'nu5bad6cb34f0470a', 'clickdelete', 'nuClickDelete(event);', NULL), ('nu60dc7ad44f85974', 'nu5bad6cb328dde63', 'onchange', 'nuFormOnTabsTitleChanged(event) ', NULL), ('nu60e4d4c999e5e4a', 'nu5bad6cb3278653c', 'onchange', 'nuFormUpdateDisplayDatalists();', NULL), ('nu60e61e9c56651ae', 'nu5bad6cb327ee8dc', 'ondblclick', 'nuOpenAce(\'SQL\', this.id);', NULL), ('nu60e96ee3e5dcc3f', 'nu60e96ee3e51e1bb', 'onclick', 'var n = Number(sob_all_top.value) + (event.ctrlKey ? -27 : 27);\n$(\'#sob_all_top\').val(n < 0 ? 0 : n).change();', NULL), ('nu60e9719f5e49e66', 'nu60e9719f5d9bc8b', 'onclick', 'nuSetValue(\'sob_all_height\', nuGetValue(this.id))', NULL), ('nu60e971e1683aaa1', 'nu60e971e1676ca2d', 'onclick', 'nuSetValue(\'sob_all_height\', nuGetValue(this.id))', NULL), ('nu60e97221bc52ce0', 'nu60e97221bb95958', 'onclick', 'nuSetValue(\'sob_all_height\', nuGetValue(this.id))', NULL), ('nu60e9724c20900a9', 'nu60e9724c1fdd7c5', 'onclick', 'nuSetValue(\'sob_all_height\', nuGetValue(this.id))', NULL), ('nu60e9732db35a7f1', 'nu60e9732db2a4125', 'onclick', 'nuSetValue(\'sob_all_width\', nuGetValue(this.id))', NULL), ('nu60e973518b05887', 'nu60e973518a26f21', 'onclick', 'nuSetValue(\'sob_all_width\', nuGetValue(this.id))', NULL), ('nu60e97365095aa8c', 'nu60e9736508a9b31', 'onclick', 'nuSetValue(\'sob_all_width\', nuGetValue(this.id));', NULL), ('nu60e973b671d891a', 'nu60e973b6711a030', 'onclick', 'nuSetValue(\'sob_all_width\', nuGetValue(this.id))', NULL), ('nu60e974dd2eac661', 'nu60e974dd2df427c', 'onclick', 'nuSetValue(\'sob_all_width\', nuGetValue(this.id))', NULL), ('nu60e97510251557f', 'nu60e975102462aff', 'onclick', 'nuSetValue(\'sob_all_height\', nuGetValue(this.id))', NULL), ('nu60e9756969dff71', 'nu60e97569692fac5', 'onclick', 'nuSetValue(\'sob_all_width\', nuGetValue(this.id))', NULL), ('nu60e975e9337f224', 'nu60e975e932d74ef', 'onclick', 'var n = Number(sob_all_left.value) + (event.ctrlKey ? -50 : 50);\n$(\'#sob_all_left\').val(n < 0 ? 0 : n).change();', NULL), ('nu62cca90dc177496', 'nu62cca90dbd7f63c', 'onclick', 'nuHomeMenuClick(this, event, \'Report\');', NULL), ('nu60f901bdb3a8e1c', 'nu60f8fd56e325e76', 'onclick', 'var n = Number(sob_all_top.value) + (event.ctrlKey ? -50 : 50);\n$(\'#sob_all_top\').val(n < 0 ? 0 : n).change();', NULL), ('nu6105ea043106d4b', 'nu5bad6cb34ebf5bd', 'onchange', 'nuOnChangeFFField(this,event);', NULL), ('nu6106cb38a3b8fd9', 'nu6106cb38a30a9b5', 'onclick', 'nuSubformSetHeight(\'obj_sf\');', NULL), ('nu610a662e2f1de1c', 'nu610a662e2e599c2', 'onclick', 'nuFormJSSelectCustomCode(this,\'sfo_javascript\');', NULL), ('nu610a6655102c6ab', 'nu610a66550f61129', 'onclick', 'nuFormJSSelectCustomCode(this,\'sfo_browse_javascript\');', NULL), ('nu610a667b9cc7d66', 'nu610a667b9beba56', 'onclick', 'nuFormJSSelectCustomCode(this,\'sfo_edit_javascript\');', NULL), ('nu61b4d4cd893e097', 'nu61b4c3e0687b434', 'onchange', 'onAttributeChanged(this.value);', NULL), ('nu61b84e0ed3b2a22', 'nu61b8493549e0d7b', 'oninput', 'this.value = this.value.toLowerCase();\n', NULL), ('nu61b9eafed4466bc', 'nu61b9eafed36e281', 'onclick', 'nuForm(\'nuform\', id, \'\', \'\', 2);', NULL), ('nu61c81c6a559567c', 'nu606f399ea7b558f', 'onblur', 'if (this.value.length == 1) {\n nuMessage(\'The Prefix must be at least 2 characters long.\');\n this.focus();\n}', NULL), ('nu61ca74b0dc425d6', 'nu5bad6cb326a4367', 'onchange', 'sfo_primary_key.value = \'\';\nnuRefreshDisplayObject(\'sfo_primary_key_display\');\n', NULL), ('nu61cac33aabe71c9', 'nu61cac33aab3fc06', 'onclick', 'nuSubformSetHeight(\'zzzzsys_browse_sf\');', NULL), ('nu61cf1475d8871f4', 'nu6167e23e89d6ec8', 'onchange', 'if (this.value.trim() != \'\' && sob_all_style_type.value == \'\') {\n nuSetValue(\'sob_all_style_type\',\'CSS\');\n}', NULL), ('nu61d08c62cd26c2d', 'nu5fa0ff78688e2c5', 'onclick', '$(\'#clo_subforms_include\').click();', NULL), ('nu61d6c2af30be52d', 'nu61d6c2590b6dac1', 'onclick', 'nuCopyToClipboard($(\'#sfo_table\'));\n', NULL), ('nu61e55e8e6e3d2db', 'nu61e55dd85d03afb', 'onchange', 'nuObjectPreviewIcon(\'sob_input_icon_preview_html\',this.value);', NULL), ('nu61e9302bbe52aee', 'nu5bad6cb33b84bf4', 'onchange', '$(\'#sus_name\').addClass(\'nuEdited\');', NULL), ('nu61ea6d91bab0c60', 'nu61ea6d4bd6e9a49', 'onclick', 'nuObjectSetJSON();', NULL), ('nu6257b7628d3112d', 'nu6257b7628ac46ea', 'onclick', 'nuFormJSSelectCustomCode(this,\'sfo_style\');', NULL), ('nu6291b8c4eb47d59', 'nu5f9aaac963ecc49', 'onchange', 'enableDisableCheckboxes();', NULL), ('nu62b14c52a3c3649', 'nu62aee449c676cfb', 'onchange', 'nuSetupOnConfigValueChanged(this);\n', NULL), ('nu62b550a365d0303', 'nu62aee449c676cfb', 'onkeydown', 'if (nuSubformHandleArrowKeyEvent(event)) {\n event.preventDefault(); \n}', NULL), ('nu62b3336a1c13144', 'nu62b331e0b311799', 'onclick', 'if (confirm(nuTranslate(\"Import settings from nuconfig.php.\") + \"\\r\\n\" + nuTranslate(\"All existing configuration settings will be overwritten. Continue?\")) === true) {\n nuSetValue(\'configImport\', 1);\n window.configImport = 1;\n nuSaveAction();\n}', NULL), ('nu62cca90dc17fd49', 'nu62cca90dbda09a7', 'onclick', 'nuHomeMenuClick(this, event, \'Procedure\');', NULL), ('nu62cca90dc182849', 'nu62cca90dbe23269', 'onclick', 'nuVendorLogin(\'PMA\');', NULL), ('nu62cca90dc184bd2', 'nu62cca90dbe72fcf', 'onclick', 'nuHomeMenuClick(this, event, \'Form\');', NULL), ('nu62cca90dc186d3d', 'nu62cca90dbe7d11b', 'onclick', 'nuHomeMenuClick(this, event, \'Database\');', NULL), ('nu62cca90dc1890d7', 'nu62cca90dbea4053', 'onclick', 'nuHomeMenuClick(this, event, \'Setup\');', NULL), ('nu62da0f388a43beb', 'nu62da06d4b6a76ab', 'onchange', 'nuObjectFileUploadScript();', NULL), ('nu62daaffe4387423', 'nu62daaede874a146', 'onclick', 'nuVendorLogin(\'TFM\');', NULL), ('nu635294e973392b3', 'nu635294e972ea5f4', 'onclick', 'nuEmailTemplateAddSelectedField();', NULL), ('nu6352f62cbd9ef7e', 'nu635294e972f108a', 'onfocus', 'activeObj = $(this);', NULL), ('nu6352f63674f1a7d', 'nu635294e972f78da', 'onfocus', 'activeObj = $(this);', NULL), ('nu6352f64067eaf4b', 'nu635294e972ef846', 'onfocus', 'activeObj = $(this);', NULL), ('nu6352f648ccc7449', 'nu635294e972f2b2d', 'onfocus', 'activeObj = $(this);', NULL), ('nu6352f6531f581e1', 'nu635294e972e8dec', 'onfocus', 'activeObj = $(this);', NULL), ('nu63ab0c5d96775e6', 'nu5bad6cb352dce42', 'onchange', 'nuFFSetPrimaryKey();', NULL), ('nu63ed219d9cd6fd4', 'nu63ed219d9bc105c', 'onclick', 'nuSelectSelectAll(\'clo_tables_include\')\n', NULL), ('nu63ed261eeab8605', 'nu63ed261ee9bac3f', 'onclick', 'unselectAllOptionsStartingWith(\'clo_tables_include\',\'zzzzsys_\');\n$(\"#clo_tables_include\").trigger(\"change\");', NULL), ('nu63eda77978cca5b', 'nu63eda77977c63cb', 'onclick', 'const tables = selectToValueArray(\'clo_tables_include\');\n nuSetProperty(\'nubackup_tables_include\', tables.length === 0 ? \'\' : JSON.stringify(tables));\n\nnuRunBackup();', NULL), ('nu64043c9c94fc43f', 'nu62cca90dbee3839', 'onclick', 'nuHomeMenuClick(this, event, \'Notes\');', NULL), ('nu64ec0d598b645d8', 'nu64ec098aac06a37', 'onclick', 'nuPWGenRefreshPassword();', NULL), ('nu64ec11f0da0490b', 'nu64ec098aac5c389', 'onnuload', 'this.value = \'15\';', NULL), ('nu64ec130ceea44e9', 'nu64ec098aacb9761', 'onnuload', 'nuSetValue(this.id, true);', NULL), ('nu64ec131a9b1c47c', 'nu64ec098aad152f4', 'onnuload', 'nuSetValue(this.id, true);', NULL), ('nu64ec1339016e390', 'nu64ec098aad6e797', 'onnuload', 'nuSetValue(this.id, true);', NULL), ('nu64ec1346d3c742d', 'nu64ec098aadca883', 'onnuload', 'nuSetValue(this.id, true);', NULL), ('nu64f6d46644c5699', 'nu64f6d3792987c59', 'onnuload', 'if (nuIsNewRecord()) {\n nuSetValue(this.id, true);\n nuHasNotBeenEdited();\n}', NULL), ('nu64f955a34bce023', 'nu64f955a34a6e245', 'onnuload', 'if (nuIsNewRecord()) {\n nuSetValue(this.id, true);\n nuHasNotBeenEdited();\n}', NULL), ('nu64fbaa39556365d', 'nu64ec098aacb9761', 'onchange', 'nuPWGenRefreshPassword();', NULL), ('nu64fbaa4ec287913', 'nu64ec098aad152f4', 'onchange', 'nuPWGenRefreshPassword();', NULL), ('nu64fbaa6e9b23e1b', 'nu64ec098aad6e797', 'onchange', 'nuPWGenRefreshPassword();', NULL), ('nu64fbaa817e617e0', 'nu64ec098aadca883', 'onchange', 'nuPWGenRefreshPassword();', NULL), ('nu64fbaab3ba63dca', 'nu64ec098aac5c389', 'onchange', 'nuPWGenRefreshPassword();', NULL), ('nu651222da798812d', 'nu5bad6cb32b5c449', 'onchange', 'nuObjectDisplayAccessCondition();', NULL), ('nu65d7dde30d8086f', 'nu65d777adf04fa5f', 'oninput', '$(this).val(function(_, value) {\n return value.replace(/[\\s+*\"%\\/()=?`#;:{}\\\\]/g, \'\'); \n});', NULL), ('nu65dfd8995dfa123', 'nu62cca90dbe98b95', 'onclick', 'nuHomeMenuClick(this, event, \'User\');', NULL), ('nu6667647331dc096', 'nu5bad6cb34fa79c0', 'onnuload', 'if (nuIsNewRecord()) {\n nuSetValue(this.id, \'Date\');\n}', NULL), ('nu65f291ad06862d1', 'nu6352a9c47ec423e', 'onclick', 'nuHomeMenuClick(this, event, \'Email\');', NULL), ('nu65f8d9f0e0f8d65', 'nu65f8d60b0cacd08', 'onkeyup', 'if (event.key === \'Enter\' && event.ctrlKey) {\n nuOutputEval();\n}', NULL), ('nu66302f1914c47d2', 'nu5bad6cb32a36c23', 'onblur', 'if (this.value === \'\' && sob_all_type.value === \'subform\') $(this).val(\' \').change();', NULL), ('nu67b570cb83a84fc', 'nu64ec098aabab518', 'onclick', 'nuCopyToClipboard($(\'#pwg_input\'));', NULL), ('nu67c945696912cde', 'nu67c940bf969f659', 'onchange', 'nuUserSetNameParts(this);', NULL), ('nu67c943c0ae2172f', 'nu5bad6cb33ad88b7', 'onchange', 'nuUserSetNameParts(this);', NULL), ('nu67c9bd2c42d0474', 'nu67c940d83501a9a', 'onchange', 'nuUserSetNameParts(this);', NULL), ('nu67f84bdfdb15c65', 'nu5bad6cb33ed5ffe', 'oninput', 'nuDisable(\'nuRunHiddenButton\');', NULL), ('nu682e0f0f128485f', 'nu682ce4b0a6444a8', 'onclick', 'if (nuIsNewRecord() || !nuIsSaved()) {\n nuMessage(nuTranslate(\'Form must be saved first..\'));\n} else {\n nuPopup(\'nu682ce623ae184f0\'); // nuimportaccesslevel\n}', NULL), ('nu6834b6976ea6ac3', 'nu683303b254f82b7', 'onchange', 'nuGeneratorRun(false);', NULL), ('nu6834b69f45c277f', 'nu683303b2551aee5', 'onchange', 'nuGeneratorRun(false);', NULL), ('nu6834b6a813a3497', 'nu68331b4f5e8b32a', 'onchange', 'nuGeneratorRun(false);', NULL), ('nu683550b628a005b', 'nu683550b6279f3ac', 'onchange', 'nuGeneratorRun(false);', NULL), ('nu6835c6b3c9f2ccd', 'nu6835808fe52fb4f', 'onclick', 'nuGeneratorRunGetTags(this);', NULL), ('nu6839d5a9c34cc38', 'nu5bad6cb32c14343', 'oninput', 'if (this.value === \'*\') {\n this.value = $(this).attr(\'placeholder\');\n}', NULL), ('nu683afbdd48e420f', 'nu683afbdd482c2bc', 'onclick', 'nuToggleSize(\'pge_prompt\', 390);\n$(\'#pge_prompt\').css(\'z-index\', 200);\n$(\'#pge_prompt_extra\').css(\'z-index\', 100);', NULL), ('nu683bb1959608ff3', 'nu683bb195950009c', 'onclick', 'nuToggleSize(\'pge_prompt_extra\', 550);\nnuTogglePosition(\'pge_prompt_extra\', 30);\n$(\'#pge_prompt\').css(\'z-index\', 100);\n$(\'#pge_prompt_extra\').css(\'z-index\', 200);', NULL), ('nu683bbae118314fe', 'nu683bbae11732fe9', 'onclick', 'nuGeneratorPasteCodeFromTextArea();', NULL), ('nu683e8fe838c9d21', 'nu61e55dd85d03afb', 'oninput', 'if (this.value.trim().startsWith(\'\");\nif (this.value !== noTags) {\n this.value = noTags.trim();\n}', NULL), ('nu6842dc89412c2ba', 'nu6842dc89403a4a6', 'onclick', 'function togglePassword() {\n const input = document.getElementById(\'check_password\');\n const input2 = document.getElementById(\'new_password\');\n const icon = document.querySelector(\'#btn_toggle_password i\');\n\n\n const isPassword = input.type === \'password\';\n input.type = isPassword ? \'text\' : \'password\';\n input2.type = isPassword ? \'text\' : \'password\';\n\n icon.classList.toggle(\'fa-eye\');\n icon.classList.toggle(\'fa-eye-slash\');\n}\n\ntogglePassword();', NULL), ('nu684e1c92bf3b2f2', 'nu684e17844eca02f', 'onchange', 'nuTabAdditionalSetMarker();', NULL), ('nu684e1e4d7fbf5ee', 'nu65d7dabf1036576', 'onchange', 'nuTabPermissionsSetMarker();', NULL), ('nu684e1f6060d6734', 'nu5bad6cb342de027', 'onchange', 'nuTabsSetMarker();', NULL), ('nu684e1f6e02383b8', 'nu5bad6cb341fdfc3', 'onchange', 'nuTabsSetMarker();', NULL), ('nu684e1f78b022660', 'nu5bad6cb33715015', 'onchange', 'nuTabsSetMarker();', NULL), ('nu684e201acb7a1a6', 'nu5fee9ffe0330e', 'onchange', 'nuProcedureSetMarker();', NULL), ('nu684e21744176e96', 'nu5ff2c03acc8a591', 'onchange', 'nuTabsAccesLevelSetMarker();', NULL), ('nu684e2d478f19dcc', 'nu5fdb9ffe0330e', 'onchange', 'nuTabsAccesLevelsSetMarker();', NULL), ('nu684e2744696f0e1', 'nu5bad6cb331a6d3e', 'onchange', 'nuTabsCustomCodeSetMarker();', NULL), ('nu684e274c6b4513a', 'nu5bad6cb3316ef87', 'onchange', 'nuTabsCustomCodeSetMarker();', NULL), ('nu68635e281c406aa', 'nu68635e281bad53e', 'onclick', 'const formId = nuGetValue(\'sob_display_procedure\');\nif (!formId) {\n nuMessage([nuTranslate(\'Select a Display Procedure first.\')]);\n return;\n}\nnuForm(\'nuprocedure\', formId, \'\', \'\', 2);', NULL), ('nu68635f301b71446', 'nu68635f301aea9e9', 'onclick', 'const formId = nuGetValue(\'sob_select_procedure\');\nif (!formId) {\n nuMessage([nuTranslate(\'Select a Select Procedure first.\')]);\n return;\n}\nnuForm(\'nuprocedure\', formId, \'\', \'\', 2);', NULL), ('nu68841fdb70c7efa', 'nu5fe1bbb6cc15263', 'onclick', 'nuSaveAction();', NULL), ('nu6886eb1bb6492b6', 'nu6886eb1bb5d9ee2', 'onclick', 'nuSelectSelectAll(\'cla_opt_2_include\')\n', NULL), ('nu6886ee5339867ad', 'nu6886ee5338fb4ac', 'onclick', 'nuSelectSelectAll(\'cla_opt_2_include\', false)\n', NULL), ('nu6887147de089b83', 'nu6885af953ea61be', 'oninput', 'nuAppClonerNoAutoFill(event);', NULL), ('nu68871c73af5dac3', 'nu6885af953ea642e', 'onchange', 'nuAppClonerNoAutoFill(event);', NULL), ('nu688a62e8954f4c5', 'nu68874ed2b0489d7', 'oninput', 'if (this.value === \'*\') {\n let placeholder = $(this).attr(\'placeholder\');\n if (placeholder) {\n let lines = placeholder.split(\'\\n\');\n lines.shift(); // remove the first line\n this.value = lines.join(\'\\n\').trim();\n }\n}', NULL), ('nu688a63eb0f4815d', 'nu6887511e5689d14', 'onchange', 'nuProcedureSetMarker();', NULL), ('nu688ba5aa8828866', 'nu688ba5aa8781631', 'onclick', 'nuSelectSetIndex(\'sph_run\',1);', NULL), ('nu688ba64051490f6', 'nu688ba64050cec1c', 'onclick', 'nuSelectSetIndex(\'sph_run\',2);', NULL), ('nu688f3fd18465242', 'nu6885af953ea5bf9', 'onchange', 'nuAppClonerHostChanged();', NULL), ('nu688fa04c883c2ed', 'nu688fa04c87b4359', 'onclick', 'nuSelectSelectAll(\'cla_opt_2_exclude\')\n', NULL), ('nu688fa07d9eb7d3b', 'nu688fa07d9e392fc', 'onclick', 'nuSelectSelectAll(\'cla_opt_2_exclude\', false)\n', NULL), ('nu68bd1f7eb10ae71', 'nu61b4c5e8e2b6f41', 'onclick', 'nuObjectEditAttributes();', NULL); -- -------------------------------------------------------- -- -- Table structure for table `zzzzsys_file` -- CREATE TABLE `zzzzsys_file` ( `zzzzsys_file_id` varchar(25) NOT NULL, `sfi_code` varchar(300) DEFAULT NULL, `sfi_description` varchar(300) DEFAULT NULL, `sfi_group` varchar(300) DEFAULT NULL, `sfi_json` longtext, `sfi_system` char(1) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3; -- -- Dumping data for table `zzzzsys_file` -- INSERT INTO `zzzzsys_file` (`zzzzsys_file_id`, `sfi_code`, `sfi_description`, `sfi_group`, `sfi_json`, `sfi_system`) VALUES ('nu5bad6cb37d02d01', 'nubuilder', 'Logo', 'nubuilder', '{\"file\":\"ZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFLc0FBQUErQ0FZQUFBQlVRK3ZwQUFBQUNYQklXWE1BQUJZbEFBQVdKUUZKVWlUd0FBQUFCM1JKVFVVSDRRa2FGaklXSW5lSjd3QUFEaU5KUkVGVWVOcnRuWHQwVmRXZHh6Ky9jMjRTREkvY1JHUUVIL1d4ckFwVDYyUFZCMUt4dGVPcWRvb1FHclNEdFlJSWdWbXVsclpNeHlrelZNZDIydFdwenVCQURRWE1XTmU0SkNhcHNUaUY2Um9meXlxMkkzMkF1S3d3Z3c5SUVEQTNQQkx1NDV6Zi9ISE92ZmZrNXB4N0UvSzg1SHl6ZHU2OVorK3p6MzU4OTIvLzltOC9qcWdxSVVJVUE0eXdDRUtFWkEwUklpUnJpSkNzSVVLTWNFUUNmZXJsUmt4bVlISm1qMUEyWUNGWVlMdWZKQkVTUUJ4SUlDUVFrb0RTYVJqczRoaFBzMXFQcEtPNHJWbm1Zek94VzhzUnVrVDR1U3EzV2pERlVNb1JmbTladlBaY2plNERxRzZXMHkyYk8zT1Rxd1p2dE16UlYyWTF5YWRFbWQ0am84S214bXB0bFliMmN6SGxpUUxsWWlQU2h0cnZnL0VPWlRUcUZ5cmFCNk1DcExIOVI0aDh5dGZUaXQ2RTJiRUE5RTUvZjN1WjFsVHRLdmlNaG8rbVlocHJnMnBhcTZQMXhVdldmNWUvb1pUWm1DaW1LMys5TXRoeTcweUJZVGtrVlVXd2tReVJEY1Q5UTJFR1k2bVdsYktJaHh6U2lYS2pDaGQwSTV5aU5ud0pNQVZRQWVBNncyVHBiVTN5WXBuRjkxTXdRVXhtNVNiWlZMcUFWeFF1RXVucG4xUitCYlJpMk9WZ3ppeFlNcXFBQUFweGVWU2FZMCtUc3I2ak5hZnZHK0MrN1RLVWZPazVId0w4amNqNFhqM0RaRUpnSFBCQzhhb0JUOGpWbERLYkVwUVNvQlIxdjJ2bWUvWWFSRkJLWGZLbXlaMzk3V25lVExSdHZwMlhINExrM09YRmpWM0NqY05UVERvRzVhdVk1Z3ZTY21oSzJDR1BGTEthWEVQRUpWMEpTZ1F5cEhSK3AwbnFYSE5KS3FiN1BRSVlLQ2FLUVRjanJpaFg4WUJFVGpheHBuREpNSmZYUmFRaXpTRnRSZ3BaRFNaaWRDZWlLMDNKa0RGTjVyVDBkTDlMbXFDRzUzbzN0bElLUkFOMUswVWpjS2R0ODQrKzhnM0tCcjFFUko0Q1hzNFQ0bXBwT0ZJMWNFSmJPb0dqQVM1RVhwMjFCTWtRemNnUWxveVVORnk5RkJSRlhISm1QMDBQVWRPNnJ1MkpQNDRFMWh0ME5GWnI2N3dHMGZod2xZaHRQNGxkdVFVenRoczR6NytKVzljQ3p3OElWNnVqYy9LMm5hYVFwUGtIV09KS3g2elRqSlJVbkpHSG5ia3VwTnl4aU5lbDViYjBQVkh4TXBUVThCV0sxbUJKTTYrZ0FXUVZZNHBEcFBZZmdwemhJNTBQNkp5Sys1MHdzZThDNS9xVThSR2RFLzI2Tk1XK0NVenpmYzZPNkNJKzBjc09vZVhRZUZLUmUwQ3ZCVGtIbFE0TWJjWG1aZFI0dHk5R1NtazVOQVVyY2pzMjV5Rk1BYzVFaUtPMEFXM0FUcXprTTFwenhyRnU5elczejBmbHBvQSsvRUVzbllISVRGVE9RblE4OEM3SWk1eFc4VE85aGZqSmtqWDdLVDZrRTFlSzVpb1Q0aE5Ic1VMcHhhSUorUkowdDJpNGxvUjNnUHZkZUc1RHVOd24vZ1BBMXhHOUdaV2JmYU9meXIyOUl0ZlBPNjdDam13RnFqSUZMNG9yVmhZaXhIdE4wcFQ1TUVUbUFwRnVkWmhiR21iSmFtbUsxV05GdjZVMUpGeVY1aHBnUVlBeGNEWWlsWm0wT1pnQk9wK3UyRXBwa3M5cWRjWC85azFuOVNaTVBYWlY3ZWFrVzlkdUIyUW94T0NyMkM4U3dkYm5IYUlHb3FDdUx3MEh4NUdLL0FMa2R2TFozN01ZRDl4SHBLTmVIdWlWM0s3TTQvY3gwSmErRDdEd2tOR3htWUx0R3Y0ZEp4bnkycDd2ZnM0T0NUem9PQno3QkRDcC93cGg1QitBSy9yZUErbVh1U3cyZXdCeU1rMmFZaC9yRzFsVEdWTGlNZktuWjZ5OHY4a1FXblBDcGovMVZDWHI4STMvZXRhZ1RNd2pMOTlDNVhiZ3VjSlpNbVlFRFNGQTdrWDFuL1BjZkczaExrQzNJbndOcEMzUDZIWnkzOGhxWjV3emNFcGxQaDJYY0srbHAxblQvaGFvN2M1aVdSNUNGeTlaeS9PWW05NHFqaXpZVCtyY2lrMElQODdMb3djd1FDOFA4SDVWcXl2V1UxNjUwbVdBWDNsY1hyZ3htQ3QxVG5RMW9rK2ZkTHYwbGF4WkFqcnoreW1FcE92UzF4eVhEZWNsdEkyZ2J0aGkxQU1iRHA0SjNCTGcvUVoyeGUrS0l5UFM1UkRGenQ4VHpNUUFUZ3RRQ1k4RHVLUDFaRUFNcFlYSm11cDBFM1Zzd0V4WGRoSXhzbU4remRoVnhaV1JYbjAyVGRRRXFFUHd0TFROcWhORngxUlppMWx5anI4K0w5dXdqTHUxcGloelZ2U0krRWxXQlJGRnNaR01uZFZycXJKYzBycWsxTFRrVGJuU051MktFMzVLL241VXY4M082SC9vcW01MmtCRERTdGE0SXpsZC9SUEp6bEIxTjJPbGRWU3YycEJ3cFd1eVNLVnFNRjRIUG1KcTBWdVBpeG85dTdvRTJmV29jZEFFb25GRVQ3Z3VrWFVrTXBJVWQvMnF1SnBOTVZmcVFaOXJjeERaakJsN1dSbzZ6ZzlwTTFJa2F5S2psMmJuK3IxVHFHUWxhMmJ0YXNwRDJtU1JTeC9WdXpHTnQ3SFpDVG9teDNjNkpzOUwvZDRyOU83elRvd0toZ2dYdTFQRzRLeS82MmY1SnRjZ2tRWmZ2MlBKM1gwbHEyVE1WdWtGS2VJWllLVUhXWDVrUFVXNmZwMWRzVWVhWXY4SitDd3kwVXVZRUwwRHFCOGxBdTBpWU5XQWxXMzF4RmFnZFdBa2E5TFZPM05YVHVXMk55dEh1ZzZ6UGRWU3hnSVl5dGdCa3UzSDhraWJ5d2t4QXRRQW0rTUlqcTAwU1hZUlMzYzFRRTVxS2xWUnloeTczWUQzVnNKTnN4dWxIT0hxSVNpM2FFaWRFVUJXUTNoVFliYUh2Rmw1MG4vczVidmEyWjhJVXVQWVg5S0ZSYytsM2FlcDhObXdTZ2NjT3hGZGsxOEl5Zjdoa2F5SDJheFYzQ0hDaFFNdS9VeFc5emVPNTIvUitHMk4wb0J3Ujhpam9WRGcyYXZWbFk4QlNIUHNWNmp2Q3E3ZkF5MURUOVk2VFJwL0swdHNXQzdDcDRFSi9WY24yVzNBR2g3UzE3S0RidDVTaU9WMDVjY0FyR01rakRLMjkyekF2QWZRTXBmMVgyeGloeWpUUlppdU1FR2h6WUJmbyt5MzRZYmNlMDF6Y05TUFVVYmM2ZmhQeXc3SjBOcC8zZUlQdE1NQXgxeXhRc1l5cmg4cXdIN2lVcWM5NXBTZm5hc1BCOTN5aTcvU2RtQkZIdFZYcVdZYnNFMlFSMm9hTURiVnFMZkFuZ3VaTlJvR1dMbjRrUjRmMlkxZGxYQ3VmbFFnUEQ0b0dHUHl0SkJEWWZHRVpCMFJrTTBkbFFRdkVRVFZOM3BOZEpHeVljdUl1ak53dGpFbWI3aVhzRUg4WitURVdkY3JEWlFTUElPVkdCbHF3T2hydmc4VDEvUEp0MGJUam13dkVNczUwaHhianNweDBFc0htWkY1aUNMenBUbjJOZ1pmelJ2REtteHA0bmZBZFQ1eFRKZkdqbm1ZZW1rZ1gxVC9FSkxWQjh0azR5ejdKSXp5SmllYTF1aXl3Z3QvVlM0dUVPSlJyUm4vdHZ2OUVINjdXeDFWNGVFaDJTWmhwcmFUaXZqWm5RR21vVFQya3ZTditwTlZ4eUFVV04xdmJBdko2aWZVME84QmY5N25ycDJ5bDhnM2hkcTdDdDFDVmVVM1BKSCtFdTNuak5tWEc5OC9ONTdzY1RoYUVxeldUVXNMcDJqV3hLUFMyTDRSa1h2N3g0VFVBNlFpbndNKzJiZUMxVTNzaURZek55VHJTTUdicUR6SXp1Z3ozUlpmSDR3K3hNVFlWSnlURC8zd29hdm5CVzVEbmhaUG5ET0Rzcy9rWHUvQ092cEVyMXR3NVZMTVdCeW9EYTVUMlFaNkRRRXprVHByNGxGcCt1Z3Z3WGdFWndHUFdlQ3B4MEdlWUV4MCtWQXRTRC9GeUtyYlFaN3g4MGxpT1JNUVJ1bEJzRmNVanNydXhEWjJZN0NiSFJWN2RSVjJydlRReFNTRjZEeWFZcDlHOVU1RUxuVExkQzhpT3pDVGRWaVJPU0NUZk9NSHp2YWMrTkM5WXNSa0Y4bzArNWVZUnNEWnNJbjN3RGxCQnFMM1NjdWhmeUpwTGtEa1Vwd2REMTBvZjBKbzFPcUtGNlN4WXg1R3p1a3dsdlZxSmtuVlZSOEFOZEwwMGRtSWVRZTJ1aWV5eUdSRVQ2RFNCdG9HOGlaZDFpYWRYM1drZTZPUlp6R2RpWnNlS0NrNTBPK0JiN0c5cmFWV051eklvd2JVUDZiM0xPaHRYRXRrWGJsQjZTU3dLa0VyRlV6RlBGeUNmZmdNUHRpM1NsZWxmTzZaREtXKzI1L0hNblkzUUNmSHpqZXdUbGUwSEl3UFN4aXpaN1hPUCtLSjQwSW9kVWJacE9wQnJ2U0p6bExNSzdMcVQ2cjlwN3JvZzl4QWQ4blB4cFlSbjFRQ1ZTbk1Tb2ZvVnJ1RkhZdVFPdEFyUGIxSU1PclVnTCtXdGVOc3lwYUIzaXFZMXl0V0pLMkFPdjl0VWtBclp4K3RsUTB2SzdvWjdQVjF1ampwK0J2THdmS1Z6SjBjZVFXNEVpaTNQVXZWRXB4STFNcUdMWXExdkU0WDd4SE1lckJtZUovck4zUVNyRDltQjRqRzQ4QkNnSHRrNC9nSTNDZm9yZVZ3SFlqaEhEMW11OFFXQkJNTDA2NlZEYjhWWkt0SjVGLy9UZTg2WE55R21sR0VKYkx1UW91eTF4VitxTWpNQW8xMVBQQUZRZGFDK1Q5TFpGMXZ6b2FkZ2Y5NUE2WEFGd1h6dDB0a1hYay9yU0VYUk5EWHhSbG9YbCtnRGczZ0drWC9Qa1Z5K3pKWmYxa29XWXNHNWdwZ2FwQUtBWklBWGR6VGtzQmxZTndQK2UyVndCOFV0b2t6NERyZHg3L1N4TGpLUnVzVU5ydXgxNHIvamxwYjBlOTRmdTl3TEdMNkxZRUEyNjA4RHBvQzN3UGR6cldSRmNCWFFySVdCM3lQWTFSNHQ4N1ZkV3RsNHcyZ1BsTFUrSHd2aGdCTDYzVGhhMHRsL1dGRi9zNHZSQXJUV0tjTG52VG80TGZpVDFhclRoZjlvR2RhNVRNQjl0di9lMHdYTG5Uam5BbDgzQ2ZNRGFGa0hUbTRybFkyclBHcDRHZnFkT0VMRWpEZkwzaVBoQXc2eDBvTGxwVWljVWRuNU1UZzdaclVnS2xUeWNtRCtEWEtTRWpXa1lPTFhaZERSdjBUUmZSV2toRGhBQ3RFa2VOVW14VFlaQkw1V3U3Vm81aEhoMVlDbEc2MHNiYjYrWTJoZEpCT0lOUXphMlc5dTIxSXpnckpPdUlobld2MDdyYmhUc1ZQOUs1OXdMNGhmbXdVNUw1UURRZ1JJcFNzSVFZUWUwcVFHd0FTNkYrQVZ2UWNhQnJIUTdLR0dBa3FVUEpSWGJnZm9GYldmeE9reDB1SkZOMFBiQWpWZ0JBaFFyS2UraEl4d0tOa3NmejA0Mkg1akY0MTRBUGdiSi9yazViSXV2SjJLbE5WeU9TQTZjeEJXckZrdHdhdHZESXduMTBxRzdjcWVoQjB6Mk82NkNuWHluQmV6OUQ2WjkrUWh0TlN0TmxRSHZUV2swTWhXWXNFaWpTSi8ydHdvb0o1b0lvak5nRW4wQWpTTWpocE1uWUZIOEdvbHlqcE40SExPOEJUenR0YzlYcWZ3SldkSFBrUXlnUHpZQ0RQaG1wQWtXQUs3LzlZMEpYZ3V3MWpYRkFsSzlTZHdGZzVHR2t5aWY4RUFsYlgrMkF5Ny84THpubXAyc2M4UEhLWThRK0ZrblVvTlR4a2kyTHZDcWlRMytTN2Q1V3Vzb0h2TFpUSDE1V2hOK09ZZU01U3BCSm5uMVNKUXJ1QnRpc2NBSGxKc2JiVTZlSTlubWorQ0xySm4zZ2E2MnQrMXVyUzlublNjRUVsUjI4QyswcEJvdXJzM3EwUTFDTk1wTldUaHdmdmxmVjFCdko1Z2M4Qms0RXFoU3B4U053T3hBUmFGZmx2SmZWZmRicjR2V0lYTmtXM3JTVkVhQTBJRVNJa2E0Z1FJVmxEaEdRTkVXS2s0djhCd2cxQWNlSk1iSU1BQUFBQVNVVk9SSzVDWUlJPQ==\",\"name\":\"logo.png\",\"size\":3716,\"type\":\"image/png\"}', ''); -- -------------------------------------------------------- -- -- Table structure for table `zzzzsys_form` -- CREATE TABLE `zzzzsys_form` ( `zzzzsys_form_id` varchar(25) NOT NULL, `sfo_type` varchar(300) DEFAULT NULL, `sfo_code` varchar(300) DEFAULT NULL, `sfo_description` varchar(300) DEFAULT NULL, `sfo_group` varchar(100) DEFAULT NULL, `sfo_status` varchar(1) DEFAULT NULL, `sfo_breadcrumb_title` varchar(100) DEFAULT NULL, `sfo_table` varchar(300) DEFAULT NULL, `sfo_primary_key` varchar(300) DEFAULT NULL, `sfo_browse_redirect_form_id` varchar(300) DEFAULT NULL, `sfo_browse_target` varchar(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL, `sfo_browse_row_height` int DEFAULT NULL, `sfo_browse_rows_per_page` int DEFAULT NULL, `sfo_browse_title_multiline` varchar(1) DEFAULT '0', `sfo_browse_autoresize_columns` varchar(1) DEFAULT NULL, `sfo_browse_sql` text, `sfo_javascript` longtext, `sfo_browse_javascript` mediumtext, `sfo_edit_javascript` mediumtext, `sfo_style` mediumtext, `sfo_mobile_view` varchar(1) DEFAULT NULL, `sfo_json` mediumtext ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3; -- -- Dumping data for table `zzzzsys_form` -- INSERT INTO `zzzzsys_form` (`zzzzsys_form_id`, `sfo_type`, `sfo_code`, `sfo_description`, `sfo_group`, `sfo_status`, `sfo_breadcrumb_title`, `sfo_table`, `sfo_primary_key`, `sfo_browse_redirect_form_id`, `sfo_browse_target`, `sfo_browse_row_height`, `sfo_browse_rows_per_page`, `sfo_browse_title_multiline`, `sfo_browse_autoresize_columns`, `sfo_browse_sql`, `sfo_javascript`, `sfo_browse_javascript`, `sfo_edit_javascript`, `sfo_style`, `sfo_mobile_view`, `sfo_json`) VALUES ('nu5fdb9ffd45aaa', 'subform', 'nuobjectsubform', 'Forms Objects', 'nubuilder', '1', NULL, 'zzzzsys_object', 'zzzzsys_object_id', '', NULL, 0, 0, '0', NULL, 'SELECT * FROM zzzzsys_object \nORDER BY sob_all_zzzzsys_tab_id, sob_all_order', NULL, NULL, NULL, NULL, NULL, NULL), ('nu5fdb9ffd45efe', 'subform', 'nuaccesssubform', 'Accessible Forms', 'nubuilder', '1', NULL, 'zzzzsys_access_form', 'zzzzsys_access_form_id', '', NULL, 0, 0, '0', NULL, 'SELECT * FROM zzzzsys_access_form', NULL, NULL, NULL, NULL, NULL, NULL), ('nu5feb9ffd45efe', 'subform', 'nuaccesssubform_rep', 'Accessible Reports', 'nubuilder', '1', NULL, 'zzzzsys_access_report', 'zzzzsys_access_report_id', '', NULL, 0, 0, '0', NULL, 'SELECT * FROM zzzzsys_access_report', NULL, NULL, NULL, NULL, NULL, NULL), ('nu5fee9ffd45efe', 'subform', 'nuaccesssubform_php', 'Accessible PHP procs', 'nubuilder', '1', NULL, 'zzzzsys_access_php', 'zzzzsys_access_php_id', '', NULL, 0, 0, '0', NULL, 'SELECT * FROM zzzzsys_access_php', NULL, NULL, NULL, NULL, NULL, NULL), ('nu61e9969a239c033', 'subform', 'nuobjectjsonsubform', 'Object JSON', 'nubuilder', '1', NULL, 'zzzzsys_object_json', 'zzzzsys_object_json_id', '', NULL, 0, 0, '0', NULL, 'SELECT * FROM zzzzsys_object_json', NULL, NULL, NULL, NULL, NULL, NULL), ('nu62aee4493239e3a', 'subform', 'nuconfigsettingssubform', 'config settings subform', 'nubuilder', '1', NULL, 'zzzzsys_config', 'zzzzsys_config_id', '', NULL, 0, 0, '0', NULL, 'SELECT * FROM zzzzsys_config \nORDER BY cfg_order', NULL, NULL, NULL, NULL, NULL, NULL), ('nuaccess', 'browseedit', 'nuaccess', 'Access Levels', 'nubuilder', '1', '#sal_code#|New', 'zzzzsys_access', 'zzzzsys_access_id', '', NULL, 0, 17, '0', '', 'SELECT zzzzsys_access.*, zzzzsys_form.sfo_code FROM zzzzsys_access\nLEFT JOIN zzzzsys_form \nON sal_zzzzsys_form_id = zzzzsys_form_id\nORDER BY sal_code\n', NULL, 'nuBrowseStyleBadge(2); // Group', '$(\'#sal_zzzzsys_form_id_open_button\').toggleClass(\'input_button nuButton nuLookupButton\');\nif (nuIsNewRecord()) nuHide(\'sal_zzzzsys_form_id_open_button\');\n\nnuAccessFormSetButtonIcons();\nnuAccessAddSfFilter();\n\nfunction nuAccessAddSfFilter() {\n\n let sfFilter = {};\n sfFilter.accform = {\n \'slf_zzzzsys_form_id\': {\n type: \'search\',\n float: \'left\',\n placeholder: nuTranslate(\'Search\')}\n };\n\n nuSubformAddFilter(sfFilter);\n\n}\n\nfunction nuTabsSetMarker() {\n nuTabSetMarker(\'nu5bad6cb36af0c58\', \'accform000slf_zzzzsys_form_idcode\'); // Forms\n nuTabSetMarker(\'nu5bad6cb36c16b42\', \'accphp000slp_zzzzsys_php_idcode\'); // Procedures\n nuTabSetMarker(\'nu5bad6cb36c39fc8\', \'accreport000sre_zzzzsys_report_idcode\'); // Reports\n}\n\nnuTabsSetMarker();\n', '', '1', NULL), ('nuaccessforms', 'edit', 'nuaccessforms', 'Accessible Forms', 'nubuilder', '1', NULL, 'zzzzsys_access_form', 'zzzzsys_access_form_id', '', NULL, 0, 0, '0', NULL, 'SELECT * FROM zzzzsys_access_form\nLEFT JOIN zzzzsys_form ON zzzzsys_form_id = slf_zzzzsys_form_id\nORDER BY sfo_code\n', NULL, NULL, NULL, NULL, NULL, NULL), ('nuaccessgroup', 'subform', 'nuaccessgroup', 'Groups Access Level', 'nubuilder', '1', NULL, 'zzzzsys_user_group_access_level', 'zzzzsys_user_group_access_level_id', '', NULL, 0, 0, '0', NULL, 'SELECT * FROM zzzzsys_user_group_access_level', NULL, NULL, NULL, NULL, NULL, NULL), ('nuaccesslevelreport', 'browseedit', 'nuaccesslevelreport', 'Access To Report', 'nubuilder', '1', NULL, 'zzzzsys_access_report', 'zzzzsys_access_report_id', '', NULL, 0, 0, '0', NULL, 'SELECT * \nFROM zzzzsys_access_report\nJOIN zzzzsys_report ON zzzzsys_report_id = sre_zzzzsys_report_id\nORDER BY sre_code', NULL, NULL, NULL, NULL, NULL, NULL), ('nuaccessreport', 'browseedit', 'nuaccessreport', 'Access To Procedures', 'nubuilder', '1', NULL, 'zzzzsys_access_php', 'zzzzsys_access_php_id', '', NULL, 0, 0, '0', NULL, 'SELECT * \nFROM zzzzsys_access_php\nJOIN zzzzsys_php ON zzzzsys_php_id = slp_zzzzsys_php_id\nORDER BY sph_code', NULL, NULL, NULL, NULL, NULL, NULL), ('nuaddattribute', 'launch', 'nuaddattribute', 'Add attribute', 'nubuilder', '1', NULL, '', '', '', NULL, 0, 0, '0', NULL, 'SELECT * FROM Launch Form 0', '/*\n 0|autocomplete|\n 1|accesskey|\n 2|data-|\n 3|maxlength|\n 4|placeholder|\n 5|spellcheck|\n 6|title|\n 7|value|\n 8|nu-label-position\n 9|nu-disable-calendar\n 10|nu-tooltip\n 11|nu-tooltip-icon\n\n*/\n\nnuHide(\'plh_value_select\');\nnuHide(\'plh_attribute_name\');\nnuHideTabs(0);\nnuSelectRemoveEmpty(\'plh_attribute\', \'-1\');\nnuAddActionButton(\'nuAddAttribute\', \'Add\', \'addAttribute();\');\n\nfunction nuOnMobileViewComplete() {\n const currentTop = $(\'#plh_value_text\').css(\'top\');\n const currentTopLabel = $(\'#label_plh_value_text\').css(\'top\');\n $(\'#plh_value_select\').css(\'top\', currentTop);\n $(\'#label_plh_value_select\').css(\'top\', currentTopLabel);\n}\n\nif (typeObj().val() !== \'input\') {\n nuSelectRemoveOption(\'plh_attribute\', \'7\').val(\'\');\n}\n\nfunction onAttributeChanged(value) {\n\n nuShow(\'plh_value_select\', value === \'0\' || value === \'5\' || value === \'8\');\n nuShow(\'plh_value_text\', !(value === \'0\' || value === \'5\' || value === \'8\' || value === \'9\'));\n nuShow(\'plh_attribute_name\', value === \'2\');\n \n nuSetValue(\'plh_value_text\',\'\');\n\n if (value === \'0\') {\n $(\"#plh_value_select\").empty();\n addSelectOption(\'0\', \'on\');\n addSelectOption(\'1\', \'off\');\n } else if (value === \'5\') {\n $(\"#plh_value_select\").empty();\n addSelectOption(\'0\', \'true\');\n addSelectOption(\'1\', \'false\');\n } else if (value === \'4\') {\n nuSetPlaceholder(\'plh_value_text\', \'Placeholder text\');\n } else if (value === \'6\' || value === \'10\' || value === \'11\') {\n nuSetPlaceholder(\'plh_value_text\', \'Tooltip text\');\n } else if (value === \'2\') {\n nuSetPlaceholder(\'plh_value_text\', \'String value\');\n $(\'#plh_attribute_name\').trigger(\"focus\");\n } else if (value === \'1\') {\n nuSetPlaceholder(\'plh_value_text\', \'Single character\');\n } else if (value === \'3\') {\n nuSetPlaceholder(\'plh_value_text\', \'Number value\');\n } else if (value === \'7\') {\n nuSetPlaceholder(\'plh_value_text\', \'String\');\n } else if (value === \'8\') {\n $(\"#plh_value_select\").empty();\n addSelectOption(\'top\', \'top\');\n addSelectOption(\'custom\', \'custom\');\n } \n\n}\n\nfunction addSelectOption(value, text) {\n $(\'#plh_value_select\').append(\'\');\n}\n\nfunction attributesObj() {\n return $(\"#sob_input_attribute\", window.parent.document);\n}\n\nfunction typeObj() {\n return $(\"#sob_all_type\", window.parent.document);\n}\n\n\nfunction valueObjText() {\n return $(\'#plh_value_text\').is(\":visible\") ? nuGetValue(\'plh_value_text\') : nuGetValue(\'plh_value_select\', \'text\');\n}\n\nfunction addAttribute() {\n const attributeValue = valueObjText();\n const attributeName = nuGetValue(\'plh_attribute_name\');\n const attributeType = nuGetValue(\'plh_attribute\');\n const attributeText = nuGetValue(\'plh_attribute\', \'text\');\n \n if (attributeValue === \'\' && attributeType != 9 && attributeType != 2) {\n nuMessage(nuTranslate(\'Error\'), nuTranslate(\"Missing value\"));\n return;\n }\n \n if (attributeName === \'\' && nuIsVisible(\'plh_attribute_name\') ) {\n nuMessage(nuTranslate(\'Error\'), nuTranslate(\"Missing name\"));\n return;\n }\n \n const attributeObj = attributesObj();\n const attributeKey = attributeText + attributeName;\n const attributeKeyWithEquals = attributeKey + \'=\"\';\n \n if (attributeObj.val().includes(attributeKeyWithEquals)) {\n nuMessage(nuTranslate(\'Error\'), nuTranslate(\"The attribute already exists\"));\n return;\n }\n \n let kv = \'\';\n if (attributeKeyWithEquals.includes(\'nu-disable-calendar\')) {\n kv = \'nu-disable-calendar\';\n } else {\n kv = attributeKeyWithEquals + attributeValue + \'\"\';\n }\n \n const currentVal = attributeObj.val();\n if (currentVal === \'\') {\n attributeObj.val(kv).change();\n } else {\n attributeObj.val(currentVal + \',\' + kv).change();\n }\n}\n', NULL, NULL, NULL, '1', NULL), ('nuadddbcolumn', 'launch', 'nuadddbcolumn', 'Add Database Column', 'nubuilder', '1', NULL, '', '', '', NULL, 0, 0, '0', NULL, '', 'function nuAddDBColumnGetDataType(type, inputType, selectMultiple) {\n \n const BASE_TYPE_MAP = {\n lookup: \'VARCHAR(25)\',\n calc: \'DECIMAL(12,4)\',\n textarea: \'TEXT\',\n };\n\n const SELECT_TYPE_MAP = {\n single: \'VARCHAR(100)\',\n multiple: \'VARCHAR(1000)\',\n };\n\n const INPUT_TYPE_MAP = {\n date: \'DATE\',\n nuDate: \'DATE\',\n number: \'INT\',\n nuAutoNumber: \'BIGINT UNSIGNED\',\n nuNumber: \'DECIMAL(12,4)\',\n file: \'LONGTEXT\',\n };\n\n if (type === \'select\') {\n return SELECT_TYPE_MAP[selectMultiple ? \'multiple\' : \'single\'];\n }\n\n if (type === \'input\') {\n return INPUT_TYPE_MAP[inputType] || \'VARCHAR(100)\';\n }\n\n return BASE_TYPE_MAP[type] || \'VARCHAR(100)\';\n \n}\n\n\nfunction nuAddDBColumnSetDefault() {\n\n const table = parent.$(\'#sob_all_table\').val();\n const id = parent.$(\'#sob_all_id\').val();\n const type = parent.$(\'#sob_all_type\').val();\n const input = parent.$(\'#sob_input_type\').val();\n /* const selectMultiple = parent.nuGetValue(\'sob_select_multiple\'); */ // Currently unused\n const dataType = nuAddDBColumnGetDataType(type, input);\n\n const query = `\\`${id}\\` ${dataType} NULL DEFAULT NULL`;\n const alterStart = `ALTER TABLE \\`${table}\\` ADD`;\n\n $(\'#sql_query_word\').html(alterStart);\n $(\'#sql_query\').val(query);\n\n nuSetProperty(\'sob_all_table\', table);\n nuRefreshSelectObject(\'sql_after_column\');\n\n return `${alterStart} ${query};`;\n\n}\n\nnuAddActionButton(\'Run\', \'Run\', \'nuHasNotBeenEdited(); nuRunPHPHidden(\"nu_run_add_db_column\")\');\nnuAddActionButton(\'Preview\', \'Preview\', \'nuAddDBColumnPreview()\');\nnuAddDBColumnSetDefault();\n\n\nfunction nuAddDBColumnPreview() {\n\n const table = parent.$(\'#sob_all_table\').val();\n const query = nuGetValue(\'sql_query\');\n const after = nuGetValue(\'sql_after_column\');\n let sql = \'ALTER TABLE `\' + table + \'` ADD \' + query;\n\n if (after != \'\') {\n sql = sql + \" AFTER `\" + after + \'`\';\n }\n\n const escapeForHTMLAttribute = str => str.replace(/\\n/g, \'\\\\n\').replace(/\'/g, \"\\\\\'\");\n const copyButtonHTML = (value, label) => ``;\n const formIdCopyButton = copyButtonHTML(sql, \'Copy\');\n\n nuMessage(\'Preview SQL\', sql + \';\' + \'

\' + formIdCopyButton);\n\n}\n\n$(\'#sql_query\').addClass(\'sql\');\n$(\'.sql\').on(\'dblclick\', function() {\n nuOpenAce(\'SQL\', this.id);\n});', NULL, NULL, NULL, '1', NULL), ('nuauthentication', 'launch', 'nuauthentication', 'Authentication', 'nubuilder', '1', NULL, '', '', '', NULL, 0, 0, '0', NULL, '', 'function nuGet2FAProcedure() {\n const d = nuDevMode();\n const p = \'nu_authentication_2fa\';\n return d ? p + \'_template\': p;\n}\n\nfunction nu2FAVerify() {\n nuSetProperty(\'auth_code_verify\', $(\'#auth_code\').val());\n nuSetProperty(\"nuauthcommand\", \"verify\");\n const p = nuGet2FAProcedure();\n nuRunPHPHidden(p);\n}\n\nfunction nu2FASendToken() {\n nuSetProperty(\"nuauthcommand\", \"send\");\n const p = nuGet2FAProcedure();\n nuRunPHPHidden(p);\n}\n\nfunction handleEnterKey() {\n\n $(\'#auth_code\').on(\'keydown\', function(evt) {\n if (evt.key === \'Enter\') {\n evt.preventDefault();\n nu2FAVerify();\n }\n });\n\n}\n\nhandleEnterKey();\nnuHideHolders(0, 2);\n\n\n\n// Prevent [DOM] Password field is not contained in a form:\n$(\"#auth_code_verify\").wrap(\"
\");', NULL, NULL, NULL, '1', NULL), ('nublank', 'launch', 'nublank', 'Blank', 'nubuilder', '1', NULL, '', '', '', NULL, 0, 0, '0', NULL, '', '\nnuSetTitle(nuFORM.getCurrent().run_description);\n', NULL, NULL, NULL, NULL, NULL), ('nubrowse', 'subform', 'nubrowse', 'Browse Columns', 'nubuilder', '1', NULL, 'zzzzsys_browse', 'zzzzsys_browse_id', '', NULL, 0, 5, '0', NULL, 'SELECT * FROM zzzzsys_browse\nORDER BY sbr_order\n', '$(\'#nuSearchButton\').remove();\n$(\'#nuSearchField\').remove();\n$(\'#nuPrintButton\').remove();\n\nnuSetTitle($(\'#sbr_title\').val());\n\nvar pid = parent.nuFORM.getCurrent().record_id;\n\nif(nuFORM.getCurrent().record_id == -1){\n $(\'#sbr_zzzzsys_form_id\').val(pid).change();\n}\n', NULL, NULL, NULL, NULL, NULL), ('nubuildreport', 'browseedit', 'nubuildreport', 'Build Report', 'nubuilder', '1', '#sre_code#|New', 'zzzzsys_report', 'zzzzsys_report_id', '', NULL, 0, 0, '0', NULL, 'SELECT * FROM zzzzsys_report\nLEFT JOIN zzzzsys_form ON zzzzsys_form_id = sre_zzzzsys_form_id', 'if (nuFormType() == \'edit\') {\n\n $(\'#sre_layout\').addClass(\'nuEdited\'); \n nuAttachButtonImage(\'open_builder\',\'RD\');\n \n if (! nuIsNewRecord()) {\n // nuAddActionButton(\'Run\', \'Run\', \'nuRunReport(\"\'+ $(\'#sre_code\').val() +\'\")\'); \n }\n \n }\n \n function nuBuildReportPickTableType(){\n \n var i = $(\'#sre_zzzzsys_php_id\').val();\n \n var f = \'\';\n var r = \'\';\n \n if(i.substr(0,10) == \'PROCEDURE:\'){\n \n f = \'nuphp\';\n r = i.substr(10);\n \n }\n \n if(i === \'\'){\n \n nuMessage([nuTranslate(\'No table selected\')]);\n return;\n \n }\n \n if(i.substr(0,6) == \'TABLE:\'){\n \n nuVendorLogin(\'PMA\', sre_zzzzsys_php_iddescription.value)\n return;\n \n }\n \n if(i.substr(0,4) == \'SQL:\'){\n \n f = \'nuselect\';\n r = i.substr(4);\n \n }\n \n nuPopup(f,r);\n \n }\n \n function nuBuildReportUpdateAclCount() {\n var l = $(\"[data-nu-field=\'sre_zzzzsys_access_id\']\").length -2;\n var t = l <= 0 ? \'\' : \' (\' + l + \')\';\n $(\'#nuTab1\').html(nuTranslate(\'Access Level\') + t);\n }', 'if (parent.nuCurrentProperties().form_id == \'nuaccess\') {\n $(\'#nuBreadcrumb0\').html(nuTranslate(\'Reports\'));\n}\n\nnuBrowseStyleBadge(2); // Group', NULL, NULL, '1', NULL), ('nubuildtable', 'browse', 'nubuildtable', 'PHP or SELECT or TABLE', 'nubuilder', '1', NULL, 'zzzzsys_report_data', 'zzzzsys_report_data_id', 'nuselect', NULL, 0, 16, '0', NULL, 'SELECT * FROM zzzzsys_report_data', NULL, NULL, NULL, NULL, NULL, NULL), ('nucalcobjects', 'browse', 'nucalcobjects', 'Calc values On This Form And Its Subforms', 'nubuilder', '1', NULL, '#TABLE_ID#', 'thevalue', '', NULL, 0, 4, '0', NULL, 'SELECT * FROM #TABLE_ID#', '\nwindow.nuBrowseFunction = \'nuSelectCalcField\';\n\nfunction nuSelectCalcField(e){\n\n var row = e.target.id.substr(0,8);\n var fld = $(\'#\' + row + \'003\').html();\n var frm = $(\'#sob_calc_formula\', parent.window.document).val();\n\n $(\'#sob_calc_formula\', parent.window.document)\n .val(frm + \'nuTotal(\"\' + fld + \'\")\')\n .trigger(\'change\');\n\n}\n\n', NULL, NULL, NULL, NULL, NULL), ('nuclause', 'subform', 'nuclause', 'Select Clauses', 'nubuilder', '1', NULL, 'zzzzsys_select_clause', 'zzzzsys_select_clause_id', '', NULL, 0, 0, '0', NULL, 'SELECT * FROM zzzzsys_select_clause\nORDER BY ssc_type, ssc_order', NULL, NULL, NULL, NULL, NULL, NULL), ('nucloner', 'browseedit', 'nucloner', 'Cloner', 'nubuilder', '1', '|New', 'zzzzsys_cloner', 'zzzzsys_cloner_id', '', NULL, 0, 0, '0', NULL, 'SELECT * FROM zzzzsys_cloner\nORDER BY clo_form_source', NULL, NULL, '// DEV\nif (!nuDevMode()) {\n nuHideTabById(\'nu63ed1fef9b6331f\');\n}\n\nfunction nuSelectObjectRefreshed(o, f) {\n\n nuSelectRemoveEmpty();\n if (f == \'clo_tabs\') {\n $(\'select#\' + f + \' > option\').prop(\'selected\', \'selected\');\n }\n}\n\nfunction addRunButton() {\n nuAddActionButton(\'nuRunCloner\', \'Run\', \'runCloner()\');\n $(\'#nunuRunPHPHiddenButton\').css(\'background-color\', \'#117A65\');\n}\n\nfunction runCloner() {\n\n if ($(\'#clo_form_source\').val() === \'\') {\n nuMessage(nuTranslate(\'Validation Error\'), nuTranslate(\'Source Form cannot be left blank.\'));\n return;\n }\n\n const tabsLength = $(\"#clo_tabs option\").length;\n if ($(\'#clo_tabs :selected\').length === 0 && tabsLength > 0) {\n nuMessage(nuTranslate(\'Validation Error\'), nuTranslate(\'Select at least 1 Tab.\'));\n return;\n }\n\n nuSetProperty(\'cloner_refresh_selectId\', \'\');\n\n const tabs = nuSelectToArray(\'clo_tabs\', \'index\');\n nuSetProperty(\'cloner_tabs\', tabs.length === 0 ? \'\': JSON.stringify(tabs));\n\n const subforms = $(\'#clo_subforms_include\').is(\':checked\');\n const clo_subforms = nuSelectToArray(\'clo_subforms\');\n nuSetProperty(\'cloner_subforms\', subforms === false || clo_subforms.length === 0 ? \'0\': JSON.stringify(clo_subforms));\n\n const formsRunIFrame = nuSelectToArray(\'clo_iframe_forms\');\n nuSetProperty(\'cloner_iframe_forms\', nuGetValue(\'clo_subforms_include\') == false || formsRunIFrame.length === 0 ? \'0\': JSON.stringify(formsRunIFrame));\n\n const dump = $(\'#clo_dump\').is(\':checked\');\n nuSetProperty(\'cloner_dump\', dump ? \'1\': \'0\');\n\n const noObjects = $(\'#clo_objects\').is(\':checked\');\n nuSetProperty(\'cloner_objects\', noObjects ? \'0\': \'1\');\n\n const newPks = $(\'#clo_new_pks\').is(\':checked\');\n nuSetProperty(\'cloner_new_pks\', newPks ? \'1\': \'0\');\n\n const replaceInto = $(\'#clo_sql_replace_into\').is(\':checked\');\n nuSetProperty(\'cloner_replace_into\', replaceInto ? \'1\': \'0\');\n\n nuSetProperty(\'cloner_form_source\', $(\'#clo_form_source\').val());\n nuSetProperty(\'cloner_form_dest\', $(\'#clo_form_dest\').val());\n nuSetProperty(\'cloner_notes\', \'#clo_notes#\');\n\n dump ? nuRunPHP(\'nu_cloner\', \'\', 1): nuRunPHPHidden(\'nu_cloner\');\n\n const tables = nuSelectToArray(\'clo_tables_include\');\n nuSetProperty(\'nubackup_tables_include\', tables.length === 0 ? \'\': JSON.stringify(tables));\n\n}\n\nfunction setTitle() {\n\n if (!nuIsNewRecord()) {\n nuSetTitle($(\'#clo_form_source\').val());\n }\n\n}\n\nfunction setDefaultValues() {\n\n if (nuIsNewRecord()) {\n $(\'#clo_new_pks\').prop(\'checked\', true).trigger(\'change\');\n $(\'#clo_dump\').prop(\'checked\', true).trigger(\'change\');\n }\n\n}\n\nfunction setParentFormId() {\n\n if (parent.$(\'#nuModal\').length > 0 && $(\'#clo_form_source\').val() === \'\') {\n nuGetLookupId(window.parent.nuCurrentProperties().form_id, \'clo_form_source\', false, false);\n }\n\n}\n\nfunction cloSubformsChecked() {\n\n var c = $(\'#clo_subforms_include\').is(\':checked\');\n c ? nuEnable(\'clo_subforms\'): nuDisable(\'clo_subforms\');\n nuSelectSelectAll(\'clo_subforms\', c);\n\n}\n\nfunction cloIframeFormsChecked() {\n\n var c = $(\'#clo_iframe_forms_include\').is(\':checked\');\n c ? nuEnable(\'clo_iframe_forms\'): nuDisable(\'clo_iframe_forms\');\n nuSelectSelectAll(\'clo_iframe_forms\', c);\n\n}\n\nfunction selectObjectPopuplated(formId, selectId, count) {\n\n if (selectId == \'clo_tabs\') {\n nuSelectSelectAll(\'clo_tabs\', true);\n }\n\n var chk;\n if (selectId == \'clo_iframe_forms\') {\n chk = $(\'#clo_iframe_forms_include\');\n var c = chk.is(\':checked\');\n if (c) {\n nuSelectSelectAll(\'clo_iframe_forms\', true);\n }\n count === 0 ? nuDisable(\'clo_iframe_forms_include\'): nuEnable(\'clo_iframe_forms_include\');\n if (count === 0) chk.prop(\'checked\', false).trigger(\'change\');\n }\n\n\n if (selectId == \'clo_subforms\') {\n\n chk = $(\'#clo_subforms_include\');\n var s = chk.is(\':checked\');\n if (s) {\n nuSelectSelectAll(\'clo_subforms\', true);\n }\n count === 0 ? nuDisable(\'clo_subforms_include\'): nuEnable(\'clo_subforms_include\');\n if (count === 0) chk.prop(\'checked\', false).trigger(\'change\');\n }\n\n}\n\n\n\nfunction nuClonerOpenBrowse() {\n\n if (nuFormsUnsaved() !== 0) {\n if (!confirm(nuTranslate(\'Leave this form without saving?\'))) {\n return;\n }\n\n }\n nuForm(nuFormId(), \'\', \'\', \'\', \'1\');\n\n}\n\n\nfunction unselectAllOptionsStartingWith(selectId, prefix) {\n $(\"#\" + selectId + \" option\").each(function() {\n if ($(this).text().startsWith(prefix)) {\n $(this).prop(\"selected\", false);\n }\n });\n}\n\nfunction enableDisableCheckboxes() {\n var v = nuGetValue(\'clo_dump\');\n if (v == \'0\') {\n nuSetValue(\'clo_sql_replace_into\', 0);\n nuDisable(\'clo_sql_replace_into\');\n nuSetValue(\'clo_new_pks\', 1);\n nuDisable(\'clo_new_pks\');\n } else {\n nuEnable(\'clo_new_pks\');\n nuEnable(\'clo_sql_replace_into\');\n }\n}\n\n\nif (nuIsNewRecord()) {\n $(\'#clo_tabs\').empty();\n $(\'#clo_subforms\').empty();\n $(\'#clo_iframe_forms\').empty();\n}\n\nenableDisableCheckboxes();\n\n// clo_dummy required to adjust correct popup width\nnuHide(\'clo_dummy\');\nnuSelectRemoveEmpty();\n\n$(\'#clo_subforms\').nuLabelOnTop(-18, 25)\n$(\'#clo_iframe_forms\').nuLabelOnTop(-18, 25)\nnuLabelOnTop([\'clo_tabs\', \'clo_tables_include\', \'clo_tables_exclude\']);\n\n$(\'#label_clo_subforms\').prop(\'for\', \'clo_subforms_include\');\n$(\'#label_clo_iframe_forms\').prop(\'for\', \'clo_iframe_forms_include\');\n\ncloSubformsChecked();\ncloIframeFormsChecked();\n\nsetParentFormId();\nsetDefaultValues();\n\naddRunButton();\nsetTitle();\n\n\nif (Array.isArray(nuFORM.breadcrumbs) && nuFORM.breadcrumbs.length === 1) {\n nuAddActionButton(\"nuClonerOpenBrowse\", \"\", \'nuClonerOpenBrowse()\', nuTranslate(\'Open Browse Form\'));\n}\n\nnuHasNotBeenEdited();\n\n', NULL, '1', NULL), ('nucodesnippet', 'browseedit', 'nucodesnippet', 'Code Snippets', 'nubuilder', '1', '#cot_code#|New', 'zzzzsys_code_snippet', 'zzzzsys_code_snippet_id', '', NULL, 35, 10, '0', NULL, 'SELECT * FROM zzzzsys_code_snippet WHERE (\n\n (IFNULL(cot_scope,\'\') LIKE \'%0%\' AND \'#IS_CUSTOM_CODE#\' = \'1\') OR\n (IFNULL(cot_scope,\'\') LIKE \'%1%\' AND \'#IS_SETUP_HEADER#\' = \'1\') OR\n (IFNULL(cot_scope,\'\') LIKE \'%2%\' AND \'#IS_SQL#\' = \'1\') OR\n (IFNULL(cot_scope,\'\') LIKE \'%3%\' AND \'#IS_PHP#\' = \'1\') OR\n\n (\n\n LOCATE(\'#\', \'#IS_SETUP_HEADER#\') = 1 AND \n LOCATE(\'#\', \'#IS_CUSTOM_CODE#\') = 1 AND\n LOCATE(\'#\', \'#IS_PHP#\') = 1 AND \n LOCATE(\'#\', \'#IS_SQL#\') = 1 \n\n ) \n)\n\nORDER BY cot_code ', NULL, 'nuBrowseStyleBadge(2); // Group', 'var sc = $(\'#cot_source_code\');\nsc.addClass(\'js\');\n\nsc.css(\'padding\', \'3px 3px 3px 3px\')\n\n// Add ACE event handlers\nsc.on(\'dblclick\', function() {\n nuOpenAce(nuCodeSnippetGetSourceLangage(), this.id);\n});\n\n// Code Snippets form\nnuSetProperty(\'IS_SETUP_HEADER\', 0);\nnuSetProperty(\'IS_CUSTOM_CODE\', 1);\n\n// Disable nu-records\nif (String(nuRecordId()).startsWith(\'nu\') && !nuDevMode()) {\n nuDisableAllObjects();\n $(\'#nuSaveButton\').hide();\n}\n\nfunction nuCodeSnippetGetSourceLangage() {\n\n let l = $(\'#cot_language\').val();\n if (l === \'JavaScript\') l = \'JS\';\n return l === \'\' ? \'JS\' : l;\n\n}\n\nif (nuCodeIsTemplate() && !nuDevMode()) {\n nuDisableAllObjects();\n nuMessage(\"Unable to save templates. Please clone them to create a new copy and save the cloned version instead.\", 2500);\n}\n\nfunction nuCodeIsTemplate() {\n return nuGetValue(\'cot_template\');\n}\n\nfunction nuOnClone() {\n\n let code = cot_code.value;\n\n if (nuCodeIsTemplate()) {\n code = code.substring(0, code.length - 9);\n nuSetValue(\'cot_code\', code);\n nuSetValue(\'cot_group\', \'\');\n nuSetValue(\'cot_template\', false);\n nuEnableAllObjects();\n $(\'#nuSaveButton\').show();\n }\n\n}', NULL, '1', NULL), ('nucsvtransfer', 'launch', 'nucsvtransfer', 'CSV Transfer', 'nubuilder', '1', NULL, '', '', '', NULL, 0, 0, '0', NULL, '', 'function nuCheckCSV() {\n\n const csvTo = $(\'#csv_to\').val().trim();\n const csvFrom = $(\'#csv_from\').val().trim();\n const csvDelimiter = $(\'#csv_delimiter\').val().trim();\n const csvTransfer = $(\'#csv_transfer\').val().trim();\n\n if (!csvTransfer || !csvFrom || !csvTo || !csvDelimiter) {\n return nuMessage(nuTranslate(\'Validation Error\'), nuTranslate(\'No fields can be left blank\') + \'...\');\n }\n\n if (csvTransfer === \'export\') {\n if (nuFORM.getJustTables().includes(csvFrom)) {\n return nuRunPHP(\'nu_csv_transfer\');\n }\n return nuMessage(nuTranslate(\'No such tablename\') + \'...\');\n }\n\n if (csvTransfer === \'import\') {\n if (!nuCSVfiles.includes(csvFrom)) {\n return nuMessage([\n nuTranslate(\'File not found\'),\n \'\',\n nuTranslate(\'CSV File must be located in the temp directory of the nuBuilder directory\')\n ]);\n }\n\n if (csvTo === \'zzzzsys_user\') {\n return nuImportUsersFromCSV(csvFrom, csvDelimiter);\n }\n\n if (nuFORM.getJustTables().includes(csvTo)) {\n return nuMessage([\n nuTranslate(\'There is already a table named\'),\n `${csvTo}`\n ]);\n }\n\n return nuRunPHP(\'nu_csv_transfer\');\n }\n\n}\n\n\n\nnuAddActionButton(\'transfer\', \"Transfer\", \'nuCheckCSV()\', \'\');\n\n$(\'#csv_transfer\').val(\'export\');\n$(\'#csv_delimiter\').val(\'44\');\n\nnuHide(\'csv_delete_after_import\');\n\nnuCSVTransfer(\'export\');\n\nfunction nuCSVTransfer(action) {\n\n const isExport = action === \'export\';\n\n $(\'#label_csv_from\').html(nuTranslate(isExport ? \'Export From (Table)\': \'Import From CSV File\'));\n $(\'#label_csv_to\').html(nuTranslate(isExport ? \'Export To CSV File\': \'Import To (Table)\'));\n\n const dataListValue = isExport ? nuFORM.getJustTables(): nuCSVfiles;\n\n isExport ? nuHide(\'csv_delete_after_import\'): nuShow(\'csv_delete_after_import\');\n\n nuAddDatalist(\'csv_from\', dataListValue, true);\n\n}', NULL, NULL, NULL, '1', NULL), ('nudebug', 'browseedit', 'nudebug', 'nuDebug Results', 'nubuilder', '1', NULL, 'zzzzsys_debug', 'zzzzsys_debug_id', '', NULL, 31, 13, '1', NULL, 'SELECT * FROM zzzzsys_debug\nLEFT JOIN zzzzsys_user on zzzzsys_user_id = deb_user_id\nWHERE (deb_flag = \'#nu65e9ea5e7414ca0_filter#\' OR LEFT(\'#nu65e9ea5e7414ca0_filter#\',1) IN (\'#\',\'\'))\nORDER BY zzzzsys_debug_id DESC', '$(\'#deb_message\')\n.css(\'font-size\', 10 + \'px\')\n// .css(\'background-color\', \'#FFEEA6\')\n.prop(\'readonly\', true)\n.on(\'dblclick\', function() {\n nuOpenAce(\'Text\', this.id);\n});\n\n\n$(\'#delete_option\').val(0);\n$(\'#nuAddButton\').remove();\n$(\'#nuOptions\').remove();\n\nvar mess = String($(\'#deb_message\').val());\nvar i = mess.indexOf(\'
\');\nvar m = mess.substr(i + 6);\nvar t = mess.substr(0, i);\nvar isHTMLText = m.startsWith(\'\');\n\nnuSetTitle(m.substr(0, i));\n\n$(\'#nuTab0\').remove();\n\n$(\'#nuBreadcrumb2\')\n.css(\'text-align\', \'center\')\n.css(\'width\', \'95%\')\n.css(\'color\', \'black\')\n.css(\'padding\', \'5px\')\n.html(t + \' :: \' + nuWhen(nuEscapeHTML($(\'#deb_added\').val())))\n.appendTo(\"#nuTabHolder\");\n\n$(\'#deb_message\').val(m);\n\n\n$(\"[data-nu-column=\'2\']\").each(function(index) {\n\n if ($(this).html().trim() !== \'\') {\n\n const nuhtm = nuWhen(Number($(this).html()));\n\n $(this).html(nuhtm);\n\n }\n\n});\n\nif (nuFORM.getCurrent().record_id !== \'\') {\n\n $(\'.nuActionButton\').remove();\n nuAddActionButton(\'Delete\');\n\n}\n\nnuAddActionButton(\'DeleteAll\', \'Delete All\', \'nuDeleteAllAction()\');\n\nif (isHTMLText) {\n nuDebugConvertTextareaToDiv();\n}\n\nfunction nuDebugConvertTextareaToDiv() {\n\n const textarea = document.getElementById(\'deb_message\');\n const htmlCode = textarea.value;\n const div = document.createElement(\'div\');\n div.innerHTML = htmlCode;\n div.style.cssText = textarea.style.cssText;\n div.style.userSelect = \'text\';\n textarea.parentNode.replaceChild(div, textarea);\n\n}', 'nuAddBrowseFilter(\'nu65e9ea5e7414ca0\').nuSearchablePopup({ items: getFlag() });\n\n\nnuAddActionCheckbox({\n id: \'chkAutoRefresh\',\n text: \'Auto Refresh\',\n checked: false,\n storage: \'local\',\n onChecked(isChecked) { \n nuDebugSetAutoRefresh(isChecked);\n }\n});\n\nfunction nuDebugSetAutoRefresh(active) {\n \n const button = document.getElementById(\'nuSearchField\');\n if (!button) return; \n\n if (button._refreshTimer) {\n clearInterval(button._refreshTimer);\n delete button._refreshTimer;\n }\n\n if (!active) return;\n\n button._refreshTimer = setInterval(() => {\n if (!button.isConnected) {\n clearInterval(button._refreshTimer);\n delete button._refreshTimer;\n return;\n }\n nuGetBreadcrumb();\n }, 2000);\n \n}\n\n\nnuDebugSetAutoRefresh(nuGetValue(\'chkAutoRefresh\'));', NULL, '', '', NULL), ('nuemailtest', 'launch', 'nuemailtest', 'Send Test Email', 'nubuilder', '1', NULL, '', '', '', NULL, 0, 0, '0', NULL, '', 'nuAddActionButton(\'nuRuntestemail\', nuTranslate(\'Send\'), \'nuRunPHPHidden(\"nu_test_email\")\');\n\nif (parent.$(\'#nuModal\').length > 0) {\n\n var p = window.parent;\n $(\'#set_smtp_from_address\').val(p.set_smtp_from_address.value);\n $(\'#ema_to\').val(p.set_smtp_from_address.value);\n $(\'#set_smtp_from_name\').val(p.set_smtp_from_name.value);\n $(\'#ema_body\').val(\'nuBuilder Email
Test\');\n $(\'#ema_subject\').val(\'nuBuilder Test - \' + new Date().toLocaleString());\n\n}\n\n\nnuSetToolTip(\'ema_load_data\', nuTranslate(\'Load from Local Storage\'));\nnuSetToolTip(\'ema_save_data\', nuTranslate(\'Save to Local Storage\'));\n\n\nfunction nuemailtestSaveDatatoLS() {\n\n $(\'input[type=text], textarea\').each(function() {\n localStorage.setItem(this.id, $(this).val());\n });\n\n}\n\n\nfunction nuemailtestLoadDatafromLS() {\n\n $(\'input[type=\"text\"], textarea\').each(function() {\n var key = $(this).attr(\'id\');\n\n var value = localStorage.getItem(key);\n if (value || value === \'\') {\n $(this).val(value);\n } else {\n nuMessage(`${nuTranslate(\'Information\')}`, `${nuTranslate(\"There\'s no Data to load in Local Storage\")}`);\n }\n\n });\n}', NULL, NULL, NULL, '1', NULL), ('nuevent', 'edit', 'nuevent', 'Object Events', 'nubuilder', '1', NULL, 'zzzzsys_event', 'zzzzsys_event_id', '', NULL, 0, 0, '0', NULL, 'SELECT * FROM zzzzsys_event', NULL, NULL, NULL, NULL, NULL, NULL), ('nufastformobjects', 'subform', 'nufastformobjects', 'Fast Form Objects', 'nubuilder', '1', NULL, 'zzzzsys_debug', 'zzzzsys_debug_id', '', NULL, 0, 0, '0', NULL, ' SELECT count()* FROM zzzzsys_debug', NULL, NULL, NULL, NULL, NULL, NULL), ('nufastreportobjects', 'subform', 'nufastreportobjects', 'Fast Report Objects', 'nubuilder', '1', NULL, 'zzzzsys_debug', 'zzzzsys_debug_id', '', NULL, 0, 0, '0', NULL, 'SELECT count(*) FROM zzzzsys_debug', NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO `zzzzsys_form` (`zzzzsys_form_id`, `sfo_type`, `sfo_code`, `sfo_description`, `sfo_group`, `sfo_status`, `sfo_breadcrumb_title`, `sfo_table`, `sfo_primary_key`, `sfo_browse_redirect_form_id`, `sfo_browse_target`, `sfo_browse_row_height`, `sfo_browse_rows_per_page`, `sfo_browse_title_multiline`, `sfo_browse_autoresize_columns`, `sfo_browse_sql`, `sfo_javascript`, `sfo_browse_javascript`, `sfo_edit_javascript`, `sfo_style`, `sfo_mobile_view`, `sfo_json`) VALUES ('nufflaunch', 'launch', 'nufflaunch', 'Form Builder', 'nubuilder', '1', NULL, '', '', '', NULL, 0, 0, '0', NULL, '', 'var useMobileView = nuUseMobileView();\nnuInit();\n\nfunction nuFFSetPrimaryKey() {\n\n let pk = \'\';\n\n if (tableExists) {\n const tableSchema = nuSERVERRESPONSE.tableSchema[fastform_table.value];\n pk = tableSchema === undefined ? \'\': tableSchema.primary_key;\n } else {\n pk = nuGetValue(\'fastform_table\')+\'_id\';\n }\n\n nuSetValue(\'fastform_primary_key\', pk);\n nuShow(\'fastform_primary_key\', (pk == \'\' || !tableExists) && fastform_type.value !== \'launch\')\n\n}\n\nfunction nuFFGetMessageTableEmpty() {\n return nuTranslate(\'Either pick an existing table or enter a new table name.\');\n}\n\nfunction nuInit() {\n\n $(\"[id$=\'ff_browse\']\").nuHide();\n $(\'.nuActionButton\').nuHide();\n\n nuHide([\'fastform_prefix\', \'nuFFAvailableColumnsWord\', \'check_nulog\', \'nuFFAvailableColumns\',\'fastform_primary_key\']);\n nuDisable(\'nuFFAvailableColumns\');\n\n nuSelectRemoveMultiple();\n nuSelectRemoveEmpty(\'obj_sf000ff_type\', \'-1\');\n nuSelectRemoveEmpty(\'fastform_type\', \'-1\');\n nuMoveFieldPrefixToSubform();\n nuSetValue(\'fastform_type\', \'browseedit\');\n\n nuAddActionButton(\'BuildFastForm\');\n nuSetToolTip(\'fastform_table\', nuFFGetMessageTableEmpty(), true);\n nuSubformEnableMultiPaste(\"obj_sf\", \"#obj_sf000ff_label\", null, callbackPasted);\n nuSetFFTypeOptionsColor(\'obj_sf000ff_type\');\n\n nuSetFK();\n nuDisableLastFFRow();\n\n $(\"#fastform_type > option\").each(function() {\n $(this).addClass(\'nu_\' + this.value);\n });\n\n $(\'#fastform_prefix\').on(\'click\', function(e) {\n e.stopPropagation();\n });\n\n // Show all items again when clicking on the datalist arrow down button\n $(\'#fastform_table\')\n .on(\'click\', function(e) {\n var t = $(this);\n var inpLeft = t.offset().left;\n var inpWidth = t.width();\n var clickedLeft = e.clientX;\n var clickedInpLeft = clickedLeft - inpLeft;\n var arrowBtnWidth = 12;\n if ((inpWidth - clickedInpLeft) < arrowBtnWidth) {\n if (t.val() !== \"\") {\n t.val(\'\');\n }\n }\n })\n\n .on(\'input\',\n function() {\n\n nuSetFFTable();\n nuShowAvailableFields(false);\n\n var selectedOption = $(\'option[value=\"\' + $(this).val() + \'\"]\');\n if (selectedOption.length) {\n\n nuSetProperty(\'available_columns\', $(\'#fastform_table\').val());\n nuSetProperty(\'assigned_columns\', \'\');\n\n $(\'#nuFFAvailableColumns\').empty();\n nuAvailableColumnsSetLoading();\n nuRefreshSelectObject(\'nuFFAvailableColumns\', \'\', true);\n\n }\n });\n\n $(\'#fastform_table\').trigger(\"focus\");\n\n}\n\nfunction callbackPasted(modifiedObjects) {\n\n modifiedObjects.forEach(function(obj) {\n obj.attr(\'data-user-modified\', \'\');\n });\n \n}\n\nfunction nuNoStoreObject(text) {\n return [\'Word\', \'Subform\', \'Image\', \'HTML\', \'Button\'].indexOf(text) !== -1;\n}\n\nfunction nuNoBrowseObject(text) {\n return [\'Display\', \'File\', \'Multiselect\'].indexOf(text) !== -1 || nuNoStoreObject(text)\n}\n\nfunction nuSetFFCheckboxes(type) {\n\n let checkboxes = $(\"[id$=\'ff_browse\']:checkbox\");\n if (type.startsWith(\'browse\')) {\n\n const l = checkboxes.length;\n checkboxes.each(function(index) {\n if (index !== l - 1 && !$(this).is(\"[data-nu-no-browse]\")) {\n $(this).show();\n }\n });\n\n } else {\n checkboxes.hide();\n }\n\n}\n\nfunction nuOnFormTypeChanged() {\n\n var type = nuGetValue(\'fastform_type\');\n\n $(\'#fastform_type\').removeClass().addClass(\'nu_\' + type);\n $(\'#fastform_table\').nuShow(type !== \'launch\');\n\n nuSetFFCheckboxes(type);\n\n $(\"[data-nu-field=\'ff_datatype\']\").nuShow(type !== \'launch\');\n nuShow(\'title_obj_sfff_browse\', type.startsWith(\'browse\'));\n\n nuSetFK();\n\n}\n\nvar tableExists = false;\n\nfunction nuSetFFTable() {\n\n tableExists = nuFORM.getTables().indexOf(nuGetValue(\'fastform_table\')) !== -1;\n\n $(\"[id$=\'ff_column_picker\']\")\n .prop(\'disabled\', !tableExists)\n .toggleClass(\'nuReadonly\', tableExists);\n\n nuShow(\'fastform_prefix\', !tableExists);\n nuShow(\'check_nulog\', !tableExists && nuGetValue(\'fastform_type\') !== \'launch\');\n\n let c = $(\'#nuFFAvailableColumns\');\n\n let l;\n let rl;\n let title = \'\';\n\n if (tableExists) {\n l = c.nuCSSNumber(\'left\') + c.nuCSSNumber(\'width\') + 30;\n rl = \'1473px\';\n title = $(\'#obj_sf000ff_field\').attr(\'title\');\n } else {\n l = c.nuCSSNumber(\'left\');\n }\n\n if (! useMobileView) {\n $(\'#obj_sf\').css(\'left\', l);\n $(\'#ffwrd\').css(\'left\', l);\n $(\'#ff_resize\').css(\'left\', rl);\n }\n \n $(\"[data-nu-field=\'ff_field\']\").attr(\'title\', title);\n\n let bl = $(\"[id$=\'ff_browse\']\").length - 2;\n $(\'#obj_sf\' + nuPad3(bl) + \'ff_browse\').hide();\n\n nuEnableFFDataType();\n nuSetFK();\n\n}\n\nfunction nuSetFK() {\n\n nuHide(\'fastform_fk\');\n\n let table = nuGetValue(\'fastform_table\');\n if (table !== \'\' && nuFORM.getTables().indexOf(table) == -1 && nuGetValue(\'fastform_type\') == \'subform\') {\n nuShow(\'fastform_fk\');\n }\n\n}\n\nfunction nuShowFFO(e) {\n\n let t = $(\'#\' + e.target.id).attr(\'data-nu-prefix\');\n let i = nuGetValue(t + \'ff_id\');\n let l = nuGetValue(t + \'ff_label\');\n let f = nuGetValue(t + \'ff_field\');\n let fff = \'fromfastform|\' + f + \'|\' + l;\n\n nuPopup(\'nuobject\', i, fff);\n\n}\n\n\nfunction nuGetFFDataType(h) {\n\n let t = \"VARCHAR(1000)\";\n\n if (h == \'Checkbox\') t = \"VARCHAR(1)\";\n if (h == \'Display\') t = \"VARCHAR(50)\";\n if (h == \'Lookup\') t = \"VARCHAR(25)\";\n if (h == \'Textarea\') t = \"TEXT\";\n if (h == \'Calc\') t = \"DECIMAL\";\n if (h == \'nuDate\') t = \"DATE\";\n if (h == \'File\') t = \"LONGTEXT\";\n if (h == \'nuAutoNumber\') t = \"VARCHAR(15)\";\n if (h == \'Number\') t = \"INT\";\n if (h == \'nuNumber\') t = \"DECIMAL(12,4)\";\n if (h == \'Button\' || h == \'HTML\' || h == \'Image\' || h == \'Word\' || h == \'Subform\') t = null;\n\n return t;\n\n}\n\nfunction nuEnableFFDataType() {\n\n $(\"[data-nu-field=\'ff_datatype\']\").not(\".nuSubformTitleHolder\").each(function() {\n\n var typeId = nuSubformRowObject(this.id, \'ff_type\').attr(\'id\');\n var sel = $(\"#\" + typeId + \" option:selected\").text();\n var noBrowse = nuNoBrowseObject(sel);\n\n $(this).nuEnable(sel !== \'\' && !tableExists && !noBrowse && nuFFFormType() !== \'launch\');\n if (nuFFFormType() == \'launch\') $(this).val(\'\');\n\n });\n\n}\n\nfunction nuSetFFDataType(id, h) {\n\n var dataType = nuGetFFDataType(h);\n var noStoreObject = nuNoStoreObject(h);\n var t;\n\n if (tableExists && !noStoreObject) {\n let index = nuSERVERRESPONSE.tableSchema[fastform_table.value].names.indexOf(\'cot_code\')\n t = index !== -1 ? nuSERVERRESPONSE.tableSchema[fastform_table.value].types[index]: \'\';\n } else\n if (dataType !== null && !tableExists && !noStoreObject && nuFFFormType() !== \'launch\') {\n t = dataType;\n } else {\n t = \'\';\n }\n\n nuEnableFFDataType();\n $(id).val(t);\n\n}\n\nfunction nuFFFormType() {\n return nuGetValue(\'fastform_type\');\n}\n\nfunction nuSelectFFObjects(e) {\n\n if ($(\'#fastform_table\').val().trim() == \'\' && nuFFFormType() !== \'launch\') {\n nuMessage(nuFFGetMessageTableEmpty());\n $(\'#fastform_table\').trigger(\"focus\");\n return;\n }\n\n const isObjectSelect = e.target.id === \'fastform_objects\' ;\n \n var id = isObjectSelect ? nuGetValue(\'fastform_objects\') : e.target.id;\n\n var rowno = nuPad3($(\"[id^=\'obj_sf\'][id$=\'ff_label\']\", document).length - 1);\n var rowsuf = nuPad2(rowno);\n var sfrow = \'#obj_sf\' + rowno;\n\n var h = isObjectSelect ? nuGetText(\'fastform_objects\') : String(e.target.innerHTML).split(\':\');\n var label = (isObjectSelect ? h : h[h.length - 1]) + rowsuf;\n\n nuSetPlaceholder(sfrow.substring(1) + \'ff_label\', label);\n\n $(sfrow + \'ff_label\').val(label).nuEnable().trigger(\'change\');\n $(sfrow + \'ff_id\').val(id);\n $(sfrow + \'ff_type\').val(id).nuEnable();\n $(sfrow + \'ff_field\').nuEnable().attr(\'data-nu-picked\', true);\n $(sfrow + \'nuDelete\').nuEnable();\n\n var r = $(\'#\' + sfrow.substring(1) + \'ff_type\');\n nuSetFFTypeColor(r[0]);\n\n if (nuNoBrowseObject(e.target.innerHTML)) {\n $(sfrow + \'ff_browse\').hide().attr(\'data-nu-no-browse\', \'\');\n } else {\n $(sfrow + \'ff_browse\').show().removeAttr(\'data-nu-no-browse\');\n }\n\n $(\'#fastform_type\').trigger(\'change\');\n\n nuSetFFDataType(sfrow + \'ff_datatype\', h);\n\n $(sfrow + \'ff_field\').trigger(\"focus\");\n\n}\n\nfunction nuOnChangeFFType(t, event) {\n\n let target = event.target;\n let i = target.id;\n\n let id = nuSubformRowObject(i, \'ff_id\');\n let browse = nuSubformRowObject(i, \'ff_browse\');\n let label = nuSubformRowObject(i, \'ff_label\');\n let field = nuSubformRowObject(i, \'ff_field\');\n let dataType = nuSubformRowObject(i, \'ff_datatype\');\n let objType = nuSubformRowObject(i, \'ff_type\');\n let typeText = $(target).find(\"option:selected\").text();\n let number = $(label).attr(\'placeholder\').nuJustNumbers();\n\n nuSetPlaceholder(label.attr(\'id\'), typeText + number);\n\n if (field.val() == \'\') {\n label.val(typeText + number);\n }\n\n id.val(t.value);\n\n let noStoreObj = nuNoStoreObject(typeText);\n if (noStoreObj || nuFFFormType() === \'launch\') {\n $(browse).hide().attr(\'data-nu-no-browse\', \'\').prop(\'checked\', 0);\n nuSetValue(browse.id, true);\n } else {\n $(browse).show();\n }\n\n let objTypeText = nuGetValue($(objType).attr(\'id\'), \'text\');\n nuSetFFDataType(\'#\' + $(dataType).attr(\'id\'), objTypeText);\n\n nuEnableFFDataType();\n nuSetFFTypeColor(t);\n\n}\n\nfunction nuOnChangeFFField(t, event) {\n\n if (tableExists) {\n\n let i = nuSERVERRESPONSE.tableSchema[fastform_table.value].names.indexOf(t.value);\n let dataType = i === -1 ? \'\': nuSERVERRESPONSE.tableSchema[fastform_table.value].types[i].toUpperCase();\n nuSubformRowObject(event.target.id, \'ff_datatype\').val(dataType);\n\n }\n\n\n}\n\nvar selectedField = null;\n\nfunction onColumnPicker(event) {\n\n let id = event.target.id;\n if (id != \'\') {\n selectedField = nuSubformRowObject(id, \'ff_field\');\n if ($(selectedField).attr(\'data-nu-picked\')) {\n $(\"[id$=\'ff_field\']\").removeClass(\'nuHighlight\');\n $(selectedField).addClass(\'nuHighlight\');\n }\n }\n\n}\n\nfunction nuShowAvailableFields(v) {\n\n let ac = [\'nuFFAvailableColumns\',\n \'nuFFAvailableColumnsWord\'];\n if (!tableExists) {\n nuHide(ac);\n return;\n }\n\n nuShow(ac);\n\n if (v) {\n let arr = nuSubformColumnArray(\'obj_sf\', \'ff_field\');\n arr.push(\'\');\n disableFromSelect(\'nuFFAvailableColumns\', arr);\n $(\'#nuFFAvailableColumns\').prop(\'disabled\', false).removeClass(\'nuReadonly\');\n } else {\n if ($(\'#nuFFAvailableColumns option\').not(\"[value=\'\']\").length !== 0) {\n $(\'#nuFFAvailableColumns\').prop(\'disabled\', true).addClass(\'nuReadonly\');\n }\n }\n}\n\nfunction disableFromSelect(id, arrOptionsVal) {\n\n $(\"#nuFFAvailableColumns\").children(\'option\').attr(\"disabled\", false);\n $(\'#\' + id).find(\'option\').filter(function() {\n return arrOptionsVal.indexOf(this.value) != -1;\n }).attr(\"disabled\", true);\n\n}\n\nfunction nuSelectObjectRefreshed(o, f, c) {\n if (c == 0) nuShowAvailableFields(false);\n}\n\nfunction nuMoveFieldPrefixToSubform() {\n\n let title = $(\'#title_obj_sfff_field\');\n title.html(title.html() + \'
\');\n let prefix = $(\'#fastform_prefix\');\n title.append(prefix);\n nuSetPlaceholder(\'fastform_prefix\', \'Prefix\', true);\n prefix.css({\n \'top\': \'1px\',\n \'left\': \'0px\',\n \'position\': \'relative\',\n \'background-color\': \'#afe9ff\'\n });\n\n}\n\nfunction nuSetLabel(field, label) {\n\n let i = field.indexOf(\'_\');\n if (i == 2 || i == 3) {\n field = field.substring(i + 1);\n }\n\n label.val(field.replaceAll(\'_\', \' \').nuCapitalise().nuToTitleCase()).trigger(\'change\');\n\n}\n\nfunction nuAvailableFieldsOnClick(event, t) {\n\n if (selectedField !== null) {\n\n let v = t.value;\n $(selectedField).val(v).trigger(\'change\');\n\n let label = $(\'#\' + $(selectedField).attr(\'id\').replace(\'field\', \'label\'));\n if (label.is(\'[data-user-modified]\')) {\n let answer = window.confirm(nuTranslate(\'Overwrite the Label?\'));\n if (!answer) return;\n }\n\n nuSetLabel(v, label);\n\n nuSubformMoveFocus(selectedField, 1);\n\n }\n\n nuShowAvailableFields(true);\n}\n\nfunction nuGetStringAfterSubstring(parentString, substring) {\n return parentString.substring(parentString.indexOf(substring) + substring.length)\n}\n\nfunction nuAvailableColumnsSetLoading() {\n $(\'#nuFFAvailableColumns\').prepend(\'\');\n}\n\nfunction nuChangePrefix(prefix) {\n\n prefix = prefix.trim() === \'\' ? \'\': prefix + \'_\';\n let fieldArr = nuSubformColumnArray(\'obj_sf\', \'ff_field\');\n\n for (var i = 0; i < fieldArr.length; i++) {\n var n = fieldArr[i].indexOf(\"_\");\n if (n == -1 || n == 2 || n == 3) {\n\n var f = $(\'#obj_sf\' + nuPad3(i) + \'ff_field\');\n if (f.val() !== \'\') {\n f.val(prefix + nuGetStringAfterSubstring(f.val(), \'_\')).trigger(\'change\');\n }\n\n }\n }\n\n}\n\nfunction nuDisableLastFFRow() {\n\n let l = nuSubformObject(\'obj_sf\').rows.length;\n\n let rowPrefix = \'#obj_sf\' + nuPad3(l == 1 ? 0: l - 1);\n $(rowPrefix + \'ff_label\').nuDisable();\n $(rowPrefix + \'ff_field\').nuDisable();\n $(rowPrefix + \'ff_type\').nuDisable();\n $(rowPrefix + \'ff_type\').nuDisable();\n $(rowPrefix + \'ff_datatype\').nuDisable();\n\n}\n\nfunction nuButtonClass(id) {\n return $(\'#\' + id).attr(\'class\').split(\' \')[1];\n}\n\nfunction nuSetFFTypeOptionsColor(id) {\n\n $(\"#\" + id + \" > option\").each(function() {\n if (this.value !== \'\') {\n $(this).addClass($(\'#\' + this.value).attr(\'class\').split(\' \')[1]);\n }\n });\n\n}\n\nfunction nuSetFFTypeColor(t) {\n\n let x = \'#\' + t.value;\n if (t.value !== \'\') {\n let id = $(x);\n $(t).removeClass().addClass(id.attr(\'class\').split(\' \')[1]);\n }\n\n}\n\nfunction nuSetDataUserModified(t, event) {\n\n if ([37, 38, 39, 40, 9, 13].indexOf(event.keyCode) === -1) {\n $(t).attr(\'data-user-modified\', \'\');\n }\n\n}\n\nfunction nuOnBlurFFLabel(t, event) {\n\n if (!tableExists) {\n\n let ff_field = nuSubformRowObject(event.target.id, \'ff_field\');\n if (!ff_field.is(\'[data-user-modified]\') && $(t).is(\'[data-user-modified]\')) {\n let v = $(t).val();\n if (v !== \'\') {\n let prefix = $(\'#fastform_prefix\').val();\n ff_field.val((prefix === \'\' ? \'\': prefix + \'_\') + v.toLowerCase().replaceAll(\' \', \'_\')).trigger(\'change\');\n }\n }\n }\n\n}\n\nfunction nuOnBlurFFField(t, event) {\n\n var v = $(t).val().trim();\n if (v !== \'\') {\n\n let prefix = $(\'#fastform_prefix\').val();\n if (!v.startsWith(prefix)) {\n v = prefix + \'_\' + v;\n $(t).val(v);\n }\n\n let label = nuSubformRowObject(event.target.id, \'ff_label\');\n if (!label.is(\'[data-user-modified]\')) {\n nuSetLabel(v, label);\n }\n }\n\n}\n\nfunction nuClickDelete(event) {\n\n let id = event.target.id;\n let sf = $(\'#\' + id).attr(\'data-nu-checkbox\');\n let row = id.substring(sf.length, sf.length + 3);\n let checked = $(\'#\' + id).is(\":checked\");\n\n $(\'[id^=\' + sf + nuPad3(row) + \']\')\n .not(\':button, :checkbox\')\n .toggleClass(\'nuSubformDeleteTicked\', checked)\n .toggleClass(\'nuReadonly\', checked)\n .nuEnable(!checked);\n\n}\n\nfunction nuFFInvalidColumns() {\n\n let msg = \'\';\n let table = nuGetValue(\'fastform_table\');\n\n if (nuFORM.getTables().indexOf(table) == -1) return \'\';\n\n let sf = nuSubformObject(\'obj_sf\');\n for (let i = 0; i < sf.rows.length; i++) {\n\n let field = sf.rows[i][2];\n let type = nuGetValue(\'obj_sf\' + nuPad3(i) + \'ff_type\', \'text\');\n let exists = nuFORM.tableSchema[table].names.indexOf(field);\n if (sf.deleted[i] != 1 && exists == -1 && !nuNoStoreObject(type)) {\n msg += nuTranslate(\'Invalid Field Name\') + \' \' + field + \'
\'\n }\n\n }\n\n return msg;\n\n}\n\nfunction nuBeforeSave() {\n\n let table = nuGetValue(\'fastform_table\');\n let type = nuGetValue(\'fastform_type\');\n let pk = nuGetValue(\'fastform_primary_key\');\n let fk = nuGetValue(\'fastform_fk\');\n\n if (table === \'\' && type !== \'launch\') {\n nuMessage(nuTranslate(\'Validation Error\'), [\'\' + nuTranslate(\'Table Name\') + \' \' + nuTranslate(\'cannot be left blank\')]);\n return false;\n }\n\n if (type === \'\') {\n nuMessage(nuTranslate(\'Validation Error\'), [\'\' + nuTranslate(\'Form Type\') + \' \' + nuTranslate(\'cannot be left blank\')]);\n return false;\n }\n\n if (pk === \'\') {\n nuMessage(nuTranslate(\'Validation Error\'), [\'\' + nuTranslate(\'Primary Key\') + \' \' + nuTranslate(\'cannot be left blank\')]);\n return false;\n }\n\n if (type.startsWith(\'browse\') && $(\"[data-nu-field=\'ff_browse\']:checked\").length === 0) {\n\n nuMessage(nuTranslate(\'Validation Error\'), [nuTranslate(\'At least 1 Browse needs to be checked\')]);\n return false;\n\n }\n\n let fieldArr = nuSubformColumnArray(\'obj_sf\', \'ff_field\');\n if (fieldArr.includes(\'\') || !nuArrayIsUnique(fieldArr)) {\n\n nuMessage(nuTranslate(\'Validation Error\'), nuTranslate(\'The Field Names must be both unique and not blank\'));\n return false;\n\n }\n\n // let pk = table + \'_id\';\n if (fieldArr.includes(pk)) {\n\n nuMessage(nuTranslate(\'Validation Error\'), nuTranslate(\'The Primary Key %s must not be entered.\').replace(\'%s\', \'\' + pk + \'\'));\n return false;\n\n }\n\n if (type === \'subform\' && table !== \'\' && nuFORM.getTables().indexOf(table) === -1 && fk === \'\') {\n\n nuMessage(nuTranslate(\'Validation Error\'), [\'\' + nuTranslate(\'Foreign Key Field Name\') + \' \' + nuTranslate(\'cannot be left blank\')]);\n return false;\n\n }\n\n let a = [];\n for (var i = 0; i < nuSubformObject(\'obj_sf\').rows.length; i++) {\n a.push(nuSubformObject(\'obj_sf\').rows[i][2]);\n }\n\n if (fk !== \'\' && a.indexOf(fk) > -1 && type === \'subform\') {\n\n nuMessage(nuTranslate(\'Validation Error\'), [\'\' + nuTranslate(\'Foreign Key Field Name\') + \' \' + nuTranslate(\'is already used\')]);\n return false;\n\n }\n\n if (nuGetValue(\'obj_sf000ff_field\') == \'\') {\n\n nuMessage(nuTranslate(\'Validation Error\'), nuTranslate(\' At least one Field must be specified\'));\n return false;\n\n }\n\n let invalidColumns = nuFFInvalidColumns();\n if (invalidColumns !== \'\') {\n\n nuMessage(invalidColumns);\n return false;\n\n }\n\n return true;\n\n}', NULL, NULL, NULL, '1', NULL), ('nufile', 'browseedit', 'nufile', 'Files', 'nubuilder', '1', '#sfi_code#|New', 'zzzzsys_file', 'zzzzsys_file_id', '', NULL, 150, 3, '0', NULL, 'SELECT * FROM #TABLE_ID# ', NULL, 'showBrowseImages();\nscaleImages();\n$(\'#nuBrowseTitle3\').css(\'text-align\', \'left\');\nnuSetNoSearchColumns([2, 3]);\n\nnuBrowseStyleBadge(4); // Group\n\n$(\'[data-nu-column=\"0\"]\').each(function(index) {\n var code = \'#nucell_\' + index + \'_\';\n window.nuImages[$(code + \'0\').text()] = $(code + \'2\').text();\n});\n\nfunction showBrowseImages() {\n\n $(\'[data-nu-column=\"0\"]\').each(function(index) {\n\n var p = $(this).attr(\'id\');\n var r = String(p).split(\'_\')[1];\n var i = \"nucell_\" + r + \"_2\";\n var e = \"nucell_\" + r + \"_3\";\n var h = $(\'#\' + i).html();\n\n if (h !== \'\' && h !== undefined) {\n\n nuEmbedObject(h, e, 140, 140);\n\n }\n\n });\n\n}\n\n\nfunction scaleImages() {\n\n $(\"[data-nu-column=\'3\']\").each(function(index) {\n\n var t = $(this);\n if (t.html().trim() !== \'\') {\n\n var embed = t.find(\'embed\');\n if (t.length == 1) {\n\n var p = new Image();\n p.src = embed.attr(\'src\');\n\n if (p.width < t.outerWidth() && p.height < t.outerHeight()) {\n embed.css({\n \'width\': p.width,\n \'height\': p.height\n });\n embed.css(\'height\', p.height);\n }\n\n }\n }\n\n });\n\n}', 'if (nuIsNewRecord()) {\n // Hide Linked Objects Tab if new record \n nuHideTabById(\'nu67f22d53d2c87ad\')\n}\n\nnuFilesDisplayFile($(\'#sfi_json\').val());\nnuSetToolTip(\'sfi_file_input\', nuTranslate(\'Max. 300Kb\'));\n\nfunction nuBeforeSave() {\n\n const file = $(\'#sfi_file\').val();\n\n if (file !== \'\') {\n\n $(\'#sfi_json\')\n .val(file)\n .change();\n }\n\n return true;\n\n}\n\nfunction nuFilesDisplayFile(json) {\n nuEmbedObject(json, \'view_image\', -1, -1);\n nuShow(\'view_image\', json !== \'\');\n}\n\nfunction nuOnFileLoaded(e, id, json) {\n nuFilesDisplayFile(json);\n}', NULL, '1', NULL), ('nuform', 'browseedit', 'nuform', 'Forms', 'nubuilder', '1', '#sfo_code#|New', 'zzzzsys_form', 'zzzzsys_form_id', '', NULL, 0, 0, '1', NULL, 'SELECT\n *\nFROM #TABLE_ID#\nWHERE\n nu_filter_match (\'sfo_group\', \'nu648030319e8fa15\')\n AND nu_filter_match (\'sfo_status\', \'nu682fe38322e7e70\')\n AND nu_filter_match (\'sfo_type\', \'nu5bad6cb3764389f\')', NULL, '/*\n$(\"[data-nu-column=\'1\']\").each(function() {\n $(this).addClass(\'nu_\' + this.textContent);\n});\n*/\n\n\nfunction nuFormBrowseStyleBadge(column) {\n\n function createBadgeHtml(text, objClass) {\n return `\n ${text}\n `;\n }\n\n nuBrowseLoop([column], function (cell) {\n const $cell = $(cell);\n const cellText = $cell.text().trim();\n const objClass = \'nu_\' + cellText;\n if (cellText && cellText.length > 0) {\n $cell.html(createBadgeHtml(cellText, objClass));\n }\n });\n}\n\nnuFormBrowseStyleBadge(1);\nnuBrowseStyleStatusColumn(6);\nnuBrowseStyleBadge(5); // Group\n\n$(function() {\n if (!nuMainForm()) {\n // Hide Preview\n nuSetBrowseColumnSize(0, 0);\n } else {\n addRowButtons(0);\n }\n\n $(\"[data-nu-column=\'1\']\").addClass(\'nuCellColored\');\n\n\n nuAddBrowseFilter(\'nu648030319e8fa15\').nuSearchableMultiPopup({\n items: nuFormFilterGetGroup()});\n\n var dataStatus = [\n [\"0\",\"Draft\"],\n [\"1\",\"Active\"],\n // [\"2\",\"Disabled\"],\n [\"3\",\"Archived\"]\n ];\n\n nuAddBrowseFilter(\'nu682fe38322e7e70\').nuSearchableMultiPopup({\n items: dataStatus\n });\n\n var dataType = \n [\'browseedit\',\'browse\',\'edit\',\'subform\'];\n\n nuAddBrowseFilter(\'nu5bad6cb3764389f\').nuSearchableMultiPopup({\n items: dataType\n });\n \n nuPrintExcludeColumns([0]);\n\n\n});\n\n\nfunction createButton(target, pk, formType) {\n\n let btn = $(\"\");\n\n $(target).html(btn).attr(\'title\',\n nuTranslate(\'Preview Form\'));\n btn.on(\'click\',\n function(e) {\n e.stopPropagation(); debugger;\n const element = e.target.id === \'nuPreviewButton\' ? e.target : e.target.parentElement;\n const ft = $(element).attr(\"data-form-type\");\n const r = ft == \'launch\' || ft == \'edit\' || ft == \'subform\' ? \'-1\': \'\';debugger;\n nuForm(pk, r, \'\', \'\');\n });\n}\n\nfunction addRowButtons(column) {\n\n $(\"[data-nu-column=\'\" + column + \"\']\").each(function() {\n\n var pk = $(this).attr(\'data-nu-primary-key\');\n var r = $(this).attr(\'data-nu-row\');\n var formType = $(\'#nucell_\' + r + \'_1\').text().trim();\n\n if (typeof pk !== \"undefined\") {\n createButton(this, pk, formType);\n }\n })\n\n}', 'if (!nuDevMode()) {\n nuHideTabById(\'nu687b3c9ebc3e813\'); // Hide Custom Code 2\n}\n\n\nif ($(\'#zzzzsys_tab_sf000syt_access\').val() !== \'\') {\n nuMessage(nuTranslate(\'Validation Error\'), nuTranslate(\'The first tab must not be set to hidden\'));\n}\n\nfunction nuDisplayObjectRefreshed(obj) {\n\n let v = nuGetValue(obj);\n if (v != \'\' && sfo_primary_key.value !== v) {\n nuSetValue(\'sfo_primary_key\', v);\n }\n}\n\nnuAccessFormSetButtonIcons();\n\nfunction nuFormColorObjectTypes() {\n\n // Color Types\n $(\'select[id$=sob_all_type]\').find(\'option\').each(function (index, element) {\n $(element).addClass(\'nu_\' + element.value);\n });\n\n $(\'select[id$=sob_all_type]\').each(function (index, element) {\n\n $(element).removeClass();\n $(element).addClass(\'nu_\' + element.value);\n });\n\n}\n\nfunction nuFormSetControlsVisibility() {\n\n var pb = \'previewbrowse\';\n var pe = \'previewedit\';\n var js = \'sfo_javascript\';\n\n var bb = \'bb_event\';\n var be = \'be_event\';\n var bs = \'bs_event\';\n var as = \'as_event\';\n var bd = \'bd_event\';\n var ad = \'ad_event\';\n\n nuEnable([pb, pe, bb, be, bs, as, bd, ad, js]);\n\n var t = String($(\'#sfo_type\').val());\n\n if (t == \'browseedit\') {\n nuEnable([\'js_edit\', \'js_browse\', \'js_browse_edit\']);\n } else\n if (t == \'browse\') {\n nuDisable([pe, be, bs, as, bd, ad, \'js_edit\']);\n nuEnable([\'js_browse\', \'js_browse_edit\']);\n } else\n if (t == \'edit\') {\n nuDisable([pb, pb, bb, \'js_browse\']);\n nuEnable([\'js_edit\', \'js_browse_edit\']);\n } else\n if (t == \'launch\') {\n nuDisable([pb, bb, bs, as, bd, ad, \'js_browse\', \'js_edit\']);\n nuEnable(\'js_browse_edit\');\n } else\n if (t == \'subform\') {\n nuDisable([pb, bb, be, bs, as, bd, ad, js, \'js_browse\', \'js_edit\', \'js_browse_edit\']);\n $(\'#js_browse_edit\').html(\'Launch\');\n }\n\n for (let i = 1; i <= 3; i++) {\n nuShow(\'nuTab\' + i, t !== \'subform\' || i == 1);\n }\n\n}\n\nfunction nuFormAfterInsertRowObjects() {\n nuFormColorObjectTypes();\n}\n\nfunction nuFormJSMod(i) {\n\n var js = $(\'#\' + i);\n\n if (js.val() !== \'\') {\n $(\'#nuTab2\').css(\'font-weight\', \'bold\');\n }\n\n js.addClass(\'js\');\n\n}\n\nif (nuFormType() == \'edit\') {\n\n $(\'#sfo_code_snippet_sql_lookupbutton\').on(\'click\', function () {\n nuSetSnippetFormFilter(0, 0, 1, 0); // Custom Code\n });\n\n $(\'#sfo_code_snippet_lookupbutton\').on(\'click\', function () {\n nuSetSnippetFormFilter(1, 0, 0, 0); // SQL\n });\n\n nuFormColorObjectTypes();\n\n $(\'#title_objformbtnOpenDetails\').html(nuTranslate(\'Details\'));\n\n nuHide(\'sfo_code_snippet_lookupcode\');\n nuHide(\'sfo_code_snippet_sql_lookupcode\');\n nuHide(\'label_sfo_browse_sql\');\n\n nuSetPlaceholder(\'sfo_javascript\', \'JavaScript / Browse & Edit\');\n nuSetPlaceholder(\'sfo_browse_javascript\', \'JavaScript / Browse\');\n nuSetPlaceholder(\'sfo_edit_javascript\', \'JavaScript / Edit\');\n nuSetPlaceholder(\'sfo_style\', \'CSS\');\n\n $(\'#title_zzzzsys_tab_sfsyt_help\').attr(\'id\', \'help_title\');\n $(\"[id$=\'syt_help\']\").addClass(\'js\');\n\n nuAttachButtonImage(\'previewbrowse\', \'PB\', \'nuButtonImageSmall\');\n nuAttachButtonImage(\'previewedit\', \'PE\', \'nuButtonImageSmall\');\n nuAttachButtonImage(\'bb_event\', \'BB\', \'nuButtonImageSmall\');\n nuAttachButtonImage(\'be_event\', \'BE\', \'nuButtonImageSmall\');\n nuAttachButtonImage(\'bs_event\', \'BS\', \'nuButtonImageSmall\');\n nuAttachButtonImage(\'as_event\', \'AS\', \'nuButtonImageSmall\');\n nuAttachButtonImage(\'bd_event\', \'BD\', \'nuButtonImageSmall\');\n nuAttachButtonImage(\'ad_event\', \'AD\', \'nuButtonImageSmall\');\n nuAttachButtonImage(\'icon_js\', \'JS\');\n nuAttachButtonImage(\'icon_sql\', \'SQL\');\n nuAttachButtonImage(\'icon_php\', \'PHP\');\n nuAttachButtonImage(\'icon_style\', \'CSS\');\n\n nuFormJSMod(\'sfo_edit_javascript\');\n nuFormJSMod(\'sfo_browse_javascript\');\n nuFormJSMod(\'sfo_javascript\');\n\n nuHide(\'sfo_edit_javascript\');\n nuHide(\'sfo_browse_javascript\');\n nuHide(\'sfo_style\');\n\n $(\'#sfo_style\').addClass(\'css\');\n\n $(\'#sfo_browse_sql\').addClass(\'sql\').css(\'font-size\', \'10px\');\n\n if (!nuIsNewRecord()) {\n nuFormUpdateAclCount();\n }\n\n nuFromDefaultDescription();\n\n nuACEInitDblClickHandlers();\n\n nuFormUpdateDisplayDatalists();\n\n nuFormTypeChanged();\n\n let js = nuGetProperty(\'js\');\n if (js !== undefined) {\n let js_button = nuGetProperty(\'js_button\');\n nuFormJSSelectCustomCode(\'#\' + js_button, js);\n } else {\n if ($(\'#sfo_javascript\').val() == \'\' && $(\'#sfo_edit_javascript\').val() == \'\' && $(\'#sfo_browse_javascript\').val() !== \'\') {\n nuFormJSSelectCustomCode(\'#js_browse\', \'sfo_browse_javascript\');\n } else if ($(\'#sfo_javascript\').val() == \'\' && $(\'#sfo_browse_javascript\').val() == \'\' && $(\'#sfo_edit_javascript\').val() !== \'\') {\n nuFormJSSelectCustomCode(\'#js_edit\', \'sfo_edit_javascript\');\n } else {\n nuFormJSSelectCustomCode(\'#js_browse_edit\', \'sfo_javascript\');\n }\n }\n\n nuFormHighlightJSButtons();\n\n}\n\nif (window.filter == \'justjs\') {\n\n $(\'#nuDeleteButton\').remove();\n $(\'#nuCloneButton\').remove();\n $(\'#nuTab0\').remove();\n $(\'#nuTab1\').remove();\n $(\'#nuTab2\').trigger(\"click\");\n $(\'#nuTab2\').remove();\n\n nuSetTitle($(\'#sfo_description\').val());\n\n}\n\n$(\'#user_home\')\n.css({\n \'color\': \'white\',\n \'font-size\': \'13px\',\n \'display\': \'inline\',\n \'border-style\': \'solid\',\n \'height\': 30,\n \'text-shadow\': \'0 1px 2px #9AB973\',\n \'border-color\': \'#9AB973\',\n \'border-width\': \'0px 0px 1px 0px\',\n \'background-color\': \'#88cb51\'\n});\n\nfunction nuFormTypeChanged() {\n\n var t = String($(\'#sfo_type\').val());\n\n var pb = \'previewbrowse\';\n var pe = \'previewedit\';\n\n var bb = \'bb_event\';\n var be = \'be_event\';\n var bs = \'bs_event\';\n var as = \'as_event\';\n var bd = \'bd_event\';\n var ad = \'ad_event\';\n\n nuEnable([pb, pe, bb, be, bs, as, bd, ad]);\n\n nuSetValue(\'js_browse_edit\', \'Browse & Edit\');\n\n if (t == \'browse\') {\n nuDisable([pe, be, bs, as, bd, ad]);\n } else\n if (t == \'edit\') {\n nuDisable([pb, pb, bb]);\n } else\n if (t == \'launch\') {\n nuDisable([pb, bb, bs, as, bd, ad]);\n nuSetValue(\'js_browse_edit\', \'Launch\');\n } else\n if (t == \'subform\') {\n nuDisable([pb, bb, be, bs, as, bd, ad]);\n nuDisable(\'sfo_javascript\');\n }\n\n var h = $(\'#sfo_type\').addClass(\'nuEdited\');\n\n var o = [];\n o.browse = [0, 1, 2];\n o.edit = [0, 2];\n o.browseedit = [0, 1, 2];\n o.launch = [0, 2];\n o.subform = [0, 1];\n\n $(\'#sfo_type\').removeClass();\n $(\'#sfo_type\').addClass(\'nu_\' + $(\'#sfo_type\').val());\n\n if (h) {\n $(\'#sfo_type\').addClass(\'nuEdited\');\n }\n\n $(\"#sfo_type > option\").each(function () {\n if ($(this).val().trim() !== \"\") {\n $(this).addClass(\'nu_\' + this.value);\n }\n });\n\n for (var i = 0; i < 7; i++) {\n $(\'#nuTab\' + i).removeClass(\'nuRelatedTab\');\n }\n\n t = o[$(\'#sfo_type\').val()];\n if (t !== undefined) {\n\n for (i = 0; i < t.length; i++) {\n $(\'#nuTab\' + t[i]).addClass(\'nuRelatedTab\');\n }\n\n }\n\n nuFormSetControlsVisibility();\n\n}\n\nfunction nuFormEventList() {\n\n if ($(\'sob_all_type\').val() == \'subform\') {\n return [\'onchange\',\n \'onadd\'];\n } else {\n return [\'onblur\',\n \'onchange\',\n \'onfocus\',\n \'onkeydown\'];\n }\n\n}\n\nfunction nuFormOnDisplayBlur(event) {\n\n var id = event.target.id;\n\n var obj;\n obj = nuSubformRowObject(id, \'sbr_display\');\n var dispValue = obj.val();\n if (dispValue !== \'\' && (dispValue.charAt(3) == \'_\' || dispValue.charAt(2) == \'_\')) {\n\n let idx = dispValue.indexOf(\'_\');\n if (idx == 2 || idx == 3) {\n dispValue = dispValue.substring(idx + 1);\n }\n\n const title = dispValue.replaceAll(\'_\', \' \').nuCapitalise().nuToTitleCase();\n\n let objTitle = nuSubformRowObject(id, \'sbr_title\');\n if (objTitle.val() == \'\')\n objTitle.val(title).change();\n }\n\n}\n\nfunction nuFormOnTitleDisplayChanged(event) {\n\n var obj;\n var id = event.target.id;\n\n if (nuSubformRowObject(id, \'sbr_display\').val().trim() == \'\' && nuSubformRowObject(id, \'sbr_title\').val().trim())\n return;\n\n obj = nuSubformRowObject(id, \'sbr_width\');\n if (obj.val() == \'\')\n obj.val(100).change();\n\n obj = nuSubformRowObject(id, \'sbr_align\');\n if (obj.prop(\"selectedIndex\") < 2)\n obj.prop(\"selectedIndex\", 1).change();\n\n obj = nuSubformRowObject(id, \'sbr_order\');\n if (obj.val() == \'\') {\n\n var max = 0;\n $(\'[data-nu-field=sbr_order]\').each(function () {\n var v = parseInt($(this).val());\n max = (v > max) ? v : max;\n });\n\n obj.val(max + 10).change();\n }\n\n}\n\nfunction nuFormOnTabsTitleChanged(event) {\n\n var obj;\n var id = event.target.id;\n\n if (nuSubformRowObject(id, \'syt_title\').val().trim() == \'\' && nuSubformRowObject(id, \'syt_title\').val().trim())\n return;\n\n obj = nuSubformRowObject(id, \'syt_order\');\n if (obj.val() == \'\') {\n\n var max = 0;\n $(\'[data-nu-field=syt_order]\').each(function () {\n var v = parseInt($(this).val());\n max = (v > max) ? v : max;\n });\n\n obj.val(max + 10).change();\n }\n\n}\n\nfunction nuFromDefaultDescription() {\n\n var s = \'zzzzsys_browse_sf\';\n var r = nuSubformObject(s).rows.length - 1;\n var o = s + nuPad3(r) + \'sbr_title\';\n\n nuSetPlaceholder(o, \'Something\');\n\n}\n\nfunction nuFormUpdateAclCount() {\n const l = $(\"[data-nu-field=\'slf_zzzzsys_access_id\']\").length - 2;\n const t = l <= 0 ? \'\' : \' (\' + l + \')\';\n $(\'#nuTab3\').html(nuTranslate(\'Access Levels\') + t);\n}\n\nfunction nuFormUpdateDisplayDatalists(i) {\n\n const a = nuFORM.SQLFields($(\'#sfo_browse_sql\').val());\n const selector = i === undefined ? \"[id$=\'sbr_display\']\" : \"#\" + i;\n\n $(selector).each(function () {\n nuAddDatalist($(this).attr(\'id\'), a);\n });\n}\n\nfunction nuBeforeSave() {\n\n var dupDisplay = nuSubformColumnUnique(\'zzzzsys_browse_sf\', \'sbr_display\', \'Display (Browse)\');\n\n if (dupDisplay !== true) {\n\n nuMessage(dupDisplay);\n return false;\n }\n\n nuFormCopyAllTextareaValuesBack();\n window.nuActiveNavButton = nuGetActiveNavButton();\n\n return true;\n\n}\n\nfunction nuFormJSSelectCustomCode(t, obj) {\n\n $(\'[data-custom-code-textarea-button]\').removeClass(\'nuButtonSelected\');\n $(t).addClass(\'nuButtonSelected\');\n nuSetProperty(\'js\', obj);\n nuSetProperty(\'js_button\', $(t).attr(\'id\'));\n\n $(\'[data-custom-code-textarea]\').nuHide();\n nuShow(obj);\n $(\'#\' + obj).trigger(\'focus\');\n\n nuFormHighlightJSButtons()\n\n}\n\nfunction nuFormHighlightJSButtons() {\n\n $(\'#js_edit\').toggleClass(\'nuButtonHighlighted\', $(\'#sfo_edit_javascript\').val() !== \'\');\n $(\'#js_browse\').toggleClass(\'nuButtonHighlighted\', $(\'#sfo_browse_javascript\').val() !== \'\');\n $(\'#js_browse_edit\').toggleClass(\'nuButtonHighlighted\', $(\'#sfo_javascript\').val() !== \'\');\n $(\'#css_style\').toggleClass(\'nuButtonHighlighted\', $(\'#sfo_style\').val() !== \'\');\n\n}\n\n/*\n\nfunction nuOnMobileViewComplete() {\n\nconst elements = [{ input: \'#sfo_browse_javascript\' },{ input: \'#sfo_edit_javascript\' },{ input: \'#sfo_style\' },\n];\n\nconst inputAnchorTop = $(\'#sfo_javascript\').nuCSSNumber(\'top\');\n\nelements.forEach(({ input, offsety = 0 }) => {\n$(input).css(\'top\', inputAnchorTop + offsety);\n$(\'label_\' + input).css(\'top\', inputAnchorTop + offsety);\n});\n\n}\n */\n\nfunction nuOnMobileBeforeObjectPosition(id, element, top) {\n\n if (id === \'sfo_edit_javascript\' || id === \'sfo_javascript\' || id === \'sfo_style\') {\n top = 100;\n }\n\n return {\n top\n };\n\n}\n\nfunction nuFormImportACLAfterRun() {\n nuClosePopup();\n nuGetBreadcrumb();\n}\n\nfunction nuTabsAccesLevelsSetMarker() {\n nuTabSetMarker(\'nu5fdb9ff026348\', \'accform000slf_zzzzsys_access_idcode\');\n}\n\nnuTabsAccesLevelsSetMarker();\nnuTabCustomCodeSetMarker();\n\nfunction nuTabCustomCodeSetMarker() {\n const marker = nuGetValue(\'sfo_javascript\').trim() !== \'\' ||\n nuGetValue(\'sfo_browse_javascript\').trim() !== \'\' ||\n nuGetValue(\'sfo_edit_javascript\').trim() !== \'\'\n nuTabSetMarker(\'nu5bad6cb37026348\', marker);\n}\n\nnuTabsAccesLevelsSetMarker();\n\n// Custom Code 2:\n\n\nfunction nuFormCopyAllTextareaValues() {\n document.getElementById(\'nu-code-textarea-browse-edit\').value =\n document.getElementById(\'sfo_javascript\').value;\n\n document.getElementById(\'nu-code-textarea-browse\').value =\n document.getElementById(\'sfo_browse_javascript\').value;\n\n document.getElementById(\'nu-code-textarea-edit\').value =\n document.getElementById(\'sfo_edit_javascript\').value;\n}\n\nif (nuDevMode()) {\n nuFormCopyAllTextareaValues();\n var activeNavButton = window.nuActiveNavButton;\n nuSelectNavButton(activeNavButton);\n}\n\nfunction nuFormCopyAllTextareaValuesBack() {\n if (!nuDevMode()) return;\n\n const mappings = [\n [\'nu-code-textarea-browse-edit\', \'sfo_javascript\'],\n [\'nu-code-textarea-browse\', \'sfo_browse_javascript\'],\n [\'nu-code-textarea-edit\', \'sfo_edit_javascript\']\n ];\n\n mappings.forEach(([sourceId, targetId]) => {\n const source = document.getElementById(sourceId);\n const target = document.getElementById(targetId);\n\n if (source && source.classList.contains(\'nuEdited\') && target) {\n target.value = source.value;\n target.classList.add(\'nuEdited\'); // Add nuEdited class to the target\n }\n });\n}\n', '.nuButtonImagesmallLeft {\n text-align: left!important;\n padding-left: 43px;\n}\n\n\n#nuPreviewButton {\n height:unset;\n min-width: 34px;\n width: 34px;\n padding: 0 10px;\n vertical-align: middle;\n}', '1', NULL), ('nuformat', 'browseedit', 'nuformat', 'Formats', 'nubuilder', '1', '', 'zzzzsys_format', 'zzzzsys_format_id', '', NULL, 0, 0, '0', NULL, 'SELECT * FROM zzzzsys_format \nORDER BY srm_type, srm_format', NULL, NULL, 'var newRecord = nuIsNewRecord();\n\nif (!newRecord && nuHasBeenSaved() > 0) {\n parent.nuRefreshSelectObject(\'sob_input_format\', \'nuobject\');\n}\n\nif (!newRecord) {\n nuSetTitle(nuGetValue(\'srm_format\'));\n} else {\n nuSetTitle(nuTranslate(\'New\'));\n}\n\nvar $sign = $(\'#sign\');\nvar $separator = $(\'#separator\');\nvar $decimal = $(\'#decimal\');\nvar $places = $(\'#places\');\nvar $srmFormat = $(\'#srm_format\');\nvar $srmType = $(\'#srm_type\');\nvar $srmCurrency = $(\'#srm_currency\');\n\n$sign.addClass(\'nu-bold-big-text\');\n$separator.addClass(\'nu-bold-big-text\');\n$decimal.addClass(\'nu-bold-big-text\');\n$places.addClass(\'nu-bold-big-text\');\n$srmFormat.addClass(\'nuReadonly\').css(\'font-size\', \'22px\');\n\n\nnuSetFormatType();\n\nfunction nuAddToFormat(e) {\n const srmTypeVal = $srmType.val();\n if (srmTypeVal === \'Date\') {\n let v = String(e.target.innerHTML);\n if (v === \'Space\') {\n v = \' \';\n }\n $srmFormat.nuSetValue($srmFormat.val() + v);\n } else {\n const si = $sign.val();\n const se = $separator.val();\n const pl = $places.val();\n const de = Number(pl) > 0 ? $decimal.val() : \'\';\n const cu = JSON.stringify([si, se, de, pl]);\n\n const space = si !== \'\' ? \' \' : \'\';\n $srmFormat.val(si + space + \'1\' + se + \'000\' + de + String(0).repeat(pl)).trigger(\'change\');\n $srmCurrency.nuSetValue(cu);\n }\n\n nuFormatPreview();\n}\n\nfunction nuSetFormatType(a) {\n\n const argLength = arguments.length;\n nuHide(\'nucalculator\');\n $(\"[data-nu-nunumber-format]\").nuHide();\n\n if (argLength === 1) {\n $srmFormat.val(\'\');\n }\n\n const srmTypeVal = $srmType.val();\n if (srmTypeVal === \'Date\') {\n if (argLength === 1) {\n $srmFormat.val(\'\');\n }\n nuShow(\'nucalculator\');\n }\n\n if (srmTypeVal === \'Number\') {\n if (argLength === 1) {\n $srmFormat.val(\'1000\');\n nuAddToFormat();\n }\n $(\"[data-nu-nunumber-format]\").nuShow();\n }\n\n $(\"[data-nu-nunumber-format]\").nuShow(srmTypeVal === \'Number\');\n\n nuFormatPreview();\n nuHasNotBeenEdited();\n\n}\n\n\nfunction nuFormatPreview() {\n const inputType = $(\'#srm_type\').val();\n const previewElement = $(\"#srm_preview\");\n\n if (inputType === \'Date\') {\n previewElement.attr(\"data-nu-format\", `D|${nuGetValue(\'srm_format\')}`);\n nuSetDateValue(\'srm_preview\');\n }\n\n if (nuGetValue(\'srm_preview\') === \'\' && nuGetValue(\'srm_format\') !== \'\') {\n $(\"#srm_preview\").removeAttr(\"data-nu-format\");\n nuSetValue(\'srm_preview\', \'Format Error\');\n }\n\n nuEnable(\'srm_preview\', nuGetValue(\'srm_preview\') !== \'Format Error\');\n nuShow(\'srm_preview\', inputType === \'Date\');\n}', '.nu-bold-big-text {\n font-style: bold;\n font-size: 18px;\n}', '1', NULL), ('nufrlaunch', 'launch', 'nufrlaunch', 'Fast Report', 'nubuilder', '1', NULL, '', '', '', NULL, 0, 0, '0', NULL, '', '\n$(\'#wrdaddable\').css({\'font-size\' : \'14px\', \'font-weight\' : 700, \'padding\' : 5});\n$(\'#frwrd\').css({\'font-size\' : \'14px\', \'font-weight\' : 700, \'padding\' : 5});\n$(\'#nufr\').css({\'text-align\' : \'left\', \'height\' : 410, \'background-color\': \'#ebebeb\'});\n\n$(\'#list\').addClass(\'nuScroll\').removeClass(\'nuReadonly\');\n\n$(\'.nuActionButton\').hide();\nnuAddActionButton(\'BuildFastReport\');\n\n\nfunction nuAddReportField(t){\n\n var f = nuPad3($(\"[data-nu-label=\'Field Name\']\").length - 1);\n\n $(\'#fast_report_sf\' + f + \'field\').val($(t).html()).change();\n $(\'#fast_report_sf\' + f + \'width\').val(100).change();\n $(\'#fast_report_sf\' + f + \'sum\').val(\'no\').change();\n $(\'#fast_report_sf\' + f + \'title\').val($(t).html()).change().trigger( \"select\" );\n \n}\n\n\nfunction nuBeforeSave(){\n \n if($(\'#table\').val() === \'\'){\n \n nuMessage(nuTranslate(\'Validation Error\'), [\'Table Data\', nuTranslate(\'Cannot be left blank...\')])\n return false;\n \n }\n \n \n if($(\'#orderby\').val() === \'\'){\n \n nuMessage(nuTranslate(\'Validation Error\'), [\'Order By\', nuTranslate(\'Cannot be left blank...\')])\n return false;\n \n }\n \n nuBuildFastReport();\n \n return true;\n \n}\n\n\nfunction nuFRSetData() {\n\n if($(\'#fieldlist\').val() !== \'\'){\n \n var s = String($(\'#fieldlist\').val());\n var ds = s.replaceAll(\'[\',\'\').replaceAll(\']\',\'\').replaceAll(\'\\\\\',\'\').replaceAll(\'\"\',\'\');\n var fl = ds.split(\',\');\n var fu = [];\n \n $(\'#orderby\').find(\'option\').remove();\n \n for(var i = 0 ; i < fl.length ; i++){\n \n if(fl[i] != \'KEEP EXACT HEIGHT\'){\n \n fu[i] = \'
\' + fl[i] + \'
\';\n \n $(\'#orderby\').append(\'\');\n \n }\n \n }\n \n $(\'#nufr\').html(\'\' + fu.join(\'\') + \'
\');\n $(\'#orderby\').val(fl[0]);\n \n }\n\n}', NULL, NULL, NULL, NULL, NULL); INSERT INTO `zzzzsys_form` (`zzzzsys_form_id`, `sfo_type`, `sfo_code`, `sfo_description`, `sfo_group`, `sfo_status`, `sfo_breadcrumb_title`, `sfo_table`, `sfo_primary_key`, `sfo_browse_redirect_form_id`, `sfo_browse_target`, `sfo_browse_row_height`, `sfo_browse_rows_per_page`, `sfo_browse_title_multiline`, `sfo_browse_autoresize_columns`, `sfo_browse_sql`, `sfo_javascript`, `sfo_browse_javascript`, `sfo_edit_javascript`, `sfo_style`, `sfo_mobile_view`, `sfo_json`) VALUES ('nulaunchable', 'browse', 'nulaunchable', 'Launchable Forms', 'nubuilder', '1', NULL, 'zzzzsys_form', 'zzzzsys_form_id', '', NULL, 0, 16, '0', NULL, 'SELECT * FROM zzzzsys_form\nWHERE sfo_type IN (\'edit\', \'browseedit\', \'launch\')\nAND (\n SUBSTRING(zzzzsys_form_id, 1, 2) != \'nu\'\n OR zzzzsys_form_id = \'nublank\'\n OR zzzzsys_form_id = \'nuuserhome\'\n )\nORDER BY sfo_code\n', '$(\'#sfo_breadcrumb_title\').addClass(\'sql\');\n$(\'#sfo_browse_sql\').addClass(\'sql\');\n$(\'#sfo_javascript\').addClass(\'js\');\n\nnuSetTitle($(\'#sfo_table\').val());\n\nnuACEInitDblClickHandlers();\n\nif(window.filter == \'justjs\'){\n \n $(\'#nuDeleteButton\').remove();\n $(\'#nuCloneButton\').remove();\n $(\'#nuTab0\').remove();\n $(\'#nuTab1\').remove();\n $(\'#nuTab2\').trigger( \"click\" );\n $(\'#nuTab2\').remove();\n \n nuSetTitle($(\'#sfo_description\').val());\n \n}\n\nfunction nuFormColor(){\n\n var t = String($(\'#sfo_type\').val());\n\n var pb = \'previewbrowse\';\n var pe = \'previewedit\';\n\n var bb = \'bb_event\';\n var be = \'be_event\';\n var bs = \'bs_event\';\n var as = \'as_event\';\n var bd = \'bd_event\';\n var ad = \'ad_event\';\n \n if(t == \'browse\'){\n nuDisable([pe, be, bs, as, bd, ad]);\n }\n \n if(t == \'edit\'){\n nuDisable([pb, bb]);\n }\n\n if(t == \'launch\'){\n nuDisable([pb, bb, as, as, bd, ad]);\n }\n \n if(t == \'subform\'){\n nuDisable([pb, bb, be, bs, as, bd, ad, \'sfo_javascript\']);\n }\n\n var h = $(\'#sfo_type\').addClass(\'nuEdited\');\n \n var o = [];\n o.browse = [0,1,2];\n o.edit = [0,2];\n o.browseedit = [0,1,2];\n o.launch = [0,2];\n o.subform = [0,1];\n \n $(\'#sfo_type\').removeClass();\n $(\'#sfo_type\').addClass(\'nu_\'+$(\'#sfo_type\').val());\n \n if(h){\n $(\'#sfo_type\').addClass(\'nuEdited\');\n }\n \n $(\"#sfo_type > option\").each(function() {\n $(this).addClass(\'nu_\'+this.value);\n });\n\n for(let i = 0 ; i < 7 ; i++){\n $(\'#nuTab\' + i).removeClass(\'nuRelatedTab\');\n }\n \n const oType = o[$(\'#sfo_type\').val()];\n\n if(oType !== undefined){\n \n for(let i = 0 ; i < t.length ; i++){\n $(\'#nuTab\' + oType[i]).addClass(\'nuRelatedTab\'); \n }\n \n }\n \n}\n\nnuFormColor();\n\n$(\"[data-nu-column=\'nucolumn000\']\").each(function() {\n $(this).addClass(\'nu_\'+this.textContent);\n});\n\nfunction nuEventList(){\n \n if($(\'sob_all_type\').val() == \'subform\'){\n return [\'onchange\',\'onadd\'];\n }else{\n return [\'onblur\',\'onchange\',\'onfocus\',\'onkeydown\'];\n }\n \n}\n\n\n', NULL, NULL, NULL, NULL, NULL), ('nulaunchdates', 'launch', 'nulaunchdates', 'Between 2 Dates', 'nubuilder', '1', NULL, '', '', '', NULL, 0, 0, '0', NULL, '', '\nnuSetTitle(nuFORM.getCurrent().run_description);', NULL, NULL, NULL, NULL, NULL), ('nulaunchform', 'browse', 'nulaunchform', 'nuBuilder non-System Forms', 'nubuilder', '1', NULL, 'zzzzsys_form', 'zzzzsys_form_id', '', NULL, 0, 0, '0', NULL, 'SELECT * FROM zzzzsys_form\nWHERE sfo_type != \'subform\' AND zzzzsys_form_id != \'nuhome\'\nORDER BY sfo_code\n', '$(\"[data-nu-column=\'0\']\").each(function() {\n $(this).addClass(\'nu_\'+this.textContent);\n});\n\n$(\'#nuAddButton\').remove();\n$(\'#nuPrintButton\').remove();\n\n', NULL, NULL, NULL, NULL, NULL), ('nunonsystemform', 'browse', 'nunonsystemform', 'nuBuilder non-System Forms', 'nubuilder', '1', NULL, 'zzzzsys_form', 'zzzzsys_form_id', '', NULL, 0, 0, '0', NULL, 'SELECT * FROM zzzzsys_form\nWHERE ((zzzzsys_form_id NOT LIKE \'nu%\' AND sfo_type != \'subform\')\nOR zzzzsys_form_id IN (\'nuaccess\', \'nuuser\', \'nulaunchdates\', \'nutranslate\', \'nupassword\', \'nufile\', \'nuuserhome\', \'nublank\', \'nurunreport\'))\nORDER BY sfo_code', '$(\"[data-nu-column=\'0\']\").each(function() {\n $(this).addClass(\'nu_\'+this.textContent);\n});\n\n$(\'#nuAddButton\').remove();\n$(\'#nuPrintButton\').remove();\n\n', NULL, NULL, NULL, NULL, NULL), ('nunotes', 'browseedit', 'nunotes', 'Notes', 'nubuilder', '1', '#not_title#|New', 'zzzzsys_note', 'zzzzsys_note_id', '', NULL, 0, 0, '0', NULL, 'SELECT\n zzzzsys_note.*, noc_name\nFROM\n zzzzsys_note\nLEFT JOIN zzzzsys_note_category ON not_zzzzsys_note_category_id = zzzzsys_note_category.zzzzsys_note_category_id\nORDER BY\n not_title ASC', NULL, NULL, 'nuHide(\'label_not_title\');\nnuSetPlaceholder(\'not_title\', nuTranslate(\'Title\'));\n\nnuHide(\'label_not_zzzzsys_note_category_id\');\nnuSetPlaceholder(\'not_zzzzsys_note_category_idcode\', nuTranslate(\'Category\'));\n\nfunction nuNotesHandleEnterKey() {\n\n $(\'.ql-editor\').trigger(\"focus\");\n\n let tinyB = tinyMCE.get(\'not_content_container\').getBody();\n if (tinyB !== null) tinyB.focus();\n\n\n}\n\n$(\'#not_title\').nuOnEnterKey(nuNotesHandleEnterKey, true);\nnuTabAdditionalSetMarker();\n\n\nfunction nuTinyMCEOnInit(e, editor, id) {\n\n if (nuUseMobileView()) {\n $(function() {\n const maxWidth = $(\'#\' + id)?.attr(\'data-nu-mobile-max-width\')?.nuJustNumbers();\n const maxHeight = $(\'#\' + id)?.attr(\'data-nu-mobile-max-height\')?.nuJustNumbers();\n\n nuTinyMCESetBounds(\'not_content\', 5, 70, maxWidth, maxHeight);\n $(\'#not_updated_on\').css(\'top\', \'640px\');\n $(\'#label_not_updated_on\').css(\'top\', \'620px\');\n });\n }\n\n}\n\n\nfunction nuTabAdditionalSetMarker() {\n nuTabSetMarker(\'nu684e16abd1b5744\', \'not_text\');\n}', '', '1', NULL), ('nunotescategroy', 'browseedit', 'nunotescategory', 'Categories', 'nubuilder', '1', '#noc_name#|New', 'zzzzsys_note_category', 'zzzzsys_note_category_id', '', NULL, 0, 15, '0', NULL, 'SELECT * FROM zzzzsys_note_category\nORDER BY noc_name', 'nuHide(\'nuPrintButton\');', 'if (nuIsIframe()) {\n var btn = nuAddActionButton(\'runCategories\', \'\', \'nuForm(\"\' + nuFormId() + \'\", \"\", \"\", \"\", 2);\');\n btn.attr(\'title\', nuTranslate(\'Edit Categories\'));\n nuAttachFontAwesome(btn.attr(\'id\'), \'fa-solid fa-list\');\n}', NULL, NULL, '1', NULL); INSERT INTO `zzzzsys_form` (`zzzzsys_form_id`, `sfo_type`, `sfo_code`, `sfo_description`, `sfo_group`, `sfo_status`, `sfo_breadcrumb_title`, `sfo_table`, `sfo_primary_key`, `sfo_browse_redirect_form_id`, `sfo_browse_target`, `sfo_browse_row_height`, `sfo_browse_rows_per_page`, `sfo_browse_title_multiline`, `sfo_browse_autoresize_columns`, `sfo_browse_sql`, `sfo_javascript`, `sfo_browse_javascript`, `sfo_edit_javascript`, `sfo_style`, `sfo_mobile_view`, `sfo_json`) VALUES ('nuobject', 'browseedit', 'nuobject', 'Objects', 'nubuilder', '1', '#sob_all_id#|New', 'zzzzsys_object', 'zzzzsys_object_id', '', '', 0, 0, '1', '0', 'SELECT\n *\nFROM\n zzzzsys_object\n JOIN #TABLE_ID# ON zzzzsys_object_id = theid JOIN zzzzsys_tab ON zzzzsys_tab_id = sob_all_zzzzsys_tab_id\n JOIN zzzzsys_form ON zzzzsys_form_id = syt_zzzzsys_form_id\nWHERE\n (\n (\n sob_all_type = \'#nu5bad6cb375afa75_filter#\'\n OR left(\'#nu5bad6cb375afa75_filter#\', 1) IN (\'#\', \'\')\n )\n AND (\n sob_input_type = \'#nu5bad6cb377a01b0_filter#\'\n OR left(\'#nu5bad6cb377a01b0_filter#\', 1) IN (\'#\', \'\')\n )\n \n AND (\n sob_all_label = \'#nu5bad6cb375bd72e_filter#\'\n OR left(\'#nu5bad6cb375bd72e_filter#\', 1) IN (\'#\', \'\')\n OR LOCATE(sob_all_label, \'#nu5bad6cb375bd72e_filter#\') > 0\n )\n\n )\nORDER BY\n sfo_description,\n sob_input_type,\n sob_all_id\n \n ', NULL, 'function nuObjectBrowseStyleBadge(column) {\n\n function createBadgeHtml(text, objClass) {\n return `\n ${text}\n `;\n }\n\n nuBrowseLoop([column], function (cell) {\n const $cell = $(cell);\n const cellText = $cell.text().trim();\n const objClass = \'nu_\' + cellText;\n if (cellText && cellText.length > 0) {\n $cell.html(createBadgeHtml(cellText, objClass));\n }\n });\n}\n\nnuObjectBrowseStyleBadge(0);\n\n\n\n$(\"[data-nu-column=\'4\']\").each(function() {\n $(this).html(stripHTMLTags($(this).html()).replace(/ /g, \' \').trim());\n});\n\nfunction stripHTMLTags(s) {\n return s == \'\' ? \'\' : s.replace(/<\\/?[^>]+(>|$)/g, \"\");\n}\n$(function() {\n const types = [\n [\"calc\", \"Calc\"],\n [\"display\", \"Display\"],\n [\"contentbox\", \"ContentBox\"],\n [\"editor\", \"WYSIWYG Editor\"],\n [\"chart\", \"Chart\"],\n [\"html\", \"HTML\"],\n [\"image\", \"Image\"],\n [\"input\", \"Input\"],\n [\"lookup\", \"Lookup\"],\n [\"run\", \"Run\"],\n [\"select\", \"Select\"],\n [\"subform\", \"Subform\"],\n [\"textarea\", \"Textarea\"],\n [\"word\", \"Word\"]\n ];\n nuAddBrowseFilter(\'nu5bad6cb375afa75\').nuSearchablePopup({\n items: types\n });\n const inputTypes = [\n [\"nuDate\", \"nuDate\"],\n [\"nuNumber\", \"nuNumber\"],\n [\"nuScroll\", \"nuScroll\"],\n [\"nuAutoNumber\", \"nuAutoNumber\"],\n [\"button\", \"Button\"],\n [\"checkbox\", \"Checkbox\"],\n [\"color\", \"Color\"],\n [\"datetime-local\", \"Datetime-Local\"],\n [\"email\", \"Email\"],\n [\"file\", \"File\"],\n [\"image\", \"Image\"],\n [\"month\", \"Month\"],\n [\"number\", \"Number\"],\n [\"password\", \"Password\"],\n [\"radio\", \"Radio\"],\n [\"range\", \"Range\"],\n [\"reset\", \"Reset\"],\n [\"search\", \"Search\"],\n [\"tel\", \"Telephone\"],\n [\"text\", \"Text\"],\n [\"time\", \"Time\"],\n [\"url\", \"URL\"],\n [\"week\", \"Week\"]\n ];\n nuAddBrowseFilter(\'nu5bad6cb377a01b0\').nuSearchablePopup({\n items: inputTypes\n });\n});', 'function nuObjectEditAttributes() {\n\n const arr = nuParseAttributes(sob_input_attribute.value);\n const currentAttrs = Object.fromEntries(\n arr.map(({\n key,\n value\n }) => [key, value]));\n\n openAttributeEditor(\n currentAttrs,\n function (savedAttributes) {\n sob_input_attribute.value = nuObjectAttributesToString(savedAttributes);\n /*\n // Apply new attributes\n Object.keys(savedAttributes).forEach(function(key) {\n if (savedAttributes[key] === \'\') {\n obj.attr(key, \'\'); // Boolean attributes\n } else {\n obj.attr(key, savedAttributes[key]);\n }\n });\n */\n\n // Mark form as edited\n // nuFormHasBeenEdited(true);\n });\n}\n\nfunction nuObjectAttributesToString(attributes) {\n if (!attributes || typeof attributes !== \'object\') {\n return \'\';\n }\n\n return Object.keys(attributes)\n .map(key => {\n const value = attributes[key];\n // Handle boolean attributes (empty values)\n if (value === \'\' || value === null || value === undefined) {\n return key;\n }\n // Escape quotes in values and wrap in quotes\n const escapedValue = String(value).replace(/\"/g, \'"\');\n return `${key}=\"${escapedValue}\"`;\n })\n .join(\',\');\n}\n\n\n(function($) {\n \'use strict\';\n\n // Flag to track if event handlers are already bound\n let eventHandlersBound = false;\n\n // Initialize the plugin when DOM is ready\n $(document).ready(function() {\n // Inject CSS styles\n injectStyles();\n // Inject HTML template\n injectTemplate();\n // Bind event handlers once\n bindEventHandlers();\n });\n\n // CSS Styles (keeping your existing styles)\n function injectStyles() {\n const styles = `\n \n `;\n \n // Only inject styles if not already present\n if (!$(\'#nu-attr-editor-styles\').length) {\n $(\'head\').append(styles);\n }\n }\n\n // HTML Template\n function injectTemplate() {\n const template = `\n
\n
\n
\n

Edit Attributes

\n \n
\n
\n
\n
\n
\n \n \n \n \n
\n
\n \n \n
\n
\n \n \n \n
\n Boolean attribute - no value needed\n
\n
\n \n
\n
\n
\n \n
\n
No attributes added yet
\n
\n
\n
\n \n \n
\n
\n
\n `;\n \n // Only inject template if not already present\n if (!$(\'#nu-attr-editor-overlay\').length) {\n $(\'body\').append(template);\n }\n }\n\n // Bind event handlers only once\n function bindEventHandlers() {\n if (eventHandlersBound) return;\n \n \n nuDatalistShowAllOnArrowClick(\'nu-attr-type\');\n $(document).on(\'input change\', \'#nu-attr-type\', function() {\n if (window.currentAttributeEditor) {\n window.currentAttributeEditor.updateValueField();\n }\n });\n \n $(document).on(\'click\', \'.nu-attr-editor-add-btn\', function() {\n if (window.currentAttributeEditor) {\n window.currentAttributeEditor.addOrUpdateAttribute();\n }\n });\n \n $(document).on(\'click\', \'.nu-attr-editor-edit-btn\', function() {\n if (window.currentAttributeEditor) {\n const key = $(this).data(\'key\');\n window.currentAttributeEditor.editAttribute(key);\n }\n });\n \n $(document).on(\'click\', \'.nu-attr-editor-remove-btn\', function() {\n if (window.currentAttributeEditor) {\n const key = $(this).data(\'key\');\n window.currentAttributeEditor.removeAttribute(key);\n }\n });\n \n $(document).on(\'click\', \'.nu-attr-editor-close, .nu-attr-editor-cancel-btn\', function() {\n if (window.currentAttributeEditor) {\n window.currentAttributeEditor.hidePopup();\n window.currentAttributeEditor.settings.onCancel();\n }\n });\n\n $(document).on(\'click\', \'.nu-attr-editor-apply-btn\', function() {\n if (window.currentAttributeEditor) {\n window.currentAttributeEditor.hidePopup();\n window.currentAttributeEditor.settings.onApply(window.currentAttributeEditor.currentAttributes);\n }\n });\n\n $(document).on(\'click\', \'.nu-attr-editor-overlay\', function(e) {\n if (e.target === this && window.currentAttributeEditor) {\n window.currentAttributeEditor.hidePopup();\n window.currentAttributeEditor.settings.onCancel();\n }\n });\n\n $(document).on(\'keypress\', \'#nu-attr-type, #nu-attr-custom-name, #nu-attr-value-text\', function(e) {\n if (e.which === 13 && window.currentAttributeEditor) {\n window.currentAttributeEditor.addOrUpdateAttribute();\n }\n });\n\n eventHandlersBound = true;\n }\n\n // Global function to open the attribute editor\n window.openAttributeEditor = function(currentAttributes, onApply, onCancel) {\n if (typeof currentAttributes === \'string\') {\n try {\n currentAttributes = JSON.parse(currentAttributes);\n } catch (e) {\n currentAttributes = {};\n }\n }\n \n currentAttributes = currentAttributes || {};\n \n onApply = onApply || function(attrs) { console.log(\'Applied:\', attrs); };\n onCancel = onCancel || function() { console.log(\'Cancelled\'); };\n \n // Create a single instance and store globally\n window.currentAttributeEditor = new AttributeEditor({\n initialData: currentAttributes,\n onApply: onApply,\n onCancel: onCancel\n });\n \n window.currentAttributeEditor.showPopup();\n };\n\n // AttributeEditor class\n function AttributeEditor(options) {\n this.settings = $.extend({\n onApply: function(attributes) { console.log(\'Applied:\', attributes); },\n onCancel: function() { console.log(\'Cancelled\'); },\n initialData: {}\n }, options);\n\n this.currentAttributes = { ...this.settings.initialData };\n this.editingKey = null;\n\n // Attribute configurations for predefined attributes\n this.attributeConfigs = {\n \'autocomplete\': { type: \'select\', options: { \'on\': \'on\', \'off\': \'off\' }, placeholder: \'\' },\n \'accesskey\': { type: \'text\', placeholder: \'Single character\' },\n \'data-\': { type: \'text\', placeholder: \'String value\', requiresCustomName: true },\n \'maxlength\': { type: \'text\', placeholder: \'Number value\' },\n \'placeholder\': { type: \'text\', placeholder: \'Placeholder text\' },\n \'spellcheck\': { type: \'select\', options: { \'true\': \'true\', \'false\': \'false\' }, placeholder: \'\' },\n \'title\': { type: \'text\', placeholder: \'Tooltip text\' },\n \'value\': { type: \'text\', placeholder: \'String\' },\n \'nu-label-position\': { type: \'select\', options: { \'top\': \'top\', \'custom\': \'custom\' }, placeholder: \'\' },\n \'nu-disable-calendar\': { type: \'boolean\', placeholder: \'\' },\n \'nu-tooltip\': { type: \'text\', placeholder: \'Tooltip text\' },\n \'nu-tooltip-icon\': { type: \'text\', placeholder: \'Tooltip text\' }\n };\n }\n\n AttributeEditor.prototype.showError = function(message) {\n $(\'#nu-attr-error\').text(message);\n };\n\n AttributeEditor.prototype.clearError = function() {\n $(\'#nu-attr-error\').text(\'\');\n };\n\n AttributeEditor.prototype.isBooleanAttribute = function(attrName) {\n const config = this.attributeConfigs[attrName];\n return (config && config.type === \'boolean\');\n };\n\n AttributeEditor.prototype.updateValueField = function() {\n const $typeInput = $(\'#nu-attr-type\');\n const $customName = $(\'#nu-attr-custom-name\');\n const $valueText = $(\'#nu-attr-value-text\');\n const $valueSelect = $(\'#nu-attr-value-select\');\n const $customNameGroup = $(\'.nu-attr-editor-custom-name\');\n const $valueTextGroup = $(\'.nu-attr-editor-value-text\');\n const $valueSelectGroup = $(\'.nu-attr-editor-value-select\');\n const $booleanNotice = $(\'#boolean-notice\');\n \n const selectedType = $typeInput.val().trim();\n const config = this.attributeConfigs[selectedType];\n \n this.clearError();\n $valueText.val(\'\');\n $valueSelect.empty();\n $booleanNotice.hide();\n \n // Show/hide custom name field for data- attributes\n if (selectedType === \'data-\' || selectedType.startsWith(\'data-\')) {\n $customNameGroup.addClass(\'show\');\n if (selectedType === \'data-\') {\n $customName.focus();\n }\n } else {\n $customNameGroup.removeClass(\'show\');\n $customName.val(\'\');\n }\n\n // Check if it\'s a boolean attribute\n if (this.isBooleanAttribute(selectedType)) {\n $valueTextGroup.removeClass(\'show\');\n $valueSelectGroup.removeClass(\'show\');\n $booleanNotice.show();\n return;\n }\n\n // If we have a predefined config, use it\n if (config) {\n $valueText.attr(\'placeholder\', config.placeholder);\n\n if (config.type === \'select\') {\n $valueTextGroup.removeClass(\'show\');\n $valueSelectGroup.addClass(\'show\');\n \n Object.entries(config.options).forEach(([value, text]) => {\n $valueSelect.append(``);\n });\n } else {\n $valueTextGroup.addClass(\'show\');\n $valueSelectGroup.removeClass(\'show\');\n }\n } else {\n $valueTextGroup.addClass(\'show\');\n $valueSelectGroup.removeClass(\'show\');\n $valueText.attr(\'placeholder\', \'Enter attribute value\');\n }\n };\n\n AttributeEditor.prototype.getAttributeKey = function() {\n const $typeInput = $(\'#nu-attr-type\');\n const $customName = $(\'#nu-attr-custom-name\');\n \n const type = $typeInput.val().trim();\n \n if (type === \'data-\') {\n const customName = $customName.val().trim();\n return customName ? `data-${customName}` : \'\';\n } else if (type.startsWith(\'data-\') && type.length > 5) {\n return type;\n }\n \n return type;\n };\n\n AttributeEditor.prototype.getAttributeValue = function() {\n const $typeInput = $(\'#nu-attr-type\');\n const $valueText = $(\'#nu-attr-value-text\');\n const $valueSelect = $(\'#nu-attr-value-select\');\n const $valueTextGroup = $(\'.nu-attr-editor-value-text\');\n \n const type = $typeInput.val().trim();\n const config = this.attributeConfigs[type];\n \n if (this.isBooleanAttribute(type)) {\n return \'\';\n }\n \n if (config && config.type === \'select\') {\n return $valueSelect.val();\n } else {\n if ($valueTextGroup.hasClass(\'show\')) {\n return $valueText.val().trim();\n }\n return \'\';\n }\n };\n\n AttributeEditor.prototype.validateAttributeWithValues = function(type, key, value) {\n const config = this.attributeConfigs[type];\n\n // Check if attribute name is provided\n if (!type) {\n this.showError(\'Please enter an attribute name\');\n return false;\n }\n\n // Check if we have a valid key (important for data- attributes)\n if (!key) {\n this.showError(\'Please enter a valid attribute name\');\n return false;\n }\n\n // Check for duplicate attributes (unless we\'re editing the same one)\n if (this.editingKey !== key && this.currentAttributes.hasOwnProperty(key)) {\n this.showError(\'This attribute already exists\');\n return false;\n }\n\n // Validate predefined attributes\n if (config) {\n // Non-boolean attributes need values\n if (config.type !== \'boolean\' && !this.isBooleanAttribute(type) && !value) {\n this.showError(\'Please enter a value for this attribute\');\n return false;\n }\n\n // Specific validation for accesskey\n if (type === \'accesskey\' && value.length !== 1) {\n this.showError(\'Access key must be a single character\');\n return false;\n }\n\n // Specific validation for maxlength\n if (type === \'maxlength\' && (isNaN(value) || parseInt(value) < 0)) {\n this.showError(\'Max length must be a positive number\');\n return false;\n }\n } else {\n // For custom attributes, check if they need values\n const isBooleanAttr = this.isBooleanAttribute(type);\n const $valueTextGroup = $(\'.nu-attr-editor-value-text\');\n \n if (!isBooleanAttr && !value && $valueTextGroup.hasClass(\'show\')) {\n this.showError(\'Please enter a value for this attribute\');\n return false;\n }\n }\n\n // All validation passed\n return true;\n };\n\n AttributeEditor.prototype.validateAttribute = function() {\n const type = $(\'#nu-attr-type\').val().trim();\n const key = this.getAttributeKey();\n const value = this.getAttributeValue();\n return this.validateAttributeWithValues(type, key, value);\n };\n\n AttributeEditor.prototype.addOrUpdateAttribute = function() {\n if (!this.validateAttribute()) return;\n\n const key = this.getAttributeKey();\n const value = this.getAttributeValue();\n\n if (this.editingKey && this.editingKey !== key) {\n delete this.currentAttributes[this.editingKey];\n }\n\n this.currentAttributes[key] = value;\n this.clearForm();\n this.renderAttributes();\n };\n\n AttributeEditor.prototype.clearForm = function() {\n $(\'#nu-attr-type\').val(\'\');\n $(\'#nu-attr-custom-name\').val(\'\');\n $(\'#nu-attr-value-text\').val(\'\');\n $(\'#nu-attr-value-select\').empty();\n $(\'.nu-attr-editor-custom-name\').removeClass(\'show\');\n $(\'.nu-attr-editor-value-text\').removeClass(\'show\');\n $(\'.nu-attr-editor-value-select\').removeClass(\'show\');\n $(\'#boolean-notice\').hide();\n this.clearError();\n this.editingKey = null;\n $(\'.nu-attr-editor-add-btn\').text(\'Add\');\n };\n\n AttributeEditor.prototype.editAttribute = function(key) {\n this.editingKey = key;\n const value = this.currentAttributes[key];\n \n let type = key;\n let customName = \'\';\n \n if (key.startsWith(\'data-\')) {\n if (key === \'data-\') {\n type = \'data-\';\n } else {\n const afterData = key.substring(5);\n if (afterData && !afterData.includes(\'-\')) {\n type = \'data-\';\n customName = afterData;\n } else {\n type = key;\n }\n }\n }\n \n $(\'#nu-attr-type\').val(type);\n this.updateValueField();\n \n if (customName) {\n $(\'#nu-attr-custom-name\').val(customName);\n }\n \n const config = this.attributeConfigs[type];\n if (config && config.type === \'select\') {\n $(\'#nu-attr-value-select\').val(value);\n } else if (!this.isBooleanAttribute(type)) {\n $(\'#nu-attr-value-text\').val(value);\n }\n \n $(\'.nu-attr-editor-add-btn\').text(\'Update\');\n \n setTimeout(() => {\n const typeInput = document.getElementById(\'nu-attr-type\');\n typeInput.focus();\n typeInput.scrollIntoView({ behavior: \'smooth\', block: \'center\' });\n }, 100);\n };\n\n AttributeEditor.prototype.removeAttribute = function(key) {\n delete this.currentAttributes[key];\n this.renderAttributes();\n };\n\n AttributeEditor.prototype.renderAttributes = function() {\n const $list = $(\'#nu-attr-list\');\n $list.empty();\n \n const keys = Object.keys(this.currentAttributes);\n if (keys.length === 0) {\n $list.html(\'
No attributes added yet
\');\n return;\n }\n \n const self = this;\n keys.forEach(key => {\n const value = this.currentAttributes[key];\n const displayValue = value || (this.isBooleanAttribute(key) ? \'(boolean)\' : \'(no value)\');\n \n const $item = $(`\n
\n
\n
${key}
\n
${displayValue}
\n
\n
\n \n \n
\n
\n `);\n \n $list.append($item);\n });\n };\n\n AttributeEditor.prototype.showPopup = function() {\n const $overlay = $(\'#nu-attr-editor-overlay\');\n $overlay.fadeIn(200);\n this.renderAttributes();\n };\n\n AttributeEditor.prototype.hidePopup = function() {\n const $overlay = $(\'#nu-attr-editor-overlay\');\n $overlay.fadeOut(200);\n this.clearForm();\n };\n\n})(jQuery);\n\n/////////////////////////////////////////////////////////////////////\n\nif (! nuDevMode()) {\n nuHideTabById(\'nu61e9964c9bf5e13\'); // JSON\n}\n\nnuShow(\'se_items_run\', !nuIsNewRecord());\nnuShow(\'sob_items_run\', !nuIsNewRecord());\n\n// Code Snippets form\nnuSetSnippetFormFilter(0, 0, 1, 0); // SQL\n\nnuHide(\'sob_code_snippet_display_lookupcode\');\nnuHide(\'sob_code_snippet_select_lookupcode\');\nnuHide(\'label_zzzzsys_event_sf\');\nnuHide(\'label_sob_html_code\');\nnuShow(\'sob_run_zzzzsys_form_open_button\', sob_run_zzzzsys_form_id.value !== \'\');\nnuShow(\'sob_lookup_zzzzsys_form_open_button\', sob_lookup_zzzzsys_form_id.value !== \'\');\nnuShow(\'sob_display_procedure_open_button\', sob_display_procedure.value !== \'\');\nnuShow(\'sob_select_procedure_open_button\', sob_select_procedure.value !== \'\');\n\nnuObjectDisplayInputIcon();\nnuObjectDisplayAccessCondition();\nnuObjectDisplayProcedureChanged();\nnuObjectSelectProcedureChanged();\n\nnuDisable(\'sob_calc_formula\');\nnuSetToolTip(\'sob_all_id_create_button\', nuTranslate(\'Add database column\'));\n\nwindow.parentTabs = parent.$(\'.nuTab\');\n\n\nvar tabIdDescLeft = $(\'#sob_all_zzzzsys_tab_iddescription\').nuCSSNumber(\'left\') + 11;\n$(\'#sob_all_zzzzsys_tab_iddescription\').css(\'left\', tabIdDescLeft + \'px\');\n\n$(\'#zzzzsys_event_sfsev_javascript\').attr(\'id\', \'jsfuntitle\');\n$(\'#sob_calc_formula\').addClass(\'nuCalculatorCurrency\').css(\'font-size\', \'12px\');\n$(\'#sob_all_display_condition\').addClass(\'sql\');\n$(\'#sob_all_default_value_sql\').addClass(\'sql\');\n$(\'#sob_display_sql\').addClass(\'sql\');\n$(\'#sob_input_datalist\').addClass(\'sql\');\n$(\'#sob_select_sql\').addClass(\'sql\');\n$(\'#sob_lookup_javascript\').addClass(\'js\');\n$(\'#sob_input_javascript\').addClass(\'js\');\n$(\'#sob_html_javascript\').addClass(\'js\');\n$(\'#sob_lookup_php\').addClass(\'php\');\n$(\'#sob_html_code\').addClass(\'html\');\n$(\'#sob_all_style\').addClass(\'css\');\n$(\'#sob_input_attribute\').addClass(\'css\');\n$(\"[id$=\'sev_javascript\']\").addClass(\'js\');\n$(\"#title_zzzzsys_event_sfsev_javascript\").removeClass(\'js\');\n$(\'#sob_run_zzzzsys_form_open_button\').toggleClass(\'input_button nuButton nuLookupButton\');\n$(\'#sob_lookup_zzzzsys_form_open_button\').toggleClass(\'input_button nuButton nuLookupButton\');\n$(\'#sob_subform_zzzzsys_form_open_button\').toggleClass(\'input_button nuButton nuLookupButton\');\n$(\'#sob_select_procedure_open_button\').toggleClass(\'input_button nuButton nuLookupButton\');\n$(\'#sob_display_procedure_open_button\').toggleClass(\'input_button nuButton nuLookupButton\');\n\n\n$(\'#sob_all_type_open_button\').toggleClass(\'input_button nuButton nuLookupButton\');\n\nnuObjectPreviewIcon(\'sob_input_icon_preview_html\', nuGetValue(\'sob_input_icon\'));\n\n\nvar placeholderText = \'Enter * to display the examples.\\n\\n\' + \n`1. SQL:\n A valid SQL query that returns 2 columns (value, display).\n Example:\n SELECT table_id, description FROM table\n\n Or using the Items table:\n SELECT itm_value, itm_description \n FROM zzzzsys_item \n WHERE itm_object_id = \'#OBJECT_ID#\' AND itm_active = \'1\'\n ORDER BY itm_description\n\n2. List:\n A pipe-delimited list.\n - First value: bound value (e.g., 1)\n - Second value: display value (e.g., First)\n Example:\n 1|First|\n 2|Second|\n 3|Third\n\n3. JSON / Array:\n When value and display are the same.\n Example:\n [\"value1\", \"value2\", \"value3\"]\n`;\n\n$(\'#sob_select_sql\').prop(\'placeholder\', placeholderText);\n\n\n\n\nplaceholderText = `Array of items:\n[\"item 1\",\"item 2\",\"item 3\"]\n\nOr:\n\nJSON/Array:\nSELECT column_name FROM table_name \n\n`;\n\n$(\'#sob_input_datalist\').on(\'focus\', function() {\n $(this).prop(\'placeholder\', placeholderText);\n}).on(\'blur\', function() {\n $(this).prop(\'placeholder\', \'\');\n});\n\n\n$(\'#nuTab9\').on(\'click\', function() {\n nuObjectTestChart();\n});\n\nnuAttachButtonImage(\'icon_lujs\', \'LUJS\');\nnuAttachButtonImage(\'icon_html\', \'HTML\');\nnuAttachButtonImage(\'ab_event\', \'AB\', \'nuButtonImageSmall\');\n// nuAttachButtonImage(\'di_sql\', \'SQL\',\'nuButtonImageSmall\');\n// nuAttachButtonImage(\'se_sql\', \'SQL\',\'nuButtonImageSmall\');\n\n$(\'#viewflowchart\')\n.css(\'padding\', \'46px 0px 0px 3px\')\n.css(\'text-align\', \'left\')\n.css(\'background-size\', \'75px\');\n\n\nif ($(\'#zzzzsys_event_sf000sev_event\').val() !== \'\') {\n $(\'#nuTab11\').css(\'font-weight\', \'bold\');\n}\n\nnuObjectInputTypeChanged(nuGetValue(\'sob_input_type\'));\nnuObjectHideCalcObjects();\nnuObjectPopulateHTML();\nnuObjectAddDataListToRunId();\n\n$(\"button[id*=\'_btn_\']\").addClass(\'nuQuickButton\').removeClass(\'input_button nuButton\');\n\nvar filter = String(window.filter).split(\'|\');\n\nif (filter[0] == \'fromfastform\') {\n\n $(\'#nuDeleteButton\').remove();\n $(\'#nuCloneButton\').remove();\n $(\'#nuSaveButton\').remove();\n $(\'#sob_all_id\').val(filter[1]).addClass(\'nuHighlight\');\n $(\'#sob_all_label\').val(filter[2]).addClass(\'nuHighlight\');\n\n}\n\nnuACEInitDblClickHandlers();\n\nnuHide(\'sob_input_format\');\nvar sit = nuGetValue(\'sob_input_type\');\nnuShow(\'sob_input_format\', sit == \'nuDate\' || sit == \'nuNumber\');\nnuShow(\'sob_input_javascript\', sit == \'nuScroll\');\n\nnuObjectColor();\nnuGetStartingTab();\n\n\nif (!nuIsNewRecord()) {\n\n nuObjectMaximiseParentifDragOptionsBox();\n nuObjectDisplayIncHeightButtons();\n nuObjectShowDataType();\n\n} else {\n\n nuSetValue(\'sob_all_top\', 0);\n nuSetValue(\'sob_all_left\', 60);\n nuSetValue(\'sob_all_height\', 22);\n nuSetValue(\'sob_all_width\', 100);\n nuSetValue(\'sob_all_validate\', 0);\n nuSetValue(\'sob_all_access\', 0);\n nuSetValue(\'sob_all_align\', \'left\');\n nuSetValue(\'sob_all_cloneable\', \'1\');\n\n nuHide(\'sob_all_type_open_button\');\n nuHide(\'sob_all_type_input\');\n nuHide(\'sob_all_id_create_button\');\n\n if (nuIsIframe()) {\n let pTab = nuSelectedTabId(parent);\n if (pTab !== null) {\n nuGetLookupId(pTab, \'sob_all_zzzzsys_tab_id\', false);\n } else {\n if (nuGetValue(\'sob_all_zzzzsys_tab_id\') === \'\' && parent.nuCurrentProperties().form_code == \'nuuserhome\') {\n nuGetLookupId(\'nufastforms\', \'sob_all_zzzzsys_tab_id\', false);\n }\n }\n $(\'#sob_all_label\').trigger(\"focus\");\n nuSetValue(\'sob_all_type\', \'input\');\n nuSetValue(\'sob_input_type\', \'text\');\n }\n\n}\n\nnuObjectUpdateLookupDescriptionDatalist();\nnuObjectUpdateIdDatalist();\nnuObjectRunMethodChanged();\nnuHasNotBeenEdited();\n\n\nfunction nuObjectMaximiseParentifDragOptionsBox() {\n\n let db = parent.parent.$(\'.nuDragOptionsBox\');\n if (db.length === 0) return;\n\n let dd = db.parent(); // nuDragDialog\n let l = parseInt(dd.css(\'left\'), 10);\n\n if (l == 2) return; // already maximised\n\n let dt = db.nextAll(\'.nuDialogTitle\').find(\'#dialogTitleWords\');\n if (dt.length !== 0) {\n var e = {\n target: {\n id: \"dialogTitleWords\"\n }}\n parent.parent.nuResizeWindow(e);\n }\n\n}\n\nfunction nuObjectColumnDataType(table, id) {\n\n let s = nuFORM.tableSchema[table];\n let i = -1;\n if (typeof s !== \"undefined\") {\n i = s.names.indexOf(id.val());\n }\n\n return i > -1 ? s.types[i]: \'\';\n\n}\n\nfunction nuObjectShowDataType() {\n\n let id = $(\'#sob_all_id\');\n let iDataType = $(\'#sob_all_id_datatype\');\n\n let table = nuGetValue(\"sob_all_table\");\n let dataType = \'\';\n\n if (table !== \'\' && id.val() !== \'\') {\n dataType = nuObjectColumnDataType(table, id);\n\n }\n\n iDataType.val(dataType);\n nuObjectDisplayCreateButton();\n nuObjectDisplayAlterButton();\n\n}\n\nfunction nuObjectObjectNoId() {\n return [\'word\',\n \'html\',\n \'chart\',\n \'button\',\n \'run\',\n \'subform\',\n \'contentbox\'].indexOf(nuGetValue(\'sob_all_type\')) !== -1;\n}\n\nfunction nuObjectDisplayCreateButton() {\n\n let dataType = nuObjectColumnDataType(nuGetValue(\"sob_all_table\"), $(\'#sob_all_id\'));\n nuShow(\'sob_all_id_create_button\', dataType === \'\' && nuGetValue(\'sob_all_id\') !== \'\' && nuGetValue(\'sob_all_table\') !== \'\' && !nuObjectObjectNoId());\n\n}\n\nfunction nuObjectDisplayAlterButton() {\n nuShow(\'sob_all_id_alter_column_button\', !nuIsNewRecord() && nuGetValue(\'sob_all_id_datatype\') !== \'\')\n}\n\nfunction nuObjectDisplayIncHeightButtons() {\n\n var showButtons = [\'html\', \'chart\',\n \'textarea\',\n \'subform\',\n \'image\',\n \'contentbox\'].indexOf(nuGetValue(\'sob_all_type\')) !== -1;\n\n $(\'[id^=sob_height_btn_set]\').nuShow(showButtons);\n}\n\n\nfunction nuObjectTestChart() {\n\n let g = nuGetValue(\'sob_html_chart_type\');\n\n if (g === \'\' || nuGetValue(\'sob_all_type\') !== \'chart\') {\n $(\'#google_chart\').html(\'\');\n return;\n }\n\n let c = \'ComboChart\';\n let t = nuGetValue(\'sob_html_title\');\n let x = nuGetValue(\'sob_html_vertical_label\');\n let y = nuGetValue(\'sob_html_horizontal_label\');\n let l = \'bars\';\n let s = false;\n\n let a = [\n [\'Month\',\n \'Shane\',\n \'Dave\',\n \'Adam\',\n \'Paul\',\n \'Chris\'],\n [\'2025\',\n 100,\n 200,\n 300,\n 400,\n 500],\n [\'2024\',\n 165,\n 238,\n 322,\n 498,\n 550],\n [\'2024\',\n 165,\n 938,\n 522,\n 998,\n 450],\n [\'2022\',\n 135,\n 1120,\n 599,\n 1268,\n 288]\n ];\n\n if (g == \'p\') c = \'PieChart\';\n if (g == \'l\') l = \'lines\';\n if (g == \'bh\') c = \'BarChart\';\n if (g == \'bhs\') c = \'BarChart\';\n if (g == \'bs\') s = true;\n if (g == \'bhs\') s = true;\n\n nuChart(\'google_chart\', c, a, t, x, y, l, s);\n\n}\n\nfunction nuObjectChartOnReady(i, wrapper) {\n // let wrapper = window[\"google_chart_wrapper\"];\n var options = {\n seriesType: wrapper.m.seriesType,\n chartArea: {\n left: \"10%\",\n width: \"65%\"\n }\n };\n wrapper.setOptions(options);\n wrapper.draw();\n}\n\nfunction nuObjectAddDataListToRunId() {\n\n let arrRecordId = [\n [\" \",\n nuTranslate(\"Leave blank to open a Browse Form\")],\n [\"-1\",\n nuTranslate(\"Open a new Record\")],\n [\"#EXAMPLE_HASH_COOKIE#\",\n nuTranslate(\"Use a Hash Cookie\")]\n ];\n\n nuAddDatalist(\'sob_run_id\', arrRecordId);\n\n $(\'#sob_run_id\').on(\'input\', function() {\n if ($(this).val() == \' \') {\n $(this).val(\'\').change();\n }\n\n });\n\n}\n\nfunction nuObjectColor() {\n\n $(\'.nuValidate\').removeClass(\'nuValidate\');\n\n let e = $(\'#sob_all_type\').hasClass(\'nuEdited\');\n let o = [];\n\n o.run = 1;\n o.display = 2;\n o.select = 3;\n o.lookup = 4;\n o.subform = 5;\n o.image = 6;\n o.input = 7;\n o.html = 8;\n o.chart = 9;\n o.calc = 10;\n\n $(\'#sob_all_type\').removeClass();\n\n if (e) {\n //-- keep class if edited\n $(\'#sob_all_type\').addClass(\'nuEdited\');\n }\n\n $(\'#sob_all_type\').addClass(\'nu_\'+$(\'#sob_all_type\').val());\n\n $(\"#sob_all_type > option\").each(function() {\n $(this).addClass(\'nu_\'+this.value);\n });\n\n upObjectSetRelatedTabs(o);\n\n}\n\n\nfunction upObjectSetRelatedTabs(o) {\n\n const selectedVal = $(\'#sob_all_type\').val();\n let t = o[selectedVal];\n\n $(\"[id^=\'nuTab\']\").removeClass(\'nuRelatedTab\');\n\n for (let i = 1; i < o.length; i++) {\n $(\'#nuTab\' + i).removeClass(\'nuRelatedTab\');\n }\n\n $(\'#nuTab0\').addClass(\'nuRelatedTab\');\n $(\'#nuTab\' + t).addClass(\'nuRelatedTab\');\n \n const inputTargetFile = nuGetValue(\'sob_input_file_target\');\n const idHTMLTab = \'nu5bad6cb36a71012\';\n $(\'div[data-nu-tab-id=\' + idHTMLTab + \']\').toggleClass(\'nuRelatedTab\', (selectedVal === \'input\' && inputTargetFile == \'1\') || selectedVal === \'html\');\n \n}\n\nfunction nuObjectDisplayAllTypeInput() {\n\n let v = nuGetValue(\'sob_input_type\', \'text\');\n v = nuGetValue(\'sob_all_type\') == \'input\' ? v: \'\';\n $(\'#sob_all_type_input\').val(v);\n\n}\n\nfunction nuObjectTypeChanged() {\n\n nuShow(\'sob_all_type_open_button\', sob_all_type.value !== \'\');\n nuShow(\'sob_all_type_input\', sob_all_type.value !== \'\');\n\n nuObjectColor();\n nuObjectDisplayCreateButton();\n nuObjectDisplayAlterButton();\n nuObjectDisplayIncHeightButtons();\n nuObjectDisplayAllTypeInput();\n nuObjectDisplayInputIcon();\n\n}\n\nfunction nuObjectDisplayEditNuFormat() {\n const format = sob_input_type.value;\n nuShow(\'sob_input_nuformat_edit_button\', format === \'nuNumber\' || format === \'nuDate\');\n\n}\n\nfunction nuObjectInputTypeChanged(t) {\n\n nuObjectDisplayEditNuFormat();\n\n nuHide(\'sob_input_format\');\n nuHide(\'sob_input_count\');\n nuHide(\'sob_input_javascript\');\n nuHide(\'sob_input_datalist\');\n nuHide(\'sob_input_file_target\');\n\n\n if (t == \'nuScroll\') {\n nuShow(\'sob_input_javascript\');\n }\n\n if (t == \'file\') {\n nuShow(\'sob_input_file_target\');\n\n if (nuGetValue(\'sob_input_file_target\') == \'\') {\n nuSetValue(\'sob_input_file_target\', \'0\');\n }\n\n nuObjectFileUploadScript();\n }\n\n if (t == \'nuAutoNumber\') {\n\n nuShow(\'sob_input_count\');\n $(\'#sob_input_javascript\').val(\'\').addClass(\'nuEdited\');\n\n }\n\n if (t == \'nuDate\' || t == \'nuNumber\' || t == \'number\' || t == \'text\' || t == \'email\' || t == \'search\' || t == \'month\') {\n nuShow(\'sob_input_datalist\');\n if ($(\'#sob_input_datalist\').val() == \'\' && $(\'#sob_all_id_datatype\').val() !== \'\') {\n // $(\'#sob_input_datalist\').val(\"SELECT DISTINCT `\" + $(\"#sob_all_id\").val() + \"` FROM `\" + $(\'#sob_all_table\').val() + \"` ORDER BY 1\").change();\n }\n }\n\n if (t == \'nuDate\' || t == \'nuNumber\') {\n\n nuShow(\'sob_input_format\');\n\n $(\'#sob_input_format\').children().each(function(index) {\n\n $(this).show();\n\n if ($(this).val()[0] == \'D\' && t != \'nuDate\') {\n $(this).hide();\n }\n if ($(this).val()[0] == \'N\' && t != \'nuNumber\') {\n $(this).hide();\n }\n\n });\n\n nuSetProperty(\'nu_format_get_default_input_type\', nuGetValue(\'sob_input_type\').slice(2));\n nuRunPHPHidden(\'nu_format_get_default\');\n\n }\n\n nuObjectDisplayInputIcon();\n nuObjectDisplayAllTypeInput();\n\n}\n\nfunction nuSetDefaultFormat(format) {\n if (format !== \'\' && nuGetValue(\'sob_input_format\') === \'\') {\n nuSetValue(\'sob_input_format\', format);\n }\n}\n\nfunction nuObjectDisplayInputIcon() {\n nuShow(\'sob_input_icon\',\n sob_input_type.value == \'button\' || sob_all_type.value == \'run\' || sob_all_type.value == \'word\');\n}\n\nfunction nuObjectDisplayAccessCondition() {\n nuShow(\'sob_all_access_condition\',\n sob_all_access.value == \'9\');\n $(\'[nu-access-button]\').nuShow(sob_all_access.value != \'9\');\n}\n\nfunction nuObjectHideCalcObjects() {\n\n var f = $(\'#sob_all_zzzzsys_form_id\').val();\n\n $(\'#add_total\').children().each(function(index) {\n\n\n if ($(this).val() != f) {\n $(this).hide();\n }\n if ($(this).text() == $(\'#sob_all_id\').val()) {\n $(this).hide();\n }\n\n });\n\n}\n\nfunction nuObjectInsertOrAppendToCalcFormula(oldValue, newValue) {\n\n const manualMode = nuGetValue(\'sob_calc_formula_edit_mode_checkbox\');\n if (manualMode) {\n nuInsertAtCaret(\'sob_calc_formula\', newValue);\n } else {\n nuSetValue(\'sob_calc_formula\', oldValue + newValue);\n }\n\n}\n\nfunction nuObjectAddCalcObject(t) {\n\n const i = $(t).attr(\'data-nu-ids\');\n const oldValue = $(\'#sob_calc_formula\').val();\n const newValue = \"nuTotal(\'\" + i + \"\')\";\n\n if (i == \'\') {\n return;\n }\n\n $(\'#sob_calc_formula\').addClass(\'nuEdited\')\n\n nuObjectInsertOrAppendToCalcFormula(oldValue, newValue);\n\n $(\'#add_total\').val(\'\');\n\n nuHasBeenEdited();\n\n}\n\n\nfunction nuObjectAddToFormula(e) {\n\n const newValue = e.target.innerHTML;\n const oldValue = $(\'#sob_calc_formula\').val();\n\n if (newValue == \'Clear\') {\n\n $(\'#sob_calc_formula\')\n .val(\'\')\n .addClass(\'nuEdited\');\n return;\n\n }\n\n $(\'#sob_calc_formula\').addClass(\'nuEdited\')\n\n nuObjectInsertOrAppendToCalcFormula(oldValue, newValue);\n\n nuHasBeenEdited();\n\n}\n\nfunction nuObjectPopulateHTML() {\n\n var o = nuCalcObjects();\n var a = [];\n\n for (var i = 0; i < o.length; i++) {\n\n var ids = String(o[i].ids);\n var ty = o[i].type;\n var id = String(o[i].ids).split(\'.\');\n var sp = \' \';\n\n if (id.length == 1) {\n a.push(\'
\' + ids + \'
\');\n } else {\n\n var h = \'\' + id[0] + \'.\' + id[1] + sp.repeat(200) + \'\';\n a.push(\'
\' + h + \'
\');\n\n }\n\n }\n\n $(\'#add_total\').html(\'\' + a.join(\'\') + \'
\');\n\n}\n\n\nfunction nuObjectSetSelectIndex(i, index) {\n\n $(\"#\" + i).prop(\"selectedIndex\", index).change();\n\n}\n\nfunction nuObjectSetLookupWidth() {\n var w = $(\'#sob_lookup_description\').val() == $(\'#sob_lookup_code\').val() ? 0: 150;\n var cw = $(\'#sob_lookup_description_width\').val();\n if (cw == 0 || cw == 150 || w == 0) $(\'#sob_lookup_description_width\').val(w).change();\n}\n\nfunction nuObjectSubFormRowsCount(subform, fieldname) {\n\n var sf = nuSubformObject(subform);\n var col = sf.fields.indexOf(fieldname);\n var c = 0;\n for (var row = 0; row < sf.rows.length; row++) {\n if (sf.deleted[row] == 0 && sf.rows[row][col].trim() != \'\') c++;\n }\n\n return c;\n\n}\n\nfunction nuObjecEnsureAutoNumberEndsWithNumber(str) {\n if (str !== \'\') {\n nuSetValue(\'sob_input_count\', /\\d$/.test(str) ? str: \'1\');\n }\n}\n\nfunction nuBeforeSave() {\n\n nuObjectRunMethodChanged();\n nuObjectAdjustProperties();\n\n nuObjecEnsureAutoNumberEndsWithNumber(sob_input_count.value);\n \n if (!nuObjectIdIsValid(nuGetValue(\'sob_all_id\'))) {\n nuMessage(nuTranslate(\'Validation Error\'), nuTranslate(\'Invalid ID\'));\n return false;\n }\n\n if ($(\'#sob_all_type\').val() == \'select\') {\n $(\'#sob_select_multiple\').addClass(\'nuEdited\');\n }\n\n $(\"#sob_all_event\").prop(\'checked\', nuObjectSubFormRowsCount(\'zzzzsys_event_sf\', \'sev_event\') > 0).trigger(\'change\');\n\n}\n\nfunction nuObjectAdjustProperties() {\n\n let type = nuGetValue(\'sob_all_type\');\n let access = nuGetValue(\'sob_all_access\');\n let validation = nuGetValue(\'sob_all_validate\');\n let inputType = nuGetValue(\'sob_input_type\');\n let inputFormat = nuGetValue(\'sob_input_format\');\n\n if (type !== \'input\') {\n if (inputType !== \'\') nuSetValue(\'sob_input_type\', \'\');\n if (inputFormat !== \'\') nuSetValue(\'sob_input_format\', \'\');\n }\n\n if (type.containsAny([\'word\', \'html\', \'chart\', \'image\', \'contentbox\', \'contentbox\'])) {\n if (validation !== \'0\') nuSetValue(\'sob_all_validate\', \'0\'); // validation --> none\n if (access == \'1\') nuSetValue(\'sob_all_access\', \'0\'); // readonly --> editable\n }\n\n if (type === \'word\') {\n if (access == \'1\') nuSetValue(\'sob_all_access\', \'0\'); // readonly --> editable\n if (validation !== \'0\') nuSetValue(\'sob_all_validate\', \'0\'); // validation --> none\n nuSetValue(\'sob_input_type\', \'\');\n nuSetValue(\'sob_input_format\', \'\');\n }\n\n if (type === \'display\') {\n if (access == \'1\') nuSetValue(\'sob_all_access\', \'0\'); // readonly --> editable\n }\n\n}\n\nfunction nuObjectRunMethodChanged() {\n\n var m = nuGetValue(\'sob_run_method\');\n nuEnable(\'sob_run_target\', m == \'b\');\n\n if ($(\'#sob_run_target\').prop(\"selectedIndex\") > 0 && m == \'b\') {\n return;\n }\n\n if (m == \'b\' || m == \'i\') {\n $(\'#sob_run_target\').prop(\"selectedIndex\", m == \'b\' ? 1: 0).change();\n }\n\n}\n\nfunction nuOnClone() {\n nuHide(\'sob_all_id_create_button\');\n}\n\nfunction nuObjectUpdateIdDatalist() {\n var t = nuFORM.tableSchema[nuGetValue(\"sob_all_table\")];\n nuAddDatalist(\'sob_all_id\', typeof t !== \"undefined\" ? t.names: []);\n}\n\nfunction nuObjectUpdateLookupDescriptionDatalist() {\n let arr = nuFORM.tableSchema[nuGetValue(\"sob_lookup_table\")]?nuFORM.tableSchema[nuGetValue(\"sob_lookup_table\")].names: [];\n nuAddDatalist(\'sob_lookup_description\', arr);\n}\n\nfunction nuObjectSetJSON() {\n\n const data = {\n\n \"type\": {\n\n \"version\": \"1.0\",\n \"mobile\": {\n \"version\": \"1.0\",\n \"name\": \"test1\",\n \"visible\": true,\n \"location\": {\n \"top\": sob_all_top.value,\n \"left\": sob_all_left.value\n },\n \"size\": {\n \"width\": sob_all_width.value,\n \"height\": sob_all_height.value\n },\n \"class\": [\"nuMobileInput\"]\n }\n }\n\n }\n\n\n var obj = JSON.stringify(data);\n nuSetValue(\'sob_all_json\', obj);\n\n}\n\n\nfunction nuObjectExtractClassNames(htmlString) {\n // Create a temporary DOM element\n const tempDiv = document.createElement(\'div\');\n tempDiv.innerHTML = htmlString;\n\n const element = tempDiv.firstElementChild;\n if (element && element.className) {\n return element.className.trim();\n }\n\n return \'\';\n\n}\n\nfunction nuObjectPreviewIcon(i, s) {\n\n s = nuEscapeHTML(s);\n\n let $i = $(\'#\'+i);\n\n $i.html(\'\');\n\n if (s.startsWith(\'fas \') || s.startsWith(\'fa \') || s.startsWith(\'far \') || s.startsWith(\'fa-\')) {\n $i.append(\'\');\n } else if (s.startsWith(\'\', 10);\n $i.append(s.nuInsertString(i-1, \' fa-2x\'));\n\n } else {\n $i.append(s);\n }\n\n}\n\n\nfunction nuObjectFileUploadScript() {\n\n nuObjectColor();\n\n let htmlCode = $(\'#sob_html_code\');\n\n if (nuGetValue(\'sob_input_file_target\') == \'1\' && ! htmlCode.val().includes(\'Uppy\')) {\n\n nuRunPHPHidden(\'nu_upload_file_load_uppy_code\');\n if (sob_all_height.value < 30) nuSetValue(\'sob_all_height\', \'250\');\n\n }\n\n}\n\n\n// Pick Tabs\n\nfunction nuObjectOpenMenu(event, menu, element) {\n event.stopPropagation();\n ctxmenu.show(menu, element);\n}\n\n\nfunction nuObjectSetTabId(tabTitle) {\n\n const tab = parent.$(\'.nuTab\').filter(function() {\n return $(this).html() == tabTitle;\n });\n\n if (tab.length == 1) {\n nuGetLookupId(tab.attr(\'data-nu-tab-id\'), \'sob_all_zzzzsys_tab_id\', true, true);\n\n }\n\n}\n\nfunction nuObjectMenuPickTabsClick(element, event) {\n\n if (!nuIsIframe()) {\n return;\n }\n\n var items = [];\n\n const item = {\n text: nuTranslate(\'Tabs\')\n };\n\n items.push(item);\n\n window.parentTabs.each(function() {\n var item =\n {\n text: nuContextMenuItemText(this.innerHTML, \"fa-regular fa-square\"),\n action: () => nuObjectSetTabId(this.innerHTML)\n }\n\n items.push(item);\n });\n\n nuObjectOpenMenu(event, items, element);\n\n}\n\nfunction nuObjectDisplayProcedureChanged() {\n const hasDisplayProcedure = sob_display_procedurecode.value === \'\';\n nuEnable(\'sob_display_sql\', hasDisplayProcedure);\n $(\'#sob_display_sql\').toggleClass(\'nu-sql-strikethrough\', !hasDisplayProcedure);\n\n nuShow(\'sob_display_procedure_open_button\', sob_display_procedure.value !== \'\');\n}\n\n$(\"#sob_display_procedurecode\").on(\"change\", function(event) {\n nuObjectDisplayProcedureChanged();\n});\n\nfunction nuObjectSelectProcedureChanged() { \n const hasProcedure = sob_select_procedurecode.value !== \'\';\n const sqlValue = $(\'#sob_select_sql\').val();\n\n nuEnable(\'sob_select_sql\', !hasProcedure);\n const shouldStrikeThrough = hasProcedure && sqlValue !== \'\';\n $(\'#sob_select_sql\').toggleClass(\'nu-sql-strikethrough\', shouldStrikeThrough);\n\n nuShow(\'sob_select_procedure_open_button\', sob_select_procedure.value !== \'\');\n\n}\n\n$(\"#sob_select_procedurecode\").on(\"change\", function(event) {\n nuObjectSelectProcedureChanged();\n});\n\n\n$(\'#sob_all_zzzzsys_tab_idbutton\').on(\'contextmenu\', function(e) {\n e.preventDefault();\n nuObjectMenuPickTabsClick(this, event);\n});\n\nfunction nuOnMobileViewComplete() { \n \n const elements = [\n { input: \'#sob_input_file_target\', label: \'#label_sob_input_file_target\' },\n { input: \'#sob_input_count\', label: \'#label_sob_input_count\' },\n { input: \'#sob_input_javascript\', label: \'#label_sob_input_javascript\' },\n { input: \'#sob_input_datalist\', label: \'#label_sob_input_datalist\', offsety: 80 }\n ];\n\n const inputAnchorTop = $(\'#sob_input_format\').nuCSSNumber(\'top\');\n const inputAnchorTopLabel = $(\'#label_sob_input_format\').nuCSSNumber(\'top\');\n\n elements.forEach(({ input, label, offsety = 0 }) => {\n\n $(input).css(\'top\', inputAnchorTop + offsety);\n $(label).css(\'top\', inputAnchorTopLabel + offsety);\n\n });\n \n}\n\nvar url = nuComposeURL(\n \'https://fontawesome.com/search?ic=free\',\n nuGetValue(\'label_sob_input_icon\'),\n \'_blank\',\n \'\',\n \'View icon list on Font Awesome\'\n);\nnuSetValue(\'label_sob_input_icon\', url);\n\n\nfunction nuTabsCustomCodeSetMarker() {\n nuTabSetMarker(\'nu5bad6cb370b409e\', \'zzzzsys_event_sf000sev_event\');\n}\n\nnuTabsCustomCodeSetMarker();\n\nfunction nuAfterSave(){\n if (nuIsPopup()) {\n parent.nuUpdateMessage(\'refresh_required\');\n }\n}\n', '.nu-sql-strikethrough {\n text-decoration: line-through;\n color: #cdc7c7 !important;\n}\n', '1', NULL); INSERT INTO `zzzzsys_form` (`zzzzsys_form_id`, `sfo_type`, `sfo_code`, `sfo_description`, `sfo_group`, `sfo_status`, `sfo_breadcrumb_title`, `sfo_table`, `sfo_primary_key`, `sfo_browse_redirect_form_id`, `sfo_browse_target`, `sfo_browse_row_height`, `sfo_browse_rows_per_page`, `sfo_browse_title_multiline`, `sfo_browse_autoresize_columns`, `sfo_browse_sql`, `sfo_javascript`, `sfo_browse_javascript`, `sfo_edit_javascript`, `sfo_style`, `sfo_mobile_view`, `sfo_json`) VALUES ('nuobjectgrid', 'browseedit', 'nuobjectgrid', 'Form Objects', 'nubuilder', '1', NULL, 'zzzzsys_form', 'zzzzsys_form_id', '', NULL, 0, 0, '0', NULL, 'SELECT * FROM zzzzsys_form\nINNER JOIN #TABLE_ID# ON zzzzsys_form_id = theid\nORDER BY sfo_code\n', 'function colorObjectTypes() {\n\n // Color Types\n $(\'select[id$=sob_all_type]\').find(\'option\').each(function(index,element){\n $(element).addClass(\'nu_\' + element.value);\n });\n \n $(\'select[id$=sob_all_type]\').each(function(index,element){\n \n $(element).removeClass();\n $(element).addClass(\'nu_\' + element.value);\n });\n\n}\n\nfunction afterinsertrowObjects() {\n colorObjectTypes();\n}\n\nfunction nuSortSubform(s, c, e){\n}\n\nif (nuFormType() == \'edit\') {\n\n\n const OPTION_ALL = \'(\' + nuTranslate(\'All\') + \')\';\n \n var sfFilter = {};\n sfFilter.objform = {\n \'sob_all_zzzzsys_tab_id\': {type: \'select\', blank: false, all: OPTION_ALL},\n \'sob_all_id\': {type: \'search\', placeholder: nuTranslate(\'Search\')},\n \'sob_all_type\': {type: \'select\', blank: false, all: OPTION_ALL},\n \'sob_all_label\': {type: \'search\', placeholder: nuTranslate(\'Search\')}\n };\n \n nuSubformAddFilter(sfFilter);\n\n $(\'#nuCloneButton\').remove();\n $(\'#nuDeleteButton\').remove();\n\n colorObjectTypes();\n\n $(\'#title_objformbtnOpenDetails\').html(nuTranslate(\'Details\'));\n\n if (nuIsNewRecord()) {\n nuSetTitle(nuTranslate(\'New\'));\n } else {\n var frmInfo = $(\'#sfo_description\').val() + \' (\'+ $(\'#sfo_code\').val()+\')\';\n // if (window.nuFORM.breadcrumbs.length == 1) $(\'#nuTab0\').html(frmInfo);\n nuSetTitle(frmInfo);\n nuUpdateAclCount();\n }\n}\n\nfunction nuFormColor() {\n\n var t = String($(\'#sfo_type\').val());\n\n var pb = \'previewbrowse\';\n var pe = \'previewedit\';\n\n var bb = \'bb_event\';\n var be = \'be_event\';\n var bs = \'bs_event\';\n var as = \'as_event\';\n var bd = \'bd_event\';\n var ad = \'ad_event\';\n\n if (t == \'browse\') {\n nuDisable([pe, be, bs, as, bd, ad]);\n } else\n if (t == \'edit\') {\n nuDisable([pb, pb]);\n } else\n if (t == \'launch\') {\n nuDisable([pb, bb, bs, as, bd, ad]);\n } else\n if (t == \'subform\') {\n nuDisable([pb, bb, be, bs, as, bd, ad]);\n nuDisable(\'sfo_javascript\');\n }\n\n var h = $(\'#sfo_type\').addClass(\'nuEdited\');\n var o = [];\n o.browse = [0, 1, 2];\n o.edit = [0, 2];\n o.browseedit = [0, 1, 2];\n o.launch = [0, 2];\n o.subform = [0, 1];\n\n $(\'#sfo_type\').removeClass();\n $(\'#sfo_type\').addClass(\'nu_\' + $(\'#sfo_type\').val());\n\n if (h) {\n $(\'#sfo_type\').addClass(\'nuEdited\');\n }\n\n $(\"#sfo_type > option\").each(function() {\n $(this).addClass(\'nu_\' + this.value);\n });\n\n for (var i = 0; i < 7; i++) {\n $(\'#nuTab\' + i).removeClass(\'nuRelatedTab\');\n }\n\n t = o[$(\'#sfo_type\').val()];\n if (t !== undefined) {\n\n for (i = 0; i < t.length; i++) {\n $(\'#nuTab\' + t[i]).addClass(\'nuRelatedTab\');\n }\n\n }\n\n}\n\nfunction nuEventList() {\n\n if ($(\'sob_all_type\').val() == \'subform\') {\n return [\'onchange\', \'onadd\'];\n } else {\n return [\'onblur\', \'onchange\', \'onfocus\', \'onkeydown\'];\n }\n\n}\n\nfunction default_description() {\n\n var s = \'zzzzsys_browse_sf\';\n var r = nuSubformObject(s).rows.length - 1;\n var o = s + nuPad3(r) + \'sbr_title\';\n \n nuSetPlaceholder(o, \'Something\');\n \n}\n\nfunction nuUpdateAclCount() {\n var l = $(\"[data-nu-field=\'slf_zzzzsys_access_id\']\").length -2;\n var t = l <= 0 ? \'\' : \' (\' + l + \')\';\n $(\'#nuTab4\').html(nuTranslate(\'Access Level\') + t);\n}\n\n\nfunction createButton(target, pk, formType) {\n \n var btn = $(\"\");\n\n $(target).html(btn).attr(\'title\',nuTranslate(\'Preview Form\'));\n btn.on(\'click\',function(){\n var formType = $(this).attr(\"data-form-type\");\n var r = formType == \'launch\' || formType == \'edit\' || formType == \'subform\' ? \'-1\' : \'\';\n nuForm(pk,r,\'\',\'\');\n });\n}\n\nfunction addRowButtons(column) {\n \n $(\"[data-nu-column=\'\" + column + \"\']\").each(function(index) {\n \n var pk = $(this).attr(\'data-nu-primary-key\');\n var r = $(this).attr(\'data-nu-row\');\n var formType = $(\'#nucell_\'+ r + \'_1\').html();\n \n if (typeof pk !== \"undefined\") {\n createButton(this, pk, formType);\n }\n })\n\n}\n\n', NULL, 'function nuOnSelectTab(tab) {\n if (tab.id == \'nuTab1\') {\n // refreshIframe(tab);\n }\n}\n\nfunction refreshIframeEvents(tab) {\n\n const attrLoaded = \'nu-iframe-events-loaded\';\n $tab = $(\'#\' + tab.id);\n if (! $tab.attr(attrLoaded)) {\n $tab.attr(attrLoaded, \'1\');\n let fx = $(\"#iframe_objectevent\")[0].contentWindow;\n fx.nuSetProperty(\'PARENT_FORM_ID\', nuRecordId());\n fx.nuGetBreadcrumb();\n }\n \n}\n\nfunction refreshIframeItems(tab) {\n\n const attrLoaded = \'nu-iframe-events-loaded\';\n $tab = $(\'#\' + tab.id);\n if (! $tab.attr(attrLoaded)) {\n $tab.attr(attrLoaded, \'1\');\n let fx = $(\"#iframe_items\")[0].contentWindow;\n fx.nuSetProperty(\'PARENT_FORM_ID\', nuRecordId());\n fx.nuGetBreadcrumb();\n }\n \n}', NULL, NULL, NULL), ('nupassword', 'launch', 'nupassword', 'Change Password', 'nubuilder', '1', NULL, '', '', '', NULL, 0, 0, '0', NULL, '', '$(\'#nuTab0\').hide();\n\n\nnuAddActionButton(\'nuRunPHPHidden\', nuTranslate(\'Save\'), \'nuRunPHPHidden(\"nu_change_password\")\');\n\n\nvar changePW = nuGetValue(\'display_change_required\');\n\nif (changePW) {\n nuSetValue(\'display_change_required\', nuTranslate(changePW));\n} else {\n nuHide(\'display_change_required\');\n}', NULL, NULL, NULL, '1', NULL), ('nuprocedure', 'browseedit', 'nuprocedure', 'Procedures', 'nubuilder', '1', '#sph_code#|New', 'zzzzsys_php', 'zzzzsys_php_id', '', NULL, 0, 19, '1', NULL, 'SELECT\n *\nFROM\n zzzzsys_php\n LEFT JOIN zzzzsys_form ON zzzzsys_form_id = sph_zzzzsys_form_id\nWHERE\n (\n (\n sph_system != \'1\'\n OR sph_system IS NULL\n )\n OR (\n \'#DEV_MODE#\' = \'1\'\n AND LEFT(RIGHT(sph_code, 3), 1) <> \'_\'\n )\n )\n AND nu_filter_match(\'sph_group\',\'nu5bad6cb376bd159\')\n AND nu_filter_match(\'sph_category\',\'nu6878434013629b5\')\n AND (\n IFNULL(sph_status, \'1\') = \'#nu6862f0becfb7938_filter#\'\n OR (\n LEFT(\'#nu6862f0becfb7938_filter#\', 1) IN (\'#\', \'\') AND IFNULL(sph_status, \'\') <> \'3\'\n )\n )\nORDER BY\n sph_code;\n', NULL, 'if (parent.nuCurrentProperties().form_id == \'nuaccess\') {\n $(\'#nuBreadcrumb0\').html(nuTranslate(\'Procedures\'));\n}\n\nnuAddBrowseFilter(\'nu5bad6cb376bd159\').nuSearchableMultiPopup({ items: nuProcedureFilterGetGroup() });\n\nnuAddBrowseFilter(\'nu6878434013629b5\').nuSearchableMultiPopup({ items: nuProcedureFilterGetCategory() });\n\n\nvar dataStatus = [\n [\"0\", \"Draft\"],\n [\"1\", \"Active\"],\n // [\"2\",\"Disabled\"],\n [\"3\", \"Archived\"]\n ];\n\nnuAddBrowseFilter(\'nu6862f0becfb7938\').nuSearchablePopup({ // Status\n items: dataStatus\n});\n\n\nnuBrowseStyleStatusColumn(4);\nnuBrowseStyleBadge(2); // Group', 'nuHide(\'sph_code_snippet_select_lookupcode\');\n\n// Code Snippets form\nnuSetSnippetFormFilter(0, 0, 0, 1); // PHP Code\n\nnuSetToolTip(\'title_accphpslp_zzzzsys_access_id\', \'Access levels that can use this procedure\');\nnuAttachButtonImage(\'icon_include_js\', \'JS\');\n\nvar recordId = nuRecordId();\nvar recordIdSuffix = recordId.slice(-2);\n\nwindow.nuImages = parent.nuImages;\n\nif (nuProcIsTemplate() && !nuDevMode()) {\n nuDisableAllObjects();\n nuMessage(\"Unable to save templates. Please clone them to create a new copy and save the cloned version instead.\", 2500);\n}\n\nwindow.nuHelp = \'Procedures\';\n\nif (!recordId.startsWith(\'nu\')) {\n nuSetValue(\'sph_system\', \'0\');\n nuSetValue(\'sph_hide\', \'\');\n}\n\nif (!nuIsNewRecord()) {\n nuProcUpdateAclCount();\n nuAddActionButton(\'RunHidden\');\n} else {\n nuSetValue(\'sph_demo\', true);\n}\n\n\nif (nuGetValue(\'sph_javascript\') === \'\') {\n\nnuSetPlaceholder(\'sph_javascript\', \'// Enter * to use the example.\\n\\n\' + `function nuOnProcedureRun() {\n // JavaScript code placed here will execute only if the procedure is run from this location.\n \n // Set Hash Cookie to pass to the PHP procedure\n // nuSetProperty(\'myproperty\', \'myvalue\');\n \n // Override the default execution behavior (e.g., when running code asynchronously):\n // nuRunThisProcedure();\n // return false;\n}`);\n\n}\n\n\n$(\'#sph_php\')\n .addClass(\'php\')\n .on(\'dblclick\', function() {\n nuOpenAce(\'PHP\', this.id);\n });\n\n$(\'#sph_javascript\')\n .addClass(\'js\')\n .on(\'dblclick\', function() {\n nuOpenAce(\'JS\', this.id);\n });\n\n$(function() {\n $(\'#sph_php\').scrollTop(window.scrollTop);\n});\n\nif (nuGetValue(\'sph_status\') === \'\') {\n nuSetValue(\'sph_status\', \'1\', \'value\', false);\n}\n\nnuHasNotBeenEdited();\n\nfunction nuProcSetStyles() {\n $(\'#sph_php\')\n .css(\'padding\', \'3px 3px 3px 3px\')\n .trigger(\"focus\");\n\n}\n\nfunction nuRunHiddenAction() {\n\n let result = true;\n if (nuGetValue(\'sph_javascript_active\') === true) {\n eval(nuGetValue(\'sph_javascript\') + \' result = nuOnProcedureRun();\');\n }\n\n if (result !== false) {\n nuRunThisProcedure();\n }\n\n}\n\nfunction nuRunThisProcedure() {\n if (sph_run.value == \'window\') {\n nuRunPHP(sph_code.value, \'\', 0);\n } else {\n nuRunPHPHidden(sph_code.value);\n }\n}\n\nfunction nuProcUpdateAclCount() {\n\n const l = $(\"[data-nu-field=\'slp_zzzzsys_access_id\']\").length - 2;\n const t = l <= 0 ? \'\' : \' (\' + l + \')\';\n $(\'div[data-nu-tab-id=\' + \'nu5fdf7df2d873dd1\' + \']\').html(nuTranslate(\'Access Levels\') + t);\n\n}\n\nfunction nuProcIsTemplate() {\n return nuGetValue(\'sph_template\');\n}\n\n\nfunction nuOnClone() {\n\n let code = sph_code.value;\n\n if (nuProcIsTemplate()) {\n code = code == \'nu_send_welcome_email_template\' ? \'nu_send_welcome_email\' : code.substring(0, code.length - 9);\n nuSetValue(\'sph_code\', code);\n nuSetValue(\'sph_group\', \'\');\n nuSetValue(\'sph_template\', false);\n nuEnableAllObjects();\n }\n\n nuHide(\'nuRunHiddenButton\');\n\n}\n\nfunction nuOnSetSaved(v) {\n nuEnable(\'nuRunHiddenButton\', v);\n}\n\nfunction nuBeforeSave() {\n\n window.scrollTop = $(\'#sph_php\').scrollTop();\n return true;\n\n}\n\nfunction nuProcedureSetMarker() {\n const markerACL = nuGetValue(\'accphp000slp_zzzzsys_access_id\') !== \'\' || nuGetValue(\'sph_global\') === true;\n nuTabSetMarker(\'nu5fdf7df2d873dd1\', markerACL);\n\n const markerCode = nuGetValue(\'sph_javascript\').includes(\'nuOnProcedureRun\');\n if (markerCode) {\n const isActive = nuGetValue(\'sph_javascript_active\');\n const markerClass = \'nuTabMarker\' + (isActive ? \'\' : \' nuTabGrey\');\n nuTabSetMarker(\'nu68874e7a14a63ee\', true, markerClass);\n } else {\n nuTabSetMarker(\'nu68874e7a14a63ee\', false, \'nuTabMarker nuTabGrey\');\n }\n\n} \n\nnuProcedureSetMarker();\n\n\nfunction nuOnTabSelected(tab) {\n nuProcedureSetMarker();\n}', '.nuTabMarker.nuTabGrey:after {\n color: #8e8e8e !important;\n}', '1', NULL), ('nuemaillog', 'browseedit', 'nuemaillog', 'E-Mail Log', 'nubuilder', '1', '#eml_subject#|New', 'zzzzsys_email_log', 'zzzzsys_email_log_id', '', NULL, 0, 0, '1', NULL, 'SELECT * FROM zzzzsys_email_log \nLEFT JOIN zzzzsys_user ON zzzzsys_user_id = eml_user_id\nLEFT JOIN zzzzsys_form ON zzzzsys_form_id = eml_form_id\nWHERE (eml_state = \'#nu65f28ff562c4cea_filter#\' OR LEFT(\'#nu65f28ff562c4cea_filter#\',1) IN (\'#\',\'\'))\nORDER BY eml_created_at DESC', NULL, 'nuAddBrowseFilter(\'nu65f28ff562c4cea\').nuSearchablePopup({ items: nuEmailLogFilterGetGroup()});', NULL, NULL, '1', NULL), ('nurunjavascript', 'launch', 'nurunjavascript', 'Run JavaScript', 'nubuilder', '1', NULL, '', '', '', NULL, 0, 0, '0', NULL, '', 'nuAddActionButton(\'runOutputEval\', \'Run\', \'nuOutputEval()\');\n\nfunction scrollToBottom(id) {\n let textarea = document.getElementById(id);\n textarea.scrollTop = textarea.scrollHeight;\n}\n\nfunction nuOutputEval() {\n\n try {\n jsc_output.value += eval(jsc_Input.value) + \"\\n\";\n scrollToBottom(\'jsc_output\');\n } catch (e) {\n\n jsc_output.value += e.message;\n }\n\n}', NULL, NULL, NULL, NULL, NULL), ('nurunlist', 'browse', 'nurunlist', 'Run Form, Report or Procedure', 'nubuilder', '1', NULL, 'zzzzsys_debug', 'zzzzsys_debug_id', '', NULL, 0, 16, '0', NULL, 'SELECT * FROM #TABLE_ID#', '\n$(\"[data-nu-column=\'nucolumn000\']\").each(function() {\n\n $(this).addClass(\'nu_\'+this.innerHTML);\n\n});', NULL, NULL, NULL, NULL, NULL), ('nurunphp', 'browse', 'nurunphp', 'Run Procedure', 'nubuilder', '1', NULL, 'zzzzsys_php', 'zzzzsys_php_id', '', NULL, 0, 0, '0', NULL, 'SELECT * FROM zzzzsys_php\nJOIN zzzzsys_form ON zzzzsys_form_id = sph_zzzzsys_form_id\nWHERE (sph_system != \'1\' OR sph_system IS NULL)\nORDER BY sph_code', '$(\'#nuAddButton\').remove();\n$(\'#nuPrintButton\').remove();\n\nfunction nuSelectBrowse(event) {\n\n const $element = $(\'#\' + event.target.id);\n const primaryKey = $element.attr(\'data-nu-primary-key\');\n\n const row = $element.attr(\'data-nu-row\');\n const phpFunction = $(\'#nucell_\' + row + \'_3\').html();\n\n nuGetPHP(phpFunction, primaryKey);\n\n}\n', NULL, NULL, NULL, NULL, NULL), ('nurunreport', 'browse', 'nurunreport', 'Run Report', 'nubuilder', '1', NULL, 'zzzzsys_report', 'zzzzsys_report_id', '', NULL, 0, 0, '0', NULL, 'SELECT * FROM zzzzsys_report\nLEFT JOIN zzzzsys_form ON zzzzsys_form_id = sre_zzzzsys_form_id\nORDER BY sre_code', 'nuSetTitle(nuFORM.getCurrent().run_description);\n\n$(\'#nuAddButton\').remove();\n$(\'#nuPrintButton\').remove();\n\nfunction nuSelectBrowse(e) {\n\n const cell = $(e.target).closest(\'div\');\n const row = cell.attr(\'data-nu-row\');\n const form = $(\'#nucell_\' + row + \'_0\').html() || \'nublank\';\n const primaryKey = cell.attr(\'data-nu-primary-key\');\n\n nuGetReport(form, primaryKey);\n\n}', NULL, NULL, NULL, NULL, NULL), ('nusample', 'launch', 'nusample', 'Default Fast Form Objects', 'nubuilder', '1', NULL, '', '', '', NULL, 0, 0, '0', NULL, '', '//$(\'#nuBreadcrumbHolder\').remove();\n$(\'#nuActionHolder\').remove();\n//$(\'#nuTabHolder\').remove();\n\n$(\'#nuOptions\').hide();\n\n$(\'#inputtextsample\').val(\'text\');\n$(\'#inputnumbersample\').val(4);\n$(\'#inputnunumbersample\').val(\'$ 1,234.56\');\n$(\'#inputnudatesample\').val(\'23-Jan-2021\');\n$(\'#inputnuscrollsample\').val(\'East\');\n$(\'#calcsample\').val(\'$ 1,238.56\');\n\n$(\'#selectsample\').val(1);\n$(\'#selectmultiselectsample\').val(0);\n$(\'#textareasample\').val(\"text-area\");\n\n$(\"[id^=\'label\']\").addClass(\'nu_input\').css({width:120, left:10, \'text-align\':\'center\'});\n\n$(\'#label_imagesample\').addClass(\'nu_image\').removeClass(\'nu_input\');\n$(\'#label_textareasample\').addClass(\'nu_textarea\').removeClass(\'nu_input\');\n$(\'#label_displaysample\').addClass(\'nu_display\').removeClass(\'nu_input\');\n$(\'#label_htmlsample\').addClass(\'nu_html\').removeClass(\'nu_input\');\n$(\'#label_calcsample\').addClass(\'nu_calc\').removeClass(\'nu_input\');\n$(\'#label_selectsample\').addClass(\'nu_select\').removeClass(\'nu_input\');\n$(\'#label_selectmultiselectsample\').addClass(\'nu_select\').removeClass(\'nu_input\');\n$(\'#label_lookupsample\').addClass(\'nu_lookup\').removeClass(\'nu_input\');\n$(\'#labelword\').addClass(\'nu_word\').removeClass(\'nu_input\');\n$(\'#label_subformsample\').addClass(\'nu_subform\').removeClass(\'nu_input\').css({left:10});\n\n$(\"[id^=\'label\']\")\n.addClass(\'nuCalculatorButton\')\n.removeClass(\'nuWord\')\n.css({\'height\':30, \'width\':220});\n\n\n\n\n', NULL, NULL, NULL, NULL, NULL), ('nusamplesubformform', 'launch', 'nusamplesubformform', 'Sample Subform Form', 'nubuilder', '1', NULL, '', '', '', NULL, 0, 0, '0', NULL, '', NULL, NULL, NULL, NULL, NULL, NULL), ('nuselect', 'browseedit', 'nuselect', 'SQL Builder', 'nubuilder', '1', '#sse_description#|New', 'zzzzsys_select', 'zzzzsys_select_id', '', NULL, 0, 0, '0', NULL, 'SELECT * FROM zzzzsys_select \r\nWHERE (sse_system != 1 OR sse_system IS NULL)\r\nORDER BY sse_description ASC\r\n\r\n', NULL, NULL, 'nuSetToolTip(\'sse_resize\', \'Resize\');\n$(\'#sse_sql\').css(\'z-index\', 1);\nnuLabelOnTop([\'nusvg\']);\n\n\n\nif (nuIsNewRecord()) {\n $(\'#sse_edit\').val(0);\n}\n\n$(\"#sse_edit option[value=\'\']\").remove();\n\n$(\'#sse_sql\')\n.css(\'font-size\', \'10px\')\n.addClass(\'sql\')\n.on(\'dblclick\', function() {\n nuOpenAce(\'SQL\', this.id);\n});\n\n$(\'#label_sse_sql\').remove();\nnuHide(\'sse_code_snippet_lookupcode\');\nnuSetSnippetFormFilter(0, 0, 1);\n\n$(\'#sse_resize\').addClass(\'nuAllowDblClick\');\n\nnuSelectSetSFCB();\n\nif (window.filter == \'justsql\') {\n\n var sid = String(nuFORM.getCurrent().record_id);\n var from = sid.substring(sid.length-2);\n\n $(\'#nuDeleteButton\').remove();\n $(\'#nuCloneButton\').remove();\n $(\'#sse_description\').val(sid);\n\n nuHide(\'sse_description\');\n\n if (nuFORM.getCurrent().record_id != -1) {\n\n $(\'#nuSaveButton\').hide();\n\n if (from == \'BR\') {\n nuAddActionButton(\'SaveToTextarea\', \'Copy to Form Browse SQL\', \'nuSelectCopySQL(\"sfo_browse_sql\")\');\n }\n if (from == \'SE\') {\n nuAddActionButton(\'SaveToTextarea\', \'Copy to Select Object SQL\', \'nuSelectCopySQL(\"sob_select_sql\")\');\n }\n if (from == \'DI\') {\n nuAddActionButton(\'SaveToTextarea\', \'Copy to Display Object SQL\', \'nuSelectCopySQL(\"sob_display_sql\")\');\n }\n\n }\n\n}\n\n\n$(\'#sse_sql\').css(\'overflow-x\', \'scroll\');\n\n\nnuSelectWhereClauses();\n\n\nfunction nuSelectCopySQL(target) {\n\n const s = $(\'#sse_sql\').val();\n\n parent.$(\'#\' + target).val(s).change();\n\n parent.$(\'#dialogClose\').trigger(\"click\");\n\n}\n\n\nfunction nuSelectTempPHP() {\n\n var p = [];\n\n p.push(\'\');\n p.push(\'$sql = \"\');\n p.push(\'\');\n p.push(\'CREATE TABLE #TABLE_ID#\');\n p.push($(\'#sse_sql\').val());\n p.push(\'\');\n p.push(\'\";\');\n p.push(\'\');\n p.push(\"nuRunQuery($sql);\");\n p.push(\'\');\n nuMessage(p);\n\n $(\"#nuMessageDiv\").css(\'text-align\', \'left\');\n\n}\n\nfunction nuBeforeSave() {\n\n nuSelectBuildSQL();\n return true;\n\n}\n\nfunction nuSelectWhereClauses() {\n\n $(\"[id$=\'ssc_type\']select\").each(function(index) {\n\n var p = $(this).attr(\'data-nu-prefix\');\n var t = $(this).val();\n\n if (t == 2 || t == 3) {\n\n if ($(\'#\' + p + \'ssc_sort\').val() == \'\') {\n $(\'#\' + p + \'ssc_sort\').val(\'ASC\');\n }\n\n $(\'#\' + p + \'ssc_clause\').hide();\n $(\'#\' + p + \'ssc_sort\').show();\n\n } else {\n\n $(\'#\' + p + \'ssc_clause\').show();\n $(\'#\' + p + \'ssc_sort\').hide();\n\n }\n\n });\n\n}\n\nfunction nuSelectWhereClausesold() {\n\n $(\"[id$=\'ssc_type\']select\").each(function(index) {\n\n var p = $(this).attr(\'data-nu-prefix\');\n var t = $(this).val();\n\n if (t == 2 || t == 3) {\n\n if ($(\'#\' + p + \'ssc_sort\').val() == \'\') {\n $(\'#\' + p + \'ssc_sort\').val(\'ASC\');\n }\n\n $(\'#\' + p + \'ssc_clause\').hide();\n $(\'#\' + p + \'ssc_sort\').show();\n\n } else {\n\n $(\'#\' + p + \'ssc_clause\').show();\n $(\'#\' + p + \'ssc_sort\').hide();\n\n }\n\n });\n\n}\n\nfunction nuSelectAddSQLTable(e) {\n\n let s = $(\'#sqlframe\')[0].contentWindow.nuSQL;\n\n s.addBox(e.target.value);\n e.target.value = \'\';\n s.buildSQL();\n\n}\n\nfunction nuSelectSFCB() {\n\n nuSelectWhereClauses();\n nuSelectBuildSQL();\n\n}\n\nfunction nuSelectBuildSQL() {\n $(\'#sqlframe\')[0].contentWindow.nuSQL.buildSQL();\n}\n\nfunction nuSelectSetSFCB() {\n\n $(\'.nuSubformCheckbox.zzzzsys_select_clause\').on(\'click\',\n function() {\n nuSelectSFCB();\n });\n\n\n}\n\nfunction nuSelectResizeSQL() {\n\n if ($(\'#sqlframe\').css(\'height\') == \'460px\') {\n $(\'#sqlframe\').css(\'height\', 700);\n } else {\n $(\'#sqlframe\').css(\'height\', 460);\n }\n\n}', NULL, '1', NULL), ('nusession', 'browse', 'nusession', 'Sessions', 'nubuilder', '1', NULL, 'zzzzsys_session', 'zzzzsys_session_id', '', NULL, 0, 0, '0', NULL, 'SELECT \n *\nFROM (\n SELECT \n zzzzsys_session_id AS zzzzsys_session_id,\n TRIM(BOTH \'\"\' FROM JSON_EXTRACT(sss_access, \'$.session.zzzzsys_user_id\')) AS login,\n NULL AS user,\n sss_login_time AS login_time,\n TRIM(BOTH \'\"\' FROM JSON_EXTRACT(sss_access, \'$.session.ip_address\')) AS ip\n FROM \n zzzzsys_session\n WHERE \n TRIM(BOTH \'\"\' FROM JSON_EXTRACT(sss_access, \'$.session.global_access\')) = \'1\'\n \n UNION ALL\n \n SELECT \n zzzzsys_session_id AS zzzzsys_session_id,\n sus_login_name AS login,\n sus_name AS user,\n sss_login_time AS login_time,\n TRIM(BOTH \'\"\' FROM JSON_EXTRACT(sss_access, \'$.session.ip_address\')) AS ip\n FROM \n zzzzsys_user\n JOIN zzzzsys_session ON zzzzsys_user_id = TRIM(BOTH \'\"\' FROM JSON_EXTRACT(sss_access, \'$.session.zzzzsys_user_id\'))\n WHERE \n TRIM(BOTH \'\"\' FROM JSON_EXTRACT(sss_access, \'$.session.global_access\')) = \'0\'\n) AS combined_sessions WHERE (1)\nORDER BY \n login_time DESC\n', 'nuHide(\'nuAddButton\');\n\nfunction nuSessionAddActionButton() {\n const btn = nuAddActionButton(\'TerminateSession\', \'Terminate Sessions\', \'nuSessionAskTerminateSessions()\');\n btn.addClass(\'nuSaveButtonEdited\');\n}\n\nfunction nuSessionRunTerminateSessions(option = \'\') {\n nuSetProperty(\'nu_session_terminate_option\', option)\n nuRunPHPHidden(\"nu_session_terminate\");\n}\n\nfunction nuSessionGetScreenWidth() {\n return window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;\n}\n\nfunction nuSessionGetBoxWidth() {\n const screenWidth = nuSessionGetScreenWidth();\n return Math.min(screenWidth * 0.9, 500) + \'px\';\n}\n\nfunction nuSessionAskTerminateSessions() {\n $.confirm({\n title: \'Terminate sessions\',\n content: \"This will end all user sessions, which could result in unsaved work. Would you like to continue?\",\n\n opacity: 0.5,\n boxWidth: nuSessionGetBoxWidth(),\n maxWidth: \'500px\',\n useBootstrap: false,\n modal: true,\n closeIcon: false,\n resizable: true,\n zindex: 10000,\n container: \'#nubody\',\n\n buttons: {\n terminateAll: {\n text: \'Terminate all sessions\',\n btnClass: \'btn-confirm-green\',\n action: function () {\n nuSessionRunTerminateSessions(\"\");\n }\n },\n terminateExceptMine: {\n text: \'Terminate all sessions but mine\',\n btnClass: \'btn-confirm-green\',\n action: function () {\n nuSessionRunTerminateSessions(\"others\");\n }\n },\n cancel: {\n text: \'NO\',\n btnClass: \'btn-red\',\n action: function () {\n // Do nothing, just close the dialog\n }\n }\n }\n });\n}\n\nnuSessionAddActionButton();', 'function nuSessionDeleteRow(pk) {\n\n if (confirm(nuTranslate(\"Terminate Session?\"))) {\n nuSetProperty(\'nu_browse_delete_row_form_id\', nuFormId());\n nuSetProperty(\'nu_browse_delete_row_record_id\', pk);\n\n nuRunPHPHidden(\"nu_browse_delete_row\");\n }\n\n}\n\nfunction nuAfterDeleteRow() {\n nuSearchAction();\n}\n\nfunction nuSessionCreateDeleteButton(target, pk) {\n const btn = $(\'\');\n $(target).html(btn).attr(\'title\', nuTranslate(\'Terminate Session\'))\n\n btn.css(\'margin-left\', \'10px\');\n\n btn.on(\'click\', function() {\n nuSessionDeleteRow(pk);\n });\n}\n\n\n\nfunction nuSessioCreateDeleteButtons(column) {\n\n $(\"[data-nu-column=\'\" + column + \"\']\").each(function(index) {\n const pk = $(this).attr(\'data-nu-primary-key\');\n if (pk) {\n nuSessionCreateDeleteButton(this, pk);\n }\n })\n\n}\n\n\n$(\'[data-nu-column=\"5\"]\').each(function () {\n const cellValue = $(this).text().trim();\n const rowNum = $(this).attr(\"data-nu-row\");\n if (cellValue === nuSERVERRESPONSE.session_id) {\n const rowSelector = $(\"div[id^=\'nucell_\" + rowNum);\n rowSelector.css(\"background-color\", \'#e9fce9\');\n }\n});\n\nnuSessioCreateDeleteButtons(0); // 1st column', NULL, '.btn-confirm-green {\n background-color: #83c685;\n}\n\n.delete-session-button {\n background-color: #cc4d43;\n color: #fff;\n border: none;\n font-size: 12px;\n border-radius: 50%;\n cursor: pointer;\n transition: background-color 0.3s ease, box-shadow 0.3s ease, transform 0.1s ease;\n width: 18px;\n height: 18px;\n margin-top: 4px;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n vertical-align: top;\n transform: translateY(-10%);\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.delete-session-button:hover {\n background-color: #d32f2f;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);\n}\n\n.delete-session-button:active {\n transform: scale(0.95);\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);\n}\n\n', NULL, NULL), ('nusetup', 'edit', 'nusetup', 'Setup', 'nubuilder', '1', NULL, 'zzzzsys_setup', 'zzzzsys_setup_id', '', NULL, 0, 0, '0', NULL, '', NULL, NULL, '\n if (window.configImport == \'1\') {\n nuSetupConfigEffectiveMsg();\n }\n \n if (set_smtp_username.value == \'1\') {\n nuHide(\'set_nuemailtest_button\');\n }\n \n $(function() {\n $(\'#set_header\').scrollTop(window.scrollTop);\n });\n \n $(\'#set_include\').addClass(\'js\');\n $(\'#set_header\').addClass(\'js\');\n $(\'#set_style\').addClass(\'css\');\n \n nuACEInitDblClickHandlers();\n \n $(\'#nuDeleteButton\').remove();\n $(\'#nuCloneButton\').remove();\n \n \n nuSetToolTip(\'set_denied\', nuTranslate(\'Disallow access to nuBuilder\\\'s core forms.\'), true);\n \n nuHide(\'set_code_snippet_lookupcode\');\n nuAttachButtonImage(\'icon_js\', \'JS\');\n nuAttachButtonImage(\'icon_include_js\', \'JS\');\n nuAttachButtonImage(\'icon_css\', \'CSS\');\n \n nuSetProperty(\'set_header_current\', $(\'#set_header\').val());\n nuSetProperty(\'set_style_current\', $(\'#set_style\').val());\n nuSetProperty(\'set_include_current\', $(\'#set_include\').val());\n nuSetProperty(\'set_language_current\', $(\'#set_language\').val());\n \n // Code Snippets form\n nuSetSnippetFormFilter(0, 1, 0, 0);\n \n nuSetupSetConfigDatalist(\'$nuConfigGlobeadminHome\', [\'nuhome\']);\n nuSetupSetConfigDatalist(\'nuShowJSErrors\', [\'none\',\'globeadmin\',\"everyone\"]);\n nuSetupSetConfigDatalist(\'nuHideTabTitleIfOnlyOne\', [\'none\',\'globeadmin\',\"user\", \"everyone\"]);\n nuSetupSetConfigDatalist(\'nuEditCloseAfterSave\', [\'None\',\'AllForms\',\"UserForms\",\"SystemForms\"]);\n nuSetupSetConfigDatalist(\'nuCalendarWeekNumbers\', [\'None\',\'ISO 8601\',\"Western traditional\",\"Middle Eastern\"]);\n // nuSetupSetConfigDatalist(\'nuTheme\', [\'Light\',\'Dark\',\"System default\"]);\n\n nuSelectAddEnglishOption(\'set_language\');\n\n var devMode = nuDevMode(); \n if (devMode) {\n nuAddActionButton(\n \'create_test_user\', \n \'Create Test User\', \n \'nuRunPHPHidden(\"nu_create_test_user\")\', \n \'\', \n \'fa fa-play\'\n ).css(\'color\',\'green\');\n } else {\n nuHideTabById(\'nu5fe19e93306dd6e\');\n }\n \n $(\'#set_files_version_user\').val(nuGetFilesVersion());\n \n function nuSetupIncVersion(i) {\n \n var dbv = $(\'#\' + i).val();\n var dbvSplit = dbv.split(\"-\");\n const major = dbvSplit[0];\n const date = dbvSplit[1].slice(0, -3)\n let build = parseInt(dbv.split(/[. ]+/).pop(), 10);\n \n let today = nuCurrentDate(\'yyyy.mm.dd\');\n \n build++;\n if (date !== today) {\n build = 0;\n }\n \n return major + \'-\' + today + \'.\' + nuPad2(build);\n }\n \n function nuSetupIncDBVersion() {\n const dbInc = nuSetupIncVersion(\'set_db_version\');\n $(\'#set_db_version_inc\').val(dbInc);\n }\n \n function nuSetupIncFilesVersion() {\n const filesInc = nuSetupIncVersion(\'set_files_version\');\n $(\'#set_files_version_inc\').val(filesInc);\n }\n \n \n function nuSetupSelectToValueArray(id) {\n \n var a = [];\n $(\'#\' + id + \' option:selected\').each(function(index) {\n if ($(this).text() !== \'\') {\n a.push($(this).val())\n }\n });\n \n return a;\n \n }\n \n \n function nuBeforeSave() {\n \n \n if ($(\'#set_language\').hasClass(\'nuEdited\')) {\n $(\"#set_languages_included option[value=\'\" + $(\'#set_language\').val() + \"\']\").prop(\"selected\", true);\n $(\'#set_languages_included\').trigger(\'change\');\n }\n \n var v = \'\';\n if (!$(\'#set_languages_included\').hasClass(\'nuEdited\')) v = \'-1\';\n \n if (v === \'\') {\n var languagesIncluded = nuSetupSelectToValueArray(\'set_languages_included\');\n v = languagesIncluded.length === 0 ? \'\': JSON.stringify(languagesIncluded);\n }\n \n nuSetProperty(\'set_languages_included_json\', v);\n window.scrollTop = $(\'#set_header\').scrollTop();\n \n nuSetupBeforeSaveConfig();\n \n return true;\n \n }\n \n // Config\n \n function nuAfterSave() {\n \n nuSetupConfigEffectiveMsg();\n \n nuAddCSSStyle(set_style.value);\n }\n \n function nuSetupConfigEffectiveMsg() {\n \n if (window.configEffective == \'2\') {\n nuMessage(nuTranslate(\'You will need to log in again for the changes to take effect.\'));\n } else if (window.configEffective == \'3\' || window.configImport == \'1\') {\n nuMessage(nuTranslate(\'You may need to restart your browser for the changes to take effect.\'));\n }\n \n window.configEffective = \'1\';\n window.configImport = \'0\';\n \n }\n \n // Settings:\n \n nuSetupSfAddFilters();\n nuSetupSfChangeValueObjectTypes();\n nuSetuSfSetDescriptionTitle();\n nuSetupSfStoreInitialValues();\n \n $(\'#nuCloneButton\').remove();\n $(\'#nuDeleteButton\').remove();\n \n \n function nuOnSetSaved(v) {\n if (v === false) {\n nuDisable(\'button_import\');\n }\n }\n \n function nuSetupSfStoreInitialValues() {\n $(\'[id ^=nuconfigsettings][id $=cfg_value]\').each(function() {\n $(this).attr(\'data-org-value\', nuEncode(this.value));\n });\n }\n \n function nuSetupOnConfigValueChanged(t) {\n let orgValue = nuDecode($(t).attr(\'data-org-value\'));\n if (orgValue !== t.value) {\n $(t).addClass(\'changedCgfValue\');\n } else {\n $(t).removeClass(\'changedCgfValue\');\n }\n }\n \n function nuSetuSfSetDescriptionTitle() {\n \n let fieldArr = nuSubformColumnArray(\'nuconfigsettings\', \'cfg_description\');\n \n for (var i = 0; i < fieldArr.length; i++) {\n \n var f = $(\'#nuconfigsettings\' + nuPad3(i) + \'cfg_description\');\n if (f.val() !== \'\') {\n f.attr(\'title\', f.val());\n }\n \n \n }\n \n }\n \n function nuSetupSfAddFilters() {\n\n var sfFilter = {};\n sfFilter.nuconfigsettings = {\n \'cfg_category\': {\n type: \'search\',\n float: \'left\'\n },\n \'cfg_title\': {\n type: \'search\'\n }\n };\n \n nuSubformAddFilter(sfFilter);\n \n }\n \n \n function nuSetupChangeObjectTypeToSelectBoolean(i) {\n \n const el = $(\'#\' + i);\n \n el.replaceWith($(\'\n\n\n\n\n\n\n', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu635294e972e7339', 'nuemailtemplate', 'zzzzsys_email_template', 'input', 'emt_description', 'Description', 'nu635294e9729b1a1', 50, 65, 133, 500, 22, '1', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, 'data-nu-mobile-max-width=350px', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu635294e972e8dec', 'nuemailtemplate', 'zzzzsys_email_template', 'textarea', 'emt_body', 'Body', 'nu635294e9729b1a1', 130, 350, 133, 727, 243, '1', 'left', '1', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-max-width=350px', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu635294e972ea5f4', 'nuemailtemplate', 'zzzzsys_email_template', 'select', 'emt_avail_fields', 'Available Fields', 'nu635294e9729b1a1', 170, 103, 945, 250, 497, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '0', 'SELECT\n `sob_all_label`,\n `sob_all_id`\nFROM\n `zzzzsys_object`\nWHERE\n sob_all_zzzzsys_form_id = \'#emt_form_id#\' AND sob_all_type IN(\'input\', \'select\', \'textarea\')\nORDER BY\n sob_all_id ASC', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-max-height=250px', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu635294e972ec39d', 'nuemailtemplate', 'zzzzsys_email_template', 'lookup', 'emt_form_id', 'Form', 'nu635294e9729b1a1', 160, 52, 945, 221, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, 'sfo_code', 'sfo_code', '0', NULL, 'nunonsystemform', 'nuRefreshSelectObject(\'emt_avail_fields\',nuFormId(), true);', NULL, 'zzzzsys_form', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu635294e972edc9a', 'nuemailtemplate', 'zzzzsys_email_template', 'input', 'emt_group', 'Group', 'nu635294e9729b1a1', 60, 94, 133, 280, 22, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu635294e972ef846', 'nuemailtemplate', 'zzzzsys_email_template', 'input', 'emt_cc', 'Cc', 'nu635294e9729b1a1', 110, 292, 133, 470, 22, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, 'data-nu-mobile-max-width=350px', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu635294e972f108a', 'nuemailtemplate', 'zzzzsys_email_template', 'input', 'emt_subject', 'Subject', 'nu635294e9729b1a1', 90, 236, 133, 740, 22, '1', 'left', '1', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, 'data-nu-mobile-max-width=350px', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu635294e972f2b2d', 'nuemailtemplate', 'zzzzsys_email_template', 'input', 'emt_bcc', 'Bcc', 'nu635294e9729b1a1', 120, 320, 133, 470, 22, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, 'data-nu-mobile-max-width=350px', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu635294e972f43a2', 'nuemailtemplate', 'zzzzsys_email_template', 'html', 'emt_body_preview', '', 'nu635294e9729b1a1', 150, 368, 133, 311, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '
\n\n
\n', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu635294e972f5f54', 'nuemailtemplate', 'zzzzsys_email_template', 'input', 'emt_code', 'Code', 'nu635294e9729b1a1', 40, 36, 133, 280, 22, '1', 'left', '1', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu635294e972f78da', 'nuemailtemplate', 'zzzzsys_email_template', 'input', 'emt_to', 'To', 'nu635294e9729b1a1', 100, 264, 133, 470, 22, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, 'data-nu-mobile-max-width=350px', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu635294e972f92d3', 'nuemailtemplate', 'zzzzsys_email_template', 'select', 'emt_language', 'Language', 'nu635294e9729b1a1', 80, 152, 133, 150, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', '%LANGUAGES%', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6352a8007979ff2', 'nuhome', NULL, 'run', 'run_nuemailtempltates', 'Emails', 'nu62cca90dba09759', 280, 270, 731, 236, 30, '0', 'left', '0', '0', NULL, '0', 'Class', 'input_button_left', NULL, NULL, 'nuemaillog', NULL, 'b', '0', 'F', NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'fa-solid fa-square-envelope', NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu63529abe120452b', 'nuemailtemplate', 'zzzzsys_email_template', 'contentbox', 'contentbox_top', '', 'nu635294e9729b1a1', 10, 0, 5, 900, 176, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu63529b163d3ee9f', 'nuemailtemplate', 'zzzzsys_email_template', 'contentbox', 'contentbox_bottom', '', 'nu635294e9729b1a1', 20, 205, 5, 900, 399, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu63529c115d9add7', 'nuemailtemplate', 'zzzzsys_email_template', 'contentbox', 'contentbox_right', '', 'nu635294e9729b1a1', 30, 0, 920, 300, 605, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6352a9c47ec423e', 'nuhome', NULL, 'input', 'menu_email', '', 'nu62cca90dba09759', 290, 270, 968, 33, 30, '1', 'center', '0', '0', NULL, '1', 'Class', 'input_button_right', NULL, NULL, NULL, NULL, NULL, '0', 'F', NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', 'fa-solid fa-caret-down', NULL, NULL, 'data-nu-mobile-same-row=1', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6662152de53409b', 'nuobject', 'zzzzsys_object', 'lookup', 'sob_display_procedure', 'Procedure', 'nu5bad6cb36974818', 710, 75, 114, 250, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, 'sph_code', 'sph_description', '250', NULL, 'nuprocedure', 'nuObjectDisplayProcedureChanged();', NULL, 'zzzzsys_php', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'spellcheck=false', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu639f27399891853', 'nufflaunch', NULL, 'input', 'fastform_primary_key', 'Primary Key', 'nu5bad6cb36f36433', 100, 59, 522, 230, 22, '1', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, 'nuFORM.getJustTables()', NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu63ed203614c85fc', 'nucloner', 'zzzzsys_cloner', 'select', 'clo_tables_include', 'Include', 'nu63ed1fef9b6331f', 210, 151, 98, 350, 300, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '1', 'SHOW FULL TABLES WHERE Table_type = \"BASE TABLE\"', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu63ed219d9bc105c', 'nucloner', 'zzzzsys_cloner', 'input', 'clo_select_all_button', 'Select All', 'nu63ed1fef9b6331f', 180, 39, 98, 200, 22, '1', 'center', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'N|$ 1,000.00', 'button', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu63ed261ee9bac3f', 'nucloner', 'zzzzsys_cloner', 'input', 'clo_unselect_sys_button', 'Unselect zzzzsys_*', 'nu63ed1fef9b6331f', 190, 66, 98, 200, 22, '1', 'center', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'N|$ 1,000.00', 'button', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu63eda686a958487', 'nucloner', 'zzzzsys_cloner', 'select', 'clo_tables_exclude', 'Exclude', 'nu63ed1fef9b6331f', 220, 151, 500, 350, 300, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '1', 'SHOW TABLES', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu63eda77977c63cb', 'nucloner', 'zzzzsys_cloner', 'input', 'test_run', 'Export', 'nu63ed1fef9b6331f', 200, 66, 98, 200, 22, '1', 'center', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'N|$ 1,000.00', 'button', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu63efd6559d22f60', 'nunuobjectevent', 'zzzzsys_event', 'input', 'sev_event', 'Event', 'nu63f0aec186f6a6c', 20, 55, 103, 200, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, 'nuChooseEventList()', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu63efd6559d61dc5', 'nunuobjectevent', 'zzzzsys_event', 'textarea', 'sev_javascript', 'JavaScript', 'nu63f0aec186f6a6c', 30, 86, 103, 600, 300, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '[\'North\',\'South\',\'East\',\'West\']', NULL, 'spellcheck=false', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu63f0ae06b006018', 'nuobjectgrid', 'zzzzsys_form', 'run', 'iframe_objectevent', '', 'nu63f0adcb2c415fa', 40, 12, 7, 1251, 586, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, 'nunuobjectevent', NULL, 'i', NULL, 'F', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu63f0cdedee73ade', 'nunuobjectevent', 'zzzzsys_event', 'input', 'sev_zzzzsys_object_id', 'Object Id', 'nu63f0aec186f6a6c', 10, 20, 500, 200, 22, '1', 'left', '0', '2', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu63f0ce5139561f7', 'nunuobjectevent', 'zzzzsys_event', 'display', 'sev_zzzzsys_object_name', 'Object', 'nu63f0aec186f6a6c', 40, 24, 103, 200, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'SELECT\n `sob_all_id`\nFROM\n `zzzzsys_object`\nWHERE\n `zzzzsys_object_id` = \'#sev_zzzzsys_object_id#\'', NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu63f124950cabc67', 'nucodesnippet', 'zzzzsys_code_snippet', 'contentbox', 'contentbox', '', 'nu5fdb1b5b254566f', 10, 5, 10, 867, 594, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6401f7527bbe462', 'nucodesnippet', 'zzzzsys_code_snippet', 'input', 'cot_group', 'Group', 'nu5fdb1b5b254566f', 30, 72, 165, 354, 21, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, 'data-nu-mobile-max-width=200px', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu64310ae86d94bab', 'nuobject', 'zzzzsys_object', 'run', 'sob_input_format_add_button', '', 'nu5bad6cb36a4af06', 1120, 85, 416, 30, 22, '1', 'center', '0', '2', NULL, '0', NULL, NULL, NULL, NULL, 'nuformat', NULL, 'b', '3', 'F', '-1', NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'fa-solid fa-plus-square', NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu64802f38f184778', 'nuform', 'zzzzsys_form', 'input', 'sfo_group', 'Group', 'nu5bad6cb36791fd5', 50, 126, 182, 377, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, 'SELECT DISTINCT\n `sfo_group`\nFROM\n `zzzzsys_form`\nWHERE\n TRIM(IFNULL(`sfo_group`, \'\')) <> \'\'\n AND (\n \'#DEV_MODE#\' = \'1\'\n OR IFNULL(`sfo_group`, \'\') <> \'nubuilder\'\n )\nORDER BY\n `sfo_group`\n', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO `zzzzsys_object` (`zzzzsys_object_id`, `sob_all_zzzzsys_form_id`, `sob_all_table`, `sob_all_type`, `sob_all_id`, `sob_all_label`, `sob_all_zzzzsys_tab_id`, `sob_all_order`, `sob_all_top`, `sob_all_left`, `sob_all_width`, `sob_all_height`, `sob_all_cloneable`, `sob_all_align`, `sob_all_validate`, `sob_all_access`, `sob_all_access_condition`, `sob_all_event`, `sob_all_style_type`, `sob_all_style`, `sob_calc_formula`, `sob_calc_format`, `sob_run_zzzzsys_form_id`, `sob_run_filter`, `sob_run_method`, `sob_run_target`, `sob_run_type`, `sob_run_id`, `sob_display_sql`, `sob_display_procedure`, `sob_select_multiple`, `sob_select_2`, `sob_select_sql`, `sob_select_procedure`, `sob_lookup_code`, `sob_lookup_description`, `sob_lookup_description_width`, `sob_lookup_autocomplete`, `sob_lookup_zzzzsys_form_id`, `sob_lookup_javascript`, `sob_lookup_php`, `sob_lookup_table`, `sob_subform_zzzzsys_form_id`, `sob_subform_foreign_key`, `sob_subform_add`, `sob_subform_delete`, `sob_subform_type`, `sob_subform_table`, `sob_input_count`, `sob_input_format`, `sob_input_type`, `sob_input_icon`, `sob_input_javascript`, `sob_input_datalist`, `sob_input_attribute`, `sob_input_file_target`, `sob_html_code`, `sob_html_chart_type`, `sob_html_javascript`, `sob_html_title`, `sob_html_vertical_label`, `sob_html_horizontal_label`, `sob_image_zzzzsys_file_id`, `sob_all_json`, `sob_json`) VALUES ('nu64ec098aab4edac', 'nupasswordgenerator', NULL, 'input', 'pwg_input', 'Password', 'nu64ec098a9d06dda', 30, 59, 129, 300, 22, '1', 'left', '0', '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu64ec098aabab518', 'nupasswordgenerator', NULL, 'input', 'pwg_copy', '', 'nu64ec098a9d06dda', 40, 95, 170, 35, 25, '1', 'center', '0', '0', NULL, '1', 'Class', 'nuAllowDblClick -nuButton nuToolButton', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'N|$ 1,000.00', 'button', 'fa-solid fa-copy', NULL, NULL, 'title=\"Copy\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu64ec098aac06a37', 'nupasswordgenerator', NULL, 'input', 'pwg_refresh', '', 'nu64ec098a9d06dda', 50, 95, 129, 35, 25, '1', 'center', '0', '0', NULL, '1', 'Class', 'nuAllowDblClick -nuButton nuToolButton', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'N|$ 1,000.00', 'button', 'fa-solid fa-arrows-rotate', NULL, NULL, 'title=\'Refresh\'', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu64ec098aac5c389', 'nupasswordgenerator', NULL, 'input', 'pwg_length', 'Length', 'nu64ec098a9d06dda', 60, 173, 129, 31, 22, '1', 'center', '0', '0', NULL, '1', 'CSS', ' border-radius: 6px', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu64ec098aacb9761', 'nupasswordgenerator', NULL, 'input', 'pwg_uppercase', 'Uppercase', 'nu64ec098a9d06dda', 80, 236, 144, 16, 22, '1', 'right', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'N|$ 1,000.00', 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu64ec098aad152f4', 'nupasswordgenerator', NULL, 'input', 'pwg_lowercase', 'Lowercase', 'nu64ec098a9d06dda', 90, 268, 144, 16, 22, '1', 'right', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'N|$ 1,000.00', 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu64ec098aad6e797', 'nupasswordgenerator', NULL, 'input', 'pwg_numbers', 'Numbers', 'nu64ec098a9d06dda', 100, 236, 334, 16, 22, '1', 'right', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'N|$ 1,000.00', 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu64ec098aadca883', 'nupasswordgenerator', NULL, 'input', 'pwg_symbols', 'Symbols', 'nu64ec098a9d06dda', 110, 268, 334, 16, 22, '1', 'right', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'N|$ 1,000.00', 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu64f94bbfb765fa9', 'nupassword', 'zzzzsys_user', 'display', 'display_change_required', '', 'nu5bad6cb36ed494f', 60, 38, 14, 499, 21, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'SELECT IF(sus_change_password = \'1\', \'Your password has expired and must be changed.\',\'\')\nFROM zzzzsys_user\nWHERE zzzzsys_user_id = \'#USER_ID#\'\n', NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu64ec11125e36989', 'nupasswordgenerator', NULL, 'input', 'pwg_range', '', 'nu64ec098a9d06dda', 70, 171, 191, 235, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'range', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu64ec191221a5931', 'nupasswordgenerator', NULL, 'contentbox', 'contentbox_top', '', 'nu64ec098a9d06dda', 10, 0, 10, 500, 110, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu64ec1b4131ad536', 'nuuser', 'zzzzsys_user', 'run', 'button_generate_password', '', 'nu5bad6cb36b63cae', 100, 187, 476, 35, 23, '1', 'left', '0', '0', NULL, '0', 'Class', '-nuButton nuToolButton', NULL, NULL, 'nupasswordgenerator', NULL, 'b', '3', 'F', NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'fa-solid fa-key', NULL, NULL, 'title=\"Generate Password\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '{\"type\":{\"version\":\"1.0\",\"mobile\":{\"version\":\"1.0\",\"name\":\"test1\",\"visible\":true,\"location\":{\"top\":\"245\",\"left\":\"52\"},\"size\":{\"width\":\"250\",\"height\":\"25\"},\"class\":[\"nuMobileInput\"]}}}', NULL), ('nu64ec1ca0771d886', 'nupasswordgenerator', NULL, 'contentbox', 'contentbox_bottom', '', 'nu64ec098a9d06dda', 20, 136, 10, 500, 151, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu64f6d3792987c59', 'nuuser', 'zzzzsys_user', 'input', 'sus_change_password', 'Change password at next login', 'nu5bad6cb36b63cae', 120, 251, 443, 16, 22, '1', 'left', '0', '0', NULL, '1', 'CSS', '{\"label\" : \"font-size: smaller\"}', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '{\"type\":{\"version\":\"1.0\",\"mobile\":{\"version\":\"1.0\",\"name\":\"test1\",\"visible\":false,\"location\":{\"top\":\"196\",\"left\":\"414\"},\"size\":{\"width\":\"16\",\"height\":\"22\"},\"class\":[\"nuMobileInput\"]}}}', NULL), ('nu64f955a34a6e245', 'nuuser', 'zzzzsys_user', 'input', 'user_send_welcome_email', 'Send welcome email', 'nu5bad6cb36b63cae', 130, 278, 443, 16, 22, '1', 'left', '0', '0', NULL, '1', 'CSS', '{\"label\" : \"font-size: smaller\"}', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '{\"type\":{\"version\":\"1.0\",\"mobile\":{\"version\":\"1.0\",\"name\":\"test1\",\"visible\":false,\"location\":{\"top\":\"196\",\"left\":\"414\"},\"size\":{\"width\":\"16\",\"height\":\"22\"},\"class\":[\"nuMobileInput\"]}}}', NULL), ('nu684d39404deb3ba', 'nuhome', NULL, 'run', 'run_add_user', 'User', 'nu684d390a5e73fd1', 330, 63, 67, 236, 30, '1', 'left', '0', '0', NULL, '0', 'Class', NULL, NULL, NULL, 'nuuser', NULL, 'b', '0', 'F', '-1', NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'fa-solid fa fa-user', NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu651128698ba8354', 'nuobject', 'zzzzsys_object', 'input', 'sob_all_access_condition', '', 'nu5bad6cb3686cb0d', 160, 341, 363, 538, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, 'placeholder=SQL, data-nu-mobile-max-width=350px', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu65d777adf033c71', 'nupermissionitem', 'zzzzsys_permission_item', 'textarea', 'pme_description', 'Description', 'nu65d777ade2b7d70', 30, 106, 152, 300, 91, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '[\'North\',\'South\',\'East\',\'West\']', NULL, 'spellcheck=false', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu65d777adf04fa5f', 'nupermissionitem', 'zzzzsys_permission_item', 'input', 'pme_ident', 'Ident', 'nu65d777ade2b7d70', 10, 30, 152, 303, 22, '1', 'left', '3', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu65d7e1f835f64b1', 'nuuserpermission', 'zzzzsys_user_permission', 'input', 'upe_active', 'Active', 'nu65d7dabf091568e', 20, 10, 150, 18, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, 'pme_ident', 'pme_group', '200', NULL, 'nupermissionitem', NULL, NULL, 'zzzzsys_permission_item', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu65d7dabf1036576', 'nuuserpermission', 'zzzzsys_user_permission', 'lookup', 'upe_ident', 'Items', 'nu65d7dabf091568e', 10, 42, 152, 300, 22, '1', 'left', '3', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, 'pme_ident', 'pme_group', '200', NULL, 'nupermissionitem', NULL, NULL, 'zzzzsys_permission_item', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu65d781b0376ef77', 'nupermissionitem', 'zzzzsys_permission_item', 'input', 'pme_group', 'Group', 'nu65d777ade2b7d70', 20, 68, 152, 303, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu65d7db18a6e2bab', 'nuuser', 'zzzzsys_user', 'subform', 'sf_permission', ' ', 'nu65d7dbb966b5d37', 250, 20, 20, 616, 515, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'nuuserpermission', 'upe_zzzzsys_user_id', '1', '1', 'g', 'zzzzsys_user_permission', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '{\"type\":{\"version\":\"1.0\",\"mobile\":{\"version\":\"1.0\",\"name\":\"test1\",\"visible\":true,\"location\":{\"top\":\"295\",\"left\":\"52\"},\"size\":{\"width\":\"250\",\"height\":\"25\"},\"class\":[\"nuMobileInput\"]}}}', NULL), ('nu65e879425338a3a', 'nuprocedure', 'zzzzsys_php', 'input', 'sph_template', 'Template', 'nu5bad6cb36b27343', 140, 55, 790, 100, 22, '1', 'left', '0', '2', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu65ea5cdd74cd0db', 'nuemailtemplate', 'zzzzsys_email_template', 'input', 'emt_template', 'Template', 'nu635294e9729b1a1', 180, 123, 333, 25, 22, '1', 'left', '0', '2', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu65f27499be08372', 'nuphp', 'zzzzsys_php', 'input', 'sph_code', 'Code', 'nu65f27499bd5df48', 20, 406, 91, 350, 22, '1', 'left', '3', '2', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'search', NULL, NULL, '[\"nu_before_save\", \"nu_after_save\", \"nu_before_edit\", \"nu_before_browse\", \"nu_before_delete\", \"nu_after_delete\", \"nu_startup\", \"nu_check_password_policy\", \"nu_invalid_login\", \"nu_after_update\", \"nu_send_welcome_email\"]', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu65f27499be13b58', 'nuphp', 'zzzzsys_php', 'textarea', 'sph_php', '', 'nu65f27499bd5df48', 60, 34, 89, 782, 471, '1', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'spellcheck=false, title=\"PHP\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu65f27499be46067', 'nuphp', 'zzzzsys_php', 'input', 'sph_system', 'System', 'nu65f27499bd5df48', 30, 28, 790, 100, 22, '1', 'left', '0', '2', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu65f27499be54002', 'nuphp', 'zzzzsys_php', 'html', 'icon', '', 'nu65f27499bd5df48', 80, 32, 30, 43, 39, '1', 'left', '0', '0', NULL, '1', 'CSS', 'background-size: 40px 37px;', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '
', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu65f27499be66f78', 'nuphp', 'zzzzsys_php', 'input', 'sph_hide', 'Hide', 'nu65f27499bd5df48', 50, 0, 0, 100, 22, '1', 'left', '0', '2', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu65f27499be765b1', 'nuphp', 'zzzzsys_php', 'lookup', 'sph_code_snippet_select_lookup', 'Insert-Snippet', 'nu65f27499bd5df48', 100, 34, 884, 5, 22, '1', 'right', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 'SELECT zzzzsys_form_id, CONCAT(sfo_code, \' - \', sfo_description)\r\nFROM zzzzsys_form\r\nORDER BY sfo_code', NULL, 'cot_code', 'cot_source_code', '0', NULL, 'nucodesnippet', 'var c = $(\'#sph_code_snippet_paste\').val();\n\nif (c !== \'\') {\n nuInsertTextAtCaret(\'sph_php\', c);\n $(\'#sph_code_snippet_select_lookupcode\').val(\'\');\n}\n\n\n', NULL, 'zzzzsys_code_snippet', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu65f27499be85465', 'nuphp', 'zzzzsys_php', 'textarea', 'sph_code_snippet_paste', '', 'nu65f27499bd5df48', 90, 100, 628, 5, 22, '1', 'right', '0', '2', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 'SELECT zzzzsys_form_id, CONCAT(sfo_code, \' - \', sfo_description)\r\nFROM zzzzsys_form\r\nORDER BY sfo_code', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'spellcheck=false,data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu65f27499be982b5', 'nuphp', 'zzzzsys_php', 'contentbox', 'contentbox_php', '', 'nu65f27499bd5df48', 10, 0, 20, 940, 550, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu65f27499beacda7', 'nuphp', 'zzzzsys_php', 'display', 'sph_form_code', 'form code', 'nu65f27499bd5df48', 70, 0, 0, 200, 20, '1', 'left', '0', '2', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'SELECT sfo_code FROM `zzzzsys_php` \nLEFT JOIN zzzzsys_form ON LEFT(zzzzsys_php_id,char_length(zzzzsys_php_id)-3) = zzzzsys_form_id\nWHERE `zzzzsys_php_id` LIKE \'#RECORD_ID#\'', NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu65f27499bebe651', 'nuphp', 'zzzzsys_php', 'input', 'sph_template', 'Template', 'nu65f27499bd5df48', 40, 55, 790, 100, 22, '1', 'left', '0', '2', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu65f28ff562f1578', 'nuemaillog', 'zzzzsys_email_log', 'input', 'eml_sent_at', 'Sent At', 'nu65f28ff562a8cc4', 20, 42, 147, 150, 22, '1', 'left', '0', '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu65f28ff562f3d41', 'nuemaillog', 'zzzzsys_email_log', 'input', 'eml_created_at', 'Created At', 'nu65f28ff562a8cc4', 10, 12, 147, 150, 22, '1', 'left', '0', '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu65f28ff562f65de', 'nuemaillog', 'zzzzsys_email_log', 'input', 'eml_state', 'State', 'nu65f28ff562a8cc4', 30, 72, 147, 300, 22, '1', 'left', '0', '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu65f28ff562f8907', 'nuemaillog', 'zzzzsys_email_log', 'input', 'eml_to', 'To', 'nu65f28ff562a8cc4', 100, 282, 147, 300, 22, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu65f28ff562fa2ab', 'nuemaillog', 'zzzzsys_email_log', 'input', 'eml_subject', 'Subject', 'nu65f28ff562a8cc4', 130, 372, 147, 705, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, 'data-nu-mobile-max-width=300px', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu65f28ff562fbf4c', 'nuemaillog', 'zzzzsys_email_log', 'input', 'eml_error', 'Error', 'nu65f28ff562a8cc4', 40, 102, 147, 300, 22, '1', 'left', '0', '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu65f28ff562fd846', 'nuemaillog', 'zzzzsys_email_log', 'input', 'eml_table_name', 'Table', 'nu65f28ff562a8cc4', 50, 132, 147, 300, 22, '1', 'left', '0', '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu65f28ff562fef08', 'nuemaillog', 'zzzzsys_email_log', 'input', 'eml_tag', 'Tag', 'nu65f28ff562a8cc4', 60, 162, 147, 300, 22, '1', 'left', '0', '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu65f28ff56300787', 'nuemaillog', 'zzzzsys_email_log', 'display', 'eml_form_id', 'Form', 'nu65f28ff562a8cc4', 70, 192, 147, 300, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'SELECT CONCAT(sfo_code, \': \', sfo_description) FROM zzzzsys_form WHERE zzzzsys_form_id = \'#eml_form_id#\'\n', NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu65f28ff563025c5', 'nuemaillog', 'zzzzsys_email_log', 'display', 'eml_user_id', 'User', 'nu65f28ff562a8cc4', 80, 222, 147, 300, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'SELECT IF(LENGTH(\'#eml_user_id#\') = 15 AND sus_name IS NOT NULL, COALESCE(sus_name,\'admin\'), \'#eml_user_id#\') FROM zzzzsys_user WHERE zzzzsys_user_id = \'#eml_user_id#\'', NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu65f28ff56304023', 'nuemaillog', 'zzzzsys_email_log', 'input', 'eml_record_id', 'Record Id', 'nu65f28ff562a8cc4', 90, 252, 147, 300, 22, '1', 'left', '0', '1', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu65f28ff563059f1', 'nuemaillog', 'zzzzsys_email_log', 'input', 'eml_cc', 'CC', 'nu65f28ff562a8cc4', 110, 312, 147, 300, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu65f28ff5630757b', 'nuemaillog', 'zzzzsys_email_log', 'input', 'eml_bcc', 'BCC', 'nu65f28ff562a8cc4', 120, 342, 147, 300, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu65f28ff563094d9', 'nuemaillog', 'zzzzsys_email_log', 'textarea', 'eml_body', 'Body', 'nu65f28ff562a8cc4', 140, 402, 147, 700, 200, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-max-width=300px', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu65f8d60b0cacd08', 'nurunjavascript', NULL, 'textarea', 'jsc_Input', 'Input', 'nu65f8d60b05b6ec6', 10, 18, 68, 500, 250, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '[\'North\',\'South\',\'East\',\'West\']', NULL, 'spellcheck=false,placeholder=\"Press Ctrl+Enter to execute.\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu65f8d60b0cdf0d3', 'nurunjavascript', NULL, 'textarea', 'jsc_output', 'Output', 'nu65f8d60b05b6ec6', 20, 283, 68, 500, 250, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '[\'North\',\'South\',\'East\',\'West\']', NULL, 'spellcheck=false', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6644b7f133e91b7', 'nu62aee4493239e3a', 'zzzzsys_config', 'input', 'cfg_title', 'Title', 'nu62aee449a876a58', 20, 42, 150, 210, 22, '1', 'left', '0', '1', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu666dc5d36f67334', 'nufflaunch', NULL, 'select', 'fastform_objects', 'Object', 'nu5bad6cb36f36433', 60, 82, 152, 140, 22, '1', 'left', '0', '2', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 'nu59e446589a370ca|Text|\nnu59e446589ac75be|Word|\nnu59e446589adce4d|Button|\nnu59e446589b3714b|Calc|\nnu59e446589b4c69b|Checkbox|\nnu59e446589a4d76a|Display|\nnu59e446589bce3d7|nuAutoNumber|\nnu59e446589ab1797|Lookup|\nnu59e446589b61190|nuScroll|\nnu59e446589a1fc46|HTML|\nnu59e446589b0af4c|nuDate|\nnu59e446589a6400f|Select|\nnu59e446589b20a14|nuNumber|\nnu59e446589a9b145|Multiselect|\nnu59e446589af5d86|Number|\nnu59e446589b75a6d|Textarea|\nnu59e446589cf91a2|File|\nnu59e446589d1c64d|Image|\nnu59e44658a0c7724|Subform', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'sob_input_attribute', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu67b5e2e63785295', 'nuformat', 'zzzzsys_form', 'input', 'srm_default', 'Default', 'nu5bad6cb36fcbc18', 60, 180, 110, 16, 22, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu67bcf2045f3f018', 'nuformat', 'zzzzsys_form', 'input', 'srm_preview', 'Preview', 'nu5bad6cb36fcbc18', 50, 133, 110, 394, 35, '0', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'D|yyyy-mm-dd', 'nuDate', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu67c32e085ce5f95', 'nuprocedure', 'zzzzsys_php', 'input', 'sph_demo', 'Demo Access', 'nu5fdf7df2d873dd1', 250, 86, 496, 16, 22, '1', 'left', '0', '2', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu67c940bf969f659', 'nuuser', 'zzzzsys_user', 'input', 'sus_first_name', 'First Name', 'nu5bad6cb36b63cae', 40, 71, 219, 329, 22, '0', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, 'autocomplete=\"off\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '{\"type\":{\"version\":\"1.0\",\"mobile\":{\"version\":\"1.0\",\"name\":\"test1\",\"visible\":true,\"location\":{\"top\":\"65\",\"left\":\"52\"},\"size\":{\"width\":\"250\",\"height\":\"25\"},\"class\":[\"nuMobileInput\"]}}}', NULL), ('nu67c940d83501a9a', 'nuuser', 'zzzzsys_user', 'input', 'sus_last_name', 'Last Name', 'nu5bad6cb36b63cae', 50, 100, 219, 329, 22, '0', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, 'autocomplete=\"off\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '{\"type\":{\"version\":\"1.0\",\"mobile\":{\"version\":\"1.0\",\"name\":\"test1\",\"visible\":true,\"location\":{\"top\":\"65\",\"left\":\"52\"},\"size\":{\"width\":\"250\",\"height\":\"25\"},\"class\":[\"nuMobileInput\"]}}}', NULL), ('nu67f1436f5c9633b', 'nuform', 'zzzzsys_form', 'select', 'savedItemsDropdown', 'Versions', 'nu5bad6cb37026348', 320, 29, 912, 166, 22, '1', 'right', '0', '2', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', '|', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu683fce583a3bbce', 'nuobject', 'zzzzsys_object', 'run', 'sob_all_id_alter_column_button', '', 'nu5bad6cb3686cb0d', 90, 122, 331, 35, 22, '1', 'center', '0', '0', NULL, '0', 'Class', '-nuButton nuToolButton', NULL, NULL, 'nualterdbcolumn', NULL, 'b', '3', 'F', NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'fa-solid fa-pen-to-square', NULL, NULL, 'title=\"Alter database column\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu67f22e3baab43be', 'nufile', 'zzzzsys_file', 'run', 'run_nufile_associated_objects', '', 'nu67f22d53d2c87ad', 100, 28, 22, 844, 441, '0', 'center', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, 'nu67f22e3ba027e23', '#RECORD_ID#', 'i', NULL, 'F', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6819850150e77b6', 'nuobject', 'zzzzsys_object', 'run', 'sob_input_nuformat_edit_button', '', 'nu5bad6cb36a4af06', 1060, 86, 411, 35, 22, '1', 'center', '0', '0', NULL, '0', 'Class', '-nuButton nuToolButton', NULL, NULL, 'nuformat', NULL, 'b', '3', 'F', NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'fa-regular fa-pen-to-square', NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu682ce4b0a6444a8', 'nuform', 'zzzzsys_form', 'input', 'acl_copy_from_form_button', 'Import...', 'nu5fdb9ff026348', 530, 14, 985, 200, 25, '1', 'center', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, 'nu682ce623ae184f0', NULL, NULL, NULL, 'F', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu682ce623b704846', 'nu682ce623ae184f0', NULL, 'lookup', 'cpa_form_id', 'Form', 'nu682ce623ae19b8a', 10, 43, 163, 100, 22, '1', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, 'sfo_code', 'sfo_description', '250', NULL, 'nu682ddc25aa0bb5f', NULL, NULL, 'zzzzsys_form', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '[\'North\',\'South\',\'East\',\'West\']', NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu682ce623b71fd0f', 'nu682ce623ae184f0', NULL, 'input', 'cpa_delete_all', 'Remove all existing', 'nu682ce623ae19b8a', 20, 75, 163, 16, 22, '1', 'right', '0', '2', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'N|$ 1,000.00', 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu682ce623b73ff72', 'nu682ce623ae184f0', NULL, 'select', 'cpa_conflict', 'If exists', 'nu682ce623ae19b8a', 30, 85, 163, 100, 22, '1', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', '0|Skip|\n1|Overwrite', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu682fe2a88429938', 'nuform', 'zzzzsys_form', 'select', 'sfo_status', 'Status', 'nu5bad6cb36791fd5', 60, 157, 182, 140, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', '0|Draft|\n1|Active|\n3|Archived', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu682d656fb3f7c08', 'nu682ce623ae184f0', NULL, 'input', 'dummy_increase_size', '', 'nu682ce623ae19b8a', 40, 800, 1000, 0, 0, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu683303b254a5f09', 'nupromptgenerator', 'zzzzsys_prompt_generator', 'input', 'pge_code', 'Code', 'nu683303b2448d46e', 20, 29, 148, 300, 22, '1', 'left', '3', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, 'placeholder=\"Required only when saving the form\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu683303b254d3257', 'nupromptgenerator', 'zzzzsys_prompt_generator', 'input', 'pge_description', 'Description', 'nu683303b2448d46e', 30, 58, 148, 500, 22, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu683303b254f82b7', 'nupromptgenerator', 'zzzzsys_prompt_generator', 'select', 'pge_table', 'Tables', 'nu683303b2448d46e', 100, 390, 148, 998, 47, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '1', 'SELECT table_name as a, table_name as b \nFROM INFORMATION_SCHEMA.TABLES \nWHERE table_schema = DATABASE()\nORDER BY table_name', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu683303b2551aee5', 'nupromptgenerator', 'zzzzsys_prompt_generator', 'select', 'pge_language', 'Languages', 'nu683303b2448d46e', 60, 263, 148, 998, 56, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '1', 'SELECT itm_value, itm_description FROM `zzzzsys_item` WHERE itm_object_id = \'#OBJECT_ID#\'', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu683303b2553cd68', 'nupromptgenerator', 'zzzzsys_prompt_generator', 'textarea', 'pge_prompt_extra', 'Extra Information', 'nu683303b2448d46e', 110, 442, 148, 940, 80, '0', 'left', '0', '1', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'spellcheck=false', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu68330c2b11c8410', 'nupromptgenerator', 'zzzzsys_prompt_generator', 'textarea', 'pge_prompt', 'Prompt', 'nu683303b2448d46e', 50, 158, 148, 940, 88, '1', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'spellcheck=false,placeholder=\"Ask anything\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu68331852701b9a1', 'nuhome', NULL, 'run', 'run_promptgenerator', 'Prompt Generator', 'nu62cca90dba09759', 300, 320, 731, 236, 30, '0', 'left', '0', '0', NULL, '0', 'Class', 'input_button_left', NULL, NULL, 'nupromptgenerator', NULL, 'b', '0', 'F', NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'fa-solid fa-magic', NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu68331b4f5e8b32a', 'nupromptgenerator', 'zzzzsys_prompt_generator', 'select', 'pge_scope', 'Scopes', 'nu683303b2448d46e', 70, 301, 148, 998, 56, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '1', 'SELECT itm_value, itm_description FROM `zzzzsys_item` WHERE itm_object_id = \'#OBJECT_ID#\'', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu683550b6279f3ac', 'nupromptgenerator', 'zzzzsys_prompt_generator', 'select', 'pge_tag', 'Topics', 'nu683303b2448d46e', 80, 342, 148, 951, 56, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '1', 'SELECT itm_value, itm_description FROM `zzzzsys_item` WHERE itm_object_id = \'#OBJECT_ID#\'', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6836b70de7f0ad3', 'nu6836b70dd053bb4', 'zzzzsys_item', 'input', 'itm_value', 'Value', 'nu6836b70dd94f3bd', 0, 10, 150, 300, 22, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6835808fe52fb4f', 'nupromptgenerator', 'zzzzsys_prompt_generator', 'input', 'btn_get_tags', '', 'nu683303b2448d46e', 90, 342, 1110, 35, 25, '1', 'center', '0', '0', NULL, '1', 'Class', '-nuButton nuToolButton', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', 'fa-solid fa-wand-magic-sparkles', NULL, NULL, 'title=\"Retrieve Tags from AI\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu683d38c7ab216e9', 'nusetup', 'zzzzsys_setup', 'html', 'icon_include_js', '', 'nu683d380ace2eb18', 60, 81, 27, 43, 39, '1', 'left', '0', '0', NULL, '0', 'CSS', 'background-size: 40px 37px;', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', '
', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6835cb356cea275', 'nupromptgenerator', 'zzzzsys_prompt_generator', 'textarea', 'pge_output', '', 'nu6835cb1661ba10b', 150, 15, 15, 900, 559, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'spellcheck=false', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6836b70de8275e4', 'nu6836b70dd053bb4', 'zzzzsys_item', 'input', 'itm_description', 'Description', 'nu6836b70dd94f3bd', 5, 42, 150, 300, 22, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6836b70de86049e', 'nu6836b70dd053bb4', 'zzzzsys_item', 'input', 'itm_category', 'Category', 'nu6836b70dd94f3bd', 10, 74, 150, 300, 22, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6836b70de88e7f9', 'nu6836b70dd053bb4', 'zzzzsys_item', 'input', 'itm_object_id', 'Object Id', 'nu6836b70dd94f3bd', 15, 106, 150, 300, 22, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6836b70de8c47d6', 'nu6836b70dd053bb4', 'zzzzsys_item', 'input', 'itm_sort_order', 'Sort Order', 'nu6836b70dd94f3bd', 20, 138, 150, 55, 22, '1', 'right', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'N|$ 1,000.00', 'number', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6836b70de9038a0', 'nu6836b70dd053bb4', 'zzzzsys_item', 'input', 'itm_tag', 'Tag', 'nu6836b70dd94f3bd', 25, 170, 150, 300, 22, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6836b70de93d5c6', 'nu6836b70dd053bb4', 'zzzzsys_item', 'input', 'itm_additional1', 'Additional 1', 'nu6836b70dd94f3bd', 30, 202, 150, 300, 22, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6836b70de96ddfc', 'nu6836b70dd053bb4', 'zzzzsys_item', 'input', 'itm_additional2', 'Additional 2', 'nu6836b70dd94f3bd', 35, 234, 150, 300, 22, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6836b70de9a16be', 'nu6836b70dd053bb4', 'zzzzsys_item', 'textarea', 'itm_notes', 'Notes', 'nu6836b70dd94f3bd', 40, 266, 150, 195, 64, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '[\'North\',\'South\',\'East\',\'West\']', NULL, 'spellcheck=false', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6836b70de9e5621', 'nu6836b70dd053bb4', 'zzzzsys_item', 'input', 'itm_css', 'CSS', 'nu6836b70dd94f3bd', 45, 340, 150, 300, 22, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6836b70dea216ac', 'nu6836b70dd053bb4', 'zzzzsys_item', 'input', 'itm_icon', 'Icon', 'nu6836b70dd94f3bd', 50, 372, 150, 300, 22, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6836b70dea64c96', 'nu6836b70dd053bb4', 'zzzzsys_item', 'input', 'itm_language', 'Language', 'nu6836b70dd94f3bd', 55, 404, 150, 300, 22, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6836b70deab79e8', 'nu6836b70dd053bb4', 'zzzzsys_item', 'input', 'itm_parent_id', 'Parent Id', 'nu6836b70dd94f3bd', 60, 436, 150, 300, 22, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6836b70deb0d733', 'nu6836b70dd053bb4', 'zzzzsys_item', 'input', 'itm_active', 'Active', 'nu6836b70dd94f3bd', 65, 468, 150, 300, 22, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6836b70deb45ef9', 'nu6836b70dd053bb4', 'zzzzsys_item', 'input', 'itm_created_on', 'Created On', 'nu6836b70dd94f3bd', 70, 500, 150, 300, 22, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6836b70deb7d7f0', 'nu6836b70dd053bb4', 'zzzzsys_item', 'input', 'itm_updated_on', 'Updated On', 'nu6836b70dd94f3bd', 75, 532, 150, 300, 22, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO `zzzzsys_object` (`zzzzsys_object_id`, `sob_all_zzzzsys_form_id`, `sob_all_table`, `sob_all_type`, `sob_all_id`, `sob_all_label`, `sob_all_zzzzsys_tab_id`, `sob_all_order`, `sob_all_top`, `sob_all_left`, `sob_all_width`, `sob_all_height`, `sob_all_cloneable`, `sob_all_align`, `sob_all_validate`, `sob_all_access`, `sob_all_access_condition`, `sob_all_event`, `sob_all_style_type`, `sob_all_style`, `sob_calc_formula`, `sob_calc_format`, `sob_run_zzzzsys_form_id`, `sob_run_filter`, `sob_run_method`, `sob_run_target`, `sob_run_type`, `sob_run_id`, `sob_display_sql`, `sob_display_procedure`, `sob_select_multiple`, `sob_select_2`, `sob_select_sql`, `sob_select_procedure`, `sob_lookup_code`, `sob_lookup_description`, `sob_lookup_description_width`, `sob_lookup_autocomplete`, `sob_lookup_zzzzsys_form_id`, `sob_lookup_javascript`, `sob_lookup_php`, `sob_lookup_table`, `sob_subform_zzzzsys_form_id`, `sob_subform_foreign_key`, `sob_subform_add`, `sob_subform_delete`, `sob_subform_type`, `sob_subform_table`, `sob_input_count`, `sob_input_format`, `sob_input_type`, `sob_input_icon`, `sob_input_javascript`, `sob_input_datalist`, `sob_input_attribute`, `sob_input_file_target`, `sob_html_code`, `sob_html_chart_type`, `sob_html_javascript`, `sob_html_title`, `sob_html_vertical_label`, `sob_html_horizontal_label`, `sob_image_zzzzsys_file_id`, `sob_all_json`, `sob_json`) VALUES ('nu6836b70debb4625', 'nu6836b70dd053bb4', 'zzzzsys_item', 'select', 'itm_access_level', 'Access Level', 'nu6836b70dd94f3bd', 80, 564, 150, 117, 56, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '0', 'SELECT zzzzsys_format_id, srm_format FROM zzzzsys_format ORDER BY srm_type', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu683818eb2cd941c', 'nuitem', 'zzzzsys_item', 'contentbox', 'contentbox_main', '', 'nu6836b7e919d69ce', 10, 3, 10, 670, 528, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6836b7e923f8a43', 'nuitem', 'zzzzsys_item', 'input', 'itm_value', 'Value', 'nu6836b7e919d69ce', 20, 44, 146, 300, 22, '1', 'left', '1', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6836b7e92424502', 'nuitem', 'zzzzsys_item', 'input', 'itm_description', 'Description', 'nu6836b7e919d69ce', 30, 78, 146, 403, 22, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6836b7e924557bd', 'nuitem', 'zzzzsys_item', 'input', 'itm_category', 'Category', 'nu6836b7e919d69ce', 50, 146, 146, 403, 22, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6836b7e9248b752', 'nuitem', 'zzzzsys_item', 'lookup', 'itm_object_id', 'Object Id', 'nu6836b7e919d69ce', 60, 180, 146, 200, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, 'sob_all_id', 'sob_all_label', '250', NULL, 'nuobject', NULL, NULL, 'zzzzsys_object', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6836b7e924b9ffa', 'nuitem', 'zzzzsys_item', 'input', 'itm_sort_order', 'Sort Order', 'nu6836b7e919d69ce', 70, 214, 146, 45, 22, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'N|$ 1,000.00', 'number', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6836b7e924e7ac1', 'nuitem', 'zzzzsys_item', 'input', 'itm_tag', 'Tags', 'nu6836b7e919d69ce', 80, 248, 146, 403, 22, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6836b7e92514960', 'nuitem', 'zzzzsys_item', 'input', 'itm_additional1', 'Additional 1', 'nu6836b7e919d69ce', 90, 282, 146, 403, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6836b7e9254911c', 'nuitem', 'zzzzsys_item', 'textarea', 'itm_additional2', 'Additional 2', 'nu6836b7e919d69ce', 100, 316, 146, 403, 100, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6836b7e9258063e', 'nuitem', 'zzzzsys_item', 'textarea', 'itm_notes', 'Notes', 'nu6836b7e919d69ce', 110, 432, 146, 403, 53, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '[\'North\',\'South\',\'East\',\'West\']', NULL, 'spellcheck=false', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6836b7e925bb997', 'nuitem', 'zzzzsys_item', 'input', 'itm_css', 'CSS', 'nu6836ba2403b7939', 140, 44, 147, 300, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6836b7e925eddad', 'nuitem', 'zzzzsys_item', 'input', 'itm_icon', 'Icon', 'nu6836ba2403b7939', 150, 76, 147, 300, 22, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6836b7e926208fe', 'nuitem', 'zzzzsys_item', 'input', 'itm_language', 'Language', 'nu6836ba2403b7939', 160, 108, 147, 300, 22, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6836b7e92657e22', 'nuitem', 'zzzzsys_item', 'input', 'itm_parent_id', 'Parent Id', 'nu6836ba2403b7939', 170, 140, 147, 300, 22, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6836b7e92698f8c', 'nuitem', 'zzzzsys_item', 'input', 'itm_active', 'Active', 'nu6836b7e919d69ce', 120, 501, 143, 16, 22, '1', 'right', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'N|$ 1,000.00', 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6836b7e926d0c12', 'nuitem', 'zzzzsys_item', 'input', 'itm_created_on', 'Created On', 'nu6836ba2403b7939', 180, 204, 147, 300, 22, '1', 'left', '0', '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6836b7e92707d28', 'nuitem', 'zzzzsys_item', 'input', 'itm_updated_on', 'Updated On', 'nu6836ba2403b7939', 190, 236, 147, 300, 22, '1', 'left', '0', '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6836b7e9273eccd', 'nuitem', 'zzzzsys_item', 'input', 'itm_access_level', 'Access Level', 'nu6836ba2403b7939', 200, 172, 147, 300, 22, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6838192c8f845f3', 'nuitem', 'zzzzsys_item', 'contentbox', 'contentbox_additional', '', 'nu6836ba2403b7939', 130, 3, 10, 670, 494, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu68381cfca5d25d6', 'nupromptgenerator', 'zzzzsys_prompt_generator', 'textarea', 'pge_instruction', 'Instruction', 'nu683303b2448d46e', 40, 88, 148, 987, 56, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'placeholder=\"General instructions for AI code generation\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6839a64a027491d', 'nupromptgenerator', 'zzzzsys_prompt_generator', 'input', 'pge_template', 'Template', 'nu6839a62ff153165', 160, 35, 133, 18, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu68397c1a2885d17', 'nuobjectgrid', 'zzzzsys_form', 'run', 'iframe_items', '', 'nu68397cdfd04208e', 50, 12, 7, 1300, 586, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, 'nu68397bb77c048bb', NULL, 'i', NULL, 'F', NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6839c0839613db8', 'nuobject', 'zzzzsys_object', 'run', 'se_items_run', 'Items', 'nu5bad6cb369a6ee3', 800, 36, 547, 150, 30, '1', 'center', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, 'nu68397bb77c048bb', '#RECORD_ID#', 'b', '2', 'F', NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6839c3808249c42', 'nuobject', 'zzzzsys_object', 'run', 'sob_items_run', 'Items', 'nu5bad6cb36974818', 730, 36, 547, 150, 30, '1', 'center', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, 'nu68397bb77c048bb', '#RECORD_ID#', 'b', '2', 'F', NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6839f172950573b', 'nupromptgenerator', 'zzzzsys_prompt_generator', 'contentbox', 'contentbox_prompt', '', 'nu683303b2448d46e', 10, -3, 3, 1168, 519, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu683afbdd482c2bc', 'nupromptgenerator', 'zzzzsys_prompt_generator', 'input', 'pge_prompt_resize', '', 'nu683303b2448d46e', 120, 160, 1111, 35, 26, '1', 'center', '0', '0', NULL, '1', 'Class', 'nuAllowDblClick -nuButton nuToolButton', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', 'fa-solid fa-arrows-alt', NULL, NULL, 'data-nu-mobile-hidden,title=\"Resize\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu683ba4810911b2f', 'nuhome', NULL, 'run', 'nuprompgenerator_add', '', 'nu62cca90dba09759', 310, 320, 968, 33, 30, '1', 'center', '0', '0', NULL, '0', 'Class', 'input_button_right', NULL, NULL, 'nupromptgenerator', NULL, 'b', '0', 'F', '-1', NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'fa-solid fas fa-plus', NULL, NULL, 'title=\"Add Prompt\",data-nu-mobile-same-row=1', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu683bb195950009c', 'nupromptgenerator', 'zzzzsys_prompt_generator', 'input', 'pge_extra_info_resize', '', 'nu683303b2448d46e', 130, 442, 1111, 35, 26, '1', 'center', '0', '0', NULL, '1', 'Class', 'nuAllowDblClick -nuButton nuToolButton', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', 'fa-solid fa-arrows-alt', NULL, NULL, 'data-nu-mobile-hidden,title=\"Resize\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu683bbae11732fe9', 'nupromptgenerator', 'zzzzsys_prompt_generator', 'input', 'btn_insert_parent_code', '', 'nu683303b2448d46e', 140, 200, 1111, 29, 26, '1', 'center', '0', '0', NULL, '1', 'Class', 'nuAllowDblClick', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', 'fa-solid fa-code-merge', NULL, NULL, 'data-nu-mobile-hidden,title=\"Paste code from Custom Code\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu684d3a932026cee', 'nuhome', NULL, 'run', 'run_add_sql', 'SQL', 'nu684d390a5e73fd1', 390, 63, 399, 236, 30, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, 'nuselect', NULL, 'b', '0', 'F', '-1', NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'fa-solid fa-table', NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6842dc89403a4a6', 'nuuser', 'zzzzsys_user', 'input', 'btn_toggle_password', '', 'nu5bad6cb36b63cae', 110, 218, 476, 35, 23, '1', 'left', '0', '0', NULL, '1', 'Class', '-nuButton -input_button nuToolButton', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', 'fa fa-eye', NULL, NULL, 'autocomplete=\"new-password\",title=\"Show Password\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '{\"type\":{\"version\":\"1.0\",\"mobile\":{\"version\":\"1.0\",\"name\":\"test1\",\"visible\":true,\"location\":{\"top\":\"245\",\"left\":\"52\"},\"size\":{\"width\":\"250\",\"height\":\"25\"},\"class\":[\"nuMobileInput\"]}}}', NULL), ('nu684d3b1b6ad7b08', 'nuhome', NULL, 'run', 'run_add_translation', 'Translation', 'nu684d390a5e73fd1', 410, 163, 399, 236, 30, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, 'nutranslate', NULL, 'b', '0', 'F', '-1', NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'fa fa-globe', NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu684d3b3ccf6517c', 'nuhome', NULL, 'run', 'run_add_format', 'Format', 'nu684d390a5e73fd1', 420, 213, 399, 236, 30, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, 'nuformat', NULL, 'b', '0', 'F', '-1', NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'fa fa-calendar', NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu684d3b5eceaf8c8', 'nuhome', NULL, 'run', 'run_add_fast_report', 'Fast Report', 'nu684d390a5e73fd1', 360, 213, 67, 236, 30, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, 'nufrlaunch', NULL, 'b', '0', 'F', '-1', NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'fa-solid fa-cubes', NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu684e17844eca02f', 'nunotes', 'zzzzsys_note', 'textarea', 'not_text', 'Text', 'nu684e16abd1b5744', 40, 26, 30, 900, 500, '0', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'nu-label-position=\"top\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu685bbb362822e46', 'nuobject', 'zzzzsys_object', 'lookup', 'sob_select_procedure', 'Procedure', 'nu5bad6cb369a6ee3', 770, 75, 114, 250, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, 'sph_code', 'sph_description', '250', NULL, 'nuprocedure', 'nuObjectSelectProcedureChanged();', NULL, 'zzzzsys_php', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'spellcheck=false', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6862ec595565cdc', 'nuprocedure', 'zzzzsys_php', 'select', 'sph_status', 'Status', 'nu5bad6cb36b27343', 60, 149, 142, 140, 22, '1', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', '0|Draft|\n1|Active|\n3|Archived', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu68635e281bad53e', 'nuobject', 'zzzzsys_object', 'input', 'sob_display_procedure_open_button', '', 'nu5bad6cb36974818', 670, 75, 654, 40, 22, '1', 'center', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'nuform', NULL, '1', NULL, NULL, NULL, NULL, NULL, 'button', 'fa-solid fa-external-link-alt', NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu68635f301aea9e9', 'nuobject', 'zzzzsys_object', 'input', 'sob_select_procedure_open_button', '', 'nu5bad6cb369a6ee3', 750, 75, 654, 40, 22, '1', 'center', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'nuform', NULL, '1', NULL, NULL, NULL, NULL, NULL, 'button', 'fa-solid fa-external-link-alt', NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu686741a18ccdc5a', 'nucodesnippet', 'zzzzsys_code_snippet', 'input', 'cot_template', 'Template', 'nu5fdb1b5b254566f', 60, 0, 165, 110, 22, '1', 'left', '0', '2', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6877e41edbd3800', 'nuemailtemplate', 'zzzzsys_email_template', 'input', 'emt_category', 'Category', 'nu635294e9729b1a1', 70, 123, 133, 280, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6878429d04f44ed', 'nuprocedure', 'zzzzsys_php', 'input', 'sph_category', 'Category', 'nu5bad6cb36b27343', 50, 121, 142, 283, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, 'SELECT DISTINCT\n `sph_group`\nFROM\n `zzzzsys_php`\nWHERE\n TRIM(IFNULL(`sph_group`, \'\')) <> \'\'\n AND `sph_group` <> \'nubuilder\'\nORDER BY\n `sph_group`', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu687b3cd707cfbfd', 'nuform', 'zzzzsys_form', 'html', 'custom_code_2', '°', 'nu687b3c9ebc3e813', 540, 3, 10, 1194, 488, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '\n\n
\n
\n
\n

JS Events

\n \n \n \n
\n\n
\n

PHP Events

\n \n \n \n \n \n \n
\n\n
\n

Styling

\n \n
\n
\n\n
\n
\n

Code that runs when users can both browse and edit records

\n
\n\n \n
\n \n
\n\n
\n \n
\n\n
\n \n
\n\n
\n \n
\n\n
\n \n
\n\n
\n \n
\n\n
\n \n
\n\n
\n \n
\n\n
\n \n
\n\n
\n \n
\n
\n
\n\n ', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6885af953ea58be', 'nuappcloner', 'zzzzsys_app_cloner', 'contentbox', 'cla_target_section', 'Target Database', 'nu6885af953ea5089', 10, 76, 33, 958, 84, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'Target Database', NULL, NULL, NULL, NULL, NULL), ('nu6885af953ea5bf9', 'nuappcloner', 'zzzzsys_app_cloner', 'input', 'cla_target_host', 'Host', 'nu6885af953ea5089', 100, 116, 185, 240, 20, '0', 'left', '1', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, 'placeholder=\"E.g. 127.0.0.1\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6885af953ea5ee9', 'nuappcloner', 'zzzzsys_app_cloner', 'input', 'cla_target_db', 'Database', 'nu6885af953ea5089', 110, 146, 185, 240, 20, '0', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6885af953ea61be', 'nuappcloner', 'zzzzsys_app_cloner', 'input', 'cla_target_username', 'Username', 'nu6885af953ea5089', 120, 116, 558, 170, 20, '0', 'left', '1', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, 'autocomplete=\"new-password\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6885af953ea642e', 'nuappcloner', 'zzzzsys_app_cloner', 'input', 'cla_target_password', 'Password', 'nu6885af953ea5089', 130, 146, 558, 170, 20, '0', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'password', NULL, NULL, NULL, 'autocomplete=\"new-password\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6885af953ea671e', 'nuappcloner', 'zzzzsys_app_cloner', 'input', 'cla_target_charset', 'Charset', 'nu6885af953ea554b', 340, 112, 205, 120, 20, '0', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6885af953ea6a85', 'nuappcloner', 'zzzzsys_app_cloner', 'input', 'cla_target_port', 'Port', 'nu6885af953ea554b', 350, 141, 205, 80, 20, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'number', NULL, NULL, NULL, 'placeholder=\"3306\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6885af953ea6d7b', 'nuappcloner', 'zzzzsys_app_cloner', 'contentbox', 'cla_paths_section', 'Folder & Files', 'nu6885af953ea5089', 60, 188, 33, 958, 73, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'File Paths', NULL, NULL, NULL, NULL, NULL), ('nu6885af953ea709d', 'nuappcloner', 'zzzzsys_app_cloner', 'input', 'cla_source_path', 'Source Path', 'nu6885af953ea5089', 150, 222, 321, 300, 20, '0', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, 'placeholder=\"..\",data-nu-copy-files', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6885af953ea7390', 'nuappcloner', 'zzzzsys_app_cloner', 'input', 'cla_target_path', 'Target Path', 'nu6885af953ea5089', 160, 251, 321, 300, 20, '0', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, 'placeholder=\"../../clone_directory_name\",data-nu-copy-files', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6885af953ea7670', 'nuappcloner', 'zzzzsys_app_cloner', 'contentbox', 'cla_schema_structure_contentbox', 'Schema Structure', 'nu6885af953ea5089', 40, 291, 33, 260, 120, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'Clone Options', NULL, NULL, NULL, NULL, NULL), ('nu6885af953ea7978', 'nuappcloner', 'zzzzsys_app_cloner', 'input', 'cla_opt_1', 'Create system tables', 'nu6885af953ea5089', 170, 330, 242, 18, 22, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6885af953ea7cdd', 'nuappcloner', 'zzzzsys_app_cloner', 'input', 'cla_opt_2', 'Create user tables and views', 'nu6885af953ea5089', 180, 359, 242, 18, 22, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6885af953ea7fa8', 'nuappcloner', 'zzzzsys_app_cloner', 'input', 'cla_opt_3', 'System records (nu*)', 'nu6885af953ea5089', 190, 330, 500, 18, 22, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6885af953ea8214', 'nuappcloner', 'zzzzsys_app_cloner', 'input', 'cla_opt_4', 'User records (non-nu*)', 'nu6885af953ea5089', 200, 359, 500, 18, 22, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6885af953ea8555', 'nuappcloner', 'zzzzsys_app_cloner', 'input', 'cla_opt_5', 'User table data', 'nu6885af953ea5089', 210, 389, 500, 18, 22, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6885af953ea88ee', 'nuappcloner', 'zzzzsys_app_cloner', 'input', 'cla_opt_6', 'Functions', 'nu6885af953ea5089', 220, 330, 739, 18, 22, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6885af953ea8b6b', 'nuappcloner', 'zzzzsys_app_cloner', 'select', 'cla_insert_type', 'Type', 'nu6885af953ea5089', 260, 483, 132, 125, 20, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', '[\"INSERT\",\"INSERT IGNORE\", \"REPLACE\"]', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6886eafb1c75924', 'nuappcloner', 'zzzzsys_app_cloner', 'select', 'cla_opt_2_include', 'Include', 'nu6886eb368899b19', 460, 140, 51, 458, 379, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '1', 'SELECT TABLE_NAME, TABLE_NAME\nFROM INFORMATION_SCHEMA.TABLES\nWHERE TABLE_SCHEMA = DATABASE()\n AND TABLE_TYPE IN (\'BASE TABLE\', \'VIEW\')\n AND TABLE_NAME NOT LIKE \'zzzzsys%\';', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'nu-label-position=\"top\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6885d26a27a80ed', 'nuappcloner', 'zzzzsys_app_cloner', 'contentbox', 'contentbox_advanced_options', 'Database', 'nu6885af953ea554b', 280, 13, 29, 747, 200, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'Target Database', NULL, NULL, NULL, NULL, NULL), ('nu6885af953ea9421', 'nuappcloner', 'zzzzsys_app_cloner', 'input', 'cla_show_progress', 'Show Progress', 'nu6885af953ea554b', 380, 569, 202, 18, 22, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6885af953ea97e5', 'nuappcloner', 'zzzzsys_app_cloner', 'input', 'cla_dry_run', 'Dry Run (Test Mode)', 'nu6885af953ea5089', 270, 535, 246, 18, 22, '0', 'left', '0', '2', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6885af953ea9a41', 'nuappcloner', 'zzzzsys_app_cloner', 'select', 'cla_target_db_mode', 'Database Creation Mode', 'nu6885af953ea554b', 400, 52, 205, 175, 22, '0', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 'create|Create if not exists|\nfail|Fail if exists|\nclear|Clear if exists', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6885af953ea9da4', 'nuappcloner', 'zzzzsys_app_cloner', 'input', 'cla_transaction_mode', 'Use Transactions', 'nu6885af953ea554b', 310, 170, 205, 18, 22, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6885af953eaa02d', 'nuappcloner', 'zzzzsys_app_cloner', 'input', 'cla_log_file', 'Log File Path', 'nu6885af953ea554b', 320, 201, 205, 540, 20, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, 'placeholder=\"/path/to/clone.log (optional)\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO `zzzzsys_object` (`zzzzsys_object_id`, `sob_all_zzzzsys_form_id`, `sob_all_table`, `sob_all_type`, `sob_all_id`, `sob_all_label`, `sob_all_zzzzsys_tab_id`, `sob_all_order`, `sob_all_top`, `sob_all_left`, `sob_all_width`, `sob_all_height`, `sob_all_cloneable`, `sob_all_align`, `sob_all_validate`, `sob_all_access`, `sob_all_access_condition`, `sob_all_event`, `sob_all_style_type`, `sob_all_style`, `sob_calc_formula`, `sob_calc_format`, `sob_run_zzzzsys_form_id`, `sob_run_filter`, `sob_run_method`, `sob_run_target`, `sob_run_type`, `sob_run_id`, `sob_display_sql`, `sob_display_procedure`, `sob_select_multiple`, `sob_select_2`, `sob_select_sql`, `sob_select_procedure`, `sob_lookup_code`, `sob_lookup_description`, `sob_lookup_description_width`, `sob_lookup_autocomplete`, `sob_lookup_zzzzsys_form_id`, `sob_lookup_javascript`, `sob_lookup_php`, `sob_lookup_table`, `sob_subform_zzzzsys_form_id`, `sob_subform_foreign_key`, `sob_subform_add`, `sob_subform_delete`, `sob_subform_type`, `sob_subform_table`, `sob_input_count`, `sob_input_format`, `sob_input_type`, `sob_input_icon`, `sob_input_javascript`, `sob_input_datalist`, `sob_input_attribute`, `sob_input_file_target`, `sob_html_code`, `sob_html_chart_type`, `sob_html_javascript`, `sob_html_title`, `sob_html_vertical_label`, `sob_html_horizontal_label`, `sob_image_zzzzsys_file_id`, `sob_all_json`, `sob_json`) VALUES ('nu6885af953eaa318', 'nuappcloner', 'zzzzsys_app_cloner', 'input', 'cla_database_collation', 'Database Collation', 'nu6885af953ea554b', 330, 83, 205, 300, 20, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, '[\n \"utf8mb4_unicode_ci\",\n \"utf8mb4_general_ci\",\n \"utf8mb4_0900_ai_ci\",\n \"utf8mb4_bin\",\n \"utf8_unicode_ci\",\n \"utf8_general_ci\",\n \"utf8_bin\",\n \"latin1_swedish_ci\",\n \"latin1_general_ci\",\n \"latin1_bin\",\n \"ascii_general_ci\",\n \"ascii_bin\",\n \"ucs2_general_ci\",\n \"ucs2_bin\",\n \"utf16_general_ci\",\n \"utf16_bin\",\n \"utf32_general_ci\",\n \"utf32_bin\"\n]\n', 'placeholder=\"utf8mb4_unicode_ci\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6885af953eaa6f5', 'nuappcloner', 'zzzzsys_app_cloner', 'textarea', 'cla_excluded_files', 'Excluded Files', 'nu6885af953ea554b', 360, 308, 202, 540, 103, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'placeholder=\"Comma-separated list of files to exclude\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6885af953eaa9bc', 'nuappcloner', 'zzzzsys_app_cloner', 'textarea', 'cla_excluded_dirs', 'Excluded Directories', 'nu6885af953ea554b', 370, 425, 202, 540, 103, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'placeholder=\"Comma-separated list of directories to exclude\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6885ddbdb29e346', 'nuappcloner', 'zzzzsys_app_cloner', 'input', 'cla_opt_7', 'Procedures', 'nu6885af953ea5089', 230, 359, 739, 18, 22, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6885ddcaad89708', 'nuappcloner', 'zzzzsys_app_cloner', 'input', 'cla_opt_8', 'Triggers', 'nu6885af953ea5089', 240, 330, 920, 18, 22, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6885ddd993eaec8', 'nuappcloner', 'zzzzsys_app_cloner', 'input', 'cla_opt_9', '|Events', 'nu6885af953ea5089', 250, 359, 920, 18, 22, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6885f95aaae86b6', 'nuappcloner', 'zzzzsys_app_cloner', 'contentbox', 'cla_contentbox_general', 'General', 'nu6885af953ea5089', 70, 10, 33, 958, 40, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'Target Database', NULL, NULL, NULL, NULL, NULL), ('nu6885f973ac7f703', 'nuappcloner', 'zzzzsys_app_cloner', 'input', 'cla_code', 'Code', 'nu6885af953ea5089', 80, 41, 185, 200, 20, '0', 'left', '3', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, 'title=\"Unique Identifier\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6885f98746ff882', 'nuappcloner', 'zzzzsys_app_cloner', 'input', 'cla_description', 'Description', 'nu6885af953ea5089', 90, 41, 558, 385, 20, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu688f7fd8847330f', 'nuappcloner', 'zzzzsys_app_cloner', 'contentbox', 'cla_data_content_contentbox', 'Data Content', 'nu6885af953ea5089', 50, 291, 320, 260, 120, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'Clone Options', NULL, NULL, NULL, NULL, NULL), ('nu6886eb1bb5d9ee2', 'nuappcloner', 'zzzzsys_app_cloner', 'input', 'cla_includ_select_all_button', '', 'nu6886eb368899b19', 420, 73, 52, 35, 23, '1', 'center', '0', '0', NULL, '1', 'Class', '-nuButton nuToolButton', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'N|$ 1,000.00', 'button', 'fa-regular fa-square-check', NULL, NULL, 'title=\"Select all\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6886ec5f4c9072b', 'nuappcloner', 'zzzzsys_app_cloner', 'contentbox', 'cla_contentbox_user_table_views', 'Include user tables and views', 'nu6886eb368899b19', 410, 10, 33, 979, 550, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'Target Database', NULL, NULL, NULL, NULL, NULL), ('nu6886ee5338fb4ac', 'nuappcloner', 'zzzzsys_app_cloner', 'input', 'cla_include_unselect_all_button', '', 'nu6886eb368899b19', 440, 73, 100, 35, 23, '1', 'center', '0', '0', NULL, '1', 'Class', '-nuButton nuToolButton', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'N|$ 1,000.00', 'button', 'fa-regular fa-square', NULL, NULL, 'title=\"Unselect all\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6886fc0e228c9f9', 'nuappcloner', 'zzzzsys_app_cloner', 'input', 'cla_copy_files', 'Copy', 'nu6885af953ea5089', 140, 222, 152, 18, 22, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, 'data-nu-copy-files', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6887511e5689d14', 'nuprocedure', 'zzzzsys_php', 'input', 'sph_javascript_active', 'Active', 'nu68874e7a14a63ee', 210, 19, 852, 16, 22, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '1', '0|Procedure|\n1|Run->Procedure', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu68874ed2b0489d7', 'nuprocedure', 'zzzzsys_php', 'textarea', 'sph_javascript', '', 'nu68874e7a14a63ee', 200, 47, 99, 764, 501, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'spellcheck=false, data-nu-mobile-max-width=350px', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6887f41bb42437f', 'nuprocedure', 'zzzzsys_php', 'html', 'icon_include_js', '', 'nu68874e7a14a63ee', 190, 53, 38, 43, 39, '1', 'left', '0', '0', NULL, '0', 'CSS', 'background-size: 40px 37px;', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', '
', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu688ba5aa8781631', 'nuprocedure', 'zzzzsys_php', 'input', 'sph_run_hidden_btn', 'Hidden', 'nu5bad6cb36b27343', 170, 205, 281, 130, 24, '1', 'center', '0', '0', NULL, '1', 'Class', 'nuQuickButton', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', 'fa-solid fa-eye-slash', NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu688ba64050cec1c', 'nuprocedure', 'zzzzsys_php', 'input', 'sph_run_window_btn', 'New tab', 'nu5bad6cb36b27343', 180, 205, 421, 130, 24, '1', 'center', '0', '0', NULL, '1', 'Class', 'nuQuickButton', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', 'fa-solid fa-eye-slash', NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu688f808b283498c', 'nuappcloner', 'zzzzsys_app_cloner', 'contentbox', 'cla_programmatic_element_contentbox', 'Programmatic Elements', 'nu6885af953ea5089', 30, 291, 600, 391, 120, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'Clone Options', NULL, NULL, NULL, NULL, NULL), ('nu688f80d72bf7728', 'nuappcloner', 'zzzzsys_app_cloner', 'contentbox', 'cla_insert_options_contentbox', 'Insert Options', 'nu6885af953ea5089', 20, 442, 33, 260, 60, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'Clone Options', NULL, NULL, NULL, NULL, NULL), ('nu688f9fb86bbee39', 'nuappcloner', 'zzzzsys_app_cloner', 'select', 'cla_opt_2_exclude', 'Exclude', 'nu6886eb368899b19', 470, 140, 533, 458, 379, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '1', 'SELECT TABLE_NAME, TABLE_NAME\nFROM INFORMATION_SCHEMA.TABLES\nWHERE TABLE_SCHEMA = DATABASE()\n AND TABLE_TYPE IN (\'BASE TABLE\', \'VIEW\')\n AND TABLE_NAME NOT LIKE \'zzzzsys%\';', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'nu-label-position=\"top\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu688fa04c87b4359', 'nuappcloner', 'zzzzsys_app_cloner', 'input', 'cla_exclude_select_all_button', '', 'nu6886eb368899b19', 430, 73, 533, 35, 23, '1', 'center', '0', '0', NULL, '1', 'Class', '-nuButton nuToolButton', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'N|$ 1,000.00', 'button', 'fa-regular fa-square-check', NULL, NULL, 'title=\"Select all\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu688fa07d9e392fc', 'nuappcloner', 'zzzzsys_app_cloner', 'input', 'cla_exclude_unselect_all_button', '', 'nu6886eb368899b19', 450, 73, 581, 35, 23, '1', 'center', '0', '0', NULL, '1', 'Class', '-nuButton nuToolButton', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'N|$ 1,000.00', 'button', 'fa-regular fa-square', NULL, NULL, 'title=\"Unselect all\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6892ac6ce866d56', 'nuappcloner', 'zzzzsys_app_cloner', 'select', 'cla_copy_files_mode', 'Copy Files Mode', 'nu6885af953ea554b', 390, 280, 202, 175, 22, '0', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 'create|Create if not exists|\nfail|Fail if exists|\nclear|Clear if exists', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), ('nu6892af28283443b', 'nuappcloner', 'zzzzsys_app_cloner', 'contentbox', 'contentbox_advanced_folders_files', 'Folder & Files', 'nu6885af953ea554b', 300, 240, 29, 747, 288, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'Target Database', NULL, NULL, NULL, NULL, NULL), ('nu6892afe1cee71a8', 'nuappcloner', 'zzzzsys_app_cloner', 'contentbox', 'contentbox_advanced_others', '', 'nu6885af953ea554b', 290, 538, 29, 747, 40, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'Target Database', NULL, NULL, NULL, NULL, NULL); -- -------------------------------------------------------- -- -- Table structure for table `zzzzsys_permission_item` -- CREATE TABLE `zzzzsys_permission_item` ( `zzzzsys_permission_item_id` varchar(25) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL, `pme_description` text, `pme_group` varchar(50) DEFAULT NULL, `pme_ident` varchar(50) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3; -- -------------------------------------------------------- -- -- Table structure for table `zzzzsys_php` -- CREATE TABLE `zzzzsys_php` ( `zzzzsys_php_id` varchar(25) NOT NULL, `sph_code` varchar(300) DEFAULT NULL, `sph_description` varchar(300) DEFAULT NULL, `sph_group` varchar(100) DEFAULT NULL, `sph_category` varchar(100) DEFAULT NULL, `sph_status` varchar(1) DEFAULT NULL, `sph_php` longtext, `sph_javascript` text CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci, `sph_javascript_active` varchar(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL, `sph_run` varchar(20) DEFAULT NULL, `sph_zzzzsys_form_id` varchar(25) DEFAULT NULL, `sph_system` varchar(1) DEFAULT NULL, `sph_global` varchar(1) DEFAULT '0', `sph_demo` varchar(1) DEFAULT '1', `sph_template` varchar(1) NOT NULL DEFAULT '0', `sph_hide` varchar(1) DEFAULT NULL, `sph_json` mediumtext ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3; -- -- Dumping data for table `zzzzsys_php` -- INSERT INTO `zzzzsys_php` (`zzzzsys_php_id`, `sph_code`, `sph_description`, `sph_group`, `sph_category`, `sph_status`, `sph_php`, `sph_javascript`, `sph_javascript_active`, `sph_run`, `sph_zzzzsys_form_id`, `sph_system`, `sph_global`, `sph_demo`, `sph_template`, `sph_hide`, `sph_json`) VALUES ('nu5bad6cb329dcb6e_AB', 'nu5bad6cb329dcb6e_AB', 'System PHP', 'nubuilder', NULL, '1', '$s = \"\n SELECT *\n FROM zzzzsys_tab\n JOIN zzzzsys_form ON zzzzsys_form_id = syt_zzzzsys_form_id\n WHERE zzzzsys_tab_id = \'#LOOKUP_RECORD_ID#\'\n \";\n\n$t = nuRunQuery($s);\n$c = db_num_rows($t);\nif ($c == 1) {\n $r = db_fetch_object($t);\n}\n\nnuSetFormValue(\'sob_all_zzzzsys_form_id\', $c == 1 ? $r->syt_zzzzsys_form_id: \'\');\nnuSetFormValue(\'sob_all_table\', $c == 1 ? $r->sfo_table: \'\');', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL), ('nu5bad6cb32c9102c_AB', 'nu5bad6cb32c9102c_AB', 'System PHP', 'nubuilder', NULL, '1', '$s = \"\n SELECT * \n FROM zzzzsys_form\n WHERE zzzzsys_form_id = \'#LOOKUP_RECORD_ID#\'\n \n \";\n\n$t = nuRunQuery($s);\n$c = db_num_rows($t);\nif ($c == 1) {$r = db_fetch_object($t); }\n\n\nnuSetFormValue(\'sob_subform_table\', $c == 1 ? $r->sfo_table: \'\');', NULL, NULL, '', '', '1', '0', '1', '0', '', NULL), ('nu5bad6cb32d22215_AB', 'nu5bad6cb32d22215_AB', 'System PHP', 'nubuilder', NULL, '1', '$lu = nuLookupRecord();\n\n// run not accessible when using temp tables\n// $runType = empty($lu->run) ? \'\' : substr($lu->run, 0, 1);\n// Workaround:\n$runType = nuRunType(\'\', $lu->ID);\nnuSetFormValue(\'sob_run_type\', $runType);', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL), ('nu5bad6cb32dcbcb4_AB', 'nu5bad6cb32dcbcb4_AB', 'System PHP', 'nubuilder', NULL, '1', '\n$s = \"\n SELECT * \n FROM zzzzsys_form\n WHERE zzzzsys_form_id = \'#LOOKUP_RECORD_ID#\'\n \n \";\n\n$t = nuRunQuery($s);\n\nif (db_num_rows($t) == 1) {\n $r = db_fetch_object($t);\n nuSetFormValue(\'sob_lookup_table\', $r->sfo_table);\n} \n \n', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL), ('nu5bad6cb33715015_AB', 'nu5bad6cb33715015_AB', 'System PHP', 'nubuilder', NULL, '1', '$lu = nuLookupRecord();\n$type = $lu->sfo_type ?? \'\';\n\nif ($type !== \'launch\') {\n\n nuSetFormValue(\'slf_add_button\', \'1\');\n nuSetFormValue(\'slf_print_button\', \'1\');\n\n if ($type !== \'browse\') {\n nuSetFormValue(\'slf_save_button\', \'1\');\n nuSetFormValue(\'slf_clone_button\', \'1\');\n nuSetFormValue(\'slf_delete_button\', \'1\');\n }\n\n}', NULL, NULL, '', '', '1', '0', '1', '0', '', NULL), ('nu5f6fe8bd7ff850a', 'nu_csv_transfer', 'CSV Transfer', 'nubuilder', 'Database', '1', '$csvTransfer = \'#csv_transfer#\';\n\nif ($csvTransfer == \'export\') {\n nuToCSV(\'#csv_from#\', \'#csv_to#\', \'#csv_delimiter#\');\n} else if ($csvTransfer == \'import\') {\n nuFromCSV(\'#csv_from#\', \'#csv_to#\', \'#csv_delimiter#\', \'#csv_delete_after_import#\');\n}', NULL, NULL, 'window', 'nublank', '1', '0', '0', '0', '', NULL), ('nu5fdb22ce4a13271_AB', 'nu5fdb22ce4a13271_AB', 'System PHP', 'nubuilder', NULL, '1', 'nuSetFormValue(\'sfo_code_snippet_paste\', nuLookupRecord()->cot_source_code);', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL), ('nu5fdbb4226426ddb_AB', 'nu5fdbb4226426ddb_AB', 'System PHP', 'nubuilder', NULL, '1', 'nuSetFormValue(\'set_code_snippet_paste\', nuLookupRecord()->cot_source_code);', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL), ('nu5fdbd8ae17c40b9_AB', 'nu5fdbd8ae17c40b9_AB', 'System PHP', 'nubuilder', NULL, '1', 'nuSetFormValue(\'sob_code_snippet_paste\', nuLookupRecord()->cot_source_code);', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL), ('nu5fdbdaee571fbb3_AB', 'nu5fdbdaee571fbb3_AB', 'System PHP', 'nubuilder', NULL, '1', 'nuSetFormValue(\'sob_code_snippet_paste\', nuLookupRecord()->cot_source_code);', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL), ('nu5fdcef9a8e8c47c_AB', 'nu5fdcef9a8e8c47c_AB', 'System PHP', 'nubuilder', NULL, '1', 'nuSetFormValue(\'sfo_code_snippet_paste\', nuLookupRecord()->cot_source_code);', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL), ('nu5fde5c8f1e64a86_AB', 'nu5fde5c8f1e64a86_AB', 'System PHP', 'nubuilder', NULL, '1', 'nuSetFormValue(\'sse_code_snippet_paste\', nuLookupRecord()->cot_source_code);', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL), ('nu5fdefa3f19faf1e', 'nu_get_record', 'Edit Record Navigator: Get Next/Previous Primary Key', 'nubuilder', 'Browse', '1', '$eri = json_decode(base64_decode(\'#NU_EDIT_RECORD_INFO#\'));\n$pk = $eri->primary_key;\n$action = $eri->_action;\n\n$goto_pk = \"\";\n$cr = \"\";\n\nif ($action == \'next\' || $action == \'back\') {\n $t = nuRunQuery($eri->browse_sql);\n\n while ($r = db_fetch_object($t)) {\n\n if ($eri->record_id == $r->$pk) {\n if ($action == \"next\") {\n $r = db_fetch_object($t);\n $goto_pk = $r->$pk;\n break;\n }\n else {\n $goto_pk = $cr;\n break;\n }\n }\n\n $cr = $r->$pk;\n }\n}\n\n$j = \" onOpenRecord(\'$goto_pk\',\'$action\'); \";\n\nnuJavaScriptCallback($j);', NULL, NULL, 'hide', '', '1', '0', '1', '0', '', NULL), ('nu5fe07d3154346f7', 'nu_authentication_2fa_template', '2FA Authentication Send and Verify', 'nubuilder', '2FA', '1', '\nfunction nuGetEmail($adminEmail = \'\') {\n $u = nuUser();\n $email = $u->sus_email;\n if ($email == null) $email = $adminEmail;\n return $email;\n} \n\nfunction nuSendCodeByEmail($code) {\n $content = \'Your Code: \'.$code;\n $subject = \'nuBuilder Authentication Code\';\n $fromName = \'nubuilder\';\n $fromAddress = \'from@something.com\';\n $sendTo = nuGetEmail(\'\'); // Pass the globeadmin email address here \n\n nuSendEmail($sendTo, $fromAddress, $fromName, $content, \'$subject\', [], true);\n\n nuDisplayError(\"An email has been sent to the registered account. Subject = \'\".$subject.\"\'\");\n}\n\n$command = ! isset($nuauthcommand) ? \"#nuauthcommand#\" : $nuauthcommand;\n\n$u = (nuHash()[\'GLOBAL_ACCESS\'] == \'1\' ? $_SESSION[\'nubuilder_session_data\'][\'GLOBEADMIN_NAME\'] : nuUser()->zzzzsys_user_id);\n\nif ($command == \'auth_check\') { // Check if the token is valid\n \n $auth2FACheck = $nuAuthCheck(get_defined_vars(), 3600); // Token validated less than 1 hour ago\n\n} elseif ($command == \'send\') { // Generate and send the token \n \n $token = nuGenerateToken(7); // Generate a random string of length 7\n \n nuSet2FAToken($token); // Store the token in the session\n nuSet2FAVerifiedTime(); \n nuOutput2FATokenToConsole($token); // For testing purposes, output the token to the developer console\n\n //nuSendCodeByEmail($token); // Send the token by email. \n \n} elseif ($command == \'verify\') { // Verify if the entered token is valid\n\n // next line is causing an error\n $tokenExpired = nuAuthGetElapsedTime(nuGet2FATokenSentTime($u)) > 300; // Sent token valid for 5 min (300 s)\n \n if (nuTokenMatches(\"#auth_code_verify#\", $u) && ! $tokenExpired) { // Entered token matches and token is not expired\n nuSetAuthenticated(\"#auth_code_verify#\");\n } else {\n nuShow2FAAuthenticationError();\n }\n \n}\n', NULL, NULL, 'hide', '', '0', '1', '1', '1', '', NULL), ('nu5fe94c6815842ec_AB', 'nu5fe94c6815842ec_AB', 'System PHP', 'nubuilder', NULL, '1', 'nuSetFormValue(\'sph_code_snippet_paste\', nuLookupRecord()->cot_source_code);', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL), ('nu5fee06b1acbe4bb', 'nu_backup', 'Create a Database Backup using mysqldump', 'nubuilder', 'Backup', '1', '// Use the correct namespace\nuse Ifsnop\\Mysqldump\\Mysqldump;\n\n// Get the JSON settings passed from JS via the \'params\' property\n$params = nuGetProperty(\'NUBACKUP_params\');\n$settings = $params ? nuDecode($params)[\'settings\'] : [];\n\n// Call backup process using the decoded settings\nnuBackupRun($settings);\n\nfunction nuBackupRun($settings) {\n\n nuBackupLoadMysqldumpLibrary(\'../third_party/mysqldump/Mysqldump.php\');\n\n // Extract values with defaults using null coalescing operator\n $directory = $settings[\'directory\'] ?? \'\';\n $fileName = $settings[\'fileName\'] ?? \'\';\n $includeTables = $settings[\'include-tables\'] ?? [];\n $excludeTables = $settings[\'exclude-tables\'] ?? [];\n $includeViews = $settings[\'include-views\'] ?? [];\n $nuRecordsFilter = $settings[\'nuRecordsFilter\'] ?? \'\'; // nu, user, empty = all (default)\n unset($settings[\'nuRecordsFilter\']);\n \n $nuTableFilter = $settings[\'nuTableFilter\'] ?? \'\'; // nu, user, empty = all (default)\n unset($settings[\'nuTableFilter\']);\n\n // Merge default dump settings with any settings passed from JS\n $dumpSettings = nuBackupBuildDumpSettings($settings);\n\n // Prepare the backup directory and filename\n $backupDirectory = nuBackupDirectory($directory);\n $backupFileName = nuBackupFileName($fileName, $dumpSettings);\n\n // Set which tables to include/exclude\n nuBackupSetTables($dumpSettings, $includeTables, $excludeTables, $includeViews, $nuTableFilter);\n\n $dumper = nuBackupCreateDumper($dumpSettings);\n\n $tableWheres = nuBackupBuildTableWheres($nuRecordsFilter);\n $dumper->setTableWheres($tableWheres);\n\n $backupDirectory = str_replace([\'/\', \'\\\\\'], DIRECTORY_SEPARATOR, $backupDirectory);\n $dumpFile = $backupDirectory . nuSanitizeFilename($backupFileName);\n nuBackupCreateDirectoryIfNotExists($backupDirectory);\n\n nuBackupStartDump($dumper, $dumpFile);\n\n nuBackupCompleteNotification($backupDirectory, $backupFileName);\n}\n\nfunction nuBackupFileExtension($dumpSettings) {\n if (!array_key_exists(\'compress\', $dumpSettings) || $dumpSettings[\'compress\'] === \'None\' || $dumpSettings[\'compress\'] === \'\') {\n return \'\';\n }\n return \'.\' . strtolower($dumpSettings[\'compress\']);\n}\n\nfunction nuBackupDirectory($directory) {\n // Use provided directory or default\n $backupDir = !empty($directory) ? $directory : \'../backup/\';\n\n // Ensure the directory exists\n if (!is_dir($backupDir)) {\n mkdir($backupDir, 0755, true);\n }\n\n // Define the path to index.htm\n $indexFile = rtrim($backupDir, \'/\\\\\') . \'/index.htm\';\n\n // If index.htm doesn\'t exist, create it with a hidden comment\n if (!file_exists($indexFile)) {\n $comment = \"\";\n file_put_contents($indexFile, $comment);\n }\n\n return $backupDir;\n}\n\nfunction nuBackupFileName($fileName, $dumpSettings) {\n // If fileName is provided, use it; otherwise generate a default filename\n $extension = nuBackupFileExtension($dumpSettings);\n\n return !empty($fileName)\n ? $fileName . $extension\n : date(\'Y-m-d_H:i:s\') . \'_\' . uniqid() . \'_nuBuilder_backup.sql\' . $extension;\n\n}\n\nfunction nuBackupBuildDumpSettings($settings = []) {\n\n $defaults = [\n \'single-transaction\' => false,\n \'no-create-info\' => false,\n \'lock-tables\' => false,\n \'add-locks\' => false,\n \'extended-insert\' => false,\n \'skip-definer\' => true,\n \'routines\' => true,\n \'events\' => true,\n \'compress\' => $settings[\'compress\'] ?? \'None\' // Mysqldump::NONE\n ];\n\n return array_merge($defaults, $settings);\n\n}\n\nfunction nuBackupLoadMysqldumpLibrary($path) {\n try {\n require_once($path);\n } catch (Exception $e) {\n nuDisplayError(\'require_once failed! Error: \' . $e->getMessage());\n }\n}\n\nfunction nuBackupCreateDumper($dumpSettings) {\n global $nuConfigDBHost,\n $nuConfigDBName,\n $nuConfigDBUser,\n $nuConfigDBPassword,\n $nuConfigDBPort;\n $nuConfigDBPort = $nuConfigDBPort ?? \'3306\';\n\n $dsn = \"mysql:host={$nuConfigDBHost};dbname={$nuConfigDBName};port={$nuConfigDBPort}\";\n return new Ifsnop\\Mysqldump\\Mysqldump($dsn, $nuConfigDBUser, $nuConfigDBPassword, $dumpSettings);\n}\n\nfunction nuBackupBuildTableWheres($nuRecordsFilter = \'\') {\n $tableWheres = [\n \"zzzzsys_session\" => \"zzzzsys_session_id not like \'s%\'\"\n ];\n\n if (in_array($nuRecordsFilter, [\'user\', \'nu\'])) {\n $sysTables = nuGetSysTables();\n $conditionFunction = ($nuRecordsFilter === \'user\') ? \'nuBackupTableIdNotLikeNu\' : \'nuBackupTableIdLikeNu\';\n foreach ($sysTables as $tableName) {\n if ($tableName !== \'zzzzsys_session\') {\n $tableWheres[$tableName] = $conditionFunction($tableName);\n }\n }\n }\n\n return $tableWheres;\n}\n\nfunction nuBackupTableIdNotLikeNu($tableName) {\n return \"{$tableName}_id not like \'nu%\'\";\n}\n\nfunction nuBackupTableIdLikeNu($tableName) {\n return \"{$tableName}_id like \'nu%\'\";\n}\n\nfunction nuBackupCreateDirectoryIfNotExists($directory) {\n if (!is_dir($directory)) {\n mkdir($directory, 0755, true);\n }\n}\n\nfunction nuBackupStartDump($dumper, $dumpFile) {\n try {\n $dumper->start($dumpFile);\n } catch (Exception $e) {\n nuDisplayError(\'Export Error: \' . $e->getMessage());\n }\n}\n\nfunction nuBackupCompleteNotification($backupDirectory, $backupFileName) {\n $encodedPath = base64_encode($backupDirectory . $backupFileName);\n $js = \"nuMessage([\'

Export completed!


SQL Dump saved in \' + atob(\'$encodedPath\')]);\";\n nuJavaScriptCallback($js);\n}\n\nfunction nuBackupSetTables(&$dumpSettings, $includeTables, $excludeTables, $includeViews, $nuTableFilter) {\n\n $dumpSettings[\"include-tables\"] = is_array($includeTables) ? $includeTables : [];\n $dumpSettings[\"exclude-tables\"] = is_array($excludeTables) ? $excludeTables : [];\n $dumpSettings[\"include-views\"] = is_array($includeViews) ? $includeViews : [];\n\n if ($nuTableFilter === \'nu\') {\n $dumpSettings[\"include-tables\"] = array_merge($dumpSettings[\"include-tables\"], nuGetSysTables());\n $dumpSettings[\"exclude-tables\"] = array_merge($dumpSettings[\"exclude-tables\"], nuGetUserTables());\n } else if ($nuTableFilter === \'user\') {\n $dumpSettings[\"exclude-tables\"] = array_merge($dumpSettings[\"exclude-tables\"], nuGetSysTables());\n $dumpSettings[\"include-tables\"] = array_merge($dumpSettings[\"exclude-tables\"], nuGetUserTables());\n }\n\n}', NULL, NULL, 'hide', '', '1', '0', '0', '0', '', NULL), ('nubuildtable_BB', 'nubuildtable_BB', 'System PHP', 'nubuilder', NULL, '1', '$select = \"\n SELECT\n CAST(CONCAT(\'PROCEDURE:\', `zzzzsys_php`.`zzzzsys_php_id`) AS CHAR CHARACTER SET utf8mb4) COLLATE utf8mb4_general_ci AS `zzzzsys_php_id`,\n CAST(`zzzzsys_php`.`sph_code` AS CHAR CHARACTER SET utf8mb4) COLLATE utf8mb4_general_ci,\n CAST(`zzzzsys_php`.`sph_description` AS CHAR CHARACTER SET utf8mb4) COLLATE utf8mb4_general_ci\n FROM `zzzzsys_php`\n WHERE\n (`zzzzsys_php`.`sph_system` <> \'1\') \n AND (LOCATE(\'{TABLE_ID}\', `zzzzsys_php`.`sph_php`) > \'0\') \n AND (`zzzzsys_php`.`sph_template` <> 1)\n \n UNION\n \n SELECT\n CAST(CONCAT(\'SQL:\', `zzzzsys_select`.`zzzzsys_select_id`) AS CHAR CHARACTER SET utf8mb4) COLLATE utf8mb4_general_ci AS `id`,\n CAST(\'nuSQL\' AS CHAR CHARACTER SET utf8mb4) COLLATE utf8mb4_general_ci,\n CAST(`zzzzsys_select`.`sse_description` AS CHAR CHARACTER SET utf8mb4) COLLATE utf8mb4_general_ci\n FROM `zzzzsys_select`\n WHERE\n (`zzzzsys_select`.`sse_system` IS NULL OR `zzzzsys_select`.`sse_system` = \'\')\n \n UNION\n \n SELECT\n CAST(CONCAT(\'TABLE:\', `TABLE_NAME`) AS CHAR CHARACTER SET utf8mb4) COLLATE utf8mb4_general_ci AS `id`,\n CAST(\'nuTABLE\' AS CHAR CHARACTER SET utf8mb4) COLLATE utf8mb4_general_ci,\n CAST(`TABLE_NAME` AS CHAR CHARACTER SET utf8mb4) COLLATE utf8mb4_general_ci\n FROM `information_schema`.`tables` \n WHERE \n `TABLE_SCHEMA` = DATABASE()\n AND `TABLE_NAME` NOT LIKE \'\\\\\\\\_%\' ESCAPE \'\\\\\\\\\'\n\";\n\n$select = str_replace(\"{TABLE_ID}\", \'#\'.\'TABLE_ID\'.\'#\', $select);\n\n$insert = \"\nINSERT INTO zzzzsys_report_data (\n `zzzzsys_report_data_id`,\n `srd_code`,\n `srd_description`)\n\".$select;\n\nnuRunQuery(\'DELETE FROM `zzzzsys_report_data`\');\nnuRunQuery($insert);\n', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL), ('nu5ff7efb1ed369a6', 'nu_refresh_select_object', 'Refresh a select object', 'nubuilder', 'Object', '1', 'function nuGetSelectValues($formId, $selectId) {\n\n $sql = \"\n SELECT\n sob_select_sql\n FROM\n `zzzzsys_object`\n WHERE\n sob_all_zzzzsys_form_id = ? AND sob_all_id = ?\n \";\n\n $t = nuRunQuery($sql, [$formId, $selectId]);\n\n $a = [];\n if (db_num_rows($t) == 1) {\n\n $r = db_fetch_row($t);\n if ($r != false) {\n \n $disS = nuReplaceHashVariables($r[0]);\n\n $t = nuRunQuery($disS);\n\n while ($row = db_fetch_row($t)) {\n $a[] = $row;\n }\n\n return json_encode($a);\n }\n\n }\n\n return false;\n\n}\n\nfunction nuPopulateSelectObject($formId, $selectId, $removeBlank, $prefix) {\n\n $j = nuGetSelectValues($formId, $selectId);\n\n $selectId = $prefix.$selectId;\n\n $cb = \"if (window.nuSelectObjectRefreshed) {\n nuSelectObjectRefreshed(\'$formId\', \'$selectId\', nuSelectObjectRefreshedCount);\n }\";\n\n if ($j == false) {\n \n return \"var count = -1; \".$cb;\n \n } else {\n \n return \"\n function nuPopulateSelectObject() {\n \n var p = $j;\n \n $(\'#$selectId\').empty();\n \n if (\'$removeBlank\' == \'0\' ) {\n $(\'#$selectId\').append(\'\');\n }\n \n var count = 0;\n \n if (p != \'\') {\n var s = nuIsSaved();\n \n for (var i = 0; i < p.length; i++) {\n $(\'#$selectId\').append(\'\');\n count ++;\n }\n \n if (s) { nuHasNotBeenEdited(); }\n \n }\n \n return count;\n }\n \n var nuSelectObjectRefreshedCount = nuPopulateSelectObject();\n\n \".$cb;\n }\n\n}\n\nfunction nu_refresh_select_object($selectId, $formIdHk, $removeBlank, $prefixHK) {\n\n if (!nuHasProperty($formIdHk, $formId, false)) {\n $formId = \'#form_id#\';\n }\n\n if (!nuHasProperty($prefixHK, $prefix, false)) {\n $prefix = \'\';\n }\n\n $js = nuPopulateSelectObject($formId, $selectId, $removeBlank, $prefix);\n nuJavaScriptCallback($js);\n\n}\n\nnu_refresh_select_object(\'#nu_refresh_select_object_selectid#\', \'nu_refresh_select_object_formid\', \'#nu_refresh_select_object_removeblank#\',\'nu_refresh_select_object_prefix\');', NULL, NULL, 'hide', '', '1', '1', '1', '0', '', NULL), ('nu5ff8249659aef00', 'nu_refresh_display_object', 'Refresh a display object', 'nubuilder', 'Object', '1', 'function nuGetDisplayValue($formId, $id) {\n\n $sql = \"SELECT sob_display_sql, sob_display_procedure FROM `zzzzsys_object` WHERE sob_all_zzzzsys_form_id = ? AND sob_all_id = ?\";\n $selectObject = nuRunQuery($sql, [$formId, $id]);\n\n if (db_num_rows($selectObject) == 1) {\n $obj = db_fetch_object($selectObject);\n\n if ($obj != false) {\n\n $displayProcedure = $obj->sob_display_procedure;\n\n if (empty($displayProcedure)) {\n\n $disS = nuReplaceHashVariables($obj->sob_display_sql);\n $disT = nuRunQuery($disS);\n\n if (db_num_rows($disT) >= 1) {\n $disR = db_fetch_row($disT);\n return $disR[0];\n } else {\n return \"\";\n }\n\n } else {\n\n $procedureCode = nuProcedure($displayProcedure);\n if ($procedureCode !== \'\') {\n return nuEval($displayProcedure, $procedureCode);\n } else {\n return false;\n }\n }\n }\n }\n\n return false;\n}\n\n\nfunction nuRefreshDisplayObject() {\n\n $HKPREFIX = \"nu_refresh_display_object_\";\n\n if (!nuHasProperty(\"{$HKPREFIX}displayid\", $displayId, false)) {\n return;\n }\n\n if (!nuHasProperty(\"{$HKPREFIX}formid\", $formId, false)) {\n $formId = \'#form_id#\';\n }\n\n if (!nuHasProperty(\"{$HKPREFIX}prefix\", $prefix, false)) {\n $prefix = \'\';\n }\n\n\n $value = nuGetDisplayValue($formId, $displayId);\n $displayId = $prefix.$displayId;\n\n if ($value === false && $value !== \'\') {\n $js = \"nuMessage(nuTranslate(\'Error\'), nuTranslate(\'Failed to refresh the Display Object:\') + \' $displayId\'); \";\n } else {\n\n $value = base64_encode(json_encode($value));\n\n $js = \"\n function nuRefreshDisplayObjectSetNewValue(displayId, value) {\n let obj = $(\'#\' + displayId);\n const format = obj.attr(\'data-nu-format\');\n const formattedValue = nuFORM.addFormatting(value, format);\n nuSetValue(displayId, formattedValue);\n }\n nuRefreshDisplayObjectSetNewValue(\'$displayId\', JSON.parse(atob(\'$value\')));\n if (window.nuDisplayObjectRefreshed) {\n nuDisplayObjectRefreshed(\'$displayId\', \'$formId\');\n }\n \";\n }\n\n nuJavaScriptCallback($js);\n\n}\n\nnuRefreshDisplayObject();', NULL, NULL, 'hide', '', '1', '1', '1', '0', '', NULL), ('nu6068bee1b6c63be', 'nu_run_add_db_column', 'Add a new database column', 'nubuilder', 'Database', '1', 'if (nuHash()[\'GLOBAL_ACCESS\'] == \'0\') return;\n\n$sql = \'ALTER TABLE `#sob_all_table#` ADD \' . \'#sql_query#\';\n$after = \'#sql_after_column#\';\nif ($after != \'\') {\n $sql .= \" AFTER \" . $after;\n}\n\nif (preg_match(\'/DELETE |DROP |INSERT |;/\', strtoupper($sql))) {\n $r = -2;\n} else {\n $r = nuRunQuery($sql, [], true);\n}\n\nif ($r == 0) {\n $js = \"$.nuInfoBar.success(nuTranslate(\'The column has been created successfully\')); \n nuRefreshSelectObject(\'sql_after_column\'); \n parent.nuUpdateMessage(\'refresh_required\');\";\n} else if ($r == -1) {\n $js = \"$.nuInfoBar.error(nuTranslate(\'An error occurred while creating the column\') + \'. \' + nuTranslate(\'Check nuDebug Results for details\'));\";\n} else if ($r == -2) {\n $js = \"$.nuInfoBar.error(nuTranslate(\'An error occurred while creating the column\') + \'. \' + nuTranslate(\'The query contains invalid keywords\'));\";\n}\n\nnuJavaScriptCallback($js);', NULL, NULL, 'hide', '', '1', '0', '0', '0', '', NULL), ('nu60f3f621d215470', 'nu_set_refresh_cache', 'Set marker to Refresh Form, Table schema', 'nubuilder', 'Session', '1', 'require(\'../nuconfig.php\');\n\nnuSetJSONDataAll(\'REFRESH_CACHE\',\'1\');\n\n$js = \"\n\nnuGetBreadcrumb();\n\nfunction nuMsgCacheRefreshed() {\n nuMessage(nuTranslate(\'Information\'), nuTranslate(\'Cache Refreshed\'));\n}\nsetTimeout(nuMsgCacheRefreshed, 1000); \n\n\";\n\nnuJavaScriptCallback($js);\n\n', NULL, NULL, 'hide', '', '1', '0', '1', '0', '', NULL), ('nu60f8e2ea4d13aff', 'nu_import_users', 'Import users from a CSV file', 'nubuilder', 'User', '1', 'require_once(\'nusecurity.php\');\n\n$file = nuGetProperty(\'nu_import_users_file\');\n$delimiter = nuGetProperty(\'nu_import_users_delimiter\');\n\nnuImportUsersFromCSV(\"../temp/\".$file, $delimiter, \"\\n\");', NULL, NULL, 'window', NULL, '1', '0', '1', '0', '', NULL), ('nu610fd4ba4e73ede', 'nu_update_object', 'Update an Object\'s Properties', 'nubuilder', 'Object', '1', '$id = nuGetProperty(\'nu_update_object_id\');\n$value = nuGetProperty(\'nu_update_object_value\');\n$formId = nuGetProperty(\'nu_update_object_form_id\');\n$type = nuGetProperty(\'nu_update_object_type\');\n$column = nuGetProperty(\'nu_update_object_column\');\n$action = nuGetProperty(\'nu_update_object_action\');\n\nif ($action == \'move\') {\n\n $query = \"\n UPDATE\n `zzzzsys_object`\n SET\n `sob_all_zzzzsys_tab_id` = ?\n WHERE\n `sob_all_zzzzsys_form_id` = ? AND `sob_all_id` = ?\n \";\n\n nuRunQuery($query, [$column, $formId, $id]);\n\n $js = \"if (nuIsSaved()) {\n nuGetBreadcrumb();\n } else {\n nuUpdateMessage(\'refresh_required\');\n }\";\n \n nuJavaScriptCallback($js);\n \n return;\n \n}\n\nif ($action == \'delete\') {\n\n $backupSQL = nuBuildInsertSQL(\n \'zzzzsys_object\',\n \'`sob_all_zzzzsys_form_id` = ? AND `sob_all_id` = ?\',\n [$formId, $id]\n );\n\n nuDebug(\"Object $id Deleted in form $formId\", \"SQL to restore it:\", $backupSQL);\n\n if ($type == \'tab\') {\n // not in use yet\n\n $query = \"\n DELETE FROM `zzzzsys_tab`\n WHERE `zzzzsys_tab_id` = ?\n \";\n\n nuRunQuery($query, [$id]);\n\n } else if ($type == \'edit\') {\n\n $query = \"\n DELETE FROM `zzzzsys_object`\n WHERE `sob_all_zzzzsys_form_id` = ? AND `sob_all_id` = ?\n \";\n\n nuRunQuery($query, [$formId, $id]);\n\n } else {\n // not in use yet\n\n $query = \"\n DELETE FROM `zzzzsys_browse`\n WHERE `sbr_zzzzsys_form_id` = ? AND `sbr_order` = ?\n \";\n\n nuRunQuery($query, [$formId, $id]);\n\n }\n\n\n $js = \"nuHide(\'$id\')\";\n nuJavaScriptCallback($js);\n\n return;\n\n}\n\nif ($type == \'tab\') {\n\n $query = \"\n UPDATE `zzzzsys_tab`\n SET $column = ?\n WHERE `zzzzsys_tab_id` = ?\n \";\n\n nuRunQuery($query, [$value, $id]);\n\n} else if ($type == \'edit\') {\n\n $query = \"\n UPDATE `zzzzsys_object`\n SET $column = ?\n WHERE `sob_all_zzzzsys_form_id` = ? AND `sob_all_id` = ?\n \";\n\n nuRunQuery($query, [$value, $formId, $id]);\n\n} else {\n\n $query = \"\n UPDATE `zzzzsys_browse`\n SET `$column` = ?\n WHERE `sbr_zzzzsys_form_id` = ? AND `sbr_order` = ?\n \";\n\n nuRunQuery($query, [$value, $formId, $id]);\n\n}\n\nfunction nuBuildInsertSQL($table, $whereClause, $params) {\n \n $query = \"SELECT * FROM `$table` WHERE $whereClause\";\n $result = nuRunQuery($query, $params);\n\n if (db_num_rows($result) === 0) {\n return null;\n }\n\n $row = db_fetch_array($result);\n\n $columns = array_keys($row);\n\n $values = array_map(function ($v) {\n if (is_null($v)) {\n return \'NULL\';\n }\n return \"\'\" . addslashes($v) . \"\'\";\n },\n array_values($row));\n\n $colList = \'`\' . implode(\'`, `\',\n $columns) . \'`\';\n $valList = implode(\', \',\n $values);\n\n $insertSQL = \"INSERT INTO `$table` ($colList) VALUES ($valList);\";\n return $insertSQL;\n \n}', NULL, NULL, 'hide', NULL, '1', '0', '0', '0', '', NULL), ('nu61d8283e98e8b2e', 'nu_check_password_policy_template', 'Rules for enforcing Password policies', 'nubuilder', 'User', '1', 'function nuFATick($nok) {\n\n $icon = $nok == false ? \"far fa-check-circle\" : \"far fa-times-circle\";\n $color = $nok == false ? \"green\" : \"red\";\n return \"    \";\n\n}\n\nfunction nuCheckPasswordPolicy() {\n\n $oldpw = \'#old_password#\';\n $newpw = \'#new_password#\';\n\n $atLeast = nuTranslate(\"Your New Password must contain at least\").\":\";\n $msg = \'\';\n $c = 0;\n\n $check = strlen($newpw) < 8;\n if ($check == true) $c++;\n $msg .= nuFATick($check) . nuTranslate(\"8 Characters\") . \"
\";\n\n $check = !preg_match(\"#[0-9]+#\", $newpw);\n if ($check == true) $c++;\n $msg .= nuFATick($check) . nuTranslate(\"1 Number\") . \"
\";\n\n $check = !preg_match(\"#[A-Z]+#\", $newpw);\n if ($check == true) $c++;\n $msg .= nuFATick($check) . nuTranslate(\"1 Capital Letter\") . \"
\";\n\n $check = !preg_match(\"#[a-z]+#\", $newpw);\n if ($check == true) $c++;\n $msg .= nuFATick($check) . nuTranslate(\"1 Lowercase Letter\") . \"
\";\n\n $check = !preg_match(\'/[\\\'\\/~`\\!@#\\$%\\^&\\*\\(\\)_\\-\\+=\\{\\}\\[\\]\\|;:\"\\<\\>,\\.\\?\\\\\\]/\', $newpw);\n if ($check == true) $c++;\n $msg .= nuFATick($check) . nuTranslate(\"1 Special Character\") . \"
\";\n\n if ($msg != $atLeast) $msg = $atLeast . \"

\" . $msg;\n\n if ($newpw === $oldpw) {\n $msg .= \"
\" . nuFATick(true) . nuTranslate(\"The provided New Password cannot be the same as the Current Password\") . \"
\";\n $c++;\n }\n\n if ($c > 0) {\n nuDisplayError($msg);\n return false;\n } else {\n return true;\n }\n\n}\n\n$check = nuCheckPasswordPolicy();', NULL, NULL, 'hide', '', '0', '1', '1', '1', '', NULL), ('nu61eceada0768c21', 'nu_change_password', 'Change user password', 'nubuilder', 'User', '1', '$oldPassword = \'#old_password#\';\n$newPasswordCheck = \'#new_password_check#\';\n$newPassword = \'#new_password#\';\n$session = \'#SESSION_ID#\';\n$userId = \"#USER_ID#\";\n\n\n\n//--\n\n$s = \"\n SELECT sss_access\n FROM zzzzsys_session\n WHERE zzzzsys_session_id = ?\n\";\n\n$t = nuRunQuery($s, [$session]);\n$r = db_fetch_object($t);\n$j = json_decode($r->sss_access);\n\n//--\n\n$s = \"\n SELECT\n sus_login_password,\n sus_change_password\n FROM zzzzsys_user\n WHERE zzzzsys_user_id = ?\n\";\n\n$t = nuRunQuery($s, [$userId]);\n$r = db_fetch_object($t);\n$current = $r->sus_login_password;\n$changePassword = $r->sus_change_password;\n\n$useMd5 = $_SESSION[\'nubuilder_session_data\'][\'USE_MD5_PASSWORD_HASH\'] == true;\n\nif ($useMd5) {\n $check = md5($oldPassword) == $current;\n} else {\n $check = password_verify($oldPassword, $current);\n}\n\nif ($check == false) {\n nuDisplayError(\'

\' . nuTranslate(\'Error\') . \'

\' . nuTranslate(\'Incorrect Password\'));\n return;\n}\n\nif ($oldPassword == $newPassword) {\n\n nuDisplayError(\'

\' . nuTranslate(\'Error\') . \'

\' . nuTranslate(\'Your new password cannot be the same as your old password\'));\n return;\n}\n\nif ($oldPassword === \'\' || $newPassword === \'\') {\n nuDisplayError(\'

\' . nuTranslate(\'Error\') . \'

\' . nuTranslate(\'The password cannot be left blank\'));\n return;\n}\n\n\n//--\n\n$p = nuProcedure(\'nu_check_password_policy\');\n\nif ($p != \'\') {\n\n eval($p);\n\n if ($check == false) {\n return;\n }\n\n}\n\n//--\n\nif ($newPassword == $newPasswordCheck) {\n\n $s = \"\n\n UPDATE zzzzsys_user\n SET\n sus_login_password = ?,\n sus_change_password = ?\n WHERE zzzzsys_user_id = ?\n \";\n\n $pwHash = $useMd5 == true ? md5($newPassword) : nuPasswordHash($newPassword);\n\n nuRunQuery($s, [$pwHash, \'0\', $userId]);\n\n nuSetUserJSONData(\'PASSWORD_CHANGED_TIME\', time(), $userId);\n nuSetUserJSONData(\'PASSWORD_CHANGED_SOURCE\', \'user\', $userId);\n\n\n\n if (nuObjKey($_SESSION[\'nubuilder_session_data\'], \'SESSION_CHANGE_PW_STATUS\') == \'PENDING\') {\n $_SESSION[\'nubuilder_session_data\'][\'SESSION_CHANGE_PW_STATUS\'] = \'CHANGED\';\n }\n\n $js = \"\n function nuMsgAfterPasswordChange() {\n if (\'$changePassword\' == \'1\') {\n nuLogout();\n }\n }\n nuMessage(nuTranslate(\'Information\'), nuTranslate(\'Your password has been successfully changed\'), 1500, nuMsgAfterPasswordChange);\n \";\n\n\n} else {\n $msg = nuTranslate(\'\"New Password\" must be the same as \"Confirm New Password\"\');\n $js = \"nuMessage(nuTranslate(\'Error\'), \'$msg\');\";\n}\n\n\nnuJavaScriptCallback($js);', NULL, NULL, 'hide', '', '1', '1', '1', '0', '', NULL), ('nu62afe0e1933ee3b_BE', 'nu62afe0e1933ee3b_BE', 'System PHP', 'nubuilder', NULL, '1', 'require_once(\'nusetuplibs.php\');\n\n$config = nuConfigScript();\n$configCode = $config[\'code\'];\n$configJS = $config[\'js\'];\n\n$configJS = $configJS == null ? \"\" : $configJS. \" \" . \"nuHide(\'nuconfigsettingsfromdb_hint\'); \";\n\n\nif ($configCode != null) {\n eval($config[\'code\']);\n}\n\nnuAddJavaScript($configJS);\n\n\nif (isset($_SESSION[\'nubuilder_session_data\'][\'USER_ADDITIONAL1_LABEL\']) && isset($nuConfigUserAdditional1Label)) {\n $_SESSION[\'nubuilder_session_data\'][\'USER_ADDITIONAL1_LABEL\'] = $nuConfigUserAdditional1Label;\n} \n\nif (isset($_SESSION[\'nubuilder_session_data\'][\'USER_ADDITIONAL2_LABEL\']) && isset($nuConfigUserAdditional2Label)) {\n $_SESSION[\'nubuilder_session_data\'][\'USER_ADDITIONAL2_LABEL\'] = $nuConfigUserAdditional2Label;\n}\n\nif (isset($_SESSION[\'nubuilder_session_data\'][\'USER_CODE_LABEL\']) && isset($nuConfigUserCodeLabel)) {\n $_SESSION[\'nubuilder_session_data\'][\'USER_CODE_LABEL\'] = $nuConfigUserCodeLabel;\n}\n\nnuAddJavaScript (\" \n nuSERVERRESPONSE.buttons.Clone = \'0\';\n nuSERVERRESPONSE.buttons.Delete = \'0\';\n\", true);', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL), ('nuauthentication_BE', 'nuauthentication_BE', 'System PHP', 'nubuilder', NULL, '1', '$devMode = nuReplaceHashVariables(\"#DEV_MODE#\");\n\n$t = $devMode == \'1\' ? \'_template\' : \'\';\n\n$p = nuProcedure(\'nu_authentication_2fa\'.$t); \n\nif($p != \'\') { \n eval($p); \n} else {\n nuDisplayError(nuTranslate(\'The Procedure nu_authentication_2fa does not exist.\')); \n}', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL), ('nucalcobjects_BB', 'nucalcobjects_BB', 'System PHP', 'nubuilder', NULL, '1', '$select = \"\n\n SELECT \n sob_all_zzzzsys_form_id AS theform,\n \'\' AS theparent,\n sob_all_id AS thechild,\n CONCAT(sob_all_id) as thevalue\n FROM zzzzsys_object \n WHERE sob_input_type = \'number\'\n OR sob_all_type = \'calc\'\n \n UNION \n \n SELECT \n su.sob_all_zzzzsys_form_id AS theform,\n su.sob_all_id AS theparent,\n inp.sob_all_id AS thechild,\n CONCAT(su.sob_all_id, \'.\', inp.sob_all_id) as thevalue\n FROM zzzzsys_object AS su\n JOIN zzzzsys_object AS inp ON su.sob_subform_zzzzsys_form_id = inp.sob_all_zzzzsys_form_id\n WHERE su.sob_all_type = \'subform\'\n AND (\n inp.sob_input_type = \'nuNumber\' OR \n inp.sob_input_type = \'number\' OR \n inp.sob_all_type = \'calc\'\n )\n\n\";\n \nnuCreateTableFromSelect(\'#TABLE_ID#\', $select);', NULL, NULL, '', '', '1', '0', '1', '0', '', NULL); INSERT INTO `zzzzsys_php` (`zzzzsys_php_id`, `sph_code`, `sph_description`, `sph_group`, `sph_category`, `sph_status`, `sph_php`, `sph_javascript`, `sph_javascript_active`, `sph_run`, `sph_zzzzsys_form_id`, `sph_system`, `sph_global`, `sph_demo`, `sph_template`, `sph_hide`, `sph_json`) VALUES ('nuclonerphp', 'nu_cloner', 'Clone Forms, Objects, Events, PHP etc.', 'nubuilder', 'Cloner', '1', 'function hashCookieSet($h) {\n return !(preg_match(\'/\\#(.*)\\#/\', $h) || trim($h) == \"\");\n}\n\nfunction pkWithoutEvent($pk) {\n return substr($pk, 0, -3);\n}\n\nfunction eventFromPk($pk) {\n return substr($pk, -3);\n}\n\nfunction lookupPk($arr, $key) {\n \n $a = array_column($arr, $key);\n return isset($a[0]) ? $a [0] : \'\';\n\n}\n\nfunction addToArray(array &$arr, $key, $value) {\n array_push($arr, [$key => $value]);\n}\n\nfunction getPk($pk) {\n return \"#cloner_new_pks#\" != \'0\' ? nuID() : $pk;\n}\n\nfunction getTabList() {\n\n $t = \"#cloner_tabs#\";\n return !hashCookieSet($t) || strlen($t) < 3 ? \"\" : implode(\',\', json_decode($t));\n\n}\n\nfunction getSubformList() {\n\n $t = \"#cloner_subforms#\";\n return !hashCookieSet($t) || strlen($t) < 3 ? \"\" : \"\'\".implode(\"\',\'\", json_decode($t)).\"\'\";\n\n}\n\nfunction getIframeFormList() {\n\n $t = \"#cloner_iframe_forms#\";\n return !hashCookieSet($t) || strlen($t) < 3 ? \"\" : \"\'\".implode(\"\',\'\", json_decode($t)).\"\'\";\n\n}\n\nfunction getFormSource(&$f1) {\n\n $f1 = \"#cloner_form_source#\";\n if (!hashCookieSet($f1)) {\n $f1 = \"#form_id#\";\n return true;\n }\n\n return formExists($f1);\n\n}\n\nfunction getFormDestination(&$f2) {\n\n $f2 = \"#cloner_form_dest#\";\n if (!hashCookieSet($f2)) {\n $f2 = \"\";\n return true;\n }\n\n return formExists($f2);\n\n}\n\nfunction formSQL() {\n return \"SELECT * FROM zzzzsys_form WHERE zzzzsys_form_id = ? LIMIT 1\";\n}\n\nfunction formExists($f) {\n\n $t = nuRunQuery(formSQL(), [$f]);\n return db_num_rows($t) == 1;\n\n}\n\nfunction echoPlainText($val) {\n\n echo \'
\';\n    echo htmlspecialchars($val);\n    echo \'
\';\n\n}\n\nfunction dumpFormInfo($f, $dump) {\n\n if ($dump != \'1\') return;\n\n $fi = getFormInfo($f);\n echo \"\";\n echo \"-- nuBuilder cloner SQL Dump \" . \"
\";\n echo \"-- Version 1.21 \" . \"
\";\n echo \"-- Generation Time: \" . date(\"F d, Y h:i:s A\") . \"

\";\n echo \"-- Form Description: \" . $fi[\"description\"] . \"
\";\n echo \"-- Form Code: \" . $fi[\"code\"] . \"
\";\n echo \"-- Form Table: \" . $fi[\"table\"] . \"
\";\n echo \"-- Form Type: \" . $fi[\"type\"] . \"

\";\n\n $notes = \"#cloner_notes#\";\n echo hashCookieSet($notes) ? \"-- Notes: \" . $notes . \"
\" . \"
\" : \"\";\n echo \"
\";\n\n}\n\nfunction createStatement($table, $columns, $row) {\n\n $params = array_map(function ($val) {\n return \"?\";\n }\n , $row);\n\n return getStatement() . \"$table (\" . implode(\', \', $columns) . \") VALUES ( \" . implode(\" , \", $params) . \" ) \";\n\n}\n\nfunction echoHeader($header) {\n\n echo \"
--
\";\n echo \"-- \" . $header . \"
\";\n echo \"--

\";\n \n}\n\nfunction getStatement() {\n return \"#cloner_replace_into#\" == \'1\' ? \'REPLACE INTO \' : \'INSERT INTO \';\n}\n\nfunction dumpStatement($table, $row, &$first, $ident) {\n\n $values = join(\', \', array_map(function ($value) {\n return $value === null ? \'NULL\' : db_quote($value);\n }\n , $row));\n\n if (!isset($first)) {\n $ident = $ident == \'\' ? \'\' : \': \'. $ident;\n echoHeader($table. $ident);\n $first = false;\n }\n\n echoPlainText(getStatement() . \"$table (\" . implode(\', \', array_keys($row)) . \") \");\n echoPlainText(\"VALUES ( \" . $values . \" ); \");\n\n}\n\n\nfunction writeRecord($table, $row, &$first, $ident) {\n\n if (\"#cloner_dump#\" == \'1\') {\n dumpStatement($table, $row, $first, $ident);\n }\n else {\n $i = createStatement($table, array_keys($row) , $row);\n nuRunQuery($i, array_values($row) , true);\n }\n\n}\n\nfunction getFormType($f) {\n\n $t = nuRunQuery(formSQL() , [$f]);\n $row = db_fetch_array($t);\n\n return $row[\'sfo_type\'];\n\n}\n\nfunction getFormInfo($f) {\n\n $t = nuRunQuery(formSQL() , [$f]);\n $row = db_fetch_object($t);\n\n return [\n \"code\" => $row->sfo_code,\n \"description\" => $row->sfo_description,\n \"type\" => $row->sfo_type,\n \"table\" => $row->sfo_table\n ];\n\n}\n\nfunction getNewFormCode($code) {\n\n if (\"#cloner_new_pks#\" == \'0\') {\n return $code;\n } else { \n $s = \"SELECT COUNT(zzzzsys_form_id) + 1 FROM zzzzsys_form WHERE sfo_code LIKE ?\";\n $t = nuRunQuery($s, [$code . \'_clone%\']);\n $r = db_fetch_row($t);\n return $code . \'_clone_\' . $r[0];\n }\n\n}\n\nfunction cloneForm($f1) {\n\n $t = nuRunQuery(formSQL(), [$f1]);\n $row = db_fetch_array($t);\n\n $newPk = getPk($row[\'zzzzsys_form_id\']);\n $row[\'zzzzsys_form_id\'] = $newPk;\n $row[\'sfo_code\'] = getNewFormCode($row[\'sfo_code\']);\n\n writeRecord(\'zzzzsys_form\', $row, $first, $row[\'sfo_code\']);\n\n return $newPk;\n\n}\n\nfunction cloneFormPHP($f1, $f2) {\n\n $s = \"\n SELECT\n zzzzsys_php.*\n FROM\n zzzzsys_php\n LEFT JOIN zzzzsys_form ON zzzzsys_form_id = LEFT(zzzzsys_php_id, LENGTH(zzzzsys_php_id) - 3)\n WHERE\n zzzzsys_form_id = ?\n \";\n\n $t = nuRunQuery($s, [$f1]);\n\n while ($row = db_fetch_array($t)) {\n\n $event = eventFromPk($row[\'zzzzsys_php_id\']);\n $row[\'zzzzsys_php_id\'] = $f2 . $event;\n $row[\'sph_code\'] = $f2 . $event;\n\n writeRecord(\'zzzzsys_php\', $row, $first, \'\');\n\n }\n\n}\n\nfunction cloneFormTabs($f1, $f2, $postifx = \'\') {\n\n $tabPks = [];\n \n $s = \"SELECT * FROM zzzzsys_tab AS tab1 WHERE syt_zzzzsys_form_id = ?\".whereTabs();\n $t = nuRunQuery($s, [$f1]);\n\n while ($row = db_fetch_array($t)) {\n\n $newPk = getPk($row[\'zzzzsys_tab_id\']);\n addToArray($tabPks, $row[\'zzzzsys_tab_id\'], $newPk);\n $row[\'zzzzsys_tab_id\'] = $newPk;\n $row[\'syt_title\'] = $row[\'syt_title\'].$postifx;\n $row[\'syt_zzzzsys_form_id\'] = $f2;\n\n writeRecord(\'zzzzsys_tab\', $row, $first, \'\');\n\n }\n\n return $tabPks;\n\n}\n\nfunction cloneFormBrowse($f1, $f2) {\n\n $s = \"SELECT * FROM zzzzsys_browse WHERE sbr_zzzzsys_form_id = ?\";\n $t = nuRunQuery($s, [$f1]);\n\n while ($row = db_fetch_array($t)) {\n\n $newPk = getPk($row[\'zzzzsys_browse_id\']);\n $row[\'zzzzsys_browse_id\'] = $newPk;\n $row[\'sbr_zzzzsys_form_id\'] = $f2;\n\n writeRecord(\'zzzzsys_browse\', $row, $first, \'\');\n\n }\n\n}\n\nfunction whereTabs() {\n \n $tabs = getTabList();\n \n return $tabs != \'\' ? \" AND tab1.syt_order DIV 10 IN ($tabs) \" : \"\";\n \n}\n\n\nfunction getTabIds($f1, $f2) {\n\n $s = \" \n SELECT\n tab1.zzzzsys_tab_id AS tab1,\n tab2.zzzzsys_tab_id AS tab2\n FROM\n zzzzsys_tab AS tab1\n LEFT JOIN zzzzsys_tab AS tab2\n ON\n tab1.syt_order = tab2.syt_order\n WHERE\n tab1.syt_zzzzsys_form_id = ? AND tab2.syt_zzzzsys_form_id = ? \n \".whereTabs();\n\n $t = nuRunQuery($s, [$f1, $f2]);\n\n $tabPks = [];\n while ($r = db_fetch_object($t)) {\n addToArray($tabPks, $r->tab1, $r->tab2);\n }\n\n return $tabPks;\n\n}\n\nfunction cloneObjects($f1, $f2, array &$objectPks, $tabPks) {\n\n $s = \"SELECT * FROM zzzzsys_object WHERE sob_all_zzzzsys_form_id = ?\";\n $t = nuRunQuery($s, [$f1]);\n \n while ($row = db_fetch_array($t)) {\n\n $row[\'sob_all_zzzzsys_form_id\'] = $f2;\n\n $newPk = getPk($row[\'zzzzsys_object_id\']);\n addToArray($objectPks, $row[\'zzzzsys_object_id\'], $newPk);\n\n $row[\'zzzzsys_object_id\'] = $newPk;\n\n $tabId = lookupPk($tabPks, $row[\'sob_all_zzzzsys_tab_id\']);\n\n $row[\'sob_all_zzzzsys_tab_id\'] = $tabId;\n\n if ($tabId != \"\") writeRecord(\'zzzzsys_object\', $row, $first,\'\');\n\n }\n\n}\n\nfunction cloneObjectsPHP($f1, $objectPks) {\n\n $s = \"\n SELECT\n zzzzsys_php.* \n FROM\n zzzzsys_php \n LEFT JOIN\n zzzzsys_object \n ON zzzzsys_object_id = LEFT(zzzzsys_php_id, LENGTH(zzzzsys_php_id) - 3) \n WHERE\n sob_all_zzzzsys_form_id = ?\n \";\n\n $t = nuRunQuery($s, [$f1]);\n\n while ($row = db_fetch_array($t)) {\n\n $event = eventFromPk($row[\'zzzzsys_php_id\']);\n $row[\'zzzzsys_php_id\'] = lookupPk($objectPks, pkWithoutEvent($row[\'zzzzsys_php_id\'])) . $event;\n $code = lookupPk($objectPks, pkWithoutEvent($row[\'sph_code\']));\n if ($code == \'\') { $row[\'sph_code\'] = $row[\'zzzzsys_php_id\']; }\n $code .= $event;\n\n writeRecord(\'zzzzsys_php\', $row, $first, \'\');\n\n }\n\n}\n\nfunction cloneFormSelect($f1, $f2, array &$formSelectPks) {\n\n $s = \"\n SELECT\n zzzzsys_select.* \n FROM\n zzzzsys_select \n WHERE LEFT(zzzzsys_select_id, LENGTH(zzzzsys_select_id) - 3) = ?\n \";\n\n $t = nuRunQuery($s, [$f1]);\n\n while ($row = db_fetch_array($t)) {\n\n $event = eventFromPk($row[\'zzzzsys_select_id\']);\n $newPk = $f2 . $event;\n addToArray($formSelectPks, $row[\'zzzzsys_select_id\'], $newPk);\n $row[\'zzzzsys_select_id\'] = $newPk;\n\n writeRecord(\'zzzzsys_select\', $row, $first, \'\');\n\n }\n\n}\n\nfunction cloneFormSelectClause($f1, $formSelectPks) {\n\n $s = \"\n SELECT\n zzzzsys_select_clause.* \n FROM\n zzzzsys_select_clause \n LEFT JOIN\n zzzzsys_select \n ON zzzzsys_select_id = ssc_zzzzsys_select_id \n LEFT JOIN zzzzsys_form ON LEFT(zzzzsys_select_id, LENGTH(zzzzsys_select_id) - 3) = zzzzsys_form_id\n WHERE zzzzsys_form_id = ? \n \";\n\n $t = nuRunQuery($s, [$f1]);\n\n while ($row = db_fetch_array($t)) {\n\n $row[\'ssc_zzzzsys_select_id\'] = lookupPk($formSelectPks, $row[\'ssc_zzzzsys_select_id\']);\n $row[\'zzzzsys_select_clause_id\'] = getPk($row[\'zzzzsys_select_clause_id\']);\n if ($row[\'ssc_zzzzsys_select_id\'] != \"\") writeRecord(\'zzzzsys_select_clause\', $row, $first, \'\');\n\n }\n\n}\n\nfunction cloneObjectsSelect($f1, $objectPks, array &$selectPks) {\n\n $s = \"\n SELECT\n zzzzsys_select.* \n FROM\n zzzzsys_select \n LEFT JOIN\n zzzzsys_object \n ON zzzzsys_object_id = LEFT(zzzzsys_select_id, LENGTH(zzzzsys_select_id) - 3) \n WHERE\n sob_all_zzzzsys_form_id = ?\n \";\n\n $t = nuRunQuery($s, [$f1]);\n\n while ($row = db_fetch_array($t)) {\n\n $event = eventFromPk($row[\'zzzzsys_select_id\']);\n $newPk = lookupPk($objectPks, pkWithoutEvent($row[\'zzzzsys_select_id\'])) . $event;\n addToArray($selectPks, $row[\'zzzzsys_select_id\'], $newPk);\n $row[\'zzzzsys_select_id\'] = $newPk;\n\n writeRecord(\'zzzzsys_select\', $row, $first, \'\');\n\n }\n\n}\n\nfunction cloneObjectsSelectClause($f1, $selectPks) {\n\n $s = \"\n SELECT\n zzzzsys_select_clause.* \n FROM\n zzzzsys_select_clause \n LEFT JOIN\n zzzzsys_select \n ON zzzzsys_select_id = ssc_zzzzsys_select_id \n LEFT JOIN\n zzzzsys_object \n ON zzzzsys_object_id = LEFT(zzzzsys_select_id, LENGTH(zzzzsys_select_id) - 3) \n WHERE\n sob_all_zzzzsys_form_id = ?\n \";\n\n $t = nuRunQuery($s, [$f1]);\n\n while ($row = db_fetch_array($t)) {\n\n $row[\'ssc_zzzzsys_select_id\'] = lookupPk($selectPks, $row[\'ssc_zzzzsys_select_id\']);\n $row[\'zzzzsys_select_clause_id\'] = getPk($row[\'zzzzsys_select_clause_id\']);\n\n if ($row[\'ssc_zzzzsys_select_id\'] != \"\") writeRecord(\'zzzzsys_select_clause\', $row, $first, \'\');\n\n }\n\n}\n\nfunction cloneObjectsEvents($f1, $objectPks) {\n\n $s = \"\n SELECT\n *\n FROM\n zzzzsys_event\n WHERE\n sev_zzzzsys_object_id IN (\n SELECT\n zzzzsys_object_id\n FROM\n zzzzsys_object\n WHERE\n sob_all_zzzzsys_form_id = ?\n )\n \";\n $t = nuRunQuery($s, [$f1]);\n\n while ($row = db_fetch_array($t)) {\n\n $row[\'zzzzsys_event_id\'] = getPk($row[\'zzzzsys_event_id\']);\n $row[\'sev_zzzzsys_object_id\'] = lookupPk($objectPks, $row[\'sev_zzzzsys_object_id\']);\n\n writeRecord(\'zzzzsys_event\', $row, $first, \'\');\n\n }\n\n}\n\nfunction getOpenForm($f2) {\n\n $ft = getFormType($f2);\n $r = $ft == \'browseedit\' ? \"\" : \"-1\";\n\n $code = getFormInfo($f2) [\"code\"];\n\n $msg = \"\n var buttons = \' \';\n nuMessage([\'

Cloning complete.

Code: $code\' + buttons]);\n console.log(\'Cloning complete. Form Code: $code\');\n \";\n\n return $msg;\n \n}\n\nfunction clearHashCookies() {\n\n return;\n \"\n function clearHashCookies() {\n nuSetProperty(\'cloner_form_source\',\'\');\n nuSetProperty(\'cloner_form_dest\',\'\');\n nuSetProperty(\'cloner_tabs\',\'\');\n nuSetProperty(\'cloner_objects\', \'1\');\n nuSetProperty(\'cloner_subforms\', \'0\');\n nuSetProperty(\'cloner_iframe_forms\', \'0\');\n nuSetProperty(\'cloner_dump\',\'0\');\n nuSetProperty(\'cloner_new_pks\',\'1\');\n nuSetProperty(\'cloner_replace_into\',\'0\');\n }\n \n clearHashCookies();\n \";\n\n}\n\nfunction showError($msg) {\n \n nuJavaScriptCallback(\"nuMessage([\'

Error


\" . $msg . \"\']);\" . clearHashCookies());\n \n}\n\nfunction showForm($f2, $dump) {\n\n if ($dump == \'1\') return;\n nuJavaScriptCallback(getOpenForm($f2) . clearHashCookies());\n\n}\n\nfunction whereSubforms() {\n \n $subforms = getSubformList();\n return $subforms != \'\' ? \" AND sob_all_id IN ($subforms) \" : \"\";\n \n}\n\nfunction whereRunIframeforms() {\n \n $forms = getIframeFormList();\n return $forms != \'\' ? \" AND sob_all_id IN ($forms) \" : \"\";\n \n}\n\nfunction updateObjectSubform($f1, $f2, $dump) {\n\n $s = \"UPDATE zzzzsys_object SET sob_subform_zzzzsys_form_id = \'$f2\' WHERE sob_subform_zzzzsys_form_id = \'$f1\';\";\n \n if ($dump == \"1\") {\n echoHeader(\'zzzzsys_object: UPDATE subform ID\');\n echoPlainText($s);\n } else {\n $t = nuRunQuery($s);\n }\n \n}\n\nfunction updateIframeForm($f1, $f2, $dump) {\n\n $s = \"UPDATE zzzzsys_object SET sob_run_zzzzsys_form_id = \'$f2\' WHERE sob_run_zzzzsys_form_id = \'$f1\';\";\n \n if ($dump == \"1\") {\n echoHeader(\'zzzzsys_object: UPDATE Run iframe form\');\n echoPlainText($s);\n } else {\n $t = nuRunQuery($s);\n }\n \n}\n\n\nfunction processIframeForms($f1, $tabPks, $dump) {\n\n if (\"#cloner_iframe_forms#\" == \'0\') return;\n\n $s = \"\n SELECT\n `sob_run_zzzzsys_form_id`\n FROM\n zzzzsys_object\n WHERE\n sob_all_zzzzsys_form_id = ? AND \n sob_all_type = ? AND \n sob_run_method = ? AND \n IFNULL(sob_run_zzzzsys_form_id, \'\') <> \'\'\n \";\n \n $s .= whereRunIframeforms();\n \n $t = nuRunQuery($s, [$f1,\'Run\',\'i\']);\n\n while ($row = db_fetch_array($t)) {\n \n $f1 = $row[\'sob_run_zzzzsys_form_id\'];\n \n processForm($f1, $f2, $tabPks);\n updateIframeForm($row[\'sob_run_zzzzsys_form_id\'], $f2, $dump);\n processObjects($f1, $f2, $tabPks);\n \n $f2 = \"\";\n\n }\n\n}\n\nfunction processSubforms($f1, $tabPks, $dump) {\n\n if (\"#cloner_subforms#\" == \'0\') return;\n\n $s = \"\n SELECT \n sob_subform_zzzzsys_form_id \n FROM zzzzsys_object \n WHERE sob_all_zzzzsys_form_id = ? AND sob_all_type = ?\n \".whereSubforms();\n\n $t = nuRunQuery($s, [$f1,\'subform\']);\n while ($row = db_fetch_array($t)) {\n \n $f1 = $row[\'sob_subform_zzzzsys_form_id\'];\n\n processForm($f1, $f2, $tabPks);\n updateObjectSubform($row[\'sob_subform_zzzzsys_form_id\'], $f2, $dump);\n processObjects($f1, $f2, $tabPks);\n \n $f2 = \"\";\n\n }\n\n}\n\nfunction processForm($f1, &$f2, &$tabPks) {\n\n if ($f2 != \"\") {\n $tabPks = cloneFormTabs($f1, $f2, \'_clone\');\n return;\n }\n\n $formSelectPks = [];\n \n $f2 = cloneForm($f1);\n $tabPks = cloneFormTabs($f1, $f2);\n\n cloneFormSelect($f1, $f2, $formSelectPks);\n cloneFormSelectClause($f1, $formSelectPks);\n cloneFormBrowse($f1, $f2);\n cloneFormPHP($f1, $f2);\n\n}\n\nfunction processObjects($f1, $f2, &$tabPks) {\n\n if (\"#cloner_objects#\" == \'0\') return;\n\n $objectPks = [];\n $selectPks = [];\n \n cloneObjects($f1, $f2, $objectPks, $tabPks);\n cloneObjectsPHP($f1, $objectPks);\n cloneObjectsSelect($f1, $objectPks, $selectPks);\n cloneObjectsSelectClause($f1, $selectPks);\n cloneObjectsEvents($f1, $objectPks);\n\n}\n\nfunction startCloner() {\n\n $dump = \"#cloner_dump#\";\n\n if(nuDemo(false) && $dump != \'1\'){\n\n showError(\'Not available in the Demo...\');\n return;\n\n }\n \n $newPks = \"#cloner_new_pks#\";\n if ($newPks == \'0\' && $dump != \'1\') {\n showError(\'Primary keys can only be retained in dump mode.\');\n return;\n }\n\n if (getFormSource($f1) == false) {\n showError(\'The form $f1 (cloner_form_source) does not exist!\');\n return;\n }\n\n if (getFormDestination($f2) == false) {\n showError(\'The form $f2 (cloner_form_dest) does not exist!\');\n return;\n }\n\n\n\n dumpFormInfo($f1, $dump);\n processForm($f1, $f2, $tabPks);\n processObjects($f1, $f2, $tabPks);\n processSubforms($f1, $tabPks, $dump);\n processIframeForms($f1, $tabPks, $dump);\n \n showForm($f2, $dump);\n\n}\n\nstartCloner();', NULL, NULL, 'hide', '', '1', '0', '0', '0', '', NULL), ('nucsvtransfer_BE', 'nucsvtransfer_BE', 'System PHP', 'nubuilder', NULL, '1', '\nfunction getCSVFiles() {\n\n $f = [];\n $dir = \'../temp/\';\n $dh = opendir($dir);\n while (false !== ($fileName = readdir($dh))) {\n $ext = substr($fileName, strrpos($fileName, \'.\') + 1);\n if (in_array($ext, [\n \"txt\",\n \"csv\",\n \"tab\",\n \"asc\"\n ])) $f[] = $fileName;\n }\n closedir($dh);\n return $f;\n}\n\n$f = getCSVFiles();\n$a = [];\n\n$countFiles = count($f);\nfor ($i = 0;$i < $countFiles;$i++) {\n\n if ($f[$i][0] != \'.\') {\n $a[] = \"\'\" . $f[$i] . \"\'\";\n }\n}\n\nnuAddJavaScript(\"var nuCSVfiles = [\" . implode(\',\', $a) . \"];\");\n\n', NULL, NULL, NULL, NULL, '1', '0', '1', '0', '', NULL), ('nudebug_BD', 'nudebug_BD', 'System PHP', 'nubuilder', NULL, '1', '\n$i = \'#instruction#\';\n\nif($i == \'all\'){\n nuRunQuery(\"DELETE FROM zzzzsys_debug\");\n \n}\n\n', NULL, NULL, '', '', '1', '0', '1', '0', '', NULL), ('nufastform', 'nu_run_fast_form', 'Run Fast Form', 'nubuilder', 'Form', '1', 'nuBuildFastForm(\'#fastform_table#\', \'#fastform_type#\', \'#fastform_primary_key#\');', NULL, NULL, '', 'nufflaunch', '1', '0', '1', '0', '', NULL), ('nufastreport', 'nu_run_fast_report', 'Run Fast Report', 'nubuilder', 'Reporting', '1', 'nuBuildFastReport();\n\n', NULL, NULL, '', 'nufflaunch', '1', '0', '1', '0', '', NULL), ('nuform_AD', 'nuform_AD', 'System PHP', 'nubuilder', NULL, '1', 'nuDeleteForm(\'#RECORD_ID#\');', NULL, NULL, '', '', '1', '0', '1', '0', '', NULL), ('nuform_AS', 'nuform_AS', 'System PHP', 'nubuilder', NULL, '1', '$recordId = \'#RECORD_ID#\';\n\nnuReorderBrowse($recordId);\nnuReorderTabs($recordId);', NULL, NULL, '', '', '1', '0', '1', '0', '', NULL), ('nu684d2e20baf5b67', 'nu_browse_add_tab', 'Add Browse Tab', 'nubuilder', 'Browse', '1', '$decodedParams = nuGetProperty(\'nu_browse_add_tab_params\');\n\nif ($decodedParams) {\n $parsedData = nuDecode($decodedParams);\n\n $formId = $parsedData[\'form_id\'] ?? \'\';\n $title = $parsedData[\'title\'] ?? \'New Tab\';\n $order = $parsedData[\'order\'] ?? 0;\n\n nuBrowseAddNewTab($formId, $title, $order);\n nuReorderBrowse($formId);\n\n $js = \"if (nuIsSaved()) { nuGetBreadcrumb()} else { parent.nuUpdateMessage(\'refresh_required\')} \";\n nuJavaScriptCallback($js);\n}\n\nfunction nuBrowseAddNewTab($formId, $title, $order) {\n\n $tabId = nuID();\n\n $sql = \"\n INSERT INTO zzzzsys_tab (\n zzzzsys_tab_id,\n syt_zzzzsys_form_id,\n syt_title,\n syt_order\n ) VALUES (\n :tabId,\n :formId,\n :title,\n :tabOrder\n )\n \";\n\n nuRunQuery($sql, [\n \':tabId\' => $tabId,\n \':formId\' => $formId,\n \':title\' => $title,\n \':tabOrder\' => $order\n ]);\n\n return $tabId;\n}', NULL, NULL, 'hide', NULL, '1', '0', '0', '0', '', NULL), ('nuform_BB', 'nuform_BB', 'System PHP', 'nubuilder', NULL, '1', '// Temp table\n$denied = $GLOBALS[\'nuSetup\']->set_denied == 1;\n\n$condition = $denied\n? \"(zzzzsys_form_id NOT LIKE \'nu%\' OR zzzzsys_form_id = \'nuuserhome\')\"\n: \"1=1\";\n\n$sql = \"\n SELECT *\n FROM zzzzsys_form\n WHERE $condition\n ORDER BY sfo_code\n\";\n\nnuCreateTableFromSelect(\'#TABLE_ID#\', $sql);\n\n\n// Group Filter\n$getDistinctGroupColumnQuery = function($column, $condition) {\n return \"\n SELECT\n DISTINCT TRIM(`$column`) AS trimmed_group\n FROM\n zzzzsys_form\n WHERE\n $condition AND (\n IFNULL(`$column`, \'\') <> \'\')\n ORDER BY\n trimmed_group\n \";\n};\n\n$sqlGroup = function($condition) use ($getDistinctGroupColumnQuery) {\n return $getDistinctGroupColumnQuery(\'sfo_group\', $condition);\n};\n\n$group = nuEncodeQueryRowResults($sqlGroup($condition), []);\n\n$filterJS = \"\n function nuFormFilterGetData(data) {\n return JSON.parse(atob(data));\n }\n function nuFormFilterGetGroup() {\n return nuFormFilterGetData(\'$group\');\n }\n\";\n\nnuAddJavaScript($filterJS);', NULL, NULL, '', '', '1', '0', '1', '0', '', NULL), ('nuform_BS', 'nuform_BS', 'System PHP', 'nubuilder', NULL, '1', '$o = \'#sfo_type#\';\n\nif (\'#sfo_type#\' == \'\') {\n nuDisplayError(\'Type Cannot Be Blank..\', \'sfo_type\');\n}\nif (\'#sfo_description#\' == \'\') {\n nuDisplayError(\'Description Cannot Be Blank..\', \'sfo_description\');\n}\n\n\nif ($o == \'browseedit\' || $o == \'subform\' || $o == \'browse\') {\n\n if ($o != \'browse\') {\n nuCheckTabs();\n }\n\n if ($o != \'subform\') {\n nuCheckBrowse();\n }\n\n if (\'#sfo_browse_sql#\' == \'\') {\n nuDisplayError(\'Browse SQL Cannot Be Blank..\', \'sfo_browse_sql\');\n }\n}\n\nif ($o == \'edit\' or $o == \'launch\') {\n nuCheckTabs();\n}\n\nif ($o != \'launch\') {\n if (\'#sfo_table#\' == \'\') {\n nuDisplayError(\'Table Name Cannot Be Blank..\', \'sfo_table\');\n }\n if (\'#sfo_primary_key#\' == \'\') {\n nuDisplayError(\'Primary Key Cannot Be Blank..\', \'sfo_primary_key\');\n }\n}\n\nfunction nuCheckBrowse() {\n\n $r = 0;\n $sf = nuSubformObject(\'zzzzsys_browse_sf\');\n\n for ($i = 0; $i < count($sf->rows); $i++) {\n if ($sf->deleted[$i] == 0) {\n $r++;\n }\n }\n\n if ($r == 0) {\n nuDisplayError(\'Must have at least 1 Browse Column Defined..\');\n }\n\n}\n\nfunction nuCheckTabs() {\n\n $r = 0;\n $sf = nuSubformObject(\'zzzzsys_tab_sf\');\n\n for ($i = 0; $i < count($sf->rows); $i++) {\n if ($sf->deleted[$i] == 0) {\n $r++;\n }\n }\n\n if ($r == 0) {\n nuDisplayError(\'Must have at least 1 Tab Column Defined..\');\n }\n\n}\n\n\nif (!empty($_POST[\'nuErrors\'])) {\n nuSetValidationErrorTitle(\'Validation Error\');\n} ', NULL, NULL, '', '', '1', '0', '1', '0', '', NULL), ('nuobject_BB', 'nuobject_BB', 'System PHP', 'nubuilder', NULL, '1', '$select = \"SELECT zzzzsys_object_id AS theid FROM zzzzsys_object WHERE \";\n$where = \"1\";\nif ($GLOBALS[\'nuSetup\']->set_denied == 1) {\n $where = \"sob_all_zzzzsys_form_id NOT LIKE \'nu%\' OR sob_all_zzzzsys_form_id = \'nuuserhome\'\";\n}\n\nnuCreateTableFromSelect(\'#TABLE_ID#\', $select.$where);', NULL, NULL, '', '', '1', '0', '1', '0', '', NULL), ('nuobject_BE', 'nuobject_BE', 'System PHP', 'nubuilder', NULL, '1', '$s = \"\n\nSELECT \n sob_all_zzzzsys_form_id AS theform,\n sob_all_id AS ids,\n sob_all_type AS type\nFROM zzzzsys_object \nWHERE \nsob_all_zzzzsys_form_id = \'#sob_all_zzzzsys_form_id#\' AND \n ((sob_input_type = \'nuNumber\' AND sob_all_type = \'input\')\n OR (sob_input_type = \'number\' AND sob_all_type = \'input\')\n OR sob_all_type = \'calc\' OR sob_all_type = \'select\')\n\nUNION \n\nSELECT \n su.sob_all_zzzzsys_form_id AS theform,\n CONCAT(su.sob_all_id, \'.\', inp.sob_all_id) AS ids,\n inp.sob_all_type AS type\nFROM zzzzsys_object AS su\nJOIN zzzzsys_object AS inp ON su.sob_subform_zzzzsys_form_id = inp.sob_all_zzzzsys_form_id\nWHERE \nsu.sob_all_type = \'subform\' AND \nsu.sob_all_zzzzsys_form_id = \'#sob_all_zzzzsys_form_id#\' AND \n ((inp.sob_input_type = \'nuNumber\' AND inp.sob_all_type = \'input\')\n OR (inp.sob_input_type = \'number\' AND inp.sob_all_type = \'input\')\n OR inp.sob_all_type = \'calc\' OR inp.sob_all_type = \'select\')\n\n\";\n\n$a = [];\n$t = nuRunQuery($s);\nwhile($r = db_fetch_object($t)){\n $a[] = $r; \n}\n\n$j = json_encode($a);\n\n$js = \"\n\nfunction nuCalcObjects(){\n return $j;\n}\n\n\";\n\nnuAddJavaScript($js);\n\n', NULL, NULL, '', '', '1', '0', '1', '0', '', NULL), ('nuobject_BS', 'nuobject_BS', 'System PHP', 'nubuilder', NULL, '1', '$r = \'#RECORD_ID#\';\n$f = \'#sob_all_zzzzsys_form_id#\';\n$o = \'#sob_all_id#\';\n\n$s = \"\n \n SELECT COUNT(*) \n FROM zzzzsys_object\n WHERE sob_all_zzzzsys_form_id = \'$f\'\n AND sob_all_id = \'$o\'\n AND zzzzsys_object_id != \'$r\'\n\n \";\n\n$t = nuRunQuery($s);\n$r = db_fetch_row($t);\n\nif ($r[0] > 0) {\n nuDisplayError(nuTranslate(\'This ID is already used on this Form..\'));\n}\n\nif (\'#sob_all_access#\' == 9 && \'#sob_all_access_condition#\' == \'\') {\n nuDisplayErrorNotBlank(\'Access Condition\');\n}\n\n$o = \'#sob_all_type#\';\n\nif ($o == \'display\') {\n if (\'#sob_display_sql#\' == \'\' && \'#sob_display_procedure#\' == \'\') {\n nuDisplayErrorNotBlank(\'Display\');\n }\n}\n\nif ($o == \'html\') {\n\n if (\'#sob_html_code#\' == \'\' && \'#sob_html_chart_type#\' == \'\') {\n nuDisplayError(nuTranslate(\'HTML Fields Cannot Both Be Blank..\'));\n }\n if (\'#sob_html_javascript#\' == \'\' && \'#sob_html_chart_type#\' != \'\') {\n nuDisplayErrorNotBlank(\'HTML Javascript Array\');\n }\n\n}\n\nif ($o == \'lookup\') {\n if (\'#sob_lookup_zzzzsys_form_id#\' == \'\') {\n nuDisplayErrorNotBlank(\'Form\');\n }\n if (\'#sob_lookup_code#\' == \'\') {\n nuDisplayErrorNotBlank(\'Code\');\n }\n if (\'#sob_lookup_description#\' == \'\') {\n nuDisplayErrorNotBlank(\'Descrition\');\n }\n if (\'#sob_lookup_description_width#\' == \'\') {\n nuDisplayErrorNotBlank(\'Width\');\n }\n}\n\nif ($o == \'run\') {\n if (\'#sob_run_zzzzsys_form_id#\' == \'\') {\n nuDisplayErrorNotBlank(\'Run\');\n }\n if (\'#sob_run_method#\' == \'\') {\n nuDisplayErrorNotBlank(\'Method\');\n }\n}\n\nif ($o == \'input\') {\n\n if (\'#sob_input_type#\' == \'\') {\n nuDisplayErrorNotBlank(\"Input\'s Input Type\");\n }\n\n if (\'#sob_input_type#\' == \'nuNumber\' || \'#sob_input_type#\' == \'nuDate\') {\n if (\'#sob_input_format#\' == \'\') {\n nuDisplayErrorNotBlank(\'Input Format\');\n }\n }\n\n if (\'#sob_input_type#\' == \'nuAutoNumber\') {\n if (\'#sob_input_count#\' == \'\') {\n nuDisplayErrorNotBlank(\'Next Number\');\n }\n }\n\n}\n\nif ($o == \'select\') {\n if (\'#sob_select_multiple#\' == \'\') {\n nuDisplayErrorNotBlank(\'Multiple\');\n }\n if (\'#sob_select_sql#\' == \'\' && \'#sob_select_procedure#\' == \'\') {\n nuDisplayErrorNotBlank(\'SQL/List or Procedure\');\n }\n}\n\n\nif ($o == \'subform\') {\n if (\'#sob_subform_zzzzsys_form_id#\' == \'\') {\n nuDisplayErrorNotBlank(\'Form\');\n }\n if (\'#sob_subform_foreign_key#\' == \'\') {\n nuDisplayErrorNotBlank(\'Foreign Key\');\n }\n if (\'#sob_subform_add#\' == \'\') {\n nuDisplayErrorNotBlank(\'Addable\');\n }\n if (\'#sob_subform_delete#\' == \'\') {\n nuDisplayErrorNotBlank(\'Deletable\');\n }\n if (\'#sob_subform_type#\' == \'\') {\n nuDisplayErrorNotBlank(\'Type\');\n }\n}\n\nif ($o == \'\') {\n if (\'#sfo_browse_sql#\' == \'\') {\n nuDisplayErrorNotBlank(\'Browse SQL\');\n }\n}\n\nfunction nuDisplayErrorNotBlank($label) {\n\n $label = \'\' . $label . \'\';\n nuDisplayError($label . \' \' . nuTranslate(\'cannot be left blank\'));\n\n}\n\nif (!empty($_POST[\'nuErrors\'])) {\n nuSetValidationErrorTitle(\'Validation Error\');\n} \n\n', NULL, NULL, '', '', '1', '0', '1', '0', '', NULL), ('nuobjectgrid_AD', 'nuobjectgrid_AD', 'System PHP', 'nubuilder', NULL, '1', 'nuDeleteForm(\'#RECORD_ID#\');', NULL, NULL, '', '', '1', '0', '1', '0', '', NULL), ('nuobjectgrid_AS', 'nuobjectgrid_AS', 'System PHP', 'nubuilder', NULL, '1', '$s = \"\n SELECT * \n FROM zzzzsys_browse \n WHERE sbr_zzzzsys_form_id = \'#RECORD_ID#\'\n ORDER BY sbr_order;\n\";\n\n\n$t = nuRunQuery($s);\n$o = 10;\n\nwhile($r = db_fetch_object($t)){\n \n $s = \"\n UPDATE zzzzsys_browse \n SET sbr_order = \'$o\'\n WHERE zzzzsys_browse_id = \'$r->zzzzsys_browse_id\'\n ORDER BY sbr_order;\n \";\n \n nuRunQuery($s);\n \n $o = $o + 10; \n \n}\n\n$s = \"\n SELECT * \n FROM zzzzsys_tab \n WHERE syt_zzzzsys_form_id = \'#RECORD_ID#\'\n ORDER BY syt_order;\n\";\n\n$t = nuRunQuery($s);\n$o = 10;\n\nwhile($r = db_fetch_object($t)){\n \n $s = \"\n UPDATE zzzzsys_tab \n SET syt_order = \'$o\'\n WHERE zzzzsys_tab_id = \'$r->zzzzsys_tab_id\'\n ORDER BY syt_order;\n \";\n \n nuRunQuery($s);\n \n $o = $o + 10; \n \n}\n', NULL, NULL, '', '', '1', '0', '1', '0', '', NULL), ('nuobjectgrid_BB', 'nuobjectgrid_BB', 'System PHP', 'nubuilder', NULL, '1', '$select = \"SELECT zzzzsys_form_id AS theid FROM zzzzsys_form WHERE \";\n$where = \"1\";\nif ($GLOBALS[\'nuSetup\']->set_denied == 1) {\n $where = \"zzzzsys_form_id NOT LIKE \'nu%\' OR zzzzsys_form_id = \'nuuserhome\'\";\n}\n\nnuCreateTableFromSelect(\'#TABLE_ID#\', $select.$where);', NULL, NULL, '', '', '1', '0', '1', '0', '', NULL), ('nuobjectgrid_BD', 'nuobjectgrid_BD', 'System PHP', 'nubuilder', NULL, '1', 'nuDisplayError(nuTranslate(\'The Delete Operation is not available.\'));', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL), ('nuobjectgrid_BS', 'nuobjectgrid_BS', 'System PHP', 'nubuilder', NULL, '1', '\n $o = \'#sfo_type#\';\n\n if(\'#sfo_type#\' == \'\'){nuDisplayError(\'Type Cannot Be Blank..\', \'sfo_type\');}\n if(\'#sfo_code#\' == \'\'){nuDisplayError(\'Code Cannot Be Blank..\', \'sfo_code\');}\n if(\'#sfo_description#\' == \'\'){nuDisplayError(\'Description Cannot Be Blank..\', \'sfo_description\');}\n\n\n \n \n if($o == \'browseedit\' || $o == \'subform\' || $o == \'browse\'){\n \n if($o != \'browse\'){\n nuCheckTabs();\n }\n \n if($o != \'subform\'){\n nuCheckBrowse();\n }\n \n if(\'#sfo_browse_sql#\' == \'\'){nuDisplayError(\'Browse SQL Cannot Be Blank..\', \'sfo_browse_sql\');}\n }\n\n if($o == \'edit\' or $o == \'launch\'){\n nuCheckTabs();\n }\n\n if($o != \'launch\'){\n if(\'#sfo_table#\' == \'\'){nuDisplayError(\'Table Name Cannot Be Blank..\', \'sfo_table\');}\n if(\'#sfo_primary_key#\' == \'\'){nuDisplayError(\'Primary Key Cannot Be Blank..\', \'sfo_primary_key\');}\n }\n\nfunction nuCheckBrowse(){\n\n $r = 0;\n $sf = nuSubformObject(\'zzzzsys_browse_sf\');\n \n for($i = 0 ; $i < count($sf->rows) ; $i++){\n if($sf->deleted[$i] == 0){$r++;}\n }\n \n if($r == 0){\n nuDisplayError(\'Must have at least 1 Browse Column Defined..\');\n }\n \n}\n\nfunction nuCheckTabs(){\n\n $r = 0;\n $sf = nuSubformObject(\'zzzzsys_tab_sf\');\n \n for($i = 0 ; $i < count($sf->rows) ; $i++){\n if($sf->deleted[$i] == 0){$r++;}\n }\n \n if($r == 0){\n nuDisplayError(\'Must have at least 1 Tab Column Defined..\');\n }\n \n}\n\n\n\n\n', NULL, NULL, '', '', '1', '0', '1', '0', '', NULL), ('nupassword_BS', 'nupassword_BS', 'System PHP', 'nubuilder', NULL, '1', '$is = \'#old_password#\';\n$was = \'#new_password_check#\';\n$will = \'#new_password#\';\n$ses = \'#SESSION_ID#\';\n$userId = \"#USER_ID#\";\n\n//--\n\n$s = \"\n SELECT sss_access \n FROM zzzzsys_session\n WHERE zzzzsys_session_id = ?\n\";\n\n$t = nuRunQuery($s, array($ses));\n$r = db_fetch_object($t);\n$j = json_decode($r->sss_access);\n\n//--\n\n$s = \"\n SELECT sus_login_password\n FROM zzzzsys_user\n WHERE zzzzsys_user_id = ?\n\";\n\n$t = nuRunQuery($s, array($userId));\n$r = db_fetch_object($t);\n$current = $r->sus_login_password;\n\n$useMd5 = $_SESSION[\'nubuilder_session_data\'][\'USE_MD5_PASSWORD_HASH\'] == true;\n\nif ($useMd5) {\n $check = md5($is) == $current;\n} else {\n $check = password_verify($is, $current);\n}\n\nif ($check == false) {\n nuDisplayError(nuTranslate(\'Incorrect Password\'));\n return;\n} \n\n//--\n\n$p = nuProcedure(\'nu_check_password_policy\');\n\nif($p != \'\'){\n\n eval($p);\n \n if($check == false){\n return;\n }\n\n}\n\n//--\n\nif($will == $was){\n\n $s = \"\n\n UPDATE zzzzsys_user \n SET sus_login_password = ?\n WHERE zzzzsys_user_id = ?\n \n \";\n\n $pwHash = $useMd5 == true ? md5($will) : nuPasswordHash($will);\n\n nuRunQuery($s, array($pwHash, \"#RECORD_ID#\"));\n\n nuSetUserJSONData(\'PASSWORD_CHANGED_TIME\', time() , $userId);\n nuSetUserJSONData(\'PASSWORD_CHANGED_SOURCE\', \'user\', $userId);\n \n}else {\n nuDisplayError(nuTranslate(\'\"New Password\" must be the same as \"Confirm New Password\"\'));\n}\n', NULL, NULL, '', '', '1', '0', '1', '0', '', NULL), ('nuprocedure_AS', 'nuprocedure_AS', 'System PHP', 'nubuilder', NULL, '1', '$justphp = nuObjKey(nuHash(),\'filter\') == \'justphp\';\n\nif (\'#DEV_MODE#\' != 1 && substr(\'#RECORD_ID#\', 0, 2) === \'nu\' ) {\n if ($justphp) {\n nuDisplayError(nuTranslate(\'

\'.nuTranslate(\'Information\').\'


Changes in system forms are overwritten with an update\')); \n } \n}\n\n', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL), ('nuprocedure_BB', 'nuprocedure_BB', 'System PHP', 'nubuilder', NULL, '1', '$getDistinctColumnQuery = function($column) {\n return \"\n SELECT\n DISTINCT TRIM($column) AS `value`, TRIM($column) as `text`\n FROM\n zzzzsys_php\n LEFT JOIN zzzzsys_form ON zzzzsys_form_id = sph_zzzzsys_form_id\n WHERE\n IFNULL($column, \'\') <> \'\'\n AND (\n (\n sph_system != \'1\' OR sph_system IS NULL\n )\n OR (\n \'#DEV_MODE#\' = \'1\' AND LEFT(RIGHT(sph_code, 3), 1) <> \'_\'\n )\n )\n ORDER BY\n `value`\n \";\n};\n\n$sqlGroup = function() use ($getDistinctColumnQuery) {\n return $getDistinctColumnQuery(\'sph_group\');\n};\n\n$sqlCategory = function() use ($getDistinctColumnQuery) {\n return $getDistinctColumnQuery(\'sph_category\');\n};\n\n$group = nuEncodeQueryRowResults($sqlGroup(), [], [\'-1\', \'\']);\n$category = nuEncodeQueryRowResults($sqlCategory(), [], [\'-1\', \'\']);\n\n$filterJS = \"\n function nuProcedureFilterGetData(data) {\n return JSON.parse(atob(data));\n }\n function nuProcedureFilterGetGroup() {\n return nuProcedureFilterGetData(\'$group\');\n }\n function nuProcedureFilterGetCategory() {\n return nuProcedureFilterGetData(\'$category\');\n }\n\";\n\nnuAddJavaScript($filterJS);', NULL, NULL, '', '', '1', '0', '1', '0', '', NULL), ('nuprocedure_BE', 'nuprocedure_BE', 'System PHP', 'nubuilder', NULL, '1', '$rid = \'#RECORD_ID#\';\n\nif ($rid != \'-1\' and $rid != \'-2\') {\n\n $s = \"SELECT * FROM zzzzsys_php WHERE zzzzsys_php_id = \'$rid\'\";\n $t = nuRunQuery($s);\n $r = db_fetch_object($t);\n\n if (db_num_rows($t) == 0) {\n\n $s = \"\n INSERT INTO zzzzsys_php\n (\n zzzzsys_php_id,\n sph_code,\n sph_description,\n sph_group,\n sph_system\n )\n VALUES\n (\n \'$rid\',\n \'$rid\',\n \'System PHP\',\n \'nubuilder\',\n \'1\'\n )\n \";\n\n nuRunQuery($s);\n\n }\n\n}', NULL, NULL, '', '', '1', '0', '1', '0', '', NULL), ('nuprocedure_BS', 'nuprocedure_BS', 'System PHP', 'nubuilder', NULL, '1', '$justphp = nuObjKey(nuHash(),\'filter\') == \'justphp\';\n\nif (\'#DEV_MODE#\' != 1 && \'#sph_template#\' == \'1\' ) {\n if (! $justphp) {\n nuDisplayError(nuTranslate(\"Templates cannot be saved. Clone it instead.\"));\n return;\n } \n}\n\n\n$rid = \'#RECORD_ID#\';\n\nif($rid != \'-1\' and $rid != \'-2\'){ \n \n $s = \"SELECT * FROM zzzzsys_php WHERE zzzzsys_php_id = \'$rid\'\";\n $t = nuRunQuery($s);\n $r = db_fetch_object($t);\n \n if(db_num_rows($t) == 0){\n \n $s = \"\n INSERT INTO zzzzsys_php\n (\n zzzzsys_php_id,\n sph_code,\n sph_description,\n sph_group,\n sph_system\n )\n VALUES\n (\n \'$rid\', \n \'$rid\', \n \'System PHP\', \n \'nubuilder\', \n \'1\'\n )\n \";\n \n nuRunQuery($s);\n \n }\n \n}\n', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL), ('nuselect_BS', 'nuselect_BS', 'System PHP', 'nubuilder', NULL, '1', '$rid = \'#RECORD_ID#\';\n\nif($rid != \'-1\' and $rid != \'-2\'){ \n \n $s = \"SELECT * FROM zzzzsys_select WHERE zzzzsys_select_id = \'$rid\'\";\n $t = nuRunQuery($s);\n $r = db_fetch_object($t);\n \n if(db_num_rows($t) == 0){\n \n $s = \"\n INSERT INTO zzzzsys_select\n (zzzzsys_select_id, sse_system)\n VALUES\n (\'$rid\', \'1\')\n \";\n \n nuRunQuery($s);\n \n }\n \n}\n\n', NULL, NULL, '', '', '1', '0', '1', '0', '', NULL), ('nusethashcookie', 'nu_set_hash_cookie', 'Sets session persistent hash cookies', 'nubuilder', 'Session', '1', '$name = \'#nu_set_hash_cookie_name#\';\n$value = \'#nu_set_hash_cookie_value#\';\n\nnuSetProperty($name, $value, true);\n\n\n$js = \"\n if(window.nuOnPropertySet){\n nuOnPropertySet(\'$name\', \'$value\');\n }\n\";\n\nnuJavaScriptCallback($js);', NULL, NULL, 'hide', '', '1', '1', '1', '0', '', NULL), ('nusetup_AS', 'nusetup_AS', 'System PHP', 'nubuilder', NULL, '1', 'function nuSetupWriteVersionToFile($dbVersion, $filesVersion) {\n\n $f = fopen(__DIR__ . \'/../version.txt\', \"w+\") or die(\"Unable to open file!\");\n fwrite($f, \"nuBuilder Forte 4.5\\n\\n\");\n fwrite($f, \"DB Version: \".\"$dbVersion\\n\");\n fwrite($f, \"Files Version: \".\"$filesVersion\\n\\n\");\n fwrite($f, \"(V.MajorVersion-CurrentDate.BuildNumber)\");\n fclose($f);\n\n}\n\n\n$DEV_MODE = \'#DEV_MODE#\' == \'1\';\n\n// Write Version Info\n\nif ($DEV_MODE) {\n\n nuSetupSetConfigOrder();\n\n $nuDumpCodes = nuProcedure(\'nu_dump_form_codes\');\n eval($nuDumpCodes);\n\n $nuNewDBV = \'#set_db_version_inc#\';\n if ($nuNewDBV != \'\') {\n $qry = \"UPDATE zzzzsys_info SET inf_details = ? WHERE inf_code = \'nuDBVersion\'\";\n nuRunQuery($qry, [$nuNewDBV]);\n $nuDBV = $nuNewDBV;\n } else {\n $nuDBV = \'#set_db_version#\';\n }\n\n $nuNewFilesV = \'#set_files_version_inc#\';\n if ($nuNewFilesV != \'\') {\n $qry = \"UPDATE zzzzsys_info SET inf_details = ? WHERE inf_code = \'nuFilesVersion\'\";\n nuRunQuery($qry, [$nuNewFilesV]);\n $nuFilesV = $nuNewFilesV;\n } else {\n $nuFilesV = \'#set_files_version#\';\n }\n\n if ($nuNewFilesV != \'\' || $nuNewDBV != \'\') {\n nuSetupWriteVersionToFile($nuDBV, $nuFilesV);\n }\n\n if (\'#set_dev_reset_tables#\' == true) {\n\n $lang = [\n \"Afrikaans\", \"Arabic\", \"Armenian\", \"Catalan\", \"Chinese\", \"Czech\", \"Danish\", \"Dutch\",\n \"French\", \"German\", \"Greek\", \"Hindi\", \"Hungarian\", \"Italian\", \"Japanese\", \"Malay\",\n \"Norwegian\", \"Polish\", \"Portuguese (Brazil)\", \"Portuguese\", \"Romanian\", \"Russian\",\n \"Slovak\", \"Spanish\", \"Tamil\", \"Turkish\", \"Vietnamese\"\n ];\n\n nuRunQuery(\'UPDATE zzzzsys_setup SET set_languages_included = ?, set_language = NULL WHERE zzzzsys_setup_id = 1\', $lang);\n\n nuResetEmailSettings();\n\n $q = \"\n DELETE FROM `zzzzsys_user`;\n DELETE FROM `zzzzsys_access`;\n DELETE FROM `zzzzsys_access_form`;\n DELETE FROM `zzzzsys_access_php`;\n DELETE FROM `zzzzsys_access_report`;\n DELETE FROM `zzzzsys_cloner`;\n DELETE FROM `zzzzsys_app_cloner`;\n DELETE FROM `zzzzsys_file` WHERE `sfi_group` <> \'nubuilder\';\n DELETE FROM `zzzzsys_format` WHERE `zzzzsys_format_id` NOT LIKE \'nu%\';\n DELETE FROM `zzzzsys_note`;\n DELETE FROM `zzzzsys_email_template` WHERE `zzzzsys_email_template_id` NOT LIKE \'nu%\';\n DELETE FROM `zzzzsys_note_category`;\n DELETE FROM `zzzzsys_select` WHERE `zzzzsys_select_id` NOT LIKE \'nu%\';\n DELETE FROM `zzzzsys_select_clause` WHERE `zzzzsys_select_clause_id` NOT LIKE \'nu%\';\n DELETE FROM `zzzzsys_php` WHERE IFNULL(`sph_php`, \'\') = \'\';\n DELETE FROM `zzzzsys_translate`;\n DELETE FROM `zzzzsys_permission_item`;\n DELETE FROM `zzzzsys_user_permission`;\n DELETE FROM `zzzzsys_email_log`;\n DELETE FROM `zzzzsys_report_data`;\n DELETE zzzzsys_event\n FROM zzzzsys_event\n LEFT JOIN zzzzsys_object ON zzzzsys_object.zzzzsys_object_id = zzzzsys_event.sev_zzzzsys_object_id\n WHERE zzzzsys_object.zzzzsys_object_id IS NULL;\n UPDATE `zzzzsys_object` SET `sob_input_attribute` = NULL WHERE `sob_input_attribute` = \'\';\n UPDATE `zzzzsys_form` SET `sfo_browse_javascript` = NULL WHERE TRIM(`sfo_browse_javascript`) = \'\';\n UPDATE `zzzzsys_form` SET `sfo_javascript` = NULL WHERE TRIM(`sfo_javascript`) = \'\';\n UPDATE `zzzzsys_tab` SET `syt_access` = NULL WHERE TRIM(`syt_access`) = \'\';\n UPDATE `zzzzsys_tab` SET `syt_order` = \'-1\' WHERE `zzzzsys_tab_id` = \'nufastforms\';\n UPDATE `zzzzsys_item` SET `itm_created_on` = NULL, `itm_updated_on` = NULL WHERE `zzzzsys_item_id` LIKE \'nu%\';\n DELETE FROM `zzzzsys_prompt_generator` WHERE zzzzsys_prompt_generator_id LIKE \'nu%\';\n DELETE FROM `zzzzsys_debug`;\n DELETE FROM `zzzzsys_session`;\n \";\n\n nuRunQuery($q);\n\n nuSetupSetDefaultValues();\n\n\n }\n\n}\n\nfunction nuResetEmailSettings() {\n\n $update =\n\n \"\n UPDATE `zzzzsys_setup`\n SET\n `set_smtp_username` = \'1\',\n `set_smtp_password` = \'1\',\n `set_smtp_host` = \'1\',\n `set_smtp_from_address` = \'1\',\n `set_smtp_from_name` = \'1\',\n `set_smtp_port` = \'1\',\n `set_smtp_use_authentication` = \'1\',\n `set_smtp_use_ssl` = \'1\'\n \";\n\n nuRunQuery($update);\n\n}\n\nfunction nuSetupSetDefaultValues() {\n\n $columns = db_field_names(\'zzzzsys_object\');\n foreach ($columns as $name) {\n\n if ($name === \'sob_all_label\') {\n $newValue = \'\';\n } else {\n $newValue = null;\n }\n\n nuRunQuery(\"UPDATE `zzzzsys_object` SET `$name` = ? WHERE TRIM(IFNULL($name,\'\')) = \'\' \", [$newValue]);\n\n }\n \n \n nuRunQuery(\"UPDATE `zzzzsys_object` SET sob_all_label = \' \' WHERE `sob_all_type` LIKE \'subform\' AND IFNULL(sob_all_label,\'\') = \'\' \");\n\n}\n\nfunction nuImportSelectedLanguageFiles($l) {\n try {\n for ($i = 0; $i < count($l); $i++) {\n if (trim($l[$i]) == \'\') continue;\n $file = dirname(__FILE__). \'/languages/\'. $l[$i].\'.sql\';\n $sql = file_get_contents($file);\n if ($sql) {\n nuRunQuery($sql);\n } else {\n nuDisplayError(\"Error opening the file: $file\");\n }\n }\n }catch (Exception $e) {\n nuDisplayError(nuTranslate(\'

\'.nuTranslate(\'Error\').\'


Error while importing language files.\'));\n }\n}\n\nfunction nuSetupSetConfigOrder() {\n\n $select = \"SELECT zzzzsys_config_id FROM `zzzzsys_config` ORDER BY `zzzzsys_config`.`cfg_order` ASC\";\n $stmt = nuRunQuery($select);\n\n $i = 10;\n while ($row = db_fetch_array($stmt)) {\n\n $s = \"UPDATE `zzzzsys_config` SET cfg_order = ? WHERE `zzzzsys_config_id` = ?\";\n nuRunQuery($s, [$i, $row[\'zzzzsys_config_id\']]);\n $i = $i + 10;\n\n }\n\n}\n\n\nfunction nuSetupDeletePMASubfolders($path) {\n // Allowed folder names\n $allowedFolders = [\"zh_CN\", \"vi\", \"tr\", \"sk\", \"ru\", \"ro\", \"pt_BR\", \"pt\", \"pl\", \"nl\", \"ja\", \"it\", \"hy\", \"fr\", \"es\", \"el\", \"de\", \"da\", \"cs\", \"ca\", \"ar\"];\n \n // Ensure path is a directory\n if (!is_dir($path)) {\n return false;\n }\n \n // Scan directory\n $folders = scandir($path);\n \n foreach ($folders as $folder) {\n if ($folder === \'.\' || $folder === \'..\') {\n continue;\n }\n \n $fullPath = $path . DIRECTORY_SEPARATOR . $folder;\n \n // Check if it\'s a directory and not in the allowed list\n if (is_dir($fullPath) && !in_array($folder, $allowedFolders)) {\n nuSetupDeleteSubfoldersRecursively($fullPath);\n }\n }\n}\n\nfunction nuSetupDeleteSubfoldersRecursively($folderPath) {\n if (!is_dir($folderPath)) {\n return;\n }\n \n $files = array_diff(scandir($folderPath), [\'.\', \'..\']);\n \n foreach ($files as $file) {\n $filePath = $folderPath . DIRECTORY_SEPARATOR . $file;\n if (is_dir($filePath)) {\n nuSetupDeleteSubfoldersRecursively($filePath);\n } else {\n unlink($filePath);\n }\n }\n \n rmdir($folderPath);\n}\n\nfunction removePMALanguages() {\n nuSetupDeletePMASubfolders(\'../third_partynudb/locale\');\n}\n\nremovePMALanguages();\n\n// Include/Exclude languages\n$t = \"#set_languages_included_json#\";\n\nif ($t != \'-1\') {\n // no language change\n\n nuRunQuery(\"DELETE FROM zzzzsys_translate WHERE zzzzsys_translate_id LIKE \'nu%\'\");\n if ($t != \'\') nuImportSelectedLanguageFiles(json_decode($t));\n\n}\n\nif (\'#set_language_current#\' != \'#set_language#\') {\n $_SESSION[\'nubuilder_session_data\'][\'translation\'] = nuGetTranslation(\'#set_language#\');\n $_SESSION[\'nubuilder_session_data\'][\'language\'] = \'#set_language#\';\n}\n\n// Check if header textarea changed\n\nif (\'#set_header_current#\' != \'#set_header#\' || \'#set_include_current#\' != \'#set_include#\' || \'#set_style_current#\' != \'#set_style#\') {\n nuDisplayMessage(nuTranslate(\'

\'.nuTranslate(\'Information\').\'


You will need to log in again for the changes to take effect.\'));\n}', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL); INSERT INTO `zzzzsys_php` (`zzzzsys_php_id`, `sph_code`, `sph_description`, `sph_group`, `sph_category`, `sph_status`, `sph_php`, `sph_javascript`, `sph_javascript_active`, `sph_run`, `sph_zzzzsys_form_id`, `sph_system`, `sph_global`, `sph_demo`, `sph_template`, `sph_hide`, `sph_json`) VALUES ('nu65046f695d2ff3d', 'nu_create_test_user', 'Create a test user', 'nubuilder', 'Dev', '1', '$password = \'$2y$10$WqzRBCCDuPvyyq3Us53kFewUa02vhlT9NhZz5IOITVz3N8ZOSWgIu\'; // test\n\n$qry = \"\n REPLACE\n INTO `zzzzsys_user`(\n `zzzzsys_user_id`,\n `sus_zzzzsys_access_id`,\n `sus_language`,\n `sus_name`,\n `sus_code`,\n `sus_position`,\n `sus_department`,\n `sus_team`,\n `sus_email`,\n `sus_additional1`,\n `sus_additional2`,\n `sus_login_name`,\n `sus_login_password`,\n `sus_expires_on`,\n `sus_change_password`,\n `sus_accessibility_features`,\n `sus_json`\n )\n VALUES(\n \'test65046e167e07b56\',\n \'test6505159c7272cf6\',\n NULL,\n \'test\',\n \'test\',\n \'pos1\',\n \'dep1\',\n \'test\',\n NULL,\n \'add1\',\n \'add2\',\n \'test\',\n \'$password\',\n NULL,\n \'0\',\n NULL,\n NULL\n );\n \n REPLACE INTO `zzzzsys_access` (`zzzzsys_access_id`, `sal_code`, `sal_description`, `sal_group`, `sal_zzzzsys_form_id`, `sal_use_2fa`, `sal_json`)\n VALUES (\'test6505159c7272cf6\', \'test\', \'test\', \'test\', \'nuuserhome\', NULL, NULL);\n \n REPLACE INTO `zzzzsys_access_form` (`zzzzsys_access_form_id`, `slf_zzzzsys_access_id`, `slf_zzzzsys_form_id`, `slf_add_button`, `slf_save_button`, `slf_delete_button`, `slf_clone_button`, `slf_new_button`, `slf_print_button`, `slf_data_mode`, `slf_form_type`, `slf_json`)\n VALUES\n (\'test6505159c730ed6e\', \'test6505159c7272cf6\', \'nufile\', \'1\', \'1\', \'0\', \'1\', NULL, \'1\', NULL, NULL, NULL),\n (\'test6505159c72cb67d\', \'test6505159c7272cf6\', \'nutranslate\', \'1\', \'1\', \'0\', \'1\', NULL, \'1\', NULL, NULL, NULL)\n\n\n\";\n\nnuRunQuery($qry);', NULL, NULL, 'hide', NULL, '1', '0', '1', '0', '', NULL), ('nusetup_BD', 'nusetup_BD', 'System PHP', 'nubuilder', NULL, '1', 'nuDisplayError(\'The Setup cannot be deleted!\');', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL), ('nusetup_BE', 'nusetup_BE', 'System PHP', 'nubuilder', NULL, '1', '// Settings\n\nrequire_once(\'nusetuplibs.php\');\n\n$config = nuConfigScript();\n$configCode = $config[\'code\'];\n$configJS = $config[\'js\'];\n\n$configJS = $configJS == null ? \"\" : $configJS. \" \" . \"nuHide(\'nuconfigsettingsfromdb_hint\'); \";\n\n\nif ($configCode != null) {\n eval($config[\'code\']);\n}\n\nnuAddJavaScript($configJS);\n\n\nif (isset($_SESSION[\'nubuilder_session_data\'][\'USER_ADDITIONAL1_LABEL\']) && isset($nuConfigUserAdditional1Label)) {\n $_SESSION[\'nubuilder_session_data\'][\'USER_ADDITIONAL1_LABEL\'] = $nuConfigUserAdditional1Label;\n} \n\nif (isset($_SESSION[\'nubuilder_session_data\'][\'USER_ADDITIONAL2_LABEL\']) && isset($nuConfigUserAdditional2Label)) {\n $_SESSION[\'nubuilder_session_data\'][\'USER_ADDITIONAL2_LABEL\'] = $nuConfigUserAdditional2Label;\n}\n\nif (isset($_SESSION[\'nubuilder_session_data\'][\'USER_CODE_LABEL\']) && isset($nuConfigUserCodeLabel)) {\n $_SESSION[\'nubuilder_session_data\'][\'USER_CODE_LABEL\'] = $nuConfigUserCodeLabel;\n}\n\nnuAddJavaScript (\" \n nuSERVERRESPONSE.buttons.Clone = \'0\';\n nuSERVERRESPONSE.buttons.Delete = \'0\';\n\", true);\n\n\n//File Version\n\nfunction getFileVersion() {\n $f = __DIR__ . \'/../version.txt\';\n if (is_readable($f)) {\n $lines = file($f);\n if (count($lines) >= 4) {\n $v = $lines[3];\n $v = preg_replace(\"/\\r|\\n/\", \"\", $v);\n $v = substr($v, 15);\n return $v;\n } \n }\n return \"Unknown\";\n}\n\n\n\n$v = getFileVersion();\n\n$j = \"\n\n function nuGetFilesVersion() {\n return \'$v\';\n }\n\n\";\n\nnuAddJavaScript($j);', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL), ('nutablookup_BB', 'nutablookup_BB', 'System PHP', 'nubuilder', NULL, '1', '$s = \"SELECT zzzzsys_form_id AS theid FROM zzzzsys_form WHERE \";\n$w = \"1\";\nif ($GLOBALS[\'nuSetup\']->set_denied == 1) {\n $w = \"zzzzsys_form_id NOT LIKE \'nu%\' OR zzzzsys_form_id = \'nuuserhome\'\";\n}\n\nnuCreateTableFromSelect(\'#TABLE_ID#\', $s.$w);', NULL, NULL, '', '', '1', '0', '1', '0', '', NULL), ('nutestemail', 'nu_test_email', 'Send a test email', 'nubuilder', 'Email', '1', '$to = \'#ema_to#\';\n$fromAddress = \'#set_smtp_from_address#\';\n$fromName = \'#set_smtp_from_name#\';\n$body = \'#ema_body#\';\n$subject = \'#ema_subject#\';\n$bcc = \'#ema_bcc#\';\n$cc = \'#ema_cc#\';\n$priority = \'#ema_priority#\';\n\n$recipient = ($to == \'\' && $bcc == \'\' && $cc == \'\') ? false : true;\n\nif (! $recipient || $fromAddress == \'\' || $fromName = \'\' || $body == \'\' || $subject == \'\') {\n showMessage(nuTranslate(\'Error\'), nuTranslate(\'Required fields cannot be blank.\'));\n return;\n}\n\n$result = nuSendEmail($to, $fromAddress, $fromName, $body, $subject, [], true, $cc, $bcc, [], $priority);\n\nif (count($result) == 2) {\n showMessage(nuTranslate(\'Result\'), $result[1]);\n} else {\n showMessage(nuTranslate(\'Result\'), $result[1].\'
\'.$result[2]);\n}\n\nfunction showMessage($title, $msg) {\n nuJavaScriptCallback(\"nuMessage(\'$title\', \'$msg\');\");\n}', NULL, NULL, 'hide', '', '1', '0', '1', '0', '', NULL), ('nutranslate_AS', 'nutranslate_AS', 'System PHP', 'nubuilder', NULL, '1', '$i = \'trl_english\';\r\n$t = nuRunQuery(\'SELECT COUNT(*) FROM zzzzsys_debug\');\r\n$c = db_fetch_row($t)[0];\r\n\r\n$j = \";$(\'#$i\').val($c);\";\r\n\r\nnuJavaScriptCallback($j);\r\n', NULL, NULL, '', '', '1', '0', '1', '0', '', NULL), ('nutranslate_BB', 'nutranslate_BB', 'System PHP', 'nubuilder', NULL, '1', 'function sqlLanguage() {\n $sql = \"SELECT DISTINCT trl_language FROM `zzzzsys_translate` ORDER BY trl_language \";\n return $sql;\n}\n\nfunction getBase64JsonDTString($sql) {\n $result = nuRunQuery($sql);\n $a = [];\n $a[] = \'\';\n while ($row = db_fetch_row($result)) {\n $a[] = $row;\n }\n return base64_encode(json_encode( $a ));\n}\n\n$language = getBase64JsonDTString(sqlLanguage(),[]);\n\n$js = \"\n\n function nuTranslationFilterGetLanguage() {\n return JSON.parse(atob(\'$language\'));\n }\n \n\";\n\nnuAddJavaScript($js);\n', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL), ('nutranslate_BD', 'nutranslate_BD', 'System PHP', 'nubuilder', NULL, '1', 'if (\'#DEV_MODE#\' != 1 && substr(\'#RECORD_ID#\', 0, 2) === \'nu\') {\n nuDisplayError(\"nuBuilder\'s translation strings cannot be modified\");\n}', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL), ('nutranslate_BE', 'nutranslate_BE', 'System PHP', 'nubuilder', NULL, '1', '$t = nuRunQuery(\"SELECT MAX(trl_language) FROM zzzzsys_translate GROUP BY trl_language\");\n\n$a = [];\nwhile ($r = db_fetch_row($t)) {\n $a[] = $r[0];\n}\n\n$j = json_encode($a);\n$f = \"\n\nfunction nuLanguages(){\n return $j;\n}\n\n\";\n\nnuAddJavaScript($f);', NULL, NULL, '', '', '1', '0', '1', '0', '', NULL), ('nutranslate_BS', 'nutranslate_BS', 'System PHP', 'nubuilder', NULL, '1', 'if (\'#DEV_MODE#\' != 1 && substr(\'#RECORD_ID#\', 0, 2) === \'nu\') {\n nuDisplayError(\"nuBuilder\'s translation strings cannot be modified\");\n}', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL), ('nuuser_AS', 'nuuser_AS', 'System PHP', 'nubuilder', NULL, '1', '$changePassword = \'#sus_change_password#\' == \'1\';\n\nif (\'#check_password#\' != \'\') {\n\n $userId = \"#RECORD_ID#\";\n\n if ($_SESSION[\'nubuilder_session_data\'][\'USE_MD5_PASSWORD_HASH\'] != true) {\n $pw = nuPasswordHash(\'#check_password#\');\n } else {\n $pw = md5(\'#check_password#\');\n }\n\n nuRunQuery(\"UPDATE zzzzsys_user SET sus_login_password = \'$pw\' WHERE zzzzsys_user_id = ?\", [$userId]);\n\n nuSetUserJSONData(\'PASSWORD_CHANGED_TIME\', time(), $userId);\n\n if ($changePassword) {\n $expirationTime = time() + 3600;\n nuSetUserJSONData(\'OTP_EXPIRATION_TIME\', $expirationTime, $userId);\n }\n \n\n}\n\n\nfunction nuUserSavedInfo() {\n\n global $changePassword;\n\n return array(\n \'change_password\' => $changePassword,\n \'new_user\' => nuHasNewRecordID(),\n \'user_id\' => \'#RECORD_ID#\',\n \'access_level_id\' => \'#sus_zzzzsys_access_id#\',\n \'team\' => \'#sus_team#\',\n \'department\' => \'#sus_department#\',\n \'position\' => \'#sus_position#\' \n );\n\n}\n\nif (\'#user_send_welcome_email#\' == \'1\') {\n $result = nuRunProcedure(\'nu_send_welcome_email\');\n if ($result === false) {\n nuRunProcedure(\'nu_send_welcome_email_template\');\n }\n}', NULL, NULL, '', '', '1', '0', '1', '0', '', NULL), ('nuuser_BB', 'nuuser_BB', 'System PHP', 'nubuilder', NULL, '1', '$getDistinctUserColumnQuery = function($column) {\n\n $sqlWhereExpired = \"(\n ((\'#nu5fe0352637b2e4f_filter#\' LIKE \'#%\' OR \'#nu5fe0352637b2e4f_filter#\' = \'\') AND (sus_expires_on > NOW() OR sus_expires_on IS NULL)) OR\n (\'#nu5fe0352637b2e4f_filter#\' = \'Expired\' AND sus_expires_on < NOW())\n ) \";\n\n return \"\n SELECT DISTINCT IFNULL(`$column`, \'\') AS value, IFNULL(`$column`, \'\') AS `text`\n FROM `zzzzsys_user`\n WHERE IFNULL(`$column`, \'\') <> \'\'\n AND $sqlWhereExpired\n ORDER BY value\n \";\n\n};\n\n$sqlPosition = function() use ($getDistinctUserColumnQuery) {\n return $getDistinctUserColumnQuery(\'sus_position\');\n};\n\n$sqlTeam = function() use ($getDistinctUserColumnQuery) {\n return $getDistinctUserColumnQuery(\'sus_team\');\n};\n\n$sqlDepartment = function() use ($getDistinctUserColumnQuery) {\n $x = $getDistinctUserColumnQuery(\'sus_department\');\n return $x;\n};\n\n$sqlLanguage = function() use ($getDistinctUserColumnQuery) {\n return $getDistinctUserColumnQuery(\'sus_language\');\n};\n\n$sqlAccessLevel = function() {\n\n $sqlWhereExpired = \"(\n ((\'#nu5fe0352637b2e4f_filter#\' LIKE \'#%\' OR \'#nu5fe0352637b2e4f_filter#\' = \'\') AND (sus_expires_on > NOW() OR sus_expires_on IS NULL)) OR\n (\'#nu5fe0352637b2e4f_filter#\' = \'Expired\' AND sus_expires_on < NOW()))\";\n\n $sql = \"SELECT DISTINCT CONCAT(sal_code, \' : \', sal_description) AS display\n FROM `zzzzsys_user`\n INNER JOIN zzzzsys_access ON zzzzsys_access_id = sus_zzzzsys_access_id\n WHERE $sqlWhereExpired\n ORDER BY CONCAT(sal_code, \' : \', sal_description)\";\n\n return $sql;\n\n};\n\n$position = nuEncodeQueryRowResults($sqlPosition(), [], [\'-1\',\'\']);\n$team = nuEncodeQueryRowResults($sqlTeam(), [], [\'-1\',\'\']);\n$department = nuEncodeQueryRowResults($sqlDepartment(), [], [\'-1\',\'\']);\n$language = nuEncodeQueryRowResults($sqlLanguage(), [], [\'-1\',\'\']);\n$accessLevel = nuEncodeQueryRowResults($sqlAccessLevel(), []);\n\n$filterJS = \"\n function nuUserFilterGetData(data) {\n return JSON.parse(atob(data));\n }\n function nuUserFilterGetPosition() {\n return nuUserFilterGetData(\'$position\');\n }\n function nuUserFilterGetTeam() {\n return nuUserFilterGetData(\'$team\');\n }\n\n function nuUserFilterGetDepartment() {\n return nuUserFilterGetData(\'$department\');\n }\n function nuUserFilterGetLanguage() {\n return nuUserFilterGetData(\'$language\');\n }\n\n function nuUserFilterGetAccessLevel() {\n return nuUserFilterGetData(\'$accessLevel\');\n }\n\";\n\n\n$addCode = $_SESSION[\'nubuilder_session_data\'][\'USER_CODE_LABEL\'] ?? \'\';\n\n$addCodeJS = \"\n\n if (\'$addCode\' !== \'\') {\n $(\'#nusort_5\').html(\'$addCode\')\n };\n\n\";\n\nnuAddJavaScript($filterJS . $addCodeJS);', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL), ('nuuser_BE', 'nuuser_BE', 'System PHP', 'nubuilder', NULL, '1', '$nubuilderSessionData = $_SESSION[\'nubuilder_session_data\'];\n\n$add1Label = $nubuilderSessionData[\'USER_ADDITIONAL1_LABEL\'] ?? \'\';\n$add2Label = $nubuilderSessionData[\'USER_ADDITIONAL2_LABEL\'] ?? \'\';\n$addCode = $nubuilderSessionData[\'USER_CODE_LABEL\'] ?? \'\';\n\n$js = \"\n\n if (\'$add1Label\') { nuSetLabelText(\'sus_additional1\', \'$add1Label\', true) };\n if (\'$add2Label\') { nuSetLabelText(\'sus_additional2\', \'$add2Label\', true) };\n if (\'$addCode\') { nuSetLabelText(\'sus_code\', \'$addCode\', true) };\n\";\n\nnuAddJavaScript($js);', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL), ('nuuser_BS', 'nuuser_BS', 'System PHP', 'nubuilder', NULL, '1', '$newPassword = \'#new_password#\';\n$checkPassword = \'#check_password#\';\n$passwordsMatch = $newPassword === $checkPassword;\n$newRecord = nuHasNoRecordID();\n$email = \'#sus_email#\';\n$sendWelcomeEmail = \'#user_send_welcome_email#\' == \'1\';\n\n$err = \"\";\nif ($newRecord && (empty($newPassword) || empty($checkPassword))) {\n $err = nuTranslate(\"Both password fields must be filled in.\");\n}\n\nif (!$passwordsMatch) {\n $err = nuTranslate(\"The passwords do not match.\");\n}\n\nif ($sendWelcomeEmail) {\n\n if (!nuIsValidEmail($email)) {\n $err .= \'
\' . nuTranslate(\"Invalid email address.\");\n }\n\n if (!$newRecord && (empty($newPassword) || empty($checkPassword))) {\n $err .= \'
\' . nuTranslate(\"Password required to send welcome email.\");\n }\n\n}\n\nif (!empty($err)) {\n nuDisplayError($err);\n}', NULL, NULL, '', '', '1', '0', '1', '0', '', NULL), ('nusetup_BS', 'nusetup_BS', 'System PHP', 'nubuilder', NULL, '1', '$DEV_MODE = \'#DEV_MODE#\' == \'1\';\nif ($DEV_MODE) {\n if (nuSetupHasNonNuPrefixes()) {\n return;\n }\n}\n\nfunction nuSetupHasNonNuPrefixes() {\n\n $select = \"\n SELECT \'zzzzsys_browse\', `zzzzsys_browse_id` FROM `zzzzsys_browse` WHERE `zzzzsys_browse_id` NOT LIKE \'nu%\' UNION ALL\n SELECT \'zzzzsys_cloner\', `zzzzsys_cloner_id` FROM `zzzzsys_cloner` WHERE `zzzzsys_cloner_id` NOT LIKE \'nu%\' UNION ALL\n SELECT \'zzzzsys_code_snippet\', `zzzzsys_code_snippet_id` FROM `zzzzsys_code_snippet` WHERE `zzzzsys_code_snippet_id` NOT LIKE \'nu%\' UNION ALL\n SELECT \'zzzzsys_config\', `zzzzsys_config_id` FROM `zzzzsys_config` WHERE `zzzzsys_config_id` NOT LIKE \'nu%\' UNION ALL\n SELECT \'zzzzsys_debug\', `zzzzsys_debug_id` FROM `zzzzsys_debug` WHERE `zzzzsys_debug_id` NOT LIKE \'nu%\' UNION ALL\n SELECT \'zzzzsys_email_log\', `zzzzsys_email_log_id` FROM `zzzzsys_email_log` WHERE `zzzzsys_email_log_id` NOT LIKE \'nu%\' UNION ALL\n SELECT \'zzzzsys_email_template\', `zzzzsys_email_template_id` FROM `zzzzsys_email_template` WHERE `zzzzsys_email_template_id` NOT LIKE \'nu%\' UNION ALL\n SELECT \'zzzzsys_event\', `zzzzsys_event_id` FROM `zzzzsys_event` WHERE `zzzzsys_event_id` NOT LIKE \'nu%\' UNION ALL\n SELECT \'zzzzsys_file\', `zzzzsys_file_id` FROM `zzzzsys_file` WHERE `zzzzsys_file_id` NOT LIKE \'nu%\' UNION ALL\n SELECT \'zzzzsys_form\', `zzzzsys_form_id` FROM `zzzzsys_form` WHERE `zzzzsys_form_id` NOT LIKE \'nu%\' UNION ALL\n SELECT \'zzzzsys_format\', `zzzzsys_format_id` FROM `zzzzsys_format` WHERE `zzzzsys_format_id` NOT LIKE \'nu%\' UNION ALL\n SELECT \'zzzzsys_info\', `zzzzsys_info_id` FROM `zzzzsys_info` WHERE `zzzzsys_info_id` NOT LIKE \'nu%\' UNION ALL\n SELECT \'zzzzsys_note\', `zzzzsys_note_id` FROM `zzzzsys_note` WHERE `zzzzsys_note_id` NOT LIKE \'nu%\' UNION ALL\n SELECT \'zzzzsys_note_category\', `zzzzsys_note_category_id` FROM `zzzzsys_note_category` WHERE `zzzzsys_note_category_id` NOT LIKE \'nu%\' UNION ALL\n SELECT \'zzzzsys_object\', `zzzzsys_object_id` FROM `zzzzsys_object` WHERE `zzzzsys_object_id` NOT LIKE \'nu%\' UNION ALL\n SELECT \'zzzzsys_permission_item\', `zzzzsys_permission_item_id` FROM `zzzzsys_permission_item` WHERE `zzzzsys_permission_item_id` NOT LIKE \'nu%\' UNION ALL\n SELECT \'zzzzsys_php\', `zzzzsys_php_id` FROM `zzzzsys_php` WHERE `zzzzsys_php_id` NOT LIKE \'nu%\' UNION ALL\n SELECT \'zzzzsys_report\', `zzzzsys_report_id` FROM `zzzzsys_report` WHERE `zzzzsys_report_id` NOT LIKE \'nu%\' UNION ALL\n SELECT \'zzzzsys_select\', `zzzzsys_select_id` FROM `zzzzsys_select` WHERE `zzzzsys_select_id` NOT LIKE \'nu%\' UNION ALL\n SELECT \'zzzzsys_select_clause\', `zzzzsys_select_clause_id` FROM `zzzzsys_select_clause` WHERE `zzzzsys_select_clause_id` NOT LIKE \'nu%\' UNION ALL\n SELECT \'zzzzsys_tab\', `zzzzsys_tab_id` FROM `zzzzsys_tab` WHERE `zzzzsys_tab_id` NOT LIKE \'nu%\' UNION ALL\n SELECT \'zzzzsys_translate\', `zzzzsys_translate_id` FROM `zzzzsys_translate` WHERE `zzzzsys_translate_id` NOT LIKE \'nu%\' UNION ALL\n SELECT \'zzzzsys_user_permission\', `zzzzsys_user_permission_id` FROM `zzzzsys_user_permission` WHERE `zzzzsys_user_permission_id` NOT LIKE \'nu%\' UNION ALL\n SELECT \'sob_all_zzzzsys_tab_id\', `sob_all_zzzzsys_tab_id` FROM `zzzzsys_object` WHERE `sob_all_zzzzsys_tab_id` NOT LIKE \'nu%\' UNION ALL\n SELECT \'sob_all_zzzzsys_form_id\', `sob_all_zzzzsys_form_id` FROM `zzzzsys_object` WHERE `sob_all_zzzzsys_form_id` NOT LIKE \'nu%\' UNION ALL\n SELECT \'sob_run_zzzzsys_form_id\', `sob_run_zzzzsys_form_id` FROM `zzzzsys_object` WHERE `sob_run_zzzzsys_form_id` NOT LIKE \'nu%\' AND IFNULL(sob_run_zzzzsys_form_id, \'\') != \'\' UNION ALL\n SELECT \'sob_lookup_zzzzsys_form_id\', `sob_lookup_zzzzsys_form_id` FROM `zzzzsys_object` WHERE `sob_lookup_zzzzsys_form_id` NOT LIKE \'nu%\' AND IFNULL(sob_lookup_zzzzsys_form_id, \'\') != \'\' UNION ALL\n SELECT \'sob_subform_zzzzsys_form_id\', `sob_subform_zzzzsys_form_id` FROM `zzzzsys_object` WHERE `sob_subform_zzzzsys_form_id` NOT LIKE \'nu%\' AND IFNULL(sob_subform_zzzzsys_form_id, \'\') != \'\' ;\n \";\n \n $stmt = nuRunQuery($select);\n\n if (db_num_rows($stmt) > 0) {\n $msg = \'Rows with no nu-prefixes found:
\';\n while($row = db_fetch_row($stmt)){\n $msg .= $row[0].\"->\".$row[1].\"
\";\n }\n \n nuDisplayError($msg);\n false;\n }\n \n return true;\n\n}\n\nfunction nuConfigValueToTable($line, $setting, $oldValue) {\n\n $parts = explode(\"=\", $line);\n\n $newValue = $parts[1];\n $newValue = str_replace(\'\"\', \"\", $newValue);\n $newValue = str_replace(\"\'\", \"\", $newValue);\n\n $partsValue = explode(\";\", $newValue);\n $newValue = trim($partsValue[0]);\n\n $update = $newValue != $oldValue;\n\n if ($setting == \'nuCalendarStartOfWeek\' && strlen($newValue) > 1) {\n $newValue = str_replace(\"Monday\", \"1\", $newValue);\n $newValue = str_replace(\"Sunday\", \"0\", $newValue);\n }\n\n if ($update) nuRunQuery(\'UPDATE zzzzsys_config SET cfg_value = ? WHERE cfg_setting = ?\', [$newValue, $setting]);\n\n return $update;\n\n}\n\nif (\"#configImport#\" == \'1\') {\n\n // Import config settings form nuconfig.php\n $s = \"SELECT cfg_setting, cfg_value AS old_value FROM zzzzsys_config \";\n $t = nuRunQuery($s);\n $config = file(__DIR__ .\"/../nuconfig.php\");\n\n while ($r = db_fetch_object($t)) {\n\n foreach ($config as $line) {\n if (trim($line) !== \'\' && nuStringContains($r->cfg_setting, $line) == true) {\n nuConfigValueToTable($line, $r->cfg_setting, $r->old_value);\n break;\n }\n\n }\n\n }\n\n}', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL), ('nu62bdc77f2dc0351', 'nu_generate_uid_list', 'Generate nuID List', 'nubuilder', 'Dev', '1', '// Call: nuRunPHP(\'nu_generate_uid_list\',\'\',0)\n\nfor ($x = 0; $x <= 1000; $x++) {\n echo nuID().\"
\";\n}', NULL, NULL, 'window', '', '1', '1', '1', '0', '', NULL), ('nu62c488df22285ea', 'nu_dump_form_codes', 'Dump form js and php codes to files', 'nubuilder', 'Dev', '1', 'if (!nuGlobalAccess()) {\n return;\n}\n\n// PHP\n$s = \"SELECT sph_code, sph_php FROM `zzzzsys_php`\";\n$t = nuRunQuery($s);\n\nwhile ($r = db_fetch_object($t)) {\n nuSetupDumpCodeFile(\'php_codes\', $r->sph_code, $r->sph_php, \'\', \"php\");\n}\n\n// Object events\n$s = \"\n SELECT\n CONCAT(sfo_code, \'_\', sob_all_id, \'_\', zzzzsys_event_id) as id,\n sev_javascript\n FROM\n zzzzsys_object\n JOIN zzzzsys_event ON zzzzsys_event.sev_zzzzsys_object_id = zzzzsys_object.zzzzsys_object_id\n JOIN zzzzsys_tab ON zzzzsys_tab_id = sob_all_zzzzsys_tab_id\n JOIN zzzzsys_form ON zzzzsys_form_id = syt_zzzzsys_form_id\n WHERE\n IFNULL(sev_javascript, \'\') <> \'\'\n\";\n\n$t = nuRunQuery($s);\nwhile ($r = db_fetch_object($t)) {\n nuSetupDumpCodeFile(\'object_events\', $r->id, $r->sev_javascript, \'\', \"js\");\n}\n\n\n// Form JS\n$s = \"SELECT sfo_code, sfo_javascript, sfo_browse_javascript, sfo_edit_javascript FROM `zzzzsys_form`\";\n$t = nuRunQuery($s);\n\nwhile ($r = db_fetch_object($t)) {\n\n nuSetupDumpCodeFile(\'js_codes\', $r->sfo_code, $r->sfo_javascript, \'sfo_javascript\', \"js\");\n nuSetupDumpCodeFile(\'js_codes\', $r->sfo_code, $r->sfo_edit_javascript, \'sfo_edit_javascript\', \"js\");\n nuSetupDumpCodeFile(\'js_codes\', $r->sfo_code, $r->sfo_browse_javascript, \'sfo_browse_javascript\', \"js\");\n\n}\n\n\nfunction nuSetupDumpCodeFile($folder, $sfoCode, $code, $postfix, $extension) {\n $postfix = $postfix == \'\' ? \'\' : \"_\" . $postfix;\n $file = $sfoCode . $postfix . \".\" . $extension;\n $code = $code == NULL ? \'\' : $code;\n\n if (strlen($code) > 0) {\n $dir = dirname(__DIR__, 1) . DIRECTORY_SEPARATOR . \"form_codes\" . DIRECTORY_SEPARATOR . $folder . DIRECTORY_SEPARATOR;\n\n if (!file_exists($dir)) {\n mkdir($dir, 0777, true);\n }\n\n $file_path = $dir . $file;\n file_put_contents($file_path, $code);\n }\n}', NULL, NULL, 'hide', '', '1', '0', '1', '0', '', NULL), ('nu62da72900a02b9a', 'nu_upload_file_template', 'Upload Files Template', 'nubuilder', 'File Upload', '1', '$allowedTypes = [\n // Documents\n \'application/pdf\',\n \'application/msword\',\n \'application/vnd.openxmlformats-officedocument.wordprocessingml.document\',\n \'application/rtf\',\n\n // Spreadsheets\n \'application/vnd.ms-excel\',\n \'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\',\n\n // Presentations\n \'application/vnd.ms-powerpoint\',\n \'application/vnd.openxmlformats-officedocument.presentationml.presentation\',\n\n // Text / Code\n \'text/plain\',\n \'text/csv\',\n \'application/json\',\n \'application/xml\',\n \'text/xml\',\n \'application/javascript\',\n \'text/html\',\n \'text/css\',\n\n // Archives\n \'application/zip\',\n \'application/x-rar-compressed\',\n \'application/x-7z-compressed\',\n\n // Images\n \'image/png\',\n \'image/jpeg\',\n \'image/svg+xml\',\n \n // Media\n \'audio/mpeg\',\n \'video/mp4\'\n];\n\n// Maximum file size\n$maxFileSize = 5 * 1024 * 1024; // (5 MB)\n\n// Target directory\n$targetDirectory = $_SERVER[\'DOCUMENT_ROOT\'] . \'/\';\n// $targetDirectory = \'../uploads/\';\n\n// Ensure the directory exists\nif (!is_dir($targetDirectory)) {\n mkdir($targetDirectory, 0755, true);\n}\n\ntry {\n\n // Sanitize file name\n $fileName = nuSanitizeFilename(basename($_FILES[\'file\'][\'name\']));\n\n // Check file size\n if ($_FILES[\'file\'][\'size\'] > $maxFileSize) {\n throw new Exception(\'Exceeded file size limit\');\n }\n\n // Check file type\n $finfo = new finfo(FILEINFO_MIME_TYPE);\n if (!in_array($finfo->file($_FILES[\'file\'][\'tmp_name\']), $allowedTypes)) {\n throw new Exception(\'Invalid file type\');\n }\n\n // Build target file path\n $targetFile = $targetDirectory . $fileName;\n\n if (move_uploaded_file($_FILES[\'file\'][\'tmp_name\'], $targetFile)) {\n $data = [\'url\' => $targetFile,\n \'file\' => $fileName,\n \'message\' => \'The file \' . $fileName . \' has been uploaded.\'];\n http_response_code(201);\n $result = json_encode($data);\n } else {\n throw new Exception(nuTranslate(\'Unable to move the uploaded file to its final location:\') . $targetFile);\n }\n\n} catch(\\Throwable $th) {\n\n $result = nuSetUploadError(\'Sorry, there was an error uploading your file.\');\n\n}', NULL, NULL, 'hide', '', '0', '1', '1', '1', '', NULL), ('nu6401bbc46484fe0', 'nu_debug_result_added_template', 'nuDebug Result Added Template', 'nubuilder', 'Debugging', '1', '$body = \"Debug ID: $nuDebugId

Debug Message: \" . nl2br($nuDebugMsg) . \"

User ID: $nuDebugUserId

Flag: $nuDebugFlag\";\n\n$to = \'your_email_address_here\';\n\n$subject = \'[nuBuilder] nuDebug Information Added\';\n\nnuSendEmail([\n \'to\' => $to,\n \'body\' => $body,\n \'subject\' => $subject\n]);\n', NULL, NULL, 'hide', '', '0', '1', '1', '1', '', NULL), ('nu6454bcdad05d10e', 'nu_version_info', 'Display Version information', 'nubuilder', 'Information', '1', '$databaseSql = \"SELECT CONCAT(@@version_comment, \' \', @@version)\";\n$nuDbSql = \"SELECT inf_details FROM zzzzsys_info WHERE inf_code = ?\";\n$nuDbVersion = db_fetch_row(nuRunQuery($nuDbSql, [\'nuDBVersion\']))[0];\n$nuFilesVersion = db_fetch_row(nuRunQuery($nuDbSql, [\'nuFilesVersion\']))[0];\n\n$versionInfo =\n\'

Version Info


\' .\n\'Database: \' . db_fetch_row(nuRunQuery($databaseSql))[0] . \'
\' .\n\'PHP: \' . phpversion() . \'
\' .\n\'nuBuilder DB: \' . $nuDbVersion . \'
\' .\n\'nuBuilder Files: \' . $nuFilesVersion;\n\n$js = \"nuMessage(\'$versionInfo\').css(\'max-width\',\'400px\')\";\nnuJavaScriptCallback($js);', NULL, NULL, 'hide', '', '1', '0', '1', '0', '', NULL), ('nuemailtemplate_BS', 'nuemailtemplate_BS', 'System PHP', 'nubuilder', NULL, '1', 'if (\'#DEV_MODE#\' != 1 && \'#emt_template#\' == \'1\') {\n nuDisplayError(nuTranslate(\"Templates cannot be saved. Clone it instead.\"));\n}\n\nfunction nuEmailtemplateExists($group, $code, $language) {\n\n $sql = \"\n SELECT 1\n FROM zzzzsys_email_template\n WHERE IFNULL(emt_group,\'\') = ?\n AND IFNULL(emt_code,\'\') = ?\n AND IFNULL(emt_language,\'\') = ?\n LIMIT 1\n \";\n\n $stmt = nuRunQuery($sql, [$group, $code, $language]);\n\n return db_num_rows($stmt) > 0;\n}\n\nif (nuHasNoRecordID() \n && nuEmailtemplateExists(\n nuGetProperty(\'emt_group\'), \n nuGetProperty(\'emt_code\'), \n nuGetProperty(\'emt_language\')\n )\n) {\n nuDisplayError(\n nuTranslate(\"Duplicate entry: Code, Group and Language together must form a unique template.\")\n );\n}\n', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL), ('nu64f9c4ec5f59275', 'nu_send_welcome_email_template', 'Procedure is called when \"Send welcome email\" is checked in the user form', 'nubuilder', 'Email', '1', '// Retrieve Information about the user\n\n/*\n$userSavedInfo = nuUserSavedInfo();\n\n$userId = $userSavedInfo[\"user_id\"];\n$AccessLevelId = $userSavedInfo[\"access_level_id\"];\n$team = $userSavedInfo[\"team\"];\n$department = $userSavedInfo[\"department\"];\n$position = $userSavedInfo[\"position\"];\n\n$changePassword = $userSavedInfo[\"change_password\"]; // 1 = true, 0 = false\n$newUser = $userSavedInfo[\"new_user\"]; // 1 = true, 0 = false\n\n*/\n\n// Retrieve the template data (Template code, language, group)\n// nuGetEmailTemplateData($code, $language = \'\', $group = \'\')\n\n$template = nuGetEmailTemplateData(\"nu_send_welcome_email_template\", \'\', \'nubuilder\');\nif ($template == false) {\n // Retrieve the template data (Template code)\n $template = nuGetEmailTemplateData(\"nu_send_welcome_email\", \'\');\n if ($template == false) {\n nuDisplayError(\'Unknown email template!\');\n return;\n }\n}\n\n$sendResult = sendEmailFromTemplate($template);\nif ($sendResult[0] != true) {\n nuDisplayError($sendResult[1].\'
\'.$sendResult[2]);\n}\n\n// Sends an email message using an email template.\nfunction sendEmailFromTemplate($template) {\n\n $body = str_replace(\'#\'.\'NUBUILDER_URL\'.\'#\', nuGetHttpOrigin() , $template[\'body\']);\n\n $params = array(\n \'to\' => $template[\'to\'],\n \'cc\' => $template[\'cc\'],\n \'bcc\' => $template[\'bcc\'],\n \'body\' => nl2br($body),\n \'subject\' => $template[\'subject\']\n );\n\n // Replace all Hash Cookies\n foreach ($params as $key => $value) {\n $params[$key] = nuReplaceHashVariables($value);\n }\n\n return nuSendEmail($params);\n\n}', NULL, NULL, 'hide', '', '0', '1', '1', '1', '', NULL), ('nu65d7dabf1036576_AB', 'nu65d7dabf1036576_AB', 'System PHP', 'nubuilder', NULL, '1', 'nuSetFormValue(\'upe_active\', \'1\');', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL), ('nuphp_AS', 'nuphp_AS', 'System PHP', 'nubuilder', NULL, '1', '$justphp = nuObjKey(nuHash(),\'filter\') == \'justphp\';\n\nif (\'#DEV_MODE#\' != 1 && substr(\'#RECORD_ID#\', 0, 2) === \'nu\' ) {\n if ($justphp) {\n nuDisplayError(nuTranslate(\'

\'.nuTranslate(\'Information\').\'


Changes in system forms are overwritten with an update\')); \n } \n}', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL), ('nuphp_BB', 'nuphp_BB', 'System PHP', 'nubuilder', NULL, '1', '$select = \"SELECT zzzzsys_php_id AS theid FROM zzzzsys_php WHERE sph_system != \'1\'\";\n\nnuCreateTableFromSelect(\'#TABLE_ID#\', $select);', NULL, NULL, '', '', '1', '0', '1', '0', '', NULL), ('nuphp_BE', 'nuphp_BE', 'System PHP', 'nubuilder', NULL, '1', 'return;\n$rid = \'#RECORD_ID#\';\n\nif($rid != \'-1\' and $rid != \'-2\'){ \n \n $s = \"SELECT * FROM zzzzsys_php WHERE zzzzsys_php_id = \'$rid\'\";\n $t = nuRunQuery($s);\n $r = db_fetch_object($t);\n \n if(db_num_rows($t) == 0){\n \n $s = \"\n INSERT INTO zzzzsys_php\n (\n zzzzsys_php_id,\n sph_code,\n sph_description,\n sph_group,\n sph_system\n )\n VALUES\n (\n \'$rid\', \n \'$rid\', \n \'System PHP\', \n \'nubuilder\', \n \'1\'\n )\n \";\n \n nuRunQuery($s);\n \n }\n \n}\n\n', NULL, NULL, '', '', '1', '0', '1', '0', '', NULL), ('nuphp_BS', 'nuphp_BS', 'System PHP', 'nubuilder', NULL, '1', '$justphp = nuObjKey(nuHash(), \'filter\') == \'justphp\';\n\nif (\'#DEV_MODE#\' != 1 && \'#sph_template#\' == \'1\') {\n if (! $justphp) {\n nuDisplayError(nuTranslate(\"Templates cannot be saved. Clone it instead.\"));\n return;\n }\n}\n\n\n\n$rid = \'#RECORD_ID#\';\n\nif ($rid != \'-1\' and $rid != \'-2\') {\n\n $s = \"SELECT * FROM zzzzsys_php WHERE zzzzsys_php_id = \'$rid\'\";\n $t = nuRunQuery($s);\n $r = db_fetch_object($t);\n\n if (db_num_rows($t) == 0) {\n\n $s = \"\n INSERT INTO zzzzsys_php\n (\n zzzzsys_php_id,\n sph_code,\n sph_description,\n sph_group,\n sph_system\n )\n VALUES\n (\n \'$rid\',\n \'$rid\',\n \'System PHP\',\n \'nubuilder\',\n \'1\'\n )\n \";\n\n nuRunQuery($s);\n\n }\n\n}', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL), ('nu65f27499be765b1_AB', 'nu5fe94c6815842ec_AB', 'System PHP', 'nubuilder', NULL, '1', 'nuSetFormValue(\'sph_code_snippet_paste\', nuLookupRecord()->cot_source_code);', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL), ('nuemaillog_BB', 'nuemaillog_BB', 'System PHP', 'nubuilder', NULL, '1', '$getDistinctUserColumnQuery = function($column) {\n return \"SELECT DISTINCT `$column` FROM `zzzzsys_email_log` WHERE IFNULL(`$column`,\'\') <> \'\' ORDER BY `$column`\";\n};\n\n$sqlState = function() use ($getDistinctUserColumnQuery) {\n return $getDistinctUserColumnQuery(\'eml_state\');\n};\n\n\n$state = nuEncodeQueryRowResults($sqlState(), [], [\'\']);\n\n$filterJS = \"\n function nuEmailLogFilterGetData(data) {\n return JSON.parse(atob(data));\n }\n\n function nuEmailLogFilterGetGroup() {\n return nuEmailLogFilterGetData(\'$state\');\n }\n\";\n\n\n\nnuAddJavaScript($filterJS);', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL), ('nudebug_BB', 'nudebug_BB', 'System PHP', 'nubuilder', NULL, '1', '$getDistinctUserColumnQuery = function($column) {\n return \"SELECT DISTINCT `$column` FROM `zzzzsys_debug` WHERE IFNULL(`$column`,\'\') <> \'\' ORDER BY `$column`\";\n};\n\n$sqlSFlag = function() use ($getDistinctUserColumnQuery) {\n return $getDistinctUserColumnQuery(\'deb_flag\');\n};\n\n\n$flag = nuEncodeQueryRowResults($sqlSFlag(), [], [\'\']);\n\n$filterJS = \"\n function getData(data) {\n return JSON.parse(atob(data));\n }\n\n function getFlag() {\n return getData(\'$flag\');\n }\n\";\n\n\n\nnuAddJavaScript($filterJS);', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL), ('nurunlist_BB', 'nurunlist_BB', 'System PHP', 'nubuilder', NULL, '1', '$select =\n\n\"\n SELECT * FROM (\n SELECT\n `zzzzsys_form`.`zzzzsys_form_id` AS `zzzzsys_debug_id`,\n \'Form\' AS `run`,\n `zzzzsys_form`.`sfo_code` AS `code`,\n `zzzzsys_form`.`sfo_description` AS `description`\n FROM\n `zzzzsys_form`\n UNION\n SELECT\n `zzzzsys_report`.`zzzzsys_report_id` AS `zzzzsys_debug_id`,\n \'Report\' AS `run`,\n `zzzzsys_report`.`sre_code` AS `code`,\n `zzzzsys_report`.`sre_description` AS `description`\n FROM\n `zzzzsys_report`\n UNION\n SELECT\n `zzzzsys_php`.`zzzzsys_php_id` AS `zzzzsys_debug_id`,\n \'Procedure\' AS `run`,\n `zzzzsys_php`.`sph_code` AS `code`,\n `zzzzsys_php`.`sph_description` AS `description`\n FROM\n `zzzzsys_php`\n WHERE\n (`zzzzsys_php`.`sph_system` <> 1)\n ) AS combined\n ORDER BY\n `code`\n\";\n\nnuCreateTableFromSelect(\'#TABLE_ID#\', $select);', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL), ('nu5bad6cb35f2188f_AB', 'nu5bad6cb35f2188f_AB', 'System PHP', 'nubuilder', NULL, '1', '$r = nuLookupRecord();\n\nif (isset($r->zzzzsys_report_data_id)) {\n $tt = nuTTList($r->zzzzsys_report_data_id, \'nublank\'); //-- Field list from Temp table\n \n nuSetFormValue(\'fieldlist\', json_encode($tt));\n}\n', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL), ('nu67a6f7ac7964d96', 'nu_session_terminate', 'Terminate nuBuilder Sessions', 'nubuilder', 'Session', '1', '$option = nuGetProperty(\'nu_session_terminate_option\');\nif (!$option) {\n nuRunQuery(\'DELETE FROM `zzzzsys_session`\');\n} else {\n $sessionID = nuHash()[\"session_id\"];\n nuRunQuery(\'DELETE FROM `zzzzsys_session` WHERE zzzzsys_session_id <> ?\', [$sessionID]);\n}', NULL, NULL, 'hide', '', '1', '0', '0', '0', '', NULL), ('nu67aa95468188689', 'nu_browse_delete_row', 'Delete a Browse row', 'nubuilder', 'Browse', '1', 'function nuDeleteRowGetFormTableInfo($formId) {\n\n $sql = \"SELECT sfo_table, sfo_primary_key FROM `zzzzsys_form` WHERE `zzzzsys_form_id` = ?\";\n\n $t = nuRunQuery($sql, [$formId]);\n $r = db_fetch_object($t);\n\n return [$r->sfo_table,\n $r->sfo_primary_key];\n\n}\n\n\nfunction nuDeleteRowHasDeletePermission($formId) {\n\n if (nuGlobalAccess()) {\n return true;\n }\n\n $sql = \"SELECT * FROM zzzzsys_access_form WHERE slf_zzzzsys_access_id = ? AND slf_zzzzsys_form_id = ?\";\n\n $t = nuRunQuery($sql, [$groupId, $formId]);\n $r = db_fetch_object($t);\n\n return $r->slf_delete_button == 1;\n}\n\nfunction nuDeleteRowDeleteRecord($formId, $recordId) {\n\n if (nuDeleteRowHasDeletePermission($formId)) {\n\n $tableInfo = nuDeleteRowGetFormTableInfo($formId);\n $tableName = $tableInfo[0];\n $tablePk = $tableInfo[1];\n\n $qry = \"DELETE FROM `$tableName` WHERE `$tablePk` = ? \";\n\n nuRunQuery($qry, [$recordId]);\n\n // The function afterDeleteRow() must be declared in the form\'s Custom Code\n $j = \"nuAfterDeleteRow();\";\n nuJavascriptCallback($j);\n\n } else {\n nuDisplayError(nuTranslate(\"Delete is disabled for this Access Level\"));\n }\n\n}\n\nnuDeleteRowDeleteRecord(\"#nu_browse_delete_row_form_id#\", \"#nu_browse_delete_row_record_id#\");', NULL, NULL, 'hide', '', '1', '0', '0', '0', '', NULL), ('nuformat_BS', 'nuFormat_BS', 'System PHP', 'nubuilder', NULL, '1', 'if (\'#srm_default#\' == 0) return;\n\n$update = \"\n\n UPDATE `zzzzsys_format`\n SET srm_default = 0\n WHERE srm_type = \'#srm_type#\'\n AND zzzzsys_format_id <> ?\n\n\";\n\nnuRunQuery($update, [\'#record_id#\']);', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL), ('nu67b5eba0a682823', 'nu_format_get_default', 'Get Default Input Format', 'nubuilder', 'Format', '1', '$inputType = nuGetProperty(\'nu_format_get_default_input_type\');\n$formats = nuGetDefaultFormats();\n$default = $formats[$inputType];\n\n$js = \"nuSetDefaultFormat(\'$default\'); \";\n\nnuJavaScriptCallback($js);', NULL, NULL, 'hide', '', '1', '0', '1', '0', '', NULL), ('nufile_BB', 'nufile_BB', 'System PHP', 'nubuilder', NULL, '1', '$select = \"\nSELECT \n zf.*, \n CASE \n WHEN zf.sfi_group = \'nubuilder\' THEN 0\n ELSE IFNULL(obj.counter, 0)\n END AS counter\nFROM \n zzzzsys_file zf\nLEFT JOIN (\n SELECT \n sob_image_zzzzsys_file_id AS zzzzsys_file_id,\n COUNT(*) AS counter\n FROM \n zzzzsys_object\n WHERE \n sob_image_zzzzsys_file_id IS NOT NULL\n GROUP BY \n sob_image_zzzzsys_file_id\n) obj ON zf.zzzzsys_file_id = obj.zzzzsys_file_id\nORDER BY \n sfi_code\n\n\";\n\n\nnuCreateTableFromSelect(\'#TABLE_ID#\', $select);', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL), ('nu682ce26ca553942', 'nu_get_access_levels_from_form', 'Copies Access Levels from one form to another', 'nubuilder', 'Access Level', '1', '$decodedParams = nuGetProperty(\'params\');\nif ($decodedParams) {\n $parsedData = nuDecode($decodedParams);\n\n // Retrieve form IDs\n $sourceFormID = $parsedData[\'source_form_id\'] ?? \'\';\n $destinationFormID = $parsedData[\'destination_form_id\'] ?? \'\';\n\n // Retrieve boolean options (expected as 0 or 1)\n $deleteAllExisting = isset($parsedData[\'delete_all_existing\']) ? (bool) $parsedData[\'delete_all_existing\'] : false;\n $skipIfExists = isset($parsedData[\'skip_if_exists\']) ? (bool) $parsedData[\'skip_if_exists\'] : true;\n $overwriteIfExists = isset($parsedData[\'overwrite_if_exists\']) ? (bool) $parsedData[\'overwrite_if_exists\'] : true;\n\n} \n\n// nuDebug($sourceFormID, $destinationFormID, $deleteAllExisting, $skipIfExists, $overwriteIfExists);\n\n// Validate mutually exclusive options\nif ($skipIfExists && $overwriteIfExists) {\n $js = \" nuMessage(\\\"Error: \'skipIfExists\' and \'overwriteIfExists\' cannot both be set to true.\\\");\";\n\n nuJavaScriptCallback($js); \n return;\n}\n\n// If deletion is enabled, remove existing rows with the new form ID\nif ($deleteAllExisting) { nuDebug(\'delete existing\');\n $deleteSQL = \"DELETE FROM zzzzsys_access_form WHERE slf_zzzzsys_form_id = ?\";\n $deleteResult = nuRunQuery($deleteSQL, [$destinationFormID], true);\n\n // Check if the DELETE was successful\n if ($deleteResult === -1) {\n // Handle the error (optional)\n $error = nuGetLastError();\n nuDebug(\'Delete failed:\', $error);\n }\n}\n\n// Prepare the SELECT query to fetch rows with the old form ID\n$selectSQL = \"\n SELECT\n slf_zzzzsys_access_id,\n slf_add_button,\n slf_save_button,\n slf_delete_button,\n slf_clone_button,\n slf_new_button,\n slf_print_button,\n slf_data_mode,\n slf_form_type,\n slf_json\n FROM\n zzzzsys_access_form\n WHERE\n slf_zzzzsys_form_id = ?\n\";\n\n// Execute the SELECT query\n$stmt = nuRunQuery($selectSQL, [$sourceFormID]);\n\n// Loop through each fetched row\nwhile ($row = db_fetch_object($stmt)) {\n // Check if a matching row exists in the new form\n $checkSQL = \"\n SELECT zzzzsys_access_form_id FROM zzzzsys_access_form\n WHERE slf_zzzzsys_form_id = ? AND slf_zzzzsys_access_id = ?\n LIMIT 1\n \";\n $checkStmt = nuRunQuery($checkSQL, [$destinationFormID, $row->slf_zzzzsys_access_id]);\n $existingRow = db_fetch_object($checkStmt);\n\n if ($existingRow) {\n if ($skipIfExists) {\n // Matching row exists, skip insertion\n continue;\n } elseif ($overwriteIfExists) {\n // Delete the existing matching row\n $deleteMatchSQL = \"\n DELETE FROM zzzzsys_access_form\n WHERE zzzzsys_access_form_id = ?\n \";\n $deleteMatchResult = nuRunQuery($deleteMatchSQL, [$existingRow->zzzzsys_access_form_id], true);\n\n // Check if the DELETE was successful\n if ($deleteMatchResult === -1) {\n // Handle the error (optional)\n $error = nuGetLastError();\n nuDebug(\'Delete matching row failed:\', $error);\n continue; // Skip insertion if deletion fails\n }\n } else {\n // Matching row exists and neither skip nor overwrite is enabled, skip insertion\n continue;\n }\n }\n\n // Generate a new unique ID for the primary key\n $newID = nuID();\n\n // Prepare the INSERT query to duplicate the row with the new form ID and new primary key\n $insertSQL = \"\n INSERT INTO zzzzsys_access_form (\n zzzzsys_access_form_id,\n slf_zzzzsys_access_id,\n slf_zzzzsys_form_id,\n slf_add_button,\n slf_save_button,\n slf_delete_button,\n slf_clone_button,\n slf_new_button,\n slf_print_button,\n slf_data_mode,\n slf_form_type,\n slf_json\n ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)\n \";\n\n // Execute the INSERT query with the new values\n $params = [\n $newID,\n $row->slf_zzzzsys_access_id,\n $destinationFormID,\n $row->slf_add_button,\n $row->slf_save_button,\n $row->slf_delete_button,\n $row->slf_clone_button,\n $row->slf_new_button,\n $row->slf_print_button,\n $row->slf_data_mode,\n $row->slf_form_type,\n $row->slf_json\n ];\n\n $result = nuRunQuery($insertSQL, $params, true);\n\n // Check if the INSERT was successful\n if ($result === -1) {\n // Handle the error (optional)\n $error = nuGetLastError();\n nuDebug(\'Insert failed:\', $error);\n }\n}\n\n\n$js = \" nuFormImportACLAfterRun();\";\nnuJavaScriptCallback($js); ', NULL, NULL, 'hide', '', '1', '0', '0', '0', '', NULL), ('nu682ddc25aa0bb5f_BB', 'nu682ddc25aa0bb5f_BB', 'System PHP', 'nubuilder', NULL, '1', '$query = \"\n\nSELECT\n f.*,\n COUNT(af.slf_zzzzsys_form_id) AS access_levels_count,\n GROUP_CONCAT(a.sal_code ORDER BY a.sal_code SEPARATOR \', \') AS access_levels\nFROM\n zzzzsys_form f\nLEFT JOIN zzzzsys_access_form af\n ON af.slf_zzzzsys_form_id = f.zzzzsys_form_id\nLEFT JOIN zzzzsys_access a\n ON a.zzzzsys_access_id = af.slf_zzzzsys_access_id\nWHERE\n f.zzzzsys_form_id NOT LIKE \'nu%\'\n AND f.sfo_type != \'subform\'\nGROUP BY\n f.zzzzsys_form_id\nHAVING\n access_levels_count > 0\nORDER BY\n f.sfo_code \";\n\n\nnuCreateTableFromSelect(\'#TABLE_ID#\', $query);\n', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL), ('nuaipromptgenerator', 'nu_ai_prompt_generator_prompt', 'AI prompt Generator', 'nubuilder', 'Generator', '1', 'include_once \'nuai.php\';\n\n// Fetch and decode parameters\n$paramsJson = nuGetProperty(\'nuaipromptgenerator_prompt_params\');\nif (empty($paramsJson)) {\n return; // nothing to do\n}\n\n$params = nuDecode($paramsJson);\n$copy = $params[\'copy\'] ?? false;\n\n$outputString = nuAIPromptBuildPromptInformation($params);\n\n// Embed safely into JavaScript via JSON encoding\n$jsOutput = json_encode($outputString, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);\n\n$js = <<\n.responsive-table {\n overflow-x: auto;\n}\n\n.styled-table {\n width: 100%;\n border-collapse: collapse;\n font-family: Arial, sans-serif;\n margin-top: 1em;\n}\n\n.styled-table thead {\n background-color: #f2f2f2;\n cursor: pointer;\n}\n\n.styled-table th, .styled-table td {\n border: 1px solid #ddd;\n padding: 8px 12px;\n user-select: text;\n}\n\n.styled-table tbody tr:nth-child(odd) {\n background-color: #fafafa;\n}\n\n.styled-table tbody tr:nth-child(even) {\n background-color: #f5f5f5;\n}\n\n.styled-table thead th {\n position: sticky;\n top: 0;\n background-color: #f2f2f2;\n z-index: 2;\n user-select: all;\n}\n\ncode {\n font-family: monospace;\n padding: 2px 4px;\n border-radius: 3px;\n}\n\n.filter-controls label {\n user-select: none;\n}\n\n.filter-controls select {\n user-select: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n}\n\n.filter-controls select {\n padding: 4px 8px;\n font-size: 14px;\n}\n\n.sort-icon {\n margin-left: 5px;\n opacity: 0.6;\n}\n\n.copy-icon {\n margin-left: 8px;\n cursor: pointer;\n color: #5a5a5a;\n}\n\";\n\n$link = \'\';\n\n$script = <<\nfunction filterRows() {\n const select = document.getElementById(\'columnFilter\');\n const rows = document.querySelectorAll(\'.styled-table tbody tr\');\n const mode = select.value;\n\n rows.forEach(row => {\n const valueCell = row.querySelector(\'td:nth-child(3)\');\n const text = valueCell.textContent.trim();\n const isEmpty = text === \'\' || text === \'NULL\';\n const isNonEmpty = !isEmpty;\n\n if (mode === \'all\') {\n row.style.display = \'\';\n } else if (mode === \'nonempty\' && isNonEmpty) {\n row.style.display = \'\';\n } else if (mode === \'empty\' && isEmpty) {\n row.style.display = \'\';\n } else {\n row.style.display = \'none\';\n }\n });\n}\n\nlet currentSort = { column: -1, direction: \'\' };\nfunction sortTable(columnIndex) {\n const table = document.querySelector(\'.styled-table tbody\');\n const rows = Array.from(table.rows);\n const headers = document.querySelectorAll(\'.styled-table thead th\');\n\n headers.forEach((th, i) => {\n const icon = th.querySelector(\'.sort-icon\');\n if (icon) icon.className = \'fa-solid sort-icon\';\n });\n\n let direction = \'asc\';\n if (currentSort.column === columnIndex && currentSort.direction === \'asc\') direction = \'desc\';\n\n rows.sort((a, b) => {\n let aText = a.cells[columnIndex].innerText.trim().toLowerCase();\n let bText = b.cells[columnIndex].innerText.trim().toLowerCase();\n return (direction === \'asc\') ? aText.localeCompare(bText) : bText.localeCompare(aText);\n });\n\n rows.forEach(row => table.appendChild(row));\n\n const icon = headers[columnIndex].querySelector(\'.sort-icon\');\n if (icon) icon.classList.add(direction === \'asc\' ? \'fa-caret-up\' : \'fa-caret-down\');\n\n currentSort = { column: columnIndex, direction };\n}\n\nfunction copyToClipboard(icon) {\n const value = icon.getAttribute(\'data-value\');\n navigator.clipboard.writeText(value);\n\n icon.classList.remove(\"fa-copy\");\n icon.classList.add(\"fa-solid\",\"fa-check\");\n\n setTimeout(() => {\n icon.classList.remove(\"fa-solid\",\"fa-check\");\n icon.classList.add(\"fa-copy\");\n }, 550);\n}\n\n\nJS;\n\n$columns_query = \"\n SELECT COLUMN_NAME, COLUMN_TYPE, COLUMN_KEY, COLUMN_COMMENT\n FROM INFORMATION_SCHEMA.COLUMNS\n WHERE TABLE_SCHEMA = DATABASE()\n AND TABLE_NAME = \'$table\'\n ORDER BY ORDINAL_POSITION\n\";\n\n$columns_result = nuRunQuery($columns_query);\n\n$fieldInfo = db_field_info($table);\n$primaryKeys = $fieldInfo[2] ?? [];\n$firstPrimaryKey = $primaryKeys[0] ?? null;\n\n$data_query = \"SELECT * FROM `$table` WHERE `$firstPrimaryKey` = \'$record_id\' LIMIT 1\";\n$data_result = nuRunQuery($data_query);\n$data_row = db_fetch_array($data_result);\n\necho \'
\';\necho $style . $link . $script;\n\necho \'
\';\necho \'\';\necho \'\';\necho \'
\';\n\necho \'\';\necho \'\';\necho \'\';\necho \'\';\necho \'\';\necho \'\';\necho \'\';\n\nwhile ($col = db_fetch_array($columns_result)) {\n $name = $col[\'COLUMN_NAME\'];\n $type = $col[\'COLUMN_TYPE\'];\n $key = $col[\'COLUMN_KEY\'];\n $comment = $col[\'COLUMN_COMMENT\'];\n\n $raw_value = $data_row[$name] ?? null;\n $value = is_null($raw_value) ? \'NULL\' : htmlspecialchars($raw_value);\n\n $icon = \'\';\n $bg = \'\';\n if ($key == \'PRI\') {\n $icon = \' \';\n $bg = \' style=\"background-color:#fff8dc;\"\';\n } elseif ($key == \'MUL\') {\n $icon = \' \';\n $bg = \' style=\"background-color:#f5f5f5;\"\';\n }\n\n $raw_length = mb_strlen($raw_value ?? \'\');\n\n if ($raw_value === null || $raw_length <= 200) {\n $display_value = $value;\n $tooltip = \'\';\n } else {\n $display_value = htmlspecialchars(mb_substr($raw_value, 0, 200)) . \'…\';\n\n $tooltip_content = mb_substr($raw_value, 0, 2000);\n if ($raw_length > 2000) {\n $tooltip_content .= \'…\';\n }\n\n $tooltip = \' title=\"\' . htmlspecialchars($tooltip_content) . \'\"\';\n }\n\n $escaped_value = htmlspecialchars($raw_value ?? \'\', ENT_QUOTES);\n\n if (is_null($raw_value) || $raw_value === \'\') {\n $copy_icon = \'\';\n } else {\n $copy_icon = \"\";\n }\n\n $field_title = $comment ? \' title=\"\' . htmlspecialchars($comment) . \'\"\' : \'\';\n\n echo \"\";\n echo \"$name$icon\";\n echo \"$type\";\n echo \"$display_value$copy_icon\";\n echo \"\";\n}\n\necho \'
Field Type Value
\';', NULL, NULL, 'window', NULL, '1', '0', '1', '0', '', NULL), ('nuitem_BB', 'nuitem_BB', 'System PHP', 'nubuilder', NULL, '1', '// Temp table\n\n$denied = $GLOBALS[\'nuSetup\']->set_denied == 1;\n\n$condition = $denied\n ? \"(zzzzsys_item_id NOT LIKE \'nu%\')\"\n : \"1=1\";\n\n$sql = \"\n SELECT\n zzzzsys_item_id,\n itm_value,\n itm_description,\n itm_category,\n itm_group,\n itm_tag,\n itm_language,\n sob_all_id,\n sfo_code,\n itm_active,\n itm_created_on,\n itm_updated_on\n FROM\n zzzzsys_item\n LEFT JOIN zzzzsys_object ON zzzzsys_object_id = itm_object_id\n LEFT JOIN zzzzsys_form ON zzzzsys_form_id = zzzzsys_object.sob_all_zzzzsys_form_id\n WHERE\n $condition\n ORDER BY\n sfo_code ASC,\n sob_all_id ASC\n\";\n\n\nnuCreateTableFromSelect(\'#TABLE_ID#\', $sql);\n\n\n// Filter\n$getDistinctGroupColumnQuery = function($column, $condition) {\n return \"\n SELECT DISTINCT TRIM(`$column`) AS `value`, TRIM(`$column`) AS `text`\n FROM zzzzsys_item\n WHERE \n IFNULL(itm_group, \'\') <> \'\' \n AND ($condition)\n ORDER BY `value`\n \";\n};\n\n$sqlGroup = function($condition) use ($getDistinctGroupColumnQuery) {\n return $getDistinctGroupColumnQuery(\'itm_group\', $condition);\n};\n\n$group = nuEncodeQueryRowResults($sqlGroup($condition), [], [\'-1\',\'\']);\n\n$filterJS = \"\n function nuItemsFilterGetData(data) {\n return JSON.parse(atob(data));\n }\n function nuItemsFilterGetGroup() {\n return nuItemsFilterGetData(\'$group\');\n }\n\";\n\nnuAddJavaScript($filterJS);', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL), ('nuitem_AS', 'nuitem_AS', 'System PHP', 'nubuilder', NULL, '1', '// Don\'t store itm_created_on and itm_updated_on for nu-records:\n\n// Get the current record ID\n$recordID = \'#RECORD_ID#\';\n\n// Check if it starts with \'nu\'\nif (strpos($recordID, \'nu\') === 0) {\n \n // Prepare the SQL update\n $sql = \"\n UPDATE zzzzsys_item \n SET itm_created_on = NULL, \n itm_updated_on = NULL \n WHERE zzzzsys_item_id = ?\n \";\n\n // Execute the query with parameter binding\n\n nuRunQuery($sql, [$recordID]);\n}\n', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL), ('nu683830320e3343b', 'nu_ai_prompt_generator_test_credentials', 'Testing AI Credentials', 'nubuilder', 'Generator', '1', 'include_once \'nuai.php\';\n\n\n$result = nuAITestCredentials();\n\nif ($result[\'success\']) {\n // Credentials are good\n echo $result[\'message\']; // e.g. “Credentials are valid!”\n} else {\n // Something went wrong\n // You can log full details if you like:\n // error_log(\"OpenAI test failed ({$result[\'http_code\']}) Raw response: {$result[\'raw\']}\");\n \n // And display a user‐friendly message:\n echo \"Error testing credentials: \" . $result[\'message\'];\n}', NULL, NULL, 'window', NULL, '1', '0', '1', '0', '', NULL), ('nu68394ef10bf2cc9', 'nu_ai_prompt_generator_call_api', 'AI Prompt Generator ', 'nubuilder', 'Generator', '1', 'include_once \'nuai.php\';\n\n// 1. Fetch the raw JSON params\n$paramsJson = nuGetProperty(\'nuaipromptgenerator_params\');\nif (empty($paramsJson)) {\n return; // nothing to do\n}\n\n// 2. Decode\n$params = nuDecode($paramsJson);\n$procedure = $params[\'procedure_type\'] ?? null;\n$buttonId = $params[\'buttonId\'] ?? null;\n\n// 3. Dispatch based on procedure_type\nswitch ($procedure) {\n case \'response\':\n $response = nuAIPromptGetResponse($params);\n $callbackName = \'nuGeneratorResponseExecuted\';\n break;\n\n case \'tag\':\n $response = nuAIPromptGetTagsFromPrompt($params);\n $callbackName = \'nuGeneratorExecutedTags\';\n break;\n\n // --- add new cases here ---\n // case \'something_else\':\n // $response = nuAIPromptDoSomethingElse($params);\n // $callbackName = \'nuGeneratorSomethingElseExecuted\';\n // break;\n\n default:\n // unknown procedure — return or fire a generic error callback\n $errorMsg = json_encode(\"Unknown procedure: {$procedure}\");\n nuJavaScriptCallback(\"(function(){ console.error({$errorMsg}); })();\");\n return;\n}\n\n// 4. Determine error vs. success\n$isError = ! empty($response[\'error\']);\n$payload = $isError\n ? $response[\'message\']\n : $response[\'result\'];\n\n// 5. JSON-encode for JS\n$buttonJs = json_encode($buttonId, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);\n$dataJs = json_encode($payload, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);\n\n// 6. Build & fire the callback\n$js = sprintf(\n \"(function(){%s(%s, %s, %s);})();\",\n $callbackName,\n $buttonJs,\n $dataJs,\n $isError ? \'false\' : \'true\'\n);\n\nnuJavaScriptCallback($js);\n', NULL, NULL, 'hide', '', '1', '0', '1', '0', '', NULL), ('nu68397bb77c048bb_BB', 'nu68397bb77c048bb_BB', 'System PHP', 'nubuilder', NULL, '1', '$denied = $GLOBALS[\'nuSetup\']->set_denied == 1;\n\n$condition = $denied\n ? \"(zzzzsys_item_id NOT LIKE \'nu%\')\"\n : \"1=1\";\n\n$sql = \"\n SELECT\n zzzzsys_item_id,\n itm_value,\n itm_description,\n itm_category,\n itm_object_id,\n itm_tag,\n itm_language,\n sob_all_id,\n sfo_code,\n itm_active,\n itm_created_on,\n itm_updated_on,\n itm_sort_order,\n sob_all_zzzzsys_form_id\n FROM\n zzzzsys_item\n LEFT JOIN zzzzsys_object ON zzzzsys_object_id = itm_object_id\n LEFT JOIN zzzzsys_form ON zzzzsys_form_id = zzzzsys_object.sob_all_zzzzsys_form_id\n WHERE\n $condition\n ORDER BY\n sfo_code ASC,\n sob_all_id ASC,\n itm_value ASC\n\";\n\n\nnuCreateTableFromSelect(\'#TABLE_ID#\', $sql);', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL), ('nu683fd76e8963821', 'nu_run_alter_db_column', 'Alter a database column', 'nubuilder', 'Database', '1', 'if (nuHash()[\'GLOBAL_ACCESS\'] == \'0\') return;\n\n$sql = \'ALTER TABLE `#sob_all_table#` CHANGE `#sob_all_id#` \' . \'#sql_query#\';\n\nif (preg_match(\'/DELETE |DROP |INSERT |;/\', strtoupper($sql))) {\n $r = -2;\n} else {\n $r = nuRunQuery($sql, [], true);\n}\n\nif ($r == 0) {\n nuSetJSONDataAll(\'REFRESH_CACHE\', \'1\');\n $js = \"$.nuInfoBar.success(nuTranslate(\'The column has been altered successfully\'));\n parent.nuUpdateMessage(\'refresh_required\');\";\n} else if ($r == -1) {\n $js = \"$.nuInfoBar.error(nuTranslate(\'An error occurred while altering the column\') + \'. \' + nuTranslate(\'Check nuDebug Results for details\'));\";\n} else if ($r == -2) {\n $js = \"$.nuInfoBar.error(nuTranslate(\'An error occurred while altering the column\') + \'. \' + nuTranslate(\'The query contains invalid keywords\'));\";\n}\n\nnuJavaScriptCallback($js);', NULL, NULL, 'hide', '', '1', '0', '0', '0', '', NULL), ('nu5fdb9ffe0330e_AB', 'nu5fdb9ffe0330e_AB', 'System PHP', 'nubuilder', NULL, '1', '$hash = nuHash();\n$type = $hash[\'sfo_type\'] ?? \'\';\n\nif ($type !== \'launch\') {\n\n nuSetFormValue(\'slf_add_button\', \'1\');\n nuSetFormValue(\'slf_print_button\', \'1\');\n\n if ($type !== \'browse\') {\n nuSetFormValue(\'slf_save_button\', \'1\');\n nuSetFormValue(\'slf_clone_button\', \'1\');\n nuSetFormValue(\'slf_delete_button\', \'1\');\n }\n\n}', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL), ('nu6866e2a9c6afd1c', 'nu_upload_file_load_uppy_code', 'Get Uppy html code', 'nubuilder', 'File Upload', NULL, 'function getNuRunFileUppyHtmlSourceCombined() {\n\n $codes = [\'nu_upload_file_uppy_code_template\',\n \'nu_upload_file_uppy_code\'];\n foreach ($codes as $code) {\n $source = db_fetch_value(\n \'zzzzsys_code_snippet\',\n \'cot_code\',\n $code,\n \'cot_source_code\'\n );\n if ($source) {\n return $source;\n }\n }\n\n return false;\n\n}\n\n$source = getNuRunFileUppyHtmlSourceCombined();\nif ($source !== false) {\n $source = base64_encode(json_encode($source));\n $js = \"let htmlCode = $(\'#sob_html_code\');\n nuSetValue(\'sob_html_code\', htmlCode.val() + JSON.parse(atob(\'$source\'))); \";\n\n nuJavaScriptCallback($js);\n}', NULL, NULL, 'window', NULL, '1', '0', '1', '0', '', NULL), ('nuemailtemplate_BB', 'nuemailtemplate_BB', 'System PHP', 'nubuilder', NULL, NULL, '$getDistinctColumnQuery = function(string $column): string {\n return \"\n SELECT\n DISTINCT TRIM({$column}) AS trimmed_col\n FROM\n zzzzsys_email_template\n LEFT JOIN zzzzsys_form\n ON zzzzsys_form_id = emt_form_id\n WHERE\n IFNULL({$column}, \'\') <> \'\'\n ORDER BY\n trimmed_col\n \";\n};\n\n$sqlGroup = function() use ($getDistinctColumnQuery): string {\n return $getDistinctColumnQuery(\'emt_group\');\n};\n$sqlCategory = function() use ($getDistinctColumnQuery): string {\n return $getDistinctColumnQuery(\'emt_category\');\n};\n\n$group = nuEncodeQueryRowResults($sqlGroup(), []);\n$category = nuEncodeQueryRowResults($sqlCategory(), []);\n\n$filterJS = << $value) {\n if ($value === \'true\') $config[$key] = true;\n if ($value === \'false\') $config[$key] = false;\n}\n\n\n// Create cloner instance\n$cloner = new nuBuilderCloner($config);\n\n// Run the clone operation\n$success = $cloner->cloneDatabase(\n $targetDB,\n $targetHost,\n $targetUsername,\n $targetPassword,\n $targetCharset,\n $targetPort,\n $opts,\n $insertType,\n $sourcePath,\n $targetPath\n);\n\nfunction nuAppClonerCallback(string $type, string $message): void {\n nuJavaScriptCallback(\"nuMessage(\'$type\', \'\" . addslashes($message) . \"\');\");\n}', 'function nuOnProcedureRun() {\n nuSetProperty(\'nu_app_cloner_params\',\'xx\');\n}', '1', 'hide', NULL, '1', '0', '1', '0', '', NULL), ('nuappcloner_BE', 'nuappcloner_BE', 'System PHP', 'nubuilder', NULL, NULL, 'if (nuDemo()) return;\n\nglobal $nuConfigDBUser;\nglobal $nuConfigDBPassword;\n\n$js = \"\n if (nuIsNewRecord()) { debugger;\n nuSetValue(\'cla_target_username\', \'$nuConfigDBUser\'); \n nuSetValue(\'cla_target_password\', \'$nuConfigDBPassword\'); \n };\n\";\n\nnuAddJavaScript($js);', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL), ('nu68c8e03bd841c4a', 'nu_send_welcome_email', 'Procedure is called when \"Send welcome email\" is checked in the user form', '', 'Email', '1', '// Retrieve Information about the user\n$user = nuUserSavedInfo();\n$accessLevelId = $user[\"access_level_id\"];\n\n// Decide which template to use based on access level\n\n// <<<<<<<< Use your access level ids, template name and group names <<<<<<<<<<<<<<<<<<<<<<<\n\nnuDebug($accessLevelId);\n\nswitch ($accessLevelId) {\n\n case \'67e3ff43a45adc2\': // vrijwilliger access level id\n $template = nuGetEmailTemplateData(\"send_welcome_email\", \'\', \'vrijwilliger\'); \n break;\n\n case \'2660a0de8f28a52\': // sales access level id\n $template = nuGetEmailTemplateData(\"send_welcome_email\", \'\', \'sales\');\n break;\n\n default: // Fallback (if access level not recognized)\n $template = nuGetEmailTemplateData(\"send_welcome_email\", \'\', \'default\');\n break;\n}\n\nif ($template == false) {\n nuDisplayError(\'Unknown email template!\');\n return;\n}\n\n$sendResult = sendEmailFromTemplate($template);\n\n\nif ($sendResult[0] != true) {\n nuDisplayError($sendResult[1].\'
\'.$sendResult[2]);\n}\n\n\n// Sends an email message using an email template.\nfunction sendEmailFromTemplate($template) {\n\n $body = str_replace(\'#\'.\'NUBUILDER_URL\'.\'#\', nuGetHttpOrigin() , $template[\'body\']);\n\n $params = array(\n \'to\' => $template[\'to\'],\n \'cc\' => $template[\'cc\'],\n \'bcc\' => $template[\'bcc\'],\n \'body\' => nl2br($body),\n \'subject\' => $template[\'subject\']\n );\n\n // Replace all Hash Cookies\n foreach ($params as $key => $value) {\n $params[$key] = nuReplaceHashVariables($value);\n }\n\n return nuSendEmail($params);\n}', '', '0', 'hide', '', '0', '1', '1', '0', '', NULL); -- -------------------------------------------------------- -- -- Table structure for table `zzzzsys_prompt_generator` -- CREATE TABLE `zzzzsys_prompt_generator` ( `zzzzsys_prompt_generator_id` varchar(25) NOT NULL, `pge_code` varchar(300) DEFAULT NULL, `pge_description` varchar(300) DEFAULT NULL, `pge_table` varchar(1000) DEFAULT NULL, `pge_language` varchar(1000) DEFAULT NULL, `pge_scope` varchar(300) DEFAULT NULL, `pge_prompt` longtext, `pge_tag` varchar(3000) DEFAULT NULL, `pge_template` varchar(1) DEFAULT NULL, `pge_instruction` varchar(3000) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3; -- -------------------------------------------------------- -- -- Table structure for table `zzzzsys_report` -- CREATE TABLE `zzzzsys_report` ( `zzzzsys_report_id` varchar(25) NOT NULL, `sre_code` varchar(300) DEFAULT NULL, `sre_description` varchar(300) DEFAULT NULL, `sre_group` varchar(100) DEFAULT NULL, `sre_zzzzsys_php_id` varchar(200) DEFAULT NULL, `sre_zzzzsys_form_id` varchar(25) DEFAULT NULL, `sre_layout` longtext, `sre_json` mediumtext ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3; -- -------------------------------------------------------- -- -- Table structure for table `zzzzsys_report_data` -- CREATE TABLE `zzzzsys_report_data` ( `zzzzsys_report_data_id` varchar(100) NOT NULL, `srd_code` varchar(300) DEFAULT NULL, `srd_description` varchar(300) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3; -- -------------------------------------------------------- -- -- Table structure for table `zzzzsys_select` -- CREATE TABLE `zzzzsys_select` ( `zzzzsys_select_id` varchar(25) NOT NULL, `sse_code` varchar(50) DEFAULT NULL, `sse_description` varchar(300) DEFAULT NULL, `sse_json` mediumtext, `sse_sql` mediumtext, `sse_edit` varchar(1) DEFAULT NULL, `sse_system` varchar(1) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3; -- -------------------------------------------------------- -- -- Table structure for table `zzzzsys_select_clause` -- CREATE TABLE `zzzzsys_select_clause` ( `zzzzsys_select_clause_id` varchar(25) NOT NULL, `ssc_zzzzsys_select_id` varchar(25) DEFAULT NULL, `ssc_type` varchar(300) DEFAULT NULL, `ssc_field` varchar(500) DEFAULT NULL, `ssc_clause` varchar(500) DEFAULT NULL, `ssc_sort` varchar(10) DEFAULT NULL, `ssc_order` varchar(500) DEFAULT NULL, `ssc_json` mediumtext ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3; -- -------------------------------------------------------- -- -- Table structure for table `zzzzsys_session` -- CREATE TABLE `zzzzsys_session` ( `zzzzsys_session_id` varchar(25) NOT NULL DEFAULT '', `sss_access` mediumtext, `sss_hashcookies` mediumtext, `sss_time` int DEFAULT NULL, `sss_login_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP, `sss_json` mediumtext ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3; -- -------------------------------------------------------- -- -- Table structure for table `zzzzsys_setup` -- CREATE TABLE `zzzzsys_setup` ( `zzzzsys_setup_id` varchar(25) NOT NULL DEFAULT '', `set_time_out_minutes` int DEFAULT NULL, `set_zzzzsys_timezone_id` varchar(25) DEFAULT NULL, `set_language` varchar(20) DEFAULT NULL, `set_languages_included` varchar(1000) DEFAULT NULL, `set_smtp_username` varchar(255) DEFAULT NULL, `set_smtp_password` varchar(255) DEFAULT NULL, `set_smtp_host` varchar(255) DEFAULT NULL, `set_smtp_from_address` varchar(255) DEFAULT NULL, `set_smtp_from_name` varchar(255) DEFAULT NULL, `set_smtp_port` int DEFAULT NULL, `set_smtp_use_authentication` varchar(1) DEFAULT NULL, `set_smtp_use_ssl` varchar(1) DEFAULT NULL, `set_header` longtext, `set_include` text, `set_style` longtext, `set_denied` varchar(1) DEFAULT NULL, `set_json` mediumtext ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3; -- -- Dumping data for table `zzzzsys_setup` -- INSERT INTO `zzzzsys_setup` (`zzzzsys_setup_id`, `set_time_out_minutes`, `set_zzzzsys_timezone_id`, `set_language`, `set_languages_included`, `set_smtp_username`, `set_smtp_password`, `set_smtp_host`, `set_smtp_from_address`, `set_smtp_from_name`, `set_smtp_port`, `set_smtp_use_authentication`, `set_smtp_use_ssl`, `set_header`, `set_include`, `set_style`, `set_denied`, `set_json`) VALUES ('1', 480, '5281a1220508372', '', '[\"\",\"Afrikaans\",\"Arabic\",\"Armenian\",\"Catalan\",\"Chinese\",\"Czech\",\"Danish\",\"Dutch\",\"French\",\"German\",\"Greek\",\"Hindi\",\"Hungarian\",\"Italian\",\"Japanese\",\"Malay\",\"Norwegian\",\"Polish\",\"Portuguese (Brazil)\",\"Portuguese\",\"Romanian\",\"Russian\",\"Slovak\",\"Spanish\",\"Tamil\",\"Turkish\",\"Vietnamese\"]', '1', '1', '1', '1', '1', 1, '1', '1', '// Functions placed here are available anywhere in nuBuilder.\n\n\n// Runs after each Edit Form loads\nfunction nuLoadEditGlobal(formId, formCode) {\n\n}\n\n// Runs after each Browse Form loads\nfunction nuLoadBrowseGlobal(formId, formCode) {\n\n}\n\n// Runs after each Edit and Browse Form loads\nfunction nuOnLoad(formId, formCode) {\n\n}', '// Add external CSS/JS file here\n\n', '/* Define your own styles, override styles from nubuilder4.css */\n\n/*\n .nuActionButton {\n background-color: #579cb7\n}\n\n*/', '0', NULL); -- -------------------------------------------------------- -- -- Table structure for table `zzzzsys_tab` -- CREATE TABLE `zzzzsys_tab` ( `zzzzsys_tab_id` varchar(25) NOT NULL, `syt_zzzzsys_form_id` varchar(25) DEFAULT NULL, `syt_title` varchar(250) DEFAULT NULL, `syt_order` int DEFAULT NULL, `syt_help` varchar(3000) DEFAULT NULL, `syt_access` varchar(1) DEFAULT NULL, `syt_json` mediumtext ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3; -- -- Dumping data for table `zzzzsys_tab` -- INSERT INTO `zzzzsys_tab` (`zzzzsys_tab_id`, `syt_zzzzsys_form_id`, `syt_title`, `syt_order`, `syt_help`, `syt_access`, `syt_json`) VALUES ('nu5bad6cb36757b92', 'nuform', 'Browse', 20, 'nuOpenWiki(\'/Forms\');', NULL, NULL), ('nu5bad6cb36791fd5', 'nuform', 'Main', 10, 'nuOpenWiki(\'/Forms\');', NULL, NULL), ('nu5bad6cb36804778', 'nubuildreport', 'Report', 10, 'nuOpenWiki(\'/Reports\');', NULL, NULL), ('nu5bad6cb3683fa36', 'nubrowse', 'Browse', 10, '', NULL, NULL), ('nu5bad6cb3686cb0d', 'nuobject', 'All', 10, 'nuOpenWiki(\'/Objects_#Tab_-_All\');', NULL, NULL), ('nu5bad6cb368d9c40', 'nuobject', '|Run', 20, 'nuOpenWiki(\'/Objects#Tab_-_Run\');', NULL, NULL), ('nu5bad6cb36974818', 'nuobject', '|Display', 30, 'nuOpenWiki(\'/Objects#Tab_-_Display\');', NULL, NULL), ('nu5bad6cb369a6ee3', 'nuobject', '|Select', 40, 'nuOpenWiki(\'/Objects_#Tab_-_Select\');', NULL, NULL), ('nu5bad6cb369d0088', 'nuobject', '|Lookup', 50, 'nuOpenWiki(\'/Objects#Tab_-_Lookup\');', NULL, NULL), ('nu5bad6cb36a1c024', 'nuobject', '|Subform', 60, 'nuOpenWiki(\'/Objects#Tab_-_Subform\');', NULL, NULL), ('nu5bad6cb36a4af06', 'nuobject', '|Input', 80, 'nuOpenWiki(\'/Objects#Tab_-_Input\');', NULL, NULL), ('nu5bad6cb36a71012', 'nuobject', '|HTML', 90, 'nuOpenWiki(\'/Objects#Tab_-_HTML\');', NULL, NULL), ('nu5bad6cb36aaa539', 'nuevent', 'Event', 10, '', NULL, NULL), ('nu5bad6cb36ac903f', 'nuaccess', 'User', 10, 'nuOpenWiki(\'/User_Access#Creating_an_Access_Level\');', NULL, NULL), ('nu5bad6cb36af0c58', 'nuaccess', 'Forms', 20, 'nuOpenWiki(\'/User_Access#Creating_an_Access_Level\');', NULL, NULL), ('nu5bad6cb36b12637', 'nunonsystemform', 'Forms', 10, '', NULL, NULL), ('nu5bad6cb36b27343', 'nuprocedure', 'PHP', 10, 'nuOpenWiki(\'/Procedures\');', NULL, NULL), ('nu5bad6cb36b63cae', 'nuuser', 'User', 10, 'nuOpenWiki(\'/User_Access#Adding_a_User\');', NULL, NULL), ('nu5bad6cb36b994d2', 'nuaccessforms', 'Form', 10, '', NULL, NULL), ('nu5bad6cb36bc9e21', 'nublank', 'Launch', 10, '', NULL, NULL), ('nu5bad6cb36bdec72', 'nuaccessgroup', 'Access Group', 10, '', NULL, NULL), ('nu5bad6cb36bf8d38', 'nudebug', 'Debug', 10, '', NULL, NULL), ('nu5bad6cb36c16b42', 'nuaccess', 'Procedures', 30, 'nuOpenWiki(\'/User_Access#Creating_an_Access_Level\');', NULL, NULL), ('nu5bad6cb36c39fc8', 'nuaccess', 'Reports', 40, 'nuOpenWiki(\'/User_Access#Creating_an_Access_Level\');', NULL, NULL), ('nu5bad6cb36c55179', 'nuaccessreport', 'Access', 10, '', NULL, NULL), ('nu5bad6cb36c75655', 'nuaccesslevelreport', 'Access', 10, '', NULL, NULL), ('nu5bad6cb36c9250f', 'nutab', 'Tabs', 10, 'nuOpenWiki(\'/Forms#Tabs_.28Subform.29\');', NULL, NULL), ('nu5bad6cb36cb6102', 'nurunreport', 'Report', 10, '', NULL, NULL), ('nu5bad6cb36ce06d9', 'nurunphp', 'PHP', 10, '', NULL, NULL), ('nu5bad6cb36cfbbfa', 'nulaunchdates', 'Launch', 10, '', NULL, NULL), ('nu5bad6cb36d2177c', 'nurunlist', 'Test', 10, '', NULL, NULL), ('nu5bad6cb36d582df', 'nutimezone', 'Zone', 10, '', NULL, NULL), ('nu5bad6cb36d97acd', 'nusetup', 'Setup', 40, 'nuOpenWiki(\'/Setup#Setup\');', NULL, NULL), ('nu5bad6cb36e31edf', 'nusetup', 'Email', 60, 'nuOpenWiki(\'/Setup#Email_Settings\');', NULL, NULL), ('nu5bad6cb36e9143a', 'nusetup', 'Header', 10, 'nuOpenWiki(\'/Setup#Header\');', NULL, NULL), ('nu5bad6cb36eb07f0', 'nutranslate', 'Phrase', 10, 'nuOpenWiki(\'/Translations\');', NULL, NULL), ('nu5bad6cb36ed494f', 'nupassword', 'Change Password', 10, '', NULL, NULL), ('nu5bad6cb36f36433', 'nufflaunch', 'Form', 10, 'nuOpenWiki(\'/Form_Builder\');', NULL, NULL), ('nu5bad6cb36f72f8e', 'nufastformobjects', 'Label', 10, '', NULL, NULL), ('nu5bad6cb36f99a7e', 'nuobject', '|Calc', 110, 'nuOpenWiki(\'/Objects#Tab_-_Calc\');', NULL, NULL), ('nu5bad6cb36fcbc18', 'nuformat', 'Format', 10, 'nuOpenWiki(\'/Format_Builder\');', NULL, NULL), ('nu5bad6cb36ffc300', 'nuformatcurrency', 'Currency', 10, '', NULL, NULL), ('nu5bad6cb37026348', 'nuform', 'Custom Code', 30, 'nuOpenWiki(\'/Functions\');', NULL, NULL), ('nu5bad6cb370b409e', 'nuobject', 'Custom Code', 120, 'nuOpenWiki(\'/Objects#Tab_-_Custom_Code\');', NULL, NULL), ('nu5bad6cb370eb06a', 'nusample', 'Other Objects', 30, '', NULL, NULL), ('nu5bad6cb3719774c', 'nufile', 'Main', 10, 'nuOpenWiki(\'/Files\');', NULL, NULL), ('nu5bad6cb371c865e', 'nuobject', '|Image', 70, 'nuOpenWiki(\'/Objects#Tab_-_Image\');', NULL, NULL), ('nu5bad6cb371e2de7', 'nuselect', 'SQL', 10, 'nuOpenWiki(\'/SQL_Builder\');', NULL, NULL), ('nu5bad6cb3721b534', 'nulaunchable', 'Main', 10, '', NULL, NULL), ('nu5bad6cb3722f122', 'nulaunchable', 'Browse', 20, '', NULL, NULL), ('nu5bad6cb3724c6ca', 'nulaunchable', 'Custom Code', 30, '', NULL, NULL), ('nu5bad6cb37296979', 'nuclause', 'Clause', 10, '', NULL, NULL), ('nu5bad6cb3732c76e', 'nusample', 'Subform', 20, '', NULL, NULL), ('nu5bad6cb3734c18f', 'nufastreportobjects', 'Label', 10, '', NULL, NULL), ('nu5bad6cb3737e773', 'nufrlaunch', 'Main', 10, 'nuOpenWiki(\'/Report_Builder\');', NULL, NULL), ('nu5bad6cb373c384f', 'nusample', 'Inputs', 10, '', NULL, NULL), ('nu5bad6cb37405d73', 'nusamplesubformform', 'Main', 10, '', NULL, NULL), ('nu5bad6cb374207e3', 'nuuserhome', 'Main', 20, '', NULL, NULL), ('nu5bad6cb37434d3a', 'nulaunchform', 'Forms', 10, '', NULL, NULL), ('nu5bad6cb374482e8', 'nutablookup', 'Tabs', 10, 'nuOpenWiki(\'/Forms#Tabs_.28Subform.29\');', NULL, NULL), ('nu5f711b9343afdbd', 'nucsvtransfer', 'Transfer', 10, 'nuOpenWiki(\'/CSV_Transfer\');', NULL, NULL), ('nu5f9aaac95bc52e7', 'nucloner', 'Form', 10, '', NULL, NULL), ('nu5fd29810a60df91', 'nunotes', 'Notes', 10, '', NULL, NULL), ('nu5fd6f697276396f', 'nunotescategroy', 'Main', 10, '', NULL, NULL), ('nu5fd8ed305105aa6', 'nuuserlogged', 'Main', 10, '', NULL, NULL), ('nu5fdb1b5b254566f', 'nucodesnippet', 'Main', 10, '', NULL, NULL), ('nu5fdb9ff026348', 'nuform', 'Access Levels', 40, 'nuOpenWiki(\'/User_Access#Creating_an_Access_Level\');', NULL, NULL), ('nu5fdb9ffd6faaa', 'nu5fdb9ffd45aaa', 'Form', 10, '', NULL, NULL), ('nu5fdb9ffd6fbca', 'nu5fdb9ffd45efe', 'Form', 10, '', NULL, NULL), ('nu5fdf7df2d873dd1', 'nuprocedure', 'Access Levels', 30, 'nuOpenWiki(\'/User_Access\');', NULL, NULL), ('nu5fdf7fc6680a0b2', 'nubuildreport', 'Access Levels', 20, 'nuOpenWiki(\'/User_Access\');', NULL, NULL), ('nu5fe0547b76e25d6', 'nuauthentication', 'Authentication', 10, '', NULL, NULL), ('nu5fe19e93306dd6e', 'nusetup', 'Developer', 70, '', NULL, NULL), ('nu5feb70e6a6b9cf8', 'nuupdate', 'Update', 10, '', NULL, NULL), ('nu5feb9ffd6fbca', 'nu5feb9ffd45efe', 'Form', 10, '', NULL, NULL), ('nu5fed7cde6151088', 'nuobjectgrid', 'Objects', 10, '', NULL, NULL), ('nu5fee9ffd6fbca', 'nu5fee9ffd45efe', 'Form', 10, '', NULL, NULL), ('nu5ff48b9c18dbf6f', 'nuemailtest', 'Main', 10, '', NULL, NULL), ('nu60689be0792e7ca', 'nuadddbcolumn', 'Main', 10, '', NULL, NULL), ('nu61b4c3e0517719b', 'nuaddattribute', 'Main', 10, '', NULL, NULL), ('nu61ce913f08336db', 'nusetup', 'Style', 30, NULL, NULL, NULL), ('nu61e9964c9bf5e13', 'nuobject', 'JSON', 130, NULL, '2', NULL), ('nu61e9969a4003a6f', 'nu61e9969a239c033', 'Main', 10, NULL, NULL, NULL), ('nu62aee449a876a58', 'nu62aee4493239e3a', 'Main', 10, NULL, NULL, NULL), ('nu62cca90dba09759', 'nuhome', 'Main', 10, '', NULL, NULL), ('nufastforms', 'nuuserhome', 'Fast Forms', -1, NULL, NULL, NULL), ('nu62b34b8c669ce6b', 'nusetup', 'Settings', 50, NULL, NULL, NULL), ('nu635294e9729b1a1', 'nuemailtemplate', 'Main', 10, '', NULL, NULL), ('nu63ed1fef9b6331f', 'nucloner', 'Tables', 20, NULL, NULL, NULL), ('nunu63efd6558a386dd', 'nuobjectevent', 'Main', 10, NULL, NULL, NULL), ('nu63f0adcb2c415fa', 'nuobjectgrid', 'Events', 20, NULL, NULL, NULL), ('nu63f0aec186f6a6c', 'nunuobjectevent', 'Main', 10, NULL, NULL, NULL), ('nu64ec098a9d06dda', 'nupasswordgenerator', 'Main', 10, NULL, NULL, NULL), ('nu65d777ade2b7d70', 'nupermissionitem', 'Main', 10, NULL, NULL, NULL), ('nu65d7dabf091568e', 'nuuserpermission', 'Main', 10, NULL, NULL, NULL), ('nu65d7dbb966b5d37', 'nuuser', 'Permissions', 20, 'nuOpenWiki(\'/User_Access#Permissions\');', NULL, NULL), ('nu65f27499bd5df48', 'nuphp', 'PHP', 10, 'nuOpenWiki(\'/Procedures\');', NULL, NULL), ('nu65f28ff562a8cc4', 'nuemaillog', 'Main', 10, NULL, NULL, NULL), ('nu65f8d60b05b6ec6', 'nurunjavascript', 'Main', 10, NULL, NULL, NULL), ('nu67f22d53d2c87ad', 'nufile', 'Linked Objects', 20, NULL, NULL, NULL), ('nu67f22e3ba555c9a', 'nu67f22e3ba027e23', 'Main', 10, NULL, NULL, NULL), ('nu682ce623ae19b8a', 'nu682ce623ae184f0', 'Main', 10, NULL, NULL, NULL), ('nu682ddc25aab20aa', 'nu682ddc25aa0bb5f', 'Forms', 10, '', NULL, NULL), ('nu683303b2448d46e', 'nupromptgenerator', 'Prompt', 10, 'nuOpenWiki(\'/AI_Prompt_Generator\')', NULL, NULL), ('nu6835cb1661ba10b', 'nupromptgenerator', 'Response', 20, 'nuOpenWiki(\'/AI_Prompt_Generator\')', NULL, NULL), ('nu6836b70dd94f3bd', 'nu6836b70dd053bb4', 'Main', 10, NULL, NULL, NULL), ('nu6836b7e919d69ce', 'nuitem', 'Main', 10, 'nuOpenWiki(\'/Items\')', NULL, NULL), ('nu6836ba2403b7939', 'nuitem', 'Additional', 20, 'nuOpenWiki(\'/Items\')', NULL, NULL), ('nu6839a62ff153165', 'nupromptgenerator', 'Settings', 30, 'nuOpenWiki(\'/AI_Prompt_Generator\')', NULL, NULL), ('nu68397bb78618543', 'nu68397bb77c048bb', 'Main', 10, NULL, NULL, NULL), ('nu68397cdfd04208e', 'nuobjectgrid', 'Items', 30, NULL, NULL, NULL), ('nu683d380ace2eb18', 'nusetup', 'Include', 20, NULL, NULL, NULL), ('nu683fcd855008efe', 'nualterdbcolumn', 'Main', 10, '', NULL, NULL), ('nu684e16abd1b5744', 'nunotes', 'Additional', 20, NULL, NULL, NULL), ('nu684d390a5e73fd1', 'nuhome', 'Add', 20, NULL, NULL, NULL), ('nu68653b5f3a91277', 'nuobject', '|Chart', 100, NULL, NULL, NULL), ('nu687b3c9ebc3e813', 'nuform', 'Custom Code 2', 50, NULL, NULL, NULL), ('nu6885af953ea5089', 'nuappcloner', 'Settings', 10, '', NULL, NULL), ('nu6885af953ea554b', 'nuappcloner', 'Advanced', 20, '', NULL, NULL), ('nu6886eb368899b19', 'nuappcloner', 'Tables & Views', 30, NULL, NULL, NULL), ('nu68874e7a14a63ee', 'nuprocedure', 'JS', 20, NULL, NULL, NULL); -- -------------------------------------------------------- -- -- Table structure for table `zzzzsys_timezone` -- CREATE TABLE `zzzzsys_timezone` ( `zzzzsys_timezone_id` varchar(25) NOT NULL, `stz_timezone` mediumtext, `stz_json` mediumtext ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3; -- -- Dumping data for table `zzzzsys_timezone` -- INSERT INTO `zzzzsys_timezone` (`zzzzsys_timezone_id`, `stz_timezone`, `stz_json`) VALUES ('52819fa3409d46f', 'Africa/Abidjan', NULL), ('52819fa44106fdd', 'Africa/Accra', NULL), ('52819fa54a1c5c4', 'Africa/Addis_Ababa', NULL), ('52819fa64a81c45', 'Africa/Algiers', NULL), ('52819fa74aef179', 'Africa/Asmara', NULL), ('52819fa84b5bed6', 'Africa/Asmera', NULL), ('52819fa94bc9a93', 'Africa/Bamako', NULL), ('52819faa4c334ed', 'Africa/Bangui', NULL), ('52819fab4c9ff3f', 'Africa/Banjul', NULL), ('52819fac4d0b2f3', 'Africa/Bissau', NULL), ('52819fad4d6d2ab', 'Africa/Blantyre', NULL), ('52819fae4dd596d', 'Africa/Brazzaville', NULL), ('52819faf4e3ea69', 'Africa/Bujumbura', NULL), ('52819fb04ea2165', 'Africa/Cairo', NULL), ('52819fb14f0c347', 'Africa/Casablanca', NULL), ('52819fb24f7a1a9', 'Africa/Ceuta', NULL), ('52819fb34feb2b9', 'Africa/Conakry', NULL), ('52819fb4505727a', 'Africa/Dakar', NULL), ('52819fb550bf3bd', 'Africa/Dar_es_Salaam', NULL), ('52819fb6512b354', 'Africa/Djibouti', NULL), ('52819fb7519de97', 'Africa/Douala', NULL), ('52819fb8520ef05', 'Africa/El_Aaiun', NULL), ('52819fb9527a466', 'Africa/Freetown', NULL), ('52819fba52e8bfe', 'Africa/Gaborone', NULL), ('52819fbb535a8db', 'Africa/Harare', NULL), ('52819fbc53cc7cb', 'Africa/Johannesburg', NULL), ('52819fbd543bb3d', 'Africa/Juba', NULL), ('52819fbe54a483a', 'Africa/Kampala', NULL), ('52819fbf550c406', 'Africa/Khartoum', NULL), ('52819fc055a94f7', 'Africa/Kigali', NULL), ('52819fc156a0bb9', 'Africa/Kinshasa', NULL), ('52819fc2584bf74', 'Africa/Lagos ', NULL), ('52819fc358f7f66', 'Africa/Libreville', NULL), ('52819fc45965c0d', 'Africa/Lome', NULL), ('52819fc559d1824', 'Africa/Luanda', NULL), ('52819fc65a72a20', 'Africa/Lubumbashi', NULL), ('52819fc75ae5c44', 'Africa/Lusaka', NULL), ('52819fc85b5ca8c', 'Africa/Malabo', NULL), ('52819fc95bd505d', 'Africa/Maputo', NULL), ('52819fca5e1862c', 'Africa/Maseru', NULL), ('52819fcb5e82cb2', 'Africa/Mbabane', NULL), ('52819fcc5eebbe0', 'Africa/Mogadishu', NULL), ('52819fcd5f56d2d', 'Africa/Monrovia', NULL), ('52819fce5fbef7c', 'Africa/Nairobi', NULL), ('52819fcf6025798', 'Africa/Ndjamena', NULL), ('52819fd0608eabc', 'Africa/Niamey', NULL), ('52819fd160f38e7', 'Africa/Nouakchott', NULL), ('52819fd26198388', 'Africa/Ouagadougou', NULL), ('52819fd36cef7d3', 'Africa/Porto-Novo', NULL), ('52819fd46d5db96', 'Africa/Sao_Tome', NULL), ('52819fd56e465c5', 'Africa/Timbuktu', NULL), ('52819fd66eb1b1d', 'Africa/Tripoli', NULL), ('52819fd76f1d1cf', 'Africa/Tunis', NULL), ('52819fd86f894da', 'Africa/Windhoek', NULL), ('52819fd96ff36de', 'America/Adak', NULL), ('52819fda705d5db', 'America/Anchorage', NULL), ('52819fdb70ca47b', 'America/Anguilla', NULL), ('52819fdc713665a', 'America/Antigua', NULL), ('52819fdd71a44c6', 'America/Araguaina', NULL), ('52819fde7211b94', 'America/Argentina/Buenos_Aires', NULL), ('52819fdf727d3b7', 'America/Argentina/Catamarca', NULL), ('52819fe072e958b', 'America/Argentina/ComodRivadavia', NULL), ('52819fe17352bc1', 'America/Argentina/Cordoba', NULL), ('52819fe274021b6', 'America/Argentina/Jujuy', NULL), ('52819fe37477a3e', 'America/Argentina/La_Rioja', NULL), ('52819fe474f1b3c', 'America/Argentina/Mendoza', NULL), ('52819fe5756aca9', 'America/Argentina/Rio_Gallegos', NULL), ('52819fe675e3a45', 'America/Argentina/Salta', NULL), ('52819fe7765b813', 'America/Argentina/San_Juan', NULL), ('52819fe876d4888', 'America/Argentina/San_Luis', NULL), ('52819fe97747d84', 'America/Argentina/Tucuman', NULL), ('52819fea77c0dbe', 'America/Argentina/Ushuaia', NULL), ('52819feb783abf9', 'America/Aruba', NULL), ('52819fec78b6d98', 'America/Asuncion', NULL), ('52819fed7926984', 'America/Atikokan', NULL), ('52819fee799c9bd', 'America/Atka', NULL), ('52819fef7a0e5c7', 'America/Bahia', NULL), ('52819ff087e6620', 'America/Bahia_Banderas', NULL), ('52819ff18856b00', 'America/Barbados', NULL), ('52819ff2890b040', 'America/Belem', NULL), ('52819ff3897c302', 'America/Belize', NULL), ('52819ff489eb768', 'America/Blanc-Sablon', NULL), ('52819ff58a5b604', 'America/Boa_Vista', NULL), ('52819ff68acf15d', 'America/Bogota', NULL), ('52819ff78b49038', 'America/Boise', NULL), ('52819ff88bbf287', 'America/Buenos_Aires', NULL), ('52819ff98c31a7c', 'America/Cambridge_Bay', NULL), ('52819ffa8c9fd3d', 'America/Campo_Grande', NULL), ('52819ffb8d0e9f3', 'America/Cancun', NULL), ('52819ffc8d8294c', 'America/Caracas', NULL), ('52819ffd8e40c54', 'America/Catamarca', NULL), ('52819ffe8ebf7a8', 'America/Cayenne', NULL), ('52819fff8f3deef', 'America/Cayman', NULL), ('5281a0008fb91da', 'America/Chicago', NULL), ('5281a001902eacc', 'America/Chihuahua', NULL), ('5281a00290a5cdf', 'America/Coral_Harbour', NULL), ('5281a0039121eb5', 'America/Cordoba', NULL), ('5281a00491d04fe', 'America/Costa_Rica', NULL), ('5281a00592545ff', 'America/Creston', NULL), ('5281a00692d3646', 'America/Cuiaba', NULL), ('5281a007935bea0', 'America/Curacao', NULL), ('5281a00893dac77', 'America/Danmarkshavn', NULL), ('5281a00994592a4', 'America/Dawson', NULL), ('5281a00a94e4d56', 'America/Dawson_Creek', NULL), ('5281a00b956da59', 'America/Denver', NULL), ('5281a00c95f4f78', 'America/Detroit', NULL), ('5281a00d9672fc4', 'America/Dominica', NULL), ('5281a00e96f1a71', 'America/Edmonton', NULL), ('5281a00f976ef28', 'America/Eirunepe', NULL), ('5281a01097ec36c', 'America/El_Salvador', NULL), ('5281a011986a4c9', 'America/Ensenada', NULL), ('5281a01298eb04c', 'America/Fort_Wayne', NULL), ('5281a013996e3cc', 'America/Fortaleza', NULL), ('5281a01499ee0d7', 'America/Glace_Bay', NULL), ('5281a0159a6738f', 'America/Godthab', NULL), ('5281a0169ae60fb', 'America/Goose_Bay', NULL), ('5281a0179b64421', 'America/Grand_Turk', NULL), ('5281a0189be3e29', 'America/Grenada', NULL), ('5281a0199c6344a', 'America/Guadeloupe', NULL), ('5281a01a9ce3844', 'America/Guatemala', NULL), ('5281a01b9d64472', 'America/Guayaquil', NULL), ('5281a01c9de431f', 'America/Guyana', NULL), ('5281a01d9e64a89', 'America/Halifax', NULL), ('5281a01e9ee5729', 'America/Havana', NULL), ('5281a01fa582b0b', 'America/Hermosillo', NULL), ('5281a020a60c1cb', 'America/Indiana/Indianapolis', NULL), ('5281a021a68ad1b', 'America/Indiana/Knox', NULL), ('5281a022a70ab7e', 'America/Indiana/Marengo', NULL), ('5281a023a78a9f8', 'America/Indiana/Petersburg', NULL), ('5281a024b6c65d2', 'America/Indiana/Tell_City', NULL), ('5281a025b743617', 'America/Indiana/Vevay', NULL), ('5281a026b7bd32b', 'America/Indiana/Vincennes', NULL), ('5281a027b83c7b7', 'America/Indiana/Winamac', NULL), ('5281a028b8b5382', 'America/Indianapolis', NULL), ('5281a029b92b8a4', 'America/Inuvik', NULL), ('5281a02ab9a5642', 'America/Iqaluit', NULL), ('5281a02bba2319a', 'America/Jamaica', NULL), ('5281a02cc3580ca', 'America/Jujuy', NULL), ('5281a02dc3d9b4a', 'America/Juneau', NULL), ('5281a02ec4b4b08', 'America/Kentucky/Louisville', NULL), ('5281a02fc57ddcd', 'America/Kentucky/Monticello', NULL), ('5281a030c5f7f87', 'America/Knox_IN', NULL), ('5281a031c67163d', 'America/Kralendijk', NULL), ('5281a032c6ecabc', 'America/La_Paz', NULL), ('5281a033c7667a3', 'America/Lima', NULL), ('5281a034c7e4ccf', 'America/Los_Angeles', NULL), ('5281a035c860612', 'America/Louisville', NULL), ('5281a036c8dfceb', 'America/Lower_Princes', NULL), ('5281a037c95acd2', 'America/Maceio', NULL), ('5281a038c9dae4d', 'America/Managua', NULL), ('5281a039ca5fd3d', 'America/Manaus', NULL), ('5281a03ad4029d7', 'America/Marigot', NULL), ('5281a03bd4800a8', 'America/Martinique', NULL), ('5281a03cd4f8d9d', 'America/Matamoros', NULL), ('5281a03dd56f298', 'America/Mazatlan', NULL), ('5281a03ed5eb8a2', 'America/Mendoza', NULL), ('5281a03fd6686ad', 'America/Menominee', NULL), ('5281a040d6e2a6f', 'America/Merida', NULL), ('5281a041d776ec4', 'America/Metlakatla', NULL), ('5281a042d7f6261', 'America/Mexico_City', NULL), ('5281a043d874e50', 'America/Miquelon', NULL), ('5281a044d8f40df', 'America/Moncton', NULL), ('5281a045d96f56b', 'America/Monterrey', NULL), ('5281a046d9eebc9', 'America/Montevideo', NULL), ('5281a047da6f51b', 'America/Montreal', NULL), ('5281a048daec32f', 'America/Montserrat', NULL), ('5281a049db6c822', 'America/Nassau', NULL), ('5281a04adbebf83', 'America/New_York', NULL), ('5281a04be29de22', 'America/Nipigon', NULL), ('5281a04ce3791ab', 'America/Nome', NULL), ('5281a04de4621e6', 'America/Noronha', NULL), ('5281a04ee4e9d8a', 'America/North_Dakota/Beulah', NULL), ('5281a04fe56a837', 'America/North_Dakota/Center', NULL), ('5281a050e5ec3bf', 'America/North_Dakota/New_Salem', NULL), ('5281a051e66c226', 'America/Ojinaga', NULL), ('5281a052e6eb6b1', 'America/Panama', NULL), ('5281a053e771ebf', 'America/Pangnirtung', NULL), ('5281a054e7f5d06', 'America/Paramaribo', NULL), ('5281a055e87432b', 'America/Phoenix', NULL), ('5281a056f3e39a9', 'America/Port-au-Prince', NULL), ('5281a058008a8ad', 'America/Port_of_Spain', NULL), ('5281a059011444a', 'America/Porto_Acre', NULL), ('5281a05a019da2e', 'America/Porto_Velho', NULL), ('5281a05b02270ec', 'America/Puerto_Rico', NULL), ('5281a05c02b2d2e', 'America/Rainy_River', NULL), ('5281a05d0abd421', 'America/Rankin_Inlet', NULL), ('5281a05e0b23bbb', 'America/Recife', NULL), ('5281a05f0ba9fac', 'America/Regina', NULL), ('5281a0600c2a582', 'America/Resolute', NULL), ('5281a0610cf1e16', 'America/Rio_Branco', NULL), ('5281a0620d6e73e', 'America/Rosario', NULL), ('5281a0630df269f', 'America/Santa_Isabel', NULL), ('5281a0640e7c243', 'America/Santarem', NULL), ('5281a0650f00b2b', 'America/Santiago', NULL), ('5281a0660f81e90', 'America/Santo_Domingo', NULL), ('5281a0671001fe9', 'America/Sao_Paulo', NULL), ('5281a06816b015a', 'America/Scoresbysund', NULL), ('5281a0691738a17', 'America/Shiprock', NULL), ('5281a06a17c07af', 'America/Sitka', NULL), ('5281a06b184793e', 'America/St_Barthelemy', NULL), ('5281a06c18cefca', 'America/St_Johns', NULL), ('5281a06d195ad37', 'America/St_Kitts', NULL), ('5281a06e19dcad8', 'America/St_Lucia', NULL), ('5281a06f1ab84cc', 'America/St_Thomas', NULL), ('5281a0701b4895b', 'America/St_Vincent', NULL), ('5281a0711bdc9cb', 'America/Swift_Current', NULL), ('5281a0721c6d284', 'America/Tegucigalpa', NULL), ('5281a0731cfe848', 'America/Thule', NULL), ('5281a0741d90667', 'America/Thunder_Bay', NULL), ('5281a0751e22f0d', 'America/Tijuana', NULL), ('5281a0761efa34f', 'America/Toronto', NULL), ('5281a0771f90738', 'America/Tortola', NULL), ('5281a0782119266', 'America/Vancouver', NULL), ('5281a07921a60bc', 'America/Virgin', NULL), ('5281a07a2262248', 'America/Whitehorse', NULL), ('5281a07b22f5dc0', 'America/Winnipeg', NULL), ('5281a07c2387969', 'America/Yakutat', NULL), ('5281a07d24138e6', 'America/Yellowknife', NULL), ('5281a07e24a3926', 'Antarctica/Casey', NULL), ('5281a07f253cc33', 'Antarctica/Davis', NULL), ('5281a080261a293', 'Antarctica/DumontDUrville', NULL), ('5281a08126af775', 'Antarctica/Macquarie', NULL), ('5281a082274083d', 'Antarctica/Mawson', NULL), ('5281a0832b865db', 'Antarctica/McMurdo', NULL), ('5281a0842c1a6a4', 'Antarctica/Palmer', NULL), ('5281a0852cac95d', 'Antarctica/Rothera', NULL), ('5281a0862d3c98a', 'Antarctica/South_Pole', NULL), ('5281a0872dca2fd', 'Antarctica/Syowa', NULL), ('5281a0882e5a3db', 'Antarctica/Vostok', NULL), ('5281a0892ef8f3e', 'Arctic/Longyearbyen', NULL), ('5281a08a2f8c58e', 'Asia/Aden', NULL), ('5281a08b392c116', 'Asia/Almaty', NULL), ('5281a08c39bfc99', 'Asia/Amman', NULL), ('5281a08d3a9af97', 'Asia/Anadyr', NULL), ('5281a08e3afe663', 'Asia/Aqtau', NULL), ('5281a08f3b8ffbf', 'Asia/Aqtobe', NULL), ('5281a0903c1eb18', 'Asia/Ashgabat', NULL), ('5281a0913cad956', 'Asia/Ashkhabad', NULL), ('5281a0923d493e0', 'Asia/Baghdad', NULL), ('5281a0933db361c', 'Asia/Bahrain', NULL), ('5281a0943e4d693', 'Asia/Baku', NULL), ('5281a0953ee5155', 'Asia/Bangkok', NULL), ('5281a0963f77c2f', 'Asia/Beirut', NULL), ('5281a09740551ac', 'Asia/Bishkek', NULL), ('5281a09840eba22', 'Asia/Brunei', NULL), ('5281a0994183708', 'Asia/Calcutta', NULL), ('5281a09a421c122', 'Asia/Choibalsan', NULL), ('5281a09b42b4a59', 'Asia/Chongqing', NULL), ('5281a09c434d7a2', 'Asia/Chungking', NULL), ('5281a09d5004cfc', 'Asia/Colombo', NULL), ('5281a09e50a0bc7', 'Asia/Dacca', NULL), ('5281a09f5139227', 'Asia/Damascus', NULL), ('5281a0a051ccb15', 'Asia/Dhaka', NULL), ('5281a0a15264929', 'Asia/Dili', NULL), ('5281a0a25931d48', 'Asia/Dubai', NULL), ('5281a0a359c69e6', 'Asia/Dushanbe', NULL), ('5281a0a45a5d9dd', 'Asia/Gaza', NULL), ('5281a0a55af5fb5', 'Asia/Harbin', NULL), ('5281a0a6683a809', 'Asia/Hebron', NULL), ('5281a0a768ccd66', 'Asia/Ho_Chi_Minh', NULL), ('5281a0a87491a25', 'Asia/Hong_Kong', NULL), ('5281a0a975249f9', 'Asia/Hovd', NULL), ('5281a0aa75b1122', 'Asia/Irkutsk', NULL), ('5281a0ab763ee82', 'Asia/Istanbul', NULL), ('5281a0ac76d0bba', 'Asia/Jakarta', NULL), ('5281a0ad7762040', 'Asia/Jayapura', NULL), ('5281a0ae77f9979', 'Asia/Jerusalem', NULL), ('5281a0af7888b2a', 'Asia/Kabul', NULL), ('5281a0b07f60fbd', 'Asia/Kamchatka', NULL), ('5281a0b17ff7b93', 'Asia/Karachi', NULL), ('5281a0b2808875b', 'Asia/Kashgar', NULL), ('5281a0b38121eec', 'Asia/Kathmandu', NULL), ('5281a0b481b3f82', 'Asia/Katmandu', NULL), ('5281a0b582467de', 'Asia/Khandyga', NULL), ('5281a0b682d7c6b', 'Asia/Kolkata', NULL), ('5281a0b7836a737', 'Asia/Krasnoyarsk', NULL), ('5281a0b883fc097', 'Asia/Kuala_Lumpur', NULL), ('5281a0b984900e1', 'Asia/Kuching', NULL), ('5281a0ba9625309', 'Asia/Kuwait', NULL), ('5281a0bb9995a61', 'Asia/Macao', NULL), ('5281a0bc9b6658f', 'Asia/Macau', NULL), ('5281a0bda2c3f39', 'Asia/Magadan', NULL), ('5281a0bea353642', 'Asia/Makassar', NULL), ('5281a0bfa3e3403', 'Asia/Manila', NULL), ('5281a0c0a47b670', 'Asia/Muscat', NULL), ('5281a0c1a513266', 'Asia/Nicosia', NULL), ('5281a0c2a5a914a', 'Asia/Novokuznetsk', NULL), ('5281a0c3a63e893', 'Asia/Novosibirsk', NULL), ('5281a0c4a6cfff2', 'Asia/Omsk', NULL), ('5281a0c5ac5370d', 'Asia/Oral', NULL), ('5281a0c6ad3a016', 'Asia/Phnom_Penh', NULL), ('5281a0c7add4a83', 'Asia/Pontianak', NULL), ('5281a0c8ae6fc1d', 'Asia/Pyongyang', NULL), ('5281a0c9af084a7', 'Asia/Qatar', NULL), ('5281a0caaf9a3f7', 'Asia/Qyzylorda', NULL), ('5281a0cbb029a0f', 'Asia/Rangoon', NULL), ('5281a0ccb0b8ed7', 'Asia/Riyadh', NULL), ('5281a0cdb14f26f', 'Asia/Saigon', NULL), ('5281a0ceb1e6900', 'Asia/Sakhalin', NULL), ('5281a0cfb27e770', 'Asia/Samarkand', NULL), ('5281a0d0b310ab9', 'Asia/Seoul', NULL), ('5281a0d1b3a71fe', 'Asia/Shanghai', NULL), ('5281a0d2b43caed', 'Asia/Singapore', NULL), ('5281a0d3b4ce508', 'Asia/Taipei', NULL), ('5281a0d4b5675f0', 'Asia/Tashkent', NULL), ('5281a0d5b6195f2', 'Asia/Tbilisi', NULL), ('5281a0d6b6a9048', 'Asia/Tehran', NULL), ('5281a0d7b738dfa', 'Asia/Tel_Aviv', NULL), ('5281a0d8b7ca13e', 'Asia/Thimbu', NULL), ('5281a0d9c3af580', 'Asia/Thimphu', NULL), ('5281a0dac410be3', 'Asia/Tokyo', NULL), ('5281a0dbc498d19', 'Asia/Ujung_Pandang', NULL), ('5281a0dcc5452d8', 'Asia/Ulaanbaatar', NULL), ('5281a0ddc5cffcb', 'Asia/Ulan_Bator', NULL), ('5281a0dec72d2c8', 'Asia/Urumqi', NULL), ('5281a0dfc802643', 'Asia/Ust-Nera', NULL), ('5281a0e0c8a8864', 'Asia/Vientiane', NULL), ('5281a0e1c97ee98', 'Asia/Vladivostok', NULL), ('5281a0e2c9f8bff', 'Asia/Yakutsk', NULL), ('5281a0e3ca96355', 'Asia/Yekaterinburg', NULL), ('5281a0e4cb41fb8', 'Asia/Yerevan', NULL), ('5281a0e5cbd2ab3', 'Atlantic/Azores', NULL), ('5281a0e6cc39d74', 'Atlantic/Bermuda', NULL), ('5281a0e7cd08d1f', 'Atlantic/Canary', NULL), ('5281a0e8cdf71cd', 'Atlantic/Cape_Verde', NULL), ('5281a0e9cee78d7', 'Atlantic/Faeroe', NULL), ('5281a0eacf865b6', 'Atlantic/Faroe', NULL), ('5281a0ebd023d83', 'Atlantic/Jan_Mayen', NULL), ('5281a0ecd083a61', 'Atlantic/Madeira', NULL), ('5281a0edd11319e', 'Atlantic/Reykjavik', NULL), ('5281a0eed19481b', 'Atlantic/South_Georgia', NULL), ('5281a0efd1f32fb', 'Atlantic/St_Helena', NULL), ('5281a0f0d28596b', 'Atlantic/Stanley', NULL), ('5281a0f1d34022d', 'Australia/ACT', NULL), ('5281a0f2d414c2c', 'Australia/Adelaide', NULL), ('5281a0f3d50b948', 'Australia/Brisbane', NULL), ('5281a0f4d5ad53b', 'Australia/Broken_Hill', NULL), ('5281a0f5d6511b5', 'Australia/Canberra', NULL), ('5281a0f6d6f2fcb', 'Australia/Currie', NULL), ('5281a0f7d793413', 'Australia/Darwin', NULL), ('5281a0f8d837181', 'Australia/Eucla', NULL), ('5281a0f9d8d96a3', 'Australia/Hobart', NULL), ('5281a0fad975081', 'Australia/LHI', NULL), ('5281a0fbda115d9', 'Australia/Lindeman', NULL), ('5281a0fcdab0d34', 'Australia/Lord_Howe', NULL), ('5281a0fddb58517', 'Australia/Melbourne', NULL), ('5281a0fedbfa7e6', 'Australia/North', NULL), ('5281a0ffdc99118', 'Australia/NSW', NULL), ('5281a100dd385a2', 'Australia/Perth', NULL), ('5281a101ddd8257', 'Australia/Queensland', NULL), ('5281a102de7b7a9', 'Australia/South', NULL), ('5281a103df20a58', 'Australia/Sydney', NULL), ('5281a104dfc5885', 'Australia/Tasmania', NULL), ('5281a105e06a9b6', 'Australia/Victoria', NULL), ('5281a106e10f94a', 'Australia/West', NULL), ('5281a107e1b7664', 'Australia/Yancowinna', NULL), ('5281a108e25bc93', 'Brazil/Acre', NULL), ('5281a109e3d5d6e', 'Brazil/DeNoronha', NULL), ('5281a10ae43d03b', 'Brazil/East', NULL), ('5281a10be4de708', 'Brazil/West', NULL), ('5281a10ce57f01e', 'Canada/Atlantic', NULL), ('5281a10de622257', 'Canada/Central', NULL), ('5281a10ee6bf449', 'Canada/East-Saskatchewan', NULL), ('5281a10fe75f2c4', 'Canada/Eastern', NULL), ('5281a110e80412c', 'Canada/Mountain', NULL), ('5281a111e8ab026', 'Canada/Newfoundland', NULL), ('5281a112e94ed84', 'Canada/Pacific', NULL), ('5281a113e9f0daa', 'Canada/Saskatchewan', NULL), ('5281a114f0b9085', 'Canada/Yukon', NULL), ('5281a115f1557e0', 'CET', NULL), ('5281a116f1f4f2e', 'Chile/Continental', NULL), ('5281a117f296fd5', 'Chile/EasterIsland', NULL), ('5281a118f33df3d', 'CST6CDT', NULL), ('5281a119f3e04e9', 'Cuba', NULL), ('5281a11b005e55d', 'EET', NULL), ('5281a11c00fa005', 'Egypt', NULL), ('5281a11d01970ad', 'Eire', NULL), ('5281a11e027c729', 'EST', NULL), ('5281a11f031f564', 'EST5EDT', NULL), ('5281a12003bd2d8', 'Etc/GMT', NULL), ('5281a121045accb', 'Etc/GMT+0', NULL), ('5281a1220508372', 'Etc/GMT+1', NULL), ('5281a12305b7170', 'Etc/GMT+10', NULL), ('5281a12406b3d0a', 'Etc/GMT+11', NULL), ('5281a125075e837', 'Etc/GMT+12', NULL), ('5281a126080e0f2', 'Etc/GMT+2', NULL), ('5281a12708c2a64', 'Etc/GMT+3', NULL), ('5281a128097255f', 'Etc/GMT+4', NULL), ('5281a1290a6ffbc', 'Etc/GMT+5', NULL), ('5281a12a0b21a7c', 'Etc/GMT+6', NULL), ('5281a12b0bcc422', 'Etc/GMT+7', NULL), ('5281a12c0c747f2', 'Etc/GMT+8', NULL), ('5281a12d0d21e28', 'Etc/GMT+9', NULL), ('5281a12e0dd3691', 'Etc/GMT-0', NULL), ('5281a12f14f8806', 'Etc/GMT-1', NULL), ('5281a13015ad04a', 'Etc/GMT-10', NULL), ('5281a131165c9a8', 'Etc/GMT-11', NULL), ('5281a132170a862', 'Etc/GMT-12', NULL), ('5281a13317ba384', 'Etc/GMT-13', NULL), ('5281a1341865467', 'Etc/GMT-14', NULL), ('5281a1351915ab2', 'Etc/GMT-2', NULL), ('5281a13619c9d77', 'Etc/GMT-3', NULL), ('5281a1371a7a768', 'Etc/GMT-4', NULL), ('5281a1381b291ad', 'Etc/GMT-5', NULL), ('5281a1391bd512c', 'Etc/GMT-6', NULL), ('5281a13a1cdc706', 'Etc/GMT-7', NULL), ('5281a13b1dde432', 'Etc/GMT-8', NULL), ('5281a13c1e901f3', 'Etc/GMT-9', NULL), ('5281a13d1f4118d', 'Etc/GMT0', NULL), ('5281a13e1fecf31', 'Etc/Greenwich', NULL), ('5281a13f20ea1f3', 'Etc/UCT', NULL), ('5281a14021ecc1a', 'Etc/Universal', NULL), ('5281a141276c8dd', 'Etc/UTC', NULL), ('5281a1422870f52', 'Etc/Zulu', NULL), ('5281a14328d7e27', 'Europe/Amsterdam', NULL), ('5281a144293e781', 'Europe/Andorra', NULL), ('5281a14529a6597', 'Europe/Athens', NULL), ('5281a1462a2183d', 'Europe/Belfast', NULL), ('5281a1472b27ab5', 'Europe/Belgrade', NULL), ('5281a1482b95f9d', 'Europe/Berlin', NULL), ('5281a1492c3f8d0', 'Europe/Bratislava', NULL), ('5281a14a2d40451', 'Europe/Brussels', NULL), ('5281a14b2de356d', 'Europe/Bucharest', NULL), ('5281a14c2e8003e', 'Europe/Budapest', NULL), ('5281a14d2ef47a3', 'Europe/Busingen', NULL), ('5281a14e2f9d4cf', 'Europe/Chisinau', NULL), ('5281a14f3048453', 'Europe/Copenhagen', NULL), ('5281a15030f2b55', 'Europe/Dublin', NULL), ('5281a1513ce8a90', 'Europe/Gibraltar', NULL), ('5281a1523d9455c', 'Europe/Guernsey', NULL), ('5281a1533e3ecc9', 'Europe/Helsinki', NULL), ('5281a1543ee5f5a', 'Europe/Isle_of_Man', NULL), ('5281a1553fb3f61', 'Europe/Istanbul', NULL), ('5281a15640623f7', 'Europe/Jersey', NULL), ('5281a1574109a27', 'Europe/Kaliningrad', NULL), ('5281a158421be40', 'Europe/Kiev', NULL), ('5281a15942d2df1', 'Europe/Lisbon', NULL), ('5281a15a4387b4d', 'Europe/Ljubljana', NULL), ('5281a15b443824d', 'Europe/London', NULL), ('5281a15c44ee825', 'Europe/Luxembourg', NULL), ('5281a15d459a699', 'Europe/Madrid', NULL), ('5281a15e46aa01e', 'Europe/Malta', NULL), ('5281a15f4756ead', 'Europe/Mariehamn', NULL), ('5281a16048033d3', 'Europe/Minsk', NULL), ('5281a16148b02d8', 'Europe/Monaco', NULL), ('5281a162495ae00', 'Europe/Moscow', NULL), ('5281a1634a06938', 'Europe/Nicosia', NULL), ('5281a1644ab2537', 'Europe/Oslo', NULL), ('5281a1654b607a0', 'Europe/Paris', NULL), ('5281a1664c0a464', 'Europe/Podgorica', NULL), ('5281a1675297098', 'Europe/Prague', NULL), ('5281a168534cbef', 'Europe/Riga', NULL), ('5281a16953c1632', 'Europe/Rome', NULL), ('5281a16a546eb1c', 'Europe/Samara', NULL), ('5281a16b55183d6', 'Europe/San_Marino', NULL), ('5281a16c55c3e49', 'Europe/Sarajevo', NULL), ('5281a16d567a909', 'Europe/Simferopol', NULL), ('5281a16e578c5ca', 'Europe/Skopje', NULL), ('5281a16f58a0561', 'Europe/Sofia', NULL), ('5281a17059b7e00', 'Europe/Stockholm', NULL), ('5281a1715ada39c', 'Europe/Tallinn', NULL), ('5281a1725b981dd', 'Europe/Tirane', NULL), ('5281a1735c520ab', 'Europe/Tiraspol', NULL), ('5281a1745d0c5ff', 'Europe/Uzhgorod', NULL), ('5281a1755dc75a3', 'Europe/Vaduz', NULL), ('5281a1765e7ec77', 'Europe/Vatican', NULL), ('5281a1775f33528', 'Europe/Vienna', NULL), ('5281a1785fee51e', 'Europe/Vilnius', NULL), ('5281a17960a75a5', 'Europe/Volgograd', NULL), ('5281a17a61653f3', 'Europe/Warsaw', NULL), ('5281a17b621c391', 'Europe/Zagreb', NULL), ('5281a17c62d8149', 'Europe/Zaporozhye', NULL), ('5281a17d6394bdc', 'Europe/Zurich', NULL), ('5281a17e64b04e6', 'Factory', NULL), ('5281a17f6566ce7', 'GB', NULL), ('5281a180667b0ff', 'GB-Eire', NULL), ('5281a18167364aa', 'GMT', NULL), ('5281a18267f39f3', 'GMT+0', NULL), ('5281a183690a029', 'GMT-0', NULL), ('5281a18469c9b45', 'GMT0', NULL), ('5281a1856a822c1', 'Greenwich', NULL), ('5281a1866b3a73f', 'Hongkong', NULL), ('5281a1876bf5f3f', 'HST', NULL), ('5281a1886cbc018', 'Iceland', NULL), ('5281a1896d7af41', 'Indian/Antananarivo', NULL), ('5281a18a6e38d94', 'Indian/Chagos', NULL), ('5281a18b6ef1055', 'Indian/Christmas', NULL), ('5281a18c6fa914a', 'Indian/Cocos', NULL), ('5281a18d716cac2', 'Indian/Comoro', NULL), ('5281a18e727f96b', 'Indian/Kerguelen', NULL), ('5281a18f7335833', 'Indian/Mahe', NULL), ('5281a1907dbe28e', 'Indian/Maldives', NULL), ('5281a1917e7a840', 'Indian/Mauritius', NULL), ('5281a1927f358dc', 'Indian/Mayotte', NULL), ('5281a1937ffce01', 'Indian/Reunion', NULL), ('5281a19480b8eb3', 'Iran', NULL), ('5281a1958174e03', 'Israel', NULL), ('5281a1968236672', 'Jamaica', NULL), ('5281a1978349c3b', 'Japan', NULL), ('5281a19884666fe', 'Kwajalein', NULL), ('5281a19985161dc', 'Libya', NULL), ('5281a19a85d936f', 'MET', NULL), ('5281a19b869ac55', 'Mexico/BajaNorte', NULL), ('5281a19c8755b50', 'Mexico/BajaSur', NULL), ('5281a19d8805651', 'Mexico/General', NULL), ('5281a19e88c6791', 'MST', NULL), ('5281a19f8a9df7c', 'MST7MDT', NULL), ('5281a1a08b568c9', 'Navajo', NULL), ('5281a1a18c10637', 'NZ', NULL), ('5281a1a28cc076a', 'NZ-CHAT', NULL), ('5281a1a38db68d2', 'Pacific/Apia', NULL), ('5281a1a48edbfe0', 'Pacific/Auckland', NULL), ('5281a1a58f97f6b', 'Pacific/Chatham', NULL), ('5281a1a690adea0', 'Pacific/Chuuk', NULL), ('5281a1a7914900c', 'Pacific/Easter', NULL), ('5281a1a89202f8f', 'Pacific/Efate', NULL), ('5281a1a992be08a', 'Pacific/Enderbury', NULL), ('5281a1aa9376832', 'Pacific/Fakaofo', NULL), ('5281a1ab969470b', 'Pacific/Fiji', NULL), ('5281a1ac9755655', 'Pacific/Funafuti', NULL), ('5281a1ad9816446', 'Pacific/Galapagos', NULL), ('5281a1ae98d3fae', 'Pacific/Gambier', NULL), ('5281a1af9991f3e', 'Pacific/Guadalcanal', NULL), ('5281a1b09a4fddd', 'Pacific/Guam', NULL), ('5281a1b19b0cfd2', 'Pacific/Honolulu', NULL), ('5281a1b29faa3dd', 'Pacific/Johnston', NULL), ('5281a1b3a0d3019', 'Pacific/Kiritimati', NULL), ('5281a1b4a18cdc0', 'Pacific/Kosrae', NULL), ('5281a1b5a2a9fe4', 'Pacific/Kwajalein', NULL), ('5281a1b6a366199', 'Pacific/Majuro', NULL), ('5281a1b7a41e352', 'Pacific/Marquesas', NULL), ('5281a1b8a543c50', 'Pacific/Midway', NULL), ('5281a1b9a65d08d', 'Pacific/Nauru', NULL), ('5281a1baa7229e2', 'Pacific/Niue', NULL), ('5281a1bba7e9f84', 'Pacific/Norfolk', NULL), ('5281a1bca8aff1f', 'Pacific/Noumea', NULL), ('5281a1bda973ea9', 'Pacific/Pago_Pago', NULL), ('5281a1beaa37ad1', 'Pacific/Palau', NULL), ('5281a1bfaaf8959', 'Pacific/Pitcairn', NULL), ('5281a1c0abb94a6', 'Pacific/Pohnpei', NULL), ('5281a1c1ac7d9a4', 'Pacific/Ponape', NULL), ('5281a1c2adaeefc', 'Pacific/Port_Moresby', NULL), ('5281a1c3ae74c55', 'Pacific/Rarotonga', NULL), ('5281a1c4af3715e', 'Pacific/Saipan', NULL), ('5281a1c5aff8b7a', 'Pacific/Samoa', NULL), ('5281a1c6b0be317', 'Pacific/Tahiti', NULL), ('5281a1c7b7d1d5a', 'Pacific/Tarawa', NULL), ('5281a1c8b88aa9e', 'Pacific/Tongatapu', NULL), ('5281a1c9b9b4eb9', 'Pacific/Truk', NULL), ('5281a1caba3a73f', 'Pacific/Wake', NULL), ('5281a1cbbb03788', 'Pacific/Wallis', NULL), ('5281a1ccc0a2ed7', 'Pacific/Yap', NULL), ('5281a1cdc1ce40f', 'Poland', NULL), ('5281a1cec2b8c7b', 'Portugal', NULL), ('5281a1cfc380ffd', 'PRC', NULL), ('5281a1d0c44a02a', 'PST8PDT', NULL), ('5281a1d1c5090a1', 'ROC', NULL), ('5281a1d2c5cc7f0', 'ROK', NULL), ('5281a1d3c69078e', 'Singapore', NULL), ('5281a1d4c757c4b', 'Turkey', NULL), ('5281a1d5c82280a', 'UCT', NULL), ('5281a1d6c8ec435', 'Universal', NULL), ('5281a1d7c9af2ed', 'US/Alaska', NULL), ('5281a1d8cabf7f1', 'US/Aleutian', NULL), ('5281a1d9cb7bad5', 'US/Arizona', NULL), ('5281a1dacc37651', 'US/Central', NULL), ('5281a1dbccf3617', 'US/East-Indiana', NULL), ('5281a1dcce1ad1c', 'US/Eastern', NULL), ('5281a1ddcee9e3c', 'US/Hawaii', NULL), ('5281a1decfb3884', 'US/Indiana-Starke', NULL), ('5281a1dfd0d95b2', 'US/Michigan', NULL), ('5281a1e0d1a0e86', 'US/Mountain', NULL), ('5281a1e1d267cf9', 'US/Pacific', NULL), ('5281a1e2d332a62', 'US/Pacific-New', NULL), ('5281a1e3d3f844f', 'US/Samoa', NULL), ('5281a1e4d4c2232', 'UTC', NULL), ('5281a1e5d5896c1', 'W-SU', NULL), ('5281a1e6d64f54c', 'WET', NULL), ('5281a1e7d719d77', 'Zulu', NULL); -- -------------------------------------------------------- -- -- Table structure for table `zzzzsys_translate` -- CREATE TABLE `zzzzsys_translate` ( `zzzzsys_translate_id` varchar(25) NOT NULL, `trl_language` varchar(20) DEFAULT NULL, `trl_english` varchar(500) DEFAULT NULL, `trl_translation` varchar(500) DEFAULT NULL, `trl_json` mediumtext ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3; -- -------------------------------------------------------- -- -- Table structure for table `zzzzsys_user` -- CREATE TABLE `zzzzsys_user` ( `zzzzsys_user_id` varchar(25) NOT NULL DEFAULT '', `sus_zzzzsys_access_id` varchar(25) DEFAULT NULL, `sus_language` varchar(20) DEFAULT NULL, `sus_name` varchar(50) DEFAULT NULL, `sus_first_name` varchar(30) DEFAULT NULL, `sus_last_name` varchar(30) DEFAULT NULL, `sus_code` varchar(50) DEFAULT NULL, `sus_position` varchar(50) DEFAULT NULL, `sus_department` varchar(50) DEFAULT NULL, `sus_team` varchar(50) DEFAULT NULL, `sus_email` varchar(255) DEFAULT NULL, `sus_additional1` varchar(100) DEFAULT NULL, `sus_additional2` varchar(100) DEFAULT NULL, `sus_permission` varchar(1000) DEFAULT NULL, `sus_login_name` varchar(50) DEFAULT NULL, `sus_login_password` varchar(300) DEFAULT NULL, `sus_expires_on` datetime DEFAULT NULL, `sus_change_password` varchar(1) DEFAULT NULL, `sus_accessibility_features` varchar(1) DEFAULT NULL, `sus_json` mediumtext ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3; -- -------------------------------------------------------- -- -- Table structure for table `zzzzsys_user_permission` -- CREATE TABLE `zzzzsys_user_permission` ( `zzzzsys_user_permission_id` varchar(25) NOT NULL, `upe_zzzzsys_user_id` varchar(25) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL, `upe_ident` varchar(50) DEFAULT NULL, `upe_active` varchar(1) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3; -- -- Indexes for dumped tables -- -- -- Indexes for table `zzzzsys_access` -- ALTER TABLE `zzzzsys_access` ADD PRIMARY KEY (`zzzzsys_access_id`), ADD KEY `sal_name` (`sal_code`), ADD KEY `sal_zzzzsys_form_id` (`sal_zzzzsys_form_id`); -- -- Indexes for table `zzzzsys_access_form` -- ALTER TABLE `zzzzsys_access_form` ADD PRIMARY KEY (`zzzzsys_access_form_id`), ADD KEY `saf_zzzzsys_access_id` (`slf_zzzzsys_access_id`), ADD KEY `slf_zzzzsys_form_id` (`slf_zzzzsys_form_id`); -- -- Indexes for table `zzzzsys_access_php` -- ALTER TABLE `zzzzsys_access_php` ADD PRIMARY KEY (`zzzzsys_access_php_id`), ADD KEY `slp_zzzzsys_access_id` (`slp_zzzzsys_access_id`), ADD KEY `slp_zzzzsys_php_id` (`slp_zzzzsys_php_id`); -- -- Indexes for table `zzzzsys_access_report` -- ALTER TABLE `zzzzsys_access_report` ADD PRIMARY KEY (`zzzzsys_access_report_id`), ADD KEY `sre_zzzzsys_access_id` (`sre_zzzzsys_access_id`), ADD KEY `sre_zzzzsys_report_id` (`sre_zzzzsys_report_id`); -- -- Indexes for table `zzzzsys_app_cloner` -- ALTER TABLE `zzzzsys_app_cloner` ADD PRIMARY KEY (`zzzzsys_app_cloner_id`); -- -- Indexes for table `zzzzsys_browse` -- ALTER TABLE `zzzzsys_browse` ADD PRIMARY KEY (`zzzzsys_browse_id`), ADD KEY `sbr_zzzsys_form_id` (`sbr_zzzzsys_form_id`); -- -- Indexes for table `zzzzsys_cloner` -- ALTER TABLE `zzzzsys_cloner` ADD PRIMARY KEY (`zzzzsys_cloner_id`); -- -- Indexes for table `zzzzsys_code_snippet` -- ALTER TABLE `zzzzsys_code_snippet` ADD PRIMARY KEY (`zzzzsys_code_snippet_id`); -- -- Indexes for table `zzzzsys_config` -- ALTER TABLE `zzzzsys_config` ADD PRIMARY KEY (`zzzzsys_config_id`); -- -- Indexes for table `zzzzsys_debug` -- ALTER TABLE `zzzzsys_debug` ADD PRIMARY KEY (`zzzzsys_debug_id`); -- -- Indexes for table `zzzzsys_email_log` -- ALTER TABLE `zzzzsys_email_log` ADD PRIMARY KEY (`zzzzsys_email_log_id`), ADD KEY `eml_form_id` (`eml_form_id`), ADD KEY `eml_user_id` (`eml_user_id`), ADD KEY `eml_record_id` (`eml_record_id`); -- -- Indexes for table `zzzzsys_email_template` -- ALTER TABLE `zzzzsys_email_template` ADD PRIMARY KEY (`zzzzsys_email_template_id`); -- -- Indexes for table `zzzzsys_event` -- ALTER TABLE `zzzzsys_event` ADD PRIMARY KEY (`zzzzsys_event_id`), ADD KEY `sev_zzzsys_object_id` (`sev_zzzzsys_object_id`), ADD KEY `sev_event` (`sev_event`); -- -- Indexes for table `zzzzsys_file` -- ALTER TABLE `zzzzsys_file` ADD PRIMARY KEY (`zzzzsys_file_id`); -- -- Indexes for table `zzzzsys_form` -- ALTER TABLE `zzzzsys_form` ADD PRIMARY KEY (`zzzzsys_form_id`); -- -- Indexes for table `zzzzsys_format` -- ALTER TABLE `zzzzsys_format` ADD PRIMARY KEY (`zzzzsys_format_id`); -- -- Indexes for table `zzzzsys_info` -- ALTER TABLE `zzzzsys_info` ADD PRIMARY KEY (`zzzzsys_info_id`); -- -- Indexes for table `zzzzsys_item` -- ALTER TABLE `zzzzsys_item` ADD PRIMARY KEY (`zzzzsys_item_id`); -- -- Indexes for table `zzzzsys_note` -- ALTER TABLE `zzzzsys_note` ADD PRIMARY KEY (`zzzzsys_note_id`), ADD UNIQUE KEY `title` (`not_title`) USING BTREE, ADD KEY `not_zzzzsys_note_category_id` (`not_zzzzsys_note_category_id`); -- -- Indexes for table `zzzzsys_note_category` -- ALTER TABLE `zzzzsys_note_category` ADD PRIMARY KEY (`zzzzsys_note_category_id`); -- -- Indexes for table `zzzzsys_object` -- ALTER TABLE `zzzzsys_object` ADD PRIMARY KEY (`zzzzsys_object_id`), ADD KEY `sob_all_zzzzsys_form_id` (`sob_all_zzzzsys_form_id`), ADD KEY `sob_all_zzzzsys_tab_id` (`sob_all_zzzzsys_tab_id`), ADD KEY `sob_run_zzzzsys_form_id` (`sob_run_zzzzsys_form_id`), ADD KEY `sob_lookup_zzzzsys_form_id` (`sob_lookup_zzzzsys_form_id`), ADD KEY `sob_subform_zzzzsys_form_id` (`sob_subform_zzzzsys_form_id`), ADD KEY `sob_image_zzzzsys_file_id` (`sob_image_zzzzsys_file_id`); -- -- Indexes for table `zzzzsys_permission_item` -- ALTER TABLE `zzzzsys_permission_item` ADD PRIMARY KEY (`zzzzsys_permission_item_id`); -- -- Indexes for table `zzzzsys_php` -- ALTER TABLE `zzzzsys_php` ADD PRIMARY KEY (`zzzzsys_php_id`), ADD KEY `sph_zzzzsys_form_id` (`sph_zzzzsys_form_id`); -- -- Indexes for table `zzzzsys_prompt_generator` -- ALTER TABLE `zzzzsys_prompt_generator` ADD PRIMARY KEY (`zzzzsys_prompt_generator_id`); -- -- Indexes for table `zzzzsys_report` -- ALTER TABLE `zzzzsys_report` ADD PRIMARY KEY (`zzzzsys_report_id`), ADD KEY `sre_code` (`sre_code`); -- -- Indexes for table `zzzzsys_report_data` -- ALTER TABLE `zzzzsys_report_data` ADD PRIMARY KEY (`zzzzsys_report_data_id`); -- -- Indexes for table `zzzzsys_select` -- ALTER TABLE `zzzzsys_select` ADD PRIMARY KEY (`zzzzsys_select_id`); -- -- Indexes for table `zzzzsys_select_clause` -- ALTER TABLE `zzzzsys_select_clause` ADD PRIMARY KEY (`zzzzsys_select_clause_id`); -- -- Indexes for table `zzzzsys_session` -- ALTER TABLE `zzzzsys_session` ADD PRIMARY KEY (`zzzzsys_session_id`); -- -- Indexes for table `zzzzsys_setup` -- ALTER TABLE `zzzzsys_setup` ADD PRIMARY KEY (`zzzzsys_setup_id`); -- -- Indexes for table `zzzzsys_tab` -- ALTER TABLE `zzzzsys_tab` ADD PRIMARY KEY (`zzzzsys_tab_id`), ADD KEY `syt_zzzzsys_form_id` (`syt_zzzzsys_form_id`); -- -- Indexes for table `zzzzsys_timezone` -- ALTER TABLE `zzzzsys_timezone` ADD PRIMARY KEY (`zzzzsys_timezone_id`); -- -- Indexes for table `zzzzsys_translate` -- ALTER TABLE `zzzzsys_translate` ADD PRIMARY KEY (`zzzzsys_translate_id`); -- -- Indexes for table `zzzzsys_user` -- ALTER TABLE `zzzzsys_user` ADD PRIMARY KEY (`zzzzsys_user_id`), ADD KEY `sus_zzzzsys_access_id` (`sus_zzzzsys_access_id`), ADD KEY `sus_code` (`sus_code`); -- -- Indexes for table `zzzzsys_user_permission` -- ALTER TABLE `zzzzsys_user_permission` ADD PRIMARY KEY (`zzzzsys_user_permission_id`), ADD KEY `upe_zzzzsys_user_id` (`upe_zzzzsys_user_id`); COMMIT; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;