Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replace a load of references to the wiki with docs links #17900

Merged
merged 1 commit into from
Jul 21, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 2 additions & 4 deletions CRM/Admin/Form/Job.php
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ public function buildQuickForm($check = FALSE) {
}

if ($this->_action & CRM_Core_Action::VIEW) {
$this->assign('jobName', self::getJobName($this->_id));
$this->assign('jobName', self::getJobName($this->_id));
$this->addButtons([
[
'type' => 'submit',
Expand All @@ -70,7 +70,6 @@ public function buildQuickForm($check = FALSE) {
]);
return;
}


$attributes = CRM_Core_DAO::getAttribute('CRM_Core_DAO_Job');

Expand Down Expand Up @@ -242,8 +241,7 @@ public function postProcess() {

// CRM-11143 - Give warning message if update_greetings is Enabled (is_active) since it generally should not be run automatically via execute action or runjobs url.
if ($values['api_action'] == 'update_greeting' && CRM_Utils_Array::value('is_active', $values) == 1) {
// pass "wiki" as 6th param to docURL2 if you are linking to a page in wiki.civicrm.org
$docLink = CRM_Utils_System::docURL2("Managing Scheduled Jobs", NULL, NULL, NULL, NULL, "wiki");
$docLink = CRM_Utils_System::docURL2("user/initial-set-up/scheduled-jobs/#job_update_greeting");
$msg = ts('The update greeting job can be very resource intensive and is typically not necessary to run on a regular basis. If you do choose to enable the job, we recommend you do not run it with the force=1 option, which would rebuild greetings on all records. Leaving that option absent, or setting it to force=0, will only rebuild greetings for contacts that do not currently have a value stored. %1', [1 => $docLink]);
CRM_Core_Session::setStatus($msg, ts('Warning: Update Greeting job enabled'), 'alert');
}
Expand Down
1 change: 0 additions & 1 deletion CRM/Member/BAO/MembershipStatus.php
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,6 @@ public static function setIsActive($id, $is_active) {

/**
* Takes an associative array and creates a membership Status object.
* See http://wiki.civicrm.org/confluence/display/CRM/Database+layer
*
* @param array $params
* (reference ) an assoc array of name/value pairs.
Expand Down
2 changes: 1 addition & 1 deletion CRM/Upgrade/Incremental/sql/README.txt
Original file line number Diff line number Diff line change
Expand Up @@ -80,4 +80,4 @@ VALUES
(@option_group_id_activity_type, {localize}'{ts escape="sql"}Change Custom Data{/ts}'{/localize},{localize}''{/localize}, (SELECT @max_val := @max_val+1), 'Change Custom Data', (SELECT @max_wt := @max_wt+1), 0, @caseCompId);

------------------------------------------------------------------------------
More details on the wiki: http://wiki.civicrm.org/confluence/display/CRMDOC/Internationalisation+for+Developers#InternationalisationforDevelopers-Localisedfieldsschemachanges
More details: https://docs.civicrm.org/dev/en/latest/translation/database/#localised-fields-schema-changes
2 changes: 1 addition & 1 deletion CRM/Utils/Check.php
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@ public function assertValid($messages = NULL, $threshold = \Psr\Log\LogLevel::ER
* This functon is wrapped by the System.check api.
*
* Calls hook_civicrm_check() for extensions to add or modify messages.
* @link http://wiki.civicrm.org/confluence/display/CRMDOC/hook_civicrm_check
* @link https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_check/
*
* @param bool $max
* Whether to return just the maximum non-hushed severity
Expand Down
25 changes: 10 additions & 15 deletions CRM/Utils/Check/Component/Env.php
Original file line number Diff line number Diff line change
Expand Up @@ -117,11 +117,10 @@ public function checkMysqlTime() {
if (!CRM_Utils_Time::isEqual($phpNow, $sqlNow, 2.5 * 60)) {
$messages[] = new CRM_Utils_Check_Message(
__FUNCTION__,
ts('Timestamps reported by MySQL (eg "%2") and PHP (eg "%3" ) are mismatched.<br /><a href="%1">Read more about this warning</a>', [
1 => CRM_Utils_System::docURL2('sysadmin/requirements/#mysql-time', TRUE),
2 => $sqlNow,
3 => $phpNow,
]),
ts('Timestamps reported by MySQL (eg "%1") and PHP (eg "%2" ) are mismatched.', [
1 => $sqlNow,
2 => $phpNow,
]) . '<br />' . CRM_Utils_System::docURL2('sysadmin/requirements/#mysql-time'),
ts('Timestamp Mismatch'),
\Psr\Log\LogLevel::ERROR,
'fa-server'
Expand Down Expand Up @@ -262,10 +261,9 @@ public function checkDefaultMailbox() {
\Psr\Log\LogLevel::WARNING,
'fa-envelope'
);
$docUrl = 'target="_blank" href="' . CRM_Utils_System::docURL(['page' => 'user/advanced-configuration/email-system-configuration/', 'URLonly' => TRUE]) . '""';
$message->addHelp(
ts('A default mailbox must be configured for email bounce processing.') . '<br />' .
ts("Learn more in the <a %1>online documentation</a>.", [1 => $docUrl])
CRM_Utils_System::docURL2('user/advanced-configuration/email-system-configuration/')
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are we loosing the original link text here?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes ... in some places we have things like this one: "Learn more in the online documentation" with a link, other places "See the XXX section in the documentation" with a link, others use the default rendering of "(Learn more ...)" with a link. I've adopted the more concise, default form.

So this one changes from:
"A default mailbox must be configured for email bounce processing. Learn more in the online documentation."
to
"A default mailbox must be configured for email bounce processing. (Learn more...)"

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I prefer the more concise form.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

However I can't see where the "Learn more..." text is being passed in here.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nope, I see it - in the docUrl functions.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's generated by docURL2()

);
$messages[] = $message;
}
Expand Down Expand Up @@ -323,10 +321,8 @@ public function checkLastCron() {
// After 1 day (86400 seconds) increase the error level
$level = ($lastCron > $now - 86400) ? \Psr\Log\LogLevel::WARNING : \Psr\Log\LogLevel::ERROR;
}
$cronLink = 'target="_blank" href="' . htmlentities(CRM_Utils_System::docURL2('sysadmin/setup/jobs/', TRUE)) . '""';
$msg .= '<p>' . ts('To enable scheduling support, please <a %1>set up the cron job</a>.', [
1 => $cronLink,
]) . '</p>';
$msg .= '<p>' . ts('To enable scheduling support, please set up the cron job.') .
'<br />' . CRM_Utils_System::docURL2('sysadmin/setup/jobs/') . '</p>';
}

$messages[] = new CRM_Utils_Check_Message(
Expand Down Expand Up @@ -604,10 +600,9 @@ public function checkExtensions() {
// CRM-13141 There may not be any compatible extensions available for the requested CiviCRM version + CMS. If so, $extdir is empty so just return a notice.
$messages[] = new CRM_Utils_Check_Message(
__FUNCTION__,
ts('There are currently no extensions on the CiviCRM public extension directory which are compatible with version %1. If you want to install an extension which is not marked as compatible, you may be able to <a %2>download and install extensions manually</a> (depending on access to your web server).', [
ts('There are currently no extensions on the CiviCRM public extension directory which are compatible with version %1. If you want to install an extension which is not marked as compatible, you may be able to download and install extensions manually (depending on access to your web server).', [
1 => CRM_Utils_System::majorVersion(),
2 => 'href="http://wiki.civicrm.org/confluence/display/CRMDOC/Extensions"',
]),
]) . '<br />' . CRM_Utils_System::docURL2('sysadmin/customize/extensions/#installing-a-new-extension'),
ts('No Extensions Available for this Version'),
\Psr\Log\LogLevel::NOTICE,
'fa-plug'
Expand Down Expand Up @@ -907,7 +902,7 @@ public function checkMysqlUtf8mb4() {
else {
$messages[] = new CRM_Utils_Check_Message(
__FUNCTION__,
ts("Future versions of CiviCRM may require MySQL to support utf8mb4 encoding. It is recommended, though not yet required. Please discuss with your server administrator about configuring your MySQL server for utf8mb4. CiviCRM's recommended configurations are in the <a href='%1' title='System Administrator Guide'>System Administrator Guide</a>", [1 => CRM_Utils_System::docURL2("sysadmin/requirements/#mysql-configuration", TRUE)]),
ts("Future versions of CiviCRM may require MySQL to support utf8mb4 encoding. It is recommended, though not yet required. Please discuss with your server administrator about configuring your MySQL server for utf8mb4. CiviCRM's recommended configurations are in the System Administrator Guide") . '<br />' . CRM_Utils_System::docURL2('sysadmin/requirements/#mysql-configuration'),
ts('MySQL Emoji Support (utf8mb4)'),
\Psr\Log\LogLevel::WARNING,
'fa-database'
Expand Down
6 changes: 3 additions & 3 deletions CRM/Utils/Hook/WordPress.php
Original file line number Diff line number Diff line change
Expand Up @@ -80,13 +80,13 @@ public function invokeViaUF(
// are incompatible with the WordPress Plugin API:
//
// civicrm_upgrade
// http://wiki.civicrm.org/confluence/display/CRMDOC43/hook_civicrm_upgrade
// https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_upgrade/
//
// civicrm_caseSummary
// http://wiki.civicrm.org/confluence/display/CRMDOC43/hook_civicrm_caseSummary
// https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_caseSummary/
//
// civicrm_dashboard
// http://wiki.civicrm.org/confluence/display/CRMDOC43/hook_civicrm_dashboard
// https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_dashboard/

// distinguish between types of hook
if (!in_array($fnSuffix, $this->hooksThatReturn)) {
Expand Down
4 changes: 2 additions & 2 deletions CRM/Utils/System.php
Original file line number Diff line number Diff line change
Expand Up @@ -1390,7 +1390,7 @@ public static function docURL($params) {
}

if (!isset($params['text']) or $params['text'] === NULL) {
$params['text'] = ts('(learn more...)');
$params['text'] = ts('(Learn more...)');
}

if (!isset($params['style']) || $params['style'] === NULL) {
Expand Down Expand Up @@ -1419,7 +1419,7 @@ public static function docURL($params) {
* @return mixed
*/
public static function formatDocUrl($url) {
return preg_replace('#^(user|sysadmin|dev)/#', '\1/en/stable/', $url);
return preg_replace('#^(user|sysadmin|dev)/#', '\1/en/latest/', $url);
}

/**
Expand Down
2 changes: 1 addition & 1 deletion templates/CRM/Admin/Form/Setting/Debugging.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
+--------------------------------------------------------------------+
*}
<div class="help">
{ts}In addition to the settings on this screen, there are a number of settings you can add to your sites's settings file (civicrm.settings.php) to provide additional debugging information.{/ts} {docURL page="Debugging for developers" resource="wiki"}
{ts}In addition to the settings on this screen, there are a number of settings you can add to your sites's settings file (civicrm.settings.php) to provide additional debugging information.{/ts} {docURL page="dev/tools/debugging/#changing-file-based-settings"}
</div>
<div class="crm-block crm-form-block crm-debugging-form-block">
<div class="crm-submit-buttons">{include file="CRM/common/formButtons.tpl" location="top"}</div>
Expand Down
3 changes: 1 addition & 2 deletions templates/CRM/Admin/Form/Setting/Mail.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,8 @@
| and copyright information, see https://civicrm.org/licensing |
+--------------------------------------------------------------------+
*}
{capture assign=docLink}{docURL page="CiviMail Mailer Settings" text="CiviMail Mailer Settings and Optimization" resource="wiki"}{/capture}
<div class="help">
{ts 1=$docLink}These settings are used to configure mailer properties for the optional CiviMail component and may allow you to significantly optimize performance. Please read the %1 documentation, and make sure you understand it before modifying default values. (These settings are NOT used for the built-in 'Email - send now' feature).{/ts}
{ts}These settings are used to configure mailer properties for the optional CiviMail component and may allow you to significantly optimize performance. Please read the documentation, and make sure you understand it before modifying default values. (These settings are NOT used for the built-in 'Email - send now' feature).{/ts} {docURL page="sysadmin/setup/civimail/outbound"}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should we not still be passing through the text="xxx"here?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See comment above

</div>
<div class="crm-block crm-form-block crm-mail-form-block">
{include file='CRM/Admin/Form/Setting/SettingForm.tpl'}
Expand Down
2 changes: 1 addition & 1 deletion templates/CRM/Admin/Form/Setting/Path.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@
<tr class="crm-path-form-block-customTemplateDir">
<td class="label">{$form.customTemplateDir.label}</td>
<td>{$form.customTemplateDir.html|crmAddClass:'huge40'}<br />
<span class="description">{ts}Path where site specific templates are stored if any. This directory is searched first if set. Custom JavaScript code can be added to templates by creating files named <em>templateFile.extra.tpl</em>.{/ts} {docURL page="Customize Built-in Screens" resource="wiki"}</span><br />
<span class="description">{ts}Path where site specific templates are stored if any. This directory is searched first if set. Custom JavaScript code can be added to templates by creating files named <em>templateFile.extra.tpl</em>.{/ts} {docURL page="sysadmin/setup/directories"}</span><br />
<span class="description">{ts}CiviCase configuration files can also be stored in this custom path.{/ts} {docURL page="user/case-management/set-up"}</span>
</td>
</tr>
Expand Down
2 changes: 1 addition & 1 deletion templates/CRM/Admin/Page/MessageTemplates.hlp
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
{capture assign=tokenDocLink}{docURL page="user/common-workflows/tokens-and-mail-merge"}{/capture}
{capture assign=schedRemindersDocLink}{docURL page="user/email/scheduled-reminders/"}{/capture}
{capture assign=schedRemURL}{crmURL p='civicrm/admin/scheduleReminders' q="reset=1"}{/capture}
{capture assign=upgradeTemplatesDocLink}{docURL page="Updating System Workflow Message Templates after Upgrades - method 1 - kdiff" resource="wiki"}{/capture}
{capture assign=upgradeTemplatesDocLink}{docURL page="sysadmin/upgrade/#updating-system-workflow-message-templates"}{/capture}
{htxt id="id-intro-title"}
{ts}Message Templates{/ts}
{/htxt}
Expand Down
3 changes: 1 addition & 2 deletions templates/CRM/Admin/Page/Options.hlp
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,8 @@
{ts}Activity Types{/ts}
{/htxt}
{htxt id='id-activity-types'}
{capture assign=docLink}{docURL page="CiviCRM Public APIs" text="API Documentation" resource="wiki"}{/capture}
<p>{ts}Activities are 'interactions with contacts' which you want to record and track. CiviCRM has several reserved (e.g. 'built-in') activity types (meetings, phone calls, emails sent). Create additional 'activity types' here if you need to record other types of activities. For example, you might want to add 'Job Interview', or 'Site Audit', etc.{/ts}</p>
{capture assign=crmURL}{crmURL p='civicrm/admin/custom/group' q='reset=1'}{/capture}
<p>{ts 1=$crmURL}Subject, location, date/time and description fields are provided for all activity types. You can add custom fields for tracking additional information about activities <a href='%1'>here</a>.{/ts}</p>
<p>{ts 1=$docLink}Scheduled and Completed Activities are searchable by type and/or activity date using 'Advanced Search'. Other applications may record activities for CiviCRM contacts using our APIs. For more information, refer to the online %1.{/ts}</p>
<p>{ts}Scheduled and Completed Activities are searchable by type and/or activity date using 'Advanced Search'. Other applications may record activities for CiviCRM contacts using our APIs.{/ts} {docURL page="dev/api"} </p>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Again should we still be passing through the text here?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See comment above

{/htxt}
4 changes: 2 additions & 2 deletions templates/CRM/Admin/Page/PaymentProcessor.hlp
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,10 @@
<p>{ts}Refer to the following documentation:{/ts}</p>
<ul>
<li>{docURL page="user/contributions/payment-processors" text="Payment processor overview"}</li>
<li>{docURL page="Payment Processors" text="Processor comparison and setup guide" resource="wiki"}</li>
<li>{docURL page="sysadmin/setup/payment-processors" text="Processor comparison and setup guide"}</li>
</ul>
<p>{ts}If you're not sure which processor to use - we recommend reviewing terms, limitations and coverage areas on each processor's website before proceeding.{/ts}</p>
<p>{ts 1="https://civicrm.org/extensions?tid_4[]=125"}If your desired processor is not in the list, check the <a href="%1">Extensions Directory</a> for more payment processors you can download. If you still can't find it, consider partnering with a developer and contributing a new extension.{/ts}</p>
<p>{ts 1="https://civicrm.org/extensions?field_extension_civi_use_target_id=125"}If your desired processor is not in the list, check the <a href="%1">Extensions Directory</a> for more payment processors you can download. If you still can't find it, consider partnering with a developer and contributing a new extension.{/ts}</p>
{/htxt}

{htxt id='AuthNet-live-user-name'}
Expand Down
2 changes: 1 addition & 1 deletion templates/CRM/Campaign/Form/Survey/Main.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@
<tr class="crm-campaign-survey-main-form-block-release_frequency">
<td class="label">{$form.release_frequency.label}</td>
<td class="view-value">{$form.release_frequency.html}
<div class="description">{ts}Reserved respondents are released if they haven't been surveyed within this number of days. The Respondent Processor script must be run periodically to release respondents.{/ts} {docURL page="Managing Scheduled Jobs" resource="wiki"}</div> </td>
<div class="description">{ts}Reserved respondents are released if they haven't been surveyed within this number of days. The Respondent Processor script must be run periodically to release respondents.{/ts} {docURL page="user/initial-set-up/scheduled-jobs"}</div> </td>
</tr>
<tr class="crm-campaign-survey-main-form-block-is_active">
<td class="label">{$form.is_active.label}</td>
Expand Down
2 changes: 1 addition & 1 deletion templates/CRM/Contact/Import/Form/DataSource.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@
<span class="description">
{ts}This option is not recommended for large imports. Use the command-line geocoding script instead.{/ts}
</span>
{docURL page="Managing Scheduled Jobs" resource="wiki"}
{docURL page="user/initial-set-up/scheduled-jobs"}
</td>
</tr>
{/if}
Expand Down
2 changes: 1 addition & 1 deletion templates/CRM/Contact/Page/CustomSearch.hlp
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
<p>
{ts}These are developed and contributed by members of the CiviCRM community. Consider adding any custom searches which you use often to your Search menu (from Administer > Customize Data and Screens > Navigation Menu). As new custom searches become available they can be viewed (and installed if useful) from Administer > System Settings > Manage Extensions.{/ts}
</p>
<p>{docURL page="Create a Custom-Search Extension" resource="wiki"}</p>
<p>{docURL page="dev/extensions/civix/#generate-search"}</p>
</p>
<p>
{ts}NOTE: Some of these searches may rely on specific site configurations - and may not work as expected on your site.{/ts}
Expand Down
2 changes: 1 addition & 1 deletion templates/CRM/Custom/Form/Field.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@
{$form.filter.html}
&nbsp;&nbsp;<span><a class="crm-hover-button toggle-contact-ref-mode" href="#Group">{ts}Filter by Group{/ts}</a></span>
<br />
<span class="description">{ts}Filter contact search results for this field using Contact get API parameters. EXAMPLE: To list Students in group 3:{/ts} "action=get&group=3&contact_sub_type=Student" {docURL page="Using the API" resource="wiki"}</span>
<span class="description">{ts}Filter contact search results for this field using Contact get API parameters. EXAMPLE: To list Students in group 3:{/ts} "action=get&group=3&contact_sub_type=Student" {docURL page="dev/api"}</span>
</td>
</tr>
<tr class="crm-custom-field-form-block-options_per_line" id="optionsPerLine" {if $action neq 2 && ($form.data_type.value.0.0 >= 4 && $form.data_type.value.1.0 neq 'CheckBox' || $form.data_type.value.1.0 neq 'Radio' )}class="hiddenElement"{/if}>
Expand Down
2 changes: 1 addition & 1 deletion templates/CRM/Report/Form/Tabs/Settings.hlp
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
{ts}A copy of this report can be automatically generated and delivered via email to specified recipients. Use the settings in this section to control Subject of the email containing the report, as well as the recipient list (To and Cc fields). Separate multiple 'To' or 'CC' email addresses with commas.{/ts}
</p>
<p>
{ts}Your site administrator will need to setup an instance of the Scheduled Job "Mail Reports" to trigger creation and delivery of each report. When invoked, this job will deliver email to the recipients specified for the report. The report can be attached to the email as a PDF file (default), as a CSV file, or included in HTML format.{/ts} {docURL page="Managing Scheduled Jobs" resource="wiki"}
{ts}Your site administrator will need to setup an instance of the Scheduled Job "Mail Reports" to trigger creation and delivery of each report. When invoked, this job will deliver email to the recipients specified for the report. The report can be attached to the email as a PDF file (default), as a CSV file, or included in HTML format.{/ts} {docURL page="user/initial-set-up/scheduled-jobs"}
</p>
{/htxt}

Expand Down
3 changes: 1 addition & 2 deletions templates/CRM/SMS/Page/Provider.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,8 @@
{if $action eq 1 or $action eq 2 or $action eq 8}
{include file="CRM/SMS/Form/Provider.tpl"}
{else}
{capture assign=wikiLink}{docURL page="Setting up a SMS Provider for CiviSMS" text="(How to add a SMS Provider)" resource="wiki"}{/capture}
<div class="help">
{ts}You can configure one or more SMS Providers for your CiviCRM installation. To learn more about the procedure to install SMS extension and Provider, refer{/ts} {$wikiLink}
{ts}You can configure one or more SMS Providers for your CiviCRM installation.{/ts} {docURL page="user/sms-text-messaging/set-up"}
</div>

<div class="crm-content-block crm-block">
Expand Down
Loading