From 29ca936be9ac1df5ece03e1a04aa03cfc843d0e4 Mon Sep 17 00:00:00 2001 From: Yuri Salimovskiy Date: Thu, 2 Feb 2023 17:54:56 +0200 Subject: [PATCH 01/74] Enabled {exp:member:has_role} to check against multiple roles https://github.com/ExpressionEngine/ExpressionEngine/issues/2749 --- docs/member/member-roles-tags.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docs/member/member-roles-tags.md b/docs/member/member-roles-tags.md index 7a906c057..8eddc2a1c 100644 --- a/docs/member/member-roles-tags.md +++ b/docs/member/member-roles-tags.md @@ -72,6 +72,11 @@ The `{exp:member:has_role}` tag allows you to display or hide its content depend **Required** ID or role to check against. The content of the tag will be displayed if the user belongs to this role, otherwise `{if no_results}...{/if}` contents will be displayed. +It is also possible to pass multiple roles by separating those with a `|`. In this case, the content will be shown if the member belongs to at least one of the roles. + + role_id="6|12" + + #### `member_id=` member_id="147" From ccced7d8e87a705a2a2cae67c134a96839e49910 Mon Sep 17 00:00:00 2001 From: Yuri Salimovskiy Date: Fri, 3 Feb 2023 13:58:56 +0200 Subject: [PATCH 02/74] Added global variables for logged in user's avatar; #2583 {logged_in_avatar_filename}, {logged_in_avatar_width}, {logged_in_avatar_height} --- docs/templates/conditionals.md | 6 +++++ docs/templates/globals/single-variables.md | 28 +++++++++++++++------- 2 files changed, 26 insertions(+), 8 deletions(-) diff --git a/docs/templates/conditionals.md b/docs/templates/conditionals.md index 526fc5f4d..23522a2ba 100755 --- a/docs/templates/conditionals.md +++ b/docs/templates/conditionals.md @@ -310,6 +310,12 @@ You'll notice in the "logout" link above that a special path is used: {path='LOG There are a handful of variables that are always available to conditionals. +### `logged_in_avatar_filename` +### `logged_in_avatar_height` +### `logged_in_avatar_width` + + {if logged_in_avatar_filename}{/if} + ### `logged_in_email` {if logged_in_email $= 'example.com'} One of us! One of us! {/if} diff --git a/docs/templates/globals/single-variables.md b/docs/templates/globals/single-variables.md index 9cbb9f86c..345c0efe8 100755 --- a/docs/templates/globals/single-variables.md +++ b/docs/templates/globals/single-variables.md @@ -255,10 +255,30 @@ The email address for the site, as specified in [Email Configuration](control-pa [TOC=3] +### `{logged_in_avatar_filename}` + +The filename of avatar image for the currently logged-in user. + +### `{logged_in_avatar_height}` + +Height of avatar image for the currently logged-in user. + +### `{logged_in_avatar_width}` + +Width of avatar image for the currently logged-in user. + ### `{logged_in_email}` The email address for the currently logged-in user. +### `{logged_in_ip_address}` + +This variable will be substituted with the IP address of the currently logged in user. + +### `{logged_in_member_id}` + +The Member ID for the currently logged-in user. + ### `{logged_in_primary_role_id}` The Primary Role ID number for the currently logged-in user. @@ -275,14 +295,6 @@ The short name of the Primary Role for the currently logged-in user. The Primary Role description for the currently logged-in user. -### `{logged_in_ip_address}` - -This variable will be substituted with the IP address of the currently logged in user. - -### `{logged_in_member_id}` - -The Member ID for the currently logged-in user. - ### `{logged_in_private_messages}` The number of unread private messages for the currently logged-in user. From 48f040f7493e2ebedf73608ad87832f51121fda6 Mon Sep 17 00:00:00 2001 From: Yuri Salimovskiy Date: Mon, 13 Feb 2023 12:04:56 +0200 Subject: [PATCH 03/74] using fieldtypes for member fields https://github.com/ExpressionEngine/ExpressionEngine/issues/715 --- docs/control-panel/member-manager.md | 24 ++++++++++++++++- docs/development/addon-setup-php-file.md | 33 +++++++++++++++++------- 2 files changed, 46 insertions(+), 11 deletions(-) diff --git a/docs/control-panel/member-manager.md b/docs/control-panel/member-manager.md index 9ae857433..b1bdc61e8 100755 --- a/docs/control-panel/member-manager.md +++ b/docs/control-panel/member-manager.md @@ -47,7 +47,29 @@ The _Member Fields_ feature permits you to add fields to the member registration This section allows you to create or edit Member Fields. -The following fields are available: +The following field types are compatible as can be used for custom member fields: + +- Checkboxes +- Color Picker +- Date +- Duration +- Email Address +- File +- Number Input +- Multi Select +- Radio Buttons +- Range Slider +- Rich Text Editor +- Select Dropdown +- Selectable Buttons +- Text Input +- Textarea +- URL +- Value Slider + +Additionaly, third-party field types that specify their use for `MemberField` model can be selected. + +The following fields are available when creating custom field: - **Type** -- You may choose what type of field this is. There are three choices: 1. **Text Input**: This is a single input line for text. It is the type of field you might use for a title, name, or other short information. 2. **Textarea**: This is a standard text entry box with multiple lines. This is what you would use for larger amount of text. 3. **Drop-down List**: This creates a standard HTML ` +Custom fields can also be output inside the ``{custom_fields}`` varialble tag pair. + + {custom_fields} +

+
+ {lang:profile_field_description}
+ + {form:custom_profile_field} + +

+ {/custom_fields} + +### `{custom_fields}` Pair Variables + +#### `{lang:profile_field}` +#### `{field_name}` + +Outputs the custom field's name. + +#### `{lang:profile_field_description}` +#### `{field_description}` + +Outputs the field's description, if any. + +#### `{form:custom_profile_field}` +#### `{field}` + +Shows the fully parsed custom member form field. + +#### `{if required}` + +Indicates whether the field is marked as required + ## Variables ### `{accept_terms}` From 60bab2b0b2ee138fe713f2152008ca61ad03c7c7 Mon Sep 17 00:00:00 2001 From: Yuri Salimovskiy Date: Fri, 24 Mar 2023 13:27:32 +0200 Subject: [PATCH 07/74] members field docs --- docs/_images/field_members.png | Bin 0 -> 16845 bytes docs/fieldtypes/member.md | 173 ++++++++++++++++++++ docs/toc_sections/_the_fundamentals_toc.yml | 2 + 3 files changed, 175 insertions(+) create mode 100644 docs/_images/field_members.png create mode 100644 docs/fieldtypes/member.md diff --git a/docs/_images/field_members.png b/docs/_images/field_members.png new file mode 100644 index 0000000000000000000000000000000000000000..ef0933aba80df1ce0ab69387f0f6516aeb3e5dbf GIT binary patch literal 16845 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 literal 0 HcmV?d00001 diff --git a/docs/fieldtypes/member.md b/docs/fieldtypes/member.md new file mode 100644 index 000000000..87d303710 --- /dev/null +++ b/docs/fieldtypes/member.md @@ -0,0 +1,173 @@ + + +# Members Fieldtype + +Members Fieldtype allows selecting one or multiple members and associating those with a channel entry + +[TOC] + +Relationships are an extremely powerful tool that allow you to connect Entries in one Channel to those in another one, or even to other entries in the same channel. This ability allows you to store very complex content in your Channel entries. + +This fieldtype is currently only limited to Channels. + +![members field](_images/field_members.png) + +## Field Settings + +#### Roles to include + +Only allow selecting member with chosen primary roles. Note that secondary roles are not being taken into account when working with Members field. + +#### Maximum number of available members + +Sets the number of members displayed in the field's dropdown. Leave blank to allow all members. All members are still available to the search, this is simply a display setting. + +#### Order By + +Default ordering of members in the field's dropdown. + +#### Allow Multiple Relationships? + +When set to yes, authors will be allowed to create multiple relationships in a single field. + +#### Minimum selection +The minimum number of relationships that can be added to the field. + +#### Maximum selection +The maximum number of relationships that can be added to the field. + +#### Display Member IDs? +When enabled, member IDs will be displayed together with member screen name inside the field. + +#### Defer field initialization? +When enabled, this field wonโ€™t initialize until the Edit Relationships button is clicked on. This can result in faster control panel page load times. + +## Template Tag Pair + +The field is most useful when used as tag pair in the template. All variables are prefixed with the field's short name, followed by semicolon, to avoid naming conflicts. + + {members_field} +
Date: Mon, 8 May 2023 17:52:31 +0300 Subject: [PATCH 08/74] Docs for `primary_role_id` param --- docs/channels/entries.md | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/docs/channels/entries.md b/docs/channels/entries.md index 13cade934..629fbc280 100755 --- a/docs/channels/entries.md +++ b/docs/channels/entries.md @@ -309,13 +309,15 @@ NOTE: **Note:** Using this parameter will automatically constrain the entries ta ### `group_id=` +NOTE: We recommend using [primary_role_id=](#primary_role_id) parameter instead, which works the same. + group_id="4" You can decide from which Member Role (by specifying the role ID) you wish entries to be shown. If you choose "4", then only entries created by members of the Primary Role with the ID of 4 will be shown. You can choose multiple Roles using a pipe: group_id="2|3|4" -Or exclude groups using "not" +Or exclude role using "not" group_id="not 2|3|4" @@ -436,6 +438,18 @@ This tells ExpressionEngine to override the normal [pagination](templates/pagina This tells ExpressionEngine to function in "pagination" mode for your channel entry fields so that you can automatically have an entry span multiple pages. See the [Spanning a Channel Entry Across Multiple Pages](channels/entry-spanning.md) page. +### `primary_role_id=` + + primary_role_id="4" + +You can decide from which Member Role (by specifying the role ID) you wish entries to be shown. If you choose "4", then only entries created by members of the Primary Role with the ID of 4 will be shown. You can choose multiple Roles using a pipe: + + primary_role_id="2|3|4" + +Or exclude roles using "not" + + primary_role_id="not 2|3|4" + ### `related_categories_mode=` related_categories_mode="no" related_categories_mode="yes" From 97873674df1751d8a7245458c3e04cf497239022 Mon Sep 17 00:00:00 2001 From: Yuri Salimovskiy Date: Wed, 17 May 2023 09:53:21 +0300 Subject: [PATCH 09/74] Added `cli_boot` extension hook to run on each CLI request --- .../extension-hooks-overview.md | 1 + .../development/extension-hooks/global/cli.md | 56 +++++++++++++++++++ 2 files changed, 57 insertions(+) create mode 100644 docs/development/extension-hooks/global/cli.md diff --git a/docs/development/extension-hooks/extension-hooks-overview.md b/docs/development/extension-hooks/extension-hooks-overview.md index 7bac8c885..1218c498b 100644 --- a/docs/development/extension-hooks/extension-hooks-overview.md +++ b/docs/development/extension-hooks/extension-hooks-overview.md @@ -20,6 +20,7 @@ TIP: Reference [Extending The Core](development/extensions.md) for more informat Core hooks are categorized into 5 categories: - Global - [Core Library](development/extension-hooks/global/core.md) + - [CLI](development/extension-hooks/global/cli.md) - [Email Library](development/extension-hooks/global/email.md) - [Filemanager Library](development/extension-hooks/global/filemanager.md) - [Functions Library](development/extension-hooks/global/functions.md) diff --git a/docs/development/extension-hooks/global/cli.md b/docs/development/extension-hooks/global/cli.md new file mode 100644 index 000000000..9ff7ee93c --- /dev/null +++ b/docs/development/extension-hooks/global/cli.md @@ -0,0 +1,56 @@ +--- +lang: php +--- + + + +# CLI Extension Hooks + +### `cli_boot($cli, $commandClassName, $commandObject)` + +| Parameter | Type | Description | +| ------------------ | -------- | ------------------------------------------------------------------------ | +| \$cli | `Object` | Instance of CLI currently running | +| \$commandClassName | `String` | Class name of command to be executed | +| \$commandObject | `Object` | Instance of command class to be executed | +| Returns | `Object` | Modified instance of `$commandObject` | + +Run tasks on every CLI request. Allows running the code before certain CLI command is run as well as modification of command class instance. + +How it's called: + + $command = ee()->extensions->call('cli_boot', $this, $commandClass, $command); + if (ee()->extensions->end_script === true) { + $this->complete(''); + } + +### `core_template_route($uri_string)` + +| Parameter | Type | Description | +| ------------ | -------- | ------------------------------------------------------------------------ | +| \$uri_string | `String` | Current URI string | +| Returns | `Array` | Array containing the name of the template group and template (see below) | + +Reassign the template group and template loaded for parsing. + +How it's called: + + $edata = ee()->extensions->call('core_template_route', ee()->uri->uri_string); + if (is_array($edata) && count($edata) == 2) + { + list($template_group, $template) = $edata; + } + +Example of array to return: + + array( + 'template_group', // Template group name + 'template' // Template name + ); From fa88b521eb90cc07d00548c91fc4da027899609c Mon Sep 17 00:00:00 2001 From: Yuri Salimovskiy Date: Tue, 27 Jun 2023 14:12:05 +0300 Subject: [PATCH 10/74] Enabled passing through valid HTML form attributes to forms in ExpressionEngine as tag parameters --- docs/_tips/form-attributes.md | 1 + docs/add-ons/consent.md | 2 ++ docs/add-ons/email.md | 2 ++ docs/add-ons/search/advanced.md | 2 ++ docs/add-ons/search/simple.md | 2 ++ docs/channels/channel-form/overview.md | 2 ++ docs/comment/form.md | 2 ++ docs/config/config-files.md | 6 ++++++ docs/development/legacy/libraries/functions.md | 2 ++ docs/member/edit-avatar.md | 2 ++ docs/member/edit-profile.md | 2 ++ docs/member/login.md | 2 ++ docs/member/logout.md | 4 ++-- docs/member/memberlist.md | 2 ++ docs/member/registration.md | 2 ++ 15 files changed, 33 insertions(+), 2 deletions(-) create mode 100644 docs/_tips/form-attributes.md diff --git a/docs/_tips/form-attributes.md b/docs/_tips/form-attributes.md new file mode 100644 index 000000000..c71543ebb --- /dev/null +++ b/docs/_tips/form-attributes.md @@ -0,0 +1 @@ +TIP: Valid HTML Form attributes (as listed in the [config file](config/config-files.md#html-form-attributes)), `data-` and `aria-` attributes passed through ExpressionEngine tag parameters in the template will be included into generated opening form tag. \ No newline at end of file diff --git a/docs/add-ons/consent.md b/docs/add-ons/consent.md index 1f46cd009..3ba9e104c 100755 --- a/docs/add-ons/consent.md +++ b/docs/add-ons/consent.md @@ -40,6 +40,8 @@ Consent Forms allow the visitor to grant or withdraw consent to one or more Cons [TOC=3] +{{embed:_tips/form-attributes.md}} + #### `consent=` consent='ee:cookies_functionality' diff --git a/docs/add-ons/email.md b/docs/add-ons/email.md index 16e8b1c11..3afec336c 100755 --- a/docs/add-ons/email.md +++ b/docs/add-ons/email.md @@ -56,6 +56,8 @@ The contact form is created similar to a standard web form, only you **do not** [TOC=3] +{{embed:_tips/form-attributes.md}} + ### `charset=` charset="utf-8" diff --git a/docs/add-ons/search/advanced.md b/docs/add-ons/search/advanced.md index 652ee127d..76207ca6d 100755 --- a/docs/add-ons/search/advanced.md +++ b/docs/add-ons/search/advanced.md @@ -143,6 +143,8 @@ The search results are displayed on the page you specify as the [result_page=](# [TOC=3] +{{embed:_tips/form-attributes.md}} + ### `category=` category="1" diff --git a/docs/add-ons/search/simple.md b/docs/add-ons/search/simple.md index fc79b8712..664183b6d 100755 --- a/docs/add-ons/search/simple.md +++ b/docs/add-ons/search/simple.md @@ -73,6 +73,8 @@ Besides specifying whether future entries are included in the search using the [ ## Parameters +{{embed:_tips/form-attributes.md}} + ### `name=` name="search_form" diff --git a/docs/channels/channel-form/overview.md b/docs/channels/channel-form/overview.md index 8e7826f29..4a866b93d 100755 --- a/docs/channels/channel-form/overview.md +++ b/docs/channels/channel-form/overview.md @@ -61,6 +61,8 @@ By default, validation errors will be displayed using the User Message Template. [TOC=3 hide] +{{embed:_tips/form-attributes.md}} + The Following parameters are available for the `{exp:channel:form}`: ### `allow_comments=` diff --git a/docs/comment/form.md b/docs/comment/form.md index e3c0650df..5fe92dd40 100755 --- a/docs/comment/form.md +++ b/docs/comment/form.md @@ -52,6 +52,8 @@ TIP: **Tip:** Notice the variables in the "value" form fields? These allow us to [TOC=4] +{{embed:_tips/form-attributes.md}} + #### `entry_id=` entry_id="24" diff --git a/docs/config/config-files.md b/docs/config/config-files.md index f2454ca98..fc5f74c51 100644 --- a/docs/config/config-files.md +++ b/docs/config/config-files.md @@ -29,6 +29,12 @@ The list of the words that are being used to generate [CAPTCHA](security/captcha This file contains an array of foreign characters for transliteration conversion used by the Text helper (example would be generating URL Titles for entries). +#### HTML Form Attributes + +`valid_form_attributes.php` + +Valid HTML attributes that might be passed via EE template tag parameters to the `form` tag when creating forms with `ee()->functions->form_declaration()`. Additionally, `data-` and `aria-` attributes can be used. + #### Allowed Mime Types `mimes.php` diff --git a/docs/development/legacy/libraries/functions.md b/docs/development/legacy/libraries/functions.md index 79f17753e..bcc9b7821 100755 --- a/docs/development/legacy/libraries/functions.md +++ b/docs/development/legacy/libraries/functions.md @@ -126,6 +126,8 @@ Any form will accept the `form_class` and `form_id` parameters. Access the value $r = ee()->functions->form_declaration($form_details); +{{embed:_tips/form-attributes.md}} + ### `form_backtrack([$offset = ''])` | Parameter | Type | Description | diff --git a/docs/member/edit-avatar.md b/docs/member/edit-avatar.md index 0d75ac566..77845ef7e 100644 --- a/docs/member/edit-avatar.md +++ b/docs/member/edit-avatar.md @@ -20,6 +20,8 @@ This tag allows users to edit their avatar image. The image will be uploaded to ## Parameters +{{embed:_tips/form-attributes.md}} + ### `return=` return="member/profile" diff --git a/docs/member/edit-profile.md b/docs/member/edit-profile.md index 5b5f57822..064e66dda 100644 --- a/docs/member/edit-profile.md +++ b/docs/member/edit-profile.md @@ -17,6 +17,8 @@ Edit member profile. ## Parameters +{{embed:_tips/form-attributes.md}} + ### `datepicker=` Include the datepicker javascript. This should be set to ``yes`` if there is a date type member custom field in order to output the calendar. diff --git a/docs/member/login.md b/docs/member/login.md index ce33d2cd9..7d7023a73 100644 --- a/docs/member/login.md +++ b/docs/member/login.md @@ -28,6 +28,8 @@ Output a login form. ## Parameters +{{embed:_tips/form-attributes.md}} + ### `action=` action="https://example.com/" diff --git a/docs/member/logout.md b/docs/member/logout.md index 1b9b8b203..af8ce4dea 100644 --- a/docs/member/logout.md +++ b/docs/member/logout.md @@ -33,6 +33,8 @@ Output a log out form. ## Parameters +{{embed:_tips/form-attributes.md}} + ### `action=` action="https://example.com/" @@ -65,5 +67,3 @@ This parameter allows you to define where the user will be returned after succes 1. Use the standard Template_Group/Template syntax to specify where to return the user. For instance, if you want the user to be returned to the "local" Template in the "news" Template Group, you would use: return="news/local" 2. Use a full URL. For example: return="" - - diff --git a/docs/member/memberlist.md b/docs/member/memberlist.md index cea7b4100..3b33bd73b 100644 --- a/docs/member/memberlist.md +++ b/docs/member/memberlist.md @@ -17,6 +17,8 @@ Outputs a searchable list of members, including form filters to sort and limit t ## Parameters +{{embed:_tips/form-attributes.md}} + ### `return=` return="member/memberlist" diff --git a/docs/member/registration.md b/docs/member/registration.md index a03160871..5b59f6f08 100644 --- a/docs/member/registration.md +++ b/docs/member/registration.md @@ -19,6 +19,8 @@ NOTE: **Important:** In order for site visitors to be allowed to register for ac ## Parameters +{{embed:_tips/form-attributes.md}} + ### `return=` return="member/registration/success" From 8bcefd474faf3eba1ab3dad0208fba279344fe00 Mon Sep 17 00:00:00 2001 From: Yuri Salimovskiy Date: Fri, 30 Jun 2023 12:17:25 +0300 Subject: [PATCH 11/74] docs on using reverse proxy / load balancers --- docs/config/config-files.md | 8 ++++++++ docs/general/system-configuration-overrides.md | 1 + docs/optimization/handling-extreme-traffic.md | 6 ++++++ 3 files changed, 15 insertions(+) diff --git a/docs/config/config-files.md b/docs/config/config-files.md index f2454ca98..a7f76858b 100644 --- a/docs/config/config-files.md +++ b/docs/config/config-files.md @@ -37,6 +37,14 @@ These are the mime types that are allowed to be uploaded using the upload class. The mime types are grouped by file type. You can add the allowed mime types directly or you can add new file types containing miltiple mimes. +#### Reverse Proxy IP addresses + +`proxy.php` + +If the server is behind reverse proxy or load balancer, the system would need special configuration to discover user's real IP address. If the IP address as passed in by server matches value or range specificed in this configuration file, the system will start looking into headers to determine real IP address, as forwarded by proxy/balancer. + +Please consult with provider of your reverse proxy or load balancing solutions for the IP addresses or ranges to use. Some providers would let you know the exact IP address of load balancer, while others would give you a range. Here are the links with information for some common providers: [CloudFlare](https://www.cloudflare.com/ips/), [Google Cloud](https://cloud.google.com/load-balancing/docs/https/#firewall_rules), [AWS Elastic](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html) + #### 'Remember me' expiration `remember.php` diff --git a/docs/general/system-configuration-overrides.md b/docs/general/system-configuration-overrides.md index e1fc3fa95..3884e03ba 100755 --- a/docs/general/system-configuration-overrides.md +++ b/docs/general/system-configuration-overrides.md @@ -2199,6 +2199,7 @@ Example Usage: ### `proxy_ips` Allow list of reverse proxy servers that may forward the visitor's IP address. +DEPRECATED. Use [`proxy.php` config file](config/config-files.md#reverse-proxy-ip-addresses) instead. | Value | Description | | ------------ | ------------------------------------ | diff --git a/docs/optimization/handling-extreme-traffic.md b/docs/optimization/handling-extreme-traffic.md index 076919090..843ee3c90 100755 --- a/docs/optimization/handling-extreme-traffic.md +++ b/docs/optimization/handling-extreme-traffic.md @@ -54,3 +54,9 @@ These can be disabled in your Control Panel [Tracking Preferences](control-panel ExpressionEngine's caching mechanisms can help reduce database load in most situations. However if you use file-based caching, that may transfer some of the resources saved from the database server to the web server. Thus, it is recommended that you use either the Memcached or Redis [caching driver](optimization/caching.md#caching-drivers) instead of the file driver, especially on high-traffic sites. The increased disk i/o from file caches being created and destroyed during a high traffic event consumes significantly more server resources than the memory-based caching drivers. If you are running in a PHP environment without Opcode caching, [saving templates as files](general/system-configuration-overrides.md#save_tmpl_files) can marginally increase disk i/o as each template must be retrieved from disk. We recommend running PHP 7 or greater so that this type of file activity is managed better by the server. + +## Using Load Balancers + +Using load balancer or reverse proxy server is popular solution to mitigare DDoS attacks and make handling high traffic easier. + +When the server is placed behind reverse proxy or load balancer, ExpressionEngine in default configuration might not know the user's real IP address because it would be substituted with the proxy IP address. Most of the proxies however would send the real user's IP in some HTTP headers. In order to use the data in those headers to obtain the real user IP address, you need to configure the system to make it aware of the list of trusted proxy IP addresses or ranges. This can be done using [`proxy.php` configuration file](config/config-files.md#reverse-proxy-ip-addresses). \ No newline at end of file From b3fa97276e37f3b0846985040ce3253e7ed1125c Mon Sep 17 00:00:00 2001 From: Yuri Salimovskiy Date: Mon, 3 Jul 2023 16:14:26 +0300 Subject: [PATCH 12/74] document using field in forms --- docs/member/edit-profile.md | 77 +++++++++++++++++++++++++++++++------ docs/member/registration.md | 36 +++++++++++++++++ 2 files changed, 102 insertions(+), 11 deletions(-) diff --git a/docs/member/edit-profile.md b/docs/member/edit-profile.md index fbf25d235..7c9e0ef87 100644 --- a/docs/member/edit-profile.md +++ b/docs/member/edit-profile.md @@ -15,21 +15,37 @@ exp:member:edit_profile -Edit member profile. +This template tag allows editing member's profile using the form that is similar to [Channel Form](channels/channel-form/overview.md) ## Parameters +### `include_assets=` + + include_assets="yes" + +Adds the Javascript and CSS that is required by custom member fields to your form. By default, these are **not** included + ### `datepicker=` -Include the datepicker javascript. This should be set to ``yes`` if there is a date type member custom field in order to output the calendar. + datepicker="no" - datepicker="yes" +Adds the datepicker to your date fields. Defaults to "yes". -### `include_assets=` +NOTE: **Note:** If you are manually constructing a date field, in order to apply the date picker you must include `rel="date-picker"`. -Include the CSS for the custom member fields. +### `include_css=` - include_assets="yes" + include_css="no" + +Allows you to manage the inclusion of required CSS independently from the `include_assets` parameter. Defaults to "yes". + +### `include_jquery=` + + include_jquery="no" + +Includes jQuery automatically. Defaults to "yes". + +NOTE: **Note:** If you are using your own copy of jQuery you will need to load it **before** the form. ### `return=` @@ -98,6 +114,12 @@ Member username. This is a **required** field and must be unique across the site +### Custom field + +The custom profile fields can be displayed individually by addressing them using the field's short name prefixed with `field:`: + + {field:birthday} + ## Custom Profile Field Variable Pair All custom fields are output inside the ``{custom_profile_fields}`` varialble tag pair. @@ -112,20 +134,53 @@ All custom fields are output inside the ``{custom_profile_fields}`` varialble ta

{/custom_profile_fields} -## Custom Profile Field Variables +### Custom Profile Field Variables -#### {lang:profile_field} +These variables are available inside `{custom_profile_fields}` tag pair. -Outputs the custom field's name. +#### `{lang:profile_field}` +#### `{field_label}` -#### {lang:profile_field_description} +Outputs the custom field's label. + +#### `{field_id}` + +Field ID + +#### `{field_name}` + +The field's short name + +#### `{lang:profile_field_description}` +#### `{field_instructions}` Outputs the field's description, if any. -#### {form:custom_profile_field} +#### `{form:custom_profile_field}` +#### `{display_field}` Shows the fully parsed custom member form field. +#### `{field_data}` + +Saved field data for the member + +#### `{if field_required}` + +Checks whether the field is set as required + +#### `{text_direction}` + +Text direction set for field (`rtl` or `ltr`) + +#### `{maxlength}` + +Max. length set for text fields + +#### `{field_type}` + +Short name of the fieldtype used for field + ## Example {exp:member:edit_profile diff --git a/docs/member/registration.md b/docs/member/registration.md index 53932c897..e974ab751 100644 --- a/docs/member/registration.md +++ b/docs/member/registration.md @@ -38,6 +38,34 @@ This parameter allows you to specify the primary role to assign the new member, This parameter allows you to use inline errors in your registration form. The errors can be displayed using the `{error:field_name}` tag where `field_name` would need to be replaced with the name of the field that has an error, as used to compose the form. +### `include_assets=` + + include_assets="yes" + +Adds the Javascript and CSS that is required by custom member fields to your form. By default, these are **not** included + +### `datepicker=` + + datepicker="no" + +Adds the datepicker to your date fields. Defaults to "yes". + +NOTE: **Note:** If you are manually constructing a date field, in order to apply the date picker you must include `rel="date-picker"`. + +### `include_css=` + + include_css="no" + +Allows you to manage the inclusion of required CSS independently from the `include_assets` parameter. Defaults to "yes". + +### `include_jquery=` + + include_jquery="no" + +Includes jQuery automatically. Defaults to "yes". + +NOTE: **Note:** If you are using your own copy of jQuery you will need to load it **before** the form. + ## Form Inputs NOTE: Be sure to include the required JavaScript and CSS to use the native [Password Validation](member/password-validation.md). @@ -92,6 +120,11 @@ Please note you need to address those by ID and not name, e.g. `m_field_id_8` +And easier way to display the field's input is to use special tag: + + + {field:work_title} + Custom fields can also be output inside the ``{custom_fields}`` varialble tag pair. {custom_fields} @@ -168,6 +201,9 @@ This will show errors with the submitted password as well as password confirm. {if error:username}{error:username}{/if} +### `{field:field_name}` + +Displays the custom field input form for the given field (substitute `field_name` with actual field name). Note that the field must be set as "visible on registration" in order to show up. ## Example From 7677940a4d9b24cb15251f7d3e345b052193ee98 Mon Sep 17 00:00:00 2001 From: Yuri Salimovskiy Date: Wed, 5 Jul 2023 12:37:31 +0300 Subject: [PATCH 13/74] Added RTE configuration to use custom CKEditor build --- docs/add-ons/rte.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/docs/add-ons/rte.md b/docs/add-ons/rte.md index 7300af469..d0813f346 100755 --- a/docs/add-ons/rte.md +++ b/docs/add-ons/rte.md @@ -73,6 +73,7 @@ The following are the buttons that can be enabled in tool set to manipulate the
  • Superscript
  • Block quote
  • Code
  • +
  • Code block
  • Heading / Format
  • Remove formatting (CKEditor only)
  • Style (Redactor only)
  • @@ -95,6 +96,7 @@ The following are the buttons that can be enabled in tool set to manipulate the
  • "Read More" separator
  • Font color / background
  • Fullscreen (Redactor only)
  • +
  • HTML Source editing
  • #### Custom Stylesheet @@ -148,6 +150,7 @@ To delete a tool set, check the tool set's checkbox in the tool set table listin - **Default RTE tool set** - select the tool set that will be selected by default when creating a field. - **File Browser** - select file browser that will be used when browsing for images and files from RTE fields. ExpressionEngine's FilePicker is used by default, third-party add-ons can provide their own filepickers +- **Use custom CKEditor build** - Allows using custom CKEditor build with extra plugins. If enabled, RTE instances running CKEditor will be built using the script in `themes/user/rte/javascript/` folder. NOTE: **Note:** If using the [Multiple Site Manager](msm/overview.md), this preference is per-site. @@ -170,7 +173,7 @@ NOTE: **Warning** Doing this requires advanced development skills. In order to create custom CKEditor build: - Clone [GitHub repo](https://github.com/ExpressionEngine/ExpressionEngine/) - Install NPM packages by running `npm install` - - Follow the installation instructions for the plugin itself - - Make your changes to `js-src\ckeditor5-build-classic\src\ckeditor.js` and other files as necessary. + - Follow the installation instructions for the extra CKEditor plugins that you need + - Make your changes to `js-src/ckeditor5-build-classic/src/ckeditor.js` and other files as necessary. - Run the command `npm run build:ckeditor` - - Copy the files from `themes/ee/asset/javascript/src/fields/rte/ckeditor` to same folder on your EE installation + - Copy the files from `themes/ee/asset/javascript/src/fields/rte/ckeditor` to `themes/user/rte/javascript/` folder on your EE installation From e77048cfe0b6962313d188c1fbad8d26656fbfc8 Mon Sep 17 00:00:00 2001 From: Yuri Salimovskiy Date: Wed, 5 Jul 2023 12:57:06 +0300 Subject: [PATCH 14/74] note about buttons --- docs/add-ons/rte.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/add-ons/rte.md b/docs/add-ons/rte.md index d0813f346..60d09738c 100755 --- a/docs/add-ons/rte.md +++ b/docs/add-ons/rte.md @@ -177,3 +177,5 @@ In order to create custom CKEditor build: - Make your changes to `js-src/ckeditor5-build-classic/src/ckeditor.js` and other files as necessary. - Run the command `npm run build:ckeditor` - Copy the files from `themes/ee/asset/javascript/src/fields/rte/ckeditor` to `themes/user/rte/javascript/` folder on your EE installation + +TIP: Buttons provided by extra plugins might be not availble with visual toolbar builder. You will need to use Advanced Configuration JSON file to add those. \ No newline at end of file From 85db33d1d6cbec9a7888adc81b1390111f8ed3d1 Mon Sep 17 00:00:00 2001 From: Yuri Salimovskiy Date: Thu, 27 Jul 2023 11:56:32 +0300 Subject: [PATCH 15/74] Added more variables to address position of field in group inside Fluid field --- docs/fieldtypes/fluid.md | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/docs/fieldtypes/fluid.md b/docs/fieldtypes/fluid.md index 4eecf99cb..62ec25087 100755 --- a/docs/fieldtypes/fluid.md +++ b/docs/fieldtypes/fluid.md @@ -175,7 +175,31 @@ Alias of `:current_fieldtype`. The total number of fields regardless of tag output criteria. -Additionally, the following variable are available when using custom field groups: +Additionally, the following variable are available **when using custom field groups**: + +### `count_in_group` + + {fluid_content:count_in_group} + +The "count" out of the field being displayed in current field group. If five fields are in group, then for the fourth field the `count` variable would have a value of "4". + +### `first_in_group` + + {fluid_content:first_in_group} + +True, if the current field is the first one in current field group. + +### `index_in_group` + + {fluid_content:index_in_group} + +The index of the field being displayed in current field group starting at 0. + +### `last_in_group` + + {fluid_content:last_in_group} + +True, if the current field is the last one in current field group. ### `first_group` From 3af6394c35be120f70ba737e5549582e7c82a976 Mon Sep 17 00:00:00 2001 From: Yuri Salimovskiy Date: Mon, 7 Aug 2023 16:34:34 +0300 Subject: [PATCH 16/74] Allow making category group required for channel; Allow restricting category selection to single category per group --- docs/_images/cp-channel-categories-tab.png | Bin 0 -> 30530 bytes docs/_images/cp-entry-categories-tab.png | Bin 0 -> 31122 bytes docs/control-panel/channels.md | 9 +++ docs/control-panel/create.md | 8 ++- .../models/category-group-settings.md | 59 ++++++++++++++++++ docs/development/models/category-group.md | 27 +++++++- .../development/models/working-with-models.md | 4 +- docs/toc_sections/_advanced_usage_toc.yml | 2 + 8 files changed, 103 insertions(+), 6 deletions(-) create mode 100644 docs/_images/cp-channel-categories-tab.png create mode 100644 docs/_images/cp-entry-categories-tab.png create mode 100644 docs/development/models/category-group-settings.md diff --git a/docs/_images/cp-channel-categories-tab.png b/docs/_images/cp-channel-categories-tab.png new file mode 100644 index 0000000000000000000000000000000000000000..8743a2fd8b4a3d56ab040daa7b2d6a21ce3ffdab GIT binary patch literal 30530 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 AGynhq literal 0 HcmV?d00001 diff --git a/docs/_images/cp-entry-categories-tab.png b/docs/_images/cp-entry-categories-tab.png new file mode 100644 index 0000000000000000000000000000000000000000..daee52bce56446d57887f8cb716845d274baba2d GIT binary patch literal 31122 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 Ove0r`-}}1sgQ^5l;0- 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 + +# Category Group Settings Model + +**class `ExpressionEngine\Model\CategoryGroupSettings`** + +[TOC] + +## Properties + +| Name | Validation | Type | Description | +| ---------------------------- |------------- | ---------- | ----------- | +| `category_group_settings_id` | | | the primary key | +| `site_id` | | | the site id | +| `group_id` | required | | the category group id | +| `channel_id` | required | | the channel id | +| `cat_required` | | boolString | whether or not having category in this group is required for this channel | +| `cat_allow_multiple` | | boolString | whether or not this multiple selections are allowed in this category group for this channel | + +## Relationships + +### `Site` + +The MSM Site which the Category Group belongs to. + +### `Channel` + +Channel for which these settings are defined + +### `CategoryGroup` + +Category Group for which these settings are defined + + +## Methods + +- `getAllCustomFields()` +- `createCategoryField()` +- `getContentType()` +- `getCategoryTree()` +- `getFieldMetadata()` +- `populateCategories()` +- `buildCategoryOptionsTree()` +- `buildCategoryList($categories, $sort_column)` + +## Events + +- `afterDelete` diff --git a/docs/development/models/category-group.md b/docs/development/models/category-group.md index 37c5d8963..137cb4642 100644 --- a/docs/development/models/category-group.md +++ b/docs/development/models/category-group.md @@ -7,7 +7,7 @@ lang: php ExpressionEngine User Guide (https://github.com/ExpressionEngine/ExpressionEngine-User-Guide) @link https://expressionengine.com/ - @copyright Copyright (c) 2003-2022, Packet Tide, LLC (https://packettide.com) + @copyright Copyright (c) 2003-2023, Packet Tide, LLC (https://packettide.com) @license https://expressionengine.com/license Licensed under Apache License, Version 2.0 --> @@ -32,8 +32,29 @@ lang: php ## Relationships -- `CategoryField` -- `Category` +### `Site` + +The MSM Site which the Category Group belongs to. + +### `CategoryGroupSettings` + +Per-channel settings for this Category Group. + +### `CategoryFields` + +Custom fields associated with this Category Group + +### `Categories` + +Collection of categories that have been created in this group + +### `Channels` + +Channels that this Category Group has been assigned to + +### `UploadDestinations` + +File upload directories that this Category Group has been assigned to ## Methods diff --git a/docs/development/models/working-with-models.md b/docs/development/models/working-with-models.md index fdf713519..628d3d90d 100644 --- a/docs/development/models/working-with-models.md +++ b/docs/development/models/working-with-models.md @@ -26,8 +26,10 @@ These are the most commonly used models in ExpressionEngine. For a full list, se - [Addon Fieldtype Model](development/models/addon-fieldtype.md) - [Addon Module Model](development/models/addon-module.md) - [Addon Plugin Model](development/models/addon-plugin.md) -- [Category Field](development/models/category-field.md) - [Category Group](development/models/category-group.md) +- [Category Group Settings](development/models/category-group-settings.md) +- [Category](development/models/category.md) +- [Category Field](development/models/category-field.md) - [Channel Entry Model](development/models/channel-entry.md) - [Channel Field Group Model](development/models/channel-field-group.md) - [Channel Field Model](development/models/channel-field.md) diff --git a/docs/toc_sections/_advanced_usage_toc.yml b/docs/toc_sections/_advanced_usage_toc.yml index 2d4fb8191..86600e50c 100644 --- a/docs/toc_sections/_advanced_usage_toc.yml +++ b/docs/toc_sections/_advanced_usage_toc.yml @@ -416,6 +416,8 @@ href: development/models/category-field.md - name: Category Group Model href: development/models/category-group.md + - name: Category Group Settings Model + href: development/models/category-group-settings.md - name: Channel Entry Model href: development/models/channel-entry.md - name: Channel Field Group Model From ab4b86eb4db3f3295ac95043a1c5f2933975ff80 Mon Sep 17 00:00:00 2001 From: Yuri Salimovskiy Date: Tue, 24 Oct 2023 17:49:43 +0300 Subject: [PATCH 17/74] Added ability to edit file metadata from file field --- docs/_images/field_file.png | Bin 16761 -> 10200 bytes docs/_images/field_file_file.png | Bin 0 -> 7539 bytes docs/_images/icon_edit.png | Bin 0 -> 403 bytes docs/_images/icon_edit_meta.png | Bin 0 -> 463 bytes docs/_images/icon_remove.png | Bin 0 -> 364 bytes docs/fieldtypes/file.md | 10 ++++++++-- 6 files changed, 8 insertions(+), 2 deletions(-) create mode 100644 docs/_images/field_file_file.png create mode 100644 docs/_images/icon_edit.png create mode 100644 docs/_images/icon_edit_meta.png create mode 100644 docs/_images/icon_remove.png diff --git a/docs/_images/field_file.png b/docs/_images/field_file.png index 176dcf6d3045929593d2f5875298ce0f8dd69b70..b56def0945d541dd0ba53ea8d3666b37ec5954be 100644 GIT binary patch literal 10200 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 z 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 diff --git a/docs/_images/field_file_file.png b/docs/_images/field_file_file.png new file mode 100644 index 0000000000000000000000000000000000000000..d605958d1c4d2384e56b17f31b2febc5f22ba729 GIT binary patch literal 7539 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,XgDFpa!L!lZw5zW-?hrP_ zq@HcLzTzS=Mjl*Iw0&iDHz}f|Sp`|_9pg+un0l)K;jt$vN?sr}%eJY$GyE#?=O6X> zAc@>}MnOIp%GOX)?J(s>ZsuZ!%eSQ4;x}a@`nE1ns_3NaXn;XgFmtIeJ$g1OO@#{* zu70Zzb#j+|RAZwwc^>*5AC+v1i612w+SWcCy|UuP(K8MvMDTr{Kmd1ig)rW$c}G3v zs7$b1_ed#kSi)=#U&GPtkh z7heRm|A|-4oxvHm_xQP{D{EFQmWc<@V*LpsitSDEKzKB$hSljg{;zFvJuJh2u-hyX zk?tLH#>z`8In2y1lm4Hy%g7yHPHv<@Iw1j{z2WP-$l; z{SBk1z3V;W^KC@|10vA=wo*TD{lFl8K!eKatg38vBNY2EIU<*pq}U&rhA+vd!(i$Z z5P8wdD>^z4gN^-S?XJeVh3ed1C`jNsMOm62Wzh zMsK#OmGJDz2p$_&1*#H>)TF>euF=XnS8iKsYe^@%W$ZM}+Nsb1;cv-#G%U44{HR19 zrBx&JrchgtCqtC2q9|9n(|W?8Vt3M0W2|RI^+R=s0(U`CpUk~-e@ksY1JgI@6N=&Y zcG|0*$j)ouQf|w~cRe5}Hm0+x!gigtfivO8#R-;`-P(S-PFdQ_DXQ`*iC!C&neD#n z!zeADyq=(vkQLb$$JeP|4GD3EiZ5ME0NPP z3eEEWMuRD4w0ZV;2MHKs5p&^zDa3aUdvcHDH15LncGU0%+q@_re!(mkevD? z3{HG*jECd7P3+P;OM^)X7RQs|i}kSvf%%wWUp!q^bdFx6|9H3@5DCJnkbxR2Q>2cHF(a=S4hu9(q-So_SD z5|}|7n~nSj`wXxLF~&Vmx>!CeQS#Eh!@r3w=pt0gwFG{n|S5F<0QmkcQ?8(yN^1-I^FCxUueaVxySg9iJP5We~RNajEUO zYhQ~|@5gtZJjvX(ibeGOD12&S_f~0LHNT{A4qDpdwpdnNQR?8q17s-;bB3Z$QlZ`J zejO#gjffnE`kWW996L%?7Kg0Fdm1%#bTfUfTHPj**4n(tavhK%d_$#0ZO;Y5wDBhE z+?|MsN;wcxvxDu4r!4yElJE}JGkAi+&iW_nW(R}MbR`vpK;36OI)*zV7e|j&^DC-9 z>@WD;5}8C>CTf6%As0;D7ipTL;i&{U;_?d!u?W}LM~kI_?qKHUuH})oVV!qcdp!Mv zO1>)2$AADUi~D3pc==~Yw0-<18%rW)Ox7NvX9!;h@g_6wfL{ebvBNjpEc{EAg90XE?x z`W&9gg?q50Y=JLtB77uXwlBW}SI-nDsbacjg?$fZR^lWV3{IpDGuTASfCV9xAk8bP z8y0_*nIG1$^yuPRUUfxP#ZQrxzF9ZkaiesRN=Cfy{KxHgD_*7S=&&Dhgor2IP;1Lom)ZwMo{V6V3Nc-Mby`<4%56>Ei4wGeQvM30U3PZt~`pPPa zfN>8?Sz6Zp9hUNI=RR=$-bo^O$r|Fw`QIti_k3Zh@YM+!JDs333>>n>_Q=%UqNyDL zgse;c5k2WjagLn=d5;LlC;sRD&Hq5U{%P#|Yl8iC+2Z23i5V!%T&6HFRD{{az+lK3 z>>5pvJq9V&E6MFQy85i00MJ}{w>%b}YMj9lTdxJejmX_CW$zn)|LbvGSwEgQZN@UQ5j+a61GMhxYm}-#fBAm^cGZvT literal 0 HcmV?d00001 diff --git a/docs/_images/icon_edit.png b/docs/_images/icon_edit.png new file mode 100644 index 0000000000000000000000000000000000000000..ec421f13fa76ad6e9404115ede4a091ede6cc153 GIT binary patch literal 403 zcmV;E0c`$>P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0VqjCK~zXf?bSg` zgJ2wh@u$HCtqH**b}4Ywp$1Wx5p?d*!7tf8Itc9p1T~072U#scDJohJRI3dqSibef zV5zAfbl7uIUiJ6>4~kQRf%`#5<>WDwCU{`~75C`fTNs@OdY)VwD<$s3?I!w(!%W{q zZ(Id#kOKdP_suezwt~8`g;u%ap!F)Rk4lKkiS20?hu0i-`u@@j)~(BIxg_rymEa5g zf#=b7mQZ-)c<&6`&7rJsqOJbMV@^H>e?66_SO|wjG4KG`d&6k7xLFQ|MStL7a1&dN zhDDLMbD16%Mc@t>ZI{}1I#?8r4=pTrj%vX_cb_=blfk0!SMmIaT>}(<;%7?K>TA^1 x_^>Dxce)nldy(owg<@VVCT#MX3oJt%J^}97mlgv@#ZLeL002ovPDHLkV1l8BskQ(B literal 0 HcmV?d00001 diff --git a/docs/_images/icon_edit_meta.png b/docs/_images/icon_edit_meta.png new file mode 100644 index 0000000000000000000000000000000000000000..7dd68aa4a0093f8e6dc58af3db59e33ca5fa9b14 GIT binary patch literal 463 zcmV;=0WkiFP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0c1%;K~zXfWBd;U z40HfYP@3jo)FQG0-7LbL>Rw)DSh?jP!@IvwJ`sRhUXvl*U6Fwu%0~epi?D&0`?vpJ za~aAZ3cUWmZ{DH*SD-v}Fz`Y5>c9?$!y+CG!Qz(~maTun@DVDG4Y0_mF(i5@F))1l z%J7qwmw}rVDuDzDTciUOAOODJJj$@@#7_q1f2<6~;kFFgTu=!pV1d%O!CRn@)?)XO zn5iv8upuwRl3gDegj^jM96z04*mCtVgSIIzR239}e1r`Un;5>_IP!nq!ZZJ${d)2L z(BjSir!Bwu|Jh%tBod$~F@Sw?l7qn`#+ZTc<}HRhEOHD1VR{UbSWLy8kKSKrSi9~% z!zNXp8Pf$!==2E|Yd2GMJW8CG54XYjyb2?&s1O?49|axfCVM)(ufP9Nc1avDIhMPqU3;><9Ia>{0))W8$002ovPDHLk FV1hiF!OZ{w literal 0 HcmV?d00001 diff --git a/docs/_images/icon_remove.png b/docs/_images/icon_remove.png new file mode 100644 index 0000000000000000000000000000000000000000..be400d33e8dc4bfb07ca8c2910182aa20c2bf47e GIT binary patch literal 364 zcmeAS@N?(olHy`uVBq!ia0vp^l0YoZ!3HG%J$@n#q!^2X+?^QKos)S9a~60+7BevL9R^{>kW|zoM|IQe;xpsdy$l3RgSBr_|f1IIA^798uc9x?FNyO-j;)Z5NXRT2~!r?a&WvV3Uupo%Qe$ zyBeF`x_X}bbsLOM+`M5>ky+#@`he|-yUk>Y=F|yl%`(Opm=>h}DCz0k#K6+Ao#n~o z((96Pf74liwKP7wyfk=4VGFy!%v}nF1s{b~Ivy?Z4Sd|epkP!Q+v;Xy!sp;9&b9T$ z3Du^R-8(wipSH^{;7D)fa$wXeG%<+EoXFy)tH@|zz`#&en=ksm^NJoYgcv+s{an^L HB{Ts5F209U literal 0 HcmV?d00001 diff --git a/docs/fieldtypes/file.md b/docs/fieldtypes/file.md index 3f7d62c48..1e3b2bcee 100755 --- a/docs/fieldtypes/file.md +++ b/docs/fieldtypes/file.md @@ -15,11 +15,17 @@ lang: ee [TOC] -File fields utilize the built-in file browser to store uploaded files and images for your publishers. +File fields utilizes the built-in file browser to store uploaded files and images for your publishers. ![file field](_images/field_file.png) -NOTE: **Note:**Your site must have at least one upload directory before you can create a file field. +NOTE: **Note:** Your site must have at least one upload directory before you can create a file field. + +File field allows browsing through file that have been already uploaded, as well as uploading new file - using the OS file picker interface or with drag and drop. + +![file field with file selected](_images/field_file_file.png) + +Once selected in the field, the file can be replaced by clicking edit icon icon. The field can be cleared by clicking remove icon icon (this would not remove the file from the system). You can also change the file metadata (such as title or description) by clicking settings icon icon - note that file meta data will be changed globally throughout the system. ## Field Settings From d3487cc5346a500e3ce2ffc68c228c39bd6dd7a0 Mon Sep 17 00:00:00 2001 From: Yuri Salimovskiy Date: Wed, 25 Oct 2023 10:16:00 +0300 Subject: [PATCH 18/74] showing field short names on Entry Publish page --- docs/_images/field_short_name.png | Bin 0 -> 2913 bytes docs/control-panel/create.md | 3 +++ 2 files changed, 3 insertions(+) create mode 100644 docs/_images/field_short_name.png diff --git a/docs/_images/field_short_name.png b/docs/_images/field_short_name.png new file mode 100644 index 0000000000000000000000000000000000000000..b050d0d103fd986835aa4e51ab2f4547f0804469 GIT binary patch literal 2913 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 LNkvXXu0mjfsMe1Z literal 0 HcmV?d00001 diff --git a/docs/control-panel/create.md b/docs/control-panel/create.md index ddfbddbf5..b7f9c9cb3 100755 --- a/docs/control-panel/create.md +++ b/docs/control-panel/create.md @@ -51,6 +51,9 @@ This can be done in two ways: - assign custom field to a [Field Group](/control-panel/field-manager/field-manager-settings.md#createedit-field-group) which is associated to the Channel - assign field directly to channel by editing [Channel preferences](control-panel/channels.md#fields-tab) +In the [templates](templates/overview.md) you will be referencing the field by its short name. The short name of the field is usually displayed next to the field name in the publish form (field short name) and will be copied to the clipboard when clicked. Displaying the short name can be turned on or off in the [Role](control-panel/member-manager.md) settings. + +Note that some field can be displayed with just single tags, while others would require tag pair with extra variables. More information can be found in the documentation for appropriate [field type](fieldtypes/overview.md). ## Date Tab From dea398e903a13cb6b050a274b03eab7e23f8d59a Mon Sep 17 00:00:00 2001 From: Yuri Salimovskiy Date: Wed, 25 Oct 2023 10:20:54 +0300 Subject: [PATCH 19/74] backspace parameter for memberlist tag --- docs/member/memberlist.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/member/memberlist.md b/docs/member/memberlist.md index 3a43a9f61..86be33dad 100644 --- a/docs/member/memberlist.md +++ b/docs/member/memberlist.md @@ -80,6 +80,12 @@ This parameter allows you to specify the id attribute for the search <form> This parameter allows you to specify a name attribute for the search <form> tag. +### `backspace=` + + backspace="3" + +The `backspace=` parameter will remove specified number of characters, including spaces and line breaks, from the last iteration of the tag pair. + ## Form Variables ### `{form_declaration}` From af94f5b95136da168cb89f39723ca7d8195c2cb7 Mon Sep 17 00:00:00 2001 From: Yuri Salimovskiy Date: Wed, 25 Oct 2023 10:31:49 +0300 Subject: [PATCH 20/74] Enabled logging in using email address --- docs/member/login.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/member/login.md b/docs/member/login.md index ce33d2cd9..15f0467a0 100644 --- a/docs/member/login.md +++ b/docs/member/login.md @@ -88,9 +88,11 @@ Member password. This is a **required** field: ### Username -Member username. This is a **required** field: +Member username. This is a **required** field. - +NOTE: Starting with ExpressionEngine 7.4 the users are able to enter their email address into username field to log in. + + From 5c6a36c1897a521f3d81c5b116ba0b69c5cf5296 Mon Sep 17 00:00:00 2001 From: Yuri Salimovskiy Date: Wed, 25 Oct 2023 12:00:12 +0300 Subject: [PATCH 21/74] config file docs --- docs/config/config.md | 86 +++++++++++++++++++++++ docs/toc_sections/_advanced_usage_toc.yml | 2 + 2 files changed, 88 insertions(+) create mode 100644 docs/config/config.md diff --git a/docs/config/config.md b/docs/config/config.md new file mode 100644 index 000000000..fbab1442b --- /dev/null +++ b/docs/config/config.md @@ -0,0 +1,86 @@ + + +# Main Configuration File + +The main configuration settings are stored in the for of PHP array in `system/user/config/config.php` file. + +This file is populated automatically during the installation process and contains the most important settings that are used by ExpressionEngine. + +The main configuration file is being loaded every time the system is run, meaning that [config overrides](general/system-configuration-overrides.md) set in `config.php`` always affect the systemโ€™s configuration. + +At the minimum, the configuration file contains the following settings: + +#### `app_version` + +The installation's ExpressionEngine version. This value is set automatically and normally should not be modified. + +However if for a certain reason you need to run the update script again, you can change this value to a lower version number so the system would "see" the update available. + + $config['app_version'] = '7.4.0'; + +#### `encryption_key` + +This is the secret key used by the [Encrypt service](development/services/encrypt.md) to protected sensitive data in the database. It is set automatically during the installation process. If you need to use your own key please refer to [Troubleshooting guide](troubleshooting/error-messages.md#generating-new-encryption-keys) on how to generate a new one. + + $config['encryption_key'] = '26791dcd5c7cc9e569cc05b16b96235985cc9f03'; + +#### `session_crypt_key` + +Similar to `encryption_key`, but used to protected session data. + + $config['session_crypt_key'] = 'd9e776dc9a5de0cd83e7c76a76756daa64ff4b8b'; + +#### `database` + +This is probably most important setting in the configuration file. It contains the database connection details. The array is required to have element with key `expressionengine`, which in turn needs to be array with the following keys: + + - `hostname` - The hostname or IP address of database server + - `database` - The name of the database to connect to + - `username` - The username used to connect to the database + - `password` - The password used to connect to the database + - `dbprefix` - The prefix used for all database tables (default is `exp_`) + - `char_set` - The character set used in communicating with the database (default is `utf8mb4`) + - `dbcollat` - The character collation used in communicating with the database (default is `utf8mb4_unicode_ci`) + - `port` - The port used to connect to the database (default is `3306`) + + ```php + $config['database'] = array( + 'expressionengine' => array( + 'hostname' => 'localhost', + 'database' => 'ee740', + 'username' => 'root', + 'password' => '', + 'dbprefix' => 'exp_', + 'char_set' => 'utf8mb4', + 'dbcollat' => 'utf8mb4_unicode_ci', + 'port' => '' + ), + ); + ``` + +In addition, you can use following keys inside `expressionengine`: + + - `pconnect` - Whether to use persistent connections (default is `true`) + +The following keys can be specified that will be converted to [PDO constants](https://www.php.net/manual/en/ref.pdo-mysql.php#pdo-mysql.constants) and passed to the database driver: + + - `MYSQL_ATTR_LOCAL_INFILE` + - `MYSQL_ATTR_LOCAL_INFILE_DIRECTORY` + - `MYSQL_ATTR_READ_DEFAULT_FILE` + - `MYSQL_ATTR_READ_DEFAULT_GROUP` + - `MYSQL_ATTR_MAX_BUFFER_SIZE` + - `MYSQL_ATTR_INIT_COMMAND` + - `MYSQL_ATTR_COMPRESS` + - `MYSQL_ATTR_SSL_CA` + - `MYSQL_ATTR_SSL_CAPATH` + - `MYSQL_ATTR_SSL_CERT` + - `MYSQL_ATTR_SSL_CIPHER` + - `MYSQL_ATTR_SSL_KEY` + - `MYSQL_ATTR_SSL_VERIFY_SERVER_CERT` \ No newline at end of file diff --git a/docs/toc_sections/_advanced_usage_toc.yml b/docs/toc_sections/_advanced_usage_toc.yml index 2d4fb8191..45699e060 100644 --- a/docs/toc_sections/_advanced_usage_toc.yml +++ b/docs/toc_sections/_advanced_usage_toc.yml @@ -7,6 +7,8 @@ - name: Config Files items: + - name: Main Configuration File + href: config/config.md - name: System Config Overrides href: general/system-configuration-overrides.md - name: Additional Config Files From 645f172e27560c9621acd521f711c79897d6b87b Mon Sep 17 00:00:00 2001 From: Yuri Salimovskiy Date: Wed, 25 Oct 2023 12:51:15 +0300 Subject: [PATCH 22/74] Add {exp:member:role_groups} template tag --- docs/member/member-roles-tags.md | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/docs/member/member-roles-tags.md b/docs/member/member-roles-tags.md index 7a906c057..195b0cb5d 100644 --- a/docs/member/member-roles-tags.md +++ b/docs/member/member-roles-tags.md @@ -13,7 +13,7 @@ ## `{exp:member:roles}` -The `{exp:member:roles}` tag allows you to display all groups that the member belongs to. +The `{exp:member:roles}` tag allows you to display all roles that the member belongs to. {exp:member:roles}

    {name} ({role_id}{if is_primary_role}, Primary Role{/if})

    @@ -25,7 +25,7 @@ The `{exp:member:roles}` tag allows you to display all groups that the member be member_id="147" -Specifies a particular member's information to display. By default (if you do not include the member_id parameter, the tag will simply display information pertaining to the currently logged-in user. +Specifies a particular member's information to display. By default (if you do not include the `member_id`` parameter), the tag will simply display information pertaining to the currently logged-in user. ### Variables @@ -77,3 +77,29 @@ The `{exp:member:has_role}` tag allows you to display or hide its content depend member_id="147" Specifies a particular member's information to display. By default (if you do not include the member_id parameter, the tag will simply display information pertaining to the currently logged-in user. + +## `{exp:member:role_groups}` + +The `{exp:member:role_groups}` tag allows you to display role groups to which the member is assigned via his roles. + + {exp:member:role_groups} +

    {role_group_name} (#{role_group_id})

    + {/exp:member:role_groups} + +### Parameters + +#### `member_id=` + + member_id="147" + +Specifies a particular member's information to display. By default (if you do not include the `member_id`` parameter), the tag will display information pertaining to the currently logged-in user. + +### Variables + +#### `{role_group_id}` + +Role Group ID + +#### `{role_group_name}` + +Role Group name \ No newline at end of file From 0893c2cea976bbc456f2db8a2aed97ac61c9a2c3 Mon Sep 17 00:00:00 2001 From: Yuri Salimovskiy Date: Wed, 25 Oct 2023 13:29:21 +0300 Subject: [PATCH 23/74] additional permissions to manage category groups --- docs/control-panel/categories.md | 4 ++++ docs/development/services/permission.md | 3 +++ 2 files changed, 7 insertions(+) diff --git a/docs/control-panel/categories.md b/docs/control-panel/categories.md index f290b35f1..a0af361fb 100644 --- a/docs/control-panel/categories.md +++ b/docs/control-panel/categories.md @@ -39,10 +39,14 @@ Extra saving options are also available from the dropdown menu under "Save": - "Save & Close" - redirects to categories list after saving - "Clone to New Category" - saves the changes into a new category. The current category is used as a "template" and remains unchanged. +Note that only members with appropriate permissions are able to perform actions on categories. The permissions are being set per Role globally as well as per each Category Group. + ## Create/Edit Category Groups **Control Panel Location: `Content > Categories > New/Edit Category Group`** +Access to this sections requires "Can edit category groups" permission to be set for member Role. + The category group form is broken out into 3 tabs: ### Details tab diff --git a/docs/development/services/permission.md b/docs/development/services/permission.md index 57e83255f..5a4b58166 100755 --- a/docs/development/services/permission.md +++ b/docs/development/services/permission.md @@ -134,6 +134,9 @@ The following are permission names available for validating a user's permissions - `can_create_channel_fields` - `can_edit_channel_fields` - `can_delete_channel_fields` +- `can_create_category_groups` +- `can_edit_category_groups` +- `can_delete_category_groups` - `can_create_categories` - `can_edit_categories` - `can_delete_categories` From 2795cc54f8e46ad97b128772cc71badad0109aed Mon Sep 17 00:00:00 2001 From: Yuri Salimovskiy Date: Wed, 25 Oct 2023 15:03:59 +0300 Subject: [PATCH 24/74] time input included with date picker --- docs/fieldtypes/date.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/fieldtypes/date.md b/docs/fieldtypes/date.md index 75a70497d..ff633f66a 100755 --- a/docs/fieldtypes/date.md +++ b/docs/fieldtypes/date.md @@ -25,6 +25,8 @@ Choose how the field data should be localized. The options are ### Include time? When turned off, only date will be displayed, otherwise the editor can also enter the time into the same field. +When turned on, the date picker will also display time input. Depending on OS locale, the time input will be in 12 or 24 hour format. + ## Publish form On the publish form (when `Date Localization` setting is set to `Ask each time`), along with a field to enter a date, you will also see an option to select whether you want the date localized or fixed: From 7f52544c0d7220026111b2de039b381a1407254e Mon Sep 17 00:00:00 2001 From: Yuri Salimovskiy Date: Tue, 14 Nov 2023 10:46:49 +0200 Subject: [PATCH 25/74] Update cli.md --- .../development/extension-hooks/global/cli.md | 36 ++++++++----------- 1 file changed, 14 insertions(+), 22 deletions(-) diff --git a/docs/development/extension-hooks/global/cli.md b/docs/development/extension-hooks/global/cli.md index 9ff7ee93c..1c0e01c1f 100644 --- a/docs/development/extension-hooks/global/cli.md +++ b/docs/development/extension-hooks/global/cli.md @@ -18,39 +18,31 @@ lang: php | Parameter | Type | Description | | ------------------ | -------- | ------------------------------------------------------------------------ | | \$cli | `Object` | Instance of CLI currently running | -| \$commandClassName | `String` | Class name of command to be executed | -| \$commandObject | `Object` | Instance of command class to be executed | -| Returns | `Object` | Modified instance of `$commandObject` | +| Returns | `Void` | | -Run tasks on every CLI request. Allows running the code before certain CLI command is run as well as modification of command class instance. +Run tasks on every CLI request. Allows running the code before certain CLI command. How it's called: - $command = ee()->extensions->call('cli_boot', $this, $commandClass, $command); + $command = ee()->extensions->call('cli_boot', $this); if (ee()->extensions->end_script === true) { $this->complete(''); } -### `core_template_route($uri_string)` +### `cli_before_handle($cli, $command, $commandClass)` -| Parameter | Type | Description | -| ------------ | -------- | ------------------------------------------------------------------------ | -| \$uri_string | `String` | Current URI string | -| Returns | `Array` | Array containing the name of the template group and template (see below) | +| Parameter | Type | Description | +| -------------- | -------- | ------------------------------------------------------------------------ | +| \$cli | `Object` | Instance of CLI currently running | +| \$commandClass | `String` | Class name of command to be executed | +| \$command | `Object` | Instance of command class to be executed | +| Returns | `Object` | Modified instance of `$command` | -Reassign the template group and template loaded for parsing. +Run tasks right before CLI command is excuted. Allows modification of command class instance. How it's called: - $edata = ee()->extensions->call('core_template_route', ee()->uri->uri_string); - if (is_array($edata) && count($edata) == 2) - { - list($template_group, $template) = $edata; + $command = ee()->extensions->call('cli_before_handle', $this, $command, $commandClass); + if (ee()->extensions->end_script === true) { + $this->complete(''); } - -Example of array to return: - - array( - 'template_group', // Template group name - 'template' // Template name - ); From 9e84e5f057e6e0de1ce2aabc802ade34b913e11d Mon Sep 17 00:00:00 2001 From: Yuri Salimovskiy Date: Tue, 14 Nov 2023 11:28:21 +0200 Subject: [PATCH 26/74] Update cli.md --- docs/development/extension-hooks/global/cli.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/development/extension-hooks/global/cli.md b/docs/development/extension-hooks/global/cli.md index 1c0e01c1f..f29d3ed25 100644 --- a/docs/development/extension-hooks/global/cli.md +++ b/docs/development/extension-hooks/global/cli.md @@ -13,14 +13,14 @@ lang: php # CLI Extension Hooks -### `cli_boot($cli, $commandClassName, $commandObject)` +### `cli_boot($cli)` | Parameter | Type | Description | | ------------------ | -------- | ------------------------------------------------------------------------ | | \$cli | `Object` | Instance of CLI currently running | | Returns | `Void` | | -Run tasks on every CLI request. Allows running the code before certain CLI command. +Run tasks before every CLI request. How it's called: @@ -29,7 +29,7 @@ How it's called: $this->complete(''); } -### `cli_before_handle($cli, $command, $commandClass)` +### `cli_before_handle($cli, $commandClass, $command)` | Parameter | Type | Description | | -------------- | -------- | ------------------------------------------------------------------------ | @@ -42,7 +42,7 @@ Run tasks right before CLI command is excuted. Allows modification of command cl How it's called: - $command = ee()->extensions->call('cli_before_handle', $this, $command, $commandClass); + $command = ee()->extensions->call('cli_before_handle', $this, $commandClass, $command); if (ee()->extensions->end_script === true) { $this->complete(''); } From 12e38d5033279a45cea9de410f753df94463a2ca Mon Sep 17 00:00:00 2001 From: Bryan Nielsen Date: Tue, 14 Nov 2023 14:16:50 -0500 Subject: [PATCH 27/74] Minor changes to member documentation --- docs/member/edit-profile.md | 4 ++-- docs/member/registration.md | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/member/edit-profile.md b/docs/member/edit-profile.md index 7c9e0ef87..bee7a4948 100644 --- a/docs/member/edit-profile.md +++ b/docs/member/edit-profile.md @@ -122,7 +122,7 @@ The custom profile fields can be displayed individually by addressing them using ## Custom Profile Field Variable Pair -All custom fields are output inside the ``{custom_profile_fields}`` varialble tag pair. +All custom fields are output inside the ``{custom_profile_fields}`` variable tag pair. {custom_profile_fields}

    @@ -175,7 +175,7 @@ Text direction set for field (`rtl` or `ltr`) #### `{maxlength}` -Max. length set for text fields +Maximum length set for text fields #### `{field_type}` diff --git a/docs/member/registration.md b/docs/member/registration.md index e974ab751..42e50819f 100644 --- a/docs/member/registration.md +++ b/docs/member/registration.md @@ -26,10 +26,10 @@ NOTE: **Important:** In order for site visitors to be allowed to register for ac ### `form_class=` form_class="register" - + ### `primary_role=` - primary_role="7" + primary_role="7" This parameter allows you to specify the primary role to assign the new member, overriding the default member setting. @@ -120,12 +120,12 @@ Please note you need to address those by ID and not name, e.g. `m_field_id_8` -And easier way to display the field's input is to use special tag: +And easier way to display the field's input is to use the special tag: {field:work_title} -Custom fields can also be output inside the ``{custom_fields}`` varialble tag pair. +Custom fields can also be output inside the ``{custom_fields}`` variable tag pair. {custom_fields}

    @@ -203,7 +203,7 @@ This will show errors with the submitted password as well as password confirm. ### `{field:field_name}` -Displays the custom field input form for the given field (substitute `field_name` with actual field name). Note that the field must be set as "visible on registration" in order to show up. +Displays the custom field input form for the given field (substitute `field_name` with the actual field name). Note that the field must be set as "visible on registration" in order to show up. ## Example From 12de0467c49616a1a76918bb0e06a0f9c39a472b Mon Sep 17 00:00:00 2001 From: Yuri Salimovskiy Date: Wed, 17 Jan 2024 14:28:53 +0200 Subject: [PATCH 28/74] add some info on member manager --- docs/_images/cp-members.png | Bin 104841 -> 109888 bytes docs/control-panel/member-manager.md | 26 +++++++++++++++++--------- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/docs/_images/cp-members.png b/docs/_images/cp-members.png index 1973814236af65171a6fd9cb3bbc31eb35c0e7a8..bff86e5900b2f65914579818978c6c00509e99ad 100644 GIT binary patch literal 109888 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 literal 104841 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%0A=oaOy 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 z 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 XOe!x{9)x@b{2g`j_`cH7@4x;IykeNY diff --git a/docs/control-panel/member-manager.md b/docs/control-panel/member-manager.md index 0f41061c8..ec3ce50af 100755 --- a/docs/control-panel/member-manager.md +++ b/docs/control-panel/member-manager.md @@ -9,19 +9,25 @@ # Member Manager -**Control Panel Location: `Members`** +[TOC=2-3] -This page is used both to search and to browse through active members within your ExpressionEngine installation. Also, you can filter the members by member role and search members. +## Members Listing -This page also allows you to do the following: +**Control Panel Location: `Members`** -[TOC=2-3] +This page is used both to search and to browse through members within your ExpressionEngine installation. ![Member Manager Control Panel Page](_images/cp-members.png) +Filters and search input can be used to narrow down the list of members displayed. + +The set of columns displayed can be customized using "Columns" dropdown. By default, the following columns are shown: Member ID, Name (which is composed out of avatar, username and screen name), Email, Roles, Join Date,Last Visit Date. Also each member row has "Actions" buttons that contains links to some common actions and a checkbox that allows performing bulk actions on selected members. When "Pending" is selected in Role filter, the options in bulk action dropdown are "Approve" and "Decline", otherwise "Remove" is the only option. + +In the Roles column all roles assigned to member are shown. When multiple roles are assigned, the primary role wouild have an indicator. If the member is pending, the columns does not say "Pending", but instead shows the role to which the member would be assigned once approved (with pending indicator) and a button to approve. + ## Member Roles -**Control Panel Location: `Members > Member Roles`** +**Control Panel Location: `Members > Roles`** The _Member Roles_ area of the Control Panel permits you to manage your Member Roles. The member roles can be sorted by ID, Role Name, and Status. @@ -31,7 +37,7 @@ You can assign multiple roles to a member. ### Create/Edit All Member Roles -**Control Panel Location: `Members > Member Roles > Create/Edit`** +**Control Panel Location: `Members > Roles > Create/Edit`** This sections allows you to set the various permissions and settings for the selected Member Role. @@ -50,13 +56,15 @@ Edit the role by clicking its name in the list. ## Custom Member Fields -**Control Panel Location: `Members > Member Fields`** +**Control Panel Location: `Settings > Members > Member Fields`** + +The link to this section is also found on top of Member Listing page. The _Member Fields_ feature permits you to add fields to the member registration form and/or member profile and My Account areas. ### Create/Edit -**Control Panel Location: `Members > Member Fields > New/Edit`** +**Control Panel Location: `Settings > Members > Member Fields > New/Edit`** This section allows you to create or edit Member Fields. @@ -112,7 +120,7 @@ This section has the following options: ## Ban Settings -**Control Panel Location: `Members sidebar > Ban Settings`** +**Control Panel Location: `Settings > Members > Ban Settings`** The User Banning section of the Control Panel allows you to ban users by IP address, email, or name. From 7e3d41cd9aa31428d107ac1ea77607aa14b09548 Mon Sep 17 00:00:00 2001 From: Yuri Salimovskiy Date: Wed, 17 Jan 2024 14:41:32 +0200 Subject: [PATCH 29/74] updated docs on member manager --- docs/_images/cp-members.png | Bin 109888 -> 79232 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/_images/cp-members.png b/docs/_images/cp-members.png index bff86e5900b2f65914579818978c6c00509e99ad..3d4a076843a0a2536897a77c5d4371d0023ddf7e 100644 GIT binary patch literal 79232 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

    r+ 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 i5cv4#>FT44zXEi(yB$&IJ({d literal 109888 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 From f7ff089c2f816878d45f41f9acf1b160facffcc2 Mon Sep 17 00:00:00 2001 From: Yuri Salimovskiy Date: Thu, 1 Feb 2024 10:28:24 +0200 Subject: [PATCH 30/74] document member fieldtype extension hooks --- docs/add-ons/pro-variables/type.md | 2 +- .../extension-hooks-overview.md | 1 + .../extension-hooks/global/member-ft.md | 60 +++++++++++++++++++ docs/fieldtypes/member.md | 4 +- docs/fieldtypes/relationships.md | 2 +- docs/toc_sections/_advanced_usage_toc.yml | 2 + 6 files changed, 66 insertions(+), 5 deletions(-) create mode 100644 docs/development/extension-hooks/global/member-ft.md diff --git a/docs/add-ons/pro-variables/type.md b/docs/add-ons/pro-variables/type.md index 1d1eea1ed..5b90c3af4 100644 --- a/docs/add-ons/pro-variables/type.md +++ b/docs/add-ons/pro-variables/type.md @@ -60,7 +60,7 @@ Allows applying modifiers, which, among other, are used to apply [on-the-fly ima ## Grid -Uses the native [Grid field](/fieldtypes/grid.md). All native types are available, _except for Relationships_. To output the variable, use the `{exp:pro_variables:pair}` or `{exp:pro_variables:single}` tag where appropriate. You can use any of Gridโ€™s [parameters](/fieldtypes/grid.md#parameters) and [variables](/fieldtypes/grid.ms#variables) using these tags. Additionally, one more parameter is available: +Uses the native [Grid field](/fieldtypes/grid.md). All native types are available, _except for Relationships and Members_. To output the variable, use the `{exp:pro_variables:pair}` or `{exp:pro_variables:single}` tag where appropriate. You can use any of Gridโ€™s [parameters](/fieldtypes/grid.md#parameters) and [variables](/fieldtypes/grid.ms#variables) using these tags. Additionally, one more parameter is available: ### Parameters diff --git a/docs/development/extension-hooks/extension-hooks-overview.md b/docs/development/extension-hooks/extension-hooks-overview.md index 7bac8c885..6327f7217 100644 --- a/docs/development/extension-hooks/extension-hooks-overview.md +++ b/docs/development/extension-hooks/extension-hooks-overview.md @@ -29,6 +29,7 @@ Core hooks are categorized into 5 categories: - [Output Library](development/extension-hooks/global/output.md) - [Pagination Library](development/extension-hooks/global/pagination.md) - [Relationships Fieldtype](development/extension-hooks/global/relationships.md) + - [Members Fieldtype](development/extension-hooks/global/member-ft.md) - [Session Library](development/extension-hooks/global/session.md) - [Template Library](development/extension-hooks/global/template.md) - [Text Helper](development/extension-hooks/global/text-helper.md) diff --git a/docs/development/extension-hooks/global/member-ft.md b/docs/development/extension-hooks/global/member-ft.md new file mode 100644 index 000000000..85422f098 --- /dev/null +++ b/docs/development/extension-hooks/global/member-ft.md @@ -0,0 +1,60 @@ +--- +lang: php +--- + + + +# Members Fieldtype Extension Hooks + +[TOC=3] + +### `member_relationships_display_field($entry_id, $field_id, $sql)` + +| Parameter | Type | Description | +| ---------- | -------- | ------------------------------------------------------- | +| \$entry_id | `Int` | Entry ID of entry being edited. | +| \$field_id | `Int` | Field ID of field currently being loaded. | +| \$sql | `String` | Compiled SQL about to be run to gather related members. | +| Returns | `Array` | Result Array of query result. | + +Allows developers to modify the existing query that retrieves related members for the publish field or to perform their own queries to return related members. + +How it's called: + + if (ee()->extensions->active_hook('member_relationships_display_field') === TRUE) + { + $related = ee()->extensions->call( + 'member_relationships_display_field', + $entry_id, + $this->field_id, + ee()->db->_compile_select() + ); + } + else + { + $related = ee()->db->get()->result_array(); + } + +NOTE: **Note:** To use this hook, you can either add to the existing Active Record call, or call `ee()->db->_reset_select()` to cancel the Active Record call and start your own, or modify the passed compiled SQL. + +### `member_relationships_post_save($ships, $entry_id, $field_id)` + +| Parameter | Type | Description | +| ---------- | ------- | ---------------------------------------------- | +| \$ships | `Array` | Array of member IDs to be related to the entry. | +| \$entry_id | `Int` | Entry ID of entry being saved. | +| \$field_id | `Int` | Field ID of field currently being saved. | +| Returns | `Array` | Array of relationships. | + +Allows developers to modify or add to the relationships array before saving. + +How it's called: + + $ships = ee()->extensions->call('member_relationships_post_save', $ships, $entry_id, $field_id); diff --git a/docs/fieldtypes/member.md b/docs/fieldtypes/member.md index 87d303710..6630fd0e1 100644 --- a/docs/fieldtypes/member.md +++ b/docs/fieldtypes/member.md @@ -13,9 +13,7 @@ Members Fieldtype allows selecting one or multiple members and associating those [TOC] -Relationships are an extremely powerful tool that allow you to connect Entries in one Channel to those in another one, or even to other entries in the same channel. This ability allows you to store very complex content in your Channel entries. - -This fieldtype is currently only limited to Channels. +Members fieldtype is the tool that allow you to connect Members to Channel Entries. This ability allows you to store very complex content in your Channel entries. For example, you could create a Channel called "Articles" and then create a Channel Field called "Authors" that is a Members fieldtype. You could then associate one or more Members with each Article entry. This would allow you to display the author's name, bio, photo, etc. on the Article page. ![members field](_images/field_members.png) diff --git a/docs/fieldtypes/relationships.md b/docs/fieldtypes/relationships.md index b677a35dc..73a9f0fb2 100755 --- a/docs/fieldtypes/relationships.md +++ b/docs/fieldtypes/relationships.md @@ -11,7 +11,7 @@ [TOC] -Relationships are an extremely powerful tool that allow you to connect Entries in one Channel to those in another one, or even to other entries in the same channel. This ability allows you to store very complex content in your Channel entries. +Relationships are an extremely powerful tool that allows you to connect Entries in one Channel to those in another one, or even to other entries in the same channel. This ability allows you to store very complex content in your Channel entries. This fieldtype is currently only limited to Channels. diff --git a/docs/toc_sections/_advanced_usage_toc.yml b/docs/toc_sections/_advanced_usage_toc.yml index a40751102..e01f0c981 100644 --- a/docs/toc_sections/_advanced_usage_toc.yml +++ b/docs/toc_sections/_advanced_usage_toc.yml @@ -203,6 +203,8 @@ href: development/extension-hooks/global/pagination.md - name: Relationships Fieldtype href: development/extension-hooks/global/relationships.md + - name: Members Fieldtype + href: development/extension-hooks/global/member-ft.md - name: Session Library href: development/extension-hooks/global/session.md - name: Template Library From dba04a5a2e940144f5f849f58aa3e5474630ff02 Mon Sep 17 00:00:00 2001 From: Tom Jaeger Date: Fri, 2 Feb 2024 14:13:55 -0500 Subject: [PATCH 31/74] Changed from OS local to member pref --- docs/fieldtypes/date.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/fieldtypes/date.md b/docs/fieldtypes/date.md index ff633f66a..a067e093a 100755 --- a/docs/fieldtypes/date.md +++ b/docs/fieldtypes/date.md @@ -25,7 +25,7 @@ Choose how the field data should be localized. The options are ### Include time? When turned off, only date will be displayed, otherwise the editor can also enter the time into the same field. -When turned on, the date picker will also display time input. Depending on OS locale, the time input will be in 12 or 24 hour format. +When turned on, the date picker will also display time input. Depending on member preferences locale, the time input will be in 12 or 24 hour format. ## Publish form From c8a11040aa8bcc914d5b31a3351d3ae95b591680 Mon Sep 17 00:00:00 2001 From: Tom Jaeger Date: Fri, 2 Feb 2024 14:14:12 -0500 Subject: [PATCH 32/74] Update date.md --- docs/fieldtypes/date.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/fieldtypes/date.md b/docs/fieldtypes/date.md index a067e093a..056ede9f1 100755 --- a/docs/fieldtypes/date.md +++ b/docs/fieldtypes/date.md @@ -25,7 +25,7 @@ Choose how the field data should be localized. The options are ### Include time? When turned off, only date will be displayed, otherwise the editor can also enter the time into the same field. -When turned on, the date picker will also display time input. Depending on member preferences locale, the time input will be in 12 or 24 hour format. +When turned on, the date picker will also display time input. Depending on member preferences, the time input will be in 12 or 24 hour format. ## Publish form From 6a53179d4df9c9d6e0b2f6e04f9132e517a1b1b3 Mon Sep 17 00:00:00 2001 From: Tom Jaeger Date: Fri, 2 Feb 2024 14:16:19 -0500 Subject: [PATCH 33/74] small change --- docs/control-panel/categories.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/control-panel/categories.md b/docs/control-panel/categories.md index a0af361fb..9f7977445 100644 --- a/docs/control-panel/categories.md +++ b/docs/control-panel/categories.md @@ -45,7 +45,7 @@ Note that only members with appropriate permissions are able to perform actions **Control Panel Location: `Content > Categories > New/Edit Category Group`** -Access to this sections requires "Can edit category groups" permission to be set for member Role. +Access to this sections requires "Can edit category groups" permission to be set for the users member Role. The category group form is broken out into 3 tabs: From 616d82c3a970c0d555119f169f77385983c18c6b Mon Sep 17 00:00:00 2001 From: Tom Jaeger Date: Fri, 2 Feb 2024 14:25:32 -0500 Subject: [PATCH 34/74] Updated info around Role Groups --- docs/member/member-roles-tags.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/member/member-roles-tags.md b/docs/member/member-roles-tags.md index 195b0cb5d..4e724f042 100644 --- a/docs/member/member-roles-tags.md +++ b/docs/member/member-roles-tags.md @@ -80,7 +80,7 @@ Specifies a particular member's information to display. By default (if you do no ## `{exp:member:role_groups}` -The `{exp:member:role_groups}` tag allows you to display role groups to which the member is assigned via his roles. +The `{exp:member:role_groups}` tag allows you to display the role groups a member belongs to. Please note, while every member is in a Role not every member is in a Role Group. {exp:member:role_groups}

    {role_group_name} (#{role_group_id})

    @@ -102,4 +102,4 @@ Role Group ID #### `{role_group_name}` -Role Group name \ No newline at end of file +Role Group name From 6d846ed48e5ebfc998f888f30563ea43c19d0b39 Mon Sep 17 00:00:00 2001 From: Tom Jaeger Date: Fri, 2 Feb 2024 14:26:13 -0500 Subject: [PATCH 35/74] Update member-roles-tags.md --- docs/member/member-roles-tags.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/member/member-roles-tags.md b/docs/member/member-roles-tags.md index 4e724f042..ae4ea65d5 100644 --- a/docs/member/member-roles-tags.md +++ b/docs/member/member-roles-tags.md @@ -80,7 +80,7 @@ Specifies a particular member's information to display. By default (if you do no ## `{exp:member:role_groups}` -The `{exp:member:role_groups}` tag allows you to display the role groups a member belongs to. Please note, while every member is in a Role not every member is in a Role Group. +The `{exp:member:role_groups}` tag allows you to display the role groups a member belongs to. Please note, while every member is in a Role not every member is in a role group. {exp:member:role_groups}

    {role_group_name} (#{role_group_id})

    From ed2279f87e37885a6c2bfb8a9e87f75da7624232 Mon Sep 17 00:00:00 2001 From: Tom Jaeger Date: Fri, 2 Feb 2024 15:08:57 -0500 Subject: [PATCH 36/74] few small changes --- docs/member/login.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/member/login.md b/docs/member/login.md index 15f0467a0..78565e96e 100644 --- a/docs/member/login.md +++ b/docs/member/login.md @@ -90,7 +90,7 @@ Member password. This is a **required** field: Member username. This is a **required** field. -NOTE: Starting with ExpressionEngine 7.4 the users are able to enter their email address into username field to log in. +NOTE: Starting in ExpressionEngine 7.4 users are able to enter their email address into the username field to log in. From 68408adb802dd0c55ca47f4e45cfc3a336b676ca Mon Sep 17 00:00:00 2001 From: Tom Jaeger Date: Fri, 2 Feb 2024 15:11:13 -0500 Subject: [PATCH 37/74] small changes --- docs/member/memberlist.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/member/memberlist.md b/docs/member/memberlist.md index 86be33dad..682e8eb9a 100644 --- a/docs/member/memberlist.md +++ b/docs/member/memberlist.md @@ -84,7 +84,7 @@ This parameter allows you to specify a name attribute for the search <form> backspace="3" -The `backspace=` parameter will remove specified number of characters, including spaces and line breaks, from the last iteration of the tag pair. +The `backspace=` parameter will remove the specified number of characters, including spaces and line breaks, from the last iteration of the tag pair. ## Form Variables From 83892517367b2c369b4b887730afc473c5787709 Mon Sep 17 00:00:00 2001 From: Tom Jaeger Date: Fri, 2 Feb 2024 15:15:19 -0500 Subject: [PATCH 38/74] few small changes --- docs/fieldtypes/file.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/fieldtypes/file.md b/docs/fieldtypes/file.md index 1e3b2bcee..df9746c70 100755 --- a/docs/fieldtypes/file.md +++ b/docs/fieldtypes/file.md @@ -21,11 +21,11 @@ File fields utilizes the built-in file browser to store uploaded files and image NOTE: **Note:** Your site must have at least one upload directory before you can create a file field. -File field allows browsing through file that have been already uploaded, as well as uploading new file - using the OS file picker interface or with drag and drop. +File field allows you to browse through the files that have already been uploaded, as well as uploading new files - via using the OS file picker interface or by drag and dropping files to the file field. ![file field with file selected](_images/field_file_file.png) -Once selected in the field, the file can be replaced by clicking edit icon icon. The field can be cleared by clicking remove icon icon (this would not remove the file from the system). You can also change the file metadata (such as title or description) by clicking settings icon icon - note that file meta data will be changed globally throughout the system. +Once selected in the field, the file can be replaced by clicking the edit icon icon. The field can be cleared by clicking remove icon icon (this would not remove the file from the system). You can also change the file metadata (such as title or description) by clicking the settings icon icon - note that file meta data will be changed globally throughout the system. ## Field Settings From 1f80b4fd82a0081a032c66a38019175301c95e88 Mon Sep 17 00:00:00 2001 From: Tom Jaeger Date: Fri, 2 Feb 2024 15:18:19 -0500 Subject: [PATCH 39/74] few small changes --- docs/control-panel/channels.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/control-panel/channels.md b/docs/control-panel/channels.md index c16c9252e..60a003f8a 100755 --- a/docs/control-panel/channels.md +++ b/docs/control-panel/channels.md @@ -67,7 +67,7 @@ For each category group assigned to a channel, the following per-group settings | Setting | Default | Description | | --------------- | ------- | ------------------------------------------------------------------------------------------- | -| Allow multiple? | Yes | When turned on, multiple categories from the group can be selected for entry | +| Allow multiple? | Yes | When turned on, multiple categories from the group can be selected for an entry | | Required? | No | When turned on, selecting at least one category from the group is required to save an entry | --- From 2649120ce63aaf55ee0ef4f54ac797e12be8bc9a Mon Sep 17 00:00:00 2001 From: Tom Jaeger Date: Fri, 2 Feb 2024 15:20:50 -0500 Subject: [PATCH 40/74] few small changes --- docs/control-panel/create.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/control-panel/create.md b/docs/control-panel/create.md index fceecafea..90831d136 100755 --- a/docs/control-panel/create.md +++ b/docs/control-panel/create.md @@ -70,9 +70,9 @@ You may _optionally_ specify a date on which comments for this entry will no lon You may assign one of multiple (depending on [channel preference](control-panel/channels.md#categories-tab)) categories to your entry from the [category groups](control-panel/categories.md) associated with the channel. -Each associated category group will be rendered as separate set of checkboxes, or - if multiple selections are not allowed - as set of radio buttons. Selecting a category from group can also be set as required for channel. +Each associated category group will be rendered as separate set of checkboxes, or - if multiple selections are not allowed - as set of radio buttons. Selecting a category from a group can also be set as required for channel. -Additionally, "Manager Categories" toggle is provided, clicking which allows to add, edit or reorder the categories in the group. +Additionally, a "Manage Categories" toggle is provided, which allows the user to add, edit or reorder categories in the group. ![Publish Form - Categories](_images/cp-entry-categories-tab.png) From 64396f9b14dcdbf5b0123030778269d7d9fd4d50 Mon Sep 17 00:00:00 2001 From: Tom Jaeger Date: Fri, 2 Feb 2024 15:23:40 -0500 Subject: [PATCH 41/74] few small changes --- docs/development/models/category-group-settings.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/development/models/category-group-settings.md b/docs/development/models/category-group-settings.md index 30f8ca1dc..91bb78095 100644 --- a/docs/development/models/category-group-settings.md +++ b/docs/development/models/category-group-settings.md @@ -32,7 +32,7 @@ lang: php ### `Site` -The MSM Site which the Category Group belongs to. +The MSM Site for which the Category Group belongs to. ### `Channel` From 7906ac71d26142157197de53a374e0b74cbbe630 Mon Sep 17 00:00:00 2001 From: Bryan Nielsen Date: Thu, 8 Feb 2024 11:55:45 -0500 Subject: [PATCH 42/74] Update member-roles-tags.md --- docs/member/member-roles-tags.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/member/member-roles-tags.md b/docs/member/member-roles-tags.md index 8eddc2a1c..e74668106 100644 --- a/docs/member/member-roles-tags.md +++ b/docs/member/member-roles-tags.md @@ -72,7 +72,7 @@ The `{exp:member:has_role}` tag allows you to display or hide its content depend **Required** ID or role to check against. The content of the tag will be displayed if the user belongs to this role, otherwise `{if no_results}...{/if}` contents will be displayed. -It is also possible to pass multiple roles by separating those with a `|`. In this case, the content will be shown if the member belongs to at least one of the roles. +It is possible to pass multiple roles by separating the ids with a `|` character. In this case, the content will be shown if the member belongs to at least one of the roles. role_id="6|12" From b4597798a85eacd81f3325769372c9e23003d21b Mon Sep 17 00:00:00 2001 From: Bryan Nielsen Date: Thu, 8 Feb 2024 12:04:48 -0500 Subject: [PATCH 43/74] Update file.md --- docs/fieldtypes/file.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/fieldtypes/file.md b/docs/fieldtypes/file.md index df9746c70..36726ebb1 100755 --- a/docs/fieldtypes/file.md +++ b/docs/fieldtypes/file.md @@ -15,17 +15,17 @@ lang: ee [TOC] -File fields utilizes the built-in file browser to store uploaded files and images for your publishers. +File fields utilize the built-in file browser to store uploaded files and images for your publishers. ![file field](_images/field_file.png) NOTE: **Note:** Your site must have at least one upload directory before you can create a file field. -File field allows you to browse through the files that have already been uploaded, as well as uploading new files - via using the OS file picker interface or by drag and dropping files to the file field. +A File field allows you to browse through existing files and upload new files. You can use the operating system's file selection interface or simply drag and drop files to the File field to upload them. ![file field with file selected](_images/field_file_file.png) -Once selected in the field, the file can be replaced by clicking the edit icon icon. The field can be cleared by clicking remove icon icon (this would not remove the file from the system). You can also change the file metadata (such as title or description) by clicking the settings icon icon - note that file meta data will be changed globally throughout the system. +Once a file has been selected in the field, that file can be replaced by clicking the edit icon icon. The field selection can be cleared by clicking remove icon icon (this will not remove the file from the system). You can also change the file metadata (such as the title or description) by clicking the settings icon icon - please note that file's metadata will be changed globally throughout the system. ## Field Settings From f1f46683d61c55fed7a525780cce8feb52cb559f Mon Sep 17 00:00:00 2001 From: Bryan Nielsen Date: Thu, 8 Feb 2024 12:30:48 -0500 Subject: [PATCH 44/74] Update config-files.md --- docs/config/config-files.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/config/config-files.md b/docs/config/config-files.md index fc5f74c51..1e6568131 100644 --- a/docs/config/config-files.md +++ b/docs/config/config-files.md @@ -33,7 +33,7 @@ This file contains an array of foreign characters for transliteration conversion `valid_form_attributes.php` -Valid HTML attributes that might be passed via EE template tag parameters to the `form` tag when creating forms with `ee()->functions->form_declaration()`. Additionally, `data-` and `aria-` attributes can be used. +A list of HTML attributes that are allowed to be passed via EE template tag parameters to the `form` tag when creating forms with `ee()->functions->form_declaration()`. Additionally, attributes prefixed with `data-` and `aria-` can be used. #### Allowed Mime Types From f0198af06ebb5a45a9d35f35acf35a1c7a019aca Mon Sep 17 00:00:00 2001 From: Bryan Nielsen Date: Thu, 8 Feb 2024 12:36:27 -0500 Subject: [PATCH 45/74] Update create.md --- docs/control-panel/create.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/control-panel/create.md b/docs/control-panel/create.md index b7f9c9cb3..51f081f4b 100755 --- a/docs/control-panel/create.md +++ b/docs/control-panel/create.md @@ -51,9 +51,9 @@ This can be done in two ways: - assign custom field to a [Field Group](/control-panel/field-manager/field-manager-settings.md#createedit-field-group) which is associated to the Channel - assign field directly to channel by editing [Channel preferences](control-panel/channels.md#fields-tab) -In the [templates](templates/overview.md) you will be referencing the field by its short name. The short name of the field is usually displayed next to the field name in the publish form (field short name) and will be copied to the clipboard when clicked. Displaying the short name can be turned on or off in the [Role](control-panel/member-manager.md) settings. +When working with [templates](templates/overview.md) you will be referencing the field by its short name. For convenience the short name can be displayed next to the field's name in the publish form (field short name) and will be copied to the clipboard when clicked. Displaying the short name can be toggled on or off in the [Role](control-panel/member-manager.md) settings. -Note that some field can be displayed with just single tags, while others would require tag pair with extra variables. More information can be found in the documentation for appropriate [field type](fieldtypes/overview.md). +Note that some fields can be displayed with just single tags while others would require a tag pair with extra variables. More information can be found in the documentation for the field's specific [field type](fieldtypes/overview.md). ## Date Tab From a8644ac070eb73bfd8229cf74e04d1b9c3de34a6 Mon Sep 17 00:00:00 2001 From: Bryan Nielsen Date: Thu, 8 Feb 2024 12:41:49 -0500 Subject: [PATCH 46/74] Update config-files.md --- docs/config/config-files.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/config/config-files.md b/docs/config/config-files.md index a7f76858b..8c239cec2 100644 --- a/docs/config/config-files.md +++ b/docs/config/config-files.md @@ -41,7 +41,7 @@ The mime types are grouped by file type. You can add the allowed mime types dire `proxy.php` -If the server is behind reverse proxy or load balancer, the system would need special configuration to discover user's real IP address. If the IP address as passed in by server matches value or range specificed in this configuration file, the system will start looking into headers to determine real IP address, as forwarded by proxy/balancer. +If the server is behind a reverse proxy or load balancer the system will need special configuration to discover a user's real IP address. If the IP address passed along by the server matches a value or range specificed in this configuration file the system will look at the request headers to determine the real IP address. Please consult with provider of your reverse proxy or load balancing solutions for the IP addresses or ranges to use. Some providers would let you know the exact IP address of load balancer, while others would give you a range. Here are the links with information for some common providers: [CloudFlare](https://www.cloudflare.com/ips/), [Google Cloud](https://cloud.google.com/load-balancing/docs/https/#firewall_rules), [AWS Elastic](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html) From ec747344979d5f3cbc9dbf5157445c8d59710815 Mon Sep 17 00:00:00 2001 From: Bryan Nielsen Date: Thu, 8 Feb 2024 12:42:45 -0500 Subject: [PATCH 47/74] Update config-files.md --- docs/config/config-files.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/config/config-files.md b/docs/config/config-files.md index 8c239cec2..b70aa6855 100644 --- a/docs/config/config-files.md +++ b/docs/config/config-files.md @@ -43,7 +43,7 @@ The mime types are grouped by file type. You can add the allowed mime types dire If the server is behind a reverse proxy or load balancer the system will need special configuration to discover a user's real IP address. If the IP address passed along by the server matches a value or range specificed in this configuration file the system will look at the request headers to determine the real IP address. -Please consult with provider of your reverse proxy or load balancing solutions for the IP addresses or ranges to use. Some providers would let you know the exact IP address of load balancer, while others would give you a range. Here are the links with information for some common providers: [CloudFlare](https://www.cloudflare.com/ips/), [Google Cloud](https://cloud.google.com/load-balancing/docs/https/#firewall_rules), [AWS Elastic](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html) +Please consult with the provider of your reverse proxy or load balancing solutions for the IP addresses or ranges to use. Some providers will let you know the exact IP address of the load balancer, while others will give you a range. Here are the links with information for some common providers: [CloudFlare](https://www.cloudflare.com/ips/), [Google Cloud](https://cloud.google.com/load-balancing/docs/https/#firewall_rules), [AWS Elastic](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html) #### 'Remember me' expiration From 0eb5477e8ea9c55de9d1619c90429a49ce6abc05 Mon Sep 17 00:00:00 2001 From: Bryan Nielsen Date: Thu, 8 Feb 2024 12:48:20 -0500 Subject: [PATCH 48/74] Update handling-extreme-traffic.md --- docs/optimization/handling-extreme-traffic.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/optimization/handling-extreme-traffic.md b/docs/optimization/handling-extreme-traffic.md index 843ee3c90..f2ff5c937 100755 --- a/docs/optimization/handling-extreme-traffic.md +++ b/docs/optimization/handling-extreme-traffic.md @@ -57,6 +57,6 @@ If you are running in a PHP environment without Opcode caching, [saving template ## Using Load Balancers -Using load balancer or reverse proxy server is popular solution to mitigare DDoS attacks and make handling high traffic easier. +Using a load balancer or reverse proxy is a popular solution to mitigate DDoS attacks and make handling large amounts of traffic easier. -When the server is placed behind reverse proxy or load balancer, ExpressionEngine in default configuration might not know the user's real IP address because it would be substituted with the proxy IP address. Most of the proxies however would send the real user's IP in some HTTP headers. In order to use the data in those headers to obtain the real user IP address, you need to configure the system to make it aware of the list of trusted proxy IP addresses or ranges. This can be done using [`proxy.php` configuration file](config/config-files.md#reverse-proxy-ip-addresses). \ No newline at end of file +When a server is placed behind a reverse proxy or load balancer ExpressionEngine might not know the user's real IP address because it would be substituted with the proxy's IP address. Most proxies however will preserve the real user's IP address and forward it through a request header. In order to use the data in those headers to obtain the real user's IP address you need to configure the system to recognize and trust the proxy IP addresses. This can be done using the [`proxy.php` configuration file](config/config-files.md#reverse-proxy-ip-addresses). From 3e2d509b7ce86735638fffec3a4dc4321c392f69 Mon Sep 17 00:00:00 2001 From: Bryan Nielsen Date: Thu, 8 Feb 2024 13:01:38 -0500 Subject: [PATCH 49/74] Update create.md --- docs/control-panel/create.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/control-panel/create.md b/docs/control-panel/create.md index 90831d136..3b4aa7a1b 100755 --- a/docs/control-panel/create.md +++ b/docs/control-panel/create.md @@ -68,11 +68,11 @@ You may _optionally_ specify a date on which comments for this entry will no lon ## Categories Tab -You may assign one of multiple (depending on [channel preference](control-panel/channels.md#categories-tab)) categories to your entry from the [category groups](control-panel/categories.md) associated with the channel. +You may assign one or multiple (depending on [channel preference](control-panel/channels.md#categories-tab)) categories to your entry from the [category groups](control-panel/categories.md) associated with the channel. -Each associated category group will be rendered as separate set of checkboxes, or - if multiple selections are not allowed - as set of radio buttons. Selecting a category from a group can also be set as required for channel. +Each associated category group will be rendered as a separate set of checkboxes. If multiple selections are not allowed they will render as a set of radio buttons. Selecting a category from a group can also be set as required for the channel. -Additionally, a "Manage Categories" toggle is provided, which allows the user to add, edit or reorder categories in the group. +Additionally, a "Manage Categories" toggle is provided which allows the user to add, edit or reorder categories within the group. ![Publish Form - Categories](_images/cp-entry-categories-tab.png) From f1c46d7e548779453deda2fdba476259fc917f88 Mon Sep 17 00:00:00 2001 From: Bryan Nielsen Date: Thu, 8 Feb 2024 13:03:32 -0500 Subject: [PATCH 50/74] Update category-group-settings.md --- docs/development/models/category-group-settings.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/development/models/category-group-settings.md b/docs/development/models/category-group-settings.md index 91bb78095..642162971 100644 --- a/docs/development/models/category-group-settings.md +++ b/docs/development/models/category-group-settings.md @@ -25,8 +25,8 @@ lang: php | `site_id` | | | the site id | | `group_id` | required | | the category group id | | `channel_id` | required | | the channel id | -| `cat_required` | | boolString | whether or not having category in this group is required for this channel | -| `cat_allow_multiple` | | boolString | whether or not this multiple selections are allowed in this category group for this channel | +| `cat_required` | | boolString | whether or not having a category in this group is required for this channel | +| `cat_allow_multiple` | | boolString | whether or not having multiple selections is allowed in this category group for this channel | ## Relationships From f15302ac3729dbf0f8d50d911d230e3c5344271e Mon Sep 17 00:00:00 2001 From: Bryan Nielsen Date: Thu, 8 Feb 2024 13:13:20 -0500 Subject: [PATCH 51/74] Update member-manager.md --- docs/control-panel/member-manager.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/control-panel/member-manager.md b/docs/control-panel/member-manager.md index ec3ce50af..4f5789837 100755 --- a/docs/control-panel/member-manager.md +++ b/docs/control-panel/member-manager.md @@ -21,9 +21,9 @@ This page is used both to search and to browse through members within your Expre Filters and search input can be used to narrow down the list of members displayed. -The set of columns displayed can be customized using "Columns" dropdown. By default, the following columns are shown: Member ID, Name (which is composed out of avatar, username and screen name), Email, Roles, Join Date,Last Visit Date. Also each member row has "Actions" buttons that contains links to some common actions and a checkbox that allows performing bulk actions on selected members. When "Pending" is selected in Role filter, the options in bulk action dropdown are "Approve" and "Decline", otherwise "Remove" is the only option. +The set of columns displayed can be customized using the "Columns" dropdown. By default, the following columns are shown: Member ID, Name (which is composed of avatar, username and screen name), Email, Roles, Join Date, Last Visit Date. Also each member row has "Actions" buttons that contains links to some common actions and a checkbox that allows performing bulk actions on selected members. When "Pending" is selected in the "Role" filter, the bulk action options are "Approve" and "Decline", otherwise "Remove" is the only option. -In the Roles column all roles assigned to member are shown. When multiple roles are assigned, the primary role wouild have an indicator. If the member is pending, the columns does not say "Pending", but instead shows the role to which the member would be assigned once approved (with pending indicator) and a button to approve. +All roles assigned to a member are shown in the Roles column. When multiple roles are assigned, the primary role will have an indicator. If the member is pending the column does not say "Pending" but instead shows the role to which the member will be assigned once approved (with pending indicator) and a button to approve. ## Member Roles @@ -58,7 +58,7 @@ Edit the role by clicking its name in the list. **Control Panel Location: `Settings > Members > Member Fields`** -The link to this section is also found on top of Member Listing page. +The link to this section is also found on top of the Member Listing page. The _Member Fields_ feature permits you to add fields to the member registration form and/or member profile and My Account areas. @@ -68,7 +68,7 @@ The _Member Fields_ feature permits you to add fields to the member registration This section allows you to create or edit Member Fields. -The following field types are compatible as can be used for custom member fields: +The following field types are compatible and can be used for custom member fields: - Checkboxes - Color Picker @@ -88,9 +88,9 @@ The following field types are compatible as can be used for custom member fields - URL - Value Slider -Additionaly, third-party field types that specify their use for `MemberField` model can be selected. +Additionally, third-party field types that specify support for the `MemberField` model can be selected. -The following fields are available when creating custom field: +The following fields are available when creating a custom field: - **Type** -- You may choose what type of field this is. There are three choices: 1. **Text Input**: This is a single input line for text. It is the type of field you might use for a title, name, or other short information. 2. **Textarea**: This is a standard text entry box with multiple lines. This is what you would use for larger amount of text. 3. **Drop-down List**: This creates a standard HTML ` From 2d89ef3a804615843b04fbf86d7d8217957ba3a6 Mon Sep 17 00:00:00 2001 From: Bryan Nielsen Date: Thu, 8 Feb 2024 14:44:31 -0500 Subject: [PATCH 56/74] Update fluid.md --- docs/fieldtypes/fluid.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/fieldtypes/fluid.md b/docs/fieldtypes/fluid.md index 62ec25087..65ec48d7f 100755 --- a/docs/fieldtypes/fluid.md +++ b/docs/fieldtypes/fluid.md @@ -181,25 +181,25 @@ Additionally, the following variable are available **when using custom field gro {fluid_content:count_in_group} -The "count" out of the field being displayed in current field group. If five fields are in group, then for the fourth field the `count` variable would have a value of "4". +The "count" out of the fields being displayed in a field group. If five fields are in a group, then for the fourth field the `count` variable would have a value of "4". ### `first_in_group` {fluid_content:first_in_group} -True, if the current field is the first one in current field group. +True, if the current field is the first one in the current field group. ### `index_in_group` {fluid_content:index_in_group} -The index of the field being displayed in current field group starting at 0. +The index of the field being displayed in the current field group starting at 0. ### `last_in_group` {fluid_content:last_in_group} -True, if the current field is the last one in current field group. +True, if the current field is the last one in the current field group. ### `first_group` From 1f22d88968704f9e94839f936afc8c2a6ed88765 Mon Sep 17 00:00:00 2001 From: Bryan Nielsen Date: Thu, 8 Feb 2024 14:49:40 -0500 Subject: [PATCH 57/74] Update entries.md --- docs/channels/entries.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/channels/entries.md b/docs/channels/entries.md index 629fbc280..ba090f5c1 100755 --- a/docs/channels/entries.md +++ b/docs/channels/entries.md @@ -309,7 +309,7 @@ NOTE: **Note:** Using this parameter will automatically constrain the entries ta ### `group_id=` -NOTE: We recommend using [primary_role_id=](#primary_role_id) parameter instead, which works the same. +NOTE: We recommend using [primary_role_id=](#primary_role_id) parameter instead, which works the same but more clearly conveys that the filtering is happening on primary role ID. group_id="4" From e4dfcda93a247f6e32617986a41a4c765a7a2354 Mon Sep 17 00:00:00 2001 From: Bryan Nielsen Date: Thu, 8 Feb 2024 15:25:36 -0500 Subject: [PATCH 58/74] Update member.md --- docs/fieldtypes/member.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/docs/fieldtypes/member.md b/docs/fieldtypes/member.md index 6630fd0e1..25c00f25b 100644 --- a/docs/fieldtypes/member.md +++ b/docs/fieldtypes/member.md @@ -9,11 +9,11 @@ # Members Fieldtype -Members Fieldtype allows selecting one or multiple members and associating those with a channel entry +The Members Fieldtype allows selecting one or multiple members and associating those with a channel entry [TOC] -Members fieldtype is the tool that allow you to connect Members to Channel Entries. This ability allows you to store very complex content in your Channel entries. For example, you could create a Channel called "Articles" and then create a Channel Field called "Authors" that is a Members fieldtype. You could then associate one or more Members with each Article entry. This would allow you to display the author's name, bio, photo, etc. on the Article page. +The Members fieldtype helps you connect Members to Channel Entries. This lets you create powerful relationships between Members and content in your Channel entries. For example, you could create a Channel called "Articles" and a Channel Field called "Authors" that uses the Members fieldtype. You could then associate one or more Members with each Article entry. This would allow you to display the author's name, bio, photo, etc. on the Article page. ![members field](_images/field_members.png) @@ -36,16 +36,16 @@ Default ordering of members in the field's dropdown. When set to yes, authors will be allowed to create multiple relationships in a single field. #### Minimum selection -The minimum number of relationships that can be added to the field. +The minimum number of members that can be added to the field. #### Maximum selection -The maximum number of relationships that can be added to the field. +The maximum number of members that can be added to the field. #### Display Member IDs? When enabled, member IDs will be displayed together with member screen name inside the field. #### Defer field initialization? -When enabled, this field wonโ€™t initialize until the Edit Relationships button is clicked on. This can result in faster control panel page load times. +When enabled, this field wonโ€™t initialize until the Edit Members button is clicked on. This can result in faster control panel page load times. ## Template Tag Pair @@ -142,30 +142,30 @@ In addition to using as template tag pair, the Members field can display its dat ### `:member_ids` Fetching Member IDs Only -Sometimes it's useful to get just a list of IDs of related members, to pass on to another tag as parameter or similar. If you need to do this, you can use the single variable `:member_ids` shortcut modifier: +Sometimes it's useful to get just a list of IDs of related members to pass on to another tag as a parameter. If you need to do this you can use the single variable `:member_ids` shortcut modifier: {members_field:member_ids} -Outputs in the format: +Which outputs the member IDs in the following format: 43|58|127 #### Parameters -The member field tag with `:member_ids` modifier has only one optional parameter, `delimiter` +The member field tag with the `:member_ids` modifier has an optional `delimiter` parameter. By default the member IDs will be pipe-delimited, but you can choose to have them delimited with something else: {members_field:member_ids delimiter=","} -Would output in the format: +Would output in the following format: 43,48,127 ### `:length` ### `:total_rows` -Both of these modifiers can be used to display the number of members that are related via certain field +Both of these modifiers can be used to display the number of members that are related via a certain field {members_field:length} // 2 {members_field:total_rows} // 2 From 1bb13a5eca544c6050644bc6603de6160c71dac8 Mon Sep 17 00:00:00 2001 From: Bryan Nielsen Date: Mon, 12 Feb 2024 10:31:22 -0500 Subject: [PATCH 59/74] Document new sync:reindex CLI command --- docs/cli/built-in-commands/sync-reindex.md | 22 ++++++++++++++++++++++ docs/cli/intro.md | 3 ++- 2 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 docs/cli/built-in-commands/sync-reindex.md diff --git a/docs/cli/built-in-commands/sync-reindex.md b/docs/cli/built-in-commands/sync-reindex.md new file mode 100644 index 000000000..2ba67fa25 --- /dev/null +++ b/docs/cli/built-in-commands/sync-reindex.md @@ -0,0 +1,22 @@ +# `sync:reindex` + +The searchable content in your site may become stale after changing properties of some fields. Running the `sync:reindex` command will ensure fresh data is used by complex fields in the Entry Manager and search contexts. + +## Options list: + +``` + --site_id= + -s + Site ID. Skip this parameter to re-index content on all sites +``` + +## Examples: + +### Re-index content for all sites + +`php eecli.php sync:reindex` + +### Re-index content for Site ID 1 only + +`php eecli.php sync:reindex --site_id=1` +`php eecli.php sync:reindex -s 1` \ No newline at end of file diff --git a/docs/cli/intro.md b/docs/cli/intro.md index 0360580a1..1e601dcac 100644 --- a/docs/cli/intro.md +++ b/docs/cli/intro.md @@ -2,7 +2,7 @@ The Command Line Interface (CLI) allows a user to run system and user-generated commands in the terminal. The CLI has access to all of the ExpressionEngine resources, and can be used to update the system, clear caches, and much more. -By default the CLI is located `system/ee/eecli.php` . +By default the CLI is located `system/ee/eecli.php` . ![EE CLI](_images/6-1_cli.png) @@ -29,6 +29,7 @@ By default the CLI is located `system/ee/eecli.php` . - [migrate:rollback - Rolls back most recent migration group](cli/built-in-commands/migrate.md) - Sync - [sync:conditional-fields - Sync channel entry conditional logic](cli/built-in-commands/sync-conditional-fields.md) + - [sync:reindex](cli/built-in-commands/sync-reindex.md) - [Update ExpressionEngine](cli/built-in-commands/update.md) - [Creating a Command](cli/creating-a-command.md) - [Defining Input](cli/defining-input.md) From 3f85b9692072b7bc92519014766b58d22b593510 Mon Sep 17 00:00:00 2001 From: Bryan Nielsen Date: Mon, 12 Feb 2024 10:47:21 -0500 Subject: [PATCH 60/74] Add intro description --- docs/cli/intro.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/cli/intro.md b/docs/cli/intro.md index 1e601dcac..bc520e5e0 100644 --- a/docs/cli/intro.md +++ b/docs/cli/intro.md @@ -29,7 +29,7 @@ By default the CLI is located `system/ee/eecli.php` . - [migrate:rollback - Rolls back most recent migration group](cli/built-in-commands/migrate.md) - Sync - [sync:conditional-fields - Sync channel entry conditional logic](cli/built-in-commands/sync-conditional-fields.md) - - [sync:reindex](cli/built-in-commands/sync-reindex.md) + - [sync:reindex - Sync content used in search indexes](cli/built-in-commands/sync-reindex.md) - [Update ExpressionEngine](cli/built-in-commands/update.md) - [Creating a Command](cli/creating-a-command.md) - [Defining Input](cli/defining-input.md) From f0d224545adb55eb8f9a89e3157bf525cbfbd5f9 Mon Sep 17 00:00:00 2001 From: Bryan Nielsen Date: Mon, 12 Feb 2024 13:28:12 -0500 Subject: [PATCH 61/74] Fix links and spelling errors --- docs/add-ons/consent.md | 4 +- docs/add-ons/pro-search/parameters.md | 2 +- docs/add-ons/pro-search/settings.md | 4 +- docs/add-ons/pro-variables/manage.md | 2 +- docs/add-ons/rte.md | 2 +- docs/add-ons/spam.md | 2 +- docs/advanced-usage/front-end/dock.md | 8 +- docs/channels/channel-form/status.md | 2 +- docs/channels/entries.md | 4 +- docs/channels/entry-spanning.md | 2 +- .../sync-conditional-fields.md | 2 +- docs/config/config-files.md | 2 +- docs/control-panel/access.md | 14 ++-- .../file-manager/file-manager.md | 10 +-- .../file-manager/upload-directories.md | 4 +- docs/control-panel/member-manager.md | 2 +- docs/control-panel/settings/captcha.md | 2 +- docs/control-panel/settings/content-design.md | 4 +- docs/control-panel/settings/debug-output.md | 2 +- .../settings/front-end-editing.md | 8 +- docs/development/actions.md | 30 ++++---- .../development/addon-development-overview.md | 66 ++++++++--------- docs/development/addon-setup-php-file.md | 2 +- docs/development/cypress-tests.md | 4 +- .../extension-hooks/cp/myaccount.md | 2 +- .../extension-hooks-overview.md | 2 +- docs/development/extensions.md | 10 +-- docs/development/fieldtypes/example.md | 4 +- docs/development/fieldtypes/fieldtypes.md | 6 +- .../development/legacy/helpers/html-helper.md | 2 +- docs/development/legacy/libraries/config.md | 2 +- .../legacy/libraries/file-field.md | 4 +- .../legacy/libraries/pagination.md | 2 +- docs/development/legacy/libraries/template.md | 14 ++-- docs/development/models/file.md | 8 +- docs/development/prolets.md | 10 +-- docs/development/services/alert.md | 2 +- docs/development/services/cp-form/fields.md | 74 +++++++++---------- docs/development/services/sidebar.md | 2 +- docs/development/services/validation.md | 2 +- docs/development/shared-form-view.md | 2 +- docs/development/tab-files.md | 4 +- docs/fieldtypes/fluid.md | 4 +- docs/fieldtypes/relationships.md | 4 +- docs/general/cookies.md | 2 +- docs/general/text-formatting.md | 2 +- docs/member/edit-profile.md | 2 +- docs/msm/overview.md | 6 +- docs/optimization/caching.md | 2 +- docs/templates/globals/consent.md | 2 +- 50 files changed, 180 insertions(+), 180 deletions(-) diff --git a/docs/add-ons/consent.md b/docs/add-ons/consent.md index 1f46cd009..291f6540b 100755 --- a/docs/add-ons/consent.md +++ b/docs/add-ons/consent.md @@ -179,7 +179,7 @@ If this tag would not output any consent requests due to your filters, the conte No Consent Requests Available {/if} -### Conesnt Form Examples +### Consent Form Examples #### Simple Bulk Consent Form @@ -466,7 +466,7 @@ If you need to exclude one or several types from display, use `not ` before the provider='ee' -Limits display of cookies by cookie provider. +Limits display of cookies by cookie provider. If the cookie is provided by an add-on, the provider matches the add-ons short name, e.g. `comment` or `forum` The core ExpressionEngine cookies are identified by `ee` as provider. If cookie is only being used in Control Panel, the provider is set to `cp`. diff --git a/docs/add-ons/pro-search/parameters.md b/docs/add-ons/pro-search/parameters.md index 459a3597e..386c9e6b5 100644 --- a/docs/add-ons/pro-search/parameters.md +++ b/docs/add-ons/pro-search/parameters.md @@ -117,7 +117,7 @@ This is equal to: ### SQL parameters -Pro Search supports SQL parameters. This means you can use a SQL query in any pararameter. SQL queries are limited to SELECTs only and should always end with a semi-colon (;). Pro Search will take the first item in the SELECT statement and creates a pipe-separated list from it. If the SQL query produces no results, it sets the parameter value to what comes after the semi-colon. You can optionally prefix the SQL query for better matching. Schematically, such a query looks like this: +Pro Search supports SQL parameters. This means you can use a SQL query in any parameter. SQL queries are limited to SELECTs only and should always end with a semi-colon (;). Pro Search will take the first item in the SELECT statement and creates a pipe-separated list from it. If the SQL query produces no results, it sets the parameter value to what comes after the semi-colon. You can optionally prefix the SQL query for better matching. Schematically, such a query looks like this: `param="prefix SELECT field FROM table WHERE lorem = 'ipsum';no results"` diff --git a/docs/add-ons/pro-search/settings.md b/docs/add-ons/pro-search/settings.md index c9e783cc5..035a4337f 100644 --- a/docs/add-ons/pro-search/settings.md +++ b/docs/add-ons/pro-search/settings.md @@ -40,7 +40,7 @@ The same query with GET variables would look like this: `domain.com/search/results?keywords=hello+world` -Using GET variables is not possible if the `uri_protocol` config setting is set to QUERY_STRING. It can also cause unexpected behaviour if youโ€™re using the second exception (the question mark) in your `.htaccess` file when hiding `index.php`. If you can, use the encoded query instead as this will always work. +Using GET variables is not possible if the `uri_protocol` config setting is set to QUERY_STRING. It can also cause unexpected behavior if youโ€™re using the second exception (the question mark) in your `.htaccess` file when hiding `index.php`. If you can, use the encoded query instead as this will always work. NOTE:**Note:** When using GET variables, make sure Dynamic Channel Query Caching is turned off. @@ -54,7 +54,7 @@ Choose a tag which is used to highlight keywords in the search excerpt. Options ### Minimum word length -The ft_min_word_len setting of your MySQL installation determines the minimum length of words indexed by the Full Text index. Setting that value here will trigger an alternative search algorithm when the search term is smaller than this size. Defaults to 4. Do not alter unless you have customised your MySQL installation. +The ft_min_word_len setting of your MySQL installation determines the minimum length of words indexed by the Full Text index. Setting that value here will trigger an alternative search algorithm when the search term is smaller than this size. Defaults to 4. Do not alter unless you have customized your MySQL installation. ### Stop words diff --git a/docs/add-ons/pro-variables/manage.md b/docs/add-ons/pro-variables/manage.md index 772f3bbcc..04a93fc3a 100644 --- a/docs/add-ons/pro-variables/manage.md +++ b/docs/add-ons/pro-variables/manage.md @@ -51,7 +51,7 @@ When using the suffix option, you can use `{suffix}` in both the variable name a ## Variable groups -You can create any number of groups to organise your variables. These groups will appear in the Group drop down for each variable, so you can assign a group to it. On the module home page, variable managers can sort the groups using drag and drop. Variable managers can also edit and delete the groups from here, by clicking on the edit or delete icon next to the group name. You can alter the variable order in a group by editing the groupโ€™s properties. +You can create any number of groups to organize your variables. These groups will appear in the Group drop down for each variable, so you can assign a group to it. On the module home page, variable managers can sort the groups using drag and drop. Variable managers can also edit and delete the groups from here, by clicking on the edit or delete icon next to the group name. You can alter the variable order in a group by editing the groupโ€™s properties. ### Group label diff --git a/docs/add-ons/rte.md b/docs/add-ons/rte.md index 7300af469..92f58e78b 100755 --- a/docs/add-ons/rte.md +++ b/docs/add-ons/rte.md @@ -126,7 +126,7 @@ WARN: **Advanced users only.** Please be careful with using this feature and che Initially the field is loaded with the saved configuration of tool set being edited. -Consult [Redactor Docs](https://imperavi.com/redactor/docs/settings/) or [CKEDitor Docs](https://ckeditor.com/docs/ckeditor5/latest/installation/getting-started/configuration.html) for the list of properties. Note that not all features are supported by the ExpressionEngine implementation. +Consult [Redactor Docs](https://imperavi.com/redactor/docs/settings/) or [CKEditor Docs](https://ckeditor.com/docs/ckeditor5/latest/installation/getting-started/configuration.html) for the list of properties. Note that not all features are supported by the ExpressionEngine implementation. #### Extra JavaScript JavaScript template to be included with fields using this tool set. Typically used to include extra plugins when using advanced configuration with Redactor. diff --git a/docs/add-ons/spam.md b/docs/add-ons/spam.md index 9596d156f..53d8af3c7 100755 --- a/docs/add-ons/spam.md +++ b/docs/add-ons/spam.md @@ -25,7 +25,7 @@ The Spam Module has three important configuration settings: ### Sensitivity -The Spam Module works by calculating the probability that a piece of content is spam based on all the examples it's seen before. The sensitivity is the cutoff for what we consider spam. This defaults to 70 which means there has to be at least a 70% probability something is spam for it to get flagged. If this is higher you will have fewere false positives but more spam will slip through. +The Spam Module works by calculating the probability that a piece of content is spam based on all the examples it's seen before. The sensitivity is the cutoff for what we consider spam. This defaults to 70 which means there has to be at least a 70% probability something is spam for it to get flagged. If this is higher you will have fewer false positives but more spam will slip through. ### Word Limit diff --git a/docs/advanced-usage/front-end/dock.md b/docs/advanced-usage/front-end/dock.md index f681188dd..97d108ee7 100644 --- a/docs/advanced-usage/front-end/dock.md +++ b/docs/advanced-usage/front-end/dock.md @@ -12,7 +12,7 @@ [TOC] ## Overview -The Dock is a central component of ExpressionEngine's front-end functionality. +The Dock is a central component of ExpressionEngine's front-end functionality. ![dock overview](_images/ee-pro-dock.png) @@ -47,7 +47,7 @@ The Control Panel button on the Dock will open the site's Control Panel in a new Prolets are add-on components that reveal some of add-on's functionality for the Control Panel to the front-end, making it possible to edit data directly on the page where it belongs. ### Built-in Prolets -ExpressionEngine is shipped with the Entries and Publish prolets. +ExpressionEngine is shipped with the Entries and Publish prolets. Clicking on the Entries prolet opens a prolet window with all entries currently listed. Allowing you to quickly find and edit other entries in your site. @@ -61,6 +61,6 @@ Developers may create third-party prolets that can be installed with add-ons. Re ![dock prolets](_images/ee-pro-dock-prolets.png) ## Disabling -The Dock can be disabled by either the setting in the [Control Panel](control-panel/settings/front-end-editing.md#general-settings) or [config override](general/system-configuration-overrides.md#enable_dock). +The Dock can be disabled by either the setting in the [Control Panel](control-panel/settings/front-end-editing.md#enable-dock) or [config override](general/system-configuration-overrides.md#enable_dock). -WARN **Warning**: If the Dock is disabled, all of ExpressionEngine's [Front-End Content Management](advanced-usage/front-end/overview.md) is turned off for the front-end. \ No newline at end of file +WARN **Warning**: If the Dock is disabled, all of ExpressionEngine's [Front-End Content Management](advanced-usage/front-end/overview.md) is turned off for the front-end. \ No newline at end of file diff --git a/docs/channels/channel-form/status.md b/docs/channels/channel-form/status.md index e0b3b91ac..3978df4aa 100644 --- a/docs/channels/channel-form/status.md +++ b/docs/channels/channel-form/status.md @@ -28,6 +28,6 @@ Or use the alternative syntax: {/statuses} -To manually set an entry's status upon sutmitting the Channel Form, you can use a Hidden field: +To manually set an entry's status upon submitting the Channel Form, you can use a Hidden field: diff --git a/docs/channels/entries.md b/docs/channels/entries.md index 13cade934..31aef3594 100755 --- a/docs/channels/entries.md +++ b/docs/channels/entries.md @@ -274,7 +274,7 @@ When used in an RSS/Atom feed, this parameter allows ExpressionEngine to dynamic You can hard code the channel tag to show a specific channel entry. You may also specify multiple entries by separating them with the pipe character: entry_id="13|42|147" - + Or use "not" to exclude entries:: entry_id="not 45|534|807" @@ -422,7 +422,7 @@ This parameter is for use with entry [pagination](templates/pagination.md) and d If no parameter is specified, the navigation block will default to the "bottom" behavior. -If the pagination tag pair is not included, the entries returned will not respond to a page indicator in the URL. In othat case you would need to set the parameter to _hidden_ to allow the entries to reflect the pagination in the URL. +If the pagination tag pair is not included, the entries returned will not respond to a page indicator in the URL. In that case you would need to set the parameter to _hidden_ to allow the entries to reflect the pagination in the URL. ### `paginate_base=` diff --git a/docs/channels/entry-spanning.md b/docs/channels/entry-spanning.md index 8f8f4db6f..402350cc4 100755 --- a/docs/channels/entry-spanning.md +++ b/docs/channels/entry-spanning.md @@ -84,7 +84,7 @@ The {multi_field=} variable is the core of the ability to span a channel entry a {multi_field="page1|page2|page3"} -3. When you initially visit your comment page for an entry, where you xhave the {multi_field} tag in your Template, you will see the content of your "page1" field, just as if you had used the regular {page1} variable. +3. When you initially visit your comment page for an entry, where you have the {multi_field} tag in your Template, you will see the content of your "page1" field, just as if you had used the regular {page1} variable. 4. If your entry has content in the "page2" field then you will see a "next page" link. 5. When you click that link, you'll see your entry again, but instead of {page1} being displayed, in its place would be {page2}. 6. This would continue with as many variables/pages as needed. diff --git a/docs/cli/built-in-commands/sync-conditional-fields.md b/docs/cli/built-in-commands/sync-conditional-fields.md index acec810f3..cf1edc369 100644 --- a/docs/cli/built-in-commands/sync-conditional-fields.md +++ b/docs/cli/built-in-commands/sync-conditional-fields.md @@ -1,6 +1,6 @@ # sync:conditional-fields -Sync Conditional Field Logic -- Checks each channel entry to see if its connditional logic is correct. If it is not, it updates the conditional logic and saves the entry. +Sync Conditional Field Logic -- Checks each channel entry to see if its conditional logic is correct. If it is not, it updates the conditional logic and saves the entry. ## Options list: diff --git a/docs/config/config-files.md b/docs/config/config-files.md index f2454ca98..158afffe1 100644 --- a/docs/config/config-files.md +++ b/docs/config/config-files.md @@ -35,7 +35,7 @@ This file contains an array of foreign characters for transliteration conversion These are the mime types that are allowed to be uploaded using the upload class. For security reasons the list is kept as small as possible. If you need to upload types that are not in the list you can add them. -The mime types are grouped by file type. You can add the allowed mime types directly or you can add new file types containing miltiple mimes. +The mime types are grouped by file type. You can add the allowed mime types directly or you can add new file types containing multiple mimes. #### 'Remember me' expiration diff --git a/docs/control-panel/access.md b/docs/control-panel/access.md index a1ae2d9b9..971336e62 100644 --- a/docs/control-panel/access.md +++ b/docs/control-panel/access.md @@ -14,22 +14,22 @@ Access to the control panel is determined on a per member role level. Super admins automatically have full access to the control panel. For all other member roles, access is specified in the [Member Role Settings](control-panel/member-manager.md). Access settings determine not just the ability to login to the control panel, but which sections and actions can be taken by the member role. The navigation will automatically reflect the access permissions a user has. **Control Panel Access Location** - -By default, the control panel may be accessed via the admin.php file and, if below root, the system/index.php file. As per the post-install security recommendations, the system folder may have been renamed or be inaccessable via browser. The admin.php file may also have been renamed. - + +By default, the control panel may be accessed via the admin.php file and, if below root, the system/index.php file. As per the post-install security recommendations, the system folder may have been renamed or be inaccessible via browser. The admin.php file may also have been renamed. + **Adminstrator Sessions** How long a user stays logged into the control panel is determined by two factors, the session length and the idle check. Any activity such as clicking a link or submitting a form restarts the countdown for both times. If an admin closes the browser or leaves the site and returns before the session expires, they will not need to log back in. If the site sits open in the browser for longer than allowed by the idle check but before the session expires, they will be required to confirm their password before accessing the open browser pages. ***Session Length*** -Session Time to Logout (TTL) refers to how long a user stays logged into the control panel after logging in. By default, after 1 hour of inactivity, administrators will be logged out of the control panel and required to log back in with their username and password. The default TTL length can be overriden by the [cp_session_length](general/system-configuration-overrides.md#cp_session_length) setting. +Session Time to Logout (TTL) refers to how long a user stays logged into the control panel after logging in. By default, after 1 hour of inactivity, administrators will be logged out of the control panel and required to log back in with their username and password. The default TTL length can be overriden by the [cp_session_length](general/system-configuration-overrides.md#cp_session_length) setting. -If control panel sessions are set to use cookies only, the 'Remember me' login option will allow the session cookie to persist for 2 weeks. This may be overriden using the [remember.php configuration file](config/config-files.md#remember_me). +If control panel sessions are set to use cookies only, the 'Remember me' login option will allow the session cookie to persist for 2 weeks. This may be overriden using the [remember.php configuration file](config/config-files.md#remember-me-expiration). ***Adminstrator Idle Check*** -For added security, ExpressionEngine triggers a modal when an administrator is logged into the control panel but idle beyond a set length of time. The modal triggers afer 30 minutes if the control panel is in focus and idle, or 45 minutes if idle and out of focus. Unlike a fresh login, if the user logs back in via the modal before the TTL is exceeded, they remain on the same page(s) with no alteration of unsaved data. The idle check is not a factor if the site is no longer loaded in the browser. +For added security, ExpressionEngine triggers a modal when an administrator is logged into the control panel but idle beyond a set length of time. The modal triggers after 30 minutes if the control panel is in focus and idle, or 45 minutes if idle and out of focus. Unlike a fresh login, if the user logs back in via the modal before the TTL is exceeded, they remain on the same page(s) with no alteration of unsaved data. The idle check is not a factor if the site is no longer loaded in the browser. ![](_images/admin-access-modal.png) @@ -38,7 +38,7 @@ For added security, ExpressionEngine triggers a modal when an administrator is l Sessions are stored in cookies, session ID (URL) or both, see [Security and Privacy Settings](control-panel/settings/security-privacy.md#settings). The control panel and the frontend may have different session types. If the frontend uses cookies only for storage and the control panel uses cookies and sessions, logging into the frontend will not result in being logged into the control panel. However, logging into the control panel will result in being logged into the frontend. Logging into an area that sets a session cookie will apply to any area that requires session cookies only. So if you're logged into the control panel but the website acts like you're a guest? You probably don't have session data stored in a cookie per the control panel session settings. - + diff --git a/docs/control-panel/file-manager/file-manager.md b/docs/control-panel/file-manager/file-manager.md index d2a7be2b6..1aba085bc 100644 --- a/docs/control-panel/file-manager/file-manager.md +++ b/docs/control-panel/file-manager/file-manager.md @@ -29,11 +29,11 @@ The File Manager is composed of several sections to help easily manage your file ### Sidebar -The sidebar gives you access to creating, viewing, and managing [Upload Directories](control-panel/file-manager/upload-directories.md); [Watermarks](control-panel/file-manager/watermarks.md); and Exporting All Files. +The sidebar gives you access to creating, viewing, and managing [Upload Directories](control-panel/file-manager/upload-directories.md); [Watermarks](control-panel/file-manager/watermarks.md); and Exporting All Files. ![File manager sidebar](_images/cp_file_manager_sidebar.png) -The sidebar can also be collapsed using the arrow icon ( cp collapase arrow ) that is displayed to the side of the sidebar when hovering over the sidebar. +The sidebar can also be collapsed using the arrow icon ( cp collapase arrow ) that is displayed to the side of the sidebar when hovering over the sidebar. ### Filters @@ -45,7 +45,7 @@ Filters allow you to quickly filter the files listed to find exactly what you ne The following selectable filters are available: * Type - Filter by the file type. Available types are Image, Document, Archive, Audio, Video (only file types of currently uploaded files are displayed) -* Category - Filter by categories available to files. +* Category - Filter by categories available to files. * Date Added - Filter by date added. Available options are Custom Date (enter in a specific date), Last 24 Hours, Last 7 Days, Last 30 Days, Last 180 Days, Last 365 Days * Added By - Filter by the member who uploaded files @@ -55,7 +55,7 @@ Files can also be filtered using the keyword search option. ### File Listing -The bulk of the File Manager screen is composed of the file list. +The bulk of the File Manager screen is composed of the file list. ![File Manager Listing](_images/cp_file-manager-listing.png) @@ -75,7 +75,7 @@ The List View also exposes a Utility Action menu which quickly allows for action ![File Manager Utility Action Menu](_images/cp_file_manager_utility_action.png) -The columns displayed in the List View can also be adjusted to display file information relevant to your needs. +The columns displayed in the List View can also be adjusted to display file information relevant to your needs. These columns include: * Title diff --git a/docs/control-panel/file-manager/upload-directories.md b/docs/control-panel/file-manager/upload-directories.md index fe2d968fd..3d18ee93c 100644 --- a/docs/control-panel/file-manager/upload-directories.md +++ b/docs/control-panel/file-manager/upload-directories.md @@ -49,7 +49,7 @@ The directory can be restricted to accept one or several following file types: I By default, only images are allowed. -Only file types that are specified in ExpressionEngine's Mime Type file are allowed to be uploaded. The Mime Type file can be found in [`mimes.php`](config/config-files.md#allowed-mime-types). If you are uploading something uncommon and run into problems, you may need to add the mime type for your file to the allow list. +Only file types that are specified in ExpressionEngine's Mime Type file are allowed to be uploaded. The Mime Type file can be found in [`mimes.php`](config/config-files.md#allowed-mime-types). If you are uploading something uncommon and run into problems, you may need to add the mime type for your file to the allow list. See also [MIME allow list](general/system-configuration-overrides.md#mime_whitelist_additions) and [Mime member exception allow list](general/system-configuration-overrides.md#mime_whitelist_member_exception) for more info. ##### Share Upload Directory on all sites? @@ -86,7 +86,7 @@ Optionally set the maximum allowed height in pixels for uploaded images. Images ##### Constrain or Crop -Specify one or more alternate versions of an image that automatically get created when the original image is uploaded. A manipulation can include a resized version, a [watermark](control-panel/file-manager/file-manager.md#watermarks), or both. You can refer to a particular Image Manipulation in your templates via a File Field's [single variable tag](fieldtypes/file.md#single-variable-usage) or its [variable pair tag](fieldtypes/file.md#url). The resize type will determine whether the image is constrained (resized) or cropped to the specified dimensions. If only height or width is specified, the thumbnails will be created using that as the master dimension. For example, setting the height to 200 and leaving the width blank will result in an image that is no higher than 200 pixels, with the width resized proportionately. Setting both the height and the width to 200 would result in an image that is no higher or wider than 200 pixels. +Specify one or more alternate versions of an image that automatically get created when the original image is uploaded. A manipulation can include a resized version, a [watermark](control-panel/file-manager/watermarks.md), or both. You can refer to a particular Image Manipulation in your templates via a File Field's [single variable tag](fieldtypes/file.md#single-variable-usage) or its [variable pair tag](fieldtypes/file.md#url). The resize type will determine whether the image is constrained (resized) or cropped to the specified dimensions. If only height or width is specified, the thumbnails will be created using that as the master dimension. For example, setting the height to 200 and leaving the width blank will result in an image that is no higher than 200 pixels, with the width resized proportionately. Setting both the height and the width to 200 would result in an image that is no higher or wider than 200 pixels. ##### Allowed member roles diff --git a/docs/control-panel/member-manager.md b/docs/control-panel/member-manager.md index 695fe5cf9..86d4e2a9c 100755 --- a/docs/control-panel/member-manager.md +++ b/docs/control-panel/member-manager.md @@ -44,7 +44,7 @@ ExpressionEngine comes with 5 built-in Roles: These roles should never be deleted. -If you need a custom set of permissions for the role, we suggest creating a new role for each case. You can do that by clicking "New Role" button, or you can create a new role based on an exsting one by picking "Clone to New Role" from the role's "Save" dropdown. +If you need a custom set of permissions for the role, we suggest creating a new role for each case. You can do that by clicking "New Role" button, or you can create a new role based on an existing one by picking "Clone to New Role" from the role's "Save" dropdown. Edit the role by clicking its name in the list. diff --git a/docs/control-panel/settings/captcha.md b/docs/control-panel/settings/captcha.md index 7f24a29c6..c609e5446 100755 --- a/docs/control-panel/settings/captcha.md +++ b/docs/control-panel/settings/captcha.md @@ -55,7 +55,7 @@ If you wish to use Google reCAPTCH v3 as a replacement you will need to ensure t ### Use reCAPTCHA v3? -If you enable this preference then the system will use reCAPTCH v3 in place of the older image based solution. +If you enable this preference then the system will use reCAPTCHA v3 in place of the older image based solution. ### reCAPTCHA site key diff --git a/docs/control-panel/settings/content-design.md b/docs/control-panel/settings/content-design.md index 70802d2cb..4b435dd76 100755 --- a/docs/control-panel/settings/content-design.md +++ b/docs/control-panel/settings/content-design.md @@ -34,9 +34,9 @@ Set whether to assign an entry to both the selected category and its parent cate ### Run File Manager in Compatibility Mode? -WARN:**Note:** Compatibility Mode is enabeld by default for sites upgrading from ExpressionEngine versions less than ExpressionEngine 7. +WARN:**Note:** Compatibility Mode is enabled by default for sites upgrading from ExpressionEngine versions less than ExpressionEngine 7. -When Compatibility Mode is enabled, files will be stored in the database using a format compatiblie with ExpressionEngine versions 6 and prior. Compatibility Mode disables many newer File Manager features and prevents issues with add-ons that are not ExpressionEngine 7+ compatible. See [`File Manager > Compatibility Mode`](/control-panel/file-manager/file-manager.md#compatibility-mode) for more information. +When Compatibility Mode is enabled, files will be stored in the database using a format compatible with ExpressionEngine versions 6 and prior. Compatibility Mode disables many newer File Manager features and prevents issues with add-ons that are not ExpressionEngine 7+ compatible. See [`File Manager > Compatibility Mode`](/control-panel/file-manager/file-manager.md#compatibility-mode) for more information. ### Protocol diff --git a/docs/control-panel/settings/debug-output.md b/docs/control-panel/settings/debug-output.md index 09bc5761c..38db4b0ab 100755 --- a/docs/control-panel/settings/debug-output.md +++ b/docs/control-panel/settings/debug-output.md @@ -21,7 +21,7 @@ When set to "enable", super admins and member roles with permissions will see PH ### Enable debugging? -If enabled, Super Admins will see benchmark results, SQL queries, and submitted form data displayed at the bottom of the browser window. On the front end, this includes Global Variables, Conditionals, Tags, PHP on Input/Ouput, Embeds, and Extension Hooks. This is an excellent tool for debugging. +If enabled, Super Admins will see benchmark results, SQL queries, and submitted form data displayed at the bottom of the browser window. On the front end, this includes Global Variables, Conditionals, Tags, PHP on Input/Output, Embeds, and Extension Hooks. This is an excellent tool for debugging. ### Enable GZIP compression? diff --git a/docs/control-panel/settings/front-end-editing.md b/docs/control-panel/settings/front-end-editing.md index 4310a5600..1b70a91d5 100644 --- a/docs/control-panel/settings/front-end-editing.md +++ b/docs/control-panel/settings/front-end-editing.md @@ -12,17 +12,17 @@ [TOC] -**Control Panel Location:** `Seetings -> Content & Design > Front-End Editing` +**Control Panel Location:** `Settings -> Content & Design > Front-End Editing` ## **Enable Dock** -(Default: On, Matching Config Override: [`enable_dock`](#enable_dock) ) +(Default: On, Matching Config Override: [`enable_dock`](general/system-configuration-overrides.md#enable_dock) ) Enabling the Dock controls whether ExpressionEngine Pro is turned on for the front-end of your website. When the Dock is disabled all front-end editing, prolets, and Dock features will be disabled. ## **Enable front-end editing** -(Default: On, Matching Config Override: [`enable_frontedit`](#enable_frontedit)) +(Default: On, Matching Config Override: [`enable_frontedit`](general/system-configuration-overrides.md#enable_frontedit)) Enabling front-end editing allows users with respective permissions to edit channel entries and content on the front-end of your website using provided edit links ( pro edit icon ) . ## **Enable automatic front-end editing links** -(Default: On, Matching Config Override: [`enable_frontedit_links`](#enable_frontedit_links)) +(Default: On, Matching Config Override: [`enable_frontedit_links`](general/system-configuration-overrides.md#enable_frontedit_links)) By default ExpressionEngine Pro automatically inserts edit links ( pro edit icon ) where editable content is found in templates. These can be disabled on a per field basis or globally when using this toggle. When toggled off, ExpressionEngine Pro will no longer automatically generate edit links and links will need to be [added manually](/advanced-usage/front-end/frontend.md#customizing-the-link-location) where needed in templates. \ No newline at end of file diff --git a/docs/development/actions.md b/docs/development/actions.md index 951d601a9..fe9d85090 100644 --- a/docs/development/actions.md +++ b/docs/development/actions.md @@ -9,12 +9,12 @@ # Actions -TIP: If you are working with an existing add-on, we recommend you start with [Modernizing add-ons](development/modernizing-existing-add-ons.md) +TIP: If you are working with an existing add-on, we recommend you start with [Modernizing add-ons](development/modernizing-existing-add-ons.md) [TOC] ## Overview -Actions in ExpressionEngine are URL endpoints that are reached with the `ACT` query parameter. An example of this might be `http://myamazingsite.com/?ACT=43` where 43 is the ID given to an action registered in the `exp_actions` database table. These actions are tied to methods in an add-on which can be used to accept input from forms or run some sort of other functionality defined in the add-on. +Actions in ExpressionEngine are URL endpoints that are reached with the `ACT` query parameter. An example of this might be `http://myamazingsite.com/?ACT=43` where 43 is the ID given to an action registered in the `exp_actions` database table. These actions are tied to methods in an add-on which can be used to accept input from forms or run some sort of other functionality defined in the add-on. NOTE:Before adding an action to your add-on, you need to already have an add-on in place. See [Building An Add-On: Getting Started](development/addon-development-overview.md#getting-started) for how to generate the starter files for your add-on. @@ -37,7 +37,7 @@ amazing_add_on โ”—... ``` -We also notice that a migration is created in our `database/migrations` folder. This migration is ran when your add-on is installed or uninstalled to tell ExpressionEngine what actions we needed added or removed with our add-on. +We also notice that a migration is created in our `database/migrations` folder. This migration is ran when your add-on is installed or uninstalled to tell ExpressionEngine what actions we needed added or removed with our add-on. ``` //database/migrations/[timestamp]_[mirgrationname].php @@ -45,7 +45,7 @@ We also notice that a migration is created in our `database/migrations` folder. use ExpressionEngine\Service\Migration\Migration; -class CreateactionamazingaztionforaddonamazingAddOn extends Migration +class CreateactionamazingactionforaddonamazingAddOn extends Migration { /** * Execute the migration @@ -55,7 +55,7 @@ class CreateactionamazingaztionforaddonamazingAddOn extends Migration { ee('Model')->make('Action', [ 'class' => 'Amazing_add_on', - 'method' => 'AmazingAztion', + 'method' => 'AmazingAction', 'csrf_exempt' => false, ])->save(); } @@ -68,7 +68,7 @@ class CreateactionamazingaztionforaddonamazingAddOn extends Migration { ee('Model')->get('Action') ->filter('class', 'Amazing_add_on') - ->filter('method', 'AmazingAztion') + ->filter('method', 'AmazingAction') ->delete(); } } @@ -150,9 +150,9 @@ The `exp_actions` table is comprised of 4 columns: WARN:**Security Alert:**Setting your action to CSRF Exempt, also makes this endpoint less secure though as you are allowing outside connections to your application. -For security reasons, actions are protected by [Cross Site Request Forgery(CSRF)](/development/guidelines/security.md#cross-site-request-forgery). If you want users to be able to reach this endpoint from outside your site (e.g. using cURL to from another domain or application to reach this endpoint and expect data to be returned ) then you will most likely need to make your action CSRF exempt. +For security reasons, actions are protected by [Cross Site Request Forgery(CSRF)](/development/guidelines/security.md#cross-site-request-forgery). If you want users to be able to reach this endpoint from outside your site (e.g. using cURL to from another domain or application to reach this endpoint and expect data to be returned ) then you will most likely need to make your action CSRF exempt. -- To make your action immediately CSRF exempt, update the `csrf_exempt` value in the `exp_actions` table to be a value of `1`. +- To make your action immediately CSRF exempt, update the `csrf_exempt` value in the `exp_actions` table to be a value of `1`. - To ensure your action is CSRF exempt for future installations, update the corresponding migration by setting the `csrf_exempt` property to `true`: ``` ... @@ -160,13 +160,13 @@ public function up() { ee('Model')->make('Action', [ 'class' => 'Amazing_add_on', - 'method' => 'AmazingAztion', + 'method' => 'AmazingAction', 'csrf_exempt' => true, ])->save(); } ... ``` -- To set an action as CSRF exempt on creation, use the `--csrf_exempt` or `-c` flag in the CLI: +- To set an action as CSRF exempt on creation, use the `--csrf_exempt` or `-c` flag in the CLI: ``` $ php system/ee/eecli.php make:action --csrf_exempt @@ -176,10 +176,10 @@ $ php system/ee/eecli.php make:action --csrf_exempt ## Do Something - Build An Action -Let's do something with our action to demonstrate how this would work. +Let's do something with our action to demonstrate how this would work. ### Form Data -In this example we want to insert a row into our database when a user submits a form. +In this example we want to insert a row into our database when a user submits a form. For this example we'll use a really basic form that would be found in our template which uses our action's endpoint as the action for the form. We know our action's ID from the `exp_actions` table and we're just going to collect the user's first name and last name. We'll then take that information and store it in our database. For the purpose of this example, we'll insert this into a custom table we've added to ExpressionEngine which just has columns `ID`, `first_name`, `last_name`. @@ -191,7 +191,7 @@ What is the action name? ExampleAction What add-on is the action being added to? [amazing_add_on,...]: amazing_add_on ``` -This creates our required files. +This creates our required files. Now we had some functionality to our action which will add the first and last name submitted from a form to our custom database table. @@ -220,7 +220,7 @@ class ExampleAction extends AbstractRoute ee()->db->insert('our_amazing_table', $data); return true; - + } } ``` @@ -319,7 +319,7 @@ The response:
    ... ``` -This is because of the [`csrf_exempt` value](#cross-site-request-forgerycsrf-exemption) mentioned above. To fix this we can go into the `exp_actions` table of our database and update the `csrf_exempt` column to `1`. +This is because of the [`csrf_exempt` value](#cross-site-request-forgerycsrf-exemption) mentioned above. To fix this we can go into the `exp_actions` table of our database and update the `csrf_exempt` column to `1`. Now when I send that same request, I simply get the entry title I requested: diff --git a/docs/development/addon-development-overview.md b/docs/development/addon-development-overview.md index b79f3d16b..b2dfcb8d0 100644 --- a/docs/development/addon-development-overview.md +++ b/docs/development/addon-development-overview.md @@ -11,12 +11,12 @@ With custom add-ons you can add new fieldtypes, features, template tags, and much more to ExpressionEngine. Here we are going to look at different parts of an add-on, and how to define just what our add-on is going to do. -TIP: In this section, we're explaining the parts of an add-on. No need to memorize everything though, the [CLI](/cli/intro.html) will generate all the pieces we need based on what functions we want our add-on to have. +TIP: In this section, we're explaining the parts of an add-on. No need to memorize everything though, the [CLI](cli/intro.html) will generate all the pieces we need based on what functions we want our add-on to have. [TOC] ## Why Create A Custom Add-On -While ExpressionEngine offers a lot of functionality right out of the box, sometimes you want more power or to do things that ExpressionEngine doesn't natively do. +While ExpressionEngine offers a lot of functionality right out of the box, sometimes you want more power or to do things that ExpressionEngine doesn't natively do. Here are some ideas of what you can accomplish with a custom add-on: @@ -25,16 +25,16 @@ Here are some ideas of what you can accomplish with a custom add-on: - Add custom [fieldtypes](development/fieldtypes/fieldtypes.md) for content editors when creating channel entries. - Add custom [CLI commands](cli/creating-a-command.md) like `$ eecli.php amazing_add_on:do_something_amazing` - Add custom [Publish Form tabs](development/tab-files.md) to help organize entry fields for content editors. -- Hook into ExpressionEngine and run [custom functions (called Extensions)](development/extensions.md) when ExpressionEngine does certain actions, like emailing your team whenever a post is created or manipulating text when a template is rendered. +- Hook into ExpressionEngine and run [custom functions (called Extensions)](development/extensions.md) when ExpressionEngine does certain actions, like emailing your team whenever a post is created or manipulating text when a template is rendered. - Display information from your add-on to content editors on the front-end by adding a [Prolet](/development/prolets.md) to the [ExpressionEngine Dock](/advanced-usage/front-end/dock.md). - Display information in the [Control Panel Dashboard](/control-panel/dashboard_management.md) using a [custom Dashboard Widget](/development/widgets.md). -These are just a few ideas of what you can do with custom add-ons. The possibilities are almost endless. +These are just a few ideas of what you can do with custom add-ons. The possibilities are almost endless. ## Getting Started -Getting started making an add-on is incredibly easy with the CLI. To begin making an add-on, simply use the `make:addon` command from the [CLI](/cli/intro.html). +Getting started making an add-on is incredibly easy with the CLI. To begin making an add-on, simply use the `make:addon` command from the [CLI](cli/intro.html). -TIP: If you are working with an existing add-on, we recommend you start with [Modernizing add-ons](development/modernizing-existing-add-ons.md) +TIP: If you are working with an existing add-on, we recommend you start with [Modernizing add-ons](development/modernizing-existing-add-ons.md) ``` $ php system/ee/eecli.php make:addon @@ -61,7 +61,7 @@ amazing_add_on/ โ”— upd.amazing_add_on.php ``` -At this point, your add-on can't really do anything other than be installed. However, from here, you can add more functionality to your add-on via the CLI depending on your needs. +At this point, your add-on can't really do anything other than be installed. However, from here, you can add more functionality to your add-on via the CLI depending on your needs. Here's a list of functionality that can be added to your add-on and the corresponding CLI command if applicable: @@ -85,7 +85,7 @@ Below is the complete structure of an add-on that we'll call "Amazing Add-on". T ``` amazing_add_on โ”ฃ Commands - โ”ƒ โ”— CommandAnAmazingCommand.php + โ”ƒ โ”— CommandAnAmazingCommand.php โ”ฃ database โ”ƒ โ”ฃ migrations โ”ƒ โ”ƒ โ”— 2022_11_14_170449_amazing_migration.php @@ -128,84 +128,84 @@ NOTE: **Note:** Pay attention to how these filenames are structured. For filenam ### The Add-on Setup File (`addon.setup.php`) -Starting with version 3.0 each add-on in ExpressionEngine must have an `addon.setup.php` file in its package directory. This file provides descriptive data about a specific add-on, such as author, name, and version. +Starting with version 3.0 each add-on in ExpressionEngine must have an `addon.setup.php` file in its package directory. This file provides descriptive data about a specific add-on, such as author, name, and version. Reference [The Add-on Setup File](development/addon-setup-php-file.md) for more information on the contents of this file. ### The Update File (`upd.[addon_name].php`) -**class `Add_on_name_upd extends Installer`** -The Update file for an add-on includes a class with a name that is a combination of the add-on's name with a `_upd` suffix. Here you define functionality that should be executed on installation, update, and uninstallation of your add-on. +**class `Add_on_name_upd extends Installer`** +The Update file for an add-on includes a class with a name that is a combination of the add-on's name with a `_upd` suffix. Here you define functionality that should be executed on installation, update, and uninstallation of your add-on. Reference [The Add-on Update File](development/add-on-update-file.md) for more information on this file. ### The Extension File (`ext.[addon_name].php`) -**class `Add_on_name_upd extends Extension`** -The extension file is used to route ExpressionEngine to our `Extensions` Folder. +**class `Add_on_name_upd extends Extension`** +The extension file is used to route ExpressionEngine to our `Extensions` Folder. Reference [Extending The Core](development/extensions.md) for more information on how to use core hooks to extend what ExpressionEngine can do. ### The Fieldtype File (`ft.[addon_name].php`) -**class `Add_on_name_ft extends EE_Fieldtype`** -The fieldtype file is used to create new [fieldtypes](/fieldtypes/overview.md) in ExpressionEngine when your add-on is installed. +**class `Add_on_name_ft extends EE_Fieldtype`** +The fieldtype file is used to create new [fieldtypes](/fieldtypes/overview.md) in ExpressionEngine when your add-on is installed. Reference [Adding Fieldtypes](development/fieldtypes/fieldtypes.md) for more information on adding fieldtypes with your add-on. ### The Mcp File (`mcp.[addon_name].php`) -**class `Add_on_name_upd extends Mcp`** -The Mcp file is used to route ExpressionEngine to our `ControlPanel` Folder, which contains logic for your Control Panel pages (settings or other pages you might want to add to the Control Panel for your users to interact with). +**class `Add_on_name_upd extends Mcp`** +The Mcp file is used to route ExpressionEngine to our `ControlPanel` Folder, which contains logic for your Control Panel pages (settings or other pages you might want to add to the Control Panel for your users to interact with). Reference [Adding Control Panel Pages](development/modules.md) for more information on adding Control Panel pages with your add-on. ### The Module File `mod.[addon_name].php` -**class `Add_on_name_upd extends Module`** -The module file is used to route ExpressionEngine to our `Modules` Folder, which contains any actions or template tags you are adding with your add-on. +**class `Add_on_name_upd extends Module`** +The module file is used to route ExpressionEngine to our `Modules` Folder, which contains any actions or template tags you are adding with your add-on. Reference [Adding Template Tags](development/custom-template-tags.md) for more information on adding template tags with your add-on or [Adding Actions](development/actions.md) for more information on creating URL endpoints (actions) with your add-on. ### The Tab File (`tab.[addon_name].php`) -**class `Module_name_tab`** -The tab file is used to create tabs that are visible in [Publish Layouts](control-panel/channels.md#publish-layouts). Respectively, these tabs would also be visible on the Entry Publish/Edit page if selected in the publish layout. +**class `Module_name_tab`** +The tab file is used to create tabs that are visible in [Publish Layouts](control-panel/channels.md#publish-layouts). Respectively, these tabs would also be visible on the Entry Publish/Edit page if selected in the publish layout. Reference [Adding Publish Form Tabs](development/tab-files.md) for more information on adding Publish Form Tabs with your add-on. ### The Prolet File `pro.[addon_name].php` -**class `Add_on_name_upd extends AbstractProlet implements ProletInterface`** -The Prolet file is used to create new [Prolets](/development/prolets.md) with our add-on. +**class `Add_on_name_upd extends AbstractProlet implements ProletInterface`** +The Prolet file is used to create new [Prolets](/development/prolets.md) with our add-on. Reference [Adding Prolets](development/prolets.md) for more information on adding prolets to your add-on. ### The Add-on Icon File `icon.svg` The add-on icon folder is used both in the Add-on Manager and in the Dock on the front-end to distinguish your add-on from others. ### Extensions - `/Extensions` -When we tell the CLI that we want to create an extension, classes are automatically created in the `Extensions` folder along with the above mentioned `ext.[addon_name].php` file. Interacting with hooks allows us to extend ExpressionEngine's functionality, thus we refer to these as "extensions". +When we tell the CLI that we want to create an extension, classes are automatically created in the `Extensions` folder along with the above mentioned `ext.[addon_name].php` file. Interacting with hooks allows us to extend ExpressionEngine's functionality, thus we refer to these as "extensions". TIP: Reference the [Extensions](development/extensions.md) section of the docs for more information on using extensions in your add-on. ### Actions - `/Actions` -The `/Actions` folder stores all the business logic for any actions that we are adding to ExpressionEngine with our add-on. Each action will have a separate file and corresponding class created based on information provided in the `$actions` array in the `upd` file. +The `/Actions` folder stores all the business logic for any actions that we are adding to ExpressionEngine with our add-on. Each action will have a separate file and corresponding class created based on information provided in the `$actions` array in the `upd` file. Reference [Adding Actions](development/actions.md) for more information on creating URL endpoints (actions) with your add-on. ### Control Panel Routes - `/ControlPanel` -The `ControlPanel` folder contains all the Control Panel routes and we create for our add-on as well as our sidebar. +The `ControlPanel` folder contains all the Control Panel routes and we create for our add-on as well as our sidebar. Reference [Adding Control Panel Pages](development/modules.md) for more information on adding Control Panel routes and pages with your add-on. ### `/Tags` -The `/Tags` folder stores all the business logic for any template tags we create with our add-on. +The `/Tags` folder stores all the business logic for any template tags we create with our add-on. Reference [Adding Template Tags](development/custom-template-tags.md) for more information on adding template tags with your add-on. ### `/views` The `views` folder contains all of our Control Panel views which will be used to render our add-on's control panel pages. ### `/language` -The `language` folder contains all of our language files that will be used to display text on a page in whatever language is selected in the userโ€™s account settings. +The `language` folder contains all of our language files that will be used to display text on a page in whatever language is selected in the userโ€™s account settings. Reference [Using Language Files](development/add-on-language-files.md) for more information on using language files with your add-on. ### `/database/migrations` The `/database/migrations` folder holds all migrations that will be ran on installation or updating of our add-on. Using the CLI, migrations can also be ran independently. ### `Model` -The `Model` folder holds all models that we are creating with our add-on. +The `Model` folder holds all models that we are creating with our add-on. Reference [Building Your Own Models](/development/services/model/building-your-own.md) for more information on creating your own models with your add-on. ### `widgets` The `widgets` folder holds all dashboard widgets we create with our add-on. Reference [Developing Dashboard Widgets](development/widgets.md) for more information on creating widgets with your add-on. -## Setting Default CLI Config Values +## Setting Default CLI Config Values When creating an add-on via the CLI you will be asked for author and the author's URL. If you'd like to skip these questions when creating an add-on, you can set default values in your [config](/general/system-configuration-overrides.md#main-configuration-file) file like so: @@ -217,8 +217,8 @@ $config['cli_default_addon_author_url'] = 'https://expressionengine.com'; ``` ## A Word About Legacy Add-On Development -In the past, add-ons were often categorized based on their functionality. We identified our add-on to ExpressionEngine as a fieldtype, extension, module, or plug-in. Thus there was never a straightforward process on structuring one add-on that contained all these categories in one. +In the past, add-ons were often categorized based on their functionality. We identified our add-on to ExpressionEngine as a fieldtype, extension, module, or plug-in. Thus there was never a straightforward process on structuring one add-on that contained all these categories in one. -With the release of 6.4.x and 7.2.x this paradigm has been updated to reflect the idea that we are just creating add-ons, and those add-ons can have multiple types of functionality. The CLI has also been updated to make creating add-ons and adding functionality incredibly easy. We have also updated the docs to reflect the ideal workflow of creating an add-on. +With the release of 6.4.x and 7.2.x this paradigm has been updated to reflect the idea that we are just creating add-ons, and those add-ons can have multiple types of functionality. The CLI has also been updated to make creating add-ons and adding functionality incredibly easy. We have also updated the docs to reflect the ideal workflow of creating an add-on. -While the latest changes shift our view of add-ons and how developers will create add-ons, you may still come across add-ons using the old methodology. We have left much of the old methods and structure in place in the core so that older add-ons will continue to work. However, we are choosing to not actively update the documentation for the old methods because we feel it's no longer in the best interest of the community to develop add-ons in this way. If you need to access how the docs once were regarding add-ons, you can reference the [legacy docs in GitHub](https://github.com/ExpressionEngine/ExpressionEngine-User-Guide/releases/tag/legacy-add-on-structure) (note that v7 and v6 were the same in these regards). +While the latest changes shift our view of add-ons and how developers will create add-ons, you may still come across add-ons using the old methodology. We have left much of the old methods and structure in place in the core so that older add-ons will continue to work. However, we are choosing to not actively update the documentation for the old methods because we feel it's no longer in the best interest of the community to develop add-ons in this way. If you need to access how the docs once were regarding add-ons, you can reference the [legacy docs in GitHub](https://github.com/ExpressionEngine/ExpressionEngine-User-Guide/releases/tag/legacy-add-on-structure) (note that v7 and v6 were the same in these regards). diff --git a/docs/development/addon-setup-php-file.md b/docs/development/addon-setup-php-file.md index 3f3268051..d0258eda3 100755 --- a/docs/development/addon-setup-php-file.md +++ b/docs/development/addon-setup-php-file.md @@ -224,7 +224,7 @@ NOTE: **Note:** Cookie settings are only applicable for users running Expression If your add-on sets any custom cookies, you can provide default settings for each those. -In the above example, `forum_theme` is the cookie name, `description` sets default description for cookie to string referenced by `forum_theme_desc` key in add-on's language file and `lifetime_changeable` indicates that cookie's liefime cannot be changed by site administrator. +In the above example, `forum_theme` is the cookie name, `description` sets default description for cookie to string referenced by `forum_theme_desc` key in add-on's language file and `lifetime_changeable` indicates that cookie's lifetime cannot be changed by site administrator. | Type | Purpose | | --------------------- | ---------------------- | diff --git a/docs/development/cypress-tests.md b/docs/development/cypress-tests.md index 0ea804d21..0862d5b52 100644 --- a/docs/development/cypress-tests.md +++ b/docs/development/cypress-tests.md @@ -44,7 +44,7 @@ You will need to set up environment file that will hold important information th This command will open the Cypress UI that lists all tests that exist for ExpressionEngine in `tests/cypress/cypress/integration` folder and can be run individually. Clicking on the test file name will run the test using selected browser. 5. `npx cypress run --headed --no-exit -s cypress/integration/cp/login.ee6.js` -This command will run particular test file as specified by `-s` parameter. You can also specicy wildcart `*` in place of file name to run all tests in folder. Note that as of current Cypress version that EE is using the test files cannot be placed above `tests/cypress` directory in directories tree. +This command will run particular test file as specified by `-s` parameter. You can also specify a wildcard `*` in place of the file name to run all tests in a folder. Note that as of the current Cypress version that EE is using the test files cannot be placed above `tests/cypress` directory in directories tree. ## Cypress commands and tasks for EE @@ -134,7 +134,7 @@ However if you have more than one test, it's better to have them organized into }) }) -The typical test would try to emulate user performing certain actions and then check the result against what is expected. +The typical test would try to emulate user performing certain actions and then check the result against what is expected. It is recommended to keep the tests granular, so if one of the tests fails and the other ones pass you know exactly where to look. However for complex test cases sometimes the procedure needs to be written as one large test; in such case, it is good practice to perform intermediate checks during the test run. diff --git a/docs/development/extension-hooks/cp/myaccount.md b/docs/development/extension-hooks/cp/myaccount.md index fa79e8820..1729f3d8b 100755 --- a/docs/development/extension-hooks/cp/myaccount.md +++ b/docs/development/extension-hooks/cp/myaccount.md @@ -37,7 +37,7 @@ How it's called: $this->extensions->call('myaccount_nav_setup') ); -Your hook should return an associative array with the key matching one of the keys above that match the My Account sections. The value should be another associative array with the key being the text you want in the navgation and the value being another associative array with `extension` and `method` being the keys and their values being the respective extension's name and the method being a method that exists in the method's control panel. +Your hook should return an associative array with the key matching one of the keys above that match the My Account sections. The value should be another associative array with the key being the text you want in the navigation and the value being another associative array with `extension` and `method` being the keys and their values being the respective extension's name and the method being a method that exists in the method's control panel. Additionally, you should check `extensions->last_call` to avoid overwriting previous changes to the My Account navigation and be sure to use `array_merge_recursive` when merging the previous extension results: diff --git a/docs/development/extension-hooks/extension-hooks-overview.md b/docs/development/extension-hooks/extension-hooks-overview.md index 7bac8c885..44e962ccb 100644 --- a/docs/development/extension-hooks/extension-hooks-overview.md +++ b/docs/development/extension-hooks/extension-hooks-overview.md @@ -65,7 +65,7 @@ Core hooks are categorized into 5 categories: - [Role Model](development/extension-hooks/model/role.md) - [Site Model](development/extension-hooks/model/site.md) - [Snippet Model](development/extension-hooks/model/template-snippet.md) - - [SpecialityTemplate Model](development/extension-hooks/model/template-specialty-template.md) + - [SpecialtyTemplate Model](development/extension-hooks/model/template-specialty-template.md) - [Status Model](development/extension-hooks/model/status.md) - [TemplateGroup Model](development/extension-hooks/model/template-group.md) - [TemplateRoute Model](development/extension-hooks/model/template-route.md) diff --git a/docs/development/extensions.md b/docs/development/extensions.md index 8a363a7e7..917cf2eff 100755 --- a/docs/development/extensions.md +++ b/docs/development/extensions.md @@ -12,7 +12,7 @@ lang: php --> # Extensions and Hooks -TIP: If you are working with an existing add-on, we recommend you start with [Modernizing add-ons](development/modernizing-existing-add-ons.md) +TIP: If you are working with an existing add-on, we recommend you start with [Modernizing add-ons](development/modernizing-existing-add-ons.md) [TOC] @@ -40,7 +40,7 @@ NOTE: If you are using the command above to add an extension to an existing add- TIP: Files that interact with ExpressionEngine core hooks are referred to as "extensions" because they extend the functionality of ExpressionEngine. -This will create an `ext.[addon_name].php` file in our add-on along with an `Extensions` folder where we will build out the code we want to run when we interact with a core hook. +This will create an `ext.[addon_name].php` file in our add-on along with an `Extensions` folder where we will build out the code we want to run when we interact with a core hook. Inside our `Extensions` folder the CLI will create a file with the same name as the core hook we plan to use. @@ -59,7 +59,7 @@ TIP: Extensions need to be enabled to work. When you create an extension, a migr ## Anatomy Of An Extension Once we've added the ability to hook into the core with our add-on, an `Extensions` folder is created. The CLI will generate a class and a respective file for each core hook we wish to use. -Here we have added the ability to interact with the [`typography_parse_type_end()`](/development/extension-hooks/global/typography.html#typography_parse_type_endstr-this-prefs) hook. +Here we have added the ability to interact with the [`typography_parse_type_end()`](/development/extension-hooks/global/typography.md#typography_parse_type_endstr-this-prefs) hook. So our add-on structure now looks like this: @@ -95,7 +95,7 @@ class TypographyParseTypeEnd extends AbstractRoute As we can see, the CLI has correctly created a new class using our core hook in PascalCase as the name. -Inside our class is the `process()` function. Again the CLI has already added all parameters that will be passed in from the core hook. +Inside our class is the `process()` function. Again the CLI has already added all parameters that will be passed in from the core hook. TIP:Reference the [Available Core Hooks](development/extension-hooks/extension-hooks-overview.md) section of the docs to read on what parameters your hook uses. @@ -173,7 +173,7 @@ class TypographyParseTypeEnd extends AbstractRoute ``` -Now when we render our site using fields like textarea or other fields that use the Typography Library, our users will see how amazing EE is. +Now when we render our site using fields like textarea or other fields that use the Typography Library, our users will see how amazing EE is. NOTE:**NOTE:** Although ExpressionEngine is amazing, we do not suggest using the above example in production. diff --git a/docs/development/fieldtypes/example.md b/docs/development/fieldtypes/example.md index d2dea2c68..270b535aa 100644 --- a/docs/development/fieldtypes/example.md +++ b/docs/development/fieldtypes/example.md @@ -18,14 +18,14 @@ The snippets below were truncated for clarity. The full example fieldtype can be [TOC] ## Generate Fieldtype File -Start by generating a custom fieldtype for your add-on using the `make:fieldtype` command. +Start by generating a custom fieldtype for your add-on using the `make:fieldtype` command. ``` $ php system/ee/eecli.php make:fieldtype Let's implement a fieldtype! What is the fieldtype name? Amazing Fieldtype What add-on is the fieldtype being added to? [amazing_add_on]: amazing_add_on -Building fieldype. +Building fieldtype. Fieldtype created successfully! ``` diff --git a/docs/development/fieldtypes/fieldtypes.md b/docs/development/fieldtypes/fieldtypes.md index 51f4367bc..819a9036f 100644 --- a/docs/development/fieldtypes/fieldtypes.md +++ b/docs/development/fieldtypes/fieldtypes.md @@ -16,7 +16,7 @@ lang: php [TOC] ## Overview -ExpressionEngine ships with a range of fieldtypes already in place. However, perhaps you want to had your fieldtype that executes functionality differently than the fields that ship with ExpressionEngine. If so, then read below for how to create your own custom fieldtype. +ExpressionEngine ships with a range of fieldtypes already in place. However, perhaps you want to had your fieldtype that executes functionality differently than the fields that ship with ExpressionEngine. If so, then read below for how to create your own custom fieldtype. TIP: For an overview of what a Fieldtype is, read the [Fieldtype Overview docs](/fieldtypes/overview.md). @@ -24,7 +24,7 @@ NOTE:Before adding a fieldtype to your add-on, you need to already have an add-o ## Creating An Amazing Fieldtype -Adding a custom fieldtype to your add-on is easy with the `make:fieldtype` command. +Adding a custom fieldtype to your add-on is easy with the `make:fieldtype` command. ``` $ php system/ee/eecli.php make:fieldtype @@ -221,7 +221,7 @@ Display the field data as column in the Entry Manager #### `EE_Fieldtype::getTableColumnConfig()` -Sets [table column configuration](development/services/table.html#setting-the-columns) for Entry Manager +Sets [table column configuration](development/services/table.md#setting-the-columns) for Entry Manager Returns `Array` diff --git a/docs/development/legacy/helpers/html-helper.md b/docs/development/legacy/helpers/html-helper.md index 1e80dd186..30471e2ca 100755 --- a/docs/development/legacy/helpers/html-helper.md +++ b/docs/development/legacy/helpers/html-helper.md @@ -204,7 +204,7 @@ The above code will produce this:
  • shapes