PATH:
home
/
lab2454c
/
equitablegold.com
/
wp-content
/
plugins
/
unlimited-elements-for-elementor
/
provider
<?php /** * @package Unlimited Elements * @author UniteCMS http://unitecms.net * @copyright Copyright (c) 2016 UniteCMS * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or later */ //no direct accees defined ('UNLIMITED_ELEMENTS_INC') or die ('restricted aceess'); class UniteCreatorPodsIntegrate{ private static $objPodsIntegrate; const PREFIX = "cf_"; const TYPE_FILE = "file"; const TYPE_PICK = "pick"; const TYPE_PANDA_REPEATER = "pandarepeaterfield"; const TYPE_FILES = "files"; const DEBUG_FIELDS = false; /** * get acf integrate object */ public static function getObjPodsIntegrate(){ if(empty(self::$objPodsIntegrate)) self::$objPodsIntegrate = new UniteCreatorPodsIntegrate(); return(self::$objPodsIntegrate); } /** * get image title */ private function getImageFieldTitle($post){ $title = UniteFunctionsUC::getVal($post, "post_title"); $filename = UniteFunctionsUC::getVal($post, "guid"); if(empty($title)) $title = $filename; $info = pathinfo($title); $name = UniteFunctionsUC::getVal($info, "filename"); if(!empty($name)) $title = $name; return($title); } /** * get image data from image */ private function getImageData($post, $fieldName, $arrValues){ $imageID = UniteFunctionsUC::getVal($post, "ID"); if(empty($imageID)) return(null); $title = $this->getImageFieldTitle($post); $arrSizes = UniteFunctionsWPUC::getArrThumbSizes(); $urlFull = UniteFunctionsWPUC::getUrlAttachmentImage($imageID); $urlThumbMedium = UniteFunctionsWPUC::getUrlAttachmentImage($imageID, UniteFunctionsWPUC::THUMB_MEDIUM); $urlThumbLarge = UniteFunctionsWPUC::getUrlAttachmentImage($imageID, UniteFunctionsWPUC::THUMB_LARGE); $arrValues[$fieldName] = $urlFull; $arrValues[$fieldName."_title"] = $title; $arrValues[$fieldName."_thumb"] = $urlThumbMedium; $arrValues[$fieldName."_thumb_large"] = $urlThumbLarge; return($arrValues); } /** * get file data from post */ private function getFileData($post, $fieldName, $arrValues){ $filepath = UniteFunctionsUC::getVal($post, "guid"); $title = $this->getImageFieldTitle($post); $arrValues[$fieldName] = $filepath; $arrValues[$fieldName."_title"] = $title; return($arrValues); } /** * get file data from post */ private function getPickData($data, $fieldName, $arrValues){ if(is_string($data) == true){ $arrValues[$fieldName] = $data; return($arrValues); } if(is_array($data) == false){ $arrValues[$fieldName] = ""; return($arrValues); } //only if array $isFirst = false; foreach($data as $name => $value){ if(is_array($value) || is_object($value)) continue; if($isFirst == false){ $isFirst = true; $arrValues[$fieldName] = $value; } $name = strtolower($name); $arrValues[$fieldName."_".$name] = $value; } return($arrValues); } /** * get repeater field from post */ private function getPandaRepeaterData($data, $fieldName, $arrValues){ if(empty($data)){ $arrValues[$fieldName] = array(); return($arrValues); } if(is_array($data) == false){ $arrValues[$fieldName] = array($data); return($arrValues); } foreach($data as $key=>$item){ if(empty($item)) continue; $newItem = array(); foreach($item as $itemKey=>$itemvalue){ if(strpos($itemKey, "pandarf_") === 0) continue; $newItem[$itemKey] = $itemvalue; } $data[$key] = $newItem; } $arrValues[$fieldName] = $data; return($arrValues); } /** * get file field data */ private function getFileFieldData($post, $fieldName, $arrValues){ $postID = UniteFunctionsUC::getVal($post, "ID"); if(empty($postID)){ $arrValues[$fieldName] = ""; return($arrValues); } $postType = UniteFunctionsUC::getVal($post, "post_type"); if($postType != "attachment"){ $arrValues[$fieldName] = ""; return($arrValues); } $mimeType = UniteFunctionsUC::getVal($post, "post_mime_type"); $isImage = false; if(strpos($mimeType, "image/") === 0) $isImage = true; if($isImage == true) $arrValues = $this->getImageData($post, $fieldName, $arrValues); else $arrValues = $this->getFileData($post, $fieldName, $arrValues); if(self::DEBUG_FIELDS == true){ dmp("file data $postID is image: ".$isImage); dmp($arrValues[$fieldName]); } return($arrValues); } /** * get file data */ private function getFilesData($data, $fieldName, $arrValues){ if(empty($data)){ $arrValues[$fieldName] = ""; return($arrValues); } $arrOutput = array(); foreach($data as $post){ $arrFileData = array(); $arrFileData = $this->getFileFieldData($post, "image", $arrFileData); $arrOutput[] = $arrFileData; } $arrValues[$fieldName] = $arrOutput; return($arrValues); } /** * modify data by type */ private function addFieldDataByType($type, $data, $fieldName, $arrValues){ switch($type){ case self::TYPE_FILE: $arrValues = $this->getFileFieldData($data, $fieldName, $arrValues); break; case self::TYPE_PICK: $arrValues = $this->getPickData($data, $fieldName, $arrValues); break; case self::TYPE_PANDA_REPEATER: $arrValues = $this->getPandaRepeaterData($data, $fieldName, $arrValues); break; case self::TYPE_FILES: $arrValues = $this->getFilesData($data, $fieldName, $arrValues); break; default: if(is_string($data) || is_array($data)) $arrValues[$fieldName] = $data; else $arrValues[$fieldName] = "type not supported"; break; } return($arrValues); } /** * get pods fields for post * if not fields - return null */ public function getPodsFields($postID, $addPrefix = true){ $post = get_post($postID); if(empty($post)) return(null); if(function_exists("is_pod") == false) return(null); $postType = $post->post_type; $objPod = pods($postType, $postID); if(empty($objPod)) return(null); if(is_object($objPod) == false) return(null); if(method_exists($objPod, "fields") == false) return(null); $arrFields = $objPod->fields(); if(empty($arrFields)) return(null); $arrValues = array(); foreach($arrFields as $name => $field){ $fieldName = $name; if($addPrefix == true) $fieldName = self::PREFIX.$fieldName; $type = UniteFunctionsUC::getVal($field, "type"); if($type == self::TYPE_FILE){ $format = UniteFunctionsUC::getVal($field, "file_format_type"); if($format == "multi") $type = self::TYPE_FILES; } $data = $objPod->field($name); if(self::DEBUG_FIELDS == true){ dmp("Pod field: $name ($type)"); dmp($field); dmp($data); } $arrValues = $this->addFieldDataByType($type, $data, $fieldName, $arrValues); } return($arrValues); } /** * check if pods exists */ public static function isPodsExists(){ $isPodsExists = function_exists("pods"); return($isPodsExists); } }
[-] custom_post_types.class.php
[edit]
[-] provider_layouts_exporter.class.php
[edit]
[+]
..
[-] include_provider_after.php
[edit]
[-] provider_template_engine.class.php
[edit]
[-] provider_web_api.class.php
[edit]
[-] wpml_integrate.class.php
[edit]
[+]
core
[-] provider_admin.class.php
[edit]
[-] provider_admin_plugin_base.class.php
[edit]
[-] integrations.class.php
[edit]
[-] provider_globals.class.php
[edit]
[-] provider_front.class.php
[edit]
[-] provider_addon.class.php
[edit]
[-] provider_browser.class.php
[edit]
[-] provider_manager_addons.class.php
[edit]
[-] provider_dialog_param.class.php
[edit]
[-] include_provider.php
[edit]
[-] woocommerce_integrate.class.php
[edit]
[-] provider_settings_output.class.php
[edit]
[-] provider_categories.class.php
[edit]
[-] provider_operations.class.php
[edit]
[-] provider_helper.class.php
[edit]
[-] toolset_integrate.class.php
[edit]
[+]
settings
[-] provider_functions.class.php
[edit]
[+]
assets
[-] gutenberg_integrate.class.php
[edit]
[-] provider_alt_loader.php
[edit]
[-] provider_layouts.class.php
[edit]
[-] provider_layout_output.class.php
[edit]
[-] provider_settings.class.php
[edit]
[+]
admin_notices
[+]
views
[-] provider_library.class.php
[edit]
[-] wpml_translation_module.class.php
[edit]
[-] provider_settings_multisource.class.php
[edit]
[-] provider_client_text.php
[edit]
[+]
freemius
[-] provider_actions.class.php
[edit]
[-] pods_integrate.class.php
[edit]
[-] functions_wordpress.class.php
[edit]
[-] provider_db.class.php
[edit]
[-] provider_params_processor.class.php
[edit]
[-] acf_integrate.class.php
[edit]
[-] provider_params_processor_multisource.class.php
[edit]
[-] provider_layout.class.php
[edit]
[-] provider_output.class.php
[edit]