/var/www/html_us/wp-content/plugins/elementor/modules/shapes/module.php


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
<?php

namespace Elementor\Modules\Shapes;

if ( ! 
defined'ABSPATH' ) ) {
    exit; 
// Exit if accessed directly
}

class 
Module extends \Elementor\Core\Base\Module {

    public function 
__construct() {
        
parent::__construct();

        
add_action'elementor/frontend/after_register_styles', [ $this'register_styles' ] );
    }

    
/**
     * Register styles.
     *
     * At build time, Elementor compiles `/modules/shapes/assets/scss/frontend.scss`
     * to `/assets/css/widget-shapes.min.css`.
     *
     * @return void
     */
    
public function register_styles() {
        
wp_register_style(
            
'widget-text-path',
            
$this->get_css_assets_url'widget-text-path'nulltruetrue ),
            [ 
'elementor-frontend' ],
            
ELEMENTOR_VERSION
        
);
    }

    
/**
     * Return a translated user-friendly list of the available SVG shapes.
     *
     * @param bool $add_custom Determine if the output should include the `Custom` option.
     *
     * @return array List of paths.
     */
    
public static function get_paths$add_custom true ) {
        
$paths = [
            
'wave' => esc_html__'Wave''elementor' ),
            
'arc' => esc_html__'Arc''elementor' ),
            
'circle' => esc_html__'Circle''elementor' ),
            
'line' => esc_html__'Line''elementor' ),
            
'oval' => esc_html__'Oval''elementor' ),
            
'spiral' => esc_html__'Spiral''elementor' ),
        ];

        if ( 
$add_custom ) {
            
$paths['custom'] = esc_html__'Custom''elementor' );
        }

        return 
$paths;
    }

    
/**
     * Get an SVG Path URL from the pre-defined ones.
     *
     * @param string $path - Path name.
     *
     * @return string
     */
    
public static function get_path_url$path ) {
        return 
ELEMENTOR_ASSETS_URL 'svg-paths/' $path '.svg';
    }

    
/**
     * Get the module's associated widgets.
     *
     * @return string[]
     */
    
protected function get_widgets() {
        return [
            
'TextPath',
        ];
    }

    
/**
     * Retrieve the module name.
     *
     * @return string
     */
    
public function get_name() {
        return 
'shapes';
    }
}