Spade
Mini Shell
PK76�[�[,D�)�)tmpl/default.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage com_contact
*
* @copyright Copyright (C) 2005 - 2020 Open Source Matters, Inc. All
rights reserved.
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
$tparams = $this->item->params;
?>
<div class="contact<?php echo $this->pageclass_sfx;
?>" itemscope itemtype="https://schema.org/Person">
<?php if ($tparams->get('show_page_heading')) : ?>
<h1>
<?php echo
$this->escape($tparams->get('page_heading')); ?>
</h1>
<?php endif; ?>
<?php if ($this->contact->name &&
$tparams->get('show_name')) : ?>
<div class="page-header">
<h2>
<?php if ($this->item->published == 0) : ?>
<span class="label label-warning"><?php echo
JText::_('JUNPUBLISHED'); ?></span>
<?php endif; ?>
<span class="contact-name"
itemprop="name"><?php echo $this->contact->name;
?></span>
</h2>
</div>
<?php endif; ?>
<?php $show_contact_category =
$tparams->get('show_contact_category'); ?>
<?php if ($show_contact_category === 'show_no_link') : ?>
<h3>
<span class="contact-category"><?php echo
$this->contact->category_title; ?></span>
</h3>
<?php elseif ($show_contact_category === 'show_with_link') :
?>
<?php $contactLink =
ContactHelperRoute::getCategoryRoute($this->contact->catid); ?>
<h3>
<span class="contact-category"><a href="<?php
echo $contactLink; ?>">
<?php echo $this->escape($this->contact->category_title);
?></a>
</span>
</h3>
<?php endif; ?>
<?php echo $this->item->event->afterDisplayTitle; ?>
<?php if ($tparams->get('show_contact_list') &&
count($this->contacts) > 1) : ?>
<form action="#" method="get"
name="selectForm" id="selectForm">
<label for="select_contact"><?php echo
JText::_('COM_CONTACT_SELECT_CONTACT'); ?></label>
<?php echo JHtml::_('select.genericlist',
$this->contacts, 'select_contact',
'class="inputbox" onchange="document.location.href =
this.value"', 'link', 'name',
$this->contact->link); ?>
</form>
<?php endif; ?>
<?php if ($tparams->get('show_tags', 1) &&
!empty($this->item->tags->itemTags)) : ?>
<?php $this->item->tagLayout = new
JLayoutFile('joomla.content.tags'); ?>
<?php echo
$this->item->tagLayout->render($this->item->tags->itemTags);
?>
<?php endif; ?>
<?php echo $this->item->event->beforeDisplayContent; ?>
<?php $presentation_style =
$tparams->get('presentation_style'); ?>
<?php $accordionStarted = false; ?>
<?php $tabSetStarted = false; ?>
<?php if ($this->params->get('show_info', 1)) : ?>
<?php if ($presentation_style === 'sliders') : ?>
<?php echo JHtml::_('bootstrap.startAccordion',
'slide-contact', array('active' =>
'basic-details')); ?>
<?php $accordionStarted = true; ?>
<?php echo JHtml::_('bootstrap.addSlide',
'slide-contact', JText::_('COM_CONTACT_DETAILS'),
'basic-details'); ?>
<?php elseif ($presentation_style === 'tabs') : ?>
<?php echo JHtml::_('bootstrap.startTabSet',
'myTab', array('active' =>
'basic-details')); ?>
<?php $tabSetStarted = true; ?>
<?php echo JHtml::_('bootstrap.addTab', 'myTab',
'basic-details', JText::_('COM_CONTACT_DETAILS'));
?>
<?php elseif ($presentation_style === 'plain') : ?>
<?php echo '<h3>' .
JText::_('COM_CONTACT_DETAILS') . '</h3>'; ?>
<?php endif; ?>
<?php if ($this->contact->image &&
$tparams->get('show_image')) : ?>
<div class="thumbnail pull-right">
<?php echo JHtml::_('image', $this->contact->image,
htmlspecialchars($this->contact->name, ENT_QUOTES,
'UTF-8'), array('itemprop' => 'image'));
?>
</div>
<?php endif; ?>
<?php if ($this->contact->con_position &&
$tparams->get('show_position')) : ?>
<dl class="contact-position dl-horizontal">
<dt><?php echo JText::_('COM_CONTACT_POSITION');
?>:</dt>
<dd itemprop="jobTitle">
<?php echo $this->contact->con_position; ?>
</dd>
</dl>
<?php endif; ?>
<?php echo $this->loadTemplate('address'); ?>
<?php if ($tparams->get('allow_vcard')) : ?>
<?php echo JText::_('COM_CONTACT_DOWNLOAD_INFORMATION_AS');
?>
<a href="<?php echo
JRoute::_('index.php?option=com_contact&view=contact&id='
. $this->contact->id . '&format=vcf');
?>">
<?php echo JText::_('COM_CONTACT_VCARD'); ?></a>
<?php endif; ?>
<?php if ($presentation_style === 'sliders') : ?>
<?php echo JHtml::_('bootstrap.endSlide'); ?>
<?php elseif ($presentation_style === 'tabs') : ?>
<?php echo JHtml::_('bootstrap.endTab'); ?>
<?php endif; ?>
<?php endif; ?>
<?php if ($tparams->get('show_email_form') &&
($this->contact->email_to || $this->contact->user_id)) : ?>
<?php if ($presentation_style === 'sliders') : ?>
<?php if (!$accordionStarted)
{
echo JHtml::_('bootstrap.startAccordion',
'slide-contact', array('active' =>
'display-form'));
$accordionStarted = true;
}
?>
<?php echo JHtml::_('bootstrap.addSlide',
'slide-contact', JText::_('COM_CONTACT_EMAIL_FORM'),
'display-form'); ?>
<?php elseif ($presentation_style === 'tabs') : ?>
<?php if (!$tabSetStarted)
{
echo JHtml::_('bootstrap.startTabSet', 'myTab',
array('active' => 'display-form'));
$tabSetStarted = true;
}
?>
<?php echo JHtml::_('bootstrap.addTab', 'myTab',
'display-form', JText::_('COM_CONTACT_EMAIL_FORM'));
?>
<?php elseif ($presentation_style === 'plain') : ?>
<?php echo '<h3>' .
JText::_('COM_CONTACT_EMAIL_FORM') . '</h3>';
?>
<?php endif; ?>
<?php echo $this->loadTemplate('form'); ?>
<?php if ($presentation_style === 'sliders') : ?>
<?php echo JHtml::_('bootstrap.endSlide'); ?>
<?php elseif ($presentation_style === 'tabs') : ?>
<?php echo JHtml::_('bootstrap.endTab'); ?>
<?php endif; ?>
<?php endif; ?>
<?php if ($tparams->get('show_links')) : ?>
<?php if ($presentation_style === 'sliders') : ?>
<?php if (!$accordionStarted) : ?>
<?php echo JHtml::_('bootstrap.startAccordion',
'slide-contact', array('active' =>
'display-links')); ?>
<?php $accordionStarted = true; ?>
<?php endif; ?>
<?php elseif ($presentation_style === 'tabs') : ?>
<?php if (!$tabSetStarted) : ?>
<?php echo JHtml::_('bootstrap.startTabSet',
'myTab', array('active' =>
'display-links')); ?>
<?php $tabSetStarted = true; ?>
<?php endif; ?>
<?php endif; ?>
<?php echo $this->loadTemplate('links'); ?>
<?php endif; ?>
<?php if ($tparams->get('show_articles') &&
$this->contact->user_id && $this->contact->articles) :
?>
<?php if ($presentation_style === 'sliders') : ?>
<?php if (!$accordionStarted)
{
echo JHtml::_('bootstrap.startAccordion',
'slide-contact', array('active' =>
'display-articles'));
$accordionStarted = true;
}
?>
<?php echo JHtml::_('bootstrap.addSlide',
'slide-contact', JText::_('JGLOBAL_ARTICLES'),
'display-articles'); ?>
<?php elseif ($presentation_style === 'tabs') : ?>
<?php if (!$tabSetStarted)
{
echo JHtml::_('bootstrap.startTabSet', 'myTab',
array('active' => 'display-articles'));
$tabSetStarted = true;
}
?>
<?php echo JHtml::_('bootstrap.addTab', 'myTab',
'display-articles', JText::_('JGLOBAL_ARTICLES'));
?>
<?php elseif ($presentation_style === 'plain') : ?>
<?php echo '<h3>' .
JText::_('JGLOBAL_ARTICLES') . '</h3>'; ?>
<?php endif; ?>
<?php echo $this->loadTemplate('articles'); ?>
<?php if ($presentation_style === 'sliders') : ?>
<?php echo JHtml::_('bootstrap.endSlide'); ?>
<?php elseif ($presentation_style === 'tabs') : ?>
<?php echo JHtml::_('bootstrap.endTab'); ?>
<?php endif; ?>
<?php endif; ?>
<?php if ($tparams->get('show_profile') &&
$this->contact->user_id &&
JPluginHelper::isEnabled('user', 'profile')) : ?>
<?php if ($presentation_style === 'sliders') : ?>
<?php if (!$accordionStarted)
{
echo JHtml::_('bootstrap.startAccordion',
'slide-contact', array('active' =>
'display-profile'));
$accordionStarted = true;
}
?>
<?php echo JHtml::_('bootstrap.addSlide',
'slide-contact', JText::_('COM_CONTACT_PROFILE'),
'display-profile'); ?>
<?php elseif ($presentation_style === 'tabs') : ?>
<?php if (!$tabSetStarted)
{
echo JHtml::_('bootstrap.startTabSet', 'myTab',
array('active' => 'display-profile'));
$tabSetStarted = true;
}
?>
<?php echo JHtml::_('bootstrap.addTab', 'myTab',
'display-profile', JText::_('COM_CONTACT_PROFILE'));
?>
<?php elseif ($presentation_style === 'plain') : ?>
<?php echo '<h3>' .
JText::_('COM_CONTACT_PROFILE') . '</h3>'; ?>
<?php endif; ?>
<?php echo $this->loadTemplate('profile'); ?>
<?php if ($presentation_style === 'sliders') : ?>
<?php echo JHtml::_('bootstrap.endSlide'); ?>
<?php elseif ($presentation_style === 'tabs') : ?>
<?php echo JHtml::_('bootstrap.endTab'); ?>
<?php endif; ?>
<?php endif; ?>
<?php if ($tparams->get('show_user_custom_fields')
&& $this->contactUser) : ?>
<?php echo $this->loadTemplate('user_custom_fields');
?>
<?php endif; ?>
<?php if ($this->contact->misc &&
$tparams->get('show_misc')) : ?>
<?php if ($presentation_style === 'sliders') : ?>
<?php if (!$accordionStarted)
{
echo JHtml::_('bootstrap.startAccordion',
'slide-contact', array('active' =>
'display-misc'));
$accordionStarted = true;
}
?>
<?php echo JHtml::_('bootstrap.addSlide',
'slide-contact',
JText::_('COM_CONTACT_OTHER_INFORMATION'),
'display-misc'); ?>
<?php elseif ($presentation_style === 'tabs') : ?>
<?php if (!$tabSetStarted)
{
echo JHtml::_('bootstrap.startTabSet', 'myTab',
array('active' => 'display-misc'));
$tabSetStarted = true;
}
?>
<?php echo JHtml::_('bootstrap.addTab', 'myTab',
'display-misc',
JText::_('COM_CONTACT_OTHER_INFORMATION')); ?>
<?php elseif ($presentation_style === 'plain') : ?>
<?php echo '<h3>' .
JText::_('COM_CONTACT_OTHER_INFORMATION') .
'</h3>'; ?>
<?php endif; ?>
<div class="contact-miscinfo">
<dl class="dl-horizontal">
<dt>
<span class="<?php echo
$tparams->get('marker_class'); ?>">
<?php echo $tparams->get('marker_misc'); ?>
</span>
</dt>
<dd>
<span class="contact-misc">
<?php echo $this->contact->misc; ?>
</span>
</dd>
</dl>
</div>
<?php if ($presentation_style === 'sliders') : ?>
<?php echo JHtml::_('bootstrap.endSlide'); ?>
<?php elseif ($presentation_style === 'tabs') : ?>
<?php echo JHtml::_('bootstrap.endTab'); ?>
<?php endif; ?>
<?php endif; ?>
<?php if ($accordionStarted) : ?>
<?php echo JHtml::_('bootstrap.endAccordion'); ?>
<?php elseif ($tabSetStarted) : ?>
<?php echo JHtml::_('bootstrap.endTabSet'); ?>
<?php endif; ?>
<?php echo $this->item->event->afterDisplayContent; ?>
</div>
PK76�[-!Y�00tmpl/default.xmlnu�[���<?xml
version="1.0" encoding="utf-8"?>
<metadata>
<layout title="COM_CONTACT_CONTACT_VIEW_DEFAULT_TITLE"
option="COM_CONTACT_CONTACT_VIEW_DEFAULT_OPTION">
<help
key = "JHELP_MENUS_MENU_ITEM_CONTACT_SINGLE_CONTACT"
/>
<message>
<![CDATA[COM_CONTACT_CONTACT_VIEW_DEFAULT_DESC]]>
</message>
</layout>
<!-- Add fields to the request variables for the layout. -->
<fields name="request">
<fieldset name="request"
addfieldpath="/administrator/components/com_contact/models/fields"
>
<field
name="id"
type="modal_contact"
label="COM_CONTACT_SELECT_CONTACT_LABEL"
description="COM_CONTACT_SELECT_CONTACT_DESC"
required="true"
select="true"
new="true"
edit="true"
clear="true"
/>
</fieldset>
</fields>
<!-- Add fields to the parameters object for the layout. -->
<fields name="params">
<!-- Basic options. -->
<fieldset name="params"
label="COM_CONTACT_BASIC_OPTIONS_FIELDSET_LABEL"
addfieldpath="/administrator/components/com_fields/models/fields"
>
<field
name="presentation_style"
type="list"
label="COM_CONTACT_FIELD_PRESENTATION_LABEL"
description="COM_CONTACT_FIELD_PRESENTATION_DESC"
useglobal="true"
>
<option
value="sliders">COM_CONTACT_FIELD_VALUE_SLIDERS</option>
<option
value="tabs">COM_CONTACT_FIELD_VALUE_TABS</option>
<option
value="plain">COM_CONTACT_FIELD_VALUE_PLAIN</option>
</field>
<field
name="show_contact_category"
type="list"
label="COM_CONTACT_FIELD_CONTACT_SHOW_CATEGORY_LABEL"
description="COM_CONTACT_FIELD_CONTACT_SHOW_CATEGORY_DESC"
useglobal="true"
class="chzn-color"
>
<option value="hide">JHIDE</option>
<option
value="show_no_link">COM_CONTACT_FIELD_VALUE_NO_LINK</option>
<option
value="show_with_link">COM_CONTACT_FIELD_VALUE_WITH_LINK</option>
</field>
<field
name="show_contact_list"
type="list"
label="COM_CONTACT_FIELD_CONTACT_SHOW_LIST_LABEL"
description="COM_CONTACT_FIELD_CONTACT_SHOW_LIST_DESC"
useglobal="true"
class="chzn-color"
>
<option value="0">JHIDE</option>
<option value="1">JSHOW</option>
</field>
<field
name="show_name"
type="list"
label="COM_CONTACT_FIELD_PARAMS_NAME_LABEL"
description="COM_CONTACT_FIELD_PARAMS_NAME_DESC"
useglobal="true"
class="chzn-color"
>
<option value="0">JHIDE</option>
<option value="1">JSHOW</option>
</field>
<field
name="show_tags"
type="list"
label="COM_CONTACT_FIELD_SHOW_TAGS_LABEL"
description="COM_CONTACT_FIELD_SHOW_TAGS_DESC"
useglobal="true"
class="chzn-color"
>
<option value="0">JHIDE</option>
<option value="1">JSHOW</option>
</field>
<field
name="show_info"
type="list"
label="COM_CONTACT_FIELD_SHOW_INFO_LABEL"
description="COM_CONTACT_FIELD_SHOW_INFO_DESC"
useglobal="true"
class="chzn-color"
>
<option value="0">JHIDE</option>
<option value="1">JSHOW</option>
</field>
<field
name="show_position"
type="list"
label="COM_CONTACT_FIELD_PARAMS_CONTACT_POSITION_LABEL"
description="COM_CONTACT_FIELD_PARAMS_CONTACT_POSITION_DESC"
useglobal="true"
showon="show_info:1"
class="chzn-color"
>
<option value="0">JHIDE</option>
<option value="1">JSHOW</option>
</field>
<field
name="show_email"
type="list"
label="JGLOBAL_EMAIL"
description="COM_CONTACT_FIELD_PARAMS_CONTACT_E_MAIL_DESC"
useglobal="true"
showon="show_info:1"
class="chzn-color"
>
<option value="0">JHIDE</option>
<option value="1">JSHOW</option>
</field>
<field
name="add_mailto_link"
type="list"
label="COM_CONTACT_FIELD_PARAMS_ADD_MAILTO_LINK_LABEL"
description="COM_CONTACT_FIELD_PARAMS_ADD_MAILTO_LINK_DESC"
useglobal="true"
showon="show_info:1"
class="chzn-color"
>
<option value="1">JYES</option>
<option value="0">JNO</option>
</field>
<field
name="show_street_address"
type="list"
label="COM_CONTACT_FIELD_PARAMS_STREET_ADDRESS_LABEL"
description="COM_CONTACT_FIELD_PARAMS_STREET_ADDRESS_DESC"
useglobal="true"
showon="show_info:1"
class="chzn-color"
>
<option value="0">JHIDE</option>
<option value="1">JSHOW</option>
</field>
<field
name="show_suburb"
type="list"
label="COM_CONTACT_FIELD_PARAMS_TOWN-SUBURB_LABEL"
description="COM_CONTACT_FIELD_PARAMS_TOWN-SUBURB_DESC"
useglobal="true"
showon="show_info:1"
class="chzn-color"
>
<option value="0">JHIDE</option>
<option value="1">JSHOW</option>
</field>
<field
name="show_state"
type="list"
label="COM_CONTACT_FIELD_PARAMS_STATE-COUNTY_LABEL"
description="COM_CONTACT_FIELD_PARAMS_STATE-COUNTY_DESC"
useglobal="true"
showon="show_info:1"
class="chzn-color"
>
<option value="0">JHIDE</option>
<option value="1">JSHOW</option>
</field>
<field
name="show_postcode"
type="list"
label="COM_CONTACT_FIELD_PARAMS_POST-ZIP_CODE_LABEL"
description="COM_CONTACT_FIELD_PARAMS_POST-ZIP_CODE_DESC"
useglobal="true"
showon="show_info:1"
class="chzn-color"
>
<option value="0">JHIDE</option>
<option value="1">JSHOW</option>
</field>
<field
name="show_country"
type="list"
label="COM_CONTACT_FIELD_PARAMS_COUNTRY_LABEL"
description="COM_CONTACT_FIELD_PARAMS_COUNTRY_DESC"
useglobal="true"
showon="show_info:1"
class="chzn-color"
>
<option value="0">JHIDE</option>
<option value="1">JSHOW</option>
</field>
<field
name="show_telephone"
type="list"
label="COM_CONTACT_FIELD_PARAMS_TELEPHONE_LABEL"
description="COM_CONTACT_FIELD_PARAMS_TELEPHONE_DESC"
useglobal="true"
showon="show_info:1"
class="chzn-color"
>
<option value="0">JHIDE</option>
<option value="1">JSHOW</option>
</field>
<field
name="show_mobile"
type="list"
label="COM_CONTACT_FIELD_PARAMS_MOBILE_LABEL"
description="COM_CONTACT_FIELD_PARAMS_MOBILE_DESC"
useglobal="true"
showon="show_info:1"
class="chzn-color"
>
<option value="0">JHIDE</option>
<option value="1">JSHOW</option>
</field>
<field
name="show_fax"
type="list"
label="COM_CONTACT_FIELD_PARAMS_FAX_LABEL"
description="COM_CONTACT_FIELD_PARAMS_FAX_DESC"
useglobal="true"
showon="show_info:1"
class="chzn-color"
>
<option value="0">JHIDE</option>
<option value="1">JSHOW</option>
</field>
<field
name="show_webpage"
type="list"
label="COM_CONTACT_FIELD_PARAMS_WEBPAGE_LABEL"
description="COM_CONTACT_FIELD_PARAMS_WEBPAGE_DESC"
useglobal="true"
showon="show_info:1"
class="chzn-color"
>
<option value="0">JHIDE</option>
<option value="1">JSHOW</option>
</field>
<field
name="show_image"
type="list"
label="COM_CONTACT_FIELD_PARAMS_IMAGE_LABEL"
description="COM_CONTACT_FIELD_PARAMS_IMAGE_DESC"
useglobal="true"
showon="show_info:1"
class="chzn-color"
>
<option value="0">JHIDE</option>
<option value="1">JSHOW</option>
</field>
<field
name="allow_vcard"
type="list"
label="COM_CONTACT_FIELD_PARAMS_VCARD_LABEL"
description="COM_CONTACT_FIELD_PARAMS_VCARD_DESC"
useglobal="true"
class="chzn-color"
>
<option value="0">JHIDE</option>
<option value="1">JSHOW</option>
</field>
<field
name="show_misc"
type="list"
label="COM_CONTACT_FIELD_PARAMS_MISC_INFO_LABEL"
description="COM_CONTACT_FIELD_PARAMS_MISC_INFO_DESC"
useglobal="true"
class="chzn-color"
>
<option value="0">JHIDE</option>
<option value="1">JSHOW</option>
</field>
<field
name="show_articles"
type="list"
label="COM_CONTACT_FIELD_ARTICLES_SHOW_LABEL"
description="COM_CONTACT_FIELD_ARTICLES_SHOW_DESC"
useglobal="true"
class="chzn-color"
>
<option value="0">JHIDE</option>
<option value="1">JSHOW</option>
</field>
<field
name="articles_display_num"
type="list"
label="COM_CONTACT_FIELD_ARTICLES_DISPLAY_NUM_LABEL"
description="COM_CONTACT_FIELD_ARTICLES_DISPLAY_NUM_DESC"
default=""
useglobal="true"
>
<option
value="use_contact">COM_CONTACT_FIELD_VALUE_USE_CONTACT_SETTINGS</option>
<option value="5">J5</option>
<option value="10">J10</option>
<option value="15">J15</option>
<option value="20">J20</option>
<option value="25">J25</option>
<option value="30">J30</option>
<option value="50">J50</option>
<option value="75">J75</option>
<option value="100">J100</option>
<option value="150">J150</option>
<option value="200">J200</option>
<option value="250">J250</option>
<option value="300">J300</option>
<option value="0">JALL</option>
</field>
<field
name="show_profile"
type="list"
label="COM_CONTACT_FIELD_PROFILE_SHOW_LABEL"
description="COM_CONTACT_FIELD_PROFILE_SHOW_DESC"
useglobal="true"
class="chzn-color"
>
<option value="0">JHIDE</option>
<option value="1">JSHOW</option>
</field>
<field
name="show_user_custom_fields"
type="fieldgroups"
label="COM_CONTACT_FIELD_USER_CUSTOM_FIELDS_SHOW_LABEL"
description="COM_CONTACT_FIELD_USER_CUSTOM_FIELDS_SHOW_DESC"
multiple="true"
context="com_users.user"
>
<option value="-1">JALL</option>
</field>
<field
name="show_links"
type="list"
label="COM_CONTACT_FIELD_SHOW_LINKS_LABEL"
description="COM_CONTACT_FIELD_SHOW_LINKS_DESC"
useglobal="true"
class="chzn-color"
>
<option value="0">JHIDE</option>
<option value="1">JSHOW</option>
</field>
<field
name="linka_name"
type="text"
label="COM_CONTACT_FIELD_LINKA_NAME_LABEL"
description="COM_CONTACT_FIELD_LINK_NAME_DESC"
size="30"
useglobal="true"
/>
<field
name="linkb_name"
type="text"
label="COM_CONTACT_FIELD_LINKB_NAME_LABEL"
description="COM_CONTACT_FIELD_LINK_NAME_DESC"
size="30"
useglobal="true"
/>
<field
name="linkc_name"
type="text"
label="COM_CONTACT_FIELD_LINKC_NAME_LABEL"
description="COM_CONTACT_FIELD_LINK_NAME_DESC"
size="30"
useglobal="true"
/>
<field
name="linkd_name"
type="text"
label="COM_CONTACT_FIELD_LINKD_NAME_LABEL"
description="COM_CONTACT_FIELD_LINK_NAME_DESC"
size="30"
useglobal="true"
/>
<field
name="linke_name"
type="text"
label="COM_CONTACT_FIELD_LINKE_NAME_LABEL"
description="COM_CONTACT_FIELD_LINK_NAME_DESC"
size="30"
useglobal="true"
/>
</fieldset>
<!-- Form options. -->
<fieldset name="Contact_Form"
label="COM_CONTACT_MAIL_FIELDSET_LABEL"
>
<field
name="show_email_form"
type="list"
label="COM_CONTACT_FIELD_EMAIL_SHOW_FORM_LABEL"
description="COM_CONTACT_FIELD_EMAIL_SHOW_FORM_DESC"
useglobal="true"
class="chzn-color"
>
<option value="0">JHIDE</option>
<option value="1">JSHOW</option>
</field>
<field
name="show_email_copy"
type="list"
label="COM_CONTACT_FIELD_EMAIL_EMAIL_COPY_LABEL"
description="COM_CONTACT_FIELD_EMAIL_EMAIL_COPY_DESC"
useglobal="true"
class="chzn-color"
>
<option value="0">JHIDE</option>
<option value="1">JSHOW</option>
</field>
<field
name="validate_session"
type="list"
label="COM_CONTACT_FIELD_CONFIG_SESSION_CHECK_LABEL"
description="COM_CONTACT_FIELD_CONFIG_SESSION_CHECK_DESC"
useglobal="true"
class="chzn-color"
>
<option value="0">JNO</option>
<option value="1">JYES</option>
</field>
<field
name="custom_reply"
type="list"
label="COM_CONTACT_FIELD_CONFIG_CUSTOM_REPLY_LABEL"
description="COM_CONTACT_FIELD_CONFIG_CUSTOM_REPLY_DESC"
useglobal="true"
class="chzn-color"
>
<option value="0">JNO</option>
<option value="1">JYES</option>
</field>
<field
name="redirect"
type="text"
label="COM_CONTACT_FIELD_CONFIG_REDIRECT_LABEL"
description="COM_CONTACT_FIELD_CONFIG_REDIRECT_DESC"
size="30"
useglobal="true"
/>
</fieldset>
</fields>
</metadata>
PK76�[(CG�]]tmpl/default_address.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage com_contact
*
* @copyright Copyright (C) 2005 - 2020 Open Source Matters, Inc. All
rights reserved.
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
/**
* Marker_class: Class based on the selection of text, none, or icons
* jicon-text, jicon-none, jicon-icon
*/
?>
<dl class="contact-address dl-horizontal"
itemprop="address" itemscope
itemtype="https://schema.org/PostalAddress">
<?php if (($this->params->get('address_check') > 0)
&&
($this->contact->address || $this->contact->suburb ||
$this->contact->state || $this->contact->country ||
$this->contact->postcode)) : ?>
<dt>
<span class="<?php echo
$this->params->get('marker_class'); ?>">
<?php echo $this->params->get('marker_address');
?>
</span>
</dt>
<?php if ($this->contact->address &&
$this->params->get('show_street_address')) : ?>
<dd>
<span class="contact-street"
itemprop="streetAddress">
<?php echo nl2br($this->contact->address); ?>
<br />
</span>
</dd>
<?php endif; ?>
<?php if ($this->contact->suburb &&
$this->params->get('show_suburb')) : ?>
<dd>
<span class="contact-suburb"
itemprop="addressLocality">
<?php echo $this->contact->suburb; ?>
<br />
</span>
</dd>
<?php endif; ?>
<?php if ($this->contact->state &&
$this->params->get('show_state')) : ?>
<dd>
<span class="contact-state"
itemprop="addressRegion">
<?php echo $this->contact->state; ?>
<br />
</span>
</dd>
<?php endif; ?>
<?php if ($this->contact->postcode &&
$this->params->get('show_postcode')) : ?>
<dd>
<span class="contact-postcode"
itemprop="postalCode">
<?php echo $this->contact->postcode; ?>
<br />
</span>
</dd>
<?php endif; ?>
<?php if ($this->contact->country &&
$this->params->get('show_country')) : ?>
<dd>
<span class="contact-country"
itemprop="addressCountry">
<?php echo $this->contact->country; ?>
<br />
</span>
</dd>
<?php endif; ?>
<?php endif; ?>
<?php if ($this->contact->email_to &&
$this->params->get('show_email')) : ?>
<dt>
<span class="<?php echo
$this->params->get('marker_class'); ?>"
itemprop="email">
<?php echo nl2br($this->params->get('marker_email'));
?>
</span>
</dt>
<dd>
<span class="contact-emailto">
<?php echo $this->contact->email_to; ?>
</span>
</dd>
<?php endif; ?>
<?php if ($this->contact->telephone &&
$this->params->get('show_telephone')) : ?>
<dt>
<span class="<?php echo
$this->params->get('marker_class'); ?>">
<?php echo $this->params->get('marker_telephone');
?>
</span>
</dt>
<dd>
<span class="contact-telephone"
itemprop="telephone">
<?php echo $this->contact->telephone; ?>
</span>
</dd>
<?php endif; ?>
<?php if ($this->contact->fax &&
$this->params->get('show_fax')) : ?>
<dt>
<span class="<?php echo
$this->params->get('marker_class'); ?>">
<?php echo $this->params->get('marker_fax'); ?>
</span>
</dt>
<dd>
<span class="contact-fax" itemprop="faxNumber">
<?php echo $this->contact->fax; ?>
</span>
</dd>
<?php endif; ?>
<?php if ($this->contact->mobile &&
$this->params->get('show_mobile')) : ?>
<dt>
<span class="<?php echo
$this->params->get('marker_class'); ?>">
<?php echo $this->params->get('marker_mobile'); ?>
</span>
</dt>
<dd>
<span class="contact-mobile"
itemprop="telephone">
<?php echo $this->contact->mobile; ?>
</span>
</dd>
<?php endif; ?>
<?php if ($this->contact->webpage &&
$this->params->get('show_webpage')) : ?>
<dt>
<span class="<?php echo
$this->params->get('marker_class'); ?>">
</span>
</dt>
<dd>
<span class="contact-webpage">
<a href="<?php echo $this->contact->webpage;
?>" target="_blank" rel="noopener noreferrer"
itemprop="url">
<?php echo JStringPunycode::urlToUTF8($this->contact->webpage);
?></a>
</span>
</dd>
<?php endif; ?>
</dl>
PK76�[9�}..tmpl/default_articles.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage com_contact
*
* @copyright Copyright (C) 2005 - 2020 Open Source Matters, Inc. All
rights reserved.
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
JLoader::register('ContentHelperRoute', JPATH_SITE .
'/components/com_content/helpers/route.php');
?>
<?php if ($this->params->get('show_articles')) : ?>
<div class="contact-articles">
<ul class="nav nav-tabs nav-stacked">
<?php foreach ($this->item->articles as $article) : ?>
<li>
<?php echo JHtml::_('link',
JRoute::_(ContentHelperRoute::getArticleRoute($article->slug,
$article->catid, $article->language)),
htmlspecialchars($article->title, ENT_COMPAT, 'UTF-8')); ?>
</li>
<?php endforeach; ?>
</ul>
</div>
<?php endif; ?>
PK76�[�C���tmpl/default_form.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage com_contact
*
* @copyright Copyright (C) 2005 - 2020 Open Source Matters, Inc. All
rights reserved.
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
JHtml::_('behavior.keepalive');
JHtml::_('behavior.formvalidator');
?>
<div class="contact-form">
<form id="contact-form" action="<?php echo
JRoute::_('index.php'); ?>" method="post"
class="form-validate form-horizontal well">
<?php foreach ($this->form->getFieldsets() as $fieldset) : ?>
<?php if ($fieldset->name === 'captcha' &&
!$this->captchaEnabled) : ?>
<?php continue; ?>
<?php endif; ?>
<?php $fields = $this->form->getFieldset($fieldset->name);
?>
<?php if (count($fields)) : ?>
<fieldset>
<?php if (isset($fieldset->label) && ($legend =
trim(JText::_($fieldset->label))) !== '') : ?>
<legend><?php echo $legend; ?></legend>
<?php endif; ?>
<?php foreach ($fields as $field) : ?>
<?php echo $field->renderField(); ?>
<?php endforeach; ?>
</fieldset>
<?php endif; ?>
<?php endforeach; ?>
<div class="control-group">
<div class="controls">
<button class="btn btn-primary validate"
type="submit"><?php echo
JText::_('COM_CONTACT_CONTACT_SEND'); ?></button>
<input type="hidden" name="option"
value="com_contact" />
<input type="hidden" name="task"
value="contact.submit" />
<input type="hidden" name="return"
value="<?php echo $this->return_page; ?>" />
<input type="hidden" name="id"
value="<?php echo $this->contact->slug; ?>" />
<?php echo JHtml::_('form.token'); ?>
</div>
</div>
</form>
</div>
PK76�[�\���tmpl/default_links.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage com_contact
*
* @copyright Copyright (C) 2005 - 2020 Open Source Matters, Inc. All
rights reserved.
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
?>
<?php if ($this->params->get('presentation_style') ===
'sliders') : ?>
<?php echo JHtml::_('bootstrap.addSlide',
'slide-contact', JText::_('COM_CONTACT_LINKS'),
'display-links'); ?>
<?php endif; ?>
<?php if ($this->params->get('presentation_style') ===
'tabs') : ?>
<?php echo JHtml::_('bootstrap.addTab', 'myTab',
'display-links', JText::_('COM_CONTACT_LINKS')); ?>
<?php endif; ?>
<?php if ($this->params->get('presentation_style') ===
'plain') : ?>
<?php echo '<h3>' .
JText::_('COM_CONTACT_LINKS') . '</h3>'; ?>
<?php endif; ?>
<div class="contact-links">
<ul class="nav nav-tabs nav-stacked">
<?php
// Letters 'a' to 'e'
foreach (range('a', 'e') as $char) :
$link = $this->contact->params->get('link' . $char);
$label = $this->contact->params->get('link' . $char .
'_name');
if (!$link) :
continue;
endif;
// Add 'http://' if not present
$link = (0 === strpos($link, 'http')) ? $link :
'http://' . $link;
// If no label is present, take the link
$label = $label ?: $link;
?>
<li>
<a href="<?php echo $link; ?>"
itemprop="url">
<?php echo $label; ?>
</a>
</li>
<?php endforeach; ?>
</ul>
</div>
<?php if ($this->params->get('presentation_style') ===
'sliders') : ?>
<?php echo JHtml::_('bootstrap.endSlide'); ?>
<?php endif; ?>
<?php if ($this->params->get('presentation_style') ===
'tabs') : ?>
<?php echo JHtml::_('bootstrap.endTab'); ?>
<?php endif; ?>
PK76�[���
bbtmpl/default_profile.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage com_contact
*
* @copyright Copyright (C) 2005 - 2020 Open Source Matters, Inc. All
rights reserved.
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
?>
<?php if (JPluginHelper::isEnabled('user',
'profile')) :
$fields = $this->item->profile->getFieldset('profile');
?>
<div class="contact-profile"
id="users-profile-custom">
<dl class="dl-horizontal">
<?php foreach ($fields as $profile) :
if ($profile->value) :
echo '<dt>' . $profile->label .
'</dt>';
$profile->text = htmlspecialchars($profile->value, ENT_COMPAT,
'UTF-8');
switch ($profile->id) :
case 'profile_website':
$v_http = substr($profile->value, 0, 4);
if ($v_http === 'http') :
echo '<dd><a href="' . $profile->text .
'">' . JStringPunycode::urlToUTF8($profile->text) .
'</a></dd>';
else :
echo '<dd><a href="http://' .
$profile->text . '">' .
JStringPunycode::urlToUTF8($profile->text) .
'</a></dd>';
endif;
break;
case 'profile_dob':
echo '<dd>' . JHtml::_('date',
$profile->text, JText::_('DATE_FORMAT_LC4'), false) .
'</dd>';
break;
default:
echo '<dd>' . $profile->text .
'</dd>';
break;
endswitch;
endif;
endforeach; ?>
</dl>
</div>
<?php endif; ?>
PK76�[P�e #tmpl/default_user_custom_fields.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage com_contact
*
* @copyright Copyright (C) 2005 - 2020 Open Source Matters, Inc. All
rights reserved.
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
$params = $this->item->params;
$presentation_style = $params->get('presentation_style');
$displayGroups = $params->get('show_user_custom_fields');
$userFieldGroups = array();
?>
<?php if (!$displayGroups || !$this->contactUser) : ?>
<?php return; ?>
<?php endif; ?>
<?php foreach ($this->contactUser->jcfields as $field) : ?>
<?php if (!in_array('-1', $displayGroups) &&
(!$field->group_id || !in_array($field->group_id, $displayGroups))) :
?>
<?php continue; ?>
<?php endif; ?>
<?php if (!key_exists($field->group_title, $userFieldGroups)) :
?>
<?php $userFieldGroups[$field->group_title] = array(); ?>
<?php endif; ?>
<?php $userFieldGroups[$field->group_title][] = $field; ?>
<?php endforeach; ?>
<?php foreach ($userFieldGroups as $groupTitle => $fields) : ?>
<?php $id = JApplicationHelper::stringURLSafe($groupTitle); ?>
<?php if ($presentation_style == 'sliders') : ?>
<?php echo JHtml::_('bootstrap.addSlide',
'slide-contact', $groupTitle ?:
JText::_('COM_CONTACT_USER_FIELDS'), 'display-' . $id);
?>
<?php elseif ($presentation_style == 'tabs') : ?>
<?php echo JHtml::_('bootstrap.addTab', 'myTab',
'display-' . $id, $groupTitle ?:
JText::_('COM_CONTACT_USER_FIELDS')); ?>
<?php elseif ($presentation_style == 'plain') : ?>
<?php echo '<h3>' . ($groupTitle ?:
JText::_('COM_CONTACT_USER_FIELDS')) . '</h3>';
?>
<?php endif; ?>
<div class="contact-profile"
id="user-custom-fields-<?php echo $id; ?>">
<dl class="dl-horizontal">
<?php foreach ($fields as $field) : ?>
<?php if (!$field->value) : ?>
<?php continue; ?>
<?php endif; ?>
<?php if ($field->params->get('showlabel')) : ?>
<?php echo '<dt>' . JText::_($field->label) .
'</dt>'; ?>
<?php endif; ?>
<?php echo '<dd>' . $field->value .
'</dd>'; ?>
<?php endforeach; ?>
</dl>
</div>
<?php if ($presentation_style == 'sliders') : ?>
<?php echo JHtml::_('bootstrap.endSlide'); ?>
<?php elseif ($presentation_style == 'tabs') : ?>
<?php echo JHtml::_('bootstrap.endTab'); ?>
<?php endif; ?>
<?php endforeach; ?>
PK76�[�� a99
view.html.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage com_contact
*
* @copyright Copyright (C) 2005 - 2020 Open Source Matters, Inc. All
rights reserved.
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
/**
* HTML Contact View class for the Contact component
*
* @since 1.5
*/
class ContactViewContact extends JViewLegacy
{
/**
* The item model state
*
* @var \Joomla\Registry\Registry
* @since 1.6
*/
protected $state;
/**
* The form object for the contact item
*
* @var JForm
* @since 1.6
*/
protected $form;
/**
* The item object details
*
* @var JObject
* @since 1.6
*/
protected $item;
/**
* The page to return to on submission
*
* @var string
* @since 1.6
* @deprecated 4.0 Variable not used
*/
protected $return_page;
/**
* Should we show a captcha form for the submission of the contact
request?
*
* @var bool
* @since 3.6.3
*/
protected $captchaEnabled = false;
/**
* Execute and display a template script.
*
* @param string $tpl The name of the template file to parse;
automatically searches through the template paths.
*
* @return mixed A string if successful, otherwise an Error object.
*/
public function display($tpl = null)
{
$app = JFactory::getApplication();
$user = JFactory::getUser();
$item = $this->get('Item');
$state = $this->get('State');
$contacts = array();
// Get submitted values
$data = $app->getUserState('com_contact.contact.data',
array());
// Add catid for selecting custom fields
$data['catid'] = $item->catid;
$app->setUserState('com_contact.contact.data', $data);
$this->form = $this->get('Form');
$params = $state->get('params');
$temp = clone $params;
$active = $app->getMenu()->getActive();
if ($active)
{
// If the current view is the active item and a contact view for this
contact, then the menu item params take priority
if (strpos($active->link, 'view=contact') &&
strpos($active->link, '&id=' . (int) $item->id))
{
// $item->params are the contact params, $temp are the menu item
params
// Merge so that the menu item params take priority
$item->params->merge($temp);
}
else
{
// Current view is not a single contact, so the contact params take
priority here
// Merge the menu item params with the contact params so that the
contact params take priority
$temp->merge($item->params);
$item->params = $temp;
}
}
else
{
// Merge so that contact params take priority
$temp->merge($item->params);
$item->params = $temp;
}
// Collect extra contact information when this information is required
if ($item &&
$item->params->get('show_contact_list'))
{
// Get Category Model data
$categoryModel = JModelLegacy::getInstance('Category',
'ContactModel', array('ignore_request' => true));
$categoryModel->setState('category.id', $item->catid);
$categoryModel->setState('list.ordering',
'a.name');
$categoryModel->setState('list.direction',
'asc');
$categoryModel->setState('filter.published', 1);
$contacts = $categoryModel->getItems();
}
// Check for errors.
if (count($errors = $this->get('Errors')))
{
JError::raiseWarning(500, implode("\n", $errors));
return false;
}
// Check if access is not public
$groups = $user->getAuthorisedViewLevels();
$return = '';
if ((!in_array($item->access, $groups)) ||
(!in_array($item->category_access, $groups)))
{
$app->enqueueMessage(JText::_('JERROR_ALERTNOAUTHOR'),
'error');
$app->setHeader('status', 403, true);
return false;
}
$options['category_id'] = $item->catid;
$options['order by'] = 'a.default_con DESC, a.ordering
ASC';
/**
* Handle email cloaking
*
* Keep a copy of the raw email address so it can
* still be accessed in the layout if needed.
*/
$item->email_raw = $item->email_to;
if ($item->email_to &&
$item->params->get('show_email'))
{
$item->email_to = JHtml::_('email.cloak',
$item->email_to, (bool)
$item->params->get('add_mailto_link', true));
}
if ($item->params->get('show_street_address') ||
$item->params->get('show_suburb') ||
$item->params->get('show_state')
|| $item->params->get('show_postcode') ||
$item->params->get('show_country'))
{
if (!empty($item->address) || !empty($item->suburb) ||
!empty($item->state) || !empty($item->country) ||
!empty($item->postcode))
{
$item->params->set('address_check', 1);
}
}
else
{
$item->params->set('address_check', 0);
}
// Manage the display mode for contact detail groups
switch ($item->params->get('contact_icons'))
{
case 1 :
// Text
$item->params->set('marker_address',
JText::_('COM_CONTACT_ADDRESS') . ': ');
$item->params->set('marker_email',
JText::_('JGLOBAL_EMAIL') . ': ');
$item->params->set('marker_telephone',
JText::_('COM_CONTACT_TELEPHONE') . ': ');
$item->params->set('marker_fax',
JText::_('COM_CONTACT_FAX') . ': ');
$item->params->set('marker_mobile',
JText::_('COM_CONTACT_MOBILE') . ': ');
$item->params->set('marker_misc',
JText::_('COM_CONTACT_OTHER_INFORMATION') . ': ');
$item->params->set('marker_class',
'jicons-text');
break;
case 2 :
// None
$item->params->set('marker_address', '');
$item->params->set('marker_email', '');
$item->params->set('marker_telephone', '');
$item->params->set('marker_mobile', '');
$item->params->set('marker_fax', '');
$item->params->set('marker_misc', '');
$item->params->set('marker_class',
'jicons-none');
break;
default :
if ($item->params->get('icon_address'))
{
$image1 = JHtml::_('image',
$item->params->get('icon_address',
'con_address.png'), JText::_('COM_CONTACT_ADDRESS') .
': ', null, false);
}
else
{
$image1 = JHtml::_(
'image', 'contacts/' .
$item->params->get('icon_address',
'con_address.png'), JText::_('COM_CONTACT_ADDRESS') .
': ', null, true
);
}
if ($item->params->get('icon_email'))
{
$image2 = JHtml::_('image',
$item->params->get('icon_email',
'emailButton.png'), JText::_('JGLOBAL_EMAIL') . ':
', null, false);
}
else
{
$image2 = JHtml::_('image', 'contacts/' .
$item->params->get('icon_email',
'emailButton.png'), JText::_('JGLOBAL_EMAIL') . ':
', null, true);
}
if ($item->params->get('icon_telephone'))
{
$image3 = JHtml::_('image',
$item->params->get('icon_telephone',
'con_tel.png'), JText::_('COM_CONTACT_TELEPHONE') .
': ', null, false);
}
else
{
$image3 = JHtml::_(
'image', 'contacts/' .
$item->params->get('icon_telephone',
'con_tel.png'), JText::_('COM_CONTACT_TELEPHONE') .
': ', null, true
);
}
if ($item->params->get('icon_fax'))
{
$image4 = JHtml::_('image',
$item->params->get('icon_fax', 'con_fax.png'),
JText::_('COM_CONTACT_FAX') . ': ', null, false);
}
else
{
$image4 = JHtml::_('image', 'contacts/' .
$item->params->get('icon_fax', 'con_fax.png'),
JText::_('COM_CONTACT_FAX') . ': ', null, true);
}
if ($item->params->get('icon_misc'))
{
$image5 = JHtml::_('image',
$item->params->get('icon_misc', 'con_info.png'),
JText::_('COM_CONTACT_OTHER_INFORMATION') . ': ', null,
false);
}
else
{
$image5 = JHtml::_(
'image',
'contacts/' .
$item->params->get('icon_misc', 'con_info.png'),
JText::_('COM_CONTACT_OTHER_INFORMATION') . ': ',
null, true
);
}
if ($item->params->get('icon_mobile'))
{
$image6 = JHtml::_('image',
$item->params->get('icon_mobile',
'con_mobile.png'), JText::_('COM_CONTACT_MOBILE') .
': ', null, false);
}
else
{
$image6 = JHtml::_(
'image', 'contacts/' .
$item->params->get('icon_mobile',
'con_mobile.png'), JText::_('COM_CONTACT_MOBILE') .
': ', null, true
);
}
$item->params->set('marker_address', $image1);
$item->params->set('marker_email', $image2);
$item->params->set('marker_telephone', $image3);
$item->params->set('marker_fax', $image4);
$item->params->set('marker_misc', $image5);
$item->params->set('marker_mobile', $image6);
$item->params->set('marker_class',
'jicons-icons');
break;
}
// Add links to contacts
if ($item->params->get('show_contact_list') &&
count($contacts) > 1)
{
foreach ($contacts as &$contact)
{
$contact->link =
JRoute::_(ContactHelperRoute::getContactRoute($contact->slug,
$contact->catid), false);
}
$item->link =
JRoute::_(ContactHelperRoute::getContactRoute($item->slug,
$item->catid), false);
}
// Process the content plugins
JPluginHelper::importPlugin('content');
$dispatcher = JEventDispatcher::getInstance();
$offset = $state->get('list.offset');
// Fix for where some plugins require a text attribute
$item->text = null;
if (!empty($item->misc))
{
$item->text = $item->misc;
}
$dispatcher->trigger('onContentPrepare',
array('com_contact.contact', &$item, &$item->params,
$offset));
// Store the events for later
$item->event = new stdClass;
$results = $dispatcher->trigger('onContentAfterTitle',
array('com_contact.contact', &$item, &$item->params,
$offset));
$item->event->afterDisplayTitle = trim(implode("\n",
$results));
$results = $dispatcher->trigger('onContentBeforeDisplay',
array('com_contact.contact', &$item, &$item->params,
$offset));
$item->event->beforeDisplayContent = trim(implode("\n",
$results));
$results = $dispatcher->trigger('onContentAfterDisplay',
array('com_contact.contact', &$item, &$item->params,
$offset));
$item->event->afterDisplayContent = trim(implode("\n",
$results));
if (!empty($item->text))
{
$item->misc = $item->text;
}
$contactUser = null;
if ($item->params->get('show_user_custom_fields')
&& $item->user_id && $contactUser =
JFactory::getUser($item->user_id))
{
$contactUser->text = '';
JEventDispatcher::getInstance()->trigger('onContentPrepare',
array ('com_users.user', &$contactUser,
&$item->params, 0));
if (!isset($contactUser->jcfields))
{
$contactUser->jcfields = array();
}
}
// Escape strings for HTML output
$this->pageclass_sfx =
htmlspecialchars($item->params->get('pageclass_sfx'));
$this->contact = &$item;
$this->params = &$item->params;
$this->return = &$return;
$this->state = &$state;
$this->item = &$item;
$this->user = &$user;
$this->contacts = &$contacts;
$this->contactUser = $contactUser;
$item->tags = new JHelperTags;
$item->tags->getItemTags('com_contact.contact',
$this->item->id);
// Override the layout only if this is not the active menu item
// If it is the active menu item, then the view and item id will match
if ((!$active) || ((strpos($active->link, 'view=contact')
=== false) || (strpos($active->link, '&id=' . (string)
$this->item->id) === false)))
{
if (($layout = $item->params->get('contact_layout')))
{
$this->setLayout($layout);
}
}
elseif (isset($active->query['layout']))
{
// We need to set the layout in case this is an alternative menu item
(with an alternative layout)
$this->setLayout($active->query['layout']);
}
$model = $this->getModel();
$model->hit();
$captchaSet = $item->params->get('captcha',
JFactory::getApplication()->get('captcha', '0'));
foreach (JPluginHelper::getPlugin('captcha') as $plugin)
{
if ($captchaSet === $plugin->name)
{
$this->captchaEnabled = true;
break;
}
}
$this->_prepareDocument();
return parent::display($tpl);
}
/**
* Prepares the document
*
* @return void
*
* @since 1.6
*/
protected function _prepareDocument()
{
$app = JFactory::getApplication();
$menus = $app->getMenu();
$pathway = $app->getPathway();
$title = null;
// Because the application sets a default page title,
// we need to get it from the menu item itself
$menu = $menus->getActive();
if ($menu)
{
$this->params->def('page_heading',
$this->params->get('page_title', $menu->title));
}
else
{
$this->params->def('page_heading',
JText::_('COM_CONTACT_DEFAULT_PAGE_TITLE'));
}
$title = $this->params->get('page_title', '');
$id = (int) @$menu->query['id'];
// If the menu item does not concern this contact
if ($menu && (!isset($menu->query['option']) ||
$menu->query['option'] !== 'com_contact' ||
$menu->query['view'] !== 'contact'
|| $id != $this->item->id))
{
// If this is not a single contact menu item, set the page title to the
contact title
if ($this->item->name)
{
$title = $this->item->name;
}
$path = array(array('title' => $this->contact->name,
'link' => ''));
$category =
JCategories::getInstance('Contact')->get($this->contact->catid);
while ($category && (!isset($menu->query['option'])
|| $menu->query['option'] !== 'com_contact' ||
$menu->query['view'] === 'contact'
|| $id != $category->id) && $category->id > 1)
{
$path[] = array('title' => $category->title,
'link' =>
ContactHelperRoute::getCategoryRoute($this->contact->catid));
$category = $category->getParent();
}
$path = array_reverse($path);
foreach ($path as $item)
{
$pathway->addItem($item['title'],
$item['link']);
}
}
if (empty($title))
{
$title = $app->get('sitename');
}
elseif ($app->get('sitename_pagetitles', 0) == 1)
{
$title = JText::sprintf('JPAGETITLE',
$app->get('sitename'), $title);
}
elseif ($app->get('sitename_pagetitles', 0) == 2)
{
$title = JText::sprintf('JPAGETITLE', $title,
$app->get('sitename'));
}
if (empty($title))
{
$title = $this->item->name;
}
$this->document->setTitle($title);
if ($this->item->metadesc)
{
$this->document->setDescription($this->item->metadesc);
}
elseif ($this->params->get('menu-meta_description'))
{
$this->document->setDescription($this->params->get('menu-meta_description'));
}
if ($this->item->metakey)
{
$this->document->setMetadata('keywords',
$this->item->metakey);
}
elseif ($this->params->get('menu-meta_keywords'))
{
$this->document->setMetadata('keywords',
$this->params->get('menu-meta_keywords'));
}
if ($this->params->get('robots'))
{
$this->document->setMetadata('robots',
$this->params->get('robots'));
}
$mdata = $this->item->metadata->toArray();
foreach ($mdata as $k => $v)
{
if ($v)
{
$this->document->setMetadata($k, $v);
}
}
}
}
PK76�[m
���view.vcf.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage com_contact
*
* @copyright Copyright (C) 2005 - 2020 Open Source Matters, Inc. All
rights reserved.
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
/**
* View to create a VCF for a contact item
*
* @since 1.6
*/
class ContactViewContact extends JViewLegacy
{
/**
* The item model state
*
* @var \Joomla\Registry\Registry
* @deprecated 4.0 Variable not used
*/
protected $state;
/**
* The contact item
*
* @var JObject
*/
protected $item;
/**
* Execute and display a template script.
*
* @param string $tpl The name of the template file to parse;
automatically searches through the template paths.
*
* @return mixed A string if successful, otherwise an Error object.
*/
public function display($tpl = null)
{
// Get model data.
$item = $this->get('Item');
// Check for errors.
if (count($errors = $this->get('Errors')))
{
JError::raiseWarning(500, implode("\n", $errors));
return false;
}
JFactory::getDocument()->setMimeEncoding('text/directory',
true);
// Compute lastname, firstname and middlename
$item->name = trim($item->name);
// "Lastname, Firstname Midlename" format support
// e.g. "de Gaulle, Charles"
$namearray = explode(',', $item->name);
if (count($namearray) > 1)
{
$lastname = $namearray[0];
$card_name = $lastname;
$name_and_midname = trim($namearray[1]);
$firstname = '';
if (!empty($name_and_midname))
{
$namearray = explode(' ', $name_and_midname);
$firstname = $namearray[0];
$middlename = (count($namearray) > 1) ? $namearray[1] :
'';
$card_name = $firstname . ' ' . ($middlename ? $middlename .
' ' : '') . $card_name;
}
}
// "Firstname Middlename Lastname" format support
else
{
$namearray = explode(' ', $item->name);
$middlename = (count($namearray) > 2) ? $namearray[1] : '';
$firstname = array_shift($namearray);
$lastname = count($namearray) ? end($namearray) : '';
$card_name = $firstname . ($middlename ? ' ' . $middlename :
'') . ($lastname ? ' ' . $lastname : '');
}
$rev = date('c', strtotime($item->modified));
JFactory::getApplication()->setHeader('Content-disposition',
'attachment; filename="' . $card_name .
'.vcf"', true);
$vcard = array();
$vcard[] .= 'BEGIN:VCARD';
$vcard[] .= 'VERSION:3.0';
$vcard[] = 'N:' . $lastname . ';' . $firstname .
';' . $middlename;
$vcard[] = 'FN:' . $item->name;
$vcard[] = 'TITLE:' . $item->con_position;
$vcard[] = 'TEL;TYPE=WORK,VOICE:' . $item->telephone;
$vcard[] = 'TEL;TYPE=WORK,FAX:' . $item->fax;
$vcard[] = 'TEL;TYPE=WORK,MOBILE:' . $item->mobile;
$vcard[] = 'ADR;TYPE=WORK:;;' . $item->address .
';' . $item->suburb . ';' . $item->state .
';' . $item->postcode . ';' . $item->country;
$vcard[] = 'LABEL;TYPE=WORK:' . $item->address .
"\n" . $item->suburb . "\n" . $item->state .
"\n" . $item->postcode . "\n" . $item->country;
$vcard[] = 'EMAIL;TYPE=PREF,INTERNET:' . $item->email_to;
$vcard[] = 'URL:' . $item->webpage;
$vcard[] = 'REV:' . $rev . 'Z';
$vcard[] = 'END:VCARD';
echo implode("\n", $vcard);
}
}
PK76�[�[,D�)�)tmpl/default.phpnu�[���PK76�[-!Y�00�)tmpl/default.xmlnu�[���PK76�[(CG�]]Ztmpl/default_address.phpnu�[���PK76�[9�}..�itmpl/default_articles.phpnu�[���PK76�[�C���$mtmpl/default_form.phpnu�[���PK76�[�\����stmpl/default_links.phpnu�[���PK76�[���
bb�ztmpl/default_profile.phpnu�[���PK76�[P�e #��tmpl/default_user_custom_fields.phpnu�[���PK76�[�� a99
��view.html.phpnu�[���PK76�[m
���8�view.vcf.phpnu�[���PK
P�