common.php 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. <?php
  2. // 应用公共文件
  3. /**
  4. * @param bool $bool
  5. * @param $message
  6. * @param int $code
  7. * @throws \app\exception\BaseException
  8. */
  9. function predicate(bool $bool, $message, $code = 1012) {
  10. if (!$bool) {
  11. throw new \app\exception\BaseException($message, $code);
  12. }
  13. }
  14. /**
  15. * 格式化字符串
  16. * @param $value
  17. * @param null $def
  18. * @return null
  19. */
  20. function format_string($value, $def = null) {
  21. return $value != null && strlen(strval($value)) > 0 ? $value : $def;
  22. }
  23. /**
  24. * @param $array
  25. * @param $id
  26. * @return array 树状Menu
  27. */
  28. function recursion($array, $id = 0)
  29. {
  30. $resArray = [];
  31. foreach ($array as $key => $value)
  32. {
  33. if ($value['pid'] == $id)
  34. {
  35. $resArray[$key] = $array[$key];
  36. $resArray[$key]['children'] = recursion($array, $value['id']);
  37. }
  38. }
  39. return array_merge($resArray);
  40. }
  41. function traverse(array $array, $id = 0) {
  42. $resArray = [];
  43. $queues = $key = array_search($id,array_column($array,'id'));
  44. return $queues;
  45. // while ()
  46. }
  47. function seek($array, $id) {
  48. $return = [];
  49. foreach ($array as $item) {
  50. if($item['pid'] == $id)
  51. array_push($return, $item);
  52. }
  53. return $return;
  54. }
  55. function fixed2Float($number) {
  56. return round(floatval((string)$number), 2);
  57. }
  58. function fetchReceptionRules() {
  59. return [
  60. ["id" => 10001, "index" => 0, "zh" => "客户资料", "en" => "Customer information", "icon" => "data:image/png;base64,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"],
  61. ["id" => 10002, "index" => 1, "zh" => "查询业绩", "en" => "Query performance", "icon" => "data:image/png;base64,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"],
  62. ["id" => 10003, "index" => 2, "zh" => "历史订单", "en" => "Historical Orders", "icon" => "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAAAAXNSR0IArs4c6QAAAiBJREFUaEPtWjGLE0EYfd8mMZ6XSrxOBFuxuUK0sLK0VquDZfMD0tjJNYeVPyEk7C4RC+XARrC0Ezs7C0HwimuuDRKy8fYdsxxikWNnybebZJgpk5f3vve9yc4wOwLHhhg/w+Gw0+1235B8AWAPgPk833CvAQCKyBnJD9Pp9NVgMJjLZDLZzfP8G8n7G26grLwfWZY9kDiO34uISWbrh0lKkiTh1jv5z4A3tOlp+oR8Qg13wE+5hhteWU47oV8APpktCUmzNVk6giDISD4G8KhyxSU/0DZ0N4qi37ZFJknyB8ANW7wNTtvQyyzLJr1e73w2mxUb32Wj0+lInucPAXwEcM2mUFuMtiGjOxORc5JXGrosbte2yCq4OgxV0VfHekPqLVUm9AkpN1SdTtI0XZBsqzOvhzA3hl6TPFyPvrrqUbFWpGn6luSBOn2zhO+iKDr4t/jFcfwMwHMRudNsHSurnZA87vf7x4apbDVfWa1pAncNOTXlnHooOPfYdm5h9UfBTT+HK+r53XbFhjUO9wk13vKKgj6hsoaR/C4ifwEsPTkVkeKNIcl72oeMxW5bcx0KguBpGIafy0yb70ej0e12u/0TwI4N3hajbehJGIZfbMTH4/HNVqt1CuC6Dd4Wo2oIwJzk1yJ6kasO682UW4jIPslbtoXa4rQN2erWhvOGamutErFPSKmRtdG4l5Bzl5ecu15mJrNTFwBr+3euifgCQA4lmoY+a78AAAAASUVORK5CYII="],
  63. ["id" => 10004, "index" => 3, "zh" => "定金订单", "en" => "Deposit order", "icon" => "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAA0CAYAAADxAdr3AAAAAXNSR0IArs4c6QAAAy5JREFUaEPtWj1oFEEU/t7enWJSCDYiwZ9CURBBBUEQxCCRKIKCQZtA7k0QUghWFrHXiFhpYaP7cimViEFQlKARTMQmBLFQS5EUogg2JifOkzn25OLP7c/tHlfstPO+7333zduZ2bdHSDBEZDeASwB+qqrGpCip6uXh4eEXMXG1cEoC8n3/OBE9SIJ1GFUtG2MqSfCJBI+Pjx9W1ekkCWsuEQ2Uy+XJJPhEgkWkD8CTJAkDzGlmvpsEv0LwxMREt7X2AICN1loiIlsnVdXVABaNMVMicgjAsyQJA8wpZr4nIscAbAGw1JDHC1bhY6lUmhscHPzWmOe3YBE5D2AUwPpmQpiZKpXKHmvtfFLBqtpvjHksIs6QZqv8BcA1Zr5Sz1ULFpHbAExEAb3MPCMinwAUI2Iaw2y1Wt1ULBa3eZ63EAWvqneMMWdqzovICICbUYBBzFLg0PMYmBWhwQq5h3ZdDI5R57QTvAhgQwxgPXRcVV8T0VcApQj4HwDWAtgJ4GyE+D9DvjNzlxMcd+NPkCsdiHt+csHpePlvltzhLN113LnDneawO+/DjtK4mt2W6k7bNVGAkUqCiD4DGFHV2UKhYJeXlxPd8JoJKhQKu4jId5eusHtMlH24wszlKA60EiMiVwFcSEPwB8/z+oaGht63IqgZtlKp9Fhr3d1iRxqCHYertXdEVFTVVEtCVatEtBlAV5ghkWo4jKSd87ngrN3OHe4Yh1X1OoCnWQkioj3BC/CqNLa1SWYeyEpsnVdE3Hule7/874haw6+YeX/Wgn3ff0hER9MQ7DjmVfVNVqKJyDVTDobxR3U4jKdt87ngrK3OHe4Yh1X1ped5s6rqWqG1dmgag4jcF4cqgL0AXM+56YhaEjPM3BtG1uq8iNwHcCKNfXiKmU+2KigMLyK3AAynIdhx3ACw4NbPteXDkseZDzi3BneJptxRSyJO/kxjc8GZ2pv31rK2N3c4d/hvB+rb2lsA29tgUKspFpm5x3Uv+wE8apUta3z9HwC1o9D3/XNE5I7fjhyqetEYM+bENX4c36eqo0R0BEB3ByhfIqJpa+2YMWaurifVi0w7fuQvPDyURNy9mr0AAAAASUVORK5CYII="],
  64. ["id" => 10005, "index" => 4, "zh" => "退货", "en" => "Return goods", "icon" => "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAAXNSR0IArs4c6QAABDFJREFUaEPtmkuIHEUcxr9/r+yqASGXFQQRIh6i0VziIfGReDFeIngw6MHtqp7DXIIHlaAhygoefAVBDLJIT9UOrILJSfEQL2ogWTHxoPgCMTA5BY2aKGLszfQnNewsM7M7ztTYM9PbbB+7/69ffdVV1VUt6HIZY84CuK3b85zd/1FrvWOtmmStm8aYRwG8nzOIXuXs11of6zTqBvgTgC29Iubs+Tmt9a09AY0x+wB8kLPi+y3nYa31h63GqxSsVCrficjWfiPmyY7k91EU3d4V0Fr7IMkTeSratxYR2auU+rjp16agMeYrAHf5Bs2Z/dda6+2rAI0xewB8krNiBy3nAa31p855RUFr7RmSa84lg2YZl5+InFVK3b0COD8/vzNN09PjKmgYeYMg2BWG4WJDQWPMKQC7hpFojDFPa63vkUqlsltEGv21aBfJPWKM+QzA/UWDW+Y5KXEcbyf51+TkZL1IkEmSTIjIpjXXokUCLT6gMcbNFxNFUq2Fpe4GGRYUroHlAP8GcG1BIa84wMsAbigo4B8bgOtc2Q0F17mAGJqCburJwyIic8BjInKZZKlogJdE5LBS6qgx5gkA1Zz07UwUjCcmJg7NzMz8vPzxfATAU0UA/CIIgmfDMGzbqLLWPknSAaaekBSRlOR0hguPgRS8RPL5KIre6gZAulploDXuwsLC5qWlpS0k9wJ4DMCdng3Vau4HKCLHlVLuYGZkl7X2aZKvD5jQDxDAlyRfjqLo+IAJB3KL4/jeIAjcbvV1ngG8ARvxSS66908pdbIzYbVa3Vqv17cB8NoCcX3avYNpml6s1WqLs7OzV1tjx3G8IwiCMyMBbEnyTpIkh8rl8sXmPWNMFqPoeRE5opR6sxXIWvsayWc8IAdTsCPBbyQPR1H0trtvrX2B5IseRXQ1FZE3lFIrU061Wt1Ur9d/BTDVZ/xMAJu5TolISHI3gLjPAnqakXwoiqKVEy9jzHvLo2tPXyD7tegSgB8AuHcwq7Xo51rrnU2aSqXyuIi82w/dMAD7zOtlliRJMl0ul93OgztmuA/AqsGtS8RMu6hX1T7GQRDcEobheefjeVC0LgAv1Gq1m5vThucp9LoAPKq1PtBU3Fp7kOQrffaA3AMmQRDcFIahmxoalzHmGwB3FAHwQpqm+0qlkvvjqgnnM8A4n6Eo6Fr7F9/jgMbnBxmIyLk0TU+QnCuVSn+2KmWM+RZA228iPZQcCuCs1jqTlUwHnAUQ9tk1m2bZAy5/K77kWch/mltrKyT1ADGzBxSRA25vZoBi2lzm5uaun5qaeoTkcx6DSmfa7AEBfESy7X8xH1gRmSa5TUTcmvZGH981bIcC+D9rytR9AzDT5hxDsA0Fx9DomaZsKHjFYwsg0+wjCPaPWGuXSF4zgmQjTyEiVx3gfpKvAtg88gqGm/B3ETn4L8mX8wm+wIVSAAAAAElFTkSuQmCC"],
  65. ["id" => 10006, "index" => 5, "zh" => "换货", "en" => "Exchange goods", "icon" => "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAAXNSR0IArs4c6QAAA61JREFUaEPtmk1oFVcUx//npk0LoX5AQdctpaUgQqmCFq1ubAulLQUf3b05swhCbSqIn6vgwq+VVVvJInPmZdFFuqjQTdtNa6GKKBTcWBAtya4oiCaipnGO3Ncoz5f3yNybeXnX4d3lzPn4/+Z/mblzZwhthohcBvBGu/OBHb/GzO+20kStDorIdgDjgUEsJKfCzD80B7UDvA7gtYUqBnb+BjO/viBgkiSfEtHZwMTnlfMJM//UGDzPQRG5CuCtvBVDilPVq3Ecv90WME3Tbar6S0iiXbUQ0QdRFP36JO8ZB0XkCoA1rkUDi7/CzGvnAYrIFgC/BSbWV85WZv7dJj91ME3TS6ra8lni26VbeUR0OYqidU8Ba7XahizLzndLUCf6GmM2VqvVC3UHReRPABs70aiLNc8z83uUJMn7RFSfr2UbqrqFROQcgM1lg5vj+YNGR0fXquq9/v7+R2WCnJmZ6SOigZZr0TKBlh9QROzzoq9MrjWwPLI3GS0pXB3LAt4H8HJJIR9YwDsAlpUU8G4P8Dl3tufgc24geg4utYN/A7gJYFNBjYNy8OzExMT24eHh2SRJjhHR3gIggwC8bozZU61Wf2wEqtVqH2VZlgBYvQjQ7gOq6l+Tk5PrrXPNICKyAsAogM89IbsP2CD86MDAwKFKpWKXjs8MEfkKwEkPSC/AfwH849GsbYqqLjfGvKKqR6IoOkNE814AkiR5h4i+B/CmQ28vwG+YeZdDk9yhIyMjywcHB++2ArRFPG4+XoDfMfOXuVUXGCgiZwDscCjpDkhEdhoddGhSWGiapodV9YBDQXdAAJcA2M9rS70LYDfFPgNQ37HOObwAc9YOIqwHGIQNixDh5eDPRHRaVc0iGjunElGmqjsBfOiQ7AV4jJn3OzQpLFREjgLY51DQC/BbZrZXcsmHiJwA8LVDY3dAOz2jKLJrw3lDVWlsbGyNMeYmEd1zEJIrdHZ29oSqcq7g/4O8AG8B2B1F0VhzIwsoIoNEdArAiwCmABS5sWz3b/s7CthQPJ2amtoxNDT0sLlhkiQfG2NEVV91ENOJUHcHm1RcU9UojuOWn79F5CKA9Z1QnrPmogHrfVT1YBzHR540HR8f75uenj5sjIm77GIxgHNg9geiL7IsW2WMsWvVEP6WKhQQRHTLvrzO3WByzqKOhhUL2FGpfsV7gH7XLZysnoPheOGnpO7gAwAv+eUHnzVDaZr+p6ovBC/VT2AdsKKqxwGs9KsRbNZtAHseA0FmnAEx00yNAAAAAElFTkSuQmCC"],
  66. ["id" => 10007, "index" => 6, "zh" => "年费管理", "en" => "Annual fee management", "icon" => "data:image/png;base64,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"],
  67. ["id" => 10008, "index" => 7, "zh" => "生成X-report", "en" => "生成X-report", "icon" => "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAA8CAYAAADWibxkAAAAAXNSR0IArs4c6QAABQFJREFUaEPtW11oHFUU/s7sZlOxoqJQ0MoWSwKWqhURXwRRSvCnVl8UK2Rn72w0lUDeC7bEn4e+iJAHJTTcOyP+sQq2mCpFBPvgi4qiVfwhiFFrYkEF3a52u7lH7rqBJOzPzO7MdEjnvgwMZ87Pd88999xz7hCaQ0r5FBE9CeCalXcJfL4J4MVarfbV4uLiH1NTU7pfHckwUErNAbi/X2YRfn9Gaz1SKpW+CFsGKaVeArA/bMZh8tNa74rCeKOjAYDDVDYCXs8KIQ6t5iul3EdEu5n5asuyzmqtTzqOM9OL7KQD8C+AK4UQ5tkYSikXgN3C2BNCiHuCgpBoAIhorlgsPrBilOu6e5n5WDsjmfkxx3FeDwJCogEAcEAIcXjV7J8AMNIBgPccx7lvwwBARHuKxeJxY1C5XM5Uq9Uls+47GPhdsVi8gYh8x7VEe8Dq6C+lvI6Ifuoyu0u1Wm37+Ph41a8XJBmA88vLy0NjY2MLzeC3C8DnXQz7NZPJDBcKhbMbAYC/MpnMUKFQONME4DYAH3cx7HStVhveKB7wN4BhIcSSMdp13VuZ+dMUgM4IpB6wYZYAEVWYeehiXgKwLGurbduno44BDhFtZua6360jajoymQzzstb61VKpZIJhdEEwamPC4j87O7szk8mcCn0XCEvBqPl4nneL1vqzixKAcrl8SaVSeYOI9sYCgFJqCMDLRFRnZt8Hiwi8oCGbiK5n5q0++AfPA1ox9TzvJq116PU3Hwb0SxIOAFLKHUT0db/aXIDvUwACZ4KtZin1gHQJpDEgDYIBdgFTsfkHQDaiqF8noku7FENXRMe6C5xjZpHL5Y7Pz89X8/l8JAAsLCzU8/n8ZgAOgOdjyQT97ALMfNBxnOcimvWWbJVSpunxaAeZ8XkAMz/kOE7bLk0UwCilngFwMBEAAPhICHFHFIa24qmU2gTgGwDbkgKA0eMTAO8zc4WIIokBplBjWdZlzPwIgO2JiQFxzXxAOfHFgICKxUWeApAehoK2xtLTYAsE/CRCcS3qgHIuSAw4B6Dv+3pdDDVb7IAPMNYAwMyNa4CdLkw0CNYPvx7AzI8DODY4OBhpU0Vrvaler48BMJlgp7EGACnlnUTkATCTtL64O8jMf/YDwGEhxAEfsxIaiVLqKIAH/WaCUso9RPROJwV6BmD1/Z3QLOzCyHXdQ8z8tF8AXNcdYWZzsart6BkAAB8KIe6Ky/iZmZmBXC5nKtWmZ9FurFkCUQNglDgJ4GjUjVXLssx6NfWAHUFiQBwAxOUAfuXE7gF+FYuLLgVg9VkgXQK97gI+LyPE5dZB5ISzBDzPG9Zaf2uyyCDSE0AbDgBKqSsA/Ajg8gQYFUSFn5uXKxv/F3ied6/W+t3AiZD5wHXdU8y8M4j0BNAuVavVoYmJiYrRRUp5NxF90CsArzHzvgQYFUSF89lsNj86OrpoPmredPm+JwD8oBdEs7hoLcu62bbtL428Zvr8m/ntpp38jkHOdV1T8t4dl/JhyGHmUcdxXlnhJaWcIaIn2vD+v2DQbhw5cmTLwMDAL8wcSc0/DIPX8yCit4rF4sMr7z3Pu0prbQ5RW9bTMvP+rtuclPJ2y7LmfHZno7ApKE/NzNscxzE7QmN4nnctM08xszm9mg7TD5ZlvWDb9ttdATAMjCdks1nTkys1GQRVKm76RcuybrRt+/f1gqenpwcnJydNhagx/gM5BXQ2oojGlAAAAABJRU5ErkJggg=="],
  68. ["id" => 10009, "index" => 8, "zh" => "生成Z-report", "en" => "生成Z-report", "icon" => "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAABACAYAAABGHBTIAAAAAXNSR0IArs4c6QAAAzhJREFUaEPtW89rE0EU/t7WBH+0FQ8iKjn6A29qi4L/gHjyJkKh2eZQPYooeJHgRYQevGkOu5NCQW96UfAPEBSL3kT0GFTUg7RpVRI7T6ZE0bRmZrOTzS47uc43b9733ps3b99MCBF/QRBMeJ53HsAJAAcAbIsoIi78O4B3AJ5LKe9VKpXFKAIpCjgMwzkiuhxlTgLY277vXzJdx5iwEOI+gHOmghPGPfF9/7TJmkaEwzC8RURXTQQOC0NEc+Vy+YpufS3h+fn5o1LKlzpBaRj3PO/Y9PT0q166aAkLIe4AuJAGQgY63PV9/2IswvV6/QUzTxgsNnQIES2Wy+XJvgnXarVCsVhsANhjyIaJaJWZ2RDfE0ZExMw7AGgjsSPoU6vVKs3Ozrb/J7inoIWFhfF2u/0RwHYTAkS0MjIycrDVaq2Y4HWYYrE4ura29paZR3XYzvi3QqGwd2pqarkvwkEQjHme9x7AmOGCy77v7zTEGsGEEEsAxo3AQFNKub9SqTQd4Y4FeoZ0VA+nIKQT9/Cwk1bihA232sBgjnC3aa3u4YH5zVyw87DzcK9oiXosmUfewJCJh3S+jqU8Fh6ulo67W1P98ZDHkM5X0oobvhbmJ34sWdA5lghH2JWWrrT8ywKulgasHjux0pNqVm/sW9tNWrYLi7iEN+lb2yUMwHqtHJd0V+kZj7BSpktg2glr9funp1WtVr1SqaTuctZ/3SGT9pDeTL9Go7FarVblb07rhDvvNq4BULeEu/4MbkwKaU9am+n3FcCilPKmeg9CQRAc8jzvTdy9lIX5UsrDJIR4AOBsFhS2oONDRfgzgN0WhGVBxBdFWL172poFbS3o+IPq9XozwoWzhTWHJ0JlceVhdVtueuE9PG3trNx0hO0YMrVSnIdT6xpLiln3sNXSs493Wjq72CVs++Oij3dayRIexPdyxKsWR7jLAi6kdSGhG89X0tJZIwXjdkM6BYR0KjjCOgtlfTyHHs5jAyBfLR4hhHrivy/rm9NQ/w+q4/EIwBnDCVmHPVZNvOMAnjHzlqyz6aU/Ef0EcHL9qiUMwyNEdJ2ITjGz1X+lDNuIRLTEzE+Z+cbMzMzrXwaWnFVQWDK4AAAAAElFTkSuQmCC"],
  69. ["id" => 10010, "index" => 9, "zh" => "登出", "en" => "Logoff", "icon" => "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAD4AAAA+CAYAAABzwahEAAAAAXNSR0IArs4c6QAABIlJREFUaEPtm0+IW0Ucx3+/9zYoLNSj4GUrinbbwlqstbW9iBW89CK4iK6b+U2COSiCgqDUQ/AgVFpW8Q8ekszbdVEWCl4qKoqoqMX/tqLiwdZFir1YqIXWbJL5lSm7JWvfJvOSmdeXrHNMZr6/32d+8+b/IMSkKIoe1VoLRNwV939Kv51k5mellAs+7GG7qFJqEyK+yczbfRjrRZOZ75VSftRL2U5lLoNXq9U9QRC8CwAbXBvpU+9MLpe7cWpq6p8+dVYVvwQ+Ozu7S2v9OQAELsVdaQVBcH8+n3/HlZ7RwXK5HIyNjf0JADe4FHapxcxPSykPutTEWq1WQsQ3XIp60HqMiF53qWvAv0fEbS5FXWsFQXBnPp//2qUuKqXYpaBrLUQ8IoTY51w34+C/a623FQqFc1kCrwNAy/FIYEaVJgCcQsTD9Xr9QKlUOusa+lKvnjTizHwUEQ8i4jFmbjGzsyFQa220GsVicdEHbLtmInBEfFsI8ZBvp9LQTwJ+nIgm0nAqDRvW4Mz8gJTycBpOpWHDFpy11uOFQuG3NJxKw4YtuOnBNxHRH2k4ZWtjfn5+Q6PReBERb2LmI0T0sm1ZW/ALYRhumZ6ePmkr7DufUupaAPgMAO5os3WAiJ6xsW0L/i8zb5FSnrARTSNPFEW7mdmsKFclZn5ESjnfzYeBBVdK3QcA78UBBkEwkc/nj3eCH1jwWq22FxE/XAPudC6Xu7XT5sWwgpv6+ISI7l4r6sMMbphfI6LH4+CHHRwQsSiEqP4XfujBDTAz75ZSftnLIiVzw1mtVtuMiD93G7aW/z/XarU2FovFMyv5vUc8iiIzq9oMACEiaktHO2ZjZrNmvx0Ank+g9xUR7fQOPjc3N95qtWYAYK+BTuCgt6zty2ovEV+GPgoA13mj6F34SSJ6yQt4FEXfZOkYKmZau885uFLKLBqcbgX3Htw1S573Af4UABzy4KxTyf/Bu1Sn9Tg+IE39tPOImwocgM5tpxfwLA9nzCyllMoLuIl6FicwAPAKET1h/PMGvtJnVCqVm0dGRq5HxIarbrnZbNbDMNzDzK8m0PyYiO7xPmVN4FBPWavV6kQQBD9aFv5rdHR04+Tk5NLAg3fZelpVH4i4XQjx3bAsSzvtuV1mZOYH466Mef/GLZti4mw2EUfEGSGEmUlekYYZ/AMiMlvQsWlYwU8tLS3dUiqVzg8deKcDheVTn186fT+DHPG7EPGLGLiHieitbp2GLXhWDw0/BYAdbZAvENH+btBJZm5ZPiZ+DhHHtdYLNoeFSScwZmN+qxDCdjvXptKvah7bpm425WMnAlfV+z6MW4MDwDEiuq0PW5kqmgTcOL6wuLg4VS6XzYb+QKek4AbWHLjPIOJPzPx3GIbYbDZXvXTotUYye8EvBuiCWdP3ChpTLrtXOh1C2khl8hKvjeN95/F5bfsHAMh0b+3ror4EgCtuDPQdKrcC7p9mGP+UUr+am4tufXWn5uUxjnGvUqlsDcPwWwC4xp277pS8PL9acW/57dn76+rB3Qr8unxi2d4w18Oj2ovkO/nisapEgAAAAABJRU5ErkJggg=="]
  70. ];
  71. }
  72. function compare($num, $array) {
  73. $min_num = $num;
  74. $index = null;
  75. if($num > 0) {
  76. foreach ($array as $key => $el) {
  77. $now_price = $num;
  78. if($el['type'] == 1) {
  79. $now_price = $num - $el['reduced_price'];
  80. } else {
  81. if($el['discount'] > 0) {
  82. $now_price = $num - ($num * ($el['discount'] / 100));
  83. }
  84. }
  85. if($min_num == null) {
  86. $min_num = $now_price;
  87. } else {
  88. if($now_price < $min_num) {
  89. $min_num = $now_price;
  90. $index = $key;
  91. }
  92. }
  93. }
  94. }
  95. return ['min_num' => $min_num, 'item' => $index == null ? null : $array[$index]];
  96. }
  97. function fmtN_A($value = null, $def = "#N/A") {
  98. return $value != null && strlen(strval($value)) > 0 ? $value : $def;
  99. }