File "unitecreator_library.class.php"
Full path: /home/kosmetik/public_html/wp-content/plugins/unlimited-elements-for-elementor/inc_php/unitecreator_library.class.php
File
size: 4.43 B
MIME-type: text/x-php
Charset: utf-8
Download Open Edit Advanced Editor Back
<?php
defined('UNLIMITED_ELEMENTS_INC') or die('Restricted access');
class UniteCreatorLibraryWork
{
private static $arrLibrary;
public function __construct()
{
if (empty(self::$arrLibrary)) {
$this->loadLibrary();
}
}
private function isConditionOK($condition, $handle = null)
{
switch ($condition) {
case "fa5":
case "fa4":
$faVersion = "fa5";
if ($faVersion == $condition) {
return true;
} else {
return false;
}
break;
}
return false;
}
protected function getUrlPlatformInclude($handle)
{
return null;
}
private function loadLibrary_getIncludes($xmlIncludes)
{
$objIncludes = $xmlIncludes->include;
if (!@count($objIncludes)) {
$objIncludes = array($objIncludes);
}
$arrIncludes = array();
foreach ($objIncludes as $objInclude) {
$attribs = $objInclude->attributes();
$handle = (string) UniteFunctionsUC::getVal($attribs, "handle");
$local = (string) UniteFunctionsUC::getVal($attribs, "local");
$remote = (string) UniteFunctionsUC::getVal($attribs, "remote");
$condition = (string) UniteFunctionsUC::getVal($attribs, "condition");
if (empty($local) && empty($remote)) {
UniteFunctionsUC::throwError("Include: {$handle} must have some url");
}
if (!empty($local)) {
$local = trim($local);
$urlInclude = GlobalsUC::$url_assets_libraries . $local;
} else {
if (!empty($remote)) {
$urlInclude = $remote;
}
}
$urlPlatformInclude = $this->getUrlPlatformInclude($handle);
if (!empty($urlPlatformInclude)) {
$urlInclude = $urlPlatformInclude;
}
if (!empty($condition)) {
$isCondition = $this->isConditionOK($condition, $handle);
if ($isCondition == true) {
$arrIncludes[$handle] = $urlInclude;
}
continue;
}
$arrIncludes[$handle] = $urlInclude;
}
return $arrIncludes;
}
private function loadLibrary()
{
$filepathLibrary = GlobalsUC::$pathSettings . "library.xml";
UniteFunctionsUC::validateFilepath($filepathLibrary);
$arrLibrary = array();
$obj = simplexml_load_file($filepathLibrary);
if (empty($obj)) {
UniteFunctionsUC::throwError("Wrong xml file format: {$filepathLibrary}");
}
$items = $obj->item;
if (!@count($obj->item)) {
$items = array($items);
}
foreach ($items as $objItem) {
$attribs = $objItem->attributes();
$name = (string) UniteFunctionsUC::getVal($attribs, "name");
$arrItem = array();
$arrItem["name"] = $name;
$arrItem["title"] = (string) UniteFunctionsUC::getVal($attribs, "title");
UniteFunctionsUC::validateNotEmpty($name, "item name");
UniteFunctionsUC::validateNotEmpty($arrItem["title"], "item title");
$arrJsIncludes = array();
if (isset($objItem->js)) {
$arrJsIncludes = $this->loadLibrary_getIncludes($objItem->js);
}
$arrCssIncludes = array();
if (isset($objItem->css)) {
$arrCssIncludes = $this->loadLibrary_getIncludes($objItem->css);
}
$arrItem["includes_js"] = $arrJsIncludes;
$arrItem["includes_css"] = $arrCssIncludes;
$arrLibrary[$name] = $arrItem;
}
self::$arrLibrary = $arrLibrary;
}
public function processProviderLibrary($name)
{
return false;
}
public function getLibraryIncludes($name)
{
$urlBase = GlobalsUC::$url_assets_libraries;
$arrJs = array();
$arrCss = array();
$output = array("js" => array(), "css" => array());
if (!isset(self::$arrLibrary[$name])) {
return $output;
}
$arrItem = self::$arrLibrary[$name];
$output["js"] = $arrItem["includes_js"];
$output["css"] = $arrItem["includes_css"];
return $output;
}
public function getArrLibrary()
{
return self::$arrLibrary;
}
}