PluginProbe
VikBooking Hotel Booking Engine & PMS / 1.8.16
VikBooking Hotel Booking Engine & PMS v1.8.16
1.8.16 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 All 37 releases
← All changes | libraries/adapter/editor/classes/none.php +109 -0 1.6.3 → 1.8.16 View file →
@@ -1,0 +1,109 @@
1 +<?php
2 +/**
3 + * @package VikWP - Libraries
4 + * @subpackage adapter.editor
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.editor.editor');
15 +
16 +/**
17 + * Editor class to handle a simple textarea.
18 + *
19 + * @since 10.0
20 + */
21 +class JEditorNone extends JEditor
22 +{
23 + /**
24 + * @override
25 + * Renders the editor area.
26 + *
27 + * @param string $name The control name.
28 + * @param string $html The contents of the text area.
29 + * @param string $width The width of the text area (px or %).
30 + * @param string $height The height of the text area (px or %).
31 + * @param integer $col The number of columns for the textarea.
32 + * @param integer $row The number of rows for the textarea.
33 + * @param boolean $buttons True and the editor buttons will be displayed.
34 + * @param string $id An optional ID for the textarea (@since 10.1.20).
35 + * @param array $params Associative array of editor parameters (@since 10.1.35).
36 + *
37 + * @return string The editor.
38 + */
39 + protected function render($name, $html, $width, $height, $col, $row, $buttons, $id, $params)
40 + {
41 + // only add "px" to width and height if they are not given as a percentage
42 + if (is_numeric($width))
43 + {
44 + $width .= 'px';
45 + }
46 +
47 + if (is_numeric($height))
48 + {
49 + $height .= 'px';
50 + }
51 +
52 + ?>
53 + <textarea
54 + name="<?php echo esc_attr($name); ?>"
55 + id="<?php echo esc_attr($id); ?>"
56 + rows="<?php echo esc_attr($row); ?>"
57 + cols="<?php echo esc_attr($col); ?>"
58 + style="width: <?php echo esc_attr($width); ?>; height: <?php echo esc_attr($height); ?>;"
59 + <?php echo !empty($params['readonly']) ? 'readonly' : ''; ?>
60 + <?php echo !empty($params['disabled']) ? 'disabled' : ''; ?>
61 + ><?php echo htmlentities($html); ?></textarea>
62 +
63 + <?php
64 +
65 + /**
66 + * Inject default editor instance within Joomla.editors pool.
67 + *
68 + * @since 10.1.17
69 + */
70 + JFactory::getDocument()->addScriptDeclaration(
71 +<<<JS
72 +(function($) {
73 + 'use strict';
74 +
75 + $(function() {
76 + Joomla.editors.instances['$id'] = {
77 + id: '$id',
78 + getValue: function() {
79 + return $('textarea#' + this.id).val();
80 + },
81 + setValue: function(text) {
82 + return $('textarea#' + this.id).val(text);
83 + },
84 + getSelection: function() {
85 + const textarea = $('textarea#' + this.id)[0];
86 +
87 + if (textarea.selectionStart || textarea.selectionStart === 0) {
88 + // MOZILLA/NETSCAPE support
89 + return textarea.value.substring(textarea.selectionStart, textarea.selectionEnd);
90 + }
91 +
92 + return textarea.value;
93 + },
94 + replaceSelection: function(text) {
95 + const textarea = $('textarea#' + this.id)[0];
96 +
97 + if (textarea.selectionStart || textarea.selectionStart === 0) {
98 + textarea.value = textarea.value.substring(0, textarea.selectionStart) + text + textarea.value.substring(textarea.selectionEnd, textarea.value.length);
99 + } else {
100 + textarea.value += text;
101 + }
102 + },
103 + };
104 + });
105 +})(jQuery);
106 +JS
107 + );
108 + }
109 +}