Server IP : 184.154.167.98 / Your IP : 18.223.238.38 Web Server : Apache System : Linux pink.dnsnetservice.com 4.18.0-553.22.1.lve.1.el8.x86_64 #1 SMP Tue Oct 8 15:52:54 UTC 2024 x86_64 User : puertode ( 1767) PHP Version : 8.2.26 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /home/puertode/public_html/contratos/3rdparty/sabre/dav/lib/DAV/Browser/ |
Upload File : |
<?php namespace Sabre\DAV\Browser; use Sabre\Uri; use Sabre\Xml\Service as XmlService; /** * This class provides a few utility functions for easily generating HTML for * the browser plugin. * * @copyright Copyright (C) fruux GmbH (https://fruux.com/) * @author Evert Pot (http://evertpot.com/) * @license http://sabre.io/license/ Modified BSD License */ class HtmlOutputHelper { /** * Link to the root of the application. * * @var string */ protected $baseUri; /** * List of xml namespaces. * * @var array */ protected $namespaceMap; /** * Creates the object. * * baseUri must point to the root of the application. This will be used to * easily generate links. * * The namespaceMap contains an array with the list of xml namespaces and * their prefixes. WebDAV uses a lot of XML with complex namespaces, so * that can be used to make output a lot shorter. * * @param string $baseUri * @param array $namespaceMap */ function __construct($baseUri, array $namespaceMap) { $this->baseUri = $baseUri; $this->namespaceMap = $namespaceMap; } /** * Generates a 'full' url based on a relative one. * * For relative urls, the base of the application is taken as the reference * url, not the 'current url of the current request'. * * Absolute urls are left alone. * * @param string $path * @return string */ function fullUrl($path) { return Uri\resolve($this->baseUri, $path); } /** * Escape string for HTML output. * * @param string $input * @return string */ function h($input) { return htmlspecialchars($input, ENT_COMPAT, 'UTF-8'); } /** * Generates a full <a>-tag. * * Url is automatically expanded. If label is not specified, we re-use the * url. * * @param string $url * @param string $label * @return string */ function link($url, $label = null) { $url = $this->h($this->fullUrl($url)); return '<a href="' . $url . '">' . ($label ? $this->h($label) : $url) . '</a>'; } /** * This method takes an xml element in clark-notation, and turns it into a * shortened version with a prefix, if it was a known namespace. * * @param string $element * @return string */ function xmlName($element) { list($ns, $localName) = XmlService::parseClarkNotation($element); if (isset($this->namespaceMap[$ns])) { $propName = $this->namespaceMap[$ns] . ':' . $localName; } else { $propName = $element; } return "<span title=\"" . $this->h($element) . "\">" . $this->h($propName) . "</span>"; } }