PluginProbe
VikBooking Hotel Booking Engine & PMS / trunk
VikBooking Hotel Booking Engine & PMS vtrunk
1.8.15 1.8.14 1.8.13 1.8.12 1.8.11 1.8.10 1.8.9 1.8.6 1.8.7 1.8.8 trunk 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.6.8 1.6.9 1.7.0 1.7.1 1.7.2 1.7.3 All 36 releases
vikbooking / libraries / adapter / html / classes / grid.php

grid.php in VikBooking Hotel Booking Engine & PMS trunk, at libraries/adapter/html/classes/grid.php

78 lines 2.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * @package VikWP - Libraries
4 * @subpackage adapter.html
5 * @author E4J s.r.l.
6 * @copyright Copyright (C) 2023 E4J s.r.l. All Rights Reserved.
7 * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
8 * @link https://vikwp.com
9 */
10
11 // No direct access
12 defined('ABSPATH') or die('No script kiddies please!');
13
14 /**
15 * Utility class for Grid behaviors.
16 *
17 * @since 10.0
18 */
19 abstract class JHtmlGrid
20 {
21 /**
22 * Method to sort a column in a grid.
23 *
24 * @param string $title The link title.
25 * @param string $order The order field for the column.
26 * @param string $direction The current direction.
27 * @param string $selected The selected ordering.
28 * @param string $task An optional task override.
29 * @param string $new_direction An optional direction for the new column.
30 * @param string $tip An optional text shown as tooltip title instead of $title.
31 * @param string $form An optional form selector.
32 *
33 * @return string The HTML grid column.
34 */
35 public static function sort($title, $order, $direction = 'asc', $selected = '', $task = null, $new_direction = 'asc', $tip = '', $form = null)
36 {
37 $direction = strtolower($direction);
38 $icon = array('sort-up', 'sort-down');
39 $index = (int) ($direction === 'desc');
40
41 if ($order != $selected)
42 {
43 $direction = $new_direction;
44 }
45 else
46 {
47 $direction = $direction === 'desc' ? 'asc' : 'desc';
48 }
49
50 if ($form)
51 {
52 $form = ', document.getElementById(\'' . $form . '\')';
53 }
54
55 $html = '<a href="#" onclick="Joomla.tableOrdering(\'' . $order . '\',\'' . $direction . '\',\'' . $task . '\'' . $form . ');return false;"'
56 . ' title="' . htmlspecialchars(JText::translate($tip ? $tip : '')) . '"'
57 . ($order == $selected ? 'class="activesort"' : '')
58 . '">';
59
60 $html .= JText::translate($title);
61
62 if ($order == $selected)
63 {
64 $html .= '<i class="fas fa-' . $icon[$index] . '"></i>';
65 }
66 else if (substr($title, 0, 1) !== '<')
67 {
68 // include sortable icon only in case the column title doesn't start with
69 // a tag opening, which could mean that the th displays another icon
70 $html .= '<i class="fas fa-sort"></i>';
71 }
72
73 $html .= '</a>';
74
75 return $html;
76 }
77 }
78