}
$surveysData[$sid]['isActive'] = $isActive;
- $isDefault = NULL;
- if ($surveysData[$sid]['is_default']) {
- $isDefault = '<img src="' . $config->resourceBase . 'i/check.gif" alt="' . ts('Default') . '" />';
- }
- $surveysData[$sid]['is_default'] = $isDefault;
+ $surveysData[$sid]['is_default'] = self::crmIcon('fa-check', ts('Default'), $surveysData[$sid]['is_default']);
if ($surveysData[$sid]['result_id']) {
$resultSet = '<a href= "javascript:displayResultSet( ' . $sid . ',' . "'" . $surveysData[$sid]['title'] . "'" . ', ' . $surveysData[$sid]['result_id'] . ' )" title="' . ts('view result set') . '">' . ts('Result Set') . '</a>';
$isActive = ts('Yes');
}
$petitionsData[$pid]['isActive'] = $isActive;
- $isDefault = NULL;
- if ($petitionsData[$pid]['is_default']) {
- $isDefault = '<img src="' . $config->resourceBase . 'i/check.gif" alt="' . ts('Default') . '" />';
- }
- $petitionsData[$pid]['is_default'] = $isDefault;
+ $petitionsData[$pid]['is_default'] = self::crmIcon('fa-check', ts('Default'), $petitionsData[$pid]['is_default']);
$petitionsData[$pid]['action'] = CRM_Core_Action::formLink(self::petitionActionLinks(),
$action,
}
if (in_array($field->html_type, ['CheckBox', 'Multi-Select'])) {
- if (isset($defVal) && in_array($dao->value, $defVal)) {
- $options[$dao->id]['is_default'] = '<img src="' . $config->resourceBase . 'i/check.gif" />';
- }
- else {
- $options[$dao->id]['is_default'] = '';
- }
+ $isDefault = (isset($defVal) && in_array($dao->value, $defVal));
}
else {
- if ($field->default_value == $dao->value) {
- $options[$dao->id]['is_default'] = '<img src="' . $config->resourceBase . 'i/check.gif" />';
- }
- else {
- $options[$dao->id]['is_default'] = '';
- }
+ $isDefault = ($field->default_value == $dao->value);
}
+ $options[$dao->id]['is_default'] = CRM_Core_Page::crmIcon('fa-check', ts('Default'), $isDefault);
$options[$dao->id]['description'] = $dao->description;
$options[$dao->id]['class'] = $dao->id . ',' . $class;
$options[$dao->id]['is_active'] = empty($dao->is_active) ? ts('No') : ts('Yes');
$this->assign('fields', $dateFields);
}
+ /**
+ * Handy helper to produce the standard markup for an icon with alternative
+ * text for a title and screen readers.
+ *
+ * See also the smarty block function `icon`
+ *
+ * @param string $icon
+ * The class name of the icon to display.
+ * @param string $text
+ * The translated text to display.
+ * @param bool $condition
+ * Whether to display anything at all. This helps simplify code when a
+ * checkmark should appear if something is true.
+ *
+ * @return string
+ * The whole bit to drop in.
+ */
+ public static function crmIcon($icon, $text = NULL, $condition = TRUE) {
+ if (!$condition) {
+ return '';
+ }
+ if ($text === NULL || $text === '') {
+ $title = $sr = '';
+ }
+ else {
+ $title = " title=\"$text\"";
+ $sr = "<span class=\"sr-only\">$text</span>";
+ }
+ return "<i class=\"crm-i $icon\"$title></i>$sr";
+ }
+
}
--- /dev/null
+<?php
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved. |
+ | |
+ | This work is published under the GNU AGPLv3 license with some |
+ | permitted exceptions and without any warranty. For full license |
+ | and copyright information, see https://civicrm.org/licensing |
+ +--------------------------------------------------------------------+
+ */
+
+/**
+ *
+ * @package CRM
+ * @author Andrew Hunt, AGH Strategies
+ * $Id$
+ *
+ */
+
+/**
+ * Display an icon with some alternative text.
+ *
+ * This is a wrapper around CRM_Core_Page::icon().
+ *
+ * @param $params
+ * - condition: if present and falsey, return empty
+ * - icon: the icon class to display instead of fa-check
+ *
+ * @param $text
+ * The translated text to include in the icon's title and screen-reader text.
+ *
+ * @param $smarty
+ *
+ * @return string
+ */
+function smarty_block_icon($params, $text, &$smarty) {
+ $condition = array_key_exists('condition', $params) ? $params['condition'] : 1;
+ $icon = $params['icon'] ?? 'fa-check';
+ return CRM_Core_Page::crmIcon($icon, $text, $condition);
+}
$action -= CRM_Core_Action::DISABLE;
}
}
- if (!empty($customOption[$id]['is_default'])) {
- $customOption[$id]['is_default'] = '<img src="' . $config->resourceBase . 'i/check.gif" />';
- }
- else {
- $customOption[$id]['is_default'] = '';
- }
+ $customOption[$id]['is_default'] = CRM_Core_Page::crmIcon('fa-check', ts('Default'), !empty($customOption[$id]['is_default']));
$customOption[$id]['order'] = $customOption[$id]['weight'];
$customOption[$id]['action'] = CRM_Core_Action::formLink(self::actionLinks(), $action,
[
<td class="crm-labelFormat-name">{$row.groupName}</td>
<td class="crm-labelFormat-order nowrap">{$row.weight}</td>
<td class="crm-labelFormat-description">{$row.grouping}</td>
- <td class="crm-labelFormat-is_default">{if $row.is_default eq 1}
- <img src="{$config->resourceBase}i/check.gif" alt="{ts}Default{/ts}"/>{/if} </td>
+ <td class="crm-labelFormat-is_default">{icon condition=$row.is_default}{ts}Default{/ts}{/icon} </td>
<td class="crm-labelFormat-is_reserved">{if $row.is_reserved eq 1}{ts}Yes{/ts}{else}{ts}No{/ts}{/if}
</td>
<td>{$row.action|replace:'xx':$row.id}</td>
<td class="crmf-vcard_name crm-editable">{$row.vcard_name}</td>
<td class="crmf-description crm-editable">{$row.description}</td>
<td id="row_{$row.id}_status" class="crmf-is_active">{if $row.is_active eq 1} {ts}Yes{/ts} {else} {ts}No{/ts} {/if}</td>
- <td class="crmf-is_default" >{if $row.is_default eq 1}<img src="{$config->resourceBase}i/check.gif" alt="{ts}Default{/ts}" />{/if} </td>
+ <td class="crmf-is_default">{icon condition=$row.is_default}{ts}Default{/ts}{/icon} </td>
<td>{$row.action|replace:'xx':$row.id}</td>
</tr>
{/foreach}
<td>{$row.financial_account}</td>
{/if}
{if $showCounted}
- <td class="center crm-admin-options-filter">{if $row.filter eq 1}<img src="{$config->resourceBase}i/check.gif" alt="{ts}Counted{/ts}" />{/if}</td>
+ <td class="center crm-admin-options-filter">{icon condition=$row.filter}{ts}Counted{/ts}{/icon}</td>
{/if}
{if $showVisibility}<td class="crm-admin-visibility_label">{$row.visibility_label}</td>{/if}
<td class="crm-admin-options-description crm-editable" data-field="description" data-type="textarea">{$row.description}</td>
<td class="nowrap crm-admin-options-order">{$row.weight}</td>
{if $showIsDefault}
- <td class="crm-admin-options-is_default" align="center">{if $row.is_default eq 1}<img src="{$config->resourceBase}i/check.gif" alt="{ts}Default{/ts}" />{/if} </td>
+ <td class="crm-admin-options-is_default" align="center">{icon condition=$row.is_default}{ts}Default{/ts}{/icon} </td>
{/if}
<td class="crm-admin-options-is_reserved">{if $row.is_reserved eq 1} {ts}Yes{/ts} {else} {ts}No{/ts} {/if}</td>
<td class="crm-admin-options-is_active" id="row_{$row.id}_status">{if $row.is_active eq 1} {ts}Yes{/ts} {else} {ts}No{/ts} {/if}</td>
<td class="crmf-label crm-editable" data-field="label">{$row.label}</td>
<td class="crmf-name">{$row.name} ({$row.id})</td>
<td class="crmf-class {if !$row.is_reserved} crm-editable {/if}" data-type="select">{$row.class}</td>
- <td class="center crmf-is_reserved">{if $row.is_reserved}<img src="{$config->resourceBase}i/check.gif" alt="{ts}Reserved{/ts}" />{/if}</td>
+ <td class="center crmf-is_reserved">{icon condition=$row.is_reserved}{ts}Reserved{/ts}{/icon}</td>
<td id="row_{$row.id}_status" class="crmf-is_active">{if $row.is_active eq 1} {ts}Yes{/ts} {else} {ts}No{/ts} {/if}</td>
- <td class="center crmf-is_counted">{if $row.is_counted} <img src="{$config->resourceBase}i/check.gif" alt="{ts}Counted{/ts}" />{/if}</td>
+ <td class="center crmf-is_counted">{icon condition=$row.is_counted}{ts}Counted{/ts}{/icon}</td>
<td class="crmf-weight">{$row.weight}</td>
<td class="crmf-visibility">{$row.visibility}</td>
<td>{$row.action|replace:'xx':$row.id}</td>
<td class="crmf-description">{$row.description}</td>
<td class="crmf-financial_account_id">{$row.financialAccount}</td>
<td class="crmf-is_active center">{if $row.is_active eq 1} {ts}Yes{/ts} {else} {ts}No{/ts} {/if}</td>
- <td class="crmf-is_default center">
- {if $row.is_default eq 1}<img src="{$config->resourceBase}i/check.gif" alt="{ts}Default{/ts}"/>{/if}
+ <td class="crmf-is_default center">{icon condition=$row.is_default}{ts}Default{/ts}{/icon}
</td>
<td>{$row.action|replace:'xx':$row.id}</td>
</tr>
<td class="crm-paymentProcessorType-title crm-editable" data-field="title">{$row.title}</td>
<td class="crm-paymentProcessorType-description">{$row.description}</td>
<td id="row_{$row.id}_status" class="crm-paymentProcessorType-is_active">{if $row.is_active eq 1} {ts}Yes{/ts} {else} {ts}No{/ts} {/if}</td>
- <td class="crm-paymentProcessorType-is_default">{if $row.is_default eq 1}<img src="{$config->resourceBase}i/check.gif" alt="{ts}Default{/ts}" />{/if} </td>
+ <td class="crm-paymentProcessorType-is_default">{icon condition=$row.is_default}{ts}Default{/ts}{/icon} </td>
<td>{$row.action}</td>
</tr>
{/foreach}
<tr id="row_{$row.id}" class="crm-pdfFormat {cycle values="odd-row,even-row"} {$row.class}">
<td class="crm-pdfFormat-name">{$row.name}</td>
<td class="crm-pdfFormat-description">{$row.description}</td>
- <td class="crm-pdfFormat-is_default">{if $row.is_default eq 1}<img src="{$config->resourceBase}i/check.gif" alt="{ts}Default{/ts}" />{/if} </td>
+ <td class="crm-pdfFormat-is_default">{icon condition=$row.is_default}{ts}Default{/ts}{/icon} </td>
<td class="crm-pdfFormat-order nowrap">{$row.weight}</td>
<td>{$row.action|replace:'xx':$row.id}</td>
</tr>
<td id="row_{$row.id}_status" class="crm-badge-layout-is_active">
{if $row.is_active eq 1} {ts}Yes{/ts} {else} {ts}No{/ts} {/if}
</td>
- <td class="crm-badge-layout-is_default">
- {if $row.is_default eq 1}
- <img src="{$config->resourceBase}i/check.gif" alt="{ts}Default{/ts}"/>
- {/if}
+ <td class="crm-badge-layout-is_default">{icon condition=$row.is_default}{ts}Default{/ts}{/icon}
</td>
<td>{$row.action|replace:'xx':$row.id}</td>
</tr>
<td>{$survey.release_frequency}</td>
<td>{$survey.max_number_of_contacts}</td>
<td>{$survey.default_number_of_contacts}</td>
- <td>{if $survey.is_default}<img src="{$config->resourceBase}i/check.gif" alt="{ts}Default{/ts}" /> {/if}</td>
+ <td>{icon condition=$survey.is_default}{ts}Default{/ts}{/icon}</td>
<td id="row_{$survey.id}_status">{if $survey.is_active}{ts}Yes{/ts}{else}{ts}No{/ts}{/if}</td>
<td class="crm-report-optionList-action">{$survey.action}</td>
</tr>
<td>{$row.financial_account_type_id}{if $row.account_type_code} ({$row.account_type_code}){/if}</td>
<td>{if $row.is_deductible eq 1} {ts}Yes{/ts} {else} {ts}No{/ts} {/if}</td>
<td>{if $row.is_reserved eq 1} {ts}Yes{/ts} {else} {ts}No{/ts} {/if}</td>
- <td>{if $row.is_default eq 1}<img src="{$config->resourceBase}i/check.gif" alt="{ts}Default{/ts}" /> {/if}</td>
+ <td>{icon condition=$row.is_default}{ts}Default{/ts}{/icon}</td>
<td id="row_{$row.id}_status">{if $row.is_active eq 1} {ts}Yes{/ts} {else} {ts}No{/ts} {/if}</td>
<td>{$row.action|replace:'xx':$row.id}</td>
</tr>
<td>{$row.subject}</td>
<td>{$row.body_html|escape}</td>
<td>{$row.body_text|escape}</td>
- <td>{if $row.is_default eq 1}<img src="{$config->resourceBase}i/check.gif" alt="{ts}Default{/ts}" />{/if} </td>
+ <td>{icon condition=$row.is_default}{ts}Default{/ts}{/icon} </td>
<td id="row_{$row.id}_status">{if $row.is_active eq 1} {ts}Yes{/ts} {else} {ts}No{/ts} {/if}</td>
<td>{$row.action|replace:'xx':$row.id}</td>
</tr>
<td class="crm-price-option-count">{$row.count}</td>
<td class="crm-price-option-max">{$row.max_value}</td>
{/if}
- <td class="crm-price-option-is_default">{if $row.is_default}<img src="{$config->resourceBase}i/check.gif" alt="{ts}Default{/ts}" />{/if}</td>
+ <td class="crm-price-option-is_default">{icon condition=$row.is_default}{ts}Default{/ts}{/icon}</td>
<td class="nowrap crm-price-option-financial-type-id">{$row.financial_type_id}</td>
<td class="nowrap crm-price-option-order">{$row.weight}</td>
{if $getTaxDetails}