if (!$this->cacheDir || !is_dir($this->cacheDir) || !is_writable($this->cacheDir)) {
$civicrmDestination = urlencode(CRM_Utils_System::url('civicrm/admin/extensions', 'reset=1'));
if (!$this->cacheDir || !is_dir($this->cacheDir) || !is_writable($this->cacheDir)) {
$civicrmDestination = urlencode(CRM_Utils_System::url('civicrm/admin/extensions', 'reset=1'));
foreach ((array) $remotes as $id => $xml) {
$ext = CRM_Extension_Info::loadFromString($xml);
$this->_remotesDiscovered[] = $ext;
foreach ((array) $remotes as $id => $xml) {
$ext = CRM_Extension_Info::loadFromString($xml);
$this->_remotesDiscovered[] = $ext;
if (FALSE === $this->getRepositoryUrl()) {
// don't check if the user has configured civi not to check an external
// url for extensions. See CRM-10575.
if (FALSE === $this->getRepositoryUrl()) {
// don't check if the user has configured civi not to check an external
// url for extensions. See CRM-10575.
- throw new CRM_Extension_Exception(ts('The CiviCRM public extensions directory at %1 could not be contacted - please check your webserver can make external HTTP requests or contact CiviCRM team on <a href="http://forum.civicrm.org/">CiviCRM forum</a>.', array(1 => $this->getRepositoryUrl())), 'connection_error');
+ throw new CRM_Extension_Exception(ts('The CiviCRM public extensions directory at %1 could not be contacted - please check your webserver can make external HTTP requests. Contact your site administrator for assistance.', [1 => $this->getRepositoryUrl()]), 'connection_error');