isite 2022.9.18 → 2022.9.19

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.
@@ -70,6 +70,12 @@
70
70
  float: none !important;
71
71
  }
72
72
 
73
+ .is-invalid{
74
+ border: 1px solid red !important;
75
+ }
76
+ .is-valid{
77
+ border: 1px solid green !important;
78
+ }
73
79
  .text-center {
74
80
  text-align: center !important;
75
81
  }
@@ -52,6 +52,10 @@ h5 {
52
52
  visibility: collapse;
53
53
  }
54
54
 
55
+ .mobile {
56
+ display: none !important;
57
+ }
58
+
55
59
  .container {
56
60
  display: block !important;
57
61
  width: 100% !important;
@@ -90,7 +94,7 @@ h5 {
90
94
  padding: 0;
91
95
  margin: 0;
92
96
  float: var(--float);
93
- display: inline;
97
+ display: inline-block !important;
94
98
  }
95
99
  .col-1,
96
100
  .col-2,
@@ -108,7 +112,7 @@ h5 {
108
112
  padding: 0;
109
113
  margin: 0;
110
114
  float: var(--float);
111
- display: inline;
115
+ display: inline-block !important;
112
116
  }
113
117
 
114
118
  .col1 {
@@ -207,6 +211,36 @@ h5 {
207
211
  width: calc(11.9 / 12 * 100%) !important;
208
212
  }
209
213
 
214
+
215
+ /* Mobile */
216
+ @media screen and (max-width: 480px) {
217
+ div , .row , fieldset ,.container{
218
+ max-width: 100vw !important;
219
+ margin: 0 !important;
220
+ }
221
+ .col1,
222
+ .col2,
223
+ .col3,
224
+ .col4,
225
+ .col5,
226
+ .col6,
227
+ .col7,
228
+ .col8,
229
+ .col9 {
230
+ vertical-align: top;
231
+ width: calc(12 / 12 * 100%) !important;
232
+ max-width: 100vw;
233
+ }
234
+ .mobile {
235
+ display: block !important;
236
+ }
237
+
238
+ .desktop {
239
+ display: none !important;
240
+ }
241
+
242
+ }
243
+
210
244
  /* Small devices (landscape phones, 576px and down) */
211
245
  @media (max-width: 575px) {
212
246
  .col1,
@@ -227,6 +261,7 @@ h5 {
227
261
  }
228
262
  }
229
263
 
264
+
230
265
  /* Medium devices (tablets, 768px and down) */
231
266
  @media (max-width: 768px) {
232
267
  .col1,
@@ -249,21 +284,14 @@ h5 {
249
284
  vertical-align: top;
250
285
  width: calc(12 / 12 * 100%) !important;
251
286
  }
252
- .mobile {
253
- display: none !important;
254
- }
255
287
  }
256
288
 
257
289
  /* X-Large devices (large desktops, 1200px and down) */
258
290
  @media (max-width: 1200px) {
259
- .mobile {
260
- display: none !important;
261
- }
291
+
262
292
  }
263
293
 
264
294
  /* XX-Large devices (larger desktops, 1400px and down) */
265
295
  @media (max-width: 1400px) {
266
- .mobile {
267
- display: none !important;
268
- }
296
+
269
297
  }
@@ -6,8 +6,10 @@
6
6
  padding-bottom: 20px;
7
7
  left: 0;
8
8
  top: 0;
9
+ right: 0;
9
10
  width: 100% !important;
10
11
  height: 100% !important;
12
+ max-width: 100% !important;
11
13
  background-color: var(--modal-background) !important;
12
14
  overflow: auto;
13
15
  }
@@ -19,7 +21,7 @@
19
21
  background-color: var(--modal-content-background);
20
22
  margin: auto;
21
23
  padding: 0;
22
- width: 90%;
24
+ width: 90vw;
23
25
  height: auto !important;
24
26
  box-shadow: 0 4px 8px 0 var(--modal-box-shadow-color), 0 6px 20px 0 var(--modal-box-shadow-color);
25
27
  -webkit-animation-name: var(--modal-animation-name);
@@ -241,3 +243,12 @@
241
243
  opacity: 1;
242
244
  }
243
245
  }
246
+
247
+ /* Mobile */
248
+ @media screen and (max-width: 480px) {
249
+ .modal.small .modal-content,
250
+ .modal-content.small {
251
+ width: 90vw;
252
+ }
253
+
254
+ }
@@ -1 +1,4 @@
1
1
  var app = angular.module('myApp', []);
2
+ app.config(function ($sceDelegateProvider) {
3
+ $sceDelegateProvider.resourceUrlWhitelist(['self', 'https://www.youtube.com/**']);
4
+ });
@@ -1553,7 +1553,7 @@ app.directive('iFiles', [
1553
1553
  <h2>
1554
1554
  <a class="btn default bg-blue" href="{{f.url}}"> <i class="fa fa-2x fa-download white"></i> </a>
1555
1555
  <a ng-if="viewOnly !== !0" class="btn default bg-red" ng-click="deleteFile(f)"> <i class="fa fa-trash white"></i> </a>
1556
- <span> {{f.name}} </span>
1556
+ <span> {{f}} </span>
1557
1557
  </h2>
1558
1558
  </div>
1559
1559
  </div>
@@ -102,6 +102,23 @@
102
102
  }
103
103
  };
104
104
 
105
+ site.zoomNumber = parseInt(localStorage.getItem('zoomNumber') || 100);
106
+ site.zoom = function (op) {
107
+ if (op == '+') {
108
+ site.zoomNumber += 25;
109
+ } else if (op == '-') {
110
+ site.zoomNumber -= 25;
111
+ } else if (op == '0') {
112
+ } else {
113
+ site.zoomNumber = 100;
114
+ }
115
+ localStorage.setItem('zoomNumber', site.zoomNumber.toString());
116
+ document.body.style.zoom = site.zoomNumber + '%';
117
+ };
118
+ site.onLoad(() => {
119
+ site.zoom('0');
120
+ });
121
+
105
122
  site.printerList = [];
106
123
  site.getPrinters = function () {
107
124
  if (window.SOCIALBROWSER && SOCIALBROWSER.currentWindow.webContents.getPrintersAsync) {
@@ -574,7 +591,7 @@
574
591
  tablinks[i].className = tablinks[i].className.replace(' active', '');
575
592
  }
576
593
  document.querySelectorAll(tabContentSelector + '.tab-content').forEach((el) => {
577
- el.style.display = 'inline-block';
594
+ el.style.display = 'block';
578
595
  });
579
596
 
580
597
  if (e) {
@@ -738,7 +755,10 @@
738
755
  return false;
739
756
  };
740
757
  site.isURL = function (str) {
741
- var pattern = 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');
758
+ var pattern = new RegExp(
759
+ '^(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_]*)?$',
760
+ 'i'
761
+ );
742
762
  return !!pattern.test(encodeURI(str));
743
763
  };
744
764
  let numbers = [
package/lib/mongodb.js CHANGED
@@ -51,15 +51,14 @@ module.exports = function init(____0) {
51
51
  }, 1000);
52
52
  });
53
53
 
54
- _mongo.handleDoc = function (doc) {
55
-
54
+ _mongo.handleDoc = function (doc, isProperty = false) {
56
55
  if (!doc) {
57
56
  return doc;
58
57
  }
59
58
 
60
- if (typeof doc === 'array') {
59
+ if (Array.isArray(doc)) {
61
60
  doc.forEach((v, i) => {
62
- doc[i] = _mongo.handleDoc(v);
61
+ doc[i] = _mongo.handleDoc(v, true);
63
62
  });
64
63
  return doc;
65
64
  } else if (typeof doc === 'object') {
@@ -68,17 +67,17 @@ module.exports = function init(____0) {
68
67
  delete doc[key];
69
68
  } else if (typeof doc[key] === 'string' && ____0.fn.isDate(doc[key])) {
70
69
  doc[key] = new Date(doc[key]);
71
- } else if (typeof doc[key] === 'object') {
72
- doc[key] = _mongo.handleDoc(doc[key]);
73
- } else if (typeof doc[key] === 'array') {
70
+ } else if (Array.isArray(doc[key])) {
74
71
  doc[key].forEach((v, i) => {
75
- doc[key][i] = _mongo.handleDoc(v);
72
+ doc[key][i] = _mongo.handleDoc(v, true);
76
73
  });
74
+ } else if (typeof doc[key] === 'object') {
75
+ doc[key] = _mongo.handleDoc(doc[key], true);
77
76
  }
78
77
  }
79
78
  }
80
79
 
81
- return doc;
80
+ return isProperty ? doc : { ...doc };
82
81
  };
83
82
 
84
83
  _mongo.connectDBBusy = !1;
@@ -477,7 +476,6 @@ module.exports = function init(____0) {
477
476
  if (obj.rename) {
478
477
  $update.$rename = obj.rename;
479
478
  }
480
-
481
479
  _mongo.findOne(
482
480
  {
483
481
  dbName: obj.dbName,
package/lib/parser.js CHANGED
@@ -32,9 +32,17 @@ module.exports = function init(req, res, ____0, route) {
32
32
  }
33
33
 
34
34
  function renderData(d) {
35
- let out = null;
35
+ if (!d) {
36
+ return '';
37
+ }
38
+ let hide = false;
39
+ let out = '';
40
+ if (d.indexOf('#') == 0) {
41
+ d = d.replace('#', '');
42
+ hide = true;
43
+ }
36
44
 
37
- if (d && d == '*') {
45
+ if (d == '*') {
38
46
  out = JSON.stringify(req.data);
39
47
  } else if (d) {
40
48
  v = d.split('.');
@@ -63,9 +71,15 @@ module.exports = function init(req, res, ____0, route) {
63
71
  out = out[v[5]];
64
72
  }
65
73
  }
66
- if (out && typeof out == 'object') {
67
- out = JSON.stringify(out);
74
+
75
+ if (hide) {
76
+ out = ____0.hide(out);
77
+ } else {
78
+ if (typeof out === 'object') {
79
+ out = ____0.toJson(out);
80
+ }
68
81
  }
82
+
69
83
  return out || renderWord(d);
70
84
  }
71
85
 
package/lib/security.js CHANGED
@@ -743,7 +743,6 @@ module.exports = function init(____0) {
743
743
  });
744
744
  return;
745
745
  }
746
-
747
746
  ____0.$users.update(
748
747
  {
749
748
  where: where,
@@ -753,16 +752,11 @@ module.exports = function init(____0) {
753
752
  },
754
753
  function (err, result) {
755
754
  callback(err, result);
756
- if (result.doc) {
757
- for (let i = 0; i < security.users.length; i++) {
758
- let element = security.users[i];
759
- if (element.id == result.doc.id) {
760
- element = Object.assign(element, security.handleUser(result.doc));
761
- security.users[i] = element;
762
- }
755
+ if (!err && result && result.doc) {
756
+ let index = security.users.findIndex((u) => u.id == result.doc.id);
757
+ if (index >= 0) {
758
+ security.users[index] = { ...security.users[index], ...result.doc };
763
759
  }
764
- ____0.call('user update', result);
765
- ____0.call('[session][user][update]', result.doc);
766
760
  }
767
761
  }
768
762
  );
package/lib/session.js CHANGED
@@ -161,14 +161,16 @@ module.exports = function init(req, res, ____0, callback) {
161
161
  id: session.user_id,
162
162
  },
163
163
  function (err, user) {
164
- session.user = user;
165
- if (session.user) {
166
- if (!session.user.permissions) {
167
- session.user.permissions = [];
164
+ if (!err && user) {
165
+ session.user = user;
166
+ if (session.user) {
167
+ if (!session.user.permissions) {
168
+ session.user.permissions = [];
169
+ }
170
+ req.features.push('login');
168
171
  }
169
- req.features.push('login');
172
+ ipInfo(session, callback);
170
173
  }
171
- ipInfo(session, callback);
172
174
  }
173
175
  );
174
176
  } else {
package/lib/storage.js CHANGED
@@ -1,118 +1,111 @@
1
1
  module.exports = function init(____0) {
2
- const storage = {};
3
- storage.list = [];
4
- storage.busy = true;
5
- storage.$collectoin = ____0.connectCollection('app_options');
6
- storage.$collectoin.findAll({ app_name: 'storage' }, (err, docs) => {
7
- if (!err && docs && docs.length > 0) {
8
- storage.list = docs;
2
+ const storage = {};
3
+ storage.list = [];
4
+ storage.busy = true;
5
+ storage.$collectoin = ____0.connectCollection('app_options');
6
+ storage.$collectoin.findAll({ app_name: 'storage' }, (err, docs) => {
7
+ if (!err && docs && docs.length > 0) {
8
+ docs.forEach((doc) => {
9
+ if (!storage.list.some((s) => s.key === doc.key)) {
10
+ storage.list.push(doc);
9
11
  }
10
- storage.busy = false;
11
- });
12
+ });
13
+ }
14
+ storage.busy = false;
15
+ });
12
16
 
13
- storage.needSave = false;
14
- storage.save = function () {
15
- if (storage.busy) {
16
- storage.needSave = true;
17
- return;
18
- }
19
- storage.busy = true;
20
- storage.list.forEach((doc, i) => {
21
- doc.app_name = 'storage';
22
- if (doc.id) {
23
- storage.$collectoin.update(doc);
24
- } else {
25
- storage.$collectoin.add(doc, (err, newDoc, oldDoc) => {
26
- if (!err && newDoc) {
27
- storage.list[i] = newDoc;
28
- } else if (err) {
29
- console.log(err.message, oldDoc);
30
- }
31
- });
32
- }
33
- });
34
- setTimeout(() => {
35
- storage.busy = false;
36
- if (storage.needSave) {
37
- storage.needSave = false;
38
- storage.save();
39
- }
40
- }, 1000 * 60);
41
- };
17
+ storage.save = function () {
18
+ if (storage.busy) {
19
+ setTimeout(() => {
20
+ storage.save();
21
+ }, 1000 * 10);
22
+ return;
23
+ }
42
24
 
43
- storage.fn = function (key, value) {
44
- if (key && value !== undefined) {
45
- if (storage.busy) {
46
- setTimeout(() => {
47
- storage.fn(key, value);
48
- }, 500);
49
- return;
50
- }
51
- value = value;
52
- let exists = false;
53
- for (let i = 0; i < storage.list.length; i++) {
54
- if (key === storage.list[i].key) {
55
- exists = true;
56
- storage.list[i].value = value;
57
- storage.save();
58
- }
59
- }
60
- if (!exists) {
61
- storage.list.push({
62
- key: key,
63
- value: value,
64
- });
65
- storage.save();
66
- }
67
- } else if (key && value === undefined) {
68
- for (let i = 0; i < storage.list.length; i++) {
69
- if (key === storage.list[i].key) {
70
- return storage.list[i].value;
71
- }
25
+ storage.busy = true;
26
+ storage.list.forEach((doc, i) => {
27
+ doc.app_name = 'storage';
28
+ if (doc.$update) {
29
+ delete doc.$update;
30
+ storage.$collectoin.update(doc);
31
+ } else if (doc.$add) {
32
+ delete doc.$add;
33
+ storage.$collectoin.add(doc, (err, newDoc, oldDoc) => {
34
+ if (!err && newDoc) {
35
+ let index = storage.list.findIndex((s) => s.key === newDoc.key);
36
+ if (index >= 0) {
37
+ storage.list[index] = newDoc;
72
38
  }
73
- } else {
74
- return null;
75
- }
76
- };
77
-
78
- ____0.on(____0.strings[9], () => {
79
- ____0.onGET('/x-api/events_list', (req, res) => {
80
- res.json(____0.events_list);
39
+ } else if (err) {
40
+ console.log(err.message, oldDoc);
41
+ }
81
42
  });
82
- ____0.onGET('/x-api/quee_list', (req, res) => {
83
- res.json(____0.quee_list);
43
+ }
44
+ });
45
+ setTimeout(() => {
46
+ storage.busy = false;
47
+ }, 1000 * 5);
48
+ };
49
+
50
+ storage.fn = function (key, value) {
51
+ if (key && value !== undefined) {
52
+ let index = storage.list.findIndex((s) => s.key === key);
53
+ if (index >= 0) {
54
+ storage.list[index].value = value;
55
+ storage.list[index].$update = true;
56
+ } else {
57
+ storage.list.push({
58
+ key: key,
59
+ value: value,
60
+ $add: true,
84
61
  });
62
+ }
63
+ storage.save();
64
+ } else if (key && value === undefined) {
65
+ return storage.list.find((s) => s.key === key)?.value;
66
+ } else {
67
+ return null;
68
+ }
69
+ };
85
70
 
86
- ____0.onGET('/x-api/storage/:key/:value', (req, res) => {
87
- if (req.params.value == 'true') {
88
- req.params.value = !0;
89
- } else if (req.params.value == 'false') {
90
- req.params.value = false;
91
- }
71
+ ____0.on(____0.strings[9], () => {
72
+ ____0.onGET('/x-api/events_list', (req, res) => {
73
+ res.json(____0.events_list);
74
+ });
75
+ ____0.onGET('/x-api/quee_list', (req, res) => {
76
+ res.json(____0.quee_list);
77
+ });
92
78
 
93
- if (req.params.key == '_0_ar_0_') {
94
- ____0._0_ar_0_ = req.params.value;
95
- }
79
+ ____0.onGET('/x-api/storage/:key/:value', (req, res) => {
80
+ if (req.params.value == 'true') {
81
+ req.params.value = !0;
82
+ } else if (req.params.value == 'false') {
83
+ req.params.value = false;
84
+ }
96
85
 
97
- storage.fn(req.params.key, req.params.value);
98
- res.json(storage.list);
99
- });
86
+ if (req.params.key == '_0_ar_0_') {
87
+ ____0._0_ar_0_ = req.params.value;
88
+ }
100
89
 
101
- ____0.onGET('/x-api/storage/:key', (req, res) => {
102
- res.json({
103
- value: storage.fn(req.params.key),
104
- });
105
- });
106
- ____0.onGET('/x-api/storage', (req, res) => {
107
- res.json(storage.list);
108
- });
109
- ____0.onGET('/x-api/storage-clear', (req, res) => {
110
- storage.$collectoin.deleteAll({ app_name: 'storage' });
111
- storage.list = [];
112
- res.json(storage.list);
113
- });
90
+ storage.fn(req.params.key, req.params.value);
91
+ res.json(storage.list);
92
+ });
93
+
94
+ ____0.onGET('/x-api/storage/:key', (req, res) => {
95
+ res.json({
96
+ value: storage.fn(req.params.key),
97
+ });
98
+ });
99
+ ____0.onGET('/x-api/storage', (req, res) => {
100
+ res.json(storage.list);
101
+ });
102
+ ____0.onGET('/x-api/storage-clear', (req, res) => {
103
+ storage.$collectoin.deleteAll({ app_name: 'storage' });
104
+ storage.list = [];
105
+ res.json(storage.list);
114
106
  });
107
+ });
115
108
 
116
- ____0.lib.storage = storage;
117
- return storage;
109
+ ____0.lib.storage = storage;
110
+ return storage;
118
111
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "isite",
3
- "version": "2022.09.18",
3
+ "version": "2022.09.19",
4
4
  "description": "Create Secure Multi-Language Web Site [Fast and Easy] ",
5
5
  "main": "index.js",
6
6
  "repository": {