PluginProbe
SupportCandy – AI Customer Support Ticket System & Live Chatbot Agent / 3.5.4
SupportCandy – AI Customer Support Ticket System & Live Chatbot Agent v3.5.4
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.5.4, at includes/class-wpsc-icons.php

130 lines 7.2 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 'archive' => file_get_contents( WPSC_ABSPATH . 'asset/icons/archive.svg' ), //phpcs:ignore
92 'archive-restore' => file_get_contents( WPSC_ABSPATH . 'asset/icons/archive-restore.svg' ), //phpcs:ignore
93 );
94 self::$icons = apply_filters( 'wpsc_icons', $icons );
95 }
96
97 /**
98 * Return SVG icon element
99 *
100 * @param string $name - icon name.
101 * @return void
102 */
103 public static function get( $name ) {
104
105 $allowed_tags = array(
106 'svg' => array(
107 'class' => true,
108 'aria-hidden' => true,
109 'aria-labelledby' => true,
110 'role' => true,
111 'xmlns' => true,
112 'width' => true,
113 'height' => true,
114 'viewbox' => true,
115 ),
116 'g' => array( 'fill' => true ),
117 'title' => array( 'title' => true ),
118 'path' => array(
119 'd' => true,
120 'fill' => true,
121 ),
122 );
123
124 echo isset( self::$icons[ $name ] ) ? wp_kses( self::$icons[ $name ], $allowed_tags ) : '';
125 }
126 }
127 endif;
128
129 WPSC_Icons::init();
130