using System; using System.Configuration; using System.Data.SqlClient; using System.Data; using System.Collections; using System.Xml.XPath; using System.Xml.Xsl; using System.Xml; using System.IO; using System.Runtime.InteropServices; using System.Web; using System.Web.SessionState; namespace AeroNet { /// ///Описание страницы: Базовый класс сайта www.aerotechnics.ru /// public class Common : System.Web.UI.Page { /// Расположение шаблонов XML protected static string templatesPath="http://85.21.123.65/XML/template/"; protected static string xmlPath="http://85.21.123.65/XML/template/"; protected static string xslPath="http://85.21.123.65/XSL/"; protected static string errorPage; protected static int snum = 16; /// Расположение фотографий protected static string ACPhoto="ftp://85.21.123.65/files/vit/i/"; /// Расположение фото моделей protected static string ModelPhoto="http://85.21.123.65/images/model/"; /// Mail-server (дублируется в классе CustomersDB) protected static string mailServer="172.16.1.26"; /// Верхнее меню protected skmMenu.Menu Menu; /// Подключение к SQL protected static string connString = "Initial Catalog=Aerotechnics;Data Source=web;User ID=aero;Password=123"; /// Текущая дата-время public DateTime today = System.DateTime.Today; public static int sizeID = 1; ///Стоимость почтовой пересылки (дублируется в хранимой процедуре OrdersList public decimal PostCost = 100; /// /// Трансформации файла xml c применением листа стилей /// /// Имя файла XML /// Имя файла XSL /// Источник для вывода protected static void Transform(string xmlName,string xslName,HttpResponse Response) { XPathDocument doc = new XPathDocument(xmlPath+xmlName); XslTransform xslt = new XslTransform(); xslt.Load(xslPath+xslName); xslt.Transform(doc,null,Response.Output); } /// /// Трансформации файла xml(источник Template Files) c применением листа стилей /// /// Имя файла XML /// Имя файла XSL /// Источник для вывода /// Параметр режима protected static void Transform(string xmlName,string xslName,HttpResponse Response,int mode) { XPathDocument doc = new XPathDocument(templatesPath+xmlName); XslTransform xslt = new XslTransform(); if (mode == 1) xslt.Load(xslPath+xslName); if (mode == 2) xslt.Load(xslName); xslt.Transform(doc,null,Response.Output); } /// /// Трансформации файла xml c применением листа стилей /// и передача параметров в лист стилей /// /// Имя файла XML /// Имя файла XSL /// Источник для вывода /// Массив параметров /// Источник для вывода protected static void Transform(string xmlName,string xslName,XsltArgumentList args,HttpResponse Response) { XPathDocument doc = new XPathDocument(xmlPath+xmlName); XslTransform xslt = new XslTransform(); xslt.Load(xslPath+xslName); xslt.Transform(doc,args,Response.Output); } /// /// Трансформации файла xml (источник Template Files) c применением листа стилей /// и передача параметров в лист стилей /// /// Имя файла XML /// Имя файла XSL /// Источник для вывода /// Массив параметров /// Источник для вывода /// Параметр режима protected static void Transform(string xmlName,string xslName,XsltArgumentList args,HttpResponse Response,int mode) { XPathDocument doc = new XPathDocument(templatesPath+xmlName); XslTransform xslt = new XslTransform(); xslt.Load(xslPath+xslName); xslt.Transform(doc,args,Response.Output); } /// ///Трансформации xml (источник XmlReader) c применением листа стилей /// /// источник XmlReader /// Имя файла XSL /// Источник для вывода protected static void Transform(XmlReader reader,string xslName,HttpResponse Response) { XPathDocument doc = new XPathDocument(reader); XslTransform xslt = new XslTransform(); xslt.Load(xslPath + xslName); xslt.Transform(doc,null,Response.Output); } /// /// Получение идет. номера баннера /// /// Идент. номер сайта /// Идент.номер размера баннера /// Идет. номер баннера public string GetBannerID(int snum,int sizeID) { SqlConnection Conn = new SqlConnection(connString); SqlCommand Comm = new SqlCommand(); Comm.CommandText = "sp_BannerToShow"; Comm.CommandType = CommandType.StoredProcedure; Comm.Connection = Conn; Comm.Parameters.Add("@snum",SqlDbType.Int,4).Value = snum; Comm.Parameters.Add("@sizeID",SqlDbType.Int,4).Value = sizeID; SqlParameter bannerID = new SqlParameter("@bid",SqlDbType.Int,4); bannerID.Direction = ParameterDirection.Output; Comm.Parameters.Add(bannerID); Conn.Open(); try { Comm.ExecuteNonQuery(); } catch { Response.Redirect("error.aspx"); } finally { Conn.Close(); } return bannerID.Value.ToString(); } /// /// Вывод баннера /// /// Идент. номер сайта /// Идент.номер размера баннера protected void PrintBanner(int snum,int sizeID) { try { Transform("getBanner.xml?bid="+GetBannerID(snum,sizeID),"banners.xsl",this.Response,1); } catch { Response.Redirect("error.aspx"); } } public void TopMenu() { // Верхнее меню if (!Page.IsPostBack) { Menu.DataSource = Server.MapPath ("/XML/MenuXML.xml"); Menu.DataBind(); } } public void OpsMenu() { // Верхнее меню if (!Page.IsPostBack) { Menu.DataSource = Server.MapPath ("/ops/MenuOPS.xml"); Menu.DataBind(); } } public void OpsLogin() { // Проверка прав доступа к странице if (Session["admin"] == null) { Response.Redirect("/ops/ops.aspx",true); } } public Common() { } } }