2018-01-16 19:45:41 +03:00

107 lines
3.4 KiB
Tcl
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?
######################################################
# web
# Distributed under GNU Public License
# Author: Sergey Kalinin banzaj28@yandex.ru
# Copyright (c) "Sergey Kalinin", 2017, http://nuk-svk.ru
######################################################
package require mysqltcl
proc main {} {
if { [::rivet::var exists query_type] } {
set query_type [::rivet::var get query_type]
if {$query_type == "internal"} {
set output "[header] [body] [getInternalNumbers] [footer]"
}
} else {
set output "[header] [body] [footer]"
}
return $output
}
proc header {} {
set txtHeader "<html><head><meta charset=\"utf-8\"><link rel=\"shortcut icon\" href=\"favicon.png\" >\n
<link rel=\"icon\" type=\"image/png\" href=\"favicon.png\" >\n
<link href=\"css/layout.css\" rel=\"stylesheet\" type=\"text/css\" />\n
<title>Телефоны</title>\n
<link href=\"css/menu.css\" rel=\"stylesheet\" type=\"text/css\" /></head><body>\n"
return $txtHeader
}
proc footer {} {
set txtFooter "</body></html>\n"
return $txtFooter
}
proc body {} {
set txtBody "<table><tr><td><h2 align=left>ТЕЛЕФОНЫ</h2></td></tr>\n
<tr><td>[menu]</td></tr></table>\n"
return $txtBody
}
proc menu {} {
set txtMenu "<div class=\"container\"><ul id=\"nav\"></li>
<li><a class=\"hsubs\" href=\"#\">Справочник</a><ul class=\"subs\">
<li><a href=\"?query_type=external\">Городские телефоны</a></li>
<li><a href=\"?query_type=internal\">Внутренние</a></li></li>
<li><a href=\"?query_type=ldap\">Внутренние (AD)</a></li></ul></li>
<li><a class=\"hsubs\" href=\"\">Отчёты</a><ul class=\"subs\">
<li><a href=\"?query_type=report&report_type=int\">Список звонков по номеру</a></li>
<li><a href=\"?query_type=report&report_type=dep\">Звонки по отделам</a></li>\n</ul></div>"
return $txtMenu
}
proc connectDB {} {
return [mysql::connect -host localhost -user root -db ats -encoding binary]
}
# Список внутренних номеров из СУБД
proc getInternalNumbers {} {
set conn [connectDB]
set order "int_number"
set result "<h4 align=left>Список внутренних телефонов</h4>"
set qr "SELECT * FROM int_number ORDER by $order"
set query [mysql::query $conn $qr]
set listHeader "<table class=\"table_dark\"><tr><th> п/п</th>\n
<th><a href=index.py?query_type=internal&order=int_number>Телефон</a></th>\n
<th><a href=index.py?query_type=internal&order=fio>ФИО</a></th>\n
<th>Описание<th>Эл.почта</th></tr>\n"
set result "$result $listHeader"
set rowData ""
while {[set row [mysql::fetch $query]]!=""} {
set rowData "<tr><td>[lindex $row 0]</td>
<td>[lindex $row 1]</td>
<td>[lindex $row 2]</td>
<td>[lindex $row 4]</td>
<td><a href=\"mailto:[lindex $row 3]\">[lindex $row 3]</a></td></tr>\n"
}
mysql::endquery $query
#set result "$result [encoding convertto utf-8 $rowData]"
set result "$result $rowData"
return "$result </table>\n"
}
# Список пользователей (ФИО, телефон, почта, отдел) из LDAP (AD)
proc getLDAPusers {} {
}
proc getCOline {} {
}
proc ReportForm {} {
}
proc ReportData {environ} {
}
#puts [header]
#puts [body]
#puts [footer]
puts [main]
?>