Файловый менеджер - Редактировать - /home/wuectly/www/administrator/components/com_icagenda/utilities/menus/menus.php
Назад
<?php /** *------------------------------------------------------------------------------ * iCagenda v3 by Jooml!C - Events Management Extension for Joomla! 2.5 / 3.x *------------------------------------------------------------------------------ * @package iCagenda * @subpackage utilities * @copyright Copyright (c)2014-2015 Cyril Rezé, Jooml!C - All rights reserved * * @license GNU General Public License version 3 or later; see LICENSE.txt * @author Cyril Rezé (Lyr!C) * @link http://www.joomlic.com * * @version 3.5.12 2015-09-10 * @since 3.4.0 *------------------------------------------------------------------------------ */ // No direct access to this file defined('_JEXEC') or die(); /** * class icagendaCategories */ class icagendaMenus { /** * Function to return all published 'List of Events' menu items * * @access public static * @param none * @return array of menu item info this way : Itemid-mcatid-lang * * @since 3.4.0 */ static public function iClistMenuItemsInfo() { $app = JFactory::getApplication(); // $params = $app->getParams(); $iCparams = JComponentHelper::getParams('com_icagenda'); // List all menu items linking to list of events $db = JFactory::getDbo(); $query = $db->getQuery(true); $query->select('m.title, m.published, m.id, m.params, m.language') ->from('`#__menu` AS m') ->where( "(m.link = 'index.php?option=com_icagenda&view=list') AND (m.published = 1)" ); if (JLanguageMultilang::isEnabled()) { $query->where('m.language in (' . $db->quote(JFactory::getLanguage()->getTag()) . ',' . $db->quote('*') . ')'); } $db->setQuery($query); $link = $db->loadObjectList(); $iC_list_menus = array(); foreach ($link as $iClistMenu) { $menuitemid = $iClistMenu->id; // $menulang = $iClistMenu->language; if ($menuitemid) { $menu = $app->getMenu(); $menuparams = $menu->getParams($menuitemid); } $mcatid = $menuparams->get('mcatid'); $menufilter = $menuparams->get('time') ? $menuparams->get('time') : $iCparams->get('time', '0'); if (is_array($mcatid)) { $mcatid = implode(',', $mcatid); } // array_push($iC_list_menus, $menuitemid . '_' . $mcatid . '_' . $menulang . '_' . $menufilter); array_push($iC_list_menus, $menuitemid . '_' . $mcatid . '_' . $menufilter); } return $iC_list_menus; } /** * Function to return all published 'List of Events' menu items * * @access public static * @param none * @return array of menu item info this way : Itemid-mcatid-lang * * @since 3.4.0 */ static public function iClistMenuItems() { $app = JFactory::getApplication(); // List all menu items linking to list of events $db = JFactory::getDbo(); $query = $db->getQuery(true); $query->select('m.title, m.published, m.id, m.params, m.language') ->from('`#__menu` AS m') ->where( "(m.link = 'index.php?option=com_icagenda&view=list') AND (m.published = 1)" ); if (JLanguageMultilang::isEnabled()) { $query->where('m.language in (' . $db->quote(JFactory::getLanguage()->getTag()) . ',' . $db->quote('*') . ')'); } $query->order('m.id ASC'); $db->setQuery($query); $iC_list_menu_items = $db->loadObjectList(); if ($iC_list_menu_items) { return $iC_list_menu_items; } else { return array(); } } /** * Function to return menu Itemid to display an event * * @access public static * @return menu Itemid * * @since 3.5.7 */ static public function thisEventItemid($date, $category, $array_menuitems = null) { $iC_list_menus = $array_menuitems ? $array_menuitems : self::iClistMenuItemsInfo(); $datetime_today = JHtml::date('now', 'Y-m-d H:i'); $date_today = JHtml::date('now', 'Y-m-d'); // set menu link for each event (itemID) depending of category and/or language $onecat = $multicat = '0'; $link_one = $link_multi = ''; $menu_IDs_category = array(); $menu_IDs_all = array(); $itemID_is_set = 0; foreach ($iC_list_menus AS $iCm) { $value = explode('_', $iCm); $iCmenu_id = $value['0']; $iCmenu_mcatid = $value['1']; $iCmenu_filter = $value['2']; $iCmenu_mcatid_array = ! is_array($iCmenu_mcatid) ? explode(',', $iCmenu_mcatid) : array(); // Menu can display past events if ($iCmenu_filter == 2 && strtotime($date) < strtotime($datetime_today) && ! $itemID_is_set) { // If menu category filter is set, and item category is in filtered categories if (in_array($category, $iCmenu_mcatid_array)) { $menu_IDs_category[] = $iCmenu_id; $itemID_is_set = $itemID_is_set + 1; } elseif ( ! $iCmenu_mcatid) { $menu_IDs_all[] = $iCmenu_id; } } // Menu can display today's events elseif ($iCmenu_filter == 4 && strtotime($date) > strtotime($date_today) && strtotime($date) < strtotime("+1 DAY", strtotime($date_today)) && ! $itemID_is_set) { // If menu category filter is set, and item category is in filtered categories if (in_array($category, $iCmenu_mcatid_array)) { $menu_IDs_category[] = $iCmenu_id; $itemID_is_set = $itemID_is_set + 1; } elseif ( ! $iCmenu_mcatid) { $menu_IDs_all[] = $iCmenu_id; } } // Menu can display today's events and upcoming events elseif ($iCmenu_filter == 1 && strtotime($date) > strtotime($date_today) && ! $itemID_is_set) { // If menu category filter is set, and item category is in filtered categories if (in_array($category, $iCmenu_mcatid_array)) { $menu_IDs_category[] = $iCmenu_id; $itemID_is_set = $itemID_is_set + 1; } elseif ( ! $iCmenu_mcatid) { $menu_IDs_all[] = $iCmenu_id; } } // Menu can display upcoming events elseif ($iCmenu_filter == 3 && strtotime($date) > strtotime($datetime_today) && ! $itemID_is_set) { // If menu category filter is set, and item category is in filtered categories if (in_array($category, $iCmenu_mcatid_array)) { $menu_IDs_category[] = $iCmenu_id; $itemID_is_set = $itemID_is_set + 1; } elseif ( ! $iCmenu_mcatid) { $menu_IDs_all[] = $iCmenu_id; } } // Menu can display all events elseif ($iCmenu_filter == '0' && ! $itemID_is_set) { // If menu category filter is set, and item category is in filtered categories if (in_array($category, $iCmenu_mcatid_array)) { $menu_IDs_category[] = $iCmenu_id; $itemID_is_set = $itemID_is_set + 1; } elseif ( ! $iCmenu_mcatid) { $menu_IDs_all[] = $iCmenu_id; } } if ($iCmenu_mcatid) { $nb_cat_filter = count($iCmenu_mcatid_array); for ($i = $category; in_array($i, $iCmenu_mcatid_array); $i++) { if ($nb_cat_filter == 1) { $link_one = $iCmenu_id; } elseif ($nb_cat_filter > 1) { $link_multi = $iCmenu_id; } } } } if (count($menu_IDs_category)) { if ($link_one) { $linkid = $link_one; } elseif ($link_multi) { $linkid = $link_multi; } else { $linkid = $menu_IDs_category[0]; } } elseif (count($menu_IDs_all)) { $linkid = $menu_IDs_all[0]; } else { // $linkid = '#'; $linkid = null; } return $linkid; } }
| ver. 1.4 |
Github
|
.
| PHP 8.1.34 | Генерация страницы: 0 |
proxy
|
phpinfo
|
Настройка