| | 1 | <?php |
| | 2 | |
| | 3 | namespace WordPress\Dashicons; |
| | 4 | |
| | 5 | if ( ! defined( 'ABSPATH' ) ) { |
| | 6 | exit; |
| | 7 | } // Exit if accessed directly. |
| | 8 | |
| | 9 | /** |
| | 10 | * Class Dashicons |
| | 11 | * |
| | 12 | * @package WordPress |
| | 13 | * @author Sébastien SERRE |
| | 14 | * @since 5.4 :-p |
| | 15 | */ |
| | 16 | class Dashicons { |
| | 17 | |
| | 18 | private static $dashicons; |
| | 19 | |
| | 20 | public function __construct() { |
| | 21 | self::$dashicons = self::set_dashicons(); |
| | 22 | } |
| | 23 | |
| | 24 | /** |
| | 25 | * @return array array with list of existing Dashicons / WP Version / CSS Code |
| | 26 | * @author Sébastien SERRE |
| | 27 | * @package WordPress |
| | 28 | * @since 5.4 :-p |
| | 29 | */ |
| | 30 | public static function get_dashicons_list() { |
| | 31 | $dashicons = |
| | 32 | array( |
| | 33 | 'dashicons-menu' => array( |
| | 34 | 'wp_version' => '3.8', |
| | 35 | 'css_content' => 'f333', |
| | 36 | ), |
| | 37 | 'dashicons-buddicons-activity' => array( |
| | 38 | 'wp_version' => '5.2', |
| | 39 | 'css_content' => 'f452', |
| | 40 | ), |
| | 41 | 'dashicons-buddicons-bbpress-logo' => array( |
| | 42 | 'wp_version' => '5.2', |
| | 43 | 'css_content' => 'f477', |
| | 44 | ), |
| | 45 | 'dashicons-buddicons-buddypress-logo' => array( |
| | 46 | 'wp_version' => '5.2', |
| | 47 | 'css_content' => 'f448', |
| | 48 | ), |
| | 49 | 'dashicons-dashboard', |
| | 50 | 'dashicons-admin-site', |
| | 51 | 'dashicons-admin-media', |
| | 52 | 'dashicons-admin-page', |
| | 53 | 'dashicons-admin-comments', |
| | 54 | 'dashicons-admin-appearance', |
| | 55 | 'dashicons-admin-plugins', |
| | 56 | 'dashicons-admin-users', |
| | 57 | 'dashicons-admin-tools', |
| | 58 | 'dashicons-admin-settings', |
| | 59 | 'dashicons-admin-network', |
| | 60 | 'dashicons-admin-generic', |
| | 61 | 'dashicons-admin-home', |
| | 62 | 'dashicons-admin-collapse', |
| | 63 | 'dashicons-admin-links', |
| | 64 | 'dashicons-admin-post', |
| | 65 | 'dashicons-format-standard', |
| | 66 | 'dashicons-format-image', |
| | 67 | 'dashicons-format-gallery', |
| | 68 | 'dashicons-format-audio', |
| | 69 | 'dashicons-format-video', |
| | 70 | 'dashicons-format-links', |
| | 71 | 'dashicons-format-chat', |
| | 72 | 'dashicons-format-status', |
| | 73 | 'dashicons-format-aside', |
| | 74 | 'dashicons-format-quote', |
| | 75 | 'dashicons-welcome-write-blog', |
| | 76 | 'dashicons-welcome-edit-page', |
| | 77 | 'dashicons-welcome-add-page', |
| | 78 | 'dashicons-welcome-view-site', |
| | 79 | 'dashicons-welcome-widgets-menus', |
| | 80 | 'dashicons-welcome-comments', |
| | 81 | 'dashicons-welcome-learn-more', |
| | 82 | 'dashicons-image-crop', |
| | 83 | 'dashicons-image-rotate-left', |
| | 84 | 'dashicons-image-rotate-right', |
| | 85 | 'dashicons-image-flip-vertical', |
| | 86 | 'dashicons-image-flip-horizontal', |
| | 87 | 'dashicons-undo', |
| | 88 | 'dashicons-redo', |
| | 89 | 'dashicons-editor-bold', |
| | 90 | 'dashicons-editor-italic', |
| | 91 | 'dashicons-editor-ul', |
| | 92 | 'dashicons-editor-ol', |
| | 93 | 'dashicons-editor-quote', |
| | 94 | 'dashicons-editor-alignleft', |
| | 95 | 'dashicons-editor-aligncenter', |
| | 96 | 'dashicons-editor-alignright', |
| | 97 | 'dashicons-editor-insertmore', |
| | 98 | 'dashicons-editor-spellcheck', |
| | 99 | 'dashicons-editor-distractionfree', |
| | 100 | 'dashicons-editor-expand', |
| | 101 | 'dashicons-editor-contract', |
| | 102 | 'dashicons-editor-kitchensink', |
| | 103 | 'dashicons-editor-underline', |
| | 104 | 'dashicons-editor-justify', |
| | 105 | 'dashicons-editor-textcolor', |
| | 106 | 'dashicons-editor-paste-word', |
| | 107 | 'dashicons-editor-paste-text', |
| | 108 | 'dashicons-editor-removeformatting', |
| | 109 | 'dashicons-editor-video', |
| | 110 | 'dashicons-editor-customchar', |
| | 111 | 'dashicons-editor-outdent', |
| | 112 | 'dashicons-editor-indent', |
| | 113 | 'dashicons-editor-help', |
| | 114 | 'dashicons-editor-strikethrough', |
| | 115 | 'dashicons-editor-unlink', |
| | 116 | 'dashicons-editor-rtl', |
| | 117 | 'dashicons-editor-break', |
| | 118 | 'dashicons-editor-code', |
| | 119 | 'dashicons-editor-paragraph', |
| | 120 | 'dashicons-align-left', |
| | 121 | 'dashicons-align-right', |
| | 122 | 'dashicons-align-center', |
| | 123 | 'dashicons-align-none', |
| | 124 | 'dashicons-lock', |
| | 125 | 'dashicons-calendar', |
| | 126 | 'dashicons-visibility', |
| | 127 | 'dashicons-post-status', |
| | 128 | 'dashicons-edit', |
| | 129 | 'dashicons-post-trash', |
| | 130 | 'dashicons-trash', |
| | 131 | 'dashicons-external', |
| | 132 | 'dashicons-arrow-up', |
| | 133 | 'dashicons-arrow-down', |
| | 134 | 'dashicons-arrow-left', |
| | 135 | 'dashicons-arrow-right', |
| | 136 | 'dashicons-arrow-up-alt', |
| | 137 | 'dashicons-arrow-down-alt', |
| | 138 | 'dashicons-arrow-left-alt', |
| | 139 | 'dashicons-arrow-right-alt', |
| | 140 | 'dashicons-arrow-up-alt2', |
| | 141 | 'dashicons-arrow-down-alt2', |
| | 142 | 'dashicons-arrow-left-alt2', |
| | 143 | 'dashicons-arrow-right-alt2', |
| | 144 | 'dashicons-leftright', |
| | 145 | 'dashicons-sort', |
| | 146 | 'dashicons-randomize', |
| | 147 | 'dashicons-list-view', |
| | 148 | 'dashicons-exerpt-view', |
| | 149 | 'dashicons-hammer', |
| | 150 | 'dashicons-art', |
| | 151 | 'dashicons-migrate', |
| | 152 | 'dashicons-performance', |
| | 153 | 'dashicons-universal-access', |
| | 154 | 'dashicons-universal-access-alt', |
| | 155 | 'dashicons-tickets', |
| | 156 | 'dashicons-nametag', |
| | 157 | 'dashicons-clipboard', |
| | 158 | 'dashicons-heart', |
| | 159 | 'dashicons-megaphone', |
| | 160 | 'dashicons-schedule', |
| | 161 | 'dashicons-wordpress', |
| | 162 | 'dashicons-wordpress-alt', |
| | 163 | 'dashicons-pressthis,', |
| | 164 | 'dashicons-update,', |
| | 165 | 'dashicons-screenoptions', |
| | 166 | 'dashicons-info', |
| | 167 | 'dashicons-cart', |
| | 168 | 'dashicons-feedback', |
| | 169 | 'dashicons-cloud', |
| | 170 | 'dashicons-translation', |
| | 171 | 'dashicons-tag', |
| | 172 | 'dashicons-category', |
| | 173 | 'dashicons-archive', |
| | 174 | 'dashicons-tagcloud', |
| | 175 | 'dashicons-text', |
| | 176 | 'dashicons-media-archive', |
| | 177 | 'dashicons-media-audio', |
| | 178 | 'dashicons-media-code', |
| | 179 | 'dashicons-media-default', |
| | 180 | 'dashicons-media-document', |
| | 181 | 'dashicons-media-interactive', |
| | 182 | 'dashicons-media-spreadsheet', |
| | 183 | 'dashicons-media-text', |
| | 184 | 'dashicons-media-video', |
| | 185 | 'dashicons-playlist-audio', |
| | 186 | 'dashicons-playlist-video', |
| | 187 | 'dashicons-yes', |
| | 188 | 'dashicons-no', |
| | 189 | 'dashicons-no-alt', |
| | 190 | 'dashicons-plus', |
| | 191 | 'dashicons-plus-alt', |
| | 192 | 'dashicons-minus', |
| | 193 | 'dashicons-dismiss', |
| | 194 | 'dashicons-marker', |
| | 195 | 'dashicons-star-filled', |
| | 196 | 'dashicons-star-half', |
| | 197 | 'dashicons-star-empty', |
| | 198 | 'dashicons-flag', |
| | 199 | 'dashicons-share', |
| | 200 | 'dashicons-share1', |
| | 201 | 'dashicons-share-alt', |
| | 202 | 'dashicons-share-alt2', |
| | 203 | 'dashicons-twitter', |
| | 204 | 'dashicons-rss', |
| | 205 | 'dashicons-email', |
| | 206 | 'dashicons-email-alt', |
| | 207 | 'dashicons-facebook', |
| | 208 | 'dashicons-facebook-alt', |
| | 209 | 'dashicons-networking', |
| | 210 | 'dashicons-googleplus', |
| | 211 | 'dashicons-location', |
| | 212 | 'dashicons-location-alt', |
| | 213 | 'dashicons-camera', |
| | 214 | 'dashicons-images-alt', |
| | 215 | 'dashicons-images-alt2', |
| | 216 | 'dashicons-video-alt', |
| | 217 | 'dashicons-video-alt2', |
| | 218 | 'dashicons-video-alt3', |
| | 219 | 'dashicons-vault', |
| | 220 | 'dashicons-shield', |
| | 221 | 'dashicons-shield-alt', |
| | 222 | 'dashicons-sos', |
| | 223 | 'dashicons-search', |
| | 224 | 'dashicons-slides', |
| | 225 | 'dashicons-analytics', |
| | 226 | 'dashicons-chart-pie', |
| | 227 | 'dashicons-chart-bar', |
| | 228 | 'dashicons-chart-line', |
| | 229 | 'dashicons-chart-area', |
| | 230 | 'dashicons-groups', |
| | 231 | 'dashicons-businessman', |
| | 232 | 'dashicons-id', |
| | 233 | 'dashicons-id-alt', |
| | 234 | 'dashicons-products', |
| | 235 | 'dashicons-awards', |
| | 236 | 'dashicons-forms', |
| | 237 | 'dashicons-testimonial', |
| | 238 | 'dashicons-portfolio', |
| | 239 | 'dashicons-book', |
| | 240 | 'dashicons-book-alt', |
| | 241 | 'dashicons-download', |
| | 242 | 'dashicons-upload', |
| | 243 | 'dashicons-backup', |
| | 244 | 'dashicons-clock', |
| | 245 | 'dashicons-lightbulb', |
| | 246 | 'dashicons-microphone', |
| | 247 | 'dashicons-desktop', |
| | 248 | 'dashicons-tablet', |
| | 249 | 'dashicons-smartphone', |
| | 250 | 'dashicons-smiley', |
| | 251 | ); |
| | 252 | |
| | 253 | return $dashicons; |
| | 254 | } |
| | 255 | |
| | 256 | public static function set_dashicons() { |
| | 257 | $dashicons = self::get_dashicons_list(); |
| | 258 | |
| | 259 | return $dashicons; |
| | 260 | } |
| | 261 | |
| | 262 | /** |
| | 263 | * @param $dashicons |
| | 264 | * |
| | 265 | * @return bool |
| | 266 | * @author Sébastien SERRE |
| | 267 | * @package WordPress |
| | 268 | * @since :-p |
| | 269 | * |
| | 270 | */ |
| | 271 | public static function is_dashicons_exists( $dashicons ) { |
| | 272 | $dashicons_list = self::$dashicons; |
| | 273 | if ( isset( $dashicons_list[ $dashicons ] ) ) { |
| | 274 | return true; |
| | 275 | } |
| | 276 | |
| | 277 | return false; |
| | 278 | } |
| | 279 | |
| | 280 | } |
| | 281 | |
| | 282 | new Dashicons(); |