option-functions.php 11 KB

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