Compare commits

...

942 Commits

Author SHA1 Message Date
fb4901be9f add log when extend expiraton 2024-04-15 14:35:36 +07:00
a164b345b6 dont send if message empty 2024-04-15 14:30:51 +07:00
8f07c7640c edit changelog 2024-04-15 14:15:15 +07:00
8891cd5aaa allow extend expired for postpaid customer 2024-04-15 14:09:02 +07:00
854fd54834 delete $_c = $config; as it already exists in init.php 2024-04-15 14:08:34 +07:00
21876601ba Hide Tax Settings as it still have a bug 2024-04-15 11:13:19 +07:00
6955d3fd8b Merge pull request #173 from Focuslinkstech/Development
Update: Tax System
2024-04-15 09:10:08 +07:00
d6510dffa7 Merge pull request #175 from agstrxyz/patch-9
Update home.php
2024-04-15 09:07:01 +07:00
419595554b Update home.php
fix token to prevent double recharge
2024-04-15 09:06:26 +07:00
bcc84aed9a Merge pull request #174 from agstrxyz/patch-8
Update cron.php
2024-04-15 09:01:02 +07:00
05caee1193 Merge branch 'Development' into patch-8 2024-04-15 09:00:53 +07:00
071feb3a48 Merge pull request #172 from ahmadhusein17/patch-19
Update cron.php
2024-04-15 08:54:48 +07:00
a5774fe335 Merge pull request #171 from ahmadhusein17/patch-18
Update cron_reminder.php
2024-04-15 08:53:13 +07:00
92a2690ec6 Update home.php 2024-04-14 21:13:11 +07:00
519bef21e0 Update home.php
fix user self recharge in user dashboard for radius plan base
2024-04-14 06:45:45 +07:00
1a40606720 Update cron.php
Fix auto renewal radius plan based
2024-04-14 06:40:47 +07:00
eff79df39a Update customers.tpl
add length Menu  5, 10, 25, 50, 100 and All, as suggested by one of our member and also use 5 as default page length to make the page fit the screen when loaded
2024-04-13 18:19:09 +01:00
425ed2362b Update: Tax System
Tax System Feature Added

The Tax System feature allows you to apply taxes to the prices of Internet plans. This feature is useful for businesses that are required to collect taxes on their services. With the Tax System, you can define tax rates based on your local tax regulations.

Enable Tax System: Choose whether to enable or disable the Tax System. When enabled, taxes will be calculated and added to the prices of Internet plans.

Tax Rate: Select from predefined tax rates such as 0.5%, 1%, 1.5%, 2%, 5%, and 10%. These rates are commonly used and can be selected easily.

Custom Tax Rate: If you have a specific tax rate that is not listed, you can enter a custom tax rate. This allows flexibility in configuring the tax rate to match your local tax requirements.
2024-04-12 19:42:12 +01:00
1fdf1d9573 Update cron.php
Changes made:
 1. Use the $recharges variable to hold the query results to clarify the context.
 2. Use the ternary operator to determine whether the application is running in a CLI environment or not
 3. Simplify the logic by combining several redundant code blocks.
 4. Unify Mikrotik client retrieval logic based on type (Hotspot or PPPOE) to reduce code duplication.
 5. Tidy up the indents to make them consistent and easier to read.
2024-04-08 21:21:54 +07:00
b893827463 Update cron_reminder.php
Improve the writing so that it is easy to read and understand (⁠.⁠ ⁠❛⁠ ⁠ᴗ⁠ ⁠❛⁠.⁠)
2024-04-08 21:12:01 +07:00
aa756fceb1 Merge pull request #166 from ahmadhusein17/patch-12
Update indonesia.json
2024-04-08 20:19:22 +07:00
186dd5571f Merge pull request #162 from ahmadhusein17/patch-9
Update user-login.tpl
2024-04-06 15:14:43 +07:00
14067f2917 Merge pull request #163 from ahmadhusein17/patch-10
Update voucher.tpl
2024-04-06 15:13:48 +07:00
887a0185fa Merge pull request #165 from ahmadhusein17/patch-13
Update header.tpl
2024-04-06 15:13:02 +07:00
88969526be Merge pull request #168 from ahmadhusein17/patch-15
Update app-notifications.tpl
2024-04-06 15:12:40 +07:00
eb18eebc8c Merge pull request #169 from ahmadhusein17/patch-16
Update indonesia.json
2024-04-06 15:11:51 +07:00
e274ca82b0 Merge branch 'Development' into patch-16 2024-04-06 15:11:40 +07:00
9ec8b54435 Merge pull request #167 from ahmadhusein17/patch-14
Update indonesia.json
2024-04-06 15:10:37 +07:00
9dba708c2c Update indonesia.json 2024-04-06 00:33:29 +07:00
cbbb77b636 Update app-notifications.tpl
Add language to the placeholder
2024-04-06 00:29:45 +07:00
1733472ad1 Update indonesia.json
Add language to customer notifications
2024-04-06 00:01:37 +07:00
11c111805d Update header.tpl
Additional Privacy and toc translations
2024-04-05 23:22:59 +07:00
4c35e79a16 Update indonesia.json
Language improvements and additions
2024-04-05 23:20:59 +07:00
fc1cc54378 Update voucher.tpl
Fix unresponsive buttons on mobile phone display
2024-04-05 22:02:26 +07:00
f62e7707a1 Update user-login.tpl
Add a lock icon to the password
2024-04-05 21:35:19 +07:00
bab56be9c7 change to username if country code empty 2024-04-05 18:01:11 +07:00
0422c1e9bb allow [[plan]] and [[package]] to be replaced with plan name 2024-04-05 17:37:41 +07:00
1f5033b471 remove [[bills]] if there no bills found 2024-04-05 17:21:06 +07:00
53a309fee8 Fix recharge friend 2024-04-05 11:18:28 +07:00
766ba59734 add new field trx_invoice to tbl_payment_gateway, to know which transaction is for 2024-04-05 10:42:30 +07:00
2e3e5d2b84 add new variable to notification settings 2024-04-05 09:43:07 +07:00
e285e53887 Total Bills 2024-04-05 09:40:11 +07:00
afd75d757e add full name in invoice 2024-04-05 09:35:05 +07:00
006693982b fix sending notif package 2024-04-04 17:42:28 +07:00
71437b9a0e Prevent double submit for recharge and renew 2024-04-04 15:27:13 +07:00
eba6048abf Add Bills to Reminder 2024-04-04 15:02:16 +07:00
f97651695d add Note to reminder 2024-04-04 15:01:45 +07:00
72c3ff6750 Lang Internet Plan 2024-04-04 14:53:11 +07:00
787f666efe Merge pull request #161 from Focuslinkstech/Development
Patch Update
2024-04-04 14:52:20 +07:00
5db8df0c3e Patch Update
customers list tables replaced with DataTables
2024-04-03 23:39:31 +01:00
f77c96f3c3 Change to Username if Country code empty 2024-04-03 11:14:50 +07:00
ffd9f2e524 Merge pull request #160 from agstrxyz/patch-6
Update logs-radius.tpl
2024-04-03 10:32:24 +07:00
366208d6d1 Merge pull request #159 from agstrxyz/patch-5
Update logs.tpl
2024-04-03 10:31:55 +07:00
db28570610 Merge pull request #158 from agstrxyz/patch-4
Update logs.php
2024-04-03 10:31:23 +07:00
feaf88fc00 Update logs-radius.tpl
add export to csv button
2024-04-03 02:37:09 +07:00
4bd5e399de Update logs.tpl
add export to csv button
2024-04-03 02:34:39 +07:00
76047a6b39 Update logs.php
Export to csv
2024-04-03 02:32:30 +07:00
68c9ab0b2e 2024.4.2 2024-04-02 14:08:03 +07:00
198dfee3cc fix package 2024-04-02 10:23:06 +07:00
5161874cf2 $ui->display will show json for api 2024-04-01 13:48:58 +07:00
254fd4ccf7 fix rest api, need to change every variable to readable 2024-04-01 13:01:21 +07:00
ee73621c85 Found lazy way to create api 2024-03-31 21:23:19 +07:00
4bf6f9c0ac Fix API Structure 2024-03-30 12:04:30 +07:00
3a2e7c9192 remove $_L 2024-03-30 12:03:12 +07:00
dcbb9434d6 Merge pull request #155 from Focuslinkstech/Development
Update hotspot.tpl
2024-03-29 16:49:09 +07:00
faca5d0359 Merge pull request #154 from gerandonk/Development
Fix Ip Log for cloudflare tunnel
2024-03-29 16:38:27 +07:00
aeddc86796 Merge pull request #153 from ahmadhusein17/patch-8
Update indonesia.json
2024-03-29 16:37:53 +07:00
c34a34ee8e Update hotspot.tpl
List rearrangement
2024-03-28 23:31:53 +01:00
7b0bc12e98 Fix Ip Log for cloudflare tunnel 2024-03-28 23:20:14 +07:00
8ff84b2c01 Update indonesia.json
Language improvements
2024-03-28 20:03:45 +07:00
954a49978c Show Personal/Bussines in Plan Customer Dashboard 2024-03-28 18:55:10 +07:00
773cfe0139 update Client.php routerOS 2024-03-28 18:53:41 +07:00
7eae86d861 Merge pull request #150 from agstrxyz/patch-1
Update indonesia.json
2024-03-28 18:44:28 +07:00
ea9974f668 Merge pull request #152 from ahmadhusein17/master
Update english.json
2024-03-28 18:43:52 +07:00
eda1750608 Merge pull request #151 from ahmadhusein17/Development
Language improvements
2024-03-28 18:43:40 +07:00
9a1c264173 Merge branch 'Development' into Development 2024-03-28 18:43:32 +07:00
6865b388d0 Merge branch 'Development' into master 2024-03-28 18:41:33 +07:00
ef15ec0ae2 Send Email Function 2024-03-27 14:32:55 +07:00
e0d21e6284 price + $add_cost in telegram 2024-03-27 11:42:17 +07:00
37a7da614e Fixing Pagination, more Simple 2024-03-27 09:44:48 +07:00
e11ab5ba01 remove print_r 2024-03-26 15:46:45 +07:00
0767c6ab23 Change paginator, to make easy customization using pagination.tpl 2024-03-26 14:39:28 +07:00
8e90cf933b Update english.json
Language improvements
2024-03-26 00:47:57 +07:00
a5ffee688c Language improvements 2024-03-26 00:40:54 +07:00
36a24238ef Fix Cancel 2024-03-25 10:27:06 +07:00
7eda29d02c Update indonesia.json 2024-03-24 19:20:54 +07:00
e709ea4353 fix maps when http 2024-03-24 13:39:00 +07:00
18967b59e2 Handle Http for maps 2024-03-24 13:35:31 +07:00
3c2ca66b48 fix sql 2024-03-23 17:46:20 +07:00
63c364a6c5 Merge pull request #149 from siavashmirtaheri/patch-1
Update country.json Iran-Persian
2024-03-23 17:45:33 +07:00
338861a630 Change to icon 2024-03-23 15:34:44 +07:00
90f72852ca Update country.json
IR translate start
2024-03-23 11:45:58 +03:30
5426d9f35f show maps on customer view 2024-03-23 12:56:25 +07:00
58c4037d8c full height maps 2024-03-23 12:44:17 +07:00
04a21d3eb2 Maps always show Tooltip 2024-03-23 12:38:23 +07:00
273d98f3ad map-customer.tpl to customer-map.tpl 2024-03-23 12:16:42 +07:00
177cdef1cd Add Location Picker 2024-03-22 21:21:23 +07:00
ffe913cb8f .htaccess allow update.php 2024-03-22 20:29:05 +07:00
75955de6c5 Fix Broadcast Message by @Focuslinkstech 2024-03-22 10:40:51 +07:00
11d97c153f Merge pull request #142 from Focuslinkstech/Development
bulk SMS/WA message improvement
2024-03-22 10:30:56 +07:00
44cded581a Enhancement in bulk SMS/WA message
Enhancement in  SMS/WA message sending
2024-03-21 16:52:52 +01:00
b8ae562367 2024.3.20 2024-03-20 16:06:42 +07:00
d6bcb4edfc Merge branch 'master' into Development 2024-03-20 09:55:27 +07:00
5d16ff9484 show prepaid or postpaid in list 2024-03-20 09:54:48 +07:00
c1f815535d compiled folder missing in installation 2024-03-20 09:29:40 +07:00
37a8187f5a delete unused file 2024-03-20 09:28:10 +07:00
ec5aeedd1b Merge pull request #140 from gerandonk/Development
fix validity period is more than one month
2024-03-20 09:28:00 +07:00
7dd27e3080 Merge pull request #139 from Focuslinkstech/Development
Update message.php
2024-03-20 09:27:47 +07:00
93ca9fa586 Update customers-view.tpl
add account type
2024-03-19 19:23:34 +01:00
de302d2656 Update customers-add.tpl
fix customer add
2024-03-19 18:59:05 +01:00
4d8cec1a88 Merge branch 'hotspotbilling:Development' into Development 2024-03-19 18:46:54 +01:00
477dd11caa fix validity period is more than one month 2024-03-19 23:54:49 +07:00
36eb5ebd3b fix 1 payment gateway 2024-03-19 20:47:31 +07:00
6e2e907d85 move account_type 2024-03-19 19:05:35 +07:00
c460cdd2d6 Merge branch 'master' into Development 2024-03-19 19:00:21 +07:00
5b7683ae30 Update message.php
fix placeholder bugs
2024-03-19 12:27:38 +01:00
ea743b6db6 update plan type 2024-03-19 18:21:38 +07:00
1a165662ca Merge pull request #136 from Focuslinkstech/Development
Update map-customer.tpl
2024-03-19 18:10:54 +07:00
21058d5c4e Update map-customer.tpl
fix Map
2024-03-19 09:08:30 +01:00
af3995b421 plan price to Note 2024-03-19 11:38:32 +07:00
e9240f462d Merge branch 'development' 2024-03-19 11:05:42 +07:00
5b3be79420 2024.3.19 2024-03-19 11:05:08 +07:00
8f595af9a1 Fix map url 2024-03-19 10:22:54 +07:00
393a1195a5 Merge pull request #135 from pro-cms/master
Added Business/Personal System
2024-03-19 09:46:16 +07:00
0dd12b717d Merge branch 'Development' into master 2024-03-19 09:46:08 +07:00
d7d6709944 Merge pull request #134 from ahmadhusein17/patch-3
Update message-bulk.tpl
2024-03-19 09:41:25 +07:00
ef187817cf Merge pull request #131 from Focuslinkstech/Development
add send message button
2024-03-19 09:36:40 +07:00
24e45db017 break; the line 2024-03-19 09:34:28 +07:00
0a67ea25b5 Update phpnuxbill.sql
add coordinates
2024-03-19 01:10:19 +01:00
f27964dde6 map and customer geo location added
added map and customer geo location, we advice you to change/edit the customer coordinates according to their location, so that you can see where the customer is located on the Map
2024-03-19 00:59:34 +01:00
5b0e782efd fix syntax phpnuxbill.sql 2024-03-19 00:12:38 +03:00
865df09116 fixed account type ui 2024-03-18 23:28:16 +03:00
f44d800400 edit ,add customer type 2024-03-18 23:25:39 +03:00
aae5b58d57 added edit customer account type 2024-03-18 23:23:52 +03:00
19d60da919 added plan type to order user account 2024-03-18 23:12:23 +03:00
7be8552784 added plan type to service class 2024-03-18 22:55:08 +03:00
b92efe3d30 added plan type to front ui 2024-03-18 22:50:46 +03:00
f769e7b798 added plan type to listing 2024-03-18 22:40:27 +03:00
15ae5c844f added plan_type and account_type 2024-03-18 22:33:10 +03:00
0aff5f437a Update message-bulk.tpl
Removed translation in placeholder contents
2024-03-18 19:57:55 +07:00
605fbb73a6 fix translation error
fix translation error
2024-03-18 13:52:33 +01:00
3d2af75e5b add send message button
add send message button in customer
 view details
2024-03-18 12:28:54 +01:00
130451e1ae Fix notification 2024-03-18 11:48:22 +07:00
d36f39af8f Merge pull request #130 from Focuslinkstech/Development
send single and Bulk SMS, WhatsApp or Both WA/SMS message to customers
2024-03-18 11:05:03 +07:00
518917aac6 Add Message Feature
you can now send single and Bulk SMS, WhatsApp or Both WA/SMS message to customers based on their groups, more groups will be added later
2024-03-18 01:35:48 +01:00
dbc3a2623c Update customers.tpl
Functionality to filter table rows based on admin input
2024-03-17 15:56:42 +01:00
d31edde9d6 prepaid to plan file 2024-03-16 20:41:24 +07:00
32943b40be Fix Bills Zero 2024-03-16 20:41:24 +07:00
23790d3258 Merge pull request #129 from gerandonk/Development
Fix loop disconnect to all Nas
2024-03-16 20:24:25 +07:00
ffa55cdee5 Fix loop disconnect to all Nas
Fix loop disconnect to all Nas but still detecting Hotspot Multylogin from other Nas
2024-03-16 19:50:45 +07:00
6f5d49cd2f Show Paid 2024-03-15 10:56:08 +07:00
850581d328 Fix instalment finished 2024-03-15 10:48:17 +07:00
1d0d3f13ab 2024.3.14 2024-03-15 10:43:49 +07:00
c82b6b6acf Change Attribute to Bill Only 2024-03-15 10:38:05 +07:00
532fbf7337 Active plan on user page 2024-03-15 09:46:01 +07:00
c4afd6da7f Additional Cost at Cron 2024-03-15 09:29:15 +07:00
a812e3a3e0 Merge pull request #128 from gerandonk/Development
postpaid always zero for first time recharge and invoice atribute for…
2024-03-15 09:24:02 +07:00
a15510e62a postpaid always zero for first time recharge and invoice atribute for next month
for postpaid customer invoice reminder and order get from invoice attribute
2024-03-15 04:07:30 +07:00
78d1634470 Send plan to friend will pay for Additional Cost 2024-03-14 14:55:49 +07:00
cc8d810d45 Additional Cost Customer side 2024-03-14 14:42:20 +07:00
68d3c9181c View Invoice from Customer side 2024-03-14 13:40:44 +07:00
e206a583fd Additional Cost, and Confirm Recharge 2024-03-14 12:14:11 +07:00
ca27c47b75 fix get attributes 2024-03-14 11:38:32 +07:00
2c67108cf1 add Additional Cycle and check if price is zero 2024-03-14 10:28:36 +07:00
dee4c78e93 Change Menu Names 2024-03-13 16:59:12 +07:00
a6c004e1cb $day_exp 2024-03-13 16:33:06 +07:00
8318bb4e6b Merge branch 'Development' 2024-03-13 16:29:44 +07:00
b27e0adca9 Fix onclick prepaid 2024-03-13 16:29:22 +07:00
2925d3a1e3 Merge branch 'Development' 2024-03-13 15:51:23 +07:00
add28c2fca Merge pull request #124 from Focuslinkstech/Development
Update dashboard.php
2024-03-13 15:41:57 +07:00
afbab3dd42 Update dashboard.php
fix reporting
2024-03-13 09:34:57 +01:00
b68e4d2e68 2024.3.13 2024-03-13 14:54:36 +07:00
c8f4574984 Recharge with additional Cost 2024-03-13 14:53:33 +07:00
60c573821b Additional Cost from Customer Attributes 2024-03-13 14:48:01 +07:00
e6e993cf21 Expired day postpaid 2024-03-13 14:40:47 +07:00
ca0edb4e17 Postpaid 2024-03-13 14:32:10 +07:00
ed9a411095 Fix install Plugin 2024-03-13 09:37:45 +07:00
c69fb1cae2 Merge branch 'Development' 2024-03-12 16:40:58 +07:00
d30aadc5e4 Expired Date by created date 2024-03-12 16:39:01 +07:00
b732cfd90e Recharge with balance or zero cost 2024-03-12 16:39:01 +07:00
46a56c12e3 admin can recharge disabled plan 2024-03-12 16:39:01 +07:00
9b2d42610a delete allow_purchase in cron 2024-03-12 16:39:01 +07:00
ef85bdb02f Invoice number not Random 2024-03-12 16:39:01 +07:00
23763ed308 Period in hotspot 2024-03-12 16:39:00 +07:00
9fcdf04005 Show From Customer 2024-03-12 16:39:00 +07:00
60babfa7b5 Change button 2024-03-12 16:39:00 +07:00
4cdde32cb1 Multiple Payment gateway Fix 2024-03-12 16:39:00 +07:00
538850b323 delete button 2024-03-12 16:39:00 +07:00
47393b4da9 Delete Plugin 2024-03-12 16:39:00 +07:00
87167b7770 change path 2024-03-12 16:39:00 +07:00
81572a61a4 delete payment gateway 2024-03-12 16:39:00 +07:00
3412ecc7de Fix Logic Multiple Payment gateway 2024-03-12 16:39:00 +07:00
3ab38897f9 change path to /gateway/ 2024-03-12 16:39:00 +07:00
8c2471d1d2 delete none 2024-03-12 16:39:00 +07:00
b0937a424a .htaccess Firewall 2024-03-12 16:39:00 +07:00
171b938d3a Check if Period Validity 2024-03-12 16:39:00 +07:00
61c1d25096 We are excited to introduce a new feature
I am delighted to announce that a highly requested feature has been added to Nuxbill! We now support Multiple Payment Gateways, allowing customers to choose their preferred payment method. This update brings greater flexibility and convenience to our users.
2024-03-12 16:39:00 +07:00
f885b8e8a3 Update dashboard.php
Fix when user purchase services with his/her balance it wont be added as income because the balance has been added earlier
2024-03-12 16:39:00 +07:00
2bb664e241 Expired Date by created date 2024-03-12 15:28:32 +07:00
c9058769ce Recharge with balance or zero cost 2024-03-12 15:09:00 +07:00
6d15437333 admin can recharge disabled plan 2024-03-12 13:58:42 +07:00
7c5958c8c1 delete allow_purchase in cron 2024-03-12 13:46:40 +07:00
1a4a0f2c10 Invoice number not Random 2024-03-12 12:12:36 +07:00
629d9e8ed4 Period in hotspot 2024-03-12 12:01:49 +07:00
b9e987570c Show From Customer 2024-03-12 11:54:20 +07:00
b95788262d Change button 2024-03-12 11:48:17 +07:00
3bb55320e3 Multiple Payment gateway Fix 2024-03-12 11:17:05 +07:00
7a9f937a9e delete button 2024-03-12 10:43:34 +07:00
c00e51adda Delete Plugin 2024-03-12 10:42:42 +07:00
0cc526e29a change path 2024-03-12 10:00:40 +07:00
16f0642007 delete payment gateway 2024-03-12 10:00:28 +07:00
e1f7b324cb Fix Logic Multiple Payment gateway 2024-03-12 09:33:45 +07:00
8f0ff3e786 change path to /gateway/ 2024-03-12 09:24:16 +07:00
9023f89456 delete none 2024-03-12 09:23:59 +07:00
140b756994 .htaccess Firewall 2024-03-12 09:07:12 +07:00
ca59c89e1d Check if Period Validity 2024-03-12 09:07:12 +07:00
4e23918999 Merge pull request #122 from Focuslinkstech/Development
We are excited to introduce a new feature
2024-03-12 09:06:43 +07:00
758a0a99a9 We are excited to introduce a new feature
I am delighted to announce that a highly requested feature has been added to Nuxbill! We now support Multiple Payment Gateways, allowing customers to choose their preferred payment method. This update brings greater flexibility and convenience to our users.
2024-03-11 09:34:25 +01:00
b6cf9bec0b Merge pull request #121 from Focuslinkstech/Development
Update dashboard.php
2024-03-11 14:43:13 +07:00
6e07c3ae85 Update dashboard.php
Fix when user purchase services with his/her balance it wont be added as income because the balance has been added earlier
2024-03-10 22:41:48 +01:00
ef76aadc16 Merge pull request #120 from hotspotbilling/Development
fix delete customer attribute
2024-03-08 17:50:06 +07:00
8e960107fc Merge pull request #119 from Focuslinkstech/Development
Bug Fix
2024-03-08 17:47:44 +07:00
c4e702ee2f Update customers.php
Fix Delete the Customers Attributes with the given field name, it delete all from the table which belong to other customers
2024-03-08 10:43:07 +01:00
08790e7295 Merge branch 'Development' of https://github.com/Focuslinkstech/phpnuxbill into Development 2024-03-08 09:37:56 +01:00
cfefd38a31 if ($p['validity_unit'] == 'Period') then add Expired Date 2024-03-06 12:03:24 +07:00
37a5ee8566 Change the view of Attributes Customer 2024-03-06 11:15:45 +07:00
e5c8aae758 2024.3.5 2024-03-05 16:20:18 +07:00
99d393d0c0 Merge pull request #118 from gerandonk/Development
change due date for period plan to customer field attribute
2024-03-05 16:18:32 +07:00
e6280d597b change due date for period plan to customer field attribute
admin can change expired date for period plan as wish before recharger customer
2024-03-05 16:08:33 +07:00
18db9cd280 hide if balance off 2024-03-05 11:15:38 +07:00
6aab647f48 Company name in login 2024-03-05 11:15:26 +07:00
b8b4623078 notification variable fix 2024-03-04 14:26:36 +07:00
6a79cff233 checkUserType when edit is neq 2024-03-04 11:30:09 +07:00
4c02283fd0 add full name in telegram notification 2024-03-04 10:06:19 +07:00
403de91fba sendPackageNotification with customer variable 2024-03-04 10:02:23 +07:00
4ee3743cf3 Fix Password send to admin 2024-03-04 09:57:12 +07:00
77e48dae8b add is file exists 2024-03-03 19:54:04 +07:00
0745532951 2024.3.3 2024-03-03 17:29:53 +07:00
b53116d22a Customer Announcement 2024-03-03 17:24:01 +07:00
f7df824145 Merge pull request #116 from gerandonk/Development
Development
2024-03-03 17:11:38 +07:00
f154322f99 Merge pull request #115 from Focuslinkstech/master
improvement
2024-03-03 17:10:06 +07:00
a76ba6ee8b update db for validity period 2024-03-03 11:30:34 +07:00
61b3f5b5f5 Add planwith validity period 2024-03-03 11:03:25 +07:00
b153e5b595 distinguish between announcements on the user dashboard and the login page 2024-03-03 11:00:42 +07:00
9ab0b6a0fa improvement
just replace the save loading with css for better loading feature
2024-03-02 12:40:04 +01:00
a7f191f058 damn, that curly bracket make error :)) 2024-03-01 19:42:59 +07:00
012a1ecfab allow purchase = no, but can recharge 2024-03-01 16:10:01 +07:00
dc70a49f52 upload path 2024-03-01 13:44:46 +07:00
bc7380eab7 add variable to global 2024-03-01 10:36:24 +07:00
f4da09a26e move hook before sending notification 2024-03-01 10:11:18 +07:00
de3312055a add hook when recharge 2024-03-01 09:57:59 +07:00
699289662b Fix Upload URL 2024-03-01 09:37:13 +07:00
bae079f71c Fix Hook Functionality 2024-02-29 13:32:46 +07:00
28f4624e8d change Customer menu 2024-02-29 11:37:54 +07:00
fbd215e741 Merge branch 'master' into Development 2024-02-29 09:26:19 +07:00
2437096473 $_c to $config in php file 2024-02-29 09:25:26 +07:00
dfeee540cf Fix variable $_c 2024-02-28 18:19:17 +07:00
a0b9e85f38 Add Expired date for reminder 2024-02-28 11:31:36 +07:00
08153e6ec1 Fix Buy Plan with Balance 2024-02-28 11:31:31 +07:00
2660f5d2d0 Dashboard 2 Column 2024-02-27 14:22:17 +07:00
82e67f0b83 fix Recharge 2024-02-27 13:12:53 +07:00
41dd0d86e7 Fix Recharge 2024-02-27 13:12:25 +07:00
c8004f1a27 fix update file 2024-02-27 13:10:06 +07:00
61edfb932a fix wrong logic != to == 2024-02-27 12:00:49 +07:00
747a67b691 2024.2.27 2024-02-27 10:39:21 +07:00
b938db9e5d redirect after login 2024-02-27 10:37:41 +07:00
1ec8049068 fix path 2024-02-27 10:32:09 +07:00
848dcb5caf fix variable Admin.php 2024-02-27 07:12:02 +07:00
afe6b34fd6 Update Package.php
fix package recharge bug
2024-02-26 18:03:48 +01:00
fceb79bdc3 fix sql installer 2024-02-26 15:39:23 +07:00
83457fd9fc Remove unused font, too big 2024-02-26 15:18:54 +07:00
cdd5da757d 2024.2.26 2024-02-26 15:04:57 +07:00
c6086c615f Error Info 2024-02-26 15:02:36 +07:00
0cad73a17f Remove unused file 2024-02-26 14:42:54 +07:00
d2fa9be8d1 Path Configuration 2024-02-26 14:38:04 +07:00
617e628b04 Remove unused js, css and font 2024-02-26 11:43:57 +07:00
35d679ed2c Menu With Auth 2024-02-26 11:25:15 +07:00
8824489704 Formatting 2024-02-26 11:10:52 +07:00
a7502aa8fb Admin Permisions 2024-02-26 11:01:54 +07:00
375403135e 2024.2.23.1 2024-02-23 15:04:53 +07:00
db49d0f4b5 Fix variable customer 2024-02-23 14:57:00 +07:00
c4fb99479b fix resend 2024-02-23 14:54:28 +07:00
091f4fb638 Fix Cookies Admin 2024-02-23 14:52:10 +07:00
8db3d6c679 update changelog 2024-02-23 14:44:37 +07:00
ddd7fb49fe Fix invoice 2024-02-23 14:40:47 +07:00
c6a203b1f0 Add Alert Page 2024-02-23 14:20:12 +07:00
6de63bed63 Integrate with PhpNuxBill Printer 2024-02-23 11:39:25 +07:00
9552a14de5 add button print 2024-02-22 18:37:28 +07:00
9d379b3fbd Phpnuxbill android printer support 2024-02-22 18:27:18 +07:00
4f3e5972b0 Merge pull request #112 from Focuslinkstech/Development
Update accounts.php
2024-02-22 11:45:29 +07:00
be65976310 link to settings when hide widget 2024-02-22 11:42:17 +07:00
8728af4332 Add Loading when click submit 2024-02-22 11:41:55 +07:00
07870d05ad Update accounts.php
Fix OTP not sending bug
2024-02-21 11:58:13 +01:00
cee6f8949c Merge branch 'Development' 2024-02-21 16:15:21 +07:00
3bdf44ddbe Merge pull request #111 from Focuslinkstech/Development
Bug Fix: OTP bugs
2024-02-21 16:13:26 +07:00
17c1675b4a Update accounts.php
fix lang function
2024-02-21 10:13:05 +01:00
54d1c4439d Bug Fix: OTP bugs
add phone number validation to prevent invalid phone number, phone number must be 10 digits up

fix issue with updating phone number without OTP
2024-02-21 10:02:31 +01:00
e710bd2862 Merge branch 'Development' 2024-02-21 14:38:09 +07:00
5309cb26db Delete Table Responsive, first Column Freeze 2024-02-21 14:37:44 +07:00
8072fe40eb change burst form 2024-02-21 14:11:19 +07:00
702f2b443c remove multiple spaces 2024-02-21 11:54:22 +07:00
a44190c1c2 delete meta table 2024-02-21 11:11:14 +07:00
3871b51f0f change position table customer field 2024-02-21 11:11:13 +07:00
d9a20f7213 Merge pull request #110 from Focuslinkstech/Development
Update: New Features "Miscellaneous"
2024-02-21 11:10:54 +07:00
a70b954981 Update: New Features "Miscellaneous"
[option] OTP is required when user want to change phone number.

admin can choose option in
 [Miscellaneous]
2024-02-21 00:15:36 +01:00
95e79439a2 delete meta table 2024-02-20 20:01:26 +07:00
7ea118ec1e change position table customer field 2024-02-20 18:32:23 +07:00
ae83cbeef4 Fix Voucher Permission 2024-02-20 16:49:03 +07:00
8047ed9555 remaining last login 2024-02-20 16:48:48 +07:00
c907a4044f Fix Voucher View 2024-02-20 16:48:27 +07:00
f12c7724fd fix 1 account can have 1 pppoe and 1 hotspot in 1 router 2024-02-20 13:54:46 +07:00
c8696f8d1a clear compiled after update 2024-02-20 11:34:08 +07:00
63bba0efb0 2024.2.20 2024-02-20 11:01:02 +07:00
2063ae4159 Fix Admin List for Admin 2024-02-20 10:58:50 +07:00
349a1d3250 add to Address List 2024-02-20 10:07:17 +07:00
cfb81596ae Burst Limit 2024-02-20 10:07:17 +07:00
91c90f05f8 Merge pull request #109 from Focuslinkstech/Development
new feature: Pace Loading
2024-02-20 09:42:15 +07:00
abefcf4a73 new feature: Pace Loading
Pace Loading added
2024-02-19 23:42:29 +01:00
f9ad13b746 2024.2.19 2024-02-19 16:31:01 +07:00
fe082258cd creating API, Work in Progress 2024-02-19 16:28:55 +07:00
ade714e2ae View Admin and Init script 2024-02-19 14:24:34 +07:00
ce649220f5 indonesian lang 2024-02-19 09:53:53 +07:00
de4a783dba Language editor 2024-02-19 09:52:36 +07:00
f550af257a fix customer custom field 2024-02-19 09:29:11 +07:00
2c16bb289e any Users can change password 2024-02-19 09:13:19 +07:00
61060c4173 Select Agent after choose sales 2024-02-19 09:13:19 +07:00
e7c715f1b3 Merge pull request #107 from Focuslinkstech/Development
New Feature Added "Custom Fields"
2024-02-19 09:12:18 +07:00
aa8fa3f436 update
admin can add more fields when editing customers
2024-02-18 04:56:30 +01:00
941c723193 New Feature Added "Custom Fields"
admin can now add unlimited Custom Fields, and also edit or delete the Custom Fields
2024-02-17 19:30:35 +01:00
cb23ddb912 Sales are below agent, but admin add sales not yet select Agent 2024-02-16 17:26:15 +07:00
e1272ec531 print 1 voucher will go to print or share 2024-02-16 17:26:15 +07:00
8e3e715c8c trash icon 2024-02-16 17:26:15 +07:00
850ae079f4 Merge pull request #106 from Focuslinkstech/Development
Update: SweetAlert Introduction
2024-02-16 17:24:31 +07:00
21bea606c3 Update: SweetAlert Introduction
Introducing SweeAlerts for Notifications
2024-02-16 10:03:35 +01:00
11c226caf5 Sales, sub sccount Agent 2024-02-16 14:54:43 +07:00
98fb853591 set Permission 2024-02-16 14:52:49 +07:00
d17c434c7b Add Edit Admin 2024-02-15 16:13:55 +07:00
a06d7db0b1 Change Error Page 2024-02-15 11:00:59 +07:00
84138bd02e Merge pull request #105 from Focuslinkstech/Development
add new menu "Radius"
move Radius NAS from Network to Radius
2024-02-15 10:37:37 +07:00
9d1f05735f update
add new menu "Radius"
move Radius NAS from Network to Radius
2024-02-14 10:14:24 +01:00
c91cc0470b 2024.2.13 2024-02-13 17:43:19 +07:00
459b9b30f1 Auto translate Fix 2024-02-13 17:41:55 +07:00
8baf977a9a delete other lang 2024-02-13 16:25:12 +07:00
1022674780 Stay Collapse 2024-02-13 16:22:00 +07:00
3c9b05468e Auto Translate Language 2024-02-13 13:54:01 +07:00
e9f5d56f91 Update CHANGELOG 2024-02-12 17:04:38 +07:00
792b1367d3 UserType 'SuperAdmin','Admin','Report','Agent','Sales' 2024-02-12 17:02:43 +07:00
bf6ec9d4cd export csv 2024-02-12 11:35:59 +07:00
9543ee6e34 Session using cookie 2024-02-12 09:45:44 +07:00
66432eda56 2024.2.7 2024-02-07 13:35:23 +07:00
92eee8245d timeElapsed 2024-02-07 13:32:33 +07:00
f62f07d102 add Hide Dashboard Content 2024-02-07 12:02:39 +07:00
671154d146 add sub sales 2024-02-07 10:11:30 +07:00
ac84e4b235 settimezone 2024-02-07 09:39:49 +07:00
db7c6014dc Fix invoice keyword 2024-02-06 17:41:45 +07:00
21b57ef471 Fix price for logging 2024-02-06 16:54:57 +07:00
79e5c72ca2 2024.2.6 2024-02-06 16:48:59 +07:00
5921fef67e cache Voucher stocks for 5 Minutes 2024-02-06 16:46:50 +07:00
1e0b246d74 Cache for 12 hours 2024-02-06 16:43:06 +07:00
009c890ab6 Fix router_name for log 2024-02-06 16:41:41 +07:00
f3d7687cdb cache dashboard graph 2024-02-06 16:41:26 +07:00
80cecabfb0 Fix Calculation 2024-02-05 14:25:23 +07:00
00ac91903f Merge pull request #103 from Focuslinkstech/master
Dashboard Updates
2024-02-05 14:19:37 +07:00
500f3de6a9 Update dashboard.tpl
fixed inactive users in graph
2024-02-05 08:17:10 +01:00
6c2658bf03 Update dashboard.tpl
change all users to total users
2024-02-05 07:41:15 +01:00
59de353353 Merge branch 'hotspotbilling:master' into master 2024-02-05 07:33:47 +01:00
d5ea56d078 Update dashboard.tpl
change active users to All Users Insight
add All users to graph
2024-02-05 07:24:32 +01:00
7cc8034b8c 2024.2.5 2024-02-05 10:08:10 +07:00
c3a76bab90 Language add 2024-02-05 10:05:41 +07:00
8f32a7cfa9 Merge pull request #102 from Focuslinkstech/master
Dashboard update
2024-02-05 09:45:37 +07:00
cbe2602b69 Dashboard update
add monthly Sales Graph
add Monthly Registered Customers Graph
add Active Users Graph
2024-02-04 20:25:31 +01:00
771bc9d8d9 Fix edit plan for user 2024-02-02 13:40:08 +07:00
788e558171 activate plan when its on 2024-02-02 13:39:03 +07:00
4ab32bc68d Fix Edit Plan 2024-02-02 13:38:22 +07:00
bba09ca647 activate customer when edit Expired 2024-01-29 11:34:07 +07:00
adbac642ca 2024.1.24 2024-01-24 15:06:36 +07:00
7e7b70ba75 Add test SMS, WA and Telegram 2024-01-24 14:02:58 +07:00
72fbc27f97 2024.1.19 2024-01-19 09:27:22 +07:00
d386dc5eec Sell your own plugin 2024-01-19 09:24:24 +07:00
41481880ab support full package 2024-01-19 09:22:43 +07:00
f8a879dc0f paymentgateway to paymentgateway folder 2024-01-19 09:09:07 +07:00
da44e3f6da codecanyon theme install 2024-01-19 09:08:49 +07:00
afdd7edafa themes support 2024-01-19 09:07:48 +07:00
4e1a10d814 Envato Personal Token 2024-01-18 17:24:59 +07:00
7046aa5ed1 CodeCanyon integration fix 2024-01-18 17:24:21 +07:00
d81ba5d5fb codecanyon integration 2024-01-18 15:41:24 +07:00
a35506db1b 2024.1.18 2024-01-18 13:33:22 +07:00
96945ab813 Merge pull request #99 from axmad386/patch-1
fix(mikrotik): set pool $poolId always empty
2024-01-18 12:00:51 +07:00
2b8ca5fd85 fix(mikrotik): set pool $poolId always empty 2024-01-18 01:55:23 +07:00
2d095aef08 fix delete logs 2024-01-17 13:42:07 +07:00
c906d47674 minor change, for plugin, menu can have notifications 2024-01-17 10:56:39 +07:00
5dd430f9b2 Formatting code 2024-01-17 10:54:31 +07:00
7c88be8865 Merge pull request #98 from Focuslinkstech/master
Nav menu label added
2024-01-17 10:39:25 +07:00
b45f5a5587 Merge branch 'hotspotbilling:master' into master 2024-01-16 22:26:57 +01:00
10e788e9a2 update
Nav label added
2024-01-16 22:19:38 +01:00
7ceb883826 fix notifications 2024-01-16 15:16:59 +07:00
80e78d9796 Fix sendPackageNotification 2024-01-16 15:08:26 +07:00
534d62d944 2024.1.16.1 2024-01-16 11:41:25 +07:00
1857c145d1 fix print 2024-01-16 11:41:12 +07:00
12cdef4f66 remove debug 2024-01-16 10:36:55 +07:00
b4bec8964d Support thermal printer for invoice 2024-01-16 10:32:59 +07:00
64f52d6c1c add [[price]] to reminder notification 2024-01-16 09:52:12 +07:00
b504723e7c fix radius pool select 2024-01-16 09:39:20 +07:00
470c219e61 Add Yellow line for plan not allowed to purchase 2024-01-16 09:00:56 +07:00
5867a0c9ca Fix Cron for 2024-01-15 10:22:03 +07:00
f38da8d3c0 Merge pull request #95 from Focuslinkstech/master
Update cron.php
2024-01-15 10:01:29 +07:00
7e0e09f9bf Merge branch 'hotspotbilling:master' into master 2024-01-14 15:32:43 +01:00
90e6283426 urgent update
fix installation database
added plan name when editing service plan
2024-01-14 13:58:46 +01:00
24df116003 Update cron.php
stop user from auto renewing packages that has been disabled for purchase.
2024-01-13 09:41:58 +01:00
db240131e2 2024.1.11 2024-01-11 15:56:43 +07:00
2fdc3c9567 Merge pull request #94 from Focuslinkstech/master
Allow Package Purchase Option Added.
admin can now decide if clients can purchase a particular package or not.

if No option is selected the package wont display in the package list
2024-01-11 15:41:52 +07:00
a953157b68 fix plugin manager 2024-01-11 10:07:56 +07:00
4ba38485a0 New Feature Added
Allow Package Purchase Option Added.
admin can now decide if user can purchase a particular package or not.

if no option is selected the package wont display in the package list
2024-01-11 01:00:34 +01:00
dfef6807a5 Merge branch 'master' of https://github.com/Focuslinkstech/phpnuxbill 2024-01-11 00:47:38 +01:00
5ef0520c74 Update updates.json
Database : add allow purchase
2024-01-11 00:47:17 +01:00
263a1b6722 Merge branch 'hotspotbilling:master' into master 2024-01-11 00:30:28 +01:00
f4c5b6a8bb Update user-dashboard.tpl
fix typo error
2024-01-10 11:51:57 +01:00
05ed37d3d8 2024.1.9 2024-01-09 10:34:19 +07:00
055b855bc1 Delete Used Voucher which not exists in tbl recharges 2024-01-08 16:12:21 +07:00
b862a759d0 Add Prefix 2024-01-08 15:39:04 +07:00
41cc04cffb 2024.1.8 2024-01-08 15:28:13 +07:00
1d29f8111e Order Expired by Expired date 2024-01-08 15:24:35 +07:00
081dd1b1b9 add nasreload table 2024-01-02 13:51:26 +07:00
9804bcb9e8 log class 2024-01-02 13:35:06 +07:00
19e39dbefc templat bug report and Feature Request 2024-01-02 11:42:08 +07:00
b5c29f6c3d Merge remote-tracking branch 'origin/Development' into Development 2024-01-02 11:35:20 +07:00
fe94ae3011 2024.1.2 2024-01-02 11:34:23 +07:00
a25112a37f add paginator
add paginator to dashboard expire user list
2024-01-02 11:33:28 +07:00
9d1d287e9a 2024.1.2 2024-01-02 11:31:41 +07:00
4bddaf0260 Merge pull request #86 from Focuslinkstech/master
add paginator
2024-01-02 11:28:27 +07:00
43ed5e452e add paginator
add paginator to dashboard expire user list
2023-12-27 20:10:56 +01:00
12c339898c Fix header user 2023-12-21 14:00:58 +07:00
d087c9625d modern-skin-dark 2023-12-21 14:00:58 +07:00
98223c1abe no skinblue 2023-12-21 14:00:58 +07:00
402660e3e1 Modern AdminLTE 2023-12-21 14:00:58 +07:00
f42f410867 #changed the AdminLTE to Modern AdminLTE Template 2023-12-21 14:00:58 +07:00
df28e2b1c2 #changed the AdminLTE to Modern AdminLTE 2023-12-21 14:00:58 +07:00
74b5c47640 Merge pull request #83 from Focuslinkstech/master
Update user-dashboard.tpl
2023-12-21 14:00:31 +07:00
5f5213527f fix alert notify 2023-12-20 09:02:39 +07:00
5e76c3e214 detect if radius 2023-12-19 16:00:14 +07:00
e2c0fa5690 Fix title 2023-12-19 11:47:40 +07:00
3afb7b9954 Remove all used voucher codes 2023-12-19 11:45:18 +07:00
13b448da69 Disable Registration 2023-12-19 11:35:49 +07:00
017518b308 Fix Searching 2023-12-19 09:55:55 +07:00
4ae19849a1 2023.12.18 2023-12-18 16:48:23 +07:00
d666e052f4 split sms to 160 only for mikrotik 2023-12-18 16:47:08 +07:00
c1f04c17a5 Update user-dashboard.tpl
add condition to display service type
2023-12-14 10:21:27 +01:00
9c22c22f6c Update Readme 2023-12-14 11:59:50 +07:00
518fe7563e 2023.12.14 2023-12-14 11:49:48 +07:00
adc2c808e2 Added user Types for Internet Packages
ability to display packages according to the user type. Hotspot users Can now only see hotspot packages
PPPoE users can now see only PPPoE Packages
Others Can see both Hotspot and PPPoE packages
2023-12-14 11:34:28 +07:00
a7a0f84df5 add new feature "service type" Hotspot PPPoE and Others
ability to display packages according to the user type.
Hotspot users Can now see only hotspot packages
PPPoE users can now see only PPPoE Packages
Others Can see both Hotspot and PPPoE packages
2023-12-14 03:21:55 +01:00
b7c663f4ee split sms characters to 160 2023-12-12 13:36:00 +07:00
dd4329ad3d remove port=usb1 channel=2 2023-12-11 15:40:18 +07:00
41b981cb70 remove debug 2023-12-11 15:21:13 +07:00
431c971f3a selected router 2023-12-11 15:08:00 +07:00
653580722e /tool sms send port=usb1 channel=2 2023-12-11 15:06:21 +07:00
6a0ad7f178 sms using Mikrotik 2023-12-11 14:12:12 +07:00
9d79121696 cek if not radius 2023-11-21 14:41:21 +07:00
8e84c32616 fix prepaid update 2023-11-21 13:47:10 +07:00
486e22f020 fix change plan for radius 2023-11-20 09:02:33 +07:00
21d83268f7 2023.11.17 2023-11-17 14:44:22 +07:00
e886249091 redirect to home 2023-11-17 14:40:02 +07:00
d5ab0e1b44 Fix Error for Customer 2023-11-17 14:38:20 +07:00
05aca0356f edit changelog 2023-11-15 11:51:13 +07:00
cced38527b deactivate login logout fix 2023-11-15 11:49:03 +07:00
452642831c fix isLogin 2023-11-15 11:45:29 +07:00
69ea0d0b7f Customer Dashboard change 2023-11-15 11:39:05 +07:00
4b596d91bd Radius demo mode 2023-11-15 11:11:25 +07:00
9c5e3007a2 Fix Change package to another Mikrotik 2023-11-15 11:08:18 +07:00
d3893d88a4 dont show balance when edit active user 2023-11-15 10:53:39 +07:00
1ed55103a3 demo mode, not connecting to real router 2023-11-15 10:36:53 +07:00
bd8dd87384 fix bug cron and update plan 2023-11-09 14:52:41 +07:00
9190660c1c Fixed Error connecting to RouterOS during hotspot plan update
Fixed Error connecting to RouterOS during hotspot plan update
2023-10-30 17:15:40 +07:00
d241b2cec6 Update services.php
Fixed Error connecting to RouterOS when updating hotspot plan  from admin panel> services> Hotspot plan, edit plan
2023-10-30 12:18:36 +03:00
80c76cd6dc 2023.10.27 2023-10-27 10:40:39 +07:00
a1648a4178 alert about restoring data 2023-10-27 10:39:10 +07:00
c8d19a859f New Backup Restore System 2023-10-27 10:36:10 +07:00
90cfc3e6d9 check radius client if radius_enable 2023-10-27 08:57:57 +07:00
88a3e2d205 update Language 2023-10-26 11:24:47 +07:00
0039f47947 fix reminder.php -> cron_reminder.php 2023-10-25 15:27:26 +07:00
c2f1f07cfc Update Readme for Radiuss 2023-10-25 15:14:52 +07:00
f61ebb642e 2023.10.25 2023-10-25 15:10:31 +07:00
77e7a96f96 fix wrong file check in cron, error only for newly installed 2023-10-25 15:10:22 +07:00
5c57c5df11 fix wrong cheking file 2023-10-25 10:03:25 +07:00
9e09611816 Fix expired notification 2023-10-24 15:12:10 +07:00
09ead77d7b Merge branch 'master' into Development 2023-10-24 14:11:11 +07:00
703f9a7463 2023.10.24 2023-10-24 14:09:50 +07:00
ef25633275 Assign router to NAS 2023-10-24 14:09:50 +07:00
02a68589a1 check file if exists 2023-10-24 14:09:50 +07:00
25cd07e975 pagination Nas List 2023-10-24 14:09:49 +07:00
4e7a60aa6f change pagination class 2023-10-24 14:09:49 +07:00
baca2d706f alert move to tpl 2023-10-24 14:09:49 +07:00
4f975fbf0d fix logic pool_expired radius 2023-10-24 14:09:49 +07:00
cded80a632 2023.10.24 2023-10-24 14:08:18 +07:00
f0d130b6b9 Assign router to NAS 2023-10-24 13:55:34 +07:00
a18c07ba42 check file if exists 2023-10-24 13:38:58 +07:00
36b47a3e8d pagination Nas List 2023-10-24 12:30:15 +07:00
37f72d881e change pagination class 2023-10-24 12:27:30 +07:00
e99108a34a alert move to tpl 2023-10-24 09:27:51 +07:00
ddb3b8a718 fix logic pool_expired radius 2023-10-24 09:19:35 +07:00
3c4920f958 Update issue templates 2023-10-21 11:36:23 +07:00
e2da5b67bf Update issue templates 2023-10-21 11:34:28 +07:00
49c8fe5d55 Update issue templates 2023-10-21 11:33:52 +07:00
9402da311c 2023.10.20 2023-10-20 15:00:54 +07:00
51ab4a35c5 Transaction list 2023-10-20 14:31:56 +07:00
d037b2bef4 move alert 2023-10-20 14:07:49 +07:00
d95e4d1d84 resend invoice 2023-10-20 13:57:12 +07:00
7ebf95f4be paginator dynamic 2023-10-20 10:34:24 +07:00
8cbe32e313 StandWithPalestine 2023-10-20 08:53:42 +07:00
0d27503e8d view INVOICE again 2023-10-18 17:49:54 +07:00
1ae687bda2 Voucher Template 2023-10-18 17:26:02 +07:00
d59f696fde Voucher Template Full Custom 2023-10-18 17:24:00 +07:00
b9537d4a4b Voucher Format 2023-10-18 17:23:47 +07:00
e88d1f02a6 fix url update 2023-10-18 15:35:56 +07:00
eda7967f66 fix info cron 2023-10-18 15:35:45 +07:00
55f25a5b7f 2023.10.17 2023-10-17 16:59:10 +07:00
7094555f9f add cronjob info 2023-10-17 16:51:53 +07:00
a5a5969642 Fix Customer self Deactivate Radius 2023-10-17 16:32:18 +07:00
0c0d7a963e Check if PHP GD installed 2023-10-17 14:38:37 +07:00
3fb61d6a8c Fix delete logs 2023-10-17 13:36:07 +07:00
c69b43dbf6 Allow delete Pool and plan when Router already deleted 2023-10-17 09:53:38 +07:00
1583068f57 disable access period 2023-10-16 16:53:56 +07:00
67ec8f2f7a Link to activity logs 2023-10-16 15:08:49 +07:00
915108a1ae logs viewer 2023-10-16 15:06:56 +07:00
f806960ead Logs Viewer 2023-10-16 15:06:51 +07:00
700e861197 sync plan 2023-10-16 13:54:34 +07:00
bc763b476e Check radius in sync pool 2023-10-16 13:44:00 +07:00
3ae81d0105 info about radius pool 2023-10-16 10:31:50 +07:00
a54df9bdab Expired Pool 2023-10-16 10:31:50 +07:00
6a6434b39c radius move to expired pool 2023-10-16 10:31:50 +07:00
92f072a861 Fix Themes Path 2023-10-16 10:31:50 +07:00
6884701de1 Framed-Pool getTableCustomerAttr 2023-10-16 10:09:58 +07:00
7e4c638b07 add access-period 2023-10-16 09:57:22 +07:00
f9e62202c0 remove Max-Volume and only use Mikrotik-Total-Limit 2023-10-16 09:33:03 +07:00
03d3462f49 Mikrotik-Total-Limit 2023-10-13 16:58:07 +07:00
1e80e5d929 fix sync expired 2023-10-13 16:23:01 +07:00
88aca9bac5 hide table when stock 0 2023-10-13 16:17:23 +07:00
718b47ac49 dashboard only show plan who have voucher 2023-10-13 16:07:53 +07:00
492ea5985c add mikrotik spesific vendor atribut for radius 2023-10-13 16:03:12 +07:00
747e28e07c adding themes system 2023-10-12 16:15:50 +07:00
a1d9b63dcf Change credits 2023-10-12 15:55:42 +07:00
95097e4512 show error stacktrace 2023-10-12 15:47:45 +07:00
7e00feb02f if radius dont chek router 2023-10-12 15:10:10 +07:00
8df79c6454 can add quota based 2023-10-12 15:09:48 +07:00
0b7408f5b9 Disconnect radius user 2023-10-12 15:01:49 +07:00
113d4ce6b1 OTP expired 10 minutes 2023-10-12 14:53:29 +07:00
48583c869b radius_client 2023-10-12 14:37:25 +07:00
e19423471f add radius expiration 2023-10-12 14:37:25 +07:00
77f21ece61 Fix select router 2023-10-12 14:37:25 +07:00
5024df9c0b Customer update insert 2023-10-12 14:37:25 +07:00
b9828210ce Plan update insert 2023-10-12 14:37:24 +07:00
5bbf9bf09a check if radius enable inside post 2023-10-07 03:16:12 -07:00
9479ee6cc6 using radius class 2023-10-07 03:05:41 -07:00
68e4557172 nas not nasi 2023-10-07 00:09:37 -07:00
c76aefb7e0 check if radius tabel exists 2023-10-06 16:57:18 +07:00
1a48bfa0ff fix sql installation 2023-10-06 10:12:03 +07:00
fe81d0c62e fix add nas 2023-10-05 20:05:26 +07:00
071df91de0 update PEAR 2023-10-05 16:55:44 +07:00
1861358415 pay radius plan 2023-10-04 17:29:11 +07:00
1891dee6b2 View Order 2023-10-04 17:07:13 +07:00
0bb20d4a16 Radius name reserved 2023-10-04 16:25:21 +07:00
b2a99def98 Fix is_radius 2023-10-04 16:11:55 +07:00
087c5ab515 recharge radius 2023-10-04 15:51:51 +07:00
0ee60eff3d edit customer radius 2023-10-04 15:41:48 +07:00
e87623d918 cron radius, still unfinish 2023-10-04 15:07:38 +07:00
6d835620f5 Customer deactivate plan 2023-10-04 14:16:39 +07:00
7a524a50e3 Radius add plan user 2023-10-04 14:00:04 +07:00
78cbb105aa PPPOE Radius Plan 2023-10-04 11:37:32 +07:00
efc0ba93b6 allow radius pool 2023-10-04 11:25:58 +07:00
ce01771800 hotspot plan radius 2023-10-03 15:46:55 +07:00
9e33a5740b fix add nas 2023-10-03 15:03:47 +07:00
6e3df253c6 hide router when radius choosen 2023-10-02 17:18:18 +07:00
3b87630986 delete nas 2023-10-02 17:11:02 +07:00
d002ed2286 radius DB install 2023-09-29 14:11:44 +07:00
dc19583d95 add label 2023-09-29 14:04:30 +07:00
690584ee90 radius_enable settings 2023-09-29 13:58:22 +07:00
321ac3a35a 404 2023-09-27 15:01:48 +07:00
a313d45b03 Merge branch 'Development' into feature/radius 2023-09-27 14:26:12 +07:00
0bb1563641 disable log qrcode 2023-09-27 14:25:26 +07:00
9842bca5cb fix lang 2023-09-26 13:55:04 +07:00
8d83763b62 fix php 8 2023-09-26 13:50:02 +07:00
106aaf827f Modal Privacy and Toc 2023-09-21 16:36:43 +07:00
c51f04747d User extend plan 2023-09-21 16:04:18 +07:00
97a5c54e24 loading gif 2023-09-21 14:54:00 +07:00
04fcd77da0 red text for expired date 2023-09-21 14:14:33 +07:00
4df15819dd User can deactivate package 2023-09-21 14:12:49 +07:00
caad968655 space in balance 2023-09-21 13:51:50 +07:00
1832332d99 show plan by nux-router 2023-09-21 13:45:28 +07:00
c9eeefcf3d check if router has plan 2023-09-21 12:09:13 +07:00
c5b96df43f add nux-router 2023-09-21 12:09:03 +07:00
529b9c84bd PageFile 2023-09-20 15:13:17 +07:00
56bcbd810e 2023.9.20 2023-09-20 14:32:53 +07:00
c3fd8536eb if not exists, copy 2023-09-20 14:27:15 +07:00
b3057bd59e add NAS 2023-09-18 16:45:08 +07:00
e64f27bc63 Radius Add NAS 2023-09-18 16:25:47 +07:00
64a9e38cce Merge branch 'Development' into feature/radius 2023-09-18 15:07:24 +07:00
6acc342b26 Privacy and ToC not hidden 2023-09-18 15:07:08 +07:00
e59bf71230 Add Privacy Policy and Terms of Condition 2023-09-18 15:03:25 +07:00
b98d0b230d click to view customer from voucher list 2023-09-18 13:56:11 +07:00
00cc448230 change password view 2023-09-18 13:55:52 +07:00
a67a470a06 Merge branch 'Development' into feature/radius 2023-09-18 13:38:23 +07:00
58d5ca7040 change recharge link 2023-09-18 13:35:27 +07:00
e88c678f2f Merge branch 'Development' 2023-09-15 15:25:36 +07:00
eca64ef81e add hide password 2023-09-15 15:16:47 +07:00
3c711115ec remove sample 2023-09-15 14:17:04 +07:00
d4bffaf220 Sync Active Plan 2023-09-15 14:15:43 +07:00
f69885d358 sync hotspot to mikrotik 2023-09-15 14:03:23 +07:00
50ab20e68e sync pppoe to mikrotik 2023-09-15 14:03:16 +07:00
e494570807 sync pool to Mikrotik 2023-09-15 13:34:56 +07:00
b0cb79eeac 2023.9.15 2023-09-15 12:13:12 +07:00
95a8eaeadb recharge customer from profile 2023-09-15 11:57:07 +07:00
aab2282e78 red is off 2023-09-15 11:56:52 +07:00
609cf4b69d Sync Customer to mikrotik 2023-09-15 11:33:46 +07:00
84cd66ea9a add recharge link 2023-09-15 11:33:06 +07:00
3142e93d52 Fix Balance Header 2023-09-15 09:25:55 +07:00
6102637d7b Fix checking package 2023-09-14 17:03:27 +07:00
c754338599 hide backup 2023-09-14 14:28:44 +07:00
a85ccf06fa check error Database 2023-09-14 13:53:28 +07:00
e64527cee2 Show some error page when crash 2023-09-14 13:45:35 +07:00
fc5aa083a1 2023.9.13 2023-09-13 17:31:47 +07:00
53eb817de4 Add Balance to notification 2023-09-13 16:23:51 +07:00
309bbc0059 fix customer count 2023-09-13 15:50:20 +07:00
5fc2190f4a show customer package instead active only 2023-09-13 15:50:12 +07:00
f292da9d8d send package to friend 2023-09-13 15:38:56 +07:00
28fcabd1fd Balance on Top 2023-09-13 14:04:13 +07:00
4bbb98fb98 check if connection error 2023-09-13 10:07:58 +07:00
ee2e67f490 add proxy to connection 2023-09-13 10:00:26 +07:00
e3ec8b18fa Remove User before Remove Active User 2023-09-13 09:37:05 +07:00
f396d7183b add name to invoice notification 2023-09-11 16:26:41 +07:00
b5ddf37649 using Http::getData instead file_get_contents 2023-09-11 14:26:58 +07:00
c57bbeace3 show user active 2023-09-07 10:54:20 +07:00
eeae60d88e show mac and IP 2023-09-07 09:42:28 +07:00
14ed0236d0 Remove active user Before remove user 2023-09-07 09:35:00 +07:00
3833afb3be Fix delete PPPOE 2023-09-07 09:20:31 +07:00
593ca31f18 pool_expired in SQL Instalation 2023-09-06 11:52:09 +07:00
7cc8d6f5e3 delete debug script 2023-09-06 11:25:13 +07:00
11a2fb8fc0 2023.9.6 2023-09-06 10:57:54 +07:00
537623130c Fix expired pool in pppoe 2023-09-06 10:55:28 +07:00
910be1946b Fix cron can move plan 2023-09-06 10:48:52 +07:00
e23abc1377 move user to expired profile when expired if set 2023-09-06 10:02:31 +07:00
b912dd05d0 Set expired plan 2023-09-05 17:06:43 +07:00
5c9a0d8ea6 Expired IP Pool Hotspot/PPPOE 2023-09-05 16:40:23 +07:00
b7eca582a6 Not using tbl_language anymore 2023-09-05 15:25:41 +07:00
b460e862e8 fix git ignore 2023-09-01 16:43:53 +07:00
a33705c0c4 Fix Text Cron 2023-09-01 14:03:02 +07:00
183a5ab242 Fix Reminder text 2023-09-01 13:56:14 +07:00
04c480cafa Fix cronjob Delete customer 2023-09-01 13:40:26 +07:00
8be8737236 2023.9.1 2023-09-01 09:21:35 +07:00
a8515b7d60 Fix Username in user dashboard 2023-09-01 09:18:17 +07:00
d71eb37f48 add Cancel Button in user dashboard 2023-09-01 09:16:40 +07:00
8fcca70ead Time will not change while extending package 2023-09-01 09:06:00 +07:00
59f6c180cf Critical Fix extending user package 2023-09-01 09:02:39 +07:00
d53c4cf8c8 Best 2023-08-30 15:14:18 +07:00
6c45ef730e Merge branch 'Development' into feature/radius 2023-08-30 11:24:42 +07:00
620bfaeb29 unlink after upload 2023-08-30 11:24:08 +07:00
863dd65145 remove debug echo 2023-08-30 10:22:58 +07:00
4de849fe34 2023.8.30 2023-08-30 10:06:04 +07:00
18d68d68c8 fix time, using text 2023-08-30 10:02:58 +07:00
1b15da5c04 Upload Logo For PDF Reports 2023-08-30 09:55:39 +07:00
51416626fb Fix Print Invoice 2023-08-30 09:01:37 +07:00
5a10c19853 PHP NuxBill -> PHPNuxBill 2023-08-28 15:46:25 +07:00
44cdd8f594 info about PHPNuxBill 2023-08-28 15:45:47 +07:00
00cf90e6ea auto rename pages_example 2023-08-28 15:23:23 +07:00
341e26f4d6 rename pages 2023-08-28 15:21:57 +07:00
717b21e65e Fix Remove PPPOE user 2023-08-28 10:38:59 +07:00
d0cebe7458 2023.8.28 2023-08-28 10:27:31 +07:00
6dadb7040c Merge branch 'hotfix/calendar' 2023-08-28 10:24:06 +07:00
fe1310bd57 extend expiration after buy same package 2023-08-28 10:23:54 +07:00
1dd03168f0 Fix time Field 2023-08-28 10:12:55 +07:00
3eefec6e21 if enable_balance and allow_balance_transfer 2023-08-28 09:47:04 +07:00
3b4e3c7789 fix allow_balance_transfer in customer home 2023-08-28 09:46:19 +07:00
b4f5cf8954 Fix Recharge time 2023-08-28 09:44:57 +07:00
51ac162642 Fix date field 2023-08-28 08:57:33 +07:00
d680548eba recharged_on datetime 2023-08-28 08:57:08 +07:00
fd2c9b08e0 add NAS update NAS 2023-08-28 08:45:35 +07:00
cad57760bd Fix expiration date at view user 2023-08-24 15:12:31 +07:00
d51edefc10 Merge branch 'hotfix/2023.8.24.1' 2023-08-24 14:46:55 +07:00
faab21bccf fix sending money 2023-08-24 14:46:38 +07:00
19d5daf5b8 Merge pull request #14 from hotspotbilling/Development
2023.8.24
2023-08-24 13:34:01 +07:00
6166dd6768 2023.8.24 2023-08-24 13:33:01 +07:00
a175f96039 Sending balance Notification 2023-08-24 11:52:43 +07:00
15b9744b18 balance notification 2023-08-24 11:35:23 +07:00
75cbe2b1ec still think about balance reports 2023-08-24 11:00:33 +07:00
774b9e3f94 no scroll announcements 2023-08-23 16:58:24 +07:00
4fd8165d89 Add Balance to Reports 2023-08-23 16:52:17 +07:00
a09dc57495 send balance to other users 2023-08-23 16:46:05 +07:00
74ac7f3eb4 Customer View show Active package 2023-08-23 15:00:34 +07:00
8e45ac40c4 add back button 2023-08-23 12:11:48 +07:00
51565ad173 remove unused js css 2023-08-23 12:11:22 +07:00
54ff67fa49 ajax select customer 2023-08-23 12:11:07 +07:00
27a2938534 update idiorm 2023-08-23 12:10:16 +07:00
cefc6c0365 tuning cron using expiration date 2023-08-23 08:58:18 +07:00
136b7be164 fix default pppoe_passwordd 2023-08-23 08:56:46 +07:00
46e0f981b0 View User 2023-08-21 17:09:44 +07:00
1cb5d9236f add link to related config 2023-08-21 15:59:55 +07:00
9f30e7f0f6 hide password 2023-08-21 15:49:20 +07:00
60c37615ea Phone Input fix 2023-08-21 15:49:12 +07:00
59e1cf7798 Fix remove User 2023-08-21 14:33:44 +07:00
4b96e2c311 add default for balance in installation 2023-08-19 11:54:13 +07:00
4403a48dda Del user from mikrotik before package activation 2023-08-18 14:05:34 +07:00
ac4c98ca63 Buy Package with Balance 2023-08-18 14:01:59 +07:00
2c7d0a321e PPP Comment 2023-08-18 13:37:07 +07:00
4c8f0b27a1 add comment to mikrotik 2023-08-18 10:11:40 +07:00
e23b2464b8 Fix Auto Renewall Cronjob 2023-08-18 09:51:09 +07:00
62cc7bf8a5 Password auto show hide 2023-08-16 14:02:53 +07:00
4f57da8b7d panel-success 2023-08-16 14:00:37 +07:00
2f92cdce0b Forgot to add branch 2023-08-16 13:58:20 +07:00
2431aa2eb5 Merge pull request #13 from hotspotbilling/Development
From version 2023.8.1 need to run update twice or update Database in step 4
2023-08-16 13:49:41 +07:00
5f632fce72 2023.8.16 2023-08-16 13:47:38 +07:00
4238345622 Fix header link customer 2023-08-16 13:44:04 +07:00
aa72b3d8fd Move Menu Payment Gateway inside Settings 2023-08-16 13:41:54 +07:00
455ce90a45 Fix order 2023-08-16 13:41:34 +07:00
9c35962264 Fix edit/change Active Plan 2023-08-16 09:48:07 +07:00
7c41ebfb62 update community page 2023-08-16 09:27:36 +07:00
6f6fc05d16 fix typo 2023-08-16 09:25:15 +07:00
b315e3dba1 Using Select2 for dropdown 2023-08-16 09:05:59 +07:00
3fe9111824 Bring back invoice note 2023-08-16 08:30:05 +07:00
091275f380 Fix Phone number field if no country code 2023-08-15 17:06:03 +07:00
0dd4e39c8f Refill Balance From admin 2023-08-15 17:01:48 +07:00
d682d20035 Format Money in History 2023-08-15 16:21:35 +07:00
499a32015a Show Balance in Customer List 2023-08-15 16:21:20 +07:00
68f9399357 allow change url update from config.php 2023-08-15 14:04:21 +07:00
db2b5edff5 Fix field price 2023-08-15 13:24:44 +07:00
8cb277f6d2 Merge pull request #12 from hotspotbilling/Development
Update with Balance System
2023-08-15 10:42:47 +07:00
ad0f4599e7 Version 2023.8.15 2023-08-15 10:35:11 +07:00
783b541645 Auto Renewal Button 2023-08-15 10:27:46 +07:00
7e78c5db40 auto renewal from deposit 2023-08-15 10:17:28 +07:00
af0b2cda28 Buy Balance Done 2023-08-14 15:59:53 +07:00
e27c0da2aa Add Edit Delete Balance Package 2023-08-14 15:01:47 +07:00
a5a959eade Add Notification Message for Buy Balance 2023-08-14 14:16:56 +07:00
e5f18ec7e4 Send Message change Function name 2023-08-14 14:16:03 +07:00
942552e9ac Add Cron reminder 2023-08-14 14:15:15 +07:00
43590211a2 Merge Fix PPPOE Delete Customer 2023-08-14 13:35:54 +07:00
3b85e752af Fix Error Delete PPPOE User 2023-08-14 13:33:20 +07:00
d9bda444e9 ppoe_password Set to package 2023-08-14 13:21:41 +07:00
5b7e84fb75 Fix Header Admin 2023-08-14 11:42:31 +07:00
4fcb4342ab default pic 2023-08-14 11:37:24 +07:00
f770126f8c Username readonly 2023-08-14 11:37:15 +07:00
1904e5e8a0 Notification Message Editor 2023-08-14 11:24:27 +07:00
aeeb04fd67 add pppoe_password 2023-08-14 09:33:25 +07:00
759331105d Fix PDF export and logo 2023-08-14 09:25:29 +07:00
e3b736e222 Add Customer now all field shown 2023-08-09 14:54:38 +07:00
56cea36a33 Update Bahasa 2023-08-09 11:05:14 +07:00
3fbd5b2eb1 Add Country Code Number for Phone 2023-08-09 10:59:45 +07:00
0d0f59a9a0 Add Customer Balance Settings 2023-08-09 10:50:02 +07:00
755e857979 Add Money Format to Class 2023-08-09 10:49:29 +07:00
a33b299811 Add user Meta table for Custom Field User 2023-08-09 10:04:56 +07:00
abc1447ce5 update file can update SQL 2023-08-09 10:02:34 +07:00
11b54bdcc5 Merge pull request #11 from hotspotbilling/Development
Add self Update Script
2023-08-01 16:30:31 +07:00
f901da2b5f allow step 4 2023-08-01 16:10:00 +07:00
5b077f7773 add slash in the end folder 2023-08-01 16:09:04 +07:00
62c3002152 remove print_r 2023-08-01 16:05:52 +07:00
1111ea986e update Version 2023-08-01 16:01:21 +07:00
25a6491932 update Community Page 2023-08-01 15:58:33 +07:00
72146a3afa update finished dialog 2023-08-01 15:54:24 +07:00
5059c4dd3b Update Software Script 2023-08-01 15:50:28 +07:00
e0eed484e9 Remove Echo Debug 2023-08-01 15:50:01 +07:00
1f4bd28045 Add Custom UI Folder to customize UI 2023-08-01 15:00:17 +07:00
1515a44ae5 fix vendors.js path 2023-08-01 14:59:47 +07:00
6aa4fe8b96 Merge pull request #10 from hotspotbilling/Development
- Fix link buy Voucher
- Add email field to registration form
- Change registration design Form
- Add Setting to disable Voucher
- Fix Title for PPPOE plans
- Fix Plugin Cache
2023-07-28 01:44:32 -07:00
18834a7276 2023.7.28 2023-07-28 15:40:55 +07:00
4e86f4cb02 Fix cache for plugin manager 2023-07-28 15:38:52 +07:00
39d3c683bc Fix Title for PPPOE plans 2023-07-21 09:14:56 +07:00
5e474e4bf7 Add Setting to disable Voucher 2023-07-18 16:30:12 +07:00
dea73fb2a6 Add email in registration form 2023-07-18 09:51:43 +07:00
7e203eaa11 Fix link order Voucher 2023-07-18 09:28:45 +07:00
d31a37cf4d php 7.4 only 2023-07-07 15:52:10 +07:00
05a5b784aa add break; 2023-07-07 15:51:48 +07:00
670223f7e2 Version 2023.6.20 - hide package start time
Version 2023.6.20
2023-06-21 09:35:08 +07:00
2c75499a13 Version 2023.6.20 2023-06-21 09:33:21 +07:00
c3f1df05b8 Fixing start time package 2023-06-20 14:18:10 +07:00
ab01de68b7 recharged_on no time 2023-06-20 12:00:03 +07:00
001bc1e479 no time on recharge_on 2023-06-20 11:57:05 +07:00
ff2ec20400 Merge pull request #48 from hotspotbilling/master
merge pull
2023-06-16 09:30:09 +07:00
e8b428c330 2023.6.15
2023.6.15
2023-06-16 09:29:26 +07:00
877c7a29f0 Merge pull request #7 from hotspotbilling/Development
Remove unused
2023-06-16 09:28:44 +07:00
3f1262236e Remove unused 2023-06-16 09:26:59 +07:00
d9dbc817c4 Merge pull request #46 from hotspotbilling/Development
Version 2023.6.15
2023-06-16 09:18:57 +07:00
44084a764c Merge pull request #6 from hotspotbilling/Development
Version 2023.6.15
2023-06-16 09:18:24 +07:00
406f0f594d Merge remote-tracking branch 'origin/master' into Development 2023-06-16 09:17:28 +07:00
e79abb004e changelog 2023-06-16 09:15:07 +07:00
7d98844690 Selection text color 2023-06-16 09:09:49 +07:00
8ec7b6f080 2023.6.15 2023-06-15 17:07:28 +07:00
12e06a51e4 Fix redirect and check user in database 2023-06-15 17:06:22 +07:00
a9d10d330f fix confirm 2023-06-15 16:50:58 +07:00
a660ec5ddb fix search 2023-06-15 16:46:36 +07:00
dfbd7df367 Add telegram Group 2023-06-15 16:00:25 +07:00
ee840d2b75 Change logo 2023-06-15 16:00:18 +07:00
c1c3ce08cd Add login Internet from User account 2023-06-15 15:26:38 +07:00
a256e1eb42 Update language 2023-06-15 15:26:16 +07:00
1b51881f9b using Vendor from composer 2023-06-15 10:17:00 +07:00
c194b6a8a5 How it Works Link
How it Works Link
2023-06-09 09:18:18 +07:00
54ec065e98 How it Works Link 2023-06-09 09:10:59 +07:00
0d30aaf8fa Merge pull request #36 from hotspotbilling/Development
Fix bug setPpoeUser
2023-06-08 15:06:11 +07:00
cf0725e6a5 Fix bug setPpoeUser
Fix bug setPpoeUser
2023-06-08 15:05:07 +07:00
52d3e49d67 Fix bug setPpoeUser 2023-06-08 15:04:09 +07:00
cad7a4723f Fix bug setPpoeUser 2023-06-08 15:03:12 +07:00
39b840ffd0 2023.6.6
2023.6.6
2023-06-08 14:57:12 +07:00
476c838de1 Fixing registration without OTP, Username will not go to phonenumber
Fixing registration without OTP, Username will not go to phonenumber
2023-06-08 14:54:25 +07:00
7283ca9749 Merge pull request #32 from hotspotbilling/Development
Fixing registration without OTP, Username will not go to phonenumber
2023-06-08 14:54:03 +07:00
80e86ef6cc 2023.6.6 2023-06-08 14:52:53 +07:00
9115d1c41b alphanumeric 2023-06-08 14:46:00 +07:00
d9cda04f7d if register not using FTP, username willnot go to phonenumber 2023-06-08 14:43:18 +07:00
41352479d1 Update README
Merge pull request #27 from hotspotbilling/Development
2023-05-31 14:55:03 +07:00
6db447d79f docker info 2023-05-31 14:46:58 +07:00
f35c591b80 Technical Support 2023-05-31 14:44:05 +07:00
6f20e3f97f Merge pull request #3 from hotspotbilling/Development
Fix Voucher search and Bring back Delete
2023-04-06 10:01:52 +07:00
75f10ef50a Merge pull request #23 from hotspotbilling/Development
Fix Voucher search and Bring back Delete
2023-04-06 09:59:59 +07:00
33cf1413db bring back delete 2023-04-06 09:57:50 +07:00
5f07adf0ac fix search 2023-04-06 09:57:50 +07:00
0c3386f0d1 Fix Voucher Searching 2023-04-06 09:57:50 +07:00
a0af30c12b Merge pull request #2 from hotspotbilling/Development
Fix old deprecated function
2023-03-12 10:27:19 +07:00
f6e5bac86a Merge pull request #20 from hotspotbilling/Development
Fix old deprecated code
2023-03-12 10:26:36 +07:00
9f09909616 2023.3.12 2023-03-12 10:25:38 +07:00
bbc830de26 fix old deprecated code 2023-03-12 10:24:31 +07:00
b0cac9510d Merge pull request #18 from hotspotbilling/Development
Plugin Installer
2023-03-08 13:03:57 +07:00
36d7a8a0a4 Merge pull request #1 from hotspotbilling/Development
Add Notification and Plugin Downloader
2023-03-08 11:33:41 +07:00
b0542ab8be plugin manager 2023-03-08 11:08:56 +07:00
2155c3adae 2023.3.6 2023-03-06 14:57:36 +07:00
51984401d2 bold 2023-03-06 14:57:06 +07:00
fc6a5a26eb add new install 2023-03-06 14:52:09 +07:00
ec45d59a68 change sending message 2023-03-06 14:51:36 +07:00
ba85ed6d0e change text 2023-03-06 14:51:24 +07:00
41c3628eeb add new lang text 2023-03-06 14:51:13 +07:00
26be14bf0e add new lang text 2023-03-06 14:51:05 +07:00
1315621259 check notification 2023-03-06 14:50:55 +07:00
b10cfa2a8e add expired notification 2023-03-06 14:49:44 +07:00
3130310d9c add notification settings 2023-03-06 14:49:26 +07:00
6042538d8e Move send SMS/Wa/Telegram to class 2023-03-06 14:48:05 +07:00
976300bac7 Plugin Manager, install belum 2023-01-31 14:26:49 +07:00
d526ceb6bc Fix delete 2023-01-31 09:14:02 +07:00
d5f29a5c74 update readme 2022-12-14 15:57:20 +07:00
50e55744ec Merge pull request #12 from hotspotbilling/Development
Fixing some code to be able integrate with paypal payment gateway
2022-12-14 15:33:01 +07:00
b69552b44a add sponsors 2022-12-14 15:22:30 +07:00
51b5dbd6f7 Version 2022.12.14 2022-12-14 15:18:39 +07:00
ada4bc8b51 add translation 2022-12-14 15:08:49 +07:00
f3363856f3 Check user email and Desc History 2022-12-14 15:08:42 +07:00
376a3448b6 add postData 2022-12-14 15:08:23 +07:00
660f186004 WhatsappGateway Info 2022-12-14 15:08:14 +07:00
35667e9459 Fix registration info 2022-12-13 15:14:27 +07:00
4fe47612eb Merge pull request #4 from hotspotbilling/Development
rename sql
2022-11-18 14:22:01 +07:00
d777921fbd rename sql 2022-11-18 14:16:00 +07:00
fdbef99985 Merge pull request #3 from hotspotbilling/Development
Change design
2022-11-17 12:42:42 +07:00
7651697ae7 change table 2022-11-17 12:36:32 +07:00
1afa84e36f fixlogin and panel-primary 2022-10-17 11:57:39 +07:00
a2a3a7f0a6 hotspotbilling/phpnuxbill 2022-10-16 14:50:24 +07:00
a7e8335297 admin change to adminlte 2022-10-16 14:48:21 +07:00
9015d519c1 change to adminlte 2 2022-10-15 23:18:24 +07:00
98fe44d8aa tapi mau ganti ke paper admin aja 2022-10-13 15:19:51 +07:00
79c7ad1d98 bulma started 2022-10-13 14:00:54 +07:00
565f481a65 fix menu ? 2022-10-12 16:51:29 +07:00
658aa73540 add random anti cache 2022-10-10 10:50:13 +07:00
d7bdec6f29 check version 2022-10-10 10:49:01 +07:00
4f300df828 version file 2022-10-10 10:26:05 +07:00
e477bc90cc Fix Mobile Nav not open when cliecked 2022-10-09 19:43:48 +07:00
6033901886 masuk radius 2022-10-05 10:51:18 +07:00
0ca2dc2029 update install 2022-10-04 10:06:38 +07:00
ef7d122464 update readme and install files 2022-10-04 10:06:28 +07:00
89e0dd9380 Fix Pools 2022-10-03 11:03:56 +07:00
d7d9d9efa1 $_c ke $config 2022-09-21 14:15:00 +07:00
e7e32475cc add templat dir 2022-09-19 16:57:09 +07:00
3ff2e31ccf delete payment gateway 2022-09-19 10:45:50 +07:00
d5c3c23794 payment gateway not included 2022-09-19 10:45:37 +07:00
335c5e524b move config.php and install to root 2022-09-19 09:31:35 +07:00
ac813ca132 simplified Mikrotik Connection 2022-09-18 00:52:39 +07:00
e6f8826490 add hook 2022-09-18 00:00:40 +07:00
742e0df1f2 add menu hook 2022-09-17 22:34:55 +07:00
1c63cd674c no themes 2022-09-17 21:05:24 +07:00
b943a73cb4 fix separator with DIRECTORY_SEPARATOR 2022-09-17 21:03:47 +07:00
0b02b070d3 Merge remote-tracking branch 'origin/master' into Development 2022-09-16 14:21:03 +07:00
a502919165 fix installation 2022-09-16 14:20:42 +07:00
3f92e39185 Create FUNDING.yml 2022-09-16 14:00:22 +07:00
6c69dacdef Merge pull request #39 from ibnux/Development
- Add Router check before save
- Add Telegram Notification for Admin
- Username must phone number
- Add SMS and Whatsapp Notification, this will force user to validate their phone number
- Add Payment Gateway
- Enable and Disable Router/Plan
- Add Tawk.to chat support
2022-09-16 13:57:34 +07:00
1c18f6091d fix payment gateway and table 2022-09-16 11:38:03 +07:00
b6204a5f94 fix recharge 2022-09-16 11:19:53 +07:00
061224b469 plugin system for payment gateway 2022-09-16 11:05:33 +07:00
0bd6c9e3c7 add merge spanish lang 2022-09-15 11:51:02 +07:00
665e05deed Merge remote-tracking branch 'origin/master' into Development 2022-09-15 11:48:48 +07:00
3fa4282848 update README 2022-09-15 11:45:43 +07:00
4906768a02 Merge pull request #35 from alucard2303/patch-3
Update phpmixbill.sql for Spanish language
2022-09-14 19:11:16 +07:00
a860708a10 Merge pull request #34 from alucard2303/patch-2
Spanish language
2022-09-14 19:10:26 +07:00
cef6e2a2f6 Duitku ok 2022-09-14 16:54:29 +07:00
8a8c7f897f change to pg- and add duitku 2022-09-14 15:58:12 +07:00
48350941e9 add untranslated language 2022-09-11 11:04:41 +07:00
4067f3fa9a change table structure 2022-09-11 11:04:31 +07:00
3653fcbf87 fix history 2022-09-11 11:02:55 +07:00
9ca2933b5d get unpaid 2022-09-11 11:02:30 +07:00
98b592c8a9 fix wrong name 2022-09-11 11:02:21 +07:00
4d84efcf83 change menu, show history, show unpaid 2022-09-11 11:02:10 +07:00
9154c10c45 Lang class 2022-09-10 16:08:10 +07:00
a7fd02df12 order Button 2022-09-10 16:06:38 +07:00
4a6ea093c1 Payment Gateway Tripay done 2022-09-10 16:01:51 +07:00
5ce70b972b Drop Midtrans 2022-09-10 12:20:45 +07:00
71e8b8e22f midtrans succes paid, but will be drop 2022-09-10 12:17:38 +07:00
dd46273a04 midtrans pay, but not yet validated 2022-09-09 16:46:39 +07:00
e9d67ce220 make update script 2022-09-09 09:53:21 +07:00
46e534af6c without sales text 2022-09-08 17:11:15 +07:00
8d7b1c6ff0 xendit without callback OK 2022-09-08 17:09:21 +07:00
65666ac998 latest structure 2022-09-08 16:32:12 +07:00
99f9f73a70 dont show disabled plan and routers 2022-09-08 14:00:46 +07:00
6afcdfe1fa page Editor 2022-09-08 10:54:35 +07:00
4fa341d854 Enable disable router and plan 2022-09-08 10:43:46 +07:00
464f41ef16 Persiapan Radius Mode 2022-09-07 16:11:35 +07:00
19f79680ff Hashtag for telegram 2022-09-07 15:28:59 +07:00
6c64d0944f walled garden example 2022-09-07 15:09:56 +07:00
40d77bba7b add tawk to and example walled garden 2022-09-07 15:07:40 +07:00
b7394762b3 update tabel installer 2022-09-07 14:50:02 +07:00
a84095b13b SMS OTP registration 2022-09-07 14:44:20 +07:00
8b7001b5ef tripay pg and list channels 2022-09-07 14:44:04 +07:00
41aa9f74ea change template, no themes 2022-09-06 10:31:33 +07:00
deecd28cf7 set payment gateway 2022-09-06 10:31:22 +07:00
9dd85dc38e Change Header 2022-09-05 15:12:00 +07:00
e6eff99632 Minutes and Hour Plan Validity 2022-09-05 15:11:22 +07:00
ba83833e94 notif recharge to user 2022-09-02 15:44:22 +07:00
a0dc6c7274 notif to telegram 2022-09-01 15:35:54 +07:00
dd116ee248 Registration no need has voucher 2022-09-01 14:52:32 +07:00
719e7deb93 Update phpmixbill.sql 2022-08-28 19:34:44 -05:00
15ecd120e1 Create common.lan.php 2022-08-28 19:19:06 -05:00
eb3c84d333 change pages 2022-08-24 11:40:26 +07:00
6eaede3c6e Show error, and fix IP Port custom 2022-08-23 16:33:21 +07:00
90a08cb731 wrong hash default 2022-04-23 01:24:28 +07:00
5df998874a '/ppp/active/print' 2022-04-23 01:13:17 +07:00
d53d85bb9f update readme 2022-04-23 01:01:02 +07:00
f16b78c8a0 ignore 2022-04-23 00:58:15 +07:00
a7046cc4e9 change email, change to sha1 2022-04-23 00:55:42 +07:00
5682aeb0b1 sha1 2021-11-08 19:56:30 +07:00
a2bd40f443 QRCODE in voucher 2021-08-19 13:38:29 +07:00
4d124bf257 Hide secret, router forgot ; 2021-08-19 13:03:55 +07:00
b40ffeabbb nav-expand default 2021-08-18 20:30:39 +07:00
f5c3a68d80 update smarty, ganti SQL 2021-08-18 20:21:16 +07:00
fc9ddcd425 Merge pull request #26 from ibnux/mikrotikOS.6.43
Mikrotik os.6.43
2021-08-18 19:47:39 +07:00
f739aa5693 Merge pull request #8 from megawolt/Turkish-Language-Pack
Turkish language pack
2021-08-18 19:45:42 +07:00
88cdfa3748 Merge pull request #23 from azim254/patch-1 2021-06-03 18:14:26 +07:00
7d68f7554e 6.43 change in login process and API libraries
Pre-6.43 login looks like this:

```Code: Select all
/login
 !done
=ret=ebddd18303a54111e2dea05a92ab46b4
/login
=name=admin
=response=001ea726ed53ae38520c8334f82d44c9f2
 !done```

6.43+ process should be like this:

```/login
=name=admin
=password=
 !done```
2021-01-09 13:25:52 +03:00
fb8a1353d9 Update login mikrotik untuk versi baru 2019-08-23 16:15:02 +07:00
36043b3a36 add port from IP, use ip:port when adding router 2019-08-23 14:36:20 +07:00
3d14b4a12e Turkish Language Minor fix
Minor writing fails corrected
2018-06-20 12:36:05 +03:00
cf20b96915 Turkish Language Added
Turkish Language Pack added
2018-06-20 12:06:04 +03:00
9b329ed9f5 Typo di mikrotik login template 2017-03-29 18:08:08 +07:00
591dec0d46 add limit & quota to voucher activation & refill 2017-03-24 19:32:18 +07:00
2d82051895 Perbaikan di register, uptime limit dan kuota 2017-03-24 13:26:14 +07:00
5069d1228d update Readme and .htaacess for pages 2017-03-24 10:16:27 +07:00
1915 changed files with 181751 additions and 185440 deletions

4
.github/FUNDING.yml vendored Normal file
View File

@ -0,0 +1,4 @@
# These are supported funding model platforms
github: ibnux
custom: ['https://paypal.me/ibnux','https://trakteer.id/ibnux']

30
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
View File

@ -0,0 +1,30 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: ''
assignees: ibnux
---
Please Remember, this project is free and open source, and @ibnux don't get any money from this project, and if you post something not a bug, just you dont understand how to install it, you will get blocked from this Repository.
Post it in Discussion if you don't understand. Except you pay for $50 for support
**Describe the bug**
A clear and concise description of what the bug is. Error connecting to router is not a bug, is your router port is not accessable, ask community for help, go to discussion or telegram group
**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
**Expected behavior**
A clear and concise description of what you expected to happen.
**Screenshots**
If applicable, add screenshots to help explain your problem.
**Additional context**
Add any other context about the problem here.

View File

@ -0,0 +1,22 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: ''
assignees: ''
---
Please Remember, this project is free and open source, and @ibnux don't get any money from this project, any Feature Request will cost you $50-$5000
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
**Additional context**
Add any other context or screenshots about the feature request here.

42
.gitignore vendored
View File

@ -1,4 +1,42 @@
/system/config.php
config.php
.DS_Store
.vscode/
ui/compiled/*.php
ui/ui/compiled
ui/compiled/*.php
ui/cache/*.php
test.php
sms.php
pages/
system/cache/**
system/plugin/*
!system/cache/index.html
!system/plugin/index.html
system/paymentgateway/ui/**
system/paymentgateway/**
!system/paymentgateway/ui/
!system/paymentgateway/ui/index.html
!system/paymentgateway/index.html
!system/plugin/ui/
system/plugin/ui/*
!system/plugin/ui/index.html
ui/ui_custom/**
!ui/ui_custom/index.html
!ui/ui_custom/README.md
system/uploads/**
!system/uploads/*.default.png
system/uploads/sms/**
!system/uploads/sms/index.html
system/uploads/system/**
!system/uploads/system/index.html
ui/themes/**
!ui/themes/index.html
!ui/themes/README.md
scanLang.php
system/lan/**
!system/lan/index.html
!system/lan/indonesia.json
!system/lan/spanish.json
!system/lan/turkish.json
!system/lan/english.json
!system/lan/country.json
*.zip

14
.htaccess_firewall Normal file
View File

@ -0,0 +1,14 @@
<Files *.php>
Order Deny,Allow
Deny from all
</Files>
<Files index.php>
Order Allow,Deny
Allow from all
</Files>
<Files update.php>
Order Allow,Deny
Allow from all
</Files>

435
CHANGELOG.md Normal file
View File

@ -0,0 +1,435 @@
![PHPNuxBill](install/img/logo.png)
# CHANGELOG
## 2024.4.15
- Postpaid Customer can request extends expiration day if it enabled
- Some Code Fixing by @ahmadhusein17 and @agstrxyz
## 2024.4.4
- Data Tables for Customers List by @Focuslinkstech
- Add Bills to Reminder
- Prevent double submit for recharge and renew
## 2024.4.3
- Export logs to CSV by @agstrxyz
- Change to Username if Country code empty
## 2024.4.2
- Fix REST API
- Fix Log IP Cloudflare by @Gerandonk
- Show Personal or Business in customer dashboard
## 2024.3.26
- Change paginator, to make easy customization using pagination.tpl
## 2024.3.25
- Fix maps on HTTP
- Fix Cancel payment
## 2024.3.23
- Maps full height
- Show Get Directions instead Coordinates
- Maps Label always show
## 2024.3.22
- Fix Broadcast Message by @Focuslinkstech
- Add Location Picker
## 2024.3.20
- Fixing some bugs
## 2024.3.19
- Add Customer Type Personal or Bussiness by @pro-cms
- Fix Broadcast Message by @Focuslinkstech
- Add Customer Geolocation by @Focuslinkstech
- Change Customer Menu
## 2024.3.18
- Add Broadcasting SMS by @Focuslinkstech
- Fix Notification with Bills
## 2024.3.16
- Fix Zero Charging
- Fix Disconnect Customer from Radius without loop by @Gerandonk
## 2024.3.15
- Fix Customer View to list active Plan
- Additional Bill using Customer Attributes
## 2024.3.14
- Add Note to Invoices
- Add Additional Bill
- View Invoice from Customer side
## 2024.3.13
- Postpaid System
- Additional Cost
## 2024.3.12
- Check if Validity Period, so calculate price will not affected other validity
- Add firewall using .htaccess for apache only
- Multiple Payment Gateway by @Focuslinkstech
- Fix Logic Multiple Payment gateway
- Fix delete Attribute
- Allow Delete Payment Gateway
- Allow Delete Plugin
## 2024.3.6
- change attributes view
## 2024.3.4
- add [[username]] for reminder
- fix agent show when editing
- fix password admin when sending notification
- add file exists for pages
## 2024.3.3
- Change loading button by @Focuslinkstech
- Add Customer Announcements by @Gerandonk
- Add PPPOE Period Validity by @Gerandonk
## 2024.2.29
- Fix Hook Functionality
- Change Customer Menu
## 2024.2.28
- Fix Buy Plan with Balance
- Add Expired date for reminder
## 2024.2.27
- fix path notification
- redirect to dashboard if already login
## 2024.2.26
- Clean Unused JS and CSS
- Add some Authorization check
- Custom Path for folder
- fix some bugs
## 2024.2.23
- Integrate with PhpNuxBill Printer
- Fix Invoice
- add admin ID in transaction
## 2024.2.22
- Add Loading when click submit
- link to settings when hide widget
## 2024.2.21
- Fix SQL Installer
- remove multiple space in language
- Change Phone Number require OTP by @Focuslinkstech
- Change burst Form
- Delete Table Responsive, first Column Freeze
## 2024.2.20
- Fix list admin
- Burst Limit
- Pace Loading by @Focuslinkstech
## 2024.2.19
- Start API Development
- Multiple Admin Level
- Customer Attributes by @Focuslinkstech
- Radius Menu
## 2024.2.13
- Auto translate language
- change language structur to json
- save collapse menu
## 2024.2.12
- Admin Level : SuperAdmin,Admin,Report,Agent,Sales
- Export Customers to CSV
- Session using Cookie
## 2024.2.7
- Hide Dashboard content
## 2024.2.6
- Cache graph for faster opening graph
## 2024.2.5
- Admin Dashboard Update
- Add Monthly Registered Customers
- Total Monthly Sales
- Active Users
## 2024.2.2
- Fix edit plan for user
## 2024.1.24
- Add Send test for SMS, Whatsapp and Telegram
## 2024.1.19
- Paid Plugin, Theme, and payment gateway marketplace using codecanyon.net
- Fix Plugin manager List
## 2024.1.18
- fix(mikrotik): set pool $poolId always empty
## 2024.1.17
- Add minor change, for plugin, menu can have notifications by @Focuslinkstech
## 2024.1.16
- Add yellow color to table for plan not allowed to purchase
- Fix Radius pool select
- add price to reminder notification
- Support thermal printer for invoice
## 2024.1.15
- Fix cron job for Plan only for admin by @Focuslinkstech
## 2024.1.11
- Add Plan only for admin by @Focuslinkstech
- Fix Plugin Manager
## 2024.1.9
- Add Prefix when generate Voucher
## 2024.1.8
- User Expired Order by Expired Date
## 2024.1.2
- Pagination User Expired by @Focuslinkstech
## 2023.12.21
- Modern AdminLTE by @sabtech254
- Update user-dashboard.tpl by @Focuslinkstech
## 2023.12.19
- Fix Search Customer
- Disable Registration, Customer just activate voucher Code, and the voucher will be their password
- Remove all used voucher codes
## 2023.12.18
- Split sms to 160 characters only for Mikrotik Modem
## 2023.12.14
- Can send SMS using Mikrotik with Modem Installed
- Add Customer Type, so Customer can only show their PPPOE or Hotspot Package or both
## 2023.11.17
- Error details not show in Customer
## 2023.11.15
- Customer Multi Router package
- Fix edit package, Admin can change Customer to another router
## 2023.11.9
- fix bug variable in cron
- fix update plan
## 2023.10.27
- Backup and restore database
- Fix checking radius client
## 2023.10.25
- fix wrong file check in cron, error only for newly installed
## 2023.10.24
- Fix logic cronjob
- assign router to NAS, but not yet used
- Fix Pagination
- Move Alert from hardcode
## 2023.10.20
- View Invoice
- Resend Invoice
- Custom Voucher
## 2023.10.17
- Happy Birthday To Me 🎂 \(^o^)/
- Support FreeRadius with Mysql
- Bring back Themes support
- Log Viewer
## 2023.9.21
- Customer can extend Plan
- Customer can Deactivate active plan
- add variable nux-router to select only plan from that router
- Show user expired until 30 items
## 2023.9.20
- Fix Customer balance header
- Deactivate Customer active plan
- Sync Customer Plan to Mikrotik
- Recharge Customer from Customer Details
- Add Privacy Policy and Terms and Conditions Pages
## 2023.9.13
- add Current balance in notification
- Buy Plan for Friend
- Recharge Friend plan
- Fix recharge Plan
- Show Customer active plan in Customer list
- Fix Customer counter in dashboard
- Show Customer Balance in header
- Fix Plugin Manager using Http::Get
- Show Some error page when crash
## 2023.9.7
- Fix PPPOE Delete Customer
- Remove active Customer before deleting
- Show IP and Mac even if it not Hotspot
## 2023.9.6
- Expired Pool
Customer can be move to expired pool after plan expired by cron
- Fix Delete customer
- tbl_language removed
## 2023.9.1.1
- Fix cronjob Delete customer
- Fix reminder text
## 2023.9.1
- Critical bug fixes, bug happen when user buy package, expired time will be calculated from last expired, not from when they buy the package
- Time not change after user buy package for extending
- Add Cancel Button to user dashboard when it show unpaid package
- Fix username in user dashboard
## 2023.8.30
- Upload Logo from settings
- Fix Print value
- Fix Time when editing prepaid
## 2023.8.28
- Extend expiration if buy same package
- Fix calendar
- Add recharge time
- Fix allow balance transfer
## 2023.8.24
- Balance transfer between Customer
- Optimize Cronjob
- View Customer Info
- Ajax for select customer
## 2023.8.18
- Fix Auto Renewall Cronjob
- Add comment to Mikrotik User
## 2023.8.16
- Admin Can Add Balance to Customer
- Show Balance in user
- Using Select2 for Dropdown
## 2023.8.15
- Fix PPPOE Delete Customer
- Fix Header Admin and Customer
- Fix PDF Export by Period
- Add pppoe_password for Customer, this pppoe_password only admin can change
- Country Code Number Settings
- Customer Meta Table for Customers Attributess
- Fix Add and Edit Customer Form for admin
- add Notification Message Editor
- cron reminder
- Balance System, Customer can deposit money
- Auto renewal when package expired using Customer Balance
## 2023.8.1
- Add Update file script, one click updating PHPNuxBill
- Add Custom UI folder, to custome your own template
- Delete debug text
- Fix Vendor JS
## 2023.7.28
- Fix link buy Voucher
- Add email field to registration form
- Change registration design Form
- Add Setting to disable Voucher
- Fix Title for PPPOE plans
- Fix Plugin Cache
## 2023.6.20
- Hide time for Created date.
Because the first time phpmixbill created, plan validity only for days and Months, many request ask for minutes and hours, i change it, but not the database.
## 2023.6.15
- Customer can connect to internet from Customer Dashboard
- Fix Confirm when delete
- Change Logo PHPNuxBill
- Using Composer
- Fix Search Customer
- Fix Customer check, if not found will logout
- Customer password show but hidden
- Voucher code hidden
## 2023.6.8
- Fixing registration without OTP
- Username will not go to phonenumber if OTP registration is not enabled
- Fix Bug PPOE

143
README.md
View File

@ -1,105 +1,102 @@
# PHP Mikrotik Billing
----
[![ReadMeSupportPalestine](https://raw.githubusercontent.com/Safouene1/support-palestine-banner/master/banner-project.svg)](https://s.id/standwithpalestine)
@ibnux notes:
----
> The project maybe has been abandoned,
> maybe the dev busy,
> and nobody donate to him,
> i will try to update as far as i can,
> any Modification will be update in here.
# PHPNuxBill - PHP Mikrotik Billing
### iBNuX Todos
![PHPNuxBill](install/img/logo.png)
- Self registration, user must have voucher before registration
- SMS Notification for expired account
- PUSH Notification using onesignal
- embedable for mikrotik login template
## Feature
----
![N|phpmixbill](http://4.bp.blogspot.com/-3OWL5OI7pqU/VjocUDdzMDI/AAAAAAAAAiA/s_XJN0_mDlk/s640/Screenshot_8.png)
www.phpmixbill.com
by Ismail Marzuqi
New Features:
----
- New Coding (ORM & Smarty)
- New Design (responsive)
- NEW API Mikrotik (PEAR2_Net_RouterOS)
- Voucher Generator and Print
- FreeRadius
- Self registration
- User Balance
- Auto Renewal Package using Balance
- Multi Router Mikrotik
- Hotspot & PPPOE
- Easy Installation
- Multi Language
and many more...
- Payment Gateway
- SMS validation for login
- Whatsapp Notification to Consumer
- Telegram Notification for Admin
STEPS: Installation
----
Auto Installer:
1. Unzip the contents of the zip file to a folder on your computer.
2. Upload the Entire phpmixbill folder to your website / server
3. Next you can rename the folder to whatever you like (billing, finance, manage etc..)
4. Now visit the uploaded location using your web browser to run the installer process.
5. Follow the instructions on screen to install PHPMixBill
6. For security, Delete the install directory inside system folder.
7. If you see blank page after installation, it might be your compiled folder permissoon is not writable. Please make permission 755 compiled directory inside ui folder to store the generated contents from theme.
See [How it Works / Cara Kerja](https://github.com/hotspotbilling/phpnuxbill/wiki/How-It-Works---Cara-kerja)
Manual Install:
To install manually, follow this steps-
## Payment Gateway And Plugin
1. Unzip the contents of the zip file to a folder on your computer.
2. Upload the Entire phpmixbill folder to your website / server
3. Next you can rename the folder to whatever you like (billing, finance, manage etc..)
4. Sample config file is available here- system/config.sample.php . Rename it to config.php & put it in same location (/system/config.php) Open config file using a text editor & Put the database info and url.
5. Import database. Database file is located here- system/install/phpmixbill.sql
6. For security, Delete the install directory inside system folder.
- [Payment Gateway List](https://github.com/orgs/hotspotbilling/repositories?q=payment+gateway)
- [Plugin List](https://github.com/orgs/hotspotbilling/repositories?q=plugin)
CRON JOBS
----
Run Every 4 Hours
```sh
crontab -e
0 0,4,8,12,16,20 * * * /usr/bin/php -f /path/to/phpmixbill/system/cron.php
```
Every system have different configuration for crontab
You can download payment gateway and Plugin from Plugin Manager
System Requirements
----
Most current web servers with PHP & MySQL installed will be capable of running PHPMixBill v5.0.
## System Requirements
Most current web servers with PHP & MySQL installed will be capable of running PHPNuxBill
Minimum Requirements
- Linux or Windows OS
- PHP Version 5.3+
- Minimum PHP Version 7.4
- Both PDO & MySQLi Support
- GD2 Image Library
- PHP-GD2 Image Library
- PHP-CURL
- PHP-ZIP
- PHP-Mbstring
- MySQL Version 4.1.x and above
copyright
----
(C) 2014-2015 PHP Mikrotik Billing
can be Installed in Raspberry Pi Device.
License
----
The problem with windows is hard to set cronjob, better Linux
## Changelog
[CHANGELOG.md](CHANGELOG.md)
## Installation
[Installation instructions](https://github.com/hotspotbilling/phpnuxbill/wiki)
## Docker Version
[Docker Repository](https://github.com/animegasan/phpnuxbill)
## Freeradius
Support [Freeradius with Database](https://github.com/hotspotbilling/phpnuxbill/wiki/FreeRadius)
## Community Support
- [Github Discussion](https://github.com/hotspotbilling/phpnuxbill/discussions)
- [Telegram Group](https://t.me/phpmixbill)
## Technical Support
Start from Rp 500.000 or $50
If you chat me for any technical support, you need to pay, except for Donors, ask anything for free in the [discussion](/hotspotbilling/phpnuxbill/discussions) page
[Telegram](https://t.me/ibnux)
[Website](https://ibnux.net/layanan)
## License
GNU General Public License version 2 or later
see LICENSE file
Donate to first Developer
----
## [CHANGELOG](CHANGELOG.md)
PayPal: iesien22@yahoo.com
## Donate to ibnux
Bank Mandiri: 130.00.1024957.4
Donate to ibnux
----
[![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=6RBNGRJMZVV7C)
[![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://paypal.me/ibnux)
BCA: 5410454825
Mandiri: 163-000-1855-793
a.n Ibnu Maksum
a.n Ibnu Maksum
## SPONSORS
- [mlink.id](https://mlink.id)
- [https://github.com/sonyinside](https://github.com/sonyinside)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 178 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

View File

@ -1,11 +1,8 @@
<?php
/**
* PHP Mikrotik Billing (www.phpmixbill.com)
* Ismail Marzuqi <iesien22@yahoo.com>
* @version 5.0
* @copyright Copyright (C) 2014-2015 PHP Mikrotik Billing
* @license GNU General Public License version 2 or later; see LICENSE.txt
* @donate PayPal: iesien22@yahoo.com / Bank Mandiri: 130.00.1024957.4
**/
* PHP Mikrotik Billing (https://github.com/hotspotbilling/phpnuxbill/)
* by https://t.me/ibnux
**/
header('location: ../index.php?_route=admin/');

16
composer.json Normal file
View File

@ -0,0 +1,16 @@
{
"name": "hotspotbilling/phpnuxbill",
"type": "template",
"description": "PHPNuxBill a Hotspot Billing Software.",
"keywords": ["template","PHPMixBill","PHPnuxBill","Mikrotik","Hotspot","Billing"],
"homepage": "https://github.com/hotspotbilling/phpnuxbill",
"license": "MIT",
"authors": [
{
"name": "ibnux",
"email": "me@ibnux.net",
"homepage": "https://ibnux.net",
"role": "Developer"
}
]
}

9
config.sample.php Normal file
View File

@ -0,0 +1,9 @@
<?php
$db_host = "localhost"; # Database Host
$db_port = ""; # Database Port. Keep it blank if you are un sure.
$db_user = "root"; # Database Username
$db_password = ""; # Database Password
$db_name = "phpnuxbill"; # Database Name
define('APP_URL', 'http://localhost/phpnuxbill'); # Application URL.
#Please include http and do not use trailing slash after the url. For example use in this format- http://www.example.com Or http://www.example.com/finance
$_app_stage = 'Live'; # Do not change this

View File

@ -1,72 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>PHPMIXBILL - Voucher management for Mikrotik Hotspot</title>
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<!-- Optional theme -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">
<style>
@-ms-viewport { width: device-width; }
@-o-viewport { width: device-width; }
@viewport { width: device-width; }
body {
padding-top: 50px;
}
.starter-template {
padding: 40px 15px;
text-align: center;
}
</style>
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body>
<div class="container">
<div class="starter-template">
<h1>PHP PHPMIXBILL</h1>
<p class="lead">Aplikasi manajemen Voucher Hotspot untuk Mikrotik</p>
<div class="btn-group btn-group-justified" role="group">
<a href="https://github.com/ibnux/phpmixbill/releases" class="btn btn-primary">Download</a>
<a href="https://github.com/ibnux/phpmixbill" class="btn btn-success">Source</a>
</div>
</div>
<div class="row">
<div class="col-sm-12">
<div class="panel panel-hovered mb20 panel-default">
<div class="panel-heading">Public Disquss</div>
<div class="panel-body">
<div id="disqus_thread"></div>
<script>
var disqus_config = function () {
this.page.url = "https://ibnux.github.io/phpmixbill/diskusi.html"; // Replace PAGE_URL with your page's canonical URL variable
this.page.identifier = "phpmixbill"; // Replace PAGE_IDENTIFIER with your page's unique identifier variable
};
(function() { // DON'T EDIT BELOW THIS LINE
var d = document, s = d.createElement('script');
s.src = 'https://phpmixbill.disqus.com/embed.js';
s.setAttribute('data-timestamp', +new Date());
(d.head || d.body).appendChild(s);
})();
</script>
<noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
</div>
</div>
</div>
</div>
</div><!-- /.container -->
</body>
</html>

View File

@ -1,50 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>PHPMIXBILL - Voucher management for Mikrotik Hotspot</title>
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<!-- Optional theme -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">
<style>
@-ms-viewport { width: device-width; }
@-o-viewport { width: device-width; }
@viewport { width: device-width; }
body {
padding-top: 50px;
}
.starter-template {
padding: 40px 15px;
text-align: center;
}
</style>
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body>
<div class="container">
<div class="starter-template">
<h1>PHPMIXBILL</h1>
<p class="lead">Aplikasi manajemen Voucher Hotspot untuk Mikrotik</p>
<div class="btn-group btn-group-justified" role="group">
<a href="https://github.com/ibnux/phpmixbill/releases" class="btn btn-primary">Download</a>
<a href="https://github.com/ibnux/phpmixbill" class="btn btn-success">Source</a>
<a href="https://ibnux.github.io/phpmixbill/diskusi.html" class="btn btn-info">Disquss</a>
</div>
</div>
</div><!-- /.container -->
</body>
</html>

BIN
favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@ -1,14 +1,23 @@
<?php
/**
* PHP Mikrotik Billing (www.phpmixbill.com)
* Ismail Marzuqi <iesien22@yahoo.com>
* @version 5.0
* @copyright Copyright (C) 2014-2015 PHP Mikrotik Billing
* @license GNU General Public License version 2 or later; see LICENSE.txt
* @donate PayPal: iesien22@yahoo.com / Bank Mandiri: 130.00.1024957.4
**/
//ini_set('display_errors', 1);
//ini_set('display_startup_errors', 1);
//error_reporting(E_ALL);
require ('system/boot.php');
* PHP Mikrotik Billing (https://github.com/hotspotbilling/phpnuxbill/)
* by https://t.me/ibnux
**/
session_start();
if(isset($_GET['nux-mac']) && !empty($_GET['nux-mac'])){
$_SESSION['nux-mac'] = $_GET['nux-mac'];
}
if(isset($_GET['nux-ip']) && !empty($_GET['nux-ip'])){
$_SESSION['nux-ip'] = $_GET['nux-ip'];
}
if(isset($_GET['nux-router']) && !empty($_GET['nux-router'])){
$_SESSION['nux-router'] = $_GET['nux-router'];
}
require_once 'system/vendor/autoload.php';
require_once 'system/boot.php';
App::_run();

298
init.php Normal file
View File

@ -0,0 +1,298 @@
<?php
/**
* PHP Mikrotik Billing (https://github.com/hotspotbilling/phpnuxbill/)
* by https://t.me/ibnux
**/
if (realpath(__FILE__) == realpath($_SERVER['SCRIPT_FILENAME'])) {
header('HTTP/1.0 403 Forbidden', TRUE, 403);
header('location: ../');
die();
}
$root_path = realpath(dirname(__FILE__)) . DIRECTORY_SEPARATOR;
if(!isset($isApi)){
$isApi = false;
}
// on some server, it getting error because of slash is backwards
function _autoloader($class)
{
global $root_path;
if (strpos($class, '_') !== false) {
$class = str_replace('_', DIRECTORY_SEPARATOR, $class);
if (file_exists($root_path . DIRECTORY_SEPARATOR . 'system' . DIRECTORY_SEPARATOR . 'autoload' . DIRECTORY_SEPARATOR . $class . '.php')) {
include $root_path . DIRECTORY_SEPARATOR . 'system' . DIRECTORY_SEPARATOR . 'autoload' . DIRECTORY_SEPARATOR . $class . '.php';
} else {
$class = str_replace("\\", DIRECTORY_SEPARATOR, $class);
if (file_exists($root_path . DIRECTORY_SEPARATOR . 'system' . DIRECTORY_SEPARATOR . 'autoload' . DIRECTORY_SEPARATOR . $class . '.php'))
include $root_path . DIRECTORY_SEPARATOR . 'system' . DIRECTORY_SEPARATOR . 'autoload' . DIRECTORY_SEPARATOR . $class . '.php';
}
} else {
if (file_exists($root_path . DIRECTORY_SEPARATOR . 'system' . DIRECTORY_SEPARATOR . 'autoload' . DIRECTORY_SEPARATOR . $class . '.php')) {
include $root_path . DIRECTORY_SEPARATOR . 'system' . DIRECTORY_SEPARATOR . 'autoload' . DIRECTORY_SEPARATOR . $class . '.php';
} else {
$class = str_replace("\\", DIRECTORY_SEPARATOR, $class);
if (file_exists($root_path . DIRECTORY_SEPARATOR . 'system' . DIRECTORY_SEPARATOR . 'autoload' . DIRECTORY_SEPARATOR . $class . '.php'))
include $root_path . DIRECTORY_SEPARATOR . 'system' . DIRECTORY_SEPARATOR . 'autoload' . DIRECTORY_SEPARATOR . $class . '.php';
}
}
}
spl_autoload_register('_autoloader');
if (!file_exists($root_path . 'config.php')) {
$root_path .= '..' . DIRECTORY_SEPARATOR;
if (!file_exists($root_path . 'config.php')) {
r2('install');
}
}
if (!file_exists($root_path . File::pathFixer('system/orm.php'))) {
die($root_path . "orm.php file not found");
}
$UPLOAD_PATH = $root_path . File::pathFixer('system/uploads');
$CACHE_PATH = $root_path . File::pathFixer('system/cache');
$PAGES_PATH = $root_path . File::pathFixer('pages');
$PLUGIN_PATH = $root_path . File::pathFixer('system/plugin');
$PAYMENTGATEWAY_PATH = $root_path . File::pathFixer('system/paymentgateway');
$UI_PATH = 'ui';
if (!file_exists($UPLOAD_PATH . File::pathFixer('/notifications.default.json'))) {
die($UPLOAD_PATH . File::pathFixer("/notifications.default.json file not found"));
}
require_once $root_path . 'config.php';
require_once $root_path . File::pathFixer('system/orm.php');
require_once $root_path . File::pathFixer('system/autoload/PEAR2/Autoload.php');
include $root_path . File::pathFixer('system/autoload/Hookers.php');
ORM::configure("mysql:host=$db_host;dbname=$db_name");
ORM::configure('username', $db_user);
ORM::configure('password', $db_password);
ORM::configure('return_result_sets', true);
if ($_app_stage != 'Live') {
ORM::configure('logging', true);
}
if($isApi){
define('U', APP_URL . '/system/api.php?r=');
}else{
define('U', APP_URL . '/index.php?_route=');
}
// notification message
if (file_exists($UPLOAD_PATH . DIRECTORY_SEPARATOR . "notifications.json")) {
$_notifmsg = json_decode(file_get_contents($UPLOAD_PATH . DIRECTORY_SEPARATOR . 'notifications.json'), true);
}
$_notifmsg_default = json_decode(file_get_contents($UPLOAD_PATH . DIRECTORY_SEPARATOR . 'notifications.default.json'), true);
//register all plugin
foreach (glob(File::pathFixer($PLUGIN_PATH . DIRECTORY_SEPARATOR . '*.php')) as $filename) {
try {
include $filename;
} catch (Throwable $e) {
//ignore plugin error
} catch (Exception $e) {
//ignore plugin error
}
}
$result = ORM::for_table('tbl_appconfig')->find_many();
foreach ($result as $value) {
$config[$value['setting']] = $value['value'];
}
$_c = $config;
if (empty($http_proxy) && !empty($config['http_proxy'])) {
$http_proxy = $config['http_proxy'];
if (empty($http_proxyauth) && !empty($config['http_proxyauth'])) {
$http_proxyauth = $config['http_proxyauth'];
}
}
date_default_timezone_set($config['timezone']);
if ((!empty($radius_user) && $config['radius_enable']) || _post('radius_enable')) {
ORM::configure("mysql:host=$radius_host;dbname=$radius_name", null, 'radius');
ORM::configure('username', $radius_user, 'radius');
ORM::configure('password', $radius_pass, 'radius');
ORM::configure('driver_options', array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'), 'radius');
ORM::configure('return_result_sets', true, 'radius');
}
if (empty($config['language'])) {
$config['language'] = 'english';
}
$lan_file = $root_path . File::pathFixer('system/lan/' . $config['language'] . '.json');
if (file_exists($lan_file)) {
$_L = json_decode(file_get_contents($lan_file), true);
$_SESSION['Lang'] = $_L;
} else {
$_L['author'] = 'Auto Generated by iBNuX Script';
$_SESSION['Lang'] = $_L;
file_put_contents($lan_file, json_encode($_L));
}
function safedata($value)
{
$value = trim($value);
return $value;
}
function _post($param, $defvalue = '')
{
if (!isset($_POST[$param])) {
return $defvalue;
} else {
return safedata($_POST[$param]);
}
}
function _get($param, $defvalue = '')
{
if (!isset($_GET[$param])) {
return $defvalue;
} else {
return safedata($_GET[$param]);
}
}
function _req($param, $defvalue = '')
{
if (!isset($_REQUEST[$param])) {
return $defvalue;
} else {
return safedata($_REQUEST[$param]);
}
}
function _auth($login = true)
{
if (User::getID()) {
return true;
} else {
if ($login) {
r2(U . 'login');
} else {
return false;
}
}
}
function _admin($login = true)
{
if (Admin::getID()) {
return true;
} else {
if ($login) {
r2(U . 'login');
} else {
return false;
}
}
}
function _log($description, $type = '', $userid = '0')
{
$d = ORM::for_table('tbl_logs')->create();
$d->date = date('Y-m-d H:i:s');
$d->type = $type;
$d->description = $description;
$d->userid = $userid;
if (!empty($_SERVER['HTTP_CF_CONNECTING_IP'])) //to check ip is pass from cloudflare tunnel
{
$d->ip = $_SERVER['HTTP_CF_CONNECTING_IP'];
} elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) //to check ip is pass from proxy
{
$d->ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
} elseif (!empty($_SERVER['HTTP_CLIENT_IP'])) //to check ip from share internet
{
$d->ip = $_SERVER['HTTP_CLIENT_IP'];
} else {
$d->ip = $_SERVER["REMOTE_ADDR"];
}
$d->save();
}
function Lang($key)
{
return Lang::T($key);
}
function alphanumeric($str, $tambahan = "")
{
return preg_replace("/[^a-zA-Z0-9" . $tambahan . "]+/", "", $str);
}
function showResult($success, $message = '', $result = [], $meta = [])
{
header("Content-Type: Application/json");
$json = json_encode(['success' => $success, 'message' => $message, 'result' => $result, 'meta' => $meta]);
echo $json;
die();
}
function sendTelegram($txt)
{
Message::sendTelegram($txt);
}
function sendSMS($phone, $txt)
{
Message::sendSMS($phone, $txt);
}
function sendWhatsapp($phone, $txt)
{
Message::sendWhatsapp($phone, $txt);
}
function r2($to, $ntype = 'e', $msg = '')
{
global $isApi;
if ($isApi) {
showResult(
($ntype=='s')? true : false,
$msg
);
}
if ($msg == '') {
header("location: $to");
exit;
}
$_SESSION['ntype'] = $ntype;
$_SESSION['notify'] = $msg;
header("location: $to");
exit;
}
function _alert($text, $type = 'success', $url = "home", $time = 3)
{
global $ui, $isApi;
if ($isApi) {
showResult(
($type == 'success') ? true : false,
$text
);
}
if (!isset($ui)) return;
if (strlen($url) > 4) {
if (substr($url, 0, 4) != "http") {
$url = U . $url;
}
} else {
$url = U . $url;
}
$ui->assign('text', $text);
$ui->assign('type', $type);
$ui->assign('time', $time);
$ui->assign('url', $url);
$ui->display('alert.tpl');
die();
}
if (!isset($api_secret)) {
$api_secret = $db_password;
}

BIN
install/img/favicon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

BIN
install/img/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

57
install/index.php Normal file
View File

@ -0,0 +1,57 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>PHPNuxBill Installer</title>
<link rel="shortcut icon" type="image/x-icon" href="img/favicon.png">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type='text/css' href='css/style.css' rel='stylesheet' />
<link href="css/bootstrap.min.css" rel="stylesheet">
</head>
<body style='background-color: #FBFBFB;'>
<div id='main-container'>
<img src="img/logo.png" class="img-responsive" alt="Logo" />
<hr>
<!-- contents area start -->
<div class="row">
<div class="col-md-12">
<h4> PHPNuxBill Installer </h4>
<h5>Please Read Before Continue</h5>
<p><strong>Informasi Aplikasi</strong><br>
Application Name: PHPNuxBill <br>
Release Date: 30/10/2015<br>
By: PHPNuxBill [ <a href="https://github.com/hotspotbilling/phpnuxbill" target="_blank">https://github.com/hotspotbilling/phpnuxbill</a> ]<br>
Donasi Paypal: <b>me@ibnux.et</b><br>
<br>
<strong>Syarat Penggunaan:</strong><br>
Syarat Penggunaan ini berlaku untuk semua versi.<br><br>
<ul>
<li>Silahkan Anda menggunakan aplikasi ini dengan bijak, Anda dapat mendesain ulang script maupun tampilan pada
aplikasi ini sesuai dengan kebutuhan anda, memperbayak jumlah copy atau mendistribusikan aplikasi ini.
Dengan catatan tidak menghapus link developer.</li>
<li>Tidak ada garansi dari kami jika anda mengalami error atau merasa rugi ketika menggunakan aplikasi ini,
Anda hanya dapat memberikan feedback yang berisi laporan error, dengan syarat dan ketentuan yang berlaku.</li>
<li>Semua yang terkait biaya atau donasi apapun versi-nya, Anda dapat update seumur hidup atau selama aplikasi
ini masih dikembangkan. Mohon jangan salah pengertian bahwa kami tim pengembang mengkomersilkan produk ini
dan anda membeli produk kami.</li>
<li>Aplikasi ini bersifat sosial untuk dapat dikembangkan bersama. Karena itu kami juga mengundang relawan-relawan
yang mau menjadi pengembangkan aplikasi ini.</li>
<li>Penulis berhak setiap saat untuk mengubah ketentuan Syarat Penggunaan tanpa pemberitahuan sebelumnya.</li>
</ul>
</div>
<div class="col-md-12"><br>
<a href="step2.php" class="btn btn-primary">Accept &amp; Continue</a>
</div>
</div>
<!-- contents area end -->
</div>
<div class="footer">Copyright &copy; 2021 PHPNuxBill. All Rights Reserved<br /><br /></div>
</body>
</html>

324
install/phpnuxbill.sql Normal file
View File

@ -0,0 +1,324 @@
DROP TABLE IF EXISTS `tbl_appconfig`;
CREATE TABLE `tbl_appconfig` (
`id` int(11) NOT NULL,
`setting` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`value` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
DROP TABLE IF EXISTS `tbl_bandwidth`;
CREATE TABLE `tbl_bandwidth` (
`id` int(10) UNSIGNED NOT NULL,
`name_bw` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`rate_down` int(10) UNSIGNED NOT NULL,
`rate_down_unit` enum('Kbps','Mbps') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`rate_up` int(10) UNSIGNED NOT NULL,
`rate_up_unit` enum('Kbps','Mbps') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
DROP TABLE IF EXISTS `tbl_customers`;
CREATE TABLE `tbl_customers` (
`id` int(10) NOT NULL,
`username` varchar(45) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`password` varchar(45) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`pppoe_password` varchar(45) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'For PPPOE Login',
`fullname` varchar(45) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`address` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci,
`phonenumber` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '0',
`email` varchar(128) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '1',
`coordinates` VARCHAR(50) NOT NULL DEFAULT '' COMMENT 'Latitude and Longitude coordinates',
`balance` decimal(15,2) NOT NULL DEFAULT '0.00' COMMENT 'For Money Deposit',
`service_type` ENUM('Hotspot','PPPoE','Others') DEFAULT 'Others' COMMENT 'For selecting user type',
`account_type` ENUM('Business', 'Personal') DEFAULT 'Personal' COMMENT 'For selecting account type',
`auto_renewal` tinyint(1) NOT NULL DEFAULT '1' COMMENT 'Auto renewall using balance',
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`last_login` datetime DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
DROP TABLE IF EXISTS `tbl_logs`;
CREATE TABLE `tbl_logs` (
`id` int(10) NOT NULL,
`date` datetime DEFAULT NULL,
`type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`description` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`userid` int(10) NOT NULL,
`ip` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
DROP TABLE IF EXISTS `tbl_message`;
CREATE TABLE `tbl_message` (
`id` int(10) NOT NULL,
`from_user` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`to_user` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`title` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`message` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`status` enum('0','1') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0',
`date` datetime NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
DROP TABLE IF EXISTS `tbl_payment_gateway`;
CREATE TABLE `tbl_payment_gateway` (
`id` int(11) NOT NULL,
`username` varchar(32) COLLATE utf8mb4_general_ci NOT NULL,
`gateway` varchar(32) COLLATE utf8mb4_general_ci NOT NULL COMMENT 'xendit | midtrans',
`gateway_trx_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',
`plan_id` int(11) NOT NULL,
`plan_name` varchar(40) COLLATE utf8mb4_general_ci NOT NULL,
`routers_id` int(11) NOT NULL,
`routers` varchar(32) COLLATE utf8mb4_general_ci NOT NULL,
`price` varchar(40) COLLATE utf8mb4_general_ci NOT NULL,
`pg_url_payment` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',
`payment_method` varchar(32) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',
`payment_channel` varchar(32) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',
`pg_request` text COLLATE utf8mb4_general_ci,
`pg_paid_response` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci,
`expired_date` datetime DEFAULT NULL,
`created_date` datetime NOT NULL,
`paid_date` datetime DEFAULT NULL,
`status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '1 unpaid 2 paid 3 failed 4 canceled'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
DROP TABLE IF EXISTS `tbl_plans`;
CREATE TABLE `tbl_plans` (
`id` int(10) NOT NULL,
`name_plan` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`id_bw` int(10) NOT NULL,
`price` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`type` enum('Hotspot','PPPOE','Balance') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`typebp` enum('Unlimited','Limited') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
`limit_type` enum('Time_Limit','Data_Limit','Both_Limit') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
`time_limit` int(10) UNSIGNED DEFAULT NULL,
`time_unit` enum('Mins','Hrs') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
`data_limit` int(10) UNSIGNED DEFAULT NULL,
`data_unit` enum('MB','GB') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
`validity` int(10) NOT NULL,
`validity_unit` enum('Mins','Hrs','Days','Months','Period') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`shared_users` int(10) DEFAULT NULL,
`routers` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`is_radius` tinyint(1) NOT NULL DEFAULT '0' COMMENT '1 is radius',
`pool` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
`pool_expired` varchar(40) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',
`enabled` tinyint(1) NOT NULL DEFAULT '1' COMMENT '0 disabled',
`allow_purchase` enum('yes','no') DEFAULT 'yes' COMMENT 'allow to show package in buy package page',
`plan_type` ENUM('Business', 'Personal') DEFAULT 'Personal' COMMENT 'For switching plan according to user type'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
DROP TABLE IF EXISTS `tbl_pool`;
CREATE TABLE `tbl_pool` (
`id` int(10) NOT NULL,
`pool_name` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`range_ip` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`routers` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
DROP TABLE IF EXISTS `tbl_routers`;
CREATE TABLE `tbl_routers` (
`id` int(10) NOT NULL,
`name` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`ip_address` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`password` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`description` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
`enabled` tinyint(1) NOT NULL DEFAULT '1' COMMENT '0 disabled'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
DROP TABLE IF EXISTS `tbl_transactions`;
CREATE TABLE `tbl_transactions` (
`id` int(10) NOT NULL,
`invoice` varchar(25) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`username` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`plan_name` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`price` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`recharged_on` date NOT NULL,
`recharged_time` time NOT NULL DEFAULT '00:00:00',
`expiration` date NOT NULL,
`time` time NOT NULL,
`method` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`routers` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`type` enum('Hotspot','PPPOE','Balance') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
DROP TABLE IF EXISTS `tbl_users`;
CREATE TABLE `tbl_users` (
`id` int(10) UNSIGNED NOT NULL,
`username` varchar(45) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',
`fullname` varchar(45) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',
`password` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`user_type` enum('SuperAdmin','Admin','Report','Agent','Sales') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`status` enum('Active','Inactive') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT 'Active',
`last_login` datetime DEFAULT NULL,
`creationdate` datetime NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
DROP TABLE IF EXISTS `tbl_user_recharges`;
CREATE TABLE `tbl_user_recharges` (
`id` int(10) NOT NULL,
`customer_id` int(10) NOT NULL,
`username` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`plan_id` int(10) NOT NULL,
`namebp` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`recharged_on` date NOT NULL,
`recharged_time` time NOT NULL DEFAULT '00:00:00',
`expiration` date NOT NULL,
`time` time NOT NULL,
`status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`method` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',
`routers` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`type` varchar(15) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
DROP TABLE IF EXISTS `tbl_voucher`;
CREATE TABLE `tbl_voucher` (
`id` int(10) NOT NULL,
`type` enum('Hotspot','PPPOE') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`routers` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`id_plan` int(10) NOT NULL,
`code` varchar(55) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`user` varchar(45) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`status` varchar(25) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
DROP TABLE IF EXISTS `tb_languages`;
CREATE TABLE `tb_languages` (
`id` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
ALTER TABLE `tbl_appconfig`
ADD PRIMARY KEY (`id`);
ALTER TABLE `tbl_bandwidth`
ADD PRIMARY KEY (`id`);
ALTER TABLE `tbl_customers`
ADD PRIMARY KEY (`id`);
ALTER TABLE `tbl_logs`
ADD PRIMARY KEY (`id`);
ALTER TABLE `tbl_message`
ADD PRIMARY KEY (`id`);
ALTER TABLE `tbl_payment_gateway`
ADD PRIMARY KEY (`id`);
ALTER TABLE `tbl_plans`
ADD PRIMARY KEY (`id`);
ALTER TABLE `tbl_pool`
ADD PRIMARY KEY (`id`);
ALTER TABLE `tbl_routers`
ADD PRIMARY KEY (`id`);
ALTER TABLE `tbl_transactions`
ADD PRIMARY KEY (`id`);
ALTER TABLE `tbl_users`
ADD PRIMARY KEY (`id`);
ALTER TABLE `tbl_user_recharges`
ADD PRIMARY KEY (`id`);
ALTER TABLE `tbl_voucher`
ADD PRIMARY KEY (`id`);
ALTER TABLE `tbl_appconfig`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
ALTER TABLE `tbl_bandwidth`
MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
ALTER TABLE `tbl_customers`
MODIFY `id` int(10) NOT NULL AUTO_INCREMENT;
ALTER TABLE `tbl_logs`
MODIFY `id` int(10) NOT NULL AUTO_INCREMENT;
ALTER TABLE `tbl_message`
MODIFY `id` int(10) NOT NULL AUTO_INCREMENT;
ALTER TABLE `tbl_payment_gateway`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
ALTER TABLE `tbl_plans`
MODIFY `id` int(10) NOT NULL AUTO_INCREMENT;
ALTER TABLE `tbl_pool`
MODIFY `id` int(10) NOT NULL AUTO_INCREMENT;
ALTER TABLE `tbl_routers`
MODIFY `id` int(10) NOT NULL AUTO_INCREMENT;
ALTER TABLE `tbl_transactions`
MODIFY `id` int(10) NOT NULL AUTO_INCREMENT;
ALTER TABLE `tbl_users`
MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
ALTER TABLE `tbl_user_recharges`
MODIFY `id` int(10) NOT NULL AUTO_INCREMENT;
ALTER TABLE `tbl_voucher`
MODIFY `id` int(10) NOT NULL AUTO_INCREMENT;
--
-- Dumping data untuk tabel `tbl_appconfig`
--
INSERT INTO
`tbl_appconfig` (`id`, `setting`, `value`)
VALUES (1, 'CompanyName', 'PHPNuxBill'), (2, 'currency_code', 'Rp.'), (3, 'language', 'english'), (4, 'show-logo', '1'), (5, 'nstyle', 'blue'), (6, 'timezone', 'Asia/Jakarta'), (7, 'dec_point', ','), (8, 'thousands_sep', '.'), (9, 'rtl', '0'), (10, 'address', ''), (11, 'phone', ''), (12, 'date_format', 'd M Y'), (13, 'note', 'Thank you...');
--
-- Dumping data untuk tabel `tbl_users`
--
INSERT INTO
`tbl_users` (
`id`,
`username`,
`fullname`,
`password`,
`user_type`,
`status`,
`last_login`,
`creationdate`
)
VALUES (
1,
'admin',
'Administrator',
'd033e22ae348aeb5660fc2140aec35850c4da997',
'SuperAdmin',
'Active',
'2022-09-06 16:09:50',
'2014-06-23 01:43:07'
);
DROP TABLE IF EXISTS `tbl_customers_fields`;
CREATE TABLE tbl_customers_fields (
id INT PRIMARY KEY AUTO_INCREMENT,
customer_id INT NOT NULL,
field_name VARCHAR(255) NOT NULL,
field_value VARCHAR(255) NOT NULL,
FOREIGN KEY (customer_id) REFERENCES tbl_customers(id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
ALTER TABLE `tbl_voucher` ADD `generated_by` INT NOT NULL DEFAULT '0' COMMENT 'id admin' AFTER `status`;
ALTER TABLE `tbl_users` ADD `root` INT NOT NULL DEFAULT '0' COMMENT 'for sub account' AFTER `id`;
ALTER TABLE `tbl_users` CHANGE `password` `password` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL;
ALTER TABLE `tbl_users` ADD `phone` VARCHAR(32) NOT NULL DEFAULT '' AFTER `password`, ADD `email` VARCHAR(128) NOT NULL DEFAULT '' AFTER `phone`, ADD `city` VARCHAR(64) NOT NULL DEFAULT '' COMMENT 'kota' AFTER `email`, ADD `subdistrict` VARCHAR(64) NOT NULL DEFAULT '' COMMENT 'kecamatan' AFTER `city`, ADD `ward` VARCHAR(64) NOT NULL DEFAULT '' COMMENT 'kelurahan' AFTER `subdistrict`;
ALTER TABLE `tbl_customers` ADD `created_by` INT NOT NULL DEFAULT '0' AFTER `auto_renewal`;
ALTER TABLE `tbl_plans` ADD `list_expired` VARCHAR(32) NOT NULL DEFAULT '' COMMENT 'address list' AFTER `pool_expired`;
ALTER TABLE `tbl_bandwidth` ADD `burst` VARCHAR(128) NOT NULL DEFAULT '' AFTER `rate_up_unit`;
ALTER TABLE `tbl_transactions` ADD `admin_id` INT NOT NULL DEFAULT '1' AFTER `type`;
ALTER TABLE `tbl_user_recharges` ADD `admin_id` INT NOT NULL DEFAULT '1' AFTER `type`;
ALTER TABLE `tbl_plans` CHANGE `allow_purchase` `prepaid` ENUM('yes','no') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'yes' COMMENT 'is prepaid';
ALTER TABLE `tbl_transactions` ADD `note` VARCHAR(256) NOT NULL DEFAULT '' COMMENT 'for note' AFTER `type`;
ALTER TABLE `tbl_payment_gateway` ADD `trx_invoice` VARCHAR(25) NOT NULL DEFAULT '' COMMENT 'from tbl_transactions' AFTER `paid_date`;

182
install/radius.sql Normal file
View File

@ -0,0 +1,182 @@
DROP TABLE IF EXISTS `nas`;
CREATE TABLE `nas` (
`id` int(10) NOT NULL,
`nasname` varchar(128) COLLATE utf8mb4_general_ci NOT NULL,
`shortname` varchar(32) COLLATE utf8mb4_general_ci DEFAULT NULL,
`type` varchar(30) COLLATE utf8mb4_general_ci DEFAULT 'other',
`ports` int(5) DEFAULT NULL,
`secret` varchar(60) COLLATE utf8mb4_general_ci NOT NULL DEFAULT 'secret',
`server` varchar(64) COLLATE utf8mb4_general_ci DEFAULT NULL,
`community` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL,
`description` varchar(200) COLLATE utf8mb4_general_ci DEFAULT 'RADIUS Client',
`routers` varchar(32) COLLATE utf8mb4_general_ci NOT NULL DEFAULT ''
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
DROP TABLE IF EXISTS `radacct`;
CREATE TABLE `radacct` (
`radacctid` bigint(21) NOT NULL,
`acctsessionid` varchar(64) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',
`acctuniqueid` varchar(32) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',
`username` varchar(64) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',
`realm` varchar(64) COLLATE utf8mb4_general_ci DEFAULT '',
`nasipaddress` varchar(15) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',
`nasportid` varchar(32) COLLATE utf8mb4_general_ci DEFAULT NULL,
`nasporttype` varchar(32) COLLATE utf8mb4_general_ci DEFAULT NULL,
`acctstarttime` datetime DEFAULT NULL,
`acctupdatetime` datetime DEFAULT NULL,
`acctstoptime` datetime DEFAULT NULL,
`acctinterval` int(12) DEFAULT NULL,
`acctsessiontime` int(12) UNSIGNED DEFAULT NULL,
`acctauthentic` varchar(32) COLLATE utf8mb4_general_ci DEFAULT NULL,
`connectinfo_start` varchar(128) COLLATE utf8mb4_general_ci DEFAULT NULL,
`connectinfo_stop` varchar(128) COLLATE utf8mb4_general_ci DEFAULT NULL,
`acctinputoctets` bigint(20) DEFAULT NULL,
`acctoutputoctets` bigint(20) DEFAULT NULL,
`calledstationid` varchar(50) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',
`callingstationid` varchar(50) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',
`acctterminatecause` varchar(32) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',
`servicetype` varchar(32) COLLATE utf8mb4_general_ci DEFAULT NULL,
`framedprotocol` varchar(32) COLLATE utf8mb4_general_ci DEFAULT NULL,
`framedipaddress` varchar(15) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',
`framedipv6address` varchar(45) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',
`framedipv6prefix` varchar(45) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',
`framedinterfaceid` varchar(44) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',
`delegatedipv6prefix` varchar(45) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',
`class` varchar(64) COLLATE utf8mb4_general_ci DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
DROP TABLE IF EXISTS `radcheck`;
CREATE TABLE `radcheck` (
`id` int(11) UNSIGNED NOT NULL,
`username` varchar(64) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',
`attribute` varchar(64) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',
`op` char(2) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '==',
`value` varchar(253) COLLATE utf8mb4_general_ci NOT NULL DEFAULT ''
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
DROP TABLE IF EXISTS `radgroupcheck`;
CREATE TABLE `radgroupcheck` (
`id` int(11) UNSIGNED NOT NULL,
`groupname` varchar(64) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',
`attribute` varchar(64) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',
`op` char(2) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '==',
`value` varchar(253) COLLATE utf8mb4_general_ci NOT NULL DEFAULT ''
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
DROP TABLE IF EXISTS `radgroupreply`;
CREATE TABLE `radgroupreply` (
`id` int(11) UNSIGNED NOT NULL,
`groupname` varchar(64) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',
`attribute` varchar(64) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',
`op` char(2) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '=',
`value` varchar(253) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',
`plan_id` int(11) NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
DROP TABLE IF EXISTS `radpostauth`;
CREATE TABLE `radpostauth` (
`id` int(11) NOT NULL,
`username` varchar(64) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',
`pass` varchar(64) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',
`reply` varchar(32) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',
`authdate` timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6),
`class` varchar(64) COLLATE utf8mb4_general_ci DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
DROP TABLE IF EXISTS `radreply`;
CREATE TABLE `radreply` (
`id` int(11) UNSIGNED NOT NULL,
`username` varchar(64) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',
`attribute` varchar(64) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',
`op` char(2) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '=',
`value` varchar(253) COLLATE utf8mb4_general_ci NOT NULL DEFAULT ''
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
DROP TABLE IF EXISTS `radusergroup`;
CREATE TABLE `radusergroup` (
`id` int(11) UNSIGNED NOT NULL,
`username` varchar(64) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',
`groupname` varchar(64) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',
`priority` int(11) NOT NULL DEFAULT '1'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
DROP TABLE IF EXISTS `nasreload`;
CREATE TABLE `nasreload` (
nasipaddress varchar(15) NOT NULL,
reloadtime datetime NOT NULL,
PRIMARY KEY (nasipaddress)
) ENGINE = INNODB;
ALTER TABLE `nas`
ADD PRIMARY KEY (`id`),
ADD KEY `nasname` (`nasname`);
ALTER TABLE `radacct`
ADD PRIMARY KEY (`radacctid`),
ADD UNIQUE KEY `acctuniqueid` (`acctuniqueid`),
ADD KEY `username` (`username`),
ADD KEY `framedipaddress` (`framedipaddress`),
ADD KEY `framedipv6address` (`framedipv6address`),
ADD KEY `framedipv6prefix` (`framedipv6prefix`),
ADD KEY `framedinterfaceid` (`framedinterfaceid`),
ADD KEY `delegatedipv6prefix` (`delegatedipv6prefix`),
ADD KEY `acctsessionid` (`acctsessionid`),
ADD KEY `acctsessiontime` (`acctsessiontime`),
ADD KEY `acctstarttime` (`acctstarttime`),
ADD KEY `acctinterval` (`acctinterval`),
ADD KEY `acctstoptime` (`acctstoptime`),
ADD KEY `nasipaddress` (`nasipaddress`),
ADD KEY `class` (`class`);
ALTER TABLE `radcheck`
ADD PRIMARY KEY (`id`),
ADD KEY `username` (`username`(32));
ALTER TABLE `radgroupcheck`
ADD PRIMARY KEY (`id`),
ADD KEY `groupname` (`groupname`(32));
ALTER TABLE `radgroupreply`
ADD PRIMARY KEY (`id`),
ADD KEY `groupname` (`groupname`(32));
ALTER TABLE `radpostauth`
ADD PRIMARY KEY (`id`),
ADD KEY `username` (`username`),
ADD KEY `class` (`class`);
ALTER TABLE `radreply`
ADD PRIMARY KEY (`id`),
ADD KEY `username` (`username`(32));
ALTER TABLE `radusergroup`
ADD PRIMARY KEY (`id`),
ADD KEY `username` (`username`(32));
ALTER TABLE `nas`
MODIFY `id` int(10) NOT NULL AUTO_INCREMENT;
ALTER TABLE `radacct`
MODIFY `radacctid` bigint(21) NOT NULL AUTO_INCREMENT;
ALTER TABLE `radcheck`
MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT;
ALTER TABLE `radgroupcheck`
MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT;
ALTER TABLE `radgroupreply`
MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT;
ALTER TABLE `radpostauth`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
ALTER TABLE `radreply`
MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT;
ALTER TABLE `radusergroup`
MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT;
SET FOREIGN_KEY_CHECKS=1;

67
install/step2.php Normal file
View File

@ -0,0 +1,67 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>PHPNuxBill Installer</title>
<link rel="shortcut icon" type="image/x-icon" href="img/favicon.ico">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type='text/css' href='css/style.css' rel='stylesheet' />
<link type='text/css' href="css/bootstrap.min.css" rel="stylesheet">
</head>
<body style='background-color: #FBFBFB;'>
<div id='main-container'>
<img src="img/logo.png" class="img-responsive" alt="Logo" />
<hr>
<div class="span12">
<h4> PHPNuxBill Installer </h4>
<?php
$passed = '';
$ltext = '';
if (version_compare(PHP_VERSION, '7.2.0') >= 0) {
$ltext .= 'To Run PHPNuxBill You need at least PHP version 7.2.0, Your PHP Version is: ' . PHP_VERSION . " Tested <strong>---PASSED---</strong><br/>";
$passed .= '1';
} else {
$ltext .= 'To Run PHPNuxBill You need at least PHP version 7.2.0, Your PHP Version is: ' . PHP_VERSION . " Tested <strong>---FAILED---</strong><br/>";
$passed .= '0';
}
if (extension_loaded('PDO')) {
$ltext .= 'PDO is installed on your server: ' . "Tested <strong>---PASSED---</strong><br/>";
$passed .= '1';
} else {
$ltext = 'PDO is installed on your server: ' . "Tested <strong>---FAILED---</strong><br/>";
$passed .= '0';
}
if (extension_loaded('pdo_mysql')) {
$ltext .= 'PDO MySQL driver is enabled on your server: ' . "Tested <strong>---PASSED---</strong><br/>";
$passed .= '1';
} else {
$ltext .= 'PDO MySQL driver is not enabled on your server: ' . "Tested <strong>---FAILED---</strong><br/>";
$passed .= '0';
}
if ($passed == '111') {
echo ("<br/> $ltext <br/> Great! System Test Completed. You can run PHPNuxBill on your server. Click Continue For Next Step.
<br><br>
<a href=\"step3.php\" class=\"btn btn-primary\">Continue</a><br><br><a href=\"update.php\" class=\"btn btn-primary\">Update System</a>");
} else {
echo ("<br/> $ltext <br/> Sorry. The requirements of PHPNuxBill is not available on your server.
Contact with us at Telegram <a href=\"https://t.me/phpnuxbill\">@phpnuxbill</a> with this code- $passed Or contact with your server administrator
<br><br>
<a href=\"#\" class=\"btn btn-primary disabled\">Correct The Problem To Continue</a>");
}
?>
</div>
</div>
<div class="footer">Copyright &copy; 2021 PHPNuxBill. All Rights Reserved<br /><br /></div>
</body>
</html>

View File

@ -1,72 +1,74 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>PHPMixBill v5.0 Installer</title>
<link rel="shortcut icon" type="image/x-icon" href="img/favicon.ico">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type='text/css' href='css/style.css' rel='stylesheet'/>
<link type='text/css' href="css/bootstrap.min.css" rel="stylesheet">
</head>
<body style='background-color: #FBFBFB;'>
<div id='main-container'>
<div class='header'>
<div class="header-box wrapper">
<div class="hd-logo"><a href="#"><img src="img/logo.png" alt="Logo"/></a></div>
</div>
</div>
<div class="span12">
<h4> PHPMixBill v5.0 Installer </h4>
<?php
if (isset($_GET['_error']) && ($_GET['_error']) == '1') {
echo '<h4 style="color: red;"> Unable to Connect Database, Please make sure database info is correct and try again ! </h4>';
}
$cururl = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
$appurl = str_replace('/install/step3.php', '', $cururl);
$appurl = str_replace('?_error=1', '', $appurl);
$appurl = str_replace('/system', '', $appurl);
?>
<form action="step4.php" method="post">
<fieldset>
<legend>Database Connection &amp Site config</legend>
<div class="form-group">
<label for="appurl">Application URL</label>
<input type="text" class="form-control" id="appurl" name="appurl" value="<?php echo $appurl; ?>">
<span class='help-block'>Application url without trailing slash at the end of url (e.g. http://172.16.10.10). Please keep default, if you are unsure.</span>
</div>
<div class="form-group">
<label for="dbhost">Database Host</label>
<input type="text" class="form-control" id="dbhost" name="dbhost">
</div>
<div class="form-group">
<label for="dbuser">Database Username</label>
<input type="text" class="form-control" id="dbuser" name="dbuser">
</div>
<div class="form-group">
<label for="dbpass">Database Password</label>
<input type="text" class="form-control" id="dbpass" name="dbpass">
</div>
<div class="form-group">
<label for="dbname">Database Name</label>
<input type="text" class="form-control" id="dbname" name="dbname">
</div>
<button type="submit" class="btn btn-primary">Submit</button>
</fieldset>
</form>
</div>
</div>
<div class="footer">Copyright &copy; 2015 PHPMixBill. All Rights Reserved<br/><br/></div>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<title>PHPNuxBill Installer</title>
<link rel="shortcut icon" type="image/x-icon" href="img/favicon.ico">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type='text/css' href='css/style.css' rel='stylesheet'/>
<link type='text/css' href="css/bootstrap.min.css" rel="stylesheet">
</head>
<body style='background-color: #FBFBFB;'>
<div id='main-container'>
<img src="img/logo.png" class="img-responsive" alt="Logo" />
<hr>
<div class="span12">
<h4> PHPNuxBill Installer </h4>
<?php
if (isset($_GET['_error']) && ($_GET['_error']) == '1') {
echo '<h4 style="color: red;"> Unable to Connect Database, Please make sure database info is correct and try again ! </h4>';
}//
$cururl = (((!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off')|| $_SERVER['SERVER_PORT'] == 443)?'https':'http').'://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
$appurl = str_replace('/install/step3.php', '', $cururl);
$appurl = str_replace('?_error=1', '', $appurl);
$appurl = str_replace('/system', '', $appurl);
?>
<form action="step4.php" method="post">
<fieldset>
<legend>Database Connection &amp Site config</legend>
<div class="form-group">
<label for="appurl">Application URL</label>
<input type="text" class="form-control" id="appurl" name="appurl" value="<?php echo $appurl; ?>">
<span class='help-block'>Application url without trailing slash at the end of url (e.g. http://172.16.10.10). Please keep default, if you are unsure.</span>
</div>
<div class="form-group">
<label for="dbhost">Database Host</label>
<input type="text" class="form-control" id="dbhost" name="dbhost">
</div>
<div class="form-group">
<label for="dbuser">Database Username</label>
<input type="text" class="form-control" id="dbuser" name="dbuser">
</div>
<div class="form-group">
<label for="dbpass">Database Password</label>
<input type="text" class="form-control" id="dbpass" name="dbpass">
</div>
<div class="form-group">
<label for="dbname">Database Name</label>
<input type="text" class="form-control" id="dbname" name="dbname">
</div>
<div class="form-group">
<label for="dbname"><input type="checkbox" class="form-control" id="radius" name="radius" value="yes"> Install Radius Table?</label>
</div>
<button type="submit" class="btn btn-primary">Submit</button>
</fieldset>
</form>
</div>
</div>
<div class="footer">Copyright &copy; 2021 PHPNuxBill. All Rights Reserved<br/><br/></div>
</body>
</html>

148
install/step4.php Normal file
View File

@ -0,0 +1,148 @@
<?php
/**
* PHP Mikrotik Billing (https://github.com/hotspotbilling/phpnuxbill/)
* by https://t.me/ibnux
**/
//error_reporting (0);
$appurl = $_POST['appurl'];
$db_host = $_POST['dbhost'];
$db_user = $_POST['dbuser'];
$db_password = $_POST['dbpass'];
$db_name = $_POST['dbname'];
$cn = '0';
try {
$dbh = new pdo(
"mysql:host=$db_host;dbname=$db_name",
"$db_user",
"$db_password",
array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION)
);
$cn = '1';
} catch (PDOException $ex) {
$cn = '0';
}
if ($cn == '1') {
if (isset($_POST['radius']) && $_POST['radius'] == 'yes') {
$input = '<?php
define(\'APP_URL\', \'' . $appurl . '\');
$_app_stage = \'Live\';
// Database PHPNuxBill
$db_host = \'' . $db_host . '\';
$db_user = \'' . $db_user . '\';
$db_password = \'' . $db_password . '\';
$db_name = \'' . $db_name . '\';
// Database Radius
$radius_host = \'' . $db_host . '\';
$radius_user = \'' . $db_user . '\';
$radius_pass = \'' . $db_password . '\';
$radius_name = \'' . $db_name . '\';
if($_app_stage!=\'Live\'){
error_reporting(E_ERROR);
ini_set(\'display_errors\', 1);
ini_set(\'display_startup_errors\', 1);
}else{
error_reporting(E_ERROR);
ini_set(\'display_errors\', 0);
ini_set(\'display_startup_errors\', 0);
}
';
} else {
$input = '<?php
define(\'APP_URL\', \'' . $appurl . '\');
$_app_stage = \'Live\';
// Database PHPNuxBill
$db_host = \'' . $db_host . '\';
$db_user = \'' . $db_user . '\';
$db_password = \'' . $db_password . '\';
$db_name = \'' . $db_name . '\';
if($_app_stage!=\'Live\'){
error_reporting(E_ERROR);
ini_set(\'display_errors\', 1);
ini_set(\'display_startup_errors\', 1);
}else{
error_reporting(E_ERROR);
ini_set(\'display_errors\', 0);
ini_set(\'display_startup_errors\', 0);
}
';
}
$wConfig = "../config.php";
$fh = fopen($wConfig, 'w') or die("Can't create config file, your server does not support 'fopen' function,
please create a file named - config.php with following contents- <br/>$input");
fwrite($fh, $input);
fclose($fh);
$sql = file_get_contents('phpnuxbill.sql');
$qr = $dbh->exec($sql);
if (isset($_POST['radius']) && $_POST['radius'] == 'yes') {
$sql = file_get_contents('radius.sql');
$qrs = $dbh->exec($sql);
}
} else {
header("location: step3.php?_error=1");
exit;
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<title>PHPNuxBill Installer</title>
<link rel="shortcut icon" type="image/x-icon" href="img/favicon.ico">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type='text/css' href='css/style.css' rel='stylesheet' />
<link type='text/css' href="css/bootstrap.min.css" rel="stylesheet">
</head>
<body style='background-color: #FBFBFB;'>
<div id='main-container'>
<img src="img/logo.png" class="img-responsive" alt="Logo" />
<hr>
<div class="span12">
<h4> PHPNuxBill Installer </h4>
<?php
if ($cn == '1') {
?>
<p><strong>Config File Created and Database Imported.</strong><br></p>
<form action="step5.php" method="post">
<fieldset>
<legend>Click Continue</legend>
<button type='submit' class='btn btn-primary'>Continue</button>
</fieldset>
</form>
<?php
} elseif ($cn == '2') {
?>
<p> MySQL Connection was successfull. An error occured while adding data on MySQL. Unsuccessfull
Installation. Please refer manual installation in the website github.com/ibnux/phpnuxbill/wiki or Contact Telegram @ibnux for
helping on installation</p>
<?php
} else {
?>
<p> MySQL Connection Failed.</p>
<?php
}
?>
</div>
</div>
<div class="footer">Copyright &copy; 2021 PHPNuxBill. All Rights Reserved<br /><br /></div>
</body>
</html>

55
install/step5.php Normal file
View File

@ -0,0 +1,55 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>PHPNuxBill Installer</title>
<link rel="shortcut icon" type="image/x-icon" href="img/favicon.ico">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type='text/css' href='css/style.css' rel='stylesheet' />
<link type='text/css' href="css/bootstrap.min.css" rel="stylesheet">
</head>
<?php if (!file_exists('../pages')) rename('../pages_template', '../pages'); ?>
<body style='background-color: #FBFBFB;'>
<div id='main-container'>
<img src="img/logo.png" class="img-responsive" alt="Logo" />
<hr>
<div class="span12">
<h4> PHPNuxBill Installer </h4>
<p>
<strong>Congratulations!</strong><br>
You have just install PHPNuxBill !<br><br>
<span class="text-danger">But wait!!<br>
<ol>
<li>Don't forget to rename folder <b>pages_example</b> to <b>pages</b>.<br>
if it not yet renamed</li>
<li>Activate <a href="https://github.com/hotspotbilling/phpnuxbill/wiki/Cron-Jobs" target="_blank">Cronjob</a> for Expired and Reminder.</li>
<li>Check <a href="https://github.com/hotspotbilling/phpnuxbill/wiki/How-It-Works---Cara-kerja" target="_blank">how PHPNuxbill Works</a></li>
<li><a href="https://github.com/hotspotbilling/phpnuxbill/wiki#login-page-mikrotik" target="_blank">how to link Mikrotik Login to PHPNuxBill</a></li>
<li>or use <a href="https://github.com/hotspotbilling/phpnuxbill-mikrotik-login-template" target="_blank">Mikrotik Login Template for PHPNuxBill</a></li>
</ol>
</span><br><br>
To Login Admin Portal:<br>
Use this link -
<?php
$cururl = (((!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') || $_SERVER['SERVER_PORT'] == 443) ? 'https' : 'http') . '://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
$appurl = str_replace('/install/step5.php', '', $cururl);
$appurl = str_replace('/system', '', $appurl);
echo '<a href="' . $appurl . '/admin">' . $appurl . '/admin</a>';
?>
<br>
Username: admin<br>
Password: admin<br>
For security, Delete the <b>install</b> directory inside system folder.
</p>
</div>
</div>
<div class="footer">Copyright &copy; 2021 PHPNuxBill. All Rights Reserved<br /><br /></div>
</body>
</html>

106
install/update.php Normal file
View File

@ -0,0 +1,106 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>PHPNuxBill Updaters</title>
<link rel="shortcut icon" type="image/x-icon" href="img/favicon.ico">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type='text/css' href='css/style.css' rel='stylesheet' />
<link type='text/css' href="css/bootstrap.min.css" rel="stylesheet">
</head>
<body style='background-color: #FBFBFB;'>
<div id='main-container'>
<img src="img/logo.png" class="img-responsive" alt="Logo" />
<hr>
<div class="span12">
<h4> PHPNuxBill Updater </h4>
<pre><?php
include '../config.php';
try{
$dbh = new pdo( "mysql:host=$db_host;dbname=$db_name",
"$db_user",
"$db_password",
array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
echo "CREATE TABLE `tbl_payment_gateway` (
`id` int(11) NOT NULL,
`username` varchar(32) COLLATE utf8mb4_general_ci NOT NULL,
`gateway` varchar(32) COLLATE utf8mb4_general_ci NOT NULL COMMENT 'xendit | midtrans',
`gateway_trx_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',
`plan_id` int(11) NOT NULL,
`plan_name` varchar(40) COLLATE utf8mb4_general_ci NOT NULL,
`routers_id` int(11) NOT NULL,
`routers` varchar(32) COLLATE utf8mb4_general_ci NOT NULL,
`price` varchar(40) COLLATE utf8mb4_general_ci NOT NULL,
`pg_url_payment` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',
`payment_method` varchar(32) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',
`payment_channel` varchar(32) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',
`pg_request` text COLLATE utf8mb4_general_ci,
`pg_paid_response` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci,
`expired_date` datetime DEFAULT NULL,
`created_date` datetime NOT NULL,
`paid_date` datetime DEFAULT NULL,
`status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '1 unpaid 2 paid 3 failed 4 canceled'
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_general_ci;\n\n";
$dbh->exec("CREATE TABLE
`tbl_payment_gateway` (
`id` int(11) NOT NULL,
`username` varchar(32) COLLATE utf8mb4_general_ci NOT NULL,
`gateway` varchar(32) COLLATE utf8mb4_general_ci NOT NULL COMMENT 'xendit | midtrans',
`gateway_trx_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',
`plan_id` int(11) NOT NULL,
`plan_name` varchar(40) COLLATE utf8mb4_general_ci NOT NULL,
`routers_id` int(11) NOT NULL,
`routers` varchar(32) COLLATE utf8mb4_general_ci NOT NULL,
`price` varchar(40) COLLATE utf8mb4_general_ci NOT NULL,
`pg_url_payment` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',
`payment_method` varchar(32) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',
`payment_channel` varchar(32) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',
`pg_request` text COLLATE utf8mb4_general_ci,
`pg_paid_response` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci,
`expired_date` datetime DEFAULT NULL,
`created_date` datetime NOT NULL,
`paid_date` datetime DEFAULT NULL,
`status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '1 unpaid 2 paid 3 failed 4 canceled'
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_general_ci;");
echo "ALTER TABLE `tbl_payment_gateway` ADD PRIMARY KEY (`id`);\n\n";
$dbh->exec("ALTER TABLE `tbl_payment_gateway` ADD PRIMARY KEY (`id`);");
echo "ALTER TABLE `tbl_payment_gateway` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;\n\n";
$dbh->exec("ALTER TABLE `tbl_payment_gateway` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;");
echo "ALTER TABLE `tbl_customers` ADD `email` VARCHAR(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' AFTER `phonenumber`;\n\n";
$dbh->exec("ALTER TABLE `tbl_customers` ADD `email` VARCHAR(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' AFTER `phonenumber`;");
echo "ALTER TABLE `tbl_plans` CHANGE `validity_unit` `validity_unit` ENUM('Mins','Hrs','Days','Months') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL;\n\n";
$dbh->exec("ALTER TABLE `tbl_plans` CHANGE `validity_unit` `validity_unit` ENUM('Mins','Hrs','Days','Months') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL");
echo "ALTER TABLE `tbl_plans` ADD `enabled` tinyint(1) NOT NULL DEFAULT '1' COMMENT '0 disabled' AFTER `pool`;\n\n";
$dbh->exec("ALTER TABLE `tbl_plans` ADD `enabled` tinyint(1) NOT NULL DEFAULT '1' COMMENT '0 disabled' AFTER `pool`;");
echo "ALTER TABLE `tbl_routers` ADD `enabled` tinyint(1) NOT NULL DEFAULT '1' COMMENT '0 disabled' AFTER `description`;\n\n";
$dbh->exec("ALTER TABLE `tbl_routers` ADD `enabled` tinyint(1) NOT NULL DEFAULT '1' COMMENT '0 disabled' AFTER `description`;");
echo "ALTER TABLE `tbl_routers` CHANGE `description` `description` VARCHAR(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL;";
$dbh->exec("ALTER TABLE `tbl_routers` CHANGE `description` `description` VARCHAR(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL;");
echo "ALTER TABLE `tbl_user_recharges` CHANGE `method` `method` VARCHAR(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '';\n\n";
$dbh->exec("ALTER TABLE `tbl_user_recharges` CHANGE `method` `method` VARCHAR(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '';");
echo "ALTER TABLE `tbl_transactions` CHANGE `method` `method` VARCHAR(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL;\n\n";
$dbh->exec("ALTER TABLE `tbl_transactions` CHANGE `method` `method` VARCHAR(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL;");
echo "Success update database for new system <a href='/admin/'>Back To Home</a>";
}catch(PDOException $ex){
echo "Error Failed to connect to database: ".$ex->getMessage()."\n";
}
?></pre>
</div>
</div>
<div class="footer">Copyright &copy; 2021 PHPNuxBill. All Rights Reserved<br /><br /></div>
</body>
</html>

View File

@ -1,31 +0,0 @@
<center><strong style="font-size:38px">{$_c['CompanyName']}</strong></center>
<table width="100%" border="1" cellspacing="0" cellpadding="4" bordercolor="#757575">
<tbody>
<tr>
<td valign="top" align="left">Pendaftaran dan Informasi Billing buka <b>billing.ibnux.net</b></td>
</tr>
<tr>
<td valign="top" align="left">Wireless Hotspot:
<table width="100%" border="0" cellspacing="0" cellpadding="2">
<tr>
<td>iBNuXnet</td>
<td>iBNuXnet-P</td>
<td>iBNuXnet-Q</td>
</tr>
<tr>
<td>CitraGadingBlokP 3/4</td>
<td>CitraGadingBlokQ 2/3/4/5/6</td>
<td>iBNuXnet 5Ghz</td>
</tr>
</table>
</td>
</tr>
<tr>
<td valign="top" align="left">Voucher yang sudah dibeli tidak dapat dikembalikan</td>
</tr>
<tr>
<td valign="top" align="center"><b>hotspot.ibnux.net</b></td>
</tr>
</tbody>
</table>

2
pages_template/.htaccess Normal file
View File

@ -0,0 +1,2 @@
Header add Access-Control-Allow-Origin "*"
Header add Access-Control-Allow-Methods: "GET,POST,OPTIONS,DELETE,PUT"

View File

@ -1 +1,3 @@
Pengumuman!!<br>Besok libur<br><br>Announcement!!<br>Tomorrow holiday<br>
Pengumuman!!<br>Besok libur<br><br>Announcement!!<br>Tomorrow holiday<br><br>
<br>
This Announcement is for Login Page.

View File

@ -0,0 +1,8 @@
Pengumuman Pelanggan!!<br>
Besok libur<br>
<br>
Customer Announcement!!<br>
Tomorrow holiday<br>
<br>
<br>
This Announcement is for Customer Dashboard

View File

@ -0,0 +1,62 @@
<h1>Privacy Policy for PHPNuxBill</h1>
<p>At PHPNuxBill, accessible from https://github.com/hotspotbilling/phpnuxbill, one of our main priorities is the
privacy of our visitors. This Privacy Policy document contains types of information that is collected and recorded
by PHPNuxBill and how we use it.</p>
<p>If you have additional questions or require more information about our Privacy Policy, do not hesitate to contact us.
</p>
<h2>Log Files</h2>
<p>PHPNuxBill follows a standard procedure of using log files. These files log visitors when they visit websites. All
hosting companies do this and a part of hosting services' analytics. The information collected by log files include
internet protocol (IP) addresses, browser type, Internet Service Provider (ISP), date and time stamp, referring/exit
pages, and possibly the number of clicks. These are not linked to any information that is personally identifiable.
The purpose of the information is for analyzing trends, administering the site, tracking users' movement on the
website, and gathering demographic information. Our Privacy Policy was created with the help of the <a
href="https://www.privacypolicyonline.com/privacy-policy-generator/">Privacy Policy Generator</a>.</p>
<h2>Privacy Policies</h2>
<P>You may consult this list to find the Privacy Policy for each of the advertising partners of PHPNuxBill.</p>
<p>Third-party ad servers or ad networks uses technologies like cookies, JavaScript, or Web Beacons that are used in
their respective advertisements and links that appear on PHPNuxBill, which are sent directly to users' browser. They
automatically receive your IP address when this occurs. These technologies are used to measure the effectiveness of
their advertising campaigns and/or to personalize the advertising content that you see on websites that you visit.
</p>
<p>Note that PHPNuxBill has no access to or control over these cookies that are used by third-party advertisers.</p>
<h2>Third Party Privacy Policies</h2>
<p>PHPNuxBill's Privacy Policy does not apply to other advertisers or websites. Thus, we are advising you to consult the
respective Privacy Policies of these third-party ad servers for more detailed information. It may include their
practices and instructions about how to opt-out of certain options. </p>
<p>You can choose to disable cookies through your individual browser options. To know more detailed information about
cookie management with specific web browsers, it can be found at the browsers' respective websites. What Are
Cookies?</p>
<h2>Children's Information</h2>
<p>Another part of our priority is adding protection for children while using the internet. We encourage parents and
guardians to observe, participate in, and/or monitor and guide their online activity.</p>
<p>PHPNuxBill does not knowingly collect any Personal Identifiable Information from children under the age of 13. If you
think that your child provided this kind of information on our website, we strongly encourage you to contact us
immediately and we will do our best efforts to promptly remove such information from our records.</p>
<h2>Online Privacy Policy Only</h2>
<p>This Privacy Policy applies only to our online activities and is valid for visitors to our website with regards to
the information that they shared and/or collect in PHPNuxBill. This policy is not applicable to any information
collected offline or via channels other than this website.</p>
<h2>Consent</h2>
<p>By using our website, you hereby consent to our Privacy Policy and agree to its Terms and Conditions.</p>

View File

@ -0,0 +1,119 @@
<h2><strong>Terms and Conditions</strong></h2>
<p>Welcome to PHPNuxBill!</p>
<p>These terms and conditions outline the rules and regulations for the use of PHPNuxBill's Website, located at https://github.com/hotspotbilling/phpnuxbill.</p>
<p>By accessing this website we assume you accept these terms and conditions. Do not continue to use PHPNuxBill if you do not agree to take all of the terms and conditions stated on this page.</p>
<p>The following terminology applies to these Terms and Conditions, Privacy Statement and Disclaimer Notice and all Agreements: "Client", "You" and "Your" refers to you, the person log on this website and compliant to the Companys terms and conditions. "The Company", "Ourselves", "We", "Our" and "Us", refers to our Company. "Party", "Parties", or "Us", refers to both the Client and ourselves. All terms refer to the offer, acceptance and consideration of payment necessary to undertake the process of our assistance to the Client in the most appropriate manner for the express purpose of meeting the Clients needs in respect of provision of the Companys stated services, in accordance with and subject to, prevailing law of Netherlands. Any use of the above terminology or other words in the singular, plural, capitalization and/or he/she or they, are taken as interchangeable and therefore as referring to same. Our Terms and Conditions were created with the help of the <a href="https://www.privacypolicyonline.com/terms-conditions-generator/">Terms & Conditions Generator</a>.</p>
<h3><strong>Cookies</strong></h3>
<p>We employ the use of cookies. By accessing PHPNuxBill, you agreed to use cookies in agreement with the PHPNuxBill's Privacy Policy.</p>
<p>Most interactive websites use cookies to let us retrieve the user's details for each visit. Cookies are used by our website to enable the functionality of certain areas to make it easier for people visiting our website. Some of our affiliate/advertising partners may also use cookies.</p>
<h3><strong>License</strong></h3>
<p>Unless otherwise stated, PHPNuxBill and/or its licensors own the intellectual property rights for all material on PHPNuxBill. All intellectual property rights are reserved. You may access this from PHPNuxBill for your own personal use subjected to restrictions set in these terms and conditions.</p>
<p>You must not:</p>
<ul>
<li>Republish material from PHPNuxBill</li>
<li>Sell, rent or sub-license material from PHPNuxBill</li>
<li>Reproduce, duplicate or copy material from PHPNuxBill</li>
<li>Redistribute content from PHPNuxBill</li>
</ul>
<p>This Agreement shall begin on the date hereof.</p>
<p>Parts of this website offer an opportunity for users to post and exchange opinions and information in certain areas of the website. PHPNuxBill does not filter, edit, publish or review Comments prior to their presence on the website. Comments do not reflect the views and opinions of PHPNuxBill,its agents and/or affiliates. Comments reflect the views and opinions of the person who post their views and opinions. To the extent permitted by applicable laws, PHPNuxBill shall not be liable for the Comments or for any liability, damages or expenses caused and/or suffered as a result of any use of and/or posting of and/or appearance of the Comments on this website.</p>
<p>PHPNuxBill reserves the right to monitor all Comments and to remove any Comments which can be considered inappropriate, offensive or causes breach of these Terms and Conditions.</p>
<p>You warrant and represent that:</p>
<ul>
<li>You are entitled to post the Comments on our website and have all necessary licenses and consents to do so;</li>
<li>The Comments do not invade any intellectual property right, including without limitation copyright, patent or trademark of any third party;</li>
<li>The Comments do not contain any defamatory, libelous, offensive, indecent or otherwise unlawful material which is an invasion of privacy</li>
<li>The Comments will not be used to solicit or promote business or custom or present commercial activities or unlawful activity.</li>
</ul>
<p>You hereby grant PHPNuxBill a non-exclusive license to use, reproduce, edit and authorize others to use, reproduce and edit any of your Comments in any and all forms, formats or media.</p>
<h3><strong>Hyperlinking to our Content</strong></h3>
<p>The following organizations may link to our Website without prior written approval:</p>
<ul>
<li>Government agencies;</li>
<li>Search engines;</li>
<li>News organizations;</li>
<li>Online directory distributors may link to our Website in the same manner as they hyperlink to the Websites of other listed businesses; and</li>
<li>System wide Accredited Businesses except soliciting non-profit organizations, charity shopping malls, and charity fundraising groups which may not hyperlink to our Web site.</li>
</ul>
<p>These organizations may link to our home page, to publications or to other Website information so long as the link: (a) is not in any way deceptive; (b) does not falsely imply sponsorship, endorsement or approval of the linking party and its products and/or services; and (c) fits within the context of the linking party's site.</p>
<p>We may consider and approve other link requests from the following types of organizations:</p>
<ul>
<li>commonly-known consumer and/or business information sources;</li>
<li>dot.com community sites;</li>
<li>associations or other groups representing charities;</li>
<li>online directory distributors;</li>
<li>internet portals;</li>
<li>accounting, law and consulting firms; and</li>
<li>educational institutions and trade associations.</li>
</ul>
<p>We will approve link requests from these organizations if we decide that: (a) the link would not make us look unfavorably to ourselves or to our accredited businesses; (b) the organization does not have any negative records with us; (c) the benefit to us from the visibility of the hyperlink compensates the absence of PHPNuxBill; and (d) the link is in the context of general resource information.</p>
<p>These organizations may link to our home page so long as the link: (a) is not in any way deceptive; (b) does not falsely imply sponsorship, endorsement or approval of the linking party and its products or services; and (c) fits within the context of the linking party's site.</p>
<p>If you are one of the organizations listed in paragraph 2 above and are interested in linking to our website, you must inform us by sending an e-mail to PHPNuxBill. Please include your name, your organization name, contact information as well as the URL of your site, a list of any URLs from which you intend to link to our Website, and a list of the URLs on our site to which you would like to link. Wait 2-3 weeks for a response.</p>
<p>Approved organizations may hyperlink to our Website as follows:</p>
<ul>
<li>By use of our corporate name; or</li>
<li>By use of the uniform resource locator being linked to; or</li>
<li>By use of any other description of our Website being linked to that makes sense within the context and format of content on the linking party's site.</li>
</ul>
<p>No use of PHPNuxBill's logo or other artwork will be allowed for linking absent a trademark license agreement.</p>
<h3><strong>iFrames</strong></h3>
<p>Without prior approval and written permission, you may not create frames around our Webpages that alter in any way the visual presentation or appearance of our Website.</p>
<h3><strong>Content Liability</strong></h3>
<p>We shall not be hold responsible for any content that appears on your Website. You agree to protect and defend us against all claims that is rising on your Website. No link(s) should appear on any Website that may be interpreted as libelous, obscene or criminal, or which infringes, otherwise violates, or advocates the infringement or other violation of, any third party rights.</p>
<h3><strong>Reservation of Rights</strong></h3>
<p>We reserve the right to request that you remove all links or any particular link to our Website. You approve to immediately remove all links to our Website upon request. We also reserve the right to amen these terms and conditions and it's linking policy at any time. By continuously linking to our Website, you agree to be bound to and follow these linking terms and conditions.</p>
<h3><strong>Removal of links from our website</strong></h3>
<p>If you find any link on our Website that is offensive for any reason, you are free to contact and inform us any moment. We will consider requests to remove links but we are not obligated to or so or to respond to you directly.</p>
<p>We do not ensure that the information on this website is correct, we do not warrant its completeness or accuracy; nor do we promise to ensure that the website remains available or that the material on the website is kept up to date.</p>
<h3><strong>Disclaimer</strong></h3>
<p>To the maximum extent permitted by applicable law, we exclude all representations, warranties and conditions relating to our website and the use of this website. Nothing in this disclaimer will:</p>
<ul>
<li>limit or exclude our or your liability for death or personal injury;</li>
<li>limit or exclude our or your liability for fraud or fraudulent misrepresentation;</li>
<li>limit any of our or your liabilities in any way that is not permitted under applicable law; or</li>
<li>exclude any of our or your liabilities that may not be excluded under applicable law.</li>
</ul>
<p>The limitations and prohibitions of liability set in this Section and elsewhere in this disclaimer: (a) are subject to the preceding paragraph; and (b) govern all liabilities arising under the disclaimer, including liabilities arising in contract, in tort and for breach of statutory duty.</p>
<p>As long as the website and the information and services on the website are provided free of charge, we will not be liable for any loss or damage of any nature.</p>

View File

@ -0,0 +1,27 @@
<table border="0" cellspacing="0" cellpadding="2">
<tr>
<td valign="middle">
<center><strong style="font-size:38px">[[company_name]]</strong></center>
<table width="100%" border="1" cellspacing="0" cellpadding="1" bordercolor="#757575">
<tbody>
<tr>
<td rowspan="4" width="1">[[qrcode]]
</td>
</tr>
<tr>
<td valign="middle" align="center" style="font-size:25px">
[[price]]</td>
</tr>
<tr>
<td valign="middle" align="center" style="font-size:20px">
[[voucher_code]]</td>
</tr>
<tr>
<td valign="middle" align="center" style="font-size:15px">
[[plan]]</td>
</tr>
</tbody>
</table>
</td>
</tr>
</table>

38
qrcode/CHANGELOG Normal file
View File

@ -0,0 +1,38 @@
* 1.0.0 build 2010031920
- first public release
- help in readme, install
- cleanup ans separation of QRtools and QRspec
- now TCPDF binding requires minimal changes in TCPDF, having most of job
done in QRtools tcpdfBarcodeArray
- nicer QRtools::timeBenchmark output
- license and copyright notices in files
- indent cleanup - from tab to 4spc, keep it that way please :)
- sf project, repository, wiki
- simple code generator in index.php
* 1.1.0 build 2010032113
- added merge tool wich generate merged version of code
located in phpqrcode.php
- splited qrconst.php from qrlib.php
* 1.1.1 build 2010032405
- patch by Rick Seymour allowing saving PNG and displaying it at the same time
- added version info in VERSION file
- modified merge tool to include version info into generated file
- fixed e-mail in almost all head comments
* 1.1.2 build 2010032722
- full integration with TCPDF thanks to Nicola Asuni, it's author
- fixed bug with alphanumeric encoding detection
* 1.1.3 build 2010081807
- short opening tags replaced with standard ones
* 1.1.4 build 2010100721
- added missing static keyword QRinput::check (found by Luke Brookhart, Onjax LLC)

67
qrcode/INSTALL Normal file
View File

@ -0,0 +1,67 @@
== REQUIREMENTS ==
* PHP5
* PHP GD2 extension with JPEG and PNG support
== INSTALLATION ==
If you want to recreate cache by yourself make sure cache directory is
writable and you have permisions to write into it. Also make sure you are
able to read files in it if you have cache option enabled
== CONFIGURATION ==
Feel free to modify config constants in qrconfig.php file. Read about it in
provided comments and project wiki page (links in README file)
== QUICK START ==
Notice: probably you should'nt use all of this in same script :)
<?phpb
//include only that one, rest required files will be included from it
include "qrlib.php"
//write code into file, Error corection lecer is lowest, L (one form: L,M,Q,H)
//each code square will be 4x4 pixels (4x zoom)
//code will have 2 code squares white boundary around
QRcode::png('PHP QR Code :)', 'test.png', 'L', 4, 2);
//same as above but outputs file directly into browser (with appr. header etc.)
//all other settings are default
//WARNING! it should be FIRST and ONLY output generated by script, otherwise
//rest of output will land inside PNG binary, breaking it for sure
QRcode::png('PHP QR Code :)');
//show benchmark
QRtools::timeBenchmark();
//rebuild cache
QRtools::buildCache();
//code generated in text mode - as a binary table
//then displayed out as HTML using Unicode block building chars :)
$tab = $qr->encode('PHP QR Code :)');
QRspec::debug($tab, true);
== TCPDF INTEGRATION ==
Inside bindings/tcpdf you will find slightly modified 2dbarcodes.php.
Instal phpqrcode liblaty inside tcpdf folder, then overwrite (or merge)
2dbarcodes.php
Then use similar as example #50 from TCPDF examples:
<?php
$style = array(
'border' => true,
'padding' => 4,
'fgcolor' => array(0,0,0),
'bgcolor' => false, //array(255,255,255)
);
//code name: QR, specify error correction level after semicolon (L,M,Q,H)
$pdf->write2DBarcode('PHP QR Code :)', 'QR,L', '', '', 30, 30, $style, 'N');

View File

@ -1,165 +1,165 @@
GNU LESSER GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
This version of the GNU Lesser General Public License incorporates
the terms and conditions of version 3 of the GNU General Public
License, supplemented by the additional permissions listed below.
0. Additional Definitions.
As used herein, "this License" refers to version 3 of the GNU Lesser
General Public License, and the "GNU GPL" refers to version 3 of the GNU
General Public License.
"The Library" refers to a covered work governed by this License,
other than an Application or a Combined Work as defined below.
An "Application" is any work that makes use of an interface provided
by the Library, but which is not otherwise based on the Library.
Defining a subclass of a class defined by the Library is deemed a mode
of using an interface provided by the Library.
A "Combined Work" is a work produced by combining or linking an
Application with the Library. The particular version of the Library
with which the Combined Work was made is also called the "Linked
Version".
The "Minimal Corresponding Source" for a Combined Work means the
Corresponding Source for the Combined Work, excluding any source code
for portions of the Combined Work that, considered in isolation, are
based on the Application, and not on the Linked Version.
The "Corresponding Application Code" for a Combined Work means the
object code and/or source code for the Application, including any data
and utility programs needed for reproducing the Combined Work from the
Application, but excluding the System Libraries of the Combined Work.
1. Exception to Section 3 of the GNU GPL.
You may convey a covered work under sections 3 and 4 of this License
without being bound by section 3 of the GNU GPL.
2. Conveying Modified Versions.
If you modify a copy of the Library, and, in your modifications, a
facility refers to a function or data to be supplied by an Application
that uses the facility (other than as an argument passed when the
facility is invoked), then you may convey a copy of the modified
version:
a) under this License, provided that you make a good faith effort to
ensure that, in the event an Application does not supply the
function or data, the facility still operates, and performs
whatever part of its purpose remains meaningful, or
b) under the GNU GPL, with none of the additional permissions of
this License applicable to that copy.
3. Object Code Incorporating Material from Library Header Files.
The object code form of an Application may incorporate material from
a header file that is part of the Library. You may convey such object
code under terms of your choice, provided that, if the incorporated
material is not limited to numerical parameters, data structure
layouts and accessors, or small macros, inline functions and templates
(ten or fewer lines in length), you do both of the following:
a) Give prominent notice with each copy of the object code that the
Library is used in it and that the Library and its use are
covered by this License.
b) Accompany the object code with a copy of the GNU GPL and this license
document.
4. Combined Works.
You may convey a Combined Work under terms of your choice that,
taken together, effectively do not restrict modification of the
portions of the Library contained in the Combined Work and reverse
engineering for debugging such modifications, if you also do each of
the following:
a) Give prominent notice with each copy of the Combined Work that
the Library is used in it and that the Library and its use are
covered by this License.
b) Accompany the Combined Work with a copy of the GNU GPL and this license
document.
c) For a Combined Work that displays copyright notices during
execution, include the copyright notice for the Library among
these notices, as well as a reference directing the user to the
copies of the GNU GPL and this license document.
d) Do one of the following:
0) Convey the Minimal Corresponding Source under the terms of this
License, and the Corresponding Application Code in a form
suitable for, and under terms that permit, the user to
recombine or relink the Application with a modified version of
the Linked Version to produce a modified Combined Work, in the
manner specified by section 6 of the GNU GPL for conveying
Corresponding Source.
1) Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (a) uses at run time
a copy of the Library already present on the user's computer
system, and (b) will operate properly with a modified version
of the Library that is interface-compatible with the Linked
Version.
e) Provide Installation Information, but only if you would otherwise
be required to provide such information under section 6 of the
GNU GPL, and only to the extent that such information is
necessary to install and execute a modified version of the
Combined Work produced by recombining or relinking the
Application with a modified version of the Linked Version. (If
you use option 4d0, the Installation Information must accompany
the Minimal Corresponding Source and Corresponding Application
Code. If you use option 4d1, you must provide the Installation
Information in the manner specified by section 6 of the GNU GPL
for conveying Corresponding Source.)
5. Combined Libraries.
You may place library facilities that are a work based on the
Library side by side in a single library together with other library
facilities that are not Applications and are not covered by this
License, and convey such a combined library under terms of your
choice, if you do both of the following:
a) Accompany the combined library with a copy of the same work based
on the Library, uncombined with any other library facilities,
conveyed under the terms of this License.
b) Give prominent notice with the combined library that part of it
is a work based on the Library, and explaining where to find the
accompanying uncombined form of the same work.
6. Revised Versions of the GNU Lesser General Public License.
The Free Software Foundation may publish revised and/or new versions
of the GNU Lesser General Public License from time to time. Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the
Library as you received it specifies that a certain numbered version
of the GNU Lesser General Public License "or any later version"
applies to it, you have the option of following the terms and
conditions either of that published version or of any later version
published by the Free Software Foundation. If the Library as you
received it does not specify a version number of the GNU Lesser
General Public License, you may choose any version of the GNU Lesser
General Public License ever published by the Free Software Foundation.
If the Library as you received it specifies that a proxy can decide
whether future versions of the GNU Lesser General Public License shall
apply, that proxy's public statement of acceptance of any version is
permanent authorization for you to choose that version for the
Library.
GNU LESSER GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
This version of the GNU Lesser General Public License incorporates
the terms and conditions of version 3 of the GNU General Public
License, supplemented by the additional permissions listed below.
0. Additional Definitions.
As used herein, "this License" refers to version 3 of the GNU Lesser
General Public License, and the "GNU GPL" refers to version 3 of the GNU
General Public License.
"The Library" refers to a covered work governed by this License,
other than an Application or a Combined Work as defined below.
An "Application" is any work that makes use of an interface provided
by the Library, but which is not otherwise based on the Library.
Defining a subclass of a class defined by the Library is deemed a mode
of using an interface provided by the Library.
A "Combined Work" is a work produced by combining or linking an
Application with the Library. The particular version of the Library
with which the Combined Work was made is also called the "Linked
Version".
The "Minimal Corresponding Source" for a Combined Work means the
Corresponding Source for the Combined Work, excluding any source code
for portions of the Combined Work that, considered in isolation, are
based on the Application, and not on the Linked Version.
The "Corresponding Application Code" for a Combined Work means the
object code and/or source code for the Application, including any data
and utility programs needed for reproducing the Combined Work from the
Application, but excluding the System Libraries of the Combined Work.
1. Exception to Section 3 of the GNU GPL.
You may convey a covered work under sections 3 and 4 of this License
without being bound by section 3 of the GNU GPL.
2. Conveying Modified Versions.
If you modify a copy of the Library, and, in your modifications, a
facility refers to a function or data to be supplied by an Application
that uses the facility (other than as an argument passed when the
facility is invoked), then you may convey a copy of the modified
version:
a) under this License, provided that you make a good faith effort to
ensure that, in the event an Application does not supply the
function or data, the facility still operates, and performs
whatever part of its purpose remains meaningful, or
b) under the GNU GPL, with none of the additional permissions of
this License applicable to that copy.
3. Object Code Incorporating Material from Library Header Files.
The object code form of an Application may incorporate material from
a header file that is part of the Library. You may convey such object
code under terms of your choice, provided that, if the incorporated
material is not limited to numerical parameters, data structure
layouts and accessors, or small macros, inline functions and templates
(ten or fewer lines in length), you do both of the following:
a) Give prominent notice with each copy of the object code that the
Library is used in it and that the Library and its use are
covered by this License.
b) Accompany the object code with a copy of the GNU GPL and this license
document.
4. Combined Works.
You may convey a Combined Work under terms of your choice that,
taken together, effectively do not restrict modification of the
portions of the Library contained in the Combined Work and reverse
engineering for debugging such modifications, if you also do each of
the following:
a) Give prominent notice with each copy of the Combined Work that
the Library is used in it and that the Library and its use are
covered by this License.
b) Accompany the Combined Work with a copy of the GNU GPL and this license
document.
c) For a Combined Work that displays copyright notices during
execution, include the copyright notice for the Library among
these notices, as well as a reference directing the user to the
copies of the GNU GPL and this license document.
d) Do one of the following:
0) Convey the Minimal Corresponding Source under the terms of this
License, and the Corresponding Application Code in a form
suitable for, and under terms that permit, the user to
recombine or relink the Application with a modified version of
the Linked Version to produce a modified Combined Work, in the
manner specified by section 6 of the GNU GPL for conveying
Corresponding Source.
1) Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (a) uses at run time
a copy of the Library already present on the user's computer
system, and (b) will operate properly with a modified version
of the Library that is interface-compatible with the Linked
Version.
e) Provide Installation Information, but only if you would otherwise
be required to provide such information under section 6 of the
GNU GPL, and only to the extent that such information is
necessary to install and execute a modified version of the
Combined Work produced by recombining or relinking the
Application with a modified version of the Linked Version. (If
you use option 4d0, the Installation Information must accompany
the Minimal Corresponding Source and Corresponding Application
Code. If you use option 4d1, you must provide the Installation
Information in the manner specified by section 6 of the GNU GPL
for conveying Corresponding Source.)
5. Combined Libraries.
You may place library facilities that are a work based on the
Library side by side in a single library together with other library
facilities that are not Applications and are not covered by this
License, and convey such a combined library under terms of your
choice, if you do both of the following:
a) Accompany the combined library with a copy of the same work based
on the Library, uncombined with any other library facilities,
conveyed under the terms of this License.
b) Give prominent notice with the combined library that part of it
is a work based on the Library, and explaining where to find the
accompanying uncombined form of the same work.
6. Revised Versions of the GNU Lesser General Public License.
The Free Software Foundation may publish revised and/or new versions
of the GNU Lesser General Public License from time to time. Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the
Library as you received it specifies that a certain numbered version
of the GNU Lesser General Public License "or any later version"
applies to it, you have the option of following the terms and
conditions either of that published version or of any later version
published by the Free Software Foundation. If the Library as you
received it does not specify a version number of the GNU Lesser
General Public License, you may choose any version of the GNU Lesser
General Public License ever published by the Free Software Foundation.
If the Library as you received it specifies that a proxy can decide
whether future versions of the GNU Lesser General Public License shall
apply, that proxy's public statement of acceptance of any version is
permanent authorization for you to choose that version for the
Library.

45
qrcode/README Normal file
View File

@ -0,0 +1,45 @@
This is PHP implementation of QR Code 2-D barcode generator. It is pure-php
LGPL-licensed implementation based on C libqrencode by Kentaro Fukuchi.
== LICENSING ==
Copyright (C) 2010 by Dominik Dzienia
This library is free software; you can redistribute it and/or modify it under
the terms of the GNU Lesser General Public License as published by the Free
Software Foundation; either version 3 of the License, or any later version.
This library is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE. See the GNU Lesser General Public License (LICENSE file)
for more details.
You should have received a copy of the GNU Lesser General Public License along
with this library; if not, write to the Free Software Foundation, Inc., 51
Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
== INSTALATION AND USAGE ==
* INSTALL file
* http://sourceforge.net/apps/mediawiki/phpqrcode/index.php?title=Main_Page
== CONTACT ==
Fell free to contact me via e-mail (deltalab at poczta dot fm) or using
folowing project pages:
* http://sourceforge.net/projects/phpqrcode/
* http://phpqrcode.sourceforge.net/
== ACKNOWLEDGMENTS ==
Based on C libqrencode library (ver. 3.1.1)
Copyright (C) 2006-2010 by Kentaro Fukuchi
http://megaui.net/fukuchi/works/qrencode/index.en.html
QR Code is registered trademarks of DENSO WAVE INCORPORATED in JAPAN and other
countries.
Reed-Solomon code encoder is written by Phil Karn, KA9Q.
Copyright (C) 2002, 2003, 2004, 2006 Phil Karn, KA9Q

2
qrcode/VERSION Normal file
View File

@ -0,0 +1,2 @@
1.1.4
2010100721

File diff suppressed because it is too large Load Diff

2
qrcode/cache/frame_1.dat vendored Normal file
View File

@ -0,0 +1,2 @@
<EFBFBD><EFBFBD>
<EFBFBD> E9<45>u<06><>`<60>"PńC<C584>T!0$

BIN
qrcode/cache/frame_1.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 126 B

BIN
qrcode/cache/frame_10.dat vendored Normal file

Binary file not shown.

BIN
qrcode/cache/frame_10.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 202 B

BIN
qrcode/cache/frame_11.dat vendored Normal file

Binary file not shown.

BIN
qrcode/cache/frame_11.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 205 B

BIN
qrcode/cache/frame_12.dat vendored Normal file

Binary file not shown.

BIN
qrcode/cache/frame_12.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 216 B

BIN
qrcode/cache/frame_13.dat vendored Normal file

Binary file not shown.

BIN
qrcode/cache/frame_13.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 210 B

BIN
qrcode/cache/frame_14.dat vendored Normal file

Binary file not shown.

BIN
qrcode/cache/frame_14.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 213 B

BIN
qrcode/cache/frame_15.dat vendored Normal file

Binary file not shown.

BIN
qrcode/cache/frame_15.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 219 B

1
qrcode/cache/frame_16.dat vendored Normal file
View File

@ -0,0 +1 @@
x<EFBFBD><EFBFBD><EFBFBD>A<0E> E]s<>IX<49>;<3B><01>n6<6E><36>`<60>q<EFBFBD><71><EFBFBD>W6<57><36><EFBFBD><04>`<60>%A/3!<21><><EFBFBD><EFBFBD><EFBFBD>!g<><67>̡<EFBFBD>1N) <0B>E<EFBFBD><45>|;<3B><>>6⸏<36>97$<0E><><EFBFBD><EFBFBD>c]kk<6B><6B>w<EFBFBD>1<EFBFBD><31>[<5B>m<EFBFBD>C͜c<CD9C>R<><52><EFBFBD><EFBFBD>><3E><><1A><><EFBFBD>E,<2C>hʼnp<C589>#<1C>xF<1C>yW<79><57>VWG<57><47><EFBFBD>3<EFBFBD><33>+<2B><0F><><EFBFBD>˓<EFBFBD>S<EFBFBD><53><>#<1C>G8b^c^c<><63><11>p<EFBFBD>c&3YQ"<11><1B><><EFBFBD><EFBFBD>v<EFBFBD><76><11><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>k<EFBFBD>9<EFBFBD>܇<EFBFBD>}<7D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <09>Ŀ<EFBFBD>Q<><51>L<EFBFBD>/<2F><><EFBFBD><EFBFBD>

BIN
qrcode/cache/frame_16.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 211 B

BIN
qrcode/cache/frame_17.dat vendored Normal file

Binary file not shown.

BIN
qrcode/cache/frame_17.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 211 B

2
qrcode/cache/frame_18.dat vendored Normal file
View File

@ -0,0 +1,2 @@
x<EFBFBD><EFBFBD><EFBFBD>A
<EFBFBD>0E]<5D>օ,2;s<><73>&<26>͚h<14><1D><>O<EFBFBD><4F><EFBFBD><7F><EFBFBD><EFBFBD>1&09OIv@DD<44> <0C>&<26>ىK<D989>X<EFBFBD><58>Fv<46><<11>dq<64>9<><%h<><68> Y<>s !(d<><64><EFBFBD>s;~||b(<28><>Yůg#<23>`<60>K<16><>S<EFBFBD><53><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6>s<1C>idߍLg:ә<>t<EFBFBD>/gm<67><6D><EFBFBD><EFBFBD>k<EFBFBD>M<>3<EFBFBD>{<7B>4rT<72>Q<EFBFBD><51>e<EFBFBD><65>s<EFBFBD>><3E><>t<EFBFBD>3<EFBFBD><33><EFBFBD>;<12>H<EFBFBD><>t<EFBFBD>3<EFBFBD><EFBFBD>Y<EFBFBD>+og<>h<EFBFBD><68><EFBFBD><EFBFBD>ٽ<EFBFBD>ln<6C><6E>F><3E>i^<5E>#awm;g<>~p<>g<EFBFBD>Ns{6z<36><7A><EFBFBD><EFBFBD><19><><EFBFBD><EFBFBD>p<><70>'

BIN
qrcode/cache/frame_18.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 228 B

3
qrcode/cache/frame_19.dat vendored Normal file
View File

@ -0,0 +1,3 @@
x<EFBFBD><EFBFBD><EFBFBD>A
<EFBFBD> E<><45><EFBFBD>.<2E>No<4E><37><D19B>iiR<>N2<4E><32>W%<25>x<04>@<40>ڜ<EFBFBD>'<27>
u<EFBFBD>6<EFBFBD><EFBFBD><EFBFBD>.<2E>*S;}<7D><><EFBFBD>à<EFBFBD>T <0B><><EFBFBD>zr<>t<><74>%<25>,<2C><><EFBFBD><EFBFBD><EFBFBD>}<7D>;<3B><><EFBFBD>)<29><><EFBFBD><EFBFBD><EFBFBD>Z<EFBFBD><5A>L<EFBFBD><4C><EFBFBD><EFBFBD><EFBFBD>P<EFBFBD><50>$<24><><EFBFBD><1E>q<EFBFBD>g<EFBFBD>L<EFBFBD><4C>dJ<64>;<3B><>w<><77><EFBFBD>.]z#<23><><EFBFBD><><CD9D>Og<4F><67><EFBFBD><EFBFBD>"<22><> <09>B<EFBFBD><17><>}<7D>}<7D>;<3B><>w<><77><1D><>#1Gb<47><62>;<3B><>w<><77><EFBFBD>_<EFBFBD>C+w<>@Df<44><04><><EFBFBD><EFBFBD>u<EFBFBD><75>2<EFBFBD><32><EFBFBD><EFBFBD>N<EFBFBD><4E>9R7|pW<70>k<EFBFBD><6B><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>k<><6B><EFBFBD><07><><1C><><1C><>

BIN
qrcode/cache/frame_19.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 225 B

1
qrcode/cache/frame_2.dat vendored Normal file
View File

@ -0,0 +1 @@
x<EFBFBD>͒<EFBFBD>

BIN
qrcode/cache/frame_2.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 144 B

BIN
qrcode/cache/frame_20.dat vendored Normal file

Binary file not shown.

BIN
qrcode/cache/frame_20.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 225 B

1
qrcode/cache/frame_21.dat vendored Normal file
View File

@ -0,0 +1 @@
x<EFBFBD><EFBFBD><EFBFBD>A<0E> E]s<>IX<49>;<3B><01>n6Up<55><13><>в<EFBFBD><D0B2><>< i-eW<65><57><EFBFBD><EFBFBD>)<29><>ŕ<EFBFBD><C595>…H\jvq<76>HL\6<><36><EFBFBD>ЅrI<72><06><4C><DCB9>%<25><18>@<40><><EFBFBD>V<EFBFBD>v<EFBFBD><76><EFBFBD><EFBFBD><EFBFBD>(<28>P4|<7C>Xn<58>gɝ<><15>~]D<><44><EFBFBD><EFBFBD>u1Us S\<5C><16><>,<2C><>2<EFBFBD><1F>N<EFBFBD><4E>?D<>K<EFBFBD><4B>F-:<3A>eJ]p_<70><16><>,<2C>a0<61>`<60><><EFBFBD> X<><16>`<60><> <0C>w,` X<>]<5D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>5 <0B><>Y4{<7B><><EFBFBD><EFBFBD>2<EFBFBD><32><EFBFBD>v<EFBFBD>Js<4A><73><EFBFBD><EFBFBD>9<EFBFBD><39><EFBFBD>)<29>u<EFBFBD>۹<EFBFBD><DBB9><EFBFBD>,<17>]<5D><><EFBFBD><EFBFBD>^_<>7$<24>_<EFBFBD>

BIN
qrcode/cache/frame_21.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 235 B

3
qrcode/cache/frame_22.dat vendored Normal file
View File

@ -0,0 +1,3 @@
x<EFBFBD><EFBFBD><EFBFBD>A
<EFBFBD>0 E]{<7B><>.<2E>]{{{<7B><>Z<EFBFBD>Bep<65><06>we@<1F>V<EFBFBD>ERZ3<5A><33>"*2o<32>4<EFBFBD>y<EFBFBD>)i#d<>bdF҅<46><12>I"<22><><14>4<EFBFBD><34>W<17>I<EFBFBD>u<EFBFBD><75>45<34>x<EFBFBD>.Z<>S<EFBFBD>{<7B><><EFBFBD>8<EFBFBD><38><07>k={o.<2E>q<EFBFBD><71><01>[<13><>:帒q<E5B892><71><EFBFBD>y
)t#<23><>N8<4E>dCj<43>-O<>OG}<7D>:/<2F>:s<>z!<21>)^<<3C>e<EFBFBD><65>S<EFBFBD>u<EFBFBD>{<7B> '<27>p<EFBFBD> '<27>=<3D>=<3D>=<3D>'<27>p<EFBFBD> '<27>p<EFBFBD>ߣߣ<DFA3><DFA3><1F>N8<4E><38><EFBFBD><EFBFBD>9<EFBFBD><39><EFBFBD><EFBFBD>pQQ<51>]H<19>pz<70><7A><EFBFBD>G<EFBFBD>^<5E><>Q<EFBFBD><51>I|<7C>߳<EFBFBD>u;9<><39><EFBFBD><EFBFBD><EFBFBD>d;<3B>X$<24><><EFBFBD><13>t<1E><><1B><>dy

BIN
qrcode/cache/frame_22.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 226 B

3
qrcode/cache/frame_23.dat vendored Normal file
View File

@ -0,0 +1,3 @@
x<EFBFBD><EFBFBD><EFBFBD>A
<EFBFBD> E<><45><EFBFBD>fo<>7ћU<D19B>) %M!Δ<><CE94>Yu(<<1E><><17>sK<73><4B>T<EFBFBD><54><EFBFBD>
<EFBFBD>&<26>I<>\i+<2B>Ъ<EFBFBD>(m<><6D>FQ<46><51><EFBFBD>h<EFBFBD><68><EFBFBD><EFBFBD><EFBFBD>v~n1<6E>o<>]s<><73><EFBFBD><EFBFBD><EFBFBD><18>3`<60>_w2<77>ȹ<EFBFBD>lc[<5B><>;<3B><12>c֟ˤ<D69F>N<EFBFBD><4E>4<EFBFBD>p<EFBFBD>

BIN
qrcode/cache/frame_23.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 220 B

1
qrcode/cache/frame_24.dat vendored Normal file
View File

@ -0,0 +1 @@
x<EFBFBD><EFBFBD><EFBFBD>A<0E> E<><45><EFBFBD>MX0;<3B><><EFBFBD>nVP4<50>HSS<19>x<EFBFBD>U3<55>/O<><4F> LiJ4<4A><34><EFBFBD>V<EFBFBD> JC<4A>%<25><>6VR&<16><>D<EFBFBD>B<EFBFBD>HjD<6A><44>J<0E>??<3F><><EFBFBD>Bl<42>cDZ<><C7B1><EFBFBD>'<27>U<EFBFBD><55>X<EFBFBD>U<EFBFBD>ޏ0<DE8F><30>yw<79>į<EFBFBD>j<EFBFBD><6A><EFBFBD><33><C59B><EFBFBD>cj<63><6A><EFBFBD>{<7B><><12>:Gq<>G<1C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><0E>N<EFBFBD>v;<3B><>笓J <0C><><EFBFBD><<3C><><EFBFBD>]<5D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>#<23>8<EFBFBD><38>#<23>8<EFBFBD>H'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Gq<>G<1C><>tr:9<>#<23>8<EFBFBD><38>#<23>8<EFBFBD>ؓh<D893><68><15>N<EFBFBD>t<EFBFBD><74><EFBFBD><EFBFBD>_<EFBFBD><5F>>t<>e<EFBFBD><65>S<EFBFBD><53><EFBFBD><EFBFBD><EFBFBD><EFBFBD>^<5E>\g<><67><EFBFBD>Qe?<3F>vu<><75>o<EFBFBD><6F>;<3B><1A>><3E><>*<2A>wl<77><02>m<>

BIN
qrcode/cache/frame_24.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 242 B

3
qrcode/cache/frame_25.dat vendored Normal file
View File

@ -0,0 +1,3 @@
x<EFBFBD><EFBFBD><EFBFBD>A
<EFBFBD> <10><><EFBFBD>s낋<73>]r<>x<13>Y51mM<>BG
<EFBFBD><EFBFBD>*Sx|Ua<35>Z<><5A><EFBFBD>-,<2C>1<EFBFBD><31>H<15>P<EFBFBD>Rj<52><6A>X5<58><35>i<EFBFBD><69><EFBFBD><EFBFBD>G<EFBFBD>>W<><57><EFBFBD>R<EFBFBD><52><EFBFBD>/<2F><>+uT廯<54> <0C>ӯ嗴<D3AF>u<EFBFBD><75><0E><>[S<>a<EFBFBD>[kv<6B><76>5<EFBFBD>+5n<1F><><EFBFBD>J<EFBFBD><4A>%+V<>X<EFBFBD><62>߬u'<27><07><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>SR<53><52><EFBFBD><EFBFBD>tzZ<7A><5A>+<2B>+V<>X<EFBFBD><62>ٟٟٟ<D99F><D99F>+V<>X<EFBFBD>b<EFBFBD><62><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+V<>X<EFBFBD><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>VI<56><49><EFBFBD><EFBFBD><15>+k<>q<>[<5B><>t<1E><>oVZ<56><5A>voNV<4E>w<1C>}<7D>{<7B>r<ýR<C3BD><52>"<22>R<EFBFBD><52>]<1D>

BIN
qrcode/cache/frame_25.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 242 B

2
qrcode/cache/frame_26.dat vendored Normal file
View File

@ -0,0 +1,2 @@
x<EFBFBD><EFBFBD><EFBFBD>A
<EFBFBD> E<><45>օ,t<>7<EFBFBD>7ћU<D19B> E)i7<><37>*~c<><63><EFBFBD><EFBFBD>X<14>EB<45><42><EFBFBD>FC<><43><EFBFBD>6<EFBFBD>:&<26>L,<2C><>Mv.<2E><><EFBFBD><EFBFBD>Kg<4B>ո<EFBFBD>YM<59>><3E><><EFBFBD>><3E><6D>?<3F><>v<><76><EFBFBD>mg?<3F><>ұ<EFBFBD><D2B1><EFBFBD><EFBFBD>η<1D>d<EFBFBD><64>C<><16>U<EFBFBD><55>Ik<49><6B><EFBFBD>E\<5C><>Ms<4D>f<>a<EFBFBD>f<>a><3E>[sӈ9쬩ެ8b<38><k<><6B>7<EFBFBD>}<7D><>k<><6B><EFBFBD><EFBFBD><EFBFBD><EFBFBD>3<EFBFBD>0<EFBFBD> 3<>0<EFBFBD> 3<><33>*r<15><>\<5C>7 f<>a<EFBFBD>f<>a<EFBFBD>fr<15><>\<5C>7 f<>a<EFBFBD>f<>a<EFBFBD>Y<EFBFBD><59><18><> <0C>d<EFBFBD>4<EFBFBD>9k<><6B><EFBFBD><EFBFBD><EFBFBD>y<EFBFBD>X y<>g<EFBFBD><67><EFBFBD>)<1B><>dw<64><6E>U<EFBFBD>><3E><><EFBFBD>]<5D><>Lg<4C><67><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Eo<45> w1

BIN
qrcode/cache/frame_26.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 244 B

BIN
qrcode/cache/frame_27.dat vendored Normal file

Binary file not shown.

BIN
qrcode/cache/frame_27.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 237 B

BIN
qrcode/cache/frame_28.dat vendored Normal file

Binary file not shown.

BIN
qrcode/cache/frame_28.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 234 B

2
qrcode/cache/frame_29.dat vendored Normal file
View File

@ -0,0 +1,2 @@
x<EFBFBD><EFBFBD><EFBFBD>A<0E> <10>a<EFBFBD>޺ <09><><EFBFBD><EFBFBD>@n7+*<2A><><EFBFBD><EFBFBD>4<EFBFBD>!<21>?<3F>J<EFBFBD><4A><EFBFBD> <09><><EFBFBD><EFBFBD>]<5D><1A><>S<EFBFBD><53>Tf)<29><>s<EFBFBD>I<EFBFBD>"<22>Ȕb<C894><62>0<EFBFBD><30>|<7C>"Luٸ<75>,<2C><>E<18>1\6<>*<2A>uQ<75>?<3F>>a<>υ<EFBFBD><CF85><EFBFBD><EFBFBD><EFBFBD>R<EFBFBD>-r<><72><EFBFBD>n.<2E>ꯋ\<5C>T<EFBFBD><54>:<3A>*)|)<29><> ,<2C><> ,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>x_<78><5F>}:^R<><52>U<6F>u<EFBFBD>~<7E>މX`<60>XЏЏЏЏ<D08F>_`<60>X`<60>XЏЏЏ<D08F>_`<60>X`<60>XЏЏЏЏ<D08F>wb<77>X`<60><16><>PU<><55>)D<><44>"c<>{<7B>z<EFBFBD><7A><EFBFBD>3<EFBFBD><33><EFBFBD><}<7D><><EFBFBD>^?b<>m<EFBFBD><6D><EFBFBD><EFBFBD><EC9E83><EFBFBD><EFBFBD><EFBFBD>a<EFBFBD><61><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.<2E>]
<EFBFBD>{Q6u<07>T,9

BIN
qrcode/cache/frame_29.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 232 B

1
qrcode/cache/frame_3.dat vendored Normal file
View File

@ -0,0 +1 @@
x<EFBFBD><EFBFBD><EFBFBD><EFBFBD>

BIN
qrcode/cache/frame_3.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 B

BIN
qrcode/cache/frame_30.dat vendored Normal file

Binary file not shown.

BIN
qrcode/cache/frame_30.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 255 B

1
qrcode/cache/frame_31.dat vendored Normal file
View File

@ -0,0 +1 @@
x<EFBFBD><EFBFBD><EFBFBD>A<0E> <10>a<EFBFBD>޺ <0B><>

BIN
qrcode/cache/frame_31.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 260 B

2
qrcode/cache/frame_32.dat vendored Normal file
View File

@ -0,0 +1,2 @@
x<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD> <14><>־<EFBFBD><D6BE><EFBFBD><EFBFBD>.<2E> <20>D<EFBFBD>l<EFBFBD>, <0C><>Mz<4D><7A>6<EFBFBD><10>Ç gcJ<63>D;<3B>'.<2E>A<EFBFBD>Iq<49>މ<EFBFBD>I,Ir<49>Y<EFBFBD><59><EFBFBD><EFBFBD>Fk%<25>D<EFBFBD>O<14>y|ED<45>D<EFBFBD><44>(L<>_Y<5F><59>>*ߚ?a<>O<EFBFBD><15>k<7F>L_<4C><[c<><63><EFBFBD><EFBFBD>><3E><63>u<1C>LI<4C><49>%<25>#<23>0<EFBFBD>#<23>0<EFBFBD>#<23><>otѢ<74><D1A2><EFBFBD>}<7D><>4<EFBFBD>f<EFBFBD>v_)<29><>E<EFBFBD>p<EFBFBD><1F><>h5R<35><52>8<EFBFBD>8<EFBFBD>1<EFBFBD>#<23>0<EFBFBD>#<23>0<EFBFBD><30><EFBFBD>i<EFBFBD><69>tZ<74>#<23>0<EFBFBD>#<23>0<EFBFBD>#<23>0<EFBFBD><30><EFBFBD>i<EFBFBD><69>tZ<74>#<23>0<EFBFBD>#<23>0<EFBFBD>#<23>0<EFBFBD><30><EFBFBD>i<EFBFBD><69>tZ<74>l<EFBFBD>0<EFBFBD>#<23>0<EFBFBD><08><>9q"<22><>HܜH<DC9C>Q<EFBFBD><51><1B><>"<22><>L5}-<2D><><59><D7BE><EFBFBD>k<EFBFBD>`<60><>><3E>z<><E9B8B3><EFBFBD>4&<26>p<EFBFBD><70>!<21><><EFBFBD>!<21><>`<60>:5

BIN
qrcode/cache/frame_32.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 262 B

14
qrcode/cache/frame_33.dat vendored Normal file
View File

@ -0,0 +1,14 @@
x<EFBFBD><EFBFBD><EFBFBD>A<0E> <10>a<EFBFBD>޺<EFBFBD><DEBA><EFBFBD><EFBFBD><EFBFBD>@n7+*L++<2B><12><><05><>bb<62>*LC<4C><12><><EFBFBD><EFBFBD>c k<>H<EFBFBD>r<><72>j<EFBFBD><6A><EFBFBD>J5Y<35>i~0<>_<EFBFBD><5F><EFBFBD><EFBFBD><EFBFBD>T<EFBFBD>T<EFBFBD>}<7D><>e<EFBFBD>><3E><>5<EFBFBD>b_<62>w<EFBFBD>͟?<3F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><0E>\<5C><>Ra<>i+7<><37>W<EFBFBD><57>\<5C><>wLUN<55>L<EFBFBD><4C>
+<2B><><EFBFBD>
+<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>j<EFBFBD><6A>O<4F><7F>kc<6B><63><EFBFBD><EFBFBD><1D>\˩|%<25>o<<3C><>k<EFBFBD><6B>L<EFBFBD>+<2B>+<2B>v<EFBFBD><76><EFBFBD>
+<2B><><EFBFBD>
+<2B><>Š>}<06> <0C>8<><38><EFBFBD>
+<2B><><EFBFBD>
+<2B><><EFBFBD>
+<2B> <0C><19>3<EFBFBD>g<EFBFBD><67><EFBFBD>
+<2B><><EFBFBD>
+<2B><><EFBFBD>
+<2B><>3<EFBFBD>g<EFBFBD><67>@<40><><EFBFBD>
+<2B><><EFBFBD>
+<2B><><EFBFBD>
+<2B><>:R<><52><EFBFBD>X<EFBFBD><58>B<EFBFBD>9<EFBFBD><39>I<EFBFBD>=<>k<EFBFBD><07><>o/Sw<53>ؘ<EFBFBD>ٯ<EFBFBD>`g<><67><EFBFBD><EFBFBD><EFBFBD><1C>r_ٙ<5F>Y<EFBFBD><59>VSY<53><59>zIefnmQoz

Some files were not shown because too many files have changed in this diff Show More