| @@ -1,0 +1,203 @@ | ||
| 1 | +<?php | |
| 2 | +/* | |
| 3 | + * License: GPLv3 | |
| 4 | + * License URI: https://www.gnu.org/licenses/gpl.txt | |
| 5 | + * Copyright 2024-2026 Jean-Sebastien Morisset (https://surniaulula.com/) | |
| 6 | + */ | |
| 7 | + | |
| 8 | +if ( ! defined( 'ABSPATH' ) ) { | |
| 9 | + | |
| 10 | + die( 'These aren\'t the droids you\'re looking for.' ); | |
| 11 | +} | |
| 12 | + | |
| 13 | +if ( ! class_exists( 'SucomDashicons' ) ) { | |
| 14 | + | |
| 15 | + class SucomDashicons { | |
| 16 | + | |
| 17 | + private static $dashicons = array( | |
| 18 | + 100 => 'admin-appearance', | |
| 19 | + 101 => 'admin-comments', | |
| 20 | + 102 => 'admin-home', | |
| 21 | + 103 => 'admin-links', | |
| 22 | + 104 => 'admin-media', | |
| 23 | + 105 => 'admin-page', | |
| 24 | + 106 => 'admin-plugins', | |
| 25 | + 107 => 'admin-tools', | |
| 26 | + 108 => 'admin-settings', | |
| 27 | + 109 => 'admin-post', | |
| 28 | + 110 => 'admin-users', | |
| 29 | + 111 => 'admin-generic', | |
| 30 | + 112 => 'admin-network', | |
| 31 | + 115 => 'welcome-view-site', | |
| 32 | + 116 => 'welcome-widgets-menus', | |
| 33 | + 117 => 'welcome-comments', | |
| 34 | + 118 => 'welcome-learn-more', | |
| 35 | + 119 => 'welcome-write-blog', | |
| 36 | + 120 => 'wordpress', | |
| 37 | + 122 => 'format-quote', | |
| 38 | + 123 => 'format-aside', | |
| 39 | + 125 => 'format-chat', | |
| 40 | + 126 => 'format-video', | |
| 41 | + 127 => 'format-audio', | |
| 42 | + 128 => 'format-image', | |
| 43 | + 130 => 'format-status', | |
| 44 | + 132 => 'plus', | |
| 45 | + 133 => 'welcome-add-page', | |
| 46 | + 134 => 'align-center', | |
| 47 | + 135 => 'align-left', | |
| 48 | + 136 => 'align-right', | |
| 49 | + 138 => 'align-none', | |
| 50 | + 139 => 'arrow-right', | |
| 51 | + 140 => 'arrow-down', | |
| 52 | + 141 => 'arrow-left', | |
| 53 | + 142 => 'arrow-up', | |
| 54 | + 145 => 'calendar', | |
| 55 | + 147 => 'yes', | |
| 56 | + 148 => 'admin-collapse', | |
| 57 | + 153 => 'dismiss', | |
| 58 | + 154 => 'star-empty', | |
| 59 | + 155 => 'star-filled', | |
| 60 | + 156 => 'sort', | |
| 61 | + 157 => 'pressthis', | |
| 62 | + 158 => 'no', | |
| 63 | + 159 => 'marker', | |
| 64 | + 160 => 'lock', | |
| 65 | + 161 => 'format-gallery', | |
| 66 | + 163 => 'list-view', | |
| 67 | + 164 => 'exerpt-view', | |
| 68 | + 165 => 'image-crop', | |
| 69 | + 166 => 'image-rotate-left', | |
| 70 | + 167 => 'image-rotate-right', | |
| 71 | + 168 => 'image-flip-vertical', | |
| 72 | + 169 => 'image-flip-horizontal', | |
| 73 | + 171 => 'undo', | |
| 74 | + 172 => 'redo', | |
| 75 | + 173 => 'post-status', | |
| 76 | + 174 => 'cart', | |
| 77 | + 175 => 'feedback', | |
| 78 | + 176 => 'cloud', | |
| 79 | + 177 => 'visibility', | |
| 80 | + 178 => 'vault', | |
| 81 | + 179 => 'search', | |
| 82 | + 180 => 'screenoptions', | |
| 83 | + 181 => 'slides', | |
| 84 | + 182 => 'trash', | |
| 85 | + 183 => 'analytics', | |
| 86 | + 184 => 'chart-pie', | |
| 87 | + 185 => 'chart-bar', | |
| 88 | + 200 => 'editor-bold', | |
| 89 | + 201 => 'editor-italic', | |
| 90 | + 203 => 'editor-ul', | |
| 91 | + 204 => 'editor-ol', | |
| 92 | + 205 => 'editor-quote', | |
| 93 | + 206 => 'editor-alignleft', | |
| 94 | + 207 => 'editor-aligncenter', | |
| 95 | + 208 => 'editor-alignright', | |
| 96 | + 209 => 'editor-insertmore', | |
| 97 | + 210 => 'editor-spellcheck', | |
| 98 | + 211 => 'editor-distractionfree', | |
| 99 | + 212 => 'editor-kitchensink', | |
| 100 | + 213 => 'editor-underline', | |
| 101 | + 214 => 'editor-justify', | |
| 102 | + 215 => 'editor-textcolor', | |
| 103 | + 216 => 'editor-paste-word', | |
| 104 | + 217 => 'editor-paste-text', | |
| 105 | + 218 => 'editor-removeformatting', | |
| 106 | + 219 => 'editor-video', | |
| 107 | + 220 => 'editor-customchar', | |
| 108 | + 221 => 'editor-outdent', | |
| 109 | + 222 => 'editor-indent', | |
| 110 | + 223 => 'editor-help', | |
| 111 | + 224 => 'editor-strikethrough', | |
| 112 | + 225 => 'editor-unlink', | |
| 113 | + 226 => 'dashboard', | |
| 114 | + 227 => 'flag', | |
| 115 | + 229 => 'leftright', | |
| 116 | + 230 => 'location', | |
| 117 | + 231 => 'location-alt', | |
| 118 | + 232 => 'images-alt', | |
| 119 | + 233 => 'images-alt2', | |
| 120 | + 234 => 'video-alt', | |
| 121 | + 235 => 'video-alt2', | |
| 122 | + 236 => 'video-alt3', | |
| 123 | + 237 => 'share', | |
| 124 | + 238 => 'chart-line', | |
| 125 | + 239 => 'chart-area', | |
| 126 | + 240 => 'share-alt', | |
| 127 | + 242 => 'share-alt2', | |
| 128 | + 301 => 'twitter', | |
| 129 | + 303 => 'rss', | |
| 130 | + 304 => 'facebook', | |
| 131 | + 305 => 'facebook-alt', | |
| 132 | + 306 => 'camera', | |
| 133 | + 307 => 'groups', | |
| 134 | + 308 => 'hammer', | |
| 135 | + 309 => 'art', | |
| 136 | + 310 => 'migrate', | |
| 137 | + 311 => 'performance', | |
| 138 | + 312 => 'products', | |
| 139 | + 313 => 'awards', | |
| 140 | + 314 => 'forms', | |
| 141 | + 316 => 'download', | |
| 142 | + 317 => 'upload', | |
| 143 | + 318 => 'category', | |
| 144 | + 319 => 'admin-site', | |
| 145 | + 320 => 'editor-rtl', | |
| 146 | + 321 => 'backup', | |
| 147 | + 322 => 'portfolio', | |
| 148 | + 323 => 'tag', | |
| 149 | + 324 => 'wordpress-alt', | |
| 150 | + 325 => 'networking', | |
| 151 | + 326 => 'translation', | |
| 152 | + 328 => 'smiley', | |
| 153 | + 330 => 'book', | |
| 154 | + 331 => 'book-alt', | |
| 155 | + 332 => 'shield', | |
| 156 | + 333 => 'menu', | |
| 157 | + 334 => 'shield-alt', | |
| 158 | + 335 => 'no-alt', | |
| 159 | + 336 => 'id', | |
| 160 | + 337 => 'id-alt', | |
| 161 | + 338 => 'businessman', | |
| 162 | + 339 => 'lightbulb', | |
| 163 | + 340 => 'arrow-left-alt', | |
| 164 | + 341 => 'arrow-left-alt2', | |
| 165 | + 342 => 'arrow-up-alt', | |
| 166 | + 343 => 'arrow-up-alt2', | |
| 167 | + 344 => 'arrow-right-alt', | |
| 168 | + 345 => 'arrow-right-alt2', | |
| 169 | + 346 => 'arrow-down-alt', | |
| 170 | + 347 => 'arrow-down-alt2', | |
| 171 | + 348 => 'info', | |
| 172 | + 459 => 'star-half', | |
| 173 | + 460 => 'minus', | |
| 174 | + 462 => 'googleplus', | |
| 175 | + 463 => 'update', | |
| 176 | + 464 => 'edit', | |
| 177 | + 465 => 'email', | |
| 178 | + 466 => 'email-alt', | |
| 179 | + 468 => 'sos', | |
| 180 | + 469 => 'clock', | |
| 181 | + 470 => 'smartphone', | |
| 182 | + 471 => 'tablet', | |
| 183 | + 472 => 'desktop', | |
| 184 | + 473 => 'testimonial', | |
| 185 | + ); | |
| 186 | + | |
| 187 | + public static function get( $key = null ) { | |
| 188 | + | |
| 189 | + if ( is_numeric( $key ) ) { | |
| 190 | + | |
| 191 | + return isset( self::$dashicons[ $key ] ) ? self::$dashicons[ $key ] : false; | |
| 192 | + | |
| 193 | + } elseif ( is_string( $key ) ) { | |
| 194 | + | |
| 195 | + $by_name = array_flip( self::$dashicons ); | |
| 196 | + | |
| 197 | + return isset( self::$by_name[ $key ] ) ? self::$by_name[ $key ] : false; | |
| 198 | + } | |
| 199 | + | |
| 200 | + return self::$dashicons; | |
| 201 | + } | |
| 202 | + } | |
| 203 | +} | |