Файловый менеджер - Редактировать - /home/lmsyaran/public_html/pusher/contact.tar
Назад
tmpl/default.php 0000644 00000024573 15117161633 0007674 0 ustar 00 <?php /** * @package Joomla.Site * @subpackage com_contact * * @copyright (C) 2006 Open Source Matters, Inc. <https://www.joomla.org> * @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> tmpl/default.xml 0000644 00000030000 15117161633 0007663 0 ustar 00 <?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> tmpl/default_address.php 0000644 00000007607 15117161633 0011400 0 ustar 00 <?php /** * @package Joomla.Site * @subpackage com_contact * * @copyright (C) 2006 Open Source Matters, Inc. <https://www.joomla.org> * @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'); ?>"> <?php echo $this->params->get('marker_webpage'); ?> </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> tmpl/default_articles.php 0000644 00000001441 15117161633 0011547 0 ustar 00 <?php /** * @package Joomla.Site * @subpackage com_contact * * @copyright (C) 2009 Open Source Matters, Inc. <https://www.joomla.org> * @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; ?> tmpl/default_form.php 0000644 00000003176 15117161633 0010713 0 ustar 00 <?php /** * @package Joomla.Site * @subpackage com_contact * * @copyright (C) 2006 Open Source Matters, Inc. <https://www.joomla.org> * @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> tmpl/default_links.php 0000644 00000003231 15117161633 0011060 0 ustar 00 <?php /** * @package Joomla.Site * @subpackage com_contact * * @copyright (C) 2009 Open Source Matters, Inc. <https://www.joomla.org> * @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; ?> tmpl/default_profile.php 0000644 00000002525 15117161633 0011405 0 ustar 00 <?php /** * @package Joomla.Site * @subpackage com_contact * * @copyright (C) 2009 Open Source Matters, Inc. <https://www.joomla.org> * @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; ?> tmpl/default_user_custom_fields.php 0000644 00000004415 15117161633 0013643 0 ustar 00 <?php /** * @package Joomla.Site * @subpackage com_contact * * @copyright (C) 2016 Open Source Matters, Inc. <https://www.joomla.org> * @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; ?> view.html.php 0000644 00000034512 15117161633 0007203 0 ustar 00 <?php /** * @package Joomla.Site * @subpackage com_contact * * @copyright (C) 2006 Open Source Matters, Inc. <https://www.joomla.org> * @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_webpage', JText::_('COM_CONTACT_WEBPAGE') . ': '); $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_webpage', ''); $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_webpage', ' '); $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; // 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); } } } } view.vcf.php 0000644 00000006225 15117161633 0007015 0 ustar 00 <?php /** * @package Joomla.Site * @subpackage com_contact * * @copyright (C) 2010 Open Source Matters, Inc. <https://www.joomla.org> * @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); } }
| ver. 1.4 |
Github
|
.
| PHP 8.1.33 | Генерация страницы: 0.1 |
proxy
|
phpinfo
|
Настройка