4
0

option-functions.php 11 KB

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