4 |
5 |
325 |
--------------------------------------------------------------------------------
/templates/css/client.css:
--------------------------------------------------------------------------------
1 | /**********************************************
2 |
3 | *** SoluteDNS CE for WHMCS ***
4 |
5 | File: template/css/client.css
6 | File version: 0.17.001
7 | Date: 09-11-2017
8 |
9 | Copyright (C) NetDistrict 2013-2017
10 | All Rights Reserved
11 |
12 | **********************************************/
13 |
14 | /*
15 | ## General CSS
16 | */
17 | h4 .label {
18 | font-size: 60%;
19 | }
20 | .nav-tabs .title {
21 | position: absolute;
22 | }
23 |
24 | /*
25 | ## Loading CSS
26 | */
27 | .data_spinner {
28 | width: 100px;
29 | text-align: center;
30 | display: inline-block;
31 | }
32 | .data_spinner > div {
33 | width: 18px;
34 | height: 18px;
35 | background-color: #333;
36 | border-radius: 100%;
37 | display: inline-block;
38 | -webkit-animation: sk-bouncedelay 1.4s infinite ease-in-out both;
39 | animation: sk-bouncedelay 1.4s infinite ease-in-out both;
40 | margin-left: 7px;
41 | margin-right: 7px;
42 | }
43 | .data_spinner .bounce1 {
44 | -webkit-animation-delay: -0.32s;
45 | animation-delay: -0.32s;
46 | }
47 | .data_spinner .bounce2 {
48 | -webkit-animation-delay: -0.16s;
49 | animation-delay: -0.16s;
50 | }
51 | @-webkit-keyframes sk-bouncedelay {
52 | 0%, 80%, 100% {
53 | -webkit-transform: scale(0)
54 | }
55 | 40% {
56 | -webkit-transform: scale(1.0)
57 | }
58 | }
59 | @keyframes sk-bouncedelay {
60 | 0%, 80%, 100% {
61 | -webkit-transform: scale(0);
62 | transform: scale(0);
63 | }
64 | 40% {
65 | -webkit-transform: scale(1.0);
66 | transform: scale(1.0);
67 | }
68 | }
69 |
70 | /*
71 | ## Checkboxes Buttons
72 | */
73 | .checkbox {
74 | padding-left: 6px;
75 | }
76 | .tablecheckbox {
77 | padding-top: 9px;
78 | padding-left: 8px;
79 | width: 100%;
80 | margin-left: 50%;
81 | }
82 | .checkbox label {
83 | display: inline-block;
84 | position: relative;
85 | padding-left: 5px;
86 | }
87 | .checkbox label::before {
88 | content: "";
89 | display: inline-block;
90 | position: absolute;
91 | width: 17px;
92 | height: 17px;
93 | left: 0;
94 | margin-left: -30px;
95 | border: 1px solid #cccccc;
96 | border-radius: 3px;
97 | background-color: #fff;
98 | -webkit-transition: border 0.15s ease-in-out, color 0.15s ease-in-out;
99 | -o-transition: border 0.15s ease-in-out, color 0.15s ease-in-out;
100 | transition: border 0.15s ease-in-out, color 0.15s ease-in-out;
101 | }
102 | .checkbox label::after {
103 | display: inline-block;
104 | position: absolute;
105 | width: 16px;
106 | height: 16px;
107 | left: 0;
108 | top: 0;
109 | margin-left: -30px;
110 | padding-left: 3px;
111 | padding-top: 1px;
112 | font-size: 11px;
113 | color: #555555;
114 | }
115 | .checkbox input[type="checkbox"] {
116 | opacity: 0;
117 | }
118 | .checkbox input[type="checkbox"]:focus + label::before {
119 | outline: thin dotted;
120 | outline: 5px auto -webkit-focus-ring-color;
121 | outline-offset: -2px;
122 | }
123 | .checkbox input[type="checkbox"]:checked + label::after {
124 | font-family: 'Font Awesome 5 Pro', 'FontAwesome';
125 | content: "\f00c";
126 | }
127 | .checkbox input[type="checkbox"]:disabled + label {
128 | opacity: 0.65;
129 | }
130 | .checkbox input[type="checkbox"]:disabled + label::before {
131 | background-color: #eeeeee;
132 | cursor: not-allowed;
133 | }
134 | .checkbox.checkbox-circle label::before {
135 | border-radius: 50%;
136 | }
137 | .checkbox.checkbox-inline {
138 | margin-top: 0;
139 | }
140 | .checkbox-primary input[type="checkbox"]:checked + label::before {
141 | background-color: #428bca;
142 | border-color: #428bca;
143 | }
144 | .checkbox-primary input[type="checkbox"]:checked + label::after {
145 | color: #fff;
146 | }
147 | .checkbox-danger input[type="checkbox"]:checked + label::before {
148 | background-color: #d9534f;
149 | border-color: #d9534f;
150 | }
151 | .checkbox-danger input[type="checkbox"]:checked + label::after {
152 | color: #fff;
153 | }
154 | .checkbox-info input[type="checkbox"]:checked + label::before {
155 | background-color: #5bc0de;
156 | border-color: #5bc0de;
157 | }
158 | .checkbox-info input[type="checkbox"]:checked + label::after {
159 | color: #fff;
160 | }
161 | .checkbox-warning input[type="checkbox"]:checked + label::before {
162 | background-color: #f0ad4e;
163 | border-color: #f0ad4e;
164 | }
165 | .checkbox-warning input[type="checkbox"]:checked + label::after {
166 | color: #fff;
167 | }
168 | .checkbox-success input[type="checkbox"]:checked + label::before {
169 | background-color: #5cb85c;
170 | border-color: #5cb85c;
171 | }
172 | .checkbox-success input[type="checkbox"]:checked + label::after {
173 | color: #fff;
174 | }
175 |
176 | /*
177 | ## Bootstrap
178 | */
179 | .tooltip-inner {
180 | max-width: none;
181 | white-space: nowrap;
182 | }
183 | .dropmenu_desc {
184 | margin-left: 10px;
185 | }
186 | .dnsfield {
187 | width: 100% !important;
188 | }
189 |
190 | /*
191 | ## NProgress Bar
192 | */
193 |
194 | /* Make clicks pass-through */
195 | #nprogress {
196 | pointer-events: none;
197 | }
198 | #nprogress .bar {
199 | background: #29d;
200 | position: fixed;
201 | z-index: 1031;
202 | top: 0;
203 | left: 0;
204 | width: 100%;
205 | height: 3px;
206 | }
207 |
208 | /* Fancy blur effect */
209 | #nprogress .peg {
210 | display: block;
211 | position: absolute;
212 | right: 0px;
213 | width: 100px;
214 | height: 100%;
215 | box-shadow: 0 0 10px #29d, 0 0 5px #29d;
216 | opacity: 0.5;
217 | -webkit-transform: rotate(1deg) translate(0px, 0px);
218 | -ms-transform: rotate(1deg) translate(0px, 0px);
219 | transform: rotate(1deg) translate(0px, 0px);
220 | }
221 |
222 | /* Remove these to get rid of the spinner */
223 | #nprogress .spinner {
224 | display: block;
225 | position: fixed;
226 | z-index: 1031;
227 | top: 15px;
228 | right: 15px;
229 | }
230 | #nprogress .spinner-icon {
231 | width: 18px;
232 | height: 18px;
233 | box-sizing: border-box;
234 | border: solid 2px transparent;
235 | border-top-color: #29d;
236 | border-left-color: #29d;
237 | border-radius: 50%;
238 | -webkit-animation: nprogress-spinner 400ms linear infinite;
239 | animation: nprogress-spinner 400ms linear infinite;
240 | }
241 | .nprogress-custom-parent {
242 | overflow: hidden;
243 | position: relative;
244 | }
245 | .nprogress-custom-parent #nprogress .spinner, .nprogress-custom-parent #nprogress .bar {
246 | position: absolute;
247 | }
248 | @-webkit-keyframes nprogress-spinner {
249 | 0% {
250 | -webkit-transform: rotate(0deg);
251 | }
252 | 100% {
253 | -webkit-transform: rotate(360deg);
254 | }
255 | }
256 | @keyframes nprogress-spinner {
257 | 0% {
258 | transform: rotate(0deg);
259 | }
260 | 100% {
261 | transform: rotate(360deg);
262 | }
263 | }
264 |
265 | /*
266 | ## Alert Boxes
267 | */
268 | .alert2 {
269 | padding: 18px;
270 | margin: 10px 0;
271 | border: 1px solid #eee;
272 | border-left-width: 5px;
273 | border-radius: 3px;
274 | background-color: #FDFDFD;
275 | }
276 | .alert2 h4 {
277 | margin-top: 0;
278 | margin-bottom: 5px;
279 | padding: 0;
280 | }
281 | .alert2 p:last-child {
282 | margin-bottom: 0;
283 | font-size: 12px;
284 | line-height: 1.42857;
285 | color: #333;
286 | padding: 0;
287 | }
288 | .alert2 code {
289 | border-radius: 3px
290 | }
291 | .alert2 {
292 | margin-top: 5px
293 | }
294 | .alert2-danger {
295 | border-color: #F9E8E8;
296 | border-left-color: #c60f13
297 | }
298 | .alert2-danger h4 {
299 | color: #c60f13
300 | }
301 | .msg .alert2-danger p {
302 | font-weight: bold;
303 | color: #c60f13
304 | }
305 | .alert2-warning {
306 | border-color: #FBEDDB;
307 | border-left-color: #e3b000
308 | }
309 | .alert2-warning h4 {
310 | color: #e3b000
311 | }
312 | .msg .alert2-warning p {
313 | font-weight: bold;
314 | color: #e3b000
315 | }
316 | .alert2-info {
317 | border-color: #D6E3F8;
318 | border-left-color: #2ba6cb
319 | }
320 | .alert2-info h4 {
321 | color: #2ba6cb
322 | }
323 | .msg .alert2-info p {
324 | font-weight: bold;
325 | color: #2ba6cb
326 | }
327 | .alert2-success {
328 | border-color: #C7D7C4;
329 | border-left-color: #5da423;
330 | }
331 | .alert2-success h4 {
332 | color: #5da423
333 | }
334 | .msg .alert2-success p {
335 | font-weight: bold;
336 | color: #5da423
337 | }
338 |
339 | /*
340 | ## Control feature layout
341 | */
342 | .dataTables_wrapper .dataTables_processing {
343 | position: absolute;
344 | top: 50%;
345 | left: 50%;
346 | width: 100%;
347 | height: 80px;
348 | margin-left: -50%;
349 | margin-top: 0px !important;
350 | text-align: center;
351 | color: #808080 !important;
352 | font-size: 1.2em;
353 | line-height: 80px;
354 | border: 0px;
355 | box-shadow: none;
356 | background-color: white;
357 | background: -webkit-radial-gradient(center, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0.9) 1%, rgba(255, 255, 255, 0.9)4%, rgba(255, 255, 255, 0) 60%);
358 | /* Chrome10+,Safari5.1+ */
359 | background: -moz-radial-gradient(center, rgba(255, 255, 255, 1) 1%, rgba(255, 255, 255, 0.9) 1%, rgba(255, 255, 255, 0.9) 4%, rgba(255, 255, 255, 0) 60%);
360 | /* FF3.6+ */
361 | background: -ms-radial-gradient(center, rgba(255, 255, 255, 1) 1%, rgba(255, 255, 255, 0.9) 1%, rgba(255, 255, 255, 0.9) 4%, rgba(255, 255, 255, 0) 60%);
362 | /* IE10+ */
363 | background: -o-radial-gradient(at center, rgba(255, 255, 255, 1) 1%, rgba(255, 255, 255, 0.9) 1%, rgba(255, 255, 255, 0.9) 4%, rgba(255, 255, 255, 0) 60%);
364 | /* Opera 11.10+ */
365 | background: radial-gradient(center, rgba(255, 255, 255, 1) 1%, rgba(255, 255, 255, 0.9) 1%, rgba(255, 255, 255, 0.9) 4%, rgba(255, 255, 255, 0) 60%);/* W3C */
366 | }
367 |
368 | /*
369 | ## Responsive Table styles
370 | */
371 | table.dataTable.dtr-inline.collapsed tbody td:first-child, table.dataTable.dtr-inline.collapsed tbody th:first-child {
372 | position: relative;
373 | padding-left: 30px;
374 | cursor: pointer;
375 | }
376 | table.dataTable.dtr-inline.collapsed tbody td:first-child:before, table.dataTable.dtr-inline.collapsed tbody th:first-child:before {
377 | top: 8px;
378 | left: 4px;
379 | height: 16px;
380 | width: 16px;
381 | display: block;
382 | position: absolute;
383 | color: white;
384 | border: 2px solid white;
385 | border-radius: 16px;
386 | text-align: center;
387 | line-height: 14px;
388 | box-shadow: 0 0 3px #444;
389 | box-sizing: content-box;
390 | content: '+';
391 | background-color: #31b131;
392 | }
393 | table.dataTable.dtr-inline.collapsed tbody td:first-child.dataTables_empty:before, table.dataTable.dtr-inline.collapsed tbody th:first-child.dataTables_empty:before {
394 | display: none;
395 | }
396 | table.dataTable.dtr-inline.collapsed tbody tr.parent td:first-child:before, table.dataTable.dtr-inline.collapsed tbody tr.parent th:first-child:before {
397 | content: '-';
398 | background-color: #d33333;
399 | }
400 | table.dataTable.dtr-inline.collapsed tbody tr.child td:before {
401 | display: none;
402 | }
403 | table.dataTable.dtr-column tbody td.control, table.dataTable.dtr-column tbody th.control {
404 | position: relative;
405 | cursor: pointer;
406 | }
407 | table.dataTable.dtr-column tbody td.control:before, table.dataTable.dtr-column tbody th.control:before {
408 | top: 50%;
409 | left: 50%;
410 | height: 16px;
411 | width: 16px;
412 | margin-top: -10px;
413 | margin-left: -10px;
414 | display: block;
415 | position: absolute;
416 | color: white;
417 | border: 2px solid white;
418 | border-radius: 16px;
419 | text-align: center;
420 | line-height: 14px;
421 | box-shadow: 0 0 3px #444;
422 | box-sizing: content-box;
423 | content: '+';
424 | background-color: #31b131;
425 | }
426 | table.dataTable.dtr-column tbody tr.parent td.control:before, table.dataTable.dtr-column tbody tr.parent th.control:before {
427 | content: '-';
428 | background-color: #d33333;
429 | }
430 | table.dataTable tr.child {
431 | padding: 0.5em 1em;
432 | }
433 | table.dataTable tr.child:hover {
434 | background: transparent !important;
435 | }
436 | table.dataTable tr.child ul {
437 | display: inline-block;
438 | list-style-type: none;
439 | margin: 0;
440 | padding: 0;
441 | }
442 | table.dataTable tr.child ul li {
443 | border-bottom: 1px solid #efefef;
444 | padding: 0.5em 0;
445 | white-space: nowrap;
446 | }
447 | table.dataTable tr.child ul li:first-child {
448 | padding-top: 0;
449 | }
450 | table.dataTable tr.child ul li:last-child {
451 | border-bottom: none;
452 | }
453 | table.dataTable tr.child span.dtr-title {
454 | display: inline-block;
455 | min-width: 75px;
456 | font-weight: bold;
457 | }
458 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | SoluteDNS Community Edition for WHMCS
2 | --------------------------------------------------------------------------------
3 | The Public License Agreement mentioned below applies as written permission in
4 | addition to the SoluteDNS End User License Agreement as found at:
5 | https://www.solutedns.com/eula/ and is limited to the accompanying program only.
6 | This Public License Agreement may not apply to third-party/vendor programs
7 | included and is not applicable to other programs who may be required for this
8 | product to operate.
9 | --------------------------------------------------------------------------------
10 |
11 | Eclipse Public License - v 1.0
12 |
13 | THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC
14 | LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM
15 | CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
16 |
17 | 1. DEFINITIONS
18 |
19 | "Contribution" means:
20 | a) in the case of the initial Contributor, the initial code and
21 | documentation distributed under this Agreement, and
22 | b) in the case of each subsequent Contributor:
23 | i) changes to the Program, and
24 | ii) additions to the Program;
25 |
26 | where such changes and/or additions to the Program originate from and are
27 | distributed by that particular Contributor. A Contribution 'originates' from a
28 | Contributor if it was added to the Program by such Contributor itself or
29 | anyone acting on such Contributor's behalf. Contributions do not include
30 | additions to the Program which: (i) are separate modules of software
31 | distributed in conjunction with the Program under their own license agreement,
32 | and (ii) are not derivative works of the Program.
33 | "Contributor" means any person or entity that distributes the Program.
34 |
35 | "Licensed Patents" mean patent claims licensable by a Contributor which are
36 | necessarily infringed by the use or sale of its Contribution alone or when
37 | combined with the Program.
38 |
39 | "Program" means the Contributions distributed in accordance with this
40 | Agreement.
41 |
42 | "Recipient" means anyone who receives the Program under this Agreement,
43 | including all Contributors.
44 |
45 | 2. GRANT OF RIGHTS
46 |
47 | a) Subject to the terms of this Agreement, each Contributor hereby grants
48 | Recipient a non-exclusive, worldwide, royalty-free copyright license to
49 | reproduce, prepare derivative works of, publicly display, publicly
50 | perform, distribute and sublicense the Contribution of such Contributor,
51 | if any, and such derivative works, in source code and object code form.
52 |
53 | b) Subject to the terms of this Agreement, each Contributor hereby grants
54 | Recipient a non-exclusive, worldwide, royalty-free patent license under
55 | Licensed Patents to make, use, sell, offer to sell, import and otherwise
56 | transfer the Contribution of such Contributor, if any, in source code and
57 | object code form. This patent license shall apply to the combination of
58 | the Contribution and the Program if, at the time the Contribution is
59 | added by the Contributor, such addition of the Contribution causes such
60 | combination to be covered by the Licensed Patents. The patent license
61 | shall not apply to any other combinations which include the Contribution.
62 | No hardware per se is licensed hereunder.
63 |
64 | c) Recipient understands that although each Contributor grants the
65 | licenses to its Contributions set forth herein, no assurances are
66 | provided by any Contributor that the Program does not infringe the patent
67 | or other intellectual property rights of any other entity. Each
68 | Contributor disclaims any liability to Recipient for claims brought by
69 | any other entity based on infringement of intellectual property rights or
70 | otherwise. As a condition to exercising the rights and licenses granted
71 | hereunder, each Recipient hereby assumes sole responsibility to secure
72 | any other intellectual property rights needed, if any. For example, if a
73 | third party patent license is required to allow Recipient to distribute
74 | the Program, it is Recipient's responsibility to acquire that license
75 | before distributing the Program.
76 |
77 | d) Each Contributor represents that to its knowledge it has sufficient
78 | copyright rights in its Contribution, if any, to grant the copyright
79 | license set forth in this Agreement.
80 |
81 | 3. REQUIREMENTS
82 | A Contributor may choose to distribute the Program in object code form under
83 | its own license agreement, provided that:
84 |
85 | a) it complies with the terms and conditions of this Agreement; and
86 |
87 | b) its license agreement:
88 | i) effectively disclaims on behalf of all Contributors all
89 | warranties and conditions, express and implied, including warranties
90 | or conditions of title and non-infringement, and implied warranties
91 | or conditions of merchantability and fitness for a particular
92 | purpose;
93 | ii) effectively excludes on behalf of all Contributors all liability
94 | for damages, including direct, indirect, special, incidental and
95 | consequential damages, such as lost profits;
96 | iii) states that any provisions which differ from this Agreement are
97 | offered by that Contributor alone and not by any other party; and
98 | iv) states that source code for the Program is available from such
99 | Contributor, and informs licensees how to obtain it in a reasonable
100 | manner on or through a medium customarily used for software
101 | exchange.
102 |
103 | When the Program is made available in source code form:
104 |
105 | a) it must be made available under this Agreement; and
106 |
107 | b) a copy of this Agreement must be included with each copy of the
108 | Program.
109 | Contributors may not remove or alter any copyright notices contained within
110 | the Program.
111 |
112 | Each Contributor must identify itself as the originator of its Contribution,
113 | if any, in a manner that reasonably allows subsequent Recipients to identify
114 | the originator of the Contribution.
115 |
116 | 4. COMMERCIAL DISTRIBUTION
117 | Commercial distributors of software may accept certain responsibilities with
118 | respect to end users, business partners and the like. While this license is
119 | intended to facilitate the commercial use of the Program, the Contributor who
120 | includes the Program in a commercial product offering should do so in a manner
121 | which does not create potential liability for other Contributors. Therefore,
122 | if a Contributor includes the Program in a commercial product offering, such
123 | Contributor ("Commercial Contributor") hereby agrees to defend and indemnify
124 | every other Contributor ("Indemnified Contributor") against any losses,
125 | damages and costs (collectively "Losses") arising from claims, lawsuits and
126 | other legal actions brought by a third party against the Indemnified
127 | Contributor to the extent caused by the acts or omissions of such Commercial
128 | Contributor in connection with its distribution of the Program in a commercial
129 | product offering. The obligations in this section do not apply to any claims
130 | or Losses relating to any actual or alleged intellectual property
131 | infringement. In order to qualify, an Indemnified Contributor must: a)
132 | promptly notify the Commercial Contributor in writing of such claim, and b)
133 | allow the Commercial Contributor to control, and cooperate with the Commercial
134 | Contributor in, the defense and any related settlement negotiations. The
135 | Indemnified Contributor may participate in any such claim at its own expense.
136 |
137 | For example, a Contributor might include the Program in a commercial product
138 | offering, Product X. That Contributor is then a Commercial Contributor. If
139 | that Commercial Contributor then makes performance claims, or offers
140 | warranties related to Product X, those performance claims and warranties are
141 | such Commercial Contributor's responsibility alone. Under this section, the
142 | Commercial Contributor would have to defend claims against the other
143 | Contributors related to those performance claims and warranties, and if a
144 | court requires any other Contributor to pay any damages as a result, the
145 | Commercial Contributor must pay those damages.
146 |
147 | 5. NO WARRANTY
148 | EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN
149 | "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR
150 | IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE,
151 | NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each
152 | Recipient is solely responsible for determining the appropriateness of using
153 | and distributing the Program and assumes all risks associated with its
154 | exercise of rights under this Agreement , including but not limited to the
155 | risks and costs of program errors, compliance with applicable laws, damage to
156 | or loss of data, programs or equipment, and unavailability or interruption of
157 | operations.
158 |
159 | 6. DISCLAIMER OF LIABILITY
160 | EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY
161 | CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL,
162 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION
163 | LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
164 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
165 | ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE
166 | EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY
167 | OF SUCH DAMAGES.
168 |
169 | 7. GENERAL
170 |
171 | If any provision of this Agreement is invalid or unenforceable under
172 | applicable law, it shall not affect the validity or enforceability of the
173 | remainder of the terms of this Agreement, and without further action by the
174 | parties hereto, such provision shall be reformed to the minimum extent
175 | necessary to make such provision valid and enforceable.
176 |
177 | If Recipient institutes patent litigation against any entity (including a
178 | cross-claim or counterclaim in a lawsuit) alleging that the Program itself
179 | (excluding combinations of the Program with other software or hardware)
180 | infringes such Recipient's patent(s), then such Recipient's rights granted
181 | under Section 2(b) shall terminate as of the date such litigation is filed.
182 |
183 | All Recipient's rights under this Agreement shall terminate if it fails to
184 | comply with any of the material terms or conditions of this Agreement and does
185 | not cure such failure in a reasonable period of time after becoming aware of
186 | such noncompliance. If all Recipient's rights under this Agreement terminate,
187 | Recipient agrees to cease use and distribution of the Program as soon as
188 | reasonably practicable. However, Recipient's obligations under this Agreement
189 | and any licenses granted by Recipient relating to the Program shall continue
190 | and survive.
191 |
192 | Everyone is permitted to copy and distribute copies of this Agreement, but in
193 | order to avoid inconsistency the Agreement is copyrighted and may only be
194 | modified in the following manner. The Agreement Steward reserves the right to
195 | publish new versions (including revisions) of this Agreement from time to
196 | time. No one other than the Agreement Steward has the right to modify this
197 | Agreement. The Eclipse Foundation is the initial Agreement Steward. The
198 | Eclipse Foundation may assign the responsibility to serve as the Agreement
199 | Steward to a suitable separate entity. Each new version of the Agreement will
200 | be given a distinguishing version number. The Program (including
201 | Contributions) may always be distributed subject to the version of the
202 | Agreement under which it was received. In addition, after a new version of the
203 | Agreement is published, Contributor may elect to distribute the Program
204 | (including its Contributions) under the new version. Except as expressly
205 | stated in Sections 2(a) and 2(b) above, Recipient receives no rights or
206 | licenses to the intellectual property of any Contributor under this Agreement,
207 | whether expressly, by implication, estoppel or otherwise. All rights in the
208 | Program not expressly granted under this Agreement are reserved.
209 |
210 | This Agreement is governed by the laws of the State of New York and the
211 | intellectual property laws of the United States of America. No party to this
212 | Agreement will bring a legal action under this Agreement more than one year
213 | after the cause of action arose. Each party waives its rights to a jury trial
214 | in any resulting litigation.
--------------------------------------------------------------------------------
/templates/js/admin.js:
--------------------------------------------------------------------------------
1 | /**********************************************
2 |
3 | *** SoluteDNS CE for WHMCS ***
4 |
5 | File: template/js/admin.js
6 | File version: 0.17.001
7 | Date: 09-11-2017
8 |
9 | Copyright (C) NetDistrict 2016-2017
10 | All Rights Reserved
11 |
12 | **********************************************/
13 |
14 | function sendData(json) {
15 |
16 | NProgress.start();
17 |
18 | if (typeof time1 !== 'undefined') {
19 | clearTimeout(time1);
20 | }
21 | if (typeof time2 !== 'undefined') {
22 | clearTimeout(time2);
23 | }
24 |
25 | $.ajax({
26 | data: {
27 | 'data': json
28 | },
29 | url: location.protocol + '//' + location.host + location.pathname + '?module=solutedns&action=post',
30 | method: "POST",
31 | success: function (data) {
32 |
33 | var result = JSON.parse(data);
34 |
35 | if (result) {
36 | result.forEach(function (data) {
37 |
38 | setMessage(data['title'], data['msg'], data['status'], data['tablereload'], data['pagereload'], data['fieldreset'], data['msgReset'], data['fixed'], data['errorFields'])
39 |
40 | if (data['syscheck'] == true) {
41 | syscheck();
42 | }
43 |
44 | if (typeof data['field'] !== 'undefined') {
45 | setErrorField(data['field']);
46 | }
47 |
48 | });
49 | }
50 |
51 | NProgress.done();
52 |
53 | }
54 | });
55 |
56 | }
57 |
58 | function setMessage(title, desc, status, tableReload, pageReload, fieldReset, msgReset, fixed, errorFields) {
59 |
60 | /* Message Reset */
61 | if (msgReset == true) {
62 | resetMessages();
63 | }
64 |
65 | /* Generate Unique ID */
66 | var id = '4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
67 | var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);
68 | return v.toString(16);
69 | });
70 |
71 | /* Set message state */
72 | if (status == 'error') {
73 | var state = 'alert2 alert2-danger';
74 | } else {
75 | var state = 'alert2 alert2-' + status;
76 | }
77 |
78 | /* Add Message */
79 | $('#msgConsole').append('