Technical Documentation

IDCategoryReq.Element Action
735arrayno$ops Returned array from zzform() with information about the record and the HTML output back to the calling script

Relations: zzform()

Show
790booleanno$ops['critical_error'] true: better exit script with 503 Service Unavailable, false: everything okShow
806arrayno$ops['error_mail']

Relations: $zz_conf['int']['error']

Show
729arrayno$ops['error'] Internal variable, outputs errors if they are good for zzform_multi()Show
957booleanno$ops['file_upload'] signals if there was a file upload or not, useful for extra_actionShow
663arrayno$ops['headers'] HTTP headersShow
823arrayno$ops['meta'] Meta tags, written by zzform (if a table is made public, to avoid indexing of search results, order by-tables and edit forms)Show
665stringno$ops['mode'] INTERNAL: what to prepare (GET): add | edit | delete | showShow
784arrayno$ops['not_validated']

Relations: $ops['planned']

Show
664string: HTMLno$ops['output'] HTML output of zzform()

Relations: $zz_conf['show_output']

Show
667arrayno$ops['planned'] Show
702arrayno$ops['record_diff'] shows information after database operation about status of each field in a record: - `same`: field has not changed - `diff`: field has changed - `insert`: record was inserted (no old record) - `delete`: record was deleted (no new record)

Relations: $ops['record_new']; $ops['record_old']

Show
669arrayno$ops['record_new'] Record as it was posted after validation of input the way it will be saved in database

Relations: $ops['record_old']

Show
670arrayno$ops['record_old'] In some cases, old record will be queried, it can be found here. It does not have exactly the same fields as `record_new` but a few more, depending on SQL query for this record. The old record won't be saved in case $zz_conf['get_old_record'] is false or there's no upload field or no write_once field.

Relations: $ops['record_new']

Show
697stringno$ops['result'] gives result of operation if at all: `successful_insert`, `successful_update`, `successful_delete`

Relations: $zz_conf['redirect']

Show
668arrayno$ops['return'] interface: for each database operation this array returns numerically indexed information about the database operation: 'table' = name of database table; 'id_field_name': field name of field with PRIMARY KEY, 'id_value': ID of record, 'action': database action, one of 'insert', 'update', 'delete'Show
241string: HTMLno$ops['title']

Relations: $zz['title']; OUTPUT

Show
726string: HTMLno$zz_conf['title_separator'] Separator for output of selection, q and page in page titleShow
936integerno$ops['total_rows'] number of rows that match the list queryShow
930stringno$ops['url'] correct URL of form script, invalid filters etc. removed

Relations: $zz_conf['int']['url']

Show
627arrayyes$page

Relations: zzbrick

Show
631arrayno$page['extra'] User defined values, whatever you want. Access from template to these variables might go via extra_blubb = bla, but just if the variable is not an array (then we'll return `1`)Show
630arrayno$page['head']

Relations: brick_head_format()

Show
629arrayno$page['link'] May be used for page links, e. g. navigational aides. Content of this element may be put inside HTML head element starting `<LINK REL="">` or somewhere else on page (or both). Will be added to $page['head'] automatically

Relations: $page['head']; brick_head_format()

Show
632arrayno$page['meta'] $page['meta'][n]['name'] = ... $page['meta'][n]['content'] = ...

Relations: $page['head']; brick_head_format()

Show
628stringno$page['style'] defines style of page, might be used to include different page heads or footers, separate css files and so onShow
6arrayyes$zz Description of database table and fieldsShow
353stringno$zz['access'] allows to restrict access to main record, like $zz['fields'][n]['access'] to subtables * add_only: only allow to add record, do not show anything else (add new record-link, list table, ...) * edit_only: only allow to edit record, do not show anything else (add new record-link, list table, ...) * show: only view records * show_edit_add (no deletion possible) * show_and_add (no deletion and editing possible, but adding new records) * show_and_delete * add_then_edit: only allow to add a new record, then to reedit this record if it already exists (only works with GET['where']...) * edit_details_only: do not edit main record, allow only detail records to be edited, no deletion and adding possible * edit_details_and_add: do not edit main record, allow only detail records to be edited, adding possible (works only in combination with conditions) * none: only show list, no possibility to do anything with the records * all: allows to do everything * search_but_no_list: shows search form but no list (search form normally is tied to list), no editing allowed

Relations: $zz['fields'][n]['access']

Show
954booleanno$zz['add_from_source_id'] Allows to add from source_id even if the access to that ID is restricted by a $zz['where'] or $_GET['where']Show
751arrayno$zz['conditional_fields'] Show
752arrayno$zz['conditional_fields'][n] Show
759arrayno$zz['conditional_fields'][n]['fields']

Relations: $zz['fields'][n]

Show
758stringno$zz['conditional_fields'][n]['max_records'] Show
754booleanno$zz['conditional_fields'][n]['remove_template'] Show
757string: SQLno$zz['conditional_fields'][n]['sql'] Show
756stringno$zz['conditional_fields'][n]['table_name'] Show
753integerno$zz['conditional_fields'][n]['template_field'] Show
755stringno$zz['conditional_fields'][n]['title'] Show
204arrayno$zz['conditions'] Numerical indexed array of conditionsShow
798booleanno$zz['conditions'][n]['add']['always'] if set to true this means that the corresponding condition is always true if a record will be addedShow
207string: fieldno$zz['conditions'][n]['add']['key_field_name'] To make clear if a condition is true or not while adding a record. Key field name; the corresponding value from $zz_conf['add'] will be used for the SQL query in 'sql'.

Relations: $zz['conditions'][n]['add']['sql']; $zz_conf['add']

Show
206string: SQLno$zz['conditions'][n]['add']['sql'] To make clear if a condition is true or not while adding a record. SQL query ending with `WHERE key_field_name = ` where value of 'key_field_name' will be added. Together with the 'where' or 'having'-condition, if this SQL query returns more than 0 lines, the condition is considered as true. If no line is returned, the condition is considered as false.

Relations: $zz['conditions'][n]['add']['key_field_name']; $zz_conf['add']

Show
910booleanno$zz['conditions'][n]['add']['where'] if set to true, WHERE restrictions will be checked by this condition ($zz['conditions'][n]['where'] must be set)

Relations: $zz['conditions'][n]['where']

Show
212string: fieldno$zz['conditions'][n]['field_name'] Show
815string: functionno$zz['conditions'][n]['function'] use function which has to return a list of allowed IDs (ID => true)Show
211string: SQLno$zz['conditions'][n]['having'] Show
203stringno$zz['conditions'][n]['scope'] * record: with 'having' or 'where'; add['sql'], add['key_field_name'] * query: with 'sql' and 'key_field_name' * value: with 'sql' and 'field_name' * access: with 'function' and custom fields * upload (thought of, not yet implemented) * where: with 'field_name', triggers if a WHERE is set in the query for this field_name (shortcut in fields definition possible) * multi: if script is called via zzform_multi() * subrecord: with subrecord and where * noid: if an ID is so far not set (add before insert) * editing: checks where and POST value for a given field_name and if the adjoining query returns true, the condition is met (useful for adding/changing records, where a condition depends on a field value)Show
208string: SQLno$zz['conditions'][n]['sql'] Show
209string: fieldno$zz['conditions'][n]['key_field_name'] Show
943integerno$zz['conditions'][n]['subrecord'] index of subrecord in table definition this condition can be applied toShow
205string: SQLno$zz['conditions'][n]['where'] Show
948booleanno$zz['dont_show_h1'] if set to true, h1 will not be shownShow
235array: pathno$zz['dynamic_referer'] referer which links back to previous page, overwrites $zz_conf['referer'] and must be array with field1, string1 etc.

Relations: $zz['fields'][n]['path']; $zz_conf['referer']

Show
242stringno$zz['extra_action'] action to be performed after or before insert, update, delete array values: `before_update`, `before_insert`, `before_delete`, `after_update`, `after_insert`, `after_delete`, `upload` value: file to be included without ending ".inc.php"; alternatively this might also be the name of an existing function if you do insert/update/delete queries, you might want to add them to the logging table with zz_log_sql($sql, $user, $record_id); ($sql being the query, $user the username)

Relations: ACTION

Show
10arrayyes$zz['fields'][n] Description of all table fields which shall be shown to edit a record or in list display (array). 'n' is a number and may be chosen freely (no order required). First field definition must be PRIMARY_KEY For the display order in form and list view, the order in the code is important, not the order of the numbersShow
354stringno$zz['fields'][n]['access'] access on record basis `show`: makes a subrecord not editable, just viewable

Relations: $zz['access']

Show
983booleanno$zz['fields'][n]['add_details_destination'] paste input of main form to this field if a detail record is added via 'add_details'

Relations: $zz['fields'][n]['add_details']

Show
420stringno$zz['fields'][n]['add_details'] add detail records in different table, attention: current input will not be saved. Field gets ID #zz_add_details_x_y_z where x is table no [0...n], y is for subtable no [0 if main table, else 0...n] z is field number in zz-array

Relations: select

Show
437string: HTMLno$zz['fields'][n]['add_details_target'] HTML: target attribute for add_details link (target="")Show
866booleanno$zz['fields'][n]['always_check_select'] always perform check select, even if select/option-elements are sent with the formShow
409stringno$zz['fields'][n]['auto_value'] increment | ... // 1 will be added and inserted in 'default'

Relations: number

Show
430arrayno$zz['fields'][n]['calculation_fields'] fields which shall be used for calculation

Relations: calculated

Show
431stringno$zz['fields'][n]['calculation'] hours | sum (only supported modes)

Relations: calculated

Show
919stringno$zz['fields'][n]['character_set'] Character sets for search fields (if different collations among the database are used and table name is an alias); used for checking search query partsShow
199string: HTMLno$zz['fields'][n]['class_add'] class name that will be shown if a subrecord will be added

Relations: subtable

Show
176string: HTMLno$zz['fields'][n]['class'] class="" (some classes will be added by zzform, e. g. idrow, ...)Show
411integerno$zz['fields'][n]['cols'] number of cols in textarea

Relations: memo

Show
870stringno$zz['fields'][n]['concat_0'] strings to format fields from sql query; sprintf will be used on these to insert the field value

Relations: $zz['fields'][n]['sql']; select; $zz['fields'][n]['concat_fields']

Show
869stringno$zz['fields'][n]['concat_fields'] string for concatenating multiple field values from an sql query for a field

Relations: $zz['fields'][n]['sql']; select

Show
357arrayno$zz['fields'][n]['conf_identifier'] Array for configuration variables how identifier shall be createdShow
358stringno$zz['fields'][n]['conf_identifier']['concat'] String used for concatenation of variables. Might be array, values are used in the same order they appear in the array. If array is shorter than fields-array, last value will be repeated. If the number of concatenations is unclear, a 'last'-variable might be set with 'last' as a key or to repeat the first variable with 'repeat' as keyShow
902arrayno$zz['fields'][n]['conf_identifier']['empty'] If field value is empty, define replacements here, e. g. 'first_name' => 'NN'. This value will be used for the identifer.Show
1001stringno$zz['fields'][n]['conf_identifier']['exists_format'] formatting for identifier symbol if identifier existsShow
829string: functionno$zz['fields'][n]['conf_identifier']['exists_function'] string; name of a function that will be called to check whether an identifier is write_once or not (function parameters: string $var, array $vars, return: true = write_once, no change may take place; false: go ahead, change it)Show
360stringno$zz['fields'][n]['conf_identifier']['exists'] String used for concatenation if identifier exists (values longer than 1 will be cut off!)Show
359stringno$zz['fields'][n]['conf_identifier']['forceFilename'] Value which will be used for replacing spaces and unknown letters (values longer than 1 will be cut off!)Show
963string: functionno$zz['fields'][n]['conf_identifier']['function_parameter'] single function parameter to pass to function instead of identifier

Relations: $zz['fields'][n]['conf_identifier']['function']

Show
962string: functionno$zz['fields'][n]['conf_identifier']['function'] name of function that identifier will go through finallyShow
828arrayno$zz['fields'][n]['conf_identifier']['ignore_this_if'] key field will be ignored if value fields have a value

Relations: $zz['fields'][n]['fields']

Show
827arrayno$zz['fields'][n]['conf_identifier']['ignore'] this value from $zz['fields'][n]['fields'] will be ignored for the creation of the identifier (it will only be sent to the optional functions for each field to do something with it)

Relations: $zz['fields'][n]['fields']

Show
361booleanno$zz['fields'][n]['conf_identifier']['lowercase'] Transform all letters to lowercase?Show
880integerno$zz['fields'][n]['conf_identifier']['max_length'] Allows to set a maximum length of characters for each substringShow
470stringno$zz['fields'][n]['conf_identifier']['prefix'] for a prefixShow
891arrayno$zz['fields'][n]['conf_identifier']['replace'] replaces single characters with something else while creating an identifier, might be used to preserve dots

Relations: identifier

Show
362booleanno$zz['fields'][n]['conf_identifier']['slashes'] Preserve slashes?Show
469booleanno$zz['fields'][n]['conf_identifier']['start_always'] says it has always to add exists and startShow
468integerno$zz['fields'][n]['conf_identifier']['start'] start value if record already existsShow
972string: SQLno$zz['fields'][n]['conf_identifier']['unique_with'] field name(s) if field itself is not UNIQUE, just in combination with these other fields

Relations: $zz['fields'][n]['conf_identifier']['where']

Show
363string: SQLno$zz['fields'][n]['conf_identifier']['where'] WHERE-condition to be appended to query that checks existence of identifier in databaseShow
860integerno$zz['fields'][n]['decrease_level'] Decreases numerical value for class name 'leveln' by this value (1 ... n)

Relations: $zz['list']['hierarchy']['display_in']

Show
466booleanno$zz['fields'][n]['def_val_ignore'] this is for subtables only. For 'value', 'auto_value' and 'default'-fields, this setting specifies whether value will be accepted without any other input by the user in this sub-record or not. true: input will be ignored, false (standard): input will not be ignored. important for deciding whether to add or delete a sub-record.

Relations: subtable

Show
278mixedno$zz['fields'][n]['default_image'] in case path leads to no existing image, use this as a default_image (full path only). Might be as well an Array with a path in the standard path styleShow
639booleanno$zz['fields'][n]['default_select_all'] set-fields: all boxes are checked

Relations: select

Show
432variableno$zz['fields'][n]['default'] default value for field, normally string; for subrecords displayed as 'set' it may be an array as wellShow
1008string: fieldno$zz['fields'][n]['dependent_on_add_field'] if this field is dependet on another field with add[field_name]=ID, check the corresponding value with a queryShow
1009string: fieldno$zz['fields'][n]['dependent_on_add_sql'] query to get field value on add

Relations: $zz['fields'][n]['dependent_on_add_field']

Show
428integerno$zz['fields'][n]['detail_key_index'] Show
426integerno$zz['fields'][n]['detail_value'] copies value from other fieldShow
649arrayno$zz['fields'][n]['disabled_ids'] IDs that will be shown as 'disabled' in Dropdown or checkbox list

Relations: select

Show
1000arrayno$zz['fields'][n]['disabled'] List of IDs for radio buttons that are disabled for some reasonShow
889stringno$zz['fields'][n]['display_empty'] for display fields: what to display if field has no value

Relations: display

Show
182string: fieldno$zz['fields'][n]['display_field'] Field (from SQL query) to be displayed instead of field value. For foreign IDs in selects or for display fields

Relations: select; write_once; display

Show
830arrayno$zz['fields'][n]['display_title']

Relations: display

Show
401stringno$zz['fields'][n]['display_value'] static value which will be shown in field of type display

Relations: write_once; display

Show
716booleanno$zz['fields'][n]['dont_check_on_update'] Before doing an UPDATE, zzform checks whether old values and new values for a record differ. Timestamps and Fields with `dont_check_on_update` set won't be checked against (useful for author_ids etc.)Show
966booleanno$zz['fields'][n]['dont_copy'] do not copy contents of this field if copying a record

Relations: $zz_conf['copy']

Show
500booleanno$zz['fields'][n]['dont_delete_records'] no [-] field, one may not delete a subrecord

Relations: subtable

Show
748booleanno$zz['fields'][n]['dont_mark_search_string'] true restrains zz_mark_search_string() from marking the HTML in this fields output, e. g. if you want to use it as a parameter for images or so.Show
970booleanno$zz['fields'][n]['dont_require_old_password'] Do not require to enter old password for password change (e. g. if password forgotten-link was followed)

Relations: password_change

Show
424booleanno$zz['fields'][n]['dont_show_file_link'] doesn't show link below upload field which otherwise will be shown if a file already existsShow
191booleanno$zz['fields'][n]['dont_show_image'] doesn't show image in form view (e. g. good for file upload)Show
995booleanno$zz['fields'][n]['dont_show_missing_img'] If set to true and upload is required but missing, do not show '(image missing)' if you don't want to show an upload in public interfaces

Relations: $zz['fields'][n]['dont_show_missing']

Show
710booleanno$zz['fields'][n]['dont_show_missing'] If set to true and field value is required but missing, this will not be shown to user (useful if this is a field the user cannot change anyways because the input depends on other input from file upload etc.)Show
849booleanno$zz['fields'][n]['dont_sort'] if set to true, no ordering in this column is allowed; 'id'-columns are set to true by default, if you'd like to order by id, you have to set them to false explicitlyShow
938booleanno$zz['fields'][n]['dont_trim'] if set to true, 'text' fields won't be trimmed

Relations: text

Show
996booleanno$zz['fields'][n]['enum_textinput'] attach a text input to last enum value and save that to database if selected; does not work with fixed enum fields in mySQL of course

Relations: select; $zz['fields'][n]['enum']

Show
397arrayno$zz['fields'][n]['enum_title'] Optional. In case you don't like your ENUM values, you can set an array with different values that will be shown instead the values in the database. Good for translations.

Relations: select; $zz['fields'][n]['enum']

Show
396arrayno$zz['fields'][n]['enum'] list for enum, default value with 'default' should be set as well

Relations: $zz['fields'][n]['show_values_as_list']; select; $zz['fields'][n]['enum']; $zz['fields'][n]['default']

Show
844arrayno$zz['fields'][n]['enum_abbr'] List of abbreviations for enum, in list view, abbreviation will be shown in form view and displayed as abbr-element in list view

Relations: select

Show
969string: HTMLno$zz['fields'][n]['error_msg'] Show individual error message if validation failed instead of generic messageShow
388booleanno$zz['fields'][n]['exclude_from_search'] search will do no operations in this fieldShow
474string: HTMLno$zz['fields'][n]['explanation_top'] same as explanation, this will show up above the form element, not below.

Relations: $zz['fields'][n]['explanation']

Show
475string: HTMLno$zz['fields'][n]['explanation'] explanation how to fill in values in this field, will only be shown in edit or insert modeShow
643booleanno$zz['fields'][n]['export_no_html'] Export (e. g. CSV export) will be text only, HTML formattings are strippedShow
786booleanno$zz['fields'][n]['export'] Exclude field from exportShow
685stringno$zz['fields'][n]['f_field_name'] INTERNAL USE ONLY

Relations: $zz['fields'][n]['field_name']

Show
408integerno$zz['fields'][n]['factor'] factor for avoiding doubles as database fields

Relations: number

Show
11string: fieldyes$zz['fields'][n]['field_name'] Database field name; required, if field value shall be shown or changed in the output. Not all fields of a table have to be defined, the undefined fields will be ignored by the script.

Relations: $zz['fields'][n]

Show
994integerno$zz['fields'][n]['field_sequence'] If you like a different order of your fields than the order in the definition file, you can set a sequence here. It is even possible to mix the main table and subtables if form_display for the subtable is set to 'lines'Show
621arrayno$zz['fields'][n]['fielddefs'] In combination with 'values', 'fielddefs' allows to change some $zz['fields']-settings for individual detail records where values are preset. The first numerical index of the field definition corresponds to the numerical index of the corresponding value, the second index corresponds to the field index that shall be changed.

Relations: subtable; $zz['fields'][n]['values']

Show
364arrayno$zz['fields'][n]['fields'] List of fields which are used to create an identifier (`$zz['fields'][n]['type'] = 'identifier'`). If field_name of identifier-field is part of the array, the identifier won't be changed later on (write_once). Corresponding values of ID fields may be used writing `field_id[value]`. The fields are used in the same order as in the array. vars which will be passed to function or identifier, might be in form like "select_id[field_name_from_select]" as well, this refers to a field "select_id" with an associated sql-query and returns the value of the "field_name_from_select" of the query instead. Values from subtables will have a table_name. or table. prefix. first value is chosen if more than one (more than one record not recommended!). {0,4} or {4} ... will call a substr()-function to return just a part of the field value if identifier must not be changed after set, include field_name of identifier in list Show
172string: fieldno$zz['fields'][n]['fields'][n]['detail_key'] inserts in field id_field from different detail_recordShow
847booleanno$zz['fields'][n]['for_action_ignore'] field will be ignored when action is determined

Relations: $zz['fields'][n]['def_val_ignore']

Show
429string: fieldno$zz['fields'][n]['foreign_key_field_name'] Normally, zzform uses maintable.id_field as WHERE maintable.id_field = id_value for subtables. This variable allows to set a different key_field_name, e. g. if you use table aliases

Relations: subtable

Show
198stringno$zz['fields'][n]['form_display'] - vertical (default vertical view as in standard form) - horizontal: shows detail records in list view - set: show detail records like set with radio buttons; works only with a detail table just with detail_table_id, foreign_key of main table and some other ID. - inline: only works with 1 subrecord, show subfields as if they're part of the main record

Relations: select; subtable

Show
35string: functionno$zz['fields'][n]['format'] Formats in form view text content of field with this markup language (e. g. Markdown), function of the same name must lie inside zzform-folder

Relations: text; memo

Show
976integerno$zz['fields'][n]['formatting_spaces'] sets numbers of maximal spaces that are allowed; on saving a record, all spaces are removedShow
399string: functionno$zz['fields'][n]['function'] function which will be called to change input value `function($vars, $field_name);` $vars = POST vars of fields defined in an array in $zz['fields'][n]['fields'] $field_name = $zz['fields'][n]['field_name']

Relations: hidden

Show
810stringno$zz['fields'][n]['geo_display_behind'] will display coordinate behind coordinate field, possible values are dec, dms, deg, dm

Relations: number

Show
811stringno$zz['fields'][n]['geo_format'] output of coordinate, possible values are dec, dms, deg, dm

Relations: number

Show
928stringno$zz['fields'][n]['geocode_default'] default Value used for geocoding, if no value is transmitted via record

Relations: $zz['fields'][n]['geocode']

Show
982arrayno$zz['fields'][n]['geocode_ignore_if'] ignore a record if another field in the same record has value x

Relations: $zz['fields'][n]['geocode']

Show
989booleanno$zz['fields'][n]['geocode_ignore_update'] if set to true, changes in this field are ignored if a record is updated for the determination if a new geocoding shall take place

Relations: $zz['fields'][n]['geocode']

Show
924string: SQLno$zz['fields'][n]['geocode_sql'] SQL query to replace ID value for geocoding with real content

Relations: $zz['fields'][n]['geocode']

Show
923stringno$zz['fields'][n]['geocode'] Mark fields for geocoding: 'postal_code', 'country', 'street', 'street_number', 'locality', 'latitude', 'longitude', 'state', 'place' 'place' is somewhat special. It adds a possibility to add the name of the place or venue if the full address is not known. In case 'place' + the rest of the address yields no results, a second query without 'place' is startedShow
978mixedno$zz['fields'][n]['group_dependent_tables'] string with one or array of table names for tables that are directly dependent on field content (foreign key, another table joined) if this table is in sort order before the immediate foreign table

Relations: $zz['fields'][n]['group_in_list']

Show
523booleanno$zz['fields'][n]['group_in_list'] allows grouping of records if sort order corresponds with field

Relations: LIST

Show
546string: fieldno$zz['fields'][n]['group'] allows to group records select via HTML optgroup-element

Relations: select

Show
964booleanno$zz['fields'][n]['hide_auto_add_msg'] hides message that a value will be added automaticallyShow
746booleanno$zz['fields'][n]['hide_format_in_title_desc'] hides format in title_desc below title of field

Relations: $zz['fields'][n]['format']; $zz['fields'][n]['title_desc']

Show
781booleanno$zz['fields'][n]['hide_in_form_add']

Relations: $zz['fields'][n]['hide_in_form']

Show
180booleanno$zz['fields'][n]['hide_in_form'] hides field in form view, but not in list view.Show
959booleanno$zz['fields'][n]['hide_in_list_if_empty'] field will not be shown as a column in list view if there's no value for this field in all rows

Relations: $zz['fields'][n]['hide_in_list']

Show
179booleanno$zz['fields'][n]['hide_in_list'] field will not be shown in list viewShow
422booleanno$zz['fields'][n]['hide_novalue'] = false: as a default, the choice of no value for a radio button set will be hidden. By setting this value to false, it will be shown.

Relations: select

Show
750booleanno$zz['fields'][n]['hide_zeros'] values 0 will be converted to '' (unit, prefix, suffix etc. will not be shown)Show
614string: fieldno$zz['fields'][n]['id_field_name'] In some cases, for whatever reason the first field in an SQL query is not the id_field_name of a query. This variable can be set to solve this problem. Should be used as well if id_field_name is ambiguous and table name has to be prepended

Relations: $zz['fields'][n]['sql']; select

Show
185arrayno$zz['fields'][n]['if'][n] Field definitions which will be set if a certain condition n is met. For some conditions, shortcuts exist: - 'multi': if script is called via zzform_multi() - 'where': if field has id value which is defined by WHERE condition ($zz['where'], $_GET['where']) - 'add': if a record is added - 'delete': if a record is deleted - 'edit': if a record is edited - 'upload: if something is uploadedShow
192arrayno$zz['fields'][n]['image'] what has to be done with uploaded image. keys as follows.Show
450string: functionno$zz['fields'][n]['image'][n]['action'] (what to do with image, functions in image-[library].inc.php)Show
449integerno$zz['fields'][n]['image'][n]['auto_size_tolerance'] (default 15, value in px for auto_size function)Show
448arrayno$zz['fields'][n]['image'][n]['auto_values'] (values used by auto-function)Show
447string: functionno$zz['fields'][n]['image'][n]['auto'] (function to change values of some of these fields before action will take place)Show
937stringno$zz['fields'][n]['image'][n]['convert_options'] allows to add extra options for imagemagick's convert command, nice to use together with 'options_sql'Show
442string: fieldno$zz['fields'][n]['image'][n]['field_name'] Show
441integerno$zz['fields'][n]['image'][n]['height'] Show
451booleanno$zz['fields'][n]['image'][n]['ignore'] true = field will be ignoredShow
457arrayno$zz['fields'][n]['image'][n]['input_filetypes'] allowed input_filetypes, e. g. pdf, jpeg, doc, ...Show
454integerno$zz['fields'][n]['image'][n]['max_height'] max height in px of uploaded image (only applicable for n-Fields without 'source')Show
452integerno$zz['fields'][n]['image'][n]['max_width'] max width in px of uploaded image (only applicable for n-Fields without 'source')Show
455integerno$zz['fields'][n]['image'][n]['min_height'] min height in px of uploaded image (only applicable for n-Fields without 'source')Show
453integerno$zz['fields'][n]['image'][n]['min_width'] min width in px of uploaded image (only applicable for n-Fields without 'source')Show
999booleanno$zz['fields'][n]['image'][n]['no_action_unless_thumb_extension'] if true, do not create thumbnails if extension for thumbnails is set to NULLShow
458booleanno$zz['fields'][n]['image'][n]['optional_image'] image is optional, i. e. error notices when deleting a record and there are no accompanying files won't be shown.Show
961stringno$zz['fields'][n]['image'][n]['options_key'] Value from option field will be set to $images with this key

Relations: $zz['fields'][n]['image'][n]['options']

Show
545string: SQLno$zz['fields'][n]['image'][n]['options_sql'] SQL query which allows to read further field definitions from a database depending on value in corresponding options field; values are expected to be in form of a URL query string

Relations: $zz['fields'][n]['image'][n]['options']

Show
446arrayno$zz['fields'][n]['image'][n]['options'] (key value, reads options from this field, overwrite existing keys, options will only be read once)

Relations: option

Show
444array: pathno$zz['fields'][n]['image'][n]['path'] (last field/string part must be file extension only! three letters with dot in case of string, field without dot!)Show
944arrayno$zz['fields'][n]['image'][n]['recreate_on_change'] recreate thumbnails even if file did not change, but e. g. if thumbnail filetype changedShow
443booleanno$zz['fields'][n]['image'][n]['required'] true | falseShow
456booleanno$zz['fields'][n]['image'][n]['show_link'] shows for files without thumbnails link to file (form: long with filename, list: short with title as linktext)Show
193string: fieldno$zz['fields'][n]['image'][n]['source_file'] Show
195string: SQLno$zz['fields'][n]['image'][n]['source_path_sql'] SQL query to get a path for a source file that was not uploaded from the database, as a file_id the value in 'source_file' is used

Relations: $zz['fields'][n]['image'][n]['source_file']

Show
194array: pathno$zz['fields'][n]['image'][n]['source_path'] Show
445integerno$zz['fields'][n]['image'][n]['source'] (if no extra upload field shall be shown)Show
439stringno$zz['fields'][n]['image'][n]['title'] Show
196arrayno$zz['fields'][n]['image'][n]['update_from_source_field_name'] list of field names in database query which will be used together with update_from_source_value to check whether a source file has been changed or not (and a new thumbnail has to be created or not)

Relations: $zz['fields'][n]['image'][n]['update_from_source_value']

Show
197arrayno$zz['fields'][n]['image'][n]['update_from_source_value'] list of field names in current record which will be used for update_from_source_field_name to check whether a source file has been changed or not (and a new thumbnail has to be created or not)

Relations: $zz['fields'][n]['image'][n]['update_from_source_field_name']

Show
440integerno$zz['fields'][n]['image'][n]['width'] Show
956booleanno$zz['fields'][n]['import_id_value'] Allows to import ID values for a database from a different source instead of using auto_increment IDs

Relations: id

Show
392booleanno$zz['fields'][n]['in_sql_query'] INTERNAL variable onlyShow
459booleanno$zz['fields'][n]['inherit_format'] translation tables: inherit format assignments from field that is to be translated

Relations: $zz['fields'][n]['format']

Show
707booleanno$zz['fields'][n]['input_only'] field is for input only (e. g. if value will be used for different fields, or parts of it); something entered in this field won't be savedShow
868stringno$zz['fields'][n]['js'] Adds JavaScript to 'explanation', e. g. 'select/deselect' adds JS for acitvating/deactivating all checkboxes

Relations: $zz['fields'][n]['explanation']

Show
418string: fieldno$zz['fields'][n]['key_field_name'] if where is used and where-key-name is different from key name in sql-query; field name differs from foreign_key, e. g. mother_org_id instead of org_id For list view of a subtable, key_field_name has to be used if the fieldname of the foreign_key differs from the fieldname of the ID field of the main record. Table `persons` normally as something like `person_id` as PRIMARY_KEY, table `address` has `person_id` as a foreign key. if for some reason the field in table `address` is called e. g. `primary_address_id`, you have to set this parameter to `address_id`

Relations: select; foreign_key

Show
842stringno$zz['fields'][n]['kml'] item name in KML export, 'title', latitude' and 'longitude' (or alternatively 'point') must be set when KML export is active. 'altitude' is optional. 'description' will be put below all fields with title=> value in tabular format; 'style' will be used as ID for style element for this recordShow
186array: pathno$zz['fields'][n]['link'] Link in list view to record. May be array, then it works with field, mode and string (field1, field2, mode1, ...) see also: path. If root is set, link will be looked for in filesystem. if not existent, returns false (no link)

Relations: $zz['fields'][n]['path']

Show
568string: HTMLno$zz['fields'][n]['link_attributes'] Further HTML attributes for link in list-viewShow
615booleanno$zz['fields'][n]['link_referer'] adds current URL as referer to a link to create the possibility for a backlink on the linked pageShow
433string: HTMLno$zz['fields'][n]['link_target'] HTML target-attribute for link (`target="value"`)Show
434array: pathno$zz['fields'][n]['link_title'] HTML title-attribute for link in list to record. May be array, then it works with field and string (field1, field2, string1, ...) see also: path

Relations: $zz['fields'][n]['path']

Show
471stringno$zz['fields'][n]['list_abbr'] name of field whose value will be displayed in <abbr title=""> behind displayed valueShow
894string: HTMLno$zz['fields'][n]['list_append_if_first'] HTML code that will be put before first field of several fields which are concatenated by list_append_next

Relations: $zz['fields'][n]['list_append_next']

Show
895string: HTMLno$zz['fields'][n]['list_append_if_middle'] HTML code that will be put before field of several fields which are concatenated by list_append_next if this field is somehwere in the middle

Relations: $zz['fields'][n]['list_append_next']

Show
477booleanno$zz['fields'][n]['list_append_next'] appends next record in list/tab view in the same lineShow
822booleanno$zz['fields'][n]['list_append_show_title'] if set to true, will show title even if list_append = true

Relations: $zz['fields'][n]['list_append_next']

Show
855string: HTMLno$zz['fields'][n]['list_concat_fields'] e. g. for Geo coordinates, this will be HTML code to be put between latitude and longitude values in list viewShow
425string: functionno$zz['fields'][n]['list_format'] function which will be used to format text for display, e. g. markdown | textile, in list part; might be array if you want to use several functions

Relations: $zz['fields'][n]['format']; text; memo

Show
906string: functionno$zz['fields'][n]['list_function'] Name of function that will be called from field type 'list_function' for display in list

Relations: list_function

Show
977booleanno$zz['fields'][n]['list_no_link'] zzform list: if 'list_no_link' is set to true, no link for list view will be generated (e. g. for fields of type URL)Show
991string: HTMLno$zz['fields'][n]['list_prefix_append'] prefix in front of the field value in list view; for appended fields, always show this in front of the first field with a value

Relations: $zz['fields'][n]['list_prefix']; $zz['fields'][n]['list_suffix_append']

Show
356string: HTMLno$zz['fields'][n]['list_prefix'] prefix in front of the field value in list view

Relations: $zz['fields'][n]['list_suffix']

Show
992string: HTMLno$zz['fields'][n]['list_suffix_append'] suffix behind the field value in list view; for appended fields, always show this behind the last field if there was a value somewhere

Relations: $zz['fields'][n]['list_suffix']; $zz['fields'][n]['list_prefix_append']

Show
355string: HTMLno$zz['fields'][n]['list_suffix'] suffix behind the field value in list view

Relations: $zz['fields'][n]['list_prefix']

Show
967string: HTMLno$zz['fields'][n]['list_unit'] displays a unit behind a number, won't display if value = NULL, list mode

Relations: number; $zz['fields'][n]['unit']

Show
1007arrayno$zz['fields'][n]['mark_scope'] marks content in this field (most likely a field with 'display_field' set) if a search is done over one of the fields in the list of fieldsShow
190integerno$zz['fields'][n]['max_records']

Relations: subtable

Show
940string: SQLno$zz['fields'][n]['max_records_sql'] SQL query to get the maximum number of detail records

Relations: subtable

Show
460integerno$zz['fields'][n]['maxlength'] maxlength, if not set will be taken from databaseShow
953booleanno$zz['fields'][n]['merge_equal'] Records will only be merged if values in this field are equal

Relations: $zz_conf['merge']

Show
952booleanno$zz['fields'][n]['merge_ignore'] Field will be ignored for comparison of main records while merging

Relations: $zz_conf['merge']

Show
714integerno$zz['fields'][n]['min_records_required']

Relations: $zz['fields'][n]['min_records']; subtable

Show
189integerno$zz['fields'][n]['min_records']

Relations: subtable

Show
939string: SQLno$zz['fields'][n]['min_records_sql'] SQL query to get the minimum number of detail records

Relations: subtable

Show
650stringno$zz['fields'][n]['msg_no_subtables'] a message will appear in record view if no detail record is left after a database operation was performedShow
911booleanno$zz['fields'][n]['multiple_edit'] if set to false, field will not be shown in record form for editing

Relations: $zz[list']['select_multiple_records']

Show
436booleanno$zz['fields'][n]['null_string'] Field value might be 0 or '', won't be set to NULL => output = ''

Relations: $zz['fields'][n]['null']

Show
435booleanno$zz['fields'][n]['null'] Field value might be 0 or '', won't be set to NULL => output = 0

Relations: $zz['fields'][n]['null_string']

Show
398stringno$zz['fields'][n]['number_type'] - 'longitude' | 'latitude', for entering geo information - 'currency' for money - 'bytes' for bytes, for displaying MB, GB, TB etc. - 'number' for numbers, formatted with thousands_separator and decimal_point

Relations: number

Show
427arrayno$zz['fields'][n]['options'] Together with enum-array; values from enum-array will have to be set as pairs. E. g. enum-value proportional will be an array in options, first is key which will be added to image, second is corresponding value: ['options'] = array('proportional' => array('key' => 'value')); existing keys will be overwrittenShow
617stringno$zz['fields'][n]['order'] different field name for ORDER BY, e. g. if a table name is needed in case of ambiguous field names or for mixed alpha-numerical strings without preceding zerosShow
648stringno$zz['fields'][n]['path_json_base'] base for JSON link, will be prepended

Relations: image; $zz['fields'][n]['path_json_request']

Show
647array: pathno$zz['fields'][n]['path_json_request'] requests image filename via JSON request

Relations: image

Show
421string: SQLno$zz['fields'][n]['path_sql'] only if this sql query is needed for constructing the extension of a file path; sql-query which will be used if this field's display_value is set as fieldxx in path to get a correct extension for file conversions

Relations: select

Show
184arrayno$zz['fields'][n]['path'] values: - `root` DOCUMENT_ROOT or path to directory, will be used as a prefix to check whether file_exists or not - `webroot` alternative for DOCUMENT_ROOT on URL basis of the webserver - `fieldXX` will add corresponding field value, - `stringXX` will add string value, (string1 will be weblink to file, parallel to root) - `webstringXX` same as string, but applied only to web path, not to file path - `modeXX`: functions that will be applied to all field_values - last `stringXX` or `fieldXX`: this must consist of the fileextension only (with or without .) e. g. array('field1' => 'fieldname_bla', 'string1' => '/', 'field2' => 'fieldname_blubb') etc. - as an alternative, `extension` can be used instead of fieldXX - `x_field[2]XX` = similar to field, but for 2x image - `x_field[1.5]XX` = similar to field, but for 1.5x image - `x_extension[2]XX` = similar to extension, but for 2x image - `x_webfield[2]XX` = similar to webfield, but for 2x image Show
709string: functionno$zz['fields'][n]['post_validation'] Function that will be called with field value and field name as parameters directly after validation of a field; returned values will be saved in 'extra' to let other records access values later

Relations: $zz['fields'][n]['detail_value']

Show
464string: HTMLno$zz['fields'][n]['prefix'] adds prefix-string to form view

Relations: $zz['fields'][n]['suffix']

Show
616integerno$zz['fields'][n]['read_options'] Index of field on which options depend

Relations: option; $zz['fields'][n]['options']

Show
200booleanno$zz['fields'][n]['records_depend_on_upload'] Show
986booleanno$zz['fields'][n]['remove_local_hostname'] per default, the hostname of the local server will be removed starting with http:// or https://. this setting disables this behaviourShow
741arrayno$zz['fields'][n]['replace_values'] replaces submitted value with a different value (e. g. if you ask for some date in a field when somebody has done something and the answer is "no" but you just want to get the date)Show
618booleanno$zz['fields'][n]['required'] field requires an input (same behaviour as NOT NULL, but allow flexible table definition)Show
412integerno$zz['fields'][n]['rows_max'] max number of rows in textarea (textarea might expand if text is edited to approximately the numbers of rows needed to display all text without scroll bar)

Relations: memo

Show
202integerno$zz['fields'][n]['rows'] number of rows in textarea, will be expanded if a record is edited to approximately the needed length

Relations: memo

Show
802string: SQLno$zz['fields'][n]['search_between'] Show
619string: SQLno$zz['fields'][n]['search'] if a field does not appear without an alias or appears ambiguous in the SQL query for 'list' view, here you can define the exact field name or field combination that will be used for searchShow
929mixedno$zz['fields'][n]['separator_before'] - true: will put a separation before this field, to improve form layout. - column_begin, column, column_end: put form in two columns - text bla blubb: will put bla blubb below `<hr>`-Separator

Relations: $zz['fields'][n]['separator']

Show
465mixedno$zz['fields'][n]['separator'] - true: will put a separation behind this field, to improve form layout. - column_begin, column, column_end: put form in two columns - text bla blubb: will put bla blubb below `<hr>`-SeparatorShow
779string: filenameno$zz['fields'][n]['set_folder'] path of folder, files in this folder will be presented for selection (no subfolders), names of chosen files will be saved in database.

Relations: select

Show
780booleanno$zz['fields'][n]['set_show_all_values'] all values will be shown, even if current set does not include value (useful in conjunction with set_folder, when files are deleted from directory)

Relations: select; $zz['fields'][n]['set_folder']

Show
640string: SQLno$zz['fields'][n]['set_sql'] similar to set, lets you get comma separated values from an SQL query that will be treated similar as a mysql SET field

Relations: select

Show
638arrayno$zz['fields'][n]['set_title'] similar to enum_title in combination with set_sql: if = true, uses second field from sql-query as set_title

Relations: select; $zz['fields'][n]['set']

Show
395arrayno$zz['fields'][n]['set'] array for set

Relations: $zz['fields'][n]['show_values_as_list']; select

Show
782booleanno$zz['fields'][n]['show_hierarchy_same_table'] set to true: checks if ID in select is equal to main ID and if so, does not display it to user to avoid recursion

Relations: $zz['fields'][n]['show_hierarchy']

Show
416integerno$zz['fields'][n]['show_hierarchy_subtree'] ID of top hierarchy value, if not set NULL will be used

Relations: select; $zz['fields'][n]['show_hierarchy']

Show
419booleanno$zz['fields'][n]['show_hierarchy_use_top_value_instead_NULL'] if record is saved, no NULL will be used but show_hierarchy_subtree-ID instead

Relations: select; $zz['fields'][n]['show_hierarchy']

Show
417string: fieldno$zz['fields'][n]['show_hierarchy'] shows hierarchy in selects, value must be set to corresponding SQL field name

Relations: select

Show
386booleanno$zz['fields'][n]['show_id'] Normally, id fields get class record_id {display: none;}, show_id stops zzform from doing that

Relations: id

Show
178booleanno$zz['fields'][n]['show_title'] display record: show field title in TH (mainly for subtables, for aesthetic reasons)Show
298booleanno$zz['fields'][n]['show_values_as_list'] puts all enum/select values in a radio button list, not in select/option-elements, no matter how many values are available

Relations: select; $zz['fields'][n]['set']; $zz['fields'][n]['enum']

Show
423integerno$zz['fields'][n]['size_select_too_long'] if set, this will be the size of input if a select is not shown but input field instead

Relations: select

Show
405integerno$zz['fields'][n]['size'] Maximum length of characters that may be entered in input field, size of input field, standard for number 16, for time 8 and for all other fields 32 (or maxlength if smaller)Show
872arrayno$zz['fields'][n]['sql_character_set'] Character sets for fields in 'sql'-query (if different collations among the database are used); used for checking reselects

Relations: $zz['fields'][n]['sql']; select

Show
896arrayno$zz['fields'][n]['sql_fieldnames_ignore'] list of field names that will be ignored for checking a text input against a list of values from the database

Relations: select

Show
415arrayno$zz['fields'][n]['sql_ignore'] doesn't display fields of sql query in form view. this is useful if you need the fields for an identifier field; array, fields won't display in form view.

Relations: $zz['fields'][n]['sql']; select

Show
467booleanno$zz['fields'][n]['sql_index_only'] only show index field (e. g. for SHOW COLUMNS ... queries)

Relations: select

Show
787string: SQLno$zz['fields'][n]['sql_not_unique'] Detail records migh be shown with an n:m relation as well (read only). The SQL query for n:1 goes into the 'sql'-variable, the 1:m LEFT JOIN (or similar) has to go into the 'sql_not_unique' variable. Will be shown in record as well as in list view. Show
404string: SQLno$zz['fields'][n]['sql_password_check'] SQL query that is used to check if the given password equals the existing password

Relations: password_change

Show
873arrayno$zz['fields'][n]['sql_table'] Table names of fields in SQL query if not included in this query (to get correct character set for reselect)

Relations: $zz['fields'][n]['sql']; select

Show
958arrayno$zz['fields'][n]['sql_translate'] Allows translation for this table (or key => table or list of tables or keys and tables) with wrap_translate() from zzwrap library

Relations: $zz['sql']

Show
623booleanno$zz['fields'][n]['sql_where_with_id'] Adds WHERE (or AND)-clause with main_record_id = main_record_value to SQL query if there is a main_record_idShow
1002booleanno$zz['fields'][n]['sql_where_without_id'] Adds WHERE (or AND)-clause with main_record_id != main_record_value to SQL query if there is a main_record_idShow
413arrayno$zz['fields'][n]['sql_where'] adds where to sql-string, rather complicated ... :-) $zz['fields'][4]['sql_where'][1] = array( 'team_id', 'paarung_id', 'SELECT heim_team_id FROM ligen_paarungen WHERE paarung_id = '); Target: additional where-clause in sql-clause, e. g. WHERE team_id = 1 How to do it: - element [0] = field_name in WHERE-clause, e. g. team_id - element [1] = field_name which has to be queried - element [2] = SQL-clause where [1] is inserted to get value for [0] as result.

Relations: select

Show
414booleanno$zz['fields'][n]['sql_without_id'] where['id']-value will be appended automatically

Relations: select

Show
181string: SQLno$zz['fields'][n]['sql'] SQL-Query for select, first field is key field which will not be displayed but entered into database field

Relations: select

Show
946string: SQLno$zz['fields'][n]['sqlcount'] query which has to have something like `COUNT(record_id) AS record_id` in it to provide a faster alternative to querying several records up to max_select for counting all records available for a select field

Relations: $zz['fields'][n]['sql']; $zz_conf['max_select']

Show
201string: SQLno$zz['fields'][n]['sqlorder'] Show
299arrayno$zz['fields'][n]['subselect'] Displays records of detail tables in list view, allows to search through these detail tables as well. Key 'sql' is required, rest is optional.Show
302string: HTMLno$zz['fields'][n]['subselect']['concat_fields'] Show
301string: HTMLno$zz['fields'][n]['subselect']['concat_rows'] Show
997booleanno$zz['fields'][n]['subselect']['count'] if set to true, show count of records either behind 'prefix' or in prefix with sprintf %d

Relations: $zz['fields'][n]['subselect']['prefix']

Show
883string: HTMLno$zz['fields'][n]['subselect']['field_prefix'][m] Allows HTML formatting prefixed for each database fieldShow
884string: HTMLno$zz['fields'][n]['subselect']['field_suffix'][m] Allows HTML formatting suffixed for each database field (index starts with 0 for first field)Show
879array: pathno$zz['fields'][n]['subselect']['link'] Link for each of the elements of the subselectShow
300string: HTMLno$zz['fields'][n]['subselect']['prefix'] Show
882booleanno$zz['fields'][n]['subselect']['show_empty_cells'] if true, &nbsp; will be set for each empty fieldShow
973arrayno$zz['fields'][n]['subselect']['sql_ignore'] List of field names which are ignored when displaying subselect

Relations: $zz['fields'][n]['subselect']['sql']

Show
438string: SQLno$zz['fields'][n]['subselect']['sql'] For subtables. SQL-Select query, foreign_key must be included, shows detail records in list view as well.Show
303string: HTMLno$zz['fields'][n]['subselect']['suffix'] Show
788string: fieldno$zz['fields'][n]['subselect']['table'] Set this if ID field is in different table than main table (works only for displayed subtables, not for editable)Show
909string: functionno$zz['fields'][n]['subselect']['list_field_format'] Formats each single field (e. g. binary represenations of IP addresses to strings) with list_field_format function (opposed to list_format which formats the full string). Might be array as well, then key is field_name

Relations: $zz['fields'][n]['subselect']['list_format']

Show
171string: functionno$zz['fields'][n]['subselect']['list_format']

Relations: $zz['fields'][n]['list_format']

Show
461string: HTMLno$zz['fields'][n]['suffix'] adds suffix-string to form view Show
462string: functionno$zz['fields'][n]['suffix_function'] adds suffix-function to form viewShow
463arrayno$zz['fields'][n]['suffix_function_var'] parameters for suffix-function to form viewShow
188string: fieldno$zz['fields'][n]['table_name'] Alias if more subtables are included (used for search only, AFAIK)

Relations: subtable

Show
854string: fieldno$zz['fields'][n]['text_field'] similar to display_field, this key must be set to a field name from the SQL query which contains the textual representation of the corresponding spatial field

Relations: geo_point

Show
922stringno$zz['fields'][n]['text_none_selected'] Allows to change the text for 'none_selected' individually per select element. Note: global changes should be done in a 'text'-file or $zz_conf['text'] instead.

Relations: select; $zz['fields'][n]['hide_novalue']; $zz_conf['text']

Show
620booleanno$zz['fields'][n]['tick_to_save'] Displays checkbox for each detail record, if checked, record will be saved (insert, update), if not, removed (delete, or if it does not exist, ignored)

Relations: subtable

Show
955stringno$zz['fields'][n]['time_format'] allows to format a time with date()

Relations: time

Show
476booleanno$zz['fields'][n]['title_append'] title for several records which will be in one lineShow
817string: HTMLno$zz['fields'][n]['title_button'] string; title for subtables add/remove buttonsShow
479string: HTMLno$zz['fields'][n]['title_desc'] description, will always be shown below title in form, values in format will be added automatically (cf. explanation)

Relations: $zz['fields'][n]['format']; $zz['fields'][n]['explanation']

Show
13string: HTMLno$zz['fields'][n]['title'] Title of database field, will be shown in form and table Optional, value will be generated from 'field_name' if not set (first letter uppercase, ending `_id` will be deleted)Show
998stringno$zz['fields'][n]['title_export_prefix'] title prefix for CSV exportShow
478string: HTMLno$zz['fields'][n]['title_tab'] title in table display (optional, default = 'title'), e. g. for abbreviations to save placeShow
289booleanno$zz['fields'][n]['translate_field_value'] Translates value of field (e. g. for 'yes', 'no') with zz_text()Show
774arrayno$zz['fields'][n]['translation'] gives the possibility to set individual variables for translation subtables, e. g. 'hide_in_list'Show
971booleanno$zz['fields'][n]['trim'] if set to true, 'memo' fields will be trimmed

Relations: memo

Show
183stringno$zz['fields'][n]['type_detail'] type of field, used for option and predefined to set real type of field but still remain special functionality

Relations: $zz['fields'][n]['type']

Show
177stringno$zz['fields'][n]['type'] Here, the type of the field can be definfed. For a list of field types, see zz_fieldtypes

Relations: zz_fieldtypes

Show
684booleanno$zz['fields'][n]['unique'] if field value is unique, it can be used for where-clauses and will show only one record in display mode, without add new recordShow
407string: HTMLno$zz['fields'][n]['unit'] displays a unit behind a number, won't display if value = NULL

Relations: number

Show
960booleanno$zz['fields'][n]['update_on_detail_update'] Updates this field in main record if there were updates, inserts or deletions in one of the detail records

Relations: timestamp

Show
885stringno$zz['fields'][n]['upload_default'] Sets a value as default _after_ uploaded files have been checked for values and nothing has been found; setting a 'default'-value beforehands would cause upload check not to start

Relations: $zz['fields'][n]['default']

Show
569integerno$zz['fields'][n]['upload_field'] For hidden or other fields (which ... ?), says which field is the upload field from which a certain value, defined in 'upload_value', shall be taken

Relations: hidden

Show
813string: functionno$zz['fields'][n]['upload_func'] string; name of a function to format upload values (the only way to handle arrays)

Relations: $zz['fields'][n]['upload_field']

Show
571string: SQLno$zz['fields'][n]['upload_sql'] SQL query to use with upload value, e. g. if you get a string but need an ID value.

Relations: hidden; $zz['fields'][n]['upload_field']

Show
570mixedno$zz['fields'][n]['upload_value'] Value which will be written to database and taken from uploaded file. Possible values * basics: - filetype: filetype of original file - title: modified filename (without ending, underscores replaced with space, ucfirst() etc.) - filename: filename without extension and web compatible * images: - width: width of original image - height: height of original image - modified[width] - modified[height] * from $_FILES - name: original filename of uploaded file - type - tmp_name - error - size: filesize * more - type_ext: mimetype + extension, e. g. application/octet-stream/dwg - exif[DateTimeOriginal] - ext: file extension - sha1_source_file - modified[filetype] - exif[YResolution] - modified[exif][YResolution] - exif[YResolution] - modified[exif][YResolution] - upload[size] - modified[size] - md5 - md5_source_file - sha1 - sha1_source_file - increment_on_change (adds 1 to a version no. if file changed) - exif[DateTime] - exif[FileName] - exif[FileSize] - ... Good combinations of values are (in case first value is not set, second will be tried): - array('exif[COMPUTED][Width]', 'upload[width]') - array('exif[COMPUTED][Height]', 'upload[height]') - array('channels', 'exif[SamplesPerPixel]') - array('bits', 'exif[BitsPerSample][0]')

Relations: hidden; $zz['fields'][n]['upload_field']

Show
848booleanno$zz['fields'][n]['use_as_label'] In combination with e. g. tick_for_save, this field's value will be enclosed in a label for the checkbox

Relations: subtable; $zz['fields'][n]['tick_to_save']

Show
636arrayno$zz['fields'][n]['validate'] Show
637arrayno$zz['fields'][n]['validate']['forbidden_strings'] Allows to set certain strings (as array) which will be tested against. If there's a match, the input will be sent back to the user to recheck it.Show
175stringno$zz['fields'][n]['value'] Value for field, may not be overwritten

Relations: hidden

Show
622arrayno$zz['fields'][n]['values'] Sets values for detail records. Lets you ask e. g. for a level of knowledge for a predefined set of languagesShow
975string: functionno$zz['fields'][n][format_0'] function to format fields from sql query

Relations: $zz['fields'][n]['sql']; select

Show
331arrayno$zz['filter'] Filter for records to be shownShow
348stringno$zz_conf['filter_position'] position of filter, top, bottom or both

Relations: OUTPUT

Show
332arrayno$zz['filter'][n] Show
567mixedno$zz['filter'][n]['default_selection'] int or array; array might be useful in conjunction with SQL queries which result in nothingShow
892integerno$zz['filter'][n]['depends_on'] Make a filter dependent on the selection of another filter (e. g. for categories and subcategories), using the other filters' where field = value if filter is selected to narrow the results of this filterShow
573string: fieldno$zz['filter'][n]['field_name'] If set, filter value will be used as a default value for this field.Show
804booleanno$zz['filter'][n]['hide_all_link'] true: hide -all- link at the end of this filter to show all records unfilteredShow
334stringno$zz['filter'][n]['identifier'] Identifier for filter, will be used in URL. If not set, will be created from 'title'.

Relations: $zz['filter'][n]['title']

Show
893booleanno$zz['filter'][n]['ignore_invalid_filters'] if true: invalid filter values will not trigger a 404 error and they will not show a message that the filter is invalidShow
979stringno$zz['filter'][n]['like'] allows to change LIKE "%...%" to something differentShow
337arrayno$zz['filter'][n]['selection'] Possible filters, always pairs of record_id and filter title; values starting with »!« will be compared against with !=, »\« escapes possible !-signsShow
968string: SQLno$zz['filter'][n]['sql_join'] SQL JOIN to add for filter to $zz['sql']

Relations: $zz['sql']

Show
785string: SQLno$zz['filter'][n]['sql'] SQL query that should return two fields, set of record_id and title that will be used for `$zz['filter'][n]['selection']`

Relations: $zz['filter'][n]['selection']

Show
333string: HTMLno$zz['filter'][n]['title'] Show
335stringno$zz['filter'][n]['type'] * show_hierarchy * list * where (== list, with the only difference that you must not change the field with the where-value anymore, similar to a 'where' in the URL)Show
988arrayno$zz['filter'][n]['where_if'] 'where_if' allows to set a WHERE query individually for each selectionShow
336string: SQLno$zz['filter'][n]['where'] If type == 'list', this is the required part for the WHERE condition without the equal sign. Might be, even without 'selection', an array for multiple WHERE-conditions connected with OR filter=NULL and filter=!NULL will be translated to the correct SQL query formShow
265array: pathno$zz['folder'][] array with root, string, field, mode for a folder that must be renamed/deleted after changing the record

Relations: ACTION

Show
933string: HTMLno$zz['geo_map_html'] if set, zzbrick/forms module will include a javascript map (e. g. OpenLayers) to display the records via a KML export on this map; a map template and a JavaScript-library is required

Relations: $zz_conf['export']; brick_forms()

Show
934stringno$zz['geo_map_template'] template for $zz['geo_map_html']

Relations: $zz_conf['export']; brick_forms(); $zz['geo_map_html']

Show
974booleanno$zz['list']['hide_columns_if_empty'] check all columns in list and hide columns if they are empty, behaviour is equivalent to 'hide_in_list_if_empty' on a per field basis

Relations: LIST; $zz['fields'][n]['hide_in_list_if_empty']

Show
266arrayno$zz['list']['hierarchy'] display table in a hierarchical view. Caution: - these variables might need a lot of memory when handling bigger amounts of records because all record ids have to be saved to memory - in combination with a WHERE-Condition (`&where[field]=32`), some records might be missing in a branch of a tree because the WHERE-Condition might exclude these records. For the top level, the missing records will be shown read-only

Relations: GLOBAL

Show
268string: fieldno$zz['list']['hierarchy']['display_in'] field_name where hierarchy shall be displayed (level0...10), or table_name in case field is of type subtable

Relations: LIST

Show
945booleanno$zz['list']['hierarchy']['hide_top_value'] Shows hierarchy without top value, moving all records one level upShow
912integerno$zz['list']['hierarchy']['id'] ID of top record in hierarchy if just a subtree shall be displayed

Relations: LIST

Show
267string: fieldno$zz['list']['hierarchy']['mother_id_field_name'] field_name: mother ID, to get hierarchical view

Relations: LIST

Show
539booleanno$zz['list']['tfoot'] shows table foot, e. g. for sums of individual values

Relations: LIST

Show
920arrayno$zz['set_redirect'] List of redirects that will be added to the database redirects table if an identifier is updated or a record with an identifier is deleted. Might be list of strings (old and new pattern is equal), list of arrays (old and new patterns differ); field_name may be set optionally if more than one identifier is in the field list.

Relations: $zz['extra_action']; identifier

Show
8string: SQLyes$zz['sql'] SQL statement for list display and to get field values for form displayShow
9string: SQLno$zz['sqlorder'] SQL statement, part must begin with ' ORDER BY', to sort database tableShow
947string: SQLno$zz['sqlcount'] separate SQL query for counting records if main query is too heavy

Relations: $zz['sql']

Show
985string: SQLno$zz['sqlextra'] if SQL query is too complex, additional values can be read via 'sqlextra' queriesShow
941string: SQLno$zz['sqlrecord'] SQL query which will be used only for record view, not for list view

Relations: $zz['sql']

Show
7string: fieldyes$zz['table'] Name of database table (might include database name as well, e. g. Database.Table)Show
216string: HTMLno$zz['title'] optional: h1-heading to be used for form instead of $zz['table']

Relations: OUTPUT

Show
238string: HTMLno$zz['explanation'] Textblock after heading

Relations: $zz_conf['footer_text']; OUTPUT

Show
917variableno$zz['subtitle'][field]['concat'] Array or string; if more than one field is used for subtitle, this string or these strings will be used instead of the default space for concatenating the fields. If an array is used and the number of elements is smaller than the number of spaces to fill, the last value will be repeated.

Relations: OUTPUT

Show
240arrayno$zz['subtitle'][field]['enum'] field = $where_id, without tablename; = $zz['fields'][n]['enum'] where n is the index of the field corresponding to the key

Relations: $zz['fields'][n]['enum']; OUTPUT

Show
987variableno$zz['subtitle'][field]['format'] Array or string; format all (string) or one (array) value with a formatting function

Relations: OUTPUT

Show
327stringno$zz['subtitle'][field]['link'] heading link provides a link back from the filter text directly below the heading ('var', 'sql') to the main page which triggers the filter (displaying the corresponding record)

Relations: $zz['subtitle'][field]['sql']; $zz['subtitle'][field]['var']; OUTPUT

Show
789booleanno$zz['subtitle'][field]['link_no_append'] does not append mode=show&id=.. to URLShow
916string: HTMLno$zz['subtitle'][field]['prefix'] Prefix, added to value if there is oneShow
217string: SQLno$zz['subtitle'][field]['sql'] [$where_id, without tablename]['sql'] = $zz['fields'][n]['sql'] where n is the index of the field corresponding to the key

Relations: OUTPUT

Show
915string: HTMLno$zz['subtitle'][field]['suffix'] Suffix, added to value if there is oneShow
914booleanno$zz['subtitle'][field]['value'] if true, value of field will be displayed for subtitleShow
218arrayno$zz['subtitle'][field]['var'] ['heading_sub'][$where_id, without tablename]['var'] = array() field from heading_sql-query which shall be used for better display of H2 and TITLE blabla:<br>var1 var2 var3

Relations: OUTPUT

Show
918arrayno$zz['unique'] Describes UNIQUE key for detail tables. For updates via zzform_multi() which do not know the record ID of the detail table this can be used to avoid getting this ID first.Show
821arrayno$zz['where'] WHERE condition for record, like via URL where[some_id]=10Show
538booleanno$zz[list']['select_multiple_records'] UNDER DEVELOPMENT.

Relations: LIST

Show
5arrayyes$zz_conf Main configuration variables. To be set in table scripts or central configuration file. Most variables will have a reasonable default.Show
237stringno$zz_conf['access'] deprecated, use $zz['access'] instead

Relations: $zz['access']; FORM; LIST

Show
243string: filenameno$zz_conf['action_dir'] Directory where included scripts from $zz['extra_action'] reside

Relations: $zz['extra_action']; ACTION

Show
236mixedno$zz_conf['add'] Add or do not add data. Can be an array to allow adding of records whith specific values already set. Format: - `type`: Title, as in Add new ... - `field_name`: field_name for which value will already be set when adding a new record - `value`: value to field_name which will be set - `title`: title-attribute to explain add link further - `explanation`: (optional) will be written behind the link

Relations: FORM; LIST

Show
346booleanno$zz_conf['add_link'] add new record link will be shown (true) or not (false); normally this needs not to be set, because it's the same as $zz_conf['add']

Relations: LIST; OUTPUT

Show
775booleanno$zz_conf['always_show_empty_detail_record'] show always empty detail record if min_records is set to 0

Relations: subtable

Show
284arrayno$zz_conf['breadcrumbs']

Relations: OUTPUT; brick_forms()

Show
783booleanno$zz_conf['cancel_link'] shows/hides cancel linkShow
874booleanno$zz_conf['character_set_db_multiple'] if db uses multiple character sets (latin1, utf8 etc.), this variable should be set to true to get correct character set from database/script config for fields

Relations: $zz_conf['character_set']

Show
45stringno$zz_conf['character_set'] Character encoding which is used to serve pages, convert text to filenames and more.

Relations: GLOBAL

Show
795booleanno$zz_conf['check_referential_integrity'] bool; if set to true, will check referential integrity with relations table (useful for tables who do not support referential integrity like MyISAM)

Relations: $zz_conf['relations_table']

Show
776booleanno$zz_conf['copy'] allows to copy a record (add new record with the data of the old record as a basis)Show
250resourceno$zz_conf['db_connection'] resource of MySQL connection (open connection will be used, therefore this value can be set to true as well)

Relations: GLOBAL

Show
876string: SQLyes$zz_conf['db_name_local'] local (development) database name for website

Relations: $zz_setting['local_access']; $zz_conf['db_name']

Show
251stringyes$zz_conf['db_name'] database name

Relations: GLOBAL

Show
287booleanno$zz_conf['debug_time'] Logs the processing time that was used by certain functions into the zzform error handling

Relations: debug.inc.php; OUTPUT

Show
91booleanno$zz_conf['debug'] Turns debugging in zzform on or off; debugging mode, shows several debugging outputs directly in the html output

Relations: debug.inc.php; OUTPUT

Show
903stringno$zz_conf['decimal_point'] Decimal point for numbers, depending on languageShow
826arrayno$zz_conf['default_language_for'] for not existing language files, use a different default than 'en'

Relations: $zz_conf['language']

Show
213booleanno$zz_conf['delete'] delete records possible or not

Relations: FORM; LIST

Show
219arrayno$zz_conf['details'] Creates a column "details" next to the column "action"; links to detail records with foreign key. A link will be constructed from each values but you can influence that with 'details_url' and 'details_base'

Relations: FORM; LIST

Show
231arrayno$zz_conf['details_base'] array, corresponding to details, does not make use of details as first part of details_url but this field instead

Relations: FORM; LIST

Show
233booleanno$zz_conf['details_referer'] add referer to details link

Relations: FORM; LIST

Show
800arrayno$zz_conf['details_sql'] Show
232string: HTMLno$zz_conf['details_target'] target window for details link

Relations: FORM; LIST

Show
220array: pathno$zz_conf['details_url'] what url to follow for detail records, may be array e. g. array('field1' => 'fieldname_bla', 'string1' => '/', 'field2' => 'fieldname_blubb') etc.

Relations: FORM; LIST

Show
516string: filenameno$zz_conf['dir_custom'] Directory for customized scripts, i. e. db.inc.php, translation scripts

Relations: GLOBAL

Show
517string: filenameno$zz_conf['dir_inc'] Directory for zzform include scripts

Relations: GLOBAL

Show
115string: filenameno$zz_conf['dir'] Directory in which zzform resides in

Relations: $zz_setting['inc']; zzform_multi(); GLOBAL

Show
285booleanno$zz_conf['dont_show_title_as_breadcrumb'] Title of zzform document won't be shown as part of the breadcrumbs

Relations: $zz_conf['breadcrumbs']; brick_forms(); GLOBAL

Show
851booleanno$zz_conf['dont_show_total_records'] if set to true, »n total records« will not be shown below listShow
248stringno$zz_conf['error_handling'] what to do with errors, possible values: `output` | `mail` | `save_mail` | `mail_summary`

Relations: GLOBAL

Show
528string: filenameno$zz_conf['error_log']['error'] path to error_log, default from php.ini

Relations: GLOBAL

Show
529string: filenameno$zz_conf['error_log']['notice'] path to error_log for E_USER_NOTICE, default from php.ini

Relations: GLOBAL

Show
530string: filenameno$zz_conf['error_log']['warning'] path to error_log for E_USER_WARNING, default from php.ini

Relations: GLOBAL

Show
246stringno$zz_conf['error_mail_from'] mailaddress where errrors come from

Relations: GLOBAL

Show
279mixedno$zz_conf['error_mail_level'] When to mail an error to the admin.

Relations: GLOBAL

Show
245stringno$zz_conf['error_mail_to'] E-Mail address where errors go to. Multiple addresses must be separated by a comma

Relations: GLOBAL

Show
531integerno$zz_conf['log_errors_max_len']

Relations: GLOBAL

Show
532booleanno$zz_conf['log_errors']

Relations: GLOBAL

Show
760booleanno$zz_conf['error_log_post'] Logs $_POST variables on error

Relations: $zz_conf['log_errors']

Show
814stringno$zz_conf['error_mail_parameters'] parameters for sending error mails

Relations: $zz_conf['error_mail_from']

Show
1005stringno$zz_conf['export_csv_delimiter'] delimiter between columns of CSV exportShow
1004stringno$zz_conf['export_csv_enclosure'] character that encloses strings in CSV exportShow
1003booleanno$zz_conf['export_csv_no_head'] do not export titles as first line in CSVShow
1006arrayno$zz_conf['export_csv_replace'] list of characters that should be replaced when exporting to CSVShow
252mixedno$zz_conf['export'] if sql result might be exported (link for export will appear at the end of the page)

Relations: export.inc.php; OUTPUT

Show
897arrayno$zz_conf['footer_record'] Show
900string: HTMLno$zz_conf['footer_record']['delete'] HTML text for output after a successful delete directly below the recordShow
898string: HTMLno$zz_conf['footer_record']['insert'] HTML text for output after a successful insert directly below the recordShow
899string: HTMLno$zz_conf['footer_record']['update'] HTML text for output after a successful update directly below the recordShow
239string: HTMLno$zz_conf['footer_text'] Textblock at the end of div id zzform

Relations: $zz['explanation']; OUTPUT

Show
116string: filenameno$zz_conf['form_scripts'] where form scripts reside

Relations: zzbrick_tables/; $zz_setting['inc']; GLOBAL

Show
269stringno$zz_conf['format']['markdown']['link'] Link to markdown help page; similarly use ['format'][$format]['link'] for other formats

Relations: FORM

Show
725booleanno$zz_conf['generate_output'] allows to not call some functions which are only needed to generate HTML output in case this is not neededShow
808arrayno$zz_conf['geo'] settings of the geo-moduleShow
809integerno$zz_conf['geo']['rounding'] rounding of geographical coordinatesShow
812string: HTMLno$zz_conf['geo']['spacer'] Symbol that separates degrees, minutes, seconds and hemisphere in degree displayShow
925functionno$zz_conf['geocoding_function'] Function to use for geocoding an address; gets array $address as input, utf8 encoded data, * string 'country' * string 'locality' * string 'postal_code' (optional) * string 'street_name' (optional) * string 'street_number' (optional) should return Array * double 'longitude' * double 'latitude' * string 'postal_code' if not set, function from zzwrap library will be used

Relations: geo.inc.php

Show
778string: HTMLno$zz_conf['group_html_table']

Relations: $zz['fields'][n]['group_in_list']

Show
600string: functionno$zz_conf['hash_password'] Name of PHP function to encrypt fields of type 'password' or 'password_change'; possible values are `md5`, `sha1`, `phpass`

Relations: password; password_change

Show
838integerno$zz_conf['hash_cost_log2'] if `phpass` is used as hash function, this is the number of iterations how often a hash function will be usedShow
839booleanno$zz_conf['hash_portable'] if `phpass` is used as password hash function, this value indicates whether the hash should be portable to older versionsShow
837string: filenameno$zz_conf['hash_script'] filename of script with hash function if it's not a standard php function

Relations: $zz_conf['hash_password']

Show
881string: HTMLno$zz_conf['heading_prefix'] Sets a prefix for each table, e. g. a hierarchical path (breadcrumb) for the heading (string will be prepended with a space)

Relations: $zz['title']

Show
862booleanno$zz_conf['html_autofocus'] set HTML attribute autofocus to first input field/first input field in added subrecordShow
214arrayno$zz_conf['if']

Relations: FORM; LIST

Show
921arrayno$zz_conf['import_file_order_by_extension'] List of filetypes in order of importance, if more than one filetype is imported at the same time.

Relations: zzform_multi()

Show
117string: fieldyes$zz_conf['language'] Language code ISO 639-1 Language of zzform. English is the default language. For each language, you have to provide a file `$zz_conf['dir_inc']/text-[iso language code].inc.php`

Relations: GLOBAL

Show
843integerno$zz_conf['limit_all_max'] Maximum count of records which should be displayed on one page (if there are more records, 'all'-Link will be hidden)

Relations: $zz_conf['limit']

Show
226integerno$zz_conf['limit'] display only limited amount of records per page, add links to browse through all records on several pages; false: show all records no matter how many

Relations: LIST

Show
728stringno$zz_conf['limit_display'] display links to pages with page numbers or entries (begin-end of no. of records)Show
227integerno$zz_conf['limit_show_range'] range in which links to records around current selection will be shown

Relations: LIST

Show
221stringno$zz_conf['list_display'] format of list display, defaults to `table`, other possibilities include `ul`

Relations: LIST

Show
256booleanno$zz_conf['logging'] logging of INSERT UPDATE DELETE enabled?

Relations: ACTION

Show
257booleanno$zz_conf['logging_id'] logging of record_id enabled?

Relations: ACTION

Show
258string: fieldno$zz_conf['logging_table'] table where logging will be written into

Relations: ACTION

Show
791stringno$zz_conf['mail_subject_prefix'] Prefix, will be prepended to all mail subjectsShow
534integerno$zz_conf['max_detail_records'] max 20 detail records, might be expanded later on

Relations: FORM

Show
259integerno$zz_conf['max_select_val_len'] maximum length of values in select

Relations: FORM; LIST

Show
260integerno$zz_conf['max_select'] configures the maximum entries in a select-dialog, if there are more entries, an empty input field will be provided

Relations: FORM

Show
949booleanno$zz_conf['merge'] If true, allows to merge existing recordsShow
535integerno$zz_conf['min_detail_records'] min 0 detail records, might be expanded later on

Relations: FORM

Show
951booleanno$zz_conf['multi_delete'] If true, allows to delete multiple records at onceShow
950booleanno$zz_conf['multi_edit'] If true, allows to edit multiple records at onceShow
536booleanno$zz_conf['multi'] signals zzform that script will be rerun several times, so certain initialization steps need only to be completed once

Relations: GLOBAL

Show
740stringno$zz_conf['nice_tablename'][TAB] Show
852booleanno$zz_conf['no_add_above']

Relations: $zz_conf['add']

Show
907booleanno$zz_conf['no_ok'] Show/hide OK button below formShow
816stringno$zz_conf['password_salt'] salt for password generation

Relations: $zz_conf['hash_password']

Show
797string: filenameno$zz_conf['pdflib_path'] string; path to pdf library

Relations: $zz_conf['export']

Show
12string: SQLno$zz_conf['prefix'] Prefix for all table names in a database [default ''], table_prefix like zz_ (will be removed in error output)

Relations: GLOBAL

Show
247string: HTMLno$zz_conf['project'] project name, used sparely

Relations: GLOBAL

Show
771booleanno$zz_conf['redirect_on_change'] Redirect after successful database operation or not (to avoid POST again after update)Show
861booleanno$zz_conf['redirect_to_referer_zero_records'] redirects to referer webpage instead of same webpage in case form would return 0 recordsShow
261arrayno$zz_conf['redirect']

Relations: GLOBAL

Show
264stringno$zz_conf['redirect']['successful_delete'] redirect to this URL (local, starting with / or full qualified URI) when this event occurs

Relations: GLOBAL

Show
263stringno$zz_conf['redirect']['successful_insert'] redirect to this URL (local, starting with / or full qualified URI) when this event occurs

Relations: GLOBAL

Show
262stringno$zz_conf['redirect']['successful_update'] redirect to this URL (local, starting with / or full qualified URI) when this event occurs

Relations: GLOBAL

Show
234stringno$zz_conf['referer'] referer which links back to previous page

Relations: GLOBAL

Show
51string: fieldyes$zz_conf['relations_table'] Table for relations for relational integrity

Relations: GLOBAL

Show
104string: filenameno$zz_conf['root'] root directory of website

Relations: GLOBAL

Show
223mixedno$zz_conf['search'] Search records possible or not: \ as first string in search query will be removed (escapes reserved symbols) > greater than ... (should be used with scope set) < lesser than ... (should be used with scope set) [nothing] LIKE %...% (true or bottom: below list, top = above list, both = below and above list)

Relations: OUTPUT

Show
845booleanno$zz_conf['search_form_always'] normally, search form will not be shown if there are less records than will be shown on a page. if set to true, search form will be shown even if there are less records than set to limitShow
121booleanno$zz_conf['show_list_while_edit']

Relations: LIST

Show
228booleanno$zz_conf['show_list'] display list of records in database

Relations: LIST

Show
229booleanno$zz_conf['show_output'] ECHO output or keep it in $zz['output'] for later use (e. g. zzform_all will use this)

Relations: zzform_all(); OUTPUT

Show
717stringno$zz_conf['sync_concat_unique'] concat string for unique fields, might be changed if neccessary if ambiguous to unique IDs with strings Show
818arrayno$zz_conf['text'] extra (translated) textShow
819arrayno$zz_conf['text'][lang] text in this language (lang, two-letter ISO code); if -- is used as language code, all text will be replaced by this text or its translationShow
904stringno$zz_conf['thousands_separator'] Thousands separator for numbers, depending on languageShow
512booleanno$zz_conf['translations_of_fields'] shall zzform and zzwrap save and read translate database field content in central database tables?

Relations: translations.inc.php

Show
514string: filenameno$zz_conf['translations_script']

Relations: $zz_conf['translations_of_fields']; translations.inc.php

Show
513stringno$zz_conf['translations_table']

Relations: $zz_conf['translations_of_fields']; translations.inc.php

Show
965booleanno$zz_conf['upload_imagick_options_no_defaults'][extension] ignore imagemagick defaults for options from filetypes.cfg for this extension

Relations: $zz_conf UPLOAD

Show
230arrayno$zz_conf['url_self'] own url or target url

Relations: GLOBAL

Show
244stringno$zz_conf['user'] user name, used for logging and errors

Relations: ACTION

Show
825booleanno$zz_conf['valid_request'] if access = add_only or edit_only and record was saved successfully, valid_request shows whether combination of zzaction and hash is correctShow
224booleanno$zz_conf['view'] view records, this will only be enabled if edit records is turned off

Relations: FORM; LIST

Show
519containerno$zz_conf INTERNAL Show
766arrayno$zz_conf['int'] Internal variables, will be unset after exitting zzform()Show
736arrayno$zz_conf['int']['allowed_params'] Show
871stringno$zz_conf['int']['character_set_db'] Character set of active db connection, will be read from databaseShow
612stringno$zz_conf['int']['db_current'] Database that was selected before zzform() started and will be selected again after finishing

Relations: $zz_conf['db_name']

Show
613stringno$zz_conf['int']['db_main'] main database normally is the same db that zzform() uses for its operations, but if you use several databases, this is the one which is the main db, i. e. the one that will be used if no other database name is specified

Relations: $zz_conf['db_name']

Show
805arrayno$zz_conf['int']['error'] saved mail errors from zz_error()

Relations: $zz_conf['error_handling']

Show
796string: functionno$zz_conf['int']['export_script'] string; name of custom export function/script

Relations: $zz_conf['export']

Show
524integerno$zz_conf['int']['group_field_no'] Field number of group fieldShow
792booleanno$zz_conf['int']['hash_id'] true: hashed ID will sent as 'zzhash' to check if id is allowed in URL ($zz_conf['access'] = 'edit_only' or 'add_only')

Relations: $zz_conf['access']; $zz_conf['int']['hash']

Show
793stringno$zz_conf['int']['hash'] Show
887arrayno$zz_conf['int']['invalid_filters'] List of invalid filters in REQUEST URIShow
543stringno$zz_conf['int']['referer_esc'] = $zz_conf['referer'], & escaped to &Show
794stringno$zz_conf['int']['secret_key'] secret key, made out of ID and hash for table definition, to check, whether access for an add_only or edit_only or add_then_edit-record should be granted

Relations: $zz_var['id']['value']; $zz_conf['int']['hash']

Show
801booleanno$zz_conf['int']['text_included'] true: Translated text is already included, false: it's not includedShow
540integerno$zz_conf['int']['this_limit'] internal value, current range which records are shownShow
767arrayno$zz_conf['int']['url'] URL of scriptShow
510stringno$zz_conf['int']['url']['?&'] ? or &Show
770stringno$zz_conf['int']['url']['base'] base url, i. e. scheme and hostnameShow
769stringno$zz_conf['int']['url']['full'] Show
542stringno$zz_conf['int']['url']['qs_zzform'] Show
541stringno$zz_conf['int']['url']['qs']

Relations: $zz_conf['url_self']

Show
768stringno$zz_conf['int']['url']['self'] own URL for form action

Relations: $zz_conf['url_self']

Show
520arrayno$zz_conf['modules'] Loaded zzform modulesShow
544integerno$zz_conf['zzform_calls'] check, how many times simultaneously zzform has been called (more than once looks like an error)Show
730booleanno$zz_conf['zzform_init'] signals whether zz_initalize() has been run completely or notShow
489containerno$zz_conf UPLOAD $zz_conf-variables for upload moduleShow
19booleanno$zz_conf['backup'] Do a backup of old files?

Relations: upload.inc.php; ACTION

Show
270string: filenameno$zz_conf['backup_dir'] directory where old files shall be backed up to

Relations: upload.inc.php; ACTION

Show
277arrayno$zz_conf['exif_supported'] filetypes that support exif.

Relations: upload.inc.php; ACTION

Show
275arrayno$zz_conf['file_types'] Known filetypes, array with array for each file_type ('filetype', 'ext_old', 'ext', 'mime', 'desc')

Relations: upload.inc.php; ACTION

Show
271stringno$zz_conf['graphics_library'] graphics library used for image manipulation (imagemagick is default, gd is also possible, others are currently not supported)

Relations: upload.inc.php; GLOBAL

Show
273arrayno$zz_conf['imagemagick_paths'] paths where zzform looks for imagemagick binary

Relations: upload.inc.php; GLOBAL

Show
274arrayno$zz_conf['image_types'] Image filetypes, supported by PHP, should only be changed if PHP supports more.

Relations: upload.inc.php; GLOBAL

Show
747string: filenameno$zz_conf['imagemagick_path_unchecked'] Single path for imagemagick commands, path won't be checked

Relations: $zz_conf['imagemagick_paths']

Show
276arrayno$zz_conf['mime_types_rewritten'] array('unwanted_mimetype' => 'wanted_mimetype') e. g. for image/pjpeg = image/jpeg

Relations: upload.inc.php; GLOBAL

Show
222string: filenameno$zz_conf['tmp_dir'] Directory; temporary folder for file uploads, should only be set if it has to be different from PHP temp dir

Relations: upload.inc.php; GLOBAL

Show
644booleanno$zz_conf['upload_copy_for_rename'] let's you use copy and unlink instead of rename if system has a problem with renaming files (e. g. over partitions)Show
597arrayno$zz_conf['upload_destination_filetype'] Value of arrays ('tiff' => 'png') that tells zzform how to convert a non-web-image into a web image.

Relations: upload.inc.php; $zz['fields'][n]['image'][n]['input_filetypes']

Show
820arrayno$zz_conf['upload_filetype_map'] Assigns different file extensions to a common filetypeShow
927arrayno$zz_conf['upload_imagick_options_for'] Options for Imagemagick, will be put into imagemagick call 1:1; here: depending on source filetype

Relations: $zz_conf['upload_imagick_options']

Show
713stringno$zz_conf['upload_imagick_options'] Options for Imagemagick, will be put into imagemagick call 1:1Show
595arrayno$zz_conf['upload_iptc_fields'] Assignment of IPTC field indexes to readable field names

Relations: upload.inc.php

Show
926string: filenameno$zz_conf['upload_log'] If set, will log all upload related exec functions into this file.Show
272integerno$zz_conf['upload_MAX_FILE_SIZE'] in bytes

Relations: upload.inc.php; GLOBAL

Show
624arrayno$zz_conf['upload_multipage_images'] Defines multipage images, here, we'll consider only page 1 or layer 1

Relations: upload.inc.php

Show
850arrayno$zz_conf['upload_no_thumbnails'] List of filetypes where no thumbnails will be generatedShow
942arrayno$zz_conf['upload_remap_type_if_extension'] maps filetypes which are identified as a different filetype to this filetype because of the extensionShow
609arrayno$zz_conf['upload_tools'] External tools used for uploadsShow
990string: filenameno$zz_conf['upload_tools']['exiftools_whereis'] path to exiftool incl. command

Relations: $zz_conf['upload_tools']['exiftools']

Show
610booleanno$zz_conf['upload_tools']['exiftools'] Show
807stringno$zz_conf['upload_tools']['fileinfo_whereis'] place of 'file' (result of whereis)

Relations: $zz_conf['upload_tools']['fileinfo']

Show
594booleanno$zz_conf['upload_tools']['fileinfo'] if true, fileinfo() will be called to check what file this is (must be installed, therefore optional)

Relations: upload.inc.php

Show
599booleanno$zz_conf['upload_tools']['ghostscript'] tells the system whether we can use the ghostscript library or not

Relations: upload.inc.php

Show
351booleanno$zz_conf['upload_tools']['identify'] use imagemagick's `identify` or not; might be turned off for performance reasons while handling raw data

Relations: upload.inc.php; $zz_conf['graphics_library']; GLOBAL

Show
596arrayno$zz_conf['webimages_by_extension'] list of extensions for images that can be natively displayed in browser

Relations: upload.inc.php

Show
501arrayno$zz_error Show
505integerno$zz_error[]['level'] Show
503stringno$zz_error[]['msg_dev'] Show
502stringno$zz_error[]['msg'] Show
507integerno$zz_error[]['mysql_errno'] Show
506stringno$zz_error[]['mysql'] mysql error messageShow
504string: SQLno$zz_error[]['query'] Show
81arrayyes$zz_page Defines elements to build webpageShow
90string: HTMLno$zz_page['breadcrumb_separator'] String that concatenates the breadcrumb elements

Relations: wrap_htmlout_breadcrumbs()

Show
706mixedno$zz_page['custom'] custom variables, may be set by programmerShow
626arrayauto$zz_page['db']

Relations: zzwrap.php

Show
86stringno$zz_page['deep'] Relative path to root URL (for webpages that shall also work locally)

Relations: $zz_page['url']['full']['path']

Show
890integerno$zz_page['error_code'] variable will be set internally, shows current error code to avoid loops

Relations: wrap_quit()

Show
824string: HTMLno$zz_page['error_html'] Show
83string: filenameno$zz_page['foot'] PHP include that outputs the page foot

Relations: zzwrap.php; zzform_all()

Show
82string: filenameno$zz_page['head'] PHP include that outputs the page head

Relations: zzwrap.php; zzform_all()

Show
130string: HTMLno$zz_page['id'] String, may be inserted by page head in body id=''.Show
772string: HTMLno$zz_page['template_pagetitle_home'] formatting of page TITLE, first possible variable is h1, second is projectShow
773string: HTMLno$zz_page['template_pagetitle'] see _home

Relations: $zz_page['template_pagetitle_home']

Show
122arrayno$zz_page['url_placeholders']

Relations: wrap_look_for_page()

Show
84arrayauto$zz_page['url'] URL of page

Relations: zzwrap.php; auth.inc.php; cms_login(); wrap_check_https(); wrap_look_for_page(); wrap_quit()

Show
85arrayauto$zz_page['url']['full']

Relations: $zz_setting['host_base']

Show
129stringauto$zz_page['url']['full']['host'] Show
87stringauto$zz_page['url']['full']['path'] Show
625stringauto$zz_page['url']['full']['query'] Show
128stringauto$zz_page['url']['full']['scheme'] Show
92arrayno$zz_setting Show
935stringno$zz_setting['*)maps_api_key'] API key for a map service to be used in a template

Relations: $zz['geo_map_template']

Show
799arrayno$zz_setting['auth_urls'] list of URLs which are only accessible after authentication (string will be matched to URL case insensitive, all URLs starting with the string are affected)Show
166stringno$zz_setting['base'] Base url to be prepended before 'root'. Later while processing the website this variable may contain language specific url parts. Ends with no slash! Will be prepended for: - breadcrumb links - link elements in page head template - etc.

Relations: page.inc.php; wrap_htmlout_breadcrumbs(); wrap_get_menu_navigation(); wrap_get_menu_webpages(); wrap_check_canonical()

Show
863mixedno$zz_setting['brick_default_tables'] array: List of tables which may bei included from zzform/default_tables bool true: all tables in default_tables are allowedShow
611arrayno$zz_setting['brick_formatting_functions']

Relations: zzbrick

Show
749integerno$zz_setting['brick_import_error_code'] error code that JSON import returns with when failingShow
705arrayno$zz_setting['brick_json_source_url']

Relations: zzbrick

Show
290booleanno$zz_setting['brick_page_templates'] Allows use of %%% page ... %%%-Syntax for HTML head and foot templatesShow
608booleanno$zz_setting['brick_request_cms']

Relations: zzbrick

Show
704arrayno$zz_setting['brick_request_shortcuts']

Relations: zzbrick

Show
703arrayno$zz_setting['brick_types_translated']

Relations: zzbrick

Show
878integerno$zz_setting['cache_age'] maximum allowed age of cache file to use without requery; -1 means cache is always considered as fresh

Relations: $zz_setting['cache']

Show
993string: filenameno$zz_setting['cache_dir'] path to caching folder

Relations: $zz_setting['cache']

Show
877booleanno$zz_setting['cache'] true: caching; false: no caching

Relations: $zz_setting['cache_dir']

Show
745mixedno$zz_setting['change_password_url'] URL where to redirect to if $_SESSION['change_password'] is set (this can be done via $zz_sql['login']) to allow the user to change her password; may be array, then a URL for each 'domain' can be set

Relations: $zz_sql['login']; $zz_sql['domain']

Show
153booleanno$zz_setting['check_redirects'] whether to use the redirection table or notShow
94string: filenameno$zz_setting['core'] Directory for core CMS scripts

Relations: $zz_setting['inc']

Show
832string: filenameyes$zz_setting['custom_wrap_dir']

Relations: $zz_setting['custom']

Show
831string: filenameno$zz_setting['custom_wrap_sql_dir'] Show
297string: filenameno$zz_setting['custom_wrap_template_dir'] Show
833string: filenameyes$zz_setting['custom']

Relations: $zz_setting['inc']

Show
888stringno$zz_setting['date_format'] sets date format for wrap_dates(), e. g. 'dates-de'Show
95string: filenameno$zz_setting['db_inc'] Script that establishes datbase connection

Relations: db.inc.php; $zz_setting['custom_wrap_sql_dir']

Show
875arrayno$zz_setting['db_password_files'] List of password files. Files starting with / will be treated as absolute, other files will be seen as extension to custom/zzwrap_sql/pwd{file}.inc.phpShow
913stringno$zz_setting['error_prefix'] string that will be added as a prefix to the error message (in case a script will output several error messages with the same prefix, this can be a time-saver).Show
901booleanno$zz_setting['errors_not_logged_no_defaults'] if set to true, default file for errors-not-logged will not be readShow
980arrayno$zz_setting['ext_libraries'] external libraries that are always included, e. g. for formattingShow
981arrayno$zz_setting['geocoder'] Define which geocoding functions to use. Currently implemented are: - Nominatim - Google Maps The order of the functions defines which results to prefer in case there is more than one results. The first geocoder precedes the others.Show
103stringno$zz_setting['homepage_url'] Link to homepageShow
102stringno$zz_setting['host_base'] Homepage URL, e. g. http://www.example.org

Relations: $zz_setting['hostname']; $zz_setting['protocol']

Show
97stringno$zz_setting['hostname'] hostname; hostname of server, e. g. www.example.com; default $_SERVER['HTTP_HOST']Show
633arrayno$zz_setting['html_link_types'] HTML Link types, to separate valid from invalid link keys

Relations: brick_head_format()

Show
281arrayno$zz_setting['https_urls'] list of URLs that will be matched against the current URL, if they start with one of the URLs defined in this array (case insensitive), this URL will be only accessible via HTTPS

Relations: $zz_setting['https']

Show
100booleanno$zz_setting['https'] default: if HTTPS-Connection and HTTPS allowed true, else false

Relations: $zz_setting['no_https']

Show
282booleanno$zz_setting['ignore_scheme']

Relations: $zz_setting['https']

Show
93string: filenameyes$zz_setting['inc'] PHP include directory for zzproject

Relations: _inc/; $zz_conf['root']

Show
865string: filenameno$zz_setting['kml_default_dot'] Default dot for KML export

Relations: $zz_setting['kml_styles']

Show
864arrayno$zz_setting['kml_styles'] KML styles for the styles-section in KML exportShow
88string: HTMLno$zz_setting['lang'] page language, html lang attribute

Relations: $zz_conf['language']

Show
984booleanno$zz_setting['language_not_in_nav'] if true, do not put language code in URLs for breadcrumbs and menusShow
642arrayno$zz_setting['languages_allowed'] Language parts that are allowed and will be recognized in URLsShow
98booleanno$zz_setting['local_access'] Access via local network; default if hostname ending in .local true else false;

Relations: $zz_setting['hostname']

Show
286string: filenameno$zz_setting['local_pwd'] If a local development system is used under the address example.local, this password file is usedShow
547booleanno$zz_setting['log_missing_text'] Logs untranslated text into logfile; %s-placeholder required for languageShow
744mixedno$zz_setting['login_entryurl'] string or array; URL of webpage where you can login. If it's an array, URL may be set specfically to 'domain'Show
742string: functionno$zz_setting['login_fields_format'] name of function to re-format values in login fields (e. g. username and password)Show
120arrayno$zz_setting['login_fields_output'] Show
841arrayno$zz_setting['mail_summary'] Log lines for mail, sent in one mail instead of several mails

Relations: $zz_conf['error_handling']

Show
165stringno$zz_setting['main_menu'] Name of main menu

Relations: page.inc.php; wrap_htmlout_menu()

Show
162stringno$zz_setting['menu_display_submenu_items'] display submenu entries: - all: always display main menu and all submenus - active: display main menu, submenu only if corresponding main menu or item in submenu branch is selected - none: only display main menu, no submenus at all

Relations: page.inc.php; wrap_htmlout_menu()

Show
164string: HTMLno$zz_setting['menu_mark_active_close'] format active menu entry

Relations: page.inc.php; wrap_htmlout_menu()

Show
163string: HTMLno$zz_setting['menu_mark_active_open'] format active menu entry (HTML)

Relations: page.inc.php; wrap_htmlout_menu()

Show
155stringno$zz_setting['menu'] Database source of menu (type of table)

Relations: wrap_get_menu()

Show
99booleanno$zz_setting['no_https'] HTTPS connections allowed; default true, if local access false check if https is wanted or not local connections are never made via https

Relations: $zz_setting['local_access']

Show
101stringno$zz_setting['protocol'] 'http', 'https'; depending on connection

Relations: $zz_setting['https']

Show
886stringno$zz_setting['session_menu'] Name of menu that will be added to main menu if someone is logged in

Relations: $zz_setting['main_menu']

Show
840stringno$zz_setting['start_process'] Time information in a custom format, used by wrap_error_summary() if $zz_conf['error_handling'] = 'mail_summary'

Relations: $zz_conf['error_handling']

Show
859string: filenameno$zz_setting['sync_lists_dir'] filename where sync textfiles resideShow
858integerno$zz_setting['sync_page_refresh'] seconds until page will do a refresh after loadingShow
857integerno$zz_setting['sync_records_per_run'] number of records to check per run before page will be refreshedShow
283booleanno$zz_setting['translate_page_title'] Translates $page['title'] with cms_text()Show
846string: filenameno$zz_setting['wrap_template_dir'] Directory for default templates

Relations: $zz_setting['custom_wrap_template_dir']

Show
634booleanno$zz_setting['xml_close_empty_tags'] true: close empty tags

Relations: brick_head_format()

Show
118arrayyes$zz_sql

Relations: zzwrap

Show
711containerno$zz_sql field names for zzwrap important field names of some database tablesShow
561string: fieldyes$zz_sql['author_id']

Relations: sql-core.inc.php

Show
556string: fieldyes$zz_sql['content']

Relations: sql-core.inc.php

Show
558string: fieldyes$zz_sql['ending']

Relations: sql-core.inc.php

Show
559string: fieldyes$zz_sql['identifier']

Relations: sql-core.inc.php

Show
560string: fieldyes$zz_sql['lastupdate']

Relations: sql-core.inc.php

Show
555string: fieldyes$zz_sql['page_id']

Relations: sql-core.inc.php

Show
552string: fieldno$zz_sql['redirects_new_fieldname']

Relations: sql-core.inc.php; $zz_setting['check_redirects']; wrap_quit()

Show
551string: fieldno$zz_sql['redirects_old_fieldname']

Relations: sql-core.inc.php; $zz_setting['check_redirects']; wrap_quit()

Show
557string: fieldyes$zz_sql['title']

Relations: sql-core.inc.php

Show
562string: SQLno$zz_sql['authors'] person_id = ID, person = name of author

Relations: sql-page.inc.php

Show
119string: SQLno$zz_sql['breadcrumbs']

Relations: wrap_get_breadcrumbs()

Show
743stringno$zz_sql['domain'] Name of domain, e. g. if there's more than one login area on a webpage or if there are different independent webpage parts that share something but not everything. This is a means to distinguish them.Show
549string: SQLyes$zz_sql['is_public']

Relations: sql-core.inc.php; wrap_look_for_page()

Show
641string: SQLno$zz_sql['language'] Show
565string: SQLno$zz_sql['last_click']

Relations: auth.inc.php; sql-auth.inc.php

Show
566stringno$zz_sql['login_extra']['settings']

Relations: sql-auth.inc.php

Show
867string: SQLno$zz_sql['login_settings'] If set, reads settings from database, indexed by SESSION['login_id']Show
564string: SQLno$zz_sql['login'] SQL query for login procedure, password must be first field in list

Relations: sql-auth.inc.php

Show
563string: SQLno$zz_sql['logout']

Relations: sql-auth.inc.php

Show
160string: SQLno$zz_sql['menu_level2'] expects: page_id, title, (id_title), mother_page_id, url (function_url), menu

Relations: sql-page.inc.php; wrap_get_menu_webpages()

Show
646stringno$zz_sql['menu_table'] Name of table where to get menu entries from; for translation

Relations: sql-page.inc.php; $zz_sql['menu']

Show
159string: SQLno$zz_sql['menu'] expects: nav_id, title, main_nav_id, url optional parameters: id_title, rest is free; expects: page_id, title, (id_title), mother_page_id, url, menu

Relations: sql-page.inc.php; wrap_get_menu_navigation(); wrap_get_menu_webpages()

Show
548string: SQLyes$zz_sql['pages']

Relations: sql-core.inc.php; wrap_look_for_page()

Show
553string: SQLno$zz_sql['redirects_*']

Relations: sql-core.inc.php; $zz_setting['check_redirects']; wrap_quit()

Show
550string: SQLno$zz_sql['redirects']

Relations: sql-core.inc.php; $zz_setting['check_redirects']; wrap_quit()

Show
607arrayno$zz_sql['translation_matrix_breadcrumbs']

Relations: sql-page.inc.php

Show
606stringno$zz_sql['translation_matrix_pages'] for webpages, main query in zzwrap

Relations: sql-core.inc.php

Show
490arrayno$zz_tab INTERNAL variable, for development onlyShow
491arrayno$zz_tab[0] main tableShow
493arrayno$zz_tab[0][0] main tableShow
708arrayno$zz_tab[0][0]['extra'] Generated by function in $field['post_validation'], 'extra' contains extra variables for a detail table created by this function. These variables can be accessed via 'detail_value'

Relations: $zz['fields'][n]['detail_value']; $zz['fields'][n]['post_validation']

Show
492arrayno$zz_tab[tab] subtable, tab = 1...nShow
498integerno$zz_tab[tab]['max_records'] max. subrecordsShow
499integerno$zz_tab[tab]['min_records'] min. subrecordsShow
496integerno$zz_tab[tab]['no'] Field definition in `$zz['fields'][n]`Show
497integerno$zz_tab[tab]['records'] number of subrecordsShow
738arrayno$zz_tab[tab]['subtable_deleted'] List of deleted records, id_valuesShow
495stringno$zz_tab[tab]['table'] Database table of main or subtableShow
700arrayno$zz_tab[tab]['upload_fields'][0]['tab'] Show
494arrayno$zz_tab[tab][0] subtable, first detail recordShow
687arrayno$zz_tab[tab][rec] subrecord in table where tab is number of table (0 = main record, 1 ...n = subtables) and rec is number of record (tab = 0, rec = 0: main record, tab = 1...n, rec = 0...n = subrecords)Show
691stringno$zz_tab[tab][rec]['action'] action for this recordShow
689arrayno$zz_tab[tab][rec]['fields'] field definitions of this table; $zz['fields'] for main record or $zz['fields'][n]['fields'] for subtablesShow
694arrayno$zz_tab[tab][rec]['id'] variables regarding current record_id

Relations: $zz_var['id']

Show
695stringno$zz_tab[tab][rec]['id']['field_name'] field name of field with PRIMARY KEY

Relations: $zz_var['id']['field_name']

Show
696integerno$zz_tab[tab][rec]['id']['value'] value of PRIMARY KEY

Relations: $zz_var['id']['value']

Show
698arrayno$zz_tab[tab][rec]['images'] uploaded files go hereShow
699arrayno$zz_tab[tab][rec]['old_record'] update, delete together with file upload or renaming a folder: save old record before update or delete in this array

Relations: $ops['record_old']

Show
688arrayno$zz_tab[tab][rec]['POST'] record as postedShow
692arrayno$zz_tab[tab][rec]['record'] record as it's displayed for userShow
693stringno$zz_tab[tab][rec]['table_name'] Alias if there's more than one subtable of the same name; defaults to `table`Show
690booleanno$zz_tab[tab][rec]['validation'] shows if record is validated or notShow
508arrayno$zz_var INTERNAL variable, for development onlyShow
686stringno$zz_var['action'] INTERNAL: what to do (POST): insert | update | delete | reviewShow
660string: HTMLno$zz_var['class_add'] Show
511stringno$zz_var['extraGET'] extra GET valuesShow
931arrayno$zz_var['filters'] filters set, = tested and corrected values of $_GET['filter']

Relations: $zz['filter']

Show
671string: HTMLno$zz_var['formhead'] H2 heading in front of form elementShow
659booleanno$zz_var['horizontal_table_head'] Show
651arrayno$zz_var['id'] Show
653stringno$zz_var['id']['field_name'] Show
777integerno$zz_var['id']['source_value'] add in combination with source_idShow
652integerno$zz_var['id']['value'] Show
739arrayno$zz_var['integrity'] List with keys 'text' and 'fields'; if there are values, it means that the test for referential integrity were not passed and so deletion of a record is impossibleShow
731booleanno$zz_var['record_action'] Show
733arrayno$zz_var['save_old_record'] Show
666arrayno$zz_var['subtables'] Show
657arrayno$zz_var['unique_fields'] Show
732booleanno$zz_var['upload_form'] false: no upload, true: upload possibleShow
656arrayno$zz_var['where_condition'] Show
655booleanno$zz_var['where_with_unique_id'] Show
509arrayno$zz_var['where'] Show
661arrayno$zz_var['write_once'] Show
654arrayno$zz_var['zz_fields'] Show
131folderyesWEBSERVER_DIRECTORY Directory below DOCUMENT_ROOT, so we can put included files below DOCUMENT_ROOT. Not neccessary, the CMS will also work if all files are inside DOCUMENT_ROOT. This is for easier security only.Show
2folderno_backup/ Folder for backup of files which were deleted or overwritten while performing database operations. Files will not be deleted automatically - a cron job might do this.

Relations: $zz_conf['backup']

Show
20foldernodelete/ Deleted files during SQL delete operation. Folder will be created automatically. Old filename and timestamp of operation will be preserved.

Relations: $zz_conf['backup']

Show
21foldernoupdate/ Overwritten files during SQL update operation. Folder will be created automatically. Old filename and timestamp of operation will be preserved.

Relations: $zz_conf['backup']

Show
3folderyes_inc/ Holds all scripts for the CMS which need to be included. Folder might be put below DOCUMENT_ROOT, chmod set to 700.Show
24fileyesconfig.inc.php Main configuration fileShow
169foldernocustom/ Customized dataShow
135foldernozzbrick_forms/ zzform scripts with parameter go here

Relations: zzform; zzbrick

Show
338foldernozzbrick_page/ scripts for page template

Relations: zzbrick

Show
339fileno[page].inc.php page_*()-functions, will return $text for $parameterShow
836foldernozzbrick_request_get/ Show
22folderyeszzbrick_request/ Modules which will be included by the CMS depending on request with zzbrick.

Relations: zzbrick

Show
73fileno[request].inc.php Local CMS data, read out data and output $page-arrayShow
340foldernozzbrick_rights/

Relations: zzbrick

Show
65folderyeszzbrick_tables/ Scripts for table definitions, show, add, edit or delete records

Relations: zzform; zzbrick

Show
66filenologging.php Table definition: logging of database operationsShow
67filenorelations.php Table definition: relations table for relational integrity of databaseShow
29foldernozzform/ Additional scripts that will be called during database operations. Additional translated text for the corresponding website only.

Relations: zzform

Show
57filenodb.inc.php Database connection to be used, if this file does not exist, established connection will be used.Show
56filenotablename-after-update.inc.php Script to be executed after succesful UPDATE query. 'tablename' can be chosen freely, does not have to correspond with real tablename. Other keywords are after/before (means after or before query), update/insert/delete for each SQL operations as required.Show
55filenotext-en.inc.php Additional translated text

Relations: text-en.inc.php

Show
170folderyeszzwrap_sql/

Relations: zzwrap

Show
61fileyesdb.inc.php Establishes database connection, password file may be included for different needs with different users. Normally includes pwd.inc.phpShow
62fileyespwd.inc.php Provides connection information for mySQL database (host, password, user, db_name)Show
71fileyessql-auth.inc.php Local authentication SQL statements

Relations: auth.inc.php

Show
78filenosql-core.inc.php Core SQL queries, DB-Tables 'webpages' and 'redirects'Show
79filenosql-page.inc.php Page SQL queries, e. g. for breadcrumbs

Relations: page.inc.php

Show
58folderyeszzwrap/ Miscellaneous files.

Relations: zzwrap

Show
77fileno_functions.inc.php Common functions which will be included from every pageShow
64fileyeshtml-foot.inc.php Footer of HTML page, as required

Relations: $zz_page['foot']

Show
63fileyeshtml-head.inc.php Head of HTML page, as required

Relations: $zz_page['head']

Show
72filenolocal-*.inc.php Local CMS module modificationsShow
136filenostart.inc.php Functions that will always be included before other files are includedShow
326filenousergroups.inc.php Register groups in $_SESSION

Relations: wrap_register_usergroups()

Show
168folderyeslibrary/ Files that must not be customized, librariesShow
80foldernofpdf/ FPDF scripts for PDF productionShow
33filenomarkdown-extra.php Markdown ExtraShow
27filenomarkdown.php Markdown languageShow
34filenotextile.php Textile languageShow
137folderyeszzbrick/

Relations: zzbrick

Show
139filenocomment.inc.php Comment blocks, won't be displayedShow
140filenoforms.inc.php Includes zzform scripts via brick_format()Show
141filenoipfilter.inc.php shows content only if client is in preset IP rangeShow
142filenoposition.inc.php Sets position of text block in a predefined matrixShow
143filenoredirect.inc.php Redirects to another URLShow
144filenorequest.inc.php Outputs database queries in a formatted way, with URL parametersShow
145filenorights.inc.php Depending on the result of a custom function, access to the following content is allowed or forbidden (e. g. will be shown or not)Show
138fileyeszzbrick.php brick_format() formats textblocksShow
28folderyeszzform/ Scripts for database operation (INSERT, DELETE, UPDATE, SELECT records, im- and export of information, media management)

Relations: zzform

Show
39fileyesaction.inc.php Functions for database operations: INSERT, UPDATE, DELETEShow
36filenocompatibility.inc.php Required for old zzform installations, to ensure backward compatibilityShow
288filenodebug.inc.php Debug functions for zzformShow
42filenoexport.inc.php Export module for zzform, exports database records to other formats, e. g. CSV, PDF, ...Show
43filenofiletypes.txt Upload module: List of known filetypes

Relations: upload.inc.php

Show
44filenoforcefilename-iso-8859-1.inc.php Function forceFilename() to reformat strings to be used as filenames (type identifier, file upload). [iso-8859-1] might be replaced with other encodings as [utf-8], [iso-8859-2] etc.

Relations: $zz_conf['character_set']

Show
46filenoforcefilename-iso-8859-2.inc.php

Relations: forcefilename-iso-8859-1.inc.php

Show
47filenoforcefilename-utf-8.inc.php Show
38fileyesfunctions.inc.php Miscellaneous functions for zzform scriptsShow
48filenogeo.inc.php Geo module: Handling of geographic coordinates (input, output, transformation DMS - DD and vice versa)Show
49filenoimage-imagemagick.inc.php Upload module: Image manipulation with imageMagick

Relations: upload.inc.php

Show
50fileyesintegrity.inc.php Functions for checking for relational integrity of mysql-databases uses table _relations, similar to the PHPMyAdmin table of relations

Relations: $zz_conf['relations_table']

Show
40fileyeslist.inc.php Functions to display list view of several records, as ul, table or for exportShow
52fileyesnumbers.inc.php Number/Date Functions, will be used from CMS output as well.

Relations: zzwrap.php

Show
37fileyesrecord.inc.php Functions to display a record in form view, part of zzformShow
32filenotext-de.inc.php German language fileShow
31fileyestext-en.inc.php English language file. Further language files might be included with translation and corresponding ISO language code ending, e. g. text-de.inc.php for German language.Show
515filenotranslations.inc.php Translations moduleShow
53filenoupload.inc.php Module uploadShow
54fileyesvalidate.inc.php Functions that validate user input against a set of rules, depending on field type

Relations: validation.inc.php

Show
41fileyesvalidation.inc.php General zzform specific validation functionShow
30fileyeszzform.php Main zzform script, includes other scripts if required. Functions zzform() and zzform_all()Show
74folderyeszzwrap/ Core CMS files which build the basic page structure.

Relations: zzwrap

Show
68fileyesauth.inc.php Activation of authentication; Authentication check, will be called every click (in restricted areas only); Login and logout procedures, checks which pages are protected and require loginShow
69fileyescore.inc.php Core CMS functions: looks for page in database; quit cms; redirects; format text and - if requested - replace placeholders with database contentShow
304fileyesdefault-http-error.template.txt HTML template for HTTP error messages, part of page to be included in page template. [%%% brick syntax]Show
305filenodefault-text-de.inc.php Default translations for GermanShow
76fileyesdefaults.inc.php Default variablesShow
132fileyeserrorhandling.inc.php Functions that do the error handlingShow
306fileyeshttp-errors.txt List of HTTP errors (HTTP-Code, HTTP-Header, Description)Show
133filenolanguage.inc.php Language functions, setting and including language and language filesShow
70fileyespage.inc.php Get page details (menus, breadcrumbs, authors).Show
23fileyeszzwrap.php Starts CMS output. Includes CMS modules, authentication, extensions, misc functions; reads page contents from database and performs necessary actions, reads breadcrumbs, authors, last update etc. Glues together head, output and foot.Show
295foldernotemplates/

Relations: zzwrap

Show
296filenopage.template.txt page template in zzbrick-notationShow
1folderyesDOCUMENT_ROOT Show
4folderno_behaviour/ suggested for JavaScript files and other, not a must-haveShow
834foldernozzform/ Show
350filenozzform-foot.js JS for hierarchical selects in SafariShow
14folderyes_layout/ CSS files, CSS graphics and sprites, logos etc.Show
835folderyeszzform/ Show
17filenozzform-colours.css Colour definitions for zzform.css - might be adjusted individually. Should be included in main css for site.Show
16filenozzform-print.css Print stylesheet for zzform database scriptsShow
15fileyeszzform.css CSS file for zzform database editing scripts, touches only HTML inside <div id="zzform"> (#zzform). Should be linked from in html-head.inc.php for all database operations.Show
107folderyes_scripts/ Show
113fileyesmain.php Main CMS script that starts CMS; setting where root and include directories reside must be localized here if non-standard

Relations: zzwrap.php

Show
18fileyes.htaccess Apache .htaccess file. Redirects selected URLs to CMS. This may go as well into the httpd.conf Show
487containernozz_constants Show
488constantnoZZ_UPLOAD_INI_MAXFILESIZE Show
365containernozz_fieldtypes Allowed values for `$zz['field'][n]['type']`

Relations: $zz['fields'][n]['type']

Show
387valuenocalculated

Relations: $zz['fields'][n]['calculation_fields']; $zz['fields'][n]['calculation']

Show
373valuenodate Show
406valuenodatetime MySQL DATETIME field, will be checked if validShow
380valuenodetail_key inserts in field id_field from different detail_record

Relations: $zz['fields'][n]['detail_key_index']

Show
400valuenodisplay field for display only, not editable

Relations: $zz['fields'][n]['display_field']

Show
403valuenoforeign foreign ... (not in use currently) -> add_foreign ??Show
378valuenoforeign_key Field is foreign_key (only possible for subtables), must be set once for each subtable (unless it's a translation subtable)

Relations: subtable

Show
853valuenogeo_point SQL POINT field with latitude and longitude as binary

Relations: $zz['fields'][n]['geo_format']; $zz['fields'][n]['text_field']; $zz['fields'][n]['list_concat_fields']

Show
389valuenohidden hidden field

Relations: $zz['fields'][n]['value']; $zz['fields'][n]['function']

Show
370valueyesid unique ID field of record

Relations: $zz['fields'][n]['show_id']

Show
368valuenoidentifier textual identifier for a record, unique, will be put together from 'fields'

Relations: $zz['fields'][n]['conf_identifier']; $zz['fields'][n]['fields']

Show
393valuenoimage displays an image

Relations: $zz['fields'][n]['path']; $zz['fields'][n]['default_image']

Show
908valuenoip Stores IPv4 and IPv6 addresses in a VARBINARY(16) fieldShow
382valuenoipv4 Show
905valuenolist_function display field; list_function will be called for display with parameters $field, $value and $lineShow
385valuenomail email address, will be checked for validity and hyperlinked in listShow
715valuenomail+name Validates input of e. g. "Master X" <x@example.org> and allows input of multiple e-mail addresses, separated by comma or semicolon

Relations: mail

Show
372valuenomemo Will show textarea (multiple lines)

Relations: $zz['fields'][n]['format']; $zz['fields'][n]['rows']; $zz['fields'][n]['cols']; $zz['fields'][n]['rows_max']; $zz['fields'][n]['list_format']

Show
367valuenonumber Number, will be checked for validity. Basic calculation is allowed, e. g. `4+5` will save `9` into the database (+, -, \, *). Decimal commas are replaced (if unambiguous) with dots

Relations: $zz['fields'][n]['number_type']; $zz['fields'][n]['unit']; $zz['fields'][n]['factor']; $zz['fields'][n]['auto_value']

Show
381valuenooption field to choose an option, won't be saved to database

Relations: $zz['fields'][n]['type_detail']; $zz['fields'][n]['options']

Show
390valuenopassword password input, will be saved as hash

Relations: $zz_conf['hash_password']

Show
391valuenopassword_change change a password (enter old, enter new twice, md5 encoded)

Relations: password; $zz['fields'][n]['sql_password_check']

Show
377valuenopredefined INTERNAL USE only

Relations: $zz['fields'][n]['type_detail']

Show
369valuenoselect Lets user select a value from different data sources: foreign database table, ENUM or SET values.

Relations: $zz['fields'][n]['sql']; $zz['fields'][n]['display_field']; $zz['fields'][n]['show_values_as_list']; $zz['fields'][n]['set']; $zz['fields'][n]['enum']; $zz['fields'][n]['sql_where']; $zz['fields'][n]['sql_without_id']; $zz['fields'][n]['sql_ignore']; $zz['fields'][n]['show_hierarchy_subtree']; $zz['fields'][n]['show_hierarchy']; $zz['fields'][n]['key_field_name']; $zz['fields'][n]['show_hierarchy_use_top_value_instead_NULL']; $zz['fields'][n]['add_details']; $zz['fields'][n]['path_sql']; $zz['fields'][n]['hide_novalue']; $zz['fields'][n]['size_select_too_long']

Show
376valuenosubtable subrecord with foreign key which can be edited together with main record. when linking tables (subtables, details), special care has to be taken that the key field names are alike

Relations: $zz['fields'][n]['table_name']; $zz['fields'][n]['form_display']; $zz['fields'][n]['class_add']; $zz['fields'][n]['records_depend_on_upload']; foreign_key; $zz['fields'][n]['foreign_key_field_name']

Show
366valuenotext standard input, one line text field, maxlength from VARCHAR-value if applicable, else size=32

Relations: $zz['fields'][n]['format']; $zz['fields'][n]['subselect']['list_format']; $zz['fields'][n]['size']

Show
374valuenotime time, will be checked for validityShow
371valuenotimestamp MySQL timestamp, supports both `20040412120436` and `2004-04-12 12:04:36` formats. - value may be set via `'value'`, if not, current time will be used

Relations: $zz['fields'][n]['value']

Show
379valuenotranslation_key Show
394valuenounix_timestamp Unix timestamp, will be converted to readable date and back

Relations: $zz['fields'][n]['value']

Show
375valuenoupload_image File upload. Each file that shall be uploaded has to get a distinctive field_name in the 'image'-section!

Relations: $zz['fields'][n]['path']; $zz['fields'][n]['dont_show_image']; $zz['fields'][n]['image']

Show
384valuenourl URL, will be checked for validity (absolute URLs only, `http://` as well as beginning with `/`). If something starting with `www.` is entered, `http://` will be prepended. Displayed as hyperlink in list.Show
383valuenowrite_once

Relations: $zz['fields'][n]['type_detail']

Show
480containernozz_states Show
481valuenoACTION Modification of a record (`INSERT`, `UPDATE`, `DELETE`)Show
482valuenoFORM HTML form output of a single recordShow
486valuenoGLOBAL Globally usedShow
483valuenoLIST HTML list output (`table`, `ul`) of all recordsShow
484valuenoOUTPUT HTML page outputShow
329projectnozzbrick Show
349functionyesbrick_format()

Relations: zzbrick.php

Show
485functionnobrick_forms() includes zzform formsShow
635functionnobrick_head_format() Formats values in $page that should go into the HTML head sectionShow
328projectnozzform Functions namespace: zz_* - all zzform functions Show
584projectyeszzform core Show
124functionnozzform_all()

Relations: zzform.php

Show
125functionnozzform_multi()

Relations: zzform.php

Show
123functionyeszzform() Main function for form scripts

Relations: zzform.php

Show
583projectnozzform upload module Function namespaces: zz_upload_* - Upload module zz_image_* - Upload module: Image manipulation via function zz_imagick_* - Upload module: ImageMagick functions zz_gd_* - Upload module: GD functions Show
587functionnozz_upload_action() writes/deletes files after successful sql insert/update

Relations: upload.inc.php

Show
588functionnozz_upload_sqlval()

Relations: upload.inc.php

Show
586functionnozz_upload_check() validates file input (upload errors, requirements)

Relations: upload.inc.php

Show
592functionnozz_upload_checkdir() creates new directory and upper dirs as well

Relations: upload.inc.php

Show
589functionnozz_upload_cleanup() cleanup after files have been moved or deleted

Relations: upload.inc.php

Show
593functionnozz_upload_get_typelist() reads filetypes from txt-file

Relations: upload.inc.php

Show
574functionnozz_upload_get() writes arrays upload_fields, images, i. e. checks which fields offer uploads, collects and writes information about files

Relations: upload.inc.php

Show
576functionnozz_upload_check_files() checks files, puts information to 'image' array

Relations: upload.inc.php

Show
581functionnozz_upload_filecheck() gets filetype from list

Relations: upload.inc.php

Show
577functionnozz_upload_fileinfo() read information (filesize, exif etc.)

Relations: upload.inc.php

Show
579functionnozz_upload_make_name() converts filename to better filename

Relations: upload.inc.php

Show
578functionnozz_upload_make_title() converts filename to title

Relations: upload.inc.php

Show
580functionnozz_upload_mimecheck() checks whether supposed mimetype was already checked for

Relations: upload.inc.php

Show
575functionnozz_upload_get_fields() checks which fields allow upload

Relations: upload.inc.php

Show
590functionnozz_upload_path() creates unique name for file (?)

Relations: upload.inc.php

Show
582functionnozz_upload_prepare() prepares files for upload (resize, rotate etc.)

Relations: upload.inc.php

Show
585functionnozz_upload_extension() gets file extension

Relations: upload.inc.php

Show
591functionnozz_upload_reformat_field() removes "" from validated field, if neccessary

Relations: upload.inc.php

Show
330projectnozzwrap Show
309functionnocms_login()

Relations: auth.inc.php

Show
310functionnocms_login_ldap()

Relations: auth.inc.php

Show
311functionnocms_login_redirect()

Relations: auth.inc.php

Show
312functionnocms_logout()

Relations: auth.inc.php

Show
324functionnowrap_access_rights() customizedShow
316functionyeswrap_check_canonical() Make canonical URLs (trailing slash, .html etc.)

Relations: core.inc.php

Show
317functionyeswrap_check_https() checks if a request must definitely be either https or http and redirects if request uses other scheme

Relations: core.inc.php

Show
315functionnowrap_content_replace() customized, allows replacement of parts of the final HTML, e. g. with regular expressions (link targets ...)Show
167functionyeswrap_db_fetch() Fetches records from database and returns array

Relations: core.inc.php; page.inc.php

Show
307functionnowrap_get_authors() gets authors from database

Relations: page.inc.php

Show
148functionnowrap_get_breadcrumbs() gets breadcrumbs from database

Relations: page.inc.php

Show
152functionnowrap_get_breadcrumbs_recursive() recursively gets breadcrumbs from database

Relations: page.inc.php

Show
150functionnowrap_get_media() customized function to get media content (documents as well as images), linked to page or other items. parameters: 1. ID or Array of IDs (required) 2. type (e. g. table name) (optional, defaults to page) 3. base_url (optional, defaults to false)Show
146functionnowrap_get_menu() gets menu from database

Relations: page.inc.php

Show
154functionnowrap_get_menu_navigation() gets menu from separate navigation table

Relations: page.inc.php

Show
156functionnowrap_get_menu_webpages() gets menu from webpages table

Relations: page.inc.php

Show
313functionnowrap_menu_session() customizedShow
157functionnowrap_translate_menu() customizedShow
158functionnowrap_menu_*() customized: submenus with placeholdersShow
149functionnowrap_htmlout_breadcrumbs() outputs breadcrumbs in HTML

Relations: page.inc.php; wrap_get_breadcrumbs()

Show
151functionnowrap_htmlout_media() Show
147functionnowrap_htmlout_menu() outputs menu in HTML

Relations: wrap_get_menu()

Show
308functionnowrap_htmlout_page() outputs webpage from %%%-template in HTML

Relations: page.inc.php

Show
319functionyeswrap_look_for_page() Tests whether URL is in database (or a part of it ending with *, or a part of it with placeholders)

Relations: core.inc.php

Show
323functionnowrap_magic_quotes_strip() customizedShow
314functionnowrap_matrix() customizedShow
322functionnowrap_page_*() customizedShow
604functionnowrap_prepare_url() user defined, do some URL manipulation before handing over the URL to zzwrapShow
321functionyeswrap_quit() Stops execution of script, check for redirects to other pages, includes http error pages

Relations: core.inc.php

Show
320functionyeswrap_read_url() builds URL from REQUEST

Relations: core.inc.php

Show
325functionnowrap_register_usergroups() customized, register (additional) groups in $_SESSION

Relations: usergroups.inc.php

Show
602functionnowrap_rights('preview') Page preview allowed? (unpublished content) - can be set in config (e. g. if SERVER_NAME == testserver) but will be checked later on if secret_key is set and preview so far is falseShow
318functionnowrap_test_secret_key() Test, whether URL contains a correct secret key to allow page previews

Relations: core.inc.php

Show
134functionyeswrap_text() Translates text

Relations: language.inc.php

Show

916 records total