File Manager

Current Directory: /home/astoriaah/www/old15/administrator/components/com_contact/models/fields/modal
Viewing File: /home/astoriaah/www/old15/administrator/components/com_contact/models/fields/modal/contact.php
<?php /** * @package Joomla.Administrator * @subpackage com_contact * * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('JPATH_BASE') or die; /** * Supports a modal contact picker. * * @since 1.6 */ class JFormFieldModal_Contact extends JFormField { /** * The form field type. * * @var string * @since 1.6 */ protected $type = 'Modal_Contact'; /** * Method to get the field input markup. * * @return string The field input markup. * * @since 1.6 */ protected function getInput() { $allowEdit = ((string) $this->element['edit'] == 'true') ? true : false; $allowClear = ((string) $this->element['clear'] != 'false') ? true : false; // Load language JFactory::getLanguage()->load('com_contact', JPATH_ADMINISTRATOR); // Load the javascript JHtml::_('behavior.framework'); JHtml::_('behavior.modal', 'a.modal'); JHtml::_('bootstrap.tooltip'); // Build the script. $script = array(); // Select button script $script[] = ' function jSelectContact_' . $this->id . '(id, name, object) {'; $script[] = ' document.getElementById("' . $this->id . '_id").value = id;'; $script[] = ' document.getElementById("' . $this->id . '_name").value = name;'; if ($allowEdit) { $script[] = ' jQuery("#' . $this->id . '_edit").removeClass("hidden");'; } if ($allowClear) { $script[] = ' jQuery("#' . $this->id . '_clear").removeClass("hidden");'; } $script[] = ' jModalClose();'; $script[] = ' }'; // Clear button script static $scriptClear; if ($allowClear && !$scriptClear) { $scriptClear = true; $script[] = ' function jClearContact(id) {'; $script[] = ' document.getElementById(id + "_id").value = "";'; $script[] = ' document.getElementById(id + "_name").value = "' . htmlspecialchars(JText::_('COM_CONTACT_SELECT_A_CONTACT', true), ENT_COMPAT, 'UTF-8') . '";'; $script[] = ' jQuery("#"+id + "_clear").addClass("hidden");'; $script[] = ' if (document.getElementById(id + "_edit")) {'; $script[] = ' jQuery("#"+id + "_edit").addClass("hidden");'; $script[] = ' }'; $script[] = ' return false;'; $script[] = ' }'; } // Add the script to the document head. JFactory::getDocument()->addScriptDeclaration(implode("\n", $script)); // Setup variables for display. $html = array(); $link = 'index.php?option=com_contact&amp;view=contacts&amp;layout=modal&amp;tmpl=component&amp;function=jSelectContact_' . $this->id; if (isset($this->element['language'])) { $link .= '&amp;forcedLanguage=' . $this->element['language']; } // Get the title of the linked chart if ((int) $this->value > 0) { $db = JFactory::getDbo(); $query = $db->getQuery(true) ->select($db->quoteName('name')) ->from($db->quoteName('#__contact_details')) ->where('id = ' . (int) $this->value); $db->setQuery($query); try { $title = $db->loadResult(); } catch (RuntimeException $e) { JError::raiseWarning(500, $e->getMessage()); } } if (empty($title)) { $title = JText::_('COM_CONTACT_SELECT_A_CONTACT'); } $title = htmlspecialchars($title, ENT_QUOTES, 'UTF-8'); // The active contact id field. if (0 == (int) $this->value) { $value = ''; } else { $value = (int) $this->value; } // The current contact display field. $html[] = '<span class="input-append">'; $html[] = '<input type="text" class="input-medium" id="' . $this->id . '_name" value="' . $title . '" disabled="disabled" size="35" />'; $html[] = '<a' . ' class="modal btn hasTooltip"' . ' title="' . JHtml::tooltipText('COM_CONTACT_CHANGE_CONTACT') . '"' . ' href="' . $link . '&amp;' . JSession::getFormToken() . '=1"' . ' rel="{handler: \'iframe\', size: {x: 800, y: 450}}">' . '<i class="icon-file"></i> ' . JText::_('JSELECT') . '</a>'; // Edit contact button. if ($allowEdit) { $html[] = '<a' . ' class="btn hasTooltip' . ($value ? '' : ' hidden') . '"' . ' href="index.php?option=com_contact&layout=modal&tmpl=component&task=contact.edit&id=' . $value . '"' . ' target="_blank"' . ' title="' . JHtml::tooltipText('COM_CONTACT_EDIT_CONTACT') . '" >' . '<span class="icon-edit"></span>' . JText::_('JACTION_EDIT') . '</a>'; } // Clear contact button if ($allowClear) { $html[] = '<button' . ' id="' . $this->id . '_clear"' . ' class="btn' . ($value ? '' : ' hidden') . '"' . ' onclick="return jClearContact(\'' . $this->id . '\')">' . '<span class="icon-remove"></span>' . JText::_('JCLEAR') . '</button>'; } $html[] = '</span>'; // Note: class='required' for client side validation. $class = ''; if ($this->required) { $class = ' class="required modal-value"'; } $html[] = '<input type="hidden" id="' . $this->id . '_id"' . $class . ' name="' . $this->name . '" value="' . $value . '" />'; return implode("\n", $html); } }