File: /home/parhudrw/ve.anqa.it/wp-content/plugins/depicter/app/src/Document/Models/Elements/Svg.php
<?php
namespace Depicter\Document\Models\Elements;
use Depicter\Document\Models;
use Depicter\Html\Html;
class Svg extends Models\Element
{
public function render() {
$shapeContent = '';
if( ! empty( $this->options->content ) ){
$shapeContent = $this->options->content;
} elseif ( ! empty( $this->options->source ) && $shapeUrl = wp_get_attachment_url( $this->options->source ) ) {
$shapeContent = \Depicter::storage()->filesystem()->read( $shapeUrl );
}
$args = $this->getDefaultAttributes();
$div = Html::div( $args, "\n\t" . $shapeContent . "\n" );
if ( false !== $a = $this->getLinkTag() ) {
return $a->nest( "\n" .$div ) . "\n";
}
return $div . "\n";
}
/**
* Get svg selector
*
* @return string
*/
protected function getSvgSelector() {
return '.' . $this->getSelector() . ' svg, .' . $this->getSelector() . ' path';
}
/**
* Get styles of svg
*
* @return array|array[]
* @throws \JsonMapper_Exception
*/
protected function getSvgCss() {
// Get styles list from styles property
return ! empty( $this->styles ) ? $this->styles->getSvgCss() : [];
}
/**
* Get list of selector and CSS for element
*
* @return array
* @throws \JsonMapper_Exception
*/
public function getSelectorAndCssList(){
parent::getSelectorAndCssList();
// Add SVG selector and css
$this->selectorCssList[ $this->getSvgSelector() ] = $this->getSvgCss();
return $this->selectorCssList;
}
}