- Coding standards
- Security in ResourceSpace
- Developer reference
- Database
-
- Table: activity_log
- Table: annotation
- Table: annotation_node
- Table: collection
- Table: collection_keyword
- Table: collection_log
- Table: collection_resource
- Table: collection_savedsearch
- Table: comment
- Table: daily_stat
- Table: dash_tile
- Table: dynamic_tree_node
- Table: external_access_keys
- Table: filter
- Table: filter_rule
- Table: filter_rule_node
- Table: ip_lockout
- Table: job_queue
- Table: keyword
- Table: keyword_related
- Table: mail_log
- Table: message
- Table: node
- Table: node_keyword
- Table: plugins
- Table: preview_size
- Table: report
- Table: report_periodic_emails
- Table: report_periodic_emails_unsubscribe
- Table: request
- Table: research_request
- Table: resource
- Table: resource_alt_files
- Table: resource_custom_access
- Table: resource_data
- Table: resource_dimensions
- Table: resource_keyword
- Table: resource_log
- Table: resource_node
- Table: resource_related
- Table: resource_type
- Table: resource_type_field
- Table: resource_type_field_resource_type
- Table: search_log
- Table: site_text
- Table: slideshow
- Table: sysvars
- Table: tab
- Table: user
- Table: user_collection
- Table: user_dash_tile
- Table: user_message
- Table: user_preferences
- Table: user_rating
- Table: user_report
- Table: user_userlist
- Table: usergroup
- Table: usergroup_collection
- Table: usergroup_dash_tile
- Action functions
- Admin functions
- Ajax functions
- Annotation functions
- API functions
- Collections functions
-
- get_user_collections()
- get_collection()
- get_collection_resources()
- get_collection_resources_with_data()
- add_resource_to_collection()
- remove_resource_from_collection()
- collection_writeable()
- collection_readable()
- set_user_collection()
- create_collection()
- delete_collection()
- refresh_collection_frame()
- search_public_collections()
- do_collections_search()
- add_collection()
- remove_collection()
- index_collection()
- save_collection()
- get_max_theme_levels()
- get_theme_headers()
- themes_comparator()
- collections_comparator()
- collections_comparator_desc()
- get_themes()
- get_smart_theme_headers()
- get_smart_themes_nodes()
- email_collection()
- generate_collection_access_key()
- get_saved_searches()
- add_saved_search()
- remove_saved_search()
- add_smart_collection()
- get_search_title()
- add_saved_search_items()
- allow_multi_edit()
- get_theme_image()
- swap_collection_order()
- update_collection_order()
- get_collection_resource_comment()
- save_collection_resource_comment()
- relate_to_collection()
- get_mycollection_name()
- get_collection_comments()
- send_collection_feedback()
- copy_collection()
- collection_is_research_request()
- add_to_collection_link()
- change_collection_link()
- get_collection_external_access()
- delete_collection_access_key()
- collection_log()
- get_collection_log()
- get_collection_videocount()
- collection_max_access()
- collection_min_access()
- collection_set_public()
- collection_set_private()
- collection_set_themes()
- remove_all_resources_from_collection()
- get_home_page_promoted_collections()
- is_collection_approved()
- edit_collection_external_access()
- show_hide_collection()
- get_session_collections()
- update_collection_user()
- compile_collection_actions()
- makeFilenameUnique()
- new_featured_collection_form()
- get_last_resource_edit()
- GetThemesFromRequest()
- collection_download_get_archive_file()
- collection_download_use_original_filenames_when_downloading()
- collection_download_process_text_file()
- collection_download_log_resource_ready()
- update_zip_progress_file()
- collection_download_process_data_only_types()
- collection_download_process_summary_notes()
- collection_download_process_csv_metadata_file()
- collection_download_process_command_to_file()
- collection_download_process_collection_download_name()
- collection_download_process_archive_command()
- collection_download_clean_temp_files()
- collection_cleanup_inaccessible_resources()
- relate_all_collection()
- update_collection_type()
- get_user_selection_collection()
- delete_old_collections()
- save_themename()
- get_featured_collection_resources()
- get_featured_collection_categ_sub_fcs()
- generate_featured_collection_image_urls()
- update_collection_parent()
- get_featured_collections()
- featured_collections_permissions_filter_sql()
- featured_collection_check_access_control()
- order_featured_collections_by_hasresources()
- get_featured_collection_categories()
- is_featured_collection_category()
- is_featured_collection_category_by_children()
- validate_collection_parent()
- get_featured_collection_category_branch_by_leaf()
- process_posted_featured_collection_categories()
- get_featured_collection_ref_by_name()
- allow_collection_share()
- allow_featured_collection_share()
- filter_featured_collections_by_root()
- get_featured_collections_by_resources()
- can_delete_featured_collection()
- order_featured_collections()
- strip_prefix_chars()
- allow_upload_to_collection()
- get_all_featured_collections()
- compute_featured_collections_acess_control()
- compute_featured_collections_access_control()
- cleanup_anonymous_collections()
- can_share_upload_link()
- can_edit_upload_share()
- create_upload_link()
- generate_share_key()
- upload_share_active()
- upload_share_setup()
- external_upload_notify()
- purge_expired_shares()
- can_delete_collection()
- move_featured_collection_branch_path_root()
- send_collection_to_admin()
- collection_add_resources()
- collection_remove_resources()
- get_default_user_collection()
- can_reorder_featured_collections()
- reorder_collections()
- update_smart_collection()
- check_upload_terms()
- unrelate_all_collection()
- Comment functions
- Config functions
-
- validate_field()
- render_select_option()
- render_bool_option()
- render_text_option()
- set_config_option()
- get_config_option()
- get_config_option_users()
- get_config_options()
- process_config_options()
- config_clean()
- config_html()
- config_add_html()
- config_text_input()
- config_add_text_input()
- config_file_input()
- config_colouroverride_input()
- config_add_file_input()
- config_single_select()
- config_add_single_select()
- config_boolean_select()
- config_add_boolean_select()
- config_checkbox_select()
- config_add_checkbox_select()
- config_add_colouroverride_input()
- config_add_single_ftype_select()
- config_single_ftype_select()
- config_generate_AutoSaveConfigOption_function()
- config_process_file_input()
- config_generate_html()
- config_merge_non_image_types()
- get_header_image()
- config_register_core_fieldvars()
- config_add_hidden_input()
- config_register_core_field_refs()
- checkValidExtension()
- override_rs_variables_by_eval()
- remove_config_option()
- update_resource_type_field_resource_types()
- get_resource_type_field_resource_types()
- create_resource_type()
- save_resource_type()
- rs_get_resource_type()
- save_resource_type_field()
- get_resource_type_field_columns()
- delete_config_option()
- set_maxNumberOfFiles()
- CSV export functions
- Dash functions
-
- create_dash_tile()
- update_dash_tile()
- delete_dash_tile()
- revoke_all_users_flag_cascade_delete()
- append_default_position()
- reorder_default_dash()
- update_default_dash_tile_order()
- get_tile()
- all_user_dash_tile_active()
- existing_tile()
- cleanup_dash_tiles()
- checkTileConfig()
- checkConfigCustomHomePanels()
- get_alluser_available_tiles()
- get_default_dash()
- deleteDefaultDashTile()
- updateDashTileOrder()
- get_managed_dash()
- add_usergroup_dash_tile()
- append_usergroup_position()
- reorder_usergroup_dash()
- update_usergroup_dash_tile_order()
- build_usergroup_dash()
- get_tile_user_groups()
- get_usergroup_available_tiles()
- get_usergroup_tile()
- add_user_dash_tile()
- get_user_tile()
- create_new_user_dash()
- update_user_dash_tile_order()
- delete_user_dash_tile()
- empty_user_dash()
- reorder_user_dash()
- append_user_position()
- get_user_available_tiles()
- get_user_dash()
- deleteDashTile()
- render_delete_dialog_JS()
- parse_dashtile_link()
- build_dash_tile_list()
- allow_tile_colour_change()
- render_dash_tile_colour_chooser()
- update_tile_preview_colour()
- get_tile_custom_style()
- delete_usergroup_dash_tile()
- allowPromotedResources()
- render_upgrade_available_tile()
- generate_dash_tile_toolbar()
- existing_dash_tile()
- dash_tile_featured_collection_get_resources()
- validate_tile_style()
- validate_build_url()
- tltype_srch_generate_js_for_background_and_count()
- get_dash_search_data()
- can_edit_tile()
- Debug functions
- Encryption functions
- Facial recognition functions
- File functions
- General functions
-
- getval()
- getuid()
- escape_check()
- unescape()
- nicedate()
- redirect()
- trim_spaces()
- trim_array()
- tidylist()
- tidy_trim()
- average_length()
- get_stats_activity_types()
- get_stats_years()
- newlines()
- get_all_site_text()
- get_site_text()
- check_site_text_custom()
- save_site_text()
- string_similar()
- formatfilesize()
- filesize2bytes()
- get_mime_type()
- send_mail()
- send_mail_phpmailer()
- log_mail()
- rs_quoted_printable_encode()
- rs_quoted_printable_encode_subject()
- pager()
- send_statistics()
- remove_extension()
- verify_extension()
- get_allowed_extensions()
- get_allowed_extensions_by_type()
- getAbsolutePath()
- getFolderContents()
- mb_basename()
- strip_extension()
- is_process_lock()
- set_process_lock()
- clear_process_lock()
- filesize_unlimited()
- strip_leading_comma()
- convert()
- get_temp_dir()
- convert_path_to_url()
- escape_command_args()
- run_command()
- run_external()
- error_alert()
- xml_entities()
- get_xml_entity_at_index_0()
- sanitize_char()
- format_display_field()
- format_string_more_link()
- sortmulti()
- draw_performance_footer()
- sql_affected_rows()
- get_imagemagick_path()
- get_utility_path()
- get_executable_path()
- truncate_cache_arrays()
- txt2html()
- is_html()
- rs_setcookie()
- get_editable_states()
- validate_html()
- generateURL()
- tail()
- move_array_element()
- emptyiszero()
- array_column()
- get_slideshow_files_data()
- form_value_display()
- job_queue_add()
- job_queue_update()
- job_queue_delete()
- job_queue_get_jobs()
- job_queue_run_job()
- user_set_usergroup()
- generateSecureKey()
- IsModal()
- generateCSRFToken()
- isValidCSRFToken()
- generateFormToken()
- generateAjaxToken()
- enforcePostRequest()
- findDuplicates()
- is_resourcespace_upgrade_available()
- get_recent_users()
- check_script_last_ran()
- count_errors()
- search_array_by_keyvalue()
- bypass_permissions()
- set_sysvar()
- get_sysvar()
- hook()
- strip_tags_and_attributes()
- show_pagetime()
- get_debug_log_dir()
- debug()
- rcRmdir()
- daily_stat()
- pagename()
- text()
- get_section_list()
- resolve_user_agent()
- get_ip()
- ResolveKB()
- trim_filename()
- job_queue_get_job()
- job_queue_purge()
- get_inner_html_from_tag()
- array_flip_by_value_key()
- reshape_array_by_value_keys()
- permission_j()
- permission_negative_j()
- cleanup_files()
- is_int_loose()
- ip_matches()
- set_unique_filename()
- build_permission()
- validate_remote_code()
- get_system_status()
- allowed_type_mime()
- try_unlink()
- check_filestore_browseability()
- check_imagemagick_cli_version_found()
- check_numeric_cli_version_found()
- check_utility_cli_version_found_by_name()
- command_line_only()
- prefix_value()
- generate_csrf_js_object()
- strip_paragraph_tags()
- set_order_by_to_zero()
- try_getimagesize()
- execution_lockout_remove_resource_type_field_props()
- is_positive_int_loose()
- compute_dpi()
- compute_megapixel()
- is_jpeg_extension()
- get_total_approved_users()
- Language functions
-
- str_replace_formatted_placeholder()
- lang_or_i18n_get_translated()
- i18n_get_translated()
- i18n_get_collection_name()
- i18n_get_indexable()
- i18n_get_translations()
- ucfirstletter()
- ucfirstletter_callback()
- normalize_keyword()
- remove_accents()
- seems_utf8()
- http_get_preferred_language()
- setLanguage()
- lang_load_site_text()
- i18n_get_all_translations()
- Log functions
- Login functions
- Message functions
-
- message_user_remove()
- message_get()
- message_add()
- message_remove()
- message_seen()
- message_unseen()
- message_seen_all()
- message_purge()
- message_send_unread_emails()
- message_remove_related()
- system_notification()
- message_get_conversation()
- send_user_message()
- message_deleteselusrmsg()
- message_selectedseen()
- message_selectedunseen()
- message_getrefs()
- send_user_notification()
- get_user_message()
- Migration functions
- Node functions
-
- set_node()
- delete_node()
- delete_nodes_for_resource_type_field()
- get_node()
- is_parent_node()
- get_tree_node_level()
- get_root_node_by_leaf()
- reorder_node()
- reorder_nodes()
- render_new_node_record()
- get_node_order_by()
- draw_tree_node_table()
- node_field_options_override()
- add_node_keyword()
- remove_node_keyword()
- remove_all_node_keyword_mappings()
- check_node_indexed()
- add_node_keyword_mappings()
- remove_node_keyword_mappings()
- add_resource_nodes()
- add_resource_nodes_multi()
- get_resource_nodes()
- delete_resource_nodes()
- delete_resource_nodes_multi()
- delete_all_resource_nodes()
- copy_resource_nodes()
- get_nodes_from_keywords()
- update_resource_node_hitcount()
- copy_resource_type_field_nodes()
- get_parent_nodes()
- get_nodes_count()
- extract_node_options()
- get_node_by_name()
- get_node_id()
- node_name_comparator()
- node_orderby_comparator()
- get_node_elements()
- get_node_tree()
- get_tree_strings()
- compute_node_branch_path()
- compute_nodes_by_parent()
- get_resource_nodes_batch()
- get_nodes_by_refs()
- process_node_search_syntax_to_names()
- delete_unused_non_fixed_list_nodes()
- remove_invalid_node_keyword_mappings()
- get_nodes_use_count()
- check_delete_nodes()
- remove_field_keywords()
- get_cattree_nodes_ordered()
- get_cattree_node_strings()
- cattree_node_creator()
- cattree_node_flatten()
- get_resources_nodes_by_rtf()
- get_node_strings()
- order_tree_nodes()
- add_sql_node_language()
- migrate_fixed_to_text()
- cleanup_invalid_nodes()
- get_all_parents_by_leaf()
- get_all_ancestors_for_node()
- delete_node_resources()
- remove_invalid_resource_node_mappings()
- get_nodes()
- PDF functions
- Plugin functions
-
- activate_plugin()
- deactivate_plugin()
- purge_plugin_config()
- get_plugin_yaml()
- config_json_encode()
- config_encode()
- get_plugin_config()
- set_plugin_config()
- is_plugin_activated()
- handle_rsc_upload()
- display_rsc_upload()
- config_gen_setup_post()
- config_gen_setup_html()
- config_section_header()
- config_add_section_header()
- config_add_text_list_input()
- config_multi_select()
- config_add_multi_select()
- config_single_user_select()
- config_add_single_user_select()
- config_multi_user_select()
- config_add_multi_user_select()
- config_single_group_select()
- config_add_single_group_select()
- config_multi_group_select()
- config_add_multi_group_select()
- config_multi_ftype_select()
- config_add_multi_ftype_select()
- config_single_rtype_select()
- config_add_single_rtype_select()
- config_multi_rtype_select()
- config_add_multi_rtype_select()
- config_db_single_select()
- config_add_db_single_select()
- config_db_multi_select()
- config_add_db_multi_select()
- config_add_hidden()
- config_text_field()
- config_userselect_field()
- config_field_select()
- config_boolean_field()
- config_custom_select_multi()
- config_custom_select()
- get_plugin_css()
- plugin_activate_for_setup()
- include_plugin_config()
- register_plugin_language()
- get_plugin_path()
- register_plugin()
- config_multi_archive_select()
- config_add_multi_archive_select()
- plugin_encode_complex_configs()
- plugin_decode_complex_configs()
- get_active_plugins()
- Render functions
-
- render_search_field()
- render_sort_order()
- render_dropdown_option()
- render_actions()
- render_user_group_multi_select()
- render_user_group_select()
- render_user_group_checkbox_select()
- render_text_question()
- render_split_text_question()
- render_dropdown_question()
- render_access_key_tr()
- is_field_displayed()
- display_multilingual_text_field()
- display_field()
- render_date_range_field()
- renderBreadcrumbs()
- renderCallToActionTile()
- renderSocialMediaShareLinksForUrl()
- renderLockButton()
- render_resource_image()
- calculate_image_display()
- render_share_options()
- render_field_selector_question()
- render_filter_bar_button()
- render_upload_here_button()
- render_trash()
- render_browse_bar()
- generate_browse_bar_item()
- render_help_link()
- render_question_div()
- render_custom_fields()
- render_selected_resources_counter()
- render_edit_selected_btn()
- render_clear_selected_btn()
- render_selected_collection_actions()
- render_user_collection_select()
- render_csrf_data_attributes()
- check_display_condition()
- has_browsebar()
- display_upload_options()
- display_field_data()
- render_resource_lock_link()
- EditNav()
- SaveAndClearButtons()
- UpdateResultOrder()
- display_size_option()
- show_upgrade_in_progress()
- render_audio_download_link()
- render_table()
- render_array_in_table_cells()
- render_new_featured_collection_cta()
- render_featured_collection_category_selector()
- render_featured_collections()
- render_featured_collection()
- DrawOption()
- render_featured_collections_category_permissions()
- render_top_page_error_style()
- render_workflow_state_question()
- render_share_password_question()
- pclick()
- pblur()
- render_question_form_helper()
- render_hidden_input()
- radio_get_layout()
- render_radio_buttons_question()
- render_message()
- render_antispam_question()
- render_fixed_text_question()
- render_fa_icon_selector()
- filterIcons()
- escape_quoted_data()
- display_related_resources()
- admin_resource_type_field_constraint()
- admin_resource_type_field_option()
- showHideResTypeSelector()
- render_resource_type_selector_question()
- add_download_column()
- escape()
- render_resource_view_image()
- is_another_tool_option_enabled()
- toggleMode()
- toggleAnnotationsOption()
- toggleImagePreviewZoomOption()
- Reporting functions
-
- render_bar_graph()
- render_pie_graph()
- report_process_query_placeholders()
- report_has_thumbnail()
- report_has_date_by_id()
- report_has_date()
- get_translated_activity_type()
- unsubscribe_user_from_periodic_report()
- delete_periodic_report()
- send_periodic_report_emails()
- create_periodic_email()
- do_report()
- get_reports()
- get_report_name()
- Request functions
-
- managed_collection_request()
- get_request()
- get_user_requests()
- save_request()
- get_requests()
- email_collection_request()
- email_resource_request()
- get_valid_custom_fields()
- gen_custom_fields_html_props()
- process_custom_fields_submission()
- can_use_owner_field()
- get_notification_users_by_owner_field()
- resource_request_visible()
- Research functions
- Slideshow functions
- Theme permission functions
- User functions
-
- validate_user()
- setup_user()
- get_users()
- get_users_with_permission()
- get_user_by_email()
- get_user_by_username()
- get_usergroups()
- get_usergroup()
- get_user()
- save_user()
- email_user_welcome()
- email_reset_link()
- auto_create_user_account()
- email_user_request()
- new_user()
- get_active_users()
- change_password()
- make_password()
- bulk_mail()
- get_user_log()
- resolve_userlist_groups()
- resolve_userlist_groups_smart()
- remove_groups_smart_from_userlist()
- check_password()
- resolve_users()
- check_access_key()
- check_access_key_collection()
- make_username()
- get_registration_selectable_usergroups()
- open_access_to_user()
- open_access_to_group()
- resolve_open_access()
- remove_access_to_user()
- user_email_exists()
- resolve_user_emails()
- create_password_reset_key()
- get_rs_session_id()
- get_notification_users()
- verify_antispam()
- check_share_password()
- get_users_from_permission_lookup()
- offset_user_local_timezone()
- checkPermission_anonymoususer()
- checkPermission_dashadmin()
- checkPermission_dashuser()
- checkPermission_dashmanage()
- checkPermission_dashcreate()
- checkperm()
- checkperm_user_edit()
- internal_share_access()
- save_usergroup()
- set_user_profile()
- delete_profile_image()
- get_profile_image()
- get_profile_text()
- get_languages_notify_users()
- get_upload_url()
- emulate_user()
- is_authenticated()
- get_approver_usergroups()
- get_usergroup_approvers()
- copy_usergroup_permissions()
- mark_email_as_invalid()
- check_email_invalid()
- get_users_by_permission()
- is_anonymous_user()
- get_users_by_preference()
- generate_temp_download_key()
- validate_temp_download_key()
- setup_command_line_user()
- user_limit_reached()
- Video functions
- Database functions
-
- sql_null_or_val()
- db_end_transaction()
- db_rollback_transaction()
- sql_query()
- sql_value()
- sql_array()
- sql_insert_id()
- get_query_cache_location()
- clear_query_cache()
- check_db_structs()
- CheckDBStruct()
- sql_limit()
- sql_is_null_or_eq_val()
- sql_query_prepared()
- sql_truncate_text_val()
- ps_query()
- fetch_assoc_stmt()
- copy_value()
- ps_value()
- ps_array()
- ps_param_insert()
- ps_param_fill()
- columns_in()
- sql_limit_with_total_count()
- sql_reorder_records()
- ps_fill_param_array()
- errorhandler()
- db_use_multiple_connection_modes()
- db_set_connection_mode()
- db_get_connection_mode()
- db_clear_connection_mode()
- sql_connect()
- db_begin_transaction()
- Metadata functions
- Resource functions
-
- get_resource_path()
- get_resource_data()
- put_resource_data()
- create_resource()
- update_hitcount()
- save_resource_data()
- set_resource_defaults()
- save_resource_data_multi()
- append_field_value()
- remove_keyword_mappings()
- remove_keyword_from_resource()
- add_keyword_mappings()
- add_keyword_to_resource()
- remove_all_keyword_mappings_for_field()
- update_field()
- ()
- email_resource()
- delete_resource()
- get_resource_type_field()
- get_resource_field_data()
- get_resource_field_data_batch()
- get_resource_types()
- get_resource_top_keywords()
- clear_resource_data()
- get_max_resource_ref()
- get_resource_ref_range()
- copy_resource()
- resource_log()
- get_resource_log()
- get_resource_type_name()
- get_resource_custom_access()
- get_resource_custom_access_users_usergroups()
- save_resource_custom_access()
- get_custom_access()
- get_themes_by_resource()
- update_resource_type()
- relate_to_array()
- get_exiftool_fields()
- createTempFile()
- stripMetadata()
- write_metadata()
- delete_exif_tmpfile()
- update_resource()
- import_resource()
- get_alternative_files()
- add_alternative_file()
- delete_alternative_file()
- get_alternative_file()
- save_alternative_file()
- user_rating_save()
- process_notify_user_contributed_submitted()
- notify_user_contributed_submitted()
- notify_user_contributed_unsubmitted()
- get_field()
- get_field_options_with_stats()
- save_field_options()
- get_resources_matching_keyword()
- get_keyword_from_option()
- add_field_option()
- get_resource_access()
- get_custom_access_user()
- edit_resource_external_access()
- resource_download_allowed()
- get_edit_access()
- filter_match()
- log_diff()
- get_metadata_templates()
- get_resource_collections()
- download_summary()
- check_use_watermark()
- autocomplete_blank_fields()
- get_resource_files()
- reindex_resource()
- get_page_count()
- update_disk_usage()
- update_disk_usage_cron()
- get_total_disk_usage()
- overquota()
- notify_user_resources_approved()
- get_original_imagesize()
- generate_resource_access_key()
- get_resource_external_access()
- delete_resource_access_key()
- resource_type_config_override()
- update_archive_status()
- delete_resources_in_collection()
- update_related_resource()
- can_share_resource()
- delete_resource_custom_access_usergroups()
- truncate_join_field_value()
- get_video_snapshots()
- resource_file_readonly()
- delete_resource_custom_user_access()
- get_video_info()
- copyAllDataToResource()
- copyResourceDataValues()
- copy_locked_data()
- copy_locked_fields()
- copyRelatedResources()
- process_edit_form()
- update_timestamp()
- get_extension()
- get_last_resource_edit_array()
- get_default_archive_state()
- save_original_file_as_alternative()
- replace_resource_file()
- get_resource_all_image_sizes()
- sanitize_date_field_input()
- download_link_generate_key()
- download_link_check_key()
- filter_check()
- update_resource_keyword_hitcount()
- copy_hitcount_to_live()
- get_image_sizes()
- get_preview_quality()
- get_related_resources()
- get_field_options()
- get_data_by_field()
- get_resources_by_resource_data_value()
- get_all_image_sizes()
- image_size_restricted_access()
- get_fields()
- get_hidden_indexed_fields()
- get_category_tree_fields()
- get_OR_fields()
- get_nopreview_icon()
- get_indexed_resource_type_fields()
- get_resource_type_fields()
- notify_resource_change()
- add_verbatim_keywords()
- metadata_field_edit_access()
- get_download_filename()
- get_resource_type_from_extension()
- canSeePreviewTools()
- checkPreviewToolsOptionUniqueness()
- alt_is_ffmpeg_alternative()
- create_resource_type_field()
- metadata_field_view_access()
- get_workflow_states()
- delete_resource_type_field()
- tab_names()
- get_resource_table_joins()
- update_resource_lock()
- get_resource_lock_message()
- get_resource_data_batch()
- get_external_shares()
- get_video_duration()
- relate_all_resources()
- allow_in_browser()
- update_node_hitcount_from_search()
- update_resource_field_column()
- get_all_resource_types()
- data_joins_field_value_translate_and_csv()
- process_resource_data_joins_values()
- canSeeAnnotationsFields()
- apply_resource_default()
- skip_scr_size_preview()
- related_resource_pull()
- get_resource_preview()
- Search functions
-
- copy_filter()
- save_related_keywords()
- get_simple_search_fields()
- get_fields_for_search_display()
- get_filters()
- get_filter()
- get_filter_rules()
- get_filter_rule()
- save_filter()
- save_filter_rule()
- delete_filter()
- delete_filter_rule()
- get_grouped_related_keywords()
- update_search_from_request()
- get_search_default_restypes()
- get_selectedtypes()
- render_advanced_search_buttons()
- get_collections_resource_count()
- get_search_params()
- is_not_wildcard_only()
- search_title_node_processing()
- setup_search_chunks()
- log_keyword_usage()
- set_search_order_by()
- get_upload_here_selected_nodes()
- suggest_refinement()
- get_advanced_search_fields()
- get_advanced_search_collection_fields()
- search_form_to_search_query()
- refine_searchstring()
- compile_search_actions()
- search_filter()
- search_special()
- resolve_nodes_from_string()
- rebuild_specific_field_search_from_node()
- search_get_previews()
- resolve_soundex()
- get_default_search_states()
- get_filter_sql()
- split_keywords()
- cleanse_string()
- resolve_keyword()
- add_partial_index()
- highlightkeywords()
- str_highlight()
- sorthighlights()
- get_suggested_keywords()
- get_related_keywords()
- Map functions
- Job functions
- Tab functions
render_date_range_field()
Description
Errors on saving$field_save_error = false;
if (
isset($show_error)
&& isset($save_errors)
&& array_key_exists($field['ref'], $save_errors)
) {
$field_save_error = true;
}
if ($multiple && !hook("replace_edit_all_checkbox","",array($field["ref"])))
{
# Multiple items, a toggle checkbox appears which activates the question
?>
<div class="Question edit_multi_checkbox">
<input name="editthis_<?php echo escape($name) ?>"
id="editthis_<?php echo $n?>"
type="checkbox"
value="yes"
<?php if($field_save_error){?> checked<?php } ?>
onClick="batch_edit_toggle_edit_multi_checkbox_question(<?php echo (int) $n; ?>);" <?php if(getval("copyfrom","")!="" && $use_copyfrom && $value!=""){echo " checked" ;} ?>>
<label for="editthis<?php echo $n?>"><?php echo escape($field["title"]) ?></label>
<div class="clearerleft"></div>
</div>
<!-- End of edit_multi_checkbox -->
<?php
}
if ($multiple && !hook("replace_edit_all_mode_select","",array($field["ref"])))
{
# When editing multiple, give option to select Replace All Text or Find and Replace
$onchangejs = "var fr=document.getElementById('findreplace_" . $n . "');\n";
$onchangejs .= "var q=document.getElementById('question_" . $n . "');\n";
if ($field["type"] == FIELD_TYPE_CATEGORY_TREE)
{
$onchangejs .= "if (this.value=='RM'){branch_limit_field['field_" . $field["ref"] . "']=1;}else{branch_limit_field['field_" . $field["ref"] . "']=0;}";
}
elseif (in_array($field["type"], $TEXT_FIELD_TYPES ))
{
$onchangejs .= "
var cf=document.getElementById('copy_from_field_" . $field["ref"] . "');
if (this.value=='CF')
{
cf.style.display='block';q.style.display='none';fr.style.display='none';
}
else if (this.value=='FR')
{
fr.style.display='block';q.style.display='none';cf.style.display='none';
}
else
{
fr.style.display='none';cf.style.display='none';q.style.display='block';
}";
}
?>
<div class="Question" id="modeselect_<?php echo $n?>" style="<?php if($value=="" && !$field_save_error ){echo "display:none;";} ?>padding-bottom:0;margin-bottom:0;">
<label for="modeselectinput"><?php echo escape($lang["editmode"])?></label>
<select id="modeselectinput_<?php echo $n?>" name="modeselect_<?php echo $field["ref"]; ?>" class="stdwidth" onChange="<?php echo $onchangejs;hook ("edit_all_mode_js"); ?>">
<option value="RT"><?php echo escape($lang["replacealltext"])?></option>
<?php
if (in_array($field["type"], $TEXT_FIELD_TYPES ))
{
# 'Find and replace', prepend and 'copy from field' options apply to text boxes only.
?>
<option value="FR"<?php if(getval("modeselect_" . $field["ref"],"")=="FR"){?> selected<?php } ?>><?php echo escape($lang["findandreplace"])?></option>
<option value="CF"<?php if(getval("modeselect_" . $field["ref"],"")=="CF"){?> selected<?php } ?>><?php echo escape($lang["edit_copy_from_field"])?></option>
<?php
if(!$multilingual_text_fields)
{
// Prepending text doesn't work wih multilingual fields
?>
<option value="PP"<?php if(getval("modeselect_" . $field["ref"],"")=="PP"){?> selected<?php } ?>><?php echo escape($lang["prependtext"])?></option>
<?php
}
}
if((in_array($field['type'], $TEXT_FIELD_TYPES) && !$multilingual_text_fields) || in_array($field['type'], [FIELD_TYPE_CHECK_BOX_LIST, FIELD_TYPE_CATEGORY_TREE, FIELD_TYPE_DYNAMIC_KEYWORDS_LIST]))
{
# Append applies to text boxes, checkboxes ,category tree and dynamic keyword fields onl.
?>
<option value="AP"<?php if(getval("modeselect_" . $field["ref"],"")=="AP"){?> selected<?php } ?>><?php echo escape($lang["appendtext"])?></option>
<?php
}
if (
# Remove applies to text boxes, checkboxes, dropdowns, category trees and dynamic keywords only.
in_array($field['type'], array_merge($TEXT_FIELD_TYPES, array(FIELD_TYPE_CHECK_BOX_LIST, FIELD_TYPE_DROP_DOWN_LIST, FIELD_TYPE_CATEGORY_TREE, FIELD_TYPE_DYNAMIC_KEYWORDS_LIST)))
# And it only applies if the field is optional
&& $field['required'] == 0
) {
?>
<option value="RM"<?php if(getval("modeselect_" . $field["ref"],"")=="RM"){?> selected<?php } ?>><?php echo escape($lang["removetext"])?></option>
<?php
}
hook ("edit_all_extra_modes","",[$field]);
?>
</select>
</div><!-- End of modeselect_<?php echo $n?> -->
<?php
if (in_array($field["type"], $TEXT_FIELD_TYPES))
{
render_field_selector_question("","copy_from_field_" . $field["ref"], array(), "stdwidth", true);
}
?>
<div class="Question" id="findreplace_<?php echo $n?>" style="display:none;border-top:none;">
<label> </label>
<?php echo escape($lang["find"])?> <input type="text" name="find_<?php echo $field["ref"]; ?>" class="shrtwidth">
<?php echo escape($lang["andreplacewith"])?> <input type="text" name="replace_<?php echo $field["ref"]; ?>" class="shrtwidth">
</div><!-- End of findreplace_<?php echo $n?> -->
<?php hook ("edit_all_after_findreplace","",array($field,$n));
}
?>
<div class="Question <?php if($upload_review_mode && in_array($field["ref"],$locked_fields)){echo " lockedQuestion ";} if($field_save_error) { echo 'FieldSaveError'; } ?>" id="question_<?php echo $n . ($multiple ? '' : '_' . $use); ?>" <?php
if (($multiple && !$field_save_error) || !$displaycondition || $newtab)
{?>style="border-top:none;<?php
if (($multiple && $value=="") || !$displaycondition)
{
debug('Hide this');
?>
display:none;
<?php
}
?>"<?php
}
?>>
<?php
$labelname = $name;
// For batch editing, CKEditor renders as a text box, as it does not work at all well when appending / prepending (it expects to work with HTML only)
if ($field['type'] == 8 && $multiple)
{
$field['type']=1;
}
// Add _selector to label so it will keep working:
if($field['type'] == 9)
{
$labelname .= '_selector';
}
// Add -d to label so it will keep working
if($field['type'] == 4)
{
$labelname .= '-d';
}
?>
<label for="<?php echo escape($labelname)?>" <?php if($field['type']==FIELD_TYPE_DATE_RANGE) {echo " class='daterangelabel'";} ?> >
<?php
if (!$multiple)
{
echo escape($field["title"]);
if (!$is_template && $field["required"]==1)
{
echo "<sup></sup>";
}
}
if ($upload_review_mode)
{
renderLockButton($field["ref"], $locked_fields);
}
?>
</label>
<?php
# Autosave display
if ($edit_autosave || $ctrls_to_save)
{
?>
<div class="AutoSaveStatus">
<span id="AutoSaveStatus<?php echo $field["ref"]; ?>" style="display:none;"></span>
</div>
<?php
}
# Define some Javascript for help actions (applies to all fields)
# Help actions for CKEditor fields are set in pages/edit_fields/8.php
if (trim($field["help_text"]==""))
{
# No helptext; so no javascript for toggling
$help_js="";
}
else
{
if ( in_array($field["type"],array(2,3,4,6,7,10,12,14)) )
{
# For the selected field types the helptext is always shown; so no javascript toggling
$help_js="";
}
else
{
# For all other field types setup javascript to toggle helptext depending on loss or gain of focus
$help_js="onBlur=\"HideHelp(" . $field["ref"] . ");return false;\" onFocus=\"ShowHelp(" . $field["ref"] . ");return false;\"";
}
}
#hook to modify field type in special case. Returning zero (to get a standard text box) doesn't work, so return 1 for type 0, 2 for type 1, etc.
$modified_field_type="";
$modified_field_type=(hook("modifyfieldtype"));
if ($modified_field_type){$field["type"]=$modified_field_type-1;}
hook("addfieldextras");
# ---------------------------- Show field -----------------------------------
$type = $field['type'];
// Default to text type.
if('' == $type)
{
$type = 0;
}
// The visibility status (block/none) will be sent to the server for validation purposes
echo "<input id='field_" . (int) $field['ref'] . "_displayed' name='" . "field_" . (int) $field['ref'] . "_displayed' type='hidden' value='block'>";
if(!hook('replacefield', '', array($field['type'], $field['ref'], $n)))
{
global $auto_order_checkbox, $auto_order_checkbox_case_insensitive, $FIXED_LIST_FIELD_TYPES, $is_search;
// Establish the full set of selected nodes to be rendered for this field
// Do this only if the field's selected nodes haven't previously been adjusted to take account of omit_when_copying
if(!$omit_when_copying_enacted)
{
$selected_nodes = array_unique(array_merge($selected_nodes,get_resource_nodes($use, $field['ref'])));
}
debug(sprintf('$selected_nodes = %s', json_encode($selected_nodes)));
if(in_array($field['type'], $FIXED_LIST_FIELD_TYPES))
{
$name = "nodes[{$field['ref']}]";
// Sometimes we need to pass multiple options
if(in_array($field['type'], array(FIELD_TYPE_CHECK_BOX_LIST, FIELD_TYPE_CATEGORY_TREE)))
{
$name = "nodes[{$field['ref']}][]";
}
elseif(FIELD_TYPE_DYNAMIC_KEYWORDS_LIST == $field['type'])
{
$name = "field_{$field['ref']}";
}
$field_nodes = array();
foreach($selected_nodes as $selected_node)
{
$node_data = array();
if(get_node($selected_node, $node_data) && $node_data["resource_type_field"] != $field["ref"])
{
continue;
}
$field_nodes[] = $selected_node;
unset($node_data);
}
sort($field_nodes);
debug(sprintf('$field_nodes = %s', json_encode($field_nodes)));
if(!$multiple && !$blank_edit_template && getval("copyfrom","") == "" && getval('metadatatemplate', '') == "" && $check_edit_checksums)
{
echo "<input id='field_" . (int) $field['ref'] . "_checksum' name='" . "field_" . (int) $field['ref'] . "_checksum' type='hidden' value='" . md5(implode(",",$field_nodes)) . "'>";
echo "<input id='field_" . (int) $field['ref'] . "_currentval' name='" . "field_" . (int) $field['ref'] . "_currentval' type='hidden' value='" . implode(",",$field_nodes) . "'>";
}
}
elseif($field['type']==FIELD_TYPE_DATE_RANGE && !$blank_edit_template && getval("copyfrom","") == "" && getval('metadatatemplate', '') == "" && $check_edit_checksums)
{
$field['nodes'] = get_nodes($field['ref'], null, false);
$field_nodes = array();
foreach($selected_nodes as $selected_node)
{
if(in_array($selected_node,array_column($field['nodes'],"ref")))
{
$field_nodes[] = $selected_node;
}
}
sort($field_nodes);
debug(sprintf('$field_nodes = %s', json_encode($field_nodes)));
echo "<input id='field_" . (int) $field['ref'] . "_checksum' name='" . "field_" . (int) $field['ref'] . "_checksum' type='hidden' value='" . md5(implode(",",$field_nodes)) . "'>";
}
elseif(!$multiple && !$blank_edit_template && getval("copyfrom","")=="" && getval('metadatatemplate', '') == "" && $check_edit_checksums)
{
echo "<input id='field_" . (int) $field['ref'] . "_checksum' name='" . "field_" . (int) $field['ref'] . "_checksum' type='hidden' value='" . md5(trim(preg_replace('/\s\s+/', ' ', (string) $field['value']))) . "'>";
}
elseif ($field['type'] === FIELD_TYPE_DATE && $GLOBALS['use_native_input_for_date_field'])
{
if ($GLOBALS['blank_date_upload_template'] && $value !== '' && $ref <= 0)
{
$value = '';
}
}
$is_search = false;
include "edit_fields/{$type}.php";
$lastglobal = $field['global']==1;
}
# ----------------------------------------------------------------------------
# Display any error messages from previous save
if (array_key_exists($field["ref"],$errors))
{
?>
<div class="FormError">!! <?php echo $errors[$field["ref"]]; ?> !!</div>
<?php
}
if (trim($field["help_text"]!=""))
{
# Show inline help for this field.
# For certain field types that have no obvious focus, the help always appears
?>
<div class="FormHelp" style="padding:0;<?php if ( in_array($field["type"],array(2,3,4,6,7,10,12,14)) ) { ?> clear:left;<?php } else { ?> display:none;<?php } ?>" id="help_<?php echo $field["ref"]; ?>"><div class="FormHelpInner"><?php echo nl2br(trim(i18n_get_translated($field["help_text"])))?></div></div>
<?php
}
# If enabled, include code to produce extra fields to allow multilingual free text to be entered.
if ($multilingual_text_fields && ($field["type"]==0 || $field["type"]==1 || $field["type"]==5))
{
display_multilingual_text_field($n, $field, $translations);
}
if(($embedded_data_user_select || (isset($embedded_data_user_select_fields) && in_array($field["ref"],$embedded_data_user_select_fields))) && ($ref<0 && !$multiple))
{
?>
<table id="exif_<?php echo $field["ref"]; ?>" class="ExifOptions" cellpadding="3" cellspacing="3" <?php if ($embedded_data_user_select){?> style="display: none;" <?php } ?>>
<tbody>
<tr>
<td>
<?php echo " " . $lang["embeddedvalue"] . ": " ?>
</td>
<td width="10" valign="middle">
<input type="radio" id="exif_extract_<?php echo $field["ref"]; ?>" name="exif_option_<?php echo $field["ref"]; ?>" value="yes" checked>
</td>
<td align="left" valign="middle">
<label class="customFieldLabel" for="exif_extract_<?php echo $field["ref"]; ?>"><?php echo escape($lang["embedded_metadata_extract_option"]) ?></label>
</td>
<td width="10" valign="middle">
<input type="radio" id="no_exif_<?php echo $field["ref"]; ?>" name="exif_option_<?php echo $field["ref"]; ?>" value="no">
</td>
<td align="left" valign="middle">
<label class="customFieldLabel" for="no_exif_<?php echo $field["ref"]; ?>"><?php echo escape($lang["embedded_metadata_donot_extract_option"]) ?></label>
</td>
<td width="10" valign="middle">
<input type="radio" id="exif_append_<?php echo $field["ref"]; ?>" name="exif_option_<?php echo $field["ref"]; ?>" value="append">
</td>
<td align="left" valign="middle">
<label class="customFieldLabel" for="exif_append_<?php echo $field["ref"]; ?>"><?php echo escape($lang["embedded_metadata_append_option"]) ?></label>
</td>
<td width="10" valign="middle">
<input type="radio" id="exif_prepend_<?php echo $field["ref"]; ?>" name="exif_option_<?php echo $field["ref"]; ?>" value="prepend">
</td>
<td align="left" valign="middle">
<label class="customFieldLabel" for="exif_prepend_<?php echo $field["ref"]; ?>"><?php echo escape($lang["embedded_metadata_prepend_option"]) ?></label>
</td>
</tr>
</tbody>
</table>
<?php
}
?>
<div class="clearerleft"> </div>
</div><!-- end of question_<?php echo $n?> div -->
<?php
hook('afterfielddisplay', '', array($n, $field));
}
Parameters
Column | Type | Default | Description |
---|---|---|---|
$name | |||
$value | |||
$forsearch | true | ||
$autoupdate | false | ||
$field | array | ||
$reset | "" |
Location
include/render_functions.php lines 2306 to 2679
Definition
function render_date_range_field($name,$value,$forsearch=true,$autoupdate=false,$field=array(),$reset="")
{
$found_year='';$found_month='';$found_day='';$found_start_year='';$found_start_month='';$found_start_day='';$found_end_year='';$found_end_month='';$found_end_day='';
global $daterange_edtf_support,$lang, $minyear,$date_d_m_y, $edit_autosave,$forsearchbar, $maxyear_extends_current;
if($forsearch)
{
// Get the start/end date from the string
$startpos = strpos($value,"start");
$endpos = strpos($value,"end");
$startvalue = $startpos !== false ? substr($value,$startpos+5,($endpos ? ($endpos - ($startpos + 5)) : null)) : "";
$endvalue = $endpos !== false ? substr($value,strpos($value,"end")+3,10) : "";
}
else
{
if($value!="" && strpos($value,",")!==false)
{
// Extract the start date from the value obtained from get_resource_field_data
$rangevalues = explode(",",$value);
$startvalue = $rangevalues[0];
$endvalue = $rangevalues[1];
}
elseif(strlen($value)==10 && strpos($value,"-") !== false)
{
$startvalue = $value;
$endvalue = "";
}
else
{
$startvalue = "";
$endvalue = "";
}
}
$startvalue = trim($startvalue);
$endvalue = trim($endvalue);
$ss=explode("-",$startvalue);
if (count($ss)>=1)
{
$found_start_year = $ss[0] ?? "";
$found_start_month = $ss[1] ?? "";
$found_start_day = $ss[2] ?? "";
}
$se=explode("-",$endvalue);
if (count($se)>=1)
{
$found_end_year = $se[0] ?? "";
$found_end_month = $se[1] ?? "";
$found_end_day = $se[2] ?? "";
}
// If the form has been submitted (but not reset) but data was not saved get the submitted values
if($reset == "")
{
foreach(array("start_year", "start_month","start_day","end_year","end_month","end_day") as $subpart)
{
if(getval($name . "_" . $subpart,"") != "")
{
${"found_" . $subpart} = getval($name . "_" . $subpart,"");
}
}
}
if($daterange_edtf_support)
{
// Use EDTF format for date input
?>
<input class=" echo $forsearch?"SearchWidth":"stdwidth"; ?>" name=" echo $name?>_edtf" id=" echo $name?>_edtf" type="text" value=" echo ($startvalue!=""|$endvalue!="")?$startvalue . "/" . $endvalue:""; ?>" style="display:none;" disabled if ($forsearch && $autoupdate) { ?>onChange="UpdateResultCount();" } if($forsearch && !$forsearchbar){ ?> onKeyPress="if (!(updating)) {setTimeout('UpdateResultCount()',2000);updating=true;}" } elseif (!$forsearch && $edit_autosave){?>onChange="AutoSave(' echo $field["ref"]; ?>');" } ?>>
}?>
<!-- date range search start -->
<!--- start date -->
<div class="stdwidth indent echo $name?>_range" id=" echo $name?>_from">
<label class="InnerLabel"> echo escape($lang["fromdate"])?></label>
if($date_d_m_y)
{
?>
<label class="accessibility-hidden" for=" echo escape($name) ?>_start_day"> echo escape($lang["day"]); ?></label>
<select name=" echo $name?>_start_day"
if ($forsearch && $autoupdate)
{ ?>onChange="UpdateResultCount();" }
elseif (!$forsearch && $edit_autosave)
{?>onChange="AutoSave(' echo $field["ref"]; ?>');" } ?>
>
<option value=""> echo $forsearch?$lang["anyday"]:$lang["day"]; ?></option>
for ($d=1;$d<=31;$d++)
{
$m=str_pad($d,2,"0",STR_PAD_LEFT);
?><option if ($d==$found_start_day) { ?>selected } ?> value=" echo $m?>"> echo $m?></option>
}
?>
</select>
<label class="accessibility-hidden" for=" echo escape($name) ?>_start_month"> echo escape($lang["month"]); ?></label>
<select name=" echo $name?>_start_month"
if ($forsearch && $autoupdate)
{ ?>onChange="UpdateResultCount();" }
elseif (!$forsearch && $edit_autosave)
{?>onChange="AutoSave(' echo $field["ref"]; ?>');" } ?>
>
<option value=""> echo $forsearch?$lang["anymonth"]:$lang["month"]; ?></option>
for ($d=1;$d<=12;$d++)
{
$m=str_pad($d,2,"0",STR_PAD_LEFT);
?><option if ($d==$found_start_month) { ?>selected } ?> value=" echo $m?>"> echo escape($lang["months"][$d-1])?></option>
}?>
</select>
}
else
{
?>
<label class="accessibility-hidden" for=" echo escape($name) ?>_start_month"> echo escape($lang["month"]); ?></label>
<select name=" echo $name?>_start_month"
if ($forsearch && $autoupdate)
{ ?>onChange="UpdateResultCount();" }
elseif (!$forsearch && $edit_autosave)
{?>onChange="AutoSave(' echo $field["ref"]; ?>');" } ?>
>
<option value=""> echo $forsearch?$lang["anymonth"]:$lang["month"]; ?></option>
for ($d=1;$d<=12;$d++)
{
$m=str_pad($d,2,"0",STR_PAD_LEFT);
?><option if ($d==$found_start_month) { ?>selected } ?> value=" echo $m?>"> echo escape($lang["months"][$d-1]) ?></option>
}?>
</select>
<label class="accessibility-hidden" for=" echo escape($name) ?>_start_day"> echo escape($lang["day"]); ?></label>
<select name=" echo $name?>_start_day"
if ($forsearch && $autoupdate)
{ ?>onChange="UpdateResultCount();" }
elseif (!$forsearch && $edit_autosave)
{?>onChange="AutoSave(' echo $field["ref"]; ?>');" } ?>
>
<option value=""> echo $forsearch?$lang["anyday"]:$lang["day"]; ?></option>
for ($d=1;$d<=31;$d++)
{
$m=str_pad($d,2,"0",STR_PAD_LEFT);
?><option if ($d==$found_start_day) { ?>selected } ?> value=" echo $m?>"> echo $m?></option>
}
?>
</select>
}
if($forsearch)
{?>
<label class="accessibility-hidden" for=" echo escape($name) ?>_end_year"> echo escape($lang["year"]); ?></label>
<select name=" echo escape($name) ?>_start_year"
if ($forsearch && $autoupdate)
{ ?>onChange="UpdateResultCount();" }
elseif (!$forsearch && $edit_autosave)
{?>onChange="AutoSave(' echo $field["ref"]; ?>');" } ?>
>
<option value=""> echo $forsearch?$lang["anyyear"]:$lang["year"]; ?></option>
$y=date("Y");
$y += $maxyear_extends_current;
for ($d=$y;$d>=$minyear;$d--)
{
?><option if ($d==$found_start_year) { ?>selected } ?>> echo $d?></option>
}?>
</select>
}
else
{?>
<label class="accessibility-hidden" for=" echo escape($name) ?>_end_year"> echo escape($lang["year"]); ?></label>
<input size="5" name=" echo escape($name) ?>_start_year" id=" echo escape($name) ?>_start_year" type="text" value=" echo $found_start_year ?>"
if ($forsearch && $autoupdate)
{ ?>onChange="UpdateResultCount();" }
if($forsearch && !$forsearchbar)
{ ?> onKeyPress="if (!(updating)) {setTimeout('UpdateResultCount()',2000);updating=true;}" }
elseif (!$forsearch && $edit_autosave)
{?>onChange="AutoSave(' echo $field["ref"]; ?>');" } ?>>
}?>
</div>
<div class="clearerleft"> </div>
<!--- to date -->
<label class='daterangelabel'></label>
<div class="stdwidth indent echo $name?>_range" id=" echo $name?>_to" >
<label class="InnerLabel"> echo escape($lang["todate"])?></label>
if($date_d_m_y)
{
?>
<label class="accessibility-hidden" for=" echo escape($name) ?>_end_day"> echo escape($lang["day"]); ?></label>
<select name=" echo $name?>_end_day"
if ($forsearch && $autoupdate)
{ ?>onChange="UpdateResultCount();" }
elseif (!$forsearch && $edit_autosave)
{?>onChange="AutoSave(' echo $field["ref"]; ?>');" } ?>
>
<option value=""> echo $forsearch?$lang["anyday"]:$lang["day"]; ?></option>
for ($d=1;$d<=31;$d++)
{
$m=str_pad($d,2,"0",STR_PAD_LEFT);
?><option if ($d==$found_end_day) { ?>selected } ?> value=" echo $m?>"> echo $m?></option>
}?>
</select>
<label class="accessibility-hidden" for=" echo escape($name) ?>_end_month"> echo escape($lang["month"]); ?></label>
<select name=" echo $name?>_end_month"
if ($forsearch && $autoupdate)
{ ?>onChange="UpdateResultCount();" }
elseif (!$forsearch && $edit_autosave)
{?>onChange="AutoSave(' echo $field["ref"]; ?>');" } ?>
>
<option value=""> echo $forsearch?$lang["anymonth"]:$lang["month"]; ?></option>
for ($d=1;$d<=12;$d++)
{
$m=str_pad($d,2,"0",STR_PAD_LEFT);
?><option if ($d==$found_end_month) { ?>selected } ?> value=" echo $m?>"> echo escape($lang["months"][$d-1])?></option>
}?>
</select>
}
else
{
?>
<label class="accessibility-hidden" for=" echo escape($name) ?>_end_month"> echo escape($lang["month"]); ?></label>
<select name=" echo $name?>_end_month"
if (!$forsearch && $edit_autosave)
{?>onChange="AutoSave(' echo $field["ref"]; ?>');" }
else
{?>onChange="UpdateResultCount();" } ?>
>
<option value=""> echo $forsearch?$lang["anymonth"]:$lang["month"]; ?></option>
for ($d=1;$d<=12;$d++)
{
$m=str_pad($d,2,"0",STR_PAD_LEFT);
?><option if ($d==$found_end_month) { ?>selected } ?> value=" echo $m?>"> echo escape($lang["months"][$d-1]) ?></option>
}?>
</select>
<label class="accessibility-hidden" for=" echo escape($name) ?>_end_day"> echo escape($lang["day"]); ?></label>
<select name=" echo $name?>_end_day"
if ($forsearch && $autoupdate)
{ ?>onChange="UpdateResultCount();" }
elseif (!$forsearch && $edit_autosave)
{?>onChange="AutoSave(' echo $field["ref"]; ?>');" } ?>
>
<option value=""> echo $forsearch?$lang["anyday"]:$lang["day"]; ?></option>
for ($d=1;$d<=31;$d++)
{
$m=str_pad($d,2,"0",STR_PAD_LEFT);
?><option if ($d==$found_end_day) { ?>selected } ?> value=" echo $m?>"> echo $m?></option>
}
?>
</select>
}
if($forsearch)
{?>
<label class="accessibility-hidden" for=" echo escape($name) ?>_end_year"> echo escape($lang["year"]); ?></label>
<select name=" echo $name?>_end_year"
if ($forsearch && $autoupdate) { ?>onChange="UpdateResultCount();" }
elseif (!$forsearch && $edit_autosave)
{?>onChange="AutoSave(' echo $field["ref"]; ?>');" } ?>
>
<option value=""> echo $forsearch?$lang["anyyear"]:$lang["year"]; ?></option>
$y=date("Y");
$y += $maxyear_extends_current;
for ($d=$y;$d>=$minyear;$d--)
{
?><option if ($d==$found_end_year ) { ?>selected } ?>> echo $d?></option>
}
?>
</select>
}
else
{?>
<label class="accessibility-hidden" for=" echo escape($name) ?>_end_year"> echo escape($lang["year"]); ?></label>
<input size="5" name=" echo escape($name) ?>_end_year" id=" echo escape($name) ?>_end_year" type="text" value=" echo $found_end_year ?>"
if ($forsearch && $autoupdate)
{ ?>onChange="UpdateResultCount();" }
if($forsearch && !$forsearchbar)
{ ?> onKeyPress="if (!(updating)) {setTimeout('UpdateResultCount()',2000);updating=true;}" }
elseif (!$forsearch && $edit_autosave)
{?>onChange="AutoSave(' echo $field["ref"]; ?>');" } ?>>
}
if($forsearch !== true)
{
?>
<script>
//Get value of the date element before the change
jQuery('[name^= echo $name;?>]').on('focus', function(){
jQuery.data(this, 'current', jQuery(this).val());
});
//Check the value of the date after the change
jQuery('[name^= echo $name;?>_start]').on('change', function(){
let day = jQuery('[name= echo escape($name); ?>_start_day]').val().trim();
let month = jQuery('[name= echo escape($name); ?>_start_month]').val().trim();
let year = jQuery('[name= echo escape($name); ?>_start_year]').val().trim();
if (year != "" && !jQuery.isNumeric(year))
{
styledalert( echo "'" . $lang["error"] . "','" . $lang["invalid_date_generic"] . "'" ?>);
jQuery(this).val(jQuery.data(this, 'current'));
}
if(jQuery.isNumeric(year) && jQuery.isNumeric(day) && jQuery.isNumeric(month)){
//format date string into yyyy-mm-dd
let date_string = year + '-' + month + '-' + day;
//get a timestamp from the date string and then convert that back to yyyy-mm-dd
let date = new Date(date_string).toISOString().split('T')[0];
//check if the before and after are the same, if a date like 2021-02-30 is selected date would be 2021-03-02
if(date_string !== date){
styledalert( echo "'" . $lang["error"] . "','" . $lang["invalid_date_generic"] . "'" ?>);
jQuery(this).val(jQuery.data(this, 'current'))
}
}
})
//Same again but for the end of the date range
jQuery('[name^= echo $name;?>_end]').on('change', function(){
let day = jQuery('[name= echo escape($name); ?>_end_day]').val().trim();
let month = jQuery('[name= echo escape($name); ?>_end_month]').val().trim();
let year = jQuery('[name= echo escape($name); ?>_end_year]').val().trim();
if (year != "" && !jQuery.isNumeric(year))
{
styledalert( echo "'" . $lang["error"] . "','" . $lang["invalid_date_generic"] . "'" ?>);
jQuery(this).val(jQuery.data(this, 'current'));
}
if(jQuery.isNumeric(year) && jQuery.isNumeric(day) && jQuery.isNumeric(month)){
//format date string into yyyy-mm-dd
let date_string = year + '-' + month + '-' + day;
//get a timestamp from the date string and then convert that back to yyyy-mm-dd
let date = new Date(date_string).toISOString().split('T')[0];
//check if the before and after are the same, if a date like 2021-02-30 is selected date would be 2021-03-02
if(date_string !== date){
styledalert( echo "'" . $lang["error"] . "','" . $lang["invalid_date_generic"] . "'" ?>);
jQuery(this).val(jQuery.data(this, 'current'))
}
}
})
</script>
} ?>
<!-- date range search end date-->
</div>
<div class="clearerleft"></div>
if($daterange_edtf_support)
{?>
<a href="#" onclick="if(jQuery('# echo $name ?>_edtf').prop('disabled')){jQuery('# echo $name ?>_edtf').prop('disabled',false);jQuery('# echo $name ?>_edtf').show();jQuery('. echo $name ?>_range').hide();}else{jQuery('# echo $name ?>_edtf').prop('disabled',true);jQuery('# echo $name ?>_edtf').hide();jQuery('. echo $name ?>_range').show();}return false;">
<i aria-hidden="true" class="fa fa-caret-right"></i>
echo "EDTF"; ?>
</a>
}
}
This article was last updated 19th March 2024 13:05 Europe/London time based on the source file dated 19th March 2024 11:55 Europe/London time.