option-functions.php 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727
  1. <?php
  2. trait OptionsFunction
  3. {
  4. public function makeOptionsFromValues($values = null)
  5. {
  6. $formattedValues = [];
  7. if (strpos($values, ',') !== false) {
  8. $explode = explode(',', $values);
  9. foreach ($explode as $item) {
  10. $formattedValues[] = [
  11. 'name' => $item,
  12. 'value' => $item
  13. ];
  14. }
  15. }
  16. return $formattedValues;
  17. }
  18. public function calendarLocaleOptions()
  19. {
  20. return [
  21. [
  22. 'name' => 'Arabic (Standard)',
  23. 'value' => 'ar',
  24. ],
  25. [
  26. 'name' => 'Arabic (Morocco)',
  27. 'value' => 'ar-ma',
  28. ],
  29. [
  30. 'name' => 'Arabic (Saudi Arabia)',
  31. 'value' => 'ar-sa'
  32. ],
  33. [
  34. 'value' => 'ar-tn',
  35. 'name' => 'Arabic (Tunisia)'
  36. ],
  37. [
  38. 'value' => 'bg',
  39. 'name' => 'Bulgarian'
  40. ],
  41. [
  42. 'value' => 'ca',
  43. 'name' => 'Catalan'
  44. ],
  45. [
  46. 'value' => 'cs',
  47. 'name' => 'Czech'
  48. ],
  49. [
  50. 'value' => 'da',
  51. 'name' => 'Danish'
  52. ],
  53. [
  54. 'value' => 'de',
  55. 'name' => 'German (Standard)'
  56. ],
  57. [
  58. 'value' => 'de-at',
  59. 'name' => 'German (Austria)'
  60. ],
  61. [
  62. 'value' => 'el',
  63. 'name' => 'Greek'
  64. ],
  65. [
  66. 'value' => 'en',
  67. 'name' => 'English'
  68. ],
  69. [
  70. 'value' => 'en-au',
  71. 'name' => 'English (Australia)'
  72. ],
  73. [
  74. 'value' => 'en-ca',
  75. 'name' => 'English (Canada)'
  76. ],
  77. [
  78. 'value' => 'en-gb',
  79. 'name' => 'English (United Kingdom)'
  80. ],
  81. [
  82. 'value' => 'es',
  83. 'name' => 'Spanish'
  84. ],
  85. [
  86. 'value' => 'fa',
  87. 'name' => 'Farsi'
  88. ],
  89. [
  90. 'value' => 'fi',
  91. 'name' => 'Finnish'
  92. ],
  93. [
  94. 'value' => 'fr',
  95. 'name' => 'French (Standard)'
  96. ],
  97. [
  98. 'value' => 'fr-ca',
  99. 'name' => 'French (Canada)'
  100. ],
  101. [
  102. 'value' => 'he',
  103. 'name' => 'Hebrew'
  104. ],
  105. [
  106. 'value' => 'hi',
  107. 'name' => 'Hindi'
  108. ],
  109. [
  110. 'value' => 'hr',
  111. 'name' => 'Croatian'
  112. ],
  113. [
  114. 'value' => 'hu',
  115. 'name' => 'Hungarian'
  116. ],
  117. [
  118. 'value' => 'id',
  119. 'name' => 'Indonesian'
  120. ],
  121. [
  122. 'value' => 'is',
  123. 'name' => 'Icelandic'
  124. ],
  125. [
  126. 'value' => 'it',
  127. 'name' => 'Italian'
  128. ],
  129. [
  130. 'value' => 'ja',
  131. 'name' => 'Japanese'
  132. ],
  133. [
  134. 'value' => 'ko',
  135. 'name' => 'Korean'
  136. ],
  137. [
  138. 'value' => 'lt',
  139. 'name' => 'Lithuanian'
  140. ],
  141. [
  142. 'value' => 'lv',
  143. 'name' => 'Latvian'
  144. ],
  145. [
  146. 'value' => 'nb',
  147. 'name' => 'Norwegian (Bokmal)'
  148. ],
  149. [
  150. 'value' => 'nl',
  151. 'name' => 'Dutch (Standard)'
  152. ],
  153. [
  154. 'value' => 'pl',
  155. 'name' => 'Polish'
  156. ],
  157. [
  158. 'value' => 'pt',
  159. 'name' => 'Portuguese'
  160. ],
  161. [
  162. 'value' => 'pt-br',
  163. 'name' => 'Portuguese (Brazil)'
  164. ],
  165. [
  166. 'value' => 'ro',
  167. 'name' => 'Romanian'
  168. ],
  169. [
  170. 'value' => 'ru',
  171. 'name' => 'Russian'
  172. ],
  173. [
  174. 'value' => 'sk',
  175. 'name' => 'Slovak'
  176. ],
  177. [
  178. 'value' => 'sl',
  179. 'name' => 'Slovenian'
  180. ],
  181. [
  182. 'value' => 'sr',
  183. 'name' => 'Serbian'
  184. ],
  185. [
  186. 'value' => 'sv',
  187. 'name' => 'Swedish'
  188. ],
  189. [
  190. 'value' => 'th',
  191. 'name' => 'Thai'
  192. ],
  193. [
  194. 'value' => 'tr',
  195. 'name' => 'Turkish'
  196. ],
  197. [
  198. 'value' => 'uk',
  199. 'name' => 'Ukrainian'
  200. ],
  201. [
  202. 'value' => 'vi',
  203. 'name' => 'Vietnamese'
  204. ],
  205. [
  206. 'value' => 'zh-cn',
  207. 'name' => 'Chinese (PRC)'
  208. ],
  209. [
  210. 'value' => 'zh-tw',
  211. 'name' => 'Chinese (Taiwan)'
  212. ]
  213. ];
  214. }
  215. public function daysOptions()
  216. {
  217. return array(
  218. array(
  219. 'name' => 'Sunday',
  220. 'value' => '0'
  221. ),
  222. array(
  223. 'name' => 'Monday',
  224. 'value' => '1'
  225. ),
  226. array(
  227. 'name' => 'Tueday',
  228. 'value' => '2'
  229. ),
  230. array(
  231. 'name' => 'Wednesday',
  232. 'value' => '3'
  233. ),
  234. array(
  235. 'name' => 'Thursday',
  236. 'value' => '4'
  237. ),
  238. array(
  239. 'name' => 'Friday',
  240. 'value' => '5'
  241. ),
  242. array(
  243. 'name' => 'Saturday',
  244. 'value' => '6'
  245. )
  246. );
  247. }
  248. public function mediaServerOptions()
  249. {
  250. return array(
  251. array(
  252. 'name' => 'N/A',
  253. 'value' => ''
  254. ),
  255. array(
  256. 'name' => 'Plex',
  257. 'value' => 'plex'
  258. ),
  259. array(
  260. 'name' => 'Emby [Not Available]',
  261. 'value' => 'emby'
  262. )
  263. );
  264. }
  265. public function ombiTvOptions()
  266. {
  267. return array(
  268. array(
  269. 'name' => 'All Seasons',
  270. 'value' => 'all'
  271. ),
  272. array(
  273. 'name' => 'First Season Only',
  274. 'value' => 'first'
  275. ),
  276. array(
  277. 'name' => 'Last Season Only',
  278. 'value' => 'last'
  279. ),
  280. );
  281. }
  282. public function limitOptions()
  283. {
  284. return array(
  285. array(
  286. 'name' => '1 Item',
  287. 'value' => '1'
  288. ),
  289. array(
  290. 'name' => '2 Items',
  291. 'value' => '2'
  292. ),
  293. array(
  294. 'name' => '3 Items',
  295. 'value' => '3'
  296. ),
  297. array(
  298. 'name' => '4 Items',
  299. 'value' => '4'
  300. ),
  301. array(
  302. 'name' => '5 Items',
  303. 'value' => '5'
  304. ),
  305. array(
  306. 'name' => '6 Items',
  307. 'value' => '6'
  308. ),
  309. array(
  310. 'name' => '7 Items',
  311. 'value' => '7'
  312. ),
  313. array(
  314. 'name' => '8 Items',
  315. 'value' => '8'
  316. ),
  317. array(
  318. 'name' => 'Unlimited',
  319. 'value' => '1000'
  320. ),
  321. );
  322. }
  323. public function notificationTypesOptions()
  324. {
  325. return array(
  326. array(
  327. 'name' => 'Toastr',
  328. 'value' => 'toastr'
  329. ),
  330. array(
  331. 'name' => 'Izi',
  332. 'value' => 'izi'
  333. ),
  334. array(
  335. 'name' => 'Alertify',
  336. 'value' => 'alertify'
  337. ),
  338. array(
  339. 'name' => 'Noty',
  340. 'value' => 'noty'
  341. ),
  342. );
  343. }
  344. public function notificationPositionsOptions()
  345. {
  346. return array(
  347. array(
  348. 'name' => 'Bottom Right',
  349. 'value' => 'br'
  350. ),
  351. array(
  352. 'name' => 'Bottom Left',
  353. 'value' => 'bl'
  354. ),
  355. array(
  356. 'name' => 'Bottom Center',
  357. 'value' => 'bc'
  358. ),
  359. array(
  360. 'name' => 'Top Right',
  361. 'value' => 'tr'
  362. ),
  363. array(
  364. 'name' => 'Top Left',
  365. 'value' => 'tl'
  366. ),
  367. array(
  368. 'name' => 'Top Center',
  369. 'value' => 'tc'
  370. ),
  371. array(
  372. 'name' => 'Center',
  373. 'value' => 'c'
  374. ),
  375. );
  376. }
  377. public function timeOptions()
  378. {
  379. return array(
  380. array(
  381. 'name' => '2.5',
  382. 'value' => '2500'
  383. ),
  384. array(
  385. 'name' => '5',
  386. 'value' => '5000'
  387. ),
  388. array(
  389. 'name' => '10',
  390. 'value' => '10000'
  391. ),
  392. array(
  393. 'name' => '15',
  394. 'value' => '15000'
  395. ),
  396. array(
  397. 'name' => '30',
  398. 'value' => '30000'
  399. ),
  400. array(
  401. 'name' => '60 [1 Minute]',
  402. 'value' => '60000'
  403. ),
  404. array(
  405. 'name' => '300 [5 Minutes]',
  406. 'value' => '300000'
  407. ),
  408. array(
  409. 'name' => '600 [10 Minutes]',
  410. 'value' => '600000'
  411. ),
  412. array(
  413. 'name' => '900 [15 Minutes]',
  414. 'value' => '900000'
  415. ),
  416. array(
  417. 'name' => '1800 [30 Minutes]',
  418. 'value' => '1800000'
  419. ),
  420. array(
  421. 'name' => '3600 [1 Hour]',
  422. 'value' => '3600000'
  423. ),
  424. );
  425. }
  426. public function netdataOptions()
  427. {
  428. return [
  429. [
  430. 'name' => 'Disk Read',
  431. 'value' => 'disk-read',
  432. ],
  433. [
  434. 'name' => 'Disk Write',
  435. 'value' => 'disk-write',
  436. ],
  437. [
  438. 'name' => 'CPU',
  439. 'value' => 'cpu'
  440. ],
  441. [
  442. 'name' => 'Network Inbound',
  443. 'value' => 'net-in',
  444. ],
  445. [
  446. 'name' => 'Network Outbound',
  447. 'value' => 'net-out',
  448. ],
  449. [
  450. 'name' => 'Used RAM',
  451. 'value' => 'ram-used',
  452. ],
  453. [
  454. 'name' => 'Used Swap',
  455. 'value' => 'swap-used',
  456. ],
  457. [
  458. 'name' => 'Disk space used',
  459. 'value' => 'disk-used',
  460. ],
  461. [
  462. 'name' => 'Disk space available',
  463. 'value' => 'disk-avail',
  464. ],
  465. [
  466. 'name' => 'Custom',
  467. 'value' => 'custom',
  468. ]
  469. ];
  470. }
  471. public function netdataChartOptions()
  472. {
  473. return [
  474. [
  475. 'name' => 'Easy Pie Chart',
  476. 'value' => 'easypiechart',
  477. ],
  478. [
  479. 'name' => 'Gauge',
  480. 'value' => 'gauge'
  481. ]
  482. ];
  483. }
  484. public function netdataColourOptions()
  485. {
  486. return [
  487. [
  488. 'name' => 'Red',
  489. 'value' => 'fe3912',
  490. ],
  491. [
  492. 'name' => 'Green',
  493. 'value' => '46e302',
  494. ],
  495. [
  496. 'name' => 'Purple',
  497. 'value' => 'CC22AA'
  498. ],
  499. [
  500. 'name' => 'Blue',
  501. 'value' => '5054e6',
  502. ],
  503. [
  504. 'name' => 'Yellow',
  505. 'value' => 'dddd00',
  506. ],
  507. [
  508. 'name' => 'Orange',
  509. 'value' => 'd66300',
  510. ]
  511. ];
  512. }
  513. public function netdataSizeOptions()
  514. {
  515. return [
  516. [
  517. 'name' => 'Large',
  518. 'value' => 'lg',
  519. ],
  520. [
  521. 'name' => 'Medium',
  522. 'value' => 'md',
  523. ],
  524. [
  525. 'name' => 'Small',
  526. 'value' => 'sm'
  527. ]
  528. ];
  529. }
  530. public function timeFormatOptions()
  531. {
  532. return array(
  533. array(
  534. 'name' => '6p',
  535. 'value' => 'h(:mm)t'
  536. ),
  537. array(
  538. 'name' => '6:00p',
  539. 'value' => 'h:mmt'
  540. ),
  541. array(
  542. 'name' => '6:00',
  543. 'value' => 'h:mm'
  544. ),
  545. array(
  546. 'name' => '18',
  547. 'value' => 'H(:mm)'
  548. ),
  549. array(
  550. 'name' => '18:00',
  551. 'value' => 'H:mm'
  552. )
  553. );
  554. }
  555. public function rTorrentSortOptions()
  556. {
  557. return array(
  558. array(
  559. 'name' => 'Date Desc',
  560. 'value' => 'dated'
  561. ),
  562. array(
  563. 'name' => 'Date Asc',
  564. 'value' => 'datea'
  565. ),
  566. array(
  567. 'name' => 'Hash Desc',
  568. 'value' => 'hashd'
  569. ),
  570. array(
  571. 'name' => 'Hash Asc',
  572. 'value' => 'hasha'
  573. ),
  574. array(
  575. 'name' => 'Name Desc',
  576. 'value' => 'named'
  577. ),
  578. array(
  579. 'name' => 'Name Asc',
  580. 'value' => 'namea'
  581. ),
  582. array(
  583. 'name' => 'Size Desc',
  584. 'value' => 'sized'
  585. ),
  586. array(
  587. 'name' => 'Size Asc',
  588. 'value' => 'sizea'
  589. ),
  590. array(
  591. 'name' => 'Label Desc',
  592. 'value' => 'labeld'
  593. ),
  594. array(
  595. 'name' => 'Label Asc',
  596. 'value' => 'labela'
  597. ),
  598. array(
  599. 'name' => 'Status Desc',
  600. 'value' => 'statusd'
  601. ),
  602. array(
  603. 'name' => 'Status Asc',
  604. 'value' => 'statusa'
  605. ),
  606. );
  607. }
  608. public function qBittorrentApiOptions()
  609. {
  610. return array(
  611. array(
  612. 'name' => 'V1',
  613. 'value' => '1'
  614. ),
  615. array(
  616. 'name' => 'V2',
  617. 'value' => '2'
  618. ),
  619. );
  620. }
  621. public function qBittorrentSortOptions()
  622. {
  623. return array(
  624. array(
  625. 'name' => 'Hash',
  626. 'value' => 'hash'
  627. ),
  628. array(
  629. 'name' => 'Name',
  630. 'value' => 'name'
  631. ),
  632. array(
  633. 'name' => 'Size',
  634. 'value' => 'size'
  635. ),
  636. array(
  637. 'name' => 'Progress',
  638. 'value' => 'progress'
  639. ),
  640. array(
  641. 'name' => 'Download Speed',
  642. 'value' => 'dlspeed'
  643. ),
  644. array(
  645. 'name' => 'Upload Speed',
  646. 'value' => 'upspeed'
  647. ),
  648. array(
  649. 'name' => 'Priority',
  650. 'value' => 'priority'
  651. ),
  652. array(
  653. 'name' => 'Number of Seeds',
  654. 'value' => 'num_seeds'
  655. ),
  656. array(
  657. 'name' => 'Number of Seeds in Swarm',
  658. 'value' => 'num_complete'
  659. ),
  660. array(
  661. 'name' => 'Number of Leechers',
  662. 'value' => 'num_leechs'
  663. ),
  664. array(
  665. 'name' => 'Number of Leechers in Swarm',
  666. 'value' => 'num_incomplete'
  667. ),
  668. array(
  669. 'name' => 'Ratio',
  670. 'value' => 'ratio'
  671. ),
  672. array(
  673. 'name' => 'ETA',
  674. 'value' => 'eta'
  675. ),
  676. array(
  677. 'name' => 'State',
  678. 'value' => 'state'
  679. ),
  680. array(
  681. 'name' => 'Category',
  682. 'value' => 'category'
  683. )
  684. );
  685. }
  686. public function calendarDefaultOptions()
  687. {
  688. return array(
  689. array(
  690. 'name' => 'Month',
  691. 'value' => 'month'
  692. ),
  693. array(
  694. 'name' => 'Day',
  695. 'value' => 'basicDay'
  696. ),
  697. array(
  698. 'name' => 'Week',
  699. 'value' => 'basicWeek'
  700. ),
  701. array(
  702. 'name' => 'List',
  703. 'value' => 'list'
  704. )
  705. );
  706. }
  707. }