mirror of
https://github.com/opensourcepos/opensourcepos.git
synced 2026-05-25 00:44:03 -04:00
Compare commits
1839 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
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 | ||
|
|
f1cf3d3c87 | ||
|
|
8138db1a80 | ||
|
|
c5632a2f5a | ||
|
|
2e7e9cecd8 | ||
|
|
5ce7fcf5ed | ||
|
|
d3c215f744 | ||
|
|
73e2d01c91 | ||
|
|
0a299d8858 | ||
|
|
5adc3b18c2 | ||
|
|
0c2c999746 | ||
|
|
9d072da872 | ||
|
|
a610346576 | ||
|
|
e3e4c8b3a4 | ||
|
|
af8cb4243b | ||
|
|
3c87bdec57 | ||
|
|
4062b9890b | ||
|
|
0ccfe72a26 | ||
|
|
79ca657a6e | ||
|
|
36bf371f38 | ||
|
|
efc689530e | ||
|
|
6bc5842402 | ||
|
|
d4761ad095 | ||
|
|
cdf0c819ac | ||
|
|
fe2ae55e94 | ||
|
|
fea0462407 | ||
|
|
c9a50cdeaf | ||
|
|
04cbd95c13 | ||
|
|
07d4b852e0 | ||
|
|
5d00a4354c | ||
|
|
6e33838fb7 | ||
|
|
e96b54509a | ||
|
|
530c75df4d | ||
|
|
a8bb790ebe | ||
|
|
f82701adae | ||
|
|
36ea11f96f | ||
|
|
4fe4c8eb57 | ||
|
|
4d41ad5735 | ||
|
|
fae7702719 | ||
|
|
ed888be463 | ||
|
|
c423bc4222 | ||
|
|
aa624f3680 | ||
|
|
121cc000b3 | ||
|
|
458118469a | ||
|
|
07d1a5fb9b | ||
|
|
78436ee39d | ||
|
|
3f1f4c8e05 | ||
|
|
2704bd7e83 | ||
|
|
5d3643a8d0 | ||
|
|
454155f8de | ||
|
|
e03f7a7af6 | ||
|
|
7cce40af25 | ||
|
|
8d7fb2cd25 | ||
|
|
dcd78d8266 | ||
|
|
3dc950d930 | ||
|
|
7ba8ddb0c0 | ||
|
|
c3d232016e | ||
|
|
9b6bfd6e2c | ||
|
|
0e2dc1d6da | ||
|
|
5f072aecfa | ||
|
|
c803f01774 | ||
|
|
8b006f5386 | ||
|
|
f05136f203 | ||
|
|
ced7a7c641 | ||
|
|
6ab0e52a7c | ||
|
|
b65ad2ae74 | ||
|
|
fe20fb24ca | ||
|
|
d1f74b60c7 | ||
|
|
69c222f686 | ||
|
|
d861b12abe | ||
|
|
bf8d4d5f2b | ||
|
|
7b30bd6048 | ||
|
|
ac92e7cf7f | ||
|
|
15c161b6d1 | ||
|
|
7c3a6344b7 | ||
|
|
c0115d51df | ||
|
|
2cfcd4d8a7 | ||
|
|
08c48bc9a7 | ||
|
|
1d8a79b2a9 | ||
|
|
4bb3e2774b | ||
|
|
fe7ba26ab8 | ||
|
|
ea1a51c9f8 | ||
|
|
b13ac8d4f0 | ||
|
|
37390ae9dd | ||
|
|
5f0d8b2312 | ||
|
|
b35ea35654 | ||
|
|
6071f9ab97 | ||
|
|
4558cf0e50 | ||
|
|
507294a4a6 | ||
|
|
f8f4644987 | ||
|
|
510fe8b14e | ||
|
|
a3408c31ce | ||
|
|
1acac824a1 | ||
|
|
fa4e7cefac | ||
|
|
a77a2be2ce | ||
|
|
b93c3b2177 | ||
|
|
ec673dc596 | ||
|
|
dff043534d | ||
|
|
7a3ac75e53 | ||
|
|
7234f2af53 | ||
|
|
7ee6221952 | ||
|
|
0ba225cafd | ||
|
|
e4690eb670 | ||
|
|
be6e3480c2 | ||
|
|
18f65dbb89 | ||
|
|
2b7688d962 | ||
|
|
c7cebfa3a3 | ||
|
|
be3b50e36d | ||
|
|
ee82f3e804 | ||
|
|
180d40f00d | ||
|
|
f43df16d10 | ||
|
|
c54b8dccd3 | ||
|
|
d65ee713ca | ||
|
|
59a4f55cb5 | ||
|
|
34da40ce0b | ||
|
|
9d149ad4f3 | ||
|
|
455e39260d | ||
|
|
0015bdffcf | ||
|
|
bcd1b05961 | ||
|
|
c62dc5fe2a | ||
|
|
2426fad52e | ||
|
|
9dee282b83 | ||
|
|
1a6a8841f4 | ||
|
|
fdbdf55e71 | ||
|
|
3e9e144075 | ||
|
|
1fe94c3626 | ||
|
|
b4f8667047 | ||
|
|
fe2c639f8a | ||
|
|
c8d1bfee35 | ||
|
|
72825acfaf | ||
|
|
0e14d5390f | ||
|
|
cdd966878d | ||
|
|
9384b53a22 | ||
|
|
4bab3fc4e3 | ||
|
|
5c1baf20b0 | ||
|
|
075d4e1aeb | ||
|
|
8dc7855e56 | ||
|
|
d992c434d8 | ||
|
|
1c07ba1945 | ||
|
|
6357491874 | ||
|
|
8880061e0e | ||
|
|
c397a81b48 | ||
|
|
76e1516147 | ||
|
|
c495cf29a0 | ||
|
|
c64ac468a3 | ||
|
|
0892944aaa | ||
|
|
abafd59683 | ||
|
|
dab4a8f90d | ||
|
|
ca7c3e9d76 | ||
|
|
61eeed0b75 | ||
|
|
3852bd5c3e | ||
|
|
cf8890efdc | ||
|
|
e4fe32b85c | ||
|
|
6bed03a2e7 | ||
|
|
390fefa803 | ||
|
|
3c069ad226 | ||
|
|
2e07818a2c | ||
|
|
5ce8c9694d | ||
|
|
0415cb53e9 | ||
|
|
a254f78750 | ||
|
|
adde140660 | ||
|
|
0a3414f4f3 | ||
|
|
4c3ab04e3d | ||
|
|
9e442e6c61 | ||
|
|
64dd3afa54 | ||
|
|
bd17e73b36 | ||
|
|
3e7faf1ea1 | ||
|
|
34048c2ba5 | ||
|
|
3848b72bbe | ||
|
|
154db58f34 | ||
|
|
2e5cfbc1e7 | ||
|
|
174338f9bf | ||
|
|
4d9840f9ad | ||
|
|
821aaa4e63 | ||
|
|
425f0fd21b | ||
|
|
41117b7007 | ||
|
|
6cc4196af8 | ||
|
|
4329f519f8 | ||
|
|
c29937ac68 | ||
|
|
9d7c07c1dd | ||
|
|
f24f62c0c6 | ||
|
|
9370d3434a | ||
|
|
a60a58337e | ||
|
|
6e8d9bb85c | ||
|
|
7642e45850 | ||
|
|
4d37b29304 | ||
|
|
ac5dbe0b0f | ||
|
|
cd19babd6e | ||
|
|
bbb77a00ad | ||
|
|
c48563b703 | ||
|
|
740d12e137 | ||
|
|
e4369db19c | ||
|
|
d5086ba42f | ||
|
|
1c95ed432f | ||
|
|
9f50a6ab92 | ||
|
|
ee319189ed | ||
|
|
0053398037 | ||
|
|
f106097e2d | ||
|
|
cc1497baad | ||
|
|
87317b00bd | ||
|
|
e949f776ac | ||
|
|
27ca6cf6f8 | ||
|
|
6d35fae28e | ||
|
|
27c8f2614d | ||
|
|
fbce16acd1 | ||
|
|
a700d4ffff | ||
|
|
738e1de6b4 | ||
|
|
5da3dc3928 | ||
|
|
129eb78552 | ||
|
|
97ab38436f | ||
|
|
0820a0d7ff | ||
|
|
a597fa86eb | ||
|
|
c05b814009 | ||
|
|
82c6954d1c | ||
|
|
b43ec350ae | ||
|
|
c6bc1680fa | ||
|
|
7d64b483ca | ||
|
|
cfa7891b06 | ||
|
|
3663c7e344 | ||
|
|
3ca871aea9 | ||
|
|
6b935ca169 | ||
|
|
41a9b03761 | ||
|
|
6a3da0f5dc | ||
|
|
a00c38bee8 | ||
|
|
593b5cebaa | ||
|
|
4b57b6144b | ||
|
|
d2fbceeb22 | ||
|
|
3113945f0f | ||
|
|
8a9e0f352a | ||
|
|
c844f2c1e7 | ||
|
|
9b0dc5a9c3 | ||
|
|
11ba752010 | ||
|
|
b26dbc7022 | ||
|
|
22f1ed10be | ||
|
|
0a289f9ed4 | ||
|
|
1b0eb0d936 | ||
|
|
d146a05991 | ||
|
|
8c43345a20 | ||
|
|
50c4b30df2 | ||
|
|
9f2e39711f | ||
|
|
43b4cee636 | ||
|
|
ba8c0b7b15 | ||
|
|
86622615fd | ||
|
|
3dfa877365 | ||
|
|
b22252be4e | ||
|
|
83697eaf8b | ||
|
|
fe627eb943 | ||
|
|
4dea268e51 | ||
|
|
2f7d738a20 | ||
|
|
b99ec9117b | ||
|
|
3c56ae6cb6 | ||
|
|
b1fdd45372 | ||
|
|
4d46da7974 | ||
|
|
84a5f654b1 | ||
|
|
01afdc5979 | ||
|
|
3c379a6458 | ||
|
|
bb203efe21 | ||
|
|
9e2a757b16 | ||
|
|
4079e44572 | ||
|
|
4595ab5c35 | ||
|
|
35150f14ed | ||
|
|
a7ecec4bd3 | ||
|
|
ae472d0176 | ||
|
|
b18ae57cf6 | ||
|
|
2f064d9a94 | ||
|
|
4f2b6badd9 | ||
|
|
bf76450ca5 | ||
|
|
7c88bdb21f | ||
|
|
544d8a496e | ||
|
|
88625ad83c | ||
|
|
e89f698dff | ||
|
|
a1e0e7946c | ||
|
|
68ce90ad8e | ||
|
|
06e36ac4f4 | ||
|
|
ccd52e1ded | ||
|
|
ed0fd469e6 | ||
|
|
7884bab2ed | ||
|
|
213bba8312 | ||
|
|
17982988f7 | ||
|
|
a7d4e4c163 | ||
|
|
2411fe1e3f | ||
|
|
b2a2ee9613 | ||
|
|
dc78162486 | ||
|
|
ffbb96fdee | ||
|
|
fd1cad99ed | ||
|
|
e7808b35cd | ||
|
|
16b9bd1305 | ||
|
|
3a3ddb99d2 | ||
|
|
49c6ec282f | ||
|
|
2557945713 | ||
|
|
3368c62690 | ||
|
|
3b411bbefc | ||
|
|
4d8006da2e | ||
|
|
a5c797b617 | ||
|
|
b9bc7583b2 | ||
|
|
b84d9d894f | ||
|
|
63d9fd219c | ||
|
|
ddb0e7560c | ||
|
|
a24a55f812 | ||
|
|
a353068ca5 | ||
|
|
442b64d1d1 | ||
|
|
8547c3b071 | ||
|
|
bf30652a3d | ||
|
|
7525c650ab | ||
|
|
f2ccebc84d | ||
|
|
5edfed5bfc | ||
|
|
8c60d6cdc6 | ||
|
|
33cc7e3f9c | ||
|
|
395ac217b8 | ||
|
|
1189c3dadf | ||
|
|
4c92e26e37 | ||
|
|
ee1f23289a | ||
|
|
84f6adb532 | ||
|
|
da5b6e2592 | ||
|
|
38b26a3e68 | ||
|
|
9d70b23b31 | ||
|
|
2466469a9c | ||
|
|
ad47e64dfd | ||
|
|
520ae0d2a9 | ||
|
|
8fccee51a7 | ||
|
|
32074771ac | ||
|
|
44a1c89292 | ||
|
|
55d4c004eb | ||
|
|
1fbc42c079 | ||
|
|
2b7a25d8a3 | ||
|
|
1f3074232c | ||
|
|
d3a77118ba | ||
|
|
83732383a7 | ||
|
|
b495a97483 | ||
|
|
a0672d04ce | ||
|
|
e9ac0adb81 | ||
|
|
6febdc4e9d | ||
|
|
8ca18edfbd | ||
|
|
6f4cd9d5eb | ||
|
|
63866bf0d3 | ||
|
|
4e8b63c002 | ||
|
|
1500aa8b51 | ||
|
|
9af064f003 | ||
|
|
0e4f894b2a | ||
|
|
91a677f018 | ||
|
|
556ab3c229 | ||
|
|
d7da611a76 | ||
|
|
fa8f42629b | ||
|
|
f8e1d57f71 | ||
|
|
380953d8b7 | ||
|
|
aea080052a | ||
|
|
3568debbe6 | ||
|
|
d2e8a156ab | ||
|
|
d6f6e2f234 | ||
|
|
22c6d5401c | ||
|
|
e44733599e | ||
|
|
acb12dd517 | ||
|
|
3dbc124f62 | ||
|
|
563fcf2385 | ||
|
|
accd11b74f | ||
|
|
c7b21362cb | ||
|
|
78b9daac39 | ||
|
|
00f90857a0 | ||
|
|
3bb8d7ad32 | ||
|
|
83ed48c7db | ||
|
|
7e0f099479 | ||
|
|
96af1b64ff | ||
|
|
a005ed6862 | ||
|
|
cf6df1e99c | ||
|
|
c1509a9dd1 | ||
|
|
d78b547b98 | ||
|
|
17136a011a | ||
|
|
171870f512 | ||
|
|
04a3a0631f | ||
|
|
2dd81f4e77 | ||
|
|
39a7665930 | ||
|
|
1223dccd8c | ||
|
|
d078523528 | ||
|
|
574bcbac09 | ||
|
|
8dad6d5249 | ||
|
|
75b9fdb698 | ||
|
|
6131e3db34 | ||
|
|
30f6e315e3 | ||
|
|
01dfed1793 | ||
|
|
f82990a304 | ||
|
|
6131c5eb53 | ||
|
|
a1b25d193c | ||
|
|
67eab51e4f | ||
|
|
97591e77fc | ||
|
|
146d0ce6c8 | ||
|
|
9733ca9171 | ||
|
|
b2fcd59841 | ||
|
|
f769561a3c | ||
|
|
2a617f7c5c | ||
|
|
544c142ef0 | ||
|
|
8991407b16 | ||
|
|
caedd4cfc0 | ||
|
|
9323f3803b | ||
|
|
a031fd924b | ||
|
|
afadb1e171 | ||
|
|
8f7f22726a | ||
|
|
5cbebec92f | ||
|
|
2b8e8bb13e | ||
|
|
cae200e06a | ||
|
|
49cbdb53ee | ||
|
|
e96e00d902 | ||
|
|
6ae6fa7c32 | ||
|
|
4653cde725 | ||
|
|
97f2ee521f | ||
|
|
ee55be347d | ||
|
|
cee7956788 | ||
|
|
ffa77cfb71 | ||
|
|
a956a009f9 | ||
|
|
9f7ca1a747 | ||
|
|
66d319f082 | ||
|
|
010a3c7126 | ||
|
|
c1b3382795 | ||
|
|
2a8078aac9 | ||
|
|
409f0f0084 | ||
|
|
df2a76b4cf | ||
|
|
ec97cd5cdf | ||
|
|
46da8bab1d | ||
|
|
ae6e082983 | ||
|
|
028f38784e | ||
|
|
136093b8ab | ||
|
|
17f3635574 | ||
|
|
c33a3b3720 | ||
|
|
63b728b118 | ||
|
|
1cfdee4114 | ||
|
|
98ccea3419 | ||
|
|
5306b6d26f | ||
|
|
63bc9d70a7 | ||
|
|
2590feee6c | ||
|
|
1dd375311c | ||
|
|
f121a31bb9 | ||
|
|
75d54f4f62 | ||
|
|
8d16b28160 | ||
|
|
97d07d96c8 | ||
|
|
78f9560e6d | ||
|
|
fd625afeb6 | ||
|
|
91374a54b4 | ||
|
|
9c4591ea31 | ||
|
|
5ade46bc35 | ||
|
|
b1bee3196a | ||
|
|
16dd8fb0a1 | ||
|
|
b69d57a4b9 | ||
|
|
1ba0f3c839 | ||
|
|
a258a27d9b | ||
|
|
082bfeca88 | ||
|
|
32075b96dd | ||
|
|
3844d6b5f5 | ||
|
|
aa6eed2947 | ||
|
|
4a74c645ad | ||
|
|
dc2c77752b | ||
|
|
85fdc661d1 | ||
|
|
64163e8e6e | ||
|
|
810ba78776 | ||
|
|
82a17eb6ce | ||
|
|
b726596ec1 | ||
|
|
5aac69ad6d | ||
|
|
c24c7ed721 | ||
|
|
f4519251af | ||
|
|
ba6e38f755 | ||
|
|
f838dae4b5 | ||
|
|
380d3a1355 | ||
|
|
ceb5b85640 | ||
|
|
fc6f8e4d92 | ||
|
|
37dcba63bb | ||
|
|
edf5c1ec90 | ||
|
|
426bdfbadd | ||
|
|
40114601df | ||
|
|
e2d9b2e141 | ||
|
|
427a2c3777 | ||
|
|
98864c0446 | ||
|
|
0995c71630 | ||
|
|
407e8723d8 | ||
|
|
022435d0db | ||
|
|
7f7943d538 | ||
|
|
780a4c37a7 | ||
|
|
b24879c9ef | ||
|
|
d6000c79f7 | ||
|
|
9ed0984c21 | ||
|
|
21415ccb3c | ||
|
|
cadae3eabc | ||
|
|
54150940ee | ||
|
|
81d76b0c03 | ||
|
|
469d3d500e | ||
|
|
36fe5ded7e | ||
|
|
fec096915a | ||
|
|
abdcd31b9e | ||
|
|
efd58f2281 | ||
|
|
211c18a99e | ||
|
|
166c2558e6 | ||
|
|
54237a1fed | ||
|
|
1d9548870b | ||
|
|
032276de87 | ||
|
|
61e16d2d33 | ||
|
|
463dfcd1a4 | ||
|
|
022dfea51a | ||
|
|
ef23596b6e | ||
|
|
58e8469dde | ||
|
|
60d77e1f61 | ||
|
|
49d60313f6 | ||
|
|
ed54adb70c | ||
|
|
a353e73549 | ||
|
|
e1508e610b | ||
|
|
463cf9266d | ||
|
|
23a6ae791b | ||
|
|
48d58b822a | ||
|
|
08de3e1167 | ||
|
|
20c30a2c15 | ||
|
|
b51ea94eb5 | ||
|
|
2c613bdc86 | ||
|
|
f784aa3956 | ||
|
|
73b97de3e5 | ||
|
|
5cc2898a4b | ||
|
|
820cae2d3d | ||
|
|
3569165097 | ||
|
|
2c1f2823f2 | ||
|
|
ce45769163 | ||
|
|
12b62119bf | ||
|
|
9caf22aea4 | ||
|
|
2258938604 | ||
|
|
3f2a9e8c52 | ||
|
|
385de892fe | ||
|
|
a5787ecb4e | ||
|
|
bfecf15ee2 | ||
|
|
5ffb6b4c18 | ||
|
|
a6d70b6fcd | ||
|
|
bee9c7af5d | ||
|
|
f0bdb84422 | ||
|
|
12e7c5d440 | ||
|
|
623ff4fee9 | ||
|
|
579a85a9fc | ||
|
|
22e3bba649 | ||
|
|
9075bfcf37 | ||
|
|
478b2c0ea5 | ||
|
|
91918fc937 | ||
|
|
017df21f17 | ||
|
|
e7d420f44f | ||
|
|
04f2e916bb | ||
|
|
7770c6817f | ||
|
|
6caf2ea672 | ||
|
|
317d0adb78 | ||
|
|
a7659d7b76 | ||
|
|
4353f5a12b | ||
|
|
160b7ca189 | ||
|
|
c9b15c7eeb | ||
|
|
a1f6dbccc5 | ||
|
|
d399637c18 | ||
|
|
54740f734f | ||
|
|
7e8ac7c100 | ||
|
|
4cff8d7dd2 | ||
|
|
a7ada7e85a | ||
|
|
a3bf1d7eeb | ||
|
|
ecce5d39bb | ||
|
|
9d113c3327 | ||
|
|
1f3b05a37b | ||
|
|
8e60437db0 | ||
|
|
6cb6e2fb24 | ||
|
|
71a95d7b31 | ||
|
|
8be987f564 | ||
|
|
8bf147f025 | ||
|
|
b3c42d4d06 | ||
|
|
043493ba0a | ||
|
|
88d5b3336a | ||
|
|
3a1b16c070 | ||
|
|
44e57c59e4 | ||
|
|
204499e5d0 | ||
|
|
31f736e2e0 | ||
|
|
5a4d7a40ec | ||
|
|
8c5706bc1f | ||
|
|
04af352fad | ||
|
|
677b296721 | ||
|
|
a4c8db7592 | ||
|
|
241f05a000 | ||
|
|
1f5ffb04a1 | ||
|
|
5f12d8ade3 | ||
|
|
da64b67e26 | ||
|
|
beedb7e2f6 | ||
|
|
fa63933f69 | ||
|
|
b32b767260 | ||
|
|
4457cf7055 | ||
|
|
458e9a2db5 | ||
|
|
3245ddb22d | ||
|
|
5c833e48fb | ||
|
|
49c3ad57fc | ||
|
|
67402b6cd5 | ||
|
|
cd2f2c35a4 | ||
|
|
4efbfe2581 | ||
|
|
2fd350d924 | ||
|
|
e1c6a7c98a | ||
|
|
873bbfd2b8 | ||
|
|
523cbd40e3 | ||
|
|
c97393f53b | ||
|
|
d175b97596 | ||
|
|
aff5dd146e | ||
|
|
768f73770f | ||
|
|
b8f4da9314 | ||
|
|
9c29e066ff | ||
|
|
7b0abf5982 | ||
|
|
9fe8cffa16 | ||
|
|
024990dac8 | ||
|
|
d479ed2512 | ||
|
|
f799d4f296 | ||
|
|
c389a2c8a5 | ||
|
|
0c8b4de6ac | ||
|
|
0d5cad8f27 | ||
|
|
abf163c6fa | ||
|
|
e1011b2662 | ||
|
|
cea2a2e051 | ||
|
|
376c8cd3b2 | ||
|
|
bea420032a | ||
|
|
0e8594b92b | ||
|
|
fff072d302 | ||
|
|
803e2391ff | ||
|
|
a6cc775d17 | ||
|
|
c02f93bdf9 | ||
|
|
c3bbf75d0e | ||
|
|
f533e7629b | ||
|
|
54099bf43a | ||
|
|
60ce1970e7 | ||
|
|
9abb83f98b | ||
|
|
7302b0c5d8 | ||
|
|
b7a03e1a85 | ||
|
|
91e08639b0 | ||
|
|
c5874e71bb | ||
|
|
1315c52d41 | ||
|
|
e9c56184e0 | ||
|
|
99fbbb94a8 | ||
|
|
3b3d019a5d | ||
|
|
ee20237021 | ||
|
|
4341501307 | ||
|
|
fc657f1776 | ||
|
|
6f55bb8626 | ||
|
|
62d34178b0 | ||
|
|
9d1152c392 | ||
|
|
84cbef62f8 | ||
|
|
8e2f5b6a5e | ||
|
|
58764ac632 | ||
|
|
49ed5ac10a | ||
|
|
02f873aa64 | ||
|
|
1e431582b5 | ||
|
|
0d49fa72e1 | ||
|
|
364886e395 | ||
|
|
9d3b215fc2 | ||
|
|
4cd0f13485 | ||
|
|
937896d436 | ||
|
|
d5c3d8056a | ||
|
|
69fc834118 | ||
|
|
bac9897bed | ||
|
|
424e4f0f87 | ||
|
|
8e069c4e10 | ||
|
|
3fff00c1f5 | ||
|
|
57a6a8b1a5 | ||
|
|
e0f7e48d5a | ||
|
|
a7733bd244 | ||
|
|
eb39c0ba56 | ||
|
|
69a2f6b7f3 | ||
|
|
e241b1eb89 | ||
|
|
f1edb38be8 | ||
|
|
6d74f80306 | ||
|
|
0456465383 | ||
|
|
f4fedef0fb | ||
|
|
713f6106c1 | ||
|
|
e44683e6b6 | ||
|
|
9d594854b3 | ||
|
|
7a55c2311e | ||
|
|
ba5fa39151 | ||
|
|
75b401b068 | ||
|
|
7029858f58 | ||
|
|
fad12b9de2 | ||
|
|
8b96af3d19 | ||
|
|
447571090f | ||
|
|
a6e08b5d7d | ||
|
|
b3835ec6a3 | ||
|
|
080d3c0e3b | ||
|
|
86019e002d | ||
|
|
e0329472ef | ||
|
|
62f34663ae | ||
|
|
9bf1d66b74 | ||
|
|
74449f6570 | ||
|
|
2a306b888f | ||
|
|
161fa4f5d3 | ||
|
|
20791d7c12 | ||
|
|
1a8a19d568 | ||
|
|
61062e1278 | ||
|
|
1e87fe0a24 | ||
|
|
5f3a42592e | ||
|
|
8e27a88d3a | ||
|
|
b98b842ebe | ||
|
|
8f634d7cff | ||
|
|
7ab2272abc | ||
|
|
c0e63cbdfd | ||
|
|
173574ffaf | ||
|
|
8f0af3b450 | ||
|
|
2d71d3bd02 | ||
|
|
7be5816fa1 | ||
|
|
56864e6919 | ||
|
|
846d99d037 | ||
|
|
6c563a210e | ||
|
|
b49dbd39ed | ||
|
|
25282381f4 | ||
|
|
13b3a3b98f | ||
|
|
455b462d25 | ||
|
|
058cf639db | ||
|
|
2c97c79737 | ||
|
|
11135e9e4f | ||
|
|
ce321877ff | ||
|
|
630017aea1 | ||
|
|
e7c7af36ac | ||
|
|
9632e8b508 | ||
|
|
546167ac01 | ||
|
|
7bcc3d0f56 | ||
|
|
751e70fc15 | ||
|
|
8b1b5fc1d7 | ||
|
|
f49bf8d4d4 | ||
|
|
af4e93f483 | ||
|
|
4e9236b2e3 | ||
|
|
195a24feb0 | ||
|
|
6c5ab60f59 | ||
|
|
0458fcc99c | ||
|
|
a11e1dc585 | ||
|
|
072396f951 | ||
|
|
b3a2ca4db4 | ||
|
|
66278805c6 | ||
|
|
b91d383acf | ||
|
|
a7d7cbe43c | ||
|
|
ab2685ef62 | ||
|
|
c96c2a69a6 | ||
|
|
323738210b | ||
|
|
d61d3b46f3 | ||
|
|
a08826e909 | ||
|
|
ad1e63fa3a | ||
|
|
a25a87ec60 | ||
|
|
8c6ff0ceb1 | ||
|
|
0f352abcaa | ||
|
|
4910441099 | ||
|
|
c248086566 | ||
|
|
c784a537dd | ||
|
|
00958608e0 | ||
|
|
d3cb3b7f87 | ||
|
|
983830ef70 | ||
|
|
35b6609327 | ||
|
|
b058e91a99 | ||
|
|
2cde603949 | ||
|
|
b5b2d4f62f | ||
|
|
473676fb08 | ||
|
|
64c2996c74 | ||
|
|
15ad253c3a | ||
|
|
fcab8e1fc9 | ||
|
|
8b92d19732 | ||
|
|
2f221004fb | ||
|
|
2b2396521c | ||
|
|
f26c703626 | ||
|
|
eef9dc82ca | ||
|
|
5a21ac7c89 | ||
|
|
269bb900b5 | ||
|
|
37ed01ed3e | ||
|
|
fe4961be8e | ||
|
|
058414e78c | ||
|
|
49dba3035c | ||
|
|
e73c33279a | ||
|
|
cc2916b65b | ||
|
|
a64c4db252 | ||
|
|
57172e17fc | ||
|
|
cc61365f4d | ||
|
|
59c27f275c | ||
|
|
95453620b7 | ||
|
|
daa99997d8 | ||
|
|
c3e5291e06 | ||
|
|
e2e84eccaa | ||
|
|
9d67268693 | ||
|
|
f9490ba571 | ||
|
|
767c818e8e | ||
|
|
6c3fcc29f3 | ||
|
|
b2c2749c99 | ||
|
|
c28061f006 | ||
|
|
bfd7e95db4 | ||
|
|
358104d6db | ||
|
|
0f3b0a0095 | ||
|
|
54efec81d3 | ||
|
|
0910e86724 | ||
|
|
504d69f9cc | ||
|
|
b1b6301b93 | ||
|
|
7aca0a57c5 | ||
|
|
9ff7f9f212 | ||
|
|
c5a78613ba | ||
|
|
826837e902 | ||
|
|
1b9fc76757 | ||
|
|
e7ea24bcda | ||
|
|
3d38b2322e | ||
|
|
66b1e538ad | ||
|
|
77714b97c4 | ||
|
|
f5e2f1ac0a | ||
|
|
fe79af8efd | ||
|
|
1802a16c02 | ||
|
|
86470a68f5 | ||
|
|
dd538e07cb | ||
|
|
0f09ae6657 | ||
|
|
b2d21dd8a5 | ||
|
|
89a1224ec3 | ||
|
|
79d5bc9156 | ||
|
|
a98bf2d69c | ||
|
|
852aa48463 | ||
|
|
398edf40a1 | ||
|
|
dc5ebd2e85 | ||
|
|
5c375636a2 | ||
|
|
39dbd9af52 | ||
|
|
5514676dee | ||
|
|
d63446cdb8 | ||
|
|
7789675a55 | ||
|
|
729283af37 | ||
|
|
01f4ea3890 | ||
|
|
92575844e3 | ||
|
|
883d42d529 | ||
|
|
efc9b36fdd | ||
|
|
775721a059 | ||
|
|
15d0e0b1f9 | ||
|
|
8b6e83e05c | ||
|
|
25e5751d8d | ||
|
|
09179be68b | ||
|
|
2a3c4bf655 | ||
|
|
76e37dedfe | ||
|
|
616f65306a | ||
|
|
e8f5102f99 | ||
|
|
1b93713028 | ||
|
|
e772f8d150 | ||
|
|
9020a67338 | ||
|
|
6144902cc1 | ||
|
|
ad913c79fc | ||
|
|
62c5f2ad16 | ||
|
|
ac32a06689 | ||
|
|
be15e98182 | ||
|
|
bd18549613 | ||
|
|
18e6a3f78b | ||
|
|
35b17b120b | ||
|
|
dbaf7e8481 | ||
|
|
372c3ab6bf | ||
|
|
27e9f3ff1a | ||
|
|
783b7f0205 | ||
|
|
02159d5045 | ||
|
|
6b00091332 | ||
|
|
59297f6954 | ||
|
|
8d7e8d6b9b | ||
|
|
c11973f78b | ||
|
|
6f1da83723 | ||
|
|
d1af54ff21 | ||
|
|
2c8fe60035 | ||
|
|
8e6b8f4da0 | ||
|
|
e687e505f8 | ||
|
|
ce6e9d6ba4 | ||
|
|
67cace93c7 | ||
|
|
6e82602a47 | ||
|
|
178ba9f702 | ||
|
|
cac02eaf96 | ||
|
|
aa346cbb3f | ||
|
|
07dd8158e5 | ||
|
|
f01537247b | ||
|
|
8408901e5a | ||
|
|
4c7abd7728 | ||
|
|
1fd6f5fb70 | ||
|
|
3a8b28fcb6 | ||
|
|
3de96b03a0 | ||
|
|
3e91eb33de | ||
|
|
4dc05063b8 | ||
|
|
4f93bc7430 | ||
|
|
8816c37236 | ||
|
|
b93d6a851d | ||
|
|
e85e2e5e55 | ||
|
|
c01663f901 | ||
|
|
700e695b4b | ||
|
|
07541bf933 | ||
|
|
ec76d85350 | ||
|
|
717bda9f31 | ||
|
|
4de3cbeab6 | ||
|
|
da1d435114 | ||
|
|
4036caf829 | ||
|
|
36d549cb9b | ||
|
|
af84a617de | ||
|
|
e42e01a07f | ||
|
|
de91510beb | ||
|
|
7a3aab92b9 | ||
|
|
771c1b9d1e | ||
|
|
cfa051cee8 | ||
|
|
981aceda53 | ||
|
|
23b4dacb9a | ||
|
|
d5c390706b | ||
|
|
893aad3502 |
2
.gitattributes
vendored
2
.gitattributes
vendored
@@ -1,5 +1,3 @@
|
||||
dist/ merge=ours
|
||||
application/language/**/*.php merge=ours
|
||||
text=auto
|
||||
application/config/config.php ident
|
||||
application/views/partial/footer.php ident
|
||||
|
||||
58
.github/ISSUE_TEMPLATE.md
vendored
58
.github/ISSUE_TEMPLATE.md
vendored
@@ -1,47 +1,29 @@
|
||||
### IMPORTANT IMPORTANT IMPORTANT
|
||||
### Background information
|
||||
|
||||
1. Chose what you want to report between the sections "New Feature / Enhancement" and "Issue / Question / Bug".
|
||||
2. Remove just the one of the two sections you don't need
|
||||
3. Remove this section as it's just a guideline
|
||||
4. Fill in all the details as requested by the section you chose
|
||||
__IMPORTANT: If you choose to ignore this issue report template, your issue will be closed as we cannot help without the requested information.__
|
||||
|
||||
If you remove the complete template when submitting a Bug your issue will be closed as we cannot help without basic information.
|
||||
Please make sure you tick (add an x between the square brackets with no spaces) the following check boxes:
|
||||
|
||||
|
||||
### New Feature / Enhancement
|
||||
|
||||
*For New Features or Enhancements please clearly write your proposal.
|
||||
It's important to state whether you expect the community to implement it or you will contribute the work.
|
||||
Please bear in mind that we will implement new features only on the current code, there is no support for older versions.*
|
||||
|
||||
|
||||
### Issue / Question / Bug
|
||||
|
||||
Before submitting an issue please make sure you tick (add an x between the square brackets with no spaces) the following check boxes:
|
||||
|
||||
- [] I'm reporting an issue of an unmodified OSPOS installation
|
||||
- [] I checked open and closed issues database and no similar issue was already discussed (please make sure you searched!)
|
||||
- [] I read the README, WHATS_NEW and UPGRADE
|
||||
- [] I read the FAQ (https://github.com/jekkos/opensourcepos#faq) for any known install and/or upgrade gotchas (in specific PHP has php-gd, php-intl, sockets and etc. installed)
|
||||
- [] I read the wiki
|
||||
- [] I ran any database upgrade scripts (e.g. database/2.4_to_3.0.sql), and migrating function
|
||||
- [] I'm aware the latest master could be a development version and therefore not stable
|
||||
- [] I know the version of OSPOS and git commit hash (check the footer of your OSPOS), the name and version of OS, Web server, PHP and MySQL and will add them to my issue report
|
||||
- [] Reporting an issue of an unmodified OSPOS installation
|
||||
- [] Checked [open and closed issues](https://github.com/opensourcepos/opensourcepos/issues?utf8=%E2%9C%93&q=is%3Aissue) and no similar issue was already reported (please make sure you searched!)
|
||||
- [] Read [README](https://github.com/opensourcepos/opensourcepos/blob/master/README.md), [WHATS_NEW](https://github.com/opensourcepos/opensourcepos/blob/master/WHATS_NEW.txt), [INSTALL.md](https://github.com/opensourcepos/opensourcepos/blob/master/INSTALL.md) and [UPGRADE](https://github.com/opensourcepos/opensourcepos/blob/master/UPGRADE.txt)
|
||||
- [] Read the [FAQ](https://github.com/opensourcepos/opensourcepos#faq) for any known install and/or upgrade gotchas (in specific PHP extensions installed)
|
||||
- [] Read the [wiki](https://github.com/opensourcepos/opensourcepos/wiki)
|
||||
- [] Executed any database upgrade scripts if an upgrade pre 3.0.0 (e.g. database/2.4_to_3.0.sql)
|
||||
- [] Aware the installation code is in [bintray](https://bintray.com/jekkos/opensourcepos/opensourcepos/view/files?sort=updated&order=asc#files) (see README), and [GitHub master](https://github.com/opensourcepos/opensourcepos/tree/master) is for [developers only](https://github.com/opensourcepos/opensourcepos/wiki/Development-setup) and therefore not complete nor stable
|
||||
|
||||
### Installation information
|
||||
|
||||
- OSPOS version is:
|
||||
- OSPOS version is:
|
||||
- OSPOS git commit hash is:
|
||||
- PHP version is: (e.g. 5.5, 5.6, 7.0, 7.1)
|
||||
- MySQL or MariaDB version is: (e.g. MySQL 5.5, MySQL 5.6, MySQL 5.7, MariaDB 10.0, MariaDB 10.1, MariaDB 10.2)
|
||||
- OS and version is: (e.g. CentOS 6.9, Ubuntu 16.4, Windows 10)
|
||||
- WebServer is: (e.g. Apache 2.2, Apache 2.4, Nginx 1.12, Nginx 1.13)
|
||||
- (If applicable) Installation package for the LAMP/LEMP stack is: (e.g. WAMP, XAMPP)
|
||||
- PHP version is:
|
||||
- MySQL or MariaDB version is:
|
||||
- OS and version is:
|
||||
- WebServer is:
|
||||
- Selected language is:
|
||||
- (If applicable) Docker installation:
|
||||
- (If applicable) Installation package for the LAMP/LEMP stack is:
|
||||
|
||||
### Expected behaviour
|
||||
### Issue / Bug / Question / New Feature
|
||||
|
||||
|
||||
### Actual behaviour
|
||||
|
||||
|
||||
### Steps to reproduce the issue
|
||||
Please write your issue here. If a bug, please make sure to provide as much information as possible including configuration settings (e.g. Decimals set, Tax mode), language and steps to reproduce the bug.
|
||||
|
||||
9
.gitignore
vendored
9
.gitignore
vendored
@@ -1,5 +1,7 @@
|
||||
node_modules
|
||||
tmp
|
||||
database/database.sql
|
||||
database/migrate_phppos_dist.sql
|
||||
application/config/email.php
|
||||
application/sessions/*
|
||||
application/logs/*
|
||||
@@ -7,11 +9,13 @@ application/uploads/*
|
||||
public/license/.licenses
|
||||
public/license/bower.LICENSES
|
||||
public/dist
|
||||
generate_langauges.php
|
||||
dist/
|
||||
docs/
|
||||
public/bower_components
|
||||
*.patch
|
||||
patches/
|
||||
translations/
|
||||
.idea/
|
||||
git-svn-diff.py
|
||||
*.bash
|
||||
@@ -27,3 +31,8 @@ vendor/
|
||||
*.~
|
||||
*.log
|
||||
.env
|
||||
package-lock.json
|
||||
!/docker/.env
|
||||
/docker/data/database/db/*
|
||||
/docker/data/certbot/conf/*
|
||||
/docker/data/ospos/app/*
|
||||
|
||||
@@ -2,7 +2,8 @@
|
||||
<IfModule mod_rewrite.c>
|
||||
RewriteEngine On
|
||||
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>
|
||||
|
||||
# disable directory browsing
|
||||
|
||||
55
.travis.yml
55
.travis.yml
@@ -1,32 +1,35 @@
|
||||
sudo: true
|
||||
|
||||
sudo: required
|
||||
dist: trusty
|
||||
group: deprecated-2017Q4
|
||||
branches:
|
||||
except:
|
||||
- weblate
|
||||
except:
|
||||
- weblate
|
||||
services:
|
||||
- docker
|
||||
- docker
|
||||
before_install:
|
||||
- curl -L https://github.com/docker/compose/releases/download/1.7.1/docker-compose-`uname -s`-`uname -m` > docker-compose
|
||||
- chmod +x docker-compose
|
||||
- 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
|
||||
- curl -L https://github.com/docker/compose/releases/download/1.7.1/docker-compose-`uname
|
||||
-s`-`uname -m` > docker-compose
|
||||
- chmod +x docker-compose
|
||||
- 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:
|
||||
- docker run --rm -v $(pwd):/app composer/composer install
|
||||
- git clone https://github.com/bcit-ci/codeigniter3-translations dist/ci-translations && sudo cp -r dist/ci-translations/language/* vendor/codeigniter/framework/system/language
|
||||
- docker run --rm -it -v $(pwd):/app -w /app digitallyseamless/nodejs-bower-grunt sh -c "npm install && bower install && grunt package"
|
||||
- docker-compose build
|
||||
- docker run --rm -v $(pwd):/app composer/composer install
|
||||
- docker run --rm -v $(pwd):/app -w /app lucor/php7-cli 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
|
||||
sh -c "npm install && bower install && grunt package"
|
||||
- /bin/bash docker/install-local.sh
|
||||
env:
|
||||
- TAG=$(echo ${TRAVIS_BRANCH} | sed s/feature\\///)
|
||||
after_success:
|
||||
'[ -n ${DOCKER_USERNAME} ] && docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD"
|
||||
&& docker tag opensourcepos_php "jekkos/opensourcepos:$TAG" && docker tag opensourcepos_sqlscript
|
||||
jekkos/opensourcepos:sqlscript && docker push "jekkos/opensourcepos:$TAG" && docker
|
||||
push jekkos/opensourcepos:sqlscript'
|
||||
- TAG=$(echo ${TRAVIS_BRANCH} | sed s/feature\\///)
|
||||
after_success: '[ -n ${DOCKER_USERNAME} ] && docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD"
|
||||
&& docker tag "opensourcepos_ospos:latest" "jekkos/opensourcepos:$TAG" && docker push "jekkos/opensourcepos:$TAG"'
|
||||
deploy:
|
||||
provider: bintray
|
||||
file: deployment.json
|
||||
user: jekkos
|
||||
on:
|
||||
all_branches: true
|
||||
key:
|
||||
secure: NGzLiwBZ4A6zO9AqUsVeht29A7UZejO/LKEJntQMdzYaBXD6Ao3zXpS3bPN3UwU/YTNdcm3I7DemAL2ypAkCxcdzfp842eeTlFMDuzUiD5MxrQyWeZnbFxyeN4bJgXOnH/93eXxoIg0qT7ORVzwHrrA6vOqfxB1Nq/DAV2MpK/0=
|
||||
file: deployment.json
|
||||
provider: bintray
|
||||
skip_cleanup: true
|
||||
key: ${BINTRAY_API_KEY}
|
||||
user: jekkos
|
||||
on:
|
||||
all_branches: true
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
FROM php:7.0.15-apache
|
||||
FROM php:7.3-apache
|
||||
MAINTAINER jekkos
|
||||
|
||||
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \
|
||||
php5-apcu \
|
||||
libicu-dev \
|
||||
libgd-dev \
|
||||
libmcrypt-dev
|
||||
openssl
|
||||
|
||||
RUN a2enmod rewrite
|
||||
RUN docker-php-ext-install mysqli bcmath intl gd sockets mbstring mcrypt
|
||||
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 -e “$(hostname -i)\t$(hostname) $(hostname).localhost” >> /etc/hosts
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ module.exports = function(grunt) {
|
||||
bower_concat: {
|
||||
all: {
|
||||
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"]
|
||||
'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"]
|
||||
},
|
||||
dest: {
|
||||
'js': 'tmp/opensourcepos_bower.js',
|
||||
|
||||
128
INSTALL.md
Normal file
128
INSTALL.md
Normal file
@@ -0,0 +1,128 @@
|
||||
Server Requirements
|
||||
-------------------
|
||||
|
||||
* PHP version 5.6 to 7.3 are 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.
|
||||
|
||||
* 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))
|
||||
|
||||
* 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.
|
||||
|
||||
|
||||
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.
|
||||
|
||||
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!
|
||||
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
|
||||
4. unzip and upload Open Source Point of Sale files to web server
|
||||
5. Modify application/config/database.php and modify credentials if needed to connect to your database
|
||||
6. Modify application/config/config.php encryption key with your own
|
||||
7. Go to your point of sale install public dir via the browser
|
||||
8. LOGIN using
|
||||
* username: admin
|
||||
* password: pointofsale
|
||||
9. Enjoy
|
||||
10. Oops an issue? Please make sure you read the FAQ, wiki page and you checked open and closed issue on GitHub. PHP display_errors is disabled by default. Create an application/config/.env file from the .env.example to enable it in a development environment.
|
||||
|
||||
|
||||
Local install using Docker
|
||||
--------------------------
|
||||
|
||||
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.
|
||||
|
||||
Since OSPOS version 3.3.0 the docker installation offers a reverse proxy based on nginx with a (if local) Self signed certificate termination (aka HTTPS connection).
|
||||
Behind the reverse proxy you can access OSPOS using https (port 443) and myPhpAdmin using port 8000.
|
||||
Port 80 (standard http) is not available for OSPOS, it's only available for a cert manager service in case of server installation.
|
||||
|
||||
* To build and run the image, download the latest build from bintray.
|
||||
* Install envsubst from https://github.com/a8m/envsubst on your machine
|
||||
* Issue the following commands in a terminal with docker installed:
|
||||
|
||||
```
|
||||
docker/install-local.sh
|
||||
```
|
||||
|
||||
* When required to renew a certificate say (y)es.
|
||||
* When the script has terminated to run, wait about a minute before connecting to https://127.0.0.1.
|
||||
* The web browser will warn you of a self certificate exception, accept and continue
|
||||
* If you do https://127.0.0.1:8000 (port 8000) instead, you would be able to access a phpMyAdmin service connected to OSPOS MariaDB
|
||||
|
||||
* To stop the docker issue the following command:
|
||||
|
||||
```
|
||||
docker/uninstall.sh
|
||||
```
|
||||
|
||||
|
||||
Host 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/install-local.sh
|
||||
```
|
||||
|
||||
use
|
||||
|
||||
```
|
||||
docker/install-server.sh
|
||||
```
|
||||
|
||||
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
|
||||
-------------
|
||||
|
||||
If you choose *DigitalOcean*:
|
||||
[Through this link](https://m.do.co/c/ac38c262507b), you will get a *$50 credit* for a first month. [Check the wiki](https://github.com/opensourcepos/opensourcepos/wiki/DOCS-USERS-Getting-Started-installations#cloud-deploy-installation) for further instructions on how to install the necessary components.
|
||||
|
||||
|
||||
cPanel & SSH Install
|
||||
--------------------
|
||||
|
||||
If you own on a **VPS**, **Dedicated Server**, or **Shared Hosting** running on **cPanel** with **SSH** access:
|
||||
|
||||
You can run our Stand-alone [WS-OSPOS-Installer](https://github.com/WebShells/WS-OSPOS-Installer.git), it will handle:
|
||||
|
||||
. Database.php config files generation.<br>
|
||||
. Creation of db User & Password depending on user's input of Dbname, Username, Password, & Hostname ( No need for phpmyadmin )<br>
|
||||
. Imports default Db SQL files in order to run the project.<br>
|
||||
|
||||
Usage in **(SSH)**:
|
||||
|
||||
git clone https://github.com/WebShells/WS-OSPOS-Installer.git<br>
|
||||
chmod +x WS-OSPOS-Installer/Get-POS<br>
|
||||
./WS-OSPOS-Installer/Get-POS<br>
|
||||
|
||||
or
|
||||
|
||||
wget https://github.com/WebShells/WS-OSPOS-Installer/archive/master.zip<br>
|
||||
unzip -qq master.zip<br>
|
||||
chmod +x WS-OSPOS-Installer-master/Get-POS<br>
|
||||
./WS-OSPOS-Installer-master/Get-POS<br>
|
||||
|
||||
Answer **DB required questions** and you are ready to run the project on http://localhost/OSPOS/public (localhost to be replaced by the hostname provided during setup).
|
||||
15
LICENSE
15
LICENSE
@@ -5,18 +5,25 @@ Copyright (c) 2012 Alain
|
||||
Copyright (c) 2013 Rob Garrison
|
||||
Copyright (c) 2013 Parq
|
||||
Copyright (c) 2013 Ramel
|
||||
Copyright (c) 2013-2017 jekkos
|
||||
Copyright (c) 2015-2017 FrancescoUK (aka daN4cat)
|
||||
Copyright (c) 2013-2019 jekkos
|
||||
Copyright (c) 2015-2019 FrancescoUK (aka daN4cat)
|
||||
Copyright (c) 2015 Aamir Shahzad (aka asakpke), RoshanTech.com
|
||||
Copyright (c) 2015 Toni Haryanto (aka yllumi)
|
||||
Copyright (c) 2016-2017 Ramkrishna Mondal (aka RamkrishnaMondal)
|
||||
Copyright (c) 2016 Rinaldy@dbarber (aka rnld26)
|
||||
Copyright (c) 2016-2017 Jorge Colmenarez (aka jlctmaster), frontuari.com
|
||||
Copyright (c) 2017 Steve Ireland
|
||||
Copyright (c) 2017-2019 Steve Ireland
|
||||
Copyright (c) 2017-2019 objecttothis
|
||||
Copyright (c) 2017-2019 odiea
|
||||
Copyright (c) 2017-2019 WebShells / Shady Sh
|
||||
Copyright (c) 2017 Jesus Guerrero Botella (aka i92guboj)
|
||||
Copyright (c) 2017 Deep Shah (aka deepshah)
|
||||
Copyright (c) 2017 Joshua Fernandez (aka joshua1234511)
|
||||
Copyright (c) 2017 odiea
|
||||
Copyright (c) 2017 asadjaved63
|
||||
Copyright (c) 2018 Erasto Marroquin (aka Erastus)
|
||||
Copyright (c) 2018 Nathan Sas (aka nathanzky)
|
||||
Copyright (c) 2018 Emilio Silva (aka emi-silva)
|
||||
Copyright (c) 2019 Loyd Jayme (aka loydjayme25)
|
||||
|
||||
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
|
||||
|
||||
158
README.md
158
README.md
@@ -1,7 +1,7 @@
|
||||
[](https://travis-ci.org/jekkos/opensourcepos)
|
||||
[](https://gitter.im/jekkos/opensourcepos?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
||||
[](https://david-dm.org/jekkos/opensourcepos#info=devDependencie)
|
||||
[](https://gemnasium.com/github.com/jekkos/opensourcepos)
|
||||
[ ](https://bintray.com/jekkos/opensourcepos/opensourcepos/3.3.0/link)
|
||||
[](https://travis-ci.org/opensourcepos/opensourcepos)
|
||||
[](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://badge.fury.io/gh/jekkos%2Fopensourcepos)
|
||||
[](http://weblate.jpeelaer.net/engage/ospos/?utm_source=widget)
|
||||
|
||||
@@ -11,14 +11,17 @@ Introduction
|
||||
|
||||
Open Source Point of Sale is a web based point of sale system.
|
||||
The main features are:
|
||||
* Stock management (Items and Kits)
|
||||
* VAT, customer and multi tiers taxation
|
||||
* Stock management (Items and Kits with extensible list of Attributes)
|
||||
* VAT, GST, customer and multi tiers taxation
|
||||
* Sale register with transactions logging
|
||||
* Quotation and invoicing
|
||||
* Expenses logging
|
||||
* Cashup
|
||||
* Receipt and invoice printing and/or emailing
|
||||
* Barcode generation and printing
|
||||
* Suppliers and Customers database
|
||||
* Multiuser with permission control
|
||||
* Reporting on sales, orders, expenses, inventory status
|
||||
* Receivings
|
||||
* Giftcard
|
||||
* Rewards
|
||||
@@ -28,7 +31,7 @@ The main features are:
|
||||
* Selectable Boostrap (Bootswatch) based UI theme
|
||||
* Mailchimp integration
|
||||
* reCAPTCHA to protect login page from brute force attacks
|
||||
* Reporting on sales, orders, inventory status
|
||||
* GDPR ready
|
||||
|
||||
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.
|
||||
|
||||
@@ -38,6 +41,25 @@ It also has improved functionality and security.
|
||||
|
||||
Deployed to a Cloud it's a SaaS (Software as a Service) solution.
|
||||
|
||||
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.
|
||||
|
||||
LOGIN using
|
||||
* username: admin
|
||||
* password: pointofsale
|
||||
|
||||
|
||||
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.
|
||||
|
||||
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.
|
||||
|
||||
|
||||
License
|
||||
-------
|
||||
@@ -53,7 +75,7 @@ Also worth noting:
|
||||
_The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software._
|
||||
|
||||
For more details please read the file __LICENSE__.
|
||||
For more details please read the file [LICENSE](https://github.com/opensourcepos/opensourcepos/blob/master/LICENSE).
|
||||
|
||||
It's important to understand that althought you are free to use the software the copyright stays and the license agreement applies in all cases.
|
||||
Therefore any actions like:
|
||||
@@ -64,96 +86,23 @@ Therefore any actions like:
|
||||
|
||||
In short you are free to use the software but you cannot claim any property on it.
|
||||
|
||||
Any person or company found breaching the license agreement will be chased up.
|
||||
Any person or company found breaching the license agreement will have a bunch of monkeys at the door ready to destroy their servers.
|
||||
|
||||
|
||||
Keep the Machine Running
|
||||
------------------------
|
||||
|
||||
If you like the project, and you are making money out of it on a daily basis, then consider buying me a coffee so I can keep adding features.
|
||||
If you like the project, and you are making money out of it in some form, then consider buying us a coffee so we can keep adding features.
|
||||
|
||||
[](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=MUN6AEG7NY6H8)
|
||||
|
||||
|
||||
Server Requirements
|
||||
-------------------
|
||||
|
||||
PHP version 5.6 or newer is recommended (PHP 7.x is supported). Please note that PHP needs to have `php-gd`, `php-bcmath`, `php-intl`, `php-sockets`, `php-mcrypt` 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.
|
||||
|
||||
Apache 2.2 and 2.4 are supported. Also Nginx has been proven to work fine, see [wiki page here](https://github.com/jekkos/opensourcepos/wiki/Local-Deployment-using-LEMP)
|
||||
|
||||
Raspberry PI based installations proved to work, see [wiki page here](https://github.com/jekkos/opensourcepos/wiki/Installing-on-Raspberry-PI---Orange-PI-(Headless-OSPOS))
|
||||
|
||||
For Windows based installations please read [the wiki](https://github.com/jekkos/opensourcepos/wiki) and also existing closed issues as this topic has been covered well in all the variants and issues.
|
||||
|
||||
|
||||
Local install
|
||||
-------------
|
||||
|
||||
1. Dowload the latest [stable release](https://github.com/jekkos/opensourcepos/releases) from github or [unstable build](https://bintray.com/jekkos/opensourcepos/opensourcepos/view/files?sort=updated&order=asc#files) from bintray
|
||||
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
|
||||
4. unzip and upload Open Source Point of Sale files to web server
|
||||
5. Modify application/config/database.php and modify credentials if needed to connect to your database
|
||||
6. Modify application/config/config.php encryption key with your own
|
||||
7. Go to your point of sale install public dir via the browser
|
||||
8. LOGIN using
|
||||
* username: admin
|
||||
* password: pointofsale
|
||||
9. Enjoy
|
||||
10. Oops an issue? Please make sure you read the FAQ, wiki page and you checked open and closed issue on GitHub. PHP display_errors is disabled by default. Create an application/config/.env file from the .env.example to enable it in a development environment.
|
||||
|
||||
|
||||
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.
|
||||
|
||||
To build and run the image, issue following commands in a terminal with docker installed
|
||||
|
||||
docker-compose build
|
||||
docker-compose up
|
||||
|
||||
|
||||
Cloud install
|
||||
-------------
|
||||
|
||||
A quick option would be to install directly to [Digitalocean](https://m.do.co/c/ac38c262507b) using their preconfigured LAMP stack.
|
||||
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.
|
||||
|
||||
|
||||
Cloud install using Docker
|
||||
--------------------------
|
||||
|
||||
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/jekkos/opensourcepos)
|
||||
7. Othewise create a new stack under `Applications > Stacks` and paste the [contents of docker-cloud.yml](https://github.com/jekkos/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/jekkos/opensourcepos/wiki/Docker-cloud-maintenance) install can be found on the wiki
|
||||
|
||||
|
||||
Language Translations
|
||||
---------------------
|
||||
|
||||
To help us with OSPOS translations please use [Weblate website here](http://weblate.jpeelaer.net) and sign up. After registering you can subscribe to different languages and you will be notified once a new translation is added.
|
||||
To help us with OSPOS translations please use [Weblate website here](http://translate.opensourcepos.org) and sign up. After registering you can subscribe to different languages and you will be notified once a new translation is added.
|
||||
|
||||
Please also read the [wiki page here](https://github.com/jekkos/opensourcepos/wiki/Adding-translations) to find our Translations Guideline.
|
||||
Please also read the [wiki page here](https://github.com/opensourcepos/opensourcepos/wiki/Adding-translations) to find our Translations Guideline.
|
||||
|
||||
Only with the help of the community we can keep language translations up to date.
|
||||
|
||||
@@ -162,15 +111,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.
|
||||
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)
|
||||
2. OS name and version running your Web Server (e.g. Linux Ubuntu 16.04)
|
||||
3. Web Server name and version (e.g. Apache 2.4)
|
||||
4. Database name and version (e.g. MySQL 5.6)
|
||||
5. PHP version (e.g. PHP 5.6)
|
||||
2. OS name and version running your Web Server (e.g. CentOS 6.9, Ubuntu 16.4, Windows 10)
|
||||
3. Web Server name and version (e.g. Apache 2.2, 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)
|
||||
5. PHP version (e.g. 5.6, 7.0, 7.1, 7.2, 7.3)
|
||||
6. Language selected in OSPOS (e.g. English, Spanish)
|
||||
7. Any configuration of OSPOS that you changed
|
||||
8. Exact steps to reproduce the issue (test case)
|
||||
@@ -183,18 +138,23 @@ If missing information is not provided within a week we will close your issue.
|
||||
FAQ
|
||||
---
|
||||
|
||||
* If a blank page (HTTP status 500) shows after search completion or receipt generation, then double check `php5-gd` presence in your php installation. On windows check in php.ini whether the lib is installed. On Ubuntu issue `sudo apt-get install php5-gd`. Also have a look at the Dockerfile for a complete list of recommended packages.
|
||||
* 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 sales and receiving views don't show properly, please make sure BCMath lib (`php-bcmath`) is installed. On windows check php.ini and make sure php_bcmath extension is not commented out
|
||||
* 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 the following error is seen in sales module `Message: Class 'NumberFormatter' not found` then you don't have `php5-intl` extension installed. Please check the [wiki](https://github.com/jekkos/opensourcepos/wiki/Localisation-support#php5-intl-extension-installation) to resolve this issue on your platform. If you use WAMP, please read [issue #949](https://github.com/jekkos/opensourcepos/issues/949)
|
||||
* 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 read errors containing messages with Socket word in it, please make sure you have installed PHP Sockets support (e.g. go to PHP.ini and make sure all the needed modules are not commented out. This means `php5-gd`, `php-intl` and `php-sockets`. Restart the web server)
|
||||
* 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 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/jekkos/opensourcepos/issues/920) for more help
|
||||
* 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 755
|
||||
* 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 problems with the encryption support or you get an error please make sure `php5-mcrypt` is installed
|
||||
* 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/jekkos/opensourcepos/issues/1492)
|
||||
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
|
||||
3. Remove all directories
|
||||
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)
|
||||
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.
|
||||
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.
|
||||
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
|
||||
9. Once the new code is in place, database is updated and config files are sorted you are good to start the new OSPOS
|
||||
10. Once logged in in OSPOS go to Migrate (see Migrate button after Store Config) and run the Migrate script
|
||||
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
|
||||
11. Now you can use OSPOS
|
||||
12. If any issue please check FAQ and/or GitHub issues as somebody else might have had your problem already or post a question
|
||||
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,64 @@
|
||||
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
|
||||
-------------
|
||||
+ Further revert of CSRF change causing regression
|
||||
+ Code Igniter 3.1.9 upgrade
|
||||
|
||||
Version 3.2.2
|
||||
-------------
|
||||
+ Revert CSRF change causing regression
|
||||
|
||||
Version 3.2.1
|
||||
-------------
|
||||
+ Support for GDPR
|
||||
+ CSRF simplifications
|
||||
+ Translation upgrades
|
||||
+ Various bug fixes
|
||||
|
||||
Version 3.2.0
|
||||
-------------
|
||||
+ Code Igniter 3.1.8 upgrade
|
||||
+ PHP 7.2 support (use OpenSSL and not MCrypt)
|
||||
+ Automatic database upgrades from vs 3.0.0 at first login (no more sql scripts)
|
||||
+ Home and (back) Office menu switch (top menu can be organised in two views)
|
||||
+ Expenses feature
|
||||
+ Quote, Work Order features
|
||||
+ Improved Invoice support
|
||||
+ Sale suspend, soft delete, complete as state not as different tables or hard delete
|
||||
+ Restore deleted Sales
|
||||
+ Improved Items Kits
|
||||
+ Export tables all records and export to pdf
|
||||
+ Table sticky header (headers visible during scrolling)
|
||||
+ Allow duplicate barcodes (Config option)
|
||||
+ Search suggestion formatting (Config option)
|
||||
+ Define print and email checkboxes behaviour (Config option)
|
||||
+ Edit customer from sale register
|
||||
+ Added and Updated translations
|
||||
+ Various Jquery plugins upgrade
|
||||
+ Fixed permission issues (e.g. password change)
|
||||
+ Fixed various reports issues and renamed Sales to Transactions
|
||||
+ Various bug fixes (e.g. Tax, Rounding, Library circular dependency)
|
||||
|
||||
Version 3.1.1
|
||||
-------------
|
||||
+ Updated en-US and en-GB translations, better grammar and consistency
|
||||
|
||||
@@ -89,7 +89,7 @@ $autoload['drivers'] = array();
|
||||
|
|
||||
| $autoload['helper'] = array('url', 'file');
|
||||
*/
|
||||
$autoload['helper'] = array('form', 'url', 'table', 'text', 'locale', 'html', 'download', 'directory');
|
||||
$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('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');
|
||||
$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.1.1';
|
||||
$config['application_version'] = '3.3.0';
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
@@ -19,7 +19,7 @@ $config['application_version'] = '3.1.1';
|
||||
|
|
||||
|
|
||||
*/
|
||||
$config['commit_sha1'] = '$Id $';
|
||||
$config['commit_sha1'] = 'dev';
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
@@ -65,7 +65,7 @@ $config['db_log_enabled'] = FALSE;
|
||||
| a PHP script and you can easily do that on your own.
|
||||
|
|
||||
*/
|
||||
$config['base_url'] = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') ? 'https' : 'http';
|
||||
$config['base_url'] = ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') || (isset($_ENV['FORCE_HTTPS']) && $_ENV['FORCE_HTTPS'] == 'true')) ? 'https' : 'http';
|
||||
$config['base_url'] .= '://' . $_SERVER['HTTP_HOST'];
|
||||
$config['base_url'] .= str_replace(basename($_SERVER['SCRIPT_NAME']), '', $_SERVER['SCRIPT_NAME']);
|
||||
|
||||
@@ -294,7 +294,7 @@ $config['log_file_extension'] = '';
|
||||
| IMPORTANT: This MUST be an integer (no quotes) and you MUST use octal
|
||||
| integer notation (i.e. 0700, 0644, etc.)
|
||||
*/
|
||||
$config['log_file_permissions'] = 0644;
|
||||
$config['log_file_permissions'] = 0640;
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
@@ -487,7 +487,7 @@ $config['csrf_token_name'] = 'csrf_ospos_v3';
|
||||
$config['csrf_cookie_name'] = 'csrf_cookie_ospos_v3';
|
||||
$config['csrf_expire'] = 7200;
|
||||
$config['csrf_regenerate'] = TRUE;
|
||||
$config['csrf_exclude_uris'] = array();
|
||||
$config['csrf_exclude_uris'] = array('login');
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
|
||||
@@ -18,13 +18,6 @@ $hook['post_controller_constructor'][] = array(
|
||||
'filepath' => 'hooks'
|
||||
);
|
||||
|
||||
$hook['post_controller_constructor'][] = array(
|
||||
'class' => '',
|
||||
'function' => 'load_stats',
|
||||
'filename' => 'load_stats.php',
|
||||
'filepath' => 'hooks'
|
||||
);
|
||||
|
||||
// 'post_controller' indicated execution of hooks after controller is finished
|
||||
$hook['post_controller'] = array(
|
||||
'class' => '',
|
||||
@@ -41,4 +34,4 @@ $hook['pre_system'] = function() {
|
||||
} catch(Exception $e) {
|
||||
// continue, .env file not present
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
@@ -69,7 +69,7 @@ $config['migration_auto_latest'] = FALSE;
|
||||
| be upgraded / downgraded to.
|
||||
|
|
||||
*/
|
||||
$config['migration_version'] = 20170502221500;
|
||||
$config['migration_version'] = 20171126100000;
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
|
||||
@@ -53,13 +53,22 @@ defined('BASEPATH') OR exit('No direct script access allowed');
|
||||
$route['default_controller'] = 'login';
|
||||
$route['no_access/([^/]+)'] = 'no_access/index/$1';
|
||||
$route['no_access/([^/]+)/([^/]+)'] = 'no_access/index/$1/$2';
|
||||
|
||||
$route['sales/index/([^/]+)'] = 'sales/manage/$1';
|
||||
$route['sales/index/([^/]+)/([^/]+)'] = 'sales/manage/$1/$2';
|
||||
$route['sales/index/([^/]+)/([^/]+)/([^/]+)'] = 'sales/manage/$1/$2/$3';
|
||||
|
||||
$route['reports/(summary_:any)/([^/]+)/([^/]+)'] = 'reports/$1/$2/$3/$4';
|
||||
$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/(graphical_:any)/([^/]+)/([^/]+)'] = 'reports/$1/$2/$3/$4';
|
||||
$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/(inventory_:any)/([^/]+)'] = 'reports/$1/$2';
|
||||
$route['reports/inventory_summary'] = 'reports/inventory_summary_input';
|
||||
$route['reports/(inventory_summary)/([^/]+)/([^/]+)/([^/]+)'] = 'reports/$1/$2';
|
||||
@@ -68,10 +77,11 @@ $route['reports/(detailed_sales)/([^/]+)/([^/]+)/([^/]+)'] = 'reports/$1/$2/$3$/
|
||||
$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/(specific_:any)/([^/]+)/([^/]+)/([^/]+)'] = 'reports/$1/$2/$3/$4';
|
||||
$route['reports/specific_customer'] = 'reports/specific_customer_input';
|
||||
$route['reports/specific_employee'] = 'reports/specific_employee_input';
|
||||
$route['reports/specific_discount'] = 'reports/specific_discount_input';
|
||||
|
||||
$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 = -1)
|
||||
{
|
||||
|
||||
$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 == -1)
|
||||
{
|
||||
$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']));
|
||||
}
|
||||
else //Existing definition
|
||||
{
|
||||
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('attributes_definition_successful_updating').' '.
|
||||
$definition_name, 'id' => $definition_id));
|
||||
}
|
||||
}
|
||||
else//failure
|
||||
{
|
||||
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 = -1)
|
||||
{
|
||||
$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);
|
||||
}
|
||||
}
|
||||
?>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -45,7 +45,7 @@ class Customers extends Persons
|
||||
$stats->quantity = 0;
|
||||
}
|
||||
|
||||
$data_row = $this->xss_clean(get_customer_data_row($person, $stats, $this));
|
||||
$data_row = $this->xss_clean(get_customer_data_row($person, $stats));
|
||||
|
||||
echo json_encode($data_row);
|
||||
}
|
||||
@@ -81,11 +81,9 @@ class Customers extends Persons
|
||||
$stats->quantity = 0;
|
||||
}
|
||||
|
||||
$data_rows[] = get_customer_data_row($person, $stats, $this);
|
||||
$data_rows[] = $this->xss_clean(get_customer_data_row($person, $stats));
|
||||
}
|
||||
|
||||
$data_rows = $this->xss_clean($data_rows);
|
||||
|
||||
echo json_encode(array('total' => $total_rows, 'rows' => $data_rows));
|
||||
}
|
||||
|
||||
@@ -111,15 +109,34 @@ class Customers extends Persons
|
||||
*/
|
||||
public function view($customer_id = -1)
|
||||
{
|
||||
$customer_sales_tax_support = $this->config->item('customer_sales_tax_support');
|
||||
|
||||
$info = $this->Customer->get_info($customer_id);
|
||||
foreach(get_object_vars($info) as $property => $value)
|
||||
{
|
||||
$info->$property = $this->xss_clean($value);
|
||||
}
|
||||
$data['person_info'] = $info;
|
||||
$data['sales_tax_code_label'] = $info->sales_tax_code . ' ' . $this->Tax->get_info($info->sales_tax_code)->tax_code_name;
|
||||
|
||||
if(empty($info->person_id) || empty($info->date) || empty($info->employee_id))
|
||||
{
|
||||
$data['person_info']->date = date('Y-m-d H:i:s');
|
||||
$data['person_info']->employee_id = $this->Employee->get_logged_in_employee_info()->person_id;
|
||||
}
|
||||
|
||||
$employee_info = $this->Employee->get_info($info->employee_id);
|
||||
$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'] = '';
|
||||
}
|
||||
|
||||
$packages = array('' => $this->lang->line('items_none'));
|
||||
foreach($this->Customer_rewards->get_all()->result_array() as $row)
|
||||
{
|
||||
@@ -128,13 +145,13 @@ class Customers extends Persons
|
||||
$data['packages'] = $packages;
|
||||
$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
|
||||
{
|
||||
$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
|
||||
@@ -234,23 +251,21 @@ class Customers extends Persons
|
||||
'comments' => $this->input->post('comments')
|
||||
);
|
||||
|
||||
$customer_data = array(
|
||||
'account_number' => $this->input->post('account_number') == '' ? NULL : $this->input->post('account_number'),
|
||||
'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'),
|
||||
'package_id' => $this->input->post('package_id') == '' ? NULL : $this->input->post('package_id'),
|
||||
'taxable' => $this->input->post('taxable') != NULL
|
||||
);
|
||||
$date_formatter = date_create_from_format($this->config->item('dateformat') . ' ' . $this->config->item('timeformat'), $this->input->post('date'));
|
||||
|
||||
$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;
|
||||
}
|
||||
$customer_data = array(
|
||||
'consent' => $this->input->post('consent') != NULL,
|
||||
'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'),
|
||||
'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'),
|
||||
'taxable' => $this->input->post('taxable') != NULL,
|
||||
'date' => $date_formatter->format('Y-m-d H:i:s'),
|
||||
'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')
|
||||
);
|
||||
|
||||
if($this->Customer->save_customer($person_data, $customer_data, $customer_id))
|
||||
{
|
||||
@@ -307,16 +322,23 @@ class Customers extends Persons
|
||||
$customers_to_delete = $this->input->post('ids');
|
||||
$customers_info = $this->Customer->get_multiple_info($customers_to_delete);
|
||||
|
||||
if($this->Customer->delete_list($customers_to_delete))
|
||||
$count = 0;
|
||||
|
||||
foreach($customers_info->result() as $info)
|
||||
{
|
||||
foreach($customers_info->result() as $info)
|
||||
if($this->Customer->delete($info->person_id))
|
||||
{
|
||||
// remove customer from Mailchimp selected list
|
||||
$this->mailchimp_lib->removeMember($this->_list_id, $info->email);
|
||||
}
|
||||
|
||||
$count++;
|
||||
}
|
||||
}
|
||||
|
||||
if($count == count($customers_to_delete))
|
||||
{
|
||||
echo json_encode(array('success' => TRUE,
|
||||
'message' => $this->lang->line('customers_successful_deleted') . ' ' . count($customers_to_delete) . ' ' . $this->lang->line('customers_one_or_multiple')));
|
||||
'message' => $this->lang->line('customers_successful_deleted') . ' ' . $count . ' ' . $this->lang->line('customers_one_or_multiple')));
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -360,30 +382,36 @@ class Customers extends Persons
|
||||
// XSS file data sanity check
|
||||
$data = $this->xss_clean($data);
|
||||
|
||||
if(sizeof($data) >= 15)
|
||||
$consent = $data[3] == '' ? 0 : 1;
|
||||
|
||||
if(sizeof($data) >= 16 && $consent)
|
||||
{
|
||||
$email = strtolower($data[3]);
|
||||
$email = strtolower($data[4]);
|
||||
$person_data = array(
|
||||
'first_name' => $data[0],
|
||||
'last_name' => $data[1],
|
||||
'gender' => $data[2],
|
||||
'email' => $email,
|
||||
'phone_number' => $data[4],
|
||||
'address_1' => $data[5],
|
||||
'address_2' => $data[6],
|
||||
'city' => $data[7],
|
||||
'state' => $data[8],
|
||||
'zip' => $data[9],
|
||||
'country' => $data[10],
|
||||
'comments' => $data[11]
|
||||
'phone_number' => $data[5],
|
||||
'address_1' => $data[6],
|
||||
'address_2' => $data[7],
|
||||
'city' => $data[8],
|
||||
'state' => $data[9],
|
||||
'zip' => $data[10],
|
||||
'country' => $data[11],
|
||||
'comments' => $data[12]
|
||||
);
|
||||
|
||||
$customer_data = array(
|
||||
'company_name' => $data[12],
|
||||
'discount_percent' => $data[14],
|
||||
'taxable' => $data[15] == '' ? 0 : 1
|
||||
'consent' => $consent,
|
||||
'company_name' => $data[13],
|
||||
'discount' => $data[15],
|
||||
'discount_type' => $data[16],
|
||||
'taxable' => $data[17] == '' ? 0 : 1,
|
||||
'date' => date('Y-m-d H:i:s'),
|
||||
'employee_id' => $this->Employee->get_logged_in_employee_info()->person_id
|
||||
);
|
||||
$account_number = $data[13];
|
||||
$account_number = $data[14];
|
||||
|
||||
// don't duplicate people with same email
|
||||
$invalidated = $this->Customer->check_email_exists($email);
|
||||
|
||||
@@ -26,11 +26,9 @@ class Employees extends Persons
|
||||
$data_rows = array();
|
||||
foreach($employees->result() as $person)
|
||||
{
|
||||
$data_rows[] = get_person_data_row($person, $this);
|
||||
$data_rows[] = $this->xss_clean(get_person_data_row($person));
|
||||
}
|
||||
|
||||
$data_rows = $this->xss_clean($data_rows);
|
||||
|
||||
echo json_encode(array('total' => $total_rows, 'rows' => $data_rows));
|
||||
}
|
||||
|
||||
@@ -61,6 +59,7 @@ class Employees extends Persons
|
||||
{
|
||||
$module->module_id = $this->xss_clean($module->module_id);
|
||||
$module->grant = $this->xss_clean($this->Employee->has_grant($module->module_id, $person_info->person_id));
|
||||
$module->menu_group = $this->xss_clean($this->Employee->get_menu_group($module->module_id, $person_info->person_id));
|
||||
|
||||
$modules[] = $module;
|
||||
}
|
||||
@@ -70,7 +69,7 @@ class Employees extends Persons
|
||||
foreach($this->Module->get_all_subpermissions()->result() as $permission)
|
||||
{
|
||||
$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));
|
||||
|
||||
$permissions[] = $permission;
|
||||
@@ -85,93 +84,86 @@ class Employees extends Persons
|
||||
*/
|
||||
public function save($employee_id = -1)
|
||||
{
|
||||
if($this->input->post('current_password') != '')
|
||||
{
|
||||
if($this->Employee->check_password($this->input->post('username'), $this->input->post('current_password')))
|
||||
{
|
||||
$employee_data = array(
|
||||
'username' => $this->input->post('username'),
|
||||
'password' => password_hash($this->input->post('password'), PASSWORD_DEFAULT),
|
||||
'hash_version' => 2
|
||||
);
|
||||
$first_name = $this->xss_clean($this->input->post('first_name'));
|
||||
$last_name = $this->xss_clean($this->input->post('last_name'));
|
||||
$email = $this->xss_clean(strtolower($this->input->post('email')));
|
||||
|
||||
if($this->Employee->change_password($employee_data, $employee_id))
|
||||
{
|
||||
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('employees_successful_change_password'), 'id' => $employee_id));
|
||||
}
|
||||
else//failure
|
||||
{
|
||||
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('employees_unsuccessful_change_password'), 'id' => -1));
|
||||
}
|
||||
}
|
||||
else
|
||||
// format first and last name properly
|
||||
$first_name = $this->nameize($first_name);
|
||||
$last_name = $this->nameize($last_name);
|
||||
|
||||
$person_data = array(
|
||||
'first_name' => $first_name,
|
||||
'last_name' => $last_name,
|
||||
'gender' => $this->input->post('gender'),
|
||||
'email' => $email,
|
||||
'phone_number' => $this->input->post('phone_number'),
|
||||
'address_1' => $this->input->post('address_1'),
|
||||
'address_2' => $this->input->post('address_2'),
|
||||
'city' => $this->input->post('city'),
|
||||
'state' => $this->input->post('state'),
|
||||
'zip' => $this->input->post('zip'),
|
||||
'country' => $this->input->post('country'),
|
||||
'comments' => $this->input->post('comments'),
|
||||
);
|
||||
|
||||
$grants_array = array();
|
||||
foreach($this->Module->get_all_permissions()->result() as $permission)
|
||||
{
|
||||
$grants = array();
|
||||
$grant = $this->input->post('grant_'.$permission->permission_id) != NULL ? $this->input->post('grant_'.$permission->permission_id) : '';
|
||||
if($grant == $permission->permission_id)
|
||||
{
|
||||
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('employees_current_password_invalid'), 'id' => -1));
|
||||
$grants['permission_id'] = $permission->permission_id;
|
||||
$grants['menu_group'] = $this->input->post('menu_group_'.$permission->permission_id) != NULL ? $this->input->post('menu_group_'.$permission->permission_id) : '--';
|
||||
$grants_array[] = $grants;
|
||||
}
|
||||
}
|
||||
else
|
||||
|
||||
//Password has been changed OR first time password set
|
||||
if($this->input->post('password') != '' && ENVIRONMENT != 'testing')
|
||||
{
|
||||
$first_name = $this->xss_clean($this->input->post('first_name'));
|
||||
$last_name = $this->xss_clean($this->input->post('last_name'));
|
||||
$email = $this->xss_clean(strtolower($this->input->post('email')));
|
||||
|
||||
// format first and last name properly
|
||||
$first_name = $this->nameize($first_name);
|
||||
$last_name = $this->nameize($last_name);
|
||||
|
||||
$person_data = array(
|
||||
'first_name' => $first_name,
|
||||
'last_name' => $last_name,
|
||||
'gender' => $this->input->post('gender'),
|
||||
'email' => $email,
|
||||
'phone_number' => $this->input->post('phone_number'),
|
||||
'address_1' => $this->input->post('address_1'),
|
||||
'address_2' => $this->input->post('address_2'),
|
||||
'city' => $this->input->post('city'),
|
||||
'state' => $this->input->post('state'),
|
||||
'zip' => $this->input->post('zip'),
|
||||
'country' => $this->input->post('country'),
|
||||
'comments' => $this->input->post('comments'),
|
||||
$exploded = explode(":", $this->input->post('language'));
|
||||
$employee_data = array(
|
||||
'username' => $this->input->post('username'),
|
||||
'password' => password_hash($this->input->post('password'), PASSWORD_DEFAULT),
|
||||
'hash_version' => 2,
|
||||
'language_code' => $exploded[0],
|
||||
'language' => $exploded[1]
|
||||
);
|
||||
$grants_data = $this->input->post('grants') != NULL ? $this->input->post('grants') : array();
|
||||
}
|
||||
else //Password not changed
|
||||
{
|
||||
$exploded = explode(":", $this->input->post('language'));
|
||||
$employee_data = array(
|
||||
'username' => $this->input->post('username'),
|
||||
'language_code' => $exploded[0],
|
||||
'language' => $exploded[1]
|
||||
);
|
||||
}
|
||||
|
||||
//Password has been changed OR first time password set
|
||||
if($this->input->post('password') != '')
|
||||
if($this->Employee->save_employee($person_data, $employee_data, $grants_array, $employee_id))
|
||||
{
|
||||
// New employee
|
||||
if($employee_id == -1)
|
||||
{
|
||||
$employee_data = array(
|
||||
'username' => $this->input->post('username'),
|
||||
'password' => password_hash($this->input->post('password'), PASSWORD_DEFAULT),
|
||||
'hash_version' => 2
|
||||
);
|
||||
echo json_encode(array('success' => TRUE,
|
||||
'message' => $this->lang->line('employees_successful_adding') . ' ' . $first_name . ' ' . $last_name,
|
||||
'id' => $this->xss_clean($employee_data['person_id'])));
|
||||
}
|
||||
else //Password not changed
|
||||
else // Existing employee
|
||||
{
|
||||
$employee_data = array('username' => $this->input->post('username'));
|
||||
}
|
||||
|
||||
if($this->Employee->save_employee($person_data, $employee_data, $grants_data, $employee_id))
|
||||
{
|
||||
// New employee
|
||||
if($employee_id == -1)
|
||||
{
|
||||
echo json_encode(array('success' => TRUE,
|
||||
'message' => $this->lang->line('employees_successful_adding') . ' ' . $first_name . ' ' . $last_name,
|
||||
'id' => $this->xss_clean($employee_data['person_id'])));
|
||||
}
|
||||
else // Existing employee
|
||||
{
|
||||
echo json_encode(array('success' => TRUE,
|
||||
'message' => $this->lang->line('employees_successful_updating') . ' ' . $first_name . ' ' . $last_name,
|
||||
'id' => $employee_id));
|
||||
}
|
||||
}
|
||||
else // Failure
|
||||
{
|
||||
echo json_encode(array('success' => FALSE,
|
||||
'message' => $this->lang->line('employees_error_adding_updating') . ' ' . $first_name . ' ' . $last_name,
|
||||
'id' => -1));
|
||||
echo json_encode(array('success' => TRUE,
|
||||
'message' => $this->lang->line('employees_successful_updating') . ' ' . $first_name . ' ' . $last_name,
|
||||
'id' => $employee_id));
|
||||
}
|
||||
}
|
||||
else // Failure
|
||||
{
|
||||
echo json_encode(array('success' => FALSE,
|
||||
'message' => $this->lang->line('employees_error_adding_updating') . ' ' . $first_name . ' ' . $last_name,
|
||||
'id' => -1));
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -191,20 +183,5 @@ class Employees extends Persons
|
||||
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('employees_cannot_be_deleted')));
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
Loads the change password form
|
||||
*/
|
||||
public function change_password($employee_id = -1)
|
||||
{
|
||||
$person_info = $this->Employee->get_info($employee_id);
|
||||
foreach(get_object_vars($person_info) as $property => $value)
|
||||
{
|
||||
$person_info->$property = $this->xss_clean($value);
|
||||
}
|
||||
$data['person_info'] = $person_info;
|
||||
|
||||
$this->load->view('employees/form_change_password', $data);
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
183
application/controllers/Expenses.php
Normal file
183
application/controllers/Expenses.php
Normal file
@@ -0,0 +1,183 @@
|
||||
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
require_once("Secure_Controller.php");
|
||||
|
||||
class Expenses extends Secure_Controller
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct('expenses');
|
||||
}
|
||||
|
||||
public function index()
|
||||
{
|
||||
$data['table_headers'] = $this->xss_clean(get_expenses_manage_table_headers());
|
||||
|
||||
// filters that will be loaded in the multiselect dropdown
|
||||
$data['filters'] = array('only_cash' => $this->lang->line('expenses_cash_filter'),
|
||||
'only_due' => $this->lang->line('expenses_due_filter'),
|
||||
'only_check' => $this->lang->line('expenses_check_filter'),
|
||||
'only_credit' => $this->lang->line('expenses_credit_filter'),
|
||||
'only_debit' => $this->lang->line('expenses_debit_filter'),
|
||||
'is_deleted' => $this->lang->line('expenses_is_deleted'));
|
||||
|
||||
$this->load->view('expenses/manage', $data);
|
||||
}
|
||||
|
||||
public function search()
|
||||
{
|
||||
$payments = 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'),
|
||||
'only_cash' => FALSE,
|
||||
'only_due' => FALSE,
|
||||
'only_check' => FALSE,
|
||||
'only_credit' => FALSE,
|
||||
'only_debit' => FALSE,
|
||||
'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);
|
||||
$expenses = $this->Expense->search($search, $filters, $limit, $offset, $sort, $order);
|
||||
$total_rows = $this->Expense->get_found_rows($search, $filters);
|
||||
$payments = $this->Expense->get_payments_summary($search, $filters);
|
||||
$payment_summary = get_expenses_manage_payments_summary($payments, $expenses);
|
||||
$data_rows = array();
|
||||
foreach($expenses->result() as $expense)
|
||||
{
|
||||
$data_rows[] = $this->xss_clean(get_expenses_data_row($expense));
|
||||
}
|
||||
|
||||
if($total_rows > 0)
|
||||
{
|
||||
$data_rows[] = $this->xss_clean(get_expenses_data_last_row($expenses));
|
||||
}
|
||||
|
||||
echo json_encode(array('total' => $total_rows, 'rows' => $data_rows, 'payment_summary' => $payment_summary));
|
||||
}
|
||||
|
||||
public function view($expense_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;
|
||||
}
|
||||
|
||||
$data['expenses_info'] = $this->Expense->get_info($expense_id);
|
||||
|
||||
$expense_categories = array();
|
||||
foreach($this->Expense_category->get_all(0, 0, TRUE)->result_array() as $row)
|
||||
{
|
||||
$expense_categories[$row['expense_category_id']] = $row['category_name'];
|
||||
}
|
||||
$data['expense_categories'] = $expense_categories;
|
||||
|
||||
$expense_id = $data['expenses_info']->expense_id;
|
||||
|
||||
if(empty($expense_id))
|
||||
{
|
||||
$data['expenses_info']->date = date('Y-m-d H:i:s');
|
||||
$data['expenses_info']->employee_id = $this->Employee->get_logged_in_employee_info()->person_id;
|
||||
}
|
||||
|
||||
$data['payments'] = array();
|
||||
foreach($this->Expense->get_expense_payment($expense_id)->result() as $payment)
|
||||
{
|
||||
foreach(get_object_vars($payment) as $property => $value)
|
||||
{
|
||||
$payment->$property = $this->xss_clean($value);
|
||||
}
|
||||
|
||||
$data['payments'][] = $payment;
|
||||
}
|
||||
|
||||
// don't allow gift card to be a payment option in a sale transaction edit because it's a complex change
|
||||
$data['payment_options'] = $this->xss_clean($this->Expense->get_payment_options(FALSE));
|
||||
|
||||
$this->load->view("expenses/form", $data);
|
||||
}
|
||||
|
||||
public function get_row($row_id)
|
||||
{
|
||||
$expense_info = $this->Expense->get_info($row_id);
|
||||
$data_row = $this->xss_clean(get_expenses_data_row($expense_info));
|
||||
|
||||
echo json_encode($data_row);
|
||||
}
|
||||
|
||||
public function save($expense_id = -1)
|
||||
{
|
||||
$newdate = $this->input->post('date');
|
||||
|
||||
$date_formatter = date_create_from_format($this->config->item('dateformat') . ' ' . $this->config->item('timeformat'), $newdate);
|
||||
|
||||
$expense_data = array(
|
||||
'date' => $date_formatter->format('Y-m-d H:i:s'),
|
||||
'supplier_id' => $this->input->post('supplier_id') == '' ? NULL : $this->input->post('supplier_id'),
|
||||
'supplier_tax_code' => $this->input->post('supplier_tax_code'),
|
||||
'amount' => parse_decimals($this->input->post('amount')),
|
||||
'tax_amount' => parse_decimals($this->input->post('tax_amount')),
|
||||
'payment_type' => $this->input->post('payment_type'),
|
||||
'expense_category_id' => $this->input->post('expense_category_id'),
|
||||
'description' => $this->input->post('description'),
|
||||
'employee_id' => $this->input->post('employee_id'),
|
||||
'deleted' => $this->input->post('deleted') != NULL
|
||||
);
|
||||
|
||||
if($this->Expense->save($expense_data, $expense_id))
|
||||
{
|
||||
$expense_data = $this->xss_clean($expense_data);
|
||||
|
||||
//New expense_id
|
||||
if($expense_id == -1)
|
||||
{
|
||||
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('expenses_successful_adding'), 'id' => $expense_data['expense_id']));
|
||||
}
|
||||
else // Existing Expense
|
||||
{
|
||||
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('expenses_successful_updating'), 'id' => $expense_id));
|
||||
}
|
||||
}
|
||||
else//failure
|
||||
{
|
||||
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('expenses_error_adding_updating'), 'id' => -1));
|
||||
}
|
||||
}
|
||||
|
||||
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()
|
||||
{
|
||||
$expenses_to_delete = $this->input->post('ids');
|
||||
|
||||
if($this->Expense->delete_list($expenses_to_delete))
|
||||
{
|
||||
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('expenses_successful_deleted') . ' ' . count($expenses_to_delete) . ' ' . $this->lang->line('expenses_one_or_multiple'), 'ids' => $expenses_to_delete));
|
||||
}
|
||||
else
|
||||
{
|
||||
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('expenses_cannot_be_deleted'), 'ids' => $expenses_to_delete));
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
97
application/controllers/Expenses_categories.php
Normal file
97
application/controllers/Expenses_categories.php
Normal file
@@ -0,0 +1,97 @@
|
||||
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
require_once("Secure_Controller.php");
|
||||
|
||||
class Expenses_categories extends Secure_Controller
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct('expenses_categories');
|
||||
}
|
||||
|
||||
public function index()
|
||||
{
|
||||
$data['table_headers'] = $this->xss_clean(get_expense_category_manage_table_headers());
|
||||
|
||||
$this->load->view('expenses_categories/manage', $data);
|
||||
}
|
||||
|
||||
/*
|
||||
Returns expense_category_manage 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');
|
||||
|
||||
$expense_categories = $this->Expense_category->search($search, $limit, $offset, $sort, $order);
|
||||
$total_rows = $this->Expense_category->get_found_rows($search);
|
||||
|
||||
$data_rows = array();
|
||||
foreach($expense_categories->result() as $expense_category)
|
||||
{
|
||||
$data_rows[] = $this->xss_clean(get_expense_category_data_row($expense_category));
|
||||
}
|
||||
|
||||
echo json_encode(array('total' => $total_rows, 'rows' => $data_rows));
|
||||
}
|
||||
|
||||
public function get_row($row_id)
|
||||
{
|
||||
$data_row = $this->xss_clean(get_expense_category_data_row($this->Expense_category->get_info($row_id)));
|
||||
|
||||
echo json_encode($data_row);
|
||||
}
|
||||
|
||||
public function view($expense_category_id = -1)
|
||||
{
|
||||
$data['category_info'] = $this->Expense_category->get_info($expense_category_id);
|
||||
|
||||
$this->load->view("expenses_categories/form", $data);
|
||||
}
|
||||
|
||||
public function save($expense_category_id = -1)
|
||||
{
|
||||
$expense_category_data = array(
|
||||
'category_name' => $this->input->post('category_name'),
|
||||
'category_description' => $this->input->post('category_description')
|
||||
);
|
||||
|
||||
if($this->Expense_category->save($expense_category_data, $expense_category_id))
|
||||
{
|
||||
$expense_category_data = $this->xss_clean($expense_category_data);
|
||||
|
||||
// New expense_category_id
|
||||
if($expense_category_id == -1)
|
||||
{
|
||||
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('expenses_categories_successful_adding'), 'id' => $expense_category_data['expense_category_id']));
|
||||
}
|
||||
else // Existing Expense Category
|
||||
{
|
||||
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('expenses_categories_successful_updating'), 'id' => $expense_category_id));
|
||||
}
|
||||
}
|
||||
else//failure
|
||||
{
|
||||
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('expenses_categories_error_adding_updating') . ' ' . $expense_category_data['category_name'], 'id' => -1));
|
||||
}
|
||||
}
|
||||
|
||||
public function delete()
|
||||
{
|
||||
$expense_category_to_delete = $this->input->post('ids');
|
||||
|
||||
if($this->Expense_category->delete_list($expense_category_to_delete))
|
||||
{
|
||||
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('expenses_categories_successful_deleted') . ' ' . count($expense_category_to_delete) . ' ' . $this->lang->line('expenses_categories_one_or_multiple')));
|
||||
}
|
||||
else
|
||||
{
|
||||
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('expenses_categories_cannot_be_deleted')));
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -33,11 +33,9 @@ class Giftcards extends Secure_Controller
|
||||
$data_rows = array();
|
||||
foreach($giftcards->result() as $giftcard)
|
||||
{
|
||||
$data_rows[] = get_giftcard_data_row($giftcard, $this);
|
||||
$data_rows[] = $this->xss_clean(get_giftcard_data_row($giftcard));
|
||||
}
|
||||
|
||||
$data_rows = $this->xss_clean($data_rows);
|
||||
|
||||
echo json_encode(array('total' => $total_rows, 'rows' => $data_rows));
|
||||
}
|
||||
|
||||
@@ -51,7 +49,7 @@ class Giftcards extends Secure_Controller
|
||||
|
||||
echo json_encode($suggestions);
|
||||
}
|
||||
|
||||
|
||||
public function suggest_search()
|
||||
{
|
||||
$suggestions = $this->xss_clean($this->Giftcard->get_search_suggestions($this->input->post('term')));
|
||||
@@ -61,7 +59,7 @@ class Giftcards extends Secure_Controller
|
||||
|
||||
public function get_row($row_id)
|
||||
{
|
||||
$data_row = $this->xss_clean(get_giftcard_data_row($this->Giftcard->get_info($row_id), $this));
|
||||
$data_row = $this->xss_clean(get_giftcard_data_row($this->Giftcard->get_info($row_id)));
|
||||
|
||||
echo json_encode($data_row);
|
||||
}
|
||||
@@ -78,7 +76,8 @@ class Giftcards extends Secure_Controller
|
||||
}
|
||||
else
|
||||
{
|
||||
$data['giftcard_number'] = $giftcard_id > 0 ? $giftcard_info->giftcard_number : $this->Giftcard->get_max_number()->giftcard_number + 1;
|
||||
$max_giftnumber = isset($this->Giftcard->get_max_number()->giftcard_number) ? $this->Giftcard->get_max_number()->giftcard_number : 0;
|
||||
$data['giftcard_number'] = $giftcard_id > 0 ? $giftcard_info->giftcard_number : $max_giftnumber + 1;
|
||||
}
|
||||
$data['giftcard_id'] = $giftcard_id;
|
||||
$data['giftcard_value'] = $giftcard_info->value;
|
||||
@@ -87,27 +86,27 @@ class Giftcards extends Secure_Controller
|
||||
|
||||
$this->load->view("giftcards/form", $data);
|
||||
}
|
||||
|
||||
|
||||
public function save($giftcard_id = -1)
|
||||
{
|
||||
$giftcard_number = $this->input->post('giftcard_number');
|
||||
|
||||
if($giftcard_id == -1 && trim($giftcard_number) == '')
|
||||
{
|
||||
$giftcard_number = $this->Giftcard->generate_unique_giftcard_name($this->input->post('value'));
|
||||
$giftcard_number = $this->Giftcard->generate_unique_giftcard_name($this->input->post('giftcard_amount'));
|
||||
}
|
||||
|
||||
$giftcard_data = array(
|
||||
'record_time' => date('Y-m-d H:i:s'),
|
||||
'giftcard_number' => $giftcard_number,
|
||||
'value' => parse_decimals($this->input->post('value')),
|
||||
'value' => parse_decimals($this->input->post('giftcard_amount')),
|
||||
'person_id' => $this->input->post('person_id') == '' ? NULL : $this->input->post('person_id')
|
||||
);
|
||||
|
||||
if($this->Giftcard->save($giftcard_data, $giftcard_id))
|
||||
{
|
||||
$giftcard_data = $this->xss_clean($giftcard_data);
|
||||
|
||||
|
||||
//New giftcard
|
||||
if($giftcard_id == -1)
|
||||
{
|
||||
@@ -129,6 +128,12 @@ class Giftcards extends Secure_Controller
|
||||
}
|
||||
}
|
||||
|
||||
public function ajax_check_number_giftcard()
|
||||
{
|
||||
$parsed_value = parse_decimals($this->input->post('giftcard_amount'));
|
||||
echo json_encode(array('success' => $parsed_value !== FALSE, 'giftcard_amount' => to_currency_no_money($parsed_value)));
|
||||
}
|
||||
|
||||
public function delete()
|
||||
{
|
||||
$giftcards_to_delete = $this->xss_clean($this->input->post('ids'));
|
||||
|
||||
@@ -4,16 +4,69 @@ require_once("Secure_Controller.php");
|
||||
|
||||
class Home extends Secure_Controller
|
||||
{
|
||||
function __construct()
|
||||
{
|
||||
parent::__construct(NULL, NULL, 'home');
|
||||
}
|
||||
|
||||
public function index()
|
||||
{
|
||||
$this->load->view('home');
|
||||
$this->load->view('home/home');
|
||||
}
|
||||
|
||||
public function logout()
|
||||
{
|
||||
$this->track_page('logout', 'logout');
|
||||
|
||||
$this->Employee->logout();
|
||||
}
|
||||
|
||||
/*
|
||||
Loads the change employee password form
|
||||
*/
|
||||
public function change_password($employee_id = -1)
|
||||
{
|
||||
$person_info = $this->Employee->get_info($employee_id);
|
||||
foreach(get_object_vars($person_info) as $property => $value)
|
||||
{
|
||||
$person_info->$property = $this->xss_clean($value);
|
||||
}
|
||||
$data['person_info'] = $person_info;
|
||||
|
||||
$this->load->view('home/form_change_password', $data);
|
||||
}
|
||||
|
||||
/*
|
||||
Change employee password
|
||||
*/
|
||||
public function save($employee_id = -1)
|
||||
{
|
||||
if($this->input->post('current_password') != '' && $employee_id != -1)
|
||||
{
|
||||
if($this->Employee->check_password($this->input->post('username'), $this->input->post('current_password')))
|
||||
{
|
||||
$employee_data = array(
|
||||
'username' => $this->input->post('username'),
|
||||
'password' => password_hash($this->input->post('password'), PASSWORD_DEFAULT),
|
||||
'hash_version' => 2
|
||||
);
|
||||
|
||||
if($this->Employee->change_password($employee_data, $employee_id))
|
||||
{
|
||||
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('employees_successful_change_password'), 'id' => $employee_id));
|
||||
}
|
||||
else//failure
|
||||
{
|
||||
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('employees_unsuccessful_change_password'), 'id' => -1));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('employees_current_password_invalid'), 'id' => -1));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('employees_current_password_invalid'), 'id' => -1));
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -14,9 +14,12 @@ class Item_kits extends Secure_Controller
|
||||
*/
|
||||
private function _add_totals_to_item_kit($item_kit)
|
||||
{
|
||||
$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_unit_price = 0;
|
||||
|
||||
$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)
|
||||
{
|
||||
$item_info = $this->Item->get_info($item_kit_item['item_id']);
|
||||
@@ -24,11 +27,20 @@ class Item_kits extends Secure_Controller
|
||||
{
|
||||
$item_info->$property = $this->xss_clean($value);
|
||||
}
|
||||
|
||||
|
||||
$item_kit->total_cost_price += $item_info->cost_price * $item_kit_item['quantity'];
|
||||
$item_kit->total_unit_price += $item_info->unit_price * $item_kit_item['quantity'];
|
||||
|
||||
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'];
|
||||
$total_quantity += $item_kit_item['quantity'];
|
||||
}
|
||||
}
|
||||
|
||||
$discount_fraction = bcdiv($item_kit->kit_discount, 100);
|
||||
|
||||
$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;
|
||||
}
|
||||
|
||||
@@ -58,11 +70,9 @@ class Item_kits extends Secure_Controller
|
||||
{
|
||||
// calculate the total cost and retail price of the Kit so it can be printed out in the manage table
|
||||
$item_kit = $this->_add_totals_to_item_kit($item_kit);
|
||||
$data_rows[] = get_item_kit_data_row($item_kit, $this);
|
||||
$data_rows[] = $this->xss_clean(get_item_kit_data_row($item_kit));
|
||||
}
|
||||
|
||||
$data_rows = $this->xss_clean($data_rows);
|
||||
|
||||
echo json_encode(array('total' => $total_rows, 'rows' => $data_rows));
|
||||
}
|
||||
|
||||
@@ -77,8 +87,8 @@ class Item_kits extends Secure_Controller
|
||||
{
|
||||
// calculate the total cost and retail price of the Kit so it can be added to the table refresh
|
||||
$item_kit = $this->_add_totals_to_item_kit($this->Item_kit->get_info($row_id));
|
||||
|
||||
echo json_encode(get_item_kit_data_row($item_kit, $this));
|
||||
|
||||
echo json_encode(get_item_kit_data_row($item_kit));
|
||||
}
|
||||
|
||||
public function view($item_kit_id = -1)
|
||||
@@ -122,7 +132,8 @@ class Item_kits extends Secure_Controller
|
||||
$item_kit_data = array(
|
||||
'name' => $this->input->post('name'),
|
||||
'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'),
|
||||
'print_option' => $this->input->post('print_option'),
|
||||
'description' => $this->input->post('description')
|
||||
@@ -133,7 +144,7 @@ class Item_kits extends Secure_Controller
|
||||
$success = TRUE;
|
||||
$new_item = FALSE;
|
||||
//New item kit
|
||||
if ($item_kit_id == -1)
|
||||
if($item_kit_id == -1)
|
||||
{
|
||||
$item_kit_id = $item_kit_data['item_kit_id'];
|
||||
$new_item = TRUE;
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -4,6 +4,7 @@ class Login extends CI_Controller
|
||||
{
|
||||
public function index()
|
||||
{
|
||||
$this->load->library('migration');
|
||||
if($this->Employee->is_logged_in())
|
||||
{
|
||||
redirect('home');
|
||||
@@ -14,6 +15,7 @@ class Login extends CI_Controller
|
||||
|
||||
$this->form_validation->set_rules('username', 'lang:login_username', 'required|callback_login_check');
|
||||
|
||||
|
||||
if($this->config->item('gcaptcha_enable'))
|
||||
{
|
||||
$this->form_validation->set_rules('g-recaptcha-response', 'lang:login_gcaptcha', 'required|callback_gcaptcha_check');
|
||||
@@ -25,26 +27,6 @@ class Login extends CI_Controller
|
||||
}
|
||||
else
|
||||
{
|
||||
if($this->config->item('statistics'))
|
||||
{
|
||||
$this->load->library('tracking_lib');
|
||||
|
||||
$this->tracking_lib->track_page('login', 'login');
|
||||
|
||||
$this->tracking_lib->track_event('Stats', 'Theme', $this->config->item('theme'));
|
||||
$this->tracking_lib->track_event('Stats', 'Language', $this->config->item('language'));
|
||||
$this->tracking_lib->track_event('Stats', 'Timezone', $this->config->item('timezone'));
|
||||
$this->tracking_lib->track_event('Stats', 'Currency', $this->config->item('currency_symbol'));
|
||||
$this->tracking_lib->track_event('Stats', 'Customer Sales Tax Support', $this->config->item('customer_sales_tax_support'));
|
||||
$this->tracking_lib->track_event('Stats', 'Tax Included', $this->config->item('tax_included'));
|
||||
$this->tracking_lib->track_event('Stats', 'Thousands Separator', $this->config->item('thousands_separator'));
|
||||
$this->tracking_lib->track_event('Stats', 'Currency Decimals', $this->config->item('currency_decimals'));
|
||||
$this->tracking_lib->track_event('Stats', 'Tax Decimals', $this->config->item('tax_decimals'));
|
||||
$this->tracking_lib->track_event('Stats', 'Quantity Decimals', $this->config->item('quantity_decimals'));
|
||||
$this->tracking_lib->track_event('Stats', 'Invoice Enable', $this->config->item('invoice_enable'));
|
||||
$this->tracking_lib->track_event('Stats', 'Date or Time Format', $this->config->item('date_or_time_format'));
|
||||
}
|
||||
|
||||
redirect('home');
|
||||
}
|
||||
}
|
||||
@@ -61,6 +43,13 @@ class Login extends CI_Controller
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (!$this->migration->is_latest())
|
||||
{
|
||||
set_time_limit(1200);
|
||||
// trigger any required upgrade before starting the application
|
||||
$this->migration->latest();
|
||||
}
|
||||
|
||||
if(!$this->Employee->login($username, $password))
|
||||
{
|
||||
$this->form_validation->set_message('login_check', $this->lang->line('login_invalid_username_and_password'));
|
||||
@@ -98,7 +87,7 @@ class Login extends CI_Controller
|
||||
{
|
||||
// get PHP extensions and check that the required ones are installed
|
||||
$extensions = implode(', ', get_loaded_extensions());
|
||||
$keys = array('bcmath', 'intl', 'gd', 'sockets', 'mcrypt');
|
||||
$keys = array('bcmath', 'intl', 'gd', 'openssl', 'mbstring', 'curl');
|
||||
$pattern = '/';
|
||||
foreach($keys as $key)
|
||||
{
|
||||
@@ -113,10 +102,6 @@ class Login extends CI_Controller
|
||||
error_log('PHP installed extensions: ' . $extensions);
|
||||
error_log('PHP required extensions: ' . implode(', ', $keys));
|
||||
}
|
||||
else
|
||||
{
|
||||
$result = preg_match('~\b(Copyright|(c)|©|All rights reserved|Developed|Crafted|Implemented|Made|Powered|Code|Design|unblockUI|blockUI|blockOverlay|hide|opacity)\b~i', file_get_contents(APPPATH . 'views/partial/footer.php')) != TRUE;
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
@@ -1,31 +0,0 @@
|
||||
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
require_once("Secure_Controller.php");
|
||||
|
||||
class Migrate extends Secure_Controller
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct('migrate');
|
||||
|
||||
$this->load->library('migration');
|
||||
}
|
||||
|
||||
public function index()
|
||||
{
|
||||
$this->load->view('migrate/manage');
|
||||
}
|
||||
|
||||
public function perform_migration()
|
||||
{
|
||||
if( ! $this->migration->latest())
|
||||
{
|
||||
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('migrate_failed - ' . $this->migration->error_string())));
|
||||
}
|
||||
else
|
||||
{
|
||||
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('migrate_success')));
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
22
application/controllers/Office.php
Normal file
22
application/controllers/Office.php
Normal file
@@ -0,0 +1,22 @@
|
||||
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
require_once("Secure_Controller.php");
|
||||
|
||||
class Office extends Secure_Controller
|
||||
{
|
||||
function __construct()
|
||||
{
|
||||
parent::__construct('office', NULL, 'office');
|
||||
}
|
||||
|
||||
public function index()
|
||||
{
|
||||
$this->load->view('home/office');
|
||||
}
|
||||
|
||||
public function logout()
|
||||
{
|
||||
$this->Employee->logout();
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -31,7 +31,7 @@ abstract class Persons extends Secure_Controller
|
||||
*/
|
||||
public function get_row($row_id)
|
||||
{
|
||||
$data_row = $this->xss_clean(get_person_data_row($this->Person->get_info($row_id), $this));
|
||||
$data_row = $this->xss_clean(get_person_data_row($this->Person->get_info($row_id)));
|
||||
|
||||
echo json_encode($data_row);
|
||||
}
|
||||
|
||||
@@ -93,6 +93,8 @@ class Receivings extends Secure_Controller
|
||||
$this->barcode_lib->parse_barcode_fields($quantity, $item_id_or_number_or_item_kit_or_receipt);
|
||||
$quantity = ($mode == 'receive' || $mode == 'requisition') ? $quantity : -$quantity;
|
||||
$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))
|
||||
{
|
||||
@@ -100,9 +102,9 @@ class Receivings extends Secure_Controller
|
||||
}
|
||||
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');
|
||||
}
|
||||
@@ -123,11 +125,13 @@ class Receivings extends Secure_Controller
|
||||
$price = parse_decimals($this->input->post('price'));
|
||||
$quantity = parse_decimals($this->input->post('quantity'));
|
||||
$discount = parse_decimals($this->input->post('discount'));
|
||||
$discount_type = parse_decimals($this->input->post('discount_type'));
|
||||
$item_location = $this->input->post('location');
|
||||
$receiving_quantity = $this->input->post('receiving_quantity');
|
||||
|
||||
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
|
||||
{
|
||||
@@ -148,7 +152,7 @@ class Receivings extends Secure_Controller
|
||||
}
|
||||
|
||||
$data['employees'] = array();
|
||||
foreach ($this->Employee->get_all()->result() as $employee)
|
||||
foreach($this->Employee->get_all()->result() as $employee)
|
||||
{
|
||||
$data['employees'][$employee->person_id] = $this->xss_clean($employee->first_name . ' '. $employee->last_name);
|
||||
}
|
||||
@@ -198,8 +202,7 @@ class Receivings extends Secure_Controller
|
||||
|
||||
$data['cart'] = $this->receiving_lib->get_cart();
|
||||
$data['total'] = $this->receiving_lib->get_total();
|
||||
$data['receipt_title'] = $this->lang->line('receivings_receipt');
|
||||
$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['comment'] = $this->receiving_lib->get_comment();
|
||||
$data['reference'] = $this->receiving_lib->get_reference();
|
||||
@@ -264,8 +267,8 @@ class Receivings extends Secure_Controller
|
||||
foreach($this->receiving_lib->get_cart() as $item)
|
||||
{
|
||||
$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_source());
|
||||
$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(), $item['discount_type']);
|
||||
}
|
||||
|
||||
$this->complete();
|
||||
@@ -285,8 +288,7 @@ class Receivings extends Secure_Controller
|
||||
$data['cart'] = $this->receiving_lib->get_cart();
|
||||
$data['total'] = $this->receiving_lib->get_total();
|
||||
$data['mode'] = $this->receiving_lib->get_mode();
|
||||
$data['receipt_title'] = $this->lang->line('receivings_receipt');
|
||||
$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['payment_type'] = $receiving_info['payment_type'];
|
||||
$data['reference'] = $this->receiving_lib->get_reference();
|
||||
|
||||
@@ -17,8 +17,6 @@ class Reports extends Secure_Controller
|
||||
preg_match('/^(.*?)([sy])?$/', array_pop($matches), $matches);
|
||||
$submodule_id = $matches[1] . ((count($matches) > 2) ? $matches[2] : 's');
|
||||
|
||||
$this->track_page('reports/' . $submodule_id, 'reports_' . $submodule_id);
|
||||
|
||||
// check access to report submodule
|
||||
if(!$this->Employee->has_grant('reports_' . $submodule_id, $this->Employee->get_logged_in_employee_info()->person_id))
|
||||
{
|
||||
@@ -29,11 +27,11 @@ class Reports extends Secure_Controller
|
||||
$this->load->helper('report');
|
||||
}
|
||||
|
||||
//Initial report listing screen
|
||||
//Initial Report listing screen
|
||||
public function index()
|
||||
{
|
||||
$data['grants'] = $this->xss_clean($this->Employee->get_employee_grants($this->session->userdata('person_id')));
|
||||
|
||||
|
||||
$this->load->view('reports/listing', $data);
|
||||
}
|
||||
|
||||
@@ -52,7 +50,7 @@ class Reports extends Secure_Controller
|
||||
foreach($report_data as $row)
|
||||
{
|
||||
$tabular_data[] = $this->xss_clean(array(
|
||||
'sale_date' => $row['sale_date'],
|
||||
'sale_date' => to_date(strtotime($row['sale_date'])),
|
||||
'quantity' => to_quantity_decimals($row['quantity_purchased']),
|
||||
'subtotal' => to_currency($row['subtotal']),
|
||||
'tax' => to_currency_tax($row['tax']),
|
||||
@@ -73,7 +71,7 @@ class Reports extends Secure_Controller
|
||||
$this->load->view('reports/tabular', $data);
|
||||
}
|
||||
|
||||
//Summary categories report
|
||||
//Summary Categories report
|
||||
public function summary_categories($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);
|
||||
@@ -109,7 +107,40 @@ class Reports extends Secure_Controller
|
||||
$this->load->view('reports/tabular', $data);
|
||||
}
|
||||
|
||||
//Summary customers report
|
||||
//Summary Expenses by Categories report
|
||||
public function summary_expenses_categories($start_date, $end_date, $sale_type)
|
||||
{
|
||||
$inputs = array('start_date' => $start_date, 'end_date' => $end_date, 'sale_type' => $sale_type);
|
||||
|
||||
$this->load->model('reports/Summary_expenses_categories');
|
||||
$model = $this->Summary_expenses_categories;
|
||||
|
||||
$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(
|
||||
'category_name' => $row['category_name'],
|
||||
'count' => $row['count'],
|
||||
'total_amount' => to_currency($row['total_amount']),
|
||||
'total_tax_amount' => to_currency($row['total_tax_amount'])
|
||||
));
|
||||
}
|
||||
|
||||
$data = array(
|
||||
'title' => $this->lang->line('reports_expenses_categories_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);
|
||||
}
|
||||
|
||||
//Summary Customers report
|
||||
public function summary_customers($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);
|
||||
@@ -145,7 +176,7 @@ class Reports extends Secure_Controller
|
||||
$this->load->view('reports/tabular', $data);
|
||||
}
|
||||
|
||||
//Summary suppliers report
|
||||
//Summary Suppliers report
|
||||
public function summary_suppliers($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);
|
||||
@@ -181,7 +212,7 @@ class Reports extends Secure_Controller
|
||||
$this->load->view('reports/tabular', $data);
|
||||
}
|
||||
|
||||
//Summary items report
|
||||
//Summary Items report
|
||||
public function summary_items($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);
|
||||
@@ -217,7 +248,7 @@ class Reports extends Secure_Controller
|
||||
$this->load->view('reports/tabular', $data);
|
||||
}
|
||||
|
||||
//Summary employees report
|
||||
//Summary Employees report
|
||||
public function summary_employees($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);
|
||||
@@ -253,7 +284,7 @@ class Reports extends Secure_Controller
|
||||
$this->load->view('reports/tabular', $data);
|
||||
}
|
||||
|
||||
//Summary taxes report
|
||||
//Summary Taxes report
|
||||
public function summary_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);
|
||||
@@ -287,11 +318,60 @@ class Reports extends Secure_Controller
|
||||
$this->load->view('reports/tabular', $data);
|
||||
}
|
||||
|
||||
//Summary discounts report
|
||||
public function summary_discounts($start_date, $end_date, $sale_type, $location_id = 'all')
|
||||
//Summary Sales Taxes report
|
||||
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);
|
||||
|
||||
$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');
|
||||
$model = $this->Summary_discounts;
|
||||
|
||||
@@ -302,7 +382,8 @@ class Reports extends Secure_Controller
|
||||
foreach($report_data as $row)
|
||||
{
|
||||
$tabular_data[] = $this->xss_clean(array(
|
||||
'discount' => $row['discount_percent'],
|
||||
'total' => to_currency($row['total']),
|
||||
'discount' => $row['discount'],
|
||||
'count' => $row['count']
|
||||
));
|
||||
}
|
||||
@@ -318,10 +399,10 @@ class Reports extends Secure_Controller
|
||||
$this->load->view('reports/tabular', $data);
|
||||
}
|
||||
|
||||
//Summary payments report
|
||||
public function summary_payments($start_date, $end_date, $sale_type, $location_id = 'all')
|
||||
//Summary Payments report
|
||||
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');
|
||||
$model = $this->Summary_payments;
|
||||
@@ -332,11 +413,35 @@ class Reports extends Secure_Controller
|
||||
$tabular_data = array();
|
||||
foreach($report_data as $row)
|
||||
{
|
||||
$tabular_data[] = $this->xss_clean(array(
|
||||
'payment_type' => $row['payment_type'],
|
||||
'report_count' => $row['count'],
|
||||
'amount_tendered' => to_currency($row['payment_amount'])
|
||||
));
|
||||
if($row['trans_group'] == '<HR>')
|
||||
{
|
||||
$tabular_data[] = array(
|
||||
'trans_group' => '--',
|
||||
'trans_type' => '--',
|
||||
'trans_count' => '--',
|
||||
'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_count' => $row['trans_count'],
|
||||
'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(
|
||||
@@ -358,6 +463,15 @@ class Reports extends Secure_Controller
|
||||
$stock_locations['all'] = $this->lang->line('reports_all');
|
||||
$data['stock_locations'] = array_reverse($stock_locations, TRUE);
|
||||
$data['mode'] = 'sale';
|
||||
$data['sale_type_options'] = $this->get_sale_type_options();
|
||||
|
||||
$this->load->view('reports/date_input', $data);
|
||||
}
|
||||
|
||||
//Input for reports that require only a date range. (see routes.php to see that all graphical summary reports route here)
|
||||
public function date_input_only()
|
||||
{
|
||||
$data = array();
|
||||
|
||||
$this->load->view('reports/date_input', $data);
|
||||
}
|
||||
@@ -370,6 +484,7 @@ class Reports extends Secure_Controller
|
||||
$stock_locations['all'] = $this->lang->line('reports_all');
|
||||
$data['stock_locations'] = array_reverse($stock_locations, TRUE);
|
||||
$data['mode'] = 'sale';
|
||||
$data['sale_type_options'] = $this->get_sale_type_options();
|
||||
|
||||
$this->load->view('reports/date_input', $data);
|
||||
}
|
||||
@@ -385,6 +500,40 @@ class Reports extends Secure_Controller
|
||||
$this->load->view('reports/date_input', $data);
|
||||
}
|
||||
|
||||
//Graphical Expenses by Categories report
|
||||
public function graphical_summary_expenses_categories($start_date, $end_date, $sale_type)
|
||||
{
|
||||
$inputs = array('start_date' => $start_date, 'end_date' => $end_date, 'sale_type' => $sale_type);
|
||||
|
||||
$this->load->model('reports/Summary_expenses_categories');
|
||||
$model = $this->Summary_expenses_categories;
|
||||
|
||||
$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['category_name'];
|
||||
$series[] = array('meta' => $row['category_name'] . ' ' . round($row['total_amount'] / $summary['expenses_total_amount'] * 100, 2) . '%', 'value' => $row['total_amount']);
|
||||
}
|
||||
|
||||
$data = array(
|
||||
'title' => $this->lang->line('reports_expenses_categories_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 sales report
|
||||
public function graphical_summary_sales($start_date, $end_date, $sale_type, $location_id = 'all')
|
||||
{
|
||||
@@ -402,7 +551,7 @@ class Reports extends Secure_Controller
|
||||
{
|
||||
$row = $this->xss_clean($row);
|
||||
|
||||
$date = date($this->config->item('dateformat'), strtotime($row['sale_date']));
|
||||
$date = to_date(strtotime($row['sale_date']));
|
||||
$labels[] = $date;
|
||||
$series[] = array('meta' => $date, 'value' => $row['total']);
|
||||
}
|
||||
@@ -533,7 +682,7 @@ class Reports extends Secure_Controller
|
||||
|
||||
$this->load->model('reports/Summary_employees');
|
||||
$model = $this->Summary_employees;
|
||||
|
||||
|
||||
$report_data = $model->getData($inputs);
|
||||
$summary = $this->xss_clean($model->getSummaryData($inputs));
|
||||
|
||||
@@ -567,7 +716,7 @@ class Reports extends Secure_Controller
|
||||
|
||||
$this->load->model('reports/Summary_taxes');
|
||||
$model = $this->Summary_taxes;
|
||||
|
||||
|
||||
$report_data = $model->getData($inputs);
|
||||
$summary = $this->xss_clean($model->getSummaryData($inputs));
|
||||
|
||||
@@ -594,14 +743,48 @@ class Reports extends Secure_Controller
|
||||
$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
|
||||
public function graphical_summary_customers($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_customers');
|
||||
$model = $this->Summary_customers;
|
||||
|
||||
|
||||
$report_data = $model->getData($inputs);
|
||||
$summary = $this->xss_clean($model->getSummaryData($inputs));
|
||||
|
||||
@@ -631,13 +814,13 @@ class Reports extends Secure_Controller
|
||||
}
|
||||
|
||||
//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');
|
||||
$model = $this->Summary_discounts;
|
||||
|
||||
|
||||
$report_data = $model->getData($inputs);
|
||||
$summary = $this->xss_clean($model->getSummaryData($inputs));
|
||||
|
||||
@@ -647,7 +830,7 @@ class Reports extends Secure_Controller
|
||||
{
|
||||
$row = $this->xss_clean($row);
|
||||
|
||||
$labels[] = $row['discount_percent'];
|
||||
$labels[] = $row['discount'];
|
||||
$series[] = $row['count'];
|
||||
}
|
||||
|
||||
@@ -659,7 +842,7 @@ class Reports extends Secure_Controller
|
||||
'series_data_1' => $series,
|
||||
'summary_data_1' => $summary,
|
||||
'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
|
||||
);
|
||||
|
||||
@@ -667,13 +850,13 @@ class Reports extends Secure_Controller
|
||||
}
|
||||
|
||||
//Graphical summary payments report
|
||||
public function graphical_summary_payments($start_date, $end_date, $sale_type, $location_id = 'all')
|
||||
public function graphical_summary_payments($start_date, $end_date, $sale_type)
|
||||
{
|
||||
$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);
|
||||
|
||||
$this->load->model('reports/Summary_payments');
|
||||
$model = $this->Summary_payments;
|
||||
|
||||
|
||||
$report_data = $model->getData($inputs);
|
||||
$summary = $this->xss_clean($model->getSummaryData($inputs));
|
||||
|
||||
@@ -704,21 +887,41 @@ class Reports extends Secure_Controller
|
||||
{
|
||||
$data = array();
|
||||
$data['specific_input_name'] = $this->lang->line('reports_customer');
|
||||
|
||||
$customers = array();
|
||||
foreach($this->Customer->get_all()->result() as $customer)
|
||||
{
|
||||
$customers[$customer->person_id] = $this->xss_clean($customer->first_name . ' ' . $customer->last_name);
|
||||
{
|
||||
if(isset($customer->company_name))
|
||||
{
|
||||
$customers[$customer->person_id] = $this->xss_clean($customer->first_name . ' ' . $customer->last_name. ' ' . ' [ '.$customer->company_name.' ] ');
|
||||
}
|
||||
else
|
||||
{
|
||||
$customers[$customer->person_id] = $this->xss_clean($customer->first_name . ' ' . $customer->last_name);
|
||||
}
|
||||
}
|
||||
$data['specific_input_data'] = $customers;
|
||||
$data['sale_type_options'] = $this->get_sale_type_options();
|
||||
|
||||
$this->load->view('reports/specific_input', $data);
|
||||
$data['payment_type'] = $this->get_payment_type();
|
||||
$this->load->view('reports/specific_customer_input', $data);
|
||||
}
|
||||
|
||||
public function specific_customer($start_date, $end_date, $customer_id, $sale_type)
|
||||
public function get_payment_type()
|
||||
{
|
||||
$inputs = array('start_date' => $start_date, 'end_date' => $end_date, 'customer_id' => $customer_id, 'sale_type' => $sale_type);
|
||||
|
||||
$payment_type = array( 'all' => $this->lang->line('common_none_selected_text'),
|
||||
'cash' => $this->lang->line('sales_cash'),
|
||||
'due' => $this->lang->line('sales_due'),
|
||||
'check' => $this->lang->line('sales_check'),
|
||||
'credit' => $this->lang->line('sales_credit'),
|
||||
'debit' => $this->lang->line('sales_debit'),
|
||||
'invoices' => $this->lang->line('sales_invoice'));
|
||||
return $payment_type;
|
||||
}
|
||||
|
||||
public function specific_customer($start_date, $end_date, $customer_id, $sale_type, $payment_type)
|
||||
{
|
||||
$inputs = array('start_date' => $start_date, 'end_date' => $end_date, 'customer_id' => $customer_id, 'sale_type' => $sale_type, 'payment_type' => $payment_type);
|
||||
|
||||
$this->load->model('reports/Specific_customer');
|
||||
$model = $this->Specific_customer;
|
||||
|
||||
@@ -733,9 +936,21 @@ class Reports extends Secure_Controller
|
||||
|
||||
foreach($report_data['summary'] as $key => $row)
|
||||
{
|
||||
if($row['sale_status'] == CANCELED)
|
||||
{
|
||||
$button_key = 'data-btn-restore';
|
||||
$button_label = $this->lang->line('common_restore');
|
||||
}
|
||||
else
|
||||
{
|
||||
$button_key = 'data-btn-delete';
|
||||
$button_label = $this->lang->line('common_delete');
|
||||
}
|
||||
|
||||
$summary_data[] = $this->xss_clean(array(
|
||||
'id' => anchor('sales/receipt/'.$row['sale_id'], 'POS '.$row['sale_id'], array('target'=>'_blank')),
|
||||
'sale_date' => $row['sale_date'],
|
||||
'id' => $row['sale_id'],
|
||||
'type_code' => $row['type_code'],
|
||||
'sale_date' => to_date(strtotime($row['sale_date'])),
|
||||
'quantity' => to_quantity_decimals($row['items_purchased']),
|
||||
'employee_name' => $row['employee_name'],
|
||||
'subtotal' => to_currency($row['subtotal']),
|
||||
@@ -744,7 +959,10 @@ class Reports extends Secure_Controller
|
||||
'cost' => to_currency($row['cost']),
|
||||
'profit' => to_currency($row['profit']),
|
||||
'payment_type' => $row['payment_type'],
|
||||
'comment' => $row['comment']));
|
||||
'comment' => $row['comment'],
|
||||
'edit' => anchor('sales/edit/'. $row['sale_id'], '<span class="glyphicon glyphicon-edit"></span>',
|
||||
array('class'=>'modal-dlg print_hide', $button_key => $button_label, 'data-btn-submit' => $this->lang->line('common_submit'), 'title' => $this->lang->line('sales_update')))
|
||||
));
|
||||
|
||||
foreach($report_data['details'][$key] as $drow)
|
||||
{
|
||||
@@ -759,7 +977,7 @@ class Reports extends Secure_Controller
|
||||
to_currency($drow['total']),
|
||||
to_currency($drow['cost']),
|
||||
to_currency($drow['profit']),
|
||||
$drow['discount_percent'].'%'));
|
||||
($drow['discount_type'] == PERCENT)? $drow['discount'].'%':to_currency($drow['discount'])));
|
||||
}
|
||||
|
||||
if(isset($report_data['rewards'][$key]))
|
||||
@@ -772,10 +990,20 @@ class Reports extends Secure_Controller
|
||||
}
|
||||
|
||||
$customer_info = $this->Customer->get_info($customer_id);
|
||||
if(!empty($customer_info->company_name))
|
||||
{
|
||||
$customer_name ='[ '.$customer_info->company_name.' ]';
|
||||
}
|
||||
else
|
||||
{
|
||||
$customer_name = $customer_info->company_name;
|
||||
}
|
||||
|
||||
$data = array(
|
||||
'title' => $this->xss_clean($customer_info->first_name . ' ' . $customer_info->last_name . ' ' . $this->lang->line('reports_report')),
|
||||
'subtitle' => $this->_get_subtitle_report(array('start_date' => $start_date, 'end_date' => $end_date)),
|
||||
'headers' => $headers,
|
||||
'editable' => 'sales',
|
||||
'summary_data' => $summary_data,
|
||||
'details_data' => $details_data,
|
||||
'details_data_rewards' => $details_data_rewards,
|
||||
@@ -796,6 +1024,7 @@ class Reports extends Secure_Controller
|
||||
$employees[$employee->person_id] = $this->xss_clean($employee->first_name . ' ' . $employee->last_name);
|
||||
}
|
||||
$data['specific_input_data'] = $employees;
|
||||
$data['sale_type_options'] = $this->get_sale_type_options();
|
||||
|
||||
$this->load->view('reports/specific_input', $data);
|
||||
}
|
||||
@@ -818,9 +1047,21 @@ class Reports extends Secure_Controller
|
||||
|
||||
foreach($report_data['summary'] as $key => $row)
|
||||
{
|
||||
if($row['sale_status'] == CANCELED)
|
||||
{
|
||||
$button_key = 'data-btn-restore';
|
||||
$button_label = $this->lang->line('common_restore');
|
||||
}
|
||||
else
|
||||
{
|
||||
$button_key = 'data-btn-delete';
|
||||
$button_label = $this->lang->line('common_delete');
|
||||
}
|
||||
|
||||
$summary_data[] = $this->xss_clean(array(
|
||||
'id' => anchor('sales/receipt/'.$row['sale_id'], 'POS '.$row['sale_id'], array('target'=>'_blank')),
|
||||
'sale_date' => $row['sale_date'],
|
||||
'id' => $row['sale_id'],
|
||||
'type_code' => $row['type_code'],
|
||||
'sale_date' => to_date(strtotime($row['sale_date'])),
|
||||
'quantity' => to_quantity_decimals($row['items_purchased']),
|
||||
'customer_name' => $row['customer_name'],
|
||||
'subtotal' => to_currency($row['subtotal']),
|
||||
@@ -829,7 +1070,10 @@ class Reports extends Secure_Controller
|
||||
'cost' => to_currency($row['cost']),
|
||||
'profit' => to_currency($row['profit']),
|
||||
'payment_type' => $row['payment_type'],
|
||||
'comment' => $row['comment']));
|
||||
'comment' => $row['comment'],
|
||||
'edit' => anchor('sales/edit/'. $row['sale_id'], '<span class="glyphicon glyphicon-edit"></span>',
|
||||
array('class'=>'modal-dlg print_hide', $button_key => $button_label, 'data-btn-submit' => $this->lang->line('common_submit'), 'title' => $this->lang->line('sales_update')))
|
||||
));
|
||||
|
||||
foreach($report_data['details'][$key] as $drow)
|
||||
{
|
||||
@@ -844,7 +1088,7 @@ class Reports extends Secure_Controller
|
||||
to_currency($drow['total']),
|
||||
to_currency($drow['cost']),
|
||||
to_currency($drow['profit']),
|
||||
$drow['discount_percent'].'%'));
|
||||
($drow['discount_type'] == PERCENT)? $drow['discount'].'%':to_currency($drow['discount'])));
|
||||
}
|
||||
|
||||
if(isset($report_data['rewards'][$key]))
|
||||
@@ -861,6 +1105,7 @@ class Reports extends Secure_Controller
|
||||
'title' => $this->xss_clean($employee_info->first_name . ' ' . $employee_info->last_name . ' ' . $this->lang->line('reports_report')),
|
||||
'subtitle' => $this->_get_subtitle_report(array('start_date' => $start_date, 'end_date' => $end_date)),
|
||||
'headers' => $headers,
|
||||
'editable' => 'sales',
|
||||
'summary_data' => $summary_data,
|
||||
'details_data' => $details_data,
|
||||
'details_data_rewards' => $details_data_rewards,
|
||||
@@ -876,21 +1121,25 @@ class Reports extends Secure_Controller
|
||||
$data['specific_input_name'] = $this->lang->line('reports_discount');
|
||||
|
||||
$discounts = array();
|
||||
for ($i = 0; $i <= 100; $i += 10)
|
||||
for($i = 0; $i <= 100; $i += 10)
|
||||
{
|
||||
$discounts[$i] = $i . '%';
|
||||
}
|
||||
$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 = $this->xss_clean($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');
|
||||
$model = $this->Specific_discount;
|
||||
|
||||
@@ -905,17 +1154,33 @@ class Reports extends Secure_Controller
|
||||
|
||||
foreach($report_data['summary'] as $key => $row)
|
||||
{
|
||||
if($row['sale_status'] == CANCELED)
|
||||
{
|
||||
$button_key = 'data-btn-restore';
|
||||
$button_label = $this->lang->line('common_restore');
|
||||
}
|
||||
else
|
||||
{
|
||||
$button_key = 'data-btn-delete';
|
||||
$button_label = $this->lang->line('common_delete');
|
||||
}
|
||||
|
||||
$summary_data[] = $this->xss_clean(array(
|
||||
'id' => anchor('sales/receipt/'.$row['sale_id'], 'POS '.$row['sale_id'], array('target'=>'_blank')),
|
||||
'sale_date' => $row['sale_date'],
|
||||
'id' => $row['sale_id'],
|
||||
'type_code' => $row['type_code'],
|
||||
'sale_date' => to_date(strtotime($row['sale_date'])),
|
||||
'quantity' => to_quantity_decimals($row['items_purchased']),
|
||||
'employee_name' => $row['employee_name'],
|
||||
'customer_name' => $row['customer_name'],
|
||||
'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']),
|
||||
'payment_type' => $row['payment_type'],
|
||||
'comment' => $row['comment']
|
||||
'comment' => $row['comment'],
|
||||
'edit' => anchor('sales/edit/'. $row['sale_id'], '<span class="glyphicon glyphicon-edit"></span>',
|
||||
array('class'=>'modal-dlg print_hide', $button_key => $button_label, 'data-btn-submit' => $this->lang->line('common_submit'), 'title' => $this->lang->line('sales_update')))
|
||||
));
|
||||
|
||||
foreach($report_data['details'][$key] as $drow)
|
||||
@@ -929,8 +1194,9 @@ class Reports extends Secure_Controller
|
||||
to_currency($drow['subtotal']),
|
||||
to_currency_tax($drow['tax']),
|
||||
to_currency($drow['total']),
|
||||
to_currency($drow['cost']),
|
||||
to_currency($drow['profit']),
|
||||
$drow['discount_percent'].'%'));
|
||||
($drow['discount_type'] == PERCENT)? $drow['discount'].'%':to_currency($drow['discount'])));
|
||||
}
|
||||
|
||||
if(isset($report_data['rewards'][$key]))
|
||||
@@ -958,7 +1224,7 @@ class Reports extends Secure_Controller
|
||||
public function get_detailed_sales_row($sale_id)
|
||||
{
|
||||
$inputs = array('sale_id' => $sale_id);
|
||||
|
||||
|
||||
$this->load->model('reports/Detailed_sales');
|
||||
$model = $this->Detailed_sales;
|
||||
|
||||
@@ -966,9 +1232,20 @@ class Reports extends Secure_Controller
|
||||
|
||||
$report_data = $model->getDataBySaleId($sale_id);
|
||||
|
||||
if($report_data['sale_status'] == CANCELED)
|
||||
{
|
||||
$button_key = 'data-btn-restore';
|
||||
$button_label = $this->lang->line('common_restore');
|
||||
}
|
||||
else
|
||||
{
|
||||
$button_key = 'data-btn-delete';
|
||||
$button_label = $this->lang->line('common_delete');
|
||||
}
|
||||
|
||||
$summary_data = $this->xss_clean(array(
|
||||
'sale_id' => $report_data['sale_id'],
|
||||
'sale_date' => $report_data['sale_date'],
|
||||
'sale_date' => to_date(strtotime($report_data['sale_date'])),
|
||||
'quantity' => to_quantity_decimals($report_data['items_purchased']),
|
||||
'employee_name' => $report_data['employee_name'],
|
||||
'customer_name' => $report_data['customer_name'],
|
||||
@@ -980,23 +1257,45 @@ class Reports extends Secure_Controller
|
||||
'payment_type' => $report_data['payment_type'],
|
||||
'comment' => $report_data['comment'],
|
||||
'edit' => anchor('sales/edit/'. $report_data['sale_id'], '<span class="glyphicon glyphicon-edit"></span>',
|
||||
array('class'=>'modal-dlg print_hide', 'data-btn-delete' => $this->lang->line('common_delete'), 'data-btn-submit' => $this->lang->line('common_submit'), 'title' => $this->lang->line('sales_update'))
|
||||
)
|
||||
array('class'=>'modal-dlg print_hide', $button_key => $button_label, 'data-btn-submit' => $this->lang->line('common_submit'), 'title' => $this->lang->line('sales_update')))
|
||||
));
|
||||
|
||||
echo json_encode(array($sale_id => $summary_data));
|
||||
}
|
||||
|
||||
public function get_sale_type_options()
|
||||
{
|
||||
$sale_type_options = array();
|
||||
$sale_type_options['complete'] = $this->lang->line('reports_complete');
|
||||
$sale_type_options['sales'] = $this->lang->line('reports_completed_sales');
|
||||
if($this->config->item('invoice_enable') == '1')
|
||||
{
|
||||
$sale_type_options['quotes'] = $this->lang->line('reports_quotes');
|
||||
if($this->config->item('work_order_enable') == '1')
|
||||
{
|
||||
$sale_type_options['work_orders'] = $this->lang->line('reports_work_orders');
|
||||
}
|
||||
}
|
||||
$sale_type_options['canceled'] = $this->lang->line('reports_canceled');
|
||||
$sale_type_options['returns'] = $this->lang->line('reports_returns');
|
||||
return $sale_type_options;
|
||||
}
|
||||
|
||||
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');
|
||||
$model = $this->Detailed_sales;
|
||||
|
||||
$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);
|
||||
|
||||
@@ -1008,9 +1307,21 @@ class Reports extends Secure_Controller
|
||||
|
||||
foreach($report_data['summary'] as $key => $row)
|
||||
{
|
||||
if($row['sale_status'] == CANCELED)
|
||||
{
|
||||
$button_key = 'data-btn-restore';
|
||||
$button_label = $this->lang->line('common_restore');
|
||||
}
|
||||
else
|
||||
{
|
||||
$button_key = 'data-btn-delete';
|
||||
$button_label = $this->lang->line('common_delete');
|
||||
}
|
||||
|
||||
$summary_data[] = $this->xss_clean(array(
|
||||
'id' => $row['sale_id'],
|
||||
'sale_date' => $row['sale_date'],
|
||||
'type_code' => $row['type_code'],
|
||||
'sale_date' => to_date(strtotime($row['sale_date'])),
|
||||
'quantity' => to_quantity_decimals($row['items_purchased']),
|
||||
'employee_name' => $row['employee_name'],
|
||||
'customer_name' => $row['customer_name'],
|
||||
@@ -1022,8 +1333,7 @@ class Reports extends Secure_Controller
|
||||
'payment_type' => $row['payment_type'],
|
||||
'comment' => $row['comment'],
|
||||
'edit' => anchor('sales/edit/'.$row['sale_id'], '<span class="glyphicon glyphicon-edit"></span>',
|
||||
array('class' => 'modal-dlg print_hide', 'data-btn-delete' => $this->lang->line('common_delete'), 'data-btn-submit' => $this->lang->line('common_submit'), 'title' => $this->lang->line('sales_update'))
|
||||
)
|
||||
array('class' => 'modal-dlg print_hide', $button_key => $button_label, 'data-btn-submit' => $this->lang->line('common_submit'), 'title' => $this->lang->line('sales_update')))
|
||||
));
|
||||
|
||||
foreach($report_data['details'][$key] as $drow)
|
||||
@@ -1033,7 +1343,10 @@ class Reports extends Secure_Controller
|
||||
{
|
||||
$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['category'],
|
||||
$drow['serialnumber'],
|
||||
@@ -1044,7 +1357,8 @@ class Reports extends Secure_Controller
|
||||
to_currency($drow['total']),
|
||||
to_currency($drow['cost']),
|
||||
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]))
|
||||
@@ -1075,14 +1389,14 @@ class Reports extends Secure_Controller
|
||||
|
||||
$this->load->model('reports/Detailed_receivings');
|
||||
$model = $this->Detailed_receivings;
|
||||
|
||||
|
||||
$model->create($inputs);
|
||||
|
||||
$report_data = $model->getDataByReceivingId($receiving_id);
|
||||
|
||||
$summary_data = $this->xss_clean(array(
|
||||
'receiving_id' => $report_data['receiving_id'],
|
||||
'receiving_date' => $report_data['receiving_date'],
|
||||
'receiving_date' => to_date(strtotime($report_data['receiving_date'])),
|
||||
'quantity' => to_quantity_decimals($report_data['items_purchased']),
|
||||
'employee_name' => $report_data['employee_name'],
|
||||
'supplier_name' => $report_data['supplier_name'],
|
||||
@@ -1100,14 +1414,19 @@ class Reports extends Secure_Controller
|
||||
|
||||
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');
|
||||
$model = $this->Detailed_receivings;
|
||||
|
||||
|
||||
$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);
|
||||
|
||||
$summary_data = array();
|
||||
@@ -1119,7 +1438,7 @@ class Reports extends Secure_Controller
|
||||
{
|
||||
$summary_data[] = $this->xss_clean(array(
|
||||
'id' => $row['receiving_id'],
|
||||
'receiving_date' => $row['receiving_date'],
|
||||
'receiving_date' => to_date(strtotime($row['receiving_date'])),
|
||||
'quantity' => to_quantity_decimals($row['items_purchased']),
|
||||
'employee_name' => $row['employee_name'],
|
||||
'supplier_name' => $row['supplier_name'],
|
||||
@@ -1136,11 +1455,20 @@ class Reports extends Secure_Controller
|
||||
foreach($report_data['details'][$key] as $drow)
|
||||
{
|
||||
$quantity_purchased = $drow['receiving_quantity'] > 1 ? to_quantity_decimals($drow['quantity_purchased']) . ' x ' . to_quantity_decimals($drow['receiving_quantity']) : to_quantity_decimals($drow['quantity_purchased']);
|
||||
if ($show_locations)
|
||||
if($show_locations)
|
||||
{
|
||||
$quantity_purchased .= ' [' . $this->Stock_location->get_location_name($drow['item_location']) . ']';
|
||||
}
|
||||
$details_data[$row['receiving_id']][] = $this->xss_clean(array($drow['item_number'], $drow['name'], $drow['category'], $quantity_purchased, to_currency($drow['total']), $drow['discount_percent'].'%'));
|
||||
|
||||
$attribute_values = expand_attribute_values($definition_names, $drow);
|
||||
|
||||
$details_data[$row['receiving_id']][] = $this->xss_clean(array_merge(array(
|
||||
$drow['item_number'],
|
||||
$drow['name'],
|
||||
$drow['category'],
|
||||
$quantity_purchased,
|
||||
to_currency($drow['total']),
|
||||
($drow['discount_type'] == PERCENT)? $drow['discount'].'%':to_currency($drow['discount'])), $attribute_values));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1165,7 +1493,7 @@ class Reports extends Secure_Controller
|
||||
$model = $this->Inventory_low;
|
||||
|
||||
$report_data = $model->getData($inputs);
|
||||
|
||||
|
||||
$tabular_data = array();
|
||||
foreach($report_data as $row)
|
||||
{
|
||||
@@ -1193,7 +1521,7 @@ class Reports extends Secure_Controller
|
||||
{
|
||||
$this->load->model('reports/Inventory_summary');
|
||||
$model = $this->Inventory_summary;
|
||||
|
||||
|
||||
$data = array();
|
||||
$data['item_count'] = $model->getItemCountDropdownArray();
|
||||
|
||||
@@ -1207,7 +1535,7 @@ class Reports extends Secure_Controller
|
||||
public function inventory_summary($location_id = 'all', $item_count = 'all')
|
||||
{
|
||||
$inputs = array('location_id' => $location_id, 'item_count' => $item_count);
|
||||
|
||||
|
||||
$this->load->model('reports/Inventory_summary');
|
||||
$model = $this->Inventory_summary;
|
||||
|
||||
@@ -1219,7 +1547,9 @@ class Reports extends Secure_Controller
|
||||
$tabular_data[] = $this->xss_clean(array(
|
||||
'item_name' => $row['name'],
|
||||
'item_number' => $row['item_number'],
|
||||
'category' => $row['category'],
|
||||
'quantity' => to_quantity_decimals($row['quantity']),
|
||||
'low_sell_quantity' => to_quantity_decimals($row['low_sell_quantity']),
|
||||
'reorder_level' => to_quantity_decimals($row['reorder_level']),
|
||||
'location_name' => $row['location_name'],
|
||||
'cost_price' => to_currency($row['cost_price']),
|
||||
@@ -1252,7 +1582,7 @@ class Reports extends Secure_Controller
|
||||
{
|
||||
$subtitle .= date($this->config->item('dateformat').' '.$this->config->item('timeformat'), strtotime(rawurldecode($inputs['start_date']))) . ' - ' . date($this->config->item('dateformat').' '.$this->config->item('timeformat'), strtotime(rawurldecode($inputs['end_date'])));
|
||||
}
|
||||
|
||||
|
||||
return $subtitle;
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -6,7 +6,7 @@ class Secure_Controller extends CI_Controller
|
||||
* Controllers that are considered secure extend Secure_Controller, optionally a $module_id can
|
||||
* be set to also check if a user can access a particular module in the system.
|
||||
*/
|
||||
public function __construct($module_id = NULL, $submodule_id = NULL)
|
||||
public function __construct($module_id = NULL, $submodule_id = NULL, $menu_group = NULL)
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
@@ -18,8 +18,6 @@ class Secure_Controller extends CI_Controller
|
||||
redirect('login');
|
||||
}
|
||||
|
||||
$this->track_page($module_id, $module_id);
|
||||
|
||||
$logged_in_employee_info = $model->get_logged_in_employee_info();
|
||||
if(!$model->has_module_grant($module_id, $logged_in_employee_info->person_id) ||
|
||||
(isset($submodule_id) && !$model->has_module_grant($submodule_id, $logged_in_employee_info->person_id)))
|
||||
@@ -28,7 +26,31 @@ class Secure_Controller extends CI_Controller
|
||||
}
|
||||
|
||||
// load up global data visible to all the loaded views
|
||||
$data['allowed_modules'] = $this->Module->get_allowed_modules($logged_in_employee_info->person_id);
|
||||
|
||||
$this->load->library('session');
|
||||
if($menu_group == NULL)
|
||||
{
|
||||
$menu_group = $this->session->userdata('menu_group');
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->session->set_userdata('menu_group', $menu_group);
|
||||
}
|
||||
|
||||
if($menu_group == 'home')
|
||||
{
|
||||
$allowed_modules = $this->Module->get_allowed_home_modules($logged_in_employee_info->person_id);
|
||||
}
|
||||
else
|
||||
{
|
||||
$allowed_modules = $this->Module->get_allowed_office_modules($logged_in_employee_info->person_id);
|
||||
}
|
||||
|
||||
foreach($allowed_modules->result() as $module)
|
||||
{
|
||||
$data['allowed_modules'][] = $module;
|
||||
}
|
||||
|
||||
$data['user_info'] = $logged_in_employee_info;
|
||||
$data['controller_name'] = $module_id;
|
||||
|
||||
@@ -53,32 +75,6 @@ class Secure_Controller extends CI_Controller
|
||||
}
|
||||
}
|
||||
|
||||
protected function track_page($path, $page)
|
||||
{
|
||||
if(get_instance()->Appconfig->get('statistics'))
|
||||
{
|
||||
$this->load->library('tracking_lib');
|
||||
|
||||
if(empty($path))
|
||||
{
|
||||
$path = 'home';
|
||||
$page = 'home';
|
||||
}
|
||||
|
||||
$this->tracking_lib->track_page('controller/' . $path, $page);
|
||||
}
|
||||
}
|
||||
|
||||
protected function track_event($category, $action, $label, $value = NULL)
|
||||
{
|
||||
if(get_instance()->Appconfig->get('statistics'))
|
||||
{
|
||||
$this->load->library('tracking_lib');
|
||||
|
||||
$this->tracking_lib->track_event($category, $action, $label, $value);
|
||||
}
|
||||
}
|
||||
|
||||
public function numeric($str)
|
||||
{
|
||||
return parse_decimals($str);
|
||||
@@ -90,13 +86,12 @@ class Secure_Controller extends CI_Controller
|
||||
|
||||
foreach($this->input->get() as $str)
|
||||
{
|
||||
$result = parse_decimals($str);
|
||||
$result &= parse_decimals($str);
|
||||
}
|
||||
|
||||
echo $result !== FALSE ? 'true' : 'false';
|
||||
}
|
||||
|
||||
|
||||
// this is the basic set of methods most OSPOS Controllers will implement
|
||||
public function index() { return FALSE; }
|
||||
public function search() { return FALSE; }
|
||||
@@ -104,6 +99,5 @@ class Secure_Controller extends CI_Controller
|
||||
public function view($data_item_id = -1) { return FALSE; }
|
||||
public function save($data_item_id = -1) { return FALSE; }
|
||||
public function delete() { return FALSE; }
|
||||
|
||||
}
|
||||
?>
|
||||
?>
|
||||
|
||||
@@ -21,7 +21,7 @@ class Suppliers extends Persons
|
||||
*/
|
||||
public function get_row($row_id)
|
||||
{
|
||||
$data_row = $this->xss_clean(get_supplier_data_row($this->Supplier->get_info($row_id), $this));
|
||||
$data_row = $this->xss_clean(get_supplier_data_row($this->Supplier->get_info($row_id)));
|
||||
|
||||
echo json_encode($data_row);
|
||||
}
|
||||
@@ -43,11 +43,11 @@ class Suppliers extends Persons
|
||||
$data_rows = array();
|
||||
foreach($suppliers->result() as $supplier)
|
||||
{
|
||||
$data_rows[] = get_supplier_data_row($supplier, $this);
|
||||
$row = $this->xss_clean(get_supplier_data_row($supplier));
|
||||
$row['category'] = $this->Supplier->get_category_name($row['category']);
|
||||
$data_rows[] = $row;
|
||||
}
|
||||
|
||||
$data_rows = $this->xss_clean($data_rows);
|
||||
|
||||
echo json_encode(array('total' => $total_rows, 'rows' => $data_rows));
|
||||
}
|
||||
|
||||
@@ -79,6 +79,7 @@ class Suppliers extends Persons
|
||||
$info->$property = $this->xss_clean($value);
|
||||
}
|
||||
$data['person_info'] = $info;
|
||||
$data['categories'] = $this->Supplier->get_categories();
|
||||
|
||||
$this->load->view("suppliers/form", $data);
|
||||
}
|
||||
@@ -114,7 +115,9 @@ class Suppliers extends Persons
|
||||
$supplier_data = array(
|
||||
'company_name' => $this->input->post('company_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))
|
||||
|
||||
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');
|
||||
|
||||
$this->load->model('enums/Rounding_mode');
|
||||
|
||||
$this->load->library('tax_lib');
|
||||
$this->load->helper('tax_helper');
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
Returns tax_codes table data rows. This will be called with AJAX.
|
||||
*/
|
||||
@@ -30,18 +60,16 @@ class Taxes extends Secure_Controller
|
||||
$sort = $this->input->get('sort');
|
||||
$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);
|
||||
|
||||
$data_rows = array();
|
||||
foreach($tax_codes->result() as $tax_code_row)
|
||||
foreach($tax_rates->result() as $tax_rate_row)
|
||||
{
|
||||
$data_rows[] = get_tax_data_row($tax_code_row, $this);
|
||||
$data_rows[] = $this->xss_clean(get_tax_rates_data_row($tax_rate_row));
|
||||
}
|
||||
|
||||
$data_rows = $this->xss_clean($data_rows);
|
||||
|
||||
echo json_encode(array('total' => $total_rows, 'rows' => $data_rows));
|
||||
}
|
||||
|
||||
@@ -60,7 +88,7 @@ class Taxes extends Secure_Controller
|
||||
*/
|
||||
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);
|
||||
}
|
||||
@@ -68,12 +96,12 @@ class Taxes extends Secure_Controller
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
public function view($tax_code = -1)
|
||||
public function view_tax_codes($tax_code = -1)
|
||||
{
|
||||
$tax_code_info = $this->Tax->get_info($tax_code);
|
||||
|
||||
@@ -82,10 +110,19 @@ class Taxes extends Secure_Controller
|
||||
|
||||
$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['html_rounding_options'] = $this->get_html_rounding_options();
|
||||
|
||||
if ($tax_code == -1)
|
||||
if($tax_code == -1)
|
||||
{
|
||||
$data['tax_code'] = '';
|
||||
$data['tax_code_name'] = '';
|
||||
@@ -116,21 +153,197 @@ class Taxes extends Secure_Controller
|
||||
|
||||
$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)
|
||||
{
|
||||
$tax_code_row = array();
|
||||
$tax_code_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_code_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 = 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_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()
|
||||
@@ -138,63 +351,37 @@ class Taxes extends Secure_Controller
|
||||
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_code_data = array(
|
||||
'tax_code' => strtoupper($this->input->post('tax_code')),
|
||||
'tax_code_name' => $this->input->post('tax_code_name'),
|
||||
'tax_code_type' => $this->input->post('tax_code_type'),
|
||||
'city' => $this->input->post('city'),
|
||||
'state' => $this->input->post('state'));
|
||||
$tax_category_id = $this->input->post('rate_tax_category_id');
|
||||
$tax_rate = parse_decimals($this->input->post('tax_rate'));
|
||||
|
||||
if ($tax_rate == 0) {
|
||||
$tax_category_info = $this->Tax_category->get_info($tax_category_id);
|
||||
}
|
||||
|
||||
$tax_rate_data = array(
|
||||
'rate_tax_code' => $this->input->post('tax_code'),
|
||||
'rate_tax_category_id' => 1,
|
||||
'tax_rate' => parse_decimals($this->input->post('tax_rate')),
|
||||
'rounding_code' => $this->input->post('rounding_code')
|
||||
'rate_tax_code_id' => $this->input->post('rate_tax_code_id'),
|
||||
'rate_tax_category_id' => $this->input->post('rate_tax_category_id'),
|
||||
'rate_jurisdiction_id' => $this->input->post('rate_jurisdiction_id'),
|
||||
'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(!empty($this->input->post('exception_tax_rate')))
|
||||
if($tax_rate_id == -1)
|
||||
{
|
||||
foreach($this->input->post('exception_tax_rate') as $tax_category_id => $exception_tax_rate)
|
||||
{
|
||||
$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));
|
||||
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('taxes_tax_rate_successfully_added')));
|
||||
}
|
||||
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_code_error_adding_updating') . ' ' .
|
||||
$entered_tax_code));
|
||||
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('taxes_tax_rate_error_adding_updating')));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -211,12 +398,130 @@ 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);
|
||||
}
|
||||
|
||||
|
||||
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();
|
||||
|
||||
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]));
|
||||
}
|
||||
|
||||
$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));
|
||||
}
|
||||
}
|
||||
?>
|
||||
?>
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
function pdf_create($html, $filename = '')
|
||||
/**
|
||||
* PDF helper
|
||||
*/
|
||||
|
||||
function create_pdf($html, $filename = '')
|
||||
{
|
||||
// need to enable magic quotes for the
|
||||
$magic_quotes_enabled = get_magic_quotes_runtime();
|
||||
@@ -11,7 +15,7 @@ function pdf_create($html, $filename = '')
|
||||
}
|
||||
|
||||
$dompdf = new Dompdf\Dompdf();
|
||||
$dompdf->loadHtml($html);
|
||||
$dompdf->loadHtml(str_replace(array("\n", "\r"), '', $html));
|
||||
$dompdf->render();
|
||||
|
||||
if(!$magic_quotes_enabled)
|
||||
|
||||
77
application/helpers/importfile_helper.php
Normal file
77
application/helpers/importfile_helper.php
Normal file
@@ -0,0 +1,77 @@
|
||||
<?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)
|
||||
{
|
||||
while (($data = fgetcsv($csv_file)) !== FALSE)
|
||||
{
|
||||
$line_array[] = $data;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return $line_array;
|
||||
}
|
||||
?>
|
||||
@@ -1,34 +1,305 @@
|
||||
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
const DEFAULT_LANGUAGE = 'english';
|
||||
const DEFAULT_LANGUAGE_CODE = 'en-US';
|
||||
|
||||
define('DEFAULT_DATE', mktime(0, 0, 0, 1, 1, 2010));
|
||||
define('DEFAULT_DATETIME', mktime(0, 0, 0, 1, 1, 2010));
|
||||
|
||||
/**
|
||||
* Currency locale helper
|
||||
*/
|
||||
|
||||
function current_language_code()
|
||||
function current_language_code($load_system_language = FALSE)
|
||||
{
|
||||
return get_instance()->config->item('language_code');
|
||||
$employee = get_instance()->Employee;
|
||||
|
||||
// Returns the language code of the employee if set or system language code if not
|
||||
if($employee->is_logged_in() && $load_system_language != TRUE)
|
||||
{
|
||||
$employee_info = $employee->get_logged_in_employee_info();
|
||||
|
||||
if(property_exists($employee_info, 'language_code') && !empty($employee_info->language_code))
|
||||
{
|
||||
return $employee_info->language_code;
|
||||
}
|
||||
}
|
||||
|
||||
$language_code = get_instance()->config->item('language_code');
|
||||
|
||||
return empty($language_code) ? DEFAULT_LANGUAGE_CODE : $language_code;
|
||||
}
|
||||
|
||||
function current_language()
|
||||
function current_language($load_system_language = FALSE)
|
||||
{
|
||||
return get_instance()->config->item('language');
|
||||
$employee = get_instance()->Employee;
|
||||
|
||||
// Returns the language of the employee if set or system language if not
|
||||
if($employee->is_logged_in() && $load_system_language != TRUE)
|
||||
{
|
||||
$employee_info = $employee->get_logged_in_employee_info();
|
||||
if(property_exists($employee_info, 'language') && !empty($employee_info->language))
|
||||
{
|
||||
return $employee_info->language;
|
||||
}
|
||||
}
|
||||
|
||||
$language = get_instance()->config->item('language');
|
||||
|
||||
return empty($language) ? DEFAULT_LANGUAGE : $language;
|
||||
}
|
||||
|
||||
function get_languages()
|
||||
{
|
||||
return array(
|
||||
'ar-EG:arabic' => 'Arabic (Egypt)',
|
||||
'ar-LB:arabic' => 'Arabic (Lebanon)',
|
||||
'az-AZ:azerbaijani' => 'Azerbaijani (Azerbaijan)',
|
||||
'bg:bulgarian' => 'Bulgarian',
|
||||
'cs:czech' => 'Czech',
|
||||
'de:german' => 'German (Germany)',
|
||||
'de-CH:german' => 'German (Swiss)',
|
||||
'el:greek' => 'Greek',
|
||||
'en-GB:english' => 'English (Great Britain)',
|
||||
'en-US:english' => 'English (United States)',
|
||||
'es:spanish' => 'Spanish',
|
||||
'es-MX:spanish' => 'Spanish (Mexico)',
|
||||
'fr:french' => 'French',
|
||||
'he:hebrew' => 'Hebrew',
|
||||
'hr-HR:croatian' => 'Croatian (Croatia)',
|
||||
'hu-HU:hungarian' => 'Hungarian (Hungary)',
|
||||
'id:indonesian' => 'Indonesian',
|
||||
'it:italian' => 'Italian',
|
||||
'km:khmer' => 'Central Khmer (Cambodia)',
|
||||
'lo:lao' => 'Lao (Laos)',
|
||||
'ml:malay' => 'Malay',
|
||||
'nl:dutch' => 'Dutch',
|
||||
'nl-BE:dutch' => 'Dutch (Belgium)',
|
||||
'pl:polish' => 'Polish',
|
||||
'pt-BR:portuguese-brazilian' => 'Portuguese (Brazil)',
|
||||
'ro:romanian' => 'Romanian',
|
||||
'ru:russian' => 'Russian',
|
||||
'sv:swedish' => 'Swedish',
|
||||
'th:thai' => 'Thai',
|
||||
'tl-PH:talong' => 'Tagalog (Philippines)',
|
||||
'tr:turkish' => 'Turkish',
|
||||
'ur-PK:urdu' => 'Urdu (Islamic Republic of Pakistan)',
|
||||
'vi:vietnamese' => 'Vietnamese',
|
||||
'zh-Hans:simplified-chinese' => 'Chinese Simplified Script',
|
||||
'zh-Hant:traditional-chinese' => 'Chinese Traditional Script'
|
||||
);
|
||||
}
|
||||
|
||||
function load_language($load_system_language = FALSE, array $lang_array)
|
||||
{
|
||||
$lang = get_instance()->lang;
|
||||
|
||||
if($load_system_language = TRUE)
|
||||
{
|
||||
foreach($lang_array as $language_file)
|
||||
{
|
||||
$lang->load($language_file, current_language_code(TRUE));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach($lang_array as $language_file)
|
||||
{
|
||||
$lang->load($language_file, current_language_code());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function get_timezones()
|
||||
{
|
||||
return array(
|
||||
'Pacific/Midway' => '(GMT-11:00) Midway Island, Samoa',
|
||||
'America/Adak' => '(GMT-10:00) Hawaii-Aleutian',
|
||||
'Etc/GMT+10' => '(GMT-10:00) Hawaii',
|
||||
'Pacific/Marquesas' => '(GMT-09:30) Marquesas Islands',
|
||||
'Pacific/Gambier' => '(GMT-09:00) Gambier Islands',
|
||||
'America/Anchorage' => '(GMT-09:00) Alaska',
|
||||
'America/Ensenada' => '(GMT-08:00) Tijuana, Baja California',
|
||||
'Etc/GMT+8' => '(GMT-08:00) Pitcairn Islands',
|
||||
'America/Los_Angeles' => '(GMT-08:00) Pacific Time (US & Canada)',
|
||||
'America/Denver' => '(GMT-07:00) Mountain Time (US & Canada)',
|
||||
'America/Chihuahua' => '(GMT-07:00) Chihuahua, La Paz, Mazatlan',
|
||||
'America/Dawson_Creek' => '(GMT-07:00) Arizona',
|
||||
'America/Belize' => '(GMT-06:00) Saskatchewan, Central America',
|
||||
'America/Mexico_City' => '(GMT-06:00) Guadalajara, Mexico City, Monterrey',
|
||||
'Chile/EasterIsland' => '(GMT-06:00) Easter Island',
|
||||
'America/Chicago' => '(GMT-06:00) Central 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/Bogota' => '(GMT-05:00) Bogota, Lima, Quito, Rio Branco',
|
||||
'America/Caracas' => '(GMT-04:30) Caracas',
|
||||
'America/Santiago' => '(GMT-04:00) Santiago',
|
||||
'America/La_Paz' => '(GMT-04:00) La Paz',
|
||||
'Atlantic/Stanley' => '(GMT-04:00) Falkland Islands',
|
||||
'America/Campo_Grande' => '(GMT-04:00) Brazil',
|
||||
'America/Goose_Bay' => '(GMT-04:00) Atlantic Time (Goose Bay)',
|
||||
'America/Glace_Bay' => '(GMT-04:00) Atlantic Time (Canada)',
|
||||
'America/St_Johns' => '(GMT-03:30) Newfoundland',
|
||||
'America/Araguaina' => '(GMT-03:00) UTC-3',
|
||||
'America/Montevideo' => '(GMT-03:00) Montevideo',
|
||||
'America/Miquelon' => '(GMT-03:00) Miquelon, St. Pierre',
|
||||
'America/Godthab' => '(GMT-03:00) Greenland',
|
||||
'America/Argentina/Buenos_Aires' => '(GMT-03:00) Buenos Aires',
|
||||
'America/Sao_Paulo' => '(GMT-03:00) Brasilia',
|
||||
'America/Noronha' => '(GMT-02:00) Mid-Atlantic',
|
||||
'Atlantic/Cape_Verde' => '(GMT-01:00) Cape Verde Is.',
|
||||
'Atlantic/Azores' => '(GMT-01:00) Azores',
|
||||
'Europe/Belfast' => '(GMT) Greenwich Mean Time : Belfast',
|
||||
'Europe/Dublin' => '(GMT) Greenwich Mean Time : Dublin',
|
||||
'Europe/Lisbon' => '(GMT) Greenwich Mean Time : Lisbon',
|
||||
'Europe/London' => '(GMT) Greenwich Mean Time : London',
|
||||
'Africa/Abidjan' => '(GMT) Monrovia, Reykjavik',
|
||||
'Europe/Amsterdam' => '(GMT+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna',
|
||||
'Europe/Belgrade' => '(GMT+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague',
|
||||
'Europe/Brussels' => '(GMT+01:00) Brussels, Copenhagen, Madrid, Paris',
|
||||
'Africa/Algiers' => '(GMT+01:00) West Central Africa',
|
||||
'Africa/Windhoek' => '(GMT+01:00) Windhoek',
|
||||
'Asia/Beirut' => '(GMT+02:00) Beirut',
|
||||
'Africa/Cairo' => '(GMT+02:00) Cairo',
|
||||
'Asia/Gaza' => '(GMT+02:00) Gaza',
|
||||
'Africa/Blantyre' => '(GMT+02:00) Harare, Pretoria',
|
||||
'Asia/Jerusalem' => '(GMT+02:00) Jerusalem',
|
||||
'Europe/Minsk' => '(GMT+02:00) Minsk',
|
||||
'Asia/Damascus' => '(GMT+02:00) Syria',
|
||||
'Europe/Moscow' => '(GMT+03:00) Moscow, St. Petersburg, Volgograd',
|
||||
'Africa/Addis_Ababa' => '(GMT+03:00) Nairobi',
|
||||
'Asia/Tehran' => '(GMT+03:30) Tehran',
|
||||
'Asia/Dubai' => '(GMT+04:00) Abu Dhabi, Muscat',
|
||||
'Asia/Yerevan' => '(GMT+04:00) Yerevan',
|
||||
'Asia/Kabul' => '(GMT+04:30) Kabul',
|
||||
'Asia/Baku' => '(GMT+04:00) Baku',
|
||||
'Asia/Yekaterinburg' => '(GMT+05:00) Ekaterinburg',
|
||||
'Asia/Tashkent' => '(GMT+05:00) Tashkent',
|
||||
'Asia/Kolkata' => '(GMT+05:30) Chennai, Kolkata, Mumbai, New Delhi',
|
||||
'Asia/Katmandu' => '(GMT+05:45) Kathmandu',
|
||||
'Asia/Dhaka' => '(GMT+06:00) Astana, Dhaka',
|
||||
'Asia/Novosibirsk' => '(GMT+06:00) Novosibirsk',
|
||||
'Asia/Rangoon' => '(GMT+06:30) Yangon (Rangoon)',
|
||||
'Asia/Bangkok' => '(GMT+07:00) Bangkok, Hanoi, Jakarta',
|
||||
'Asia/Krasnoyarsk' => '(GMT+07:00) Krasnoyarsk',
|
||||
'Asia/Hong_Kong' => '(GMT+08:00) Beijing, Chongqing, Hong Kong, Urumqi',
|
||||
'Asia/Irkutsk' => '(GMT+08:00) Irkutsk, Ulaan Bataar',
|
||||
'Australia/Perth' => '(GMT+08:00) Perth',
|
||||
'Australia/Eucla' => '(GMT+08:45) Eucla',
|
||||
'Asia/Tokyo' => '(GMT+09:00) Osaka, Sapporo, Tokyo',
|
||||
'Asia/Seoul' => '(GMT+09:00) Seoul',
|
||||
'Asia/Yakutsk' => '(GMT+09:00) Yakutsk',
|
||||
'Australia/Adelaide' => '(GMT+09:30) Adelaide',
|
||||
'Australia/Darwin' => '(GMT+09:30) Darwin',
|
||||
'Australia/Brisbane' => '(GMT+10:00) Brisbane',
|
||||
'Australia/Hobart' => '(GMT+10:00) Hobart',
|
||||
'Asia/Vladivostok' => '(GMT+10:00) Vladivostok',
|
||||
'Australia/Lord_Howe' => '(GMT+10:30) Lord Howe Island',
|
||||
'Etc/GMT-11' => '(GMT+11:00) Solomon Is., New Caledonia',
|
||||
'Asia/Magadan' => '(GMT+11:00) Magadan',
|
||||
'Pacific/Norfolk' => '(GMT+11:30) Norfolk Island',
|
||||
'Asia/Anadyr' => '(GMT+12:00) Anadyr, Kamchatka',
|
||||
'Pacific/Auckland' => '(GMT+12:00) Auckland, Wellington',
|
||||
'Etc/GMT-12' => '(GMT+12:00) Fiji, Kamchatka, Marshall Is.',
|
||||
'Pacific/Chatham' => '(GMT+12:45) Chatham Islands',
|
||||
'Pacific/Tongatapu' => '(GMT+13:00) Nuku\'alofa',
|
||||
'Pacific/Kiritimati' => '(GMT+14:00) Kiritimati'
|
||||
);
|
||||
}
|
||||
|
||||
function get_dateformats()
|
||||
{
|
||||
return array(
|
||||
'd/m/Y' => 'dd/mm/yyyy',
|
||||
'd.m.Y' => 'dd.mm.yyyy',
|
||||
'm/d/Y' => 'mm/dd/yyyy',
|
||||
'Y/m/d' => 'yyyy/mm/dd',
|
||||
'd/m/y' => 'dd/mm/yy',
|
||||
'm/d/y' => 'mm/dd/yy',
|
||||
'y/m/d' => 'yy/mm/dd'
|
||||
);
|
||||
}
|
||||
|
||||
function get_timeformats()
|
||||
{
|
||||
return array(
|
||||
'H:i:s' => 'hh:mm:ss (24h)',
|
||||
'h:i:s a' => 'hh:mm:ss am/pm',
|
||||
'h:i:s A' => 'hh:mm:ss AM/PM'
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
Gets the payment options
|
||||
*/
|
||||
function get_payment_options()
|
||||
{
|
||||
$config = get_instance()->config;
|
||||
$lang = get_instance()->lang;
|
||||
|
||||
$payments = array();
|
||||
|
||||
|
||||
if($config->item('payment_options_order') == 'debitcreditcash')
|
||||
{
|
||||
$payments[$lang->line('sales_debit')] = $lang->line('sales_debit');
|
||||
$payments[$lang->line('sales_credit')] = $lang->line('sales_credit');
|
||||
$payments[$lang->line('sales_cash')] = $lang->line('sales_cash');
|
||||
}
|
||||
elseif($config->item('payment_options_order') == 'debitcashcredit')
|
||||
{
|
||||
$payments[$lang->line('sales_debit')] = $lang->line('sales_debit');
|
||||
$payments[$lang->line('sales_cash')] = $lang->line('sales_cash');
|
||||
$payments[$lang->line('sales_credit')] = $lang->line('sales_credit');
|
||||
}
|
||||
elseif($config->item('payment_options_order') == 'creditdebitcash')
|
||||
{
|
||||
$payments[$lang->line('sales_credit')] = $lang->line('sales_credit');
|
||||
$payments[$lang->line('sales_debit')] = $lang->line('sales_debit');
|
||||
$payments[$lang->line('sales_cash')] = $lang->line('sales_cash');
|
||||
}
|
||||
elseif($config->item('payment_options_order') == 'creditcashdebit')
|
||||
{
|
||||
$payments[$lang->line('sales_credit')] = $lang->line('sales_credit');
|
||||
$payments[$lang->line('sales_cash')] = $lang->line('sales_cash');
|
||||
$payments[$lang->line('sales_debit')] = $lang->line('sales_debit');
|
||||
}
|
||||
else // default: if($config->item('payment_options_order') == 'cashdebitcredit')
|
||||
{
|
||||
$payments[$lang->line('sales_cash')] = $lang->line('sales_cash');
|
||||
$payments[$lang->line('sales_debit')] = $lang->line('sales_debit');
|
||||
$payments[$lang->line('sales_credit')] = $lang->line('sales_credit');
|
||||
}
|
||||
|
||||
$payments[$lang->line('sales_due')] = $lang->line('sales_due');
|
||||
$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;
|
||||
}
|
||||
|
||||
function currency_side()
|
||||
{
|
||||
$config = get_instance()->config;
|
||||
$config = get_instance()->config;
|
||||
|
||||
$fmt = new \NumberFormatter($config->item('number_locale'), \NumberFormatter::CURRENCY);
|
||||
$fmt->setSymbol(\NumberFormatter::CURRENCY_SYMBOL, $config->item('currency_symbol'));
|
||||
$fmt = new \NumberFormatter($config->item('number_locale'), \NumberFormatter::CURRENCY);
|
||||
$fmt->setSymbol(\NumberFormatter::CURRENCY_SYMBOL, $config->item('currency_symbol'));
|
||||
|
||||
return !preg_match('/^¤/', $fmt->getPattern());
|
||||
return !preg_match('/^¤/', $fmt->getPattern());
|
||||
}
|
||||
|
||||
function quantity_decimals()
|
||||
{
|
||||
$config = get_instance()->config;
|
||||
$config = get_instance()->config;
|
||||
|
||||
return $config->item('quantity_decimals') ? $config->item('quantity_decimals') : 0;
|
||||
return $config->item('quantity_decimals') ? $config->item('quantity_decimals') : 0;
|
||||
}
|
||||
|
||||
function totals_decimals()
|
||||
@@ -52,85 +323,109 @@ function tax_decimals()
|
||||
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)
|
||||
{
|
||||
return to_decimals($number, 'currency_decimals', \NumberFormatter::CURRENCY);
|
||||
return to_decimals($number, 'currency_decimals', \NumberFormatter::CURRENCY);
|
||||
}
|
||||
|
||||
function to_currency_no_money($number)
|
||||
{
|
||||
return to_decimals($number, 'currency_decimals');
|
||||
return to_decimals($number, 'currency_decimals');
|
||||
}
|
||||
|
||||
function to_currency_tax($number)
|
||||
{
|
||||
$config = get_instance()->config;
|
||||
|
||||
if($config->item('customer_sales_tax_support') == '1')
|
||||
{
|
||||
return to_decimals($number, 'currency_decimals', \NumberFormatter::CURRENCY);
|
||||
}
|
||||
else
|
||||
{
|
||||
if($config->item('tax_included') == '1')
|
||||
{
|
||||
return to_decimals($number, 'tax_decimals', \NumberFormatter::CURRENCY);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return to_decimals($number, 'currency_decimals', \NumberFormatter::CURRENCY);
|
||||
}
|
||||
}
|
||||
|
||||
function to_tax_decimals($number)
|
||||
{
|
||||
// taxes that are NULL, '' or 0 don't need to be displayed
|
||||
// NOTE: do not remove this line otherwise the items edit form will show a tax with 0 and it will save it
|
||||
if(empty($number))
|
||||
{
|
||||
return $number;
|
||||
}
|
||||
if(empty($number))
|
||||
{
|
||||
return $number;
|
||||
}
|
||||
|
||||
return to_decimals($number, 'tax_decimals');
|
||||
return to_decimals($number, 'tax_decimals');
|
||||
}
|
||||
|
||||
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)
|
||||
{
|
||||
// ignore empty strings and return
|
||||
// NOTE: do not change it to empty otherwise tables will show a 0 with no decimal nor currency symbol
|
||||
if(!isset($number))
|
||||
{
|
||||
return $number;
|
||||
}
|
||||
if(!isset($number))
|
||||
{
|
||||
return $number;
|
||||
}
|
||||
|
||||
$config = get_instance()->config;
|
||||
$fmt = new \NumberFormatter($config->item('number_locale'), $type);
|
||||
$fmt->setAttribute(\NumberFormatter::MIN_FRACTION_DIGITS, $config->item($decimals));
|
||||
$fmt->setAttribute(\NumberFormatter::MAX_FRACTION_DIGITS, $config->item($decimals));
|
||||
if(empty($config->item('thousands_separator')))
|
||||
{
|
||||
$fmt->setAttribute(\NumberFormatter::GROUPING_SEPARATOR_SYMBOL, '');
|
||||
}
|
||||
$fmt->setSymbol(\NumberFormatter::CURRENCY_SYMBOL, $config->item('currency_symbol'));
|
||||
$config = get_instance()->config;
|
||||
$fmt = new \NumberFormatter($config->item('number_locale'), $type);
|
||||
$fmt->setAttribute(\NumberFormatter::MIN_FRACTION_DIGITS, $config->item($decimals));
|
||||
$fmt->setAttribute(\NumberFormatter::MAX_FRACTION_DIGITS, $config->item($decimals));
|
||||
if(empty($config->item('thousands_separator')))
|
||||
{
|
||||
$fmt->setAttribute(\NumberFormatter::GROUPING_SEPARATOR_SYMBOL, '');
|
||||
}
|
||||
$fmt->setSymbol(\NumberFormatter::CURRENCY_SYMBOL, $config->item('currency_symbol'));
|
||||
|
||||
return $fmt->format($number);
|
||||
return $fmt->format($number);
|
||||
}
|
||||
|
||||
function parse_decimals($number)
|
||||
{
|
||||
// ignore empty strings and return
|
||||
if(empty($number))
|
||||
{
|
||||
return $number;
|
||||
}
|
||||
// ignore empty strings and return
|
||||
if(empty($number))
|
||||
{
|
||||
return $number;
|
||||
}
|
||||
|
||||
$config = get_instance()->config;
|
||||
$fmt = new \NumberFormatter( $config->item('number_locale'), \NumberFormatter::DECIMAL );
|
||||
if (empty($config->item('thousands_separator')))
|
||||
{
|
||||
$fmt->setAttribute(\NumberFormatter::GROUPING_SEPARATOR_SYMBOL, '');
|
||||
}
|
||||
$config = get_instance()->config;
|
||||
$fmt = new \NumberFormatter($config->item('number_locale'), \NumberFormatter::DECIMAL);
|
||||
|
||||
return $fmt->parse($number);
|
||||
$fmt->setAttribute(\NumberFormatter::FRACTION_DIGITS, $config->item('currency_decimals'));
|
||||
|
||||
if(empty($config->item('thousands_separator')))
|
||||
{
|
||||
$fmt->setAttribute(\NumberFormatter::GROUPING_SEPARATOR_SYMBOL, '');
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
return $fmt->parse($number);
|
||||
}
|
||||
catch(Exception $e)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -139,88 +434,142 @@ function parse_decimals($number)
|
||||
|
||||
function dateformat_momentjs($php_format)
|
||||
{
|
||||
$SYMBOLS_MATCHING = array(
|
||||
'd' => 'DD',
|
||||
'D' => 'ddd',
|
||||
'j' => 'D',
|
||||
'l' => 'dddd',
|
||||
'N' => 'E',
|
||||
'S' => 'o',
|
||||
'w' => 'e',
|
||||
'z' => 'DDD',
|
||||
'W' => 'W',
|
||||
'F' => 'MMMM',
|
||||
'm' => 'MM',
|
||||
'M' => 'MMM',
|
||||
'n' => 'M',
|
||||
't' => '', // no equivalent
|
||||
'L' => '', // no equivalent
|
||||
'o' => 'YYYY',
|
||||
'Y' => 'YYYY',
|
||||
'y' => 'YY',
|
||||
'a' => 'a',
|
||||
'A' => 'A',
|
||||
'B' => '', // no equivalent
|
||||
'g' => 'h',
|
||||
'G' => 'H',
|
||||
'h' => 'hh',
|
||||
'H' => 'HH',
|
||||
'i' => 'mm',
|
||||
's' => 'ss',
|
||||
'u' => 'SSS',
|
||||
'e' => 'zz', // deprecated since version $1.6.0 of moment.js
|
||||
'I' => '', // no equivalent
|
||||
'O' => '', // no equivalent
|
||||
'P' => '', // no equivalent
|
||||
'T' => '', // no equivalent
|
||||
'Z' => '', // no equivalent
|
||||
'c' => '', // no equivalent
|
||||
'r' => '', // no equivalent
|
||||
'U' => 'X'
|
||||
);
|
||||
$SYMBOLS_MATCHING = array(
|
||||
'd' => 'DD',
|
||||
'D' => 'ddd',
|
||||
'j' => 'D',
|
||||
'l' => 'dddd',
|
||||
'N' => 'E',
|
||||
'S' => 'o',
|
||||
'w' => 'e',
|
||||
'z' => 'DDD',
|
||||
'W' => 'W',
|
||||
'F' => 'MMMM',
|
||||
'm' => 'MM',
|
||||
'M' => 'MMM',
|
||||
'n' => 'M',
|
||||
't' => '', // no equivalent
|
||||
'L' => '', // no equivalent
|
||||
'o' => 'YYYY',
|
||||
'Y' => 'YYYY',
|
||||
'y' => 'YY',
|
||||
'a' => 'a',
|
||||
'A' => 'A',
|
||||
'B' => '', // no equivalent
|
||||
'g' => 'h',
|
||||
'G' => 'H',
|
||||
'h' => 'hh',
|
||||
'H' => 'HH',
|
||||
'i' => 'mm',
|
||||
's' => 'ss',
|
||||
'u' => 'SSS',
|
||||
'e' => 'zz', // deprecated since version $1.6.0 of moment.js
|
||||
'I' => '', // no equivalent
|
||||
'O' => '', // no equivalent
|
||||
'P' => '', // no equivalent
|
||||
'T' => '', // no equivalent
|
||||
'Z' => '', // no equivalent
|
||||
'c' => '', // no equivalent
|
||||
'r' => '', // no equivalent
|
||||
'U' => 'X'
|
||||
);
|
||||
|
||||
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)
|
||||
{
|
||||
$SYMBOLS_MATCHING = array(
|
||||
// Day
|
||||
'd' => 'dd',
|
||||
'D' => 'd',
|
||||
'j' => 'd',
|
||||
'l' => 'dd',
|
||||
'N' => '',
|
||||
'S' => '',
|
||||
'w' => '',
|
||||
'z' => '',
|
||||
// Week
|
||||
'W' => '',
|
||||
// Month
|
||||
'F' => 'MM',
|
||||
'm' => 'mm',
|
||||
'M' => 'M',
|
||||
'n' => 'm',
|
||||
't' => '',
|
||||
// Year
|
||||
'L' => '',
|
||||
'o' => '',
|
||||
'Y' => 'yyyy',
|
||||
'y' => 'yy',
|
||||
// Time
|
||||
'a' => 'p',
|
||||
'A' => 'P',
|
||||
'B' => '',
|
||||
'g' => 'H',
|
||||
'G' => 'h',
|
||||
'h' => 'HH',
|
||||
'H' => 'hh',
|
||||
'i' => 'ii',
|
||||
's' => 'ss',
|
||||
'u' => ''
|
||||
);
|
||||
$SYMBOLS_MATCHING = array(
|
||||
// Day
|
||||
'd' => 'dd',
|
||||
'D' => 'd',
|
||||
'j' => 'd',
|
||||
'l' => 'dd',
|
||||
'N' => '',
|
||||
'S' => '',
|
||||
'w' => '',
|
||||
'z' => '',
|
||||
// Week
|
||||
'W' => '',
|
||||
// Month
|
||||
'F' => 'MM',
|
||||
'm' => 'mm',
|
||||
'M' => 'M',
|
||||
'n' => 'm',
|
||||
't' => '',
|
||||
// Year
|
||||
'L' => '',
|
||||
'o' => '',
|
||||
'Y' => 'yyyy',
|
||||
'y' => 'yy',
|
||||
// Time
|
||||
'a' => 'p',
|
||||
'A' => 'P',
|
||||
'B' => '',
|
||||
'g' => 'H',
|
||||
'G' => 'h',
|
||||
'h' => 'HH',
|
||||
'H' => 'hh',
|
||||
'i' => 'ii',
|
||||
's' => 'ss',
|
||||
'u' => ''
|
||||
);
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
40
application/helpers/migration_helper.php
Normal file
40
application/helpers/migration_helper.php
Normal file
@@ -0,0 +1,40 @@
|
||||
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
/**
|
||||
* Migration helper
|
||||
*/
|
||||
|
||||
function execute_script($path)
|
||||
{
|
||||
$CI =& get_instance();
|
||||
|
||||
$version = preg_replace("/(.*_)?(.*).sql/", "$2", $path);
|
||||
error_log("Migrating to $version");
|
||||
|
||||
$sql = file_get_contents($path);
|
||||
|
||||
/*
|
||||
CI migration only allows you to run one statement at a time.
|
||||
This small script splits the statements allowing you to run them all in one go.
|
||||
*/
|
||||
|
||||
$sqls = explode(';', $sql);
|
||||
array_pop($sqls);
|
||||
|
||||
foreach($sqls as $statement)
|
||||
{
|
||||
$statement = $statement . ';';
|
||||
|
||||
if(!$CI->db->simple_query($statement))
|
||||
{
|
||||
foreach($CI->db->error() as $error)
|
||||
{
|
||||
error_log('error: ' . $error);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
error_log("Migrated to $version");
|
||||
}
|
||||
|
||||
?>
|
||||
@@ -1,5 +1,9 @@
|
||||
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
/**
|
||||
* Report helper
|
||||
*/
|
||||
|
||||
function show_report_if_allowed($report_prefix, $report_name, $person_id, $permission_id = '')
|
||||
{
|
||||
$CI =& get_instance();
|
||||
|
||||
@@ -1,5 +1,60 @@
|
||||
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
/**
|
||||
* Tabular views helper
|
||||
*/
|
||||
|
||||
/*
|
||||
Basic tabular headers function
|
||||
*/
|
||||
function transform_headers_readonly($array)
|
||||
{
|
||||
$result = array();
|
||||
|
||||
foreach($array as $key => $value)
|
||||
{
|
||||
$result[] = array('field' => $key, 'title' => $value, 'sortable' => $value != '', 'switchable' => !preg_match('(^$| )', $value));
|
||||
}
|
||||
|
||||
return json_encode($result);
|
||||
}
|
||||
|
||||
/*
|
||||
Basic tabular headers function
|
||||
*/
|
||||
function transform_headers($array, $readonly = FALSE, $editable = TRUE)
|
||||
{
|
||||
$result = array();
|
||||
|
||||
if(!$readonly)
|
||||
{
|
||||
$array = array_merge(array(array('checkbox' => 'select', 'sortable' => FALSE)), $array);
|
||||
}
|
||||
|
||||
if($editable)
|
||||
{
|
||||
$array[] = array('edit' => '');
|
||||
}
|
||||
|
||||
foreach($array as $element)
|
||||
{
|
||||
reset($element);
|
||||
$result[] = array('field' => key($element),
|
||||
'title' => current($element),
|
||||
'switchable' => isset($element['switchable']) ? $element['switchable'] : !preg_match('(^$| )', current($element)),
|
||||
'sortable' => isset($element['sortable']) ? $element['sortable'] : current($element) != '',
|
||||
'checkbox' => isset($element['checkbox']) ? $element['checkbox'] : FALSE,
|
||||
'class' => isset($element['checkbox']) || preg_match('(^$| )', current($element)) ? 'print_hide' : '',
|
||||
'sorter' => isset($element['sorter']) ? $element ['sorter'] : '');
|
||||
}
|
||||
|
||||
return json_encode($result);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
Get the header for the sales tabular view
|
||||
*/
|
||||
function get_sales_manage_table_headers()
|
||||
{
|
||||
$CI =& get_instance();
|
||||
@@ -20,43 +75,23 @@ function get_sales_manage_table_headers()
|
||||
$headers[] = array('invoice' => ' ', 'sortable' => FALSE);
|
||||
}
|
||||
|
||||
return transform_headers(array_merge($headers, array(array('receipt' => ' ', 'sortable' => FALSE))));
|
||||
$headers[] = array('receipt' => ' ', 'sortable' => FALSE);
|
||||
|
||||
return transform_headers($headers);
|
||||
}
|
||||
|
||||
/*
|
||||
Gets the html data rows for the sales.
|
||||
*/
|
||||
function get_sale_data_last_row($sales, $controller)
|
||||
Get the html data row for the sales
|
||||
*/
|
||||
function get_sale_data_row($sale)
|
||||
{
|
||||
$CI =& get_instance();
|
||||
$sum_amount_due = 0;
|
||||
$sum_amount_tendered = 0;
|
||||
$sum_change_due = 0;
|
||||
|
||||
foreach($sales->result() as $key=>$sale)
|
||||
{
|
||||
$sum_amount_due += $sale->amount_due;
|
||||
$sum_amount_tendered += $sale->amount_tendered;
|
||||
$sum_change_due += $sale->change_due;
|
||||
}
|
||||
|
||||
return array(
|
||||
'sale_id' => '-',
|
||||
'sale_time' => '<b>'.$CI->lang->line('sales_total').'</b>',
|
||||
'amount_due' => '<b>'.to_currency($sum_amount_due).'</b>',
|
||||
'amount_tendered' => '<b>'. to_currency($sum_amount_tendered).'</b>',
|
||||
'change_due' => '<b>'.to_currency($sum_change_due).'</b>'
|
||||
);
|
||||
}
|
||||
|
||||
function get_sale_data_row($sale, $controller)
|
||||
{
|
||||
$CI =& get_instance();
|
||||
$controller_name = $CI->uri->segment(1);
|
||||
|
||||
$row = array (
|
||||
'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,
|
||||
'amount_due' => to_currency($sale->amount_due),
|
||||
'amount_tendered' => to_currency($sale->amount_tendered),
|
||||
@@ -83,11 +118,39 @@ function get_sale_data_row($sale, $controller)
|
||||
}
|
||||
|
||||
/*
|
||||
Get the sales payments summary
|
||||
Get the html data last row for the sales
|
||||
*/
|
||||
function get_sales_manage_payments_summary($payments, $sales, $controller)
|
||||
function get_sale_data_last_row($sales)
|
||||
{
|
||||
$CI =& get_instance();
|
||||
|
||||
$sum_amount_due = 0;
|
||||
$sum_amount_tendered = 0;
|
||||
$sum_change_due = 0;
|
||||
|
||||
foreach($sales->result() as $key=>$sale)
|
||||
{
|
||||
$sum_amount_due += $sale->amount_due;
|
||||
$sum_amount_tendered += $sale->amount_tendered;
|
||||
$sum_change_due += $sale->change_due;
|
||||
}
|
||||
|
||||
return array(
|
||||
'sale_id' => '-',
|
||||
'sale_time' => '<b>'.$CI->lang->line('sales_total').'</b>',
|
||||
'amount_due' => '<b>'.to_currency($sum_amount_due).'</b>',
|
||||
'amount_tendered' => '<b>'. to_currency($sum_amount_tendered).'</b>',
|
||||
'change_due' => '<b>'.to_currency($sum_change_due).'</b>'
|
||||
);
|
||||
}
|
||||
|
||||
/*
|
||||
Get the sales payments summary
|
||||
*/
|
||||
function get_sales_manage_payments_summary($payments, $sales)
|
||||
{
|
||||
$CI =& get_instance();
|
||||
|
||||
$table = '<div id="report_summary">';
|
||||
|
||||
foreach($payments as $key=>$payment)
|
||||
@@ -96,7 +159,7 @@ function get_sales_manage_payments_summary($payments, $sales, $controller)
|
||||
|
||||
// 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') )
|
||||
if($payment['payment_type'] == $CI->lang->line('sales_cash'))
|
||||
{
|
||||
foreach($sales->result_array() as $key=>$sale)
|
||||
{
|
||||
@@ -110,50 +173,10 @@ function get_sales_manage_payments_summary($payments, $sales, $controller)
|
||||
return $table;
|
||||
}
|
||||
|
||||
function transform_headers_readonly($array)
|
||||
{
|
||||
$result = array();
|
||||
foreach($array as $key => $value)
|
||||
{
|
||||
$result[] = array('field' => $key, 'title' => $value, 'sortable' => $value != '', 'switchable' => !preg_match('(^$| )', $value));
|
||||
}
|
||||
|
||||
return json_encode($result);
|
||||
}
|
||||
|
||||
function transform_headers($array, $readonly = FALSE, $editable = TRUE)
|
||||
{
|
||||
$result = array();
|
||||
|
||||
if (!$readonly)
|
||||
{
|
||||
$array = array_merge(array(array('checkbox' => 'select', 'sortable' => FALSE)), $array);
|
||||
}
|
||||
|
||||
if ($editable)
|
||||
{
|
||||
$array[] = array('edit' => '');
|
||||
}
|
||||
|
||||
foreach($array as $element)
|
||||
{
|
||||
reset($element);
|
||||
$result[] = array('field' => key($element),
|
||||
'title' => current($element),
|
||||
'switchable' => isset($element['switchable']) ?
|
||||
$element['switchable'] : !preg_match('(^$| )', current($element)),
|
||||
'sortable' => isset($element['sortable']) ?
|
||||
$element['sortable'] : current($element) != '',
|
||||
'checkbox' => isset($element['checkbox']) ?
|
||||
$element['checkbox'] : FALSE,
|
||||
'class' => isset($element['checkbox']) || preg_match('(^$| )', current($element)) ?
|
||||
'print_hide' : '',
|
||||
'sorter' => isset($element['sorter']) ?
|
||||
$element ['sorter'] : '');
|
||||
}
|
||||
return json_encode($result);
|
||||
}
|
||||
|
||||
/*
|
||||
Get the header for the people tabular view
|
||||
*/
|
||||
function get_people_manage_table_headers()
|
||||
{
|
||||
$CI =& get_instance();
|
||||
@@ -174,7 +197,10 @@ function get_people_manage_table_headers()
|
||||
return transform_headers($headers);
|
||||
}
|
||||
|
||||
function get_person_data_row($person, $controller)
|
||||
/*
|
||||
Get the html data row for the person
|
||||
*/
|
||||
function get_person_data_row($person)
|
||||
{
|
||||
$CI =& get_instance();
|
||||
$controller_name = strtolower(get_class($CI));
|
||||
@@ -189,9 +215,14 @@ function get_person_data_row($person, $controller)
|
||||
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>',
|
||||
array('class'=>'modal-dlg', 'data-btn-submit' => $CI->lang->line('common_submit'), 'title'=>$CI->lang->line($controller_name.'_update'))
|
||||
));
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
Get the header for the customer tabular view
|
||||
*/
|
||||
function get_customer_manage_table_headers()
|
||||
{
|
||||
$CI =& get_instance();
|
||||
@@ -213,9 +244,13 @@ function get_customer_manage_table_headers()
|
||||
return transform_headers($headers);
|
||||
}
|
||||
|
||||
function get_customer_data_row($person, $stats, $controller)
|
||||
/*
|
||||
Get the html data row for the customer
|
||||
*/
|
||||
function get_customer_data_row($person, $stats)
|
||||
{
|
||||
$CI =& get_instance();
|
||||
|
||||
$controller_name = strtolower(get_class($CI));
|
||||
|
||||
return array (
|
||||
@@ -232,6 +267,10 @@ function get_customer_data_row($person, $stats, $controller)
|
||||
));
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
Get the header for the suppliers tabular view
|
||||
*/
|
||||
function get_suppliers_manage_table_headers()
|
||||
{
|
||||
$CI =& get_instance();
|
||||
@@ -240,6 +279,7 @@ function get_suppliers_manage_table_headers()
|
||||
array('people.person_id' => $CI->lang->line('common_id')),
|
||||
array('company_name' => $CI->lang->line('suppliers_company_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('first_name' => $CI->lang->line('common_first_name')),
|
||||
array('email' => $CI->lang->line('common_email')),
|
||||
@@ -254,15 +294,20 @@ function get_suppliers_manage_table_headers()
|
||||
return transform_headers($headers);
|
||||
}
|
||||
|
||||
function get_supplier_data_row($supplier, $controller)
|
||||
/*
|
||||
Get the html data row for the supplier
|
||||
*/
|
||||
function get_supplier_data_row($supplier)
|
||||
{
|
||||
$CI =& get_instance();
|
||||
|
||||
$controller_name = strtolower(get_class($CI));
|
||||
|
||||
return array (
|
||||
'people.person_id' => $supplier->person_id,
|
||||
'company_name' => $supplier->company_name,
|
||||
'agency_name' => $supplier->agency_name,
|
||||
'category' => $supplier->category,
|
||||
'last_name' => $supplier->last_name,
|
||||
'first_name' => $supplier->first_name,
|
||||
'email' => empty($supplier->email) ? '' : mailto($supplier->email, $supplier->email),
|
||||
@@ -271,13 +316,19 @@ function get_supplier_data_row($supplier, $controller)
|
||||
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>',
|
||||
array('class'=>"modal-dlg", 'data-btn-submit' => $CI->lang->line('common_submit'), 'title'=>$CI->lang->line($controller_name.'_update')))
|
||||
);
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
Get the header for the items tabular view
|
||||
*/
|
||||
function get_items_manage_table_headers()
|
||||
{
|
||||
$CI =& get_instance();
|
||||
|
||||
$definition_names = $CI->Attribute->get_definitions_by_flags(Attribute::SHOW_IN_ITEMS);
|
||||
|
||||
$headers = array(
|
||||
array('items.item_id' => $CI->lang->line('common_id')),
|
||||
array('item_number' => $CI->lang->line('items_item_number')),
|
||||
@@ -286,31 +337,68 @@ function get_items_manage_table_headers()
|
||||
array('company_name' => $CI->lang->line('suppliers_company_name')),
|
||||
array('cost_price' => $CI->lang->line('items_cost_price')),
|
||||
array('unit_price' => $CI->lang->line('items_unit_price')),
|
||||
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' => '')
|
||||
array('quantity' => $CI->lang->line('items_quantity'))
|
||||
);
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
$headers[] = array('inventory' => '');
|
||||
$headers[] = array('stock' => '');
|
||||
|
||||
return transform_headers($headers);
|
||||
}
|
||||
|
||||
function get_item_data_row($item, $controller)
|
||||
/*
|
||||
Get the html data row for the item
|
||||
*/
|
||||
function get_item_data_row($item)
|
||||
{
|
||||
$CI =& get_instance();
|
||||
$item_tax_info = $CI->Item_taxes->get_info($item->item_id);
|
||||
$tax_percents = '';
|
||||
foreach($item_tax_info as $tax_info)
|
||||
|
||||
if($CI->config->item('use_destination_based_tax') == '1')
|
||||
{
|
||||
$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
|
||||
$tax_percents = substr($tax_percents, 0, -2);
|
||||
else
|
||||
{
|
||||
$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));
|
||||
|
||||
$image = NULL;
|
||||
if ($item->pic_filename != '')
|
||||
if($item->pic_filename != '')
|
||||
{
|
||||
$ext = pathinfo($item->pic_filename, PATHINFO_EXTENSION);
|
||||
if($ext == '')
|
||||
@@ -324,13 +412,20 @@ function get_item_data_row($item, $controller)
|
||||
$images = glob('./uploads/item_pics/' . $item->pic_filename);
|
||||
}
|
||||
|
||||
if (sizeof($images) > 0)
|
||||
if(sizeof($images) > 0)
|
||||
{
|
||||
$image .= '<a class="rollover" href="'. base_url($images[0]) .'"><img src="'.site_url('items/pic_thumb/' . pathinfo($images[0], PATHINFO_BASENAME)) . '"></a>';
|
||||
}
|
||||
}
|
||||
|
||||
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,
|
||||
'item_number' => $item->item_number,
|
||||
'name' => $item->name,
|
||||
@@ -340,7 +435,10 @@ function get_item_data_row($item, $controller)
|
||||
'unit_price' => to_currency($item->unit_price),
|
||||
'quantity' => to_quantity_decimals($item->quantity),
|
||||
'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>',
|
||||
array('class' => 'modal-dlg', 'data-btn-submit' => $CI->lang->line('common_submit'), 'title' => $CI->lang->line($controller_name.'_count'))
|
||||
),
|
||||
@@ -349,9 +447,17 @@ function get_item_data_row($item, $controller)
|
||||
),
|
||||
'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'))
|
||||
));
|
||||
)
|
||||
);
|
||||
|
||||
return $columns + expand_attribute_values($definition_names, (array) $item) + $icons;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
Get the header for the giftcard tabular view
|
||||
*/
|
||||
function get_giftcards_manage_table_headers()
|
||||
{
|
||||
$CI =& get_instance();
|
||||
@@ -367,26 +473,13 @@ function get_giftcards_manage_table_headers()
|
||||
return transform_headers($headers);
|
||||
}
|
||||
|
||||
function get_taxes_manage_table_headers()
|
||||
/*
|
||||
Get the html data row for the giftcard
|
||||
*/
|
||||
function get_giftcard_data_row($giftcard)
|
||||
{
|
||||
$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);
|
||||
}
|
||||
|
||||
function get_giftcard_data_row($giftcard, $controller)
|
||||
{
|
||||
$CI =& get_instance();
|
||||
$controller_name=strtolower(get_class($CI));
|
||||
|
||||
return array (
|
||||
@@ -397,29 +490,13 @@ function get_giftcard_data_row($giftcard, $controller)
|
||||
'value' => to_currency($giftcard->value),
|
||||
'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'))
|
||||
));
|
||||
}
|
||||
|
||||
function get_tax_data_row($tax_code_row, $controller)
|
||||
{
|
||||
$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
|
||||
*/
|
||||
function get_item_kits_manage_table_headers()
|
||||
{
|
||||
$CI =& get_instance();
|
||||
@@ -428,26 +505,302 @@ function get_item_kits_manage_table_headers()
|
||||
array('item_kit_id' => $CI->lang->line('item_kits_kit')),
|
||||
array('name' => $CI->lang->line('item_kits_name')),
|
||||
array('description' => $CI->lang->line('item_kits_description')),
|
||||
array('cost_price' => $CI->lang->line('items_cost_price'), 'sortable' => FALSE),
|
||||
array('unit_price' => $CI->lang->line('items_unit_price'), 'sortable' => FALSE)
|
||||
array('total_cost_price' => $CI->lang->line('items_cost_price'), 'sortable' => FALSE),
|
||||
array('total_unit_price' => $CI->lang->line('items_unit_price'), 'sortable' => FALSE)
|
||||
);
|
||||
|
||||
return transform_headers($headers);
|
||||
}
|
||||
|
||||
function get_item_kit_data_row($item_kit, $controller)
|
||||
/*
|
||||
Get the html data row for the item kit
|
||||
*/
|
||||
function get_item_kit_data_row($item_kit)
|
||||
{
|
||||
$CI =& get_instance();
|
||||
|
||||
$controller_name = strtolower(get_class($CI));
|
||||
|
||||
return array (
|
||||
'item_kit_id' => $item_kit->item_kit_id,
|
||||
'name' => $item_kit->name,
|
||||
'description' => $item_kit->description,
|
||||
'cost_price' => to_currency($item_kit->total_cost_price),
|
||||
'unit_price' => to_currency($item_kit->total_unit_price),
|
||||
'total_cost_price' => to_currency($item_kit->total_cost_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>',
|
||||
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
|
||||
*/
|
||||
function get_expense_category_manage_table_headers()
|
||||
{
|
||||
$CI =& get_instance();
|
||||
|
||||
$headers = array(
|
||||
array('expense_category_id' => $CI->lang->line('expenses_categories_category_id')),
|
||||
array('category_name' => $CI->lang->line('expenses_categories_name')),
|
||||
array('category_description' => $CI->lang->line('expenses_categories_description'))
|
||||
);
|
||||
|
||||
return transform_headers($headers);
|
||||
}
|
||||
|
||||
/*
|
||||
Gets the html data row for the expenses category
|
||||
*/
|
||||
function get_expense_category_data_row($expense_category)
|
||||
{
|
||||
$CI =& get_instance();
|
||||
|
||||
$controller_name = strtolower(get_class($CI));
|
||||
|
||||
return array (
|
||||
'expense_category_id' => $expense_category->expense_category_id,
|
||||
'category_name' => $expense_category->category_name,
|
||||
'category_description' => $expense_category->category_description,
|
||||
'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'))
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
Get the header for the expenses tabular view
|
||||
*/
|
||||
function get_expenses_manage_table_headers()
|
||||
{
|
||||
$CI =& get_instance();
|
||||
|
||||
$headers = array(
|
||||
array('expense_id' => $CI->lang->line('expenses_expense_id')),
|
||||
array('date' => $CI->lang->line('expenses_date')),
|
||||
array('supplier_name' => $CI->lang->line('expenses_supplier_name')),
|
||||
array('supplier_tax_code' => $CI->lang->line('expenses_supplier_tax_code')),
|
||||
array('amount' => $CI->lang->line('expenses_amount')),
|
||||
array('tax_amount' => $CI->lang->line('expenses_tax_amount')),
|
||||
array('payment_type' => $CI->lang->line('expenses_payment')),
|
||||
array('category_name' => $CI->lang->line('expenses_categories_name')),
|
||||
array('description' => $CI->lang->line('expenses_description')),
|
||||
array('created_by' => $CI->lang->line('expenses_employee'))
|
||||
);
|
||||
|
||||
return transform_headers($headers);
|
||||
}
|
||||
|
||||
/*
|
||||
Gets the html data row for the expenses
|
||||
*/
|
||||
function get_expenses_data_row($expense)
|
||||
{
|
||||
$CI =& get_instance();
|
||||
|
||||
$controller_name = strtolower(get_class($CI));
|
||||
|
||||
return array (
|
||||
'expense_id' => $expense->expense_id,
|
||||
'date' => to_datetime(strtotime($expense->date)),
|
||||
'supplier_name' => $expense->supplier_name,
|
||||
'supplier_tax_code' => $expense->supplier_tax_code,
|
||||
'amount' => to_currency($expense->amount),
|
||||
'tax_amount' => to_currency($expense->tax_amount),
|
||||
'payment_type' => $expense->payment_type,
|
||||
'category_name' => $expense->category_name,
|
||||
'description' => $expense->description,
|
||||
'created_by' => $expense->first_name.' '. $expense->last_name,
|
||||
'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'))
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
/*
|
||||
Get the html data last row for the expenses
|
||||
*/
|
||||
function get_expenses_data_last_row($expense)
|
||||
{
|
||||
$CI =& get_instance();
|
||||
|
||||
$table_data_rows = '';
|
||||
$sum_amount_expense = 0;
|
||||
$sum_tax_amount_expense = 0;
|
||||
|
||||
foreach($expense->result() as $key=>$expense)
|
||||
{
|
||||
$sum_amount_expense += $expense->amount;
|
||||
$sum_tax_amount_expense += $expense->tax_amount;
|
||||
}
|
||||
|
||||
return array(
|
||||
'expense_id' => '-',
|
||||
'date' => '<b>'.$CI->lang->line('sales_total').'</b>',
|
||||
'amount' => '<b>'. to_currency($sum_amount_expense).'</b>',
|
||||
'tax_amount' => '<b>'. to_currency($sum_tax_amount_expense).'</b>'
|
||||
);
|
||||
}
|
||||
|
||||
/*
|
||||
Get the expenses payments summary
|
||||
*/
|
||||
function get_expenses_manage_payments_summary($payments, $expenses)
|
||||
{
|
||||
$CI =& get_instance();
|
||||
|
||||
$table = '<div id="report_summary">';
|
||||
|
||||
foreach($payments as $key=>$payment)
|
||||
{
|
||||
$amount = $payment['amount'];
|
||||
$table .= '<div class="summary_row">' . $payment['payment_type'] . ': ' . to_currency($amount) . '</div>';
|
||||
}
|
||||
|
||||
$table .= '</div>';
|
||||
|
||||
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'))
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
?>
|
||||
@@ -1,5 +1,8 @@
|
||||
<?php
|
||||
// Name of function same as mentioned in Hooks Config
|
||||
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
/**
|
||||
* Name of function same as mentioned in Hooks Config
|
||||
*/
|
||||
function db_log_queries()
|
||||
{
|
||||
$CI = & get_instance();
|
||||
@@ -14,7 +17,7 @@ function db_log_queries()
|
||||
|
||||
// Get execution time of all the queries executed by controller
|
||||
$times = $CI->db->query_times;
|
||||
foreach ($CI->db->queries as $key => $query)
|
||||
foreach($CI->db->queries as $key => $query)
|
||||
{
|
||||
// Generating SQL file alongwith execution time
|
||||
$sql = $query . " \n Execution Time:" . $times[$key];
|
||||
@@ -26,4 +29,5 @@ function db_log_queries()
|
||||
fclose($handle);
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
?>
|
||||
|
||||
@@ -1,28 +1,34 @@
|
||||
<?php
|
||||
//Loads configuration from database into global CI config
|
||||
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
/**
|
||||
* Loads configuration from database into global CI config
|
||||
*/
|
||||
function load_config()
|
||||
{
|
||||
$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)
|
||||
{
|
||||
$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('../vendor/codeigniter/framework/system/language', current_language());
|
||||
load_language_files('../application/language', current_language_code());
|
||||
// fallback to English if language settings are not correct
|
||||
$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
|
||||
if($CI->config->item('timezone'))
|
||||
{
|
||||
@@ -37,13 +43,12 @@ function load_config()
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $language
|
||||
* @param $CI
|
||||
* @param $path
|
||||
* @param $language
|
||||
*/
|
||||
function load_language_files($path, $language)
|
||||
function _load_language_files($CI, $path, $language)
|
||||
{
|
||||
$CI =& get_instance();
|
||||
|
||||
$map = directory_map($path . DIRECTORY_SEPARATOR . $language);
|
||||
|
||||
foreach($map as $file)
|
||||
|
||||
@@ -1,58 +0,0 @@
|
||||
<?php
|
||||
|
||||
function load_stats()
|
||||
{
|
||||
$CI =& get_instance();
|
||||
$line = $CI->lang->line('common_you_are_using_ospos');
|
||||
|
||||
if(count($CI->session->userdata('session_sha1')) == 0)
|
||||
{
|
||||
$footer_tags = file_get_contents(APPPATH . 'views/partial/footer.php');
|
||||
$d = preg_replace('/\$Id:\s.*?\s\$/', '$Id$', $footer_tags);
|
||||
$session_sha1 = sha1("blob " .strlen( $d ). "\0" . $d);
|
||||
$CI->session->set_userdata('session_sha1', substr($session_sha1, 0, 7));
|
||||
|
||||
preg_match('/\$Id:\s(.*?)\s\$/', $footer_tags, $matches);
|
||||
$needle = 'Open Source Point Of Sale';
|
||||
|
||||
if(!stristr($line, $needle) || $session_sha1 != $matches[1])
|
||||
{
|
||||
$CI->load->library('tracking_lib');
|
||||
|
||||
$roguer = $CI->Appconfig->get('company') . ' | ' . $CI->Appconfig->get('address') . ' | ' . $CI->Appconfig->get('email') . ' | ' . $CI->Appconfig->get('website') . ' | ' . $CI->config->item('base_url');
|
||||
$CI->tracking_lib->track_page('rogue/roguer', 'roguer', $roguer);
|
||||
$CI->tracking_lib->track_page('rogue/footer', 'rogue footer', $footer_tags);
|
||||
|
||||
$login_footer = '';
|
||||
|
||||
if($handle = @fopen(APPPATH . 'views/login.php', 'r'))
|
||||
{
|
||||
while(!feof($handle))
|
||||
{
|
||||
$buffer = fgets($handle);
|
||||
if(strpos($buffer, $needle) !== FALSE)
|
||||
{
|
||||
$login_footer = '';
|
||||
}
|
||||
elseif(strpos($buffer, 'form_close') !== FALSE)
|
||||
{
|
||||
$login_footer = 'Footer: ';
|
||||
}
|
||||
elseif($login_footer != '')
|
||||
{
|
||||
$login_footer .= $buffer;
|
||||
}
|
||||
}
|
||||
|
||||
fclose($handle);
|
||||
}
|
||||
|
||||
if($login_footer != '')
|
||||
{
|
||||
$CI->tracking_lib->track_page('rogue/login', 'rogue login', $login_footer);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
@@ -2,9 +2,7 @@ ISO Language Code Table
|
||||
-----------------------
|
||||
|
||||
Code Name
|
||||
af Afrikaans
|
||||
af-ZA Afrikaans (South Africa)
|
||||
ar Arabic
|
||||
ar-AE Arabic (U.A.E.)
|
||||
ar-BH Arabic (Bahrain)
|
||||
ar-DZ Arabic (Algeria)
|
||||
@@ -21,33 +19,22 @@ ar-SA Arabic (Saudi Arabia)
|
||||
ar-SY Arabic (Syria)
|
||||
ar-TN Arabic (Tunisia)
|
||||
ar-YE Arabic (Yemen)
|
||||
az Azeri (Latin)
|
||||
az-AZ Azeri (Latin) (Azerbaijan)
|
||||
az-AZ Azeri (Cyrillic) (Azerbaijan)
|
||||
be Belarusian
|
||||
be-BY Belarusian (Belarus)
|
||||
bg Bulgarian
|
||||
bg-BG Bulgarian (Bulgaria)
|
||||
bs-BA Bosnian (Bosnia and Herzegovina)
|
||||
ca Catalan
|
||||
ca-ES Catalan (Spain)
|
||||
cs Czech
|
||||
cs-CZ Czech (Czech Republic)
|
||||
cy Welsh
|
||||
cy-GB Welsh (United Kingdom)
|
||||
da Danish
|
||||
da-DK Danish (Denmark)
|
||||
de German
|
||||
de-AT German (Austria)
|
||||
de-CH German (Switzerland)
|
||||
de-DE German (Germany)
|
||||
de-LI German (Liechtenstein)
|
||||
de-LU German (Luxembourg)
|
||||
dv Divehi
|
||||
dv-MV Divehi (Maldives)
|
||||
el Greek
|
||||
el-GR Greek (Greece)
|
||||
en English
|
||||
en-AU English (Australia)
|
||||
en-BZ English (Belize)
|
||||
en-CA English (Canada)
|
||||
@@ -61,8 +48,6 @@ en-TT English (Trinidad and Tobago)
|
||||
en-US English (United States)
|
||||
en-ZA English (South Africa)
|
||||
en-ZW English (Zimbabwe)
|
||||
eo Esperanto
|
||||
es Spanish
|
||||
es-AR Spanish (Argentina)
|
||||
es-BO Spanish (Bolivia)
|
||||
es-CL Spanish (Chile)
|
||||
@@ -83,104 +68,61 @@ es-PY Spanish (Paraguay)
|
||||
es-SV Spanish (El Salvador)
|
||||
es-UY Spanish (Uruguay)
|
||||
es-VE Spanish (Venezuela)
|
||||
et Estonian
|
||||
et-EE Estonian (Estonia)
|
||||
eu Basque
|
||||
eu-ES Basque (Spain)
|
||||
fa Farsi
|
||||
fa-IR Farsi (Iran)
|
||||
fi Finnish
|
||||
fi-FI Finnish (Finland)
|
||||
fo Faroese
|
||||
fo-FO Faroese (Faroe Islands)
|
||||
fr French
|
||||
fr-BE French (Belgium)
|
||||
fr-CA French (Canada)
|
||||
fr-CH French (Switzerland)
|
||||
fr-FR French (France)
|
||||
fr-LU French (Luxembourg)
|
||||
fr-MC French (Principality of Monaco)
|
||||
gl Galician
|
||||
gl-ES Galician (Spain)
|
||||
gu Gujarati
|
||||
gu-IN Gujarati (India)
|
||||
he Hebrew
|
||||
he-IL Hebrew (Israel)
|
||||
hi Hindi
|
||||
hi-IN Hindi (India)
|
||||
hr Croatian
|
||||
hr-BA Croatian (Bosnia and Herzegovina)
|
||||
hr-HR Croatian (Croatia)
|
||||
hu Hungarian
|
||||
hu-HU Hungarian (Hungary)
|
||||
hy Armenian
|
||||
hy-AM Armenian (Armenia)
|
||||
id Indonesian
|
||||
id-ID Indonesian (Indonesia)
|
||||
is Icelandic
|
||||
is-IS Icelandic (Iceland)
|
||||
it Italian
|
||||
it-CH Italian (Switzerland)
|
||||
it-IT Italian (Italy)
|
||||
ja Japanese
|
||||
ja-JP Japanese (Japan)
|
||||
ka Georgian
|
||||
ka-GE Georgian (Georgia)
|
||||
kk Kazakh
|
||||
kk-KZ Kazakh (Kazakhstan)
|
||||
kn Kannada
|
||||
kn-IN Kannada (India)
|
||||
ko Korean
|
||||
ko-KR Korean (Korea)
|
||||
kok Konkani
|
||||
kok-IN Konkani (India)
|
||||
ky Kyrgyz
|
||||
ky-KG Kyrgyz (Kyrgyzstan)
|
||||
lt Lithuanian
|
||||
lt-LT Lithuanian (Lithuania)
|
||||
lv Latvian
|
||||
lv-LV Latvian (Latvia)
|
||||
mi Maori
|
||||
mi-NZ Maori (New Zealand)
|
||||
mk FYRO Macedonian
|
||||
mk-MK FYRO Macedonian (Former Yugoslav Republic of Macedonia)
|
||||
mn Mongolian
|
||||
mn-MN Mongolian (Mongolia)
|
||||
mr Marathi
|
||||
mr-IN Marathi (India)
|
||||
ms Malay
|
||||
ms-BN Malay (Brunei Darussalam)
|
||||
ms-MY Malay (Malaysia)
|
||||
mt Maltese
|
||||
mt-MT Maltese (Malta)
|
||||
nb Norwegian (Bokm?l)
|
||||
nb-NO Norwegian (Bokm?l) (Norway)
|
||||
nl Dutch
|
||||
nl-BE Dutch (Belgium)
|
||||
nl-NL Dutch (Netherlands)
|
||||
nn-NO Norwegian (Nynorsk) (Norway)
|
||||
ns Northern Sotho
|
||||
ns-ZA Northern Sotho (South Africa)
|
||||
pa Punjabi
|
||||
pa-IN Punjabi (India)
|
||||
pl Polish
|
||||
pl-PL Polish (Poland)
|
||||
ps Pashto
|
||||
ps-AR Pashto (Afghanistan)
|
||||
pt Portuguese
|
||||
pt-BR Portuguese (Brazil)
|
||||
pt-PT Portuguese (Portugal)
|
||||
qu Quechua
|
||||
qu-BO Quechua (Bolivia)
|
||||
qu-EC Quechua (Ecuador)
|
||||
qu-PE Quechua (Peru)
|
||||
ro Romanian
|
||||
ro-RO Romanian (Romania)
|
||||
ru Russian
|
||||
ru-RU Russian (Russia)
|
||||
sa Sanskrit
|
||||
sa-IN Sanskrit (India)
|
||||
se Sami (Northern)
|
||||
se-FI Sami (Northern) (Finland)
|
||||
se-FI Sami (Skolt) (Finland)
|
||||
se-FI Sami (Inari) (Finland)
|
||||
@@ -190,55 +132,35 @@ se-NO Sami (Southern) (Norway)
|
||||
se-SE Sami (Northern) (Sweden)
|
||||
se-SE Sami (Lule) (Sweden)
|
||||
se-SE Sami (Southern) (Sweden)
|
||||
sk Slovak
|
||||
sk-SK Slovak (Slovakia)
|
||||
sl Slovenian
|
||||
sl-SI Slovenian (Slovenia)
|
||||
sq Albanian
|
||||
sq-AL Albanian (Albania)
|
||||
sr-BA Serbian (Latin) (Bosnia and Herzegovina)
|
||||
sr-BA Serbian (Cyrillic) (Bosnia and Herzegovina)
|
||||
sr-SP Serbian (Latin) (Serbia and Montenegro)
|
||||
sr-SP Serbian (Cyrillic) (Serbia and Montenegro)
|
||||
sv Swedish
|
||||
sv-FI Swedish (Finland)
|
||||
sv-SE Swedish (Sweden)
|
||||
sw Swahili
|
||||
sw-KE Swahili (Kenya)
|
||||
syr Syriac
|
||||
syr-SY Syriac (Syria)
|
||||
ta Tamil
|
||||
ta-IN Tamil (India)
|
||||
te Telugu
|
||||
te-IN Telugu (India)
|
||||
th Thai
|
||||
th-TH Thai (Thailand)
|
||||
tl Tagalog
|
||||
tl-PH Tagalog (Philippines)
|
||||
tn Tswana
|
||||
tn-ZA Tswana (South Africa)
|
||||
tr Turkish
|
||||
tr-TR Turkish (Turkey)
|
||||
tt Tatar
|
||||
tt-RU Tatar (Russia)
|
||||
ts Tsonga
|
||||
uk Ukrainian
|
||||
uk-UA Ukrainian (Ukraine)
|
||||
ur Urdu
|
||||
ur-PK Urdu (Islamic Republic of Pakistan)
|
||||
uz Uzbek (Latin)
|
||||
uz-UZ Uzbek (Latin) (Uzbekistan)
|
||||
uz-UZ Uzbek (Cyrillic) (Uzbekistan)
|
||||
vi Vietnamese
|
||||
vi-VN Vietnamese (Viet Nam)
|
||||
xh Xhosa
|
||||
xh-ZA Xhosa (South Africa)
|
||||
zh Chinese
|
||||
zh-CN Chinese (S)
|
||||
zh-Hans Chinese in the simplified scrip
|
||||
zh-Hant Chinese in the traditional script
|
||||
zh-HK Chinese (Hong Kong)
|
||||
zh-MO Chinese (Macau)
|
||||
zh-SG Chinese (Singapore)
|
||||
zh-TW Chinese (T)
|
||||
zu Zulu
|
||||
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_columns"] = "أعمدة";
|
||||
$lang["tables_hide_show_pagination"] = "عرض/إخفاء أرقام الصفحات";
|
||||
$lang["tables_loading"] = "جارى التحميل، برجاء الإنتظار";
|
||||
$lang["tables_loading"] = "جارى التحميل، برجاء الإنتظار ...";
|
||||
$lang["tables_page_from_to"] = "عرض {0} إلى {1} من {2} صفوف";
|
||||
$lang["tables_refresh"] = "إعادة تحميل";
|
||||
$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,7 @@ $lang["common_close"] = "إغلاق";
|
||||
$lang["common_comments"] = "تعليقات";
|
||||
$lang["common_common"] = "عام";
|
||||
$lang["common_confirm_search"] = "لقد قمت اختيار أكتر من سجل، سوف تفقد هذه الاختيارات عند إرسال البحث، موافق؟";
|
||||
$lang["common_correct_errors"] = "يرجى تصحيح الأخطاء المحددة قبل الحفظ";
|
||||
$lang["common_country"] = "البلد";
|
||||
$lang["common_date"] = "التاريخ";
|
||||
$lang["common_delete"] = "حذف";
|
||||
@@ -14,13 +15,13 @@ $lang["common_det"] = "تفاصيل";
|
||||
$lang["common_download_import_template"] = "تنزيل قالب الاستيراد من اكسل (CSV)";
|
||||
$lang["common_edit"] = "تحرير";
|
||||
$lang["common_email"] = "بريد إلكتروني";
|
||||
$lang["common_email_invalid_format"] = "شكل البريد الإلكتروني غير صحيح";
|
||||
$lang["common_email_invalid_format"] = "شكل البريد الإلكتروني غير صحيح.";
|
||||
$lang["common_export_excel"] = "تصدير إلى اكسل";
|
||||
$lang["common_export_excel_no"] = "لا";
|
||||
$lang["common_export_excel_yes"] = "نعم";
|
||||
$lang["common_fields_required_message"] = "الحقول التي بالأحمر مطلوبة";
|
||||
$lang["common_first_name"] = "الاسم الأول";
|
||||
$lang["common_first_name_required"] = "الاسم الأول مطلوب";
|
||||
$lang["common_first_name_required"] = "الاسم الأول مطلوب.";
|
||||
$lang["common_first_page"] = "الأول";
|
||||
$lang["common_gender"] = "النوع";
|
||||
$lang["common_gender_female"] = "أنثى";
|
||||
@@ -34,14 +35,15 @@ $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_name_required"] = "الاسم الأخير مطلوب.";
|
||||
$lang["common_last_page"] = "الأخيرة";
|
||||
$lang["common_learn_about_project"] = "للتعرف على أخر المعلومات حول المشروع";
|
||||
$lang["common_learn_about_project"] = "للتعرف على أخر المعلومات حول المشروع.";
|
||||
$lang["common_list_of"] = "قائمة بـ";
|
||||
$lang["common_logout"] = "خروج";
|
||||
$lang["common_migration_needed"] = "سيبدأ ترحيل قاعدة البيانات إلى ٪1 بعد تسجيل الدخول.";
|
||||
$lang["common_new"] = "جديد";
|
||||
$lang["common_no_persons_to_display"] = "لا يوجد اناس لعرضهم";
|
||||
$lang["common_none_selected_text"] = "لم يتم اختيار شيء";
|
||||
$lang["common_no_persons_to_display"] = "لا يوجد اناس لعرضهم.";
|
||||
$lang["common_none_selected_text"] = "[إختيار]";
|
||||
$lang["common_or"] = "أو";
|
||||
$lang["common_phone_number"] = "رقم التليفون";
|
||||
$lang["common_phone_number_required"] = "رقم التليفون مطلوب";
|
||||
@@ -51,17 +53,18 @@ $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_total_spent"] = "مجموع الصرف";
|
||||
$lang["common_unknown"] = "غير معروف";
|
||||
$lang["common_view_recent_sales"] = "عرض أحدث المبيعات";
|
||||
$lang["common_website"] = "الموقع الإلكترونى";
|
||||
$lang["common_welcome"] = "مرحباً";
|
||||
$lang["common_welcome_message"] = "مرحباً فى OSPOS برجاء إختيار أى قسم للبدء";
|
||||
$lang["common_you_are_using_ospos"] = "أنت تستخدم إصدار Open Source Point Of Sale ";
|
||||
$lang["common_welcome_message"] = "مرحباً فى OSPOS برجاء إختيار أى قسم للبدء.";
|
||||
$lang["common_you_are_using_ospos"] = "أنت تستخدم إصدار Open Source Point Of Sale";
|
||||
$lang["common_zip"] = "الرقم البريدى";
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
|
||||
<?php
|
||||
$lang["config_address"] = "عنوان الشركة";
|
||||
$lang["config_address_required"] = "عنوان الشركة مطلوب";
|
||||
$lang["config_address_required"] = "عنوان الشركة مطلوب.";
|
||||
$lang["config_allow_duplicate_barcodes"] = "السماح بتشابة الباركود";
|
||||
$lang["config_apostrophe"] = "الفاصلة";
|
||||
$lang["config_backup_button"] = "نسخ إحتياطى";
|
||||
$lang["config_backup_database"] = "نسخ إحتياطى لقاعدة البيانات";
|
||||
@@ -11,8 +11,8 @@ $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_formats"] = "اشكال الادخال";
|
||||
$lang["config_barcode_generate_if_empty"] = "توليد اذا كان الباركود فارغ.";
|
||||
$lang["config_barcode_height"] = "الارتفاع (px)";
|
||||
$lang["config_barcode_id"] = "كود/اسم الصنف";
|
||||
$lang["config_barcode_info"] = "معلومات اعدادات الباركود";
|
||||
@@ -20,18 +20,18 @@ $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_cellspacing"] = "المسافة بين الخلايا فى صفحة العرض.";
|
||||
$lang["config_barcode_page_width"] = "عرض الصفحة";
|
||||
$lang["config_barcode_price"] = "السعر";
|
||||
$lang["config_barcode_quality"] = "الجودة (1-100)";
|
||||
$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_cash_decimals"] = "فواصل النقدية";
|
||||
$lang["config_cash_decimals_tooltip"] = "إذا كانت الكسور العشرية النقدية وعشرية العملات هي نفسها ثم لن يتم تقريب النقدية.";
|
||||
$lang["config_cash_rounding"] = "التقريب النقدي";
|
||||
$lang["config_center"] = "الوسط";
|
||||
$lang["config_comma"] = "فاصلة";
|
||||
$lang["config_company"] = "اسم الشركة";
|
||||
@@ -40,171 +40,190 @@ $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_company_website_url"] = "الموقع الإلكترونى للشركة غير صحيح.";
|
||||
$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_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_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_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_quality_number"] = "الجودة الافتراضية للباركود لابد ان تكون رقم";
|
||||
$lang["config_default_barcode_quality_required"] = "الجودة الافتراضية للباركود مطلوبة";
|
||||
$lang["config_default_barcode_width_number"] = "العرض الافتراضي للباركود لابد ان يكون رقم";
|
||||
$lang["config_default_barcode_width_required"] = "العرض الافتراضي للباركود مطلوب";
|
||||
$lang["config_default_origin_tax_code"] = "";
|
||||
$lang["config_default_sales_discount"] = "نسبة الخصم الافتراضية %";
|
||||
$lang["config_default_sales_discount_number"] = "نسبة الخصم الافتراضية لابد ان تكون رقم";
|
||||
$lang["config_default_sales_discount_required"] = "نسبة الخصم الافتراضية مطلوبة";
|
||||
$lang["config_default_tax_name_number"] = "";
|
||||
$lang["config_default_tax_name_required"] = "اسم الضريبة الافتراضية مطلوب";
|
||||
$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_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_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_financial_year"] = "";
|
||||
$lang["config_financial_year_apr"] = "";
|
||||
$lang["config_financial_year_aug"] = "";
|
||||
$lang["config_financial_year_dec"] = "";
|
||||
$lang["config_financial_year_feb"] = "";
|
||||
$lang["config_financial_year_jan"] = "";
|
||||
$lang["config_financial_year_jul"] = "";
|
||||
$lang["config_financial_year_jun"] = "";
|
||||
$lang["config_financial_year_mar"] = "";
|
||||
$lang["config_financial_year_may"] = "";
|
||||
$lang["config_financial_year_nov"] = "";
|
||||
$lang["config_financial_year_oct"] = "";
|
||||
$lang["config_financial_year_sep"] = "";
|
||||
$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_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_giftcard_number"] = "رقم كارت الهدية";
|
||||
$lang["config_giftcard_random"] = "توليد عشوائي";
|
||||
$lang["config_giftcard_series"] = "توليد في السلسلة";
|
||||
$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_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_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_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_key_successfully"] = "نجاح.";
|
||||
$lang["config_mailchimp_key_unsuccessfully"] = "فشل.";
|
||||
$lang["config_mailchimp_lists"] = "mailchimp قوائم";
|
||||
$lang["config_mailchimp_tooltip"] = "";
|
||||
$lang["config_mailchimp_tooltip"] = "انقر على رمز مفتاح API.";
|
||||
$lang["config_message"] = "الرسائل";
|
||||
$lang["config_message_configuration"] = "إعدادات الرسائل";
|
||||
$lang["config_msg_msg"] = "الرسائل النصية المحفوظة";
|
||||
$lang["config_msg_msg_placeholder"] = "إذا أردت إستخدام قالب للرسائل القصيرة احفظه هنا. عدا ذلك أترك هذا الحقل فارغ";
|
||||
$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_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_number_locale_invalid"] = "التهيئة الإقليمية المختارة غير صحية، راجع الرابط الموجود فى الملاحظة لاختيار تهيئة مناسبة.";
|
||||
$lang["config_number_locale_required"] = "رقم التهيئة الإقليمية مطلوب.";
|
||||
$lang["config_number_locale_tooltip"] = "إيجاد تهيئة إقليمية مناسبة عبر الرابط.";
|
||||
$lang["config_ospos_info"] = "معلومات التثبيت OSPOS";
|
||||
$lang["config_payment_options_order"] = "ترتيب خيارات الدفع";
|
||||
$lang["config_phone"] = "هاتف الشركة";
|
||||
$lang["config_phone_required"] = "هاتف الشركة مطلوب";
|
||||
$lang["config_phone_required"] = "هاتف الشركة مطلوب.";
|
||||
$lang["config_print_bottom_margin"] = "الهامش السفلي";
|
||||
$lang["config_print_bottom_margin_number"] = "الهامش السفلي يجب أن يكون رقم";
|
||||
$lang["config_print_bottom_margin_required"] = "الهامش السفلي مطلوب";
|
||||
$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_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_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_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_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"] = "مختصر";
|
||||
@@ -217,31 +236,45 @@ $lang["config_receipt_template"] = "قالب الايصال";
|
||||
$lang["config_receiving_calculate_average_price"] = "حساب متوسط سعر الأصناف المستلمة";
|
||||
$lang["config_recv_invoice_format"] = "شكل فاتورة الإستلام";
|
||||
$lang["config_register_mode_default"] = "نمط التسجيل الافتراضي";
|
||||
$lang["config_return_policy_required"] = "سياسة الإسترجاع مطلوب";
|
||||
$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_saved_successfully"] = "تم حفظ التهيئة بنجاح.";
|
||||
$lang["config_saved_unsuccessfully"] = "لم يتم حفظ التهيئة بنجاح.";
|
||||
$lang["config_server_notice"] = "يرجى استخدام المعلومات أدناه للإبلاغ عن المشكلة.";
|
||||
$lang["config_show_office_group"] = "اظهار ايكونة المكتب";
|
||||
$lang["config_statistics"] = "إرسال اﻹحصائيات";
|
||||
$lang["config_statistics_tooltip"] = "إرسال اﻹحصائيات ﻷغراض التطوير و التحسين";
|
||||
$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_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_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_used"] = "";
|
||||
$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_top"] = "علوى";
|
||||
$lang["config_use_destination_based_tax"] = "استخدام الضريبة المستندة على الوجهة";
|
||||
$lang["config_website"] = "موقع الشركة";
|
||||
$lang["config_work_order_enable"] = "تفعيل طلبات العمل";
|
||||
$lang["config_work_order_format"] = "شكل طلبات العمل";
|
||||
|
||||
@@ -1,45 +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_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_customer"] = "العميل";
|
||||
$lang["customers_date"] = "التاريخ";
|
||||
$lang["customers_discount"] = "نسبة الخصم";
|
||||
$lang["customers_email_duplicate"] = "";
|
||||
$lang["customers_error_adding_updating"] = "خطاء فى إضافة أو تحديث العميل";
|
||||
$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_excel_import_failed"] = "فشل الإستيراد من اكسل";
|
||||
$lang["customers_excel_import_nodata_wrongformat"] = "الملف الذى رفعته إما فارغ أو أنه مختلف البنية";
|
||||
$lang["customers_excel_import_partially_failed"] = "تم استيراد معظم العملاء. البعض لم يتم استيرادهم ، وهذه هى القائمة";
|
||||
$lang["customers_excel_import_success"] = "تم استيراد العملاء بنجاح";
|
||||
$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_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_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_none_selected"] = "لم تختار عملاء للحذف.";
|
||||
$lang["customers_one_or_multiple"] = "عميل/عملاء";
|
||||
$lang["customers_quantity"] = "";
|
||||
$lang["customers_stats_info"] = "";
|
||||
$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_code"] = "كود الضريبة";
|
||||
$lang["customers_tax_id"] = "الرقم الضريبي";
|
||||
$lang["customers_taxable"] = "خاضع للضريبة";
|
||||
$lang["customers_total"] = "المجموع";
|
||||
$lang["customers_update"] = "تحديث بيانات عميل";
|
||||
$lang["rewards_package"] = "";
|
||||
$lang["rewards_package"] = "فئة المكافئة";
|
||||
|
||||
@@ -7,12 +7,12 @@ $lang["datepicker_custom"] = "مخصص";
|
||||
$lang["datepicker_from"] = "من";
|
||||
$lang["datepicker_last_30"] = "أخر 30 يوم";
|
||||
$lang["datepicker_last_7"] = "أخر سبعة أيام";
|
||||
$lang["datepicker_last_financial_year"] = "";
|
||||
$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_financial_year"] = "السنة المالية الحالية";
|
||||
$lang["datepicker_this_month"] = "هذا الشهر";
|
||||
$lang["datepicker_this_year"] = "السنة الحالية";
|
||||
$lang["datepicker_to"] = "إلى";
|
||||
|
||||
@@ -1,34 +1,37 @@
|
||||
<?php
|
||||
|
||||
$lang["employees_basic_information"] = "المعلومات الأساسية للموظف";
|
||||
$lang["employees_cannot_be_deleted"] = "لايمكن حذف الموظفين ، واحد أو أكثر من المظفين قام بإجراء مبيعات :)";
|
||||
$lang["employees_change_password"] = "";
|
||||
$lang["employees_cannot_be_deleted"] = "لايمكن حذف الموظفين ، واحد أو أكثر من المظفين قام بإجراء مبيعات :).";
|
||||
$lang["employees_change_password"] = "تغيير كلمة المرور";
|
||||
$lang["employees_confirm_delete"] = "هل أنت متأكد أنك تريد حذف الموظفين المختارين؟";
|
||||
$lang["employees_current_password"] = "";
|
||||
$lang["employees_current_password_invalid"] = "";
|
||||
$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_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_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_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_subpermission_required"] = "يجب إختيار صلاحية واحدة على الأقل لكل قسم.";
|
||||
$lang["employees_successful_adding"] = "لقد تم إضافة الموظف بنجاح.";
|
||||
$lang["employees_successful_change_password"] = "تم تغيير كلمة المرور بنجاح.";
|
||||
$lang["employees_successful_deleted"] = "لقد تم حذف الموظف بنجاح";
|
||||
$lang["employees_successful_updating"] = "لقد تم تحديث بيانات الموظف بنجاح";
|
||||
$lang["employees_unsuccessful_change_password"] = "";
|
||||
$lang["employees_system_language"] = "لغة النظام";
|
||||
$lang["employees_unsuccessful_change_password"] = "فشل في تغيير كلمة المرور.";
|
||||
$lang["employees_update"] = "تحديث بيانات موظف";
|
||||
$lang["employees_username"] = "اسم المستخدم";
|
||||
$lang["employees_username_minlength"] = "اسم المستخدم يجب أن يكون 5 حروف على الأقل";
|
||||
$lang["employees_username_required"] = "اسم المستخدم مطلوب";
|
||||
$lang["employees_username_minlength"] = "اسم المستخدم يجب أن يكون 5 حروف على الأقل.";
|
||||
$lang["employees_username_required"] = "اسم المستخدم مطلوب.";
|
||||
|
||||
@@ -1,9 +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"] = "";
|
||||
$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"] = "التقريب";
|
||||
|
||||
21
application/language/ar-EG/expenses_categories_lang.php
Normal file
21
application/language/ar-EG/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-EG/expenses_lang.php
Normal file
46
application/language/ar-EG/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"] = "تعديل";
|
||||
@@ -1,18 +0,0 @@
|
||||
<?php
|
||||
|
||||
$lang["alpha_dash"] = "";
|
||||
$lang["alpha_numeric"] = "";
|
||||
$lang["exact_length"] = "";
|
||||
$lang["greater_than"] = "";
|
||||
$lang["is_natural"] = "";
|
||||
$lang["is_natural_no_zero"] = "";
|
||||
$lang["is_numeric"] = "";
|
||||
$lang["is_unique"] = "";
|
||||
$lang["less_than"] = "";
|
||||
$lang["max_length"] = "";
|
||||
$lang["min_length"] = "";
|
||||
$lang["regex_match"] = "";
|
||||
$lang["valid_email"] = "";
|
||||
$lang["valid_emails"] = "";
|
||||
$lang["valid_ip"] = "";
|
||||
$lang["valid_url"] = "";
|
||||
@@ -1,31 +1,31 @@
|
||||
<?php
|
||||
|
||||
$lang["giftcards_add_minus"] = "المخزن المضاف أو المطروح منه";
|
||||
$lang["giftcards_add_minus"] = "المخزن المضاف أو المطروح منه.";
|
||||
$lang["giftcards_allow_alt_description"] = "السماح بوصف بديل";
|
||||
$lang["giftcards_amazon"] = "Amazon";
|
||||
$lang["giftcards_bulk_edit"] = "تحرير جماعى";
|
||||
$lang["giftcards_cannot_be_deleted"] = "لايمكن حذف بطاقات الهدية المختارة، واحد أو أكثر منها لديه مبيعات";
|
||||
$lang["giftcards_cannot_find_giftcard"] = "لايمكن إيجاد معلومات حول كارت الهدية";
|
||||
$lang["giftcards_cannot_use"] = "Giftcard %1 cannot be used for this sale. Invalid Customer!";
|
||||
$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_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_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_excel_import_failed"] = "فشل الإستيراد من اكسل";
|
||||
$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_excel_import_failed"] = "فشل الإستيراد من اكسل.";
|
||||
$lang["giftcards_generate_barcodes"] = "توليد أكواد الباركود";
|
||||
$lang["giftcards_giftcard"] = "بطاقة هدية";
|
||||
$lang["giftcards_giftcard_number"] = "رقم بطاقة الهدية";
|
||||
@@ -34,19 +34,19 @@ $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_must_select_giftcard_for_barcode"] = "يجب إختيار بطاقة هدية واحدة على الأقل لتوليد أكواد الباركود.";
|
||||
$lang["giftcards_new"] = "بطاقة هدية جديدة";
|
||||
$lang["giftcards_no_description_giftcards"] = "لايوجد وصف لبطاقات الهدايا";
|
||||
$lang["giftcards_no_giftcards_to_display"] = "لايوجد بطاقات هدايا لعرضها";
|
||||
$lang["giftcards_no_giftcards_to_display"] = "لايوجد بطاقات هدايا لعرضها.";
|
||||
$lang["giftcards_none"] = "لايوجد";
|
||||
$lang["giftcards_none_selected"] = "لم تقم بإختيار أى بطاقة هدية";
|
||||
$lang["giftcards_number"] = "رقم بطاقة الهدية يجب أن يكون رقم";
|
||||
$lang["giftcards_none_selected"] = "لم تقم بإختيار أى بطاقة هدية.";
|
||||
$lang["giftcards_number"] = "رقم بطاقة الهدية يجب أن يكون رقم.";
|
||||
$lang["giftcards_number_information"] = "رقم بطاقة الهدية";
|
||||
$lang["giftcards_number_required"] = "رقم بطاقة الهدية مطلوب";
|
||||
$lang["giftcards_number_required"] = "رقم بطاقة الهدية مطلوب.";
|
||||
$lang["giftcards_one_or_multiple"] = "بطاقة/بطاقات الهدية";
|
||||
$lang["giftcards_person_id"] = "العميل";
|
||||
$lang["giftcards_quantity"] = "الكمية";
|
||||
$lang["giftcards_quantity_required"] = "الكمية مطلوبة";
|
||||
$lang["giftcards_quantity_required"] = "الكمية مطلوبة.";
|
||||
$lang["giftcards_remaining_balance"] = "كارت الهدية %1 القيمة المتبقية منه %2!";
|
||||
$lang["giftcards_reorder_level"] = "نقطة إعادة الطلب";
|
||||
$lang["giftcards_retrive_giftcard_info"] = "إسترجاع بيانات بطاقة هدية";
|
||||
@@ -66,5 +66,5 @@ $lang["giftcards_unit_price"] = "سعر الوحدة";
|
||||
$lang["giftcards_upc_database"] = "UPC قاعدة بيانات";
|
||||
$lang["giftcards_update"] = "تحديث بطاقة هدية";
|
||||
$lang["giftcards_use_inventory_menu"] = "استخدام تحديث المخزن";
|
||||
$lang["giftcards_value"] = "قيمة بطاقة الهدية يجب ان تكون رقم";
|
||||
$lang["giftcards_value_required"] = "قيمة بطاقة الهدية مطلوبة";
|
||||
$lang["giftcards_value"] = "قيمة بطاقة الهدية يجب ان تكون رقم.";
|
||||
$lang["giftcards_value_required"] = "قيمة بطاقة الهدية مطلوبة.";
|
||||
|
||||
@@ -1,30 +1,34 @@
|
||||
<?php
|
||||
|
||||
$lang["item_kits_add_item"] = "إضافة مجموعة";
|
||||
$lang["item_kits_all"] = "";
|
||||
$lang["item_kits_cannot_be_deleted"] = "لايمكن حذف مجموعة/مجموعات";
|
||||
$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_percent"] = "";
|
||||
$lang["item_kits_error_adding_updating"] = "خطاء فى إضافة/تحديث المجموعة";
|
||||
$lang["item_kits_find_kit_item"] = "";
|
||||
$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_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_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_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_price_option"] = "خيارات التسعير";
|
||||
$lang["item_kits_priced_only"] = "المسعرين فقط";
|
||||
$lang["item_kits_print_option"] = "خيارات الطباعة";
|
||||
$lang["item_kits_quantity"] = "الكمية";
|
||||
$lang["item_kits_sequence"] = "";
|
||||
$lang["item_kits_sequence"] = "التسلسل";
|
||||
$lang["item_kits_successful_adding"] = "لقد تم إضافة المجموعة بنجاح";
|
||||
$lang["item_kits_successful_deleted"] = "لقد تم حذف المجموعة بنجاح";
|
||||
$lang["item_kits_successful_updating"] = "لقد تم تحديث بيانات المجموعة بنجاح";
|
||||
|
||||
@@ -1,90 +1,94 @@
|
||||
<?php
|
||||
|
||||
$lang["items_add_minus"] = "الكمية المطلوب خصمها أو اضافتها";
|
||||
$lang["items_allow_alt_desciption"] = "وصف بديل";
|
||||
$lang["items_add_minus"] = "الكمية المطلوب خصمها أو اضافتها.";
|
||||
$lang["items_allow_alt_description"] = "السماح بوصف بديل";
|
||||
$lang["items_amazon"] = "Amazon";
|
||||
$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_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_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_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_cost_price_number"] = "سعر التكلفة يجب أن يكون رقم.";
|
||||
$lang["items_cost_price_required"] = "سعر التكلفة مطلوب.";
|
||||
$lang["items_count"] = "تحديث المخزون";
|
||||
$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_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_excel_import_failed"] = "فشل الإستيراد من اكسل";
|
||||
$lang["items_excel_import_nodata_wrongformat"] = "الملف الذى رفعته إما فارغ أو أنه مختلف البنية";
|
||||
$lang["items_excel_import_partially_failed"] = "تم استيراد معظم الأصناف. البعض لم يتم استيرادهم ، وهذه هى القائمة";
|
||||
$lang["items_excel_import_success"] = "تم استيراد الأصناف بنجاح";
|
||||
$lang["items_excel_import_nodata_wrongformat"] = "الملف الذى رفعته إما فارغ أو أنه مختلف البنية.";
|
||||
$lang["items_excel_import_partially_failed"] = "تم استيراد معظم الأصناف. البعض لم يتم استيرادهم ، وهذه هى القائمة:";
|
||||
$lang["items_excel_import_success"] = "تم استيراد الأصناف بنجاح.";
|
||||
$lang["items_generate_barcodes"] = "توليد أكواد الباركود";
|
||||
$lang["items_hsn_code"] = "تسميات النظام المنسق";
|
||||
$lang["items_image"] = "صورة";
|
||||
$lang["items_import_items_excel"] = "استيراد من اكسل";
|
||||
$lang["items_info_provided_by"] = "المعلومات مقدمة بواسطة";
|
||||
$lang["items_inventory"] = "المخزن";
|
||||
$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_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_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_name_required"] = "اسم الصنف مطلوب.";
|
||||
$lang["items_new"] = "صنف جديد";
|
||||
$lang["items_no_description_items"] = "الأصناف التى بلا وصف";
|
||||
$lang["items_no_items_to_display"] = "لايوجد أصناف لعرضها";
|
||||
$lang["items_no_items_to_display"] = "لايوجد أصناف لعرضها.";
|
||||
$lang["items_none"] = "لاشىء";
|
||||
$lang["items_none_selected"] = "لم تختار أى أصناف لتحريرها";
|
||||
$lang["items_nonstock"] = "";
|
||||
$lang["items_nonstock"] = "غير مخزنة";
|
||||
$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_pack_name"] = "اسم الحزمة";
|
||||
$lang["items_qty_per_pack"] = "العدد بكل الحزمة";
|
||||
$lang["items_quantity"] = "الكمية";
|
||||
$lang["items_quantity_number"] = "الكمية يجب أن تكون رقم";
|
||||
$lang["items_quantity_required"] = "الكمية مطلوبة";
|
||||
$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_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_search_custom_items"] = "";
|
||||
$lang["items_select_image"] = "اختار صورة";
|
||||
$lang["items_serialized_items"] = "أصناف مسلسلة";
|
||||
$lang["items_standard"] = "";
|
||||
$lang["items_stock"] = "";
|
||||
$lang["items_standard"] = "اساسي";
|
||||
$lang["items_stock"] = "مخزن";
|
||||
$lang["items_stock_location"] = "مكان المخزون";
|
||||
$lang["items_stock_type"] = "";
|
||||
$lang["items_stock_type"] = "نوع المخزن";
|
||||
$lang["items_successful_adding"] = "لقد تم إضافة صنف بنجاح";
|
||||
$lang["items_successful_bulk_edit"] = "لقد تم تحديث بيانات صنف/أصناف بنجاح";
|
||||
$lang["items_successful_deleted"] = "لقد تم الحذف بنجاح";
|
||||
@@ -92,13 +96,16 @@ $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_required"] = "نسبة الضريبة مطلوبة";
|
||||
$lang["items_tax_percent_number"] = "نسبة الضريبة يجب ان تكون رقم";
|
||||
$lang["items_tax_percent_required"] = "نسبة الضريبة مطلوبة.";
|
||||
$lang["items_tax_percents"] = "نسبة/نسب الضريبة";
|
||||
$lang["items_type"] = "";
|
||||
$lang["items_temp"] = "مؤقت";
|
||||
$lang["items_type"] = "نوع الصنف";
|
||||
$lang["items_unit_price"] = "السعر";
|
||||
$lang["items_unit_price_number"] = "السعر يجب أن يكون رقم";
|
||||
$lang["items_unit_price_required"] = "السعر مطلوب";
|
||||
$lang["items_unit_price_number"] = "السعر يجب أن يكون رقم.";
|
||||
$lang["items_unit_price_required"] = "السعر مطلوب.";
|
||||
$lang["items_upc_database"] = "UPC قاعدة بيانات";
|
||||
$lang["items_update"] = "تحديث بيانات صنف";
|
||||
$lang["items_use_inventory_menu"] = "استخدام تحديث المخزن";
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
<?php
|
||||
|
||||
$lang["login_gcaptcha"] = "";
|
||||
$lang["login_gcaptcha"] = "أنا لست بوت.";
|
||||
$lang["login_go"] = "البدء";
|
||||
$lang["login_invalid_gcaptcha"] = "";
|
||||
$lang["login_invalid_installation"] = "";
|
||||
$lang["login_invalid_username_and_password"] = "اسم مستخدم/كلمة سر غير صحيح";
|
||||
$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"] = "اسم المستخدم";
|
||||
|
||||
@@ -5,7 +5,7 @@ $lang["messages_last_name"] = "الأسم الأخير";
|
||||
$lang["messages_message"] = "الرسالة";
|
||||
$lang["messages_message_placeholder"] = "رسالتك هنا...";
|
||||
$lang["messages_message_required"] = "الرسالة مطلوبة";
|
||||
$lang["messages_multiple_phones"] = " فى حالة إرسال الرسالة لأكثر من شخص قم بفصل الأرقام بعلامة الفاصلة";
|
||||
$lang["messages_multiple_phones"] = "فى حالة إرسال الرسالة لأكثر من شخص قم بفصل الأرقام بعلامة الفاصلة";
|
||||
$lang["messages_phone"] = "رقم المحمول";
|
||||
$lang["messages_phone_number_required"] = "رقم المحمول مطلوب";
|
||||
$lang["messages_phone_placeholder"] = "رقم/أرقام المحمول هنا...";
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
<?php
|
||||
|
||||
$lang["migrate_backup"] = "";
|
||||
$lang["migrate_failed"] = "";
|
||||
$lang["migrate_info"] = "";
|
||||
$lang["migrate_start"] = "";
|
||||
$lang["migrate_success"] = "";
|
||||
@@ -1,29 +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_config_desc"] = "تغيير إعدادات الشركة.";
|
||||
$lang["module_customers"] = "العملاء";
|
||||
$lang["module_customers_desc"] = "إضافة، تحديث ، بحث و حذف العملاء";
|
||||
$lang["module_customers_desc"] = "إضافة، تحديث ، بحث و حذف العملاء.";
|
||||
$lang["module_employees"] = "الموظفين";
|
||||
$lang["module_employees_desc"] = "إضافة، تحديث ، بحث و حذف الموظفين";
|
||||
$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_giftcards_desc"] = "إضافة، تحديث ، بحث و حذف بطاقات الهدايا.";
|
||||
$lang["module_home"] = "الرئيسية";
|
||||
$lang["module_home_desc"] = "اظهار الائحة الرئيسية.";
|
||||
$lang["module_item_kits"] = "مجموعات الأصناف";
|
||||
$lang["module_item_kits_desc"] = "إضافة، تحديث ، بحث و حذف مجموعات الأصناف";
|
||||
$lang["module_item_kits_desc"] = "إضافة، تحديث ، بحث و حذف مجموعات الأصناف.";
|
||||
$lang["module_items"] = "الأصناف";
|
||||
$lang["module_items_desc"] = "إضافة، تحديث ، بحث و حذف الأصناف";
|
||||
$lang["module_items_desc"] = "إضافة، تحديث ، بحث و حذف الأصناف.";
|
||||
$lang["module_messages"] = "الرسائل";
|
||||
$lang["module_messages_desc"] = "إرسال رسائل للعملاء ، الموردين او الموظفين";
|
||||
$lang["module_migrate"] = "";
|
||||
$lang["module_migrate_desc"] = "";
|
||||
$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_receivings_desc"] = "معالجة أوامر الشراء و استلام الأصناف.";
|
||||
$lang["module_reports"] = "التقارير";
|
||||
$lang["module_reports_desc"] = "عرض وتوليد التقارير";
|
||||
$lang["module_reports_desc"] = "عرض وتوليد التقارير.";
|
||||
$lang["module_sales"] = "المبيعات";
|
||||
$lang["module_sales_desc"] = "معالجة المبيعات و المرتجعات";
|
||||
$lang["module_sales_desc"] = "معالجة المبيعات و المرتجعات.";
|
||||
$lang["module_suppliers"] = "الموردين";
|
||||
$lang["module_suppliers_desc"] = "إضافة، تحديث ، بحث و حذف مجموعات الموردين";
|
||||
$lang["module_taxes"] = "";
|
||||
$lang["module_taxes_desc"] = "";
|
||||
$lang["module_suppliers_desc"] = "إضافة، تحديث ، بحث و حذف مجموعات الموردين.";
|
||||
$lang["module_taxes"] = "الضرائب";
|
||||
$lang["module_taxes_desc"] = "اعدادات ضريبة المبيعات.";
|
||||
|
||||
@@ -1,23 +1,23 @@
|
||||
<?php
|
||||
|
||||
$lang["receivings_cancel_receiving"] = "إلغاء";
|
||||
$lang["receivings_cannot_be_deleted"] = "لايمكن حذف الإستلام/الإستلامات";
|
||||
$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_confirm_delete"] = "هل أنت متاكد أنك تريد حذف هذا الإستلام؟ سيتم حذف كل الأصناف. لايمكن التراجع بعد الحذف.";
|
||||
$lang["receivings_confirm_finish_receiving"] = "هل أنت متاكد أنك تريد تنفيذ هذا الإستلام؟ لايمكن التراجع بعد الإرسال.";
|
||||
$lang["receivings_cost"] = "التكلفة";
|
||||
$lang["receivings_date"] = "تاريخ الإستلام";
|
||||
$lang["receivings_date_required"] = "يجب إدخال تاريخ صحيح";
|
||||
$lang["receivings_date_type"] = "التاريخ مطلوب";
|
||||
$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_error_editing_item"] = "خطاء فى تحرير الصنف.";
|
||||
$lang["receivings_error_requisition"] = "غير قادر على تحريك الصنف من و إلى نفس المكان.";
|
||||
$lang["receivings_find_or_scan_item"] = "بحث/مسح باركود صنف";
|
||||
$lang["receivings_find_or_scan_item_or_receipt"] = "بحث/مسح باركود صنف أو إيصال";
|
||||
$lang["receivings_id"] = "كود الإستلام";
|
||||
@@ -26,7 +26,7 @@ $lang["receivings_mode"] = "وضع الإستلام";
|
||||
$lang["receivings_new_supplier"] = "مورد جديد";
|
||||
$lang["receivings_one_or_multiple"] = "إستلام/إستلامات";
|
||||
$lang["receivings_print_after_sale"] = "طباعة بعد الإستلام";
|
||||
$lang["receivings_quantity"] = "الكمية";
|
||||
$lang["receivings_quantity"] = "الكمية.";
|
||||
$lang["receivings_receipt"] = "إيصال إستلام";
|
||||
$lang["receivings_receipt_number"] = "كود الإستلام";
|
||||
$lang["receivings_receiving"] = "إستلام";
|
||||
@@ -35,7 +35,9 @@ $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"] = "مصدر المخزون";
|
||||
@@ -46,7 +48,7 @@ $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_transaction_failed"] = "حركات الإستلام فشلت.";
|
||||
$lang["receivings_unable_to_add_item"] = "غير قادر على إضافة صنف للإستلام.";
|
||||
$lang["receivings_unsuccessfully_updated"] = "لم يتم تحديث الإستلام بنجاح.";
|
||||
$lang["receivings_update"] = "تحديث";
|
||||
|
||||
@@ -1,10 +1,23 @@
|
||||
<?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"] = "عدد";
|
||||
@@ -19,13 +32,23 @@ $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_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"] = "نواقص المخزون";
|
||||
@@ -36,23 +59,25 @@ $lang["reports_inventory_summary_report"] = "تقرير ملخص المخزن";
|
||||
$lang["reports_item"] = "صنف";
|
||||
$lang["reports_item_count"] = "تصفية عداد الصنف";
|
||||
$lang["reports_item_name"] = "اسم الصنف";
|
||||
$lang["reports_item_number"] = "رقم الصنف";
|
||||
$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_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_quotes"] = "عروض اسعار";
|
||||
$lang["reports_received_by"] = "مستلمة بواسطة";
|
||||
$lang["reports_receiving_id"] = "كود الاستلام";
|
||||
$lang["reports_receiving_type"] = "نوع الاستلام";
|
||||
@@ -77,6 +102,8 @@ $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"] = "مباع الى";
|
||||
@@ -89,12 +116,26 @@ $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_used"] = "النقاط المستخدمة";
|
||||
$lang["reports_work_orders"] = "طلبات عمل";
|
||||
$lang["reports_zero_and_less"] = "صفر و أقل";
|
||||
|
||||
@@ -1,143 +1,176 @@
|
||||
<?php
|
||||
|
||||
$lang["customers_available_points"] = "";
|
||||
$lang["rewards_package"] = "";
|
||||
$lang["rewards_remaining_balance"] = "";
|
||||
$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_check"] = "شيك";
|
||||
$lang["sales_check_balance"] = "تذكير بموعد الشيك";
|
||||
$lang["sales_check_filter"] = "";
|
||||
$lang["sales_check_filter"] = "شيك";
|
||||
$lang["sales_comment"] = "تعليق";
|
||||
$lang["sales_comments"] = "تعليقات";
|
||||
$lang["sales_complete_sale"] = "إتمام البيع";
|
||||
$lang["sales_confirm_cancel_sale"] = "هل أنت متأكد من الغاء عملية البيع ؟ سيتم إزالة كل الأصناف";
|
||||
$lang["sales_confirm_cancel_sale"] = "هل أنت متأكد من الغاء عملية البيع ؟ سيتم إزالة كل الأصناف.";
|
||||
$lang["sales_confirm_delete"] = "هل تريد حذف عمليات البيع المختارة؟";
|
||||
$lang["sales_confirm_restore"] = "هل انت متاكد من استعادة عملية البيع؟";
|
||||
$lang["sales_credit"] = "بطاقة إئتمانية";
|
||||
$lang["sales_credit_deposit"] = "ايداع ببطاقة ائتمان";
|
||||
$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_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_date_required"] = "يجب إدخال تاريخ صحيح.";
|
||||
$lang["sales_date_type"] = "التاريخ مطلوب.";
|
||||
$lang["sales_debit"] = "بطاقة خصم";
|
||||
$lang["sales_delete_confirmation"] = "هل أنت متأكد أنك تريد حذف عملية البيع هذه؟ لايمكن التراجع بعد الحذف";
|
||||
$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_delete_successful"] = "لقد تم حذف عملية البيع بنجاح.";
|
||||
$lang["sales_delete_unsuccessful"] = "لقد فشل حذف عملية البيع.";
|
||||
$lang["sales_description_abbrv"] = "الوصف.";
|
||||
$lang["sales_discard"] = "الغاء";
|
||||
$lang["sales_discard_quote"] = "";
|
||||
$lang["sales_discount"] = "خصم %";
|
||||
$lang["sales_discount"] = "خصم";
|
||||
$lang["sales_discount_included"] = "% خصم";
|
||||
$lang["sales_discount_short"] = "%";
|
||||
$lang["sales_due"] = "";
|
||||
$lang["sales_due_filter"] = "";
|
||||
$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_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_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_no_email"] = "هذا العميل ليس لدية بريد الكترونى صالح.";
|
||||
$lang["sales_invoice_number"] = "فاتورة رقم #";
|
||||
$lang["sales_invoice_number_duplicate"] = "من فضلك أدخل رقم فاتورة غير مكرر";
|
||||
$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_insufficient_of_stock"] = "لايوجد مخزون كافى من الصنف.";
|
||||
$lang["sales_item_name"] = "اسم الصنف";
|
||||
$lang["sales_item_number"] = "صنف #";
|
||||
$lang["sales_item_out_of_stock"] = "لايوجد مخزون من الصنف";
|
||||
$lang["sales_item_out_of_stock"] = "لايوجد مخزون من الصنف.";
|
||||
$lang["sales_mode"] = "وضع التسجيل";
|
||||
$lang["sales_must_enter_numeric"] = "يجب إدخال رقم للمبلغ الفعلى المدفوع";
|
||||
$lang["sales_must_enter_numeric_giftcard"] = "رقم بطاقة الهدية يجب أن يكون رقم";
|
||||
$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_description"] = "بدون وصف";
|
||||
$lang["sales_no_filter"] = "الكل";
|
||||
$lang["sales_no_items_in_cart"] = "لايوجد أصناف فى السلة";
|
||||
$lang["sales_no_sales_to_display"] = "لاتوجد عمليات بيع لعرضها";
|
||||
$lang["sales_none_selected"] = "لم تقم بإختيار أى عمليات بيع لحذفها";
|
||||
$lang["sales_no_items_in_cart"] = "لايوجد أصناف فى السلة.";
|
||||
$lang["sales_no_sales_to_display"] = "لاتوجد عمليات بيع لعرضها.";
|
||||
$lang["sales_none_selected"] = "لم تقم بإختيار أى عمليات بيع لحذفها.";
|
||||
$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_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_reorder_level"] = "تحذير: الكمية/العدد المطلوب غير متوفر لهذا الصنف.";
|
||||
$lang["sales_quantity_less_than_zero"] = "تحذير! الكمية المطلوبة غير كافية، بإمكانك إتمام عملية البيع ، لكن تحقق من مخزنك.";
|
||||
$lang["sales_quote"] = "";
|
||||
$lang["sales_quote_number"] = "";
|
||||
$lang["sales_quote_sent"] = "";
|
||||
$lang["sales_quote_unsent"] = "";
|
||||
$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_register"] = "مسجل المبيعات";
|
||||
$lang["sales_remove_customer"] = "حذف عميل";
|
||||
$lang["sales_return"] = "إرتجاع";
|
||||
$lang["sales_rewards"] = "";
|
||||
$lang["sales_rewards_balance"] = "";
|
||||
$lang["sales_rewards"] = "نقاط المكافئة";
|
||||
$lang["sales_rewards_balance"] = "رصيد نقاط المكافئة";
|
||||
$lang["sales_sale"] = "بيع";
|
||||
$lang["sales_sale_by_invoice"] = "";
|
||||
$lang["sales_sale_for_customer"] = "العميل: ";
|
||||
$lang["sales_sale_by_invoice"] = "البيع بفاتورة رسمية";
|
||||
$lang["sales_sale_for_customer"] = "العميل:";
|
||||
$lang["sales_sale_time"] = "الوقت";
|
||||
$lang["sales_sales_tax"] = "";
|
||||
$lang["sales_select_customer"] = "اختيار عميل (اختيارى)";
|
||||
$lang["sales_sales_tax"] = "ضريبة البيع";
|
||||
$lang["sales_select_customer"] = "اختيار عميل (اختياري)";
|
||||
$lang["sales_send_invoice"] = "إرسال الفاتورة";
|
||||
$lang["sales_send_quote"] = "";
|
||||
$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_start_typing_item_name"] = "ابداء بكتابة اسم أو مسح باركود الصنف...";
|
||||
$lang["sales_stock"] = "المخزن";
|
||||
$lang["sales_stock_location"] = "مكان المخزون";
|
||||
$lang["sales_sub_total"] = "المجموع الفرعى";
|
||||
$lang["sales_sub_total"] = "المجموع الفرعي";
|
||||
$lang["sales_successfully_deleted"] = "لقد تم الحذف بنجاح";
|
||||
$lang["sales_successfully_suspended_sale"] = "لقد تم تعليق عملية البيع بنجاح";
|
||||
$lang["sales_successfully_updated"] = "لقد تم تحديث بيانات عملية البيع بنجاح";
|
||||
$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_table"] = "طاولة";
|
||||
$lang["sales_takings"] = "المبيع اليومي";
|
||||
$lang["sales_tax"] = "ضريبة";
|
||||
$lang["sales_tax_id"] = "الرقم الضريبي";
|
||||
$lang["sales_tax_invoice"] = "فاتورة ضريبية";
|
||||
$lang["sales_tax_percent"] = "ضريبة %";
|
||||
$lang["sales_total"] = "المجموع";
|
||||
$lang["sales_total_tax_exclusive"] = "الإجمالى بدون الضرائب";
|
||||
$lang["sales_transaction_failed"] = "فشل حركة البيع";
|
||||
$lang["sales_transaction_failed"] = "فشل حركة البيع.";
|
||||
$lang["sales_unable_to_add_item"] = "غير قادر على إضافة صنف لعملية البيع";
|
||||
$lang["sales_unsuccessfully_deleted"] = "لايمكن حذف عملية/عمليات البيع";
|
||||
$lang["sales_unsuccessfully_suspended_sale"] = "فشل تعليق عملية البيع";
|
||||
$lang["sales_unsuccessfully_updated"] = "فشل عملية تحديث عملية البيع";
|
||||
$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"] = "فشل في ارسال طلب العمل الى";
|
||||
|
||||
@@ -1,18 +1,23 @@
|
||||
<?php
|
||||
|
||||
$lang["suppliers_account_number"] = "حساب رقم#";
|
||||
$lang["suppliers_account_number"] = "رقم الحساب";
|
||||
$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_required"] = "اسم الشركة مطلوب";
|
||||
$lang["suppliers_company_name_required"] = "اسم الشركة مطلوب.";
|
||||
$lang["suppliers_confirm_delete"] = "هل تريد حقا حذف هؤلاء الموردين؟";
|
||||
$lang["suppliers_error_adding_updating"] = "خطاء فى إضافة/تحديث المورد";
|
||||
$lang["suppliers_confirm_restore"] = "هل تريد بالتأكيد استعادة المورد (الموردين) المحددين؟";
|
||||
$lang["suppliers_cost"] = "مورد كلفة";
|
||||
$lang["suppliers_error_adding_updating"] = "خطاء فى إضافة/تحديث المورد.";
|
||||
$lang["suppliers_goods"] = "مورد بضائع";
|
||||
$lang["suppliers_new"] = "مورد جديد";
|
||||
$lang["suppliers_none_selected"] = "لم تختار موردين لحذفهم";
|
||||
$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"] = "تحديث بيانات المورد";
|
||||
|
||||
@@ -1,31 +1,79 @@
|
||||
<?php
|
||||
|
||||
$lang["taxes_add_exception"] = "";
|
||||
$lang["taxes_confirm_delete"] = "";
|
||||
$lang["taxes_default_tax_category"] = "";
|
||||
$lang["taxes_error_adding_updating"] = "";
|
||||
$lang["taxes_new"] = "";
|
||||
$lang["taxes_no_taxes_to_display"] = "";
|
||||
$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_successful_deleted"] = "";
|
||||
$lang["taxes_tax_category"] = "";
|
||||
$lang["taxes_tax_code"] = "";
|
||||
$lang["taxes_tax_code_cannot_be_deleted"] = "";
|
||||
$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_rate"] = "";
|
||||
$lang["taxes_tax_rate_numeric"] = "";
|
||||
$lang["taxes_tax_rate_required"] = "";
|
||||
$lang["taxes_update"] = "";
|
||||
$lang["taxes_vat_tax"] = "";
|
||||
$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_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/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"] = "تعديل/تحديث الصندوق النقدي";
|
||||
70
application/language/ar-LB/common_lang.php
Normal file
70
application/language/ar-LB/common_lang.php
Normal file
@@ -0,0 +1,70 @@
|
||||
<?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_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_excel"] = "تصدير إلى اكسل";
|
||||
$lang["common_export_excel_no"] = "لا";
|
||||
$lang["common_export_excel_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_id"] = "كود";
|
||||
$lang["common_import"] = "استيراد";
|
||||
$lang["common_import_change_file"] = "تغيير";
|
||||
$lang["common_import_excel"] = "استيراد من اكسل";
|
||||
$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_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_you_are_using_ospos"] = "أنت تستخدم إصدار Open Source Point Of Sale";
|
||||
$lang["common_zip"] = "الرقم البريدى";
|
||||
280
application/language/ar-LB/config_lang.php
Normal file
280
application/language/ar-LB/config_lang.php
Normal file
@@ -0,0 +1,280 @@
|
||||
<?php
|
||||
$lang["config_address"] = "عنوان الشركة";
|
||||
$lang["config_address_required"] = "عنوان الشركة مطلوب.";
|
||||
$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_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_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_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_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_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_ospos_info"] = "معلومات التثبيت OSPOS";
|
||||
$lang["config_payment_options_order"] = "ترتيب خيارات الدفع";
|
||||
$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_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_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_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_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_top"] = "علوى";
|
||||
$lang["config_use_destination_based_tax"] = "استخدام الضريبة المستندة على الوجهة";
|
||||
$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_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_excel_import_failed"] = "فشل الإستيراد من اكسل";
|
||||
$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_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_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_excel_import_failed"] = "فشل الإستيراد من اكسل.";
|
||||
$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"] = "قيمة بطاقة الهدية مطلوبة.";
|
||||
20
application/language/zh/index.html → application/language/ar-LB/index.html
Executable file → Normal file
20
application/language/zh/index.html → application/language/ar-LB/index.html
Executable file → Normal file
@@ -1,11 +1,11 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>403 Forbidden</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<p>Directory access is forbidden.</p>
|
||||
|
||||
</body>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>403 Forbidden</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<p>Directory access is forbidden.</p>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
35
application/language/ar-LB/item_kits_lang.php
Normal file
35
application/language/ar-LB/item_kits_lang.php
Normal file
@@ -0,0 +1,35 @@
|
||||
<?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_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"] = "تحديث بيانات مجموعة";
|
||||
111
application/language/ar-LB/items_lang.php
Normal file
111
application/language/ar-LB/items_lang.php
Normal file
@@ -0,0 +1,111 @@
|
||||
<?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_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_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_hsn_code"] = "تسميات النظام المنسق";
|
||||
$lang["items_image"] = "صورة";
|
||||
$lang["items_import_items_excel"] = "استيراد من اكسل";
|
||||
$lang["items_info_provided_by"] = "المعلومات مقدمة بواسطة";
|
||||
$lang["items_inventory"] = "المخزن";
|
||||
$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"] = "صفر و أقل";
|
||||
176
application/language/ar-LB/sales_lang.php
Normal file
176
application/language/ar-LB/sales_lang.php
Normal file
@@ -0,0 +1,176 @@
|
||||
<?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_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_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_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_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_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"] = "تحديث بيانات المورد";
|
||||
79
application/language/ar-LB/taxes_lang.php
Normal file
79
application/language/ar-LB/taxes_lang.php
Normal file
@@ -0,0 +1,79 @@
|
||||
<?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_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"] = "ضريبة القيمة المضافة";
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user