PageRenderTime 26ms CodeModel.GetById 24ms RepoModel.GetById 0ms app.codeStats 0ms

/wp-content/themes/betheme/muffin-options/fields/icon/field_icon.php

https://gitlab.com/furrutia1991/imosa_web
PHP | 460 lines | 441 code | 10 blank | 9 comment | 3 complexity | 4a3db0c9d53be4e48bbc8718100c6309 MD5 | raw file
  1. <?php
  2. class MFN_Options_icon extends MFN_Options{
  3. private $icons = array(
  4. 'icon-acrobat',
  5. 'icon-address',
  6. 'icon-adjust',
  7. 'icon-aim',
  8. 'icon-air',
  9. 'icon-alert',
  10. 'icon-amazon',
  11. 'icon-android',
  12. 'icon-angellist',
  13. 'icon-appnet',
  14. 'icon-appstore',
  15. 'icon-archive',
  16. 'icon-arrow-combo',
  17. 'icon-arrows-ccw',
  18. 'icon-attach',
  19. 'icon-attach-line',
  20. 'icon-attention',
  21. 'icon-back',
  22. 'icon-back-in-time',
  23. 'icon-bag',
  24. 'icon-basket',
  25. 'icon-battery',
  26. 'icon-beaker-line',
  27. 'icon-behance',
  28. 'icon-bell',
  29. 'icon-bitbucket',
  30. 'icon-bitcoin',
  31. 'icon-block',
  32. 'icon-blogger',
  33. 'icon-book',
  34. 'icon-book-open',
  35. 'icon-bookmark',
  36. 'icon-bookmarks',
  37. 'icon-box',
  38. 'icon-briefcase',
  39. 'icon-brush',
  40. 'icon-bucket',
  41. 'icon-buffer',
  42. 'icon-calendar',
  43. 'icon-calendar-line',
  44. 'icon-call',
  45. 'icon-camera',
  46. 'icon-camera-line',
  47. 'icon-cancel',
  48. 'icon-cancel-circled',
  49. 'icon-cancel-squared',
  50. 'icon-cart',
  51. 'icon-cc',
  52. 'icon-cc-by',
  53. 'icon-cc-nc',
  54. 'icon-cc-nc-eu',
  55. 'icon-cc-nc-jp',
  56. 'icon-cc-nd',
  57. 'icon-cc-pd',
  58. 'icon-cc-remix',
  59. 'icon-cc-sa',
  60. 'icon-cc-share',
  61. 'icon-cc-zero',
  62. 'icon-ccw',
  63. 'icon-cd',
  64. 'icon-cd-line',
  65. 'icon-chart-area',
  66. 'icon-chart-bar',
  67. 'icon-chart-line',
  68. 'icon-chart-pie',
  69. 'icon-chat',
  70. 'icon-check',
  71. 'icon-chrome',
  72. 'icon-clipboard',
  73. 'icon-clock',
  74. 'icon-clock-line',
  75. 'icon-cloud',
  76. 'icon-cloud-line',
  77. 'icon-cloud-thunder',
  78. 'icon-cloudapp',
  79. 'icon-code',
  80. 'icon-cog',
  81. 'icon-cog-line',
  82. 'icon-comment-empty-fa',
  83. 'icon-comment-fa',
  84. 'icon-comment-line',
  85. 'icon-compass',
  86. 'icon-credit-card',
  87. 'icon-cup',
  88. 'icon-cup-line',
  89. 'icon-cw',
  90. 'icon-database',
  91. 'icon-database-line',
  92. 'icon-db-shape',
  93. 'icon-delicious',
  94. 'icon-desktop-line',
  95. 'icon-diamond-line',
  96. 'icon-digg',
  97. 'icon-direction',
  98. 'icon-disqus',
  99. 'icon-doc',
  100. 'icon-doc-landscape',
  101. 'icon-doc-line',
  102. 'icon-doc-text',
  103. 'icon-doc-text-inv',
  104. 'icon-docs',
  105. 'icon-dot',
  106. 'icon-dot-2',
  107. 'icon-dot-3',
  108. 'icon-down',
  109. 'icon-down-bold',
  110. 'icon-down-circled',
  111. 'icon-down-dir',
  112. 'icon-down-open',
  113. 'icon-down-open-big',
  114. 'icon-down-open-mini',
  115. 'icon-down-thin',
  116. 'icon-download',
  117. 'icon-dribbble',
  118. 'icon-dribbble-circled',
  119. 'icon-drive',
  120. 'icon-dropbox',
  121. 'icon-droplet',
  122. 'icon-drupal',
  123. 'icon-duckduckgo',
  124. 'icon-dwolla',
  125. 'icon-ebay',
  126. 'icon-email',
  127. 'icon-erase',
  128. 'icon-eventasaurus',
  129. 'icon-eventbrite',
  130. 'icon-eventful',
  131. 'icon-evernote',
  132. 'icon-export',
  133. 'icon-eye',
  134. 'icon-eye-line',
  135. 'icon-facebook',
  136. 'icon-facebook-circled',
  137. 'icon-facebook-squared',
  138. 'icon-fast-backward',
  139. 'icon-fast-forward',
  140. 'icon-feather',
  141. 'icon-fire-line',
  142. 'icon-fivehundredpx',
  143. 'icon-flag',
  144. 'icon-flash',
  145. 'icon-flashlight',
  146. 'icon-flattr',
  147. 'icon-flickr',
  148. 'icon-flickr-circled',
  149. 'icon-flight',
  150. 'icon-floppy',
  151. 'icon-flow-branch',
  152. 'icon-flow-cascade',
  153. 'icon-flow-line',
  154. 'icon-flow-parallel',
  155. 'icon-flow-tree',
  156. 'icon-folder',
  157. 'icon-food-line',
  158. 'icon-forrst',
  159. 'icon-forward',
  160. 'icon-foursquare',
  161. 'icon-gauge',
  162. 'icon-github',
  163. 'icon-github-circled',
  164. 'icon-globe',
  165. 'icon-globe-line',
  166. 'icon-gmail',
  167. 'icon-google',
  168. 'icon-google-circles',
  169. 'icon-googleplay',
  170. 'icon-gowalla',
  171. 'icon-gplus',
  172. 'icon-gplus-circled',
  173. 'icon-graduation-cap',
  174. 'icon-graduation-cap-line',
  175. 'icon-grooveshark',
  176. 'icon-guest',
  177. 'icon-hackernews',
  178. 'icon-heart-empty-fa',
  179. 'icon-heart-fa',
  180. 'icon-heart-line',
  181. 'icon-help',
  182. 'icon-help-circled',
  183. 'icon-home',
  184. 'icon-hourglass',
  185. 'icon-html5',
  186. 'icon-ie',
  187. 'icon-inbox',
  188. 'icon-inbox-line',
  189. 'icon-infinity',
  190. 'icon-info',
  191. 'icon-info-circled',
  192. 'icon-instagram',
  193. 'icon-install',
  194. 'icon-instapaper',
  195. 'icon-intensedebate',
  196. 'icon-itunes',
  197. 'icon-key',
  198. 'icon-key-line',
  199. 'icon-keyboard',
  200. 'icon-klout',
  201. 'icon-lamp',
  202. 'icon-language',
  203. 'icon-lanyrd',
  204. 'icon-lastfm',
  205. 'icon-lastfm-circled',
  206. 'icon-layout',
  207. 'icon-leaf',
  208. 'icon-left',
  209. 'icon-left-bold',
  210. 'icon-left-circled',
  211. 'icon-left-dir',
  212. 'icon-left-open',
  213. 'icon-left-open-big',
  214. 'icon-left-open-mini',
  215. 'icon-left-thin',
  216. 'icon-lego',
  217. 'icon-level-down',
  218. 'icon-level-up',
  219. 'icon-lifebuoy',
  220. 'icon-light-down',
  221. 'icon-light-up',
  222. 'icon-lightbulb-line',
  223. 'icon-link',
  224. 'icon-linkedin',
  225. 'icon-linkedin-circled',
  226. 'icon-list',
  227. 'icon-list-add',
  228. 'icon-lkdto',
  229. 'icon-location',
  230. 'icon-location-line',
  231. 'icon-lock',
  232. 'icon-lock-line',
  233. 'icon-lock-open',
  234. 'icon-login',
  235. 'icon-logo-db',
  236. 'icon-logout',
  237. 'icon-loop',
  238. 'icon-macstore',
  239. 'icon-magnet',
  240. 'icon-mail',
  241. 'icon-mail-line',
  242. 'icon-map',
  243. 'icon-meetup',
  244. 'icon-megaphone',
  245. 'icon-megaphone-line',
  246. 'icon-menu',
  247. 'icon-mic',
  248. 'icon-minus',
  249. 'icon-minus-circled',
  250. 'icon-minus-squared',
  251. 'icon-mixi',
  252. 'icon-mobile',
  253. 'icon-mobile-line',
  254. 'icon-money-line',
  255. 'icon-monitor',
  256. 'icon-moon',
  257. 'icon-mouse',
  258. 'icon-music',
  259. 'icon-music-line',
  260. 'icon-mute',
  261. 'icon-myspace',
  262. 'icon-network',
  263. 'icon-newspaper',
  264. 'icon-ninetyninedesigns',
  265. 'icon-note',
  266. 'icon-note-beamed',
  267. 'icon-note-line',
  268. 'icon-openid',
  269. 'icon-opentable',
  270. 'icon-palette',
  271. 'icon-paper-plane',
  272. 'icon-paper-plane-line',
  273. 'icon-params-line',
  274. 'icon-pause',
  275. 'icon-paypal',
  276. 'icon-pencil',
  277. 'icon-pencil-line',
  278. 'icon-phone',
  279. 'icon-photo-line',
  280. 'icon-picasa',
  281. 'icon-picture',
  282. 'icon-pinboard',
  283. 'icon-pinterest',
  284. 'icon-pinterest-circled',
  285. 'icon-plancast',
  286. 'icon-play',
  287. 'icon-plurk',
  288. 'icon-plus',
  289. 'icon-plus-circled',
  290. 'icon-plus-squared',
  291. 'icon-pocket',
  292. 'icon-podcast',
  293. 'icon-popup',
  294. 'icon-posterous',
  295. 'icon-print',
  296. 'icon-progress-0',
  297. 'icon-progress-1',
  298. 'icon-progress-2',
  299. 'icon-progress-3',
  300. 'icon-publish',
  301. 'icon-qq',
  302. 'icon-quora',
  303. 'icon-quote',
  304. 'icon-rdio',
  305. 'icon-rdio-circled',
  306. 'icon-record',
  307. 'icon-reddit',
  308. 'icon-renren',
  309. 'icon-reply',
  310. 'icon-reply-all',
  311. 'icon-resize-full',
  312. 'icon-resize-small',
  313. 'icon-retweet',
  314. 'icon-right',
  315. 'icon-right-bold',
  316. 'icon-right-circled',
  317. 'icon-right-dir',
  318. 'icon-right-open',
  319. 'icon-right-open-big',
  320. 'icon-right-open-mini',
  321. 'icon-right-thin',
  322. 'icon-rocket',
  323. 'icon-rss',
  324. 'icon-scribd',
  325. 'icon-search',
  326. 'icon-search-line',
  327. 'icon-share',
  328. 'icon-shareable',
  329. 'icon-shop-line',
  330. 'icon-shuffle',
  331. 'icon-signal',
  332. 'icon-sina-weibo',
  333. 'icon-skype',
  334. 'icon-skype-circled',
  335. 'icon-smashing',
  336. 'icon-smashmag',
  337. 'icon-songkick',
  338. 'icon-sound',
  339. 'icon-sound-line',
  340. 'icon-soundcloud',
  341. 'icon-spotify',
  342. 'icon-spotify-circled',
  343. 'icon-stackoverflow',
  344. 'icon-star',
  345. 'icon-star-empty',
  346. 'icon-star-line',
  347. 'icon-statusnet',
  348. 'icon-steam',
  349. 'icon-stop',
  350. 'icon-stripe',
  351. 'icon-stumbleupon',
  352. 'icon-stumbleupon-circled',
  353. 'icon-suitcase',
  354. 'icon-sweden',
  355. 'icon-switch',
  356. 'icon-t-shirt-line',
  357. 'icon-tag',
  358. 'icon-tag-line',
  359. 'icon-tape',
  360. 'icon-target',
  361. 'icon-thermometer',
  362. 'icon-thumbs-down',
  363. 'icon-thumbs-up',
  364. 'icon-thumbs-up-line',
  365. 'icon-ticket',
  366. 'icon-to-end',
  367. 'icon-to-start',
  368. 'icon-tools',
  369. 'icon-traffic-cone',
  370. 'icon-trash',
  371. 'icon-trash-line',
  372. 'icon-trophy',
  373. 'icon-truck-line',
  374. 'icon-tumblr',
  375. 'icon-tumblr-circled',
  376. 'icon-tv-line',
  377. 'icon-twitter',
  378. 'icon-twitter-circled',
  379. 'icon-up',
  380. 'icon-up-bold',
  381. 'icon-up-circled',
  382. 'icon-up-dir',
  383. 'icon-up-open',
  384. 'icon-up-open-big',
  385. 'icon-up-open-mini',
  386. 'icon-up-thin',
  387. 'icon-upload',
  388. 'icon-upload-cloud',
  389. 'icon-user',
  390. 'icon-user-add',
  391. 'icon-user-line',
  392. 'icon-users',
  393. 'icon-vcard',
  394. 'icon-viadeo',
  395. 'icon-video',
  396. 'icon-videocam-line',
  397. 'icon-vimeo',
  398. 'icon-vimeo-circled',
  399. 'icon-vk',
  400. 'icon-vkontakte',
  401. 'icon-volume',
  402. 'icon-w3c',
  403. 'icon-wallet-line',
  404. 'icon-water',
  405. 'icon-weibo',
  406. 'icon-wikipedia',
  407. 'icon-window',
  408. 'icon-windows',
  409. 'icon-wordpress',
  410. 'icon-xing',
  411. 'icon-yahoo',
  412. 'icon-yelp',
  413. 'icon-youtube',
  414. );
  415. /**
  416. * Field Constructor.
  417. */
  418. function __construct( $field = array(), $value ='', $parent = NULL ){
  419. if( is_object($parent) ) parent::__construct($parent->sections, $parent->args, $parent->extra_tabs);
  420. $this->field = $field;
  421. $this->value = $value;
  422. }
  423. /**
  424. * Field Render Function.
  425. */
  426. function render( $meta = false ){
  427. $class = ( isset( $this->field['class']) ) ? $this->field['class'] : 'regular-text';
  428. $name = ( ! $meta ) ? ( $this->args['opt_name'].'['.$this->field['id'].']' ) : $this->field['id'];
  429. $value = esc_attr($this->value);
  430. echo '<div class="mfn-icon-field">';
  431. echo '<div class="mfn-icon-header">';
  432. echo '<input type="text" name="'. $name .'" value="'. $value .'" class="mfn-icon-input '.$class.'" />';
  433. echo (isset($this->field['desc']) && !empty($this->field['desc']))?' <span class="description '.$class.'">'.$this->field['desc'].'</span>':'';
  434. echo '</div>';
  435. echo '<div class="mfn-icon-select">';
  436. foreach( $this->icons as $icon ){
  437. $iclass = ( $value == $icon ) ? ' active' : '';
  438. echo '<span class="mfn-icon'. $iclass .'" data-rel="'. $icon .'"><i class="'. $icon .'"></i></span>';
  439. }
  440. echo '</div>';
  441. echo '</div>';
  442. }
  443. /**
  444. * Enqueue Function.
  445. */
  446. function enqueue(){
  447. wp_enqueue_script( 'mfn-opts-field-icos-js', MFN_OPTIONS_URI.'fields/icon/field_icon.js', array('jquery'), time(), true );
  448. }
  449. }
  450. ?>