PluginProbe
SupportCandy – AI Customer Support Ticket System & Live Chatbot Agent / 3.3.7
SupportCandy – AI Customer Support Ticket System & Live Chatbot Agent v3.3.7
3.5.4 3.5.3 3.5.2 3.5.1 3.4.9 3.5.0 3.4.8 3.4.7 trunk 2.3.1 3.3.6 3.3.7 3.3.8 3.3.9 3.4.0 3.4.1 3.4.2 3.4.3 3.4.4 3.4.5 3.4.6
supportcandy / includes / class-wpsc-icons.php

class-wpsc-icons.php in SupportCandy – AI Customer Support Ticket System & Live Chatbot Agent 3.3.7, at includes/class-wpsc-icons.php

128 lines 7.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 if ( ! defined( 'ABSPATH' ) ) {
3 exit; // Exit if accessed directly!
4 }
5
6 if ( ! class_exists( 'WPSC_Icons' ) ) :
7
8 final class WPSC_Icons {
9
10 /**
11 * Icons to be loaded on init
12 *
13 * @var Array
14 */
15 public static $icons;
16
17 /**
18 * Initialize this class
19 *
20 * @return void
21 */
22 public static function init() {
23
24 add_action( 'init', array( __CLASS__, 'load_icons' ) );
25 }
26
27 /**
28 * Load SVG icons
29 *
30 * @return void
31 */
32 public static function load_icons() {
33
34 $icons = array(
35 'edit' => file_get_contents( WPSC_ABSPATH . 'asset/icons/edit-solid.svg' ), //phpcs:ignore
36 'info-circle' => file_get_contents( WPSC_ABSPATH . 'asset/icons/info-circle-solid.svg' ), //phpcs:ignore
37 'plus-square' => file_get_contents( WPSC_ABSPATH . 'asset/icons/plus-square-solid.svg' ), //phpcs:ignore
38 'trash-alt' => file_get_contents( WPSC_ABSPATH . 'asset/icons/trash-alt-solid.svg' ), //phpcs:ignore
39 'times' => file_get_contents( WPSC_ABSPATH . 'asset/icons/times-solid.svg' ), //phpcs:ignore
40 'times-circle' => file_get_contents( WPSC_ABSPATH . 'asset/icons/times-circle-solid.svg' ), //phpcs:ignore
41 'reply' => file_get_contents( WPSC_ABSPATH . 'asset/icons/reply-solid.svg' ), //phpcs:ignore
42 'notes' => file_get_contents( WPSC_ABSPATH . 'asset/icons/notes.svg' ), //phpcs:ignore
43 'prioritize' => file_get_contents( WPSC_ABSPATH . 'asset/icons/prioritize.svg' ), //phpcs:ignore
44 'bars' => file_get_contents( WPSC_ABSPATH . 'asset/icons/bars-solid.svg' ), //phpcs:ignore
45 'chevron-up' => file_get_contents( WPSC_ABSPATH . 'asset/icons/chevron-up-solid.svg' ), //phpcs:ignore
46 'chevron-down' => file_get_contents( WPSC_ABSPATH . 'asset/icons/chevron-down-solid.svg' ), //phpcs:ignore
47 'chevron-left' => file_get_contents( WPSC_ABSPATH . 'asset/icons/chevron-left-solid.svg' ), //phpcs:ignore
48 'chevron-right' => file_get_contents( WPSC_ABSPATH . 'asset/icons/chevron-right-solid.svg' ), //phpcs:ignore
49 'control' => file_get_contents( WPSC_ABSPATH . 'asset/icons/control.svg' ), //phpcs:ignore
50 'cogs' => file_get_contents( WPSC_ABSPATH . 'asset/icons/cogs-solid.svg' ), //phpcs:ignore
51 'history' => file_get_contents( WPSC_ABSPATH . 'asset/icons/history-solid.svg' ), //phpcs:ignore
52 'id-card' => file_get_contents( WPSC_ABSPATH . 'asset/icons/id-card-solid.svg' ), //phpcs:ignore
53 'list-alt' => file_get_contents( WPSC_ABSPATH . 'asset/icons/list-alt-solid.svg' ), //phpcs:ignore
54 'gps-navigation' => file_get_contents( WPSC_ABSPATH . 'asset/icons/gps-navigation.svg' ), //phpcs:ignore
55 'search' => file_get_contents( WPSC_ABSPATH . 'asset/icons/search-solid.svg' ), //phpcs:ignore
56 'sort' => file_get_contents( WPSC_ABSPATH . 'asset/icons/sort-solid.svg' ), //phpcs:ignore
57 'sync' => file_get_contents( WPSC_ABSPATH . 'asset/icons/sync-solid.svg' ), //phpcs:ignore
58 'users' => file_get_contents( WPSC_ABSPATH . 'asset/icons/users-solid.svg' ), //phpcs:ignore
59 'ticket-alt' => file_get_contents( WPSC_ABSPATH . 'asset/icons/ticket-alt-solid.svg' ), //phpcs:ignore
60 'user-tie' => file_get_contents( WPSC_ABSPATH . 'asset/icons/user-tie-solid.svg' ), //phpcs:ignore
61 'headset' => file_get_contents( WPSC_ABSPATH . 'asset/icons/headset-solid.svg' ), //phpcs:ignore
62 'contact-form' => file_get_contents( WPSC_ABSPATH . 'asset/icons/contact-form.svg' ), //phpcs:ignore
63 'envelope' => file_get_contents( WPSC_ABSPATH . 'asset/icons/envelope-regular.svg' ), //phpcs:ignore
64 'widget' => file_get_contents( WPSC_ABSPATH . 'asset/icons/widget.svg' ), //phpcs:ignore
65 'check' => file_get_contents( WPSC_ABSPATH . 'asset/icons/check-solid.svg' ), //phpcs:ignore
66 'checked' => file_get_contents( WPSC_ABSPATH . 'asset/icons/checked.svg' ), //phpcs:ignore
67 'font' => file_get_contents( WPSC_ABSPATH . 'asset/icons/font-solid.svg' ), //phpcs:ignore
68 'clock' => file_get_contents( WPSC_ABSPATH . 'asset/icons/clock-solid.svg' ), //phpcs:ignore
69 'calendar-times' => file_get_contents( WPSC_ABSPATH . 'asset/icons/calendar-times-solid.svg' ), //phpcs:ignore
70 'calendar-alt' => file_get_contents( WPSC_ABSPATH . 'asset/icons/calendar-alt-regular.svg' ), //phpcs:ignore
71 'trash-restore' => file_get_contents( WPSC_ABSPATH . 'asset/icons/trash-restore-solid.svg' ), //phpcs:ignore
72 'unlock' => file_get_contents( WPSC_ABSPATH . 'asset/icons/unlock-solid.svg' ), //phpcs:ignore
73 'palette' => file_get_contents( WPSC_ABSPATH . 'asset/icons/palette-solid.svg' ), //phpcs:ignore
74 'arrow-right' => file_get_contents( WPSC_ABSPATH . 'asset/icons/arrow-right-solid.svg' ), //phpcs:ignore
75 'arrow-left' => file_get_contents( WPSC_ABSPATH . 'asset/icons/arrow-left-solid.svg' ), //phpcs:ignore
76 'log-out' => file_get_contents( WPSC_ABSPATH . 'asset/icons/log-out.svg' ), //phpcs:ignore
77 'system' => file_get_contents( WPSC_ABSPATH . 'asset/icons/system.svg' ), //phpcs:ignore
78 'subfolder' => file_get_contents( WPSC_ABSPATH . 'asset/icons/subfolder.svg' ), //phpcs:ignore
79 'shield' => file_get_contents( WPSC_ABSPATH . 'asset/icons/shield.svg' ), //phpcs:ignore
80 'tags' => file_get_contents( WPSC_ABSPATH . 'asset/icons/tags.svg' ), //phpcs:ignore
81 'assignment' => file_get_contents( WPSC_ABSPATH . 'asset/icons/assignment.svg' ), //phpcs:ignore
82 'closed' => file_get_contents( WPSC_ABSPATH . 'asset/icons/closed.svg' ), //phpcs:ignore
83 'unread' => file_get_contents( WPSC_ABSPATH . 'asset/icons/unread.svg' ), //phpcs:ignore
84 'users-avatar' => file_get_contents( WPSC_ABSPATH . 'asset/icons/users-avatar.svg' ), //phpcs:ignore
85 'warning-sign' => file_get_contents( WPSC_ABSPATH . 'asset/icons/warning-sign.svg' ), //phpcs:ignore
86 'line-graph' => file_get_contents( WPSC_ABSPATH . 'asset/icons/line-graph.svg' ), //phpcs:ignore
87 'list' => file_get_contents( WPSC_ABSPATH . 'asset/icons/list.svg' ), //phpcs:ignore
88 'pie-chart' => file_get_contents( WPSC_ABSPATH . 'asset/icons/pie-chart.svg' ), //phpcs:ignore
89 'dashboard' => file_get_contents( WPSC_ABSPATH . 'asset/icons/dashboard.svg' ), //phpcs:ignore
90 'wp-logo' => file_get_contents( WPSC_ABSPATH . 'asset/icons/wp-logo.svg' ), //phpcs:ignore
91 );
92 self::$icons = apply_filters( 'wpsc_icons', $icons );
93 }
94
95 /**
96 * Return SVG icon element
97 *
98 * @param string $name - icon name.
99 * @return void
100 */
101 public static function get( $name ) {
102
103 $allowed_tags = array(
104 'svg' => array(
105 'class' => true,
106 'aria-hidden' => true,
107 'aria-labelledby' => true,
108 'role' => true,
109 'xmlns' => true,
110 'width' => true,
111 'height' => true,
112 'viewbox' => true,
113 ),
114 'g' => array( 'fill' => true ),
115 'title' => array( 'title' => true ),
116 'path' => array(
117 'd' => true,
118 'fill' => true,
119 ),
120 );
121
122 echo isset( self::$icons[ $name ] ) ? wp_kses( self::$icons[ $name ], $allowed_tags ) : '';
123 }
124 }
125 endif;
126
127 WPSC_Icons::init();
128