Server IP : 1.179.227.78 / Your IP : 10.104.4.41 Web Server : Apache System : Linux afdc-mdu34 5.4.0-153-generic #170-Ubuntu SMP Fri Jun 16 13:43:31 UTC 2023 x86_64 User : www ( 1001) PHP Version : 7.4.30 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /www/wwwroot/afdc-mdu34.rtarf.mi.th/mdu34/administrator/components/com_contact/helpers/ |
Upload File : |
<?php /** * @package Joomla.Administrator * @subpackage com_contact * * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; /** * Contact component helper. * * @since 1.6 */ class ContactHelper extends JHelperContent { /** * Configure the Linkbar. * * @param string $vName The name of the active view. * * @return void * * @since 1.6 */ public static function addSubmenu($vName) { JHtmlSidebar::addEntry( JText::_('COM_CONTACT_SUBMENU_CONTACTS'), 'index.php?option=com_contact&view=contacts', $vName == 'contacts' ); JHtmlSidebar::addEntry( JText::_('COM_CONTACT_SUBMENU_CATEGORIES'), 'index.php?option=com_categories&extension=com_contact', $vName == 'categories' ); if (JComponentHelper::isEnabled('com_fields') && JComponentHelper::getParams('com_contact')->get('custom_fields_enable', '1')) { JHtmlSidebar::addEntry( JText::_('JGLOBAL_FIELDS'), 'index.php?option=com_fields&context=com_contact.contact', $vName == 'fields.fields' ); JHtmlSidebar::addEntry( JText::_('JGLOBAL_FIELD_GROUPS'), 'index.php?option=com_fields&view=groups&context=com_contact.contact', $vName == 'fields.groups' ); } } /** * Adds Count Items for Category Manager. * * @param stdClass[] $items The contact category objects * * @return stdClass[] * * @since 3.5 */ public static function countItems(&$items) { $db = JFactory::getDbo(); foreach ($items as $item) { $item->count_trashed = 0; $item->count_archived = 0; $item->count_unpublished = 0; $item->count_published = 0; $query = $db->getQuery(true); $query->select('published AS state, count(*) AS count') ->from($db->qn('#__contact_details')) ->where('catid = ' . (int) $item->id) ->group('published'); $db->setQuery($query); $contacts = $db->loadObjectList(); foreach ($contacts as $contact) { if ($contact->state == 1) { $item->count_published = $contact->count; } if ($contact->state == 0) { $item->count_unpublished = $contact->count; } if ($contact->state == 2) { $item->count_archived = $contact->count; } if ($contact->state == -2) { $item->count_trashed = $contact->count; } } } return $items; } /** * Adds Count Items for Tag Manager. * * @param stdClass[] $items The banner tag objects * @param string $extension The name of the active view. * * @return stdClass[] * * @since 3.6 */ public static function countTagItems(&$items, $extension) { $db = JFactory::getDbo(); $parts = explode('.', $extension); $section = null; if (count($parts) > 1) { $section = $parts[1]; } $join = $db->qn('#__contact_details') . ' AS c ON ct.content_item_id=c.id'; if ($section === 'category') { $join = $db->qn('#__categories') . ' AS c ON ct.content_item_id=c.id'; } foreach ($items as $item) { $item->count_trashed = 0; $item->count_archived = 0; $item->count_unpublished = 0; $item->count_published = 0; $query = $db->getQuery(true); $query->select('published as state, count(*) AS count') ->from($db->qn('#__contentitem_tag_map') . 'AS ct ') ->where('ct.tag_id = ' . (int) $item->id) ->where('ct.type_alias =' . $db->q($extension)) ->join('LEFT', $join) ->group('published'); $db->setQuery($query); $contacts = $db->loadObjectList(); foreach ($contacts as $contact) { if ($contact->state == 1) { $item->count_published = $contact->count; } if ($contact->state == 0) { $item->count_unpublished = $contact->count; } if ($contact->state == 2) { $item->count_archived = $contact->count; } if ($contact->state == -2) { $item->count_trashed = $contact->count; } } } return $items; } /** * Returns a valid section for contacts. If it is not valid then null * is returned. * * @param string $section The section to get the mapping for * @param object $item optional item object * * @return string|null The new section * * @since 3.7.0 */ public static function validateSection($section, $item) { if (JFactory::getApplication()->isClient('site') && $section == 'contact' && $item instanceof JForm) { // The contact form needs to be the mail section $section = 'mail'; } if (JFactory::getApplication()->isClient('site') && $section == 'category') { // The contact form needs to be the mail section $section = 'contact'; } if ($section != 'mail' && $section != 'contact') { // We don't know other sections return null; } return $section; } /** * Returns valid contexts * * @return array * * @since 3.7.0 */ public static function getContexts() { JFactory::getLanguage()->load('com_contact', JPATH_ADMINISTRATOR); $contexts = array( 'com_contact.contact' => JText::_('COM_CONTACT_FIELDS_CONTEXT_CONTACT'), 'com_contact.mail' => JText::_('COM_CONTACT_FIELDS_CONTEXT_MAIL'), 'com_contact.categories' => JText::_('JCATEGORY') ); return $contexts; } }