PHP 8.0.30
Preview: unitecreator_library.class.php Size: 4.39 KB
/home/certprox/test.certproxywizard.com/wp-content/plugins/unlimited-elements-for-elementor/inc_php/unitecreator_library.class.php

<?php
/**
 * @package Unlimited Elements
 * @author unlimited-elements.com
 * @copyright (C) 2021 Unlimited Elements, All Rights Reserved. 
 * @license GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html
 * */
if ( ! defined( 'ABSPATH' ) ) exit;

class UniteCreatorLibraryWork{
	
	private static $arrLibrary;
		
	
	/**
	 * construct the library, load library array
	 */
	public function __construct(){
		if(empty(self::$arrLibrary))
			$this->loadLibrary();
	}
	
	/**
	 * check if condition ok
	 */
	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);
	}
	
	/**
	 * get platform include by handle
	 * function for override
	 */
	protected function getUrlPlatformInclude($handle){
		
		return(null);
	}
	
	
	/**
	 * get includes (js or css) from object
	 */
	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;
			
			//include with condition
			if(!empty($condition)){
				$isCondition = $this->isConditionOK($condition, $handle);
				
				if($isCondition == true)
					$arrIncludes[$handle] = $urlInclude;
				
				continue;
			}
			
			//just include
			$arrIncludes[$handle] = $urlInclude;
		}
		
		
		return($arrIncludes);
	}
	
	
	/**
	 * load library from xml file
	 */
	private function loadLibrary(){
		
		$filepathLibrary = GlobalsUC::$pathSettings."library.xml";
		UniteFunctionsUC::validateFilepath($filepathLibrary);
		
		$arrLibrary = array();
			
		$obj = UniteFunctionsUC::loadXMLFile($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");
			
			//get js includes
			$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;
	}
	
	/**
	 * function for override, process provide library
	 * return true if library found and processed, and false if not
	 */
	public function processProviderLibrary($name){
		return(false);
	}
	
	
	/**
	 * output urls in array of js and css separately
	 */
	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);
	}
	
	
	/**
	 * get library array
	 */
	public function getArrLibrary(){
		
		return(self::$arrLibrary);
	}
	
	
}

Directory Contents

Dirs: 5 × Files: 43

Name Size Perms Modified Actions
- drwxr-xr-x 2026-03-06 14:07:45
Edit Download
framework DIR
- drwxr-xr-x 2026-03-06 14:07:46
Edit Download
layouts DIR
- drwxr-xr-x 2026-03-06 14:07:46
Edit Download
manager DIR
- drwxr-xr-x 2026-03-06 14:07:46
Edit Download
plugins DIR
- drwxr-xr-x 2026-03-06 14:07:46
Edit Download
0 B lrw-r--r-- 2026-03-06 14:07:46
Edit Download
23.25 KB lrw-r--r-- 2026-03-06 14:07:46
Edit Download
78.50 KB lrw-r--r-- 2026-03-06 14:07:46
Edit Download
46.33 KB lrw-r--r-- 2026-03-06 14:07:46
Edit Download
9.19 KB lrw-r--r-- 2026-03-06 14:07:46
Edit Download
5.25 KB lrw-r--r-- 2026-03-06 14:07:46
Edit Download
5.85 KB lrw-r--r-- 2026-03-06 14:07:46
Edit Download
6.05 KB lrw-r--r-- 2026-03-06 14:07:46
Edit Download
14.47 KB lrw-r--r-- 2026-03-06 14:07:46
Edit Download
55.40 KB lrw-r--r-- 2026-03-06 14:07:46
Edit Download
40.10 KB lrw-r--r-- 2026-03-06 14:07:46
Edit Download
11.32 KB lrw-r--r-- 2026-03-06 14:07:46
Edit Download
19.25 KB lrw-r--r-- 2026-03-06 14:07:46
Edit Download
30.78 KB lrw-r--r-- 2026-03-06 14:07:46
Edit Download
23.56 KB lrw-r--r-- 2026-03-06 14:07:46
Edit Download
10.15 KB lrw-r--r-- 2026-03-06 14:07:46
Edit Download
13.16 KB lrw-r--r-- 2026-03-06 14:07:46
Edit Download
1.60 KB lrw-r--r-- 2026-03-06 14:07:46
Edit Download
64.92 KB lrw-r--r-- 2026-03-06 14:07:46
Edit Download
14.96 KB lrw-r--r-- 2026-03-06 14:07:46
Edit Download
37.29 KB lrw-r--r-- 2026-03-06 14:07:46
Edit Download
1.58 KB lrw-r--r-- 2026-03-06 14:07:46
Edit Download
88.12 KB lrw-r--r-- 2026-03-06 14:07:46
Edit Download
55.69 KB lrw-r--r-- 2026-03-06 14:07:46
Edit Download
11.59 KB lrw-r--r-- 2026-03-06 14:07:47
Edit Download
44.11 KB lrw-r--r-- 2026-03-06 14:07:47
Edit Download
34.12 KB lrw-r--r-- 2026-03-06 14:07:47
Edit Download
4.84 KB lrw-r--r-- 2026-03-06 14:07:47
Edit Download
4.39 KB lrw-r--r-- 2026-03-06 14:07:47
Edit Download
26.69 KB lrw-r--r-- 2026-03-06 14:07:47
Edit Download
111.62 KB lrw-r--r-- 2026-03-06 14:07:47
Edit Download
23.60 KB lrw-r--r-- 2026-03-06 14:07:47
Edit Download
9.58 KB lrw-r--r-- 2026-03-06 14:07:47
Edit Download
56.63 KB lrw-r--r-- 2026-03-06 14:07:47
Edit Download
20.23 KB lrw-r--r-- 2026-03-06 14:07:47
Edit Download
48.70 KB lrw-r--r-- 2026-03-06 14:07:47
Edit Download
57.64 KB lrw-r--r-- 2026-03-06 14:07:47
Edit Download
40.78 KB lrw-r--r-- 2026-03-06 14:07:47
Edit Download
48.07 KB lrw-r--r-- 2026-03-06 14:07:47
Edit Download
36.22 KB lrw-r--r-- 2026-03-06 14:07:47
Edit Download
4.96 KB lrw-r--r-- 2026-03-06 14:07:47
Edit Download
34.40 KB lrw-r--r-- 2026-03-06 14:07:47
Edit Download
287 B lrw-r--r-- 2026-03-06 14:07:47
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).