PluginProbe ʕ •ᴥ•ʔ
VikAppointments Services Booking Calendar / 1.2.20
VikAppointments Services Booking Calendar v1.2.20
1.2.21 1.2.20 trunk 1.2.17 1.2.18 1.2.19
vikappointments / libraries / adapter / toolbar / button / standard.php
vikappointments / libraries / adapter / toolbar / button Last commit date
base.php 1 month ago confirm.php 1 month ago link.php 1 month ago separator.php 1 month ago standard.php 1 month ago
standard.php
97 lines
1 <?php
2 /**
3 * @package VikWP - Libraries
4 * @subpackage adapter.toolbar
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 JLoader::import('adapter.toolbar.button.base');
15
16 /**
17 * Plugin standard button toolbar handler.
18 *
19 * @since 10.0
20 */
21 class JToolbarButtonStandard extends JToolbarButtonBase
22 {
23 /**
24 * @override
25 * The name/type of the button.
26 *
27 * @var string
28 */
29 protected $_name = 'Standard';
30
31 /**
32 * @override
33 * The layout id for the rendering of the button.
34 *
35 * @var string
36 */
37 protected $_layoutId = 'html.toolbar.button.standard';
38
39 /**
40 * A list of button options.
41 *
42 * @var array
43 */
44 protected $options = array();
45
46 /**
47 * @override
48 * Method to setup the button.
49 *
50 * @param string $icon The button icon.
51 * @param string $alt The button text.
52 * @param string $task The form task to launch.
53 * @param boolean $check If true, it is mandatory the selection of the rows.
54 *
55 * @return void
56 */
57 protected function setup($icon = '', $alt = '', $task = '', $check = false)
58 {
59 $this->options['icon'] = $icon;
60 $this->options['text'] = JText::translate($alt);
61 $this->options['class'] = strtolower(preg_replace("/[^a-zA-Z0-9_\-]+/", '-', $icon));
62 $this->options['id'] = 'jbutton-' . strtolower(preg_replace("/[^a-zA-Z0-9_\-]+/", '-', $task));
63 $this->options['action'] = $this->getCommand($task, $check);
64 }
65
66 /**
67 * @override
68 * Returns an array containing the data to use for the button rendering.
69 *
70 * @return array Display data array.
71 */
72 public function getDisplayData()
73 {
74 return $this->options;
75 }
76
77 /**
78 * Returns the javascript onclick event to launch.
79 *
80 * @param string $task The form task to launch.
81 * @param boolean $check If true, it is mandatory the selection of the rows.
82 *
83 * @return string The onclick event.
84 */
85 protected function getCommand($task, $check = false)
86 {
87 $cmd = "Joomla.submitbutton('{$task}');";
88
89 if ($check)
90 {
91 $cmd = "if (Joomla.hasChecked()) { $cmd } else { alert('" . addslashes(JText::translate('PLEASE_MAKE_A_SELECTION')) . "'); }";
92 }
93
94 return $cmd;
95 }
96 }
97