Файловый менеджер - Редактировать - /home/lmsyaran/public_html/j3/components/com_sppagebuilder/addons/flip_box/site.php
Назад
<?php /** * @package SP Page Builder * @author JoomShaper http://www.joomshaper.com * @copyright Copyright (c) 2010 - 2023 JoomShaper * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or later */ use Joomla\CMS\Uri\Uri; //no direct access defined('_JEXEC') or die('Restricted access'); class SppagebuilderAddonFlip_box extends SppagebuilderAddons { /** * The addon frontend render method. * The returned HTML string will render to the frontend page. * * @return string The HTML string. * @since 1.0.0 */ public function render() { //get data $settings = $this->addon->settings; $class = (isset($settings->class) && $settings->class) ? $settings->class : ''; $front_text = (isset($settings->front_text) && $settings->front_text) ? $settings->front_text : ''; $flip_text = (isset($settings->flip_text) && $settings->flip_text) ? $settings->flip_text : ''; $rotate = (isset($settings->rotate) && $settings->rotate) ? $settings->rotate : 'flip_right'; $flip_bhave = (isset($settings->flip_bhave) && $settings->flip_bhave) ? $settings->flip_bhave : 'hover'; //Flip Style $flip_style = (isset($settings->flip_style) && $settings->flip_style) ? $settings->flip_style : 'rotate_style'; if ($flip_style != '') { if ($flip_style === 'slide_style') { $flip_style = 'slide-flipbox'; } elseif ($flip_style === 'fade_style') { $flip_style = 'fade-flipbox'; } elseif ($flip_style === 'threeD_style') { $flip_style = 'threeD-flipbox'; } } $output = ''; $output .= '<div class="sppb-addon sppb-addon-sppb-flibox ' . $class . ' ' . $flip_style . ' ' . $rotate . ' flipon-' . $flip_bhave . '">'; if ($flip_style == 'threeD-flipbox') { $output .= '<div class="threeD-content-wrap">'; $output .= '<div class="threeD-item">'; $output .= '<div class="threeD-flip-front">'; $output .= '<div class="threeD-content-inner">'; $output .= $front_text; $output .= '</div>'; $output .= '</div>'; $output .= '<div class="threeD-flip-back">'; $output .= '<div class="threeD-content-inner">'; $output .= $flip_text; $output .= '</div>'; $output .= '</div >'; $output .= '</div>'; //.threeD-item $output .= '</div>'; //.threeD-content-wrap } else { $output .= '<div class="sppb-flipbox-panel">'; $output .= '<div class="sppb-flipbox-front flip-box">'; $output .= '<div class="flip-box-inner">'; $output .= $front_text; $output .= '</div>'; //.flip-box-inner $output .= '</div>'; //.front $output .= '<div class="sppb-flipbox-back flip-box">'; $output .= '<div class="flip-box-inner">'; $output .= $flip_text; $output .= '</div>'; //.flip-box-inner $output .= '</div>'; //.back $output .= '</div>'; //.sppb-flipbox-panel } $output .= '</div>'; //.sppb-addon-sppb-flibox return $output; } /** * Generate the CSS string for the frontend page. * * @return string The CSS string for the page. * @since 1.0.0 */ public function css() { $addon_id = '#sppb-addon-' . $this->addon->id; $settings = $this->addon->settings; $cssHelper = new CSSHelper($addon_id); $css = ''; $flipProps = ['height' => 'height']; $flipStyle = $cssHelper->generateStyle('.sppb-flipbox-panel, .threeD-item', $settings, $flipProps); // Front style $front_bgimg = isset($settings->front_bgimg) && $settings->front_bgimg ? $settings->front_bgimg : ''; $front_bgimg_src = isset($front_bgimg->src) ? $front_bgimg->src : $front_bgimg; if ($front_bgimg_src) { if (preg_match("@^https?:\/\/@", $front_bgimg_src)) { $front_bgimg = $front_bgimg_src; } else { $front_bgimg = Uri::root() . $front_bgimg_src; } $settings->front_bg_image = $front_bgimg; } $frontProps = ['front_bg_image' => 'background-image: url(%s)', 'front_textcolor' => 'color']; $frontStyle = $cssHelper->generateStyle('.sppb-flipbox-front, .threeD-flip-front', $settings, $frontProps, false); $frontBgStyle = $cssHelper->generateStyle('.threeD-flip-front:before, .sppb-flipbox-front.flip-box:before', $settings, ['front_bgcolor' => 'background-color'], false); // Back style $back_bgimg = isset($settings->back_bgimg) && $settings->back_bgimg ? $settings->back_bgimg : ''; $back_bgimg_src = isset($back_bgimg->src) ? $back_bgimg->src : $back_bgimg; if ($back_bgimg_src) { if (preg_match("@^https?:\/\/@", $back_bgimg_src)) { $back_bgimg = $back_bgimg_src; } else { $back_bgimg = Uri::root() . $back_bgimg_src; } $settings->back_bg_image = $back_bgimg; } $backProps = ['back_bg_image' => 'background-image: url(%s)', 'back_textcolor' => 'color']; $backStyle = $cssHelper->generateStyle('.sppb-flipbox-back, .threeD-flip-back', $settings, $backProps, false); $backBgStyle = $cssHelper->generateStyle('.threeD-flip-back:before, .sppb-flipbox-back.flip-box:before', $settings, ['back_bgcolor' => 'background-color'], false); $settings->text_align = $cssHelper->parseAlignment($settings, 'text_align'); $textAlign = $cssHelper->generateStyle('.sppb-addon-sppb-flibox', $settings, ['text_align' => 'text-align'], false); $css .= $textAlign; $css .= $flipStyle; $css .= $frontStyle; $css .= $frontBgStyle; $css .= $backStyle; $css .= $backBgStyle; return $css; } /** * Generate the lodash template string for the frontend editor. * * @return string The lodash template string. * @since 1.0.0 */ public static function getTemplate() { $lodash = new Lodash('#sppb-addon-{{ data.id }}'); $output = ' <# var flip_style = (data.flip_style) ? data.flip_style : "rotate_style"; if (flip_style != "") { if (flip_style == "slide_style") { flip_style = "slide-flipbox"; } else if (flip_style == "fade_style") { flip_style = "fade-flipbox"; } else if (flip_style == "threeD_style") { flip_style = "threeD-flipbox"; } } var border_styles = (data.border_styles) ? data.border_styles : ""; var flip_styles = ""; if(_.isArray(border_styles)) { if(border_styles.indexOf("border_radius") !== -1){ flip_styles += "border-radius: 8px;"; } if(border_styles.indexOf("dashed") !== -1){ flip_styles += "border-style: dashed;"; } else if(border_styles.indexOf("solid") !== -1){ flip_styles += "border-style: solid;"; } else if(border_styles.indexOf("dotted") !== -1){ flip_styles += "border-style: dotted;"; } if(border_styles.indexOf("dashed") !== -1 || border_styles.indexOf("solid") !== -1 || border_styles.indexOf("dotted") !== -1){ flip_styles += "border-width: 2px;"; flip_styles += "border-color:"+data.border_color+";"; } } var frontImg = {} if (typeof data.front_bgimg !== "undefined" && typeof data.front_bgimg.src !== "undefined") { frontImg = data.front_bgimg } else { frontImg = {src: data.front_bgimg} } let front_bgimg = ""; if (_.isObject(frontImg) && frontImg.src != undefined) { if(frontImg.src.indexOf("http://") !== -1 || frontImg.src.indexOf("https://") !== -1){ front_bgimg = frontImg.src; } else { front_bgimg = pagebuilder_base + frontImg.src; } } var backImg = {} if (typeof data.back_bgimg !== "undefined" && typeof data.back_bgimg.src !== "undefined") { backImg = data.back_bgimg } else { backImg = {src: data.back_bgimg} } let back_bgimg = ""; if (_.isObject(backImg) && backImg.src != undefined) { if(backImg.src.indexOf("http://") !== -1 || backImg.src.indexOf("https://") !== -1){ back_bgimg = backImg.src; } else { back_bgimg = pagebuilder_base + backImg.src; } } #> <style type="text/css"> #sppb-addon-{{ data.id }} .sppb-flipbox-panel, #sppb-addon-{{ data.id }} .threeD-item{ {{ flip_styles }} } #sppb-addon-{{ data.id }} .sppb-flipbox-front, #sppb-addon-{{ data.id }} .threeD-flip-front{ background-image: url({{ front_bgimg }}); } #sppb-addon-{{ data.id }} .sppb-flipbox-back, #sppb-addon-{{ data.id }} .threeD-flip-back{ background-image: url({{ back_bgimg }}); }'; $output .= $lodash->color('color', '.sppb-flipbox-front, .threeD-flip-front', 'data.front_textcolor'); $output .= $lodash->color('color', '.sppb-flipbox-back, .threeD-flip-back', 'data.back_textcolor'); $output .= $lodash->color('background-color', '.threeD-flip-front:before, .sppb-flipbox-front.flip-box:before', 'data.front_bgcolor'); $output .= $lodash->color('background-color', '.threeD-flip-back:before, .sppb-flipbox-back.flip-box:before', 'data.back_bgcolor'); $output .= $lodash->unit('height', '.sppb-flipbox-panel, .threeD-item', 'data.height', 'px'); $output .= $lodash->alignment('text-align', '.sppb-addon-sppb-flibox', 'data.text_align'); $output .= '</style> <div class="sppb-addon sppb-addon-sppb-flibox {{ data.class }} {{ flip_style }} {{ data.rotate }} flipon-{{ data.flip_bhave }}"> <# if (flip_style == "threeD-flipbox") { #> <div class="threeD-content-wrap"> <div class="threeD-item"> <div class="threeD-flip-front"> <div class="threeD-content-inner sp-inline-editable-element" data-id={{data.id}} data-fieldName="front_text" contenteditable="true">{{{ data.front_text }}}</div> </div> <div class="threeD-flip-back"> <div class="threeD-content-inner sp-inline-editable-element" data-id={{data.id}} data-fieldName="flip_text" contenteditable="true">{{{ data.flip_text }}}</div> </div > </div> </div> <# } else { #> <div class="sppb-flipbox-panel"> <div class="sppb-flipbox-front flip-box"> <div class="flip-box-inner sp-inline-editable-element" data-id={{data.id}} data-fieldName="front_text" contenteditable="true">{{{ data.front_text }}}</div> </div> <div class="sppb-flipbox-back flip-box"> <div class="flip-box-inner sp-inline-editable-element" data-id={{data.id}} data-fieldName="flip_text" contenteditable="true">{{{ data.flip_text }}}</div> </div> </div> <# } #> </div> '; return $output; } }
| ver. 1.4 |
Github
|
.
| PHP 8.1.33 | Генерация страницы: 0.1 |
proxy
|
phpinfo
|
Настройка