1<!-- (c) 2005-2020 by Martin Willisegger -->
2<!-- -->
3<!-- Project   : NagiosQL -->
4<!-- Component : Host list view template -->
5<!-- Website   : https://sourceforge.net/projects/nagiosql/ -->
6<!-- Version   : 3.4.1 -->
7<!-- GIT Repo  : https://gitlab.com/wizonet/NagiosQL -->
8<!-- BEGIN datatablehost -->
9<div id="content_main">
10    <div id="content_title">{TITLE}</div>
11    <!--suppress JSUnusedAssignment, JSUnusedLocalSymbols -->
12    <script type="text/javascript">
13        <!--
14        let intCheck = 0;
15        // Action icons
16        function actionPic(modus,id,name) {
17            if(id !== "") {
18                if (modus === "download") {
19                    getDownload(id,name);
20                    return;
21                }
22                document.frmDatalist.hidModify.value = modus;
23                document.frmDatalist.hidListId.value = id;
24                if (document.frmDatalist.hidModify.value === "delete") {
25                    confirminit("{LANG_DELETESINGLE}\n"+name+"?","{LANG_SECURE_QUESTION}",2,"{LANG_YES}","{LANG_NO}",1);
26                } else {
27                    document.frmDatalist.submit();
28                }
29            }
30        }
31        // Download function
32        function getDownload(id,name) {
33            const time = new Date();
34            const table = "{TABLE_NAME}";
35            this.location.href = "download.php?table="+table+"&line="+id+"&config="+name+"&timestamp="+time.getTime();
36        }
37        // Add dataset function
38        function addDataset() {
39            document.frmDatalist.modus.value = "add";
40            document.frmDatalist.submit();
41        }
42        // Write configuration function
43        function writeConfig() {
44            document.frmDatalist.modus.value = "make";
45            document.frmDatalist.submit();
46        }
47        // Deletion confirmation
48        function checkMode() {
49            if (document.frmDatalist.selModify.value === "delete") {
50                confirminit("{LANG_DELETEOK}","{LANG_SECURE_QUESTION}",2,"{LANG_YES}","{LANG_NO}",2);
51            } else {
52                document.frmDatalist.submit();
53                document.frmDatalist.subDo.disabled = true;
54            }
55        }
56        // Mark all check boxes
57        function markAll() {
58            if (intCheck === 0) {
59                for(let i={MIN_ID};i<={MAX_ID};i++) {
60                    if (document.getElementById("chbId_"+i)) {
61                        document.getElementById("chbId_"+i).checked = true;
62                    }
63                }
64                intCheck = 1;
65            } else {
66                for(let i={MIN_ID};i<={MAX_ID};i++) {
67                    if (document.getElementById("chbId_"+i)) {
68                        document.getElementById("chbId_"+i).checked = false;
69                    }
70                }
71                intCheck = 0;
72            }
73        }
74        // Delete function
75        function del(key) {
76            if (key === "search") {
77                document.frmDatalist.txtSearch.value = "";
78                document.frmDatalist.submit();
79            }
80        }
81        // Domain copy enable
82        function checkCopy(elem) {
83            if (elem === 'copy') {
84                document.getElementById("copytext").className = "elementShow";
85                document.getElementById("selTarDom").className = "elementShow";
86            } else {
87                document.getElementById("copytext").className = "elementHide";
88                document.getElementById("selTarDom").className = "elementHide";
89            }
90        }
91        //Submit form
92        function confOpenerYes(key) {
93            if (key === 1) {
94                document.frmDatalist.submit();
95            }
96            if (key === 2) {
97                document.frmDatalist.submit();
98                document.frmDatalist.subDo.disabled = true;
99            }
100        }
101        // Row sorting
102        function sort_row(row,direction) {
103            if (('{DISABLE_SORT_2}' === '') || (row === '1')) {
104                document.frmDatalist.hidSortBy.value = row;
105                document.frmDatalist.hidSortDir.value = direction;
106                document.frmDatalist.hidSort.value = '1';
107                document.frmDatalist.submit();
108            }
109        }
110        //-->
111    </script>
112    <form name="frmDatalist" method="post" action="{ACTION_MODIFY}">
113        <table style="border: 0; border-spacing: 1px; border-collapse: separate;" class="content_formtable">
114            <tr>
115                <td style="width: 120px;">{LANG_SEARCH_STRING}:</td>
116                <td class="content_tbl_row2"><input title="{LANG_SEARCH_STRING}" type="text" name="txtSearch" value="{DAT_SEARCH}" class="selectborder"></td>
117                <td style="width:100px;"><img src="{IMAGE_PATH_HEAD}lupe.gif" width="18" height="18" alt="{LANG_SEARCH}" title="{LANG_SEARCH}" style="cursor:pointer;" onClick="document.frmDatalist.submit();">&nbsp;<img src="{IMAGE_PATH_HEAD}del.png" width="18" height="18" alt="{LANG_DELETE_SEARCH}" title="{LANG_DELETE_SEARCH}" onClick="del('search');" style="cursor:pointer;"></td>
118                <td style="width: 180px;">&nbsp;</td>
119                <td style="width: 70px;">{LANG_FILTER}:</td>
120                <td style="width: 85px;">{LANG_REGISTERED}:</td>
121                <td><select name="selRegFilter" id="selRegFilter" title="{LANG_REGISTERED}" class="selectborder" style="width: 50px;" onchange="document.frmDatalist.submit();">
122                        <option value="0" {SEL_REGFILTER_0_SELECTED}>{LANG_ALL}</option>
123                        <option value="1" {SEL_REGFILTER_1_SELECTED}>{LANG_YES}</option>
124                        <option value="2" {SEL_REGFILTER_2_SELECTED}>{LANG_NO}</option>
125                    </select></td>
126                <td style="width: 20px;">&nbsp;</td>
127                <td style="width: 50px;">{LANG_ACTIVE}:</td>
128                <td><select name="selActiveFilter" id="selActiveFilter" title="{LANG_ACTIVE}" class="selectborder" style="width: 50px;" onchange="document.frmDatalist.submit();">
129                        <option value="0" {SEL_ACTIVEFILTER_0_SELECTED}>{LANG_ALL}</option>
130                        <option value="1" {SEL_ACTIVEFILTER_1_SELECTED}>{LANG_YES}</option>
131                        <option value="2" {SEL_ACTIVEFILTER_2_SELECTED}>{LANG_NO}</option>
132                    </select></td>
133            </tr>
134        </table>
135        <table border="0" cellpadding="0" class="content_listtable" width="100%">
136            <tr>
137                <th style="width:30px;text-align:center;padding-top:0;padding-bottom:0;"><input name="chbMark" type="checkbox" class="checkbox" id="chbMark" onMouseUp="markAll();" value="" title="{LANG_MARKALL}"></th>
138                <th style="width:225px;cursor:pointer;" onclick="sort_row(1,'{SORT_DIR_1}');"><div style="float:left">{FIELD_1}</div><div style="float:right">{SORT_IMAGE_1}</div></th>
139                <th style="width:270px;cursor:pointer;{DISABLE_SORT_2}" onclick="sort_row(2,'{SORT_DIR_2}');"><div style="float:left">{FIELD_2}</div><div style="float:right">{SORT_IMAGE_2}</div></th>
140                <th style="width:80px;text-align:center;">{LANG_REGISTERED}</th>
141                <th style="width:80px;text-align:center;">{LANG_ACTIVE}</th>
142                <th style="width:80px;text-align:center;">{LANG_FILE}</th>
143                <th style="width:125px;text-align:center;"><div style="width:125px">{LANG_FUNCTION}</div></th>
144            </tr>
145            <!-- BEGIN datarowhost -->
146            <tr>
147                <td class="{CELLCLASS_M}"><input title="" type="checkbox" name="chbId_{LINE_ID}"  id="chbId_{LINE_ID}" {DISABLED}></td>
148                <td class="{CELLCLASS_L}">{DATA_FIELD_1} {DOMAIN_SPECIAL}</td>
149                <td class="{CELLCLASS_L}">{DATA_FIELD_2}</td>
150                <td class="{CELLCLASS_M}">{DATA_REGISTERED}</td>
151                <td class="{CELLCLASS_M}">{DATA_ACTIVE}</td>
152                <td class="{CELLCLASS_M}">{DATA_FILE}</td>
153                <td class="{CELLCLASS_M}" valign="middle"><img src="{IMAGE_PATH}edit.gif" alt="{LANG_MODIFY}" title="{LANG_MODIFY}" width="18" height="18" border="0" onClick="actionPic('modify','{LINE_ID}','');" class="{PICTURE_CLASS}">
154                    <img src="{IMAGE_PATH}copy.gif" alt="{LANG_DUPLICATE}" title="{LANG_DUPLICATE}" width="18" height="18" border="0" onClick="actionPic('copy','{LINE_ID}','');" class="{PICTURE_CLASS} {LINE_CONTROL}">
155                    <img src="{IMAGE_PATH}delete.gif" alt="{LANG_DELETE}" title="{LANG_DELETE}" width="18" height="18" onClick="actionPic('delete','{LINE_ID}','{DATA_FIELD_1}');" class="{PICTURE_CLASS} {LINE_CONTROL}">
156                    <img src="{IMAGE_PATH}write.gif" alt="{LANG_WRITE_CONFIG}" title="{LANG_WRITE_CONFIG}" width="18" height="18" onClick="actionPic('config','{LINE_ID}','{DATA_FIELD_1}');" class="{PICTURE_CLASS} {LINE_CONTROL} {ACTIVE_CONTROL}">
157                    <img src="{IMAGE_PATH}download.gif" alt="{LANG_DOWNLOAD}" title="{LANG_DOWNLOAD}" width="18" height="18" onClick="actionPic('download','{LINE_ID}','{DATA_FIELD_1}');" class="{PICTURE_CLASS} {LINE_CONTROL} {ACTIVE_CONTROL}">
158                    <img src="{IMAGE_PATH}info.gif" alt="{INFO}" title="{INFO}" width="18" height="18" onClick="actionPic('info','{LINE_ID}','');" class="{PICTURE_CLASS}"></td>
159            </tr>
160            <!-- END datarowhost -->
161        </table>
162        <table border="0" cellpadding="0" class="content_formtable" width="100%">
163            <tr>
164                <td><input name="subAdd" type="button" id="subAdd" onClick="addDataset();" value="{LANG_ADD}" {ADD_CONTROL} style="width:100px;">
165                    <input name="subMake" type="button" id="subMake" onclick="writeConfig();" value="{LANG_WRITE_CONF_ALL}" {ADD_CONTROL} style="width:205px;"></td>
166                <td><input name="modus" type="hidden" id="modus" value="checkform">
167                    <input name="hidModify" type="hidden" id="hidModify">
168                    <input name="hidListId" type="hidden" id="hidListId">
169                    <input name="hidLimit" type="hidden" id="hidLimit" value="{LIMIT}">
170                    <input name="hidSortBy" type="hidden" id="hidSortBy" value="{SORT_BY}">
171                    <input name="hidSortDir" type="hidden" id="hidSortDir" value="{SORT_DIR}">
172                    <input name="hidSort" type="hidden" id="hidSort" value="0"></td>
173                <td style="text-align:right">{LANG_MARKED}:
174                    <select title="{LANG_MARKED}" name="selModify" id="selModify" onchange="checkCopy(this.value);" class="selectborder" {ADD_CONTROL} style="width:120px;">
175                        <option value="none">&nbsp;</option>
176                        <option value="delete">{DELETE}</option>
177                        <option value="copy">{DUPLICATE}</option>
178                        <option value="config">{WRITE_CONFIG}</option>
179                        <option value="activate">{ACTIVATE}</option>
180                        <option value="deactivate">{DEACTIVATE}</option>
181                    </select>
182                    <span id="copytext" style="padding-left:10px" class="elementHide">to Domain:</span>
183                    <select title="to Domain" name="selTarDom" id="selTarDom" class="elementHide selectborder" {ADD_CONTROL} style="width:120px;">
184                        <!-- BEGIN domainlist -->
185                        <option value="{DOMAIN_ID}" {DOMAIN_SEL}>{DOMAIN_NAME}</option>
186                        <!-- END domainlist -->
187                    </select>
188                    <input name="subDo" type="button" id="subDo" value="{LANG_DO_IT}" onClick="checkMode();" {ADD_CONTROL} style="width:120px;"></td>
189            </tr>
190        </table>
191    </form>
192    <br>
193    <div class="pagelinks">{PAGES}</div>
194</div>
195<div id="confirmcontainer"></div>
196<div id="msgcontainer"></div>
197<!-- END datatablehost -->
198<!-- BEGIN msgfooter -->
199<p style="padding-left:10px; width:890px;">
200    <!-- BEGIN consistency --><span>{CONSIST_USAGE}</span><br><br><!-- END consistency -->
201    <!-- BEGIN infomessage --><span class="greenmessage">{INFOMESSAGE}</span><br><!-- END infomessage -->
202    <!-- BEGIN errormessage --><span class="redmessage">{ERRORMESSAGE}</span><br><!-- END errormessage -->
203    <!-- BEGIN table_time --><span class="timeinfo">{LAST_MODIFIED_TABLE}</span><br><!-- END table_time -->
204    <!-- BEGIN file_time --><span class="timeinfo">{LAST_MODIFIED_FILE}</span><br><!-- END file_time -->
205    <!-- BEGIN modification_status --><span class="redmessage">{MODIFICATION_STATUS}</span><br><!-- END modification_status -->
206</p>
207<!-- END msgfooter -->