mirror of
https://github.com/opensourcepos/opensourcepos.git
synced 2026-05-31 19:57:24 -04:00
Compare commits
1826 Commits
3.2.3
...
master.3.4
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d87d27dec9 | ||
|
|
92f25c3993 | ||
|
|
3116903129 | ||
|
|
cff79601e4 | ||
|
|
9ca998d523 | ||
|
|
0efd58217f | ||
|
|
72eab0cd28 | ||
|
|
a258567955 | ||
|
|
ca4782f751 | ||
|
|
e638ff8595 | ||
|
|
5f10fda2c1 | ||
|
|
1faeccc596 | ||
|
|
fb328e4fb0 | ||
|
|
136f778028 | ||
|
|
8ed0091400 | ||
|
|
977d1869e6 | ||
|
|
cc527d8426 | ||
|
|
aa28c0dbf0 | ||
|
|
15f41c129c | ||
|
|
ee30b4d544 | ||
|
|
2d0029e605 | ||
|
|
3fb4b398ea | ||
|
|
ebe1860858 | ||
|
|
7f18d7c1fa | ||
|
|
e77b357b38 | ||
|
|
3e90244410 | ||
|
|
2689426e15 | ||
|
|
fc3cff5225 | ||
|
|
5cee7cd005 | ||
|
|
e29b8b1b87 | ||
|
|
b3e49f05d1 | ||
|
|
274ad1afde | ||
|
|
d4df4e96b6 | ||
|
|
20f104abc8 | ||
|
|
25b22a2ebe | ||
|
|
6ecd9a91c4 | ||
|
|
d2f48a9987 | ||
|
|
c90631fe38 | ||
|
|
dfb47060fa | ||
|
|
f50cbbf29d | ||
|
|
a186de7db2 | ||
|
|
4845230bd3 | ||
|
|
ac0ec7d729 | ||
|
|
25b3de4f2f | ||
|
|
aee186b2a6 | ||
|
|
352036209f | ||
|
|
9ff8611672 | ||
|
|
2f4c95ecd2 | ||
|
|
97159d42c7 | ||
|
|
2b9155d2f1 | ||
|
|
dab1640e70 | ||
|
|
2bc70f6426 | ||
|
|
15130140be | ||
|
|
aab5ae685a | ||
|
|
afedaa4510 | ||
|
|
0e79e145c3 | ||
|
|
fabc4d7153 | ||
|
|
0e2b7a87d9 | ||
|
|
115b014a8c | ||
|
|
70bb633581 | ||
|
|
1c86b0b697 | ||
|
|
75684ab009 | ||
|
|
b7e164a4a6 | ||
|
|
ddc12be596 | ||
|
|
0147c3a80e | ||
|
|
6dc3816c46 | ||
|
|
88ca4aca87 | ||
|
|
ae37dd9bea | ||
|
|
e24cd75f0d | ||
|
|
b79e93ccb6 | ||
|
|
ad3399b1f6 | ||
|
|
a3b45f0f4b | ||
|
|
200cab389a | ||
|
|
b53d0ad821 | ||
|
|
8fa6992b00 | ||
|
|
fe6d599005 | ||
|
|
374cacd860 | ||
|
|
fcd65a6e9c | ||
|
|
309417c405 | ||
|
|
50bca01126 | ||
|
|
fa9bb50b73 | ||
|
|
2ec186d3a3 | ||
|
|
1574e99338 | ||
|
|
1c36e649d6 | ||
|
|
01b8828871 | ||
|
|
0e2fbb9832 | ||
|
|
87c788af62 | ||
|
|
ac9830ec2b | ||
|
|
3d3c928d98 | ||
|
|
a3d8b11be0 | ||
|
|
4929d7c8ce | ||
|
|
5493c75320 | ||
|
|
1e1e992f94 | ||
|
|
e26f9e9fa7 | ||
|
|
a90af8dd9e | ||
|
|
13a6ce3e45 | ||
|
|
7af15c253c | ||
|
|
3f18619497 | ||
|
|
8a904ba749 | ||
|
|
aaa1055adc | ||
|
|
cddc67bb2d | ||
|
|
246a121203 | ||
|
|
4402d35ed7 | ||
|
|
3696e7237b | ||
|
|
f2e20266d3 | ||
|
|
12952aaa26 | ||
|
|
faebbce51a | ||
|
|
5f9ed5c576 | ||
|
|
24644eaf19 | ||
|
|
3314705d7a | ||
|
|
c9552585bf | ||
|
|
e9f4e81f37 | ||
|
|
763cb0c06b | ||
|
|
493e295701 | ||
|
|
a4a31ade22 | ||
|
|
03187da0d9 | ||
|
|
ac6e421906 | ||
|
|
feb7d1847c | ||
|
|
b0190e416f | ||
|
|
19bd43280d | ||
|
|
3ebda3cc98 | ||
|
|
6503621f1d | ||
|
|
c8ad6b911a | ||
|
|
20eb15beaf | ||
|
|
7dca1decd5 | ||
|
|
6e11b1d242 | ||
|
|
a60a4904cb | ||
|
|
dce47200bf | ||
|
|
b255ce8609 | ||
|
|
5fd211d3a8 | ||
|
|
c977f16859 | ||
|
|
2bebfba3ef | ||
|
|
1c9a1a3550 | ||
|
|
fa6d0004de | ||
|
|
dce9e889e4 | ||
|
|
ef488fe0cd | ||
|
|
e2a3647227 | ||
|
|
c19612814e | ||
|
|
bb64e1db00 | ||
|
|
49137f5a76 | ||
|
|
e9dd350222 | ||
|
|
663da89293 | ||
|
|
8513a2b85b | ||
|
|
d70a90e12c | ||
|
|
aa9d2519f4 | ||
|
|
fc4e320ee3 | ||
|
|
b42b26b469 | ||
|
|
392d92b3b9 | ||
|
|
3405c9f974 | ||
|
|
72465d36e3 | ||
|
|
e596cd43c2 | ||
|
|
48daa94926 | ||
|
|
810a2f7e7a | ||
|
|
96c69f927f | ||
|
|
8229092cad | ||
|
|
34e0c28886 | ||
|
|
73fe8a0e0b | ||
|
|
0ff1782cd3 | ||
|
|
e89aed188b | ||
|
|
2b4cdfb2a1 | ||
|
|
4f8dc9003a | ||
|
|
5cac9bb5ed | ||
|
|
59fe090b5e | ||
|
|
080e8ac20c | ||
|
|
46346a5b46 | ||
|
|
dfd19c38f2 | ||
|
|
b400223c57 | ||
|
|
adb17c9865 | ||
|
|
793bd7b093 | ||
|
|
a84c734c75 | ||
|
|
c2cee3c603 | ||
|
|
954d2bdb37 | ||
|
|
8b03b98b57 | ||
|
|
0fb93d6d14 | ||
|
|
a3a06fdb07 | ||
|
|
85b9e3bf65 | ||
|
|
990daef2c2 | ||
|
|
1a26f096fe | ||
|
|
8c15742f56 | ||
|
|
51ec09d527 | ||
|
|
d29bab6974 | ||
|
|
f06f020df2 | ||
|
|
d0dd8667b5 | ||
|
|
0fde542bec | ||
|
|
4d447167c2 | ||
|
|
e52c17efd4 | ||
|
|
3f372c2f9d | ||
|
|
5b715a7e65 | ||
|
|
7ab6ef758e | ||
|
|
d701f770cb | ||
|
|
3f5e0b91da | ||
|
|
26083171be | ||
|
|
6df9ac6a99 | ||
|
|
3b1f4590ca | ||
|
|
da17356e89 | ||
|
|
34f72d8b6a | ||
|
|
05942fe2f3 | ||
|
|
162ca73ec2 | ||
|
|
23f720ba40 | ||
|
|
ec587cc8a8 | ||
|
|
d4f273e306 | ||
|
|
b0ed2bd34f | ||
|
|
3babfd2473 | ||
|
|
e92a929ae3 | ||
|
|
21722f0749 | ||
|
|
ca730c8f9c | ||
|
|
ea70956229 | ||
|
|
4b65aa628a | ||
|
|
4d03915612 | ||
|
|
6e546a098e | ||
|
|
a87faf8b1d | ||
|
|
030ddea814 | ||
|
|
a6cc04f49f | ||
|
|
da17d536ee | ||
|
|
7a4cf1e2bd | ||
|
|
ddcfc0c3f0 | ||
|
|
4edc44a816 | ||
|
|
03863f3737 | ||
|
|
7981d5ae77 | ||
|
|
8e3d90b62e | ||
|
|
98363eec4c | ||
|
|
ca98ca89b9 | ||
|
|
9e339385a3 | ||
|
|
858246b335 | ||
|
|
51bf757ffc | ||
|
|
71f339028a | ||
|
|
b4fc061629 | ||
|
|
e2a8c4a615 | ||
|
|
df45d8baf6 | ||
|
|
6705e5f259 | ||
|
|
68a2292d49 | ||
|
|
c5b22a0300 | ||
|
|
be7d14c295 | ||
|
|
485c24a123 | ||
|
|
6f2ac77a6e | ||
|
|
6e790aeea1 | ||
|
|
2cb65bc2cb | ||
|
|
83ab188c8d | ||
|
|
e20bf34a74 | ||
|
|
0daf08bf94 | ||
|
|
9297db9272 | ||
|
|
d9dbb3d642 | ||
|
|
5583a97772 | ||
|
|
630e38054a | ||
|
|
685033807a | ||
|
|
c38801d8c0 | ||
|
|
41f218806b | ||
|
|
8e52bd4c1a | ||
|
|
2a66107cbc | ||
|
|
2dec15c760 | ||
|
|
dcda176614 | ||
|
|
98306e20be | ||
|
|
a8e505d668 | ||
|
|
3acf9056ec | ||
|
|
9e800fa2c3 | ||
|
|
5578b40185 | ||
|
|
03e2bed008 | ||
|
|
c57a3d8973 | ||
|
|
6178b7b678 | ||
|
|
4e85b8a677 | ||
|
|
23e4deb7c4 | ||
|
|
f7d06c1da4 | ||
|
|
a25653e3cf | ||
|
|
49ef2a2105 | ||
|
|
57f5d419dd | ||
|
|
58192f74c0 | ||
|
|
d34ff02686 | ||
|
|
37cacdbc39 | ||
|
|
f312a45469 | ||
|
|
18d61188ff | ||
|
|
718729b4c7 | ||
|
|
9a881c5232 | ||
|
|
82a9348bf9 | ||
|
|
76d6ad215e | ||
|
|
2e2ef29f72 | ||
|
|
2d21980313 | ||
|
|
7eb310aac6 | ||
|
|
c72ef2aae9 | ||
|
|
c8e7fab9d3 | ||
|
|
4ca39bfedb | ||
|
|
6ec7fa822b | ||
|
|
fb21359663 | ||
|
|
030b67224e | ||
|
|
2ce73993c6 | ||
|
|
0d08e8e15b | ||
|
|
c3150efad5 | ||
|
|
303a1442d7 | ||
|
|
8a2923854a | ||
|
|
9318adaeb9 | ||
|
|
ea64e5bb40 | ||
|
|
5dd340d84c | ||
|
|
36bab70bfd | ||
|
|
e4aa4017ba | ||
|
|
87ea0c45f7 | ||
|
|
9ee3557672 | ||
|
|
0fd531c4a2 | ||
|
|
a54f596ea9 | ||
|
|
d571734f98 | ||
|
|
516f8f71da | ||
|
|
5c31fb094b | ||
|
|
7b20e2c29c | ||
|
|
d8431b8c00 | ||
|
|
4484a47d4c | ||
|
|
ea523dd765 | ||
|
|
b0e833f8c4 | ||
|
|
4e83d967c1 | ||
|
|
f01f882bb8 | ||
|
|
e72dc752bb | ||
|
|
8e054de506 | ||
|
|
084770643d | ||
|
|
4b2b098a85 | ||
|
|
d4d25d240e | ||
|
|
2393c21647 | ||
|
|
e47f3ee571 | ||
|
|
5ddda4dc1e | ||
|
|
20d78224a4 | ||
|
|
8571cd1a44 | ||
|
|
772e809ee6 | ||
|
|
35b09b2dfb | ||
|
|
705fc1dd0b | ||
|
|
814cd4503c | ||
|
|
9020e85a17 | ||
|
|
f0b2f64490 | ||
|
|
36b0b28109 | ||
|
|
5a124ede99 | ||
|
|
a8aafb6f47 | ||
|
|
eae0f8e0cb | ||
|
|
9542f2dd9c | ||
|
|
b8eb67a14a | ||
|
|
d763dd3665 | ||
|
|
5e3a6f0b07 | ||
|
|
d45d57ac4a | ||
|
|
58476dd3bc | ||
|
|
67e1e4ef19 | ||
|
|
8a26195a60 | ||
|
|
84a3a7e9b7 | ||
|
|
958469e207 | ||
|
|
47f61e1a30 | ||
|
|
f04ff91f44 | ||
|
|
e6ac4de69d | ||
|
|
e1ff739621 | ||
|
|
625fb584ed | ||
|
|
fdb8cf8bda | ||
|
|
65c84a8857 | ||
|
|
c0ac4b3400 | ||
|
|
3471c0f947 | ||
|
|
3aafa1649c | ||
|
|
a8b37d36ff | ||
|
|
5ec7e11c37 | ||
|
|
96c3738a7e | ||
|
|
1bb72d9fa9 | ||
|
|
5737d220eb | ||
|
|
f40c4aedef | ||
|
|
52fc45ae23 | ||
|
|
44f0036ac0 | ||
|
|
1e47521f55 | ||
|
|
d840a67150 | ||
|
|
8a16d5c93c | ||
|
|
b3d4ad1a13 | ||
|
|
2b8a2d8bb6 | ||
|
|
49be337200 | ||
|
|
632e25abe3 | ||
|
|
760d7490a2 | ||
|
|
c0ff849c0f | ||
|
|
730b9ff366 | ||
|
|
71f12bf205 | ||
|
|
8960f57bea | ||
|
|
437b4115e6 | ||
|
|
461db7883f | ||
|
|
f254ecc44a | ||
|
|
6432843fda | ||
|
|
ef198ce07a | ||
|
|
847724c5b3 | ||
|
|
7c173cbfe2 | ||
|
|
93b3e85b8d | ||
|
|
4e83a2d45f | ||
|
|
eb9e9ddd38 | ||
|
|
4fa69cbe13 | ||
|
|
12d79b7309 | ||
|
|
2743a6cf15 | ||
|
|
9528624c0e | ||
|
|
382aebcf16 | ||
|
|
1be9fd04c4 | ||
|
|
407a7c0132 | ||
|
|
8732648fc0 | ||
|
|
a3380a616b | ||
|
|
56487226ef | ||
|
|
cba6efec73 | ||
|
|
7872a4c212 | ||
|
|
64ab220c4d | ||
|
|
f8e9090eb7 | ||
|
|
edef11ce7f | ||
|
|
9ad13bf3e2 | ||
|
|
3f70e24780 | ||
|
|
5522f8580c | ||
|
|
956b54ad27 | ||
|
|
1860fa0eaa | ||
|
|
9e2cc52275 | ||
|
|
3ee277ef70 | ||
|
|
1b5fe21f00 | ||
|
|
dd0b1d4628 | ||
|
|
65da551aad | ||
|
|
9aa6406dae | ||
|
|
d429712c98 | ||
|
|
8c92cbb277 | ||
|
|
40f02988d8 | ||
|
|
9d7519bdc1 | ||
|
|
4fcfdfd4aa | ||
|
|
8e99889174 | ||
|
|
30134520f4 | ||
|
|
0ade104dff | ||
|
|
1709be588f | ||
|
|
bf88f8fdae | ||
|
|
bb309c2579 | ||
|
|
b8bfe2239e | ||
|
|
22324471e7 | ||
|
|
5a638aa11c | ||
|
|
f59bffd063 | ||
|
|
24687756c1 | ||
|
|
b4fadbf84f | ||
|
|
7873110fc5 | ||
|
|
46d957f5b4 | ||
|
|
458856668d | ||
|
|
98bd5ed09c | ||
|
|
8b22b1d733 | ||
|
|
b9727d72d7 | ||
|
|
3e4e6af726 | ||
|
|
4aabbaadaf | ||
|
|
a009f1719a | ||
|
|
cb67b53913 | ||
|
|
d31307f8f7 | ||
|
|
18bdb5d854 | ||
|
|
27e297540e | ||
|
|
88033799a0 | ||
|
|
d9ec9ce772 | ||
|
|
b680bea331 | ||
|
|
9116dc1920 | ||
|
|
088f175fd6 | ||
|
|
8f3d960817 | ||
|
|
33734a27ce | ||
|
|
dbcf980a2a | ||
|
|
e0709fcebb | ||
|
|
b54adc09ad | ||
|
|
33f87aeff1 | ||
|
|
ceb6ba49b2 | ||
|
|
4d0b23cd23 | ||
|
|
9cc38765c3 | ||
|
|
b65f68b677 | ||
|
|
702c1dc4df | ||
|
|
7040f80b7f | ||
|
|
d925388424 | ||
|
|
6c35f4bce0 | ||
|
|
dd7f8bb508 | ||
|
|
0ac0d1d06c | ||
|
|
5ffd536d4c | ||
|
|
2f71a6c6bb | ||
|
|
e8a15ebd37 | ||
|
|
8d88e23ab9 | ||
|
|
b07b17f1c7 | ||
|
|
ea8b9b4d10 | ||
|
|
b3d7b8d2f7 | ||
|
|
cf2f29d91b | ||
|
|
5514cbea79 | ||
|
|
5e9e09a227 | ||
|
|
27659f8098 | ||
|
|
aed4163c51 | ||
|
|
09e3e56245 | ||
|
|
edf2258463 | ||
|
|
0cb20b6384 | ||
|
|
10bc0b5720 | ||
|
|
7704d5ec6f | ||
|
|
b08f087306 | ||
|
|
0484cdd7d6 | ||
|
|
e7deac8a00 | ||
|
|
d0e44a2fc5 | ||
|
|
b7fcc94eb0 | ||
|
|
a11f25e983 | ||
|
|
85fea45def | ||
|
|
6d91ae3845 | ||
|
|
be44fb2aa7 | ||
|
|
fa15b1e94b | ||
|
|
535df2b706 | ||
|
|
5fa4e18eb7 | ||
|
|
581ca8745a | ||
|
|
687ae74a62 | ||
|
|
f3ee3d7dbd | ||
|
|
fb0cee0e74 | ||
|
|
1bd9501e76 | ||
|
|
3fa55b2ff4 | ||
|
|
633a888ae4 | ||
|
|
12125dfbd7 | ||
|
|
06aa032d45 | ||
|
|
46f0af4d48 | ||
|
|
70857ba358 | ||
|
|
5cf0d5faeb | ||
|
|
d6df082d32 | ||
|
|
2cd90ccb17 | ||
|
|
63ea90f537 | ||
|
|
a3fb05b566 | ||
|
|
8fc27d88e0 | ||
|
|
b2bb4d8b62 | ||
|
|
2fd50471de | ||
|
|
ecff38d5bb | ||
|
|
026114457b | ||
|
|
d5659b5131 | ||
|
|
979ec9fe02 | ||
|
|
89a56820d2 | ||
|
|
145f49d247 | ||
|
|
a155399ec0 | ||
|
|
f5424a3ed2 | ||
|
|
35023e648f | ||
|
|
00020ba7dc | ||
|
|
3854587907 | ||
|
|
ba6826a31e | ||
|
|
a154a8705c | ||
|
|
e6dad3eb81 | ||
|
|
b3b7b227a9 | ||
|
|
f4a941e209 | ||
|
|
75f45bdb47 | ||
|
|
8a9edb8963 | ||
|
|
6f78672f82 | ||
|
|
68a2489e13 | ||
|
|
9b18072f1e | ||
|
|
59142d9f69 | ||
|
|
a79e9dd4cb | ||
|
|
6eb5ed9381 | ||
|
|
bfa42dba4a | ||
|
|
54d07e9063 | ||
|
|
e830595f43 | ||
|
|
79632731f8 | ||
|
|
5ed8384d45 | ||
|
|
307407d732 | ||
|
|
a0b885d5ca | ||
|
|
5bf2f2ec43 | ||
|
|
a5f9185308 | ||
|
|
c9535653c9 | ||
|
|
249aa091fd | ||
|
|
569e09e741 | ||
|
|
5a58af7a01 | ||
|
|
9557f1c310 | ||
|
|
ee860e3b71 | ||
|
|
1dc3e15a55 | ||
|
|
d5d6d6668c | ||
|
|
0051fa87ec | ||
|
|
15a987cfd9 | ||
|
|
96bfa330ba | ||
|
|
231fe483d9 | ||
|
|
431074af58 | ||
|
|
06d73959af | ||
|
|
06eebc2ad3 | ||
|
|
42f8d71404 | ||
|
|
9b4621d3b8 | ||
|
|
6b830d7acd | ||
|
|
99fb55051a | ||
|
|
6bd0d6277b | ||
|
|
494b112424 | ||
|
|
b0ba354b31 | ||
|
|
e27c703026 | ||
|
|
822cd9f4ce | ||
|
|
a964c9b7d0 | ||
|
|
7e49a7b82a | ||
|
|
5fe3b2ff00 | ||
|
|
c1b2e0cec6 | ||
|
|
11f2f1eafa | ||
|
|
60d2dfcf1e | ||
|
|
64b2843cf6 | ||
|
|
d716cf9a48 | ||
|
|
01bb4e1b7a | ||
|
|
3572ed1f86 | ||
|
|
66d426a1b6 | ||
|
|
62946906d8 | ||
|
|
20e0eae9bd | ||
|
|
cf4a794c51 | ||
|
|
748c48b43f | ||
|
|
03f2a0a921 | ||
|
|
d2409bf952 | ||
|
|
783de92707 | ||
|
|
5db1c7a813 | ||
|
|
5720f2b893 | ||
|
|
5286f80748 | ||
|
|
8a19bf3f4a | ||
|
|
c2a13fce9c | ||
|
|
b1973f26c9 | ||
|
|
b5265870be | ||
|
|
4584b7eace | ||
|
|
8a0c88b11c | ||
|
|
3281fc9bb0 | ||
|
|
971ae5ec19 | ||
|
|
fb9fec1a10 | ||
|
|
c4c475b51f | ||
|
|
e7ec8aa49f | ||
|
|
1be27549df | ||
|
|
8e979deb99 | ||
|
|
5ba9746264 | ||
|
|
20e4040d02 | ||
|
|
425bee0ba1 | ||
|
|
5fe7186571 | ||
|
|
3382610871 | ||
|
|
0f2bafc7dd | ||
|
|
ea85a85518 | ||
|
|
531035fef2 | ||
|
|
1d39ec3aa5 | ||
|
|
ecb21d2d5e | ||
|
|
a2a5db8901 | ||
|
|
04ade7ab0b | ||
|
|
e579029ded | ||
|
|
be06cec80d | ||
|
|
ba1ef472e6 | ||
|
|
45894857a6 | ||
|
|
4f60465fa0 | ||
|
|
cefd287668 | ||
|
|
009905e405 | ||
|
|
bc38e94f42 | ||
|
|
ff8625fbe7 | ||
|
|
a5440f0443 | ||
|
|
5692ae4902 | ||
|
|
1cf5cbadd0 | ||
|
|
82351243f9 | ||
|
|
d47e687337 | ||
|
|
3700674045 | ||
|
|
b646e78ba6 | ||
|
|
b1cb951a9e | ||
|
|
f30e085d78 | ||
|
|
91c6508317 | ||
|
|
d341f1987a | ||
|
|
34b7e68f04 | ||
|
|
858320fe20 | ||
|
|
4300f0a3c6 | ||
|
|
7c33159a38 | ||
|
|
9583483543 | ||
|
|
ba19bc5ad6 | ||
|
|
a9b63fa360 | ||
|
|
dbe525a724 | ||
|
|
7a1891e5e8 | ||
|
|
c6048c8461 | ||
|
|
1c76edfc01 | ||
|
|
eae2dd483b | ||
|
|
a8d0a376f3 | ||
|
|
be2ff4bee4 | ||
|
|
609cb14cda | ||
|
|
2d57326779 | ||
|
|
2eec0ae6f0 | ||
|
|
99bd6570b9 | ||
|
|
2110692664 | ||
|
|
bc4a5570a5 | ||
|
|
d8f784c3f0 | ||
|
|
7d94ba7817 | ||
|
|
f3e87d3c3c | ||
|
|
f4487947c5 | ||
|
|
72915d84ef | ||
|
|
62eae20cfa | ||
|
|
3e698f96dc | ||
|
|
ea7cb48f1c | ||
|
|
cdaf88ef28 | ||
|
|
822b7211ec | ||
|
|
d7a59221fc | ||
|
|
b8174a85ee | ||
|
|
519242aead | ||
|
|
ff79b73e34 | ||
|
|
c8b49de7d1 | ||
|
|
cd9e05dac1 | ||
|
|
1488453ffa | ||
|
|
c5838ba098 | ||
|
|
b88b60597b | ||
|
|
3ceb2569cf | ||
|
|
556335918b | ||
|
|
7145ad9eec | ||
|
|
57dc2d2b11 | ||
|
|
bf88927e66 | ||
|
|
efd53cbccf | ||
|
|
e0620e1a3e | ||
|
|
622fdc27aa | ||
|
|
7a7d1ed44e | ||
|
|
161bbb4e07 | ||
|
|
035f2b7982 | ||
|
|
4234c4bc3a | ||
|
|
fa9f0ade55 | ||
|
|
0bbb6adaba | ||
|
|
8452959388 | ||
|
|
d1ba4bc875 | ||
|
|
fbd895d67c | ||
|
|
ca2907d6a6 | ||
|
|
6b07d8ee21 | ||
|
|
8d97efd52d | ||
|
|
864b024f31 | ||
|
|
8d6a23d0e7 | ||
|
|
4722a5600f | ||
|
|
aba9c2bc30 | ||
|
|
dea21f6d38 | ||
|
|
3cb1bf6b87 | ||
|
|
dfe66e8083 | ||
|
|
285b66406b | ||
|
|
99d861535e | ||
|
|
ba40783017 | ||
|
|
c871c68aeb | ||
|
|
6e523a30ab | ||
|
|
7739994eda | ||
|
|
5007410c1a | ||
|
|
b4eabd2265 | ||
|
|
40d8ea0268 | ||
|
|
0de4e51c41 | ||
|
|
6c6c18418e | ||
|
|
2f245b0c73 | ||
|
|
1337e88191 | ||
|
|
6ad6483e3a | ||
|
|
afa13473ed | ||
|
|
4e26567bee | ||
|
|
d0ac084cac | ||
|
|
bee6e4d2a9 | ||
|
|
a6c76ae0e4 | ||
|
|
bf0875be45 | ||
|
|
74585ff97d | ||
|
|
81ea7ab872 | ||
|
|
4b6fd69e3c | ||
|
|
bc4266e9ab | ||
|
|
d6147b4292 | ||
|
|
84ef3e6c3d | ||
|
|
b4cde57036 | ||
|
|
4c3551909f | ||
|
|
2075f3c717 | ||
|
|
d08381850d | ||
|
|
af2fd78348 | ||
|
|
60b9069a60 | ||
|
|
472e15ab0a | ||
|
|
bdddb945f0 | ||
|
|
615038ef38 | ||
|
|
ef661e52e7 | ||
|
|
bd52f0b004 | ||
|
|
8ec90d3b40 | ||
|
|
2aee09d441 | ||
|
|
35a6095d30 | ||
|
|
23a251aa77 | ||
|
|
48852f0c3f | ||
|
|
42ffe87bf5 | ||
|
|
2ba61fab9d | ||
|
|
1fc634214f | ||
|
|
cec35683f4 | ||
|
|
d4b2b768d3 | ||
|
|
a71226e995 | ||
|
|
3cec08c734 | ||
|
|
cccc72d0d8 | ||
|
|
bf19f13d4c | ||
|
|
0d7d8ddee2 | ||
|
|
de6a547272 | ||
|
|
2e1c798c6e | ||
|
|
26afd63e39 | ||
|
|
f8ef88362d | ||
|
|
ae445c8ece | ||
|
|
351bc544ee | ||
|
|
5dfe0c237f | ||
|
|
3b628bed45 | ||
|
|
a081b72916 | ||
|
|
44c1e8ce69 | ||
|
|
d52c16fbba | ||
|
|
2351ced921 | ||
|
|
afef8ff4a3 | ||
|
|
f9da801f06 | ||
|
|
0c3e7be420 | ||
|
|
43420f02f2 | ||
|
|
47b1b7f519 | ||
|
|
91d72c0265 | ||
|
|
5a98b9c3fd | ||
|
|
fd3b48ba43 | ||
|
|
e03ee00e61 | ||
|
|
685f38e6a0 | ||
|
|
2641a34a1e | ||
|
|
59bf8d0a45 | ||
|
|
b8f255cc50 | ||
|
|
fae67be8c8 | ||
|
|
230d822fce | ||
|
|
5088362430 | ||
|
|
970d2d1f42 | ||
|
|
c786d4e0ab | ||
|
|
dcb130c1c6 | ||
|
|
39d70f17b3 | ||
|
|
b7443be756 | ||
|
|
f75d0af6df | ||
|
|
420957ecb7 | ||
|
|
fde61ae0d6 | ||
|
|
644694a9f2 | ||
|
|
05c022c3f0 | ||
|
|
619742de4e | ||
|
|
6294079ce3 | ||
|
|
35a59fc400 | ||
|
|
0180de5490 | ||
|
|
a26ae1a9b3 | ||
|
|
dd7495a04c | ||
|
|
a59236f4ae | ||
|
|
ab23e01ef8 | ||
|
|
a52d923f79 | ||
|
|
5c541fcc03 | ||
|
|
afba8b58a3 | ||
|
|
2f755de206 | ||
|
|
06506d2793 | ||
|
|
11a66b79b1 | ||
|
|
782bfd23ad | ||
|
|
d3625c1b72 | ||
|
|
87ec999053 | ||
|
|
5e074d2bef | ||
|
|
bbc12bb026 | ||
|
|
9b15d1dcd1 | ||
|
|
fa38bf747a | ||
|
|
a03c22cbac | ||
|
|
e51f77d30e | ||
|
|
577394f167 | ||
|
|
c67af83de4 | ||
|
|
7e8014dd2e | ||
|
|
4600f4d9f2 | ||
|
|
bbd2c120f8 | ||
|
|
1036fcedd7 | ||
|
|
47121d31d1 | ||
|
|
5c9414656b | ||
|
|
7a7f0e34ea | ||
|
|
ec2f825ceb | ||
|
|
5bdd249557 | ||
|
|
8261a50365 | ||
|
|
a5e8665870 | ||
|
|
01b3db39c4 | ||
|
|
c989362875 | ||
|
|
430cd13e09 | ||
|
|
78a3724efe | ||
|
|
6d23c1baf5 | ||
|
|
1d4d1e207e | ||
|
|
3cc5199e80 | ||
|
|
f350dac237 | ||
|
|
ee4349fe8a | ||
|
|
96b755d2c6 | ||
|
|
6b459ee78f | ||
|
|
82f4694cd2 | ||
|
|
156aa721fe | ||
|
|
81f3e02c7b | ||
|
|
4b42fd270b | ||
|
|
6212595ab7 | ||
|
|
bd353a3f99 | ||
|
|
03a2f5c06e | ||
|
|
e4972852c6 | ||
|
|
ad4cb84a0d | ||
|
|
efc66bd1b9 | ||
|
|
7e7622ceca | ||
|
|
76607c99fd | ||
|
|
75113388f5 | ||
|
|
68f573caba | ||
|
|
7a4193c4d5 | ||
|
|
a923f279ff | ||
|
|
a84b33d013 | ||
|
|
80a512b9be | ||
|
|
ed10104f98 | ||
|
|
fffb70933d | ||
|
|
bb4c79d975 | ||
|
|
281d2df621 | ||
|
|
ac1c6b2286 | ||
|
|
a45ac78274 | ||
|
|
4c4725795c | ||
|
|
907e42e46b | ||
|
|
d4c2693511 | ||
|
|
eef7d65b5c | ||
|
|
bdb3dbe0eb | ||
|
|
61e28302ce | ||
|
|
a56a4070a6 | ||
|
|
69d57b3744 | ||
|
|
424eb4cf14 | ||
|
|
3a06f55db9 | ||
|
|
5fc20600e7 | ||
|
|
4a6f4e1f74 | ||
|
|
216396c94c | ||
|
|
19eb1cab59 | ||
|
|
51ca6e92c7 | ||
|
|
fd9d143269 | ||
|
|
0b9a767d9a | ||
|
|
a90f34d938 | ||
|
|
53a1adca04 | ||
|
|
17b8cfd70c | ||
|
|
8a8f708ff9 | ||
|
|
14dab2515f | ||
|
|
2d8bdae77a | ||
|
|
79ca1ce58c | ||
|
|
40036e6050 | ||
|
|
6c1ccc6bac | ||
|
|
e8960c7398 | ||
|
|
27dd669579 | ||
|
|
8b8472b836 | ||
|
|
b4ed7c925f | ||
|
|
8d699cc9ad | ||
|
|
d63eb47e63 | ||
|
|
0ca766e9c9 | ||
|
|
ad14936cf3 | ||
|
|
55c86afcde | ||
|
|
e0cd10c8ec | ||
|
|
4274321a3f | ||
|
|
9bdebc6bdd | ||
|
|
b4d860282b | ||
|
|
4f089aa68d | ||
|
|
59884e7f81 | ||
|
|
d29d2e8bc4 | ||
|
|
64eb7abf2f | ||
|
|
05dd216ad9 | ||
|
|
2c4c29e31d | ||
|
|
6ad3db7ef9 | ||
|
|
4c80a97202 | ||
|
|
37189ba1f3 | ||
|
|
7ebae8ad8a | ||
|
|
8bca8fab53 | ||
|
|
0d3a33f1ba | ||
|
|
0a2894c582 | ||
|
|
ac6d5eef46 | ||
|
|
f95d777dc2 | ||
|
|
fa71bc6ed6 | ||
|
|
f235cede08 | ||
|
|
991830817e | ||
|
|
929dc7fbb8 | ||
|
|
764b3d2a84 | ||
|
|
a89cc74ba5 | ||
|
|
7daa69db43 | ||
|
|
8c173540e6 | ||
|
|
9297e73b69 | ||
|
|
79e1ccc9a0 | ||
|
|
e275486efe | ||
|
|
7da7c0e16f | ||
|
|
abcf12c3d7 | ||
|
|
a45b8e2689 | ||
|
|
4269884008 | ||
|
|
efd92fb94f | ||
|
|
4cecfb5079 | ||
|
|
84a4f53aa0 | ||
|
|
8daab70725 | ||
|
|
89654f8b00 | ||
|
|
d8173e79e5 | ||
|
|
7591b7418f | ||
|
|
f62c668c09 | ||
|
|
27b81de285 | ||
|
|
cd79cd16ac | ||
|
|
d22dc1fa93 | ||
|
|
d865d64e4d | ||
|
|
28885ed1e0 | ||
|
|
6c1853bdb5 | ||
|
|
7d21e08e7d | ||
|
|
09805d1fd0 | ||
|
|
6817620808 | ||
|
|
cfe5a3c84e | ||
|
|
6167a164ad | ||
|
|
6d6a983b9d | ||
|
|
d0bf865e6b | ||
|
|
7bb05a09d9 | ||
|
|
9d17cd1322 | ||
|
|
c47b3aceaa | ||
|
|
29e5a5959d | ||
|
|
fe2b609446 | ||
|
|
cfd1bd13e1 | ||
|
|
1f2aa2708d | ||
|
|
8ca5449b79 | ||
|
|
54925b27a8 | ||
|
|
a34f017dbd | ||
|
|
5355b671fe | ||
|
|
eea25b1e17 | ||
|
|
196573f49b | ||
|
|
37e369ce46 | ||
|
|
30d29f797e | ||
|
|
a3b117fcb3 | ||
|
|
a7950e02fc | ||
|
|
0491c1888e | ||
|
|
e173186109 | ||
|
|
3f9b8c59e1 | ||
|
|
4f78b1efab | ||
|
|
6ef038d0ca | ||
|
|
4aec3d04d6 | ||
|
|
01dfd023eb | ||
|
|
e60d2ab900 | ||
|
|
b4790334a6 | ||
|
|
4644dd2e46 | ||
|
|
442af20815 | ||
|
|
cb3fd1f0eb | ||
|
|
32a88098b0 | ||
|
|
28b3bc87d4 | ||
|
|
7b07ac9e21 | ||
|
|
a61ddc19d2 | ||
|
|
595ef0b617 | ||
|
|
0ae6470b35 | ||
|
|
d3d051ee72 | ||
|
|
f2d2b1d3e2 | ||
|
|
d47099fa23 | ||
|
|
1f18ccd6d6 | ||
|
|
e900607725 | ||
|
|
3894af4db2 | ||
|
|
dbf3114267 | ||
|
|
bab07fc857 | ||
|
|
2f3e915a3e | ||
|
|
6e3271b6eb | ||
|
|
cdf3db2f5a | ||
|
|
4c507540c8 | ||
|
|
72a6ee1d55 | ||
|
|
4b305a708f | ||
|
|
05c34912df | ||
|
|
ab8e8373c0 | ||
|
|
5a46dfc0c0 | ||
|
|
b32344dbc5 | ||
|
|
342a561d98 | ||
|
|
3d8d3dca09 | ||
|
|
97276b9227 | ||
|
|
a8153a0beb | ||
|
|
6b090e1bc3 | ||
|
|
c5ccf4aa68 | ||
|
|
94a9f0282d | ||
|
|
987399b337 | ||
|
|
eaf0af7fd2 | ||
|
|
2ee699441c | ||
|
|
62da526d1a | ||
|
|
edaead7584 | ||
|
|
ea02ae5d01 | ||
|
|
92c975d84a | ||
|
|
5d68926e7f | ||
|
|
d9195a90a6 | ||
|
|
ec51249eab | ||
|
|
3e6d0e4977 | ||
|
|
c9bbfa0862 | ||
|
|
3fd0bccc7b | ||
|
|
00d3f59471 | ||
|
|
996b4030a6 | ||
|
|
826966441a | ||
|
|
e21249dd32 | ||
|
|
2089463f86 | ||
|
|
4c7829876c | ||
|
|
980b6013f2 | ||
|
|
a57edc829f | ||
|
|
074c68d940 | ||
|
|
bd9cb1a141 | ||
|
|
70fc42aa39 | ||
|
|
9ec2db667b | ||
|
|
0a21a0a87d | ||
|
|
2238e8fcff | ||
|
|
978b395b70 | ||
|
|
4520f0bb09 | ||
|
|
48d3c1873c | ||
|
|
97a567ef50 | ||
|
|
8305623791 | ||
|
|
37073ec146 | ||
|
|
439875064e | ||
|
|
ce2983e457 | ||
|
|
180c31ab36 | ||
|
|
509698b17a | ||
|
|
e6509daf8f | ||
|
|
901c1ef36b | ||
|
|
30408fc142 | ||
|
|
3ebfe29d9a | ||
|
|
ed4856b483 | ||
|
|
f3eaf428c2 | ||
|
|
e676f5f4d2 | ||
|
|
444189c670 | ||
|
|
c902d4e51e | ||
|
|
5876e1ae32 | ||
|
|
9d31b75c15 | ||
|
|
9ab1dac38c | ||
|
|
0a2f6c19c2 | ||
|
|
3e908c89ff | ||
|
|
41e7cb3c81 | ||
|
|
c76fa73010 | ||
|
|
1f1abb1bd6 | ||
|
|
50b681215c | ||
|
|
7dd99d5e17 | ||
|
|
7edbd8b3b9 | ||
|
|
e7298aa521 | ||
|
|
7350e2f62e | ||
|
|
255fec2ba7 | ||
|
|
c20169ae18 | ||
|
|
f90c99a276 | ||
|
|
939a9157c2 | ||
|
|
7936998c53 | ||
|
|
f55ab2fd80 | ||
|
|
383dc0057c | ||
|
|
5dbf473ddd | ||
|
|
47534b5ead | ||
|
|
2154b6d5c3 | ||
|
|
9ca685698c | ||
|
|
1d2198563f | ||
|
|
a648e7415d | ||
|
|
9b533396b8 | ||
|
|
0dc4c60aaf | ||
|
|
7a6b600f2c | ||
|
|
993343a2a2 | ||
|
|
b173de6c6d | ||
|
|
8d1f52ac5a | ||
|
|
a579e57ea4 | ||
|
|
0a07cec9c4 | ||
|
|
303d39f367 | ||
|
|
5fb3c59489 | ||
|
|
7c34eeb982 | ||
|
|
603ff87b50 | ||
|
|
b531fc1cbc | ||
|
|
2d13cb7dc8 | ||
|
|
f94af21484 | ||
|
|
cac35f147f | ||
|
|
a7a7f4753c | ||
|
|
bed6fc9a70 | ||
|
|
ac673555c9 | ||
|
|
0096eb9e38 | ||
|
|
367c63a9aa | ||
|
|
2bda9d5f42 | ||
|
|
dcd89faa28 | ||
|
|
b0c3ff84c9 | ||
|
|
da9d584dd3 | ||
|
|
f3dff053d3 | ||
|
|
9903912bd7 | ||
|
|
a26fc359ac | ||
|
|
857e0bb7a0 | ||
|
|
eed58af6ee | ||
|
|
d37783ef0f | ||
|
|
79a563cf66 | ||
|
|
56f43fb67f | ||
|
|
9786d63804 | ||
|
|
c69a1d9f40 | ||
|
|
b6c6cc88bc | ||
|
|
dc8b69ab50 | ||
|
|
cb0660e4a6 | ||
|
|
a89674ccfe | ||
|
|
3b49f7829e | ||
|
|
bd7d615ef6 | ||
|
|
18c342e2be | ||
|
|
e5cdcc1e81 | ||
|
|
f7d2800f77 | ||
|
|
d35317273d | ||
|
|
b6776c47ad | ||
|
|
abaa2b2dea | ||
|
|
6120f8d613 | ||
|
|
4b12c49b6e | ||
|
|
cea173a53a | ||
|
|
ee3e8f8424 | ||
|
|
a70545abd2 | ||
|
|
bd55624470 | ||
|
|
41c282bf85 | ||
|
|
e740d8665f | ||
|
|
ddcd5a7ae4 | ||
|
|
9ccb9779bf | ||
|
|
9672d70853 | ||
|
|
889300c699 | ||
|
|
7495ba7fb4 | ||
|
|
12edac37eb | ||
|
|
0e2e4d722b | ||
|
|
ca3b56c760 | ||
|
|
a1cba7fc6a | ||
|
|
4084f75838 | ||
|
|
5c4108dc08 | ||
|
|
842c365532 | ||
|
|
007e03d248 | ||
|
|
3f81d1872c | ||
|
|
607cffb902 | ||
|
|
ae1fb3cac1 | ||
|
|
2c4114765a | ||
|
|
16e508777a | ||
|
|
a035cab88b | ||
|
|
9c62164512 | ||
|
|
d69a8b79ab | ||
|
|
26fbbd8113 | ||
|
|
86604f4c50 | ||
|
|
7f6621ae74 | ||
|
|
98bb149127 | ||
|
|
d55e5c1769 | ||
|
|
0bbd62a53b | ||
|
|
921b4966e4 | ||
|
|
5c667b7deb | ||
|
|
ef9ab3bc4b | ||
|
|
84c1a8eb39 | ||
|
|
4ae1c575fc | ||
|
|
aafa614520 | ||
|
|
bde34dc342 | ||
|
|
b425f8b22a | ||
|
|
969336248c | ||
|
|
003a6b0bb1 | ||
|
|
916782edba | ||
|
|
ad6d325cc8 | ||
|
|
03b1a84f98 | ||
|
|
647e7ec49f | ||
|
|
39e7d102bd | ||
|
|
fae7fc986e | ||
|
|
a6e6f8278d | ||
|
|
3c3c10d843 | ||
|
|
749aa1831a | ||
|
|
8f8d671ea1 | ||
|
|
5238ce2ade | ||
|
|
bbcefa1753 | ||
|
|
a146bbaa86 | ||
|
|
1bf99fd477 | ||
|
|
5d047303a0 | ||
|
|
92b5bd2514 | ||
|
|
606be6f970 | ||
|
|
519f1a9aa5 | ||
|
|
9e585072cd | ||
|
|
09ab671285 | ||
|
|
1e3886e37e | ||
|
|
35f5aa1ea3 | ||
|
|
7ff878bfe1 | ||
|
|
a3b0cc9f14 | ||
|
|
e201f9adf0 | ||
|
|
3e69c3f683 | ||
|
|
6910efe526 | ||
|
|
3e4964ada3 | ||
|
|
e5927f94c6 | ||
|
|
a2b10612c5 | ||
|
|
a386a0b485 | ||
|
|
5f9ef6cf4d | ||
|
|
37d95fe75e | ||
|
|
531805be14 | ||
|
|
d419ffbdab | ||
|
|
ce6aed67d6 | ||
|
|
0ecba4c170 | ||
|
|
6de77f0ebb | ||
|
|
49419ac204 | ||
|
|
5efe04930e | ||
|
|
185cf88534 | ||
|
|
2dca4785e1 | ||
|
|
0db8f2928f | ||
|
|
ce7b13a633 | ||
|
|
2cd9c23ac0 | ||
|
|
2e755c6806 | ||
|
|
59260241cb | ||
|
|
75b548b81e | ||
|
|
8d8ab9add6 | ||
|
|
16c28f1062 | ||
|
|
e9af0abd95 | ||
|
|
fb6fe3c2fa | ||
|
|
7bca61fe2b | ||
|
|
a46a874874 | ||
|
|
acf913f025 | ||
|
|
805dfbe4d3 | ||
|
|
d242c65e99 | ||
|
|
fb112e502b | ||
|
|
0199b29063 | ||
|
|
3f1ca2480c | ||
|
|
dd77bb5632 | ||
|
|
12104c21c6 | ||
|
|
f284823707 | ||
|
|
34d3352d73 | ||
|
|
1776de12ff | ||
|
|
ccca81e2c8 | ||
|
|
a6de175f3c | ||
|
|
eb377781c8 | ||
|
|
e536c859a7 | ||
|
|
2e7c20142c | ||
|
|
a55893930a | ||
|
|
ea75574b82 | ||
|
|
8f7e5297cd | ||
|
|
09432c6450 | ||
|
|
1afbe029b5 | ||
|
|
74995a5ac1 | ||
|
|
d79783f605 | ||
|
|
5fe9e3f8d2 | ||
|
|
f875c8e518 | ||
|
|
80179339e8 | ||
|
|
f3163198a0 | ||
|
|
6a654e4f49 | ||
|
|
0f91feee2a | ||
|
|
f1a0034f19 | ||
|
|
78ec9d8e22 | ||
|
|
b6e5a0f732 | ||
|
|
a697df7de9 | ||
|
|
a728dc5d7f | ||
|
|
7994803d65 | ||
|
|
9b666bdc40 | ||
|
|
27c372e891 | ||
|
|
313727ca5c | ||
|
|
ea21970e5e | ||
|
|
794020921a | ||
|
|
8a389a8ab9 | ||
|
|
defb8d0d6f | ||
|
|
3f89612830 | ||
|
|
0e6eac9375 | ||
|
|
54048802f2 | ||
|
|
fe4b6dc640 | ||
|
|
c08bfa643c | ||
|
|
321f31c0c0 | ||
|
|
17451c5b93 | ||
|
|
67f134a14b | ||
|
|
aea080d6bd | ||
|
|
14c1be25c9 | ||
|
|
bcf82a0830 | ||
|
|
79b00e8040 | ||
|
|
8a935625ec | ||
|
|
efd4e9aeb1 | ||
|
|
3df719baee | ||
|
|
30dac982cc | ||
|
|
bd6b0d3543 | ||
|
|
0d1925abae | ||
|
|
e39176e69a | ||
|
|
9fe3ce6679 | ||
|
|
da4b6ba9d3 | ||
|
|
0e3d8b54de | ||
|
|
79ae61d173 | ||
|
|
d194c2af27 | ||
|
|
f8fa528ad9 | ||
|
|
9470e9efd1 | ||
|
|
483530507c | ||
|
|
70239374d3 | ||
|
|
e9dc3d53e1 | ||
|
|
8883a16f42 | ||
|
|
a47d1ff12e | ||
|
|
a4e644fe14 | ||
|
|
60195d4757 | ||
|
|
b32ce7958e | ||
|
|
9d7e0e0664 | ||
|
|
1d705158ef | ||
|
|
b8d20abc76 | ||
|
|
8a5e8656ee | ||
|
|
9f26e7b30f | ||
|
|
5d32252f2e | ||
|
|
30bbddc96d | ||
|
|
ebf6ee16d2 | ||
|
|
75839b69ce | ||
|
|
7be9db2cc7 | ||
|
|
49fcb988ad | ||
|
|
1c4847f35e | ||
|
|
f341d8bca3 | ||
|
|
723c3f4756 | ||
|
|
befde25d85 | ||
|
|
4987afbf6e | ||
|
|
4bddfb6a31 | ||
|
|
ada9438731 | ||
|
|
c0b947f72e | ||
|
|
66d80f9a78 | ||
|
|
2f710e80e7 | ||
|
|
1681afe65a | ||
|
|
85f7139dfe | ||
|
|
8f59740a5b | ||
|
|
3b3b58bda4 | ||
|
|
fd99df8c2e | ||
|
|
994428eb7f | ||
|
|
20af6120b1 | ||
|
|
7875ecaa5b | ||
|
|
c631cdbaf4 | ||
|
|
81033f55e5 | ||
|
|
4db2d24ed4 | ||
|
|
958d9db0d0 | ||
|
|
59e3d0d84c | ||
|
|
dbb25b7e17 | ||
|
|
6afae3b855 | ||
|
|
2b2e8b1da0 | ||
|
|
57e6863769 | ||
|
|
b0374d52aa | ||
|
|
7b318e411c | ||
|
|
069715fe4a | ||
|
|
b72f1919e9 | ||
|
|
8431e4c1e6 | ||
|
|
888c01282b | ||
|
|
67415e33a5 | ||
|
|
0dcb032b1d | ||
|
|
d55cd787ad | ||
|
|
be20d8cc1e | ||
|
|
e66c7bad24 | ||
|
|
98b39b2f0c | ||
|
|
255939c2a9 | ||
|
|
7e6e038a9b | ||
|
|
d20f0e045b | ||
|
|
31b07d8843 | ||
|
|
1ce9691911 | ||
|
|
86982f6d47 | ||
|
|
4988122ee3 | ||
|
|
a32947e149 | ||
|
|
9387b078c6 | ||
|
|
300ba1bc63 | ||
|
|
c276318790 | ||
|
|
b283011436 | ||
|
|
786e32944e | ||
|
|
7e2a82ee19 | ||
|
|
7c77d6841a | ||
|
|
2e107b888a | ||
|
|
a1b9a84ca7 | ||
|
|
a83105ecb8 | ||
|
|
51baef438a | ||
|
|
9d336a1804 | ||
|
|
430586a68b | ||
|
|
a0b397a74a | ||
|
|
c4144405a8 | ||
|
|
2a1d8d0751 | ||
|
|
6e7259dd83 | ||
|
|
bcb8c4b0fb | ||
|
|
92212a30ae | ||
|
|
fccbdf844a | ||
|
|
013dc576b6 | ||
|
|
6f63a4a369 | ||
|
|
c740781df2 | ||
|
|
0abaa4bc04 | ||
|
|
5d5e316b39 | ||
|
|
53714acd27 | ||
|
|
4317e82a7b | ||
|
|
8d19f1e41b | ||
|
|
b13b12ec6a | ||
|
|
83cd4c6d50 | ||
|
|
2ec26f4357 | ||
|
|
bd18fd5577 | ||
|
|
3a51371834 | ||
|
|
9c060e8c9e | ||
|
|
9e2f9f1322 | ||
|
|
be4460d1b6 | ||
|
|
4d474f5952 | ||
|
|
b3f53fa627 | ||
|
|
8bf819abb9 | ||
|
|
a33db6f055 | ||
|
|
03fe400e9e | ||
|
|
929f3e63fc | ||
|
|
3b9bf5eaa4 | ||
|
|
81b056b8f0 | ||
|
|
2d7ea8d4e7 | ||
|
|
381b741f42 | ||
|
|
9b6edaea4d | ||
|
|
9527ad4f33 | ||
|
|
bf28072f0d | ||
|
|
231f7485fe | ||
|
|
6f75ec3ae2 | ||
|
|
2674fbd03f | ||
|
|
a36bfdd32d | ||
|
|
b75f486e6e | ||
|
|
618465bf80 | ||
|
|
33f4471364 | ||
|
|
7cb5bb98ff | ||
|
|
71a1c2ac08 | ||
|
|
80a1c73652 | ||
|
|
00a16ac50b | ||
|
|
d3155ed8be | ||
|
|
749c41c43c | ||
|
|
ab2a46ff22 | ||
|
|
2c06edba02 | ||
|
|
6b12cd6cc7 | ||
|
|
cb79bbe5ef | ||
|
|
57fa8c1a4b | ||
|
|
f238bc7d40 | ||
|
|
4d13cf2f67 | ||
|
|
e080873ec3 | ||
|
|
db6ee6839a | ||
|
|
74417024b4 | ||
|
|
322dc85e2c | ||
|
|
740305c2ca | ||
|
|
0dc5a8e3a2 | ||
|
|
cbfb8e5a89 | ||
|
|
2c76f90f67 | ||
|
|
32813fc65e | ||
|
|
2ed5ff3c02 | ||
|
|
86144b7816 | ||
|
|
687229dbec | ||
|
|
f911cebae2 | ||
|
|
02d7588e59 | ||
|
|
20cb007f3c | ||
|
|
74f5bb17bb | ||
|
|
acba94baf2 | ||
|
|
6792c829b2 | ||
|
|
0ada6ba25d | ||
|
|
85564d9201 | ||
|
|
489ed6c23f | ||
|
|
f2f2e52abe | ||
|
|
205cd2fce7 | ||
|
|
6c685f89b8 | ||
|
|
4261613316 | ||
|
|
8b72f9b46a | ||
|
|
847e7e2598 | ||
|
|
448971c8ec | ||
|
|
f8519b8d3f | ||
|
|
47892c9866 | ||
|
|
4a4ef2da4b | ||
|
|
d506099869 | ||
|
|
7203737bd5 | ||
|
|
d8a65a6921 | ||
|
|
7f90cfcdac | ||
|
|
7e497ca4c2 | ||
|
|
0448a02c84 | ||
|
|
7bdaafce08 | ||
|
|
1511791dbd | ||
|
|
2f1c212f4a | ||
|
|
8877e86af4 | ||
|
|
d0fb8c789a | ||
|
|
2fa03cdb22 | ||
|
|
78573e02e7 | ||
|
|
f7196f7a15 | ||
|
|
28bb50f205 | ||
|
|
bc006ce1c9 | ||
|
|
41c58b04fc | ||
|
|
e29c8b64f2 | ||
|
|
8bc375f2e7 | ||
|
|
754df74512 | ||
|
|
5b6cc424ff | ||
|
|
f82e69defc | ||
|
|
d00fd6a90a | ||
|
|
4f69b961dc | ||
|
|
0919042321 | ||
|
|
9bfd6e13f3 | ||
|
|
be4715b6d6 | ||
|
|
cbcbc70b91 | ||
|
|
2601acc53a | ||
|
|
8c0dd4398c | ||
|
|
c49cc42997 | ||
|
|
0370c4c9d1 | ||
|
|
150eff28eb | ||
|
|
7d12a2fec9 | ||
|
|
2d54317c2c | ||
|
|
369f011d8a | ||
|
|
385013da68 | ||
|
|
2a5ee75dac | ||
|
|
a5a0aa0e1b | ||
|
|
804942cff5 | ||
|
|
6d43e8882d | ||
|
|
3220469837 | ||
|
|
e4d946fdc9 | ||
|
|
aa309028ea | ||
|
|
f4cdc527c3 | ||
|
|
6a47d60d35 | ||
|
|
e87c1d9210 | ||
|
|
cabd232b3c | ||
|
|
7c6fe8c272 | ||
|
|
c311d9a315 | ||
|
|
244cecd0a7 | ||
|
|
3d1176a9dd | ||
|
|
de62b9441c | ||
|
|
17d80dd8ec | ||
|
|
ec167cedd3 | ||
|
|
38bc7cacae | ||
|
|
cc5a9b5d09 | ||
|
|
e9d00db912 | ||
|
|
ee702d9475 | ||
|
|
1602404d32 | ||
|
|
b416b947ee | ||
|
|
dca79f6b0b | ||
|
|
54f3fa37e6 | ||
|
|
4a14620c16 | ||
|
|
dd8585a1fb | ||
|
|
42c444e3d9 | ||
|
|
cd8078fa4f | ||
|
|
b6deb18e66 | ||
|
|
5a907259ee | ||
|
|
d0bf52444c | ||
|
|
41599bb11b | ||
|
|
4cd0ed7ecb | ||
|
|
06a6f82015 | ||
|
|
26fdac75e3 | ||
|
|
4ca07c8b2c | ||
|
|
21ae793784 | ||
|
|
4ee8207ec1 | ||
|
|
6f0bfdc6bf | ||
|
|
bdf834e40e | ||
|
|
aaac19ad20 | ||
|
|
69522b751a | ||
|
|
bea75566d6 | ||
|
|
20488c6a01 | ||
|
|
809eceb8cb | ||
|
|
df6fd28d24 | ||
|
|
28c01e86e7 | ||
|
|
381750c84d | ||
|
|
15b5e25a1a | ||
|
|
2418f3b44b | ||
|
|
5ffc474fa4 | ||
|
|
1e0b2f6285 | ||
|
|
8953c0af4c | ||
|
|
6bfe6a0035 | ||
|
|
8f8fec39ab | ||
|
|
d29d004f3d | ||
|
|
5a15a29cea | ||
|
|
e57ae3e3ba | ||
|
|
384e9b93f1 | ||
|
|
cc0895bb9d | ||
|
|
dbbf8c0d40 | ||
|
|
70ea30efbd | ||
|
|
41db04eb0e | ||
|
|
e432cd9b4e | ||
|
|
2f3c75db25 | ||
|
|
38ad73cc70 | ||
|
|
497befdf78 | ||
|
|
44ce09be0f | ||
|
|
b1e123aaa1 | ||
|
|
cc669eb347 | ||
|
|
0509c24f31 | ||
|
|
3f3e1581ce | ||
|
|
9f386b003b | ||
|
|
383a2d0520 | ||
|
|
3a66646e09 | ||
|
|
ceeebfcc62 | ||
|
|
bbac4c5847 | ||
|
|
e8aa12a296 | ||
|
|
c93b057ba1 | ||
|
|
2e67007c69 | ||
|
|
465a2c29d5 | ||
|
|
db6963a8a6 | ||
|
|
afbb06eaad | ||
|
|
145e0b7783 | ||
|
|
42a69e7e9d | ||
|
|
aa58bfdb76 | ||
|
|
2810d930b0 | ||
|
|
8dbed47a87 | ||
|
|
9b6276411f | ||
|
|
7aa50530c0 | ||
|
|
d99aba0bcc | ||
|
|
dfd32d1b0e | ||
|
|
1138bbf40e | ||
|
|
bf658af8d0 | ||
|
|
d4f449697f | ||
|
|
04346da7ef | ||
|
|
64c2596979 | ||
|
|
33502e4613 | ||
|
|
d02cd24ebf | ||
|
|
440cacade1 | ||
|
|
6e84469aa2 | ||
|
|
2eca946504 | ||
|
|
a8d6ee6b43 | ||
|
|
e0dafb7ab8 | ||
|
|
5d2f49e950 | ||
|
|
76684f69f5 | ||
|
|
9d1d57d42b | ||
|
|
e9c192f70b | ||
|
|
12ca6125fb | ||
|
|
f96f5efe48 | ||
|
|
5650a26381 | ||
|
|
2122866b50 | ||
|
|
18db2e5c82 | ||
|
|
1627a26bf6 | ||
|
|
21ed53aa6d | ||
|
|
612d23fa63 | ||
|
|
3c6f7dd9c1 | ||
|
|
504f9cf853 | ||
|
|
fd00a74225 | ||
|
|
9c5ec71c19 | ||
|
|
a7bc09312d | ||
|
|
9c863e7795 | ||
|
|
abc067a10b | ||
|
|
6fc2072967 | ||
|
|
9570cb8b28 | ||
|
|
8e58d57ab3 | ||
|
|
7683cfe5c9 | ||
|
|
43e3400468 | ||
|
|
74f31dbaf9 | ||
|
|
b9cba20d84 | ||
|
|
9cdfc0ce8a | ||
|
|
667c4e2afe | ||
|
|
e2147d8b00 | ||
|
|
a7bad34fce | ||
|
|
093b2d96af | ||
|
|
fc01e35a43 | ||
|
|
9e7543a41a | ||
|
|
3c21b8ff5a | ||
|
|
2fc353cd14 | ||
|
|
9d0da3e6b8 | ||
|
|
83dc1de6d6 | ||
|
|
1ed56e388b | ||
|
|
5d088f0283 | ||
|
|
77682973a0 | ||
|
|
288b4029d7 | ||
|
|
0fc702627e | ||
|
|
b2da8f5e9d | ||
|
|
f86eaa78a2 | ||
|
|
6bbf927d81 | ||
|
|
be3d0fe8e1 | ||
|
|
042c81a6b4 | ||
|
|
75097e9485 | ||
|
|
27122a8578 | ||
|
|
3c876d7f6f | ||
|
|
c61d32bc58 | ||
|
|
03aaec04b9 | ||
|
|
744854726c | ||
|
|
a0727a8ea5 | ||
|
|
3be57ffb66 | ||
|
|
085d24447c | ||
|
|
8b212a8dd0 | ||
|
|
1a490cedf5 | ||
|
|
98022f3b96 | ||
|
|
1e0063e574 | ||
|
|
a8d73d5f99 | ||
|
|
500a8d7a8f | ||
|
|
df61ee09bb | ||
|
|
f521257570 | ||
|
|
ddcece66d6 | ||
|
|
a268c0a48d | ||
|
|
77f9251447 | ||
|
|
e8f85ef27f | ||
|
|
6342f5e4b8 | ||
|
|
44712e7efe | ||
|
|
c855bc00d7 | ||
|
|
006ee22435 | ||
|
|
deed04cd46 | ||
|
|
bc34293cac | ||
|
|
cc47df6ee6 | ||
|
|
1b8d7a6de5 | ||
|
|
cfa7844a42 | ||
|
|
c2f8fcb0c4 | ||
|
|
ef8dc97de9 | ||
|
|
710ab32b2f | ||
|
|
87f63c4655 | ||
|
|
adc72571ba | ||
|
|
c57f063dc1 | ||
|
|
511f21931c | ||
|
|
46b845ab01 | ||
|
|
68051bdcdb | ||
|
|
6d5f518855 | ||
|
|
3a7d8415f6 | ||
|
|
68fe267fad | ||
|
|
dd83139760 | ||
|
|
b561de77ab | ||
|
|
1ffbbefca4 | ||
|
|
d692553d02 | ||
|
|
b38e090fe8 | ||
|
|
6db892467c | ||
|
|
330ec999b5 | ||
|
|
a30d2d2506 | ||
|
|
a6b5726cdc | ||
|
|
9f71427fee | ||
|
|
2cc58ad546 | ||
|
|
c3ba10f2e5 | ||
|
|
0ffece7cb8 | ||
|
|
dbfe9b7e55 | ||
|
|
9307ebbaa9 | ||
|
|
2181b0ebce | ||
|
|
ec5e016401 | ||
|
|
513f847f4d | ||
|
|
d5c270b4dc | ||
|
|
522011b92c | ||
|
|
26ac789e57 | ||
|
|
3e07d2cd01 | ||
|
|
922143aacf | ||
|
|
d8cb0dfc9b | ||
|
|
b3bfc51ee8 | ||
|
|
4420dccc60 | ||
|
|
c7b32a5a0e | ||
|
|
493eb5051c | ||
|
|
82a228fa99 | ||
|
|
f80d42e211 | ||
|
|
e52634bd06 | ||
|
|
0bcee8eff2 | ||
|
|
801c8e284d | ||
|
|
96bd405e4f | ||
|
|
745a20d2f3 | ||
|
|
be33a6e14b | ||
|
|
c25279db8c | ||
|
|
bbbf706941 | ||
|
|
c29da31752 | ||
|
|
70aef10e14 | ||
|
|
c9411a1430 | ||
|
|
51cfae280f | ||
|
|
8bf1cc1775 | ||
|
|
02890a528f | ||
|
|
c3063b32fe | ||
|
|
dfb33b09ee | ||
|
|
849bba59bd | ||
|
|
f18be62946 | ||
|
|
dfd5913583 | ||
|
|
85b6185fda | ||
|
|
11564228bf | ||
|
|
a0eb54ef14 | ||
|
|
d4368333e3 | ||
|
|
1d4c69394c | ||
|
|
2c55c22d4a | ||
|
|
2605dff9b7 | ||
|
|
6d03c1a1fb | ||
|
|
f19147b201 | ||
|
|
d81ff11483 | ||
|
|
9ca63e1b55 | ||
|
|
2c1035cba4 | ||
|
|
68c9173353 | ||
|
|
055c0df2a0 | ||
|
|
6aff17a212 | ||
|
|
d40bc6cc4d | ||
|
|
e7b89e1d9a | ||
|
|
091cf1d9d8 | ||
|
|
a46cc5d8ae | ||
|
|
33371a071e | ||
|
|
df43f14093 | ||
|
|
ae801455f2 | ||
|
|
a267fb20b0 | ||
|
|
b46e69efe9 | ||
|
|
f9928acd42 | ||
|
|
b2cc7ae0d7 | ||
|
|
745ae8eaaa | ||
|
|
6b40ae25f8 | ||
|
|
b893d23915 | ||
|
|
346dcac65b | ||
|
|
64079fbd90 | ||
|
|
61954733d7 | ||
|
|
1bb46fa905 | ||
|
|
4d11a55091 | ||
|
|
35c57e6cf2 | ||
|
|
f9f8f0cb50 | ||
|
|
561f6eb784 | ||
|
|
858f7614f9 | ||
|
|
c57d8ef536 | ||
|
|
3b659526f3 | ||
|
|
7e85586313 | ||
|
|
a1ae343139 | ||
|
|
da114ae988 | ||
|
|
53efbdb3b7 | ||
|
|
024565d67c | ||
|
|
0248a50ae3 | ||
|
|
eb6a7b08fa | ||
|
|
a6b11e6f48 | ||
|
|
26e33dddec | ||
|
|
a5f0c83e87 | ||
|
|
3b9f52de18 | ||
|
|
8b29fc7fea | ||
|
|
325ce79bed | ||
|
|
85bbbe835c | ||
|
|
04b9a181dc | ||
|
|
9c3c7a9c77 | ||
|
|
f20ba23640 | ||
|
|
909cd52d56 | ||
|
|
76c63f6a60 | ||
|
|
cabb0b7964 | ||
|
|
497c9e4617 | ||
|
|
674f142eac | ||
|
|
8e6b33b228 | ||
|
|
baebd237e5 | ||
|
|
1486a41363 | ||
|
|
463a56b1c4 | ||
|
|
a4e135eb92 | ||
|
|
1026ebb0eb | ||
|
|
d8f086a840 | ||
|
|
732e1a028b | ||
|
|
8f172e172b | ||
|
|
683ef75162 | ||
|
|
957dc5de16 | ||
|
|
086c2de441 | ||
|
|
e6e7fb2e2a | ||
|
|
bc0077012d | ||
|
|
43bea53b56 | ||
|
|
72245c8631 | ||
|
|
500f14d002 | ||
|
|
b2aaae9f38 | ||
|
|
b52174216e | ||
|
|
a34f152153 | ||
|
|
abd23e5cb4 | ||
|
|
3f12d57f82 | ||
|
|
f49c896e4f | ||
|
|
019fc7a3d5 | ||
|
|
5ef8a88000 | ||
|
|
c6b5ff1934 | ||
|
|
ebdc1880d9 | ||
|
|
9dee282b83 | ||
|
|
1a6a8841f4 |
2
.gitattributes
vendored
2
.gitattributes
vendored
@@ -1,5 +1,3 @@
|
|||||||
dist/ merge=ours
|
dist/ merge=ours
|
||||||
application/language/**/*.php merge=ours
|
application/language/**/*.php merge=ours
|
||||||
text=auto
|
text=auto
|
||||||
application/config/config.php ident
|
|
||||||
application/views/partial/footer.php ident
|
|
||||||
|
|||||||
18
.github/stale.yml
vendored
Normal file
18
.github/stale.yml
vendored
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
# Number of days of inactivity before an issue becomes stale
|
||||||
|
daysUntilStale: 30
|
||||||
|
# Number of days of inactivity before a stale issue is closed
|
||||||
|
daysUntilClose: 7
|
||||||
|
# Issues with these labels will never be considered stale
|
||||||
|
exemptLabels:
|
||||||
|
- enhancement
|
||||||
|
- needsowner
|
||||||
|
- bug
|
||||||
|
# Label to use when marking an issue as stale
|
||||||
|
staleLabel: wontfix
|
||||||
|
# Comment to post when marking an issue as stale. Set to `false` to disable
|
||||||
|
markComment: >
|
||||||
|
This issue has been automatically marked as stale because it has not had
|
||||||
|
recent activity. It will be closed if no further activity occurs. Thank you
|
||||||
|
for your contributions.
|
||||||
|
# Comment to post when closing a stale issue. Set to `false` to disable
|
||||||
|
closeComment: false
|
||||||
8
.gitignore
vendored
8
.gitignore
vendored
@@ -9,11 +9,13 @@ application/uploads/*
|
|||||||
public/license/.licenses
|
public/license/.licenses
|
||||||
public/license/bower.LICENSES
|
public/license/bower.LICENSES
|
||||||
public/dist
|
public/dist
|
||||||
|
generate_langauges.php
|
||||||
dist/
|
dist/
|
||||||
docs/
|
docs/
|
||||||
public/bower_components
|
public/bower_components
|
||||||
*.patch
|
*.patch
|
||||||
patches/
|
patches/
|
||||||
|
translations/
|
||||||
.idea/
|
.idea/
|
||||||
git-svn-diff.py
|
git-svn-diff.py
|
||||||
*.bash
|
*.bash
|
||||||
@@ -29,3 +31,9 @@ vendor/
|
|||||||
*.~
|
*.~
|
||||||
*.log
|
*.log
|
||||||
.env
|
.env
|
||||||
|
package-lock.json
|
||||||
|
auth.json
|
||||||
|
!/docker/.env
|
||||||
|
/docker/data/database/db/*
|
||||||
|
/docker/data/certbot/conf/*
|
||||||
|
/docker/data/ospos/app/*
|
||||||
|
|||||||
@@ -2,12 +2,13 @@
|
|||||||
<IfModule mod_rewrite.c>
|
<IfModule mod_rewrite.c>
|
||||||
RewriteEngine On
|
RewriteEngine On
|
||||||
RewriteCond %{REQUEST_URI} !^public$
|
RewriteCond %{REQUEST_URI} !^public$
|
||||||
RewriteRule ^(.*)$ %{REQUEST_URI}public/ [R=301,L]
|
RewriteCond %{REQUEST_URI} !^/.well-known/acme-challenge [NC]
|
||||||
|
RewriteRule "^(.*)$" "/public/" [R=301,L]
|
||||||
</IfModule>
|
</IfModule>
|
||||||
|
|
||||||
# disable directory browsing
|
# disable directory browsing
|
||||||
# For security reasons, Option all cannot be overridden.
|
# For security reasons, Option all cannot be overridden.
|
||||||
Options +ExecCGI +Includes +IncludesNOEXEC +SymLinksIfOwnerMatch -Indexes
|
Options +SymLinksIfOwnerMatch -Indexes
|
||||||
|
|
||||||
# prevent folder listing
|
# prevent folder listing
|
||||||
IndexIgnore *
|
IndexIgnore *
|
||||||
|
|||||||
51
.travis.yml
51
.travis.yml
@@ -1,39 +1,50 @@
|
|||||||
sudo: required
|
sudo: required
|
||||||
dist: trusty
|
if: tag IS blank
|
||||||
group: deprecated-2017Q4
|
|
||||||
branches:
|
branches:
|
||||||
except:
|
except:
|
||||||
- weblate
|
- weblate
|
||||||
services:
|
services:
|
||||||
- docker
|
- docker
|
||||||
before_install:
|
before_install:
|
||||||
- curl -L https://github.com/docker/compose/releases/download/1.7.1/docker-compose-`uname
|
- curl -L https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-`uname -s`-`uname -m` > docker-compose
|
||||||
-s`-`uname -m` > docker-compose
|
|
||||||
- chmod +x docker-compose
|
- chmod +x docker-compose
|
||||||
- sudo mv docker-compose /usr/local/bin
|
- sudo mv docker-compose /usr/local/bin
|
||||||
- date=`date +%Y%m%d%H%M%S` && branch=${TRAVIS_BRANCH} && rev=`git rev-parse --short=6
|
|
||||||
HEAD` && sed -i "s/\$1/\$1.$date.$branch.$rev/g" deployment.json
|
|
||||||
script:
|
script:
|
||||||
- docker run --rm -v $(pwd):/app composer/composer install
|
- echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
|
||||||
- docker run --rm -v $(pwd):/app -w /app lucor/php7-cli php bin/install.php translations
|
- docker run --rm -v $(pwd):/app jekkos/composer composer install
|
||||||
develop
|
- docker run --rm -v $(pwd):/app jekkos/composer php bin/install.php translations develop
|
||||||
|
- sed -i "s/'\(dev\)'/'$rev'/g" application/config/config.php
|
||||||
- docker run --rm -it -v $(pwd):/app -w /app digitallyseamless/nodejs-bower-grunt
|
- docker run --rm -it -v $(pwd):/app -w /app digitallyseamless/nodejs-bower-grunt
|
||||||
sh -c "npm install && bower install && grunt package"
|
sh -c "npm install && bower install && grunt package"
|
||||||
- docker-compose build
|
- docker build . --target ospos -t ospos
|
||||||
|
- docker-compose -f docker-compose.test.yml up --abort-on-container-exit
|
||||||
env:
|
env:
|
||||||
|
global:
|
||||||
|
- DOCKER_COMPOSE_VERSION=1.21.1
|
||||||
- TAG=$(echo ${TRAVIS_BRANCH} | sed s/feature\\///)
|
- TAG=$(echo ${TRAVIS_BRANCH} | sed s/feature\\///)
|
||||||
after_success: '[ -n ${DOCKER_USERNAME} ] && docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD"
|
after_success:
|
||||||
&& docker tag opensourcepos_php "jekkos/opensourcepos:$TAG" && docker tag opensourcepos_sqlscript
|
- docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD" && docker tag "ospos:latest"
|
||||||
jekkos/opensourcepos:sqlscript && docker push "jekkos/opensourcepos:$TAG" && docker
|
"jekkos/opensourcepos:$TAG" && docker push "jekkos/opensourcepos:$TAG"
|
||||||
push jekkos/opensourcepos:sqlscript'
|
before_deploy:
|
||||||
|
- version=$(grep application_version application/config/config.php | sed "s/.*=\s'\(.*\)';/\1/g")
|
||||||
|
- date=`date +%Y%m%d%H%M%S` && branch=${TRAVIS_BRANCH} && rev=`git rev-parse --short=6 HEAD`
|
||||||
|
- TRAVIS_TAG=$(echo $branch.$version)
|
||||||
|
- git tag -f "$branch.$version"
|
||||||
|
- sudo mv dist/opensourcepos.zip "dist/opensourcepos.$branch.$version.zip"
|
||||||
deploy:
|
deploy:
|
||||||
edge:
|
provider: releases
|
||||||
source: travis-ci/dpl
|
file: "dist/opensourcepos.$branch.$version.zip"
|
||||||
branch: master
|
name: "OpensourcePos $version"
|
||||||
file: deployment.json
|
release_notes_file: WHATS_NEW.txt
|
||||||
provider: bintray
|
prerelease: true
|
||||||
skip_cleanup: true
|
skip_cleanup: true
|
||||||
key: ${BINTRAY_API_KEY}
|
|
||||||
user: jekkos
|
user: jekkos
|
||||||
|
overwrite: true
|
||||||
|
api_key:
|
||||||
|
secure: Ax25mMRDfHVf/HjRwqxYJe2oMnWC4sc2aKIiUxAOviVJJSCl4GMWhcFlUNnFsDcKIg2ofEGMVD6b9cTBuOwPDvymUDFnLNCCgDWve+vRDdWaTkTipn77Qk4c9UO9VvuzlPSKopChefPHlQ0n1rEmAMiKIXuqjUlNGqybW4FLP4E=
|
||||||
on:
|
on:
|
||||||
all_branches: true
|
all_branches: true
|
||||||
|
|
||||||
|
|||||||
30
Dockerfile
30
Dockerfile
@@ -1,10 +1,12 @@
|
|||||||
FROM php:7.0.29-apache
|
FROM php:7.4-apache AS ospos
|
||||||
MAINTAINER jekkos
|
MAINTAINER jekkos
|
||||||
|
|
||||||
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \
|
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \
|
||||||
libicu-dev \
|
libicu-dev \
|
||||||
libgd-dev \
|
libgd-dev \
|
||||||
openssl
|
openssl
|
||||||
|
|
||||||
|
|
||||||
RUN a2enmod rewrite
|
RUN a2enmod rewrite
|
||||||
RUN docker-php-ext-install mysqli bcmath intl gd
|
RUN docker-php-ext-install mysqli bcmath intl gd
|
||||||
RUN echo "date.timezone = \"\${PHP_TIMEZONE}\"" > /usr/local/etc/php/conf.d/timezone.ini
|
RUN echo "date.timezone = \"\${PHP_TIMEZONE}\"" > /usr/local/etc/php/conf.d/timezone.ini
|
||||||
@@ -13,6 +15,28 @@ RUN echo -e “$(hostname -i)\t$(hostname) $(hostname).localhost” >> /etc/host
|
|||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
COPY . /app
|
COPY . /app
|
||||||
RUN ln -s /app/*[^public] /var/www && rm -rf /var/www/html && ln -nsf /app/public /var/www/html
|
RUN ln -s /app/*[^public] /var/www && rm -rf /var/www/html && ln -nsf /app/public /var/www/html
|
||||||
RUN chmod 755 /app/public/uploads && chown -R www-data:www-data /app/public /app/application
|
RUN chmod -R 750 /app/public/uploads /app/application/logs && chown -R www-data:www-data /app/public /app/application
|
||||||
|
|
||||||
|
FROM ospos AS ospos_test
|
||||||
|
|
||||||
|
COPY --from=composer /usr/bin/composer /usr/bin/composer
|
||||||
|
|
||||||
|
RUN apt-get install -y libzip-dev wget git
|
||||||
|
RUN wget https://raw.githubusercontent.com/vishnubob/wait-for-it/master/wait-for-it.sh -O /bin/wait-for-it.sh && chmod +x /bin/wait-for-it.sh
|
||||||
|
RUN docker-php-ext-install zip
|
||||||
|
RUN composer install -d/app
|
||||||
|
RUN php /app/vendor/kenjis/ci-phpunit-test/install.php -a /app/application -p /app/vendor/codeigniter/framework
|
||||||
|
RUN sed -i 's/backupGlobals="true"/backupGlobals="false"/g' /app/application/tests/phpunit.xml
|
||||||
|
RUN sed -i '13,17d' /app/application/tests/controllers/Welcome_test.php
|
||||||
|
WORKDIR /app/application/tests
|
||||||
|
|
||||||
|
CMD ["/app/vendor/phpunit/phpunit/phpunit"]
|
||||||
|
|
||||||
|
FROM ospos AS ospos_dev
|
||||||
|
|
||||||
|
RUN mkdir -p /app/bower_components && ln -s /app/bower_components /var/www/html/bower_components
|
||||||
|
RUN yes | pecl install xdebug \
|
||||||
|
&& echo "zend_extension=$(find /usr/local/lib/php/extensions/ -name xdebug.so)" > /usr/local/etc/php/conf.d/xdebug.ini \
|
||||||
|
&& echo "xdebug.remote_enable=1" >> /usr/local/etc/php/conf.d/xdebug.ini \
|
||||||
|
&& echo "xdebug.remote_autostart=off" >> /usr/local/etc/php/conf.d/xdebug.ini
|
||||||
|
|
||||||
RUN [ ! -f test/ospos.js ] || sed -i -e "s/\(localhost\)/web/g" test/ospos.js
|
|
||||||
|
|||||||
@@ -1,9 +0,0 @@
|
|||||||
FROM jekkos/opensourcepos:master
|
|
||||||
MAINTAINER jekkos
|
|
||||||
|
|
||||||
RUN mkdir -p /app/bower_components && ln -s /app/bower_components /var/www/html/bower_components
|
|
||||||
RUN yes | pecl install xdebug \
|
|
||||||
&& echo "zend_extension=$(find /usr/local/lib/php/extensions/ -name xdebug.so)" > /usr/local/etc/php/conf.d/xdebug.ini \
|
|
||||||
&& echo "xdebug.remote_enable=on" >> /usr/local/etc/php/conf.d/xdebug.ini \
|
|
||||||
&& echo "xdebug.remote_autostart=off" >> /usr/local/etc/php/conf.d/xdebug.ini
|
|
||||||
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
FROM digitallyseamless/nodejs-bower-grunt:5
|
|
||||||
MAINTAINER jekkos
|
|
||||||
|
|
||||||
# apt-get install curl
|
|
||||||
|
|
||||||
COPY Gruntfile.js .
|
|
||||||
COPY package.json .
|
|
||||||
COPY test .
|
|
||||||
RUN npm install
|
|
||||||
|
|
||||||
CMD ['while ! curl web/index.php | grep username; do sleep 1; done; grunt mochaWebdriver:test']
|
|
||||||
2
FUNDING.yml
Normal file
2
FUNDING.yml
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
github: jekkos
|
||||||
|
custom: ["https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=MUN6AEG7NY6H8"]
|
||||||
61
Gruntfile.js
61
Gruntfile.js
@@ -1,6 +1,6 @@
|
|||||||
module.exports = function(grunt) {
|
module.exports = function(grunt) {
|
||||||
|
|
||||||
grunt.initConfig({
|
grunt.initConfig({
|
||||||
pkg: grunt.file.readJSON('package.json'),
|
pkg: grunt.file.readJSON('package.json'),
|
||||||
wiredep: {
|
wiredep: {
|
||||||
task: {
|
task: {
|
||||||
@@ -11,7 +11,15 @@ module.exports = function(grunt) {
|
|||||||
bower_concat: {
|
bower_concat: {
|
||||||
all: {
|
all: {
|
||||||
mainFiles: {
|
mainFiles: {
|
||||||
'bootstrap-table': [ "src/bootstrap-table.js", "src/bootstrap-table.css", "dist/extensions/export/bootstrap-table-export.js", "dist/extensions/mobile/bootstrap-table-mobile.js", "dist/extensions/sticky-header/bootstrap-table-sticky-header.js", "dist/extensions/sticky-header/bootstrap-table-sticky-header.css"]
|
'bootstrap-table': [
|
||||||
|
"dist/bootstrap-table.min.js",
|
||||||
|
"dist/bootstrap-table.css",
|
||||||
|
"dist/extensions/export/bootstrap-table-export.min.js",
|
||||||
|
"dist/extensions/mobile/bootstrap-table-mobile.min.js",
|
||||||
|
"dist/extensions/sticky-header/bootstrap-table-sticky-header.min.js",
|
||||||
|
"dist/extensions/sticky-header/bootstrap-table-sticky-header.css"
|
||||||
|
],
|
||||||
|
'chartist-plugin-axistitle': [ "./dist/chartist-plugin-axistitle.min.js"]
|
||||||
},
|
},
|
||||||
dest: {
|
dest: {
|
||||||
'js': 'tmp/opensourcepos_bower.js',
|
'js': 'tmp/opensourcepos_bower.js',
|
||||||
@@ -53,7 +61,7 @@ module.exports = function(grunt) {
|
|||||||
cssmin: {
|
cssmin: {
|
||||||
target: {
|
target: {
|
||||||
files: {
|
files: {
|
||||||
'public/dist/<%= pkg.name %>.min.css': ['tmp/opensourcepos_bower.css', 'public/css/*.css', '!public/css/login.css', '!public/css/invoice_email.css', '!public/css/barcode_font.css']
|
'public/dist/<%= pkg.name %>.min.css': ['tmp/opensourcepos_bower.css', 'public/css/*.css', '!public/css/login.css', '!public/css/invoice_email.css', '!public/css/barcode_font.css', '!public/css/darkly.css']
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -106,7 +114,7 @@ module.exports = function(grunt) {
|
|||||||
closeTag: '<!-- end css template tags -->',
|
closeTag: '<!-- end css template tags -->',
|
||||||
ignorePath: '../../../public/'
|
ignorePath: '../../../public/'
|
||||||
},
|
},
|
||||||
src: ['public/css/*.css', '!public/css/login.css', '!public/css/invoice_email.css', '!public/css/barcode_font.css'],
|
src: ['public/css/*.css', '!public/css/login.css', '!public/css/invoice_email.css', '!public/css/barcode_font.css', '!public/css/darkly.css'],
|
||||||
dest: 'application/views/partial/header.php',
|
dest: 'application/views/partial/header.php',
|
||||||
},
|
},
|
||||||
mincss_header: {
|
mincss_header: {
|
||||||
@@ -125,7 +133,7 @@ module.exports = function(grunt) {
|
|||||||
scriptTemplate: '<rel type="text/css" src="{{ path }}"></rel>',
|
scriptTemplate: '<rel type="text/css" src="{{ path }}"></rel>',
|
||||||
openTag: '<!-- start css template tags -->',
|
openTag: '<!-- start css template tags -->',
|
||||||
closeTag: '<!-- end css template tags -->',
|
closeTag: '<!-- end css template tags -->',
|
||||||
ignorePath: '../../public/'
|
ignorePath: '../../public/'
|
||||||
},
|
},
|
||||||
src: ['public/css/login.css'],
|
src: ['public/css/login.css'],
|
||||||
dest: 'application/views/login.php'
|
dest: 'application/views/login.php'
|
||||||
@@ -145,7 +153,7 @@ module.exports = function(grunt) {
|
|||||||
scriptTemplate: '<script type="text/javascript" src="{{ path }}"></script>',
|
scriptTemplate: '<script type="text/javascript" src="{{ path }}"></script>',
|
||||||
openTag: '<!-- start minjs template tags -->',
|
openTag: '<!-- start minjs template tags -->',
|
||||||
closeTag: '<!-- end minjs template tags -->',
|
closeTag: '<!-- end minjs template tags -->',
|
||||||
ignorePath: '../../../public/'
|
ignorePath: '../../../public/'
|
||||||
},
|
},
|
||||||
src: ['public/dist/*min.js'],
|
src: ['public/dist/*min.js'],
|
||||||
dest: 'application/views/partial/header.php'
|
dest: 'application/views/partial/header.php'
|
||||||
@@ -230,23 +238,42 @@ module.exports = function(grunt) {
|
|||||||
archive: 'dist/opensourcepos.zip'
|
archive: 'dist/opensourcepos.zip'
|
||||||
},
|
},
|
||||||
files: [
|
files: [
|
||||||
{src: ['public/**', 'vendor/**', 'application/**', '!/public/images/menubar/png/', '!/public/dist/bootswatch/', '/public/dist/bootswatch/*/*.css', 'database/**', '*.txt', '*.md', 'LICENSE', 'docker*', 'Dockerfile', '**/.htaccess', '*.csv']}
|
{
|
||||||
|
src: [
|
||||||
|
'public/**',
|
||||||
|
'vendor/**',
|
||||||
|
'application/**',
|
||||||
|
'!/application/tests',
|
||||||
|
'!/public/images/menubar/png/',
|
||||||
|
'!/public/dist/bootswatch/',
|
||||||
|
'/public/dist/bootswatch/*/*.css',
|
||||||
|
'database/**',
|
||||||
|
'*.txt',
|
||||||
|
'*.md',
|
||||||
|
'LICENSE',
|
||||||
|
'docker*',
|
||||||
|
'docker/**',
|
||||||
|
'Dockerfile',
|
||||||
|
'**/.htaccess',
|
||||||
|
'*.csv'
|
||||||
|
]
|
||||||
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
require('load-grunt-tasks')(grunt);
|
require('load-grunt-tasks')(grunt);
|
||||||
grunt.loadNpmTasks('grunt-mocha-webdriver');
|
grunt.loadNpmTasks('grunt-mocha-webdriver');
|
||||||
grunt.loadNpmTasks('grunt-composer');
|
grunt.loadNpmTasks('grunt-composer');
|
||||||
grunt.loadNpmTasks('grunt-apigen');
|
grunt.loadNpmTasks('grunt-apigen');
|
||||||
grunt.loadNpmTasks('grunt-contrib-compress');
|
grunt.loadNpmTasks('grunt-contrib-compress');
|
||||||
|
|
||||||
grunt.registerTask('default', ['wiredep', 'bower_concat', 'bowercopy', 'concat', 'uglify', 'cssmin', 'tags', 'cachebreaker']);
|
grunt.registerTask('default', ['wiredep', 'bower_concat', 'bowercopy', 'concat', 'uglify', 'cssmin', 'tags', 'cachebreaker']);
|
||||||
grunt.registerTask('update', ['composer:update', 'bower:update']);
|
grunt.registerTask('update', ['composer:update', 'bower:update']);
|
||||||
grunt.registerTask('genlicense', ['clean:license', 'license', 'bower-licensechecker']);
|
grunt.registerTask('genlicense', ['clean:license', 'license', 'bower-licensechecker']);
|
||||||
grunt.registerTask('package', ['default', 'compress']);
|
grunt.registerTask('package', ['default', 'compress']);
|
||||||
grunt.registerTask('packages', ['composer:update']);
|
grunt.registerTask('packages', ['composer:update']);
|
||||||
grunt.registerTask('gendocs', ['apigen:generate']);
|
grunt.registerTask('gendocs', ['apigen:generate']);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|||||||
80
INSTALL.md
80
INSTALL.md
@@ -1,13 +1,13 @@
|
|||||||
Server Requirements
|
Server Requirements
|
||||||
-------------------
|
-------------------
|
||||||
|
|
||||||
* PHP version 5.6 to 7.2 is recommended. Please note that PHP needs to have `php-gd`, `php-bcmath`, `php-intl`, `php-openssl`, `php-mbstring` and `php-curl` installed and enabled.
|
* PHP version 7.2 to 7.4 are supported, PHP version 5.6 and 8.0 are NOT supported. Please note that PHP needs to have `php-gd`, `php-bcmath`, `php-intl`, `php-openssl`, `php-mbstring` and `php-curl` installed and enabled.
|
||||||
|
|
||||||
* MySQL 5.5, 5.6 and 5.7 are supported, also MariaDB replacement is supported and apparently offering better performance.
|
* MySQL 5.5, 5.6 and 5.7 are supported, also MariaDB replacement 10.x is supported and apparently offering better performance.
|
||||||
|
|
||||||
* Apache 2.2 and 2.4 are supported. Also Nginx has been proven to work fine, see [wiki page here](https://github.com/opensourcepos/opensourcepos/wiki/Local-Deployment-using-LEMP)
|
* Apache 2.2 and 2.4 are supported. Also Nginx has been proven to work fine, see [wiki page here](https://github.com/opensourcepos/opensourcepos/wiki/Local-Deployment-using-LEMP).
|
||||||
|
|
||||||
* Raspberry PI based installations proved to work, see [wiki page here](https://github.com/opensourcepos/opensourcepos/wiki/Installing-on-Raspberry-PI---Orange-PI-(Headless-OSPOS))
|
* Raspberry PI based installations proved to work, see [wiki page here](https://github.com/opensourcepos/opensourcepos/wiki/Installing-on-Raspberry-PI---Orange-PI-(Headless-OSPOS)).
|
||||||
|
|
||||||
* For Windows based installations please read [the wiki](https://github.com/opensourcepos/opensourcepos/wiki) and also existing closed issues as this topic has been covered well in all the variants and issues.
|
* For Windows based installations please read [the wiki](https://github.com/opensourcepos/opensourcepos/wiki) and also existing closed issues as this topic has been covered well in all the variants and issues.
|
||||||
|
|
||||||
@@ -17,7 +17,7 @@ Local install
|
|||||||
|
|
||||||
First of all, if you're seeing the message **'system folder missing'** after launching your browser, then that means you have cloned the repository and have not built the project properly.
|
First of all, if you're seeing the message **'system folder missing'** after launching your browser, then that means you have cloned the repository and have not built the project properly.
|
||||||
|
|
||||||
1. Dowload the latest [stable release](https://github.com/opensourcepos/opensourcepos/releases) from github or [unstable build](https://bintray.com/jekkos/opensourcepos/opensourcepos/view/files?sort=updated&order=asc#files) from bintray. A regular repository clone will not work unless you are brave enough to build the whole project!
|
1. Dowload the latest stable or prerelease for a specific branch [from github](https://github.com/opensourcepos/opensourcepos/releases). A regular repository clone will not work unless you are brave enough to build the whole project!
|
||||||
2. Create/locate a new mysql database to install open source point of sale into
|
2. Create/locate a new mysql database to install open source point of sale into
|
||||||
3. Execute the file database/database.sql to create the tables needed
|
3. Execute the file database/database.sql to create the tables needed
|
||||||
4. unzip and upload Open Source Point of Sale files to web server
|
4. unzip and upload Open Source Point of Sale files to web server
|
||||||
@@ -34,54 +34,48 @@ First of all, if you're seeing the message **'system folder missing'** after lau
|
|||||||
Local install using Docker
|
Local install using Docker
|
||||||
--------------------------
|
--------------------------
|
||||||
|
|
||||||
From now on ospos can be deployed using Docker on Linux, Mac or Windows. This setup dramatically reduces the number of possible issues as all setup is now done in a Dockerfile. Docker runs natively on mac and linux, but will require more overhead on windows. Please refer to the docker documentation for instructions on how to set it up on your platform.
|
From now onwards OSPOS can be deployed using Docker on Linux and Mac, locally or on a host (server).
|
||||||
|
This setup dramatically reduces the number of possible issues as all setup is now done in a Dockerfile.
|
||||||
|
Docker runs natively on Mac and Linux. Please refer to the docker documentation for instructions on how to set it up on your platform.
|
||||||
|
|
||||||
* To build and run the image, download the latest build from bintray and issue following commands in a terminal with docker installed
|
***Be aware that this setup is not suited for production usage. Change the default passwords in the compose file before exposing the containers publicly.***
|
||||||
|
|
||||||
|
Start the containers using following command
|
||||||
|
|
||||||
```
|
```
|
||||||
docker-compose build
|
docker-compose up
|
||||||
docker-compose up
|
|
||||||
```
|
```
|
||||||
|
|
||||||
* If you want to run from the latest git source, then use docker and composer to run the build
|
|
||||||
|
Nginx install using Docker
|
||||||
|
-------------------------
|
||||||
|
|
||||||
|
Since OSPOS version 3.3.0 the docker installation offers a reverse proxy based on nginx with a Letsencrypt TLS certificate termination (aka HTTPS connection).
|
||||||
|
Letsencrypt is a free certificate issuer, requiring a special installation that this docker installation would take care for you.
|
||||||
|
Any Letsencrypt TLS certificate renewal will be managed automatically for you, therefore there is no need to worry about those details.
|
||||||
|
|
||||||
|
Before starting your installation, you would need to edit docker/.env file and configure it to contain the correct MySQL/MariaDB and phpMyAdmin passwords (don't use the defaults!).
|
||||||
|
You will also need to register to Letsencrypt and configure your host domain name, Letsencrypt email address in docker/.env file.
|
||||||
|
The variable STAGING needs to be set to 0 when you are confident your configuration is correct so that Letsencrypt will issue a final proper TLS certificate.
|
||||||
|
|
||||||
|
Follow local install steps, but instead of
|
||||||
|
|
||||||
```
|
```
|
||||||
docker run --rm -v $(pwd):/app composer/composer install
|
docker/install-nginx.sh
|
||||||
docker run --rm -v $(pwd):/app -w /app lucor/php7-cli php bin/install.php translations develop
|
|
||||||
docker run --rm -it -v $(pwd):/app -w /app digitallyseamless/nodejs-bower-grunt sh -c "npm install && bower install"
|
|
||||||
docker-compose build
|
|
||||||
docker-compose up
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Do not use
|
||||||
|
|
||||||
|
```
|
||||||
|
docker/uninstall.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
on live deployments unless you want to tear down everything because all your disk content will be wiped out!
|
||||||
|
|
||||||
|
|
||||||
Cloud install
|
Cloud install
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
A quick option would be to install directly to [Digitalocean](https://m.do.co/c/ac38c262507b) using their preconfigured LAMP stack.
|
If you choose *DigitalOcean*:
|
||||||
Create a DO account first, add a droplet with preconfigured LAMP and follow the instructions for Local Install below. You will be running a provisioned VPS within minutes.
|
[Through this link](https://m.do.co/c/ac38c262507b), you will get a *$100 credit* for a first month. [Check the wiki](https://github.com/opensourcepos/opensourcepos/wiki/Getting-Started-installations) for further instructions on how to install the necessary components.
|
||||||
|
|
||||||
|
|
||||||
Cloud install using Docker
|
|
||||||
--------------------------
|
|
||||||
This installation is NOT Recommended anymore and will soon be replaced by a one click DO installation procedure.
|
|
||||||
Existing setups will keep working until the 21th of May but will need to be migrated in time in order to ensure user's safety.
|
|
||||||
|
|
||||||
|
|
||||||
If you want to run a quick demo of ospos or run it permanently in the cloud, then we
|
|
||||||
suggest using Docker cloud together with the DigitalOcean hosting platform. This way all the
|
|
||||||
configuration is done automatically and the install will just work.
|
|
||||||
|
|
||||||
If you choose *DigitalOcean* [through this link](https://m.do.co/c/ac38c262507b), you will get a *$10 credit* for a first
|
|
||||||
month of uptime on the platform. A full setup will only take about 2 minutes by following steps below.
|
|
||||||
|
|
||||||
1. Create a [Digitalocean account](https://m.do.co/c/ac38c262507b)
|
|
||||||
2. Create a [docker cloud account](https://cloud.docker.com)
|
|
||||||
3. Login to docker cloud
|
|
||||||
4. Associate your docker cloud account with your previously created digital ocean account under settings
|
|
||||||
5. Create a new node on DigitalOcean through the `Infrastructure > Nodes` tab. Fill in a name (ospos) and choose a region near to you. We recommend to choose a node with minimum 1G RAM for the whole stack
|
|
||||||
6. Click [](https://cloud.docker.com/stack/deploy/?repo=https://github.com/opensourcepos/opensourcepos)
|
|
||||||
7. Othewise create a new stack under `Applications > Stacks` and paste the [contents of docker-cloud.yml](https://github.com/opensourcepos/opensourcepos/blob/master/docker-cloud.yml) from the source repository in the text field and hit `Create and deploy`
|
|
||||||
8. Find your website url under `Infrastructure > Nodes > <yournode> > Endpoints > web`
|
|
||||||
9. Login with default username/password admin/pointofsale
|
|
||||||
10. DNS name for this server can be easily configured in the DigitalOcean control panel
|
|
||||||
|
|
||||||
More info [on maintaining a docker](https://github.com/opensourcepos/opensourcepos/wiki/Docker-cloud-maintenance) install can be found on the wiki
|
|
||||||
|
|||||||
56
LICENSE
56
LICENSE
@@ -1,23 +1,30 @@
|
|||||||
The MIT License (MIT)
|
The MIT License (MIT)
|
||||||
|
|
||||||
Copyright (c) 2012-2014 pappastech
|
Copyright (c) 2013-2021 jekkos
|
||||||
Copyright (c) 2012 Alain
|
Copyright (c) 2015-2021 FrancescoUK (aka daN4cat)
|
||||||
Copyright (c) 2013 Rob Garrison
|
Copyright (c) 2017-2021 Steve Ireland
|
||||||
Copyright (c) 2013 Parq
|
Copyright (c) 2017-2021 objecttothis
|
||||||
Copyright (c) 2013 Ramel
|
Copyright (c) 2017-2021 odiea
|
||||||
Copyright (c) 2013-2018 jekkos
|
Copyright (c) 2017-2021 WebShells
|
||||||
Copyright (c) 2015-2018 FrancescoUK (aka daN4cat)
|
Copyright (c) 2020-2021 Andriux1990
|
||||||
Copyright (c) 2015 Aamir Shahzad (aka asakpke), RoshanTech.com
|
Copyright (c) 2019 Loyd Jayme (aka loydjayme25)
|
||||||
Copyright (c) 2015 Toni Haryanto (aka yllumi)
|
Copyright (c) 2018 Erasto Marroquin (aka Erastus)
|
||||||
Copyright (c) 2016-2017 Ramkrishna Mondal (aka RamkrishnaMondal)
|
Copyright (c) 2018 Nathan Sas (aka nathanzky)
|
||||||
Copyright (c) 2016 Rinaldy@dbarber (aka rnld26)
|
Copyright (c) 2018 Emilio Silva (aka emi-silva)
|
||||||
Copyright (c) 2016-2017 Jorge Colmenarez (aka jlctmaster), frontuari.com
|
|
||||||
Copyright (c) 2017-2018 Steve Ireland
|
|
||||||
Copyright (c) 2017 Jesus Guerrero Botella (aka i92guboj)
|
Copyright (c) 2017 Jesus Guerrero Botella (aka i92guboj)
|
||||||
Copyright (c) 2017 Deep Shah (aka deepshah)
|
Copyright (c) 2017 Deep Shah (aka deepshah)
|
||||||
Copyright (c) 2017 Joshua Fernandez (aka joshua1234511)
|
Copyright (c) 2017 Joshua Fernandez (aka joshua1234511)
|
||||||
Copyright (c) 2017 odiea
|
|
||||||
Copyright (c) 2017 asadjaved63
|
Copyright (c) 2017 asadjaved63
|
||||||
|
Copyright (c) 2016-2017 Ramkrishna Mondal (aka RamkrishnaMondal)
|
||||||
|
Copyright (c) 2016-2017 Jorge Colmenarez (aka jlctmaster), frontuari.com
|
||||||
|
Copyright (c) 2016 Rinaldy@dbarber (aka rnld26)
|
||||||
|
Copyright (c) 2015 Aamir Shahzad (aka asakpke), RoshanTech.com
|
||||||
|
Copyright (c) 2015 Toni Haryanto (aka yllumi)
|
||||||
|
Copyright (c) 2013 Rob Garrison
|
||||||
|
Copyright (c) 2013 Parq
|
||||||
|
Copyright (c) 2013 Ramel
|
||||||
|
Copyright (c) 2012-2014 pappastech
|
||||||
|
Copyright (c) 2012 Alain
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||||
this software and associated documentation files (the "Software"), to deal in
|
this software and associated documentation files (the "Software"), to deal in
|
||||||
@@ -31,7 +38,26 @@ copies or substantial portions of the Software.
|
|||||||
|
|
||||||
You cannot claim copyright or ownership of the Software.
|
You cannot claim copyright or ownership of the Software.
|
||||||
|
|
||||||
Footer signatures "You are using Open Source Point Of Sale" and/or "Open Source Point Of Sale"
|
Versions ≥ 3.3.2:
|
||||||
|
|
||||||
|
Footer signatures "© 2010 - 2021 · opensourcepos.org · 3.3.3 - 6909c8"
|
||||||
|
In the format of: "© 2010 - Current Year · opensourcepos.org · Version - Commit"
|
||||||
|
|
||||||
|
and/or
|
||||||
|
|
||||||
|
"· opensourcepos.org ·"
|
||||||
|
|
||||||
|
with version, hash and URL link to the official website of the project MUST BE RETAINED,
|
||||||
|
MUST BE VISIBLE IN EVERY PAGE and CANNOT BE MODIFIED.
|
||||||
|
|
||||||
|
Versions < 3.3.2:
|
||||||
|
|
||||||
|
Footer signatures "You are using Open Source Point Of Sale"
|
||||||
|
|
||||||
|
and/or
|
||||||
|
|
||||||
|
"Open Source Point Of Sale"
|
||||||
|
|
||||||
with version, hash and URL link to the original distribution of the code MUST BE RETAINED,
|
with version, hash and URL link to the original distribution of the code MUST BE RETAINED,
|
||||||
MUST BE VISIBLE IN EVERY PAGE and CANNOT BE MODIFIED.
|
MUST BE VISIBLE IN EVERY PAGE and CANNOT BE MODIFIED.
|
||||||
|
|
||||||
|
|||||||
63
README.md
63
README.md
@@ -1,9 +1,7 @@
|
|||||||
[](https://travis-ci.org/opensourcepos/opensourcepos)
|
[](https://travis-ci.org/opensourcepos/opensourcepos)
|
||||||
[](https://gitter.im/jekkos/opensourcepos?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
[](https://gitter.im/opensourcepos?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
||||||
[](https://david-dm.org/jekkos/opensourcepos#info=dev)
|
|
||||||
[](https://gemnasium.com/github.com/jekkos/opensourcepos)
|
|
||||||
[](https://badge.fury.io/gh/jekkos%2Fopensourcepos)
|
[](https://badge.fury.io/gh/jekkos%2Fopensourcepos)
|
||||||
[](http://weblate.jpeelaer.net/engage/ospos/?utm_source=widget)
|
[](http://translate.opensourcepos.org/engage/opensourcepos/?utm_source=widget)
|
||||||
|
|
||||||
|
|
||||||
Introduction
|
Introduction
|
||||||
@@ -11,11 +9,12 @@ Introduction
|
|||||||
|
|
||||||
Open Source Point of Sale is a web based point of sale system.
|
Open Source Point of Sale is a web based point of sale system.
|
||||||
The main features are:
|
The main features are:
|
||||||
* Stock management (Items and Kits)
|
* Stock management (Items and Kits with extensible list of Attributes)
|
||||||
* VAT, customer and multi tiers taxation
|
* VAT, GST, customer and multi tiers taxation
|
||||||
* Sale register with transactions logging
|
* Sale register with transactions logging
|
||||||
* Quotation and invoicing
|
* Quotation and invoicing
|
||||||
* Expenses logging
|
* Expenses logging
|
||||||
|
* Cashup
|
||||||
* Receipt and invoice printing and/or emailing
|
* Receipt and invoice printing and/or emailing
|
||||||
* Barcode generation and printing
|
* Barcode generation and printing
|
||||||
* Suppliers and Customers database
|
* Suppliers and Customers database
|
||||||
@@ -35,13 +34,11 @@ The main features are:
|
|||||||
The software is written in PHP language, it uses MySQL (or MariaDB) as data storage back-end and has a simple but intuitive user interface.
|
The software is written in PHP language, it uses MySQL (or MariaDB) as data storage back-end and has a simple but intuitive user interface.
|
||||||
|
|
||||||
The latest 3.x version is a complete overhaul of the original software.
|
The latest 3.x version is a complete overhaul of the original software.
|
||||||
It is now based on Bootstrap 3 using Bootswatch themes, and still uses CodeIgniter 3 as framework.
|
It is now based on Bootstrap 3 using Bootswatch themes, and uses CodeIgniter version 3 as framework.
|
||||||
It also has improved functionality and security.
|
It also has improved functionality and security.
|
||||||
|
|
||||||
Deployed to a Cloud it's a SaaS (Software as a Service) solution.
|
DEMO / DEV
|
||||||
|
----------
|
||||||
DEMO
|
|
||||||
----
|
|
||||||
|
|
||||||
A demo version of the latest master version can be found on our [Demo server](https://demo.opensourcepos.org). This is a containerized install which will be reinitialized when new functionality is added to the code repository.
|
A demo version of the latest master version can be found on our [Demo server](https://demo.opensourcepos.org). This is a containerized install which will be reinitialized when new functionality is added to the code repository.
|
||||||
|
|
||||||
@@ -49,16 +46,20 @@ LOGIN using
|
|||||||
* username: admin
|
* username: admin
|
||||||
* password: pointofsale
|
* password: pointofsale
|
||||||
|
|
||||||
|
Beside this we also have a [Dev server](https://dev.opensourcepos.org) that runs the build that was triggered with the last repository's commit.
|
||||||
|
|
||||||
|
In case of any issues, check our status page at [status.opensourcepos.org](https://status.opensourcepos.org) to confirm whether there is a sever outage.
|
||||||
|
|
||||||
Installation
|
Installation
|
||||||
------------
|
------------
|
||||||
|
|
||||||
Please **refrain from creating issues** about installation issues **before reading the FAQ and going through existing github issues**. We have a build pipeline that checks the sanity of our latest repository commit and in case the application itself is broken then our build will be as well.
|
Please **refrain from creating issues** about installation problems **before having read the FAQ and went through existing github issues**. We have a build pipeline that checks the sanity of our latest repository commit and in case the application itself is broken then our build will be as well.
|
||||||
|
|
||||||
This application **can be setup in many different ways** and we only **support the ones described in the INSTALL file linked below**.
|
This application **can be setup in many different ways** and we only **support the ones described in the INSTALL file linked below**.
|
||||||
|
|
||||||
Read the [INSTALL.md](https://github.com/opensourcepos/opensourcepos/blob/master/INSTALL.md) in our repository.
|
Read the [INSTALL.md](https://github.com/opensourcepos/opensourcepos/blob/master/INSTALL.md) in our repository.
|
||||||
|
|
||||||
|
[Check our wiki](https://github.com/opensourcepos/opensourcepos/wiki/Supported-hardware-datasheet) for info and recommendations on supported receipt printers and barcode scanners.
|
||||||
|
|
||||||
License
|
License
|
||||||
-------
|
-------
|
||||||
@@ -95,6 +96,7 @@ If you like the project, and you are making money out of it in some form, then c
|
|||||||
|
|
||||||
[](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=MUN6AEG7NY6H8)
|
[](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=MUN6AEG7NY6H8)
|
||||||
|
|
||||||
|
If you choose to deploy OSPOS in the cloud, you can contribute to the project by using our referral link. [You will get an initial $100 credits](https://m.do.co/c/ac38c262507b) for running OSPOS on a cloud instance with DigitalOcean.
|
||||||
|
|
||||||
Language Translations
|
Language Translations
|
||||||
---------------------
|
---------------------
|
||||||
@@ -110,15 +112,21 @@ Reporting Bugs
|
|||||||
--------------
|
--------------
|
||||||
|
|
||||||
If you are taking a release candidate code please make sure you always run the latest database upgrade script and you took the latest code from master.
|
If you are taking a release candidate code please make sure you always run the latest database upgrade script and you took the latest code from master.
|
||||||
Please DO NOT post issues if you have not done those step.
|
Please DO NOT post issues if you have not completed this step.
|
||||||
|
|
||||||
Bug reports must follow this schema:
|
- Versions **≥ 3.3.0**:
|
||||||
|
|
||||||
|
Please **Copy** the info under **System Info tab in configuration section** in order to give us the required details.
|
||||||
|
|
||||||
|
- Versions **< 3.2.3**:
|
||||||
|
|
||||||
|
Bug reports must follow the below schema:
|
||||||
|
|
||||||
1. Ospos **version string with git commit hash** (see ospos footer)
|
1. Ospos **version string with git commit hash** (see ospos footer)
|
||||||
2. OS name and version running your Web Server (e.g. CentOS 6.9, Ubuntu 16.4, Windows 10)
|
2. OS name and version running your Web Server (e.g. CentOS 6.9, Ubuntu 20, Windows 10)
|
||||||
3. Web Server name and version (e.g. Apache 2.2, Apache 2.4, Nginx 1.12, Nginx 1.13)
|
3. Web Server name and version (e.g. Apache 2.4, Nginx 1.12, Nginx 1.13)
|
||||||
4. Database name and version (e.g. MySQL 5.5, MySQL 5.6, MySQL 5.7, MariaDB 10.0, MariaDB 10.1, MariaDB 10.2)
|
4. Database name and version (e.g. MySQL 5.6, MySQL 5.7, MariaDB 10.2, MariaDB 10.3)
|
||||||
5. PHP version (e.g. 5.5, 5.6, 7.0, 7.1)
|
5. PHP version (e.g. 7.2, 7.3, 7.4)
|
||||||
6. Language selected in OSPOS (e.g. English, Spanish)
|
6. Language selected in OSPOS (e.g. English, Spanish)
|
||||||
7. Any configuration of OSPOS that you changed
|
7. Any configuration of OSPOS that you changed
|
||||||
8. Exact steps to reproduce the issue (test case)
|
8. Exact steps to reproduce the issue (test case)
|
||||||
@@ -131,16 +139,27 @@ If missing information is not provided within a week we will close your issue.
|
|||||||
FAQ
|
FAQ
|
||||||
---
|
---
|
||||||
|
|
||||||
* If you are seeing the message **system folder missing**, then you have cloned the source using git and you need to run a build *first*. Check [INSTALL.md](https://github.com/opensourcepos/opensourcepos/blob/master/INSTALL.md) for instructions or download latest zip file from [bintray](https://bintray.com/jekkos/opensourcepos/opensourcepos/view/files?sort=updated&order=desc#files) instead.
|
* If you are seeing the message **system folder missing**, then you have cloned the source using git and you need to run a build *first*. Check [INSTALL.md](https://github.com/opensourcepos/opensourcepos/blob/master/INSTALL.md) for instructions or download latest zip file from [PLACEHOLDER](https://NEWURL) instead.
|
||||||
|
|
||||||
* If at login time you read "The installation is not correct, check your php.ini file.", please check the error_log in public folder to understand what's wrong and make sure you read the [INSTALL.md](https://github.com/opensourcepos/opensourcepos/blob/master/INSTALL.md).
|
* If at login time you read "The installation is not correct, check your php.ini file.", please check the error_log in public folder to understand what's wrong and make sure you read the [INSTALL.md](https://github.com/opensourcepos/opensourcepos/blob/master/INSTALL.md). To know how to enable error_log, please read the comment in [issue 1770](https://github.com/opensourcepos/opensourcepos/issues/1770#issuecomment-355177943).
|
||||||
|
|
||||||
* If you installed your OSPOS under a web server subdir, please edit public/.htaccess and go to the lines with comment `if in web root` and `if in subdir comment above line, uncomment below one and replace <OSPOS path> with your path` and follow the instruction on the second comment line. If you face more issues please read [issue #920](https://github.com/opensourcepos/opensourcepos/issues/920) for more help.
|
* If you installed your OSPOS under a web server subdir, please edit public/.htaccess and go to the lines with comment `if in web root` and `if in subdir comment above line, uncomment below one and replace <OSPOS path> with your path` and follow the instruction on the second comment line. If you face more issues please read [issue #920](https://github.com/opensourcepos/opensourcepos/issues/920) for more help.
|
||||||
|
|
||||||
* Apache server configurations are SysAdmin issues and not strictly related to OSPOS. Please make sure you first can show a "hello world" html page before pointing to OSPOS public directory. Make sure .htaccess is correctly configured.
|
* Apache server configurations are SysAdmin issues and not strictly related to OSPOS. Please make sure you first can show a "hello world" html page before pointing to OSPOS public directory. Make sure .htaccess is correctly configured.
|
||||||
|
|
||||||
* If the avatar pictures are not shown in Items or at Item save time you get an error, please make sure your public and subdirs are assigned to the correct owner and the access permission is set to 755.
|
* If the avatar pictures are not shown in Items or at Item save time you get an error, please make sure your public and subdirs are assigned to the correct owner and the access permission is set to 750.
|
||||||
|
|
||||||
* If you install ospos in docker behind a proxy that performs ssloffloading, you can enable the url generated to be https instead of http, by activating the environment variable FORCE_HTTPS = 1.
|
* If you install ospos in docker behind a proxy that performs ssloffloading, you can enable the url generated to be https instead of http, by activating the environment variable FORCE_HTTPS = 1.
|
||||||
|
|
||||||
* If you have suhosin installed and face an issue with CSRF, please make sure you read [issue #1492](https://github.com/opensourcepos/opensourcepos/issues/1492).
|
* If you have suhosin installed and face an issue with CSRF, please make sure you read [issue #1492](https://github.com/opensourcepos/opensourcepos/issues/1492).
|
||||||
|
|
||||||
|
* PHP 8.0 is not currently supported, see [issue #3051](https://github.com/opensourcepos/opensourcepos/issues/3051).
|
||||||
|
|
||||||
|
* PHP 5.5 and 5.6 are no longer supported due to the fact that they have been deprecated and not safe to use from security point of view.
|
||||||
|
|
||||||
|
Credits
|
||||||
|
-------
|
||||||
|
|JetBrains|Travis CI|
|
||||||
|
|:-:|:-:|
|
||||||
|
||[Travis CI](https://travis-ci.com/images/logos/TravisCI-Full-Color.png)|
|
||||||
|
|Many thanks to [JetBrains](https://www.jetbrains.com/) for providing a free license of [IntelliJ IDEA](https://www.jetbrains.com/idea/) to kindly support the development of OSPOS|Many thanks to [Travis CI](https://travis-ci.org) for providing a free continuous integration service for open source projects.|
|
||||||
|
|||||||
@@ -4,13 +4,13 @@ How to Upgrade
|
|||||||
2. Make sure you have a copy of application/config/config.php and application/config/database.php
|
2. Make sure you have a copy of application/config/config.php and application/config/database.php
|
||||||
3. Remove all directories
|
3. Remove all directories
|
||||||
4. Install the new OSPOS
|
4. Install the new OSPOS
|
||||||
5. Run the database upgrade scripts from database/ dir (check which ones you need according to the version you are upgrading from and only applicable if upgrading from pre 3.0.0)
|
5. (Only applicable if upgrading from pre 3.0.0) Run the database upgrade scripts from database/ dir (check which ones you need according to the version you are upgrading from)
|
||||||
6. Take the saved old config.php and upgrade the new config.php with any additional changes you made in the old.
|
6. Take the saved old config.php and upgrade the new config.php with any additional changes you made in the old.
|
||||||
Take time to understand if new config rules require some changes (e.g. encryption keys)
|
Take time to understand if new config rules require some changes (e.g. encryption keys)
|
||||||
7. Take the saved old database.php and change the new database.php to contain all the configuration you had in the old setup.
|
7. Take the saved old database.php and change the new database.php to contain all the configuration you had in the old setup.
|
||||||
Please try not to use the old layout, use the new one and just copy the content of the config variables
|
Please try not to use the old layout, use the new one and just copy the content of the config variables
|
||||||
8. Restore the content of the old uploads/ folder into public/uploads/ one
|
8. Restore the content of the old uploads/ folder into public/uploads/ one
|
||||||
9. Once the new code is in place, database is updated and config files are sorted you are good to start the new OSPOS
|
9. Once the new code is in place, database is manually updated and config files are sorted you are good to start the new OSPOS
|
||||||
10. The first login will take longer because OSPOS post 3.0.0 will upgrade automatically to the latest version
|
10. The first login will take longer because OSPOS post 3.0.0 will upgrade automatically to the latest version
|
||||||
11. Now you can use OSPOS
|
11. Now you can use OSPOS
|
||||||
12. If any issue please check README, FAQ and GitHub issues as somebody else might have had your problem already before creating a new issue
|
12. If any issue please check README, FAQ and GitHub issues as somebody else might have had your problem already before creating a new issue
|
||||||
|
|||||||
@@ -1,3 +1,59 @@
|
|||||||
|
Version 3.3.4
|
||||||
|
-------------
|
||||||
|
+ Translation updates (Hungarian, Indonesian, Bosnian, Ukranian, Vietnamese, Spanish)
|
||||||
|
+ Prevent data wipeout when calling GET directly on save endpoint
|
||||||
|
+ Cleanup .htaccess
|
||||||
|
+ Docker compose usability improvements
|
||||||
|
+ Cookie secure flag fix for Chrome (you can enable csrf protection again now)
|
||||||
|
+ Use longblob for session storage. This should fix issues preventing a user from adding a large number of items to register
|
||||||
|
+ Cashrounding bugfixes
|
||||||
|
+ Fix daily overview cash sale totals
|
||||||
|
+ Show sale count in transaction report
|
||||||
|
+ Button disable to prevent double submission
|
||||||
|
+ Add barcode field to item kits
|
||||||
|
+ Fix discount register parsing in some specific locales
|
||||||
|
|
||||||
|
Version 3.3.3
|
||||||
|
-------------
|
||||||
|
+ PHP 7.4 support
|
||||||
|
+ Set PHP 7.2 to be the minimum level due to older version deprecations
|
||||||
|
+ Added email CC and BCC (see config/email.php)
|
||||||
|
+ Cash rounding to nearest 5 cents
|
||||||
|
+ Updated composer packages and js plugins
|
||||||
|
+ Improved security (CSRF protection)
|
||||||
|
+ Various small improvements and bug fixes
|
||||||
|
|
||||||
|
Version 3.3.2
|
||||||
|
-------------
|
||||||
|
+ Fixed `only_full_group_by` issue with MySQL/MariaDB
|
||||||
|
+ Fixed POS transaction return failure if items are deleted
|
||||||
|
+ Various bug fixes
|
||||||
|
|
||||||
|
Version 3.3.1
|
||||||
|
-------------
|
||||||
|
+ Various bug fixes (please disable `only_full_group_by` option from MySQL/MariaDB to avoid issues)
|
||||||
|
|
||||||
|
Version 3.3.0
|
||||||
|
-------------
|
||||||
|
+ New logo
|
||||||
|
+ Code Igniter 3.1.11 upgrade
|
||||||
|
+ PHP 7.3 support
|
||||||
|
+ Attributes feature (allows extensibility of Items replacing old custom fields)
|
||||||
|
+ India GST Tax support + various Tax support improvements
|
||||||
|
+ Cashup feature
|
||||||
|
+ Temporary items feature
|
||||||
|
+ Fixed Sales Discount
|
||||||
|
+ Supplier category feature
|
||||||
|
+ Improved Items import and csv file generation (to contain additional attributes)
|
||||||
|
+ Improved Docker installation with nginx reverse proxy using Let's encrypt TLS certificate
|
||||||
|
+ Database performance improvements
|
||||||
|
+ Added and Updated translations
|
||||||
|
+ Fixed various reports issues
|
||||||
|
+ Fixed rounding issues
|
||||||
|
+ Fixed CSRF issues
|
||||||
|
+ Fixed database upgrade script issues
|
||||||
|
+ Various bug fixes
|
||||||
|
|
||||||
Version 3.2.3
|
Version 3.2.3
|
||||||
-------------
|
-------------
|
||||||
+ Further revert of CSRF change causing regression
|
+ Further revert of CSRF change causing regression
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
CI_ENV="development"
|
CI_ENV="development"
|
||||||
|
#CI_ENV="production"
|
||||||
|
|
||||||
#Database Settings
|
#Database Settings
|
||||||
MYSQL_HOST_NAME="localhost"
|
MYSQL_HOST_NAME="localhost"
|
||||||
MYSQL_USERNAME=""
|
MYSQL_USERNAME="admin"
|
||||||
MYSQL_PASSWORD=""
|
MYSQL_PASSWORD="pointofsale"
|
||||||
MYSQL_DB_NAME=""
|
MYSQL_DB_NAME="ospos"
|
||||||
|
|||||||
@@ -89,7 +89,7 @@ $autoload['drivers'] = array();
|
|||||||
|
|
|
|
||||||
| $autoload['helper'] = array('url', 'file');
|
| $autoload['helper'] = array('url', 'file');
|
||||||
*/
|
*/
|
||||||
$autoload['helper'] = array('form', 'url', 'tabular', 'text', 'locale', 'html', 'download', 'directory', 'migration');
|
$autoload['helper'] = array('form', 'url', 'tabular', 'text', 'locale', 'html', 'download', 'directory', 'migration', 'importfile');
|
||||||
|
|
||||||
/*
|
/*
|
||||||
| -------------------------------------------------------------------
|
| -------------------------------------------------------------------
|
||||||
@@ -132,4 +132,32 @@ $autoload['language'] = array();
|
|||||||
|
|
|
|
||||||
| $autoload['model'] = array('first_model' => 'first');
|
| $autoload['model'] = array('first_model' => 'first');
|
||||||
*/
|
*/
|
||||||
$autoload['model'] = array('Appconfig', 'Person', 'Customer', 'Employee', 'Module', 'Item', 'Item_taxes', 'Sale', 'Supplier', 'Inventory', 'Receiving', 'Giftcard', 'Item_kit', 'Item_kit_items', 'Stock_location', 'Item_quantity', 'Dinner_table', 'Customer_rewards', 'Rewards', 'Tax', 'Expense_category', 'Expense' );
|
$autoload['model'] = array(
|
||||||
|
'Appconfig',
|
||||||
|
'Person',
|
||||||
|
'Customer',
|
||||||
|
'Employee',
|
||||||
|
'Module',
|
||||||
|
'Item',
|
||||||
|
'Item_taxes',
|
||||||
|
'Sale',
|
||||||
|
'Supplier',
|
||||||
|
'Inventory',
|
||||||
|
'Receiving',
|
||||||
|
'Giftcard',
|
||||||
|
'Item_kit',
|
||||||
|
'Item_kit_items',
|
||||||
|
'Stock_location',
|
||||||
|
'Item_quantity',
|
||||||
|
'Dinner_table',
|
||||||
|
'Customer_rewards',
|
||||||
|
'Rewards',
|
||||||
|
'Expense_category',
|
||||||
|
'Expense',
|
||||||
|
'Cashup',
|
||||||
|
'Attribute',
|
||||||
|
'Tax',
|
||||||
|
'Tax_category',
|
||||||
|
'Tax_code',
|
||||||
|
'Tax_jurisdiction'
|
||||||
|
);
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
|
|
|
|
||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
$config['application_version'] = '3.2.3';
|
$config['application_version'] = '3.4.0-dev';
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
@@ -19,7 +19,7 @@ $config['application_version'] = '3.2.3';
|
|||||||
|
|
|
|
||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
$config['commit_sha1'] = '$Id $';
|
$config['commit_sha1'] = 'dev';
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
@@ -65,8 +65,9 @@ $config['db_log_enabled'] = FALSE;
|
|||||||
| a PHP script and you can easily do that on your own.
|
| a PHP script and you can easily do that on your own.
|
||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
$config['base_url'] = ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') || isset($_ENV['FORCE_HTTPS'])) ? 'https' : 'http';
|
$config['https_on'] = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') || (isset($_ENV['FORCE_HTTPS']) && $_ENV['FORCE_HTTPS'] == 'true');
|
||||||
$config['base_url'] .= '://' . $_SERVER['HTTP_HOST'];
|
$config['base_url'] = $config['https_on'] ? 'https' : 'http';
|
||||||
|
$config['base_url'] .= '://' . ((isset($_SERVER['HTTP_HOST'])) ? $_SERVER['HTTP_HOST'] : 'localhost') ;
|
||||||
$config['base_url'] .= str_replace(basename($_SERVER['SCRIPT_NAME']), '', $_SERVER['SCRIPT_NAME']);
|
$config['base_url'] .= str_replace(basename($_SERVER['SCRIPT_NAME']), '', $_SERVER['SCRIPT_NAME']);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -294,7 +295,7 @@ $config['log_file_extension'] = '';
|
|||||||
| IMPORTANT: This MUST be an integer (no quotes) and you MUST use octal
|
| IMPORTANT: This MUST be an integer (no quotes) and you MUST use octal
|
||||||
| integer notation (i.e. 0700, 0644, etc.)
|
| integer notation (i.e. 0700, 0644, etc.)
|
||||||
*/
|
*/
|
||||||
$config['log_file_permissions'] = 0644;
|
$config['log_file_permissions'] = 0640;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
@@ -437,8 +438,8 @@ $config['sess_regenerate_destroy'] = FALSE;
|
|||||||
$config['cookie_prefix'] = '';
|
$config['cookie_prefix'] = '';
|
||||||
$config['cookie_domain'] = '';
|
$config['cookie_domain'] = '';
|
||||||
$config['cookie_path'] = '/';
|
$config['cookie_path'] = '/';
|
||||||
$config['cookie_secure'] = FALSE;
|
$config['cookie_secure'] = $config['https_on'];
|
||||||
$config['cookie_httponly'] = FALSE;
|
$config['cookie_httponly'] = TRUE;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
|
|||||||
@@ -83,3 +83,74 @@ defined('EXIT_USER_INPUT') OR define('EXIT_USER_INPUT', 7); // invalid user
|
|||||||
defined('EXIT_DATABASE') OR define('EXIT_DATABASE', 8); // database error
|
defined('EXIT_DATABASE') OR define('EXIT_DATABASE', 8); // database error
|
||||||
defined('EXIT__AUTO_MIN') OR define('EXIT__AUTO_MIN', 9); // lowest automatically-assigned error code
|
defined('EXIT__AUTO_MIN') OR define('EXIT__AUTO_MIN', 9); // lowest automatically-assigned error code
|
||||||
defined('EXIT__AUTO_MAX') OR define('EXIT__AUTO_MAX', 125); // highest automatically-assigned error code
|
defined('EXIT__AUTO_MAX') OR define('EXIT__AUTO_MAX', 125); // highest automatically-assigned error code
|
||||||
|
|
||||||
|
/*
|
||||||
|
| Attribute Related Constants.
|
||||||
|
*/
|
||||||
|
define('GROUP', 'GROUP');
|
||||||
|
define('DROPDOWN', 'DROPDOWN');
|
||||||
|
define('DECIMAL', 'DECIMAL');
|
||||||
|
define('DATE', 'DATE');
|
||||||
|
define('TEXT', 'TEXT');
|
||||||
|
define('CHECKBOX', 'CHECKBOX');
|
||||||
|
define('NO_DEFINITION_ID', 0);
|
||||||
|
define('CATEGORY_DEFINITION_ID', -1);
|
||||||
|
|
||||||
|
|
||||||
|
const DEFINITION_TYPES = [GROUP, DROPDOWN, DECIMAL, TEXT, DATE, CHECKBOX];
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
| Item Related Constants.
|
||||||
|
*/
|
||||||
|
define('HAS_STOCK', 0);
|
||||||
|
define('HAS_NO_STOCK', 1);
|
||||||
|
|
||||||
|
define('ITEM', 0);
|
||||||
|
define('ITEM_KIT', 1);
|
||||||
|
define('ITEM_AMOUNT_ENTRY', 2);
|
||||||
|
define('ITEM_TEMP', 3);
|
||||||
|
|
||||||
|
define('PRINT_ALL', 0);
|
||||||
|
define('PRINT_PRICED', 1);
|
||||||
|
define('PRINT_KIT', 2);
|
||||||
|
|
||||||
|
define('PRINT_YES', 0);
|
||||||
|
define('PRINT_NO', 1);
|
||||||
|
|
||||||
|
define('PRICE_ALL', 0);
|
||||||
|
define('PRICE_KIT', 1);
|
||||||
|
define('PRICE_KIT_ITEMS', 2);
|
||||||
|
|
||||||
|
define('PRICE_OPTION_ALL', 0);
|
||||||
|
define('PRICE_OPTION_KIT', 1);
|
||||||
|
define('PRICE_OPTION_KIT_STOCK', 2);
|
||||||
|
|
||||||
|
define('NAME_SEPARATOR', ' | ');
|
||||||
|
|
||||||
|
/*
|
||||||
|
| Sale Related Constants.
|
||||||
|
*/
|
||||||
|
define('COMPLETED', 0);
|
||||||
|
define('SUSPENDED', 1);
|
||||||
|
define('CANCELED', 2);
|
||||||
|
|
||||||
|
|
||||||
|
define('SALE_TYPE_POS', 0);
|
||||||
|
define('SALE_TYPE_INVOICE', 1);
|
||||||
|
define('SALE_TYPE_WORK_ORDER', 2);
|
||||||
|
define('SALE_TYPE_QUOTE', 3);
|
||||||
|
define('SALE_TYPE_RETURN', 4);
|
||||||
|
|
||||||
|
define('PERCENT', 0);
|
||||||
|
define('FIXED', 1);
|
||||||
|
|
||||||
|
define('PRICE_MODE_STANDARD', 0);
|
||||||
|
define('PRICE_MODE_KIT', 1);
|
||||||
|
|
||||||
|
define('PAYMENT_TYPE_UNASSIGNED', '--');
|
||||||
|
|
||||||
|
define('CASH_ADJUSTMENT_TRUE', 1);
|
||||||
|
define('CASH_ADJUSTMENT_FALSE', 0);
|
||||||
|
define('CASH_MODE_TRUE', 1);
|
||||||
|
define('CASH_MODE_FALSE', 0);
|
||||||
|
|||||||
10
application/config/email.php
Normal file
10
application/config/email.php
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
$config['default_email_address'] = "";
|
||||||
|
$config['default_cc_address'] = '';
|
||||||
|
$config['default_sender_name'] = "";
|
||||||
|
$config['default_sender_address'] = "";
|
||||||
|
$config['default_bounce_address'] = "";
|
||||||
|
$config['charset'] = 'utf-8';
|
||||||
|
$config['mailtype'] = 'html';
|
||||||
|
$config['wordwrap'] = FALSE;
|
||||||
|
|
||||||
@@ -26,8 +26,16 @@ $hook['post_controller'] = array(
|
|||||||
'filepath' => 'hooks'
|
'filepath' => 'hooks'
|
||||||
);
|
);
|
||||||
|
|
||||||
|
$hook['pre_controller'][] = array(
|
||||||
|
'class' => '',
|
||||||
|
'function' => 'validate_save',
|
||||||
|
'filename' => 'save_hook.php',
|
||||||
|
'filepath' => 'hooks'
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
$hook['pre_system'] = function() {
|
$hook['pre_system'] = function() {
|
||||||
$config_path = APPPATH . 'config/';
|
$config_path = APPPATH . (ENVIRONMENT == 'testing') ? 'tests/' : 'config/';
|
||||||
try {
|
try {
|
||||||
$dotenv = new Dotenv\Dotenv($config_path);
|
$dotenv = new Dotenv\Dotenv($config_path);
|
||||||
$dotenv->overload();
|
$dotenv->overload();
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ $config['migration_auto_latest'] = FALSE;
|
|||||||
| be upgraded / downgraded to.
|
| be upgraded / downgraded to.
|
||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
$config['migration_version'] = 20171126100000;
|
$config['migration_version'] = 20180225100000;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
|
|||||||
@@ -60,25 +60,28 @@ $route['sales/index/([^/]+)/([^/]+)/([^/]+)'] = 'sales/manage/$1/$2/$3';
|
|||||||
|
|
||||||
$route['reports/(summary_:any)/([^/]+)/([^/]+)'] = 'reports/$1/$2/$3/$4';
|
$route['reports/(summary_:any)/([^/]+)/([^/]+)'] = 'reports/$1/$2/$3/$4';
|
||||||
$route['reports/summary_expenses_categories'] = 'reports/date_input_only';
|
$route['reports/summary_expenses_categories'] = 'reports/date_input_only';
|
||||||
|
$route['reports/summary_payments'] = 'reports/date_input_only';
|
||||||
|
$route['reports/summary_discounts'] = 'reports/summary_discounts_input';
|
||||||
$route['reports/summary_:any'] = 'reports/date_input';
|
$route['reports/summary_:any'] = 'reports/date_input';
|
||||||
|
|
||||||
$route['reports/(graphical_:any)/([^/]+)/([^/]+)'] = 'reports/$1/$2/$3/$4';
|
$route['reports/(graphical_:any)/([^/]+)/([^/]+)'] = 'reports/$1/$2/$3/$4';
|
||||||
$route['reports/graphical_summary_expenses_categories'] = 'reports/date_input_only';
|
$route['reports/graphical_summary_expenses_categories'] = 'reports/date_input_only';
|
||||||
|
$route['reports/graphical_summary_discounts'] = 'reports/summary_discounts_input';
|
||||||
$route['reports/graphical_:any'] = 'reports/date_input';
|
$route['reports/graphical_:any'] = 'reports/date_input';
|
||||||
|
|
||||||
$route['reports/(inventory_:any)/([^/]+)'] = 'reports/$1/$2';
|
$route['reports/(inventory_:any)/([^/]+)'] = 'reports/$1/$2';
|
||||||
$route['reports/inventory_summary'] = 'reports/inventory_summary_input';
|
$route['reports/inventory_summary'] = 'reports/inventory_summary_input';
|
||||||
$route['reports/(inventory_summary)/([^/]+)/([^/]+)/([^/]+)'] = 'reports/$1/$2';
|
$route['reports/(inventory_summary)/([^/]+)/([^/]+)/([^/]+)'] = 'reports/$1/$2';
|
||||||
|
|
||||||
$route['reports/(detailed_sales)/([^/]+)/([^/]+)/([^/]+)'] = 'reports/$1/$2/$3$/$4';
|
$route['reports/(detailed_:any)/([^/]+)/([^/]+)/([^/]+)'] = 'reports/$1/$2/$3/$4';
|
||||||
$route['reports/detailed_sales'] = 'reports/date_input_sales';
|
$route['reports/detailed_sales'] = 'reports/date_input_sales';
|
||||||
$route['reports/(detailed_receivings)/([^/]+)/([^/]+)/([^/]+)'] = 'reports/$1/$2/$3/$4';
|
|
||||||
$route['reports/detailed_receivings'] = 'reports/date_input_recv';
|
$route['reports/detailed_receivings'] = 'reports/date_input_recv';
|
||||||
|
|
||||||
$route['reports/(specific_:any)/([^/]+)/([^/]+)/([^/]+)'] = 'reports/$1/$2/$3/$4';
|
$route['reports/(specific_:any)/([^/]+)/([^/]+)/([^/]+)'] = 'reports/$1/$2/$3/$4';
|
||||||
$route['reports/specific_customer'] = 'reports/specific_customer_input';
|
$route['reports/specific_customer'] = 'reports/specific_customer_input';
|
||||||
$route['reports/specific_employee'] = 'reports/specific_employee_input';
|
$route['reports/specific_employee'] = 'reports/specific_employee_input';
|
||||||
$route['reports/specific_discount'] = 'reports/specific_discount_input';
|
$route['reports/specific_discount'] = 'reports/specific_discount_input';
|
||||||
|
$route['reports/specific_supplier'] = 'reports/specific_supplier_input';
|
||||||
|
|
||||||
$route['404_override'] = '';
|
$route['404_override'] = '';
|
||||||
$route['translate_uri_dashes'] = FALSE;
|
$route['translate_uri_dashes'] = FALSE;
|
||||||
|
|||||||
184
application/controllers/Attributes.php
Normal file
184
application/controllers/Attributes.php
Normal file
@@ -0,0 +1,184 @@
|
|||||||
|
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
require_once("Secure_Controller.php");
|
||||||
|
|
||||||
|
class Attributes extends Secure_Controller
|
||||||
|
{
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
parent::__construct('attributes');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function index()
|
||||||
|
{
|
||||||
|
$data['table_headers'] = $this->xss_clean(get_attribute_definition_manage_table_headers());
|
||||||
|
|
||||||
|
$this->load->view('attributes/manage', $data);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns customer table data rows. This will be called with AJAX.
|
||||||
|
*/
|
||||||
|
public function search()
|
||||||
|
{
|
||||||
|
$search = $this->input->get('search');
|
||||||
|
$limit = $this->input->get('limit');
|
||||||
|
$offset = $this->input->get('offset');
|
||||||
|
$sort = $this->input->get('sort');
|
||||||
|
$order = $this->input->get('order');
|
||||||
|
|
||||||
|
$attributes = $this->Attribute->search($search, $limit, $offset, $sort, $order);
|
||||||
|
$total_rows = $this->Attribute->get_found_rows($search);
|
||||||
|
|
||||||
|
$data_rows = array();
|
||||||
|
foreach($attributes->result() as $attribute)
|
||||||
|
{
|
||||||
|
$attribute->definition_flags = $this->_get_attributes($attribute->definition_flags);
|
||||||
|
$data_rows[] = get_attribute_definition_data_row($attribute, $this);
|
||||||
|
}
|
||||||
|
|
||||||
|
$data_rows = $this->xss_clean($data_rows);
|
||||||
|
|
||||||
|
echo json_encode(array('total' => $total_rows, 'rows' => $data_rows));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function save_attribute_value($attribute_value)
|
||||||
|
{
|
||||||
|
$success = $this->Attribute->save_value(urldecode($attribute_value), $this->input->post('definition_id'), $this->input->post('item_id'), $this->input->post('attribute_id'));
|
||||||
|
|
||||||
|
echo json_encode(array('success' => $success != 0));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function delete_attribute_value($attribute_value)
|
||||||
|
{
|
||||||
|
$success = $this->Attribute->delete_value($attribute_value, $this->input->post('definition_id'));
|
||||||
|
|
||||||
|
echo json_encode(array('success' => $success));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function save_definition($definition_id = NO_DEFINITION_ID)
|
||||||
|
{
|
||||||
|
$definition_flags = 0;
|
||||||
|
|
||||||
|
$flags = (empty($this->input->post('definition_flags'))) ? array() : $this->input->post('definition_flags');
|
||||||
|
|
||||||
|
foreach($flags as $flag)
|
||||||
|
{
|
||||||
|
$definition_flags |= $flag;
|
||||||
|
}
|
||||||
|
|
||||||
|
//Save definition data
|
||||||
|
$definition_data = array(
|
||||||
|
'definition_name' => $this->input->post('definition_name'),
|
||||||
|
'definition_unit' => $this->input->post('definition_unit') != '' ? $this->input->post('definition_unit') : NULL,
|
||||||
|
'definition_flags' => $definition_flags,
|
||||||
|
'definition_fk' => $this->input->post('definition_group') != '' ? $this->input->post('definition_group') : NULL
|
||||||
|
);
|
||||||
|
|
||||||
|
if ($this->input->post('definition_type') != null)
|
||||||
|
{
|
||||||
|
$definition_data['definition_type'] = DEFINITION_TYPES[$this->input->post('definition_type')];
|
||||||
|
}
|
||||||
|
|
||||||
|
$definition_name = $this->xss_clean($definition_data['definition_name']);
|
||||||
|
|
||||||
|
if($this->Attribute->save_definition($definition_data, $definition_id))
|
||||||
|
{
|
||||||
|
//New definition
|
||||||
|
if($definition_id == 0)
|
||||||
|
{
|
||||||
|
$definition_values = json_decode($this->input->post('definition_values'));
|
||||||
|
|
||||||
|
foreach($definition_values as $definition_value)
|
||||||
|
{
|
||||||
|
$this->Attribute->save_value($definition_value, $definition_data['definition_id']);
|
||||||
|
}
|
||||||
|
|
||||||
|
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('attributes_definition_successful_adding').' '.
|
||||||
|
$definition_name, 'id' => $definition_data['definition_id']));
|
||||||
|
}
|
||||||
|
//Existing definition
|
||||||
|
else
|
||||||
|
{
|
||||||
|
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('attributes_definition_successful_updating').' '.
|
||||||
|
$definition_name, 'id' => $definition_id));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//Failure
|
||||||
|
else
|
||||||
|
{
|
||||||
|
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('attributes_definition_error_adding_updating', $definition_name), 'id' => -1));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function suggest_attribute($definition_id)
|
||||||
|
{
|
||||||
|
$suggestions = $this->xss_clean($this->Attribute->get_suggestions($definition_id, $this->input->get('term')));
|
||||||
|
|
||||||
|
echo json_encode($suggestions);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function get_row($row_id)
|
||||||
|
{
|
||||||
|
$attribute_definition_info = $this->Attribute->get_info($row_id);
|
||||||
|
$attribute_definition_info->definition_flags = $this->_get_attributes($attribute_definition_info->definition_flags);
|
||||||
|
$data_row = $this->xss_clean(get_attribute_definition_data_row($attribute_definition_info));
|
||||||
|
|
||||||
|
echo json_encode($data_row);
|
||||||
|
}
|
||||||
|
|
||||||
|
private function _get_attributes($definition_flags = 0)
|
||||||
|
{
|
||||||
|
$definition_flag_names = array();
|
||||||
|
foreach (Attribute::get_definition_flags() as $id => $term)
|
||||||
|
{
|
||||||
|
if ($id & $definition_flags)
|
||||||
|
{
|
||||||
|
$definition_flag_names[$id] = $this->lang->line('attributes_' . strtolower($term) . '_visibility');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $definition_flag_names;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function view($definition_id = NO_DEFINITION_ID)
|
||||||
|
{
|
||||||
|
$info = $this->Attribute->get_info($definition_id);
|
||||||
|
foreach(get_object_vars($info) as $property => $value)
|
||||||
|
{
|
||||||
|
$info->$property = $this->xss_clean($value);
|
||||||
|
}
|
||||||
|
|
||||||
|
$data['definition_id'] = $definition_id;
|
||||||
|
$data['definition_values'] = $this->Attribute->get_definition_values($definition_id);
|
||||||
|
$data['definition_group'] = $this->Attribute->get_definitions_by_type(GROUP, $definition_id);
|
||||||
|
$data['definition_group'][''] = $this->lang->line('common_none_selected_text');
|
||||||
|
$data['definition_info'] = $info;
|
||||||
|
|
||||||
|
$show_all = Attribute::SHOW_IN_ITEMS | Attribute::SHOW_IN_RECEIVINGS | Attribute::SHOW_IN_SALES;
|
||||||
|
$data['definition_flags'] = $this->_get_attributes($show_all);
|
||||||
|
$selected_flags = $info->definition_flags === '' ? $show_all : $info->definition_flags;
|
||||||
|
$data['selected_definition_flags'] = $this->_get_attributes($selected_flags);
|
||||||
|
|
||||||
|
$this->load->view("attributes/form", $data);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function delete_value($attribute_id)
|
||||||
|
{
|
||||||
|
return $this->Attribute->delete_value($attribute_id);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function delete()
|
||||||
|
{
|
||||||
|
$attributes_to_delete = $this->input->post('ids');
|
||||||
|
|
||||||
|
if($this->Attribute->delete_definition_list($attributes_to_delete))
|
||||||
|
{
|
||||||
|
$message = $this->lang->line('attributes_definition_successful_deleted') . ' ' . count($attributes_to_delete) . ' ' . $this->lang->line('attributes_definition_one_or_multiple');
|
||||||
|
echo json_encode(array('success' => TRUE, 'message' => $message));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('attributes_definition_cannot_be_deleted')));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
246
application/controllers/Cashups.php
Normal file
246
application/controllers/Cashups.php
Normal file
@@ -0,0 +1,246 @@
|
|||||||
|
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
require_once("Secure_Controller.php");
|
||||||
|
|
||||||
|
class Cashups extends Secure_Controller
|
||||||
|
{
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
parent::__construct('cashups');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function index()
|
||||||
|
{
|
||||||
|
$data['table_headers'] = $this->xss_clean(get_cashups_manage_table_headers());
|
||||||
|
|
||||||
|
// filters that will be loaded in the multiselect dropdown
|
||||||
|
$data['filters'] = array('is_deleted' => $this->lang->line('cashups_is_deleted'));
|
||||||
|
|
||||||
|
$this->load->view('cashups/manage', $data);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function search()
|
||||||
|
{
|
||||||
|
$cash_up = 0;
|
||||||
|
$search = $this->input->get('search');
|
||||||
|
$limit = $this->input->get('limit');
|
||||||
|
$offset = $this->input->get('offset');
|
||||||
|
$sort = $this->input->get('sort');
|
||||||
|
$order = $this->input->get('order');
|
||||||
|
$filters = array(
|
||||||
|
'start_date' => $this->input->get('start_date'),
|
||||||
|
'end_date' => $this->input->get('end_date'),
|
||||||
|
'is_deleted' => FALSE);
|
||||||
|
|
||||||
|
// check if any filter is set in the multiselect dropdown
|
||||||
|
$filledup = array_fill_keys($this->input->get('filters'), TRUE);
|
||||||
|
$filters = array_merge($filters, $filledup);
|
||||||
|
$cash_ups = $this->Cashup->search($search, $filters, $limit, $offset, $sort, $order);
|
||||||
|
$total_rows = $this->Cashup->get_found_rows($search, $filters);
|
||||||
|
$data_rows = array();
|
||||||
|
foreach($cash_ups->result() as $cash_up)
|
||||||
|
{
|
||||||
|
$data_rows[] = $this->xss_clean(get_cash_up_data_row($cash_up));
|
||||||
|
}
|
||||||
|
|
||||||
|
echo json_encode(array('total' => $total_rows, 'rows' => $data_rows));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function view($cashup_id = -1)
|
||||||
|
{
|
||||||
|
$data = array();
|
||||||
|
|
||||||
|
$data['employees'] = array();
|
||||||
|
foreach($this->Employee->get_all()->result() as $employee)
|
||||||
|
{
|
||||||
|
foreach(get_object_vars($employee) as $property => $value)
|
||||||
|
{
|
||||||
|
$employee->$property = $this->xss_clean($value);
|
||||||
|
}
|
||||||
|
|
||||||
|
$data['employees'][$employee->person_id] = $employee->first_name . ' ' . $employee->last_name;
|
||||||
|
}
|
||||||
|
|
||||||
|
$cash_ups_info = $this->Cashup->get_info($cashup_id);
|
||||||
|
|
||||||
|
foreach(get_object_vars($cash_ups_info) as $property => $value)
|
||||||
|
{
|
||||||
|
$cash_ups_info->$property = $this->xss_clean($value);
|
||||||
|
}
|
||||||
|
|
||||||
|
// open cashup
|
||||||
|
if(empty($cash_ups_info->cashup_id))
|
||||||
|
{
|
||||||
|
$cash_ups_info->open_date = date('Y-m-d H:i:s');
|
||||||
|
$cash_ups_info->close_date = $cash_ups_info->open_date;
|
||||||
|
$cash_ups_info->open_employee_id = $this->Employee->get_logged_in_employee_info()->person_id;
|
||||||
|
$cash_ups_info->close_employee_id = $this->Employee->get_logged_in_employee_info()->person_id;
|
||||||
|
}
|
||||||
|
// if all the amounts are null or 0 that means it's a close cashup
|
||||||
|
elseif(floatval($cash_ups_info->closed_amount_cash) == 0 &&
|
||||||
|
floatval($cash_ups_info->closed_amount_due) == 0 &&
|
||||||
|
floatval($cash_ups_info->closed_amount_card) == 0 &&
|
||||||
|
floatval($cash_ups_info->closed_amount_check) == 0)
|
||||||
|
{
|
||||||
|
// set the close date and time to the actual as this is a close session
|
||||||
|
$cash_ups_info->close_date = date('Y-m-d H:i:s');
|
||||||
|
|
||||||
|
// the closed amount starts with the open amount -/+ any trasferred amount
|
||||||
|
$cash_ups_info->closed_amount_cash = $cash_ups_info->open_amount_cash + $cash_ups_info->transfer_amount_cash;
|
||||||
|
|
||||||
|
// if it's date mode only and not date & time truncate the open and end date to date only
|
||||||
|
if(empty($this->config->item('date_or_time_format')))
|
||||||
|
{
|
||||||
|
// search for all the payments given the time range
|
||||||
|
$inputs = array('start_date' => substr($cash_ups_info->open_date, 0, 10), 'end_date' => substr($cash_ups_info->close_date, 0, 10), 'sale_type' => 'complete', 'location_id' => 'all');
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// search for all the payments given the time range
|
||||||
|
$inputs = array('start_date' => $cash_ups_info->open_date, 'end_date' => $cash_ups_info->close_date, 'sale_type' => 'complete', 'location_id' => 'all');
|
||||||
|
}
|
||||||
|
|
||||||
|
// get all the transactions payment summaries
|
||||||
|
$this->load->model('reports/Summary_payments');
|
||||||
|
$reports_data = $this->Summary_payments->getData($inputs);
|
||||||
|
|
||||||
|
foreach($reports_data as $row)
|
||||||
|
{
|
||||||
|
if($row['trans_group'] == $this->lang->line('reports_trans_payments'))
|
||||||
|
{
|
||||||
|
if($row['trans_type'] == $this->lang->line('sales_cash'))
|
||||||
|
{
|
||||||
|
$cash_ups_info->closed_amount_cash += $this->xss_clean($row['trans_amount']);
|
||||||
|
}
|
||||||
|
elseif($row['trans_type'] == $this->lang->line('sales_due'))
|
||||||
|
{
|
||||||
|
$cash_ups_info->closed_amount_due += $this->xss_clean($row['trans_amount']);
|
||||||
|
}
|
||||||
|
elseif($row['trans_type'] == $this->lang->line('sales_debit') ||
|
||||||
|
$row['trans_type'] == $this->lang->line('sales_credit'))
|
||||||
|
{
|
||||||
|
$cash_ups_info->closed_amount_card += $this->xss_clean($row['trans_amount']);
|
||||||
|
}
|
||||||
|
elseif($row['trans_type'] == $this->lang->line('sales_check'))
|
||||||
|
{
|
||||||
|
$cash_ups_info->closed_amount_check += $this->xss_clean($row['trans_amount']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// lookup expenses paid in cash
|
||||||
|
$filters = array(
|
||||||
|
'only_cash' => TRUE,
|
||||||
|
'only_due' => FALSE,
|
||||||
|
'only_check' => FALSE,
|
||||||
|
'only_credit' => FALSE,
|
||||||
|
'only_debit' => FALSE,
|
||||||
|
'is_deleted' => FALSE);
|
||||||
|
$payments = $this->Expense->get_payments_summary('', array_merge($inputs, $filters));
|
||||||
|
|
||||||
|
foreach($payments as $row)
|
||||||
|
{
|
||||||
|
$cash_ups_info->closed_amount_cash -= $this->xss_clean($row['amount']);
|
||||||
|
}
|
||||||
|
|
||||||
|
$cash_ups_info->closed_amount_total = $this->_calculate_total($cash_ups_info->open_amount_cash, $cash_ups_info->transfer_amount_cash, $cash_ups_info->closed_amount_cash, $cash_ups_info->closed_amount_due, $cash_ups_info->closed_amount_card, $cash_ups_info->closed_amount_check);
|
||||||
|
}
|
||||||
|
|
||||||
|
$data['cash_ups_info'] = $cash_ups_info;
|
||||||
|
|
||||||
|
$this->load->view("cashups/form", $data);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function get_row($row_id)
|
||||||
|
{
|
||||||
|
$cash_ups_info = $this->Cashup->get_info($row_id);
|
||||||
|
$data_row = $this->xss_clean(get_cash_up_data_row($cash_ups_info));
|
||||||
|
|
||||||
|
echo json_encode($data_row);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function save($cashup_id = -1)
|
||||||
|
{
|
||||||
|
$open_date = $this->input->post('open_date');
|
||||||
|
$open_date_formatter = date_create_from_format($this->config->item('dateformat') . ' ' . $this->config->item('timeformat'), $open_date);
|
||||||
|
|
||||||
|
$close_date = $this->input->post('close_date');
|
||||||
|
$close_date_formatter = date_create_from_format($this->config->item('dateformat') . ' ' . $this->config->item('timeformat'), $close_date);
|
||||||
|
|
||||||
|
$cash_up_data = array(
|
||||||
|
'open_date' => $open_date_formatter->format('Y-m-d H:i:s'),
|
||||||
|
'close_date' => $close_date_formatter->format('Y-m-d H:i:s'),
|
||||||
|
'open_amount_cash' => parse_decimals($this->input->post('open_amount_cash')),
|
||||||
|
'transfer_amount_cash' => parse_decimals($this->input->post('transfer_amount_cash')),
|
||||||
|
'closed_amount_cash' => parse_decimals($this->input->post('closed_amount_cash')),
|
||||||
|
'closed_amount_due' => parse_decimals($this->input->post('closed_amount_due')),
|
||||||
|
'closed_amount_card' => parse_decimals($this->input->post('closed_amount_card')),
|
||||||
|
'closed_amount_check' => parse_decimals($this->input->post('closed_amount_check')),
|
||||||
|
'closed_amount_total' => parse_decimals($this->input->post('closed_amount_total')),
|
||||||
|
'note' => $this->input->post('note') != NULL,
|
||||||
|
'description' => $this->input->post('description'),
|
||||||
|
'open_employee_id' => $this->input->post('open_employee_id'),
|
||||||
|
'close_employee_id' => $this->input->post('close_employee_id'),
|
||||||
|
'deleted' => $this->input->post('deleted') != NULL
|
||||||
|
);
|
||||||
|
|
||||||
|
if($this->Cashup->save($cash_up_data, $cashup_id))
|
||||||
|
{
|
||||||
|
$cash_up_data = $this->xss_clean($cash_up_data);
|
||||||
|
|
||||||
|
//New cashup_id
|
||||||
|
if($cashup_id == -1)
|
||||||
|
{
|
||||||
|
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('cashups_successful_adding'), 'id' => $cash_up_data['cashup_id']));
|
||||||
|
}
|
||||||
|
else // Existing Cashup
|
||||||
|
{
|
||||||
|
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('cashups_successful_updating'), 'id' => $cashup_id));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else//failure
|
||||||
|
{
|
||||||
|
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('cashups_error_adding_updating'), 'id' => -1));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function delete()
|
||||||
|
{
|
||||||
|
$cash_ups_to_delete = $this->input->post('ids');
|
||||||
|
|
||||||
|
if($this->Cashup->delete_list($cash_ups_to_delete))
|
||||||
|
{
|
||||||
|
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('cashups_successful_deleted') . ' ' . count($cash_ups_to_delete) . ' ' . $this->lang->line('cashups_one_or_multiple'), 'ids' => $cash_ups_to_delete));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('cashups_cannot_be_deleted'), 'ids' => $cash_ups_to_delete));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
AJAX call from cashup input form to calculate the total
|
||||||
|
*/
|
||||||
|
public function ajax_cashup_total()
|
||||||
|
{
|
||||||
|
$open_amount_cash = parse_decimals($this->input->post('open_amount_cash'));
|
||||||
|
$transfer_amount_cash = parse_decimals($this->input->post('transfer_amount_cash'));
|
||||||
|
$closed_amount_cash = parse_decimals($this->input->post('closed_amount_cash'));
|
||||||
|
$closed_amount_due = parse_decimals($this->input->post('closed_amount_due'));
|
||||||
|
$closed_amount_card = parse_decimals($this->input->post('closed_amount_card'));
|
||||||
|
$closed_amount_check = parse_decimals($this->input->post('closed_amount_check'));
|
||||||
|
|
||||||
|
$total = $this->_calculate_total($open_amount_cash, $transfer_amount_cash, $closed_amount_due, $closed_amount_cash, $closed_amount_card, $closed_amount_check);
|
||||||
|
|
||||||
|
echo json_encode(array('total' => to_currency_no_money($total)));
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
Calculate total
|
||||||
|
*/
|
||||||
|
private function _calculate_total($open_amount_cash, $transfer_amount_cash, $closed_amount_due, $closed_amount_cash, $closed_amount_card, $closed_amount_check)
|
||||||
|
{
|
||||||
|
return ($closed_amount_cash - $open_amount_cash - $transfer_amount_cash + $closed_amount_due + $closed_amount_card + $closed_amount_check);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
?>
|
||||||
@@ -13,8 +13,8 @@ class Config extends Secure_Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This function loads all the licenses starting with the first one being OSPOS one
|
* This function loads all the licenses starting with the first one being OSPOS one
|
||||||
*/
|
*/
|
||||||
private function _licenses()
|
private function _licenses()
|
||||||
{
|
{
|
||||||
$i = 0;
|
$i = 0;
|
||||||
@@ -33,8 +33,7 @@ class Config extends Secure_Controller
|
|||||||
$license[$i]['text'] = 'LICENSE file must be in OSPOS license directory. You are not allowed to use OSPOS application until the distribution copy of LICENSE file is present.';
|
$license[$i]['text'] = 'LICENSE file must be in OSPOS license directory. You are not allowed to use OSPOS application until the distribution copy of LICENSE file is present.';
|
||||||
}
|
}
|
||||||
|
|
||||||
// read all the files in the dir license
|
$dir = new DirectoryIterator('license'); // read all the files in the dir license
|
||||||
$dir = new DirectoryIterator('license');
|
|
||||||
|
|
||||||
foreach($dir as $fileinfo)
|
foreach($dir as $fileinfo)
|
||||||
{
|
{
|
||||||
@@ -171,8 +170,8 @@ class Config extends Secure_Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This function loads all the available themes in the dist/bootswatch directory
|
* This function loads all the available themes in the dist/bootswatch directory
|
||||||
*/
|
*/
|
||||||
private function _themes()
|
private function _themes()
|
||||||
{
|
{
|
||||||
$themes = array();
|
$themes = array();
|
||||||
@@ -198,24 +197,36 @@ class Config extends Secure_Controller
|
|||||||
{
|
{
|
||||||
$data['stock_locations'] = $this->Stock_location->get_all()->result_array();
|
$data['stock_locations'] = $this->Stock_location->get_all()->result_array();
|
||||||
$data['dinner_tables'] = $this->Dinner_table->get_all()->result_array();
|
$data['dinner_tables'] = $this->Dinner_table->get_all()->result_array();
|
||||||
$data['tax_categories'] = $this->Tax->get_all_tax_categories()->result_array();
|
|
||||||
$data['customer_rewards'] = $this->Customer_rewards->get_all()->result_array();
|
$data['customer_rewards'] = $this->Customer_rewards->get_all()->result_array();
|
||||||
$data['support_barcode'] = $this->barcode_lib->get_list_barcodes();
|
$data['support_barcode'] = $this->barcode_lib->get_list_barcodes();
|
||||||
$data['logo_exists'] = $this->config->item('company_logo') != '';
|
$data['logo_exists'] = $this->config->item('company_logo') != '';
|
||||||
$data['line_sequence_options'] = $this->sale_lib->get_line_sequence_options();
|
$data['line_sequence_options'] = $this->sale_lib->get_line_sequence_options();
|
||||||
$data['register_mode_options'] = $this->sale_lib->get_register_mode_options();
|
$data['register_mode_options'] = $this->sale_lib->get_register_mode_options();
|
||||||
|
$data['invoice_type_options'] = $this->sale_lib->get_invoice_type_options();
|
||||||
$data['rounding_options'] = Rounding_mode::get_rounding_options();
|
$data['rounding_options'] = Rounding_mode::get_rounding_options();
|
||||||
$data['tax_codes'] = $this->get_tax_code_options();
|
$data['tax_code_options'] = $this->tax_lib->get_tax_code_options();
|
||||||
|
$data['tax_category_options'] = $this->tax_lib->get_tax_category_options();
|
||||||
|
$data['tax_jurisdiction_options'] = $this->tax_lib->get_tax_jurisdiction_options();
|
||||||
$data['show_office_group'] = $this->Module->get_show_office_group();
|
$data['show_office_group'] = $this->Module->get_show_office_group();
|
||||||
|
$data['currency_code'] = $this->config->item('currency_code');
|
||||||
|
|
||||||
$data = $this->xss_clean($data);
|
$data = $this->xss_clean($data);
|
||||||
|
|
||||||
// load all the license statements, they are already XSS cleaned in the private function
|
// load all the license statements, they are already XSS cleaned in the private function
|
||||||
$data['licenses'] = $this->_licenses();
|
$data['licenses'] = $this->_licenses();
|
||||||
|
|
||||||
// load all the themes, already XSS cleaned in the private function
|
// load all the themes, already XSS cleaned in the private function
|
||||||
$data['themes'] = $this->_themes();
|
$data['themes'] = $this->_themes();
|
||||||
|
|
||||||
$data['mailchimp'] = array();
|
//Load General related fields
|
||||||
|
$image_allowed_types = array('jpg','jpeg','gif','svg','webp','bmp','png','tif','tiff');
|
||||||
|
$data['image_allowed_types'] = array_combine($image_allowed_types,$image_allowed_types);
|
||||||
|
|
||||||
|
$data['selected_image_allowed_types'] = explode('|',$this->config->item('image_allowed_types'));
|
||||||
|
|
||||||
|
//Load Integrations Related fields
|
||||||
|
$data['mailchimp'] = array();
|
||||||
|
|
||||||
if($this->_check_encryption())
|
if($this->_check_encryption())
|
||||||
{
|
{
|
||||||
$data['mailchimp']['api_key'] = $this->encryption->decrypt($this->config->item('mailchimp_api_key'));
|
$data['mailchimp']['api_key'] = $this->encryption->decrypt($this->config->item('mailchimp_api_key'));
|
||||||
@@ -233,19 +244,6 @@ class Config extends Secure_Controller
|
|||||||
$this->load->view("configs/manage", $data);
|
$this->load->view("configs/manage", $data);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function get_tax_code_options()
|
|
||||||
{
|
|
||||||
$tax_codes = $this->Tax->get_all_tax_codes()->result_array();
|
|
||||||
$tax_code_options = array();
|
|
||||||
foreach($tax_codes as $tax_code)
|
|
||||||
{
|
|
||||||
$a = $tax_code['tax_code'];
|
|
||||||
$b = $tax_code['tax_code_name'];
|
|
||||||
$tax_code_options[$a] = $b;
|
|
||||||
}
|
|
||||||
return $tax_code_options;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function save_info()
|
public function save_info()
|
||||||
{
|
{
|
||||||
$upload_success = $this->_handle_logo_upload();
|
$upload_success = $this->_handle_logo_upload();
|
||||||
@@ -285,12 +283,19 @@ class Config extends Secure_Controller
|
|||||||
{
|
{
|
||||||
$batch_save_data = array(
|
$batch_save_data = array(
|
||||||
'theme' => $this->input->post('theme'),
|
'theme' => $this->input->post('theme'),
|
||||||
|
'default_sales_discount_type' => $this->input->post('default_sales_discount_type') != NULL,
|
||||||
'default_sales_discount' => $this->input->post('default_sales_discount'),
|
'default_sales_discount' => $this->input->post('default_sales_discount'),
|
||||||
|
'default_receivings_discount_type' => $this->input->post('default_receivings_discount_type') != NULL,
|
||||||
|
'default_receivings_discount' => $this->input->post('default_receivings_discount'),
|
||||||
'enforce_privacy' => $this->input->post('enforce_privacy'),
|
'enforce_privacy' => $this->input->post('enforce_privacy'),
|
||||||
'receiving_calculate_average_price' => $this->input->post('receiving_calculate_average_price') != NULL,
|
'receiving_calculate_average_price' => $this->input->post('receiving_calculate_average_price') != NULL,
|
||||||
'lines_per_page' => $this->input->post('lines_per_page'),
|
'lines_per_page' => $this->input->post('lines_per_page'),
|
||||||
'notify_horizontal_position' => $this->input->post('notify_horizontal_position'),
|
'notify_horizontal_position' => $this->input->post('notify_horizontal_position'),
|
||||||
'notify_vertical_position' => $this->input->post('notify_vertical_position'),
|
'notify_vertical_position' => $this->input->post('notify_vertical_position'),
|
||||||
|
'image_max_width' => $this->input->post('image_max_width'),
|
||||||
|
'image_max_height' => $this->input->post('image_max_height'),
|
||||||
|
'image_max_size' => $this->input->post('image_max_size'),
|
||||||
|
'image_allowed_types' => implode('|', $this->input->post('image_allowed_types')),
|
||||||
'gcaptcha_enable' => $this->input->post('gcaptcha_enable') != NULL,
|
'gcaptcha_enable' => $this->input->post('gcaptcha_enable') != NULL,
|
||||||
'gcaptcha_secret_key' => $this->input->post('gcaptcha_secret_key'),
|
'gcaptcha_secret_key' => $this->input->post('gcaptcha_secret_key'),
|
||||||
'gcaptcha_site_key' => $this->input->post('gcaptcha_site_key'),
|
'gcaptcha_site_key' => $this->input->post('gcaptcha_site_key'),
|
||||||
@@ -299,20 +304,28 @@ class Config extends Secure_Controller
|
|||||||
'suggestions_third_column' => $this->input->post('suggestions_third_column'),
|
'suggestions_third_column' => $this->input->post('suggestions_third_column'),
|
||||||
'giftcard_number' => $this->input->post('giftcard_number'),
|
'giftcard_number' => $this->input->post('giftcard_number'),
|
||||||
'derive_sale_quantity' => $this->input->post('derive_sale_quantity') != NULL,
|
'derive_sale_quantity' => $this->input->post('derive_sale_quantity') != NULL,
|
||||||
'custom1_name' => $this->input->post('custom1_name'),
|
'multi_pack_enabled' => $this->input->post('multi_pack_enabled') != NULL,
|
||||||
'custom2_name' => $this->input->post('custom2_name'),
|
'include_hsn' => $this->input->post('include_hsn') != NULL,
|
||||||
'custom3_name' => $this->input->post('custom3_name'),
|
'category_dropdown' => $this->input->post('category_dropdown') != NULL
|
||||||
'custom4_name' => $this->input->post('custom4_name'),
|
|
||||||
'custom5_name' => $this->input->post('custom5_name'),
|
|
||||||
'custom6_name' => $this->input->post('custom6_name'),
|
|
||||||
'custom7_name' => $this->input->post('custom7_name'),
|
|
||||||
'custom8_name' => $this->input->post('custom8_name'),
|
|
||||||
'custom9_name' => $this->input->post('custom9_name'),
|
|
||||||
'custom10_name' => $this->input->post('custom10_name')
|
|
||||||
);
|
);
|
||||||
|
|
||||||
$this->Module->set_show_office_group($this->input->post('show_office_group') != NULL);
|
$this->Module->set_show_office_group($this->input->post('show_office_group') != NULL);
|
||||||
|
|
||||||
|
if($batch_save_data['category_dropdown'] == 1)
|
||||||
|
{
|
||||||
|
$definition_data['definition_name'] = 'ospos_category';
|
||||||
|
$definition_data['definition_flags'] = 0;
|
||||||
|
$definition_data['definition_type'] = 'DROPDOWN';
|
||||||
|
$definition_data['definition_id'] = CATEGORY_DEFINITION_ID;
|
||||||
|
$definition_data['deleted'] = 0;
|
||||||
|
|
||||||
|
$this->Attribute->save_definition($definition_data, CATEGORY_DEFINITION_ID);
|
||||||
|
}
|
||||||
|
else if($batch_save_data['category_dropdown'] == NO_DEFINITION_ID)
|
||||||
|
{
|
||||||
|
$this->Attribute->delete_definition(CATEGORY_DEFINITION_ID);
|
||||||
|
}
|
||||||
|
|
||||||
$result = $this->Appconfig->batch_save($batch_save_data);
|
$result = $this->Appconfig->batch_save($batch_save_data);
|
||||||
$success = $result ? TRUE : FALSE;
|
$success = $result ? TRUE : FALSE;
|
||||||
|
|
||||||
@@ -325,19 +338,35 @@ class Config extends Secure_Controller
|
|||||||
public function ajax_check_number_locale()
|
public function ajax_check_number_locale()
|
||||||
{
|
{
|
||||||
$number_locale = $this->input->post('number_locale');
|
$number_locale = $this->input->post('number_locale');
|
||||||
|
$save_number_locale = $this->input->post('save_number_locale');
|
||||||
|
|
||||||
$fmt = new \NumberFormatter($number_locale, \NumberFormatter::CURRENCY);
|
$fmt = new \NumberFormatter($number_locale, \NumberFormatter::CURRENCY);
|
||||||
$currency_symbol = empty($this->input->post('currency_symbol')) ? $fmt->getSymbol(\NumberFormatter::CURRENCY_SYMBOL) : $this->input->post('currency_symbol');
|
if($number_locale != $save_number_locale)
|
||||||
|
{
|
||||||
|
$currency_symbol = $fmt->getSymbol(\NumberFormatter::CURRENCY_SYMBOL);
|
||||||
|
$currency_code = $fmt->getTextAttribute(\NumberFormatter::CURRENCY_CODE);
|
||||||
|
$save_number_locale = $number_locale;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$currency_symbol = empty($this->input->post('currency_symbol')) ? $fmt->getSymbol(\NumberFormatter::CURRENCY_SYMBOL) : $this->input->post('currency_symbol');
|
||||||
|
$currency_code = empty($this->input->post('currency_code')) ? $fmt->getTextAttribute(\NumberFormatter::CURRENCY_CODE) : $this->input->post('currency_code');
|
||||||
|
}
|
||||||
|
|
||||||
if($this->input->post('thousands_separator') == 'false')
|
if($this->input->post('thousands_separator') == 'false')
|
||||||
{
|
{
|
||||||
$fmt->setAttribute(\NumberFormatter::GROUPING_SEPARATOR_SYMBOL, '');
|
$fmt->setAttribute(\NumberFormatter::GROUPING_SEPARATOR_SYMBOL, '');
|
||||||
}
|
}
|
||||||
|
|
||||||
$fmt->setSymbol(\NumberFormatter::CURRENCY_SYMBOL, $currency_symbol);
|
$fmt->setSymbol(\NumberFormatter::CURRENCY_SYMBOL, $currency_symbol);
|
||||||
$number_local_example = $fmt->format(1234567890.12300);
|
$number_local_example = $fmt->format(1234567890.12300);
|
||||||
|
|
||||||
echo json_encode(array(
|
echo json_encode(array(
|
||||||
'success' => $number_local_example != FALSE,
|
'success' => $number_local_example != FALSE,
|
||||||
|
'save_number_locale' => $save_number_locale,
|
||||||
'number_locale_example' => $number_local_example,
|
'number_locale_example' => $number_local_example,
|
||||||
'currency_symbol' => $currency_symbol,
|
'currency_symbol' => $currency_symbol,
|
||||||
'thousands_separator' => $fmt->getAttribute(\NumberFormatter::GROUPING_SEPARATOR_SYMBOL) != ''
|
'currency_code' => $currency_code,
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -346,12 +375,13 @@ class Config extends Secure_Controller
|
|||||||
$exploded = explode(":", $this->input->post('language'));
|
$exploded = explode(":", $this->input->post('language'));
|
||||||
$batch_save_data = array(
|
$batch_save_data = array(
|
||||||
'currency_symbol' => $this->input->post('currency_symbol'),
|
'currency_symbol' => $this->input->post('currency_symbol'),
|
||||||
|
'currency_code' => $this->input->post('currency_code'),
|
||||||
'language_code' => $exploded[0],
|
'language_code' => $exploded[0],
|
||||||
'language' => $exploded[1],
|
'language' => $exploded[1],
|
||||||
'timezone' => $this->input->post('timezone'),
|
'timezone' => $this->input->post('timezone'),
|
||||||
'dateformat' => $this->input->post('dateformat'),
|
'dateformat' => $this->input->post('dateformat'),
|
||||||
'timeformat' => $this->input->post('timeformat'),
|
'timeformat' => $this->input->post('timeformat'),
|
||||||
'thousands_separator' => $this->input->post('thousands_separator'),
|
'thousands_separator' => !empty($this->input->post('thousands_separator')),
|
||||||
'number_locale' => $this->input->post('number_locale'),
|
'number_locale' => $this->input->post('number_locale'),
|
||||||
'currency_decimals' => $this->input->post('currency_decimals'),
|
'currency_decimals' => $this->input->post('currency_decimals'),
|
||||||
'tax_decimals' => $this->input->post('tax_decimals'),
|
'tax_decimals' => $this->input->post('tax_decimals'),
|
||||||
@@ -428,8 +458,8 @@ class Config extends Secure_Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This function fetches all the available lists from Mailchimp for the given API key
|
* This function fetches all the available lists from Mailchimp for the given API key
|
||||||
*/
|
*/
|
||||||
private function _mailchimp($api_key = '')
|
private function _mailchimp($api_key = '')
|
||||||
{
|
{
|
||||||
$this->load->library('mailchimp_lib', array('api_key' => $api_key));
|
$this->load->library('mailchimp_lib', array('api_key' => $api_key));
|
||||||
@@ -452,8 +482,8 @@ class Config extends Secure_Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
AJAX call from mailchimp config form to fetch the Mailchimp lists when a valid API key is inserted
|
AJAX call from mailchimp config form to fetch the Mailchimp lists when a valid API key is inserted
|
||||||
*/
|
*/
|
||||||
public function ajax_check_mailchimp_api_key()
|
public function ajax_check_mailchimp_api_key()
|
||||||
{
|
{
|
||||||
// load mailchimp lists associated to the given api key, already XSS cleaned in the private function
|
// load mailchimp lists associated to the given api key, already XSS cleaned in the private function
|
||||||
@@ -548,15 +578,16 @@ class Config extends Secure_Controller
|
|||||||
{
|
{
|
||||||
if(strstr($key, 'stock_location'))
|
if(strstr($key, 'stock_location'))
|
||||||
{
|
{
|
||||||
$location_id = preg_replace("/.*?_(\d+)$/", "$1", $key);
|
|
||||||
|
|
||||||
// save or update
|
// save or update
|
||||||
$location_data = array('location_name' => $value);
|
foreach ($value as $location_id => $location_name)
|
||||||
if($this->Stock_location->save($location_data, $location_id))
|
|
||||||
{
|
{
|
||||||
$location_id = $this->Stock_location->get_location_id($value);
|
$location_data = array('location_name' => $location_name);
|
||||||
$not_to_delete[] = $location_id;
|
if($this->Stock_location->save($location_data, $location_id))
|
||||||
$this->_clear_session_state();
|
{
|
||||||
|
$location_id = $this->Stock_location->get_location_id($location_name);
|
||||||
|
$not_to_delete[] = $location_id;
|
||||||
|
$this->_clear_session_state();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -599,6 +630,7 @@ class Config extends Secure_Controller
|
|||||||
{
|
{
|
||||||
$dinner_table_id = preg_replace("/.*?_(\d+)$/", "$1", $key);
|
$dinner_table_id = preg_replace("/.*?_(\d+)$/", "$1", $key);
|
||||||
$not_to_delete[] = $dinner_table_id;
|
$not_to_delete[] = $dinner_table_id;
|
||||||
|
|
||||||
// save or update
|
// save or update
|
||||||
$table_data = array('name' => $value);
|
$table_data = array('name' => $value);
|
||||||
if($this->Dinner_table->save($table_data, $dinner_table_id))
|
if($this->Dinner_table->save($table_data, $dinner_table_id))
|
||||||
@@ -634,85 +666,26 @@ class Config extends Secure_Controller
|
|||||||
{
|
{
|
||||||
$this->db->trans_start();
|
$this->db->trans_start();
|
||||||
|
|
||||||
$customer_sales_tax_support = $this->input->post('customer_sales_tax_support') != NULL;
|
|
||||||
|
|
||||||
$batch_save_data = array(
|
$batch_save_data = array(
|
||||||
'default_tax_1_rate' => parse_decimals($this->input->post('default_tax_1_rate')),
|
'default_tax_1_rate' => parse_tax($this->input->post('default_tax_1_rate')),
|
||||||
'default_tax_1_name' => $this->input->post('default_tax_1_name'),
|
'default_tax_1_name' => $this->input->post('default_tax_1_name'),
|
||||||
'default_tax_2_rate' => parse_decimals($this->input->post('default_tax_2_rate')),
|
'default_tax_2_rate' => parse_tax($this->input->post('default_tax_2_rate')),
|
||||||
'default_tax_2_name' => $this->input->post('default_tax_2_name'),
|
'default_tax_2_name' => $this->input->post('default_tax_2_name'),
|
||||||
'tax_included' => $this->input->post('tax_included') != NULL,
|
'tax_included' => $this->input->post('tax_included') != NULL,
|
||||||
'customer_sales_tax_support' => $customer_sales_tax_support,
|
'use_destination_based_tax' => $this->input->post('use_destination_based_tax') != NULL,
|
||||||
'default_origin_tax_code' => $this->input->post('default_origin_tax_code')
|
'default_tax_code' => $this->input->post('default_tax_code'),
|
||||||
|
'default_tax_category' => $this->input->post('default_tax_category'),
|
||||||
|
'default_tax_jurisdiction' => $this->input->post('default_tax_jurisdiction'),
|
||||||
|
'tax_id' => $this->input->post('tax_id')
|
||||||
);
|
);
|
||||||
|
|
||||||
$success = $this->Appconfig->batch_save($batch_save_data) ? TRUE : FALSE;
|
$success = $this->Appconfig->batch_save($batch_save_data) ? TRUE : FALSE;
|
||||||
$delete_rejected = FALSE;
|
|
||||||
|
|
||||||
if($customer_sales_tax_support)
|
|
||||||
{
|
|
||||||
$array_save = array();
|
|
||||||
foreach($this->input->post() as $key => $value)
|
|
||||||
{
|
|
||||||
if(strstr($key, 'tax_category'))
|
|
||||||
{
|
|
||||||
$tax_category_id = preg_replace("/.*?_(\d+)$/", "$1", $key);
|
|
||||||
$array_save[$tax_category_id]['tax_category'] = $value;
|
|
||||||
}
|
|
||||||
elseif(strstr($key, 'tax_group_sequence'))
|
|
||||||
{
|
|
||||||
$tax_category_id = preg_replace("/.*?_(\d+)$/", "$1", $key);
|
|
||||||
$array_save[$tax_category_id]['tax_group_sequence'] = $value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$not_to_delete = array();
|
|
||||||
if(!empty($array_save))
|
|
||||||
{
|
|
||||||
foreach($array_save as $key => $value)
|
|
||||||
{
|
|
||||||
// save or update
|
|
||||||
$category_data = array('tax_category' => $value['tax_category'], 'tax_group_sequence' => $value['tax_group_sequence']);
|
|
||||||
$this->Tax->save_tax_category($category_data, $key);
|
|
||||||
$not_to_delete[] = $key;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// all categories not available in post will be deleted now
|
|
||||||
$deleted_categories = $this->Tax->get_all_tax_categories()->result_array();
|
|
||||||
|
|
||||||
foreach($deleted_categories as $tax_category => $category)
|
|
||||||
{
|
|
||||||
if(!in_array($category['tax_category_id'], $not_to_delete))
|
|
||||||
{
|
|
||||||
$usg1 = $this->Tax->get_tax_category_usage($category['tax_category_id']);
|
|
||||||
$usg2 = $this->Item->get_tax_category_usage($category['tax_category_id']);
|
|
||||||
if(($usg1 + $usg2) == 0)
|
|
||||||
{
|
|
||||||
$this->Tax->delete_tax_category($category['tax_category_id']);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$delete_rejected = TRUE;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->db->trans_complete();
|
$this->db->trans_complete();
|
||||||
|
|
||||||
$success &= $this->db->trans_status();
|
$success &= $this->db->trans_status();
|
||||||
|
|
||||||
$message = '';
|
$message = $this->lang->line('config_saved_' . ($success ? '' : 'un') . 'successfully');
|
||||||
if($success && $delete_rejected)
|
|
||||||
{
|
|
||||||
$message = $this->lang->line('config_tax_category_used');
|
|
||||||
$success = FALSE;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$message = $this->lang->line('config_saved_' . ($success ? '' : 'un') . 'successfully');
|
|
||||||
}
|
|
||||||
|
|
||||||
echo json_encode(array(
|
echo json_encode(array(
|
||||||
'success' => $success,
|
'success' => $success,
|
||||||
@@ -817,7 +790,8 @@ class Config extends Secure_Controller
|
|||||||
'email_receipt_check_behaviour' => $this->input->post('email_receipt_check_behaviour'),
|
'email_receipt_check_behaviour' => $this->input->post('email_receipt_check_behaviour'),
|
||||||
'print_receipt_check_behaviour' => $this->input->post('print_receipt_check_behaviour'),
|
'print_receipt_check_behaviour' => $this->input->post('print_receipt_check_behaviour'),
|
||||||
'receipt_show_company_name' => $this->input->post('receipt_show_company_name') != NULL,
|
'receipt_show_company_name' => $this->input->post('receipt_show_company_name') != NULL,
|
||||||
'receipt_show_taxes' => $this->input->post('receipt_show_taxes') != NULL,
|
'receipt_show_taxes' => ($this->input->post('receipt_show_taxes') != NULL),
|
||||||
|
'receipt_show_tax_ind' => ($this->input->post('receipt_show_tax_ind') != NULL),
|
||||||
'receipt_show_total_discount' => $this->input->post('receipt_show_total_discount') != NULL,
|
'receipt_show_total_discount' => $this->input->post('receipt_show_total_discount') != NULL,
|
||||||
'receipt_show_description' => $this->input->post('receipt_show_description') != NULL,
|
'receipt_show_description' => $this->input->post('receipt_show_description') != NULL,
|
||||||
'receipt_show_serialnumber' => $this->input->post('receipt_show_serialnumber') != NULL,
|
'receipt_show_serialnumber' => $this->input->post('receipt_show_serialnumber') != NULL,
|
||||||
@@ -843,19 +817,19 @@ class Config extends Secure_Controller
|
|||||||
{
|
{
|
||||||
$batch_save_data = array (
|
$batch_save_data = array (
|
||||||
'invoice_enable' => $this->input->post('invoice_enable') != NULL,
|
'invoice_enable' => $this->input->post('invoice_enable') != NULL,
|
||||||
'default_register_mode' => $this->input->post('default_register_mode'),
|
|
||||||
'sales_invoice_format' => $this->input->post('sales_invoice_format'),
|
'sales_invoice_format' => $this->input->post('sales_invoice_format'),
|
||||||
'sales_quote_format' => $this->input->post('sales_quote_format'),
|
'sales_quote_format' => $this->input->post('sales_quote_format'),
|
||||||
'recv_invoice_format' => $this->input->post('recv_invoice_format'),
|
'recv_invoice_format' => $this->input->post('recv_invoice_format'),
|
||||||
'invoice_default_comments' => $this->input->post('invoice_default_comments'),
|
'invoice_default_comments' => $this->input->post('invoice_default_comments'),
|
||||||
'invoice_email_message' => $this->input->post('invoice_email_message'),
|
'invoice_email_message' => $this->input->post('invoice_email_message'),
|
||||||
'line_sequence' => $this->input->post('line_sequence'),
|
'line_sequence' => $this->input->post('line_sequence'),
|
||||||
'last_used_invoice_number' =>$this->input->post('last_used_invoice_number'),
|
'last_used_invoice_number' => $this->input->post('last_used_invoice_number'),
|
||||||
'last_used_quote_number' =>$this->input->post('last_used_quote_number'),
|
'last_used_quote_number' => $this->input->post('last_used_quote_number'),
|
||||||
'quote_default_comments' => $this->input->post('quote_default_comments'),
|
'quote_default_comments' => $this->input->post('quote_default_comments'),
|
||||||
'work_order_enable' => $this->input->post('work_order_enable') != NULL,
|
'work_order_enable' => $this->input->post('work_order_enable') != NULL,
|
||||||
'work_order_format' => $this->input->post('work_order_format'),
|
'work_order_format' => $this->input->post('work_order_format'),
|
||||||
'last_used_work_order_number' =>$this->input->post('last_used_work_order_number')
|
'last_used_work_order_number' => $this->input->post('last_used_work_order_number'),
|
||||||
|
'invoice_type' => $this->input->post('invoice_type')
|
||||||
);
|
);
|
||||||
|
|
||||||
$result = $this->Appconfig->batch_save($batch_save_data);
|
$result = $this->Appconfig->batch_save($batch_save_data);
|
||||||
@@ -894,11 +868,11 @@ class Config extends Secure_Controller
|
|||||||
|
|
||||||
// load upload library
|
// load upload library
|
||||||
$config = array('upload_path' => './uploads/',
|
$config = array('upload_path' => './uploads/',
|
||||||
'allowed_types' => 'gif|jpg|png',
|
'allowed_types' => 'gif|jpg|png',
|
||||||
'max_size' => '1024',
|
'max_size' => '1024',
|
||||||
'max_width' => '800',
|
'max_width' => '800',
|
||||||
'max_height' => '680',
|
'max_height' => '680',
|
||||||
'file_name' => 'company_logo');
|
'file_name' => 'company_logo');
|
||||||
$this->load->library('upload', $config);
|
$this->load->library('upload', $config);
|
||||||
$this->upload->do_upload('company_logo');
|
$this->upload->do_upload('company_logo');
|
||||||
|
|
||||||
@@ -930,13 +904,14 @@ class Config extends Secure_Controller
|
|||||||
$result = FALSE;
|
$result = FALSE;
|
||||||
|
|
||||||
// Chmod the file
|
// Chmod the file
|
||||||
@chmod($config_path, 0777);
|
@chmod($config_path, 0770);
|
||||||
|
|
||||||
// Verify file permissions
|
// Verify file permissions
|
||||||
if(is_writable($config_path))
|
if(is_writable($config_path))
|
||||||
{
|
{
|
||||||
// Write the new config.php file
|
// Write the new config.php file
|
||||||
$handle = @fopen($config_path, 'w+');
|
$handle = @fopen($config_path, 'w+');
|
||||||
|
|
||||||
// Write the file
|
// Write the file
|
||||||
$result = (fwrite($handle, $config) === FALSE) ? FALSE : TRUE;
|
$result = (fwrite($handle, $config) === FALSE) ? FALSE : TRUE;
|
||||||
|
|
||||||
@@ -944,7 +919,7 @@ class Config extends Secure_Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Chmod the file
|
// Chmod the file
|
||||||
@chmod($config_path, 0444);
|
@chmod($config_path, 0440);
|
||||||
|
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -109,8 +109,6 @@ class Customers extends Persons
|
|||||||
*/
|
*/
|
||||||
public function view($customer_id = -1)
|
public function view($customer_id = -1)
|
||||||
{
|
{
|
||||||
$customer_sales_tax_support = $this->config->item('customer_sales_tax_support');
|
|
||||||
|
|
||||||
$info = $this->Customer->get_info($customer_id);
|
$info = $this->Customer->get_info($customer_id);
|
||||||
foreach(get_object_vars($info) as $property => $value)
|
foreach(get_object_vars($info) as $property => $value)
|
||||||
{
|
{
|
||||||
@@ -125,9 +123,20 @@ class Customers extends Persons
|
|||||||
}
|
}
|
||||||
|
|
||||||
$employee_info = $this->Employee->get_info($info->employee_id);
|
$employee_info = $this->Employee->get_info($info->employee_id);
|
||||||
$data['employee'] = $employee_info->first_name . ' ' . $employee_info->last_name;
|
$data['employee'] = $this->xss_clean($employee_info->first_name . ' ' . $employee_info->last_name);
|
||||||
|
|
||||||
|
$tax_code_info = $this->Tax_code->get_info($info->sales_tax_code_id);
|
||||||
|
$tax_code_id = $tax_code_info->tax_code_id;
|
||||||
|
|
||||||
|
if($tax_code_info->tax_code != NULL)
|
||||||
|
{
|
||||||
|
$data['sales_tax_code_label'] = $this->xss_clean($tax_code_info->tax_code . ' ' . $tax_code_info->tax_code_name);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$data['sales_tax_code_label'] = '';
|
||||||
|
}
|
||||||
|
|
||||||
$data['sales_tax_code_label'] = $info->sales_tax_code . ' ' . $this->Tax->get_info($info->sales_tax_code)->tax_code_name;
|
|
||||||
$packages = array('' => $this->lang->line('items_none'));
|
$packages = array('' => $this->lang->line('items_none'));
|
||||||
foreach($this->Customer_rewards->get_all()->result_array() as $row)
|
foreach($this->Customer_rewards->get_all()->result_array() as $row)
|
||||||
{
|
{
|
||||||
@@ -136,13 +145,13 @@ class Customers extends Persons
|
|||||||
$data['packages'] = $packages;
|
$data['packages'] = $packages;
|
||||||
$data['selected_package'] = $info->package_id;
|
$data['selected_package'] = $info->package_id;
|
||||||
|
|
||||||
if($customer_sales_tax_support == '1')
|
if($this->config->item('use_destination_based_tax') == '1')
|
||||||
{
|
{
|
||||||
$data['customer_sales_tax_enabled'] = TRUE;
|
$data['use_destination_based_tax'] = TRUE;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$data['customer_sales_tax_enabled'] = FALSE;
|
$data['use_destination_based_tax'] = FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// retrieve the total amount the customer spent so far together with min, max and average values
|
// retrieve the total amount the customer spent so far together with min, max and average values
|
||||||
@@ -247,24 +256,17 @@ class Customers extends Persons
|
|||||||
$customer_data = array(
|
$customer_data = array(
|
||||||
'consent' => $this->input->post('consent') != NULL,
|
'consent' => $this->input->post('consent') != NULL,
|
||||||
'account_number' => $this->input->post('account_number') == '' ? NULL : $this->input->post('account_number'),
|
'account_number' => $this->input->post('account_number') == '' ? NULL : $this->input->post('account_number'),
|
||||||
|
'tax_id' => $this->input->post('tax_id'),
|
||||||
'company_name' => $this->input->post('company_name') == '' ? NULL : $this->input->post('company_name'),
|
'company_name' => $this->input->post('company_name') == '' ? NULL : $this->input->post('company_name'),
|
||||||
'discount_percent' => $this->input->post('discount_percent') == '' ? 0.00 : $this->input->post('discount_percent'),
|
'discount' => $this->input->post('discount') == '' ? 0.00 : $this->input->post('discount'),
|
||||||
|
'discount_type' => $this->input->post('discount_type') == NULL ? PERCENT : $this->input->post('discount_type'),
|
||||||
'package_id' => $this->input->post('package_id') == '' ? NULL : $this->input->post('package_id'),
|
'package_id' => $this->input->post('package_id') == '' ? NULL : $this->input->post('package_id'),
|
||||||
'taxable' => $this->input->post('taxable') != NULL,
|
'taxable' => $this->input->post('taxable') != NULL,
|
||||||
'date' => $date_formatter->format('Y-m-d H:i:s'),
|
'date' => $date_formatter->format('Y-m-d H:i:s'),
|
||||||
'employee_id' => $this->input->post('employee_id')
|
'employee_id' => $this->input->post('employee_id'),
|
||||||
|
'sales_tax_code_id' => $this->input->post('sales_tax_code_id') == '' ? NULL : $this->input->post('sales_tax_code_id')
|
||||||
);
|
);
|
||||||
|
|
||||||
$tax_code = $this->input->post('sales_tax_code');
|
|
||||||
if(!isset($tax_code))
|
|
||||||
{
|
|
||||||
$customer_data['sales_tax_code'] = '';
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$customer_data['sales_tax_code'] = $tax_code;
|
|
||||||
}
|
|
||||||
|
|
||||||
if($this->Customer->save_customer($person_data, $customer_data, $customer_id))
|
if($this->Customer->save_customer($person_data, $customer_data, $customer_id))
|
||||||
{
|
{
|
||||||
// save customer to Mailchimp selected list
|
// save customer to Mailchimp selected list
|
||||||
@@ -345,25 +347,25 @@ class Customers extends Persons
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Customers import from excel spreadsheet
|
Customers import from csv spreadsheet
|
||||||
*/
|
*/
|
||||||
public function excel()
|
public function csv()
|
||||||
{
|
{
|
||||||
$name = 'import_customers.csv';
|
$name = 'import_customers.csv';
|
||||||
$data = file_get_contents('../' . $name);
|
$data = file_get_contents('../' . $name);
|
||||||
force_download($name, $data);
|
force_download($name, $data);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function excel_import()
|
public function csv_import()
|
||||||
{
|
{
|
||||||
$this->load->view('customers/form_excel_import', NULL);
|
$this->load->view('customers/form_csv_import', NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function do_excel_import()
|
public function do_csv_import()
|
||||||
{
|
{
|
||||||
if($_FILES['file_path']['error'] != UPLOAD_ERR_OK)
|
if($_FILES['file_path']['error'] != UPLOAD_ERR_OK)
|
||||||
{
|
{
|
||||||
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('customers_excel_import_failed')));
|
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('customers_csv_import_failed')));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -403,8 +405,9 @@ class Customers extends Persons
|
|||||||
$customer_data = array(
|
$customer_data = array(
|
||||||
'consent' => $consent,
|
'consent' => $consent,
|
||||||
'company_name' => $data[13],
|
'company_name' => $data[13],
|
||||||
'discount_percent' => $data[15],
|
'discount' => $data[15],
|
||||||
'taxable' => $data[16] == '' ? 0 : 1,
|
'discount_type' => $data[16],
|
||||||
|
'taxable' => $data[17] == '' ? 0 : 1,
|
||||||
'date' => date('Y-m-d H:i:s'),
|
'date' => date('Y-m-d H:i:s'),
|
||||||
'employee_id' => $this->Employee->get_logged_in_employee_info()->person_id
|
'employee_id' => $this->Employee->get_logged_in_employee_info()->person_id
|
||||||
);
|
);
|
||||||
@@ -443,18 +446,18 @@ class Customers extends Persons
|
|||||||
|
|
||||||
if(count($failCodes) > 0)
|
if(count($failCodes) > 0)
|
||||||
{
|
{
|
||||||
$message = $this->lang->line('customers_excel_import_partially_failed') . ' (' . count($failCodes) . '): ' . implode(', ', $failCodes);
|
$message = $this->lang->line('customers_csv_import_partially_failed') . ' (' . count($failCodes) . '): ' . implode(', ', $failCodes);
|
||||||
|
|
||||||
echo json_encode(array('success' => FALSE, 'message' => $message));
|
echo json_encode(array('success' => FALSE, 'message' => $message));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('customers_excel_import_success')));
|
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('customers_csv_import_success')));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('customers_excel_import_nodata_wrongformat')));
|
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('customers_csv_import_nodata_wrongformat')));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,6 +35,13 @@ class Employees extends Persons
|
|||||||
/*
|
/*
|
||||||
Gives search suggestions based on what is being searched for
|
Gives search suggestions based on what is being searched for
|
||||||
*/
|
*/
|
||||||
|
public function suggest()
|
||||||
|
{
|
||||||
|
$suggestions = $this->xss_clean($this->Employee->get_search_suggestions($this->input->get('term'), TRUE));
|
||||||
|
|
||||||
|
echo json_encode($suggestions);
|
||||||
|
}
|
||||||
|
|
||||||
public function suggest_search()
|
public function suggest_search()
|
||||||
{
|
{
|
||||||
$suggestions = $this->xss_clean($this->Employee->get_search_suggestions($this->input->post('term')));
|
$suggestions = $this->xss_clean($this->Employee->get_search_suggestions($this->input->post('term')));
|
||||||
@@ -69,7 +76,7 @@ class Employees extends Persons
|
|||||||
foreach($this->Module->get_all_subpermissions()->result() as $permission)
|
foreach($this->Module->get_all_subpermissions()->result() as $permission)
|
||||||
{
|
{
|
||||||
$permission->module_id = $this->xss_clean($permission->module_id);
|
$permission->module_id = $this->xss_clean($permission->module_id);
|
||||||
$permission->permission_id = $this->xss_clean($permission->permission_id);
|
$permission->permission_id = str_replace(' ', '_', $this->xss_clean($permission->permission_id));
|
||||||
$permission->grant = $this->xss_clean($this->Employee->has_grant($permission->permission_id, $person_info->person_id));
|
$permission->grant = $this->xss_clean($this->Employee->has_grant($permission->permission_id, $person_info->person_id));
|
||||||
|
|
||||||
$permissions[] = $permission;
|
$permissions[] = $permission;
|
||||||
@@ -121,7 +128,7 @@ class Employees extends Persons
|
|||||||
}
|
}
|
||||||
|
|
||||||
//Password has been changed OR first time password set
|
//Password has been changed OR first time password set
|
||||||
if($this->input->post('password') != '')
|
if($this->input->post('password') != '' && ENVIRONMENT != 'testing')
|
||||||
{
|
{
|
||||||
$exploded = explode(":", $this->input->post('language'));
|
$exploded = explode(":", $this->input->post('language'));
|
||||||
$employee_data = array(
|
$employee_data = array(
|
||||||
|
|||||||
@@ -80,7 +80,7 @@ class Expenses extends Secure_Controller
|
|||||||
|
|
||||||
$data['expenses_info'] = $this->Expense->get_info($expense_id);
|
$data['expenses_info'] = $this->Expense->get_info($expense_id);
|
||||||
|
|
||||||
$data['expense_categories'] = array();
|
$expense_categories = array();
|
||||||
foreach($this->Expense_category->get_all(0, 0, TRUE)->result_array() as $row)
|
foreach($this->Expense_category->get_all(0, 0, TRUE)->result_array() as $row)
|
||||||
{
|
{
|
||||||
$expense_categories[$row['expense_category_id']] = $row['category_name'];
|
$expense_categories[$row['expense_category_id']] = $row['category_name'];
|
||||||
@@ -128,7 +128,7 @@ class Expenses extends Secure_Controller
|
|||||||
|
|
||||||
$expense_data = array(
|
$expense_data = array(
|
||||||
'date' => $date_formatter->format('Y-m-d H:i:s'),
|
'date' => $date_formatter->format('Y-m-d H:i:s'),
|
||||||
'supplier_name' => $this->input->post('supplier_name'),
|
'supplier_id' => $this->input->post('supplier_id') == '' ? NULL : $this->input->post('supplier_id'),
|
||||||
'supplier_tax_code' => $this->input->post('supplier_tax_code'),
|
'supplier_tax_code' => $this->input->post('supplier_tax_code'),
|
||||||
'amount' => parse_decimals($this->input->post('amount')),
|
'amount' => parse_decimals($this->input->post('amount')),
|
||||||
'tax_amount' => parse_decimals($this->input->post('tax_amount')),
|
'tax_amount' => parse_decimals($this->input->post('tax_amount')),
|
||||||
@@ -159,6 +159,13 @@ class Expenses extends Secure_Controller
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function ajax_check_amount()
|
||||||
|
{
|
||||||
|
$value = $this->input->post();
|
||||||
|
$parsed_value = parse_decimals(array_pop($value));
|
||||||
|
echo json_encode(array('success' => $parsed_value !== FALSE));
|
||||||
|
}
|
||||||
|
|
||||||
public function delete()
|
public function delete()
|
||||||
{
|
{
|
||||||
$expenses_to_delete = $this->input->post('ids');
|
$expenses_to_delete = $this->input->post('ids');
|
||||||
|
|||||||
@@ -131,7 +131,7 @@ class Giftcards extends Secure_Controller
|
|||||||
public function ajax_check_number_giftcard()
|
public function ajax_check_number_giftcard()
|
||||||
{
|
{
|
||||||
$parsed_value = parse_decimals($this->input->post('giftcard_amount'));
|
$parsed_value = parse_decimals($this->input->post('giftcard_amount'));
|
||||||
echo json_encode(array('success' => $parsed_value !== FALSE, 'giftcard_amount' => $parsed_value));
|
echo json_encode(array('success' => $parsed_value !== FALSE, 'giftcard_amount' => to_currency_no_money($parsed_value)));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function delete()
|
public function delete()
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ require_once("Secure_Controller.php");
|
|||||||
|
|
||||||
class Home extends Secure_Controller
|
class Home extends Secure_Controller
|
||||||
{
|
{
|
||||||
function __construct()
|
public function __construct()
|
||||||
{
|
{
|
||||||
parent::__construct(NULL, NULL, 'home');
|
parent::__construct(NULL, NULL, 'home');
|
||||||
}
|
}
|
||||||
@@ -20,7 +20,7 @@ class Home extends Secure_Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Loads the change employee password form
|
Load "change employee password" form
|
||||||
*/
|
*/
|
||||||
public function change_password($employee_id = -1)
|
public function change_password($employee_id = -1)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -14,10 +14,11 @@ class Item_kits extends Secure_Controller
|
|||||||
*/
|
*/
|
||||||
private function _add_totals_to_item_kit($item_kit)
|
private function _add_totals_to_item_kit($item_kit)
|
||||||
{
|
{
|
||||||
$kit_item_info = $this->Item->get_info($item_kit->item_id);
|
$kit_item_info = $this->Item->get_info(isset($item_kit->kit_item_id) ? $item_kit->kit_item_id : $item_kit->item_id);
|
||||||
|
|
||||||
$item_kit->total_cost_price = 0;
|
$item_kit->total_cost_price = 0;
|
||||||
$item_kit->total_unit_price = $kit_item_info->unit_price;
|
$item_kit->total_unit_price = (float)$kit_item_info->unit_price;
|
||||||
|
$total_quantity = 0;
|
||||||
|
|
||||||
foreach($this->Item_kit_items->get_info($item_kit->item_kit_id) as $item_kit_item)
|
foreach($this->Item_kit_items->get_info($item_kit->item_kit_id) as $item_kit_item)
|
||||||
{
|
{
|
||||||
@@ -32,11 +33,13 @@ class Item_kits extends Secure_Controller
|
|||||||
if($item_kit->price_option == PRICE_OPTION_ALL || ($item_kit->price_option == PRICE_OPTION_KIT_STOCK && $item_info->stock_type == HAS_STOCK ))
|
if($item_kit->price_option == PRICE_OPTION_ALL || ($item_kit->price_option == PRICE_OPTION_KIT_STOCK && $item_info->stock_type == HAS_STOCK ))
|
||||||
{
|
{
|
||||||
$item_kit->total_unit_price += $item_info->unit_price * $item_kit_item['quantity'];
|
$item_kit->total_unit_price += $item_info->unit_price * $item_kit_item['quantity'];
|
||||||
|
$total_quantity += $item_kit_item['quantity'];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$discount_fraction = bcdiv($item_kit->kit_discount_percent, 100);
|
$discount_fraction = bcdiv($item_kit->kit_discount, 100);
|
||||||
$item_kit->total_unit_price = $item_kit->total_unit_price - round(bcmul($item_kit->total_unit_price, $discount_fraction), totals_decimals(), PHP_ROUND_HALF_UP);
|
|
||||||
|
$item_kit->total_unit_price = $item_kit->total_unit_price - round(($item_kit->kit_discount_type == PERCENT)?bcmul($item_kit->total_unit_price, $discount_fraction): $item_kit->kit_discount, totals_decimals(), PHP_ROUND_HALF_UP);
|
||||||
|
|
||||||
return $item_kit;
|
return $item_kit;
|
||||||
}
|
}
|
||||||
@@ -97,6 +100,7 @@ class Item_kits extends Secure_Controller
|
|||||||
$info->price_option = '0';
|
$info->price_option = '0';
|
||||||
$info->print_option = PRINT_ALL;
|
$info->print_option = PRINT_ALL;
|
||||||
$info->kit_item_id = 0;
|
$info->kit_item_id = 0;
|
||||||
|
$info->item_number = '';
|
||||||
}
|
}
|
||||||
foreach(get_object_vars($info) as $property => $value)
|
foreach(get_object_vars($info) as $property => $value)
|
||||||
{
|
{
|
||||||
@@ -128,8 +132,10 @@ class Item_kits extends Secure_Controller
|
|||||||
{
|
{
|
||||||
$item_kit_data = array(
|
$item_kit_data = array(
|
||||||
'name' => $this->input->post('name'),
|
'name' => $this->input->post('name'),
|
||||||
|
'item_kit_number' => $this->input->post('item_kit_number'),
|
||||||
'item_id' => $this->input->post('kit_item_id'),
|
'item_id' => $this->input->post('kit_item_id'),
|
||||||
'kit_discount_percent' => $this->input->post('kit_discount_percent'),
|
'kit_discount' => $this->input->post('kit_discount'),
|
||||||
|
'kit_discount_type' => $this->input->post('kit_discount_type') == NULL ? PERCENT : $this->input->post('kit_discount_type'),
|
||||||
'price_option' => $this->input->post('price_option'),
|
'price_option' => $this->input->post('price_option'),
|
||||||
'print_option' => $this->input->post('print_option'),
|
'print_option' => $this->input->post('print_option'),
|
||||||
'description' => $this->input->post('description')
|
'description' => $this->input->post('description')
|
||||||
@@ -137,7 +143,6 @@ class Item_kits extends Secure_Controller
|
|||||||
|
|
||||||
if($this->Item_kit->save($item_kit_data, $item_kit_id))
|
if($this->Item_kit->save($item_kit_data, $item_kit_id))
|
||||||
{
|
{
|
||||||
$success = TRUE;
|
|
||||||
$new_item = FALSE;
|
$new_item = FALSE;
|
||||||
//New item kit
|
//New item kit
|
||||||
if($item_kit_id == -1)
|
if($item_kit_id == -1)
|
||||||
@@ -201,6 +206,12 @@ class Item_kits extends Secure_Controller
|
|||||||
'message' => $this->lang->line('item_kits_cannot_be_deleted')));
|
'message' => $this->lang->line('item_kits_cannot_be_deleted')));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function check_item_number()
|
||||||
|
{
|
||||||
|
$exists = $this->Item_kit->item_number_exists($this->input->post('item_kit_number'), $this->input->post('item_kit_id'));
|
||||||
|
echo !$exists ? 'true' : 'false';
|
||||||
|
}
|
||||||
|
|
||||||
public function generate_barcodes($item_kit_ids)
|
public function generate_barcodes($item_kit_ids)
|
||||||
{
|
{
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -4,6 +4,7 @@ class Login extends CI_Controller
|
|||||||
{
|
{
|
||||||
public function index()
|
public function index()
|
||||||
{
|
{
|
||||||
|
$this->load->library('migration');
|
||||||
if($this->Employee->is_logged_in())
|
if($this->Employee->is_logged_in())
|
||||||
{
|
{
|
||||||
redirect('home');
|
redirect('home');
|
||||||
@@ -14,6 +15,7 @@ class Login extends CI_Controller
|
|||||||
|
|
||||||
$this->form_validation->set_rules('username', 'lang:login_username', 'required|callback_login_check');
|
$this->form_validation->set_rules('username', 'lang:login_username', 'required|callback_login_check');
|
||||||
|
|
||||||
|
|
||||||
if($this->config->item('gcaptcha_enable'))
|
if($this->config->item('gcaptcha_enable'))
|
||||||
{
|
{
|
||||||
$this->form_validation->set_rules('g-recaptcha-response', 'lang:login_gcaptcha', 'required|callback_gcaptcha_check');
|
$this->form_validation->set_rules('g-recaptcha-response', 'lang:login_gcaptcha', 'required|callback_gcaptcha_check');
|
||||||
@@ -41,6 +43,13 @@ class Login extends CI_Controller
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!$this->migration->is_latest())
|
||||||
|
{
|
||||||
|
set_time_limit(3600);
|
||||||
|
// trigger any required upgrade before starting the application
|
||||||
|
$this->migration->latest();
|
||||||
|
}
|
||||||
|
|
||||||
if(!$this->Employee->login($username, $password))
|
if(!$this->Employee->login($username, $password))
|
||||||
{
|
{
|
||||||
$this->form_validation->set_message('login_check', $this->lang->line('login_invalid_username_and_password'));
|
$this->form_validation->set_message('login_check', $this->lang->line('login_invalid_username_and_password'));
|
||||||
@@ -48,10 +57,6 @@ class Login extends CI_Controller
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// trigger any required upgrade before starting the application
|
|
||||||
$this->load->library('migration');
|
|
||||||
$this->migration->latest();
|
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ class Receivings extends Secure_Controller
|
|||||||
parent::__construct('receivings');
|
parent::__construct('receivings');
|
||||||
|
|
||||||
$this->load->library('receiving_lib');
|
$this->load->library('receiving_lib');
|
||||||
|
$this->load->library('token_lib');
|
||||||
$this->load->library('barcode_lib');
|
$this->load->library('barcode_lib');
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -90,9 +91,11 @@ class Receivings extends Secure_Controller
|
|||||||
|
|
||||||
$mode = $this->receiving_lib->get_mode();
|
$mode = $this->receiving_lib->get_mode();
|
||||||
$item_id_or_number_or_item_kit_or_receipt = $this->input->post('item');
|
$item_id_or_number_or_item_kit_or_receipt = $this->input->post('item');
|
||||||
$this->barcode_lib->parse_barcode_fields($quantity, $item_id_or_number_or_item_kit_or_receipt);
|
$this->token_lib->parse_barcode($quantity, $price, $item_id_or_number_or_item_kit_or_receipt);
|
||||||
$quantity = ($mode == 'receive' || $mode == 'requisition') ? $quantity : -$quantity;
|
$quantity = ($mode == 'receive' || $mode == 'requisition') ? $quantity : -$quantity;
|
||||||
$item_location = $this->receiving_lib->get_stock_source();
|
$item_location = $this->receiving_lib->get_stock_source();
|
||||||
|
$discount = $this->config->item('default_receivings_discount');
|
||||||
|
$discount_type = $this->config->item('default_receivings_discount_type');
|
||||||
|
|
||||||
if($mode == 'return' && $this->Receiving->is_valid_receipt($item_id_or_number_or_item_kit_or_receipt))
|
if($mode == 'return' && $this->Receiving->is_valid_receipt($item_id_or_number_or_item_kit_or_receipt))
|
||||||
{
|
{
|
||||||
@@ -100,9 +103,9 @@ class Receivings extends Secure_Controller
|
|||||||
}
|
}
|
||||||
elseif($this->Item_kit->is_valid_item_kit($item_id_or_number_or_item_kit_or_receipt))
|
elseif($this->Item_kit->is_valid_item_kit($item_id_or_number_or_item_kit_or_receipt))
|
||||||
{
|
{
|
||||||
$this->receiving_lib->add_item_kit($item_id_or_number_or_item_kit_or_receipt, $item_location);
|
$this->receiving_lib->add_item_kit($item_id_or_number_or_item_kit_or_receipt, $item_location, $discount, $discount_type);
|
||||||
}
|
}
|
||||||
elseif(!$this->receiving_lib->add_item($item_id_or_number_or_item_kit_or_receipt, $quantity, $item_location))
|
elseif(!$this->receiving_lib->add_item($item_id_or_number_or_item_kit_or_receipt, $quantity, $item_location, $discount, $discount_type))
|
||||||
{
|
{
|
||||||
$data['error'] = $this->lang->line('receivings_unable_to_add_item');
|
$data['error'] = $this->lang->line('receivings_unable_to_add_item');
|
||||||
}
|
}
|
||||||
@@ -121,13 +124,15 @@ class Receivings extends Secure_Controller
|
|||||||
$description = $this->input->post('description');
|
$description = $this->input->post('description');
|
||||||
$serialnumber = $this->input->post('serialnumber');
|
$serialnumber = $this->input->post('serialnumber');
|
||||||
$price = parse_decimals($this->input->post('price'));
|
$price = parse_decimals($this->input->post('price'));
|
||||||
$quantity = parse_decimals($this->input->post('quantity'));
|
$quantity = parse_quantity($this->input->post('quantity'));
|
||||||
$discount = parse_decimals($this->input->post('discount'));
|
$discount_type = $this->input->post('discount_type');
|
||||||
$item_location = $this->input->post('location');
|
$discount = $discount_type ? parse_quantity($this->input->post('discount')) : parse_decimals($this->input->post('discount'));
|
||||||
|
|
||||||
|
$receiving_quantity = $this->input->post('receiving_quantity');
|
||||||
|
|
||||||
if($this->form_validation->run() != FALSE)
|
if($this->form_validation->run() != FALSE)
|
||||||
{
|
{
|
||||||
$this->receiving_lib->edit_item($item_id, $description, $serialnumber, $quantity, $discount, $price);
|
$this->receiving_lib->edit_item($item_id, $description, $serialnumber, $quantity, $discount, $discount_type, $price, $receiving_quantity);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -198,7 +203,7 @@ class Receivings extends Secure_Controller
|
|||||||
|
|
||||||
$data['cart'] = $this->receiving_lib->get_cart();
|
$data['cart'] = $this->receiving_lib->get_cart();
|
||||||
$data['total'] = $this->receiving_lib->get_total();
|
$data['total'] = $this->receiving_lib->get_total();
|
||||||
$data['transaction_time'] = date($this->config->item('dateformat') . ' ' . $this->config->item('timeformat'));
|
$data['transaction_time'] = to_datetime(time());
|
||||||
$data['mode'] = $this->receiving_lib->get_mode();
|
$data['mode'] = $this->receiving_lib->get_mode();
|
||||||
$data['comment'] = $this->receiving_lib->get_comment();
|
$data['comment'] = $this->receiving_lib->get_comment();
|
||||||
$data['reference'] = $this->receiving_lib->get_reference();
|
$data['reference'] = $this->receiving_lib->get_reference();
|
||||||
@@ -263,8 +268,8 @@ class Receivings extends Secure_Controller
|
|||||||
foreach($this->receiving_lib->get_cart() as $item)
|
foreach($this->receiving_lib->get_cart() as $item)
|
||||||
{
|
{
|
||||||
$this->receiving_lib->delete_item($item['line']);
|
$this->receiving_lib->delete_item($item['line']);
|
||||||
$this->receiving_lib->add_item($item['item_id'], $item['quantity'], $this->receiving_lib->get_stock_destination());
|
$this->receiving_lib->add_item($item['item_id'], $item['quantity'], $this->receiving_lib->get_stock_destination(), $item['discount_type']);
|
||||||
$this->receiving_lib->add_item($item['item_id'], -$item['quantity'], $this->receiving_lib->get_stock_source());
|
$this->receiving_lib->add_item($item['item_id'], -$item['quantity'], $this->receiving_lib->get_stock_source(), $item['discount_type']);
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->complete();
|
$this->complete();
|
||||||
@@ -284,7 +289,7 @@ class Receivings extends Secure_Controller
|
|||||||
$data['cart'] = $this->receiving_lib->get_cart();
|
$data['cart'] = $this->receiving_lib->get_cart();
|
||||||
$data['total'] = $this->receiving_lib->get_total();
|
$data['total'] = $this->receiving_lib->get_total();
|
||||||
$data['mode'] = $this->receiving_lib->get_mode();
|
$data['mode'] = $this->receiving_lib->get_mode();
|
||||||
$data['transaction_time'] = date($this->config->item('dateformat') . ' ' . $this->config->item('timeformat'), strtotime($receiving_info['receiving_time']));
|
$data['transaction_time'] = to_datetime(strtotime($receiving_info['receiving_time']));
|
||||||
$data['show_stock_locations'] = $this->Stock_location->show_locations('receivings');
|
$data['show_stock_locations'] = $this->Stock_location->show_locations('receivings');
|
||||||
$data['payment_type'] = $receiving_info['payment_type'];
|
$data['payment_type'] = $receiving_info['payment_type'];
|
||||||
$data['reference'] = $this->receiving_lib->get_reference();
|
$data['reference'] = $this->receiving_lib->get_reference();
|
||||||
@@ -373,15 +378,17 @@ class Receivings extends Secure_Controller
|
|||||||
$newdate = $this->input->post('date');
|
$newdate = $this->input->post('date');
|
||||||
|
|
||||||
$date_formatter = date_create_from_format($this->config->item('dateformat') . ' ' . $this->config->item('timeformat'), $newdate);
|
$date_formatter = date_create_from_format($this->config->item('dateformat') . ' ' . $this->config->item('timeformat'), $newdate);
|
||||||
|
$receiving_time = $date_formatter->format('Y-m-d H:i:s');
|
||||||
|
|
||||||
$receiving_data = array(
|
$receiving_data = array(
|
||||||
'receiving_time' => $date_formatter->format('Y-m-d H:i:s'),
|
'receiving_time' => $receiving_time,
|
||||||
'supplier_id' => $this->input->post('supplier_id') ? $this->input->post('supplier_id') : NULL,
|
'supplier_id' => $this->input->post('supplier_id') ? $this->input->post('supplier_id') : NULL,
|
||||||
'employee_id' => $this->input->post('employee_id'),
|
'employee_id' => $this->input->post('employee_id'),
|
||||||
'comment' => $this->input->post('comment'),
|
'comment' => $this->input->post('comment'),
|
||||||
'reference' => $this->input->post('reference') != '' ? $this->input->post('reference') : NULL
|
'reference' => $this->input->post('reference') != '' ? $this->input->post('reference') : NULL
|
||||||
);
|
);
|
||||||
|
|
||||||
|
$this->Inventory->update('RECV '.$receiving_id, ['trans_date' => $receiving_time]);
|
||||||
if($this->Receiving->update($receiving_data, $receiving_id))
|
if($this->Receiving->update($receiving_data, $receiving_id))
|
||||||
{
|
{
|
||||||
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('receivings_successfully_updated'), 'id' => $receiving_id));
|
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('receivings_successfully_updated'), 'id' => $receiving_id));
|
||||||
|
|||||||
@@ -50,7 +50,8 @@ class Reports extends Secure_Controller
|
|||||||
foreach($report_data as $row)
|
foreach($report_data as $row)
|
||||||
{
|
{
|
||||||
$tabular_data[] = $this->xss_clean(array(
|
$tabular_data[] = $this->xss_clean(array(
|
||||||
'sale_date' => date($this->config->item('dateformat'), strtotime($row['sale_date'])),
|
'sale_date' => to_date(strtotime($row['sale_date'])),
|
||||||
|
'sales' => to_quantity_decimals($row['sales']),
|
||||||
'quantity' => to_quantity_decimals($row['quantity_purchased']),
|
'quantity' => to_quantity_decimals($row['quantity_purchased']),
|
||||||
'subtotal' => to_currency($row['subtotal']),
|
'subtotal' => to_currency($row['subtotal']),
|
||||||
'tax' => to_currency_tax($row['tax']),
|
'tax' => to_currency_tax($row['tax']),
|
||||||
@@ -156,6 +157,7 @@ class Reports extends Secure_Controller
|
|||||||
{
|
{
|
||||||
$tabular_data[] = $this->xss_clean(array(
|
$tabular_data[] = $this->xss_clean(array(
|
||||||
'customer_name' => $row['customer'],
|
'customer_name' => $row['customer'],
|
||||||
|
'sales' => to_quantity_decimals($row['sales']),
|
||||||
'quantity' => to_quantity_decimals($row['quantity_purchased']),
|
'quantity' => to_quantity_decimals($row['quantity_purchased']),
|
||||||
'subtotal' => to_currency($row['subtotal']),
|
'subtotal' => to_currency($row['subtotal']),
|
||||||
'tax' => to_currency_tax($row['tax']),
|
'tax' => to_currency_tax($row['tax']),
|
||||||
@@ -228,6 +230,7 @@ class Reports extends Secure_Controller
|
|||||||
{
|
{
|
||||||
$tabular_data[] = $this->xss_clean(array(
|
$tabular_data[] = $this->xss_clean(array(
|
||||||
'item_name' => $row['name'],
|
'item_name' => $row['name'],
|
||||||
|
'unit_price' => $row['unit_price'],
|
||||||
'quantity' => to_quantity_decimals($row['quantity_purchased']),
|
'quantity' => to_quantity_decimals($row['quantity_purchased']),
|
||||||
'subtotal' => to_currency($row['subtotal']),
|
'subtotal' => to_currency($row['subtotal']),
|
||||||
'tax' => to_currency_tax($row['tax']),
|
'tax' => to_currency_tax($row['tax']),
|
||||||
@@ -264,6 +267,7 @@ class Reports extends Secure_Controller
|
|||||||
{
|
{
|
||||||
$tabular_data[] = $this->xss_clean(array(
|
$tabular_data[] = $this->xss_clean(array(
|
||||||
'employee_name' => $row['employee'],
|
'employee_name' => $row['employee'],
|
||||||
|
'sales' => to_quantity_decimals($row['sales']),
|
||||||
'quantity' => to_quantity_decimals($row['quantity_purchased']),
|
'quantity' => to_quantity_decimals($row['quantity_purchased']),
|
||||||
'subtotal' => to_currency($row['subtotal']),
|
'subtotal' => to_currency($row['subtotal']),
|
||||||
'tax' => to_currency_tax($row['tax']),
|
'tax' => to_currency_tax($row['tax']),
|
||||||
@@ -318,11 +322,60 @@ class Reports extends Secure_Controller
|
|||||||
$this->load->view('reports/tabular', $data);
|
$this->load->view('reports/tabular', $data);
|
||||||
}
|
}
|
||||||
|
|
||||||
//Summary Discounts report
|
//Summary Sales Taxes report
|
||||||
public function summary_discounts($start_date, $end_date, $sale_type, $location_id = 'all')
|
public function summary_sales_taxes($start_date, $end_date, $sale_type, $location_id = 'all')
|
||||||
{
|
{
|
||||||
$inputs = array('start_date' => $start_date, 'end_date' => $end_date, 'sale_type' => $sale_type, 'location_id' => $location_id);
|
$inputs = array('start_date' => $start_date, 'end_date' => $end_date, 'sale_type' => $sale_type, 'location_id' => $location_id);
|
||||||
|
|
||||||
|
$this->load->model('reports/Summary_sales_taxes');
|
||||||
|
$model = $this->Summary_sales_taxes;
|
||||||
|
|
||||||
|
$report_data = $model->getData($inputs);
|
||||||
|
$summary = $this->xss_clean($model->getSummaryData($inputs));
|
||||||
|
|
||||||
|
$tabular_data = array();
|
||||||
|
foreach($report_data as $row)
|
||||||
|
{
|
||||||
|
$tabular_data[] = $this->xss_clean(array(
|
||||||
|
'reporting_authority' => $row['reporting_authority'],
|
||||||
|
'jurisdiction_name' => $row['jurisdiction_name'],
|
||||||
|
'tax_category' => $row['tax_category'],
|
||||||
|
'tax_rate' => $row['tax_rate'],
|
||||||
|
'tax' => to_currency_tax($row['tax'])
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
$data = array(
|
||||||
|
'title' => $this->lang->line('reports_sales_taxes_summary_report'),
|
||||||
|
'subtitle' => $this->_get_subtitle_report(array('start_date' => $start_date, 'end_date' => $end_date)),
|
||||||
|
'headers' => $this->xss_clean($model->getDataColumns()),
|
||||||
|
'data' => $tabular_data,
|
||||||
|
'summary_data' => $summary
|
||||||
|
);
|
||||||
|
|
||||||
|
$this->load->view('reports/tabular', $data);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function summary_discounts_input()
|
||||||
|
{
|
||||||
|
$data = array();
|
||||||
|
$stock_locations = $data = $this->xss_clean($this->Stock_location->get_allowed_locations('sales'));
|
||||||
|
$stock_locations['all'] = $this->lang->line('reports_all');
|
||||||
|
$data['stock_locations'] = array_reverse($stock_locations, TRUE);
|
||||||
|
$data['mode'] = 'sale';
|
||||||
|
$data['discount_type_options'] = array(
|
||||||
|
'0' => $this->lang->line('reports_discount_percent'),
|
||||||
|
'1'=> $this->lang->line('reports_discount_fixed'));
|
||||||
|
$data['sale_type_options'] = $this->get_sale_type_options();
|
||||||
|
|
||||||
|
$this->load->view('reports/date_input', $data);
|
||||||
|
}
|
||||||
|
|
||||||
|
//Summary Discounts report
|
||||||
|
public function summary_discounts($start_date, $end_date, $sale_type, $location_id = 'all', $discount_type=0)
|
||||||
|
{
|
||||||
|
$inputs = array('start_date' => $start_date, 'end_date' => $end_date, 'sale_type' => $sale_type, 'location_id' => $location_id,'discount_type'=>$discount_type);
|
||||||
|
|
||||||
$this->load->model('reports/Summary_discounts');
|
$this->load->model('reports/Summary_discounts');
|
||||||
$model = $this->Summary_discounts;
|
$model = $this->Summary_discounts;
|
||||||
|
|
||||||
@@ -333,7 +386,8 @@ class Reports extends Secure_Controller
|
|||||||
foreach($report_data as $row)
|
foreach($report_data as $row)
|
||||||
{
|
{
|
||||||
$tabular_data[] = $this->xss_clean(array(
|
$tabular_data[] = $this->xss_clean(array(
|
||||||
'discount' => $row['discount_percent'],
|
'total' => to_currency($row['total']),
|
||||||
|
'discount' => $row['discount'],
|
||||||
'count' => $row['count']
|
'count' => $row['count']
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
@@ -350,9 +404,9 @@ class Reports extends Secure_Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
//Summary Payments report
|
//Summary Payments report
|
||||||
public function summary_payments($start_date, $end_date, $sale_type, $location_id = 'all')
|
public function summary_payments($start_date, $end_date)
|
||||||
{
|
{
|
||||||
$inputs = array('start_date' => $start_date, 'end_date' => $end_date, 'sale_type' => $sale_type, 'location_id' => $location_id);
|
$inputs = array('start_date' => $start_date, 'end_date' => $end_date, 'sale_type' => 'complete', 'location_id' => 'all');
|
||||||
|
|
||||||
$this->load->model('reports/Summary_payments');
|
$this->load->model('reports/Summary_payments');
|
||||||
$model = $this->Summary_payments;
|
$model = $this->Summary_payments;
|
||||||
@@ -363,11 +417,35 @@ class Reports extends Secure_Controller
|
|||||||
$tabular_data = array();
|
$tabular_data = array();
|
||||||
foreach($report_data as $row)
|
foreach($report_data as $row)
|
||||||
{
|
{
|
||||||
$tabular_data[] = $this->xss_clean(array(
|
if($row['trans_group'] == '<HR>')
|
||||||
'payment_type' => $row['payment_type'],
|
{
|
||||||
'report_count' => $row['count'],
|
$tabular_data[] = array(
|
||||||
'amount_due' => to_currency($row['payment_amount'])
|
'trans_group' => '--',
|
||||||
));
|
'trans_type' => '--',
|
||||||
|
'trans_sales' => '--',
|
||||||
|
'trans_amount' => '--',
|
||||||
|
'trans_payments' => '--',
|
||||||
|
'trans_refunded' => '--',
|
||||||
|
'trans_due' => '--'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if(empty($row['trans_type']))
|
||||||
|
{
|
||||||
|
$row['trans_type'] = $this->lang->line('reports_trans_nopay_sales');
|
||||||
|
}
|
||||||
|
|
||||||
|
$tabular_data[] = $this->xss_clean(array(
|
||||||
|
'trans_group' => $row['trans_group'],
|
||||||
|
'trans_type' => $row['trans_type'],
|
||||||
|
'trans_sales' => $row['trans_sales'],
|
||||||
|
'trans_amount' => to_currency($row['trans_amount']),
|
||||||
|
'trans_payments' => to_currency($row['trans_payments']),
|
||||||
|
'trans_refunded' => to_currency($row['trans_refunded']),
|
||||||
|
'trans_due' => to_currency($row['trans_due'])
|
||||||
|
));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$data = array(
|
$data = array(
|
||||||
@@ -477,7 +555,7 @@ class Reports extends Secure_Controller
|
|||||||
{
|
{
|
||||||
$row = $this->xss_clean($row);
|
$row = $this->xss_clean($row);
|
||||||
|
|
||||||
$date = date($this->config->item('dateformat'), strtotime($row['sale_date']));
|
$date = to_date(strtotime($row['sale_date']));
|
||||||
$labels[] = $date;
|
$labels[] = $date;
|
||||||
$series[] = array('meta' => $date, 'value' => $row['total']);
|
$series[] = array('meta' => $date, 'value' => $row['total']);
|
||||||
}
|
}
|
||||||
@@ -669,6 +747,40 @@ class Reports extends Secure_Controller
|
|||||||
$this->load->view('reports/graphical', $data);
|
$this->load->view('reports/graphical', $data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Graphical summary sales taxes report
|
||||||
|
public function graphical_summary_sales_taxes($start_date, $end_date, $sale_type, $location_id = 'all')
|
||||||
|
{
|
||||||
|
$inputs = array('start_date' => $start_date, 'end_date' => $end_date, 'sale_type' => $sale_type, 'location_id' => $location_id);
|
||||||
|
|
||||||
|
$this->load->model('reports/Summary_sales_taxes');
|
||||||
|
$model = $this->Summary_sales_taxes;
|
||||||
|
|
||||||
|
$report_data = $model->getData($inputs);
|
||||||
|
$summary = $this->xss_clean($model->getSummaryData($inputs));
|
||||||
|
|
||||||
|
$labels = array();
|
||||||
|
$series = array();
|
||||||
|
foreach($report_data as $row)
|
||||||
|
{
|
||||||
|
$row = $this->xss_clean($row);
|
||||||
|
|
||||||
|
$labels[] = $row['jurisdiction_name'];
|
||||||
|
$series[] = array('meta' => $row['tax_rate'] . '%', 'value' => $row['tax']);
|
||||||
|
}
|
||||||
|
|
||||||
|
$data = array(
|
||||||
|
'title' => $this->lang->line('reports_sales_taxes_summary_report'),
|
||||||
|
'subtitle' => $this->_get_subtitle_report(array('start_date' => $start_date, 'end_date' => $end_date)),
|
||||||
|
'chart_type' => 'reports/graphs/pie',
|
||||||
|
'labels_1' => $labels,
|
||||||
|
'series_data_1' => $series,
|
||||||
|
'summary_data_1' => $summary,
|
||||||
|
'show_currency' => TRUE
|
||||||
|
);
|
||||||
|
|
||||||
|
$this->load->view('reports/graphical', $data);
|
||||||
|
}
|
||||||
|
|
||||||
//Graphical summary customers report
|
//Graphical summary customers report
|
||||||
public function graphical_summary_customers($start_date, $end_date, $sale_type, $location_id = 'all')
|
public function graphical_summary_customers($start_date, $end_date, $sale_type, $location_id = 'all')
|
||||||
{
|
{
|
||||||
@@ -706,9 +818,9 @@ class Reports extends Secure_Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
//Graphical summary discounts report
|
//Graphical summary discounts report
|
||||||
public function graphical_summary_discounts($start_date, $end_date, $sale_type, $location_id = 'all')
|
public function graphical_summary_discounts($start_date, $end_date, $sale_type, $location_id = 'all', $discount_type=0)
|
||||||
{
|
{
|
||||||
$inputs = array('start_date' => $start_date, 'end_date' => $end_date, 'sale_type' => $sale_type, 'location_id' => $location_id);
|
$inputs = array('start_date' => $start_date, 'end_date' => $end_date, 'sale_type' => $sale_type, 'location_id' => $location_id,'discount_type'=>$discount_type);
|
||||||
|
|
||||||
$this->load->model('reports/Summary_discounts');
|
$this->load->model('reports/Summary_discounts');
|
||||||
$model = $this->Summary_discounts;
|
$model = $this->Summary_discounts;
|
||||||
@@ -722,7 +834,7 @@ class Reports extends Secure_Controller
|
|||||||
{
|
{
|
||||||
$row = $this->xss_clean($row);
|
$row = $this->xss_clean($row);
|
||||||
|
|
||||||
$labels[] = $row['discount_percent'];
|
$labels[] = $row['discount'];
|
||||||
$series[] = $row['count'];
|
$series[] = $row['count'];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -734,7 +846,7 @@ class Reports extends Secure_Controller
|
|||||||
'series_data_1' => $series,
|
'series_data_1' => $series,
|
||||||
'summary_data_1' => $summary,
|
'summary_data_1' => $summary,
|
||||||
'yaxis_title' => $this->lang->line('reports_count'),
|
'yaxis_title' => $this->lang->line('reports_count'),
|
||||||
'xaxis_title' => $this->lang->line('reports_discount_percent'),
|
'xaxis_title' => $this->lang->line('reports_discount'),
|
||||||
'show_currency' => FALSE
|
'show_currency' => FALSE
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -758,8 +870,11 @@ class Reports extends Secure_Controller
|
|||||||
{
|
{
|
||||||
$row = $this->xss_clean($row);
|
$row = $this->xss_clean($row);
|
||||||
|
|
||||||
$labels[] = $row['payment_type'];
|
if($row['trans_group'] == $this->lang->line('reports_trans_payments') && !empty($row['trans_amount']))
|
||||||
$series[] = array('meta' => $row['payment_type'] . ' ' . round($row['payment_amount'] / $summary['total'] * 100, 2) . '%', 'value' => $row['payment_amount']);
|
{
|
||||||
|
$labels[] = $row['trans_type'];
|
||||||
|
$series[] = array('meta' => $row['trans_type'] . ' ' . round($row['trans_amount'] / $summary['total'] * 100, 2) . '%', 'value' => $row['trans_amount']);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$data = array(
|
$data = array(
|
||||||
@@ -842,7 +957,7 @@ class Reports extends Secure_Controller
|
|||||||
$summary_data[] = $this->xss_clean(array(
|
$summary_data[] = $this->xss_clean(array(
|
||||||
'id' => $row['sale_id'],
|
'id' => $row['sale_id'],
|
||||||
'type_code' => $row['type_code'],
|
'type_code' => $row['type_code'],
|
||||||
'sale_date' => date($this->config->item('dateformat'), strtotime($row['sale_date'])),
|
'sale_date' => to_date(strtotime($row['sale_date'])),
|
||||||
'quantity' => to_quantity_decimals($row['items_purchased']),
|
'quantity' => to_quantity_decimals($row['items_purchased']),
|
||||||
'employee_name' => $row['employee_name'],
|
'employee_name' => $row['employee_name'],
|
||||||
'subtotal' => to_currency($row['subtotal']),
|
'subtotal' => to_currency($row['subtotal']),
|
||||||
@@ -861,7 +976,7 @@ class Reports extends Secure_Controller
|
|||||||
$details_data[$row['sale_id']][] = $this->xss_clean(array(
|
$details_data[$row['sale_id']][] = $this->xss_clean(array(
|
||||||
$drow['name'],
|
$drow['name'],
|
||||||
$drow['category'],
|
$drow['category'],
|
||||||
$drow['serialnumber'],
|
$drow['item_number'],
|
||||||
$drow['description'],
|
$drow['description'],
|
||||||
to_quantity_decimals($drow['quantity_purchased']),
|
to_quantity_decimals($drow['quantity_purchased']),
|
||||||
to_currency($drow['subtotal']),
|
to_currency($drow['subtotal']),
|
||||||
@@ -869,7 +984,8 @@ class Reports extends Secure_Controller
|
|||||||
to_currency($drow['total']),
|
to_currency($drow['total']),
|
||||||
to_currency($drow['cost']),
|
to_currency($drow['cost']),
|
||||||
to_currency($drow['profit']),
|
to_currency($drow['profit']),
|
||||||
$drow['discount_percent'].'%'));
|
($drow['discount_type'] == PERCENT)? $drow['discount'].'%':to_currency($drow['discount'])
|
||||||
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
if(isset($report_data['rewards'][$key]))
|
if(isset($report_data['rewards'][$key]))
|
||||||
@@ -953,7 +1069,7 @@ class Reports extends Secure_Controller
|
|||||||
$summary_data[] = $this->xss_clean(array(
|
$summary_data[] = $this->xss_clean(array(
|
||||||
'id' => $row['sale_id'],
|
'id' => $row['sale_id'],
|
||||||
'type_code' => $row['type_code'],
|
'type_code' => $row['type_code'],
|
||||||
'sale_date' => date($this->config->item('dateformat'), strtotime($row['sale_date'])),
|
'sale_date' => to_date(strtotime($row['sale_date'])),
|
||||||
'quantity' => to_quantity_decimals($row['items_purchased']),
|
'quantity' => to_quantity_decimals($row['items_purchased']),
|
||||||
'customer_name' => $row['customer_name'],
|
'customer_name' => $row['customer_name'],
|
||||||
'subtotal' => to_currency($row['subtotal']),
|
'subtotal' => to_currency($row['subtotal']),
|
||||||
@@ -972,7 +1088,7 @@ class Reports extends Secure_Controller
|
|||||||
$details_data[$row['sale_id']][] = $this->xss_clean(array(
|
$details_data[$row['sale_id']][] = $this->xss_clean(array(
|
||||||
$drow['name'],
|
$drow['name'],
|
||||||
$drow['category'],
|
$drow['category'],
|
||||||
$drow['serialnumber'],
|
$drow['item_number'],
|
||||||
$drow['description'],
|
$drow['description'],
|
||||||
to_quantity_decimals($drow['quantity_purchased']),
|
to_quantity_decimals($drow['quantity_purchased']),
|
||||||
to_currency($drow['subtotal']),
|
to_currency($drow['subtotal']),
|
||||||
@@ -980,7 +1096,8 @@ class Reports extends Secure_Controller
|
|||||||
to_currency($drow['total']),
|
to_currency($drow['total']),
|
||||||
to_currency($drow['cost']),
|
to_currency($drow['cost']),
|
||||||
to_currency($drow['profit']),
|
to_currency($drow['profit']),
|
||||||
$drow['discount_percent'].'%'));
|
($drow['discount_type'] == PERCENT)? $drow['discount'].'%':to_currency($drow['discount'])
|
||||||
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
if(isset($report_data['rewards'][$key]))
|
if(isset($report_data['rewards'][$key]))
|
||||||
@@ -1018,6 +1135,9 @@ class Reports extends Secure_Controller
|
|||||||
$discounts[$i] = $i . '%';
|
$discounts[$i] = $i . '%';
|
||||||
}
|
}
|
||||||
$data['specific_input_data'] = $discounts;
|
$data['specific_input_data'] = $discounts;
|
||||||
|
$data['discount_type_options'] = array(
|
||||||
|
'0' => $this->lang->line('reports_discount_percent'),
|
||||||
|
'1'=> $this->lang->line('reports_discount_fixed'));
|
||||||
$data['sale_type_options'] = $this->get_sale_type_options();
|
$data['sale_type_options'] = $this->get_sale_type_options();
|
||||||
|
|
||||||
$data = $this->xss_clean($data);
|
$data = $this->xss_clean($data);
|
||||||
@@ -1025,9 +1145,9 @@ class Reports extends Secure_Controller
|
|||||||
$this->load->view('reports/specific_input', $data);
|
$this->load->view('reports/specific_input', $data);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function specific_discount($start_date, $end_date, $discount, $sale_type)
|
public function specific_discount($start_date, $end_date, $discount, $sale_type, $discount_type)
|
||||||
{
|
{
|
||||||
$inputs = array('start_date' => $start_date, 'end_date' => $end_date, 'discount' => $discount, 'sale_type' => $sale_type);
|
$inputs = array('start_date' => $start_date, 'end_date' => $end_date, 'discount' => $discount, 'sale_type' => $sale_type, 'discount_type' => $discount_type);
|
||||||
|
|
||||||
$this->load->model('reports/Specific_discount');
|
$this->load->model('reports/Specific_discount');
|
||||||
$model = $this->Specific_discount;
|
$model = $this->Specific_discount;
|
||||||
@@ -1057,7 +1177,7 @@ class Reports extends Secure_Controller
|
|||||||
$summary_data[] = $this->xss_clean(array(
|
$summary_data[] = $this->xss_clean(array(
|
||||||
'id' => $row['sale_id'],
|
'id' => $row['sale_id'],
|
||||||
'type_code' => $row['type_code'],
|
'type_code' => $row['type_code'],
|
||||||
'sale_date' => date($this->config->item('dateformat'), strtotime($row['sale_date'])),
|
'sale_date' => to_date(strtotime($row['sale_date'])),
|
||||||
'quantity' => to_quantity_decimals($row['items_purchased']),
|
'quantity' => to_quantity_decimals($row['items_purchased']),
|
||||||
'employee_name' => $row['employee_name'],
|
'employee_name' => $row['employee_name'],
|
||||||
'customer_name' => $row['customer_name'],
|
'customer_name' => $row['customer_name'],
|
||||||
@@ -1077,7 +1197,7 @@ class Reports extends Secure_Controller
|
|||||||
$details_data[$row['sale_id']][] = $this->xss_clean(array(
|
$details_data[$row['sale_id']][] = $this->xss_clean(array(
|
||||||
$drow['name'],
|
$drow['name'],
|
||||||
$drow['category'],
|
$drow['category'],
|
||||||
$drow['serialnumber'],
|
$drow['item_number'],
|
||||||
$drow['description'],
|
$drow['description'],
|
||||||
to_quantity_decimals($drow['quantity_purchased']),
|
to_quantity_decimals($drow['quantity_purchased']),
|
||||||
to_currency($drow['subtotal']),
|
to_currency($drow['subtotal']),
|
||||||
@@ -1085,7 +1205,8 @@ class Reports extends Secure_Controller
|
|||||||
to_currency($drow['total']),
|
to_currency($drow['total']),
|
||||||
to_currency($drow['cost']),
|
to_currency($drow['cost']),
|
||||||
to_currency($drow['profit']),
|
to_currency($drow['profit']),
|
||||||
$drow['discount_percent'].'%'));
|
($drow['discount_type'] == PERCENT)? $drow['discount'].'%':to_currency($drow['discount'])
|
||||||
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
if(isset($report_data['rewards'][$key]))
|
if(isset($report_data['rewards'][$key]))
|
||||||
@@ -1134,7 +1255,7 @@ class Reports extends Secure_Controller
|
|||||||
|
|
||||||
$summary_data = $this->xss_clean(array(
|
$summary_data = $this->xss_clean(array(
|
||||||
'sale_id' => $report_data['sale_id'],
|
'sale_id' => $report_data['sale_id'],
|
||||||
'sale_date' => date($this->config->item('dateformat'), strtotime($report_data['sale_date'])),
|
'sale_date' => to_date(strtotime($report_data['sale_date'])),
|
||||||
'quantity' => to_quantity_decimals($report_data['items_purchased']),
|
'quantity' => to_quantity_decimals($report_data['items_purchased']),
|
||||||
'employee_name' => $report_data['employee_name'],
|
'employee_name' => $report_data['employee_name'],
|
||||||
'customer_name' => $report_data['customer_name'],
|
'customer_name' => $report_data['customer_name'],
|
||||||
@@ -1152,6 +1273,65 @@ class Reports extends Secure_Controller
|
|||||||
echo json_encode(array($sale_id => $summary_data));
|
echo json_encode(array($sale_id => $summary_data));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function specific_supplier_input()
|
||||||
|
{
|
||||||
|
$data = array();
|
||||||
|
$data['specific_input_name'] = $this->lang->line('reports_supplier');
|
||||||
|
|
||||||
|
$supplier = array();
|
||||||
|
foreach($this->Supplier->get_all()->result() as $supplier)
|
||||||
|
{
|
||||||
|
$suppliers[$supplier->person_id] = $this->xss_clean($supplier->company_name . ' (' . $supplier->first_name . ' ' . $supplier->last_name . ')');
|
||||||
|
}
|
||||||
|
$data['specific_input_data'] = $suppliers;
|
||||||
|
$data['sale_type_options'] = $this->get_sale_type_options();
|
||||||
|
|
||||||
|
$this->load->view('reports/specific_input', $data);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function specific_supplier($start_date, $end_date, $supplier_id, $sale_type)
|
||||||
|
{
|
||||||
|
$inputs = array('start_date' => $start_date, 'end_date' => $end_date, 'supplier_id' => $supplier_id, 'sale_type' => $sale_type);
|
||||||
|
|
||||||
|
$this->load->model('reports/Specific_supplier');
|
||||||
|
$model = $this->Specific_supplier;
|
||||||
|
|
||||||
|
$model->create($inputs);
|
||||||
|
|
||||||
|
$report_data = $model->getData($inputs);
|
||||||
|
|
||||||
|
$tabular_data = array();
|
||||||
|
foreach($report_data as $row)
|
||||||
|
{
|
||||||
|
$tabular_data[] = $this->xss_clean(array(
|
||||||
|
'id' => $row['sale_id'],
|
||||||
|
'type_code' => $row['type_code'],
|
||||||
|
'sale_date' => to_date(strtotime($row['sale_date'])),
|
||||||
|
'name' => $row['name'],
|
||||||
|
'category' => $row['category'],
|
||||||
|
'item_number' => $row['item_number'],
|
||||||
|
'quantity' => to_quantity_decimals($row['items_purchased']),
|
||||||
|
'subtotal' => to_currency($row['subtotal']),
|
||||||
|
'tax' => to_currency_tax($row['tax']),
|
||||||
|
'total' => to_currency($row['total']),
|
||||||
|
'cost' => to_currency($row['cost']),
|
||||||
|
'profit' => to_currency($row['profit']),
|
||||||
|
'discount' => ($row['discount_type'] == PERCENT)? $row['discount'].'%':to_currency($row['discount'])
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
$supplier_info = $this->Supplier->get_info($supplier_id);
|
||||||
|
$data = array(
|
||||||
|
'title' => $this->xss_clean($supplier_info->company_name . ' (' . $supplier_info->first_name . ' ' . $supplier_info->last_name . ') ' . $this->lang->line('reports_report')),
|
||||||
|
'subtitle' => $this->_get_subtitle_report(array('start_date' => $start_date, 'end_date' => $end_date)),
|
||||||
|
'headers' => $this->xss_clean($model->getDataColumns()),
|
||||||
|
'data' => $tabular_data,
|
||||||
|
'summary_data' => $this->xss_clean($model->getSummaryData($inputs))
|
||||||
|
);
|
||||||
|
|
||||||
|
$this->load->view('reports/tabular', $data);
|
||||||
|
}
|
||||||
|
|
||||||
public function get_sale_type_options()
|
public function get_sale_type_options()
|
||||||
{
|
{
|
||||||
$sale_type_options = array();
|
$sale_type_options = array();
|
||||||
@@ -1172,14 +1352,19 @@ class Reports extends Secure_Controller
|
|||||||
|
|
||||||
public function detailed_sales($start_date, $end_date, $sale_type, $location_id = 'all')
|
public function detailed_sales($start_date, $end_date, $sale_type, $location_id = 'all')
|
||||||
{
|
{
|
||||||
$inputs = array('start_date' => $start_date, 'end_date' => $end_date, 'sale_type' => $sale_type, 'location_id' => $location_id);
|
$definition_names = $this->Attribute->get_definitions_by_flags(Attribute::SHOW_IN_SALES);
|
||||||
|
|
||||||
|
$inputs = array('start_date' => $start_date, 'end_date' => $end_date, 'sale_type' => $sale_type, 'location_id' => $location_id, 'definition_ids' => array_keys($definition_names));
|
||||||
|
|
||||||
$this->load->model('reports/Detailed_sales');
|
$this->load->model('reports/Detailed_sales');
|
||||||
$model = $this->Detailed_sales;
|
$model = $this->Detailed_sales;
|
||||||
|
|
||||||
$model->create($inputs);
|
$model->create($inputs);
|
||||||
|
|
||||||
$headers = $this->xss_clean($model->getDataColumns());
|
$columns = $model->getDataColumns();
|
||||||
|
$columns['details'] = array_merge($columns['details'], $definition_names);
|
||||||
|
|
||||||
|
$headers = $this->xss_clean($columns);
|
||||||
|
|
||||||
$report_data = $model->getData($inputs);
|
$report_data = $model->getData($inputs);
|
||||||
|
|
||||||
@@ -1205,7 +1390,7 @@ class Reports extends Secure_Controller
|
|||||||
$summary_data[] = $this->xss_clean(array(
|
$summary_data[] = $this->xss_clean(array(
|
||||||
'id' => $row['sale_id'],
|
'id' => $row['sale_id'],
|
||||||
'type_code' => $row['type_code'],
|
'type_code' => $row['type_code'],
|
||||||
'sale_date' => date($this->config->item('dateformat'), strtotime($row['sale_date'])),
|
'sale_date' => to_date(strtotime($row['sale_date'])),
|
||||||
'quantity' => to_quantity_decimals($row['items_purchased']),
|
'quantity' => to_quantity_decimals($row['items_purchased']),
|
||||||
'employee_name' => $row['employee_name'],
|
'employee_name' => $row['employee_name'],
|
||||||
'customer_name' => $row['customer_name'],
|
'customer_name' => $row['customer_name'],
|
||||||
@@ -1227,10 +1412,13 @@ class Reports extends Secure_Controller
|
|||||||
{
|
{
|
||||||
$quantity_purchased .= ' [' . $this->Stock_location->get_location_name($drow['item_location']) . ']';
|
$quantity_purchased .= ' [' . $this->Stock_location->get_location_name($drow['item_location']) . ']';
|
||||||
}
|
}
|
||||||
$details_data[$row['sale_id']][] = $this->xss_clean(array(
|
|
||||||
|
$attribute_values = expand_attribute_values($definition_names, $drow);
|
||||||
|
|
||||||
|
$details_data[$row['sale_id']][] = $this->xss_clean(array_merge(array(
|
||||||
$drow['name'],
|
$drow['name'],
|
||||||
$drow['category'],
|
$drow['category'],
|
||||||
$drow['serialnumber'],
|
$drow['item_number'],
|
||||||
$drow['description'],
|
$drow['description'],
|
||||||
$quantity_purchased,
|
$quantity_purchased,
|
||||||
to_currency($drow['subtotal']),
|
to_currency($drow['subtotal']),
|
||||||
@@ -1238,7 +1426,7 @@ class Reports extends Secure_Controller
|
|||||||
to_currency($drow['total']),
|
to_currency($drow['total']),
|
||||||
to_currency($drow['cost']),
|
to_currency($drow['cost']),
|
||||||
to_currency($drow['profit']),
|
to_currency($drow['profit']),
|
||||||
$drow['discount_percent'].'%'));
|
($drow['discount_type'] == PERCENT)? $drow['discount'].'%':to_currency($drow['discount'])), $attribute_values));
|
||||||
}
|
}
|
||||||
|
|
||||||
if(isset($report_data['rewards'][$key]))
|
if(isset($report_data['rewards'][$key]))
|
||||||
@@ -1276,7 +1464,7 @@ class Reports extends Secure_Controller
|
|||||||
|
|
||||||
$summary_data = $this->xss_clean(array(
|
$summary_data = $this->xss_clean(array(
|
||||||
'receiving_id' => $report_data['receiving_id'],
|
'receiving_id' => $report_data['receiving_id'],
|
||||||
'receiving_date' => date($this->config->item('dateformat'), strtotime($report_data['receiving_date'])),
|
'receiving_date' => to_date(strtotime($report_data['receiving_date'])),
|
||||||
'quantity' => to_quantity_decimals($report_data['items_purchased']),
|
'quantity' => to_quantity_decimals($report_data['items_purchased']),
|
||||||
'employee_name' => $report_data['employee_name'],
|
'employee_name' => $report_data['employee_name'],
|
||||||
'supplier_name' => $report_data['supplier_name'],
|
'supplier_name' => $report_data['supplier_name'],
|
||||||
@@ -1294,14 +1482,19 @@ class Reports extends Secure_Controller
|
|||||||
|
|
||||||
public function detailed_receivings($start_date, $end_date, $receiving_type, $location_id = 'all')
|
public function detailed_receivings($start_date, $end_date, $receiving_type, $location_id = 'all')
|
||||||
{
|
{
|
||||||
$inputs = array('start_date' => $start_date, 'end_date' => $end_date, 'receiving_type' => $receiving_type, 'location_id' => $location_id);
|
$definition_names = $this->Attribute->get_definitions_by_flags(Attribute::SHOW_IN_RECEIVINGS);
|
||||||
|
|
||||||
|
$inputs = array('start_date' => $start_date, 'end_date' => $end_date, 'receiving_type' => $receiving_type, 'location_id' => $location_id, 'definition_ids' => array_keys($definition_names));
|
||||||
|
|
||||||
$this->load->model('reports/Detailed_receivings');
|
$this->load->model('reports/Detailed_receivings');
|
||||||
$model = $this->Detailed_receivings;
|
$model = $this->Detailed_receivings;
|
||||||
|
|
||||||
$model->create($inputs);
|
$model->create($inputs);
|
||||||
|
|
||||||
$headers = $this->xss_clean($model->getDataColumns());
|
$columns = $model->getDataColumns();
|
||||||
|
$columns['details'] = array_merge($columns['details'], $definition_names);
|
||||||
|
|
||||||
|
$headers = $this->xss_clean($columns);
|
||||||
$report_data = $model->getData($inputs);
|
$report_data = $model->getData($inputs);
|
||||||
|
|
||||||
$summary_data = array();
|
$summary_data = array();
|
||||||
@@ -1313,7 +1506,7 @@ class Reports extends Secure_Controller
|
|||||||
{
|
{
|
||||||
$summary_data[] = $this->xss_clean(array(
|
$summary_data[] = $this->xss_clean(array(
|
||||||
'id' => $row['receiving_id'],
|
'id' => $row['receiving_id'],
|
||||||
'receiving_date' => date($this->config->item('dateformat'), strtotime($row['receiving_date'])),
|
'receiving_date' => to_date(strtotime($row['receiving_date'])),
|
||||||
'quantity' => to_quantity_decimals($row['items_purchased']),
|
'quantity' => to_quantity_decimals($row['items_purchased']),
|
||||||
'employee_name' => $row['employee_name'],
|
'employee_name' => $row['employee_name'],
|
||||||
'supplier_name' => $row['supplier_name'],
|
'supplier_name' => $row['supplier_name'],
|
||||||
@@ -1334,13 +1527,16 @@ class Reports extends Secure_Controller
|
|||||||
{
|
{
|
||||||
$quantity_purchased .= ' [' . $this->Stock_location->get_location_name($drow['item_location']) . ']';
|
$quantity_purchased .= ' [' . $this->Stock_location->get_location_name($drow['item_location']) . ']';
|
||||||
}
|
}
|
||||||
$details_data[$row['receiving_id']][] = $this->xss_clean(array(
|
|
||||||
|
$attribute_values = expand_attribute_values($definition_names, $drow);
|
||||||
|
|
||||||
|
$details_data[$row['receiving_id']][] = $this->xss_clean(array_merge(array(
|
||||||
$drow['item_number'],
|
$drow['item_number'],
|
||||||
$drow['name'],
|
$drow['name'],
|
||||||
$drow['category'],
|
$drow['category'],
|
||||||
$quantity_purchased,
|
$quantity_purchased,
|
||||||
to_currency($drow['total']),
|
to_currency($drow['total']),
|
||||||
$drow['discount_percent'].'%'));
|
($drow['discount_type'] == PERCENT)? $drow['discount'].'%':to_currency($drow['discount'])), $attribute_values));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1419,7 +1615,9 @@ class Reports extends Secure_Controller
|
|||||||
$tabular_data[] = $this->xss_clean(array(
|
$tabular_data[] = $this->xss_clean(array(
|
||||||
'item_name' => $row['name'],
|
'item_name' => $row['name'],
|
||||||
'item_number' => $row['item_number'],
|
'item_number' => $row['item_number'],
|
||||||
|
'category' => $row['category'],
|
||||||
'quantity' => to_quantity_decimals($row['quantity']),
|
'quantity' => to_quantity_decimals($row['quantity']),
|
||||||
|
'low_sell_quantity' => to_quantity_decimals($row['low_sell_quantity']),
|
||||||
'reorder_level' => to_quantity_decimals($row['reorder_level']),
|
'reorder_level' => to_quantity_decimals($row['reorder_level']),
|
||||||
'location_name' => $row['location_name'],
|
'location_name' => $row['location_name'],
|
||||||
'cost_price' => to_currency($row['cost_price']),
|
'cost_price' => to_currency($row['cost_price']),
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -22,6 +22,7 @@ class Suppliers extends Persons
|
|||||||
public function get_row($row_id)
|
public function get_row($row_id)
|
||||||
{
|
{
|
||||||
$data_row = $this->xss_clean(get_supplier_data_row($this->Supplier->get_info($row_id)));
|
$data_row = $this->xss_clean(get_supplier_data_row($this->Supplier->get_info($row_id)));
|
||||||
|
$data_row['category'] = $this->Supplier->get_category_name($data_row['category']);
|
||||||
|
|
||||||
echo json_encode($data_row);
|
echo json_encode($data_row);
|
||||||
}
|
}
|
||||||
@@ -43,7 +44,9 @@ class Suppliers extends Persons
|
|||||||
$data_rows = array();
|
$data_rows = array();
|
||||||
foreach($suppliers->result() as $supplier)
|
foreach($suppliers->result() as $supplier)
|
||||||
{
|
{
|
||||||
$data_rows[] = $this->xss_clean(get_supplier_data_row($supplier));
|
$row = $this->xss_clean(get_supplier_data_row($supplier));
|
||||||
|
$row['category'] = $this->Supplier->get_category_name($row['category']);
|
||||||
|
$data_rows[] = $row;
|
||||||
}
|
}
|
||||||
|
|
||||||
echo json_encode(array('total' => $total_rows, 'rows' => $data_rows));
|
echo json_encode(array('total' => $total_rows, 'rows' => $data_rows));
|
||||||
@@ -77,6 +80,7 @@ class Suppliers extends Persons
|
|||||||
$info->$property = $this->xss_clean($value);
|
$info->$property = $this->xss_clean($value);
|
||||||
}
|
}
|
||||||
$data['person_info'] = $info;
|
$data['person_info'] = $info;
|
||||||
|
$data['categories'] = $this->Supplier->get_categories();
|
||||||
|
|
||||||
$this->load->view("suppliers/form", $data);
|
$this->load->view("suppliers/form", $data);
|
||||||
}
|
}
|
||||||
@@ -112,7 +116,9 @@ class Suppliers extends Persons
|
|||||||
$supplier_data = array(
|
$supplier_data = array(
|
||||||
'company_name' => $this->input->post('company_name'),
|
'company_name' => $this->input->post('company_name'),
|
||||||
'agency_name' => $this->input->post('agency_name'),
|
'agency_name' => $this->input->post('agency_name'),
|
||||||
'account_number' => $this->input->post('account_number') == '' ? NULL : $this->input->post('account_number')
|
'category' => $this->input->post('category'),
|
||||||
|
'account_number' => $this->input->post('account_number') == '' ? NULL : $this->input->post('account_number'),
|
||||||
|
'tax_id' => $this->input->post('tax_id')
|
||||||
);
|
);
|
||||||
|
|
||||||
if($this->Supplier->save_supplier($person_data, $supplier_data, $supplier_id))
|
if($this->Supplier->save_supplier($person_data, $supplier_data, $supplier_id))
|
||||||
|
|||||||
100
application/controllers/Tax_categories.php
Normal file
100
application/controllers/Tax_categories.php
Normal file
@@ -0,0 +1,100 @@
|
|||||||
|
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
require_once("Secure_Controller.php");
|
||||||
|
|
||||||
|
class Tax_categories extends Secure_Controller
|
||||||
|
{
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
parent::__construct('tax_categories');
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public function index()
|
||||||
|
{
|
||||||
|
$data['tax_categories_table_headers'] = $this->xss_clean(get_tax_categories_table_headers());
|
||||||
|
|
||||||
|
$this->load->view('taxes/tax_categories', $data);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Returns tax_category table data rows. This will be called with AJAX.
|
||||||
|
*/
|
||||||
|
public function search()
|
||||||
|
{
|
||||||
|
$search = $this->input->get('search');
|
||||||
|
$limit = $this->input->get('limit');
|
||||||
|
$offset = $this->input->get('offset');
|
||||||
|
$sort = $this->input->get('sort');
|
||||||
|
$order = $this->input->get('order');
|
||||||
|
|
||||||
|
$tax_categories = $this->Tax_category->search($search, $limit, $offset, $sort, $order);
|
||||||
|
$total_rows = $this->Tax_category->get_found_rows($search);
|
||||||
|
|
||||||
|
$data_rows = array();
|
||||||
|
foreach($tax_categories->result() as $tax_category)
|
||||||
|
{
|
||||||
|
$data_rows[] = $this->xss_clean(get_tax_category_data_row($tax_category));
|
||||||
|
}
|
||||||
|
|
||||||
|
echo json_encode(array('total' => $total_rows, 'rows' => $data_rows));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function get_row($row_id)
|
||||||
|
{
|
||||||
|
$data_row = $this->xss_clean(get_tax_category_data_row($this->Tax_category->get_info($row_id)));
|
||||||
|
|
||||||
|
echo json_encode($data_row);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function view($tax_category_id = -1)
|
||||||
|
{
|
||||||
|
$data['tax_category_info'] = $this->Tax_category->get_info($tax_category_id);
|
||||||
|
|
||||||
|
$this->load->view("taxes/tax_category_form", $data);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public function save($tax_category_id = -1)
|
||||||
|
{
|
||||||
|
$tax_category_data = array(
|
||||||
|
'tax_category' => $this->input->post('tax_category'),
|
||||||
|
'tax_category_code' => $this->input->post('tax_category_code'),
|
||||||
|
'tax_group_sequence' => $this->input->post('tax_group_sequence')
|
||||||
|
);
|
||||||
|
|
||||||
|
if($this->Tax_category->save($tax_category_data, $tax_category_id))
|
||||||
|
{
|
||||||
|
$tax_category_data = $this->xss_clean($tax_category_data);
|
||||||
|
|
||||||
|
// New tax_category_id
|
||||||
|
if($tax_category_id == -1)
|
||||||
|
{
|
||||||
|
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('taxes_categories_successful_adding'), 'id' => $tax_category_data['tax_category_id']));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('taxes_categories_successful_updating'), 'id' => $tax_category_id));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('taxes_categories_error_adding_updating') . ' ' . $tax_category_data['tax_category'], 'id' => -1));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function delete()
|
||||||
|
{
|
||||||
|
$tax_categories_to_delete = $this->input->post('ids');
|
||||||
|
|
||||||
|
if($this->Tax_category->delete_list($tax_categories_to_delete))
|
||||||
|
{
|
||||||
|
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('taxes_categories_successful_deleted') . ' ' . count($tax_categories_to_delete) . ' ' . $this->lang->line('taxes_categories_one_or_multiple')));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('taxes_categories_cannot_be_deleted')));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
?>
|
||||||
104
application/controllers/Tax_codes.php
Normal file
104
application/controllers/Tax_codes.php
Normal file
@@ -0,0 +1,104 @@
|
|||||||
|
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
require_once("Secure_Controller.php");
|
||||||
|
|
||||||
|
class Tax_codes extends Secure_Controller
|
||||||
|
{
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
parent::__construct('tax_codes');
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public function index()
|
||||||
|
{
|
||||||
|
$this->load->view('taxes/tax_codes',get_data());
|
||||||
|
}
|
||||||
|
|
||||||
|
public function get_data()
|
||||||
|
{
|
||||||
|
$data['table_headers'] = $this->xss_clean(get_tax_codes_table_headers());
|
||||||
|
return $data;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Returns tax_category table data rows. This will be called with AJAX.
|
||||||
|
*/
|
||||||
|
public function search()
|
||||||
|
{
|
||||||
|
$search = $this->input->get('search');
|
||||||
|
$limit = $this->input->get('limit');
|
||||||
|
$offset = $this->input->get('offset');
|
||||||
|
$sort = $this->input->get('sort');
|
||||||
|
$order = $this->input->get('order');
|
||||||
|
|
||||||
|
$tax_codes = $this->Tax_code->search($search, $limit, $offset, $sort, $order);
|
||||||
|
$total_rows = $this->Tax_code->get_found_rows($search);
|
||||||
|
|
||||||
|
$data_rows = array();
|
||||||
|
foreach($tax_codes->result() as $tax_code)
|
||||||
|
{
|
||||||
|
$data_rows[] = $this->xss_clean(get_tax_code_data_row($tax_code));
|
||||||
|
}
|
||||||
|
|
||||||
|
echo json_encode(array('total' => $total_rows, 'rows' => $data_rows));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function get_row($row_id)
|
||||||
|
{
|
||||||
|
$data_row = $this->xss_clean(get_tax_code_data_row($this->Tax_code->get_info($row_id)));
|
||||||
|
|
||||||
|
echo json_encode($data_row);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function view($tax_code_id = -1)
|
||||||
|
{
|
||||||
|
$data['tax_code_info'] = $this->Tax_code->get_info($tax_code_id);
|
||||||
|
|
||||||
|
$this->load->view("taxes/tax_code_form", $data);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public function save($tax_code_id = -1)
|
||||||
|
{
|
||||||
|
$tax_code_data = array(
|
||||||
|
'tax_code' => $this->input->post('tax_code'),
|
||||||
|
'tax_code_name' => $this->input->post('tax_code_name'),
|
||||||
|
'city' => $this->input->post('city'),
|
||||||
|
'state' => $this->input->post('state')
|
||||||
|
);
|
||||||
|
|
||||||
|
if($this->Tax_code->save($tax_code_data))
|
||||||
|
{
|
||||||
|
$tax_code_data = $this->xss_clean($tax_code_data);
|
||||||
|
|
||||||
|
if($tax_code_id == -1)
|
||||||
|
{
|
||||||
|
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('taxes_codes_successful_adding'), 'id' => $tax_code_data['tax_code_id']));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('taxes_codes_successful_updating'), 'id' => $tax_code_id));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('taxes_codes_error_adding_updating') . ' ' . $tax_code_data['tax_code_id'], 'id' => -1));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function delete()
|
||||||
|
{
|
||||||
|
$tax_codes_to_delete = $this->input->post('ids');
|
||||||
|
|
||||||
|
if($this->Tax_code->delete_list($tax_codes_to_delete))
|
||||||
|
{
|
||||||
|
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('taxes_codes_successful_deleted') . ' ' . count($tax_codes_to_delete) . ' ' . $this->lang->line('taxes_codes_one_or_multiple')));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('taxes_codes_cannot_be_deleted')));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
?>
|
||||||
98
application/controllers/Tax_jurisdictions.php
Normal file
98
application/controllers/Tax_jurisdictions.php
Normal file
@@ -0,0 +1,98 @@
|
|||||||
|
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
require_once("Secure_Controller.php");
|
||||||
|
|
||||||
|
class Tax_jurisdictions extends Secure_Controller
|
||||||
|
{
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
parent::__construct('tax_jurisdictions');
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public function index()
|
||||||
|
{
|
||||||
|
$data['table_headers'] = $this->xss_clean(get_tax_jurisdictions_table_headers());
|
||||||
|
|
||||||
|
$this->load->view('taxes/tax_jurisdictions', $data);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Returns tax_category table data rows. This will be called with AJAX.
|
||||||
|
*/
|
||||||
|
public function search()
|
||||||
|
{
|
||||||
|
$search = $this->input->get('search');
|
||||||
|
$limit = $this->input->get('limit');
|
||||||
|
$offset = $this->input->get('offset');
|
||||||
|
$sort = $this->input->get('sort');
|
||||||
|
$order = $this->input->get('order');
|
||||||
|
|
||||||
|
$tax_jurisdictions = $this->Tax_jurisdiction->search($search, $limit, $offset, $sort, $order);
|
||||||
|
$total_rows = $this->Tax_jurisdiction->get_found_rows($search);
|
||||||
|
|
||||||
|
$data_rows = array();
|
||||||
|
foreach($tax_jurisdictions->result() as $tax_jurisdiction)
|
||||||
|
{
|
||||||
|
$data_rows[] = $this->xss_clean(get_tax_jurisdiction_data_row($tax_jurisdiction));
|
||||||
|
}
|
||||||
|
|
||||||
|
echo json_encode(array('total' => $total_rows, 'rows' => $data_rows));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function get_row($row_id)
|
||||||
|
{
|
||||||
|
$data_row = $this->xss_clean(get_tax_jurisdiction_data_row($this->Tax_jurisdiction->get_info($row_id)));
|
||||||
|
|
||||||
|
echo json_encode($data_row);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function view($tax_jurisdiction_id = -1)
|
||||||
|
{
|
||||||
|
$data['tax_jurisdiction_info'] = $this->Tax_jurisdiction->get_info($tax_jurisdiction_id);
|
||||||
|
|
||||||
|
$this->load->view("taxes/tax_jurisdiction_form", $data);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public function save($jurisdiction_id = -1)
|
||||||
|
{
|
||||||
|
$tax_jurisdiction_data = array(
|
||||||
|
'jurisdiction_name' => $this->input->post('jurisdiction_name'),
|
||||||
|
'reporting_authority' => $this->input->post('reporting_authority')
|
||||||
|
);
|
||||||
|
|
||||||
|
if($this->Tax_jurisdiction->save($tax_jurisdiction_data))
|
||||||
|
{
|
||||||
|
$tax_jurisdiction_data = $this->xss_clean($tax_jurisdiction_data);
|
||||||
|
|
||||||
|
if($jurisdiction_id == -1)
|
||||||
|
{
|
||||||
|
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('taxes_jurisdictions_successful_adding'), 'id' => $tax_jurisdiction_data['jurisdiction_id']));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('taxes_jurisdictions_successful_updating'), 'id' => $jurisdiction_id));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('taxes_jurisdictions_error_adding_updating') . ' ' . $tax_jurisdiction_data['jurisdiction_name'], 'id' => -1));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function delete()
|
||||||
|
{
|
||||||
|
$tax_jurisdictions_to_delete = $this->input->post('ids');
|
||||||
|
|
||||||
|
if($this->Tax_jurisdiction->delete_list($tax_jurisdictions_to_delete))
|
||||||
|
{
|
||||||
|
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('taxes_jurisdictions_successful_deleted') . ' ' . count($tax_jurisdictions_to_delete) . ' ' . $this->lang->line('taxes_jurisdictions_one_or_multiple')));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('taxes_jurisdictions_cannot_be_deleted')));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
?>
|
||||||
@@ -9,16 +9,46 @@ class Taxes extends Secure_Controller
|
|||||||
parent::__construct('taxes');
|
parent::__construct('taxes');
|
||||||
|
|
||||||
$this->load->model('enums/Rounding_mode');
|
$this->load->model('enums/Rounding_mode');
|
||||||
|
$this->load->library('tax_lib');
|
||||||
|
$this->load->helper('tax_helper');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function index()
|
public function index()
|
||||||
{
|
{
|
||||||
$data['table_headers'] = $this->xss_clean(get_taxes_manage_table_headers());
|
$data['tax_codes'] = $this->xss_clean($this->Tax_code->get_all()->result_array());
|
||||||
|
if (count($data['tax_codes']) == 0)
|
||||||
|
{
|
||||||
|
$data['tax_codes'] = $this->Tax_code->get_empty_row();
|
||||||
|
}
|
||||||
|
$data['tax_categories'] = $this->xss_clean($this->Tax_category->get_all()->result_array());
|
||||||
|
if (count($data['tax_categories']) == 0)
|
||||||
|
{
|
||||||
|
$data['tax_categories'] = $this->Tax_category->get_empty_row();
|
||||||
|
}
|
||||||
|
$data['tax_jurisdictions'] = $this->xss_clean($this->Tax_jurisdiction->get_all()->result_array());
|
||||||
|
if (count($data['tax_jurisdictions']) == 0)
|
||||||
|
{
|
||||||
|
$data['tax_jurisdictions'] = $this->Tax_jurisdiction->get_empty_row();
|
||||||
|
}
|
||||||
|
$data['tax_rate_table_headers'] = $this->xss_clean(get_tax_rates_manage_table_headers());
|
||||||
|
$data['tax_categories_table_headers'] = $this->xss_clean(get_tax_categories_table_headers());
|
||||||
|
$data['tax_types'] = $this->tax_lib->get_tax_types();
|
||||||
|
|
||||||
|
if($this->config->item('tax_included') == '1')
|
||||||
|
{
|
||||||
|
$data['default_tax_type'] = Tax_lib::TAX_TYPE_INCLUDED;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$data['default_tax_type'] = Tax_lib::TAX_TYPE_EXCLUDED;
|
||||||
|
}
|
||||||
|
|
||||||
|
$data['tax_type_options'] = $this->tax_lib->get_tax_type_options($data['default_tax_type']);
|
||||||
|
|
||||||
$this->load->view('taxes/manage', $data);
|
$this->load->view('taxes/manage', $data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Returns tax_codes table data rows. This will be called with AJAX.
|
Returns tax_codes table data rows. This will be called with AJAX.
|
||||||
*/
|
*/
|
||||||
@@ -30,14 +60,14 @@ class Taxes extends Secure_Controller
|
|||||||
$sort = $this->input->get('sort');
|
$sort = $this->input->get('sort');
|
||||||
$order = $this->input->get('order');
|
$order = $this->input->get('order');
|
||||||
|
|
||||||
$tax_codes = $this->Tax->search($search, $limit, $offset, $sort, $order);
|
$tax_rates = $this->Tax->search($search, $limit, $offset, $sort, $order);
|
||||||
|
|
||||||
$total_rows = $this->Tax->get_found_rows($search);
|
$total_rows = $this->Tax->get_found_rows($search);
|
||||||
|
|
||||||
$data_rows = array();
|
$data_rows = array();
|
||||||
foreach($tax_codes->result() as $tax_code_row)
|
foreach($tax_rates->result() as $tax_rate_row)
|
||||||
{
|
{
|
||||||
$data_rows[] = $this->xss_clean(get_tax_data_row($tax_code_row));
|
$data_rows[] = $this->xss_clean(get_tax_rates_data_row($tax_rate_row));
|
||||||
}
|
}
|
||||||
|
|
||||||
echo json_encode(array('total' => $total_rows, 'rows' => $data_rows));
|
echo json_encode(array('total' => $total_rows, 'rows' => $data_rows));
|
||||||
@@ -58,7 +88,7 @@ class Taxes extends Secure_Controller
|
|||||||
*/
|
*/
|
||||||
public function suggest_tax_categories()
|
public function suggest_tax_categories()
|
||||||
{
|
{
|
||||||
$suggestions = $this->xss_clean($this->Tax->get_tax_category_suggestions($this->input->post('term')));
|
$suggestions = $this->xss_clean($this->Tax_category->get_tax_category_suggestions($this->input->post('term')));
|
||||||
|
|
||||||
echo json_encode($suggestions);
|
echo json_encode($suggestions);
|
||||||
}
|
}
|
||||||
@@ -66,12 +96,12 @@ class Taxes extends Secure_Controller
|
|||||||
|
|
||||||
public function get_row($row_id)
|
public function get_row($row_id)
|
||||||
{
|
{
|
||||||
$data_row = $this->xss_clean(get_tax_codes_data_row($this->Tax->get_info($row_id), $this));
|
$data_row = $this->xss_clean(get_tax_rates_data_row($this->Tax->get_info($row_id), $this));
|
||||||
|
|
||||||
echo json_encode($data_row);
|
echo json_encode($data_row);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function view($tax_code = -1)
|
public function view_tax_codes($tax_code = -1)
|
||||||
{
|
{
|
||||||
$tax_code_info = $this->Tax->get_info($tax_code);
|
$tax_code_info = $this->Tax->get_info($tax_code);
|
||||||
|
|
||||||
@@ -80,6 +110,15 @@ class Taxes extends Secure_Controller
|
|||||||
|
|
||||||
$tax_rate_info = $this->Tax->get_rate_info($tax_code, $default_tax_category_id);
|
$tax_rate_info = $this->Tax->get_rate_info($tax_code, $default_tax_category_id);
|
||||||
|
|
||||||
|
if($this->config->item('tax_included') == '1')
|
||||||
|
{
|
||||||
|
$data['default_tax_type'] = Tax_lib::TAX_TYPE_INCLUDED;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$data['default_tax_type'] = Tax_lib::TAX_TYPE_EXCLUDED;
|
||||||
|
}
|
||||||
|
|
||||||
$data['rounding_options'] = Rounding_mode::get_rounding_options();
|
$data['rounding_options'] = Rounding_mode::get_rounding_options();
|
||||||
$data['html_rounding_options'] = $this->get_html_rounding_options();
|
$data['html_rounding_options'] = $this->get_html_rounding_options();
|
||||||
|
|
||||||
@@ -114,21 +153,197 @@ class Taxes extends Secure_Controller
|
|||||||
|
|
||||||
$data = $this->xss_clean($data);
|
$data = $this->xss_clean($data);
|
||||||
|
|
||||||
$tax_code_rates = array();
|
$tax_rates = array();
|
||||||
foreach($this->Tax->get_tax_code_rate_exceptions($tax_code) as $tax_code_rate)
|
foreach($this->Tax->get_tax_code_rate_exceptions($tax_code) as $tax_code_rate)
|
||||||
{
|
{
|
||||||
$tax_code_row = array();
|
$tax_rate_row = array();
|
||||||
$tax_code_row['rate_tax_category_id'] = $this->xss_clean($tax_code_rate['rate_tax_category_id']);
|
$tax_rate_row['rate_tax_category_id'] = $this->xss_clean($tax_code_rate['rate_tax_category_id']);
|
||||||
$tax_code_row['tax_category'] = $this->xss_clean($tax_code_rate['tax_category']);
|
$tax_rate_row['tax_category'] = $this->xss_clean($tax_code_rate['tax_category']);
|
||||||
$tax_code_row['tax_rate'] = $this->xss_clean($tax_code_rate['tax_rate']);
|
$tax_rate_row['tax_rate'] = $this->xss_clean($tax_code_rate['tax_rate']);
|
||||||
$tax_code_row['rounding_code'] = $this->xss_clean($tax_code_rate['rounding_code']);
|
$tax_rate_row['rounding_code'] = $this->xss_clean($tax_code_rate['rounding_code']);
|
||||||
|
|
||||||
$tax_code_rates[] = $tax_code_row;
|
$tax_rates[] = $tax_rate_row;
|
||||||
}
|
}
|
||||||
|
|
||||||
$data['tax_code_rates'] = $tax_code_rates;
|
$data['tax_rates'] = $tax_rates;
|
||||||
|
|
||||||
$this->load->view("taxes/form", $data);
|
$this->load->view('taxes/tax_code_form', $data);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public function view($tax_rate_id = -1)
|
||||||
|
{
|
||||||
|
|
||||||
|
$tax_rate_info = $this->Tax->get_info($tax_rate_id);
|
||||||
|
|
||||||
|
$data['tax_rate_id'] = $tax_rate_id;
|
||||||
|
$data['rounding_options'] = Rounding_mode::get_rounding_options();
|
||||||
|
|
||||||
|
$data['tax_code_options'] = $this->tax_lib->get_tax_code_options();
|
||||||
|
$data['tax_category_options'] = $this->tax_lib->get_tax_category_options();
|
||||||
|
$data['tax_jurisdiction_options'] = $this->tax_lib->get_tax_jurisdiction_options();
|
||||||
|
|
||||||
|
if($tax_rate_id == -1)
|
||||||
|
{
|
||||||
|
$data['rate_tax_code_id'] = $this->config->item('default_tax_code');
|
||||||
|
$data['rate_tax_category_id'] = $this->config->item('default_tax_category');
|
||||||
|
$data['rate_jurisdiction_id'] = $this->config->item('default_tax_jurisdiction');
|
||||||
|
$data['tax_rounding_code'] = Rounding_mode::HALF_UP;
|
||||||
|
$data['tax_rate'] = '0.0000';
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$data['rate_tax_code_id'] = $tax_rate_info->rate_tax_code_id;
|
||||||
|
$data['rate_tax_code'] = $tax_rate_info->tax_code;
|
||||||
|
$data['rate_tax_category_id'] = $tax_rate_info->rate_tax_category_id;
|
||||||
|
$data['rate_jurisdiction_id'] = $tax_rate_info->rate_jurisdiction_id;
|
||||||
|
$data['tax_rounding_code'] = $tax_rate_info->tax_rounding_code;
|
||||||
|
$data['tax_rate'] = $tax_rate_info->tax_rate;
|
||||||
|
}
|
||||||
|
|
||||||
|
$data = $this->xss_clean($data);
|
||||||
|
|
||||||
|
$this->load->view('taxes/tax_rates_form', $data);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public function view_tax_categories($tax_code = -1)
|
||||||
|
{
|
||||||
|
$tax_code_info = $this->Tax->get_info($tax_code);
|
||||||
|
|
||||||
|
$default_tax_category_id = 1; // Tax category id is always the default tax category
|
||||||
|
$default_tax_category = $this->Tax->get_tax_category($default_tax_category_id);
|
||||||
|
|
||||||
|
$tax_rate_info = $this->Tax->get_rate_info($tax_code, $default_tax_category_id);
|
||||||
|
|
||||||
|
$data['rounding_options'] = Rounding_mode::get_rounding_options();
|
||||||
|
$data['html_rounding_options'] = $this->get_html_rounding_options();
|
||||||
|
|
||||||
|
if($this->config->item('tax_included') == '1')
|
||||||
|
{
|
||||||
|
$data['default_tax_type'] = Tax_lib::TAX_TYPE_INCLUDED;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$data['default_tax_type'] = Tax_lib::TAX_TYPE_EXCLUDED;
|
||||||
|
}
|
||||||
|
|
||||||
|
if($tax_code == -1)
|
||||||
|
{
|
||||||
|
$data['tax_code'] = '';
|
||||||
|
$data['tax_code_name'] = '';
|
||||||
|
$data['tax_code_type'] = '0';
|
||||||
|
$data['city'] = '';
|
||||||
|
$data['state'] = '';
|
||||||
|
$data['tax_rate'] = '0.0000';
|
||||||
|
$data['rate_tax_code'] = '';
|
||||||
|
$data['rate_tax_category_id'] = 1;
|
||||||
|
$data['tax_category'] = '';
|
||||||
|
$data['add_tax_category'] = '';
|
||||||
|
$data['rounding_code'] = '0';
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$data['tax_code'] = $tax_code;
|
||||||
|
$data['tax_code_name'] = $tax_code_info->tax_code_name;
|
||||||
|
$data['tax_code_type'] = $tax_code_info->tax_code_type;
|
||||||
|
$data['city'] = $tax_code_info->city;
|
||||||
|
$data['state'] = $tax_code_info->state;
|
||||||
|
$data['rate_tax_code'] = $tax_code_info->rate_tax_code;
|
||||||
|
$data['rate_tax_category_id'] = $tax_code_info->rate_tax_category_id;
|
||||||
|
$data['tax_category'] = $tax_code_info->tax_category;
|
||||||
|
$data['add_tax_category'] = '';
|
||||||
|
$data['tax_rate'] = $tax_rate_info->tax_rate;
|
||||||
|
$data['rounding_code'] = $tax_rate_info->rounding_code;
|
||||||
|
}
|
||||||
|
|
||||||
|
$data = $this->xss_clean($data);
|
||||||
|
|
||||||
|
$tax_rates = array();
|
||||||
|
foreach($this->Tax->get_tax_code_rate_exceptions($tax_code) as $tax_code_rate)
|
||||||
|
{
|
||||||
|
$tax_rate_row = array();
|
||||||
|
$tax_rate_row['rate_tax_category_id'] = $this->xss_clean($tax_code_rate['rate_tax_category_id']);
|
||||||
|
$tax_rate_row['tax_category'] = $this->xss_clean($tax_code_rate['tax_category']);
|
||||||
|
$tax_rate_row['tax_rate'] = $this->xss_clean($tax_code_rate['tax_rate']);
|
||||||
|
$tax_rate_row['rounding_code'] = $this->xss_clean($tax_code_rate['rounding_code']);
|
||||||
|
|
||||||
|
$tax_rates[] = $tax_rate_row;
|
||||||
|
}
|
||||||
|
|
||||||
|
$data['tax_rates'] = $tax_rates;
|
||||||
|
|
||||||
|
$this->load->view('taxes/tax_category_form', $data);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function view_tax_jurisdictions($tax_code = -1)
|
||||||
|
{
|
||||||
|
$tax_code_info = $this->Tax->get_info($tax_code);
|
||||||
|
|
||||||
|
$default_tax_category_id = 1; // Tax category id is always the default tax category
|
||||||
|
$default_tax_category = $this->Tax->get_tax_category($default_tax_category_id);
|
||||||
|
|
||||||
|
$tax_rate_info = $this->Tax->get_rate_info($tax_code, $default_tax_category_id);
|
||||||
|
|
||||||
|
$data['rounding_options'] = Rounding_mode::get_rounding_options();
|
||||||
|
$data['html_rounding_options'] = $this->get_html_rounding_options();
|
||||||
|
|
||||||
|
if($this->config->item('tax_included') == '1')
|
||||||
|
{
|
||||||
|
$data['default_tax_type'] = Tax_lib::TAX_TYPE_INCLUDED;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$data['default_tax_type'] = Tax_lib::TAX_TYPE_EXCLUDED;
|
||||||
|
}
|
||||||
|
|
||||||
|
if($tax_code == -1)
|
||||||
|
{
|
||||||
|
$data['tax_code'] = '';
|
||||||
|
$data['tax_code_name'] = '';
|
||||||
|
$data['tax_code_type'] = '0';
|
||||||
|
$data['city'] = '';
|
||||||
|
$data['state'] = '';
|
||||||
|
$data['tax_rate'] = '0.0000';
|
||||||
|
$data['rate_tax_code'] = '';
|
||||||
|
$data['rate_tax_category_id'] = 1;
|
||||||
|
$data['tax_category'] = '';
|
||||||
|
$data['add_tax_category'] = '';
|
||||||
|
$data['rounding_code'] = '0';
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$data['tax_code'] = $tax_code;
|
||||||
|
$data['tax_code_name'] = $tax_code_info->tax_code_name;
|
||||||
|
$data['tax_code_type'] = $tax_code_info->tax_code_type;
|
||||||
|
$data['city'] = $tax_code_info->city;
|
||||||
|
$data['state'] = $tax_code_info->state;
|
||||||
|
$data['rate_tax_code'] = $tax_code_info->rate_tax_code;
|
||||||
|
$data['rate_tax_category_id'] = $tax_code_info->rate_tax_category_id;
|
||||||
|
$data['tax_category'] = $tax_code_info->tax_category;
|
||||||
|
$data['add_tax_category'] = '';
|
||||||
|
$data['tax_rate'] = $tax_rate_info->tax_rate;
|
||||||
|
$data['rounding_code'] = $tax_rate_info->rounding_code;
|
||||||
|
}
|
||||||
|
|
||||||
|
$data = $this->xss_clean($data);
|
||||||
|
|
||||||
|
$tax_rates = array();
|
||||||
|
foreach($this->Tax->get_tax_code_rate_exceptions($tax_code) as $tax_code_rate)
|
||||||
|
{
|
||||||
|
$tax_rate_row = array();
|
||||||
|
$tax_rate_row['rate_tax_category_id'] = $this->xss_clean($tax_code_rate['rate_tax_category_id']);
|
||||||
|
$tax_rate_row['tax_category'] = $this->xss_clean($tax_code_rate['tax_category']);
|
||||||
|
$tax_rate_row['tax_rate'] = $this->xss_clean($tax_code_rate['tax_rate']);
|
||||||
|
$tax_rate_row['rounding_code'] = $this->xss_clean($tax_code_rate['rounding_code']);
|
||||||
|
|
||||||
|
$tax_rates[] = $tax_rate_row;
|
||||||
|
}
|
||||||
|
|
||||||
|
$data['tax_rates'] = $tax_rates;
|
||||||
|
|
||||||
|
$this->load->view('taxes/tax_jurisdiction_form', $data);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function get_html_rounding_options()
|
public static function get_html_rounding_options()
|
||||||
@@ -136,63 +351,37 @@ class Taxes extends Secure_Controller
|
|||||||
return Rounding_mode::get_html_rounding_options();
|
return Rounding_mode::get_html_rounding_options();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function save($tax_code = -1)
|
public function save($tax_rate_id = -1)
|
||||||
{
|
{
|
||||||
$entered_tax_code = $this->xss_clean($this->input->post('tax_code'));
|
$tax_category_id = $this->input->post('rate_tax_category_id');
|
||||||
$tax_code_data = array(
|
$tax_rate = parse_tax($this->input->post('tax_rate'));
|
||||||
'tax_code' => strtoupper($this->input->post('tax_code')),
|
|
||||||
'tax_code_name' => $this->input->post('tax_code_name'),
|
if ($tax_rate == 0) {
|
||||||
'tax_code_type' => $this->input->post('tax_code_type'),
|
$tax_category_info = $this->Tax_category->get_info($tax_category_id);
|
||||||
'city' => $this->input->post('city'),
|
}
|
||||||
'state' => $this->input->post('state'));
|
|
||||||
|
|
||||||
$tax_rate_data = array(
|
$tax_rate_data = array(
|
||||||
'rate_tax_code' => $this->input->post('tax_code'),
|
'rate_tax_code_id' => $this->input->post('rate_tax_code_id'),
|
||||||
'rate_tax_category_id' => 1,
|
'rate_tax_category_id' => $this->input->post('rate_tax_category_id'),
|
||||||
'tax_rate' => parse_decimals($this->input->post('tax_rate')),
|
'rate_jurisdiction_id' => $this->input->post('rate_jurisdiction_id'),
|
||||||
'rounding_code' => $this->input->post('rounding_code')
|
'tax_rate' => $tax_rate,
|
||||||
|
'tax_rounding_code' => $this->input->post('tax_rounding_code')
|
||||||
);
|
);
|
||||||
|
|
||||||
if($this->Tax->save($tax_code_data, $tax_rate_data, $tax_code))
|
if($this->Tax->save($tax_rate_data, $tax_rate_id))
|
||||||
{
|
{
|
||||||
$tax_code_rate_exceptions = array();
|
if($tax_rate_id == -1)
|
||||||
if(!empty($this->input->post('exception_tax_rate')))
|
|
||||||
{
|
{
|
||||||
foreach($this->input->post('exception_tax_rate') as $tax_category_id => $exception_tax_rate)
|
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('taxes_tax_rate_successfully_added')));
|
||||||
{
|
|
||||||
$exception_rounding_code = $this->input->post('exception_rounding_code[' . $tax_category_id . ']');
|
|
||||||
$tax_code_rate_exceptions[] = array(
|
|
||||||
'rate_tax_code' => $entered_tax_code,
|
|
||||||
'rate_tax_category_id' => $tax_category_id,
|
|
||||||
'tax_rate' => $exception_tax_rate,
|
|
||||||
'rounding_code' => $exception_rounding_code
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if(!empty($tax_code_rate_exceptions))
|
|
||||||
{
|
|
||||||
$success = $this->Tax->save_tax_rate_exceptions($tax_code_rate_exceptions, $entered_tax_code);
|
|
||||||
}
|
|
||||||
|
|
||||||
$tax_code_data = $this->xss_clean($tax_code_data);
|
|
||||||
|
|
||||||
//New tax_code record
|
|
||||||
if($tax_code == -1)
|
|
||||||
{
|
|
||||||
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('taxes_tax_code_successfully_added') . ' ' . $entered_tax_code));
|
|
||||||
}
|
}
|
||||||
else //Existing tax_code
|
else //Existing tax_code
|
||||||
{
|
{
|
||||||
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('taxes_tax_code_successful_updated') . ' ' . $entered_tax_code));
|
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('taxes_tax_rate_successful_updated')));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else //failure
|
else
|
||||||
{
|
{
|
||||||
$tax_code_data = $this->xss_clean($tax_code_data);
|
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('taxes_tax_rate_error_adding_updating')));
|
||||||
|
|
||||||
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('taxes_tax_code_error_adding_updating') . ' ' .
|
|
||||||
$entered_tax_code));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -209,12 +398,145 @@ class Taxes extends Secure_Controller
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function suggest_sales_tax_codes()
|
public function suggest_tax_codes()
|
||||||
{
|
{
|
||||||
$suggestions = $this->xss_clean($this->Tax->get_sales_tax_codes_search_suggestions($this->input->post_get('term')));
|
$suggestions = $this->xss_clean($this->Tax_code->get_tax_codes_search_suggestions($this->input->post_get('term')));
|
||||||
|
|
||||||
echo json_encode($suggestions);
|
echo json_encode($suggestions);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public function save_tax_codes()
|
||||||
|
{
|
||||||
|
$tax_code_id = $this->input->post('tax_code_id');
|
||||||
|
$tax_code = $this->input->post('tax_code');
|
||||||
|
$tax_code_name = $this->input->post('tax_code_name');
|
||||||
|
$tax_code_id = $this->input->post('tax_code_id');
|
||||||
|
$city = $this->input->post('city');
|
||||||
|
$state = $this->input->post('state');
|
||||||
|
|
||||||
|
$array_save = array();
|
||||||
|
foreach($tax_code_id as $key=>$val)
|
||||||
|
{
|
||||||
|
$array_save[] = array('tax_code_id'=>$this->xss_clean($val), 'tax_code'=>$this->xss_clean($tax_code[$key]),
|
||||||
|
'tax_code_name'=>$this->xss_clean($tax_code_name[$key]), 'tax_code_id'=>$this->xss_clean($tax_code_id[$key]),
|
||||||
|
'city'=>$this->xss_clean($city[$key]), 'state'=>$this->xss_clean($state[$key]));
|
||||||
|
}
|
||||||
|
|
||||||
|
$success = $this->Tax_code->save_tax_codes($array_save);
|
||||||
|
|
||||||
|
echo json_encode(array(
|
||||||
|
'success' => $success,
|
||||||
|
'message' => $this->lang->line('taxes_tax_codes_saved_' . ($success ? '' : 'un') . 'successfully')
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function save_tax_jurisdictions()
|
||||||
|
{
|
||||||
|
$jurisdiction_id = $this->input->post('jurisdiction_id');
|
||||||
|
$jurisdiction_name = $this->input->post('jurisdiction_name');
|
||||||
|
$tax_group = $this->input->post('tax_group');
|
||||||
|
$tax_type = $this->input->post('tax_type');
|
||||||
|
$reporting_authority = $this->input->post('reporting_authority');
|
||||||
|
$tax_group_sequence = $this->input->post('tax_group_sequence');
|
||||||
|
$cascade_sequence = $this->input->post('cascade_sequence');
|
||||||
|
|
||||||
|
$array_save = array();
|
||||||
|
|
||||||
|
$unique_tax_groups = [];
|
||||||
|
|
||||||
|
foreach($jurisdiction_id as $key => $val)
|
||||||
|
{
|
||||||
|
$array_save[] = array(
|
||||||
|
'jurisdiction_id'=>$this->xss_clean($val),
|
||||||
|
'jurisdiction_name'=>$this->xss_clean($jurisdiction_name[$key]),
|
||||||
|
'tax_group'=>$this->xss_clean($tax_group[$key]),
|
||||||
|
'tax_type'=>$this->xss_clean($tax_type[$key]),
|
||||||
|
'reporting_authority'=>$this->xss_clean($reporting_authority[$key]),
|
||||||
|
'tax_group_sequence'=>$this->xss_clean($tax_group_sequence[$key]),
|
||||||
|
'cascade_sequence'=>$this->xss_clean($cascade_sequence[$key]));
|
||||||
|
|
||||||
|
if (array_search($tax_group[$key], $unique_tax_groups) !== false)
|
||||||
|
{
|
||||||
|
echo json_encode(array(
|
||||||
|
'success' => FALSE,
|
||||||
|
'message' => $this->lang->line('taxes_tax_group_not_unique', $tax_group[$key])
|
||||||
|
));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$unique_tax_groups[] = $tax_group[$key];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$success = $this->Tax_jurisdiction->save_jurisdictions($array_save);
|
||||||
|
|
||||||
|
echo json_encode(array(
|
||||||
|
'success' => $success,
|
||||||
|
'message' => $this->lang->line('taxes_tax_jurisdictions_saved_' . ($success ? '' : 'un') . 'successfully')
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function save_tax_categories()
|
||||||
|
{
|
||||||
|
$tax_category_id = $this->input->post('tax_category_id');
|
||||||
|
$tax_category = $this->input->post('tax_category');
|
||||||
|
$tax_group_sequence = $this->input->post('tax_group_sequence');
|
||||||
|
|
||||||
|
$array_save= array();
|
||||||
|
|
||||||
|
foreach($tax_category_id as $key => $val)
|
||||||
|
{
|
||||||
|
$array_save[] = array(
|
||||||
|
'tax_category_id'=>$this->xss_clean($val),
|
||||||
|
'tax_category'=>$this->xss_clean($tax_category[$key]),
|
||||||
|
'tax_group_sequence'=>$this->xss_clean($tax_group_sequence[$key]));
|
||||||
|
}
|
||||||
|
|
||||||
|
$success = $this->Tax_category->save_categories($array_save);
|
||||||
|
|
||||||
|
echo json_encode(array(
|
||||||
|
'success' => $success,
|
||||||
|
'message' => $this->lang->line('taxes_tax_categories_saved_' . ($success ? '' : 'un') . 'successfully')
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function ajax_tax_codes()
|
||||||
|
{
|
||||||
|
$tax_codes = $this->Tax_code->get_all()->result_array();
|
||||||
|
|
||||||
|
$tax_codes = $this->xss_clean($tax_codes);
|
||||||
|
|
||||||
|
$this->load->view('partial/tax_codes', array('tax_codes' => $tax_codes));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function ajax_tax_categories()
|
||||||
|
{
|
||||||
|
$tax_categories = $this->Tax_category->get_all()->result_array();
|
||||||
|
|
||||||
|
$tax_categories = $this->xss_clean($tax_categories);
|
||||||
|
|
||||||
|
$this->load->view('partial/tax_categories', array('tax_categories' => $tax_categories));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function ajax_tax_jurisdictions()
|
||||||
|
{
|
||||||
|
$tax_jurisdictions = $this->Tax_jurisdiction->get_all()->result_array();
|
||||||
|
|
||||||
|
if($this->config->item('tax_included') == '1')
|
||||||
|
{
|
||||||
|
$default_tax_type = Tax_lib::TAX_TYPE_INCLUDED;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$default_tax_type = Tax_lib::TAX_TYPE_EXCLUDED;
|
||||||
|
}
|
||||||
|
|
||||||
|
$tax_jurisdictions = $this->xss_clean($tax_jurisdictions);
|
||||||
|
$tax_types = $this->tax_lib->get_tax_types();
|
||||||
|
|
||||||
|
$this->load->view('partial/tax_jurisdictions', array('tax_jurisdictions' => $tax_jurisdictions, 'tax_types' => $tax_types, 'default_tax_type' => $default_tax_type));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|||||||
57
application/core/MY_Security.php
Normal file
57
application/core/MY_Security.php
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
<?php
|
||||||
|
defined('BASEPATH') or exit('No direct script access allowed');
|
||||||
|
|
||||||
|
class MY_Security extends CI_Security
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* CSRF Set Cookie with samesite
|
||||||
|
*
|
||||||
|
* @codeCoverageIgnore
|
||||||
|
* @return CI_Security
|
||||||
|
*/
|
||||||
|
public function csrf_set_cookie()
|
||||||
|
{
|
||||||
|
$expire = time() + $this->_csrf_expire;
|
||||||
|
$secure_cookie = (bool)config_item('cookie_secure');
|
||||||
|
|
||||||
|
if ($secure_cookie && !is_https())
|
||||||
|
{
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
$path = config_item('cookie_path');
|
||||||
|
|
||||||
|
if (PHP_VERSION_ID < 70300) {
|
||||||
|
|
||||||
|
if (is_https())
|
||||||
|
{
|
||||||
|
$path .= '; samesite=strict';
|
||||||
|
}
|
||||||
|
|
||||||
|
setcookie($this->_csrf_cookie_name,
|
||||||
|
$this->_csrf_hash, $expire,
|
||||||
|
$path,
|
||||||
|
config_item('cookie_domain'),
|
||||||
|
$secure_cookie,
|
||||||
|
FALSE);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$samesite = is_https() ? 'None' : 'Strict';
|
||||||
|
|
||||||
|
setcookie($this->_csrf_cookie_name,
|
||||||
|
$this->_csrf_hash,
|
||||||
|
['samesite' => $samesite,
|
||||||
|
'secure' => $secure_cookie,
|
||||||
|
'expires' => $expire,
|
||||||
|
'path' => config_item('cookie_path'),
|
||||||
|
'domain' => config_item('cookie_domain'),
|
||||||
|
'httponly' => FALSE]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
log_message('info', 'CSRF cookie sent');
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -4,25 +4,13 @@
|
|||||||
* PDF helper
|
* PDF helper
|
||||||
*/
|
*/
|
||||||
|
|
||||||
function pdf_create($html, $filename = '')
|
function create_pdf($html, $filename = '')
|
||||||
{
|
{
|
||||||
// need to enable magic quotes for the
|
// need to enable magic quotes for the
|
||||||
$magic_quotes_enabled = get_magic_quotes_runtime();
|
$dompdf = new Dompdf\Dompdf(array("isRemoteEnabled" => TRUE, "isPhpEnabled" => TRUE));
|
||||||
|
$dompdf->loadHtml(str_replace(array("\n", "\r"), '', $html));
|
||||||
if(!$magic_quotes_enabled)
|
|
||||||
{
|
|
||||||
ini_set('magic_quotes_runtime', TRUE);
|
|
||||||
}
|
|
||||||
|
|
||||||
$dompdf = new Dompdf\Dompdf();
|
|
||||||
$dompdf->loadHtml($html);
|
|
||||||
$dompdf->render();
|
$dompdf->render();
|
||||||
|
|
||||||
if(!$magic_quotes_enabled)
|
|
||||||
{
|
|
||||||
ini_set('magic_quotes_runtime', $magic_quotes_enabled);
|
|
||||||
}
|
|
||||||
|
|
||||||
if($filename != '')
|
if($filename != '')
|
||||||
{
|
{
|
||||||
$dompdf->stream($filename . '.pdf');
|
$dompdf->stream($filename . '.pdf');
|
||||||
|
|||||||
110
application/helpers/importfile_helper.php
Normal file
110
application/helpers/importfile_helper.php
Normal file
@@ -0,0 +1,110 @@
|
|||||||
|
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Generates the header content for the import_items.csv file
|
||||||
|
*
|
||||||
|
* @return string Comma separated headers for the CSV file
|
||||||
|
*/
|
||||||
|
function generate_import_items_csv($stock_locations,$attributes)
|
||||||
|
{
|
||||||
|
$csv_headers = pack("CCC",0xef,0xbb,0xbf); //Encode the Byte-Order Mark (BOM) so that UTF-8 File headers display properly in Microsoft Excel
|
||||||
|
$csv_headers .= 'Barcode,"Item Name",Category,"Supplier ID","Cost Price","Unit Price","Tax 1 Name","Tax 1 Percent","Tax 2 Name","Tax 2 Percent","Reorder Level",Description,"Allow Alt Description","Item has Serial Number",item_image,HSN';
|
||||||
|
$csv_headers .= generate_stock_location_headers($stock_locations);
|
||||||
|
$csv_headers .= generate_attribute_headers($attributes);
|
||||||
|
|
||||||
|
return $csv_headers;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Generates a list of stock location names as a string
|
||||||
|
*
|
||||||
|
* @return string Comma-separated list of stock location names
|
||||||
|
*/
|
||||||
|
function generate_stock_location_headers($locations)
|
||||||
|
{
|
||||||
|
$location_headers = "";
|
||||||
|
|
||||||
|
foreach($locations as $location_id => $location_name)
|
||||||
|
{
|
||||||
|
$location_headers .= ',"location_' . $location_name . '"';
|
||||||
|
}
|
||||||
|
|
||||||
|
return $location_headers;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Generates a list of attribute names as a string
|
||||||
|
*
|
||||||
|
* @return string Comma-separated list of attribute names
|
||||||
|
*/
|
||||||
|
function generate_attribute_headers($attribute_names)
|
||||||
|
{
|
||||||
|
$attribute_headers = "";
|
||||||
|
unset($attribute_names[-1]);
|
||||||
|
|
||||||
|
foreach($attribute_names as $attribute_name)
|
||||||
|
{
|
||||||
|
$attribute_headers .= ',"attribute_' . $attribute_name . '"';
|
||||||
|
}
|
||||||
|
|
||||||
|
return $attribute_headers;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Read the contents of a given CSV formatted file into a two-dimensional array
|
||||||
|
*
|
||||||
|
* @param string $file_name Name of the file to read.
|
||||||
|
* @return boolean|array[][] two-dimensional array with the file contents or FALSE on failure.
|
||||||
|
*/
|
||||||
|
function get_csv_file($file_name)
|
||||||
|
{
|
||||||
|
ini_set("auto_detect_line_endings", true);
|
||||||
|
|
||||||
|
if(($csv_file = fopen($file_name,'r')) !== FALSE)
|
||||||
|
{
|
||||||
|
//Skip Byte-Order Mark
|
||||||
|
if(bom_exists($csv_file) === TRUE)
|
||||||
|
{
|
||||||
|
fseek($csv_file, 3);
|
||||||
|
}
|
||||||
|
|
||||||
|
while (($data = fgetcsv($csv_file)) !== FALSE)
|
||||||
|
{
|
||||||
|
//Skip empty lines
|
||||||
|
if(array(null) !== $data)
|
||||||
|
{
|
||||||
|
$line_array[] = $data;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $line_array;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks the first three characters of a file for the Byte-Order Mark then returns the file position to the first character.
|
||||||
|
*
|
||||||
|
* @param object $file_handle File handle to check
|
||||||
|
* @return bool Returns TRUE if the BOM exists and FALSE otherwise.
|
||||||
|
*/
|
||||||
|
function bom_exists(&$file_handle)
|
||||||
|
{
|
||||||
|
$str = fread($file_handle,3);
|
||||||
|
rewind($file_handle);
|
||||||
|
|
||||||
|
$bom = pack("CCC", 0xef, 0xbb, 0xbf);
|
||||||
|
|
||||||
|
if (0 === strncmp($str, $bom, 3))
|
||||||
|
{
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
?>
|
||||||
@@ -1,5 +1,14 @@
|
|||||||
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
|
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
const DEFAULT_LANGUAGE = 'english';
|
||||||
|
const DEFAULT_LANGUAGE_CODE = 'en-US';
|
||||||
|
|
||||||
|
define('NOW', time());
|
||||||
|
define('MAX_PRECISION', 1e14);
|
||||||
|
define('DEFAULT_PRECISION', 2);
|
||||||
|
define('DEFAULT_DATE', mktime(0, 0, 0, 1, 1, 2010));
|
||||||
|
define('DEFAULT_DATETIME', mktime(0, 0, 0, 1, 1, 2010));
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Currency locale helper
|
* Currency locale helper
|
||||||
*/
|
*/
|
||||||
@@ -11,14 +20,17 @@ function current_language_code($load_system_language = FALSE)
|
|||||||
// Returns the language code of the employee if set or system language code if not
|
// Returns the language code of the employee if set or system language code if not
|
||||||
if($employee->is_logged_in() && $load_system_language != TRUE)
|
if($employee->is_logged_in() && $load_system_language != TRUE)
|
||||||
{
|
{
|
||||||
$employee_language_code = $employee->get_logged_in_employee_info()->language_code;
|
$employee_info = $employee->get_logged_in_employee_info();
|
||||||
if($employee_language_code != NULL && $employee_language_code != '')
|
|
||||||
|
if(property_exists($employee_info, 'language_code') && !empty($employee_info->language_code))
|
||||||
{
|
{
|
||||||
return $employee_language_code;
|
return $employee_info->language_code;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return get_instance()->config->item('language_code');
|
$language_code = get_instance()->config->item('language_code');
|
||||||
|
|
||||||
|
return empty($language_code) ? DEFAULT_LANGUAGE_CODE : $language_code;
|
||||||
}
|
}
|
||||||
|
|
||||||
function current_language($load_system_language = FALSE)
|
function current_language($load_system_language = FALSE)
|
||||||
@@ -28,42 +40,63 @@ function current_language($load_system_language = FALSE)
|
|||||||
// Returns the language of the employee if set or system language if not
|
// Returns the language of the employee if set or system language if not
|
||||||
if($employee->is_logged_in() && $load_system_language != TRUE)
|
if($employee->is_logged_in() && $load_system_language != TRUE)
|
||||||
{
|
{
|
||||||
$employee_language = $employee->get_logged_in_employee_info()->language;
|
$employee_info = $employee->get_logged_in_employee_info();
|
||||||
if($employee_language != NULL && $employee_language != '')
|
if(property_exists($employee_info, 'language') && !empty($employee_info->language))
|
||||||
{
|
{
|
||||||
return $employee_language;
|
return $employee_info->language;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return get_instance()->config->item('language');
|
$language = get_instance()->config->item('language');
|
||||||
|
|
||||||
|
return empty($language) ? DEFAULT_LANGUAGE : $language;
|
||||||
}
|
}
|
||||||
|
|
||||||
function get_languages()
|
function get_languages()
|
||||||
{
|
{
|
||||||
return array(
|
return array(
|
||||||
'ar-EG:arabic' => 'Arabic (Egypt)',
|
'ar-EG:arabic' => 'Arabic (Egypt)',
|
||||||
|
'ar-LB:arabic' => 'Arabic (Lebanon)',
|
||||||
'az-AZ:azerbaijani' => 'Azerbaijani (Azerbaijan)',
|
'az-AZ:azerbaijani' => 'Azerbaijani (Azerbaijan)',
|
||||||
'bg:bulgarian' => 'Bulgarian',
|
'bg:bulgarian' => 'Bulgarian',
|
||||||
|
'bs-BA:bosnian' => 'Bosnian',
|
||||||
|
'cs:czech' => 'Czech',
|
||||||
|
'da:danish' => 'Danish',
|
||||||
'de:german' => 'German (Germany)',
|
'de:german' => 'German (Germany)',
|
||||||
'de-CH:german' => 'German (Swiss)',
|
'de-CH:german' => 'German (Swiss)',
|
||||||
|
'el:greek' => 'Greek',
|
||||||
'en-GB:english' => 'English (Great Britain)',
|
'en-GB:english' => 'English (Great Britain)',
|
||||||
'en-US:english' => 'English (United States)',
|
'en-US:english' => 'English (United States)',
|
||||||
'es:spanish' => 'Spanish',
|
'es:spanish' => 'Spanish',
|
||||||
|
'es-MX:spanish' => 'Spanish (Mexico)',
|
||||||
'fr:french' => 'French',
|
'fr:french' => 'French',
|
||||||
|
'fa-IR:persian' => 'Farsi (Iran)',
|
||||||
|
'he:english' => 'Hebrew',
|
||||||
'hr-HR:croatian' => 'Croatian (Croatia)',
|
'hr-HR:croatian' => 'Croatian (Croatia)',
|
||||||
'hu-HU:hungarian' => 'Hungarian (Hungary)',
|
'hu-HU:hungarian' => 'Hungarian (Hungary)',
|
||||||
|
'hy:armenian' => 'Armenian',
|
||||||
'id:indonesian' => 'Indonesian',
|
'id:indonesian' => 'Indonesian',
|
||||||
'it:italian' => 'Italian',
|
'it:italian' => 'Italian',
|
||||||
'km:khmer' => 'Central Khmer (Cambodia)',
|
'km:khmer' => 'Central Khmer (Cambodia)',
|
||||||
'lo:lao' => 'Lao (Laos)',
|
'lo:lao' => 'Lao (Laos)',
|
||||||
|
'ml:malay' => 'Malay',
|
||||||
|
'nb:norwegian' => 'Norwegian',
|
||||||
|
'nl:dutch' => 'Dutch',
|
||||||
'nl-BE:dutch' => 'Dutch (Belgium)',
|
'nl-BE:dutch' => 'Dutch (Belgium)',
|
||||||
'pt-BR:portuguese-brazilian' => 'Portuguese (Brazil)',
|
'pl:polish' => 'Polish',
|
||||||
|
'pt-BR:portuguese' => 'Portuguese (Brazil)',
|
||||||
|
'ro:romanian' => 'Romanian',
|
||||||
'ru:russian' => 'Russian',
|
'ru:russian' => 'Russian',
|
||||||
'sv:swedish' => 'Swedish',
|
'sv:swedish' => 'Swedish',
|
||||||
|
'ta:tamil' => 'Tamil',
|
||||||
'th:thai' => 'Thai',
|
'th:thai' => 'Thai',
|
||||||
|
'tl-PH:talong' => 'Tagalog (Philippines)',
|
||||||
'tr:turkish' => 'Turkish',
|
'tr:turkish' => 'Turkish',
|
||||||
|
'uk-UA:ukrainian' => 'Ukrainian',
|
||||||
|
'ur-PK:urdu' => 'Urdu (Islamic Republic of Pakistan)',
|
||||||
'vi:vietnamese' => 'Vietnamese',
|
'vi:vietnamese' => 'Vietnamese',
|
||||||
'zh:simplified-chinese' => 'Chinese'
|
'zh-Hans:simplified-chinese' => 'Chinese Simplified Script',
|
||||||
|
'zh-Hant:traditional-chinese' => 'Chinese Traditional Script'
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -103,10 +136,11 @@ function get_timezones()
|
|||||||
'America/Chihuahua' => '(GMT-07:00) Chihuahua, La Paz, Mazatlan',
|
'America/Chihuahua' => '(GMT-07:00) Chihuahua, La Paz, Mazatlan',
|
||||||
'America/Dawson_Creek' => '(GMT-07:00) Arizona',
|
'America/Dawson_Creek' => '(GMT-07:00) Arizona',
|
||||||
'America/Belize' => '(GMT-06:00) Saskatchewan, Central America',
|
'America/Belize' => '(GMT-06:00) Saskatchewan, Central America',
|
||||||
'America/Cancun' => '(GMT-06:00) Guadalajara, Mexico City, Monterrey',
|
'America/Mexico_City' => '(GMT-06:00) Guadalajara, Mexico City, Monterrey',
|
||||||
'Chile/EasterIsland' => '(GMT-06:00) Easter Island',
|
'Chile/EasterIsland' => '(GMT-06:00) Easter Island',
|
||||||
'America/Chicago' => '(GMT-06:00) Central Time (US & Canada)',
|
'America/Chicago' => '(GMT-06:00) Central Time (US & Canada)',
|
||||||
'America/New_York' => '(GMT-05:00) Eastern Time (US & Canada)',
|
'America/New_York' => '(GMT-05:00) Eastern Time (US & Canada)',
|
||||||
|
'America/Cancun' => '(GMT-05:00) Cancun',
|
||||||
'America/Havana' => '(GMT-05:00) Cuba',
|
'America/Havana' => '(GMT-05:00) Cuba',
|
||||||
'America/Bogota' => '(GMT-05:00) Bogota, Lima, Quito, Rio Branco',
|
'America/Bogota' => '(GMT-05:00) Bogota, Lima, Quito, Rio Branco',
|
||||||
'America/Caracas' => '(GMT-04:30) Caracas',
|
'America/Caracas' => '(GMT-04:30) Caracas',
|
||||||
@@ -206,9 +240,10 @@ function get_timeformats()
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Gets the payment options
|
Gets the payment options
|
||||||
*/
|
*/
|
||||||
function get_payment_options()
|
function get_payment_options()
|
||||||
{
|
{
|
||||||
$config = get_instance()->config;
|
$config = get_instance()->config;
|
||||||
@@ -216,6 +251,7 @@ function get_payment_options()
|
|||||||
|
|
||||||
$payments = array();
|
$payments = array();
|
||||||
|
|
||||||
|
|
||||||
if($config->item('payment_options_order') == 'debitcreditcash')
|
if($config->item('payment_options_order') == 'debitcreditcash')
|
||||||
{
|
{
|
||||||
$payments[$lang->line('sales_debit')] = $lang->line('sales_debit');
|
$payments[$lang->line('sales_debit')] = $lang->line('sales_debit');
|
||||||
@@ -250,6 +286,12 @@ function get_payment_options()
|
|||||||
$payments[$lang->line('sales_due')] = $lang->line('sales_due');
|
$payments[$lang->line('sales_due')] = $lang->line('sales_due');
|
||||||
$payments[$lang->line('sales_check')] = $lang->line('sales_check');
|
$payments[$lang->line('sales_check')] = $lang->line('sales_check');
|
||||||
|
|
||||||
|
// If India (list of country codes include India) then include Unified Payment Interface
|
||||||
|
if (stripos(get_instance()->config->item('country_codes'), 'IN') !== false)
|
||||||
|
{
|
||||||
|
$payments[$lang->line('sales_upi')] = $lang->line('sales_upi');
|
||||||
|
}
|
||||||
|
|
||||||
return $payments;
|
return $payments;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -291,6 +333,20 @@ function tax_decimals()
|
|||||||
return $config->item('tax_decimals') ? $config->item('tax_decimals') : 0;
|
return $config->item('tax_decimals') ? $config->item('tax_decimals') : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function to_date($date = DEFAULT_DATE)
|
||||||
|
{
|
||||||
|
$config = get_instance()->config;
|
||||||
|
|
||||||
|
return date($config->item('dateformat'), $date);
|
||||||
|
}
|
||||||
|
|
||||||
|
function to_datetime($datetime = DEFAULT_DATETIME)
|
||||||
|
{
|
||||||
|
$config = get_instance()->config;
|
||||||
|
|
||||||
|
return date($config->item('dateformat') . ' ' . $config->item('timeformat'), $datetime);
|
||||||
|
}
|
||||||
|
|
||||||
function to_currency($number)
|
function to_currency($number)
|
||||||
{
|
{
|
||||||
return to_decimals($number, 'currency_decimals', \NumberFormatter::CURRENCY);
|
return to_decimals($number, 'currency_decimals', \NumberFormatter::CURRENCY);
|
||||||
@@ -305,13 +361,13 @@ function to_currency_tax($number)
|
|||||||
{
|
{
|
||||||
$config = get_instance()->config;
|
$config = get_instance()->config;
|
||||||
|
|
||||||
if($config->item('customer_sales_tax_support') == '1')
|
if($config->item('tax_included') == '1')
|
||||||
{
|
{
|
||||||
return to_decimals($number, 'currency_decimals', \NumberFormatter::CURRENCY);
|
return to_decimals($number, 'tax_decimals', \NumberFormatter::CURRENCY);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return to_decimals($number, 'tax_decimals', \NumberFormatter::CURRENCY);
|
return to_decimals($number, 'currency_decimals', \NumberFormatter::CURRENCY);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -332,7 +388,7 @@ function to_quantity_decimals($number)
|
|||||||
return to_decimals($number, 'quantity_decimals');
|
return to_decimals($number, 'quantity_decimals');
|
||||||
}
|
}
|
||||||
|
|
||||||
function to_decimals($number, $decimals, $type=\NumberFormatter::DECIMAL)
|
function to_decimals($number, $decimals=NULL, $type=\NumberFormatter::DECIMAL)
|
||||||
{
|
{
|
||||||
// ignore empty strings and return
|
// ignore empty strings and return
|
||||||
// NOTE: do not change it to empty otherwise tables will show a 0 with no decimal nor currency symbol
|
// NOTE: do not change it to empty otherwise tables will show a 0 with no decimal nor currency symbol
|
||||||
@@ -343,8 +399,9 @@ function to_decimals($number, $decimals, $type=\NumberFormatter::DECIMAL)
|
|||||||
|
|
||||||
$config = get_instance()->config;
|
$config = get_instance()->config;
|
||||||
$fmt = new \NumberFormatter($config->item('number_locale'), $type);
|
$fmt = new \NumberFormatter($config->item('number_locale'), $type);
|
||||||
$fmt->setAttribute(\NumberFormatter::MIN_FRACTION_DIGITS, $config->item($decimals));
|
$fmt->setAttribute(\NumberFormatter::MIN_FRACTION_DIGITS, empty($decimals) ? DEFAULT_PRECISION : $config->item($decimals));
|
||||||
$fmt->setAttribute(\NumberFormatter::MAX_FRACTION_DIGITS, $config->item($decimals));
|
$fmt->setAttribute(\NumberFormatter::MAX_FRACTION_DIGITS, empty($decimals) ? DEFAULT_PRECISION : $config->item($decimals));
|
||||||
|
|
||||||
if(empty($config->item('thousands_separator')))
|
if(empty($config->item('thousands_separator')))
|
||||||
{
|
{
|
||||||
$fmt->setAttribute(\NumberFormatter::GROUPING_SEPARATOR_SYMBOL, '');
|
$fmt->setAttribute(\NumberFormatter::GROUPING_SEPARATOR_SYMBOL, '');
|
||||||
@@ -354,18 +411,43 @@ function to_decimals($number, $decimals, $type=\NumberFormatter::DECIMAL)
|
|||||||
return $fmt->format($number);
|
return $fmt->format($number);
|
||||||
}
|
}
|
||||||
|
|
||||||
function parse_decimals($number)
|
function parse_quantity($number)
|
||||||
|
{
|
||||||
|
return parse_decimals($number, quantity_decimals());
|
||||||
|
}
|
||||||
|
|
||||||
|
function parse_tax($number)
|
||||||
|
{
|
||||||
|
return parse_decimals($number, tax_decimals());
|
||||||
|
}
|
||||||
|
|
||||||
|
function parse_decimals($number, $decimals = NULL)
|
||||||
{
|
{
|
||||||
// ignore empty strings and return
|
// ignore empty strings and return
|
||||||
|
|
||||||
if(empty($number))
|
if(empty($number))
|
||||||
{
|
{
|
||||||
return $number;
|
return $number;
|
||||||
}
|
}
|
||||||
|
|
||||||
$config = get_instance()->config;
|
if ($number > MAX_PRECISION)
|
||||||
$fmt = new \NumberFormatter($config->item('number_locale'), \NumberFormatter::DECIMAL);
|
{
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
$fmt->setAttribute(\NumberFormatter::FRACTION_DIGITS, $config->item('currency_decimals'));
|
if ($number > 1.e14)
|
||||||
|
{
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
$config = get_instance()->config;
|
||||||
|
|
||||||
|
if($decimals == NULL)
|
||||||
|
{
|
||||||
|
$decimals = $config->item('currency_decimals');
|
||||||
|
}
|
||||||
|
|
||||||
|
$fmt = new \NumberFormatter($config->item('number_locale'), \NumberFormatter::DECIMAL);
|
||||||
|
|
||||||
if(empty($config->item('thousands_separator')))
|
if(empty($config->item('thousands_separator')))
|
||||||
{
|
{
|
||||||
@@ -431,6 +513,50 @@ function dateformat_momentjs($php_format)
|
|||||||
return strtr($php_format, $SYMBOLS_MATCHING);
|
return strtr($php_format, $SYMBOLS_MATCHING);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function dateformat_mysql()
|
||||||
|
{
|
||||||
|
$config = get_instance()->config;
|
||||||
|
$php_format = $config->item('dateformat');
|
||||||
|
|
||||||
|
$SYMBOLS_MATCHING = array(
|
||||||
|
// Day
|
||||||
|
'd' => '%d',
|
||||||
|
'D' => '%a',
|
||||||
|
'j' => '%e',
|
||||||
|
'l' => '%W',
|
||||||
|
'N' => '',
|
||||||
|
'S' => '',
|
||||||
|
'w' => '',
|
||||||
|
'z' => '',
|
||||||
|
// Week
|
||||||
|
'W' => '',
|
||||||
|
// Month
|
||||||
|
'F' => '',
|
||||||
|
'm' => '%m',
|
||||||
|
'M' => '%b',
|
||||||
|
'n' => '%c',
|
||||||
|
't' => '',
|
||||||
|
// Year
|
||||||
|
'L' => '',
|
||||||
|
'o' => '',
|
||||||
|
'Y' => '%Y',
|
||||||
|
'y' => '%y',
|
||||||
|
// Time
|
||||||
|
'a' => '',
|
||||||
|
'A' => '%p',
|
||||||
|
'B' => '',
|
||||||
|
'g' => '%l',
|
||||||
|
'G' => '%k',
|
||||||
|
'h' => '%H',
|
||||||
|
'H' => '%k',
|
||||||
|
'i' => '%i',
|
||||||
|
's' => '%S',
|
||||||
|
'u' => '%f'
|
||||||
|
);
|
||||||
|
|
||||||
|
return strtr($php_format, $SYMBOLS_MATCHING);
|
||||||
|
}
|
||||||
|
|
||||||
function dateformat_bootstrap($php_format)
|
function dateformat_bootstrap($php_format)
|
||||||
{
|
{
|
||||||
$SYMBOLS_MATCHING = array(
|
$SYMBOLS_MATCHING = array(
|
||||||
@@ -472,4 +598,14 @@ function dateformat_bootstrap($php_format)
|
|||||||
return strtr($php_format, $SYMBOLS_MATCHING);
|
return strtr($php_format, $SYMBOLS_MATCHING);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function valid_date($date)
|
||||||
|
{
|
||||||
|
return preg_match('/^([0-9]{2,4})-([0-1][0-9])-([0-3][0-9])(?:( [0-2][0-9]):([0-5][0-9]):([0-5][0-9]))?$/', $date);
|
||||||
|
}
|
||||||
|
|
||||||
|
function valid_decimal($decimal)
|
||||||
|
{
|
||||||
|
return preg_match('/^(\d*\.)?\d+$/', $decimal);
|
||||||
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ function execute_script($path)
|
|||||||
$CI =& get_instance();
|
$CI =& get_instance();
|
||||||
|
|
||||||
$version = preg_replace("/(.*_)?(.*).sql/", "$2", $path);
|
$version = preg_replace("/(.*_)?(.*).sql/", "$2", $path);
|
||||||
error_log("Migrating to $version");
|
error_log("Migrating to $version (file: $path)");
|
||||||
|
|
||||||
$sql = file_get_contents($path);
|
$sql = file_get_contents($path);
|
||||||
|
|
||||||
|
|||||||
@@ -86,11 +86,12 @@ Get the html data row for the sales
|
|||||||
function get_sale_data_row($sale)
|
function get_sale_data_row($sale)
|
||||||
{
|
{
|
||||||
$CI =& get_instance();
|
$CI =& get_instance();
|
||||||
|
|
||||||
$controller_name = $CI->uri->segment(1);
|
$controller_name = $CI->uri->segment(1);
|
||||||
|
|
||||||
$row = array (
|
$row = array (
|
||||||
'sale_id' => $sale->sale_id,
|
'sale_id' => $sale->sale_id,
|
||||||
'sale_time' => date($CI->config->item('dateformat') . ' ' . $CI->config->item('timeformat'), strtotime($sale->sale_time)),
|
'sale_time' => to_datetime(strtotime($sale->sale_time)),
|
||||||
'customer_name' => $sale->customer_name,
|
'customer_name' => $sale->customer_name,
|
||||||
'amount_due' => to_currency($sale->amount_due),
|
'amount_due' => to_currency($sale->amount_due),
|
||||||
'amount_tendered' => to_currency($sale->amount_tendered),
|
'amount_tendered' => to_currency($sale->amount_tendered),
|
||||||
@@ -122,6 +123,7 @@ Get the html data last row for the sales
|
|||||||
function get_sale_data_last_row($sales)
|
function get_sale_data_last_row($sales)
|
||||||
{
|
{
|
||||||
$CI =& get_instance();
|
$CI =& get_instance();
|
||||||
|
|
||||||
$sum_amount_due = 0;
|
$sum_amount_due = 0;
|
||||||
$sum_amount_tendered = 0;
|
$sum_amount_tendered = 0;
|
||||||
$sum_change_due = 0;
|
$sum_change_due = 0;
|
||||||
@@ -145,26 +147,20 @@ function get_sale_data_last_row($sales)
|
|||||||
/*
|
/*
|
||||||
Get the sales payments summary
|
Get the sales payments summary
|
||||||
*/
|
*/
|
||||||
function get_sales_manage_payments_summary($payments, $sales)
|
function get_sales_manage_payments_summary($payments)
|
||||||
{
|
{
|
||||||
$CI =& get_instance();
|
$CI =& get_instance();
|
||||||
|
|
||||||
$table = '<div id="report_summary">';
|
$table = '<div id="report_summary">';
|
||||||
|
$total = 0;
|
||||||
|
|
||||||
foreach($payments as $key=>$payment)
|
foreach($payments as $key=>$payment)
|
||||||
{
|
{
|
||||||
$amount = $payment['payment_amount'];
|
$amount = $payment['payment_amount'];
|
||||||
|
$total = bcadd($total, $amount);
|
||||||
// WARNING: the strong assumption here is that if a change is due it was a cash transaction always
|
|
||||||
// therefore we remove from the total cash amount any change due
|
|
||||||
if( $payment['payment_type'] == $CI->lang->line('sales_cash') )
|
|
||||||
{
|
|
||||||
foreach($sales->result_array() as $key=>$sale)
|
|
||||||
{
|
|
||||||
$amount -= $sale['change_due'];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$table .= '<div class="summary_row">' . $payment['payment_type'] . ': ' . to_currency($amount) . '</div>';
|
$table .= '<div class="summary_row">' . $payment['payment_type'] . ': ' . to_currency($amount) . '</div>';
|
||||||
}
|
}
|
||||||
|
$table .= '<div class="summary_row">' . $CI->lang->line('sales_total') . ': ' . to_currency($total) . '</div>';
|
||||||
$table .= '</div>';
|
$table .= '</div>';
|
||||||
|
|
||||||
return $table;
|
return $table;
|
||||||
@@ -212,7 +208,8 @@ function get_person_data_row($person)
|
|||||||
array('class'=>'modal-dlg', 'data-btn-submit' => $CI->lang->line('common_submit'), 'title'=>$CI->lang->line('messages_sms_send'))),
|
array('class'=>'modal-dlg', 'data-btn-submit' => $CI->lang->line('common_submit'), 'title'=>$CI->lang->line('messages_sms_send'))),
|
||||||
'edit' => anchor($controller_name."/view/$person->person_id", '<span class="glyphicon glyphicon-edit"></span>',
|
'edit' => anchor($controller_name."/view/$person->person_id", '<span class="glyphicon glyphicon-edit"></span>',
|
||||||
array('class'=>'modal-dlg', 'data-btn-submit' => $CI->lang->line('common_submit'), 'title'=>$CI->lang->line($controller_name.'_update'))
|
array('class'=>'modal-dlg', 'data-btn-submit' => $CI->lang->line('common_submit'), 'title'=>$CI->lang->line($controller_name.'_update'))
|
||||||
));
|
)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -246,6 +243,7 @@ Get the html data row for the customer
|
|||||||
function get_customer_data_row($person, $stats)
|
function get_customer_data_row($person, $stats)
|
||||||
{
|
{
|
||||||
$CI =& get_instance();
|
$CI =& get_instance();
|
||||||
|
|
||||||
$controller_name = strtolower(get_class($CI));
|
$controller_name = strtolower(get_class($CI));
|
||||||
|
|
||||||
return array (
|
return array (
|
||||||
@@ -274,6 +272,7 @@ function get_suppliers_manage_table_headers()
|
|||||||
array('people.person_id' => $CI->lang->line('common_id')),
|
array('people.person_id' => $CI->lang->line('common_id')),
|
||||||
array('company_name' => $CI->lang->line('suppliers_company_name')),
|
array('company_name' => $CI->lang->line('suppliers_company_name')),
|
||||||
array('agency_name' => $CI->lang->line('suppliers_agency_name')),
|
array('agency_name' => $CI->lang->line('suppliers_agency_name')),
|
||||||
|
array('category' => $CI->lang->line('suppliers_category')),
|
||||||
array('last_name' => $CI->lang->line('common_last_name')),
|
array('last_name' => $CI->lang->line('common_last_name')),
|
||||||
array('first_name' => $CI->lang->line('common_first_name')),
|
array('first_name' => $CI->lang->line('common_first_name')),
|
||||||
array('email' => $CI->lang->line('common_email')),
|
array('email' => $CI->lang->line('common_email')),
|
||||||
@@ -294,12 +293,14 @@ Get the html data row for the supplier
|
|||||||
function get_supplier_data_row($supplier)
|
function get_supplier_data_row($supplier)
|
||||||
{
|
{
|
||||||
$CI =& get_instance();
|
$CI =& get_instance();
|
||||||
|
|
||||||
$controller_name = strtolower(get_class($CI));
|
$controller_name = strtolower(get_class($CI));
|
||||||
|
|
||||||
return array (
|
return array (
|
||||||
'people.person_id' => $supplier->person_id,
|
'people.person_id' => $supplier->person_id,
|
||||||
'company_name' => $supplier->company_name,
|
'company_name' => $supplier->company_name,
|
||||||
'agency_name' => $supplier->agency_name,
|
'agency_name' => $supplier->agency_name,
|
||||||
|
'category' => $supplier->category,
|
||||||
'last_name' => $supplier->last_name,
|
'last_name' => $supplier->last_name,
|
||||||
'first_name' => $supplier->first_name,
|
'first_name' => $supplier->first_name,
|
||||||
'email' => empty($supplier->email) ? '' : mailto($supplier->email, $supplier->email),
|
'email' => empty($supplier->email) ? '' : mailto($supplier->email, $supplier->email),
|
||||||
@@ -308,7 +309,7 @@ function get_supplier_data_row($supplier)
|
|||||||
array('class'=>"modal-dlg", 'data-btn-submit' => $CI->lang->line('common_submit'), 'title'=>$CI->lang->line('messages_sms_send'))),
|
array('class'=>"modal-dlg", 'data-btn-submit' => $CI->lang->line('common_submit'), 'title'=>$CI->lang->line('messages_sms_send'))),
|
||||||
'edit' => anchor($controller_name."/view/$supplier->person_id", '<span class="glyphicon glyphicon-edit"></span>',
|
'edit' => anchor($controller_name."/view/$supplier->person_id", '<span class="glyphicon glyphicon-edit"></span>',
|
||||||
array('class'=>"modal-dlg", 'data-btn-submit' => $CI->lang->line('common_submit'), 'title'=>$CI->lang->line($controller_name.'_update')))
|
array('class'=>"modal-dlg", 'data-btn-submit' => $CI->lang->line('common_submit'), 'title'=>$CI->lang->line($controller_name.'_update')))
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -319,6 +320,8 @@ function get_items_manage_table_headers()
|
|||||||
{
|
{
|
||||||
$CI =& get_instance();
|
$CI =& get_instance();
|
||||||
|
|
||||||
|
$definition_names = $CI->Attribute->get_definitions_by_flags(Attribute::SHOW_IN_ITEMS);
|
||||||
|
|
||||||
$headers = array(
|
$headers = array(
|
||||||
array('items.item_id' => $CI->lang->line('common_id')),
|
array('items.item_id' => $CI->lang->line('common_id')),
|
||||||
array('item_number' => $CI->lang->line('items_item_number')),
|
array('item_number' => $CI->lang->line('items_item_number')),
|
||||||
@@ -327,13 +330,29 @@ function get_items_manage_table_headers()
|
|||||||
array('company_name' => $CI->lang->line('suppliers_company_name')),
|
array('company_name' => $CI->lang->line('suppliers_company_name')),
|
||||||
array('cost_price' => $CI->lang->line('items_cost_price')),
|
array('cost_price' => $CI->lang->line('items_cost_price')),
|
||||||
array('unit_price' => $CI->lang->line('items_unit_price')),
|
array('unit_price' => $CI->lang->line('items_unit_price')),
|
||||||
array('quantity' => $CI->lang->line('items_quantity')),
|
array('quantity' => $CI->lang->line('items_quantity'))
|
||||||
array('tax_percents' => $CI->lang->line('items_tax_percents'), 'sortable' => FALSE),
|
|
||||||
array('item_pic' => $CI->lang->line('items_image'), 'sortable' => FALSE),
|
|
||||||
array('inventory' => ''),
|
|
||||||
array('stock' => '')
|
|
||||||
);
|
);
|
||||||
|
|
||||||
|
if($CI->config->item('use_destination_based_tax') == '1')
|
||||||
|
{
|
||||||
|
$headers[] = array('tax_percents' => $CI->lang->line('items_tax_category'), 'sortable' => FALSE);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$headers[] = array('tax_percents' => $CI->lang->line('items_tax_percents'), 'sortable' => FALSE);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
$headers[] = array('item_pic' => $CI->lang->line('items_image'), 'sortable' => FALSE);
|
||||||
|
|
||||||
|
foreach($definition_names as $definition_id => $definition_name)
|
||||||
|
{
|
||||||
|
$headers[] = array($definition_id => $definition_name, 'sortable' => FALSE);
|
||||||
|
}
|
||||||
|
|
||||||
|
$headers[] = array('inventory' => '');
|
||||||
|
$headers[] = array('stock' => '');
|
||||||
|
|
||||||
return transform_headers($headers);
|
return transform_headers($headers);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -343,14 +362,32 @@ Get the html data row for the item
|
|||||||
function get_item_data_row($item)
|
function get_item_data_row($item)
|
||||||
{
|
{
|
||||||
$CI =& get_instance();
|
$CI =& get_instance();
|
||||||
$item_tax_info = $CI->Item_taxes->get_info($item->item_id);
|
|
||||||
$tax_percents = '';
|
if($CI->config->item('use_destination_based_tax') == '1')
|
||||||
foreach($item_tax_info as $tax_info)
|
|
||||||
{
|
{
|
||||||
$tax_percents .= to_tax_decimals($tax_info['percent']) . '%, ';
|
if($item->tax_category_id == NULL)
|
||||||
|
{
|
||||||
|
$tax_percents = '-';
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$tax_category_info = $CI->Tax_category->get_info($item->tax_category_id);
|
||||||
|
$tax_percents = $tax_category_info->tax_category;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// remove ', ' from last item
|
else
|
||||||
$tax_percents = substr($tax_percents, 0, -2);
|
{
|
||||||
|
$item_tax_info = $CI->Item_taxes->get_info($item->item_id);
|
||||||
|
$tax_percents = '';
|
||||||
|
foreach($item_tax_info as $tax_info)
|
||||||
|
{
|
||||||
|
$tax_percents .= to_tax_decimals($tax_info['percent']) . '%, ';
|
||||||
|
}
|
||||||
|
// remove ', ' from last item
|
||||||
|
$tax_percents = substr($tax_percents, 0, -2);
|
||||||
|
$tax_percents = !$tax_percents ? '-' : $tax_percents;
|
||||||
|
}
|
||||||
|
|
||||||
$controller_name = strtolower(get_class($CI));
|
$controller_name = strtolower(get_class($CI));
|
||||||
|
|
||||||
$image = NULL;
|
$image = NULL;
|
||||||
@@ -374,7 +411,14 @@ function get_item_data_row($item)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return array (
|
if($CI->config->item('multi_pack_enabled') == '1')
|
||||||
|
{
|
||||||
|
$item->name .= NAME_SEPARATOR . $item->pack_name;
|
||||||
|
}
|
||||||
|
|
||||||
|
$definition_names = $CI->Attribute->get_definitions_by_flags(Attribute::SHOW_IN_ITEMS);
|
||||||
|
|
||||||
|
$columns = array (
|
||||||
'items.item_id' => $item->item_id,
|
'items.item_id' => $item->item_id,
|
||||||
'item_number' => $item->item_number,
|
'item_number' => $item->item_number,
|
||||||
'name' => $item->name,
|
'name' => $item->name,
|
||||||
@@ -384,7 +428,10 @@ function get_item_data_row($item)
|
|||||||
'unit_price' => to_currency($item->unit_price),
|
'unit_price' => to_currency($item->unit_price),
|
||||||
'quantity' => to_quantity_decimals($item->quantity),
|
'quantity' => to_quantity_decimals($item->quantity),
|
||||||
'tax_percents' => !$tax_percents ? '-' : $tax_percents,
|
'tax_percents' => !$tax_percents ? '-' : $tax_percents,
|
||||||
'item_pic' => $image,
|
'item_pic' => $image
|
||||||
|
);
|
||||||
|
|
||||||
|
$icons = array(
|
||||||
'inventory' => anchor($controller_name."/inventory/$item->item_id", '<span class="glyphicon glyphicon-pushpin"></span>',
|
'inventory' => anchor($controller_name."/inventory/$item->item_id", '<span class="glyphicon glyphicon-pushpin"></span>',
|
||||||
array('class' => 'modal-dlg', 'data-btn-submit' => $CI->lang->line('common_submit'), 'title' => $CI->lang->line($controller_name.'_count'))
|
array('class' => 'modal-dlg', 'data-btn-submit' => $CI->lang->line('common_submit'), 'title' => $CI->lang->line($controller_name.'_count'))
|
||||||
),
|
),
|
||||||
@@ -393,7 +440,11 @@ function get_item_data_row($item)
|
|||||||
),
|
),
|
||||||
'edit' => anchor($controller_name."/view/$item->item_id", '<span class="glyphicon glyphicon-edit"></span>',
|
'edit' => anchor($controller_name."/view/$item->item_id", '<span class="glyphicon glyphicon-edit"></span>',
|
||||||
array('class' => 'modal-dlg', 'data-btn-submit' => $CI->lang->line('common_submit'), 'title' => $CI->lang->line($controller_name.'_update'))
|
array('class' => 'modal-dlg', 'data-btn-submit' => $CI->lang->line('common_submit'), 'title' => $CI->lang->line($controller_name.'_update'))
|
||||||
));
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
return $columns + expand_attribute_values($definition_names, (array) $item) + $icons;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -421,6 +472,7 @@ Get the html data row for the giftcard
|
|||||||
function get_giftcard_data_row($giftcard)
|
function get_giftcard_data_row($giftcard)
|
||||||
{
|
{
|
||||||
$CI =& get_instance();
|
$CI =& get_instance();
|
||||||
|
|
||||||
$controller_name=strtolower(get_class($CI));
|
$controller_name=strtolower(get_class($CI));
|
||||||
|
|
||||||
return array (
|
return array (
|
||||||
@@ -431,54 +483,10 @@ function get_giftcard_data_row($giftcard)
|
|||||||
'value' => to_currency($giftcard->value),
|
'value' => to_currency($giftcard->value),
|
||||||
'edit' => anchor($controller_name."/view/$giftcard->giftcard_id", '<span class="glyphicon glyphicon-edit"></span>',
|
'edit' => anchor($controller_name."/view/$giftcard->giftcard_id", '<span class="glyphicon glyphicon-edit"></span>',
|
||||||
array('class'=>'modal-dlg', 'data-btn-submit' => $CI->lang->line('common_submit'), 'title'=>$CI->lang->line($controller_name.'_update'))
|
array('class'=>'modal-dlg', 'data-btn-submit' => $CI->lang->line('common_submit'), 'title'=>$CI->lang->line($controller_name.'_update'))
|
||||||
));
|
)
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
Get the header for the taxes tabular view
|
|
||||||
*/
|
|
||||||
function get_taxes_manage_table_headers()
|
|
||||||
{
|
|
||||||
$CI =& get_instance();
|
|
||||||
|
|
||||||
$headers = array(
|
|
||||||
array('tax_code' => $CI->lang->line('taxes_tax_code')),
|
|
||||||
array('tax_code_name' => $CI->lang->line('taxes_tax_code_name')),
|
|
||||||
array('tax_code_type_name' => $CI->lang->line('taxes_tax_code_type')),
|
|
||||||
array('tax_rate' => $CI->lang->line('taxes_tax_rate')),
|
|
||||||
array('rounding_code_name' => $CI->lang->line('taxes_rounding_code')),
|
|
||||||
array('city' => $CI->lang->line('common_city')),
|
|
||||||
array('state' => $CI->lang->line('common_state'))
|
|
||||||
);
|
);
|
||||||
|
|
||||||
return transform_headers($headers);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
Get the html data row for the tax
|
|
||||||
*/
|
|
||||||
function get_tax_data_row($tax_code_row)
|
|
||||||
{
|
|
||||||
$CI =& get_instance();
|
|
||||||
$controller_name=strtolower(get_class($CI));
|
|
||||||
|
|
||||||
return array (
|
|
||||||
'tax_code' => $tax_code_row->tax_code,
|
|
||||||
'tax_code_name' => $tax_code_row->tax_code_name,
|
|
||||||
'tax_code_type' => $tax_code_row->tax_code_type,
|
|
||||||
'tax_rate' => $tax_code_row->tax_rate,
|
|
||||||
'rounding_code' =>$tax_code_row->rounding_code,
|
|
||||||
'tax_code_type_name' => $CI->Tax->get_tax_code_type_name($tax_code_row->tax_code_type),
|
|
||||||
'rounding_code_name' => Rounding_mode::get_rounding_code_name($tax_code_row->rounding_code),
|
|
||||||
'city' => $tax_code_row->city,
|
|
||||||
'state' => $tax_code_row->state,
|
|
||||||
'edit' => anchor($controller_name."/view/$tax_code_row->tax_code", '<span class="glyphicon glyphicon-edit"></span>',
|
|
||||||
array('class'=>'modal-dlg', 'data-btn-submit' => $CI->lang->line('common_submit'), 'title'=>$CI->lang->line($controller_name.'_update'))
|
|
||||||
));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Get the header for the item kits tabular view
|
Get the header for the item kits tabular view
|
||||||
*/
|
*/
|
||||||
@@ -488,6 +496,7 @@ function get_item_kits_manage_table_headers()
|
|||||||
|
|
||||||
$headers = array(
|
$headers = array(
|
||||||
array('item_kit_id' => $CI->lang->line('item_kits_kit')),
|
array('item_kit_id' => $CI->lang->line('item_kits_kit')),
|
||||||
|
array('item_kit_number' => $CI->lang->line('item_kits_item_kit_number')),
|
||||||
array('name' => $CI->lang->line('item_kits_name')),
|
array('name' => $CI->lang->line('item_kits_name')),
|
||||||
array('description' => $CI->lang->line('item_kits_description')),
|
array('description' => $CI->lang->line('item_kits_description')),
|
||||||
array('total_cost_price' => $CI->lang->line('items_cost_price'), 'sortable' => FALSE),
|
array('total_cost_price' => $CI->lang->line('items_cost_price'), 'sortable' => FALSE),
|
||||||
@@ -503,19 +512,106 @@ Get the html data row for the item kit
|
|||||||
function get_item_kit_data_row($item_kit)
|
function get_item_kit_data_row($item_kit)
|
||||||
{
|
{
|
||||||
$CI =& get_instance();
|
$CI =& get_instance();
|
||||||
|
|
||||||
$controller_name = strtolower(get_class($CI));
|
$controller_name = strtolower(get_class($CI));
|
||||||
|
|
||||||
return array (
|
return array (
|
||||||
'item_kit_id' => $item_kit->item_kit_id,
|
'item_kit_id' => $item_kit->item_kit_id,
|
||||||
|
'item_kit_number' => $item_kit->item_kit_number,
|
||||||
'name' => $item_kit->name,
|
'name' => $item_kit->name,
|
||||||
'description' => $item_kit->description,
|
'description' => $item_kit->description,
|
||||||
'total_cost_price' => to_currency($item_kit->total_cost_price),
|
'total_cost_price' => to_currency($item_kit->total_cost_price),
|
||||||
'total_unit_price' => to_currency($item_kit->total_unit_price),
|
'total_unit_price' => to_currency($item_kit->total_unit_price),
|
||||||
'edit' => anchor($controller_name."/view/$item_kit->item_kit_id", '<span class="glyphicon glyphicon-edit"></span>',
|
'edit' => anchor($controller_name."/view/$item_kit->item_kit_id", '<span class="glyphicon glyphicon-edit"></span>',
|
||||||
array('class'=>'modal-dlg', 'data-btn-submit' => $CI->lang->line('common_submit'), 'title'=>$CI->lang->line($controller_name.'_update'))
|
array('class'=>'modal-dlg', 'data-btn-submit' => $CI->lang->line('common_submit'), 'title'=>$CI->lang->line($controller_name.'_update'))
|
||||||
));
|
)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function parse_attribute_values($columns, $row) {
|
||||||
|
$attribute_values = array();
|
||||||
|
foreach($columns as $column) {
|
||||||
|
if (array_key_exists($column, $row))
|
||||||
|
{
|
||||||
|
$attribute_value = explode('|', $row[$column]);
|
||||||
|
$attribute_values = array_merge($attribute_values, $attribute_value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $attribute_values;
|
||||||
|
}
|
||||||
|
|
||||||
|
function expand_attribute_values($definition_names, $row)
|
||||||
|
{
|
||||||
|
$values = parse_attribute_values(array('attribute_values', 'attribute_dtvalues', 'attribute_dvalues'), $row);
|
||||||
|
|
||||||
|
$indexed_values = array();
|
||||||
|
foreach($values as $attribute_value)
|
||||||
|
{
|
||||||
|
$exploded_value = explode('_', $attribute_value);
|
||||||
|
if(sizeof($exploded_value) > 1)
|
||||||
|
{
|
||||||
|
$indexed_values[$exploded_value[0]] = $exploded_value[1];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$attribute_values = array();
|
||||||
|
foreach($definition_names as $definition_id => $definition_name)
|
||||||
|
{
|
||||||
|
if(isset($indexed_values[$definition_id]))
|
||||||
|
{
|
||||||
|
$attribute_value = $indexed_values[$definition_id];
|
||||||
|
$attribute_values["$definition_id"] = $attribute_value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $attribute_values;
|
||||||
|
}
|
||||||
|
|
||||||
|
function get_attribute_definition_manage_table_headers()
|
||||||
|
{
|
||||||
|
$CI =& get_instance();
|
||||||
|
|
||||||
|
$headers = array(
|
||||||
|
array('definition_id' => $CI->lang->line('attributes_definition_id')),
|
||||||
|
array('definition_name' => $CI->lang->line('attributes_definition_name')),
|
||||||
|
array('definition_type' => $CI->lang->line('attributes_definition_type')),
|
||||||
|
array('definition_flags' => $CI->lang->line('attributes_definition_flags')),
|
||||||
|
array('definition_group' => $CI->lang->line('attributes_definition_group')),
|
||||||
|
);
|
||||||
|
|
||||||
|
return transform_headers($headers);
|
||||||
|
}
|
||||||
|
|
||||||
|
function get_attribute_definition_data_row($attribute)
|
||||||
|
{
|
||||||
|
$CI =& get_instance();
|
||||||
|
|
||||||
|
$controller_name = strtolower(get_class($CI));
|
||||||
|
|
||||||
|
if(count($attribute->definition_flags) == 0)
|
||||||
|
{
|
||||||
|
$definition_flags = $CI->lang->line('common_none_selected_text');
|
||||||
|
}
|
||||||
|
else if($attribute->definition_type == GROUP)
|
||||||
|
{
|
||||||
|
$definition_flags = "-";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$definition_flags = implode(', ', $attribute->definition_flags);
|
||||||
|
}
|
||||||
|
|
||||||
|
return array (
|
||||||
|
'definition_id' => $attribute->definition_id,
|
||||||
|
'definition_name' => $attribute->definition_name,
|
||||||
|
'definition_type' => $attribute->definition_type,
|
||||||
|
'definition_group' => $attribute->definition_group,
|
||||||
|
'definition_flags' => $definition_flags,
|
||||||
|
'edit' => anchor("$controller_name/view/$attribute->definition_id", '<span class="glyphicon glyphicon-edit"></span>',
|
||||||
|
array('class'=>'modal-dlg', 'data-btn-submit' => $CI->lang->line('common_submit'), 'title'=>$CI->lang->line($controller_name.'_update'))
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Get the header for the expense categories tabular view
|
Get the header for the expense categories tabular view
|
||||||
@@ -539,6 +635,7 @@ Gets the html data row for the expenses category
|
|||||||
function get_expense_category_data_row($expense_category)
|
function get_expense_category_data_row($expense_category)
|
||||||
{
|
{
|
||||||
$CI =& get_instance();
|
$CI =& get_instance();
|
||||||
|
|
||||||
$controller_name = strtolower(get_class($CI));
|
$controller_name = strtolower(get_class($CI));
|
||||||
|
|
||||||
return array (
|
return array (
|
||||||
@@ -547,7 +644,8 @@ function get_expense_category_data_row($expense_category)
|
|||||||
'category_description' => $expense_category->category_description,
|
'category_description' => $expense_category->category_description,
|
||||||
'edit' => anchor($controller_name."/view/$expense_category->expense_category_id", '<span class="glyphicon glyphicon-edit"></span>',
|
'edit' => anchor($controller_name."/view/$expense_category->expense_category_id", '<span class="glyphicon glyphicon-edit"></span>',
|
||||||
array('class'=>'modal-dlg', 'data-btn-submit' => $CI->lang->line('common_submit'), 'title'=>$CI->lang->line($controller_name.'_update'))
|
array('class'=>'modal-dlg', 'data-btn-submit' => $CI->lang->line('common_submit'), 'title'=>$CI->lang->line($controller_name.'_update'))
|
||||||
));
|
)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -557,6 +655,7 @@ Get the header for the expenses tabular view
|
|||||||
function get_expenses_manage_table_headers()
|
function get_expenses_manage_table_headers()
|
||||||
{
|
{
|
||||||
$CI =& get_instance();
|
$CI =& get_instance();
|
||||||
|
|
||||||
$headers = array(
|
$headers = array(
|
||||||
array('expense_id' => $CI->lang->line('expenses_expense_id')),
|
array('expense_id' => $CI->lang->line('expenses_expense_id')),
|
||||||
array('date' => $CI->lang->line('expenses_date')),
|
array('date' => $CI->lang->line('expenses_date')),
|
||||||
@@ -567,22 +666,24 @@ function get_expenses_manage_table_headers()
|
|||||||
array('payment_type' => $CI->lang->line('expenses_payment')),
|
array('payment_type' => $CI->lang->line('expenses_payment')),
|
||||||
array('category_name' => $CI->lang->line('expenses_categories_name')),
|
array('category_name' => $CI->lang->line('expenses_categories_name')),
|
||||||
array('description' => $CI->lang->line('expenses_description')),
|
array('description' => $CI->lang->line('expenses_description')),
|
||||||
array('createdBy' => $CI->lang->line('expenses_employee'))
|
array('created_by' => $CI->lang->line('expenses_employee'))
|
||||||
);
|
);
|
||||||
|
|
||||||
return transform_headers($headers);
|
return transform_headers($headers);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Gets the html data row for the expenses.
|
Gets the html data row for the expenses
|
||||||
*/
|
*/
|
||||||
function get_expenses_data_row($expense)
|
function get_expenses_data_row($expense)
|
||||||
{
|
{
|
||||||
$CI =& get_instance();
|
$CI =& get_instance();
|
||||||
|
|
||||||
$controller_name = strtolower(get_class($CI));
|
$controller_name = strtolower(get_class($CI));
|
||||||
|
|
||||||
return array (
|
return array (
|
||||||
'expense_id' => $expense->expense_id,
|
'expense_id' => $expense->expense_id,
|
||||||
'date' => date($CI->config->item('dateformat') . ' ' . $CI->config->item('timeformat'), strtotime($expense->date)),
|
'date' => to_datetime(strtotime($expense->date)),
|
||||||
'supplier_name' => $expense->supplier_name,
|
'supplier_name' => $expense->supplier_name,
|
||||||
'supplier_tax_code' => $expense->supplier_tax_code,
|
'supplier_tax_code' => $expense->supplier_tax_code,
|
||||||
'amount' => to_currency($expense->amount),
|
'amount' => to_currency($expense->amount),
|
||||||
@@ -590,10 +691,11 @@ function get_expenses_data_row($expense)
|
|||||||
'payment_type' => $expense->payment_type,
|
'payment_type' => $expense->payment_type,
|
||||||
'category_name' => $expense->category_name,
|
'category_name' => $expense->category_name,
|
||||||
'description' => $expense->description,
|
'description' => $expense->description,
|
||||||
'createdBy' => $expense->first_name.' '. $expense->last_name,
|
'created_by' => $expense->first_name.' '. $expense->last_name,
|
||||||
'edit' => anchor($controller_name."/view/$expense->expense_id", '<span class="glyphicon glyphicon-edit"></span>',
|
'edit' => anchor($controller_name."/view/$expense->expense_id", '<span class="glyphicon glyphicon-edit"></span>',
|
||||||
array('class'=>'modal-dlg', 'data-btn-submit' => $CI->lang->line('common_submit'), 'title'=>$CI->lang->line($controller_name.'_update'))
|
array('class'=>'modal-dlg', 'data-btn-submit' => $CI->lang->line('common_submit'), 'title'=>$CI->lang->line($controller_name.'_update'))
|
||||||
));
|
)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -602,6 +704,7 @@ Get the html data last row for the expenses
|
|||||||
function get_expenses_data_last_row($expense)
|
function get_expenses_data_last_row($expense)
|
||||||
{
|
{
|
||||||
$CI =& get_instance();
|
$CI =& get_instance();
|
||||||
|
|
||||||
$table_data_rows = '';
|
$table_data_rows = '';
|
||||||
$sum_amount_expense = 0;
|
$sum_amount_expense = 0;
|
||||||
$sum_tax_amount_expense = 0;
|
$sum_tax_amount_expense = 0;
|
||||||
@@ -626,6 +729,7 @@ Get the expenses payments summary
|
|||||||
function get_expenses_manage_payments_summary($payments, $expenses)
|
function get_expenses_manage_payments_summary($payments, $expenses)
|
||||||
{
|
{
|
||||||
$CI =& get_instance();
|
$CI =& get_instance();
|
||||||
|
|
||||||
$table = '<div id="report_summary">';
|
$table = '<div id="report_summary">';
|
||||||
|
|
||||||
foreach($payments as $key=>$payment)
|
foreach($payments as $key=>$payment)
|
||||||
@@ -633,9 +737,65 @@ function get_expenses_manage_payments_summary($payments, $expenses)
|
|||||||
$amount = $payment['amount'];
|
$amount = $payment['amount'];
|
||||||
$table .= '<div class="summary_row">' . $payment['payment_type'] . ': ' . to_currency($amount) . '</div>';
|
$table .= '<div class="summary_row">' . $payment['payment_type'] . ': ' . to_currency($amount) . '</div>';
|
||||||
}
|
}
|
||||||
|
|
||||||
$table .= '</div>';
|
$table .= '</div>';
|
||||||
|
|
||||||
return $table;
|
return $table;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
Get the header for the cashup tabular view
|
||||||
|
*/
|
||||||
|
function get_cashups_manage_table_headers()
|
||||||
|
{
|
||||||
|
$CI =& get_instance();
|
||||||
|
|
||||||
|
$headers = array(
|
||||||
|
array('cashup_id' => $CI->lang->line('cashups_id')),
|
||||||
|
array('open_date' => $CI->lang->line('cashups_opened_date')),
|
||||||
|
array('open_employee_id' => $CI->lang->line('cashups_open_employee')),
|
||||||
|
array('open_amount_cash' => $CI->lang->line('cashups_open_amount_cash')),
|
||||||
|
array('transfer_amount_cash' => $CI->lang->line('cashups_transfer_amount_cash')),
|
||||||
|
array('close_date' => $CI->lang->line('cashups_closed_date')),
|
||||||
|
array('close_employee_id' => $CI->lang->line('cashups_close_employee')),
|
||||||
|
array('closed_amount_cash' => $CI->lang->line('cashups_closed_amount_cash')),
|
||||||
|
array('note' => $CI->lang->line('cashups_note')),
|
||||||
|
array('closed_amount_due' => $CI->lang->line('cashups_closed_amount_due')),
|
||||||
|
array('closed_amount_card' => $CI->lang->line('cashups_closed_amount_card')),
|
||||||
|
array('closed_amount_check' => $CI->lang->line('cashups_closed_amount_check')),
|
||||||
|
array('closed_amount_total' => $CI->lang->line('cashups_closed_amount_total'))
|
||||||
|
);
|
||||||
|
|
||||||
|
return transform_headers($headers);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
Gets the html data row for the cashups
|
||||||
|
*/
|
||||||
|
function get_cash_up_data_row($cash_up)
|
||||||
|
{
|
||||||
|
$CI =& get_instance();
|
||||||
|
|
||||||
|
$controller_name = strtolower(get_class($CI));
|
||||||
|
|
||||||
|
return array (
|
||||||
|
'cashup_id' => $cash_up->cashup_id,
|
||||||
|
'open_date' => to_datetime(strtotime($cash_up->open_date)),
|
||||||
|
'open_employee_id' => $cash_up->open_first_name . ' ' . $cash_up->open_last_name,
|
||||||
|
'open_amount_cash' => to_currency($cash_up->open_amount_cash),
|
||||||
|
'transfer_amount_cash' => to_currency($cash_up->transfer_amount_cash),
|
||||||
|
'close_date' => to_datetime(strtotime($cash_up->close_date)),
|
||||||
|
'close_employee_id' => $cash_up->close_first_name . ' ' . $cash_up->close_last_name,
|
||||||
|
'closed_amount_cash' => to_currency($cash_up->closed_amount_cash),
|
||||||
|
'note' => $cash_up->note ? '<span class="glyphicon glyphicon-ok"></span>' : '<span class="glyphicon glyphicon-remove"></span>',
|
||||||
|
'closed_amount_due' => to_currency($cash_up->closed_amount_due),
|
||||||
|
'closed_amount_card' => to_currency($cash_up->closed_amount_card),
|
||||||
|
'closed_amount_check' => to_currency($cash_up->closed_amount_check),
|
||||||
|
'closed_amount_total' => to_currency($cash_up->closed_amount_total),
|
||||||
|
'edit' => anchor($controller_name."/view/$cash_up->cashup_id", '<span class="glyphicon glyphicon-edit"></span>',
|
||||||
|
array('class'=>'modal-dlg', 'data-btn-submit' => $CI->lang->line('common_submit'), 'title'=>$CI->lang->line($controller_name.'_update'))
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
?>
|
?>
|
||||||
|
|||||||
158
application/helpers/tax_helper.php
Normal file
158
application/helpers/tax_helper.php
Normal file
@@ -0,0 +1,158 @@
|
|||||||
|
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Tax Configuration tabular helpers
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
Get the header for the taxes tabular view
|
||||||
|
*/
|
||||||
|
function get_tax_code_table_headers()
|
||||||
|
{
|
||||||
|
$CI =& get_instance();
|
||||||
|
|
||||||
|
$headers = array(
|
||||||
|
array('tax_code' => $CI->lang->line('taxes_tax_code')),
|
||||||
|
array('tax_code_name' => $CI->lang->line('taxes_tax_code_name')),
|
||||||
|
array('city' => $CI->lang->line('common_city')),
|
||||||
|
array('state' => $CI->lang->line('common_state'))
|
||||||
|
);
|
||||||
|
|
||||||
|
return transform_headers($headers);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
Get the html data row for the tax
|
||||||
|
*/
|
||||||
|
function get_tax_code_data_row($tax_code_row)
|
||||||
|
{
|
||||||
|
$CI =& get_instance();
|
||||||
|
|
||||||
|
$controller_name = 'tax_codes';
|
||||||
|
|
||||||
|
return array (
|
||||||
|
'tax_code' => $tax_code_row->tax_code,
|
||||||
|
'tax_code_name' => $tax_code_row->tax_code_name,
|
||||||
|
'tax_code_type' => $tax_code_row->tax_code_type,
|
||||||
|
'city' => $tax_code_row->city,
|
||||||
|
'state' => $tax_code_row->state,
|
||||||
|
'edit' => anchor($controller_name."/view_tax_codes/$tax_code_row->tax_code", '<span class="glyphicon glyphicon-edit"></span>',
|
||||||
|
array('class'=>'modal-dlg', 'data-btn-submit' => $CI->lang->line('common_submit'), 'title'=>$CI->lang->line($controller_name.'_update_tax_codes'))
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
Get the header for the taxes tabular view
|
||||||
|
*/
|
||||||
|
function get_tax_categories_table_headers()
|
||||||
|
{
|
||||||
|
$CI =& get_instance();
|
||||||
|
|
||||||
|
$headers = array(
|
||||||
|
array('tax_category' => $CI->lang->line('taxes_tax_category_name')),
|
||||||
|
array('tax_category_code' => $CI->lang->line('taxes_tax_category_code')),
|
||||||
|
array('tax_group_sequence' => $CI->lang->line('taxes_tax_group_sequence')),
|
||||||
|
);
|
||||||
|
|
||||||
|
return transform_headers($headers);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
Get the html data row for the tax
|
||||||
|
*/
|
||||||
|
function get_tax_categories_data_row($tax_categories_row)
|
||||||
|
{
|
||||||
|
$CI =& get_instance();
|
||||||
|
|
||||||
|
$controller_name = 'tax_categories';
|
||||||
|
|
||||||
|
return array (
|
||||||
|
'tax_category_id' => $tax_categories_row->tax_category_id,
|
||||||
|
'tax_category' => $tax_categories_row->tax_category,
|
||||||
|
'tax_category_code' => $tax_categories_row->tax_category_code,
|
||||||
|
'tax_group_sequence' => $tax_categories_row->tax_group_sequence,
|
||||||
|
'edit' => anchor($controller_name."/view/$tax_categories_row->tax_category_id", '<span class="glyphicon glyphicon-edit"></span>',
|
||||||
|
array('class'=>'modal-dlg', 'data-btn-submit' => $CI->lang->line('common_submit'), 'title'=>$CI->lang->line($controller_name.'_update'))
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
Get the header for the taxes tabular view
|
||||||
|
*/
|
||||||
|
function get_tax_jurisdictions_table_headers()
|
||||||
|
{
|
||||||
|
$CI =& get_instance();
|
||||||
|
|
||||||
|
$headers = array(
|
||||||
|
array('jurisdiction_id' => $CI->lang->line('taxes_jurisdiction_id')),
|
||||||
|
array('jurisdiction_name' => $CI->lang->line('taxes_jurisdiction_name')),
|
||||||
|
array('reporting_authority' => $CI->lang->line('taxes_reporting_authority'))
|
||||||
|
);
|
||||||
|
|
||||||
|
return transform_headers($headers);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
Get the html data row for the tax
|
||||||
|
*/
|
||||||
|
function get_tax_jurisdictions_data_row($tax_jurisdiction_row)
|
||||||
|
{
|
||||||
|
$CI =& get_instance();
|
||||||
|
$controller_name='tax_jurisdictions';
|
||||||
|
|
||||||
|
return array (
|
||||||
|
'jurisdiction_id' => $tax_jurisdiction_row->jurisdiction_id,
|
||||||
|
'jurisdiction_name' => $tax_jurisdiction_row->jurisdiction_name,
|
||||||
|
'reporting_authority' => $tax_jurisdiction_row->reporting_authority,
|
||||||
|
'edit' => anchor($controller_name."/view/$tax_jurisdiction_row->jurisdiction_id", '<span class="glyphicon glyphicon-edit"></span>',
|
||||||
|
array('class'=>'modal-dlg', 'data-btn-submit' => $CI->lang->line('common_submit'), 'title'=>$CI->lang->line($controller_name.'_update'))
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
Get the header for the taxes tabular view
|
||||||
|
*/
|
||||||
|
function get_tax_rates_manage_table_headers()
|
||||||
|
{
|
||||||
|
$CI =& get_instance();
|
||||||
|
|
||||||
|
$headers = array(
|
||||||
|
array('tax_code' => $CI->lang->line('taxes_tax_code')),
|
||||||
|
array('tax_code_name' => $CI->lang->line('taxes_tax_code_name')),
|
||||||
|
array('jurisdiction_name' => $CI->lang->line('taxes_jurisdiction_name')),
|
||||||
|
array('tax_category' => $CI->lang->line('taxes_tax_category')),
|
||||||
|
array('tax_rate' => $CI->lang->line('taxes_tax_rate')),
|
||||||
|
array('rounding_code_name' => $CI->lang->line('taxes_rounding_code'))
|
||||||
|
);
|
||||||
|
|
||||||
|
return transform_headers($headers);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
Get the html data row for the tax
|
||||||
|
*/
|
||||||
|
function get_tax_rates_data_row($tax_rates_row)
|
||||||
|
{
|
||||||
|
$CI =& get_instance();
|
||||||
|
|
||||||
|
$controller_name = strtolower(get_class($CI));
|
||||||
|
|
||||||
|
return array (
|
||||||
|
'tax_rate_id' => $tax_rates_row->tax_rate_id,
|
||||||
|
'tax_code' => $tax_rates_row->tax_code,
|
||||||
|
'tax_code_name' => $tax_rates_row->tax_code_name,
|
||||||
|
'tax_category' => $tax_rates_row->tax_category,
|
||||||
|
'tax_rate' => $tax_rates_row->tax_rate,
|
||||||
|
'jurisdiction_name' => $tax_rates_row->jurisdiction_name,
|
||||||
|
'tax_rounding_code' =>$tax_rates_row->tax_rounding_code,
|
||||||
|
'rounding_code_name' => Rounding_mode::get_rounding_code_name($tax_rates_row->tax_rounding_code),
|
||||||
|
'edit' => anchor($controller_name."/view/$tax_rates_row->tax_rate_id", '<span class="glyphicon glyphicon-edit"></span>',
|
||||||
|
array('class'=>'modal-dlg', 'data-btn-submit' => $CI->lang->line('common_submit'), 'title'=>$CI->lang->line($controller_name.'_update'))
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
?>
|
||||||
@@ -7,25 +7,28 @@ function load_config()
|
|||||||
{
|
{
|
||||||
$CI =& get_instance();
|
$CI =& get_instance();
|
||||||
|
|
||||||
|
$migration = $CI->load->library('migration');
|
||||||
|
if (!$CI->migration->is_latest())
|
||||||
|
{
|
||||||
|
$CI->session->sess_destroy();
|
||||||
|
}
|
||||||
|
|
||||||
foreach($CI->Appconfig->get_all()->result() as $app_config)
|
foreach($CI->Appconfig->get_all()->result() as $app_config)
|
||||||
{
|
{
|
||||||
$CI->config->set_item($CI->security->xss_clean($app_config->key), $CI->security->xss_clean($app_config->value));
|
$CI->config->set_item($CI->security->xss_clean($app_config->key), $CI->security->xss_clean($app_config->value));
|
||||||
}
|
}
|
||||||
|
|
||||||
//Loads all the language files from the language directory
|
|
||||||
if(!empty(current_language()))
|
|
||||||
{
|
|
||||||
// fallback to English if language folder does not exist
|
|
||||||
if(!file_exists('../application/language/' . current_language_code()))
|
|
||||||
{
|
|
||||||
$CI->config->set_item('language', 'english');
|
|
||||||
$CI->config->set_item('language_code', 'en-US');
|
|
||||||
}
|
|
||||||
|
|
||||||
_load_language_files($CI, '../vendor/codeigniter/framework/system/language', current_language());
|
// fallback to English if language settings are not correct
|
||||||
_load_language_files($CI, '../application/language', current_language_code());
|
$file_exists = !file_exists('../application/language/' . current_language_code());
|
||||||
|
if(current_language_code() == null || current_language() == null || $file_exists)
|
||||||
|
{
|
||||||
|
$CI->config->set_item('language', 'english');
|
||||||
|
$CI->config->set_item('language_code', 'en-US');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_load_language_files($CI, '../vendor/codeigniter/framework/system/language', current_language());
|
||||||
|
_load_language_files($CI, '../application/language', current_language_code());
|
||||||
|
|
||||||
//Set timezone from config database
|
//Set timezone from config database
|
||||||
if($CI->config->item('timezone'))
|
if($CI->config->item('timezone'))
|
||||||
{
|
{
|
||||||
|
|||||||
16
application/hooks/save_hook.php
Normal file
16
application/hooks/save_hook.php
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
function validate_save()
|
||||||
|
{
|
||||||
|
|
||||||
|
$url = $_SERVER['REQUEST_URI'];
|
||||||
|
|
||||||
|
$is_save = preg_match('/save\/\d*?/', $url);
|
||||||
|
|
||||||
|
if($is_save && $_SERVER["REQUEST_METHOD"] != "POST" && empty($_POST))
|
||||||
|
{
|
||||||
|
echo "Method not allowed";
|
||||||
|
die;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -2,9 +2,7 @@ ISO Language Code Table
|
|||||||
-----------------------
|
-----------------------
|
||||||
|
|
||||||
Code Name
|
Code Name
|
||||||
af Afrikaans
|
|
||||||
af-ZA Afrikaans (South Africa)
|
af-ZA Afrikaans (South Africa)
|
||||||
ar Arabic
|
|
||||||
ar-AE Arabic (U.A.E.)
|
ar-AE Arabic (U.A.E.)
|
||||||
ar-BH Arabic (Bahrain)
|
ar-BH Arabic (Bahrain)
|
||||||
ar-DZ Arabic (Algeria)
|
ar-DZ Arabic (Algeria)
|
||||||
@@ -21,33 +19,22 @@ ar-SA Arabic (Saudi Arabia)
|
|||||||
ar-SY Arabic (Syria)
|
ar-SY Arabic (Syria)
|
||||||
ar-TN Arabic (Tunisia)
|
ar-TN Arabic (Tunisia)
|
||||||
ar-YE Arabic (Yemen)
|
ar-YE Arabic (Yemen)
|
||||||
az Azeri (Latin)
|
|
||||||
az-AZ Azeri (Latin) (Azerbaijan)
|
az-AZ Azeri (Latin) (Azerbaijan)
|
||||||
az-AZ Azeri (Cyrillic) (Azerbaijan)
|
az-AZ Azeri (Cyrillic) (Azerbaijan)
|
||||||
be Belarusian
|
|
||||||
be-BY Belarusian (Belarus)
|
be-BY Belarusian (Belarus)
|
||||||
bg Bulgarian
|
|
||||||
bg-BG Bulgarian (Bulgaria)
|
bg-BG Bulgarian (Bulgaria)
|
||||||
bs-BA Bosnian (Bosnia and Herzegovina)
|
bs-BA Bosnian (Bosnia and Herzegovina)
|
||||||
ca Catalan
|
|
||||||
ca-ES Catalan (Spain)
|
ca-ES Catalan (Spain)
|
||||||
cs Czech
|
|
||||||
cs-CZ Czech (Czech Republic)
|
cs-CZ Czech (Czech Republic)
|
||||||
cy Welsh
|
|
||||||
cy-GB Welsh (United Kingdom)
|
cy-GB Welsh (United Kingdom)
|
||||||
da Danish
|
|
||||||
da-DK Danish (Denmark)
|
da-DK Danish (Denmark)
|
||||||
de German
|
|
||||||
de-AT German (Austria)
|
de-AT German (Austria)
|
||||||
de-CH German (Switzerland)
|
de-CH German (Switzerland)
|
||||||
de-DE German (Germany)
|
de-DE German (Germany)
|
||||||
de-LI German (Liechtenstein)
|
de-LI German (Liechtenstein)
|
||||||
de-LU German (Luxembourg)
|
de-LU German (Luxembourg)
|
||||||
dv Divehi
|
|
||||||
dv-MV Divehi (Maldives)
|
dv-MV Divehi (Maldives)
|
||||||
el Greek
|
|
||||||
el-GR Greek (Greece)
|
el-GR Greek (Greece)
|
||||||
en English
|
|
||||||
en-AU English (Australia)
|
en-AU English (Australia)
|
||||||
en-BZ English (Belize)
|
en-BZ English (Belize)
|
||||||
en-CA English (Canada)
|
en-CA English (Canada)
|
||||||
@@ -61,8 +48,6 @@ en-TT English (Trinidad and Tobago)
|
|||||||
en-US English (United States)
|
en-US English (United States)
|
||||||
en-ZA English (South Africa)
|
en-ZA English (South Africa)
|
||||||
en-ZW English (Zimbabwe)
|
en-ZW English (Zimbabwe)
|
||||||
eo Esperanto
|
|
||||||
es Spanish
|
|
||||||
es-AR Spanish (Argentina)
|
es-AR Spanish (Argentina)
|
||||||
es-BO Spanish (Bolivia)
|
es-BO Spanish (Bolivia)
|
||||||
es-CL Spanish (Chile)
|
es-CL Spanish (Chile)
|
||||||
@@ -83,104 +68,61 @@ es-PY Spanish (Paraguay)
|
|||||||
es-SV Spanish (El Salvador)
|
es-SV Spanish (El Salvador)
|
||||||
es-UY Spanish (Uruguay)
|
es-UY Spanish (Uruguay)
|
||||||
es-VE Spanish (Venezuela)
|
es-VE Spanish (Venezuela)
|
||||||
et Estonian
|
|
||||||
et-EE Estonian (Estonia)
|
et-EE Estonian (Estonia)
|
||||||
eu Basque
|
|
||||||
eu-ES Basque (Spain)
|
eu-ES Basque (Spain)
|
||||||
fa Farsi
|
|
||||||
fa-IR Farsi (Iran)
|
fa-IR Farsi (Iran)
|
||||||
fi Finnish
|
|
||||||
fi-FI Finnish (Finland)
|
fi-FI Finnish (Finland)
|
||||||
fo Faroese
|
|
||||||
fo-FO Faroese (Faroe Islands)
|
fo-FO Faroese (Faroe Islands)
|
||||||
fr French
|
|
||||||
fr-BE French (Belgium)
|
fr-BE French (Belgium)
|
||||||
fr-CA French (Canada)
|
fr-CA French (Canada)
|
||||||
fr-CH French (Switzerland)
|
fr-CH French (Switzerland)
|
||||||
fr-FR French (France)
|
fr-FR French (France)
|
||||||
fr-LU French (Luxembourg)
|
fr-LU French (Luxembourg)
|
||||||
fr-MC French (Principality of Monaco)
|
fr-MC French (Principality of Monaco)
|
||||||
gl Galician
|
|
||||||
gl-ES Galician (Spain)
|
gl-ES Galician (Spain)
|
||||||
gu Gujarati
|
|
||||||
gu-IN Gujarati (India)
|
gu-IN Gujarati (India)
|
||||||
he Hebrew
|
|
||||||
he-IL Hebrew (Israel)
|
he-IL Hebrew (Israel)
|
||||||
hi Hindi
|
|
||||||
hi-IN Hindi (India)
|
hi-IN Hindi (India)
|
||||||
hr Croatian
|
|
||||||
hr-BA Croatian (Bosnia and Herzegovina)
|
hr-BA Croatian (Bosnia and Herzegovina)
|
||||||
hr-HR Croatian (Croatia)
|
hr-HR Croatian (Croatia)
|
||||||
hu Hungarian
|
|
||||||
hu-HU Hungarian (Hungary)
|
hu-HU Hungarian (Hungary)
|
||||||
hy Armenian
|
|
||||||
hy-AM Armenian (Armenia)
|
hy-AM Armenian (Armenia)
|
||||||
id Indonesian
|
|
||||||
id-ID Indonesian (Indonesia)
|
id-ID Indonesian (Indonesia)
|
||||||
is Icelandic
|
|
||||||
is-IS Icelandic (Iceland)
|
is-IS Icelandic (Iceland)
|
||||||
it Italian
|
|
||||||
it-CH Italian (Switzerland)
|
it-CH Italian (Switzerland)
|
||||||
it-IT Italian (Italy)
|
it-IT Italian (Italy)
|
||||||
ja Japanese
|
|
||||||
ja-JP Japanese (Japan)
|
ja-JP Japanese (Japan)
|
||||||
ka Georgian
|
|
||||||
ka-GE Georgian (Georgia)
|
ka-GE Georgian (Georgia)
|
||||||
kk Kazakh
|
|
||||||
kk-KZ Kazakh (Kazakhstan)
|
kk-KZ Kazakh (Kazakhstan)
|
||||||
kn Kannada
|
|
||||||
kn-IN Kannada (India)
|
kn-IN Kannada (India)
|
||||||
ko Korean
|
|
||||||
ko-KR Korean (Korea)
|
ko-KR Korean (Korea)
|
||||||
kok Konkani
|
|
||||||
kok-IN Konkani (India)
|
kok-IN Konkani (India)
|
||||||
ky Kyrgyz
|
|
||||||
ky-KG Kyrgyz (Kyrgyzstan)
|
ky-KG Kyrgyz (Kyrgyzstan)
|
||||||
lt Lithuanian
|
|
||||||
lt-LT Lithuanian (Lithuania)
|
lt-LT Lithuanian (Lithuania)
|
||||||
lv Latvian
|
|
||||||
lv-LV Latvian (Latvia)
|
lv-LV Latvian (Latvia)
|
||||||
mi Maori
|
|
||||||
mi-NZ Maori (New Zealand)
|
mi-NZ Maori (New Zealand)
|
||||||
mk FYRO Macedonian
|
|
||||||
mk-MK FYRO Macedonian (Former Yugoslav Republic of Macedonia)
|
mk-MK FYRO Macedonian (Former Yugoslav Republic of Macedonia)
|
||||||
mn Mongolian
|
|
||||||
mn-MN Mongolian (Mongolia)
|
mn-MN Mongolian (Mongolia)
|
||||||
mr Marathi
|
|
||||||
mr-IN Marathi (India)
|
mr-IN Marathi (India)
|
||||||
ms Malay
|
|
||||||
ms-BN Malay (Brunei Darussalam)
|
ms-BN Malay (Brunei Darussalam)
|
||||||
ms-MY Malay (Malaysia)
|
ms-MY Malay (Malaysia)
|
||||||
mt Maltese
|
|
||||||
mt-MT Maltese (Malta)
|
mt-MT Maltese (Malta)
|
||||||
nb Norwegian (Bokm?l)
|
|
||||||
nb-NO Norwegian (Bokm?l) (Norway)
|
nb-NO Norwegian (Bokm?l) (Norway)
|
||||||
nl Dutch
|
|
||||||
nl-BE Dutch (Belgium)
|
nl-BE Dutch (Belgium)
|
||||||
nl-NL Dutch (Netherlands)
|
nl-NL Dutch (Netherlands)
|
||||||
nn-NO Norwegian (Nynorsk) (Norway)
|
nn-NO Norwegian (Nynorsk) (Norway)
|
||||||
ns Northern Sotho
|
|
||||||
ns-ZA Northern Sotho (South Africa)
|
ns-ZA Northern Sotho (South Africa)
|
||||||
pa Punjabi
|
|
||||||
pa-IN Punjabi (India)
|
pa-IN Punjabi (India)
|
||||||
pl Polish
|
|
||||||
pl-PL Polish (Poland)
|
pl-PL Polish (Poland)
|
||||||
ps Pashto
|
|
||||||
ps-AR Pashto (Afghanistan)
|
ps-AR Pashto (Afghanistan)
|
||||||
pt Portuguese
|
|
||||||
pt-BR Portuguese (Brazil)
|
pt-BR Portuguese (Brazil)
|
||||||
pt-PT Portuguese (Portugal)
|
pt-PT Portuguese (Portugal)
|
||||||
qu Quechua
|
|
||||||
qu-BO Quechua (Bolivia)
|
qu-BO Quechua (Bolivia)
|
||||||
qu-EC Quechua (Ecuador)
|
qu-EC Quechua (Ecuador)
|
||||||
qu-PE Quechua (Peru)
|
qu-PE Quechua (Peru)
|
||||||
ro Romanian
|
|
||||||
ro-RO Romanian (Romania)
|
ro-RO Romanian (Romania)
|
||||||
ru Russian
|
|
||||||
ru-RU Russian (Russia)
|
ru-RU Russian (Russia)
|
||||||
sa Sanskrit
|
|
||||||
sa-IN Sanskrit (India)
|
sa-IN Sanskrit (India)
|
||||||
se Sami (Northern)
|
|
||||||
se-FI Sami (Northern) (Finland)
|
se-FI Sami (Northern) (Finland)
|
||||||
se-FI Sami (Skolt) (Finland)
|
se-FI Sami (Skolt) (Finland)
|
||||||
se-FI Sami (Inari) (Finland)
|
se-FI Sami (Inari) (Finland)
|
||||||
@@ -190,55 +132,35 @@ se-NO Sami (Southern) (Norway)
|
|||||||
se-SE Sami (Northern) (Sweden)
|
se-SE Sami (Northern) (Sweden)
|
||||||
se-SE Sami (Lule) (Sweden)
|
se-SE Sami (Lule) (Sweden)
|
||||||
se-SE Sami (Southern) (Sweden)
|
se-SE Sami (Southern) (Sweden)
|
||||||
sk Slovak
|
|
||||||
sk-SK Slovak (Slovakia)
|
sk-SK Slovak (Slovakia)
|
||||||
sl Slovenian
|
|
||||||
sl-SI Slovenian (Slovenia)
|
sl-SI Slovenian (Slovenia)
|
||||||
sq Albanian
|
|
||||||
sq-AL Albanian (Albania)
|
sq-AL Albanian (Albania)
|
||||||
sr-BA Serbian (Latin) (Bosnia and Herzegovina)
|
sr-BA Serbian (Latin) (Bosnia and Herzegovina)
|
||||||
sr-BA Serbian (Cyrillic) (Bosnia and Herzegovina)
|
sr-BA Serbian (Cyrillic) (Bosnia and Herzegovina)
|
||||||
sr-SP Serbian (Latin) (Serbia and Montenegro)
|
sr-SP Serbian (Latin) (Serbia and Montenegro)
|
||||||
sr-SP Serbian (Cyrillic) (Serbia and Montenegro)
|
sr-SP Serbian (Cyrillic) (Serbia and Montenegro)
|
||||||
sv Swedish
|
|
||||||
sv-FI Swedish (Finland)
|
sv-FI Swedish (Finland)
|
||||||
sv-SE Swedish (Sweden)
|
sv-SE Swedish (Sweden)
|
||||||
sw Swahili
|
|
||||||
sw-KE Swahili (Kenya)
|
sw-KE Swahili (Kenya)
|
||||||
syr Syriac
|
|
||||||
syr-SY Syriac (Syria)
|
syr-SY Syriac (Syria)
|
||||||
ta Tamil
|
|
||||||
ta-IN Tamil (India)
|
ta-IN Tamil (India)
|
||||||
te Telugu
|
|
||||||
te-IN Telugu (India)
|
te-IN Telugu (India)
|
||||||
th Thai
|
|
||||||
th-TH Thai (Thailand)
|
th-TH Thai (Thailand)
|
||||||
tl Tagalog
|
|
||||||
tl-PH Tagalog (Philippines)
|
tl-PH Tagalog (Philippines)
|
||||||
tn Tswana
|
|
||||||
tn-ZA Tswana (South Africa)
|
tn-ZA Tswana (South Africa)
|
||||||
tr Turkish
|
|
||||||
tr-TR Turkish (Turkey)
|
tr-TR Turkish (Turkey)
|
||||||
tt Tatar
|
|
||||||
tt-RU Tatar (Russia)
|
tt-RU Tatar (Russia)
|
||||||
ts Tsonga
|
|
||||||
uk Ukrainian
|
|
||||||
uk-UA Ukrainian (Ukraine)
|
uk-UA Ukrainian (Ukraine)
|
||||||
ur Urdu
|
|
||||||
ur-PK Urdu (Islamic Republic of Pakistan)
|
ur-PK Urdu (Islamic Republic of Pakistan)
|
||||||
uz Uzbek (Latin)
|
|
||||||
uz-UZ Uzbek (Latin) (Uzbekistan)
|
uz-UZ Uzbek (Latin) (Uzbekistan)
|
||||||
uz-UZ Uzbek (Cyrillic) (Uzbekistan)
|
uz-UZ Uzbek (Cyrillic) (Uzbekistan)
|
||||||
vi Vietnamese
|
|
||||||
vi-VN Vietnamese (Viet Nam)
|
vi-VN Vietnamese (Viet Nam)
|
||||||
xh Xhosa
|
|
||||||
xh-ZA Xhosa (South Africa)
|
xh-ZA Xhosa (South Africa)
|
||||||
zh Chinese
|
|
||||||
zh-CN Chinese (S)
|
zh-CN Chinese (S)
|
||||||
|
zh-Hans Chinese in the simplified scrip
|
||||||
|
zh-Hant Chinese in the traditional script
|
||||||
zh-HK Chinese (Hong Kong)
|
zh-HK Chinese (Hong Kong)
|
||||||
zh-MO Chinese (Macau)
|
zh-MO Chinese (Macau)
|
||||||
zh-SG Chinese (Singapore)
|
zh-SG Chinese (Singapore)
|
||||||
zh-TW Chinese (T)
|
zh-TW Chinese (T)
|
||||||
zu Zulu
|
|
||||||
zu-ZA Zulu (South Africa)
|
zu-ZA Zulu (South Africa)
|
||||||
|
|
||||||
|
|||||||
31
application/language/ar-EG/attributes_lang.php
Normal file
31
application/language/ar-EG/attributes_lang.php
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
$lang["attributes_attribute_value_invalid_chars"] = "الميزات لا يمكن أن تحتوي على ':' أو'|'";
|
||||||
|
$lang["attributes_confirm_delete"] = "هل أنت متأكد من أنك تريد حذف الميزات المحددة ؟";
|
||||||
|
$lang["attributes_confirm_restore"] = "هل أنت متأكد من أنك تريد استعادة السمة (السمات) المحددة؟";
|
||||||
|
$lang["attributes_definition_cannot_be_deleted"] = "لا يمكن حذف السمات المحددة";
|
||||||
|
$lang["attributes_definition_error_adding_updating"] = "لا يمكن إضافة السمة ٪1 أو تحديثها. يرجى التحقق من سجل الخطأ.";
|
||||||
|
$lang["attributes_definition_flags"] = "رؤية الميزات";
|
||||||
|
$lang["attributes_definition_group"] = "المجموعة";
|
||||||
|
$lang["attributes_definition_id"] = "كود";
|
||||||
|
$lang["attributes_definition_name"] = "إضافة ميزة";
|
||||||
|
$lang["attributes_definition_name_required"] = "اسم الميزة هي خانة اجبارية";
|
||||||
|
$lang["attributes_definition_one_or_multiple"] = "ميزة/ميزات";
|
||||||
|
$lang["attributes_definition_successful_adding"] = "لقد تم إضافة صنف بنجاح";
|
||||||
|
$lang["attributes_definition_successful_deleted"] = "لقد تم حذف ميزة بنجاح";
|
||||||
|
$lang["attributes_definition_successful_updating"] = "تم تعديل الميزة بنجاح";
|
||||||
|
$lang["attributes_definition_type"] = "نوع الميزة";
|
||||||
|
$lang["attributes_definition_type_required"] = "نوع الميزة هي خانة إجبارية";
|
||||||
|
$lang["attributes_definition_unit"] = "وحدة قياس";
|
||||||
|
$lang["attributes_definition_values"] = "قيمة الميزة";
|
||||||
|
$lang["attributes_new"] = "اضافة ميزة جديده";
|
||||||
|
$lang["attributes_no_attributes_to_display"] = "لا يوجد اصناف للعرض";
|
||||||
|
$lang["attributes_receipt_visibility"] = "وصل";
|
||||||
|
$lang["attributes_show_in_items"] = "اظهار في الصنف";
|
||||||
|
$lang["attributes_show_in_items_visibility"] = "الصنف";
|
||||||
|
$lang["attributes_show_in_receipt"] = "اظهار على الوصل";
|
||||||
|
$lang["attributes_show_in_receivings"] = "اظهار في استلام البضائع";
|
||||||
|
$lang["attributes_show_in_receivings_visibility"] = "استلام البضائع";
|
||||||
|
$lang["attributes_show_in_sales"] = "اظهار خلال البيع";
|
||||||
|
$lang["attributes_show_in_sales_visibility"] = "البيع";
|
||||||
|
$lang["attributes_update"] = "تحديث الميزات";
|
||||||
@@ -3,7 +3,7 @@
|
|||||||
$lang["tables_all"] = "الجميع";
|
$lang["tables_all"] = "الجميع";
|
||||||
$lang["tables_columns"] = "أعمدة";
|
$lang["tables_columns"] = "أعمدة";
|
||||||
$lang["tables_hide_show_pagination"] = "عرض/إخفاء أرقام الصفحات";
|
$lang["tables_hide_show_pagination"] = "عرض/إخفاء أرقام الصفحات";
|
||||||
$lang["tables_loading"] = "جارى التحميل، برجاء الإنتظار";
|
$lang["tables_loading"] = "جارى التحميل، برجاء الإنتظار ...";
|
||||||
$lang["tables_page_from_to"] = "عرض {0} إلى {1} من {2} صفوف";
|
$lang["tables_page_from_to"] = "عرض {0} إلى {1} من {2} صفوف";
|
||||||
$lang["tables_refresh"] = "إعادة تحميل";
|
$lang["tables_refresh"] = "إعادة تحميل";
|
||||||
$lang["tables_rows_per_page"] = "{0} صف بالصفحة";
|
$lang["tables_rows_per_page"] = "{0} صف بالصفحة";
|
||||||
|
|||||||
38
application/language/ar-EG/cashups_lang.php
Normal file
38
application/language/ar-EG/cashups_lang.php
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
$lang["cashups_amount"] = "قيمة المبلغ";
|
||||||
|
$lang["cashups_amount_number"] = "قيمة المبلغ يجب ان تتكون من ارقام";
|
||||||
|
$lang["cashups_amount_required"] = "قيمة المبلغ هي خانة إجبارية.";
|
||||||
|
$lang["cashups_cannot_be_deleted"] = "لا يمكن حذف الصندوق النقدي";
|
||||||
|
$lang["cashups_close_date"] = "تاريخ تسكير الصندوق";
|
||||||
|
$lang["cashups_close_employee"] = "تم التسكير من قبل";
|
||||||
|
$lang["cashups_closed_amount_card"] = "بطاقات ائتمان";
|
||||||
|
$lang["cashups_closed_amount_cash"] = "الصندوق النقدي";
|
||||||
|
$lang["cashups_closed_amount_check"] = "شيكات";
|
||||||
|
$lang["cashups_closed_amount_due"] = "الديون";
|
||||||
|
$lang["cashups_closed_amount_total"] = "المجموع";
|
||||||
|
$lang["cashups_closed_date"] = "تاريخ تسكير الصندوق";
|
||||||
|
$lang["cashups_confirm_delete"] = "هل انت متأكد من حذف الصندوق النقدي؟";
|
||||||
|
$lang["cashups_confirm_restore"] = "هل انت متأكد من استعادة الصندوق النقدي؟";
|
||||||
|
$lang["cashups_date_number"] = "التاريخ يجب ان يكون مكون من ارقام";
|
||||||
|
$lang["cashups_date_required"] = "التاريخ هي خانة اجبارية";
|
||||||
|
$lang["cashups_description"] = "الوصف";
|
||||||
|
$lang["cashups_error_adding_updating"] = "خطأ في تعديل او اضافة صندوق نقدي";
|
||||||
|
$lang["cashups_id"] = "كود";
|
||||||
|
$lang["cashups_info"] = "معلومات عن الصندوق النقدي";
|
||||||
|
$lang["cashups_is_deleted"] = "محذوف";
|
||||||
|
$lang["cashups_new"] = "صندوق نقدي جديد";
|
||||||
|
$lang["cashups_no_cashups_to_display"] = "لا يوجد صناديق نقدية للاظهار";
|
||||||
|
$lang["cashups_none_selected"] = "لم يتم اختيار اي صندوق نقدي";
|
||||||
|
$lang["cashups_note"] = "ملاحظات";
|
||||||
|
$lang["cashups_one_or_multiple"] = "صندوق او صناديق نقدية";
|
||||||
|
$lang["cashups_open_amount_cash"] = "بداية صندوق نقدي";
|
||||||
|
$lang["cashups_open_date"] = "تاريخ بداية الصندوق النقدي";
|
||||||
|
$lang["cashups_open_employee"] = "تمت بداية الصندوق النقدي من قبل";
|
||||||
|
$lang["cashups_opened_date"] = "تاريخ بداية الصندوق النقدي";
|
||||||
|
$lang["cashups_successful_adding"] = "تمت إضافة الصندوق النقدي بنجاح";
|
||||||
|
$lang["cashups_successful_deleted"] = "تم حذف الصندوق النقدي بنجاح";
|
||||||
|
$lang["cashups_successful_updating"] = "تم تعديل الصندوق النقدي بنجاح";
|
||||||
|
$lang["cashups_total"] = "المجموع";
|
||||||
|
$lang["cashups_transfer_amount_cash"] = "حركة الصندوق";
|
||||||
|
$lang["cashups_update"] = "تعديل/تحديث الصندوق النقدي";
|
||||||
@@ -7,6 +7,8 @@ $lang["common_close"] = "إغلاق";
|
|||||||
$lang["common_comments"] = "تعليقات";
|
$lang["common_comments"] = "تعليقات";
|
||||||
$lang["common_common"] = "عام";
|
$lang["common_common"] = "عام";
|
||||||
$lang["common_confirm_search"] = "لقد قمت اختيار أكتر من سجل، سوف تفقد هذه الاختيارات عند إرسال البحث، موافق؟";
|
$lang["common_confirm_search"] = "لقد قمت اختيار أكتر من سجل، سوف تفقد هذه الاختيارات عند إرسال البحث، موافق؟";
|
||||||
|
$lang["common_copyrights"] = "© 2010 - %1";
|
||||||
|
$lang["common_correct_errors"] = "يرجى تصحيح الأخطاء المحددة قبل الحفظ";
|
||||||
$lang["common_country"] = "البلد";
|
$lang["common_country"] = "البلد";
|
||||||
$lang["common_date"] = "التاريخ";
|
$lang["common_date"] = "التاريخ";
|
||||||
$lang["common_delete"] = "حذف";
|
$lang["common_delete"] = "حذف";
|
||||||
@@ -15,9 +17,9 @@ $lang["common_download_import_template"] = "تنزيل قالب الاستيرا
|
|||||||
$lang["common_edit"] = "تحرير";
|
$lang["common_edit"] = "تحرير";
|
||||||
$lang["common_email"] = "بريد إلكتروني";
|
$lang["common_email"] = "بريد إلكتروني";
|
||||||
$lang["common_email_invalid_format"] = "شكل البريد الإلكتروني غير صحيح.";
|
$lang["common_email_invalid_format"] = "شكل البريد الإلكتروني غير صحيح.";
|
||||||
$lang["common_export_excel"] = "تصدير إلى اكسل";
|
$lang["common_export_csv"] = "تصدير إلى اكسل";
|
||||||
$lang["common_export_excel_no"] = "لا";
|
$lang["common_export_csv_no"] = "لا";
|
||||||
$lang["common_export_excel_yes"] = "نعم";
|
$lang["common_export_csv_yes"] = "نعم";
|
||||||
$lang["common_fields_required_message"] = "الحقول التي بالأحمر مطلوبة";
|
$lang["common_fields_required_message"] = "الحقول التي بالأحمر مطلوبة";
|
||||||
$lang["common_first_name"] = "الاسم الأول";
|
$lang["common_first_name"] = "الاسم الأول";
|
||||||
$lang["common_first_name_required"] = "الاسم الأول مطلوب.";
|
$lang["common_first_name_required"] = "الاسم الأول مطلوب.";
|
||||||
@@ -25,10 +27,11 @@ $lang["common_first_page"] = "الأول";
|
|||||||
$lang["common_gender"] = "النوع";
|
$lang["common_gender"] = "النوع";
|
||||||
$lang["common_gender_female"] = "أنثى";
|
$lang["common_gender_female"] = "أنثى";
|
||||||
$lang["common_gender_male"] = "ذكر";
|
$lang["common_gender_male"] = "ذكر";
|
||||||
|
$lang["common_gender_undefined"] = "";
|
||||||
$lang["common_id"] = "كود";
|
$lang["common_id"] = "كود";
|
||||||
$lang["common_import"] = "استيراد";
|
$lang["common_import"] = "استيراد";
|
||||||
$lang["common_import_change_file"] = "تغيير";
|
$lang["common_import_change_file"] = "تغيير";
|
||||||
$lang["common_import_excel"] = "استيراد من اكسل";
|
$lang["common_import_csv"] = "استيراد من اكسل";
|
||||||
$lang["common_import_full_path"] = "المسار الكامل لملف اكسل مطلوب";
|
$lang["common_import_full_path"] = "المسار الكامل لملف اكسل مطلوب";
|
||||||
$lang["common_import_remove_file"] = "إزالة";
|
$lang["common_import_remove_file"] = "إزالة";
|
||||||
$lang["common_import_select_file"] = "اختار ملف";
|
$lang["common_import_select_file"] = "اختار ملف";
|
||||||
@@ -39,9 +42,11 @@ $lang["common_last_page"] = "الأخيرة";
|
|||||||
$lang["common_learn_about_project"] = "للتعرف على أخر المعلومات حول المشروع.";
|
$lang["common_learn_about_project"] = "للتعرف على أخر المعلومات حول المشروع.";
|
||||||
$lang["common_list_of"] = "قائمة بـ";
|
$lang["common_list_of"] = "قائمة بـ";
|
||||||
$lang["common_logout"] = "خروج";
|
$lang["common_logout"] = "خروج";
|
||||||
|
$lang["common_migration_needed"] = "سيبدأ ترحيل قاعدة البيانات إلى ٪1 بعد تسجيل الدخول.";
|
||||||
$lang["common_new"] = "جديد";
|
$lang["common_new"] = "جديد";
|
||||||
|
$lang["common_no"] = "";
|
||||||
$lang["common_no_persons_to_display"] = "لا يوجد اناس لعرضهم.";
|
$lang["common_no_persons_to_display"] = "لا يوجد اناس لعرضهم.";
|
||||||
$lang["common_none_selected_text"] = "لم يتم اختيار شيء.";
|
$lang["common_none_selected_text"] = "[إختيار]";
|
||||||
$lang["common_or"] = "أو";
|
$lang["common_or"] = "أو";
|
||||||
$lang["common_phone_number"] = "رقم التليفون";
|
$lang["common_phone_number"] = "رقم التليفون";
|
||||||
$lang["common_phone_number_required"] = "رقم التليفون مطلوب";
|
$lang["common_phone_number_required"] = "رقم التليفون مطلوب";
|
||||||
@@ -64,5 +69,6 @@ $lang["common_view_recent_sales"] = "عرض أحدث المبيعات";
|
|||||||
$lang["common_website"] = "الموقع الإلكترونى";
|
$lang["common_website"] = "الموقع الإلكترونى";
|
||||||
$lang["common_welcome"] = "مرحباً";
|
$lang["common_welcome"] = "مرحباً";
|
||||||
$lang["common_welcome_message"] = "مرحباً فى OSPOS برجاء إختيار أى قسم للبدء.";
|
$lang["common_welcome_message"] = "مرحباً فى OSPOS برجاء إختيار أى قسم للبدء.";
|
||||||
|
$lang["common_yes"] = "";
|
||||||
$lang["common_you_are_using_ospos"] = "أنت تستخدم إصدار Open Source Point Of Sale";
|
$lang["common_you_are_using_ospos"] = "أنت تستخدم إصدار Open Source Point Of Sale";
|
||||||
$lang["common_zip"] = "الرقم البريدى";
|
$lang["common_zip"] = "الرقم البريدى";
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
$lang["config_address"] = "عنوان الشركة";
|
$lang["config_address"] = "عنوان الشركة";
|
||||||
$lang["config_address_required"] = "عنوان الشركة مطلوب.";
|
$lang["config_address_required"] = "عنوان الشركة مطلوب.";
|
||||||
|
$lang["config_all_set"] = "All file permissions are set correctly!";
|
||||||
$lang["config_allow_duplicate_barcodes"] = "السماح بتشابة الباركود";
|
$lang["config_allow_duplicate_barcodes"] = "السماح بتشابة الباركود";
|
||||||
$lang["config_apostrophe"] = "الفاصلة";
|
$lang["config_apostrophe"] = "الفاصلة";
|
||||||
$lang["config_backup_button"] = "نسخ إحتياطى";
|
$lang["config_backup_button"] = "نسخ إحتياطى";
|
||||||
@@ -32,6 +34,7 @@ $lang["config_bottom"] = "الأسفل";
|
|||||||
$lang["config_cash_decimals"] = "فواصل النقدية";
|
$lang["config_cash_decimals"] = "فواصل النقدية";
|
||||||
$lang["config_cash_decimals_tooltip"] = "إذا كانت الكسور العشرية النقدية وعشرية العملات هي نفسها ثم لن يتم تقريب النقدية.";
|
$lang["config_cash_decimals_tooltip"] = "إذا كانت الكسور العشرية النقدية وعشرية العملات هي نفسها ثم لن يتم تقريب النقدية.";
|
||||||
$lang["config_cash_rounding"] = "التقريب النقدي";
|
$lang["config_cash_rounding"] = "التقريب النقدي";
|
||||||
|
$lang["config_category_dropdown"] = "";
|
||||||
$lang["config_center"] = "الوسط";
|
$lang["config_center"] = "الوسط";
|
||||||
$lang["config_comma"] = "فاصلة";
|
$lang["config_comma"] = "فاصلة";
|
||||||
$lang["config_company"] = "اسم الشركة";
|
$lang["config_company"] = "اسم الشركة";
|
||||||
@@ -43,18 +46,9 @@ $lang["config_company_select_image"] = "اختار صورة";
|
|||||||
$lang["config_company_website_url"] = "الموقع الإلكترونى للشركة غير صحيح.";
|
$lang["config_company_website_url"] = "الموقع الإلكترونى للشركة غير صحيح.";
|
||||||
$lang["config_country_codes"] = "أكواد الدولة";
|
$lang["config_country_codes"] = "أكواد الدولة";
|
||||||
$lang["config_country_codes_tooltip"] = "قائمة مفصولة بفاصلة لاسماء الدول للبحث.";
|
$lang["config_country_codes_tooltip"] = "قائمة مفصولة بفاصلة لاسماء الدول للبحث.";
|
||||||
|
$lang["config_currency_code"] = "رمز العملة";
|
||||||
$lang["config_currency_decimals"] = "العلامة العشرية للعملة";
|
$lang["config_currency_decimals"] = "العلامة العشرية للعملة";
|
||||||
$lang["config_currency_symbol"] = "رمز العملة";
|
$lang["config_currency_symbol"] = "رمز العملة";
|
||||||
$lang["config_custom1"] = "حقل مخصص 1";
|
|
||||||
$lang["config_custom10"] = "حقل مخصص 10";
|
|
||||||
$lang["config_custom2"] = "حقل مخصص 2";
|
|
||||||
$lang["config_custom3"] = "حقل مخصص 3";
|
|
||||||
$lang["config_custom4"] = "حقل مخصص 4";
|
|
||||||
$lang["config_custom5"] = "حقل مخصص 5";
|
|
||||||
$lang["config_custom6"] = "حقل مخصص 6";
|
|
||||||
$lang["config_custom7"] = "حقل مخصص 7";
|
|
||||||
$lang["config_custom8"] = "حقل مخصص 8";
|
|
||||||
$lang["config_custom9"] = "حقل مخصص 9";
|
|
||||||
$lang["config_customer_reward"] = "المكافآت";
|
$lang["config_customer_reward"] = "المكافآت";
|
||||||
$lang["config_customer_reward_duplicate"] = "المكافئة يجب ان تكون فريدة.";
|
$lang["config_customer_reward_duplicate"] = "المكافئة يجب ان تكون فريدة.";
|
||||||
$lang["config_customer_reward_enable"] = "تمكين مكافآت العميل";
|
$lang["config_customer_reward_enable"] = "تمكين مكافآت العميل";
|
||||||
@@ -76,10 +70,17 @@ $lang["config_default_barcode_page_width_number"] = "عرض الصفحة الا
|
|||||||
$lang["config_default_barcode_page_width_required"] = "عرض الصفحة الافتراضي للباركود مطلوب.";
|
$lang["config_default_barcode_page_width_required"] = "عرض الصفحة الافتراضي للباركود مطلوب.";
|
||||||
$lang["config_default_barcode_width_number"] = "العرض الافتراضي للباركود لابد ان يكون رقم.";
|
$lang["config_default_barcode_width_number"] = "العرض الافتراضي للباركود لابد ان يكون رقم.";
|
||||||
$lang["config_default_barcode_width_required"] = "العرض الافتراضي للباركود مطلوب.";
|
$lang["config_default_barcode_width_required"] = "العرض الافتراضي للباركود مطلوب.";
|
||||||
|
$lang["config_default_item_columns"] = "الخانات المراد إظهارها";
|
||||||
$lang["config_default_origin_tax_code"] = "كود الضريبة الاساسي الافتراضي";
|
$lang["config_default_origin_tax_code"] = "كود الضريبة الاساسي الافتراضي";
|
||||||
$lang["config_default_sales_discount"] = "نسبة الخصم الافتراضية %";
|
$lang["config_default_receivings_discount"] = "خصم الإيصالات الافتراضي";
|
||||||
|
$lang["config_default_receivings_discount_number"] = "خصم الإيصالات الافتراضي يجب ان يكون رقم.";
|
||||||
|
$lang["config_default_receivings_discount_required"] = "خصم الإيصالات الافتراضي هي خانة اجبارية.";
|
||||||
|
$lang["config_default_sales_discount"] = "نسبة الخصم الافتراضية";
|
||||||
$lang["config_default_sales_discount_number"] = "نسبة الخصم الافتراضية لابد ان تكون رقم.";
|
$lang["config_default_sales_discount_number"] = "نسبة الخصم الافتراضية لابد ان تكون رقم.";
|
||||||
$lang["config_default_sales_discount_required"] = "نسبة الخصم الافتراضية مطلوبة.";
|
$lang["config_default_sales_discount_required"] = "نسبة الخصم الافتراضية مطلوبة.";
|
||||||
|
$lang["config_default_tax_category"] = "فئة الضرائب الافتراضية";
|
||||||
|
$lang["config_default_tax_code"] = "قانون الضرائب الافتراضي";
|
||||||
|
$lang["config_default_tax_jurisdiction"] = "الاختصاص الضريبي الافتراضي";
|
||||||
$lang["config_default_tax_name_number"] = "يجب أن يكون الاسم الافتراضي للضريبة سلسلة.";
|
$lang["config_default_tax_name_number"] = "يجب أن يكون الاسم الافتراضي للضريبة سلسلة.";
|
||||||
$lang["config_default_tax_name_required"] = "اسم الضريبة الافتراضية مطلوب.";
|
$lang["config_default_tax_name_required"] = "اسم الضريبة الافتراضية مطلوب.";
|
||||||
$lang["config_default_tax_rate"] = "معدل الضريبة الافتراضي %";
|
$lang["config_default_tax_rate"] = "معدل الضريبة الافتراضي %";
|
||||||
@@ -112,6 +113,7 @@ $lang["config_email_smtp_user"] = "اسم مستخدم SMTP";
|
|||||||
$lang["config_enforce_privacy"] = "فرض نظام الخصوصية";
|
$lang["config_enforce_privacy"] = "فرض نظام الخصوصية";
|
||||||
$lang["config_enforce_privacy_tooltip"] = "حماية ملفات ومعلومات المستخدم عند الحذف";
|
$lang["config_enforce_privacy_tooltip"] = "حماية ملفات ومعلومات المستخدم عند الحذف";
|
||||||
$lang["config_fax"] = "الفاكس";
|
$lang["config_fax"] = "الفاكس";
|
||||||
|
$lang["config_file_perm"] = "There are problems with file permissions please fix and reload this page.";
|
||||||
$lang["config_financial_year"] = "بداية السنة المالية";
|
$lang["config_financial_year"] = "بداية السنة المالية";
|
||||||
$lang["config_financial_year_apr"] = "1 أبريل";
|
$lang["config_financial_year_apr"] = "1 أبريل";
|
||||||
$lang["config_financial_year_aug"] = "1 أغسطس";
|
$lang["config_financial_year_aug"] = "1 أغسطس";
|
||||||
@@ -136,14 +138,25 @@ $lang["config_general_configuration"] = "إعدادات عامة";
|
|||||||
$lang["config_giftcard_number"] = "رقم كارت الهدية";
|
$lang["config_giftcard_number"] = "رقم كارت الهدية";
|
||||||
$lang["config_giftcard_random"] = "توليد عشوائي";
|
$lang["config_giftcard_random"] = "توليد عشوائي";
|
||||||
$lang["config_giftcard_series"] = "توليد في السلسلة";
|
$lang["config_giftcard_series"] = "توليد في السلسلة";
|
||||||
|
$lang["config_image_allowed_file_types"] = "";
|
||||||
|
$lang["config_image_max_height_tooltip"] = "";
|
||||||
|
$lang["config_image_max_size_tooltip"] = "";
|
||||||
|
$lang["config_image_max_width_tooltip"] = "";
|
||||||
|
$lang["config_image_restrictions"] = "";
|
||||||
|
$lang["config_include_hsn"] = "تشمل الدعم لرمز نظام منسق";
|
||||||
$lang["config_info"] = "معلومات";
|
$lang["config_info"] = "معلومات";
|
||||||
$lang["config_info_configuration"] = "معلومات الشركة";
|
$lang["config_info_configuration"] = "معلومات الشركة";
|
||||||
|
$lang["config_integrations"] = "التكامل";
|
||||||
|
$lang["config_integrations_configuration"] = "تكامل";
|
||||||
$lang["config_invoice"] = "الفاتورة";
|
$lang["config_invoice"] = "الفاتورة";
|
||||||
$lang["config_invoice_configuration"] = "إعدادات طباعة الفاتورة";
|
$lang["config_invoice_configuration"] = "إعدادات طباعة الفاتورة";
|
||||||
$lang["config_invoice_default_comments"] = "التعليق الافتراضي على الفاتورة";
|
$lang["config_invoice_default_comments"] = "التعليق الافتراضي على الفاتورة";
|
||||||
$lang["config_invoice_email_message"] = "قالب البريد الإلكتروني للفاتورة";
|
$lang["config_invoice_email_message"] = "قالب البريد الإلكتروني للفاتورة";
|
||||||
$lang["config_invoice_enable"] = "تفعيل الفوترة";
|
$lang["config_invoice_enable"] = "تفعيل الفوترة";
|
||||||
$lang["config_invoice_printer"] = "طابعة الفواتير";
|
$lang["config_invoice_printer"] = "طابعة الفواتير";
|
||||||
|
$lang["config_invoice_type"] = "نوع الفاتورة";
|
||||||
|
$lang["config_is_readable"] = "";
|
||||||
|
$lang["config_is_writable"] = "is writable, but the permissions are higher than 750.";
|
||||||
$lang["config_jsprintsetup_required"] = "تحذير! هذه الخاصية غير المفعلة سوف تعمل فقط مع وجود الاضافة jsPrintSetup على متصفح فايرفوكس. حفظ على أى حال؟";
|
$lang["config_jsprintsetup_required"] = "تحذير! هذه الخاصية غير المفعلة سوف تعمل فقط مع وجود الاضافة jsPrintSetup على متصفح فايرفوكس. حفظ على أى حال؟";
|
||||||
$lang["config_language"] = "اللغة";
|
$lang["config_language"] = "اللغة";
|
||||||
$lang["config_last_used_invoice_number"] = "اخر رقم مستخدم للفاتورة";
|
$lang["config_last_used_invoice_number"] = "اخر رقم مستخدم للفاتورة";
|
||||||
@@ -180,6 +193,8 @@ $lang["config_msg_src"] = "SMS-API كود المرسل لـ";
|
|||||||
$lang["config_msg_src_required"] = "مطلوب SMS-API كود المرسل لـ";
|
$lang["config_msg_src_required"] = "مطلوب SMS-API كود المرسل لـ";
|
||||||
$lang["config_msg_uid"] = "SMS-API اسم المستخدم لـ";
|
$lang["config_msg_uid"] = "SMS-API اسم المستخدم لـ";
|
||||||
$lang["config_msg_uid_required"] = "مطلوب SMS-API اسم المستخدم لـ";
|
$lang["config_msg_uid_required"] = "مطلوب SMS-API اسم المستخدم لـ";
|
||||||
|
$lang["config_multi_pack_enabled"] = "رزم متعددة لكل صنف";
|
||||||
|
$lang["config_no_risk"] = "No security/vulnerability risks.";
|
||||||
$lang["config_none"] = "لايوجد";
|
$lang["config_none"] = "لايوجد";
|
||||||
$lang["config_notify_alignment"] = "مكان عرض رسائل المعلومات";
|
$lang["config_notify_alignment"] = "مكان عرض رسائل المعلومات";
|
||||||
$lang["config_number_format"] = "شكل الرقم";
|
$lang["config_number_format"] = "شكل الرقم";
|
||||||
@@ -187,7 +202,10 @@ $lang["config_number_locale"] = "التهيئة الاقليمية";
|
|||||||
$lang["config_number_locale_invalid"] = "التهيئة الإقليمية المختارة غير صحية، راجع الرابط الموجود فى الملاحظة لاختيار تهيئة مناسبة.";
|
$lang["config_number_locale_invalid"] = "التهيئة الإقليمية المختارة غير صحية، راجع الرابط الموجود فى الملاحظة لاختيار تهيئة مناسبة.";
|
||||||
$lang["config_number_locale_required"] = "رقم التهيئة الإقليمية مطلوب.";
|
$lang["config_number_locale_required"] = "رقم التهيئة الإقليمية مطلوب.";
|
||||||
$lang["config_number_locale_tooltip"] = "إيجاد تهيئة إقليمية مناسبة عبر الرابط.";
|
$lang["config_number_locale_tooltip"] = "إيجاد تهيئة إقليمية مناسبة عبر الرابط.";
|
||||||
|
$lang["config_os_timezone"] = "";
|
||||||
|
$lang["config_ospos_info"] = "معلومات التثبيت OSPOS";
|
||||||
$lang["config_payment_options_order"] = "ترتيب خيارات الدفع";
|
$lang["config_payment_options_order"] = "ترتيب خيارات الدفع";
|
||||||
|
$lang["config_perm_risk"] = "Permissions higher than 750 leaves this software at risk.";
|
||||||
$lang["config_phone"] = "هاتف الشركة";
|
$lang["config_phone"] = "هاتف الشركة";
|
||||||
$lang["config_phone_required"] = "هاتف الشركة مطلوب.";
|
$lang["config_phone_required"] = "هاتف الشركة مطلوب.";
|
||||||
$lang["config_print_bottom_margin"] = "الهامش السفلي";
|
$lang["config_print_bottom_margin"] = "الهامش السفلي";
|
||||||
@@ -226,12 +244,14 @@ $lang["config_receipt_short"] = "مختصر";
|
|||||||
$lang["config_receipt_show_company_name"] = "عرض اسم الشركة";
|
$lang["config_receipt_show_company_name"] = "عرض اسم الشركة";
|
||||||
$lang["config_receipt_show_description"] = "عرض الوصف";
|
$lang["config_receipt_show_description"] = "عرض الوصف";
|
||||||
$lang["config_receipt_show_serialnumber"] = "عرض الرقم المسلسل";
|
$lang["config_receipt_show_serialnumber"] = "عرض الرقم المسلسل";
|
||||||
|
$lang["config_receipt_show_tax_ind"] = "";
|
||||||
$lang["config_receipt_show_taxes"] = "عرض الضرائب";
|
$lang["config_receipt_show_taxes"] = "عرض الضرائب";
|
||||||
$lang["config_receipt_show_total_discount"] = "عرض إجمالى الخصم";
|
$lang["config_receipt_show_total_discount"] = "عرض إجمالى الخصم";
|
||||||
$lang["config_receipt_template"] = "قالب الايصال";
|
$lang["config_receipt_template"] = "قالب الايصال";
|
||||||
$lang["config_receiving_calculate_average_price"] = "حساب متوسط سعر الأصناف المستلمة";
|
$lang["config_receiving_calculate_average_price"] = "حساب متوسط سعر الأصناف المستلمة";
|
||||||
$lang["config_recv_invoice_format"] = "شكل فاتورة الإستلام";
|
$lang["config_recv_invoice_format"] = "شكل فاتورة الإستلام";
|
||||||
$lang["config_register_mode_default"] = "نمط التسجيل الافتراضي";
|
$lang["config_register_mode_default"] = "نمط التسجيل الافتراضي";
|
||||||
|
$lang["config_report_an_issue"] = "";
|
||||||
$lang["config_return_policy_required"] = "سياسة الإسترجاع مطلوب.";
|
$lang["config_return_policy_required"] = "سياسة الإسترجاع مطلوب.";
|
||||||
$lang["config_reward"] = "المكافاة";
|
$lang["config_reward"] = "المكافاة";
|
||||||
$lang["config_reward_configuration"] = "اعدادات المكافاة";
|
$lang["config_reward_configuration"] = "اعدادات المكافاة";
|
||||||
@@ -240,6 +260,8 @@ $lang["config_sales_invoice_format"] = "شكل فاتورة البيع";
|
|||||||
$lang["config_sales_quote_format"] = "شكل فاتورة عرض الاسعار";
|
$lang["config_sales_quote_format"] = "شكل فاتورة عرض الاسعار";
|
||||||
$lang["config_saved_successfully"] = "تم حفظ التهيئة بنجاح.";
|
$lang["config_saved_successfully"] = "تم حفظ التهيئة بنجاح.";
|
||||||
$lang["config_saved_unsuccessfully"] = "لم يتم حفظ التهيئة بنجاح.";
|
$lang["config_saved_unsuccessfully"] = "لم يتم حفظ التهيئة بنجاح.";
|
||||||
|
$lang["config_security_issue"] = "Security Vulnerability Warning";
|
||||||
|
$lang["config_server_notice"] = "يرجى استخدام المعلومات أدناه للإبلاغ عن المشكلة.";
|
||||||
$lang["config_show_office_group"] = "اظهار ايكونة المكتب";
|
$lang["config_show_office_group"] = "اظهار ايكونة المكتب";
|
||||||
$lang["config_statistics"] = "إرسال اﻹحصائيات";
|
$lang["config_statistics"] = "إرسال اﻹحصائيات";
|
||||||
$lang["config_statistics_tooltip"] = "إرسال اﻹحصائيات ﻷغراض التطوير و التحسين.";
|
$lang["config_statistics_tooltip"] = "إرسال اﻹحصائيات ﻷغراض التطوير و التحسين.";
|
||||||
@@ -251,6 +273,8 @@ $lang["config_suggestions_first_column"] = "العامود 1";
|
|||||||
$lang["config_suggestions_layout"] = "تخطيط اقتراحات البحث";
|
$lang["config_suggestions_layout"] = "تخطيط اقتراحات البحث";
|
||||||
$lang["config_suggestions_second_column"] = "العامود 2";
|
$lang["config_suggestions_second_column"] = "العامود 2";
|
||||||
$lang["config_suggestions_third_column"] = "العامود 3";
|
$lang["config_suggestions_third_column"] = "العامود 3";
|
||||||
|
$lang["config_system_conf"] = "Setup & Conf";
|
||||||
|
$lang["config_system_info"] = "System Info";
|
||||||
$lang["config_table"] = "جدول";
|
$lang["config_table"] = "جدول";
|
||||||
$lang["config_table_configuration"] = "اعدادات الجدول";
|
$lang["config_table_configuration"] = "اعدادات الجدول";
|
||||||
$lang["config_takings_printer"] = "طابعة الإيراد";
|
$lang["config_takings_printer"] = "طابعة الإيراد";
|
||||||
@@ -262,11 +286,15 @@ $lang["config_tax_category_required"] = "الفئة الضريبية مطلوب
|
|||||||
$lang["config_tax_category_used"] = "الفئة الضريبية اللتي تم تحديدها لا يمكن حذفها لانها قيد الاستعمال.";
|
$lang["config_tax_category_used"] = "الفئة الضريبية اللتي تم تحديدها لا يمكن حذفها لانها قيد الاستعمال.";
|
||||||
$lang["config_tax_configuration"] = "إعدادات الضريبة";
|
$lang["config_tax_configuration"] = "إعدادات الضريبة";
|
||||||
$lang["config_tax_decimals"] = "العلامة العشرية للضريبة";
|
$lang["config_tax_decimals"] = "العلامة العشرية للضريبة";
|
||||||
|
$lang["config_tax_id"] = "الرقم الضريبي";
|
||||||
$lang["config_tax_included"] = "شامل الضريبة";
|
$lang["config_tax_included"] = "شامل الضريبة";
|
||||||
$lang["config_theme"] = "السمة";
|
$lang["config_theme"] = "السمة";
|
||||||
$lang["config_thousands_separator"] = "فاصل الاف";
|
$lang["config_thousands_separator"] = "فاصل الاف";
|
||||||
$lang["config_timezone"] = "المنطقة الزمنية";
|
$lang["config_timezone"] = "المنطقة الزمنية";
|
||||||
|
$lang["config_timezone_error"] = "";
|
||||||
$lang["config_top"] = "علوى";
|
$lang["config_top"] = "علوى";
|
||||||
|
$lang["config_use_destination_based_tax"] = "استخدام الضريبة المستندة على الوجهة";
|
||||||
|
$lang["config_user_timezone"] = "";
|
||||||
$lang["config_website"] = "موقع الشركة";
|
$lang["config_website"] = "موقع الشركة";
|
||||||
$lang["config_work_order_enable"] = "تفعيل طلبات العمل";
|
$lang["config_work_order_enable"] = "تفعيل طلبات العمل";
|
||||||
$lang["config_work_order_format"] = "شكل طلبات العمل";
|
$lang["config_work_order_format"] = "شكل طلبات العمل";
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
$lang["customers_account_number"] = "رقم الحساب";
|
$lang["customers_account_number"] = "رقم الحساب";
|
||||||
$lang["customers_account_number_duplicate"] = "رقم الحساب هذا موجود فى قاعدة البيانات من قبل.";
|
$lang["customers_account_number_duplicate"] = "رقم الحساب هذا موجود فى قاعدة البيانات من قبل.";
|
||||||
$lang["customers_available_points"] = "النقاط المتاحة";
|
$lang["customers_available_points"] = "النقاط المتاحة";
|
||||||
@@ -11,17 +12,20 @@ $lang["customers_confirm_delete"] = "هل تريد حذف هؤلاء العمل
|
|||||||
$lang["customers_confirm_restore"] = "هل انت متأكد من إستعادة قاعدة بيانات الزبائن ؟";
|
$lang["customers_confirm_restore"] = "هل انت متأكد من إستعادة قاعدة بيانات الزبائن ؟";
|
||||||
$lang["customers_consent"] = "موافقة التسجيل";
|
$lang["customers_consent"] = "موافقة التسجيل";
|
||||||
$lang["customers_consent_required"] = "موافقة التسجيل هي خانة اجبارية.";
|
$lang["customers_consent_required"] = "موافقة التسجيل هي خانة اجبارية.";
|
||||||
|
$lang["customers_csv_import_failed"] = "فشل الإستيراد من اكسل";
|
||||||
|
$lang["customers_csv_import_nodata_wrongformat"] = "الملف الذى رفعته إما فارغ أو أنه مختلف البنية.";
|
||||||
|
$lang["customers_csv_import_partially_failed"] = "تم استيراد معظم العملاء. البعض لم يتم استيرادهم ، وهذه هى القائمة:";
|
||||||
|
$lang["customers_csv_import_success"] = "تم استيراد العملاء بنجاح.";
|
||||||
$lang["customers_customer"] = "العميل";
|
$lang["customers_customer"] = "العميل";
|
||||||
$lang["customers_date"] = "التاريخ";
|
$lang["customers_date"] = "التاريخ";
|
||||||
$lang["customers_discount"] = "نسبة الخصم";
|
$lang["customers_discount"] = "نسبة الخصم";
|
||||||
|
$lang["customers_discount_fixed"] = "حسم ثابت";
|
||||||
|
$lang["customers_discount_percent"] = "نسبة الحبم";
|
||||||
|
$lang["customers_discount_type"] = "نوع الحسم";
|
||||||
$lang["customers_email_duplicate"] = "البريد الالكتروني مكرر.";
|
$lang["customers_email_duplicate"] = "البريد الالكتروني مكرر.";
|
||||||
$lang["customers_employee"] = "الموظف";
|
$lang["customers_employee"] = "الموظف";
|
||||||
$lang["customers_error_adding_updating"] = "خطاء فى إضافة أو تحديث العميل.";
|
$lang["customers_error_adding_updating"] = "خطاء فى إضافة أو تحديث العميل.";
|
||||||
$lang["customers_excel_import_failed"] = "فشل الإستيراد من اكسل";
|
$lang["customers_import_items_csv"] = "استيراد العملا ء من ورقة عمل اكسل";
|
||||||
$lang["customers_excel_import_nodata_wrongformat"] = "الملف الذى رفعته إما فارغ أو أنه مختلف البنية.";
|
|
||||||
$lang["customers_excel_import_partially_failed"] = "تم استيراد معظم العملاء. البعض لم يتم استيرادهم ، وهذه هى القائمة:";
|
|
||||||
$lang["customers_excel_import_success"] = "تم استيراد العملاء بنجاح.";
|
|
||||||
$lang["customers_import_items_excel"] = "استيراد العملا ء من ورقة عمل اكسل";
|
|
||||||
$lang["customers_mailchimp_activity_click"] = "النقر على البريد الإلكتروني";
|
$lang["customers_mailchimp_activity_click"] = "النقر على البريد الإلكتروني";
|
||||||
$lang["customers_mailchimp_activity_lastopen"] = "آخر رسالة إلكترونية مفتوحة";
|
$lang["customers_mailchimp_activity_lastopen"] = "آخر رسالة إلكترونية مفتوحة";
|
||||||
$lang["customers_mailchimp_activity_open"] = "رسالة إلكترونية مفتوحة";
|
$lang["customers_mailchimp_activity_open"] = "رسالة إلكترونية مفتوحة";
|
||||||
@@ -43,6 +47,7 @@ $lang["customers_successful_adding"] = "لقد أضفت عميل بنجاح";
|
|||||||
$lang["customers_successful_deleted"] = "لقد قمت بالحذف بنجاح";
|
$lang["customers_successful_deleted"] = "لقد قمت بالحذف بنجاح";
|
||||||
$lang["customers_successful_updating"] = "لقد قمت بتحديث بيانات العميل بنجاح";
|
$lang["customers_successful_updating"] = "لقد قمت بتحديث بيانات العميل بنجاح";
|
||||||
$lang["customers_tax_code"] = "كود الضريبة";
|
$lang["customers_tax_code"] = "كود الضريبة";
|
||||||
|
$lang["customers_tax_id"] = "الرقم الضريبي";
|
||||||
$lang["customers_taxable"] = "خاضع للضريبة";
|
$lang["customers_taxable"] = "خاضع للضريبة";
|
||||||
$lang["customers_total"] = "المجموع";
|
$lang["customers_total"] = "المجموع";
|
||||||
$lang["customers_update"] = "تحديث بيانات عميل";
|
$lang["customers_update"] = "تحديث بيانات عميل";
|
||||||
|
|||||||
@@ -7,12 +7,12 @@ $lang["datepicker_custom"] = "مخصص";
|
|||||||
$lang["datepicker_from"] = "من";
|
$lang["datepicker_from"] = "من";
|
||||||
$lang["datepicker_last_30"] = "أخر 30 يوم";
|
$lang["datepicker_last_30"] = "أخر 30 يوم";
|
||||||
$lang["datepicker_last_7"] = "أخر سبعة أيام";
|
$lang["datepicker_last_7"] = "أخر سبعة أيام";
|
||||||
$lang["datepicker_last_financial_year"] = "";
|
$lang["datepicker_last_financial_year"] = "السنة المالية الماضية";
|
||||||
$lang["datepicker_last_month"] = "أخر شهر";
|
$lang["datepicker_last_month"] = "أخر شهر";
|
||||||
$lang["datepicker_last_year"] = "السنة الماضية";
|
$lang["datepicker_last_year"] = "السنة الماضية";
|
||||||
$lang["datepicker_same_month_last_year"] = "نفس الشهر من العام الماضي";
|
$lang["datepicker_same_month_last_year"] = "نفس الشهر من العام الماضي";
|
||||||
$lang["datepicker_same_month_to_same_day_last_year"] = "نفس الشهر حتى اليوم من السنة الماضية";
|
$lang["datepicker_same_month_to_same_day_last_year"] = "نفس الشهر حتى اليوم من السنة الماضية";
|
||||||
$lang["datepicker_this_financial_year"] = "";
|
$lang["datepicker_this_financial_year"] = "السنة المالية الحالية";
|
||||||
$lang["datepicker_this_month"] = "هذا الشهر";
|
$lang["datepicker_this_month"] = "هذا الشهر";
|
||||||
$lang["datepicker_this_year"] = "السنة الحالية";
|
$lang["datepicker_this_year"] = "السنة الحالية";
|
||||||
$lang["datepicker_to"] = "إلى";
|
$lang["datepicker_to"] = "إلى";
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ $lang["expenses_categories_add_item"] = "إضافة نوع";
|
|||||||
$lang["expenses_categories_cannot_be_deleted"] = "فشلت عملية مسح نوع المصاريف";
|
$lang["expenses_categories_cannot_be_deleted"] = "فشلت عملية مسح نوع المصاريف";
|
||||||
$lang["expenses_categories_category_id"] = "الكود";
|
$lang["expenses_categories_category_id"] = "الكود";
|
||||||
$lang["expenses_categories_confirm_delete"] = "هل أنت متأكد من مسح نوع المصاريف الذي أخترته؟";
|
$lang["expenses_categories_confirm_delete"] = "هل أنت متأكد من مسح نوع المصاريف الذي أخترته؟";
|
||||||
|
$lang["expenses_categories_confirm_restore"] = "هل أنت متأكد من أنك تريد استعادة فئة المصاريف المحددة؟";
|
||||||
$lang["expenses_categories_description"] = "وصف النوع";
|
$lang["expenses_categories_description"] = "وصف النوع";
|
||||||
$lang["expenses_categories_error_adding_updating"] = "مشكلة أثناء أضافة أو تعديل نوع المصاريف";
|
$lang["expenses_categories_error_adding_updating"] = "مشكلة أثناء أضافة أو تعديل نوع المصاريف";
|
||||||
$lang["expenses_categories_info"] = "معلومات عن نوع المصاريف";
|
$lang["expenses_categories_info"] = "معلومات عن نوع المصاريف";
|
||||||
|
|||||||
@@ -36,6 +36,7 @@ $lang["expenses_no_expenses_to_display"] = "لا يوجد مصاريف في ال
|
|||||||
$lang["expenses_none_selected"] = "لم يتم تحديد اي خيار";
|
$lang["expenses_none_selected"] = "لم يتم تحديد اي خيار";
|
||||||
$lang["expenses_one_or_multiple"] = "واحد او أكثر";
|
$lang["expenses_one_or_multiple"] = "واحد او أكثر";
|
||||||
$lang["expenses_payment"] = "الدفع";
|
$lang["expenses_payment"] = "الدفع";
|
||||||
|
$lang["expenses_start_typing_supplier_name"] = "ابدا بكتابة اسم المورد...";
|
||||||
$lang["expenses_successful_adding"] = "تم إضافة المصاريف بنجاح";
|
$lang["expenses_successful_adding"] = "تم إضافة المصاريف بنجاح";
|
||||||
$lang["expenses_successful_deleted"] = "تم مسح المصاريف بنجاح";
|
$lang["expenses_successful_deleted"] = "تم مسح المصاريف بنجاح";
|
||||||
$lang["expenses_successful_updating"] = "تم تعديل المصاريف بنجاح";
|
$lang["expenses_successful_updating"] = "تم تعديل المصاريف بنجاح";
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ $lang["giftcards_confirm_delete"] = "هل أنت متأكد انك تريد حذ
|
|||||||
$lang["giftcards_confirm_restore"] = "هل تريد بالتأكيد استعادة بطاقة (بطاقات) الهدايا المحددة؟";
|
$lang["giftcards_confirm_restore"] = "هل تريد بالتأكيد استعادة بطاقة (بطاقات) الهدايا المحددة؟";
|
||||||
$lang["giftcards_cost_price"] = "سعر التكلفة";
|
$lang["giftcards_cost_price"] = "سعر التكلفة";
|
||||||
$lang["giftcards_count"] = "تحديث المخزون";
|
$lang["giftcards_count"] = "تحديث المخزون";
|
||||||
|
$lang["giftcards_csv_import_failed"] = "فشل الإستيراد من اكسل.";
|
||||||
$lang["giftcards_current_quantity"] = "الكميات الحالية";
|
$lang["giftcards_current_quantity"] = "الكميات الحالية";
|
||||||
$lang["giftcards_description"] = "الوصف";
|
$lang["giftcards_description"] = "الوصف";
|
||||||
$lang["giftcards_details_count"] = "حركة الكارت";
|
$lang["giftcards_details_count"] = "حركة الكارت";
|
||||||
@@ -25,7 +26,6 @@ $lang["giftcards_edit_fields_you_want_to_update"] = "قم بتحديث الحق
|
|||||||
$lang["giftcards_edit_multiple_giftcards"] = "تحرير مجموعة من بطاقات الهدايا.";
|
$lang["giftcards_edit_multiple_giftcards"] = "تحرير مجموعة من بطاقات الهدايا.";
|
||||||
$lang["giftcards_error_adding_updating"] = "خطاء فى إضافة/تحديث بطاقة هدية.";
|
$lang["giftcards_error_adding_updating"] = "خطاء فى إضافة/تحديث بطاقة هدية.";
|
||||||
$lang["giftcards_error_updating_multiple"] = "خطاء فى تحديث بيانات بطاقات الهدايا.";
|
$lang["giftcards_error_updating_multiple"] = "خطاء فى تحديث بيانات بطاقات الهدايا.";
|
||||||
$lang["giftcards_excel_import_failed"] = "فشل الإستيراد من اكسل.";
|
|
||||||
$lang["giftcards_generate_barcodes"] = "توليد أكواد الباركود";
|
$lang["giftcards_generate_barcodes"] = "توليد أكواد الباركود";
|
||||||
$lang["giftcards_giftcard"] = "بطاقة هدية";
|
$lang["giftcards_giftcard"] = "بطاقة هدية";
|
||||||
$lang["giftcards_giftcard_number"] = "رقم بطاقة الهدية";
|
$lang["giftcards_giftcard_number"] = "رقم بطاقة الهدية";
|
||||||
|
|||||||
@@ -6,11 +6,17 @@ $lang["item_kits_cannot_be_deleted"] = "لايمكن حذف مجموعة/مجم
|
|||||||
$lang["item_kits_confirm_delete"] = "هل أنت متأكد أنك تريد حذف المجموعة؟";
|
$lang["item_kits_confirm_delete"] = "هل أنت متأكد أنك تريد حذف المجموعة؟";
|
||||||
$lang["item_kits_confirm_restore"] = "هل أنت متأكد أنك تريد استعادة المجموعة المحددة؟";
|
$lang["item_kits_confirm_restore"] = "هل أنت متأكد أنك تريد استعادة المجموعة المحددة؟";
|
||||||
$lang["item_kits_description"] = "وصف المجموعة";
|
$lang["item_kits_description"] = "وصف المجموعة";
|
||||||
|
$lang["item_kits_discount"] = "الخصم";
|
||||||
|
$lang["item_kits_discount_fixed"] = "خصم قابل للتعديل";
|
||||||
$lang["item_kits_discount_percent"] = "نسبة الخصم";
|
$lang["item_kits_discount_percent"] = "نسبة الخصم";
|
||||||
|
$lang["item_kits_discount_type"] = "نوع الخصم";
|
||||||
$lang["item_kits_error_adding_updating"] = "خطاء فى إضافة/تحديث المجموعة.";
|
$lang["item_kits_error_adding_updating"] = "خطاء فى إضافة/تحديث المجموعة.";
|
||||||
$lang["item_kits_find_kit_item"] = "صنف لمجموعة";
|
$lang["item_kits_find_kit_item"] = "صنف لمجموعة";
|
||||||
$lang["item_kits_info"] = "معلومات المجموعة";
|
$lang["item_kits_info"] = "معلومات المجموعة";
|
||||||
$lang["item_kits_item"] = "صنف";
|
$lang["item_kits_item"] = "صنف";
|
||||||
|
$lang["item_kits_item_kit_number"] = "";
|
||||||
|
$lang["item_kits_item_kit_number_duplicate"] = "";
|
||||||
|
$lang["item_kits_item_number"] = "";
|
||||||
$lang["item_kits_items"] = "أصناف";
|
$lang["item_kits_items"] = "أصناف";
|
||||||
$lang["item_kits_kit"] = "كود المجموعة";
|
$lang["item_kits_kit"] = "كود المجموعة";
|
||||||
$lang["item_kits_kit_and_components"] = "المجموعة ومحتوياتها";
|
$lang["item_kits_kit_and_components"] = "المجموعة ومحتوياتها";
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
$lang["items_add_minus"] = "الكمية المطلوب خصمها أو اضافتها.";
|
$lang["items_add_minus"] = "الكمية المطلوب خصمها أو اضافتها.";
|
||||||
$lang["items_allow_alt_desciption"] = "وصف بديل";
|
|
||||||
$lang["items_allow_alt_description"] = "السماح بوصف بديل";
|
$lang["items_allow_alt_description"] = "السماح بوصف بديل";
|
||||||
$lang["items_amount_entry"] = "إدخال القيمة";
|
$lang["items_amount_entry"] = "إدخال القيمة";
|
||||||
$lang["items_bulk_edit"] = "تحرير جماعى";
|
$lang["items_bulk_edit"] = "تحرير جماعى";
|
||||||
@@ -22,7 +22,12 @@ $lang["items_cost_price"] = "سعر التكلفة";
|
|||||||
$lang["items_cost_price_number"] = "سعر التكلفة يجب أن يكون رقم.";
|
$lang["items_cost_price_number"] = "سعر التكلفة يجب أن يكون رقم.";
|
||||||
$lang["items_cost_price_required"] = "سعر التكلفة مطلوب.";
|
$lang["items_cost_price_required"] = "سعر التكلفة مطلوب.";
|
||||||
$lang["items_count"] = "تحديث المخزون";
|
$lang["items_count"] = "تحديث المخزون";
|
||||||
|
$lang["items_csv_import_failed"] = "فشل الإستيراد من اكسل";
|
||||||
|
$lang["items_csv_import_nodata_wrongformat"] = "الملف الذى رفعته إما فارغ أو أنه مختلف البنية.";
|
||||||
|
$lang["items_csv_import_partially_failed"] = "يوجد خطأ بنسبة 1% في استيراد الاصناف في السطر: %2. لم يتم استيرادهم.";
|
||||||
|
$lang["items_csv_import_success"] = "تم استيراد الأصناف بنجاح.";
|
||||||
$lang["items_current_quantity"] = "الكمية الحالية";
|
$lang["items_current_quantity"] = "الكمية الحالية";
|
||||||
|
$lang["items_default_pack_name"] = "كل";
|
||||||
$lang["items_description"] = "الوصف";
|
$lang["items_description"] = "الوصف";
|
||||||
$lang["items_details_count"] = "حركة الصنف";
|
$lang["items_details_count"] = "حركة الصنف";
|
||||||
$lang["items_do_nothing"] = "لاتفعل شئ";
|
$lang["items_do_nothing"] = "لاتفعل شئ";
|
||||||
@@ -31,20 +36,18 @@ $lang["items_edit_multiple_items"] = "تحريد مجموعة اصناف";
|
|||||||
$lang["items_empty_upc_items"] = "تفريغ اصناف UPC";
|
$lang["items_empty_upc_items"] = "تفريغ اصناف UPC";
|
||||||
$lang["items_error_adding_updating"] = "خطاء فى إضافة/تحديث صنف";
|
$lang["items_error_adding_updating"] = "خطاء فى إضافة/تحديث صنف";
|
||||||
$lang["items_error_updating_multiple"] = "خطاء فى تحديث بيانات أصناف";
|
$lang["items_error_updating_multiple"] = "خطاء فى تحديث بيانات أصناف";
|
||||||
$lang["items_excel_import_failed"] = "فشل الإستيراد من اكسل";
|
|
||||||
$lang["items_excel_import_nodata_wrongformat"] = "الملف الذى رفعته إما فارغ أو أنه مختلف البنية.";
|
|
||||||
$lang["items_excel_import_partially_failed"] = "تم استيراد معظم الأصناف. البعض لم يتم استيرادهم ، وهذه هى القائمة:";
|
|
||||||
$lang["items_excel_import_success"] = "تم استيراد الأصناف بنجاح.";
|
|
||||||
$lang["items_generate_barcodes"] = "توليد أكواد الباركود";
|
$lang["items_generate_barcodes"] = "توليد أكواد الباركود";
|
||||||
|
$lang["items_hsn_code"] = "تسميات النظام المنسق";
|
||||||
$lang["items_image"] = "صورة";
|
$lang["items_image"] = "صورة";
|
||||||
$lang["items_import_items_excel"] = "استيراد من اكسل";
|
$lang["items_import_items_csv"] = "استيراد من اكسل";
|
||||||
$lang["items_info_provided_by"] = "المعلومات مقدمة بواسطة";
|
$lang["items_info_provided_by"] = "المعلومات مقدمة بواسطة";
|
||||||
$lang["items_inventory"] = "المخزن";
|
$lang["items_inventory"] = "المخزن";
|
||||||
|
$lang["items_inventory_CSV_import_quantity"] = "العدد المستورد من ملفات ال CSV";
|
||||||
$lang["items_inventory_comments"] = "تعليقات";
|
$lang["items_inventory_comments"] = "تعليقات";
|
||||||
$lang["items_inventory_data_tracking"] = "تتبع بيانات المخزون";
|
$lang["items_inventory_data_tracking"] = "تتبع بيانات المخزون";
|
||||||
$lang["items_inventory_date"] = "التاريخ";
|
$lang["items_inventory_date"] = "التاريخ";
|
||||||
$lang["items_inventory_employee"] = "الموظف";
|
$lang["items_inventory_employee"] = "الموظف";
|
||||||
$lang["items_inventory_in_out_quantity"] = "+\- كمية";
|
$lang["items_inventory_in_out_quantity"] = "+- كمية";
|
||||||
$lang["items_inventory_remarks"] = "ملاحظات";
|
$lang["items_inventory_remarks"] = "ملاحظات";
|
||||||
$lang["items_is_deleted"] = "حذفت";
|
$lang["items_is_deleted"] = "حذفت";
|
||||||
$lang["items_is_serialized"] = "الصنف له رقم مسلسل";
|
$lang["items_is_serialized"] = "الصنف له رقم مسلسل";
|
||||||
@@ -54,6 +57,7 @@ $lang["items_item_number_duplicate"] = "رقم الصنف موجود فى قاع
|
|||||||
$lang["items_kit"] = "مجموعة اصناف";
|
$lang["items_kit"] = "مجموعة اصناف";
|
||||||
$lang["items_location"] = "مكان";
|
$lang["items_location"] = "مكان";
|
||||||
$lang["items_low_inventory_items"] = "الأصناف التى لا يوجد لها مخزون";
|
$lang["items_low_inventory_items"] = "الأصناف التى لا يوجد لها مخزون";
|
||||||
|
$lang["items_low_sell_item"] = "الصنف المركب";
|
||||||
$lang["items_manually_editing_of_quantity"] = "تحرير الكمية يدوياً";
|
$lang["items_manually_editing_of_quantity"] = "تحرير الكمية يدوياً";
|
||||||
$lang["items_name"] = "اسم الصنف";
|
$lang["items_name"] = "اسم الصنف";
|
||||||
$lang["items_name_required"] = "اسم الصنف مطلوب.";
|
$lang["items_name_required"] = "اسم الصنف مطلوب.";
|
||||||
@@ -66,6 +70,8 @@ $lang["items_nonstock"] = "غير مخزنة";
|
|||||||
$lang["items_number_information"] = "رقم الصنف";
|
$lang["items_number_information"] = "رقم الصنف";
|
||||||
$lang["items_number_required"] = "مطلوب UPC/EAN/ISBN رقم الباركود.";
|
$lang["items_number_required"] = "مطلوب UPC/EAN/ISBN رقم الباركود.";
|
||||||
$lang["items_one_or_multiple"] = "صنف/أصناف";
|
$lang["items_one_or_multiple"] = "صنف/أصناف";
|
||||||
|
$lang["items_pack_name"] = "اسم الحزمة";
|
||||||
|
$lang["items_qty_per_pack"] = "العدد بكل الحزمة";
|
||||||
$lang["items_quantity"] = "الكمية";
|
$lang["items_quantity"] = "الكمية";
|
||||||
$lang["items_quantity_number"] = "الكمية يجب أن تكون رقم.";
|
$lang["items_quantity_number"] = "الكمية يجب أن تكون رقم.";
|
||||||
$lang["items_quantity_required"] = "الكمية مطلوبة.";
|
$lang["items_quantity_required"] = "الكمية مطلوبة.";
|
||||||
@@ -78,7 +84,6 @@ $lang["items_retrive_item_info"] = "استرجاع بيانات الصنف";
|
|||||||
$lang["items_sales_tax_1"] = "ضريبة المبيعات";
|
$lang["items_sales_tax_1"] = "ضريبة المبيعات";
|
||||||
$lang["items_sales_tax_2"] = "ضريبة المبيعات 2";
|
$lang["items_sales_tax_2"] = "ضريبة المبيعات 2";
|
||||||
$lang["items_search_attributes"] = "بحث الحقول المخصصة";
|
$lang["items_search_attributes"] = "بحث الحقول المخصصة";
|
||||||
$lang["items_search_custom_items"] = "بحث الاصناف المخصصة";
|
|
||||||
$lang["items_select_image"] = "اختار صورة";
|
$lang["items_select_image"] = "اختار صورة";
|
||||||
$lang["items_serialized_items"] = "أصناف مسلسلة";
|
$lang["items_serialized_items"] = "أصناف مسلسلة";
|
||||||
$lang["items_standard"] = "اساسي";
|
$lang["items_standard"] = "اساسي";
|
||||||
@@ -92,10 +97,12 @@ $lang["items_successful_updating"] = "لقد تم تحديث بيانات صنف
|
|||||||
$lang["items_supplier"] = "المورد";
|
$lang["items_supplier"] = "المورد";
|
||||||
$lang["items_tax_1"] = "الضريبة 1";
|
$lang["items_tax_1"] = "الضريبة 1";
|
||||||
$lang["items_tax_2"] = "الضريبة 2";
|
$lang["items_tax_2"] = "الضريبة 2";
|
||||||
|
$lang["items_tax_category"] = "الفئة الضريبية";
|
||||||
$lang["items_tax_percent"] = "نسبة الضريبة";
|
$lang["items_tax_percent"] = "نسبة الضريبة";
|
||||||
$lang["items_tax_percent_number"] = "نسبة الضريبة يجب ان تكون رقم";
|
$lang["items_tax_percent_number"] = "نسبة الضريبة يجب ان تكون رقم";
|
||||||
$lang["items_tax_percent_required"] = "نسبة الضريبة مطلوبة.";
|
$lang["items_tax_percent_required"] = "نسبة الضريبة مطلوبة.";
|
||||||
$lang["items_tax_percents"] = "نسبة/نسب الضريبة";
|
$lang["items_tax_percents"] = "نسبة/نسب الضريبة";
|
||||||
|
$lang["items_temp"] = "مؤقت";
|
||||||
$lang["items_type"] = "نوع الصنف";
|
$lang["items_type"] = "نوع الصنف";
|
||||||
$lang["items_unit_price"] = "السعر";
|
$lang["items_unit_price"] = "السعر";
|
||||||
$lang["items_unit_price_number"] = "السعر يجب أن يكون رقم.";
|
$lang["items_unit_price_number"] = "السعر يجب أن يكون رقم.";
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
$lang["login_gcaptcha"] = "";
|
$lang["login_gcaptcha"] = "أنا لست بوت.";
|
||||||
$lang["login_go"] = "البدء";
|
$lang["login_go"] = "البدء";
|
||||||
$lang["login_invalid_gcaptcha"] = "";
|
$lang["login_invalid_gcaptcha"] = "رمز التحقق غير صحيح.";
|
||||||
$lang["login_invalid_installation"] = "";
|
$lang["login_invalid_installation"] = "يوجد مشكلة بالتنصيب, الرجاء التحقق من ملف php.ini.";
|
||||||
$lang["login_invalid_username_and_password"] = "اسم مستخدم/كلمة سر غير صحيح";
|
$lang["login_invalid_username_and_password"] = "اسم مستخدم/كلمة سر غير صحيح.";
|
||||||
$lang["login_login"] = "دخول";
|
$lang["login_login"] = "دخول";
|
||||||
$lang["login_password"] = "كلمة السر";
|
$lang["login_password"] = "كلمة السر";
|
||||||
$lang["login_username"] = "اسم المستخدم";
|
$lang["login_username"] = "اسم المستخدم";
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ $lang["messages_last_name"] = "الأسم الأخير";
|
|||||||
$lang["messages_message"] = "الرسالة";
|
$lang["messages_message"] = "الرسالة";
|
||||||
$lang["messages_message_placeholder"] = "رسالتك هنا...";
|
$lang["messages_message_placeholder"] = "رسالتك هنا...";
|
||||||
$lang["messages_message_required"] = "الرسالة مطلوبة";
|
$lang["messages_message_required"] = "الرسالة مطلوبة";
|
||||||
$lang["messages_multiple_phones"] = " فى حالة إرسال الرسالة لأكثر من شخص قم بفصل الأرقام بعلامة الفاصلة";
|
$lang["messages_multiple_phones"] = "فى حالة إرسال الرسالة لأكثر من شخص قم بفصل الأرقام بعلامة الفاصلة";
|
||||||
$lang["messages_phone"] = "رقم المحمول";
|
$lang["messages_phone"] = "رقم المحمول";
|
||||||
$lang["messages_phone_number_required"] = "رقم المحمول مطلوب";
|
$lang["messages_phone_number_required"] = "رقم المحمول مطلوب";
|
||||||
$lang["messages_phone_placeholder"] = "رقم/أرقام المحمول هنا...";
|
$lang["messages_phone_placeholder"] = "رقم/أرقام المحمول هنا...";
|
||||||
|
|||||||
@@ -1,6 +1,10 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
$lang["module_attributes"] = "ميزات/مميزات";
|
||||||
|
$lang["module_attributes_desc"] = "إضافة، تعديل، حذف، وبحث بالميزات.";
|
||||||
$lang["module_both"] = "الاثنين";
|
$lang["module_both"] = "الاثنين";
|
||||||
|
$lang["module_cashups"] = "الصندوق النقدي";
|
||||||
|
$lang["module_cashups_desc"] = "إضافة، تعديل، حذف، وبحث بالصندوق النقدي.";
|
||||||
$lang["module_config"] = "إعدادات الشركة";
|
$lang["module_config"] = "إعدادات الشركة";
|
||||||
$lang["module_config_desc"] = "تغيير إعدادات الشركة.";
|
$lang["module_config_desc"] = "تغيير إعدادات الشركة.";
|
||||||
$lang["module_customers"] = "العملاء";
|
$lang["module_customers"] = "العملاء";
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ $lang["receivings_register"] = "استلام الأصناف";
|
|||||||
$lang["receivings_requisition"] = "طلب شراء";
|
$lang["receivings_requisition"] = "طلب شراء";
|
||||||
$lang["receivings_return"] = "إرتجاع لمورد";
|
$lang["receivings_return"] = "إرتجاع لمورد";
|
||||||
$lang["receivings_select_supplier"] = "اختار المورد (اختيارى)";
|
$lang["receivings_select_supplier"] = "اختار المورد (اختيارى)";
|
||||||
|
$lang["receivings_ship_pack"] = "حزمة توصيل";
|
||||||
$lang["receivings_start_typing_supplier_name"] = "ابداء بكتابة اسم المورد....";
|
$lang["receivings_start_typing_supplier_name"] = "ابداء بكتابة اسم المورد....";
|
||||||
$lang["receivings_stock"] = "المخزون";
|
$lang["receivings_stock"] = "المخزون";
|
||||||
$lang["receivings_stock_destination"] = "المخزون المحول له";
|
$lang["receivings_stock_destination"] = "المخزون المحول له";
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
$lang["reports_all"] = "الكل";
|
$lang["reports_all"] = "الكل";
|
||||||
|
$lang["reports_authority"] = "السلطة";
|
||||||
$lang["reports_canceled"] = "ملغى";
|
$lang["reports_canceled"] = "ملغى";
|
||||||
$lang["reports_categories"] = "التصنيفات";
|
$lang["reports_categories"] = "التصنيفات";
|
||||||
$lang["reports_categories_summary_report"] = "تقرير ملخص التصنيفات";
|
$lang["reports_categories_summary_report"] = "تقرير ملخص التصنيفات";
|
||||||
@@ -30,7 +32,9 @@ $lang["reports_detailed_reports"] = "التقارير التفصيلية";
|
|||||||
$lang["reports_detailed_requisition_report"] = "تقرير مفصل لطلبات الشراء";
|
$lang["reports_detailed_requisition_report"] = "تقرير مفصل لطلبات الشراء";
|
||||||
$lang["reports_detailed_sales_report"] = "تقرير مفصل للمبيعات";
|
$lang["reports_detailed_sales_report"] = "تقرير مفصل للمبيعات";
|
||||||
$lang["reports_discount"] = "الخصم";
|
$lang["reports_discount"] = "الخصم";
|
||||||
|
$lang["reports_discount_fixed"] = "حسم ثابت";
|
||||||
$lang["reports_discount_percent"] = "نسبة الخصم";
|
$lang["reports_discount_percent"] = "نسبة الخصم";
|
||||||
|
$lang["reports_discount_type"] = "نوع الحسم";
|
||||||
$lang["reports_discounts"] = "الخصومات";
|
$lang["reports_discounts"] = "الخصومات";
|
||||||
$lang["reports_discounts_summary_report"] = "تقرير ملخص الخصومات";
|
$lang["reports_discounts_summary_report"] = "تقرير ملخص الخصومات";
|
||||||
$lang["reports_earned"] = "النقاط المحصلة";
|
$lang["reports_earned"] = "النقاط المحصلة";
|
||||||
@@ -60,8 +64,10 @@ $lang["reports_items"] = "الأصناف";
|
|||||||
$lang["reports_items_purchased"] = "الأصناف مشتراه";
|
$lang["reports_items_purchased"] = "الأصناف مشتراه";
|
||||||
$lang["reports_items_received"] = "الأصناف مستلمة";
|
$lang["reports_items_received"] = "الأصناف مستلمة";
|
||||||
$lang["reports_items_summary_report"] = "تقرير ملخص الأصناف";
|
$lang["reports_items_summary_report"] = "تقرير ملخص الأصناف";
|
||||||
|
$lang["reports_jurisdiction"] = "الاختصاص القضائي";
|
||||||
$lang["reports_low_inventory"] = "النواقص";
|
$lang["reports_low_inventory"] = "النواقص";
|
||||||
$lang["reports_low_inventory_report"] = "تقرير نواقص المخزون";
|
$lang["reports_low_inventory_report"] = "تقرير نواقص المخزون";
|
||||||
|
$lang["reports_low_sell_quantity"] = "كميات حسب الصنف الاولي";
|
||||||
$lang["reports_more_than_zero"] = "أكثر من صفر";
|
$lang["reports_more_than_zero"] = "أكثر من صفر";
|
||||||
$lang["reports_name"] = "الاسم";
|
$lang["reports_name"] = "الاسم";
|
||||||
$lang["reports_no_reports_to_display"] = "لايوجد أصناف لعرضها.";
|
$lang["reports_no_reports_to_display"] = "لايوجد أصناف لعرضها.";
|
||||||
@@ -96,6 +102,8 @@ $lang["reports_sale_type"] = "طريقة البيع";
|
|||||||
$lang["reports_sales"] = "بيع";
|
$lang["reports_sales"] = "بيع";
|
||||||
$lang["reports_sales_amount"] = "كمية المبيعات";
|
$lang["reports_sales_amount"] = "كمية المبيعات";
|
||||||
$lang["reports_sales_summary_report"] = "تقرير ملخص المبيعات";
|
$lang["reports_sales_summary_report"] = "تقرير ملخص المبيعات";
|
||||||
|
$lang["reports_sales_taxes"] = "ضرائب المبيعات";
|
||||||
|
$lang["reports_sales_taxes_summary_report"] = "تقرير ملخص ضرائب المبيعات";
|
||||||
$lang["reports_serial_number"] = "مسلسل";
|
$lang["reports_serial_number"] = "مسلسل";
|
||||||
$lang["reports_sold_by"] = "البائع";
|
$lang["reports_sold_by"] = "البائع";
|
||||||
$lang["reports_sold_to"] = "مباع الى";
|
$lang["reports_sold_to"] = "مباع الى";
|
||||||
@@ -108,13 +116,24 @@ $lang["reports_supplier"] = "المورد";
|
|||||||
$lang["reports_suppliers"] = "الموردين";
|
$lang["reports_suppliers"] = "الموردين";
|
||||||
$lang["reports_suppliers_summary_report"] = "تقرير ملخص الموردين";
|
$lang["reports_suppliers_summary_report"] = "تقرير ملخص الموردين";
|
||||||
$lang["reports_tax"] = "الضريبة";
|
$lang["reports_tax"] = "الضريبة";
|
||||||
|
$lang["reports_tax_category"] = "الفئة الضريبية";
|
||||||
$lang["reports_tax_percent"] = "نسبة الضريبة";
|
$lang["reports_tax_percent"] = "نسبة الضريبة";
|
||||||
|
$lang["reports_tax_rate"] = "معدل الضريبة";
|
||||||
$lang["reports_taxes"] = "الضرائب";
|
$lang["reports_taxes"] = "الضرائب";
|
||||||
$lang["reports_taxes_summary_report"] = "تقرير ملخص الضرائب";
|
$lang["reports_taxes_summary_report"] = "تقرير ملخص الضرائب";
|
||||||
$lang["reports_total"] = "الإجمالى";
|
$lang["reports_total"] = "الإجمالى";
|
||||||
$lang["reports_total_inventory_value"] = "إجمالى قيمة المخزن";
|
$lang["reports_total_inventory_value"] = "إجمالى قيمة المخزن";
|
||||||
|
$lang["reports_total_low_sell_quantity"] = "مجموع الكميات حسب الصنف الاولي";
|
||||||
$lang["reports_total_quantity"] = "الكمية/العدد";
|
$lang["reports_total_quantity"] = "الكمية/العدد";
|
||||||
$lang["reports_total_retail"] = "قيمة المبيع";
|
$lang["reports_total_retail"] = "قيمة المبيع";
|
||||||
|
$lang["reports_trans_amount"] = "قيمة العملية التجارية";
|
||||||
|
$lang["reports_trans_due"] = "مستحق";
|
||||||
|
$lang["reports_trans_group"] = "مجموعة العمليات التجارية";
|
||||||
|
$lang["reports_trans_nopay_sales"] = "المبيعات الغير مسدده";
|
||||||
|
$lang["reports_trans_payments"] = "المدفوعات";
|
||||||
|
$lang["reports_trans_refunded"] = "المرتجع";
|
||||||
|
$lang["reports_trans_sales"] = "المبيعات";
|
||||||
|
$lang["reports_trans_type"] = "نوع العملية التجارية";
|
||||||
$lang["reports_type"] = "النوع";
|
$lang["reports_type"] = "النوع";
|
||||||
$lang["reports_unit_price"] = "السعر";
|
$lang["reports_unit_price"] = "السعر";
|
||||||
$lang["reports_used"] = "النقاط المستخدمة";
|
$lang["reports_used"] = "النقاط المستخدمة";
|
||||||
|
|||||||
@@ -1,15 +1,19 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
$lang["customers_available_points"] = "النقاط المتاحة";
|
$lang["customers_available_points"] = "النقاط المتاحة";
|
||||||
$lang["rewards_package"] = "مكافآت";
|
$lang["rewards_package"] = "مكافآت";
|
||||||
$lang["rewards_remaining_balance"] = "رصيد النقاط المتبقي هو ";
|
$lang["rewards_remaining_balance"] = "رصيد النقاط المتبقي هو ";
|
||||||
|
$lang["sales_account_number"] = "حساب";
|
||||||
$lang["sales_add_payment"] = "إضافة دفع";
|
$lang["sales_add_payment"] = "إضافة دفع";
|
||||||
$lang["sales_amount_due"] = "المبلغ المطلوب";
|
$lang["sales_amount_due"] = "المبلغ المطلوب";
|
||||||
$lang["sales_amount_tendered"] = "المبلغ المدفوع";
|
$lang["sales_amount_tendered"] = "المبلغ المدفوع";
|
||||||
|
$lang["sales_authorized_signature"] = "توقيع معتمد";
|
||||||
$lang["sales_cancel_sale"] = "الغاء عملية البيع";
|
$lang["sales_cancel_sale"] = "الغاء عملية البيع";
|
||||||
$lang["sales_cash"] = "نقدى";
|
$lang["sales_cash"] = "نقدى";
|
||||||
$lang["sales_cash_deposit"] = "ايداع نقدي";
|
$lang["sales_cash_deposit"] = "ايداع نقدي";
|
||||||
$lang["sales_cash_filter"] = "نقدى";
|
$lang["sales_cash_filter"] = "نقدى";
|
||||||
$lang["sales_change_due"] = "الباقى";
|
$lang["sales_change_due"] = "الباقى";
|
||||||
|
$lang["sales_change_price"] = "";
|
||||||
$lang["sales_check"] = "شيك";
|
$lang["sales_check"] = "شيك";
|
||||||
$lang["sales_check_balance"] = "تذكير بموعد الشيك";
|
$lang["sales_check_balance"] = "تذكير بموعد الشيك";
|
||||||
$lang["sales_check_filter"] = "شيك";
|
$lang["sales_check_filter"] = "شيك";
|
||||||
@@ -21,13 +25,14 @@ $lang["sales_confirm_delete"] = "هل تريد حذف عمليات البيع ا
|
|||||||
$lang["sales_confirm_restore"] = "هل انت متاكد من استعادة عملية البيع؟";
|
$lang["sales_confirm_restore"] = "هل انت متاكد من استعادة عملية البيع؟";
|
||||||
$lang["sales_credit"] = "بطاقة إئتمانية";
|
$lang["sales_credit"] = "بطاقة إئتمانية";
|
||||||
$lang["sales_credit_deposit"] = "ايداع ببطاقة ائتمان";
|
$lang["sales_credit_deposit"] = "ايداع ببطاقة ائتمان";
|
||||||
|
$lang["sales_credit_filter"] = "";
|
||||||
$lang["sales_customer"] = "العميل";
|
$lang["sales_customer"] = "العميل";
|
||||||
$lang["sales_customer_address"] = "العنوان";
|
$lang["sales_customer_address"] = "العنوان";
|
||||||
$lang["sales_customer_discount"] = "الخصم";
|
$lang["sales_customer_discount"] = "الخصم";
|
||||||
$lang["sales_customer_email"] = "البريد الإلكترونى";
|
$lang["sales_customer_email"] = "البريد الإلكترونى";
|
||||||
$lang["sales_customer_location"] = "المكان";
|
$lang["sales_customer_location"] = "المكان";
|
||||||
$lang["sales_customer_mailchimp_status"] = "حالة ميل تشيمب";
|
$lang["sales_customer_mailchimp_status"] = "حالة ميل تشيمب";
|
||||||
$lang["sales_customer_optional"] = "(اختياري)";
|
$lang["sales_customer_optional"] = "(مطلوب للدفعات المستحقة)";
|
||||||
$lang["sales_customer_required"] = "(اجباري)";
|
$lang["sales_customer_required"] = "(اجباري)";
|
||||||
$lang["sales_customer_total"] = "المجموع";
|
$lang["sales_customer_total"] = "المجموع";
|
||||||
$lang["sales_date"] = "تاريخ البيع";
|
$lang["sales_date"] = "تاريخ البيع";
|
||||||
@@ -43,7 +48,7 @@ $lang["sales_delete_unsuccessful"] = "لقد فشل حذف عملية البيع
|
|||||||
$lang["sales_description_abbrv"] = "الوصف.";
|
$lang["sales_description_abbrv"] = "الوصف.";
|
||||||
$lang["sales_discard"] = "الغاء";
|
$lang["sales_discard"] = "الغاء";
|
||||||
$lang["sales_discard_quote"] = "";
|
$lang["sales_discard_quote"] = "";
|
||||||
$lang["sales_discount"] = "خصم %";
|
$lang["sales_discount"] = "خصم";
|
||||||
$lang["sales_discount_included"] = "% خصم";
|
$lang["sales_discount_included"] = "% خصم";
|
||||||
$lang["sales_discount_short"] = "%";
|
$lang["sales_discount_short"] = "%";
|
||||||
$lang["sales_due"] = "مستحق";
|
$lang["sales_due"] = "مستحق";
|
||||||
@@ -62,6 +67,7 @@ $lang["sales_giftcard_balance"] = "رصيد بطاقة الهدية";
|
|||||||
$lang["sales_giftcard_number"] = "رقم بطاقة الهدية";
|
$lang["sales_giftcard_number"] = "رقم بطاقة الهدية";
|
||||||
$lang["sales_group_by_category"] = "تصفية حسب الفئة";
|
$lang["sales_group_by_category"] = "تصفية حسب الفئة";
|
||||||
$lang["sales_group_by_type"] = "تجميع حسب النوع";
|
$lang["sales_group_by_type"] = "تجميع حسب النوع";
|
||||||
|
$lang["sales_hsn"] = "رمز نظام منسق";
|
||||||
$lang["sales_id"] = "كود عملية البيع";
|
$lang["sales_id"] = "كود عملية البيع";
|
||||||
$lang["sales_include_prices"] = "يشمل الاسعار؟";
|
$lang["sales_include_prices"] = "يشمل الاسعار؟";
|
||||||
$lang["sales_invoice"] = "فاتورة";
|
$lang["sales_invoice"] = "فاتورة";
|
||||||
@@ -72,6 +78,11 @@ $lang["sales_invoice_no_email"] = "هذا العميل ليس لدية بريد
|
|||||||
$lang["sales_invoice_number"] = "فاتورة رقم #";
|
$lang["sales_invoice_number"] = "فاتورة رقم #";
|
||||||
$lang["sales_invoice_number_duplicate"] = "من فضلك أدخل رقم فاتورة غير مكرر.";
|
$lang["sales_invoice_number_duplicate"] = "من فضلك أدخل رقم فاتورة غير مكرر.";
|
||||||
$lang["sales_invoice_sent"] = "تم إرسال الفاتورة إلى";
|
$lang["sales_invoice_sent"] = "تم إرسال الفاتورة إلى";
|
||||||
|
$lang["sales_invoice_total"] = "إجمالي الفاتورة";
|
||||||
|
$lang["sales_invoice_type_custom_invoice"] = "فاتورة مخصصة (custom_invoice.php)";
|
||||||
|
$lang["sales_invoice_type_custom_tax_invoice"] = "الفاتورة الضريبية المخصصة (custom_tax_invoice.php)";
|
||||||
|
$lang["sales_invoice_type_invoice"] = "الفاتورة (invoice.php)";
|
||||||
|
$lang["sales_invoice_type_tax_invoice"] = "الفاتورة الضريبية (tax_invoice.php)";
|
||||||
$lang["sales_invoice_unsent"] = "فشل إرسال الفاتورة إلى";
|
$lang["sales_invoice_unsent"] = "فشل إرسال الفاتورة إلى";
|
||||||
$lang["sales_invoice_update"] = "إعادة العد";
|
$lang["sales_invoice_update"] = "إعادة العد";
|
||||||
$lang["sales_item_insufficient_of_stock"] = "لايوجد مخزون كافى من الصنف.";
|
$lang["sales_item_insufficient_of_stock"] = "لايوجد مخزون كافى من الصنف.";
|
||||||
@@ -83,11 +94,12 @@ $lang["sales_must_enter_numeric"] = "يجب إدخال رقم للمبلغ ال
|
|||||||
$lang["sales_must_enter_numeric_giftcard"] = "رقم بطاقة الهدية يجب أن يكون رقم.";
|
$lang["sales_must_enter_numeric_giftcard"] = "رقم بطاقة الهدية يجب أن يكون رقم.";
|
||||||
$lang["sales_new_customer"] = "عميل جديد";
|
$lang["sales_new_customer"] = "عميل جديد";
|
||||||
$lang["sales_new_item"] = "صنف جديد";
|
$lang["sales_new_item"] = "صنف جديد";
|
||||||
$lang["sales_no_description"] = "لايوجد";
|
$lang["sales_no_description"] = "بدون وصف";
|
||||||
$lang["sales_no_filter"] = "الكل";
|
$lang["sales_no_filter"] = "الكل";
|
||||||
$lang["sales_no_items_in_cart"] = "لايوجد أصناف فى السلة.";
|
$lang["sales_no_items_in_cart"] = "لايوجد أصناف فى السلة.";
|
||||||
$lang["sales_no_sales_to_display"] = "لاتوجد عمليات بيع لعرضها.";
|
$lang["sales_no_sales_to_display"] = "لاتوجد عمليات بيع لعرضها.";
|
||||||
$lang["sales_none_selected"] = "لم تقم بإختيار أى عمليات بيع لحذفها.";
|
$lang["sales_none_selected"] = "لم تقم بإختيار أى عمليات بيع لحذفها.";
|
||||||
|
$lang["sales_nontaxed_ind"] = "";
|
||||||
$lang["sales_not_authorized"] = "هذه العملية لا يمكن فعلها لعدم تخويلك.";
|
$lang["sales_not_authorized"] = "هذه العملية لا يمكن فعلها لعدم تخويلك.";
|
||||||
$lang["sales_one_or_multiple"] = "عمليات بيع";
|
$lang["sales_one_or_multiple"] = "عمليات بيع";
|
||||||
$lang["sales_payment"] = "طريقة الدفع";
|
$lang["sales_payment"] = "طريقة الدفع";
|
||||||
@@ -111,6 +123,7 @@ $lang["sales_receipt_no_email"] = "هذا العميل ليس له اي بريد
|
|||||||
$lang["sales_receipt_number"] = "إيصال بيع";
|
$lang["sales_receipt_number"] = "إيصال بيع";
|
||||||
$lang["sales_receipt_sent"] = "تم إرسال الإيصال إلى";
|
$lang["sales_receipt_sent"] = "تم إرسال الإيصال إلى";
|
||||||
$lang["sales_receipt_unsent"] = "فشل إرسال الإيصال إلى";
|
$lang["sales_receipt_unsent"] = "فشل إرسال الإيصال إلى";
|
||||||
|
$lang["sales_refund"] = "";
|
||||||
$lang["sales_register"] = "مسجل المبيعات";
|
$lang["sales_register"] = "مسجل المبيعات";
|
||||||
$lang["sales_remove_customer"] = "حذف عميل";
|
$lang["sales_remove_customer"] = "حذف عميل";
|
||||||
$lang["sales_return"] = "إرتجاع";
|
$lang["sales_return"] = "إرتجاع";
|
||||||
@@ -145,7 +158,10 @@ $lang["sales_suspended_sales"] = "المبيعات المعلقة";
|
|||||||
$lang["sales_table"] = "طاولة";
|
$lang["sales_table"] = "طاولة";
|
||||||
$lang["sales_takings"] = "المبيع اليومي";
|
$lang["sales_takings"] = "المبيع اليومي";
|
||||||
$lang["sales_tax"] = "ضريبة";
|
$lang["sales_tax"] = "ضريبة";
|
||||||
|
$lang["sales_tax_id"] = "الرقم الضريبي";
|
||||||
|
$lang["sales_tax_invoice"] = "فاتورة ضريبية";
|
||||||
$lang["sales_tax_percent"] = "ضريبة %";
|
$lang["sales_tax_percent"] = "ضريبة %";
|
||||||
|
$lang["sales_taxed_ind"] = "";
|
||||||
$lang["sales_total"] = "المجموع";
|
$lang["sales_total"] = "المجموع";
|
||||||
$lang["sales_total_tax_exclusive"] = "الإجمالى بدون الضرائب";
|
$lang["sales_total_tax_exclusive"] = "الإجمالى بدون الضرائب";
|
||||||
$lang["sales_transaction_failed"] = "فشل حركة البيع.";
|
$lang["sales_transaction_failed"] = "فشل حركة البيع.";
|
||||||
@@ -157,6 +173,7 @@ $lang["sales_unsuccessfully_updated"] = "فشل تحديث عملية البيع
|
|||||||
$lang["sales_unsuspend"] = "إلغاء تعليق";
|
$lang["sales_unsuspend"] = "إلغاء تعليق";
|
||||||
$lang["sales_unsuspend_and_delete"] = "إلغاء تعليق وحذف";
|
$lang["sales_unsuspend_and_delete"] = "إلغاء تعليق وحذف";
|
||||||
$lang["sales_update"] = "تحديث";
|
$lang["sales_update"] = "تحديث";
|
||||||
|
$lang["sales_upi"] = "رقم التعريف الشخصي";
|
||||||
$lang["sales_work_order"] = "طلب عمل";
|
$lang["sales_work_order"] = "طلب عمل";
|
||||||
$lang["sales_work_order_number"] = "رقم طلب العمل";
|
$lang["sales_work_order_number"] = "رقم طلب العمل";
|
||||||
$lang["sales_work_order_number_duplicate"] = "رقم طلب العمل يجب ان يكون فريد.";
|
$lang["sales_work_order_number_duplicate"] = "رقم طلب العمل يجب ان يكون فريد.";
|
||||||
|
|||||||
@@ -3,11 +3,14 @@
|
|||||||
$lang["suppliers_account_number"] = "رقم الحساب";
|
$lang["suppliers_account_number"] = "رقم الحساب";
|
||||||
$lang["suppliers_agency_name"] = "اسم الوكالة";
|
$lang["suppliers_agency_name"] = "اسم الوكالة";
|
||||||
$lang["suppliers_cannot_be_deleted"] = "لايمكن حذف المورد/الموردين لوجود مبيعات مرتبطة بهم.";
|
$lang["suppliers_cannot_be_deleted"] = "لايمكن حذف المورد/الموردين لوجود مبيعات مرتبطة بهم.";
|
||||||
|
$lang["suppliers_category"] = "الفئة";
|
||||||
$lang["suppliers_company_name"] = "اسم الشركة";
|
$lang["suppliers_company_name"] = "اسم الشركة";
|
||||||
$lang["suppliers_company_name_required"] = "اسم الشركة مطلوب.";
|
$lang["suppliers_company_name_required"] = "اسم الشركة مطلوب.";
|
||||||
$lang["suppliers_confirm_delete"] = "هل تريد حقا حذف هؤلاء الموردين؟";
|
$lang["suppliers_confirm_delete"] = "هل تريد حقا حذف هؤلاء الموردين؟";
|
||||||
$lang["suppliers_confirm_restore"] = "هل تريد بالتأكيد استعادة المورد (الموردين) المحددين؟";
|
$lang["suppliers_confirm_restore"] = "هل تريد بالتأكيد استعادة المورد (الموردين) المحددين؟";
|
||||||
|
$lang["suppliers_cost"] = "مورد كلفة";
|
||||||
$lang["suppliers_error_adding_updating"] = "خطاء فى إضافة/تحديث المورد.";
|
$lang["suppliers_error_adding_updating"] = "خطاء فى إضافة/تحديث المورد.";
|
||||||
|
$lang["suppliers_goods"] = "مورد بضائع";
|
||||||
$lang["suppliers_new"] = "مورد جديد";
|
$lang["suppliers_new"] = "مورد جديد";
|
||||||
$lang["suppliers_none_selected"] = "لم تختار موردين لحذفهم.";
|
$lang["suppliers_none_selected"] = "لم تختار موردين لحذفهم.";
|
||||||
$lang["suppliers_one_or_multiple"] = "مورد/موردين";
|
$lang["suppliers_one_or_multiple"] = "مورد/موردين";
|
||||||
@@ -16,4 +19,5 @@ $lang["suppliers_successful_deleted"] = "لقد تم حذف المورد بنج
|
|||||||
$lang["suppliers_successful_updating"] = "لقد تم تحديث بيانات المورد بنجاح";
|
$lang["suppliers_successful_updating"] = "لقد تم تحديث بيانات المورد بنجاح";
|
||||||
$lang["suppliers_supplier"] = "مورد";
|
$lang["suppliers_supplier"] = "مورد";
|
||||||
$lang["suppliers_supplier_id"] = "كود المورد";
|
$lang["suppliers_supplier_id"] = "كود المورد";
|
||||||
|
$lang["suppliers_tax_id"] = "الرقم الضريبي";
|
||||||
$lang["suppliers_update"] = "تحديث بيانات المورد";
|
$lang["suppliers_update"] = "تحديث بيانات المورد";
|
||||||
|
|||||||
@@ -1,32 +1,80 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
$lang["taxes_add_exception"] = "أضافة أستثناء";
|
$lang["taxes_add_exception"] = "أضافة أستثناء";
|
||||||
$lang["taxes_confirm_delete"] = "هل أنت متأكد من تغيير الكود الضريبي؟ هذا الأجراء غير قابل للرجوع.";
|
$lang["taxes_cascade"] = "تتالي";
|
||||||
|
$lang["taxes_cascade_sequence"] = "تسلسل متتالي";
|
||||||
|
$lang["taxes_city"] = "مدينة";
|
||||||
|
$lang["taxes_code"] = "الشفرة";
|
||||||
|
$lang["taxes_confirm_delete"] = "هل أنت متأكد أنك تريد حذف قانون الضرائب؟ لا يمكن التراجع عن هذا الإجراء";
|
||||||
$lang["taxes_confirm_restore"] = "هل أنت متأكد من أستعادة الأكواد الضريبية؟";
|
$lang["taxes_confirm_restore"] = "هل أنت متأكد من أستعادة الأكواد الضريبية؟";
|
||||||
$lang["taxes_default_tax_category"] = "التصنيف الضريبي الأفتراضي";
|
$lang["taxes_default_tax_category"] = "التصنيف الضريبي الأفتراضي";
|
||||||
$lang["taxes_error_adding_updating"] = "فشل إضافة أو تغيير الكود الضريبي.";
|
$lang["taxes_default_tax_rate"] = "معدل الضريبة الافتراضي";
|
||||||
$lang["taxes_new"] = "كود ضريبي جديد";
|
$lang["taxes_error_adding_updating"] = "فشل إضافة أو تحديث قانون الضرائب";
|
||||||
$lang["taxes_no_taxes_to_display"] = "لا يوجد أكواد ضريبية للعرض.";
|
$lang["taxes_group_seq"] = "تسلسل المجموعة";
|
||||||
$lang["taxes_round_half_down"] = "تقريب Half Down";
|
$lang["taxes_jurisdiction_name"] = "اسم الولاية القضائية";
|
||||||
$lang["taxes_round_half_even"] = "تقريب Half Even";
|
$lang["taxes_name"] = "الاسم";
|
||||||
$lang["taxes_round_half_odd"] = "تقريب Half Odd";
|
$lang["taxes_new"] = "ضريبة جديدة";
|
||||||
$lang["taxes_round_half_up"] = "تقريب Half Up";
|
$lang["taxes_no_taxes_to_display"] = "لا يوجد أكواد ضريبية للعرض";
|
||||||
|
$lang["taxes_reporting_authority"] = "السلطة الضريبية";
|
||||||
|
$lang["taxes_round_half_down"] = "نصف الاسفل";
|
||||||
|
$lang["taxes_round_half_even"] = "تقريب للنصف";
|
||||||
|
$lang["taxes_round_half_odd"] = "تقريب غريب";
|
||||||
|
$lang["taxes_round_half_up"] = "تقريب للاعلى";
|
||||||
$lang["taxes_rounding_code"] = "كود التقريب";
|
$lang["taxes_rounding_code"] = "كود التقريب";
|
||||||
$lang["taxes_sales_tax"] = "ضريبة المبيعات";
|
$lang["taxes_sales_tax"] = "ضريبة المبيعات";
|
||||||
$lang["taxes_sales_tax_by_invoice"] = "ضريبة المبيعات بالفاتورة";
|
$lang["taxes_sales_tax_by_invoice"] = "ضريبة المبيعات بالفاتورة";
|
||||||
|
$lang["taxes_sequence"] = "تسلسل";
|
||||||
|
$lang["taxes_state"] = "حالة";
|
||||||
$lang["taxes_successful_deleted"] = "تم المسح بنجاح";
|
$lang["taxes_successful_deleted"] = "تم المسح بنجاح";
|
||||||
$lang["taxes_tax_category"] = "نوع الضريبة";
|
$lang["taxes_tax_categories"] = "فئات الضرائب";
|
||||||
|
$lang["taxes_tax_categories_configuration"] = "اعدادات فئات الضرائب";
|
||||||
|
$lang["taxes_tax_categories_saved_successfully"] = "تم حفظ تغييرات الفئات الضريبية";
|
||||||
|
$lang["taxes_tax_categories_saved_unsuccessfully"] = "لم يتم حفظ تغييرات الفئات الضريبة";
|
||||||
|
$lang["taxes_tax_category"] = "الفئة الضريبية";
|
||||||
|
$lang["taxes_tax_category_code"] = "رمز الفئة الضريبية";
|
||||||
|
$lang["taxes_tax_category_duplicate"] = "الفئة الضريبية مكررة";
|
||||||
|
$lang["taxes_tax_category_invalid_chars"] = "أحرف غير صالحة في اسم الفئة الضريبية";
|
||||||
|
$lang["taxes_tax_category_name"] = "اسم فئة الضريبة";
|
||||||
|
$lang["taxes_tax_category_new"] = "فئة الضريبية جديدة";
|
||||||
|
$lang["taxes_tax_category_required"] = "الفئة الضريبة مطلوبة";
|
||||||
$lang["taxes_tax_code"] = "كود الضريبة";
|
$lang["taxes_tax_code"] = "كود الضريبة";
|
||||||
$lang["taxes_tax_code_cannot_be_deleted"] = "فشل مسح الكود الضريبي.";
|
$lang["taxes_tax_code_cannot_be_deleted"] = "فشل مسح الكود الضريبي";
|
||||||
|
$lang["taxes_tax_code_duplicate"] = "رمز الضريبة مكرر";
|
||||||
|
$lang["taxes_tax_code_invalid_chars"] = "أحرف لا يمكن استعمالها في قانون الضرائب";
|
||||||
$lang["taxes_tax_code_name"] = "اسم الكود الضريبي";
|
$lang["taxes_tax_code_name"] = "اسم الكود الضريبي";
|
||||||
$lang["taxes_tax_code_required"] = "حقل الكود الضريبي مطلوب.";
|
$lang["taxes_tax_code_required"] = "حقل الكود الضريبي مطلوب";
|
||||||
$lang["taxes_tax_code_successful_deleted"] = "تم مسح الكود الضريبي";
|
$lang["taxes_tax_code_successful_deleted"] = "تم مسح الكود الضريبي";
|
||||||
$lang["taxes_tax_code_successful_updated"] = "تم التعديل بنجاح";
|
$lang["taxes_tax_code_successful_updated"] = "تم التعديل بنجاح";
|
||||||
$lang["taxes_tax_code_successful_updating"] = "تم تعديل الكود الضريبي بنجاح";
|
$lang["taxes_tax_code_successful_updating"] = "تم تعديل الكود الضريبي بنجاح";
|
||||||
$lang["taxes_tax_code_successfully_added"] = "لقد تم إضافة المورد بنجاح";
|
$lang["taxes_tax_code_successfully_added"] = "لقد تم إضافة المورد بنجاح";
|
||||||
$lang["taxes_tax_code_type"] = "نوع كود الضريبة";
|
$lang["taxes_tax_code_type"] = "نوع كود الضريبة";
|
||||||
|
$lang["taxes_tax_codes"] = "الرموز الضريبية";
|
||||||
|
$lang["taxes_tax_codes_configuration"] = "اعدادات الرموز الضريبية";
|
||||||
|
$lang["taxes_tax_codes_saved_successfully"] = "تم حفظ تغييرات قانون الضرائب";
|
||||||
|
$lang["taxes_tax_codes_saved_unsuccessfully"] = "لم يتم حفظ تغييرات قانون الضريبة";
|
||||||
|
$lang["taxes_tax_excluded"] = "لا تشمل الضرائب";
|
||||||
|
$lang["taxes_tax_group"] = "المجموعة الضريبية";
|
||||||
|
$lang["taxes_tax_group_not_unique"] = "";
|
||||||
|
$lang["taxes_tax_group_sequence"] = "تسلسل مجموعة الضرائب";
|
||||||
|
$lang["taxes_tax_included"] = "الضريبة مشمولة";
|
||||||
|
$lang["taxes_tax_jurisdiction"] = "الاختصاص الضريبي";
|
||||||
|
$lang["taxes_tax_jurisdiction_duplicate"] = "تكرير الاختصاص الضريبي";
|
||||||
|
$lang["taxes_tax_jurisdiction_invalid_chars"] = "أحرف لا يمكن استعمالها في اسم الولاية القضائية";
|
||||||
|
$lang["taxes_tax_jurisdiction_required"] = "الاختصاص الضريبي هي خانة اجبارية";
|
||||||
|
$lang["taxes_tax_jurisdictions"] = "الاختصاصات الضريبية";
|
||||||
|
$lang["taxes_tax_jurisdictions_configuration"] = "اعجدادات الاختصاصات الضريبية";
|
||||||
|
$lang["taxes_tax_jurisdictions_saved_successfully"] = "تم حفظ تغييرات الاختصاص الضريبي";
|
||||||
|
$lang["taxes_tax_jurisdictions_saved_unsuccessfully"] = "لم يتم حفظ تغييرات الاختصاص الضريبي";
|
||||||
$lang["taxes_tax_rate"] = "معدل الضريبة الافتراضي %";
|
$lang["taxes_tax_rate"] = "معدل الضريبة الافتراضي %";
|
||||||
$lang["taxes_tax_rate_numeric"] = "معدل الضريبة الافتراضي يجب أن يكون رقم.";
|
$lang["taxes_tax_rate_configuration"] = "اعجدادات معدل الضريبة";
|
||||||
$lang["taxes_tax_rate_required"] = "معدل الضريبة الافتراضي مطلوب.";
|
$lang["taxes_tax_rate_error_adding_updating"] = "فشل إضافة أو تحديث معدل الضريبة";
|
||||||
$lang["taxes_update"] = "تعديل نوع ضريبة المبيعات";
|
$lang["taxes_tax_rate_numeric"] = "معدل الضريبة الافتراضي يجب أن يكون رقم";
|
||||||
|
$lang["taxes_tax_rate_required"] = "معدل الضريبة الافتراضي مطلوب";
|
||||||
|
$lang["taxes_tax_rate_successful_updated"] = "لقد تم بالتحديث بنجاح";
|
||||||
|
$lang["taxes_tax_rate_successfully_added"] = "لقد تم الاضافة بنجاح";
|
||||||
|
$lang["taxes_tax_rates"] = "معدلات الضريبة";
|
||||||
|
$lang["taxes_tax_rates_configuration"] = "اعدادات معدلات الضريبة";
|
||||||
|
$lang["taxes_tax_rounding"] = "التقريب الضريبي";
|
||||||
|
$lang["taxes_tax_type"] = "نوع الضريبة";
|
||||||
|
$lang["taxes_update"] = "تحديث معدل الضريبة";
|
||||||
$lang["taxes_vat_tax"] = "ضريبة القيمة المضافة";
|
$lang["taxes_vat_tax"] = "ضريبة القيمة المضافة";
|
||||||
|
|||||||
31
application/language/ar-LB/attributes_lang.php
Normal file
31
application/language/ar-LB/attributes_lang.php
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
$lang["attributes_attribute_value_invalid_chars"] = "الميزات لا يمكن أن تحتوي على ':' أو'|'";
|
||||||
|
$lang["attributes_confirm_delete"] = "هل أنت متأكد من أنك تريد حذف الميزات المحددة ؟";
|
||||||
|
$lang["attributes_confirm_restore"] = "هل أنت متأكد من أنك تريد استعادة السمة (السمات) المحددة؟";
|
||||||
|
$lang["attributes_definition_cannot_be_deleted"] = "لا يمكن حذف السمات المحددة";
|
||||||
|
$lang["attributes_definition_error_adding_updating"] = "لا يمكن إضافة السمة ٪1 أو تحديثها. يرجى التحقق من سجل الخطأ.";
|
||||||
|
$lang["attributes_definition_flags"] = "رؤية الميزات";
|
||||||
|
$lang["attributes_definition_group"] = "المجموعة";
|
||||||
|
$lang["attributes_definition_id"] = "كود";
|
||||||
|
$lang["attributes_definition_name"] = "إضافة ميزة";
|
||||||
|
$lang["attributes_definition_name_required"] = "اسم الميزة هي خانة اجبارية";
|
||||||
|
$lang["attributes_definition_one_or_multiple"] = "ميزة/ميزات";
|
||||||
|
$lang["attributes_definition_successful_adding"] = "لقد تم إضافة صنف بنجاح";
|
||||||
|
$lang["attributes_definition_successful_deleted"] = "لقد تم حذف ميزة بنجاح";
|
||||||
|
$lang["attributes_definition_successful_updating"] = "تم تعديل الميزة بنجاح";
|
||||||
|
$lang["attributes_definition_type"] = "نوع الميزة";
|
||||||
|
$lang["attributes_definition_type_required"] = "نوع الميزة هي خانة إجبارية";
|
||||||
|
$lang["attributes_definition_unit"] = "وحدة قياس";
|
||||||
|
$lang["attributes_definition_values"] = "قيمة الميزة";
|
||||||
|
$lang["attributes_new"] = "اضافة ميزة جديده";
|
||||||
|
$lang["attributes_no_attributes_to_display"] = "لا يوجد اصناف للعرض";
|
||||||
|
$lang["attributes_receipt_visibility"] = "وصل";
|
||||||
|
$lang["attributes_show_in_items"] = "اظهار في الصنف";
|
||||||
|
$lang["attributes_show_in_items_visibility"] = "الصنف";
|
||||||
|
$lang["attributes_show_in_receipt"] = "اظهار على الوصل";
|
||||||
|
$lang["attributes_show_in_receivings"] = "اظهار في استلام البضائع";
|
||||||
|
$lang["attributes_show_in_receivings_visibility"] = "استلام البضائع";
|
||||||
|
$lang["attributes_show_in_sales"] = "اظهار خلال البيع";
|
||||||
|
$lang["attributes_show_in_sales_visibility"] = "البيع";
|
||||||
|
$lang["attributes_update"] = "تحديث الميزات";
|
||||||
10
application/language/ar-LB/bootstrap_tables_lang.php
Normal file
10
application/language/ar-LB/bootstrap_tables_lang.php
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
$lang["tables_all"] = "الجميع";
|
||||||
|
$lang["tables_columns"] = "أعمدة";
|
||||||
|
$lang["tables_hide_show_pagination"] = "عرض/إخفاء أرقام الصفحات";
|
||||||
|
$lang["tables_loading"] = "جارى التحميل، برجاء الإنتظار ...";
|
||||||
|
$lang["tables_page_from_to"] = "عرض {0} إلى {1} من {2} صفوف";
|
||||||
|
$lang["tables_refresh"] = "إعادة تحميل";
|
||||||
|
$lang["tables_rows_per_page"] = "{0} صف بالصفحة";
|
||||||
|
$lang["tables_toggle"] = "تغيير";
|
||||||
38
application/language/ar-LB/cashups_lang.php
Normal file
38
application/language/ar-LB/cashups_lang.php
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
$lang["cashups_amount"] = "قيمة المبلغ";
|
||||||
|
$lang["cashups_amount_number"] = "قيمة المبلغ يجب ان تتكون من ارقام";
|
||||||
|
$lang["cashups_amount_required"] = "قيمة المبلغ هي خانة إجبارية.";
|
||||||
|
$lang["cashups_cannot_be_deleted"] = "لا يمكن حذف الصندوق النقدي";
|
||||||
|
$lang["cashups_close_date"] = "تاريخ تسكير الصندوق";
|
||||||
|
$lang["cashups_close_employee"] = "تم التسكير من قبل";
|
||||||
|
$lang["cashups_closed_amount_card"] = "بطاقات ائتمان";
|
||||||
|
$lang["cashups_closed_amount_cash"] = "الصندوق النقدي";
|
||||||
|
$lang["cashups_closed_amount_check"] = "شيكات";
|
||||||
|
$lang["cashups_closed_amount_due"] = "الديون";
|
||||||
|
$lang["cashups_closed_amount_total"] = "المجموع";
|
||||||
|
$lang["cashups_closed_date"] = "تاريخ تسكير الصندوق";
|
||||||
|
$lang["cashups_confirm_delete"] = "هل انت متأكد من حذف الصندوق النقدي؟";
|
||||||
|
$lang["cashups_confirm_restore"] = "هل انت متأكد من استعادة الصندوق النقدي؟";
|
||||||
|
$lang["cashups_date_number"] = "التاريخ يجب ان يكون مكون من ارقام";
|
||||||
|
$lang["cashups_date_required"] = "التاريخ هي خانة اجبارية";
|
||||||
|
$lang["cashups_description"] = "الوصف";
|
||||||
|
$lang["cashups_error_adding_updating"] = "خطأ في تعديل او اضافة صندوق نقدي";
|
||||||
|
$lang["cashups_id"] = "كود";
|
||||||
|
$lang["cashups_info"] = "معلومات عن الصندوق النقدي";
|
||||||
|
$lang["cashups_is_deleted"] = "محذوف";
|
||||||
|
$lang["cashups_new"] = "صندوق نقدي جديد";
|
||||||
|
$lang["cashups_no_cashups_to_display"] = "لا يوجد صناديق نقدية للاظهار";
|
||||||
|
$lang["cashups_none_selected"] = "لم يتم اختيار اي صندوق نقدي";
|
||||||
|
$lang["cashups_note"] = "ملاحظات";
|
||||||
|
$lang["cashups_one_or_multiple"] = "صندوق او صناديق نقدية";
|
||||||
|
$lang["cashups_open_amount_cash"] = "بداية صندوق نقدي";
|
||||||
|
$lang["cashups_open_date"] = "تاريخ بداية الصندوق النقدي";
|
||||||
|
$lang["cashups_open_employee"] = "تمت بداية الصندوق النقدي من قبل";
|
||||||
|
$lang["cashups_opened_date"] = "تاريخ بداية الصندوق النقدي";
|
||||||
|
$lang["cashups_successful_adding"] = "تمت إضافة الصندوق النقدي بنجاح";
|
||||||
|
$lang["cashups_successful_deleted"] = "تم حذف الصندوق النقدي بنجاح";
|
||||||
|
$lang["cashups_successful_updating"] = "تم تعديل الصندوق النقدي بنجاح";
|
||||||
|
$lang["cashups_total"] = "المجموع";
|
||||||
|
$lang["cashups_transfer_amount_cash"] = "حركة الصندوق";
|
||||||
|
$lang["cashups_update"] = "تعديل/تحديث الصندوق النقدي";
|
||||||
74
application/language/ar-LB/common_lang.php
Normal file
74
application/language/ar-LB/common_lang.php
Normal file
@@ -0,0 +1,74 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
$lang["common_address_1"] = "العنوان 1";
|
||||||
|
$lang["common_address_2"] = "العنوان 2";
|
||||||
|
$lang["common_city"] = "المدينة";
|
||||||
|
$lang["common_close"] = "إغلاق";
|
||||||
|
$lang["common_comments"] = "تعليقات";
|
||||||
|
$lang["common_common"] = "عام";
|
||||||
|
$lang["common_confirm_search"] = "لقد قمت اختيار أكتر من سجل، سوف تفقد هذه الاختيارات عند إرسال البحث، موافق؟";
|
||||||
|
$lang["common_copyrights"] = "© 2010 - %1";
|
||||||
|
$lang["common_correct_errors"] = "يرجى تصحيح الأخطاء المحددة قبل الحفظ";
|
||||||
|
$lang["common_country"] = "البلد";
|
||||||
|
$lang["common_date"] = "التاريخ";
|
||||||
|
$lang["common_delete"] = "حذف";
|
||||||
|
$lang["common_det"] = "تفاصيل";
|
||||||
|
$lang["common_download_import_template"] = "تنزيل قالب الاستيراد من اكسل (CSV)";
|
||||||
|
$lang["common_edit"] = "تحرير";
|
||||||
|
$lang["common_email"] = "بريد إلكتروني";
|
||||||
|
$lang["common_email_invalid_format"] = "شكل البريد الإلكتروني غير صحيح.";
|
||||||
|
$lang["common_export_csv"] = "تصدير إلى اكسل";
|
||||||
|
$lang["common_export_csv_no"] = "لا";
|
||||||
|
$lang["common_export_csv_yes"] = "نعم";
|
||||||
|
$lang["common_fields_required_message"] = "الحقول التي بالأحمر مطلوبة";
|
||||||
|
$lang["common_first_name"] = "الاسم الأول";
|
||||||
|
$lang["common_first_name_required"] = "الاسم الأول مطلوب.";
|
||||||
|
$lang["common_first_page"] = "الأول";
|
||||||
|
$lang["common_gender"] = "النوع";
|
||||||
|
$lang["common_gender_female"] = "أنثى";
|
||||||
|
$lang["common_gender_male"] = "ذكر";
|
||||||
|
$lang["common_gender_undefined"] = "";
|
||||||
|
$lang["common_id"] = "كود";
|
||||||
|
$lang["common_import"] = "استيراد";
|
||||||
|
$lang["common_import_change_file"] = "تغيير";
|
||||||
|
$lang["common_import_csv"] = "استيراد من اكسل";
|
||||||
|
$lang["common_import_full_path"] = "المسار الكامل لملف اكسل مطلوب";
|
||||||
|
$lang["common_import_remove_file"] = "إزالة";
|
||||||
|
$lang["common_import_select_file"] = "اختار ملف";
|
||||||
|
$lang["common_inv"] = "المخزن";
|
||||||
|
$lang["common_last_name"] = "الاسم الأخير";
|
||||||
|
$lang["common_last_name_required"] = "الاسم الأخير مطلوب.";
|
||||||
|
$lang["common_last_page"] = "الأخيرة";
|
||||||
|
$lang["common_learn_about_project"] = "للتعرف على أخر المعلومات حول المشروع.";
|
||||||
|
$lang["common_list_of"] = "قائمة بـ";
|
||||||
|
$lang["common_logout"] = "خروج";
|
||||||
|
$lang["common_migration_needed"] = "سيبدأ ترحيل قاعدة البيانات إلى ٪1 بعد تسجيل الدخول.";
|
||||||
|
$lang["common_new"] = "جديد";
|
||||||
|
$lang["common_no"] = "";
|
||||||
|
$lang["common_no_persons_to_display"] = "لا يوجد اناس لعرضهم.";
|
||||||
|
$lang["common_none_selected_text"] = "[إختيار]";
|
||||||
|
$lang["common_or"] = "أو";
|
||||||
|
$lang["common_phone_number"] = "رقم التليفون";
|
||||||
|
$lang["common_phone_number_required"] = "رقم التليفون مطلوب";
|
||||||
|
$lang["common_please_visit_my"] = "برجاء زيارة";
|
||||||
|
$lang["common_powered_by"] = "مدعوم بواسطة";
|
||||||
|
$lang["common_price"] = "السعر";
|
||||||
|
$lang["common_print"] = "طباعة";
|
||||||
|
$lang["common_remove"] = "إزالة";
|
||||||
|
$lang["common_required"] = "مطلوب";
|
||||||
|
$lang["common_restore"] = "الإستعادة";
|
||||||
|
$lang["common_return_policy"] = "سياسة الاسترجاع";
|
||||||
|
$lang["common_search"] = "بحث";
|
||||||
|
$lang["common_search_options"] = "خيارات البحث";
|
||||||
|
$lang["common_searched_for"] = "بحث عن";
|
||||||
|
$lang["common_state"] = "المحافظة";
|
||||||
|
$lang["common_submit"] = "حفظ";
|
||||||
|
$lang["common_total_spent"] = "مجموع الصرف";
|
||||||
|
$lang["common_unknown"] = "غير معروف";
|
||||||
|
$lang["common_view_recent_sales"] = "عرض أحدث المبيعات";
|
||||||
|
$lang["common_website"] = "الموقع الإلكترونى";
|
||||||
|
$lang["common_welcome"] = "مرحباً";
|
||||||
|
$lang["common_welcome_message"] = "مرحباً فى OSPOS برجاء إختيار أى قسم للبدء.";
|
||||||
|
$lang["common_yes"] = "";
|
||||||
|
$lang["common_you_are_using_ospos"] = "أنت تستخدم إصدار Open Source Point Of Sale";
|
||||||
|
$lang["common_zip"] = "الرقم البريدى";
|
||||||
300
application/language/ar-LB/config_lang.php
Normal file
300
application/language/ar-LB/config_lang.php
Normal file
@@ -0,0 +1,300 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
$lang["config_address"] = "عنوان الشركة";
|
||||||
|
$lang["config_address_required"] = "عنوان الشركة مطلوب.";
|
||||||
|
$lang["config_all_set"] = "All file permissions are set correctly!";
|
||||||
|
$lang["config_allow_duplicate_barcodes"] = "السماح بتشابة الباركود";
|
||||||
|
$lang["config_apostrophe"] = "الفاصلة";
|
||||||
|
$lang["config_backup_button"] = "نسخ إحتياطى";
|
||||||
|
$lang["config_backup_database"] = "نسخ إحتياطى لقاعدة البيانات";
|
||||||
|
$lang["config_barcode"] = "باركود";
|
||||||
|
$lang["config_barcode_company"] = "اسم الشركة";
|
||||||
|
$lang["config_barcode_configuration"] = "اعدادات الباركود";
|
||||||
|
$lang["config_barcode_content"] = "محتويات الباركود";
|
||||||
|
$lang["config_barcode_first_row"] = "الصف 1";
|
||||||
|
$lang["config_barcode_font"] = "الخط";
|
||||||
|
$lang["config_barcode_formats"] = "اشكال الادخال";
|
||||||
|
$lang["config_barcode_generate_if_empty"] = "توليد اذا كان الباركود فارغ.";
|
||||||
|
$lang["config_barcode_height"] = "الارتفاع (px)";
|
||||||
|
$lang["config_barcode_id"] = "كود/اسم الصنف";
|
||||||
|
$lang["config_barcode_info"] = "معلومات اعدادات الباركود";
|
||||||
|
$lang["config_barcode_layout"] = "تخطيط الباركود";
|
||||||
|
$lang["config_barcode_name"] = "الاسم";
|
||||||
|
$lang["config_barcode_number"] = "الباركود UPC/EAN/ISBN";
|
||||||
|
$lang["config_barcode_number_in_row"] = "الرقم فى الصف";
|
||||||
|
$lang["config_barcode_page_cellspacing"] = "المسافة بين الخلايا فى صفحة العرض.";
|
||||||
|
$lang["config_barcode_page_width"] = "عرض الصفحة";
|
||||||
|
$lang["config_barcode_price"] = "السعر";
|
||||||
|
$lang["config_barcode_second_row"] = "الصف 2";
|
||||||
|
$lang["config_barcode_third_row"] = "الصف 3";
|
||||||
|
$lang["config_barcode_tooltip"] = "تحذير: قد تؤدي هذه الميزة إلى استيراد اصناف مكررة أو إنشاؤها. لا تستخدمها إذا كنت لا تريد الباركود مكررة.";
|
||||||
|
$lang["config_barcode_type"] = "نوعية الباركود";
|
||||||
|
$lang["config_barcode_width"] = "العرض (px)";
|
||||||
|
$lang["config_bottom"] = "الأسفل";
|
||||||
|
$lang["config_cash_decimals"] = "فواصل النقدية";
|
||||||
|
$lang["config_cash_decimals_tooltip"] = "إذا كانت الكسور العشرية النقدية وعشرية العملات هي نفسها ثم لن يتم تقريب النقدية.";
|
||||||
|
$lang["config_cash_rounding"] = "التقريب النقدي";
|
||||||
|
$lang["config_category_dropdown"] = "";
|
||||||
|
$lang["config_center"] = "الوسط";
|
||||||
|
$lang["config_comma"] = "فاصلة";
|
||||||
|
$lang["config_company"] = "اسم الشركة";
|
||||||
|
$lang["config_company_change_image"] = "تغيير الصورة";
|
||||||
|
$lang["config_company_logo"] = "شعار الشركة";
|
||||||
|
$lang["config_company_remove_image"] = "إزالة الصورة";
|
||||||
|
$lang["config_company_required"] = "اسم الشركة مطلوب";
|
||||||
|
$lang["config_company_select_image"] = "اختار صورة";
|
||||||
|
$lang["config_company_website_url"] = "الموقع الإلكترونى للشركة غير صحيح.";
|
||||||
|
$lang["config_country_codes"] = "أكواد الدولة";
|
||||||
|
$lang["config_country_codes_tooltip"] = "قائمة مفصولة بفاصلة لاسماء الدول للبحث.";
|
||||||
|
$lang["config_currency_code"] = "رمز العملة";
|
||||||
|
$lang["config_currency_decimals"] = "العلامة العشرية للعملة";
|
||||||
|
$lang["config_currency_symbol"] = "رمز العملة";
|
||||||
|
$lang["config_customer_reward"] = "المكافآت";
|
||||||
|
$lang["config_customer_reward_duplicate"] = "المكافئة يجب ان تكون فريدة.";
|
||||||
|
$lang["config_customer_reward_enable"] = "تمكين مكافآت العميل";
|
||||||
|
$lang["config_customer_reward_invalid_chars"] = "لا يمكن أن تحتوي المكافأة على '_'";
|
||||||
|
$lang["config_customer_reward_required"] = "المكافأة هي حقل مطلوب";
|
||||||
|
$lang["config_customer_sales_tax_support"] = "دعم الضرائب المبيعات العملاء";
|
||||||
|
$lang["config_date_or_time_format"] = "تصفية التاريخ والوقت";
|
||||||
|
$lang["config_datetimeformat"] = "شكل الوقت و التاريخ";
|
||||||
|
$lang["config_decimal_point"] = "العلامة العشرية";
|
||||||
|
$lang["config_default_barcode_font_size_number"] = "الحجم الافتراضي لخط الباركود لابد أن يكون رقم.";
|
||||||
|
$lang["config_default_barcode_font_size_required"] = "الحجم الافتراضي لخط الباركود مطلوب.";
|
||||||
|
$lang["config_default_barcode_height_number"] = "الارتفاع الافتراضي للباركود لابد ان يكون رقم.";
|
||||||
|
$lang["config_default_barcode_height_required"] = "الارتفاع الافتراضي للباركود مطلوب.";
|
||||||
|
$lang["config_default_barcode_num_in_row_number"] = "رقم الباركود فى اى سطر لابد ان يكون رقم.";
|
||||||
|
$lang["config_default_barcode_num_in_row_required"] = "رقم الباركود فى اى سطر مطلوب.";
|
||||||
|
$lang["config_default_barcode_page_cellspacing_number"] = "المسافة الافتراضية بين خلايا الباركود لابد أن تكون رقم.";
|
||||||
|
$lang["config_default_barcode_page_cellspacing_required"] = "المسافة الافتراضية بين خلايا الباركود مطلوبة.";
|
||||||
|
$lang["config_default_barcode_page_width_number"] = "عرض الصفحة الافتراضي للباركود لابد ان يكون رقم.";
|
||||||
|
$lang["config_default_barcode_page_width_required"] = "عرض الصفحة الافتراضي للباركود مطلوب.";
|
||||||
|
$lang["config_default_barcode_width_number"] = "العرض الافتراضي للباركود لابد ان يكون رقم.";
|
||||||
|
$lang["config_default_barcode_width_required"] = "العرض الافتراضي للباركود مطلوب.";
|
||||||
|
$lang["config_default_item_columns"] = "الخانات المراد إظهارها";
|
||||||
|
$lang["config_default_origin_tax_code"] = "كود الضريبة الاساسي الافتراضي";
|
||||||
|
$lang["config_default_receivings_discount"] = "خصم الإيصالات الافتراضي";
|
||||||
|
$lang["config_default_receivings_discount_number"] = "خصم الإيصالات الافتراضي يجب ان يكون رقم.";
|
||||||
|
$lang["config_default_receivings_discount_required"] = "خصم الإيصالات الافتراضي هي خانة اجبارية.";
|
||||||
|
$lang["config_default_sales_discount"] = "نسبة الخصم الافتراضية";
|
||||||
|
$lang["config_default_sales_discount_number"] = "نسبة الخصم الافتراضية لابد ان تكون رقم.";
|
||||||
|
$lang["config_default_sales_discount_required"] = "نسبة الخصم الافتراضية مطلوبة.";
|
||||||
|
$lang["config_default_tax_category"] = "فئة الضرائب الافتراضية";
|
||||||
|
$lang["config_default_tax_code"] = "قانون الضرائب الافتراضي";
|
||||||
|
$lang["config_default_tax_jurisdiction"] = "الاختصاص الضريبي الافتراضي";
|
||||||
|
$lang["config_default_tax_name_number"] = "يجب أن يكون الاسم الافتراضي للضريبة سلسلة.";
|
||||||
|
$lang["config_default_tax_name_required"] = "اسم الضريبة الافتراضية مطلوب.";
|
||||||
|
$lang["config_default_tax_rate"] = "معدل الضريبة الافتراضي %";
|
||||||
|
$lang["config_default_tax_rate_1"] = "معدل الضريبة 1";
|
||||||
|
$lang["config_default_tax_rate_2"] = "معدل الضريبة 2";
|
||||||
|
$lang["config_default_tax_rate_number"] = "معدل الضريبة الافتراضي يجب أن يكون رقم.";
|
||||||
|
$lang["config_default_tax_rate_required"] = "معدل الضريبة الافتراضي مطلوب.";
|
||||||
|
$lang["config_derive_sale_quantity"] = "السماح بأسعار البيع المشتقة";
|
||||||
|
$lang["config_derive_sale_quantity_tooltip"] = "إذا تم تحديدها، فسيتم توفير نوع جديد من الاصناف للاصناف المطلوبة حسب المبلغ الموسع";
|
||||||
|
$lang["config_dinner_table"] = "طاولة";
|
||||||
|
$lang["config_dinner_table_duplicate"] = "الطاولة يجب ان تكون فريدة.";
|
||||||
|
$lang["config_dinner_table_enable"] = "تمكين جداول الطاولات";
|
||||||
|
$lang["config_dinner_table_invalid_chars"] = "لا يمكن أن يحتوي اسم الطاولة على '_'.";
|
||||||
|
$lang["config_dinner_table_required"] = "الطاولة هو حقل مطلوب.";
|
||||||
|
$lang["config_dot"] = "نقطة";
|
||||||
|
$lang["config_email"] = "البريد الإلكتروني";
|
||||||
|
$lang["config_email_configuration"] = "إعدادات البريد الإلكتروني";
|
||||||
|
$lang["config_email_mailpath"] = "مسار ارسال البريد";
|
||||||
|
$lang["config_email_protocol"] = "بروتوكول";
|
||||||
|
$lang["config_email_receipt_check_behaviour"] = "ارسال رسائل الكترونية";
|
||||||
|
$lang["config_email_receipt_check_behaviour_always"] = "مختار دائما";
|
||||||
|
$lang["config_email_receipt_check_behaviour_last"] = "تذكر آخر إختيار";
|
||||||
|
$lang["config_email_receipt_check_behaviour_never"] = "دائما غير مختار";
|
||||||
|
$lang["config_email_smtp_crypto"] = "تشفير SMTP";
|
||||||
|
$lang["config_email_smtp_host"] = "خادم SMTP";
|
||||||
|
$lang["config_email_smtp_pass"] = "كلمة سر SMTP";
|
||||||
|
$lang["config_email_smtp_port"] = "رقم منفذ SMTP";
|
||||||
|
$lang["config_email_smtp_timeout"] = "وقت فشل المحاولة (ثوانى) لـ SMTP";
|
||||||
|
$lang["config_email_smtp_user"] = "اسم مستخدم SMTP";
|
||||||
|
$lang["config_enforce_privacy"] = "فرض نظام الخصوصية";
|
||||||
|
$lang["config_enforce_privacy_tooltip"] = "حماية ملفات ومعلومات المستخدم عند الحذف";
|
||||||
|
$lang["config_fax"] = "الفاكس";
|
||||||
|
$lang["config_file_perm"] = "There are problems with file permissions please fix and reload this page.";
|
||||||
|
$lang["config_financial_year"] = "بداية السنة المالية";
|
||||||
|
$lang["config_financial_year_apr"] = "1 أبريل";
|
||||||
|
$lang["config_financial_year_aug"] = "1 أغسطس";
|
||||||
|
$lang["config_financial_year_dec"] = "1 ديسمبر";
|
||||||
|
$lang["config_financial_year_feb"] = "1 فبراير";
|
||||||
|
$lang["config_financial_year_jan"] = "1 يناير";
|
||||||
|
$lang["config_financial_year_jul"] = "1 يوليو";
|
||||||
|
$lang["config_financial_year_jun"] = "1 يونيو";
|
||||||
|
$lang["config_financial_year_mar"] = "1 مارس";
|
||||||
|
$lang["config_financial_year_may"] = "1 مايو";
|
||||||
|
$lang["config_financial_year_nov"] = "1 نوفمبر";
|
||||||
|
$lang["config_financial_year_oct"] = "1 أكتوبر";
|
||||||
|
$lang["config_financial_year_sep"] = "1 سبتمبر";
|
||||||
|
$lang["config_gcaptcha_enable"] = "صفحة تسجيل الدخول ريكابتشا";
|
||||||
|
$lang["config_gcaptcha_secret_key"] = "مفتاح السرية ريكابتشا";
|
||||||
|
$lang["config_gcaptcha_secret_key_required"] = "مفتاح السرية ريكابتشا هو حقل مطلوب";
|
||||||
|
$lang["config_gcaptcha_site_key"] = "ريكابتشا مفتاح الموقع";
|
||||||
|
$lang["config_gcaptcha_site_key_required"] = "ريكابتشا مفتاح الموقع هو حقل مطلوب";
|
||||||
|
$lang["config_gcaptcha_tooltip"] = "احرص على حماية صفحة تسجيل الدخول باستخدام ريكابتشا من غوغل.";
|
||||||
|
$lang["config_general"] = "عام";
|
||||||
|
$lang["config_general_configuration"] = "إعدادات عامة";
|
||||||
|
$lang["config_giftcard_number"] = "رقم كارت الهدية";
|
||||||
|
$lang["config_giftcard_random"] = "توليد عشوائي";
|
||||||
|
$lang["config_giftcard_series"] = "توليد في السلسلة";
|
||||||
|
$lang["config_image_allowed_file_types"] = "";
|
||||||
|
$lang["config_image_max_height_tooltip"] = "";
|
||||||
|
$lang["config_image_max_size_tooltip"] = "";
|
||||||
|
$lang["config_image_max_width_tooltip"] = "";
|
||||||
|
$lang["config_image_restrictions"] = "";
|
||||||
|
$lang["config_include_hsn"] = "تشمل الدعم لرمز نظام منسق";
|
||||||
|
$lang["config_info"] = "معلومات";
|
||||||
|
$lang["config_info_configuration"] = "معلومات الشركة";
|
||||||
|
$lang["config_integrations"] = "التكامل";
|
||||||
|
$lang["config_integrations_configuration"] = "تكامل";
|
||||||
|
$lang["config_invoice"] = "الفاتورة";
|
||||||
|
$lang["config_invoice_configuration"] = "إعدادات طباعة الفاتورة";
|
||||||
|
$lang["config_invoice_default_comments"] = "التعليق الافتراضي على الفاتورة";
|
||||||
|
$lang["config_invoice_email_message"] = "قالب البريد الإلكتروني للفاتورة";
|
||||||
|
$lang["config_invoice_enable"] = "تفعيل الفوترة";
|
||||||
|
$lang["config_invoice_printer"] = "طابعة الفواتير";
|
||||||
|
$lang["config_invoice_type"] = "نوع الفاتورة";
|
||||||
|
$lang["config_is_readable"] = "";
|
||||||
|
$lang["config_is_writable"] = "is writable, but the permissions are higher than 750.";
|
||||||
|
$lang["config_jsprintsetup_required"] = "تحذير! هذه الخاصية غير المفعلة سوف تعمل فقط مع وجود الاضافة jsPrintSetup على متصفح فايرفوكس. حفظ على أى حال؟";
|
||||||
|
$lang["config_language"] = "اللغة";
|
||||||
|
$lang["config_last_used_invoice_number"] = "اخر رقم مستخدم للفاتورة";
|
||||||
|
$lang["config_last_used_quote_number"] = "اخر رقم مستخدم لعرض الاسعار";
|
||||||
|
$lang["config_last_used_work_order_number"] = "آخر رقم مستخدم في طلبات العمل";
|
||||||
|
$lang["config_left"] = "يسار";
|
||||||
|
$lang["config_license"] = "الرخصة";
|
||||||
|
$lang["config_license_configuration"] = "نص الرخصة";
|
||||||
|
$lang["config_line_sequence"] = "تسلسل خطي";
|
||||||
|
$lang["config_lines_per_page"] = "عدد السطور فى الصفحة";
|
||||||
|
$lang["config_lines_per_page_number"] = "عدد السطور فى الصفحة يجب أن يكون رقم.";
|
||||||
|
$lang["config_lines_per_page_required"] = "عدد السطور فى الصفحة مطلوب.";
|
||||||
|
$lang["config_locale"] = "إقليمية";
|
||||||
|
$lang["config_locale_configuration"] = "الإعدادات الإقليمية";
|
||||||
|
$lang["config_locale_info"] = "معلومات التهيئة الإقليمية";
|
||||||
|
$lang["config_location"] = "المخزون";
|
||||||
|
$lang["config_location_configuration"] = "أماكن المخزون";
|
||||||
|
$lang["config_location_info"] = "معلومات تهيئة الأماكن";
|
||||||
|
$lang["config_logout"] = "هل تريد عمل نسخة إحتياطية قبل الخروج؟ اضغط [نعم] لعمل النسخة أو [الغاء] للخروج.";
|
||||||
|
$lang["config_mailchimp"] = "mailchimp ميل تشامب";
|
||||||
|
$lang["config_mailchimp_api_key"] = "mailchimp مفتاح";
|
||||||
|
$lang["config_mailchimp_configuration"] = "إعدادات mailchimp";
|
||||||
|
$lang["config_mailchimp_key_successfully"] = "نجاح.";
|
||||||
|
$lang["config_mailchimp_key_unsuccessfully"] = "فشل.";
|
||||||
|
$lang["config_mailchimp_lists"] = "mailchimp قوائم";
|
||||||
|
$lang["config_mailchimp_tooltip"] = "انقر على رمز مفتاح API.";
|
||||||
|
$lang["config_message"] = "الرسائل";
|
||||||
|
$lang["config_message_configuration"] = "إعدادات الرسائل";
|
||||||
|
$lang["config_msg_msg"] = "الرسائل النصية المحفوظة";
|
||||||
|
$lang["config_msg_msg_placeholder"] = "إذا أردت إستخدام قالب للرسائل القصيرة احفظه هنا. عدا ذلك أترك هذا الحقل فارغ.";
|
||||||
|
$lang["config_msg_pwd"] = "SMS-API كلمة السر لـ";
|
||||||
|
$lang["config_msg_pwd_required"] = "مطلوب SMS-API كلمة السر لـ";
|
||||||
|
$lang["config_msg_src"] = "SMS-API كود المرسل لـ";
|
||||||
|
$lang["config_msg_src_required"] = "مطلوب SMS-API كود المرسل لـ";
|
||||||
|
$lang["config_msg_uid"] = "SMS-API اسم المستخدم لـ";
|
||||||
|
$lang["config_msg_uid_required"] = "مطلوب SMS-API اسم المستخدم لـ";
|
||||||
|
$lang["config_multi_pack_enabled"] = "رزم متعددة لكل صنف";
|
||||||
|
$lang["config_no_risk"] = "No security/vulnerability risks.";
|
||||||
|
$lang["config_none"] = "لايوجد";
|
||||||
|
$lang["config_notify_alignment"] = "مكان عرض رسائل المعلومات";
|
||||||
|
$lang["config_number_format"] = "شكل الرقم";
|
||||||
|
$lang["config_number_locale"] = "التهيئة الاقليمية";
|
||||||
|
$lang["config_number_locale_invalid"] = "التهيئة الإقليمية المختارة غير صحية، راجع الرابط الموجود فى الملاحظة لاختيار تهيئة مناسبة.";
|
||||||
|
$lang["config_number_locale_required"] = "رقم التهيئة الإقليمية مطلوب.";
|
||||||
|
$lang["config_number_locale_tooltip"] = "إيجاد تهيئة إقليمية مناسبة عبر الرابط.";
|
||||||
|
$lang["config_os_timezone"] = "";
|
||||||
|
$lang["config_ospos_info"] = "معلومات التثبيت OSPOS";
|
||||||
|
$lang["config_payment_options_order"] = "ترتيب خيارات الدفع";
|
||||||
|
$lang["config_perm_risk"] = "Permissions higher than 750 leaves this software at risk.";
|
||||||
|
$lang["config_phone"] = "هاتف الشركة";
|
||||||
|
$lang["config_phone_required"] = "هاتف الشركة مطلوب.";
|
||||||
|
$lang["config_print_bottom_margin"] = "الهامش السفلي";
|
||||||
|
$lang["config_print_bottom_margin_number"] = "الهامش السفلي يجب أن يكون رقم.";
|
||||||
|
$lang["config_print_bottom_margin_required"] = "الهامش السفلي مطلوب.";
|
||||||
|
$lang["config_print_delay_autoreturn"] = "العودة الى عمليات البيع تلقائيا ( عدد الثواني )";
|
||||||
|
$lang["config_print_delay_autoreturn_number"] = "الزمن المحدد للعودة الى عمليات البيع هو خانة اجبارية.";
|
||||||
|
$lang["config_print_delay_autoreturn_required"] = "الزمن المحدد للعودة الى عمليات البيع يجب ان يكون رقم.";
|
||||||
|
$lang["config_print_footer"] = "طباعة تذييل المتصفح";
|
||||||
|
$lang["config_print_header"] = "طباعة ترويسة المتصفح";
|
||||||
|
$lang["config_print_left_margin"] = "الهامش الأيسر";
|
||||||
|
$lang["config_print_left_margin_number"] = "الهامش الأيسر يجب ان يكون رقم.";
|
||||||
|
$lang["config_print_left_margin_required"] = "الهامش الأيسر مطلوب.";
|
||||||
|
$lang["config_print_receipt_check_behaviour"] = "خانة طباعة الفواتير";
|
||||||
|
$lang["config_print_receipt_check_behaviour_always"] = "دائما مختار";
|
||||||
|
$lang["config_print_receipt_check_behaviour_last"] = "تذكر آخر اختيار";
|
||||||
|
$lang["config_print_receipt_check_behaviour_never"] = "دائما ليس مختار";
|
||||||
|
$lang["config_print_right_margin"] = "الهامش الأيمن";
|
||||||
|
$lang["config_print_right_margin_number"] = "الهامش الأيمن يجب أن يكون رقم.";
|
||||||
|
$lang["config_print_right_margin_required"] = "الهامش الأيمن مطلوب.";
|
||||||
|
$lang["config_print_silently"] = "عرض صندوق حوار طباعة";
|
||||||
|
$lang["config_print_top_margin"] = "الهامش العلوى";
|
||||||
|
$lang["config_print_top_margin_number"] = "الهامش العلوى يجب أن يكون رقم.";
|
||||||
|
$lang["config_print_top_margin_required"] = "الهامش العلوى مطلوب.";
|
||||||
|
$lang["config_quantity_decimals"] = "العلامة العشرية للكمية";
|
||||||
|
$lang["config_quote_default_comments"] = "ملاحظات طلبات العمل الثابتة";
|
||||||
|
$lang["config_receipt"] = "الإيصال";
|
||||||
|
$lang["config_receipt_configuration"] = "إعدادات طباعة الايصالات";
|
||||||
|
$lang["config_receipt_default"] = "افتراضى";
|
||||||
|
$lang["config_receipt_font_size"] = "الخط";
|
||||||
|
$lang["config_receipt_font_size_number"] = "رقم الخط يجب ان يكون رقم.";
|
||||||
|
$lang["config_receipt_font_size_required"] = "رقم الخط مطلوب.";
|
||||||
|
$lang["config_receipt_info"] = "معلومات تهيئة الإيصالات";
|
||||||
|
$lang["config_receipt_printer"] = "طابعة تذاكر";
|
||||||
|
$lang["config_receipt_short"] = "مختصر";
|
||||||
|
$lang["config_receipt_show_company_name"] = "عرض اسم الشركة";
|
||||||
|
$lang["config_receipt_show_description"] = "عرض الوصف";
|
||||||
|
$lang["config_receipt_show_serialnumber"] = "عرض الرقم المسلسل";
|
||||||
|
$lang["config_receipt_show_tax_ind"] = "";
|
||||||
|
$lang["config_receipt_show_taxes"] = "عرض الضرائب";
|
||||||
|
$lang["config_receipt_show_total_discount"] = "عرض إجمالى الخصم";
|
||||||
|
$lang["config_receipt_template"] = "قالب الايصال";
|
||||||
|
$lang["config_receiving_calculate_average_price"] = "حساب متوسط سعر الأصناف المستلمة";
|
||||||
|
$lang["config_recv_invoice_format"] = "شكل فاتورة الإستلام";
|
||||||
|
$lang["config_register_mode_default"] = "نمط التسجيل الافتراضي";
|
||||||
|
$lang["config_report_an_issue"] = "";
|
||||||
|
$lang["config_return_policy_required"] = "سياسة الإسترجاع مطلوب.";
|
||||||
|
$lang["config_reward"] = "المكافاة";
|
||||||
|
$lang["config_reward_configuration"] = "اعدادات المكافاة";
|
||||||
|
$lang["config_right"] = "يمين";
|
||||||
|
$lang["config_sales_invoice_format"] = "شكل فاتورة البيع";
|
||||||
|
$lang["config_sales_quote_format"] = "شكل فاتورة عرض الاسعار";
|
||||||
|
$lang["config_saved_successfully"] = "تم حفظ التهيئة بنجاح.";
|
||||||
|
$lang["config_saved_unsuccessfully"] = "لم يتم حفظ التهيئة بنجاح.";
|
||||||
|
$lang["config_security_issue"] = "Security Vulnerability Warning";
|
||||||
|
$lang["config_server_notice"] = "يرجى استخدام المعلومات أدناه للإبلاغ عن المشكلة.";
|
||||||
|
$lang["config_show_office_group"] = "اظهار ايكونة المكتب";
|
||||||
|
$lang["config_statistics"] = "إرسال اﻹحصائيات";
|
||||||
|
$lang["config_statistics_tooltip"] = "إرسال اﻹحصائيات ﻷغراض التطوير و التحسين.";
|
||||||
|
$lang["config_stock_location"] = "مكان المخزون";
|
||||||
|
$lang["config_stock_location_duplicate"] = "من فضلك إستخدم اسم مكان غير مكرر.";
|
||||||
|
$lang["config_stock_location_invalid_chars"] = "مكان المخزون لايمكن أن يحتوى على '_'.";
|
||||||
|
$lang["config_stock_location_required"] = "مكان المخزون مطلوب.";
|
||||||
|
$lang["config_suggestions_first_column"] = "العامود 1";
|
||||||
|
$lang["config_suggestions_layout"] = "تخطيط اقتراحات البحث";
|
||||||
|
$lang["config_suggestions_second_column"] = "العامود 2";
|
||||||
|
$lang["config_suggestions_third_column"] = "العامود 3";
|
||||||
|
$lang["config_system_conf"] = "Setup & Conf";
|
||||||
|
$lang["config_system_info"] = "System Info";
|
||||||
|
$lang["config_table"] = "جدول";
|
||||||
|
$lang["config_table_configuration"] = "اعدادات الجدول";
|
||||||
|
$lang["config_takings_printer"] = "طابعة الإيراد";
|
||||||
|
$lang["config_tax"] = "الضريبة";
|
||||||
|
$lang["config_tax_category"] = "تصنيف الضريبة";
|
||||||
|
$lang["config_tax_category_duplicate"] = "الفئة الضريبية اللتي تم ادخالها موجودة.";
|
||||||
|
$lang["config_tax_category_invalid_chars"] = "الفئة الضريبية اللتي تم ادخالها غير صحيحة.";
|
||||||
|
$lang["config_tax_category_required"] = "الفئة الضريبية مطلوبة.";
|
||||||
|
$lang["config_tax_category_used"] = "الفئة الضريبية اللتي تم تحديدها لا يمكن حذفها لانها قيد الاستعمال.";
|
||||||
|
$lang["config_tax_configuration"] = "إعدادات الضريبة";
|
||||||
|
$lang["config_tax_decimals"] = "العلامة العشرية للضريبة";
|
||||||
|
$lang["config_tax_id"] = "الرقم الضريبي";
|
||||||
|
$lang["config_tax_included"] = "شامل الضريبة";
|
||||||
|
$lang["config_theme"] = "السمة";
|
||||||
|
$lang["config_thousands_separator"] = "فاصل الاف";
|
||||||
|
$lang["config_timezone"] = "المنطقة الزمنية";
|
||||||
|
$lang["config_timezone_error"] = "";
|
||||||
|
$lang["config_top"] = "علوى";
|
||||||
|
$lang["config_use_destination_based_tax"] = "استخدام الضريبة المستندة على الوجهة";
|
||||||
|
$lang["config_user_timezone"] = "";
|
||||||
|
$lang["config_website"] = "موقع الشركة";
|
||||||
|
$lang["config_work_order_enable"] = "تفعيل طلبات العمل";
|
||||||
|
$lang["config_work_order_format"] = "شكل طلبات العمل";
|
||||||
54
application/language/ar-LB/customers_lang.php
Normal file
54
application/language/ar-LB/customers_lang.php
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
$lang["customers_account_number"] = "رقم الحساب";
|
||||||
|
$lang["customers_account_number_duplicate"] = "رقم الحساب هذا موجود فى قاعدة البيانات من قبل.";
|
||||||
|
$lang["customers_available_points"] = "النقاط المتاحة";
|
||||||
|
$lang["customers_average"] = "معدل الصرف";
|
||||||
|
$lang["customers_avg_discount"] = "معدل الخصم";
|
||||||
|
$lang["customers_basic_information"] = "معلومات الزبون";
|
||||||
|
$lang["customers_cannot_be_deleted"] = "لايمكن حذف هؤلاء العملاء، أحدهم/كلهم مرتبط/مرتبطين بمبيعات.";
|
||||||
|
$lang["customers_company_name"] = "اسم الشركة";
|
||||||
|
$lang["customers_confirm_delete"] = "هل تريد حذف هؤلاء العملاء حقاً؟";
|
||||||
|
$lang["customers_confirm_restore"] = "هل انت متأكد من إستعادة قاعدة بيانات الزبائن ؟";
|
||||||
|
$lang["customers_consent"] = "موافقة التسجيل";
|
||||||
|
$lang["customers_consent_required"] = "موافقة التسجيل هي خانة اجبارية.";
|
||||||
|
$lang["customers_csv_import_failed"] = "فشل الإستيراد من اكسل";
|
||||||
|
$lang["customers_csv_import_nodata_wrongformat"] = "الملف الذى رفعته إما فارغ أو أنه مختلف البنية.";
|
||||||
|
$lang["customers_csv_import_partially_failed"] = "تم استيراد معظم العملاء. البعض لم يتم استيرادهم ، وهذه هى القائمة:";
|
||||||
|
$lang["customers_csv_import_success"] = "تم استيراد العملاء بنجاح.";
|
||||||
|
$lang["customers_customer"] = "العميل";
|
||||||
|
$lang["customers_date"] = "التاريخ";
|
||||||
|
$lang["customers_discount"] = "نسبة الخصم";
|
||||||
|
$lang["customers_discount_fixed"] = "حسم ثابت";
|
||||||
|
$lang["customers_discount_percent"] = "نسبة الحبم";
|
||||||
|
$lang["customers_discount_type"] = "نوع الحسم";
|
||||||
|
$lang["customers_email_duplicate"] = "البريد الالكتروني مكرر.";
|
||||||
|
$lang["customers_employee"] = "الموظف";
|
||||||
|
$lang["customers_error_adding_updating"] = "خطاء فى إضافة أو تحديث العميل.";
|
||||||
|
$lang["customers_import_items_csv"] = "استيراد العملا ء من ورقة عمل اكسل";
|
||||||
|
$lang["customers_mailchimp_activity_click"] = "النقر على البريد الإلكتروني";
|
||||||
|
$lang["customers_mailchimp_activity_lastopen"] = "آخر رسالة إلكترونية مفتوحة";
|
||||||
|
$lang["customers_mailchimp_activity_open"] = "رسالة إلكترونية مفتوحة";
|
||||||
|
$lang["customers_mailchimp_activity_total"] = "تم ارسال الرسالة الإلكترونية بنجاح";
|
||||||
|
$lang["customers_mailchimp_activity_unopen"] = "رسالة إلكترونية غير مفتوحة";
|
||||||
|
$lang["customers_mailchimp_email_client"] = "بريد الكتروني";
|
||||||
|
$lang["customers_mailchimp_info"] = "ميل تشيمب";
|
||||||
|
$lang["customers_mailchimp_member_rating"] = "التقييم";
|
||||||
|
$lang["customers_mailchimp_status"] = "الحالة";
|
||||||
|
$lang["customers_mailchimp_vip"] = "مهم";
|
||||||
|
$lang["customers_max"] = "الحد الأقصى";
|
||||||
|
$lang["customers_min"] = "الحد الأدنى";
|
||||||
|
$lang["customers_new"] = "عميل جديد";
|
||||||
|
$lang["customers_none_selected"] = "لم تختار عملاء للحذف.";
|
||||||
|
$lang["customers_one_or_multiple"] = "عميل/عملاء";
|
||||||
|
$lang["customers_quantity"] = "العدد";
|
||||||
|
$lang["customers_stats_info"] = "الحالة";
|
||||||
|
$lang["customers_successful_adding"] = "لقد أضفت عميل بنجاح";
|
||||||
|
$lang["customers_successful_deleted"] = "لقد قمت بالحذف بنجاح";
|
||||||
|
$lang["customers_successful_updating"] = "لقد قمت بتحديث بيانات العميل بنجاح";
|
||||||
|
$lang["customers_tax_code"] = "كود الضريبة";
|
||||||
|
$lang["customers_tax_id"] = "الرقم الضريبي";
|
||||||
|
$lang["customers_taxable"] = "خاضع للضريبة";
|
||||||
|
$lang["customers_total"] = "المجموع";
|
||||||
|
$lang["customers_update"] = "تحديث بيانات عميل";
|
||||||
|
$lang["rewards_package"] = "فئة المكافئة";
|
||||||
22
application/language/ar-LB/datepicker_lang.php
Normal file
22
application/language/ar-LB/datepicker_lang.php
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
$lang["datepicker_all_time"] = "جميع الأوقات";
|
||||||
|
$lang["datepicker_apply"] = "تطبيق";
|
||||||
|
$lang["datepicker_cancel"] = "إلغاء";
|
||||||
|
$lang["datepicker_custom"] = "مخصص";
|
||||||
|
$lang["datepicker_from"] = "من";
|
||||||
|
$lang["datepicker_last_30"] = "أخر 30 يوم";
|
||||||
|
$lang["datepicker_last_7"] = "أخر سبعة أيام";
|
||||||
|
$lang["datepicker_last_financial_year"] = "السنة المالية الماضية";
|
||||||
|
$lang["datepicker_last_month"] = "أخر شهر";
|
||||||
|
$lang["datepicker_last_year"] = "السنة الماضية";
|
||||||
|
$lang["datepicker_same_month_last_year"] = "نفس الشهر من العام الماضي";
|
||||||
|
$lang["datepicker_same_month_to_same_day_last_year"] = "نفس الشهر حتى اليوم من السنة الماضية";
|
||||||
|
$lang["datepicker_this_financial_year"] = "السنة المالية الحالية";
|
||||||
|
$lang["datepicker_this_month"] = "هذا الشهر";
|
||||||
|
$lang["datepicker_this_year"] = "السنة الحالية";
|
||||||
|
$lang["datepicker_to"] = "إلى";
|
||||||
|
$lang["datepicker_today"] = "اليوم";
|
||||||
|
$lang["datepicker_today_last_year"] = "نفس اليوم من السنة الماضية";
|
||||||
|
$lang["datepicker_weekstart"] = "0";
|
||||||
|
$lang["datepicker_yesterday"] = "أمس";
|
||||||
37
application/language/ar-LB/employees_lang.php
Normal file
37
application/language/ar-LB/employees_lang.php
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
$lang["employees_basic_information"] = "المعلومات الأساسية للموظف";
|
||||||
|
$lang["employees_cannot_be_deleted"] = "لايمكن حذف الموظفين ، واحد أو أكثر من المظفين قام بإجراء مبيعات :).";
|
||||||
|
$lang["employees_change_password"] = "تغيير كلمة المرور";
|
||||||
|
$lang["employees_confirm_delete"] = "هل أنت متأكد أنك تريد حذف الموظفين المختارين؟";
|
||||||
|
$lang["employees_confirm_restore"] = "هل انت متاكد من استعادة الموظفين المحددين؟";
|
||||||
|
$lang["employees_current_password"] = "كلمة المرور الحالية";
|
||||||
|
$lang["employees_current_password_invalid"] = "كلمة المرور الحالية غير صحيحة.";
|
||||||
|
$lang["employees_employee"] = "موظف";
|
||||||
|
$lang["employees_error_adding_updating"] = "خطاء فى إضافة/تعديل موظف.";
|
||||||
|
$lang["employees_error_deleting_demo_admin"] = "لايمكن حذف المستخدم admin الخاص بنسخة العرض.";
|
||||||
|
$lang["employees_error_updating_demo_admin"] = "لايمكن تغيير بيانات المستخدم admin الخاص بنسخة العرض.";
|
||||||
|
$lang["employees_language"] = "اللغة";
|
||||||
|
$lang["employees_login_info"] = "معلومات دخول الموظف";
|
||||||
|
$lang["employees_new"] = "موظف جديد";
|
||||||
|
$lang["employees_none_selected"] = "لم تختار أى من الموظفين للحذف.";
|
||||||
|
$lang["employees_one_or_multiple"] = "موظف/موظفين";
|
||||||
|
$lang["employees_password"] = "كلمة السر";
|
||||||
|
$lang["employees_password_minlength"] = "كلمة السر يجب أن تكون 8 حروف على الأقل.";
|
||||||
|
$lang["employees_password_must_match"] = "كلمتى السر لا تتطابقان.";
|
||||||
|
$lang["employees_password_not_must_match"] = "كلمة المرور الحالية والجديدة يجب ان يكونو فريدين.";
|
||||||
|
$lang["employees_password_required"] = "كلمة السر مطلوبة.";
|
||||||
|
$lang["employees_permission_desc"] = "قم بإضافة الصلاحيات بلإختيار من الأسفل.";
|
||||||
|
$lang["employees_permission_info"] = "اذونات المستخدمين";
|
||||||
|
$lang["employees_repeat_password"] = "كلمة السر مرة اخرى";
|
||||||
|
$lang["employees_subpermission_required"] = "يجب إختيار صلاحية واحدة على الأقل لكل قسم.";
|
||||||
|
$lang["employees_successful_adding"] = "لقد تم إضافة الموظف بنجاح.";
|
||||||
|
$lang["employees_successful_change_password"] = "تم تغيير كلمة المرور بنجاح.";
|
||||||
|
$lang["employees_successful_deleted"] = "لقد تم حذف الموظف بنجاح";
|
||||||
|
$lang["employees_successful_updating"] = "لقد تم تحديث بيانات الموظف بنجاح";
|
||||||
|
$lang["employees_system_language"] = "لغة النظام";
|
||||||
|
$lang["employees_unsuccessful_change_password"] = "فشل في تغيير كلمة المرور.";
|
||||||
|
$lang["employees_update"] = "تحديث بيانات موظف";
|
||||||
|
$lang["employees_username"] = "اسم المستخدم";
|
||||||
|
$lang["employees_username_minlength"] = "اسم المستخدم يجب أن يكون 5 حروف على الأقل.";
|
||||||
|
$lang["employees_username_required"] = "اسم المستخدم مطلوب.";
|
||||||
9
application/language/ar-LB/enum_lang.php
Normal file
9
application/language/ar-LB/enum_lang.php
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
$lang["enum_half_down"] = "تقريب نصفي";
|
||||||
|
$lang["enum_half_even"] = "نصف مزدوج";
|
||||||
|
$lang["enum_half_five"] = "نصف الخمس";
|
||||||
|
$lang["enum_half_odd"] = "نصف فردي";
|
||||||
|
$lang["enum_half_up"] = "تقريب نصفي";
|
||||||
|
$lang["enum_round_down"] = "التقريب";
|
||||||
|
$lang["enum_round_up"] = "التقريب";
|
||||||
4
application/language/ar-LB/error_lang.php
Normal file
4
application/language/ar-LB/error_lang.php
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
$lang["error_no_permission_module"] = "ليس لديك صلاحيات للوصول لهذا القسم";
|
||||||
|
$lang["error_unknown"] = "غير معروف";
|
||||||
21
application/language/ar-LB/expenses_categories_lang.php
Normal file
21
application/language/ar-LB/expenses_categories_lang.php
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
$lang["category_name_required"] = "اسم نوع المصاريف مطلوب";
|
||||||
|
$lang["expenses_categories_add_item"] = "إضافة نوع";
|
||||||
|
$lang["expenses_categories_cannot_be_deleted"] = "فشلت عملية مسح نوع المصاريف";
|
||||||
|
$lang["expenses_categories_category_id"] = "الكود";
|
||||||
|
$lang["expenses_categories_confirm_delete"] = "هل أنت متأكد من مسح نوع المصاريف الذي أخترته؟";
|
||||||
|
$lang["expenses_categories_confirm_restore"] = "هل أنت متأكد من أنك تريد استعادة فئة المصاريف المحددة؟";
|
||||||
|
$lang["expenses_categories_description"] = "وصف النوع";
|
||||||
|
$lang["expenses_categories_error_adding_updating"] = "مشكلة أثناء أضافة أو تعديل نوع المصاريف";
|
||||||
|
$lang["expenses_categories_info"] = "معلومات عن نوع المصاريف";
|
||||||
|
$lang["expenses_categories_name"] = "أسم النوع";
|
||||||
|
$lang["expenses_categories_new"] = "نوع جديد";
|
||||||
|
$lang["expenses_categories_no_expenses_categories_to_display"] = "لا يجد أنواع للعرض";
|
||||||
|
$lang["expenses_categories_none_selected"] = "لم تختار أي نوع مصاريف";
|
||||||
|
$lang["expenses_categories_one_or_multiple"] = "نوع المصاريف";
|
||||||
|
$lang["expenses_categories_quantity"] = "الكمية";
|
||||||
|
$lang["expenses_categories_successful_adding"] = "تم أضافة نوع المصاريف بنجاح";
|
||||||
|
$lang["expenses_categories_successful_deleted"] = "تم مسح نوع المصاريف بنجاح";
|
||||||
|
$lang["expenses_categories_successful_updating"] = "تم تعديل نوع المصاريف بنجاح";
|
||||||
|
$lang["expenses_categories_update"] = "تعديل النوع";
|
||||||
46
application/language/ar-LB/expenses_lang.php
Normal file
46
application/language/ar-LB/expenses_lang.php
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
$lang["expenses_add_item"] = "إضافة مصاريف جديدة";
|
||||||
|
$lang["expenses_amount"] = "قيمة المصاريف";
|
||||||
|
$lang["expenses_amount_number"] = "القيمة يجب ان تكون رقم";
|
||||||
|
$lang["expenses_amount_required"] = "القيمة المطلوبة";
|
||||||
|
$lang["expenses_by_category"] = "حسب الفئات";
|
||||||
|
$lang["expenses_cannot_be_deleted"] = "لا يمكن المسح";
|
||||||
|
$lang["expenses_cash"] = "نقدا";
|
||||||
|
$lang["expenses_cash_filter"] = "نقدا";
|
||||||
|
$lang["expenses_categories_name"] = "اسماء الفئات";
|
||||||
|
$lang["expenses_category_required"] = "خانة مطلوبة: الفئات";
|
||||||
|
$lang["expenses_check"] = "شيك";
|
||||||
|
$lang["expenses_check_filter"] = "تصفية";
|
||||||
|
$lang["expenses_confirm_delete"] = "تأكيد المسح؟";
|
||||||
|
$lang["expenses_confirm_restore"] = "هل تريد بالتأكيد استعادة النفقات المحددة؟";
|
||||||
|
$lang["expenses_credit"] = "بطاقة ائتمان";
|
||||||
|
$lang["expenses_credit_filter"] = "بطاقة ائتمان";
|
||||||
|
$lang["expenses_date"] = "تاريخ المصاريف";
|
||||||
|
$lang["expenses_date_number"] = "التاريخ يجب ان يتكون من ارقام";
|
||||||
|
$lang["expenses_date_required"] = "خانة مطلوبة: التاريخ";
|
||||||
|
$lang["expenses_debit"] = "بطاقة مدين";
|
||||||
|
$lang["expenses_debit_filter"] = "بطاقة مدين";
|
||||||
|
$lang["expenses_description"] = "الوصف";
|
||||||
|
$lang["expenses_due"] = "الدين";
|
||||||
|
$lang["expenses_due_filter"] = "تصفية الدين";
|
||||||
|
$lang["expenses_employee"] = "صنع من قبل";
|
||||||
|
$lang["expenses_error_adding_updating"] = "خطأ في الإضافة";
|
||||||
|
$lang["expenses_expense_id"] = "كود المصاريف";
|
||||||
|
$lang["expenses_expenses_employee"] = "موظف";
|
||||||
|
$lang["expenses_info"] = "معلومات عن المصاريف";
|
||||||
|
$lang["expenses_is_deleted"] = "ممسوحة";
|
||||||
|
$lang["expenses_name_required"] = "خانة مطلوبة: اسم المصاريف";
|
||||||
|
$lang["expenses_new"] = "مصاريف جديدة";
|
||||||
|
$lang["expenses_no_expenses_to_display"] = "لا يوجد مصاريف في التاريخ المحدد";
|
||||||
|
$lang["expenses_none_selected"] = "لم يتم تحديد اي خيار";
|
||||||
|
$lang["expenses_one_or_multiple"] = "واحد او أكثر";
|
||||||
|
$lang["expenses_payment"] = "الدفع";
|
||||||
|
$lang["expenses_start_typing_supplier_name"] = "ابدا بكتابة اسم المورد...";
|
||||||
|
$lang["expenses_successful_adding"] = "تم إضافة المصاريف بنجاح";
|
||||||
|
$lang["expenses_successful_deleted"] = "تم مسح المصاريف بنجاح";
|
||||||
|
$lang["expenses_successful_updating"] = "تم تعديل المصاريف بنجاح";
|
||||||
|
$lang["expenses_supplier_name"] = "اسم المورد";
|
||||||
|
$lang["expenses_supplier_tax_code"] = "كود ضريبة المورد";
|
||||||
|
$lang["expenses_tax_amount"] = "قيمة الضريبة";
|
||||||
|
$lang["expenses_update"] = "تعديل";
|
||||||
70
application/language/ar-LB/giftcards_lang.php
Normal file
70
application/language/ar-LB/giftcards_lang.php
Normal file
@@ -0,0 +1,70 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
$lang["giftcards_add_minus"] = "المخزن المضاف أو المطروح منه.";
|
||||||
|
$lang["giftcards_allow_alt_description"] = "السماح بوصف بديل";
|
||||||
|
$lang["giftcards_bulk_edit"] = "تحرير جماعى";
|
||||||
|
$lang["giftcards_cannot_be_deleted"] = "لايمكن حذف بطاقات الهدية المختارة، واحد أو أكثر منها لديه مبيعات.";
|
||||||
|
$lang["giftcards_cannot_find_giftcard"] = "لايمكن إيجاد معلومات حول كارت الهدية.";
|
||||||
|
$lang["giftcards_cannot_use"] = "كارت الهدية %1 لا يمكن استعمالة في هذه العملية: اسم الزبون غير صحيح.";
|
||||||
|
$lang["giftcards_card_value"] = "القيمة";
|
||||||
|
$lang["giftcards_category"] = "الفئة";
|
||||||
|
$lang["giftcards_change_all_to_allow_alt_desc"] = "السماح بوصف بديل للكل.";
|
||||||
|
$lang["giftcards_change_all_to_not_allow_allow_desc"] = "غير مسموح بوصف بديل للكل.";
|
||||||
|
$lang["giftcards_change_all_to_serialized"] = "تغيير الجميع لأرقام مسلسلة";
|
||||||
|
$lang["giftcards_change_all_to_unserialized"] = "تغير الجميع لأرقام غير مسلسلة";
|
||||||
|
$lang["giftcards_confirm_bulk_edit"] = "هل أنت متأكد انك تريد تحرير كل بطاقات الهدايا المختارة؟";
|
||||||
|
$lang["giftcards_confirm_delete"] = "هل أنت متأكد انك تريد حذف كل بطاقات الهدايا المختارة؟";
|
||||||
|
$lang["giftcards_confirm_restore"] = "هل تريد بالتأكيد استعادة بطاقة (بطاقات) الهدايا المحددة؟";
|
||||||
|
$lang["giftcards_cost_price"] = "سعر التكلفة";
|
||||||
|
$lang["giftcards_count"] = "تحديث المخزون";
|
||||||
|
$lang["giftcards_csv_import_failed"] = "فشل الإستيراد من اكسل.";
|
||||||
|
$lang["giftcards_current_quantity"] = "الكميات الحالية";
|
||||||
|
$lang["giftcards_description"] = "الوصف";
|
||||||
|
$lang["giftcards_details_count"] = "حركة الكارت";
|
||||||
|
$lang["giftcards_do_nothing"] = "لا تفعل شىء";
|
||||||
|
$lang["giftcards_edit_fields_you_want_to_update"] = "قم بتحديث الحقول المراد تحديثها لكل بطاقات الهدايا المختارة.";
|
||||||
|
$lang["giftcards_edit_multiple_giftcards"] = "تحرير مجموعة من بطاقات الهدايا.";
|
||||||
|
$lang["giftcards_error_adding_updating"] = "خطاء فى إضافة/تحديث بطاقة هدية.";
|
||||||
|
$lang["giftcards_error_updating_multiple"] = "خطاء فى تحديث بيانات بطاقات الهدايا.";
|
||||||
|
$lang["giftcards_generate_barcodes"] = "توليد أكواد الباركود";
|
||||||
|
$lang["giftcards_giftcard"] = "بطاقة هدية";
|
||||||
|
$lang["giftcards_giftcard_number"] = "رقم بطاقة الهدية";
|
||||||
|
$lang["giftcards_info_provided_by"] = "المعلومات مقدمة بواسطة";
|
||||||
|
$lang["giftcards_inventory_comments"] = "تعليقات";
|
||||||
|
$lang["giftcards_is_serialized"] = "بطاقة الهدية لها رقم مسلسل";
|
||||||
|
$lang["giftcards_low_inventory_giftcards"] = "مخزون قليل من بطاقات الهدايا";
|
||||||
|
$lang["giftcards_manually_editing_of_quantity"] = "تحرير الكميات يدويا";
|
||||||
|
$lang["giftcards_must_select_giftcard_for_barcode"] = "يجب إختيار بطاقة هدية واحدة على الأقل لتوليد أكواد الباركود.";
|
||||||
|
$lang["giftcards_new"] = "بطاقة هدية جديدة";
|
||||||
|
$lang["giftcards_no_description_giftcards"] = "لايوجد وصف لبطاقات الهدايا";
|
||||||
|
$lang["giftcards_no_giftcards_to_display"] = "لايوجد بطاقات هدايا لعرضها.";
|
||||||
|
$lang["giftcards_none"] = "لايوجد";
|
||||||
|
$lang["giftcards_none_selected"] = "لم تقم بإختيار أى بطاقة هدية.";
|
||||||
|
$lang["giftcards_number"] = "رقم بطاقة الهدية يجب أن يكون رقم.";
|
||||||
|
$lang["giftcards_number_information"] = "رقم بطاقة الهدية";
|
||||||
|
$lang["giftcards_number_required"] = "رقم بطاقة الهدية مطلوب.";
|
||||||
|
$lang["giftcards_one_or_multiple"] = "بطاقة/بطاقات الهدية";
|
||||||
|
$lang["giftcards_person_id"] = "العميل";
|
||||||
|
$lang["giftcards_quantity"] = "الكمية";
|
||||||
|
$lang["giftcards_quantity_required"] = "الكمية مطلوبة.";
|
||||||
|
$lang["giftcards_remaining_balance"] = "كارت الهدية %1 القيمة المتبقية منه %2!";
|
||||||
|
$lang["giftcards_reorder_level"] = "نقطة إعادة الطلب";
|
||||||
|
$lang["giftcards_retrive_giftcard_info"] = "إسترجاع بيانات بطاقة هدية";
|
||||||
|
$lang["giftcards_sales_tax_1"] = "ضريبة المبيعات";
|
||||||
|
$lang["giftcards_sales_tax_2"] = "ضريبة المبيعات 2";
|
||||||
|
$lang["giftcards_serialized_giftcards"] = "بطاقات هدايا مسلسلة";
|
||||||
|
$lang["giftcards_successful_adding"] = "تم إضافة بطاقة هدية بنجاح";
|
||||||
|
$lang["giftcards_successful_bulk_edit"] = "تم تحديث بطاقات الهدايا بنجاح";
|
||||||
|
$lang["giftcards_successful_deleted"] = "تم الحذف بنجاح";
|
||||||
|
$lang["giftcards_successful_updating"] = "تم تحديث بطاقة الهدية بنجاح";
|
||||||
|
$lang["giftcards_supplier"] = "المورد";
|
||||||
|
$lang["giftcards_tax_1"] = "الضريبة 1";
|
||||||
|
$lang["giftcards_tax_2"] = "الضريبة 2";
|
||||||
|
$lang["giftcards_tax_percent"] = "نسبة الضريبة";
|
||||||
|
$lang["giftcards_tax_percents"] = "نسبة/نسب الضريبة";
|
||||||
|
$lang["giftcards_unit_price"] = "سعر الوحدة";
|
||||||
|
$lang["giftcards_upc_database"] = "UPC قاعدة بيانات";
|
||||||
|
$lang["giftcards_update"] = "تحديث بطاقة هدية";
|
||||||
|
$lang["giftcards_use_inventory_menu"] = "استخدام تحديث المخزن";
|
||||||
|
$lang["giftcards_value"] = "قيمة بطاقة الهدية يجب ان تكون رقم.";
|
||||||
|
$lang["giftcards_value_required"] = "قيمة بطاقة الهدية مطلوبة.";
|
||||||
11
application/language/ar-LB/index.html
Normal file
11
application/language/ar-LB/index.html
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>403 Forbidden</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<p>Directory access is forbidden.</p>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
38
application/language/ar-LB/item_kits_lang.php
Normal file
38
application/language/ar-LB/item_kits_lang.php
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
$lang["item_kits_add_item"] = "إضافة مجموعة";
|
||||||
|
$lang["item_kits_all"] = "الكل";
|
||||||
|
$lang["item_kits_cannot_be_deleted"] = "لايمكن حذف مجموعة/مجموعات.";
|
||||||
|
$lang["item_kits_confirm_delete"] = "هل أنت متأكد أنك تريد حذف المجموعة؟";
|
||||||
|
$lang["item_kits_confirm_restore"] = "هل أنت متأكد أنك تريد استعادة المجموعة المحددة؟";
|
||||||
|
$lang["item_kits_description"] = "وصف المجموعة";
|
||||||
|
$lang["item_kits_discount"] = "الخصم";
|
||||||
|
$lang["item_kits_discount_fixed"] = "خصم قابل للتعديل";
|
||||||
|
$lang["item_kits_discount_percent"] = "نسبة الخصم";
|
||||||
|
$lang["item_kits_discount_type"] = "نوع الخصم";
|
||||||
|
$lang["item_kits_error_adding_updating"] = "خطاء فى إضافة/تحديث المجموعة.";
|
||||||
|
$lang["item_kits_find_kit_item"] = "صنف لمجموعة";
|
||||||
|
$lang["item_kits_info"] = "معلومات المجموعة";
|
||||||
|
$lang["item_kits_item"] = "صنف";
|
||||||
|
$lang["item_kits_item_kit_number"] = "";
|
||||||
|
$lang["item_kits_item_kit_number_duplicate"] = "";
|
||||||
|
$lang["item_kits_item_number"] = "";
|
||||||
|
$lang["item_kits_items"] = "أصناف";
|
||||||
|
$lang["item_kits_kit"] = "كود المجموعة";
|
||||||
|
$lang["item_kits_kit_and_components"] = "المجموعة ومحتوياتها";
|
||||||
|
$lang["item_kits_kit_and_stock"] = "المجموعه والصنف";
|
||||||
|
$lang["item_kits_kit_only"] = "المجموعه فقط";
|
||||||
|
$lang["item_kits_name"] = "اسم المجموعة";
|
||||||
|
$lang["item_kits_new"] = "مجموعة جديده";
|
||||||
|
$lang["item_kits_no_item_kits_to_display"] = "لاتوجد مجموعات لعرضها.";
|
||||||
|
$lang["item_kits_none_selected"] = "لم تقم بإختيار مجموعات.";
|
||||||
|
$lang["item_kits_one_or_multiple"] = "مجموعة/مجموعات";
|
||||||
|
$lang["item_kits_price_option"] = "خيارات التسعير";
|
||||||
|
$lang["item_kits_priced_only"] = "المسعرين فقط";
|
||||||
|
$lang["item_kits_print_option"] = "خيارات الطباعة";
|
||||||
|
$lang["item_kits_quantity"] = "الكمية";
|
||||||
|
$lang["item_kits_sequence"] = "التسلسل";
|
||||||
|
$lang["item_kits_successful_adding"] = "لقد تم إضافة المجموعة بنجاح";
|
||||||
|
$lang["item_kits_successful_deleted"] = "لقد تم حذف المجموعة بنجاح";
|
||||||
|
$lang["item_kits_successful_updating"] = "لقد تم تحديث بيانات المجموعة بنجاح";
|
||||||
|
$lang["item_kits_update"] = "تحديث بيانات مجموعة";
|
||||||
112
application/language/ar-LB/items_lang.php
Normal file
112
application/language/ar-LB/items_lang.php
Normal file
@@ -0,0 +1,112 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
$lang["items_add_minus"] = "الكمية المطلوب خصمها أو اضافتها.";
|
||||||
|
$lang["items_allow_alt_description"] = "السماح بوصف بديل";
|
||||||
|
$lang["items_amount_entry"] = "إدخال القيمة";
|
||||||
|
$lang["items_bulk_edit"] = "تحرير جماعى";
|
||||||
|
$lang["items_buy_price_required"] = "سعر الشراء مطلوب.";
|
||||||
|
$lang["items_cannot_be_deleted"] = "لايمكن حذف الأصناف المختارة، واحد أو أكثر منها لديه مبيعات.";
|
||||||
|
$lang["items_cannot_find_item"] = "لايمكن ايجاد معلومات حول الصنف.";
|
||||||
|
$lang["items_category"] = "التصنيف";
|
||||||
|
$lang["items_category_required"] = "التصنيف مطلوب.";
|
||||||
|
$lang["items_change_all_to_allow_alt_desc"] = "السماح بوصف بديل للجميع.";
|
||||||
|
$lang["items_change_all_to_not_allow_allow_desc"] = "عدم السماح بوصف بديل للجميع.";
|
||||||
|
$lang["items_change_all_to_serialized"] = "تغير الجميع لمتسلسل";
|
||||||
|
$lang["items_change_all_to_unserialized"] = "تغيير الجميع لغير متسلسل";
|
||||||
|
$lang["items_change_image"] = "تغيير الصورة";
|
||||||
|
$lang["items_confirm_bulk_edit"] = "هل أنت متأكد انك تريد تحرير كل الأصناف المختارة؟";
|
||||||
|
$lang["items_confirm_bulk_edit_wipe_taxes"] = "سوف يتم مسح معلومات الضرائب لجميع الأصناف.";
|
||||||
|
$lang["items_confirm_delete"] = "هل أنت متأكد انك تريد حذف كل الأصناف المختارة؟";
|
||||||
|
$lang["items_confirm_restore"] = "هل انت متاكد من إستعادة الاصناف المخطارة؟";
|
||||||
|
$lang["items_cost_price"] = "سعر التكلفة";
|
||||||
|
$lang["items_cost_price_number"] = "سعر التكلفة يجب أن يكون رقم.";
|
||||||
|
$lang["items_cost_price_required"] = "سعر التكلفة مطلوب.";
|
||||||
|
$lang["items_count"] = "تحديث المخزون";
|
||||||
|
$lang["items_csv_import_failed"] = "فشل الإستيراد من اكسل";
|
||||||
|
$lang["items_csv_import_nodata_wrongformat"] = "الملف الذى رفعته إما فارغ أو أنه مختلف البنية.";
|
||||||
|
$lang["items_csv_import_partially_failed"] = "تم استيراد معظم الأصناف. البعض لم يتم استيرادهم ، وهذه هى القائمة:";
|
||||||
|
$lang["items_csv_import_success"] = "تم استيراد الأصناف بنجاح.";
|
||||||
|
$lang["items_current_quantity"] = "الكمية الحالية";
|
||||||
|
$lang["items_default_pack_name"] = "كل";
|
||||||
|
$lang["items_description"] = "الوصف";
|
||||||
|
$lang["items_details_count"] = "حركة الصنف";
|
||||||
|
$lang["items_do_nothing"] = "لاتفعل شئ";
|
||||||
|
$lang["items_edit_fields_you_want_to_update"] = "قم بتحديث الحقول المراد تحديثها لكل الأصناف المختارة.";
|
||||||
|
$lang["items_edit_multiple_items"] = "تحريد مجموعة اصناف";
|
||||||
|
$lang["items_empty_upc_items"] = "تفريغ اصناف UPC";
|
||||||
|
$lang["items_error_adding_updating"] = "خطاء فى إضافة/تحديث صنف";
|
||||||
|
$lang["items_error_updating_multiple"] = "خطاء فى تحديث بيانات أصناف";
|
||||||
|
$lang["items_generate_barcodes"] = "توليد أكواد الباركود";
|
||||||
|
$lang["items_hsn_code"] = "تسميات النظام المنسق";
|
||||||
|
$lang["items_image"] = "صورة";
|
||||||
|
$lang["items_import_items_csv"] = "استيراد من اكسل";
|
||||||
|
$lang["items_info_provided_by"] = "المعلومات مقدمة بواسطة";
|
||||||
|
$lang["items_inventory"] = "المخزن";
|
||||||
|
$lang["items_inventory_CSV_import_quantity"] = "العدد المستورد من ملفات ال CSV";
|
||||||
|
$lang["items_inventory_comments"] = "تعليقات";
|
||||||
|
$lang["items_inventory_data_tracking"] = "تتبع بيانات المخزون";
|
||||||
|
$lang["items_inventory_date"] = "التاريخ";
|
||||||
|
$lang["items_inventory_employee"] = "الموظف";
|
||||||
|
$lang["items_inventory_in_out_quantity"] = "+- كمية";
|
||||||
|
$lang["items_inventory_remarks"] = "ملاحظات";
|
||||||
|
$lang["items_is_deleted"] = "حذفت";
|
||||||
|
$lang["items_is_serialized"] = "الصنف له رقم مسلسل";
|
||||||
|
$lang["items_item"] = "صنف";
|
||||||
|
$lang["items_item_number"] = "الباركود UPC/EAN/ISBN";
|
||||||
|
$lang["items_item_number_duplicate"] = "رقم الصنف موجود فى قاعدة البيانات من قبل.";
|
||||||
|
$lang["items_kit"] = "مجموعة اصناف";
|
||||||
|
$lang["items_location"] = "مكان";
|
||||||
|
$lang["items_low_inventory_items"] = "الأصناف التى لا يوجد لها مخزون";
|
||||||
|
$lang["items_low_sell_item"] = "الصنف المركب";
|
||||||
|
$lang["items_manually_editing_of_quantity"] = "تحرير الكمية يدوياً";
|
||||||
|
$lang["items_name"] = "اسم الصنف";
|
||||||
|
$lang["items_name_required"] = "اسم الصنف مطلوب.";
|
||||||
|
$lang["items_new"] = "صنف جديد";
|
||||||
|
$lang["items_no_description_items"] = "الأصناف التى بلا وصف";
|
||||||
|
$lang["items_no_items_to_display"] = "لايوجد أصناف لعرضها.";
|
||||||
|
$lang["items_none"] = "لاشىء";
|
||||||
|
$lang["items_none_selected"] = "لم تختار أى أصناف لتحريرها";
|
||||||
|
$lang["items_nonstock"] = "غير مخزنة";
|
||||||
|
$lang["items_number_information"] = "رقم الصنف";
|
||||||
|
$lang["items_number_required"] = "مطلوب UPC/EAN/ISBN رقم الباركود.";
|
||||||
|
$lang["items_one_or_multiple"] = "صنف/أصناف";
|
||||||
|
$lang["items_pack_name"] = "اسم الحزمة";
|
||||||
|
$lang["items_qty_per_pack"] = "العدد بكل الحزمة";
|
||||||
|
$lang["items_quantity"] = "الكمية";
|
||||||
|
$lang["items_quantity_number"] = "الكمية يجب أن تكون رقم.";
|
||||||
|
$lang["items_quantity_required"] = "الكمية مطلوبة.";
|
||||||
|
$lang["items_receiving_quantity"] = "الكمية المستلمة";
|
||||||
|
$lang["items_remove_image"] = "ازالة الصورة";
|
||||||
|
$lang["items_reorder_level"] = "نقطة إعادة الطلب";
|
||||||
|
$lang["items_reorder_level_number"] = "نقطة إعادة الطلب يجب أن تكون رقم.";
|
||||||
|
$lang["items_reorder_level_required"] = "نقطة إعادة الطلب مطلوبة.";
|
||||||
|
$lang["items_retrive_item_info"] = "استرجاع بيانات الصنف";
|
||||||
|
$lang["items_sales_tax_1"] = "ضريبة المبيعات";
|
||||||
|
$lang["items_sales_tax_2"] = "ضريبة المبيعات 2";
|
||||||
|
$lang["items_search_attributes"] = "بحث الحقول المخصصة";
|
||||||
|
$lang["items_select_image"] = "اختار صورة";
|
||||||
|
$lang["items_serialized_items"] = "أصناف مسلسلة";
|
||||||
|
$lang["items_standard"] = "اساسي";
|
||||||
|
$lang["items_stock"] = "مخزن";
|
||||||
|
$lang["items_stock_location"] = "مكان المخزون";
|
||||||
|
$lang["items_stock_type"] = "نوع المخزن";
|
||||||
|
$lang["items_successful_adding"] = "لقد تم إضافة صنف بنجاح";
|
||||||
|
$lang["items_successful_bulk_edit"] = "لقد تم تحديث بيانات صنف/أصناف بنجاح";
|
||||||
|
$lang["items_successful_deleted"] = "لقد تم الحذف بنجاح";
|
||||||
|
$lang["items_successful_updating"] = "لقد تم تحديث بيانات صنف بنجاح";
|
||||||
|
$lang["items_supplier"] = "المورد";
|
||||||
|
$lang["items_tax_1"] = "الضريبة 1";
|
||||||
|
$lang["items_tax_2"] = "الضريبة 2";
|
||||||
|
$lang["items_tax_category"] = "الفئة الضريبية";
|
||||||
|
$lang["items_tax_percent"] = "نسبة الضريبة";
|
||||||
|
$lang["items_tax_percent_number"] = "نسبة الضريبة يجب ان تكون رقم";
|
||||||
|
$lang["items_tax_percent_required"] = "نسبة الضريبة مطلوبة.";
|
||||||
|
$lang["items_tax_percents"] = "نسبة/نسب الضريبة";
|
||||||
|
$lang["items_temp"] = "مؤقت";
|
||||||
|
$lang["items_type"] = "نوع الصنف";
|
||||||
|
$lang["items_unit_price"] = "السعر";
|
||||||
|
$lang["items_unit_price_number"] = "السعر يجب أن يكون رقم.";
|
||||||
|
$lang["items_unit_price_required"] = "السعر مطلوب.";
|
||||||
|
$lang["items_upc_database"] = "UPC قاعدة بيانات";
|
||||||
|
$lang["items_update"] = "تحديث بيانات صنف";
|
||||||
|
$lang["items_use_inventory_menu"] = "استخدام تحديث المخزن";
|
||||||
10
application/language/ar-LB/login_lang.php
Normal file
10
application/language/ar-LB/login_lang.php
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
$lang["login_gcaptcha"] = "أنا لست بوت.";
|
||||||
|
$lang["login_go"] = "البدء";
|
||||||
|
$lang["login_invalid_gcaptcha"] = "رمز التحقق غير صحيح.";
|
||||||
|
$lang["login_invalid_installation"] = "يوجد مشكلة بالتنصيب, الرجاء التحقق من ملف php.ini.";
|
||||||
|
$lang["login_invalid_username_and_password"] = "اسم مستخدم/كلمة سر غير صحيح.";
|
||||||
|
$lang["login_login"] = "دخول";
|
||||||
|
$lang["login_password"] = "كلمة السر";
|
||||||
|
$lang["login_username"] = "اسم المستخدم";
|
||||||
14
application/language/ar-LB/messages_lang.php
Normal file
14
application/language/ar-LB/messages_lang.php
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
$lang["messages_first_name"] = "الإسم الأول";
|
||||||
|
$lang["messages_last_name"] = "الأسم الأخير";
|
||||||
|
$lang["messages_message"] = "الرسالة";
|
||||||
|
$lang["messages_message_placeholder"] = "رسالتك هنا...";
|
||||||
|
$lang["messages_message_required"] = "الرسالة مطلوبة";
|
||||||
|
$lang["messages_multiple_phones"] = "فى حالة إرسال الرسالة لأكثر من شخص قم بفصل الأرقام بعلامة الفاصلة";
|
||||||
|
$lang["messages_phone"] = "رقم المحمول";
|
||||||
|
$lang["messages_phone_number_required"] = "رقم المحمول مطلوب";
|
||||||
|
$lang["messages_phone_placeholder"] = "رقم/أرقام المحمول هنا...";
|
||||||
|
$lang["messages_sms_send"] = "إرسال SMS";
|
||||||
|
$lang["messages_successfully_sent"] = "تم إرسال الرسالة بنجاح إلى: ";
|
||||||
|
$lang["messages_unsuccessfully_sent"] = "لم يتم إرسال الرسالة بنجاح إلى: ";
|
||||||
41
application/language/ar-LB/module_lang.php
Normal file
41
application/language/ar-LB/module_lang.php
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
$lang["module_attributes"] = "ميزات/مميزات";
|
||||||
|
$lang["module_attributes_desc"] = "إضافة، تعديل، حذف، وبحث بالميزات.";
|
||||||
|
$lang["module_both"] = "الاثنين";
|
||||||
|
$lang["module_cashups"] = "الصندوق النقدي";
|
||||||
|
$lang["module_cashups_desc"] = "إضافة، تعديل، حذف، وبحث بالصندوق النقدي.";
|
||||||
|
$lang["module_config"] = "إعدادات الشركة";
|
||||||
|
$lang["module_config_desc"] = "تغيير إعدادات الشركة.";
|
||||||
|
$lang["module_customers"] = "العملاء";
|
||||||
|
$lang["module_customers_desc"] = "إضافة، تحديث ، بحث و حذف العملاء.";
|
||||||
|
$lang["module_employees"] = "الموظفين";
|
||||||
|
$lang["module_employees_desc"] = "إضافة، تحديث ، بحث و حذف الموظفين.";
|
||||||
|
$lang["module_expenses"] = "المصاريف";
|
||||||
|
$lang["module_expenses_categories"] = "فئات المصاريف";
|
||||||
|
$lang["module_expenses_categories_desc"] = "إضافة، تحديث ، بحث و حذف فئات المصاريف.";
|
||||||
|
$lang["module_expenses_desc"] = "إضافة، تحديث ، بحث و حذف مصاريف.";
|
||||||
|
$lang["module_giftcards"] = "بطاقات الهدايا";
|
||||||
|
$lang["module_giftcards_desc"] = "إضافة، تحديث ، بحث و حذف بطاقات الهدايا.";
|
||||||
|
$lang["module_home"] = "الرئيسية";
|
||||||
|
$lang["module_home_desc"] = "اظهار الائحة الرئيسية.";
|
||||||
|
$lang["module_item_kits"] = "مجموعات الأصناف";
|
||||||
|
$lang["module_item_kits_desc"] = "إضافة، تحديث ، بحث و حذف مجموعات الأصناف.";
|
||||||
|
$lang["module_items"] = "الأصناف";
|
||||||
|
$lang["module_items_desc"] = "إضافة، تحديث ، بحث و حذف الأصناف.";
|
||||||
|
$lang["module_messages"] = "الرسائل";
|
||||||
|
$lang["module_messages_desc"] = "إرسال رسائل للعملاء ، الموردين او الموظفين.";
|
||||||
|
$lang["module_migrate"] = "النقل";
|
||||||
|
$lang["module_migrate_desc"] = "تحديث قاعدة البيانات.";
|
||||||
|
$lang["module_office"] = "المكتب";
|
||||||
|
$lang["module_office_desc"] = "اظهار الائحة المكتبية.";
|
||||||
|
$lang["module_receivings"] = "استلام الأصناف";
|
||||||
|
$lang["module_receivings_desc"] = "معالجة أوامر الشراء و استلام الأصناف.";
|
||||||
|
$lang["module_reports"] = "التقارير";
|
||||||
|
$lang["module_reports_desc"] = "عرض وتوليد التقارير.";
|
||||||
|
$lang["module_sales"] = "المبيعات";
|
||||||
|
$lang["module_sales_desc"] = "معالجة المبيعات و المرتجعات.";
|
||||||
|
$lang["module_suppliers"] = "الموردين";
|
||||||
|
$lang["module_suppliers_desc"] = "إضافة، تحديث ، بحث و حذف مجموعات الموردين.";
|
||||||
|
$lang["module_taxes"] = "الضرائب";
|
||||||
|
$lang["module_taxes_desc"] = "اعدادات ضريبة المبيعات.";
|
||||||
54
application/language/ar-LB/receivings_lang.php
Normal file
54
application/language/ar-LB/receivings_lang.php
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
$lang["receivings_cancel_receiving"] = "إلغاء";
|
||||||
|
$lang["receivings_cannot_be_deleted"] = "لايمكن حذف الإستلام/الإستلامات.";
|
||||||
|
$lang["receivings_comments"] = "تعليقات";
|
||||||
|
$lang["receivings_complete_receiving"] = "إنهاء";
|
||||||
|
$lang["receivings_confirm_cancel_receiving"] = "هل أنت متاكد أنك تريد إلغاء هذا الإستلام؟ سيتم حذف كل الأصناف.";
|
||||||
|
$lang["receivings_confirm_delete"] = "هل أنت متاكد أنك تريد حذف هذا الإستلام؟ سيتم حذف كل الأصناف. لايمكن التراجع بعد الحذف.";
|
||||||
|
$lang["receivings_confirm_finish_receiving"] = "هل أنت متاكد أنك تريد تنفيذ هذا الإستلام؟ لايمكن التراجع بعد الإرسال.";
|
||||||
|
$lang["receivings_cost"] = "التكلفة";
|
||||||
|
$lang["receivings_date"] = "تاريخ الإستلام";
|
||||||
|
$lang["receivings_date_required"] = "يجب إدخال تاريخ صحيح.";
|
||||||
|
$lang["receivings_date_type"] = "التاريخ مطلوب.";
|
||||||
|
$lang["receivings_delete_entire_sale"] = "حذف عملية البيع بالكامل";
|
||||||
|
$lang["receivings_discount"] = "نسبة الخصم";
|
||||||
|
$lang["receivings_edit"] = "تحرير";
|
||||||
|
$lang["receivings_edit_sale"] = "تحرير إستلام";
|
||||||
|
$lang["receivings_employee"] = "الموظف";
|
||||||
|
$lang["receivings_error_editing_item"] = "خطاء فى تحرير الصنف.";
|
||||||
|
$lang["receivings_error_requisition"] = "غير قادر على تحريك الصنف من و إلى نفس المكان.";
|
||||||
|
$lang["receivings_find_or_scan_item"] = "بحث/مسح باركود صنف";
|
||||||
|
$lang["receivings_find_or_scan_item_or_receipt"] = "بحث/مسح باركود صنف أو إيصال";
|
||||||
|
$lang["receivings_id"] = "كود الإستلام";
|
||||||
|
$lang["receivings_item_name"] = "اسم الصنف";
|
||||||
|
$lang["receivings_mode"] = "وضع الإستلام";
|
||||||
|
$lang["receivings_new_supplier"] = "مورد جديد";
|
||||||
|
$lang["receivings_one_or_multiple"] = "إستلام/إستلامات";
|
||||||
|
$lang["receivings_print_after_sale"] = "طباعة بعد الإستلام";
|
||||||
|
$lang["receivings_quantity"] = "الكمية.";
|
||||||
|
$lang["receivings_receipt"] = "إيصال إستلام";
|
||||||
|
$lang["receivings_receipt_number"] = "كود الإستلام";
|
||||||
|
$lang["receivings_receiving"] = "إستلام";
|
||||||
|
$lang["receivings_reference"] = "رقم المرجع";
|
||||||
|
$lang["receivings_register"] = "استلام الأصناف";
|
||||||
|
$lang["receivings_requisition"] = "طلب شراء";
|
||||||
|
$lang["receivings_return"] = "إرتجاع لمورد";
|
||||||
|
$lang["receivings_select_supplier"] = "اختار المورد (اختيارى)";
|
||||||
|
$lang["receivings_ship_pack"] = "حزمة توصيل";
|
||||||
|
$lang["receivings_start_typing_supplier_name"] = "ابداء بكتابة اسم المورد....";
|
||||||
|
$lang["receivings_stock"] = "المخزون";
|
||||||
|
$lang["receivings_stock_destination"] = "المخزون المحول له";
|
||||||
|
$lang["receivings_stock_locaiton"] = "مكان المخزون";
|
||||||
|
$lang["receivings_stock_source"] = "مصدر المخزون";
|
||||||
|
$lang["receivings_successfully_deleted"] = "لقد تم الحذف";
|
||||||
|
$lang["receivings_successfully_updated"] = "لقد تم التحديث";
|
||||||
|
$lang["receivings_supplier"] = "المورد";
|
||||||
|
$lang["receivings_supplier_address"] = "العنوان";
|
||||||
|
$lang["receivings_supplier_email"] = "البريد الإلكتروني";
|
||||||
|
$lang["receivings_supplier_location"] = "المكان";
|
||||||
|
$lang["receivings_total"] = "الإجمالى";
|
||||||
|
$lang["receivings_transaction_failed"] = "حركات الإستلام فشلت.";
|
||||||
|
$lang["receivings_unable_to_add_item"] = "غير قادر على إضافة صنف للإستلام.";
|
||||||
|
$lang["receivings_unsuccessfully_updated"] = "لم يتم تحديث الإستلام بنجاح.";
|
||||||
|
$lang["receivings_update"] = "تحديث";
|
||||||
141
application/language/ar-LB/reports_lang.php
Normal file
141
application/language/ar-LB/reports_lang.php
Normal file
@@ -0,0 +1,141 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
$lang["reports_all"] = "الكل";
|
||||||
|
$lang["reports_authority"] = "السلطة";
|
||||||
|
$lang["reports_canceled"] = "ملغى";
|
||||||
|
$lang["reports_categories"] = "التصنيفات";
|
||||||
|
$lang["reports_categories_summary_report"] = "تقرير ملخص التصنيفات";
|
||||||
|
$lang["reports_category"] = "تصنيف";
|
||||||
|
$lang["reports_code_canceled"] = "كود العمليات الملغية";
|
||||||
|
$lang["reports_code_invoice"] = "كود الفواتير الرسمية";
|
||||||
|
$lang["reports_code_pos"] = "نقطة بيع";
|
||||||
|
$lang["reports_code_quote"] = "كود عروض الاسعار";
|
||||||
|
$lang["reports_code_return"] = "كود عمليات المرتجع";
|
||||||
|
$lang["reports_code_type"] = "النوع";
|
||||||
|
$lang["reports_code_work_order"] = "طلب عمل";
|
||||||
|
$lang["reports_comments"] = "التعليقات";
|
||||||
|
$lang["reports_complete"] = "عمليات البيع والمرتجع المكتملة";
|
||||||
|
$lang["reports_completed_sales"] = "المبيعات المكتملة";
|
||||||
|
$lang["reports_confirm_delete"] = "هل انت متاكد من مسح البيانات المحددة؟";
|
||||||
|
$lang["reports_confirm_restore"] = "هل انت متاكد من استعادة البيانات المحددة؟";
|
||||||
|
$lang["reports_cost"] = "التكلفة";
|
||||||
|
$lang["reports_cost_price"] = "سعر التكلفة";
|
||||||
|
$lang["reports_count"] = "عدد";
|
||||||
|
$lang["reports_customer"] = "عميل";
|
||||||
|
$lang["reports_customers"] = "عملاء";
|
||||||
|
$lang["reports_customers_summary_report"] = "تقرير ملخص العملاء";
|
||||||
|
$lang["reports_date"] = "التاريخ";
|
||||||
|
$lang["reports_date_range"] = "الفترة الزمنية";
|
||||||
|
$lang["reports_description"] = "الوصف";
|
||||||
|
$lang["reports_detailed_receivings_report"] = "تقرير مفصل لاستلام البضاعة";
|
||||||
|
$lang["reports_detailed_reports"] = "التقارير التفصيلية";
|
||||||
|
$lang["reports_detailed_requisition_report"] = "تقرير مفصل لطلبات الشراء";
|
||||||
|
$lang["reports_detailed_sales_report"] = "تقرير مفصل للمبيعات";
|
||||||
|
$lang["reports_discount"] = "الخصم";
|
||||||
|
$lang["reports_discount_fixed"] = "حسم ثابت";
|
||||||
|
$lang["reports_discount_percent"] = "نسبة الخصم";
|
||||||
|
$lang["reports_discount_type"] = "نوع الحسم";
|
||||||
|
$lang["reports_discounts"] = "الخصومات";
|
||||||
|
$lang["reports_discounts_summary_report"] = "تقرير ملخص الخصومات";
|
||||||
|
$lang["reports_earned"] = "النقاط المحصلة";
|
||||||
|
$lang["reports_employee"] = "موظف";
|
||||||
|
$lang["reports_employees"] = "الموظفين";
|
||||||
|
$lang["reports_employees_summary_report"] = "تقرير ملخص الموظفين";
|
||||||
|
$lang["reports_expenses"] = "المصاريف";
|
||||||
|
$lang["reports_expenses_amount"] = "القيمة";
|
||||||
|
$lang["reports_expenses_categories"] = "فئات المصاريف";
|
||||||
|
$lang["reports_expenses_categories_summary_report"] = "تقرير المصاريف حسب الفئات";
|
||||||
|
$lang["reports_expenses_category"] = "الفئة";
|
||||||
|
$lang["reports_expenses_tax_amount"] = "الضريبة";
|
||||||
|
$lang["reports_expenses_total_amount"] = "المبلغ الإجمالي";
|
||||||
|
$lang["reports_expenses_total_tax_amount"] = "الضريبة الإجمالية";
|
||||||
|
$lang["reports_graphical_reports"] = "تقارير رسومية";
|
||||||
|
$lang["reports_inventory"] = "المخزن";
|
||||||
|
$lang["reports_inventory_low"] = "نواقص المخزون";
|
||||||
|
$lang["reports_inventory_low_report"] = "تقرير نواقص المخزون";
|
||||||
|
$lang["reports_inventory_reports"] = "تقارير المخزن";
|
||||||
|
$lang["reports_inventory_summary"] = "ملخص المخزن";
|
||||||
|
$lang["reports_inventory_summary_report"] = "تقرير ملخص المخزن";
|
||||||
|
$lang["reports_item"] = "صنف";
|
||||||
|
$lang["reports_item_count"] = "تصفية عداد الصنف";
|
||||||
|
$lang["reports_item_name"] = "اسم الصنف";
|
||||||
|
$lang["reports_item_number"] = "باركود";
|
||||||
|
$lang["reports_items"] = "الأصناف";
|
||||||
|
$lang["reports_items_purchased"] = "الأصناف مشتراه";
|
||||||
|
$lang["reports_items_received"] = "الأصناف مستلمة";
|
||||||
|
$lang["reports_items_summary_report"] = "تقرير ملخص الأصناف";
|
||||||
|
$lang["reports_jurisdiction"] = "الاختصاص القضائي";
|
||||||
|
$lang["reports_low_inventory"] = "النواقص";
|
||||||
|
$lang["reports_low_inventory_report"] = "تقرير نواقص المخزون";
|
||||||
|
$lang["reports_low_sell_quantity"] = "كميات حسب الصنف الاولي";
|
||||||
|
$lang["reports_more_than_zero"] = "أكثر من صفر";
|
||||||
|
$lang["reports_name"] = "الاسم";
|
||||||
|
$lang["reports_no_reports_to_display"] = "لايوجد أصناف لعرضها.";
|
||||||
|
$lang["reports_payment_type"] = "طريقة الدفع";
|
||||||
|
$lang["reports_payments"] = "المدفوعات";
|
||||||
|
$lang["reports_payments_summary_report"] = "ملخص المدفوعات";
|
||||||
|
$lang["reports_profit"] = "الربح";
|
||||||
|
$lang["reports_quantity"] = "الكمية المشتراه";
|
||||||
|
$lang["reports_quantity_purchased"] = "المستلم";
|
||||||
|
$lang["reports_quotes"] = "عروض اسعار";
|
||||||
|
$lang["reports_received_by"] = "مستلمة بواسطة";
|
||||||
|
$lang["reports_receiving_id"] = "كود الاستلام";
|
||||||
|
$lang["reports_receiving_type"] = "نوع الاستلام";
|
||||||
|
$lang["reports_receivings"] = "استلام البضاعة";
|
||||||
|
$lang["reports_reorder_level"] = "نقطة اعادة الطلب";
|
||||||
|
$lang["reports_report"] = "تقرير";
|
||||||
|
$lang["reports_report_input"] = "مدخلات التقرير";
|
||||||
|
$lang["reports_reports"] = "تقارير";
|
||||||
|
$lang["reports_requisition"] = "طلب الشراء";
|
||||||
|
$lang["reports_requisition_by"] = "القائم بطلب الشراء";
|
||||||
|
$lang["reports_requisition_id"] = "كود طلب الشراء";
|
||||||
|
$lang["reports_requisition_item"] = "الصنف";
|
||||||
|
$lang["reports_requisition_item_quantity"] = "الكمية المطلوبة";
|
||||||
|
$lang["reports_requisition_related_item"] = "الصنف";
|
||||||
|
$lang["reports_requisition_related_item_total_quantity"] = "إجمالى الكمية";
|
||||||
|
$lang["reports_requisition_related_item_unit_quantity"] = "الكمية";
|
||||||
|
$lang["reports_requisitions"] = "طلبات الشراء";
|
||||||
|
$lang["reports_returns"] = "المرتجعات";
|
||||||
|
$lang["reports_revenue"] = "العائد";
|
||||||
|
$lang["reports_sale_id"] = "كود عملية البيع";
|
||||||
|
$lang["reports_sale_type"] = "طريقة البيع";
|
||||||
|
$lang["reports_sales"] = "بيع";
|
||||||
|
$lang["reports_sales_amount"] = "كمية المبيعات";
|
||||||
|
$lang["reports_sales_summary_report"] = "تقرير ملخص المبيعات";
|
||||||
|
$lang["reports_sales_taxes"] = "ضرائب المبيعات";
|
||||||
|
$lang["reports_sales_taxes_summary_report"] = "تقرير ملخص ضرائب المبيعات";
|
||||||
|
$lang["reports_serial_number"] = "مسلسل";
|
||||||
|
$lang["reports_sold_by"] = "البائع";
|
||||||
|
$lang["reports_sold_to"] = "مباع الى";
|
||||||
|
$lang["reports_stock_location"] = "مكان المخزون";
|
||||||
|
$lang["reports_sub_total_value"] = "المجموع الفرعى";
|
||||||
|
$lang["reports_subtotal"] = "المجموع الفرعى";
|
||||||
|
$lang["reports_summary_reports"] = "تقارير ملخصة";
|
||||||
|
$lang["reports_supplied_by"] = "مورده بواسطة";
|
||||||
|
$lang["reports_supplier"] = "المورد";
|
||||||
|
$lang["reports_suppliers"] = "الموردين";
|
||||||
|
$lang["reports_suppliers_summary_report"] = "تقرير ملخص الموردين";
|
||||||
|
$lang["reports_tax"] = "الضريبة";
|
||||||
|
$lang["reports_tax_category"] = "الفئة الضريبية";
|
||||||
|
$lang["reports_tax_percent"] = "نسبة الضريبة";
|
||||||
|
$lang["reports_tax_rate"] = "معدل الضريبة";
|
||||||
|
$lang["reports_taxes"] = "الضرائب";
|
||||||
|
$lang["reports_taxes_summary_report"] = "تقرير ملخص الضرائب";
|
||||||
|
$lang["reports_total"] = "الإجمالى";
|
||||||
|
$lang["reports_total_inventory_value"] = "إجمالى قيمة المخزن";
|
||||||
|
$lang["reports_total_low_sell_quantity"] = "مجموع الكميات حسب الصنف الاولي";
|
||||||
|
$lang["reports_total_quantity"] = "الكمية/العدد";
|
||||||
|
$lang["reports_total_retail"] = "قيمة المبيع";
|
||||||
|
$lang["reports_trans_amount"] = "قيمة العملية التجارية";
|
||||||
|
$lang["reports_trans_due"] = "مستحق";
|
||||||
|
$lang["reports_trans_group"] = "مجموعة العمليات التجارية";
|
||||||
|
$lang["reports_trans_nopay_sales"] = "المبيعات الغير مسدده";
|
||||||
|
$lang["reports_trans_payments"] = "المدفوعات";
|
||||||
|
$lang["reports_trans_refunded"] = "المرتجع";
|
||||||
|
$lang["reports_trans_sales"] = "المبيعات";
|
||||||
|
$lang["reports_trans_type"] = "نوع العملية التجارية";
|
||||||
|
$lang["reports_type"] = "النوع";
|
||||||
|
$lang["reports_unit_price"] = "السعر";
|
||||||
|
$lang["reports_used"] = "النقاط المستخدمة";
|
||||||
|
$lang["reports_work_orders"] = "طلبات عمل";
|
||||||
|
$lang["reports_zero_and_less"] = "صفر و أقل";
|
||||||
181
application/language/ar-LB/sales_lang.php
Normal file
181
application/language/ar-LB/sales_lang.php
Normal file
@@ -0,0 +1,181 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
$lang["customers_available_points"] = "النقاط المتاحة";
|
||||||
|
$lang["rewards_package"] = "مكافآت";
|
||||||
|
$lang["rewards_remaining_balance"] = "رصيد النقاط المتبقي هو ";
|
||||||
|
$lang["sales_account_number"] = "حساب";
|
||||||
|
$lang["sales_add_payment"] = "إضافة دفع";
|
||||||
|
$lang["sales_amount_due"] = "المبلغ المطلوب";
|
||||||
|
$lang["sales_amount_tendered"] = "المبلغ المدفوع";
|
||||||
|
$lang["sales_authorized_signature"] = "توقيع معتمد";
|
||||||
|
$lang["sales_cancel_sale"] = "الغاء عملية البيع";
|
||||||
|
$lang["sales_cash"] = "نقدى";
|
||||||
|
$lang["sales_cash_deposit"] = "ايداع نقدي";
|
||||||
|
$lang["sales_cash_filter"] = "نقدى";
|
||||||
|
$lang["sales_change_due"] = "الباقى";
|
||||||
|
$lang["sales_change_price"] = "";
|
||||||
|
$lang["sales_check"] = "شيك";
|
||||||
|
$lang["sales_check_balance"] = "تذكير بموعد الشيك";
|
||||||
|
$lang["sales_check_filter"] = "شيك";
|
||||||
|
$lang["sales_comment"] = "تعليق";
|
||||||
|
$lang["sales_comments"] = "تعليقات";
|
||||||
|
$lang["sales_complete_sale"] = "إتمام البيع";
|
||||||
|
$lang["sales_confirm_cancel_sale"] = "هل أنت متأكد من الغاء عملية البيع ؟ سيتم إزالة كل الأصناف.";
|
||||||
|
$lang["sales_confirm_delete"] = "هل تريد حذف عمليات البيع المختارة؟";
|
||||||
|
$lang["sales_confirm_restore"] = "هل انت متاكد من استعادة عملية البيع؟";
|
||||||
|
$lang["sales_credit"] = "بطاقة إئتمانية";
|
||||||
|
$lang["sales_credit_deposit"] = "ايداع ببطاقة ائتمان";
|
||||||
|
$lang["sales_credit_filter"] = "";
|
||||||
|
$lang["sales_customer"] = "العميل";
|
||||||
|
$lang["sales_customer_address"] = "العنوان";
|
||||||
|
$lang["sales_customer_discount"] = "الخصم";
|
||||||
|
$lang["sales_customer_email"] = "البريد الإلكترونى";
|
||||||
|
$lang["sales_customer_location"] = "المكان";
|
||||||
|
$lang["sales_customer_mailchimp_status"] = "حالة ميل تشيمب";
|
||||||
|
$lang["sales_customer_optional"] = "(مطلوب للدفعات المستحقة)";
|
||||||
|
$lang["sales_customer_required"] = "(اجباري)";
|
||||||
|
$lang["sales_customer_total"] = "المجموع";
|
||||||
|
$lang["sales_date"] = "تاريخ البيع";
|
||||||
|
$lang["sales_date_range"] = "الفترة الزمنية";
|
||||||
|
$lang["sales_date_required"] = "يجب إدخال تاريخ صحيح.";
|
||||||
|
$lang["sales_date_type"] = "التاريخ مطلوب.";
|
||||||
|
$lang["sales_debit"] = "بطاقة خصم";
|
||||||
|
$lang["sales_delete"] = "اسمح بالمسح";
|
||||||
|
$lang["sales_delete_confirmation"] = "هل أنت متأكد أنك تريد حذف عملية البيع هذه؟ لايمكن التراجع بعد الحذف.";
|
||||||
|
$lang["sales_delete_entire_sale"] = "حذف عملية البيع بالكامل";
|
||||||
|
$lang["sales_delete_successful"] = "لقد تم حذف عملية البيع بنجاح.";
|
||||||
|
$lang["sales_delete_unsuccessful"] = "لقد فشل حذف عملية البيع.";
|
||||||
|
$lang["sales_description_abbrv"] = "الوصف.";
|
||||||
|
$lang["sales_discard"] = "الغاء";
|
||||||
|
$lang["sales_discard_quote"] = "";
|
||||||
|
$lang["sales_discount"] = "خصم";
|
||||||
|
$lang["sales_discount_included"] = "% خصم";
|
||||||
|
$lang["sales_discount_short"] = "%";
|
||||||
|
$lang["sales_due"] = "مستحق";
|
||||||
|
$lang["sales_due_filter"] = "مستحق";
|
||||||
|
$lang["sales_edit"] = "تحرير";
|
||||||
|
$lang["sales_edit_item"] = "تحرير صنف";
|
||||||
|
$lang["sales_edit_sale"] = "تحرير عملية بيع";
|
||||||
|
$lang["sales_email_receipt"] = "إرسال الايصال بالبريد الالكترونى";
|
||||||
|
$lang["sales_employee"] = "الموظف";
|
||||||
|
$lang["sales_entry"] = "ادخال";
|
||||||
|
$lang["sales_error_editing_item"] = "خطاء فى تحرير الصنف";
|
||||||
|
$lang["sales_find_or_scan_item"] = "بحث/مسح باركود صنف";
|
||||||
|
$lang["sales_find_or_scan_item_or_receipt"] = "بحث/مسح باركود صنف أو ايصال";
|
||||||
|
$lang["sales_giftcard"] = "بطاقة هدية";
|
||||||
|
$lang["sales_giftcard_balance"] = "رصيد بطاقة الهدية";
|
||||||
|
$lang["sales_giftcard_number"] = "رقم بطاقة الهدية";
|
||||||
|
$lang["sales_group_by_category"] = "تصفية حسب الفئة";
|
||||||
|
$lang["sales_group_by_type"] = "تجميع حسب النوع";
|
||||||
|
$lang["sales_hsn"] = "رمز نظام منسق";
|
||||||
|
$lang["sales_id"] = "كود عملية البيع";
|
||||||
|
$lang["sales_include_prices"] = "يشمل الاسعار؟";
|
||||||
|
$lang["sales_invoice"] = "فاتورة";
|
||||||
|
$lang["sales_invoice_confirm"] = "هذه الفاتورة سوف ترسل إلى";
|
||||||
|
$lang["sales_invoice_enable"] = "إنشاء فاتورة";
|
||||||
|
$lang["sales_invoice_filter"] = "الفواتير";
|
||||||
|
$lang["sales_invoice_no_email"] = "هذا العميل ليس لدية بريد الكترونى صالح.";
|
||||||
|
$lang["sales_invoice_number"] = "فاتورة رقم #";
|
||||||
|
$lang["sales_invoice_number_duplicate"] = "من فضلك أدخل رقم فاتورة غير مكرر.";
|
||||||
|
$lang["sales_invoice_sent"] = "تم إرسال الفاتورة إلى";
|
||||||
|
$lang["sales_invoice_total"] = "إجمالي الفاتورة";
|
||||||
|
$lang["sales_invoice_type_custom_invoice"] = "فاتورة مخصصة (custom_invoice.php)";
|
||||||
|
$lang["sales_invoice_type_custom_tax_invoice"] = "الفاتورة الضريبية المخصصة (custom_tax_invoice.php)";
|
||||||
|
$lang["sales_invoice_type_invoice"] = "الفاتورة (invoice.php)";
|
||||||
|
$lang["sales_invoice_type_tax_invoice"] = "الفاتورة الضريبية (tax_invoice.php)";
|
||||||
|
$lang["sales_invoice_unsent"] = "فشل إرسال الفاتورة إلى";
|
||||||
|
$lang["sales_invoice_update"] = "إعادة العد";
|
||||||
|
$lang["sales_item_insufficient_of_stock"] = "لايوجد مخزون كافى من الصنف.";
|
||||||
|
$lang["sales_item_name"] = "اسم الصنف";
|
||||||
|
$lang["sales_item_number"] = "صنف #";
|
||||||
|
$lang["sales_item_out_of_stock"] = "لايوجد مخزون من الصنف.";
|
||||||
|
$lang["sales_mode"] = "وضع التسجيل";
|
||||||
|
$lang["sales_must_enter_numeric"] = "يجب إدخال رقم للمبلغ الفعلى المدفوع.";
|
||||||
|
$lang["sales_must_enter_numeric_giftcard"] = "رقم بطاقة الهدية يجب أن يكون رقم.";
|
||||||
|
$lang["sales_new_customer"] = "عميل جديد";
|
||||||
|
$lang["sales_new_item"] = "صنف جديد";
|
||||||
|
$lang["sales_no_description"] = "بدون وصف";
|
||||||
|
$lang["sales_no_filter"] = "الكل";
|
||||||
|
$lang["sales_no_items_in_cart"] = "لايوجد أصناف فى السلة.";
|
||||||
|
$lang["sales_no_sales_to_display"] = "لاتوجد عمليات بيع لعرضها.";
|
||||||
|
$lang["sales_none_selected"] = "لم تقم بإختيار أى عمليات بيع لحذفها.";
|
||||||
|
$lang["sales_nontaxed_ind"] = "";
|
||||||
|
$lang["sales_not_authorized"] = "هذه العملية لا يمكن فعلها لعدم تخويلك.";
|
||||||
|
$lang["sales_one_or_multiple"] = "عمليات بيع";
|
||||||
|
$lang["sales_payment"] = "طريقة الدفع";
|
||||||
|
$lang["sales_payment_amount"] = "المبلغ";
|
||||||
|
$lang["sales_payment_not_cover_total"] = "المبلغ المدفوع لايغطى المبلغ الإجمالى.";
|
||||||
|
$lang["sales_payment_type"] = "طريقة";
|
||||||
|
$lang["sales_payments_total"] = "إجمالى المدفوعات";
|
||||||
|
$lang["sales_price"] = "السعر";
|
||||||
|
$lang["sales_print_after_sale"] = "اطبع بعد عملية البيع";
|
||||||
|
$lang["sales_quantity"] = "الكمية";
|
||||||
|
$lang["sales_quantity_less_than_reorder_level"] = "تحذير: الكمية/العدد المطلوب غير متوفر لهذا الصنف.";
|
||||||
|
$lang["sales_quantity_less_than_zero"] = "تحذير! الكمية المطلوبة غير كافية، بإمكانك إتمام عملية البيع ، لكن تحقق من مخزنك.";
|
||||||
|
$lang["sales_quantity_of_items"] = "عدد ال 1% من الاصناف";
|
||||||
|
$lang["sales_quote"] = "عرض اسعار";
|
||||||
|
$lang["sales_quote_number"] = "رقم عرض الاسعار";
|
||||||
|
$lang["sales_quote_number_duplicate"] = "رقم عرض الاسعار يجب ان يكون فريد.";
|
||||||
|
$lang["sales_quote_sent"] = "عرض الاسعار ارسل الى";
|
||||||
|
$lang["sales_quote_unsent"] = "لم يتم ارسال عرض الاسعار الى";
|
||||||
|
$lang["sales_receipt"] = "عملية بيع #";
|
||||||
|
$lang["sales_receipt_no_email"] = "هذا العميل ليس له اي بريد الكتروني صحيح.";
|
||||||
|
$lang["sales_receipt_number"] = "إيصال بيع";
|
||||||
|
$lang["sales_receipt_sent"] = "تم إرسال الإيصال إلى";
|
||||||
|
$lang["sales_receipt_unsent"] = "فشل إرسال الإيصال إلى";
|
||||||
|
$lang["sales_refund"] = "";
|
||||||
|
$lang["sales_register"] = "مسجل المبيعات";
|
||||||
|
$lang["sales_remove_customer"] = "حذف عميل";
|
||||||
|
$lang["sales_return"] = "إرتجاع";
|
||||||
|
$lang["sales_rewards"] = "نقاط المكافئة";
|
||||||
|
$lang["sales_rewards_balance"] = "رصيد نقاط المكافئة";
|
||||||
|
$lang["sales_sale"] = "بيع";
|
||||||
|
$lang["sales_sale_by_invoice"] = "البيع بفاتورة رسمية";
|
||||||
|
$lang["sales_sale_for_customer"] = "العميل:";
|
||||||
|
$lang["sales_sale_time"] = "الوقت";
|
||||||
|
$lang["sales_sales_tax"] = "ضريبة البيع";
|
||||||
|
$lang["sales_select_customer"] = "اختيار عميل (اختياري)";
|
||||||
|
$lang["sales_send_invoice"] = "إرسال الفاتورة";
|
||||||
|
$lang["sales_send_quote"] = "ارسال عرض الاسعار";
|
||||||
|
$lang["sales_send_receipt"] = "إرسال إيصال";
|
||||||
|
$lang["sales_send_work_order"] = "ارسال طلب عمل";
|
||||||
|
$lang["sales_serial"] = "مسلسل";
|
||||||
|
$lang["sales_show_invoice"] = "عرض الفاتورة";
|
||||||
|
$lang["sales_show_receipt"] = "عرض الإيصال";
|
||||||
|
$lang["sales_start_typing_customer_name"] = "ابداء بكتابة اسم العميل...";
|
||||||
|
$lang["sales_start_typing_item_name"] = "ابداء بكتابة اسم أو مسح باركود الصنف...";
|
||||||
|
$lang["sales_stock"] = "المخزن";
|
||||||
|
$lang["sales_stock_location"] = "مكان المخزون";
|
||||||
|
$lang["sales_sub_total"] = "المجموع الفرعي";
|
||||||
|
$lang["sales_successfully_deleted"] = "لقد تم الحذف بنجاح";
|
||||||
|
$lang["sales_successfully_restored"] = "لقد تمت عملية الاستعادة بنجاح";
|
||||||
|
$lang["sales_successfully_suspended_sale"] = "لقد تم تعليق عملية البيع بنجاح.";
|
||||||
|
$lang["sales_successfully_updated"] = "لقد تم تحديث بيانات عملية البيع بنجاح.";
|
||||||
|
$lang["sales_suspend_sale"] = "تعليق عملية البيع";
|
||||||
|
$lang["sales_suspended_doc_id"] = "ملف";
|
||||||
|
$lang["sales_suspended_sale_id"] = "كود عملية البيع";
|
||||||
|
$lang["sales_suspended_sales"] = "المبيعات المعلقة";
|
||||||
|
$lang["sales_table"] = "طاولة";
|
||||||
|
$lang["sales_takings"] = "المبيع اليومي";
|
||||||
|
$lang["sales_tax"] = "ضريبة";
|
||||||
|
$lang["sales_tax_id"] = "الرقم الضريبي";
|
||||||
|
$lang["sales_tax_invoice"] = "فاتورة ضريبية";
|
||||||
|
$lang["sales_tax_percent"] = "ضريبة %";
|
||||||
|
$lang["sales_taxed_ind"] = "";
|
||||||
|
$lang["sales_total"] = "المجموع";
|
||||||
|
$lang["sales_total_tax_exclusive"] = "الإجمالى بدون الضرائب";
|
||||||
|
$lang["sales_transaction_failed"] = "فشل حركة البيع.";
|
||||||
|
$lang["sales_unable_to_add_item"] = "غير قادر على إضافة صنف لعملية البيع";
|
||||||
|
$lang["sales_unsuccessfully_deleted"] = "لايمكن حذف عملية/عمليات البيع.";
|
||||||
|
$lang["sales_unsuccessfully_restored"] = "فشل في استعادة عملية البيع.";
|
||||||
|
$lang["sales_unsuccessfully_suspended_sale"] = "فشل تعليق عملية البيع.";
|
||||||
|
$lang["sales_unsuccessfully_updated"] = "فشل تحديث عملية البيع.";
|
||||||
|
$lang["sales_unsuspend"] = "إلغاء تعليق";
|
||||||
|
$lang["sales_unsuspend_and_delete"] = "إلغاء تعليق وحذف";
|
||||||
|
$lang["sales_update"] = "تحديث";
|
||||||
|
$lang["sales_upi"] = "رقم التعريف الشخصي";
|
||||||
|
$lang["sales_work_order"] = "طلب عمل";
|
||||||
|
$lang["sales_work_order_number"] = "رقم طلب العمل";
|
||||||
|
$lang["sales_work_order_number_duplicate"] = "رقم طلب العمل يجب ان يكون فريد.";
|
||||||
|
$lang["sales_work_order_sent"] = "تم ارسال طلب العمل الى";
|
||||||
|
$lang["sales_work_order_unsent"] = "فشل في ارسال طلب العمل الى";
|
||||||
23
application/language/ar-LB/suppliers_lang.php
Normal file
23
application/language/ar-LB/suppliers_lang.php
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
$lang["suppliers_account_number"] = "رقم الحساب";
|
||||||
|
$lang["suppliers_agency_name"] = "اسم الوكالة";
|
||||||
|
$lang["suppliers_cannot_be_deleted"] = "لايمكن حذف المورد/الموردين لوجود مبيعات مرتبطة بهم.";
|
||||||
|
$lang["suppliers_category"] = "الفئة";
|
||||||
|
$lang["suppliers_company_name"] = "اسم الشركة";
|
||||||
|
$lang["suppliers_company_name_required"] = "اسم الشركة مطلوب.";
|
||||||
|
$lang["suppliers_confirm_delete"] = "هل تريد حقا حذف هؤلاء الموردين؟";
|
||||||
|
$lang["suppliers_confirm_restore"] = "هل تريد بالتأكيد استعادة المورد (الموردين) المحددين؟";
|
||||||
|
$lang["suppliers_cost"] = "مورد كلفة";
|
||||||
|
$lang["suppliers_error_adding_updating"] = "خطاء فى إضافة/تحديث المورد.";
|
||||||
|
$lang["suppliers_goods"] = "مورد بضائع";
|
||||||
|
$lang["suppliers_new"] = "مورد جديد";
|
||||||
|
$lang["suppliers_none_selected"] = "لم تختار موردين لحذفهم.";
|
||||||
|
$lang["suppliers_one_or_multiple"] = "مورد/موردين";
|
||||||
|
$lang["suppliers_successful_adding"] = "لقد تم إضافة المورد بنجاح";
|
||||||
|
$lang["suppliers_successful_deleted"] = "لقد تم حذف المورد بنجاح";
|
||||||
|
$lang["suppliers_successful_updating"] = "لقد تم تحديث بيانات المورد بنجاح";
|
||||||
|
$lang["suppliers_supplier"] = "مورد";
|
||||||
|
$lang["suppliers_supplier_id"] = "كود المورد";
|
||||||
|
$lang["suppliers_tax_id"] = "الرقم الضريبي";
|
||||||
|
$lang["suppliers_update"] = "تحديث بيانات المورد";
|
||||||
80
application/language/ar-LB/taxes_lang.php
Normal file
80
application/language/ar-LB/taxes_lang.php
Normal file
@@ -0,0 +1,80 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
$lang["taxes_add_exception"] = "أضافة أستثناء";
|
||||||
|
$lang["taxes_cascade"] = "تتالي";
|
||||||
|
$lang["taxes_cascade_sequence"] = "تسلسل متتالي";
|
||||||
|
$lang["taxes_city"] = "مدينة";
|
||||||
|
$lang["taxes_code"] = "الشفرة";
|
||||||
|
$lang["taxes_confirm_delete"] = "هل أنت متأكد أنك تريد حذف قانون الضرائب؟ لا يمكن التراجع عن هذا الإجراء";
|
||||||
|
$lang["taxes_confirm_restore"] = "هل أنت متأكد من أستعادة الأكواد الضريبية؟";
|
||||||
|
$lang["taxes_default_tax_category"] = "التصنيف الضريبي الأفتراضي";
|
||||||
|
$lang["taxes_default_tax_rate"] = "معدل الضريبة الافتراضي";
|
||||||
|
$lang["taxes_error_adding_updating"] = "فشل إضافة أو تحديث قانون الضرائب";
|
||||||
|
$lang["taxes_group_seq"] = "تسلسل المجموعة";
|
||||||
|
$lang["taxes_jurisdiction_name"] = "اسم الولاية القضائية";
|
||||||
|
$lang["taxes_name"] = "الاسم";
|
||||||
|
$lang["taxes_new"] = "ضريبة جديدة";
|
||||||
|
$lang["taxes_no_taxes_to_display"] = "لا يوجد أكواد ضريبية للعرض";
|
||||||
|
$lang["taxes_reporting_authority"] = "السلطة الضريبية";
|
||||||
|
$lang["taxes_round_half_down"] = "نصف الاسفل";
|
||||||
|
$lang["taxes_round_half_even"] = "تقريب للنصف";
|
||||||
|
$lang["taxes_round_half_odd"] = "تقريب غريب";
|
||||||
|
$lang["taxes_round_half_up"] = "تقريب للاعلى";
|
||||||
|
$lang["taxes_rounding_code"] = "كود التقريب";
|
||||||
|
$lang["taxes_sales_tax"] = "ضريبة المبيعات";
|
||||||
|
$lang["taxes_sales_tax_by_invoice"] = "ضريبة المبيعات بالفاتورة";
|
||||||
|
$lang["taxes_sequence"] = "تسلسل";
|
||||||
|
$lang["taxes_state"] = "حالة";
|
||||||
|
$lang["taxes_successful_deleted"] = "تم المسح بنجاح";
|
||||||
|
$lang["taxes_tax_categories"] = "فئات الضرائب";
|
||||||
|
$lang["taxes_tax_categories_configuration"] = "اعدادات فئات الضرائب";
|
||||||
|
$lang["taxes_tax_categories_saved_successfully"] = "تم حفظ تغييرات الفئات الضريبية";
|
||||||
|
$lang["taxes_tax_categories_saved_unsuccessfully"] = "لم يتم حفظ تغييرات الفئات الضريبة";
|
||||||
|
$lang["taxes_tax_category"] = "الفئة الضريبية";
|
||||||
|
$lang["taxes_tax_category_code"] = "رمز الفئة الضريبية";
|
||||||
|
$lang["taxes_tax_category_duplicate"] = "الفئة الضريبية مكررة";
|
||||||
|
$lang["taxes_tax_category_invalid_chars"] = "أحرف غير صالحة في اسم الفئة الضريبية";
|
||||||
|
$lang["taxes_tax_category_name"] = "اسم فئة الضريبة";
|
||||||
|
$lang["taxes_tax_category_new"] = "فئة الضريبية جديدة";
|
||||||
|
$lang["taxes_tax_category_required"] = "الفئة الضريبة مطلوبة";
|
||||||
|
$lang["taxes_tax_code"] = "كود الضريبة";
|
||||||
|
$lang["taxes_tax_code_cannot_be_deleted"] = "فشل مسح الكود الضريبي";
|
||||||
|
$lang["taxes_tax_code_duplicate"] = "رمز الضريبة مكرر";
|
||||||
|
$lang["taxes_tax_code_invalid_chars"] = "أحرف لا يمكن استعمالها في قانون الضرائب";
|
||||||
|
$lang["taxes_tax_code_name"] = "اسم الكود الضريبي";
|
||||||
|
$lang["taxes_tax_code_required"] = "حقل الكود الضريبي مطلوب";
|
||||||
|
$lang["taxes_tax_code_successful_deleted"] = "تم مسح الكود الضريبي";
|
||||||
|
$lang["taxes_tax_code_successful_updated"] = "تم التعديل بنجاح";
|
||||||
|
$lang["taxes_tax_code_successful_updating"] = "تم تعديل الكود الضريبي بنجاح";
|
||||||
|
$lang["taxes_tax_code_successfully_added"] = "لقد تم إضافة المورد بنجاح";
|
||||||
|
$lang["taxes_tax_code_type"] = "نوع كود الضريبة";
|
||||||
|
$lang["taxes_tax_codes"] = "الرموز الضريبية";
|
||||||
|
$lang["taxes_tax_codes_configuration"] = "اعدادات الرموز الضريبية";
|
||||||
|
$lang["taxes_tax_codes_saved_successfully"] = "تم حفظ تغييرات قانون الضرائب";
|
||||||
|
$lang["taxes_tax_codes_saved_unsuccessfully"] = "لم يتم حفظ تغييرات قانون الضريبة";
|
||||||
|
$lang["taxes_tax_excluded"] = "لا تشمل الضرائب";
|
||||||
|
$lang["taxes_tax_group"] = "المجموعة الضريبية";
|
||||||
|
$lang["taxes_tax_group_not_unique"] = "";
|
||||||
|
$lang["taxes_tax_group_sequence"] = "تسلسل مجموعة الضرائب";
|
||||||
|
$lang["taxes_tax_included"] = "الضريبة مشمولة";
|
||||||
|
$lang["taxes_tax_jurisdiction"] = "الاختصاص الضريبي";
|
||||||
|
$lang["taxes_tax_jurisdiction_duplicate"] = "تكرير الاختصاص الضريبي";
|
||||||
|
$lang["taxes_tax_jurisdiction_invalid_chars"] = "أحرف لا يمكن استعمالها في اسم الولاية القضائية";
|
||||||
|
$lang["taxes_tax_jurisdiction_required"] = "الاختصاص الضريبي هي خانة اجبارية";
|
||||||
|
$lang["taxes_tax_jurisdictions"] = "الاختصاصات الضريبية";
|
||||||
|
$lang["taxes_tax_jurisdictions_configuration"] = "اعجدادات الاختصاصات الضريبية";
|
||||||
|
$lang["taxes_tax_jurisdictions_saved_successfully"] = "تم حفظ تغييرات الاختصاص الضريبي";
|
||||||
|
$lang["taxes_tax_jurisdictions_saved_unsuccessfully"] = "لم يتم حفظ تغييرات الاختصاص الضريبي";
|
||||||
|
$lang["taxes_tax_rate"] = "معدل الضريبة الافتراضي %";
|
||||||
|
$lang["taxes_tax_rate_configuration"] = "اعجدادات معدل الضريبة";
|
||||||
|
$lang["taxes_tax_rate_error_adding_updating"] = "فشل إضافة أو تحديث معدل الضريبة";
|
||||||
|
$lang["taxes_tax_rate_numeric"] = "معدل الضريبة الافتراضي يجب أن يكون رقم";
|
||||||
|
$lang["taxes_tax_rate_required"] = "معدل الضريبة الافتراضي مطلوب";
|
||||||
|
$lang["taxes_tax_rate_successful_updated"] = "لقد تم بالتحديث بنجاح";
|
||||||
|
$lang["taxes_tax_rate_successfully_added"] = "لقد تم الاضافة بنجاح";
|
||||||
|
$lang["taxes_tax_rates"] = "معدلات الضريبة";
|
||||||
|
$lang["taxes_tax_rates_configuration"] = "اعدادات معدلات الضريبة";
|
||||||
|
$lang["taxes_tax_rounding"] = "التقريب الضريبي";
|
||||||
|
$lang["taxes_tax_type"] = "نوع الضريبة";
|
||||||
|
$lang["taxes_update"] = "تحديث معدل الضريبة";
|
||||||
|
$lang["taxes_vat_tax"] = "ضريبة القيمة المضافة";
|
||||||
31
application/language/az-AZ/attributes_lang.php
Normal file
31
application/language/az-AZ/attributes_lang.php
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
$lang["attributes_attribute_value_invalid_chars"] = "Atribut dəyəri bu ':' və ya '|' olmaz";
|
||||||
|
$lang["attributes_confirm_delete"] = "Seçilmiş Atributları silmək istədiyinizdən əminsinizmi?";
|
||||||
|
$lang["attributes_confirm_restore"] = "Seçilmiş atributları bərpa etmək istədiyinizə əminsinizmi?";
|
||||||
|
$lang["attributes_definition_cannot_be_deleted"] = "Seçilmiş xüsusiyyətləri silmək olmadı";
|
||||||
|
$lang["attributes_definition_error_adding_updating"] = "%1 -in atributları əlavə oluna və yenilənə bilmədi. Lütfən XƏTA loq faylını yoxlayın.";
|
||||||
|
$lang["attributes_definition_flags"] = "Atribut görünüşü";
|
||||||
|
$lang["attributes_definition_group"] = "Qrup";
|
||||||
|
$lang["attributes_definition_id"] = "Id";
|
||||||
|
$lang["attributes_definition_name"] = "Atribut əlavə et";
|
||||||
|
$lang["attributes_definition_name_required"] = "Atribut adı zəruri bir sahədir";
|
||||||
|
$lang["attributes_definition_one_or_multiple"] = "atribut (lar)";
|
||||||
|
$lang["attributes_definition_successful_adding"] = "Malı uğurla əlavə etdiniz";
|
||||||
|
$lang["attributes_definition_successful_deleted"] = "Siz uğurla sildiniz";
|
||||||
|
$lang["attributes_definition_successful_updating"] = "Atributunuzu müvəffəqiyyətlə yenilədiniz";
|
||||||
|
$lang["attributes_definition_type"] = "Atribut Tipi";
|
||||||
|
$lang["attributes_definition_type_required"] = "Atribut növü tələb olunan sahədir";
|
||||||
|
$lang["attributes_definition_unit"] = "Ölçü vahidi";
|
||||||
|
$lang["attributes_definition_values"] = "Atribut dəyərləri";
|
||||||
|
$lang["attributes_new"] = "Yeni atributlar";
|
||||||
|
$lang["attributes_no_attributes_to_display"] = "Göstərmək üçün heç bir element yoxdur";
|
||||||
|
$lang["attributes_receipt_visibility"] = "Qəbz";
|
||||||
|
$lang["attributes_show_in_items"] = "Malları göstər";
|
||||||
|
$lang["attributes_show_in_items_visibility"] = "Mallar";
|
||||||
|
$lang["attributes_show_in_receipt"] = "Qəbzi göstərin";
|
||||||
|
$lang["attributes_show_in_receivings"] = "Alacaqlarda göstərin";
|
||||||
|
$lang["attributes_show_in_receivings_visibility"] = "Alınanlar";
|
||||||
|
$lang["attributes_show_in_sales"] = "Satışda göstərin";
|
||||||
|
$lang["attributes_show_in_sales_visibility"] = "Satışlar";
|
||||||
|
$lang["attributes_update"] = "Atributları yenilə";
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
$lang["tables_all"] = "";
|
$lang["tables_all"] = "hamısı";
|
||||||
$lang["tables_columns"] = "";
|
$lang["tables_columns"] = "Sütunlar";
|
||||||
$lang["tables_hide_show_pagination"] = "";
|
$lang["tables_hide_show_pagination"] = "Gizlət/Göstər səhifənin nömrələnməsin";
|
||||||
$lang["tables_loading"] = "";
|
$lang["tables_loading"] = "Lütfən gözləyin, səhifə yüklənir...";
|
||||||
$lang["tables_page_from_to"] = "";
|
$lang["tables_page_from_to"] = "Göstər {0} bundan {1} buna {2} kimi";
|
||||||
$lang["tables_refresh"] = "";
|
$lang["tables_refresh"] = "Yenilə";
|
||||||
$lang["tables_rows_per_page"] = "";
|
$lang["tables_rows_per_page"] = "{0} yazı səhifədə";
|
||||||
$lang["tables_toggle"] = "";
|
$lang["tables_toggle"] = "Keçid";
|
||||||
|
|||||||
38
application/language/az-AZ/cashups_lang.php
Normal file
38
application/language/az-AZ/cashups_lang.php
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
$lang["cashups_amount"] = "Məbləğ";
|
||||||
|
$lang["cashups_amount_number"] = "Məbləğ rəqəmlə olmalıdır";
|
||||||
|
$lang["cashups_amount_required"] = "Məbləğ zəruri sahədir.";
|
||||||
|
$lang["cashups_cannot_be_deleted"] = "Pul vahidi silinməsi mümkün deyil";
|
||||||
|
$lang["cashups_close_date"] = "Bağlanma Tarixi";
|
||||||
|
$lang["cashups_close_employee"] = "Bağlıdır";
|
||||||
|
$lang["cashups_closed_amount_card"] = "Kartlar";
|
||||||
|
$lang["cashups_closed_amount_cash"] = "Kassanın Bağlanması";
|
||||||
|
$lang["cashups_closed_amount_check"] = "Çeklər";
|
||||||
|
$lang["cashups_closed_amount_due"] = "Rüsum";
|
||||||
|
$lang["cashups_closed_amount_total"] = "Cəmi";
|
||||||
|
$lang["cashups_closed_date"] = "Bağlanma tarixi";
|
||||||
|
$lang["cashups_confirm_delete"] = "Seçilmiş Pul vahidi silmək istədiyinizə əminsinizmi?";
|
||||||
|
$lang["cashups_confirm_restore"] = "Seçilmiş Pul vahidi bərpa etmək istədiyinizə əminsinizmi?";
|
||||||
|
$lang["cashups_date_number"] = "Tarix rəqəmlə olmalıdır";
|
||||||
|
$lang["cashups_date_required"] = "Tarixi tələb olunan bir sahədir";
|
||||||
|
$lang["cashups_description"] = "Təsvir";
|
||||||
|
$lang["cashups_error_adding_updating"] = "XƏTA Pul vahidi Əvavə/yenilənmədə";
|
||||||
|
$lang["cashups_id"] = "İD";
|
||||||
|
$lang["cashups_info"] = "Pul vahidi məlumatı";
|
||||||
|
$lang["cashups_is_deleted"] = "Silindi";
|
||||||
|
$lang["cashups_new"] = "Yeni Pul vahidi";
|
||||||
|
$lang["cashups_no_cashups_to_display"] = "Göstərmək üçün heç nağd pul yoxdur";
|
||||||
|
$lang["cashups_none_selected"] = "Siz pul seçmədiniz";
|
||||||
|
$lang["cashups_note"] = "Qeydlər";
|
||||||
|
$lang["cashups_one_or_multiple"] = "Pul Vahidləri";
|
||||||
|
$lang["cashups_open_amount_cash"] = "Kassanı aç";
|
||||||
|
$lang["cashups_open_date"] = "Tarixi aç";
|
||||||
|
$lang["cashups_open_employee"] = "Açıqdır";
|
||||||
|
$lang["cashups_opened_date"] = "Açılma Tarixi";
|
||||||
|
$lang["cashups_successful_adding"] = "Pul vahidi əlavə edildi";
|
||||||
|
$lang["cashups_successful_deleted"] = "Pul vahidi silindi";
|
||||||
|
$lang["cashups_successful_updating"] = "Pul vahidi yeniləndi";
|
||||||
|
$lang["cashups_total"] = "Cəmi";
|
||||||
|
$lang["cashups_transfer_amount_cash"] = "Pul vahidi Giriş/Çıxışları";
|
||||||
|
$lang["cashups_update"] = "Pul vahidi Yeniləndi";
|
||||||
@@ -1,68 +1,74 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
$lang["common_address_1"] = "Ünvan 1 ";
|
$lang["common_address_1"] = "Ünvan 1";
|
||||||
$lang["common_address_2"] = "Ünvan 2";
|
$lang["common_address_2"] = "Ünvan 2";
|
||||||
$lang["common_city"] = "Şəhər";
|
$lang["common_city"] = "Şəhər";
|
||||||
$lang["common_close"] = "Bağlı";
|
$lang["common_close"] = "Bağlı";
|
||||||
$lang["common_comments"] = "Rəylər";
|
$lang["common_comments"] = "Rəylər";
|
||||||
$lang["common_common"] = "ortaq";
|
$lang["common_common"] = "ortaq";
|
||||||
$lang["common_confirm_search"] = "Bir və ya bir neçə sətir seçdiniz, bunlar axtarışınızdan sonra artıq seçilməyəcək. Bu axtarışı göndərmək istədiyinizə əminsinizmi?";
|
$lang["common_confirm_search"] = "Bir və ya bir neçə sətir seçdiniz, bunlar axtarışınızdan sonra artıq seçilməyəcək. Bu axtarışı göndərmək istədiyinizə əminsinizmi?";
|
||||||
|
$lang["common_copyrights"] = "© 2010 - %1";
|
||||||
|
$lang["common_correct_errors"] = "Xahiş edirik təsdiqlə-dən əvvəl səhvləri düzəldin";
|
||||||
$lang["common_country"] = "Ölkə";
|
$lang["common_country"] = "Ölkə";
|
||||||
$lang["common_date"] = "Təqvim";
|
$lang["common_date"] = "Təqvim";
|
||||||
$lang["common_delete"] = "Sil";
|
$lang["common_delete"] = "Sil";
|
||||||
$lang["common_det"] = "detallar";
|
$lang["common_det"] = "detallar";
|
||||||
$lang["common_download_import_template"] = "İdxal Excel Şablonunu Yüklə";
|
$lang["common_download_import_template"] = "CSV Şablonunu (CSV) daxil edin";
|
||||||
$lang["common_edit"] = "Redaktə Et";
|
$lang["common_edit"] = "Redaktə Et";
|
||||||
$lang["common_email"] = "elektron adres";
|
$lang["common_email"] = "E-poçt";
|
||||||
$lang["common_email_invalid_format"] = "E-poçt ünvanı düzgün formatda deyil.";
|
$lang["common_email_invalid_format"] = "E-poçt ünvanı düzgün formatda deyil.";
|
||||||
$lang["common_export_excel"] = "Excel Export";
|
$lang["common_export_csv"] = "CSV Export";
|
||||||
$lang["common_export_excel_no"] = "Xeyir";
|
$lang["common_export_csv_no"] = "Xeyr";
|
||||||
$lang["common_export_excel_yes"] = "Bəli";
|
$lang["common_export_csv_yes"] = "Bəli";
|
||||||
$lang["common_fields_required_message"] = "Qırmızı sahələr tələb olunur";
|
$lang["common_fields_required_message"] = "Qırmızı sahələr tələb olunur";
|
||||||
$lang["common_first_name"] = "Ad";
|
$lang["common_first_name"] = "Ad";
|
||||||
$lang["common_first_name_required"] = "Ad yazmağınız tələb olunur";
|
$lang["common_first_name_required"] = "Ad yazmağınız tələb olunur.";
|
||||||
$lang["common_first_page"] = "Birinci";
|
$lang["common_first_page"] = "Birinci";
|
||||||
$lang["common_gender"] = "Cins";
|
$lang["common_gender"] = "Cins";
|
||||||
$lang["common_gender_female"] = "F";
|
$lang["common_gender_female"] = "Q";
|
||||||
$lang["common_gender_male"] = "M";
|
$lang["common_gender_male"] = "K";
|
||||||
$lang["common_id"] = "Kimlik";
|
$lang["common_gender_undefined"] = "";
|
||||||
$lang["common_import"] = "İmport etmək";
|
$lang["common_id"] = "ID";
|
||||||
|
$lang["common_import"] = "Daxil et";
|
||||||
$lang["common_import_change_file"] = "Dəyiş";
|
$lang["common_import_change_file"] = "Dəyiş";
|
||||||
$lang["common_import_excel"] = "Excel Import";
|
$lang["common_import_csv"] = "CSV daxil et";
|
||||||
$lang["common_import_full_path"] = "Excel faylına tam yol tələb olunur";
|
$lang["common_import_full_path"] = "CSV faylına tam yol tələb olunur";
|
||||||
$lang["common_import_remove_file"] = "Sil";
|
$lang["common_import_remove_file"] = "Sil(Gizlət)";
|
||||||
$lang["common_import_select_file"] = "Fayl Seç";
|
$lang["common_import_select_file"] = "Fayl Seç";
|
||||||
$lang["common_inv"] = "familiya və mütləq məsafə ";
|
$lang["common_inv"] = "Qaimə";
|
||||||
$lang["common_last_name"] = "Soyad";
|
$lang["common_last_name"] = "Soyad";
|
||||||
$lang["common_last_name_required"] = "Soyad tələb olunur";
|
$lang["common_last_name_required"] = "Soyad tələb olunur.";
|
||||||
$lang["common_last_page"] = "Son";
|
$lang["common_last_page"] = "Son";
|
||||||
$lang["common_learn_about_project"] = "Proyekt haqqında ən son məlumatı öyrənmək";
|
$lang["common_learn_about_project"] = "Proyekt haqqında ən son məlumatı öyrənmək.";
|
||||||
$lang["common_list_of"] = "Siyahısı";
|
$lang["common_list_of"] = "Siyahısı";
|
||||||
$lang["common_logout"] = "Çıxış";
|
$lang["common_logout"] = "Çıxış";
|
||||||
$lang["common_new"] = "Təzə";
|
$lang["common_migration_needed"] = "Girişdən sonra bazaya %1 köçməsi başlayacaq.";
|
||||||
$lang["common_no_persons_to_display"] = "Göstəriləcək insanlar yoxdur";
|
$lang["common_new"] = "Yenisi";
|
||||||
$lang["common_none_selected_text"] = "Heçnə seçilməyib";
|
$lang["common_no"] = "";
|
||||||
$lang["common_or"] = "Və Ya";
|
$lang["common_no_persons_to_display"] = "Göstərmək üçün heç kim yoxdur.";
|
||||||
$lang["common_phone_number"] = "Telefon Nömrəsi";
|
$lang["common_none_selected_text"] = "Seçin";
|
||||||
|
$lang["common_or"] = "Və ya";
|
||||||
|
$lang["common_phone_number"] = "Telefon";
|
||||||
$lang["common_phone_number_required"] = "çıxarış ";
|
$lang["common_phone_number_required"] = "çıxarış ";
|
||||||
$lang["common_please_visit_my"] = "Xahiş edirik ziyarət edin";
|
$lang["common_please_visit_my"] = "Xahiş edirik ziyarət edin";
|
||||||
$lang["common_powered_by"] = "Tərəfindən Dəstəklənir";
|
$lang["common_powered_by"] = "Yaradıcı";
|
||||||
$lang["common_price"] = "Qiymət";
|
$lang["common_price"] = "Qiymət";
|
||||||
$lang["common_print"] = "Çap";
|
$lang["common_print"] = "Çap";
|
||||||
$lang["common_remove"] = "Silmək";
|
$lang["common_remove"] = "Silmək";
|
||||||
$lang["common_required"] = "Tələb olunan";
|
$lang["common_required"] = "Vacib";
|
||||||
$lang["common_restore"] = "Bərpa Etmək";
|
$lang["common_restore"] = "Bərpa Etmək";
|
||||||
$lang["common_return_policy"] = "Geri qaytarmaq haqqında nizamnamə";
|
$lang["common_return_policy"] = "Qaytarma siyasəti";
|
||||||
$lang["common_search"] = "Axtarış";
|
$lang["common_search"] = "Axtarış";
|
||||||
$lang["common_search_options"] = "Axtarış variantları";
|
$lang["common_search_options"] = "Axtarış variantları";
|
||||||
$lang["common_searched_for"] = "Axtarıldı";
|
$lang["common_searched_for"] = "Axtarıldı";
|
||||||
$lang["common_state"] = "Ştat";
|
$lang["common_state"] = "Əyalət";
|
||||||
$lang["common_submit"] = "Təqdim";
|
$lang["common_submit"] = "Təsdiqlə";
|
||||||
$lang["common_total_spent"] = "Cəmi Xərclənmiş";
|
$lang["common_total_spent"] = "Ümumi xərc";
|
||||||
$lang["common_unknown"] = "Naməlum";
|
$lang["common_unknown"] = "Naməlum";
|
||||||
$lang["common_view_recent_sales"] = "Son Satışları Göstər";
|
$lang["common_view_recent_sales"] = "Son Satışları Göstər";
|
||||||
$lang["common_website"] = "Web-adres";
|
$lang["common_website"] = "Veb Sayt";
|
||||||
$lang["common_welcome"] = "Xoş Gəlmisiniz";
|
$lang["common_welcome"] = "Xoş Gəlmisiniz";
|
||||||
$lang["common_welcome_message"] = "OSPOS-a Xoş gəlmisiniz, başlamaq üçün bir modula basın.";
|
$lang["common_welcome_message"] = "ALSAN-a Xoş gəlmisiniz, başlamaq üçün bir modula basın.";
|
||||||
$lang["common_you_are_using_ospos"] = "Open Source Point Of Sale versiyasını istifadə edirsiniz";
|
$lang["common_yes"] = "";
|
||||||
|
$lang["common_you_are_using_ospos"] = "Açıq Layihədə Satışın Avtomatlaşdırma Nöqtəsi versiya";
|
||||||
$lang["common_zip"] = "Poçt Kodu";
|
$lang["common_zip"] = "Poçt Kodu";
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user