diff --git a/www/favicon.png b/www/favicon.png new file mode 100644 index 0000000..85a1f64 Binary files /dev/null and b/www/favicon.png differ diff --git a/www/img/logo-2.png b/www/img/logo-2.png new file mode 100644 index 0000000..3440a6b Binary files /dev/null and b/www/img/logo-2.png differ diff --git a/www/index.py b/www/index.py new file mode 100755 index 0000000..3542b10 --- /dev/null +++ b/www/index.py @@ -0,0 +1,66 @@ +#!/usr/bin/python3 +# -*- coding: utf-8 -*- +# Turn on debug mode. +import sys +import cgi +import cgitb +cgitb.enable() +# Print necessary headers. +print("Content-Type: text/html; charset=UTF-8\n\n") +# Connect to the database. +import pymysql +conn = pymysql.connect( +db='ats', +user='user', +passwd='password', +host='localhost', +charset='utf8') + +c = conn.cursor() +# Insert some example data. +#c.execute("INSERT INTO numbers VALUES (1, 'One!')") +#c.execute("INSERT INTO numbers VALUES (2, 'Two!')") +#c.execute("INSERT INTO numbers VALUES (3, 'Three!')") +#conn.commit() +# Print the contents of the database. +#c.execute("SELECT * FROM int_number") +print("") +print("Телефоны") +print("

ТЕЛЕФОНЫ

") +print("


[Справочник] [Отчёты]

") +print("

Телефонный справочник

") +print("
Внутренние
Городские
") + +param = cgi.FieldStorage() +#Передали заголовки ранее +param = cgi.FieldStorage() #Здесь пустых значений нет! +if "qwery_type" not in param: + qwery_type="internal" +else: + qwery_type = param["qwery_type"].value + +if "order" not in param: + order="fio" +else: + order = param["order"].value + +if qwery_type == "internal": + print("

Список внутренних телефонов

") + qwr = "SELECT * FROM int_number ORDER by " + order + c.execute(qwr) + print("") + for row in c.fetchall(): + print("" % (row[0], row[1], row[2], row[4], row[3])) + print("
№ п/пТелефонФИООписаниеЭлектро-почта
%s%s%s%s%s
") + +if qwery_type == "external": + print("

Список городских телефонов

") + c.execute("SELECT * FROM ext_co_line") + print("") + for r in c.fetchall(): + print("" % (r[0], r[1], r[2], r[3])) + print("
№ п/пЛинияТелефонОписание
%s%s%s%s
") + +print("
") + +print("") \ No newline at end of file diff --git a/www/report.py b/www/report.py new file mode 100755 index 0000000..3cc696e --- /dev/null +++ b/www/report.py @@ -0,0 +1,71 @@ +#!/usr/bin/python3 +# Turn on debug mode. +import sys +import cgitb +import cgi +cgitb.enable() +# Print necessary headers. +print("Content-Type: text/html; charset=UTF-8\n\n") +# Connect to the database. +import pymysql +conn = pymysql.connect( +db='ats', +user='user', +passwd='password', +host='localhost', +charset='utf8') +c = conn.cursor() + +# Print the contents of the database. +c.execute("SELECT * FROM ext_co_line") + +print("Телефоны") +print("

ТЕЛЕФОНЫ

") +print("


[Справочник] [Отчёты]

") +print("

Отчёты по звонкам

") +print("
") +print("
Внут.номер
") +print("За период с
по ") +print("

") + +param = cgi.FieldStorage() +#Передали заголовки ранее + +if "qwery_type" not in param: + print("Введите параметры отчёта") + qwery_type = "last_month" +else: + qwery_type = param["qwery_type"].value + int_number = param["internal"].value + dt_begin = param["date_begin"].value + dt_end = param["date_end"].value + +# строим запрос согласно параметров +if qwery_type == "internal": + # если все параметры по нулям то вываливаем весь список + if int_number == "0" and dt_begin == "0" and dt_end == "0": + print("

Список звонков

") + qwr = "SELECT * FROM cdr LIMIT 1000" + elif int_number != "0" and dt_begin == "0" and dt_end == "0": + # если задан номер но не задан период то вываливаем все звонки с этого номера + print("

Список звонков с номера " + int_number + "

") + qwr = "SELECT * FROM cdr WHERE int_number=" + int_number + " LIMIT 1000" + elif int_number != "0" and dt_begin != "0" and dt_end != "0": + # если задан номер и период то и так понятно + print("

Список звонков с номера " + int_number + "

") + print("За период с %s по %s" % (dt_begin, dt_end)) + qwr = "SELECT * FROM cdr WHERE call_date BETWEEN CAST(\'" + dt_begin + "\' AS DATE) AND CAST(\'" + dt_end + "\' AS DATE) AND int_number=" + int_number + " LIMIT 1000" + elif int_number == "0" and dt_begin != "0" and dt_end != "0": + # если номер незадан а задан период то вываливаем звонки со всех номеров за согласно введенных дат + print("

Список звонков

") + print("За период с %s по %s" % (dt_begin, dt_end)) + qwr = "SELECT * FROM cdr WHERE call_date BETWEEN CAST(\'" + dt_begin + "\' AS DATE) AND CAST(\'" + dt_end + "\' AS DATE) LIMIT 1000" + + c.execute(qwr) + print("") + for row in c.fetchall(): + print("" % (row[0], row[1], row[2], row[3], row[4], row[5], row[5], row[7], row[9], row[9], row[10])) + print("
№ п/пДатаВремяВнут.номерВнеш.линияВызываемый номерRingДлительностьАССКод звонкаНаправление
%s%s%s%s%s%s%s%s%s%s%s
") + +print("
") +print("") \ No newline at end of file