This commit is contained in:
vfedosevich 2015-01-20 00:32:49 -08:00
commit a73635537a
2961 changed files with 73947 additions and 9088 deletions

View file

@ -0,0 +1,249 @@
<?xml version="1.0"?>
<Countries>
<Country name="Afghanistan" key="AF" />
<Country name="Aland Islands" key="AX" />
<Country name="Albania" key="AL" />
<Country name="Algeria" key="DZ" />
<Country name="American Samoa" key="AS" />
<Country name="Andorra" key="AD" />
<Country name="Angola" key="AO" />
<Country name="Anguilla" key="AI" />
<Country name="Antarctica" key="AQ" />
<Country name="Antigua and Barbuda" key="AG" />
<Country name="Argentina" key="AR" />
<Country name="Armenia" key="AM" />
<Country name="Aruba" key="AW" />
<Country name="Australia" key="AU" />
<Country name="Austria" key="AT" />
<Country name="Azerbaijan" key="AZ" />
<Country name="Bahamas" key="BS" />
<Country name="Bahrain" key="BH" />
<Country name="Bangladesh" key="BD" />
<Country name="Barbados" key="BB" />
<Country name="Belarus" key="BY" />
<Country name="Belgium" key="BE" />
<Country name="Belize" key="BZ" />
<Country name="Benin" key="BJ" />
<Country name="Bermuda" key="BM" />
<Country name="Bhutan" key="BT" />
<Country name="Bolivia, Plurinational State of" key="BO" />
<Country name="Bosnia and Herzegovina" key="BA" />
<Country name="Botswana" key="BW" />
<Country name="Bouvet Island" key="BV" />
<Country name="Brazil" key="BR" />
<Country name="British Indian Ocean Territory" key="IO" />
<Country name="Brunei Darussalam" key="BN" />
<Country name="Bulgaria" key="BG" />
<Country name="Burkina Faso" key="BF" />
<Country name="Burundi" key="BI" />
<Country name="Cambodia" key="KH" />
<Country name="Cameroon" key="CM" />
<Country name="Canada" key="CA" />
<Country name="Cape Verde" key="CV" />
<Country name="Cayman Islands" key="KY" />
<Country name="Central African Republic" key="CF" />
<Country name="Chad" key="TD" />
<Country name="Chile" key="CL" />
<Country name="China" key="CN" />
<Country name="Christmas Island" key="CX" />
<Country name="Cocos (Keeling) Islands" key="CC" />
<Country name="Colombia" key="CO" />
<Country name="Comoros" key="KM" />
<Country name="Congo" key="CG" />
<Country name="Congo, the Democratic Republic of the" key="CD" />
<Country name="Cook Islands" key="CK" />
<Country name="Costa Rica" key="CR" />
<Country name="Cote D'Ivoire" key="CI" />
<Country name="Croatia" key="HR" />
<Country name="Cuba" key="CU" />
<Country name="Cyprus" key="CY" />
<Country name="Czech Republic" key="CZ" />
<Country name="Denmark" key="DK" />
<Country name="Djibouti" key="DJ" />
<Country name="Dominica" key="DM" />
<Country name="Dominican Republic" key="DO" />
<Country name="Ecuador" key="EC" />
<Country name="Egypt" key="EG" />
<Country name="El Salvador" key="SV" />
<Country name="Equatorial Guinea" key="GQ" />
<Country name="Eritrea" key="ER" />
<Country name="Estonia" key="EE" />
<Country name="Ethiopia" key="ET" />
<Country name="Falkland Islands (Malvinas)" key="FK" />
<Country name="Faroe Islands" key="FO" />
<Country name="Fiji" key="FJ" />
<Country name="Finland" key="FI" />
<Country name="France" key="FR" />
<Country name="French Guiana" key="GF" />
<Country name="French Polynesia" key="PF" />
<Country name="French Southern Territories" key="TF" />
<Country name="Gabon" key="GA" />
<Country name="Gambia" key="GM" />
<Country name="Georgia" key="GE" />
<Country name="Germany" key="DE" />
<Country name="Ghana" key="GH" />
<Country name="Gibraltar" key="GI" />
<Country name="Greece" key="GR" />
<Country name="Greenland" key="GL" />
<Country name="Grenada" key="GD" />
<Country name="Guadeloupe" key="GP" />
<Country name="Guam" key="GU" />
<Country name="Guatemala" key="GT" />
<Country name="Guernsey" key="GG" />
<Country name="Guinea" key="GN" />
<Country name="Guinea-Bissau" key="GW" />
<Country name="Guyana" key="GY" />
<Country name="Haiti" key="HT" />
<Country name="Heard Island and Mcdonald Islands" key="HM" />
<Country name="Holy See (Vatican City State)" key="VA" />
<Country name="Honduras" key="HN" />
<Country name="Hong Kong" key="HK" />
<Country name="Hungary" key="HU" />
<Country name="Iceland" key="IS" />
<Country name="India" key="IN" />
<Country name="Indonesia" key="ID" />
<Country name="Iran, Islamic Republic of" key="IR" />
<Country name="Iraq" key="IQ" />
<Country name="Ireland" key="IE" />
<Country name="Isle of Man" key="IM" />
<Country name="Israel" key="IL" />
<Country name="Italy" key="IT" />
<Country name="Jamaica" key="JM" />
<Country name="Japan" key="JP" />
<Country name="Jersey" key="JE" />
<Country name="Jordan" key="JO" />
<Country name="Kazakhstan" key="KZ" />
<Country name="Kenya" key="KE" />
<Country name="Kiribati" key="KI" />
<Country name="Korea, Democratic People's Republic of" key="KP" />
<Country name="Korea, Republic of" key="KR" />
<Country name="Kuwait" key="KW" />
<Country name="Kyrgyzstan" key="KG" />
<Country name="Lao People's Democratic Republic" key="LA" />
<Country name="Latvia" key="LV" />
<Country name="Lebanon" key="LB" />
<Country name="Lesotho" key="LS" />
<Country name="Liberia" key="LR" />
<Country name="Libyan Arab Jamahiriya" key="LY" />
<Country name="Liechtenstein" key="LI" />
<Country name="Lithuania" key="LT" />
<Country name="Luxembourg" key="LU" />
<Country name="Macao" key="MO" />
<Country name="Macedonia, the Former Yugoslav Republic of" key="MK" />
<Country name="Madagascar" key="MG" />
<Country name="Malawi" key="MW" />
<Country name="Malaysia" key="MY" />
<Country name="Maldives" key="MV" />
<Country name="Mali" key="ML" />
<Country name="Malta" key="MT" />
<Country name="Marshall Islands" key="MH" />
<Country name="Martinique" key="MQ" />
<Country name="Mauritania" key="MR" />
<Country name="Mauritius" key="MU" />
<Country name="Mayotte" key="YT" />
<Country name="Mexico" key="MX" />
<Country name="Micronesia, Federated States of" key="FM" />
<Country name="Moldova, Republic of" key="MD" />
<Country name="Monaco" key="MC" />
<Country name="Mongolia" key="MN" />
<Country name="Montenegro" key="ME" />
<Country name="Montserrat" key="MS" />
<Country name="Morocco" key="MA" />
<Country name="Mozambique" key="MZ" />
<Country name="Myanmar" key="MM" />
<Country name="Namibia" key="NA" />
<Country name="Nauru" key="NR" />
<Country name="Nepal" key="NP" />
<Country name="Netherlands" key="NL" />
<Country name="Netherlands Antilles" key="AN" />
<Country name="New Caledonia" key="NC" />
<Country name="New Zealand" key="NZ" />
<Country name="Nicaragua" key="NI" />
<Country name="Niger" key="NE" />
<Country name="Nigeria" key="NG" />
<Country name="Niue" key="NU" />
<Country name="Norfolk Island" key="NF" />
<Country name="Northern Mariana Islands" key="MP" />
<Country name="Norway" key="NO" />
<Country name="Oman" key="OM" />
<Country name="Pakistan" key="PK" />
<Country name="Palau" key="PW" />
<Country name="Palestinian Territory, Occupied" key="PS" />
<Country name="Panama" key="PA" />
<Country name="Papua New Guinea" key="PG" />
<Country name="Paraguay" key="PY" />
<Country name="Peru" key="PE" />
<Country name="Philippines" key="PH" />
<Country name="Pitcairn" key="PN" />
<Country name="Poland" key="PL" />
<Country name="Portugal" key="PT" />
<Country name="Puerto Rico" key="PR" />
<Country name="Qatar" key="QA" />
<Country name="Reunion" key="RE" />
<Country name="Romania" key="RO" />
<Country name="Russian Federation" key="RU" />
<Country name="Rwanda" key="RW" />
<Country name="Saint Barthelemy" key="BL" />
<Country name="Saint Helena" key="SH" />
<Country name="Saint Kitts and Nevis" key="KN" />
<Country name="Saint Lucia" key="LC" />
<Country name="Saint Martin" key="MF" />
<Country name="Saint Pierre and Miquelon" key="PM" />
<Country name="Saint Vincent and the Grenadines" key="VC" />
<Country name="Samoa" key="WS" />
<Country name="San Marino" key="SM" />
<Country name="Sao Tome and Principe" key="ST" />
<Country name="Saudi Arabia" key="SA" />
<Country name="Senegal" key="SN" />
<Country name="Serbia" key="RS" />
<Country name="Seychelles" key="SC" />
<Country name="Sierra Leone" key="SL" />
<Country name="Singapore" key="SG" />
<Country name="Slovakia" key="SK" />
<Country name="Slovenia" key="SI" />
<Country name="Solomon Islands" key="SB" />
<Country name="Somalia" key="SO" />
<Country name="South Africa" key="ZA" />
<Country name="South Georgia and the South Sandwich Islands" key="GS" />
<Country name="Spain" key="ES" />
<Country name="Sri Lanka" key="LK" />
<Country name="Sudan" key="SD" />
<Country name="Suriname" key="SR" />
<Country name="Svalbard and Jan Mayen" key="SJ" />
<Country name="Swaziland" key="SZ" />
<Country name="Sweden" key="SE" />
<Country name="Switzerland" key="CH" />
<Country name="Syrian Arab Republic" key="SY" />
<Country name="Taiwan, Province of China" key="TW" />
<Country name="Tajikistan" key="TJ" />
<Country name="Tanzania, United Republic of" key="TZ" />
<Country name="Thailand" key="TH" />
<Country name="Timor-Leste" key="TL" />
<Country name="Togo" key="TG" />
<Country name="Tokelau" key="TK" />
<Country name="Tonga" key="TO" />
<Country name="Trinidad and Tobago" key="TT" />
<Country name="Tunisia" key="TN" />
<Country name="Turkey" key="TR" />
<Country name="Turkmenistan" key="TM" />
<Country name="Turks and Caicos Islands" key="TC" />
<Country name="Tuvalu" key="TV" />
<Country name="Uganda" key="UG" />
<Country name="Ukraine" key="UA" />
<Country name="United Arab Emirates" key="AE" />
<Country name="United Kingdom" key="GB" />
<Country name="United States" key="US" />
<Country name="United States Minor Outlying Islands" key="UM" />
<Country name="Uruguay" key="UY" />
<Country name="Uzbekistan" key="UZ" />
<Country name="Vanuatu" key="VU" />
<Country name="Venezuela, Bolivarian Republic of" key="VE" />
<Country name="Viet Nam" key="VN" />
<Country name="Virgin Islands, British" key="VG" />
<Country name="Virgin Islands, U.S." key="VI" />
<Country name="Wallis and Futuna" key="WF" />
<Country name="Western Sahara" key="EH" />
<Country name="Yemen" key="YE" />
<Country name="Zambia" key="ZM" />
<Country name="Zimbabwe" key="ZW" />
</Countries>

View file

@ -0,0 +1,411 @@
<?xml version="1.0"?>
<States>
<!-- Canada -->
<State name="Alberta" key="AB" countryCode="CA" />
<State name="British Columbia" key="BC" countryCode="CA" />
<State name="Manitoba" key="MB" countryCode="CA" />
<State name="New Brunswick" key="NB" countryCode="CA" />
<State name="Newfoundland and Labrador" key="NL" countryCode="CA" />
<State name="Northwest Territories" key="NT" countryCode="CA" />
<State name="Nova Scotia" key="NS" countryCode="CA" />
<State name="Nunavut" key="NV" countryCode="CA" />
<State name="Ontario" key="ON" countryCode="CA" />
<State name="Prince Edward Island" key="PE" countryCode="CA" />
<State name="Quebec" key="QC" countryCode="CA" />
<State name="Saskatchewan" key="SK" countryCode="CA" />
<State name="Yukon Territory" key="YT" countryCode="CA" />
<!-- US -->
<State name="Alabama" key="AL" countryCode="US" />
<State name="Alaska" key="AK" countryCode="US" />
<State name="Arizona" key="AZ" countryCode="US" />
<State name="Arkansas" key="AR" countryCode="US" />
<State name="California" key="CA" countryCode="US" />
<State name="Colorado" key="CO" countryCode="US" />
<State name="Connecticut" key="CT" countryCode="US" />
<State name="Delaware" key="DE" countryCode="US" />
<State name="District of Columbia" key="DC" countryCode="US" />
<State name="Florida" key="FL" countryCode="US" />
<State name="Georgia" key="GA" countryCode="US" />
<State name="Hawaii" key="HI" countryCode="US" />
<State name="Idaho" key="ID" countryCode="US" />
<State name="Illinois" key="IL" countryCode="US" />
<State name="Indiana" key="IN" countryCode="US" />
<State name="Iowa" key="IA" countryCode="US" />
<State name="Kansas" key="KS" countryCode="US" />
<State name="Kentucky" key="KY" countryCode="US" />
<State name="Louisiana" key="LA" countryCode="US" />
<State name="Maine" key="ME" countryCode="US" />
<State name="Maryland" key="MD" countryCode="US" />
<State name="Massachusetts" key="MA" countryCode="US" />
<State name="Michigan" key="MI" countryCode="US" />
<State name="Minnesota" key="MN" countryCode="US" />
<State name="Mississippi" key="MS" countryCode="US" />
<State name="Missouri" key="MO" countryCode="US" />
<State name="Montana" key="MT" countryCode="US" />
<State name="Nebraska" key="NE" countryCode="US" />
<State name="Nevada" key="NV" countryCode="US" />
<State name="New Hampshire" key="NH" countryCode="US" />
<State name="New Jersey" key="NJ" countryCode="US" />
<State name="New Mexico" key="NM" countryCode="US" />
<State name="New York" key="NY" countryCode="US" />
<State name="North Carolina" key="NC" countryCode="US" />
<State name="North Dakota" key="ND" countryCode="US" />
<State name="Ohio" key="OH" countryCode="US" />
<State name="Oklahoma" key="OK" countryCode="US" />
<State name="Oregon" key="OR" countryCode="US" />
<State name="Pennsylvania" key="PA" countryCode="US" />
<State name="Rhode Island" key="RI" countryCode="US" />
<State name="South Carolina" key="SC" countryCode="US" />
<State name="South Dakota" key="SD" countryCode="US" />
<State name="Tennessee" key="TN" countryCode="US" />
<State name="Texas" key="TX" countryCode="US" />
<State name="Utah" key="UT" countryCode="US" />
<State name="Vermont" key="VT" countryCode="US" />
<State name="Virginia" key="VA" countryCode="US" />
<State name="Washington" key="WA" countryCode="US" />
<State name="West Virginia" key="WV" countryCode="US" />
<State name="Wisconsin" key="WI" countryCode="US" />
<State name="Wyoming" key="WY" countryCode="US" />
<!-- Russian Federation -->
<State name="Altaiskiy Kray" key="22" countryCode="RU" />
<State name="Amurskaya Oblast" key="28" countryCode="RU" />
<State name="Arkhangelskaya Oblast" key="29" countryCode="RU" />
<State name="Astrakhanskaya Oblast" key="30" countryCode="RU" />
<State name="Belgorodskaya Oblast" key="31" countryCode="RU" />
<State name="Bryanskaya Oblast" key="32" countryCode="RU" />
<State name="Chechnya" key="20" countryCode="RU" />
<State name="Chelyabinskaya Oblast" key="74" countryCode="RU" />
<State name="Chitinskaya Oblast" key="75" countryCode="RU" />
<State name="Chukotka Automomous District" key="87" countryCode="RU" />
<State name="Chuvash Republic" key="21" countryCode="RU" />
<State name="Evenkia Automomous District" key="88" countryCode="RU" />
<State name="Irkutskaya Oblast" key="38" countryCode="RU" />
<State name="Ivanovskaya Oblast" key="37" countryCode="RU" />
<State name="Jewish Autonomous Region" key="79" countryCode="RU" />
<State name="Kabardino-Balkaryan Republic" key="07" countryCode="RU" />
<State name="Kaliningradskaya Oblast" key="39" countryCode="RU" />
<State name="Kaluzhskaya Oblast" key="40" countryCode="RU" />
<State name="Kamchatskaya Oblast" key="41" countryCode="RU" />
<State name="Kemerovskaya Oblast" key="42" countryCode="RU" />
<State name="Khabarovskiy Kray" key="27" countryCode="RU" />
<State name="Kirovskaya Oblast" key="43" countryCode="RU" />
<State name="Kostromskaya Oblast" key="44" countryCode="RU" />
<State name="Krasnodarskiy Kray" key="23" countryCode="RU" />
<State name="Krasnoyarskiy Kray" key="24" countryCode="RU" />
<State name="Kurganskaya Oblast" key="45" countryCode="RU" />
<State name="Kurskaya Oblast" key="46" countryCode="RU" />
<State name="Leningradskaya Oblast" key="47" countryCode="RU" />
<State name="Lipetskaya Oblast" key="48" countryCode="RU" />
<State name="Magadanskaya Oblast" key="49" countryCode="RU" />
<State name="Moscow" key="77" countryCode="RU" />
<State name="Moskovskaya Oblast" key="50" countryCode="RU" />
<State name="Murmanskaya Oblast" key="51" countryCode="RU" />
<State name="Nizhegorodskaya Oblast" key="52" countryCode="RU" />
<State name="Novgorodskaya Oblast" key="53" countryCode="RU" />
<State name="Novosibirskaya Oblast" key="54" countryCode="RU" />
<State name="Omskaya Oblast" key="55" countryCode="RU" />
<State name="Orenburgskaya Oblast" key="56" countryCode="RU" />
<State name="Orlovskaya Oblast" key="57" countryCode="RU" />
<State name="Penzenskaya Oblast" key="58" countryCode="RU" />
<State name="Permskaya Oblast" key="59" countryCode="RU" />
<State name="Primorskiy Kray" key="25" countryCode="RU" />
<State name="Pskovskaya Oblast" key="60" countryCode="RU" />
<State name="Republic of Adyghe" key="01" countryCode="RU" />
<State name="Republic of Altai" key="04" countryCode="RU" />
<State name="Republic of Bashkortostan" key="02" countryCode="RU" />
<State name="Republic of Buryatia" key="03" countryCode="RU" />
<State name="Republic of Daghestan" key="05" countryCode="RU" />
<State name="Republic of Ingushetia" key="06" countryCode="RU" />
<State name="Republic of Kalmykia" key="08" countryCode="RU" />
<State name="Republic of Karelia" key="10" countryCode="RU" />
<State name="Republic of Khakassia" key="19" countryCode="RU" />
<State name="Republic of Komi" key="11" countryCode="RU" />
<State name="Republic of Mari El" key="12" countryCode="RU" />
<State name="Republic of Mordovia" key="13" countryCode="RU" />
<State name="Republic of North Ossetia - Alania" key="15" countryCode="RU" />
<State name="Republic of Sakha" key="14" countryCode="RU" />
<State name="Republic of Tuva" key="17" countryCode="RU" />
<State name="Rostovskaya Oblast" key="61" countryCode="RU" />
<State name="Ryazanskaya Oblast" key="62" countryCode="RU" />
<State name="Saint Petersburg" key="78" countryCode="RU" />
<State name="Sakhalinskaya Oblast" key="65" countryCode="RU" />
<State name="Samarskaya Oblast" key="63" countryCode="RU" />
<State name="Saratovskaya Oblast" key="64" countryCode="RU" />
<State name="Smolenskaya Oblast" key="67" countryCode="RU" />
<State name="Stavropolskiy Kray" key="26" countryCode="RU" />
<State name="Sverdlovskaya Oblast" key="66" countryCode="RU" />
<State name="Tambovskaya Oblast" key="68" countryCode="RU" />
<State name="Tatarstan" key="16" countryCode="RU" />
<State name="Tomskaya Oblast" key="70" countryCode="RU" />
<State name="Tul'skaya Oblast" key="71" countryCode="RU" />
<State name="Tverskaya Oblast" key="69" countryCode="RU" />
<State name="Tyumenskaya Oblast" key="72" countryCode="RU" />
<State name="Udmurt Republic" key="18" countryCode="RU" />
<State name="Ul'yanovskaya Oblast" key="73" countryCode="RU" />
<State name="Vladimirskaya Oblast" key="33" countryCode="RU" />
<State name="Volgogradskaya Oblast" key="34" countryCode="RU" />
<State name="Vologodskaya Oblast" key="35" countryCode="RU" />
<State name="Voronezhskaya Oblast" key="36" countryCode="RU" />
<State name="Yaroslavskaya Oblast" key="76" countryCode="RU" />
<!-- Croatia -->
<State name="Zagrebačka" key="01" countryCode="HR" />
<State name="Krapinsko-zagorska" key="02" countryCode="HR" />
<State name="Sisačko-moslavačka" key="03" countryCode="HR" />
<State name="Karlovačka" key="04" countryCode="HR" />
<State name="Varaždinska" key="05" countryCode="HR" />
<State name="Koprivničko-križevačka" key="06" countryCode="HR" />
<State name="Bjelovarsko-bilogorska" key="07" countryCode="HR" />
<State name="Primorsko-goranska" key="08" countryCode="HR" />
<State name="Ličko-senjska" key="09" countryCode="HR" />
<State name="Virovitičko-podravska" key="10" countryCode="HR" />
<State name="Požeško-slavonska" key="11" countryCode="HR" />
<State name="Brodsko-posavska" key="12" countryCode="HR" />
<State name="Zadarska" key="13" countryCode="HR" />
<State name="Osječko-baranjska" key="14" countryCode="HR" />
<State name="Šibensko-kninska" key="15" countryCode="HR" />
<State name="Vukovarsko-srijemska" key="16" countryCode="HR" />
<State name="Splitsko-dalmatinska" key="17" countryCode="HR" />
<State name="Istarska" key="18" countryCode="HR" />
<State name="Dubrovačko-neretvanska" key="19" countryCode="HR" />
<State name="Međimurska" key="20" countryCode="HR" />
<State name="Grad Zagreb" key="21" countryCode="HR" />
<!-- United Kingdom -->
<State name="-- England --" key="116" countryCode="GB" />
<State name="Avon" key="01" countryCode="GB" />
<State name="Bedfordshire" key="02" countryCode="GB" />
<State name="Berkshire" key="03" countryCode="GB" />
<State name="Bristol" key="04" countryCode="GB" />
<State name="Buckinghamshire" key="05" countryCode="GB" />
<State name="Cambridgeshire" key="06" countryCode="GB" />
<State name="Cheshire" key="07" countryCode="GB" />
<State name="Cleveland" key="08" countryCode="GB" />
<State name="Cornwall" key="09" countryCode="GB" />
<State name="Cumbria" key="10" countryCode="GB" />
<State name="Derbyshire" key="11" countryCode="GB" />
<State name="Devon" key="12" countryCode="GB" />
<State name="Dorset" key="13" countryCode="GB" />
<State name="Durham" key="14" countryCode="GB" />
<State name="East Riding of Yorkshire" key="15" countryCode="GB" />
<State name="East Sussex" key="16" countryCode="GB" />
<State name="Essex" key="17" countryCode="GB" />
<State name="Gloucestershire" key="18" countryCode="GB" />
<State name="Greater Manchester" key="19" countryCode="GB" />
<State name="Hampshire" key="20" countryCode="GB" />
<State name="Herefordshire" key="21" countryCode="GB" />
<State name="Hertfordshire" key="22" countryCode="GB" />
<State name="Humberside" key="23" countryCode="GB" />
<State name="Isle of Wight" key="24" countryCode="GB" />
<State name="Isles of Scilly" key="25" countryCode="GB" />
<State name="Kent" key="26" countryCode="GB" />
<State name="Lancashire" key="27" countryCode="GB" />
<State name="Leicestershire" key="28" countryCode="GB" />
<State name="Lincolnshire" key="29" countryCode="GB" />
<State name="London" key="30" countryCode="GB" />
<State name="Merseyside" key="31" countryCode="GB" />
<State name="Middlesex" key="32" countryCode="GB" />
<State name="Norfolk" key="33" countryCode="GB" />
<State name="North Yorkshire" key="34" countryCode="GB" />
<State name="Northamptonshire" key="35" countryCode="GB" />
<State name="Northumberland" key="36" countryCode="GB" />
<State name="Nottinghamshire" key="37" countryCode="GB" />
<State name="Oxfordshire" key="38" countryCode="GB" />
<State name="Rutland" key="39" countryCode="GB" />
<State name="Shropshire" key="40" countryCode="GB" />
<State name="Somerset" key="41" countryCode="GB" />
<State name="South Yorkshire" key="42" countryCode="GB" />
<State name="Staffordshire" key="43" countryCode="GB" />
<State name="Suffolk" key="44" countryCode="GB" />
<State name="Surrey" key="45" countryCode="GB" />
<State name="Tyne and Wear" key="46" countryCode="GB" />
<State name="Warwickshire" key="47" countryCode="GB" />
<State name="West Midlands" key="48" countryCode="GB" />
<State name="West Sussex" key="49" countryCode="GB" />
<State name="West Yorkshire" key="50" countryCode="GB" />
<State name="Wiltshire" key="51" countryCode="GB" />
<State name="Worcestershire" key="52" countryCode="GB" />
<State name="-- Northern Ireland --" key="117" countryCode="GB" />
<State name="Antrim" key="53" countryCode="GB" />
<State name="Armagh" key="54" countryCode="GB" />
<State name="Down" key="55" countryCode="GB" />
<State name="Fermanagh" key="56" countryCode="GB" />
<State name="Londonderry" key="57" countryCode="GB" />
<State name="Tyrone" key="58" countryCode="GB" />
<State name="-- Scotland --" key="118" countryCode="GB" />
<State name="Aberdeen City" key="59" countryCode="GB" />
<State name="Aberdeenshire" key="60" countryCode="GB" />
<State name="Angus" key="61" countryCode="GB" />
<State name="Argyll and Bute" key="62" countryCode="GB" />
<State name="Borders" key="63" countryCode="GB" />
<State name="Clackmannan" key="64" countryCode="GB" />
<State name="Dumfries and Galloway" key="65" countryCode="GB" />
<State name="East Ayrshire" key="67" countryCode="GB" />
<State name="East Dunbartonshire" key="68" countryCode="GB" />
<State name="East Lothian" key="69" countryCode="GB" />
<State name="East Renfrewshire" key="70" countryCode="GB" />
<State name="Edinburgh City" key="71" countryCode="GB" />
<State name="Falkirk" key="72" countryCode="GB" />
<State name="Fife" key="73" countryCode="GB" />
<State name="Glasgow" key="74" countryCode="GB" />
<State name="Highland" key="75" countryCode="GB" />
<State name="Inverclyde" key="76" countryCode="GB" />
<State name="Midlothian" key="77" countryCode="GB" />
<State name="Moray" key="78" countryCode="GB" />
<State name="North Ayrshire" key="79" countryCode="GB" />
<State name="North Lanarkshire" key="80" countryCode="GB" />
<State name="Orkney" key="81" countryCode="GB" />
<State name="Perthshire and Kinross" key="82" countryCode="GB" />
<State name="Renfrewshire" key="83" countryCode="GB" />
<State name="Roxburghshire" key="84" countryCode="GB" />
<State name="Shetland" key="85" countryCode="GB" />
<State name="South Ayrshire" key="86" countryCode="GB" />
<State name="South Lanarkshire" key="87" countryCode="GB" />
<State name="Stirling" key="88" countryCode="GB" />
<State name="West Dunbartonshire" key="89" countryCode="GB" />
<State name="West Lothian" key="90" countryCode="GB" />
<State name="Western Isles" key="91" countryCode="GB" />
<State name="-- Unitary Authorities of Wales --" key="119" countryCode="GB" />
<State name="Blaenau Gwent" key="92" countryCode="GB" />
<State name="Bridgend" key="93" countryCode="GB" />
<State name="Caerphilly" key="94" countryCode="GB" />
<State name="Cardiff" key="95" countryCode="GB" />
<State name="Carmarthenshire" key="96" countryCode="GB" />
<State name="Ceredigion" key="97" countryCode="GB" />
<State name="Conwy" key="98" countryCode="GB" />
<State name="Denbighshire" key="99" countryCode="GB" />
<State name="Flintshire" key="100" countryCode="GB" />
<State name="Gwynedd" key="101" countryCode="GB" />
<State name="Isle of Anglesey" key="102" countryCode="GB" />
<State name="Merthyr Tydfil" key="103" countryCode="GB" />
<State name="Monmouthshire" key="104" countryCode="GB" />
<State name="Neath Port Talbot" key="105" countryCode="GB" />
<State name="Newport" key="106" countryCode="GB" />
<State name="Pembrokeshire" key="107" countryCode="GB" />
<State name="Powys" key="108" countryCode="GB" />
<State name="Rhondda Cynon Taff" key="109" countryCode="GB" />
<State name="Swansea" key="110" countryCode="GB" />
<State name="Torfaen" key="111" countryCode="GB" />
<State name="The Vale of Glamorgan" key="112" countryCode="GB" />
<State name="Wrexham" key="113" countryCode="GB" />
<State name="-- GB Offshore Dependencies --" key="120" countryCode="GB" />
<State name="Channel Islands" key="114" countryCode="GB" />
<State name="Isle of Man" Ikey="115" countryCode="GB" />
<!-- Republic of Ireland -->
<State name="Fingal" key="01" countryCode="IE" />
<State name=" Dun Laoghaire-Rathdown" key="02" countryCode="IE" />
<State name="South Dublin" key="03" countryCode="IE" />
<State name="Wicklow" key="04" countryCode="IE" />
<State name="Wexford" key="05" countryCode="IE" />
<State name="Carlow" key="06" countryCode="IE" />
<State name="Kildare" key="07" countryCode="IE" />
<State name="Meath " key="08" countryCode="IE" />
<State name="Louth" key="09" countryCode="IE" />
<State name="Monaghan" key="10" countryCode="IE" />
<State name="Cavan" key="11" countryCode="IE" />
<State name="Longford" key="12" countryCode="IE" />
<State name="Westmeath" key="13" countryCode="IE" />
<State name="Offaly" key="14" countryCode="IE" />
<State name="Laois" key="15" countryCode="IE" />
<State name="Kilkenny " key="16" countryCode="IE" />
<State name="Waterford" key="17" countryCode="IE" />
<State name="Cork" key="18" countryCode="IE" />
<State name="Kerryr" key="19" countryCode="IE" />
<State name="Limerick" key="20" countryCode="IE" />
<State name="North Tipperary" key="21" countryCode="IE" />
<State name="South Tipperary" key="22" countryCode="IE" />
<State name="Clare" key="23" countryCode="IE" />
<State name="Galway" key="24" countryCode="IE" />
<State name="Mayo" key="25" countryCode="IE" />
<State name="Roscommon" key="26" countryCode="IE" />
<State name="Sligo" key="27" countryCode="IE" />
<State name="Leitrim" key="28" countryCode="IE" />
<State name="Donegal" key="29" countryCode="IE" />
<!-- Republic of Turkey -->
<State name="Adana" key="01" countryCode="TR" />
<State name="Adэyaman" key="02" countryCode="TR" />
<State name="Afyonkarahisar" key="03" countryCode="TR" />
<State name="Aрrэ" key="04" countryCode="TR" />
<State name="Amasya" key="05" countryCode="TR" />
<State name="Ankara" key="06" countryCode="TR" />
<State name="Antalya" key="07" countryCode="TR" />
<State name="Artvin" key="08" countryCode="TR" />
<State name="Aydэn" key="09" countryCode="TR" />
<State name="Balэkesir" key="10" countryCode="TR" />
<State name="Bilecik" key="11" countryCode="TR" />
<State name="Bingцl" key="12" countryCode="TR" />
<State name="Bitlis" key="13" countryCode="TR" />
<State name="Bolu" key="14" countryCode="TR" />
<State name="Burdur" key="15" countryCode="TR" />
<State name="Bursa" key="16" countryCode="TR" />
<State name="Зanakkale" key="17" countryCode="TR" />
<State name="Зankэrэ" key="18" countryCode="TR" />
<State name="Зorum" key="19" countryCode="TR" />
<State name="Denizli" key="20" countryCode="TR" />
<State name="Diyarbakэr" key="21" countryCode="TR" />
<State name="Edirne" key="22" countryCode="TR" />
<State name="Elazэр" key="23" countryCode="TR" />
<State name="Erzincan" key="24" countryCode="TR" />
<State name="Erzurum" key="25" countryCode="TR" />
<State name="Eskiюehir" key="26" countryCode="TR" />
<State name="Gaziantep" key="27" countryCode="TR" />
<State name="Giresun" key="28" countryCode="TR" />
<State name="Gьmьюhane" key="29" countryCode="TR" />
<State name="Hakkari" key="30" countryCode="TR" />
<State name="Hatay" key="31" countryCode="TR" />
<State name="Isparta" key="32" countryCode="TR" />
<State name="Mersin" key="33" countryCode="TR" />
<State name="Istanbul" key="34" countryCode="TR" />
<State name="Эzmir" key="35" countryCode="TR" />
<State name="Kars" key="36" countryCode="TR" />
<State name="Kastamonu" key="37" countryCode="TR" />
<State name="Kayseri" key="38" countryCode="TR" />
<State name="Kэrklareli" key="39" countryCode="TR" />
<State name="Kэrюehir" key="40" countryCode="TR" />
<State name="Kocaeli" key="41" countryCode="TR" />
<State name="Konya" key="42" countryCode="TR" />
<State name="Kьtahya" key="43" countryCode="TR" />
<State name="Malatya" key="44" countryCode="TR" />
<State name="Manisa" key="45" countryCode="TR" />
<State name="Kahramanmaraю" key="46" countryCode="TR" />
<State name="Mardin" key="47" countryCode="TR" />
<State name="Muрla" key="48" countryCode="TR" />
<State name="Muю" key="49" countryCode="TR" />
<State name="Nevюehir" key="50" countryCode="TR" />
<State name="Niрde" key="51" countryCode="TR" />
<State name="Ordu" key="52" countryCode="TR" />
<State name="Rize" key="53" countryCode="TR" />
<State name="Sakarya" key="54" countryCode="TR" />
<State name="Samsun" key="55" countryCode="TR" />
<State name="Siirt" key="56" countryCode="TR" />
<State name="Sinop" key="57" countryCode="TR" />
<State name="Sivas" key="58" countryCode="TR" />
<State name="Tekirdaр" key="59" countryCode="TR" />
<State name="Tokat" key="60" countryCode="TR" />
<State name="Trabzon" key="61" countryCode="TR" />
<State name="Tunceli" key="62" countryCode="TR" />
<State name="Юanlэurfa" key="63" countryCode="TR" />
<State name="Uюak" key="64" countryCode="TR" />
<State name="Van" key="65" countryCode="TR" />
<State name="Yozgat" key="66" countryCode="TR" />
<State name="Zonguldak" key="67" countryCode="TR" />
<State name="Aksaray" key="68" countryCode="TR" />
<State name="Bayburt" key="69" countryCode="TR" />
<State name="Karaman" key="70" countryCode="TR" />
<State name="Kэrэkkale" key="71" countryCode="TR" />
<State name="Batman" key="72" countryCode="TR" />
<State name="Юэrnak" key="73" countryCode="TR" />
<State name="Bartэn" key="74" countryCode="TR" />
<State name="Ardahan" key="75" countryCode="TR" />
<State name="Iрdэr" key="76" countryCode="TR" />
<State name="Yalova" key="77" countryCode="TR" />
<State name="Karabьk" key="78" countryCode="TR" />
<State name="Kilis" key="79" countryCode="TR" />
<State name="Osmaniye" key="80" countryCode="TR" />
<State name="Dьzce" key="81" countryCode="TR" />
</States>

View file

@ -0,0 +1,144 @@
<?xml version="1.0" encoding="utf-8"?>
<Controls>
<!--<Control key="" />-->
<!--<Control key="create_organization" />-->
<!--Home-->
<Control key="organization_home" />
<!--Organization-->
<Control key="users" />
<Control key="edit_user" general_key="users" /> <!--?-->
<Control key="create_user" general_key="users" />
<Control key="user_memberof" general_key="users" />
<!--<Control key="organization_user_setup" />-->
<Control key="secur_groups" />
<Control key="create_secur_group" general_key="secur_groups" />
<Control key="secur_group_settings" general_key="secur_groups" />
<Control key="secur_group_memberof" general_key="secur_groups" />
<Control key="org_domains" />
<Control key="org_add_domain" general_key="org_domains" />
<!--Exchange-->
<Control key="mailboxes" />
<!--<Control key="archivingmailboxes" />-->
<Control key="create_mailbox" general_key="mailboxes" />
<Control key="mailbox_settings" general_key="mailboxes" />
<Control key="mailbox_mobile" general_key="mailboxes" />
<Control key="mailbox_mobile_details" general_key="mailboxes" />
<Control key="mailbox_addresses" general_key="mailboxes" />
<Control key="mailbox_mailflow" general_key="mailboxes" />
<Control key="mailbox_permissions" general_key="mailboxes" />
<Control key="mailbox_advanced" general_key="mailboxes" />
<Control key="mailbox_setup" general_key="mailboxes" />
<Control key="mailbox_memberof" general_key="mailboxes" />
<Control key="contacts" />
<Control key="create_contact" general_key="contacts" />
<Control key="contact_settings" general_key="contacts" />
<Control key="contact_mailflow" general_key="contacts" />
<Control key="dlists" />
<Control key="create_dlist" general_key="dlists" />
<Control key="dlist_settings" general_key="dlists" />
<Control key="dlist_addresses" general_key="dlists" />
<Control key="dlist_mailflow" general_key="dlists" />
<Control key="dlist_permissions" general_key="dlists" />
<Control key="dlist_memberof" general_key="dlists" />
<Control key="disclaimers" />
<Control key="disclaimers_settings" general_key="disclaimers" />
<Control key="public_folders" />
<Control key="create_public_folder" general_key="public_folders" />
<Control key="public_folder_settings" general_key="public_folders" />
<Control key="public_folder_addresses" general_key="public_folders" />
<Control key="public_folder_mailflow" general_key="public_folders" />
<Control key="public_folder_mailenable" general_key="public_folders" />
<Control key="domains" />
<Control key="add_domain" general_key="domains" />
<Control key="domain_records" general_key="domains" />
<Control key="storage_usage" />
<Control key="storage_usage_details" general_key="storage_usage" />
<!--<Control key="storage_limits" />-->
<Control key="activesync_policy" />
<Control key="mailboxplans" />
<Control key="retentionpolicy" />
<Control key="retentionpolicytag" />
<Control key="add_mailboxplan" general_key="mailboxplans" /> <!--?-->
<!--CRM-->
<Control key="CRMOrganizationDetails" />
<Control key="CRMUsers" />
<Control key="CRMUserRoles" general_key="CRMUsers" />
<Control key="create_crm_user" general_key="CRMUsers" />
<Control key="crm_storage_settings" />
<!--SharePoint-->
<Control key="sharepoint_sitecollections" />
<Control key="sharepoint_edit_sitecollection" general_key="sharepoint_sitecollections" />
<Control key="sharepoint_backup_sitecollection" general_key="sharepoint_sitecollections" />
<Control key="sharepoint_restore_sitecollection" general_key="sharepoint_sitecollections" />
<Control key="sharepoint_storage_settings" />
<Control key="sharepoint_storage_usage" />
<!--BlackBerry-->
<Control key="blackberry_users" />
<Control key="create_new_blackberry_user" general_key="blackberry_users" />
<Control key="edit_blackberry_user" general_key="blackberry_users" />
<!--OCS-->
<Control key="ocs_users" />
<Control key="create_new_ocs_user" general_key="ocs_users" />
<Control key="edit_ocs_user" general_key="ocs_users" />
<!--Lync-->
<Control key="lync_users"/>
<Control key="create_new_lync_user" general_key="lync_users" />
<Control key="edit_lync_user" general_key="lync_users" />
<Control key="lync_userplans" />
<Control key="add_lyncuserplan" general_key="lync_userplans" />
<Control key="lync_federationdomains" />
<Control key="add_lyncfederation_domain" general_key="lync_federationdomains" />
<Control key="lync_phonenumbers" />
<Control key="allocate_phonenumbers" general_key="lync_phonenumbers" />
<!--EnterpriseStorage-->
<Control key="enterprisestorage_folders" />
<Control key="create_enterprisestorage_folder" general_key="enterprisestorage_folders" />
<Control key="enterprisestorage_folder_settings" general_key="enterprisestorage_folders" />
<Control key="enterprisestorage_drive_maps" />
<Control key="create_enterprisestorage_drive_map" general_key="enterprisestorage_drive_maps" />
<!--RDS-->
<Control key="rds_servers" />
<Control key="rds_add_server" general_key="rds_servers"/>
<Control key="rds_collections" />
<Control key="rds_create_collection" general_key="rds_collections" />
<Control key="rds_collection_edit_apps" general_key="rds_collections" />
<Control key="rds_collection_edit_users" general_key="rds_collections" />
</Controls>

View file

@ -0,0 +1,137 @@
<?xml version="1.0" encoding="utf-8" ?>
<ModuleDefinitions>
<ModuleDefinition id="ecEcommerceSettings">
<Controls>
<Control key="" src="Ecommerce/EcommerceSystemSettings.ascx" title="ecEcommerceSettings" type="View" />
<Control key="credit_card" src="Ecommerce/PaymentMethodCreditCard.ascx" title="ecCreditCardMethod" type="View" />
<Control key="2co" src="Ecommerce/PaymentMethod2Checkout.ascx" title="ec2CheckoutMethod" type="View" />
<Control key="pp_account" src="Ecommerce/PaymentMethodPayPalAccount.ascx" title="ecPPAccountMethod" type="View" />
<Control key="offline" src="Ecommerce/PaymentMethodOffline.ascx" title="ecOfflineMethod" type="View" />
<Control key="enom" src="Ecommerce/DomainRegistrarEnom.ascx" title="ecEnomRegistrar" type="View" />
<Control key="directi" src="Ecommerce/DomainRegistrarDirecti.ascx" title="ecDirectiRegistrar" type="View" />
<Control key="new_invoice" src="Ecommerce/NotificationNewInvoice.ascx" title="ecNotifyNewInvoice" type="View" />
<Control key="payment_rcvd" src="Ecommerce/NotificationPaymentReceived.ascx" title="ecNotifyPaymentRcvd" type="View" />
<Control key="svc_activated" src="Ecommerce/NotificationServiceActivated.ascx" title="ecNotifySvcActivated" type="View" />
<Control key="svc_suspended" src="Ecommerce/NotificationServiceSuspended.ascx" title="ecNotifySvcSuspended" type="View" />
<Control key="svc_cancelled" src="Ecommerce/NotificationServiceCancelled.ascx" title="ecNotifySvcCancelled" type="View" />
<Control key="terms_conds" src="Ecommerce/TermsAndConditionsEdit.ascx" title="ecTermsAndConds" type="View" />
<Control key="prov_settings" src="Ecommerce/ProvisioningSettingsEdit.ascx" title="ecProvSettings" type="View" />
<Control key="welcome_msg" src="Ecommerce/StorefrontWelcomeEdit.ascx" title="ecStorefronWelcomeMsg" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="ecCustomersServices">
<Controls>
<Control key="" src="Ecommerce/CustomersServices.ascx" title="ecCustomersServices" type="View" icon="3d_level_48.png" />
<Control key="view_svc" src="Ecommerce/CustomersServicesViewService.ascx" title="ecServiceDetails" type="View" icon="3d_info_48.png" />
<Control key="upgrade_svc" src="Ecommerce/CustomersServicesUpgradeService.ascx" title="ecServiceUpgrade" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="ecCustomerPaymentProfile">
<Controls>
<Control key="" src="Ecommerce/CustomerPaymentProfile.ascx" title="ecCustomerPaymentProfile" type="View" icon="3d_level_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="ecCustomersPayments">
<Controls>
<Control key="" src="Ecommerce/CustomersPayments.ascx" title="ecCustomersPayments" type="View" icon="reward_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="ecCustomersInvoices">
<Controls>
<Control key="" src="Ecommerce/CustomersInvoices.ascx" title="ecCustomersInvoices" type="View" icon="invoice_48.png"/>
<Control key="view_invoice" src="Ecommerce/CustomersInvoicesViewInvoice.ascx" title="ecInvoiceDetails" icon="invoice_info_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="ecStorefrontWelcome">
<Controls>
<Control key="" src="Ecommerce/StorefrontWelcome.ascx" title="ecStorefrontWelcome" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="ecQuickSignup">
<Controls>
<Control key="" src="Ecommerce/QuickSignup.ascx" title="ecQuickSignup" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="ecViewCategory">
<Controls>
<Control key="" src="Ecommerce/StorefrontViewCategory.ascx" title="ecViewCategory" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="ecProductDetails">
<Controls>
<Control key="" src="Ecommerce/ViewProductDetails.ascx" title="ecProductDetails" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="ecTaxations">
<Controls>
<Control key="" src="Ecommerce/Taxations.ascx" title="ecTaxations" type="View" />
<Control key="add_tax" src="Ecommerce/TaxationsAddTax.ascx" title="ecAddTax" type="View" />
<Control key="edit_tax" src="Ecommerce/TaxationsEditTax.ascx" title="ecEditTax" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="ecBillingCycles">
<Controls>
<Control key="" src="Ecommerce/BillingCycles.ascx" title="ecBillingCycles" type="View" />
<Control key="add_billingcycle" src="Ecommerce/BillingCyclesAddCycle.ascx" title="ecAddBillingCycle" type="View" />
<Control key="edit_billingcycle" src="Ecommerce/BillingCyclesEditCycle.ascx" title="ecEditBillingCycle" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="ecHostingPlans">
<Controls>
<Control key="" src="Ecommerce/HostingPlans.ascx" title="ecHostingPlans" type="View" />
<Control key="add_hostingplan" src="Ecommerce/HostingPlansAddPlan.ascx" title="ecAddHostingPlan" type="View" />
<Control key="edit_hostingplan" src="Ecommerce/HostingPlansEditPlan.ascx" title="ecEditHostingPlan" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="ecDomainNames">
<Controls>
<Control key="" src="Ecommerce/DomainNames.ascx" title="ecDomainNames" type="View" />
<Control key="add_tld" src="Ecommerce/DomainNamesAddDomain.ascx" title="ecAddDomainName" type="View" />
<Control key="edit_tld" src="Ecommerce/DomainNamesEditDomain.ascx" title="ecEditDomainName" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="ecHostingAddons">
<Controls>
<Control key="" src="Ecommerce/HostingAddons.ascx" title="ecHostingAddons" type="View" icon="webcam_48.png" />
<Control key="add_hostingaddon" src="Ecommerce/HostingAddonsAddAddon.ascx" title="ecAddHostingAddon" type="View" icon="webcam_add_48.png" />
<Control key="edit_hostingaddon" src="Ecommerce/HostingAddonsEditAddon.ascx" title="ecEditHostingAddon" type="View" icon="webcam_write_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="ecCategories">
<Controls>
<Control key="" src="Ecommerce/Categories.ascx" title="ecCategories" type="View" icon="inventory_48.png" />
<Control key="AddItem" src="Ecommerce/CategoriesAddCategory.ascx" title="ecAddCategory" type="View" icon="inventory_add_48.png" />
<Control key="EditItem" src="Ecommerce/CategoriesEditCategory.ascx" title="ecEditCategory" type="View" icon="inventory_write_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="ecOrderCheckout">
<Controls>
<Control key="" src="Ecommerce/OrderCheckout.ascx" title="ecOrderCheckout" type="View" icon="invoice_next_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="ecOrderComplete">
<Controls>
<Control key="" src="Ecommerce/OrderComplete.ascx" title="ecOrderComplete" type="View" icon="invoice_ok_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="ecOrderFailed">
<Controls>
<Control key="" src="Ecommerce/OrderFailed.ascx" title="ecOrderFailed" type="View" icon="invoice_close_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="ecOrderProduct">
<Controls>
<Control key="" src="Ecommerce/StorefrontOrderProduct.ascx" title="ecOrderProduct" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="ecStorefrontMenu">
<Controls>
<Control key="" src="Ecommerce/StorefrontMenu.ascx" title="ecStorefrontCatalogMenu" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="ecTermsAndConditions">
<Controls>
<Control key="" src="Ecommerce/TermsAndConditions.ascx" title="ecTermsAndConditions" type="View" />
</Controls>
</ModuleDefinition>
</ModuleDefinitions>

View file

@ -0,0 +1,226 @@
<?xml version="1.0" encoding="utf-8"?>
<Pages>
<include file="ModulesData.config" />
<Page name="QuickSignup" roles="?" hidden="true" skin="Storefront.ascx" adminskin="Storefront.ascx">
<Content id="ContentPane">
<Module moduleDefinitionID="ecQuickSignup" title="ecQuickSignup" container="Clear.ascx" />
</Content>
</Page>
<Page name="ecOrderCheckout" roles="*" hidden="true" skin="Storefront.ascx" adminskin="Storefront.ascx">
<Content id="ContentPane">
<Module moduleDefinitionID="ecOrderCheckout" title="ecOrderCheckout" />
</Content>
</Page>
<Page name="ecOrderComplete" roles="*" hidden="true" skin="Storefront.ascx" adminskin="Storefront.ascx">
<Content id="ContentPane">
<Module moduleDefinitionID="ecOrderComplete" title="ecOrderComplete" />
</Content>
</Page>
<Page name="ecOrderFailed" roles="*" hidden="true" skin="Storefront.ascx" adminskin="Storefront.ascx">
<Content id="ContentPane">
<Module moduleDefinitionID="ecOrderFailed" title="ecOrderFailed" />
</Content>
</Page>
<Page name="ecTermsAndConditions" roles="?" hidden="true" skin="SimpleWhite.ascx">
<Content id="ContentPane">
<Module moduleDefinitionID="ecTermsAndConditions" title="ecTermsAndConditions" container="Clear.ascx" />
</Content>
</Page>
<Page name="ecProductDetails" roles="?" hidden="true" skin="SimpleWhite.ascx">
<Content id="ContentPane">
<Module moduleDefinitionID="ecProductDetails" title="ecProductDetails" container="Clear.ascx" />
</Content>
</Page>
<Page name="ecOnlineStore" roles="?" hidden="true" skin="Storefront2.ascx" adminskin="Storefront2.ascx">
<Content id="LeftPane">
<Module moduleDefinitionID="ecStorefrontMenu" title="ecStorefrontCatalogMenu" container="Clear.ascx" />
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="ecStorefrontWelcome" title="ecStorefrontWelcome" container="Clear.ascx" />
</Content>
<Pages>
<Page name="ecViewCategory" roles="?" hidden="true" skin="Storefront2.ascx" adminskin="Storefront2.ascx">
<Content id="LeftPane">
<Module moduleDefinitionID="ecStorefrontMenu" title="ecStorefrontCatalogMenu" container="Clear.ascx" />
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="ecViewCategory" title="ecViewCategory" container="Clear.ascx" />
</Content>
</Page>
<Page name="ecOrderProduct" roles="?" hidden="true" skin="Storefront2.ascx" adminskin="Storefront2.ascx">
<Content id="LeftPane">
<Module moduleDefinitionID="ecStorefrontMenu" title="ecStorefrontCatalogMenu" container="Clear.ascx" />
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="ecOrderProduct" title="ecOrderProduct" container="Clear.ascx" />
</Content>
</Page>
</Pages>
</Page>
<Page name="ecEcommerceAdmin" hidden="true" roles="Administrator,Reseller" enabled="false">
<Pages>
<Page name="ecEcommerceSettings" roles="Administrator,Reseller" adminskin="Browse1.ascx" skin="Browse2.ascx">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="ecEcommerceSettings" title="ecEcommerceSettings" />
</Content>
</Page>
<Page name="ecBillingCycles" roles="Administrator,Reseller" adminskin="Browse2.ascx" skin="Browse2.ascx">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="ecBillingCycles" title="ecBillingCycles" />
</Content>
</Page>
<Page name="ecHostingPlans" roles="Administrator,Reseller" adminskin="Browse2.ascx" skin="Browse2.ascx">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="ecHostingPlans" title="ecHostingPlans" />
</Content>
</Page>
<Page name="ecHostingAddons" roles="Administrator,Reseller" adminskin="Browse2.ascx" skin="Browse2.ascx">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="ecHostingAddons" title="ecHostingAddons" />
</Content>
</Page>
<Page name="ecDomainNames" roles="Administrator,Reseller" adminskin="Browse2.ascx" skin="Browse2.ascx">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="ecDomainNames" title="ecDomainNames" />
</Content>
</Page>
<Page name="ecCategories" roles="Administrator,Reseller" adminskin="Browse2.ascx" skin="Browse2.ascx">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="ecCategories" title="ecCategories" />
</Content>
</Page>
<Page name="ecTaxations" roles="Administrator,Reseller" adminskin="Browse2.ascx" skin="Browse2.ascx">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="ecTaxations" title="ecTaxations" />
</Content>
</Page>
<Page name="ecCustomersPayments" roles="Administrator,Reseller" adminskin="Browse1.ascx" skin="Browse1.ascx">
<Content id="ContentPane">
<Module moduleDefinitionID="ecCustomersPayments" title="ecCustomersPayments">
<Settings>
<Add name="IsReseller" value="True" />
</Settings>
</Module>
</Content>
</Page>
<Page name="ecCustomersInvoices" roles="Administrator,Reseller" adminskin="Browse1.ascx" skin="Browse1.ascx">
<Content id="ContentPane">
<Module moduleDefinitionID="ecCustomersInvoices" title="ecCustomersInvoices">
<Settings>
<Add name="IsReseller" value="True" />
</Settings>
</Module>
</Content>
</Page>
<Page name="ecCustomersServices" roles="Administrator,Reseller" adminskin="Browse1.ascx" skin="Browse1.ascx">
<Content id="ContentPane">
<Module moduleDefinitionID="ecCustomersServices" title="ecCustomersServices">
<Settings>
<Add name="IsReseller" value="True" />
</Settings>
</Module>
</Content>
</Page>
</Pages>
</Page>
<Page name="ecMyEcommerce" hidden="true" enabled="false" roles="Reseller,User">
<Pages>
<Page name="ecPaymentProfile" roles="Reseller,User" skin="Browse2.ascx">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="ecCustomerPaymentProfile" title="ecCustomerPaymentProfile" />
</Content>
</Page>
<Page name="ecMyPayments" roles="Reseller,User" adminskin="Browse1.ascx" skin="Browse2.ascx">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="ecCustomersPayments" title="ecMyPayments">
<Settings>
<Add name="IsReseller" value="False" />
</Settings>
</Module>
</Content>
</Page>
<Page name="ecMyInvoices" roles="Reseller,User" adminskin="Browse1.ascx" skin="Browse2.ascx">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="ecCustomersInvoices" title="ecMyInvoices">
<Settings>
<Add name="IsReseller" value="False" />
</Settings>
</Module>
</Content>
</Page>
<Page name="ecMyServices" roles="Reseller,User" adminskin="Browse1.ascx" skin="Browse2.ascx">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="ecCustomersServices" title="ecMyServices">
<Settings>
<Add name="IsReseller" value="False" />
</Settings>
</Module>
</Content>
</Page>
</Pages>
</Page>
</Pages>

View file

@ -0,0 +1,143 @@
<?xml version="1.0" encoding="utf-8"?>
<ModulesData>
<ModuleData id="UserMenu">
<MenuItem pageID="Home" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk" selectedUserContext="User"/>
<MenuItem pageID="UserCustomers" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk" selectedUserContext="Administrator,Reseller"/>
<MenuItem pageID="UserSpaces" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" selectedUserContext="Administrator,Reseller,User"/>
<MenuItem pageID="HostingPlans" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk" selectedUserContext="Administrator,Reseller"/>
<MenuItem pageID="HostingAddons" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk" selectedUserContext="Administrator,Reseller"/>
<MenuItem pageID="UserPeers" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" selectedUserContext="Administrator,Reseller,User"/>
<MenuItem pageID="UserTasks" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" selectedUserContext="Administrator,Reseller,User"/>
<MenuItem pageID="AuditLog" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" selectedUserContext="Administrator,Reseller,User"/>
<MenuItem pageID="ecOnlineStore" roles="Reseller,ResellerCSR,ResellerHelpdesk,User" selectedUserContext="Reseller,User" ecuser="true" />
<MenuItem pageID="ecEcommerceAdmin" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk" selectedUserContext="Administrator,Reseller,User" ecadmin="true">
<MenuItems>
<MenuItem pageID="ecEcommerceSettings" ecommerce="true" />
<MenuItem pageID="ecBillingCycles" />
<MenuItem pageID="ecHostingPlans" />
<MenuItem pageID="ecHostingAddons" />
<MenuItem pageID="ecDomainNames" />
<MenuItem pageID="ecTaxations" />
<MenuItem pageID="ecCategories" />
<MenuItem pageID="ecCustomersPayments" />
<MenuItem pageID="ecCustomersInvoices" />
<MenuItem pageID="ecCustomersServices" />
</MenuItems>
</MenuItem>
<MenuItem pageID="ecMyEcommerce" ecuser="true" roles="Reseller,ResellerCSR,ResellerHelpdesk,User" selectedUserContext="Reseller,User">
<MenuItems>
<MenuItem pageID="ecPaymentProfile" />
<MenuItem pageID="ecMyPayments" />
<MenuItem pageID="ecMyInvoices" />
<MenuItem pageID="ecMyServices" />
</MenuItems>
</MenuItem>
<!--MenuItem url="http://google.com" title="Google" target="_blank"/-->
</ModuleData>
<ModuleData id="SpaceMenu">
<MenuItem pageID="SpaceDomains" resourceGroup="OS" />
<MenuItem pageID="SpaceWebSites" resourceGroup="Web"/>
<MenuItem pageID="SpaceWebIPAddresses" resourceGroup="Web" />
<MenuItem pageID="SpaceFtpAccounts" resourceGroup="FTP"/>
<MenuItem pageID="SpaceMail" resourceGroup="Mail" disabled="True">
<MenuItems>
<MenuItem pageID="SpaceMailAccounts" quota="Mail.Accounts"/>
<MenuItem pageID="SpaceMailForwardings" quota="Mail.Forwardings"/>
<MenuItem pageID="SpaceMailGroups" quota="Mail.Groups"/>
<MenuItem pageID="SpaceMailLists" quota="Mail.Lists"/>
<MenuItem pageID="SpaceMailDomains" resourceGroup="Mail"/>
</MenuItems>
</MenuItem>
<MenuItem pageID="SpaceDatabases" disabled="True">
<MenuItems>
<MenuItem pageID="SpaceMsSql2000" resourceGroup="MsSQL2000"/>
<MenuItem pageID="SpaceMsSql2005" resourceGroup="MsSQL2005"/>
<MenuItem pageID="SpaceMsSql2008" resourceGroup="MsSQL2008"/>
<MenuItem pageID="SpaceMsSql2012" resourceGroup="MsSQL2012"/>
<MenuItem pageID="SpaceMsSql2014" resourceGroup="MsSQL2014"/>
<MenuItem pageID="SpaceMySql4" resourceGroup="MySQL4"/>
<MenuItem pageID="SpaceMySql5" resourceGroup="MySQL5"/>
</MenuItems>
</MenuItem>
<MenuItem pageID="SpaceSharePoint" resourceGroup="SharePoint" disabled="True">
<MenuItems>
<MenuItem pageID="SpaceSharePointSites"/>
<MenuItem pageID="SpaceSharePointUsers"/>
</MenuItems>
</MenuItem>
<MenuItem pageID="SpaceVPS" resourceGroup="VPS"/>
<MenuItem pageID="SpaceVPSForPC" resourceGroup="VPSForPC"/>
<MenuItem pageID="SpaceExchangeServer" resourceGroup="Hosted Organizations"/>
<MenuItem pageID="SpaceSharedSSL" resourceGroup="OS" quota="Web.SharedSSL"/>
<MenuItem pageID="SpaceAdvancedStatistics" resourceGroup="Statistics"/>
<MenuItem pageID="SpaceOdbc" resourceGroup="OS" quota="OS.ODBC"/>
<MenuItem pageID="SpaceFileManager" resourceGroup="OS" quota="OS.FileManager"/>
<MenuItem pageID="SpaceWebApplicationsGallery" resourceGroup="Web" quota="Web.WebAppGallery"/>
<MenuItem pageID="SpaceApplicationsInstaller" resourceGroup="OS" quota="OS.AppInstaller"/>
<MenuItem pageID="SpaceScheduledTasks" resourceGroup="OS" quota="OS.ScheduledTasks"/>
<!--CO Changes-->
<MenuItem pageID="SpaceApplyEnableHardQuotaFeature" resourceGroup="OS" quota=""/>
<!--END-->
<!--MenuItem url="http://phpmysqladmin.com" title="phpMyAdmin" target="_blank"
resourceGroup="MySQL4"/-->
<MenuItem pageID="LyncPhoneNumbers" resourceGroup="Hosted Organizations" />
</ModuleData>
<ModuleData id="SpaceIcons">
<Group pageID="SpaceHome" titleresourcekey="System">
<Icon pageID="SpaceHome" titleresourcekey="SpaceStatistics" imageUrl="icons/spacehome_48.png" />
<Icon pageID="SpaceDomains" resourceGroup="OS" imageUrl="icons/domains_48.png" />
<Icon pageID="SpaceFtpAccounts" resourceGroup="FTP" imageUrl="icons/ftp_48.png"/>
<Icon pageID="SpaceFileManager" resourceGroup="OS" quota="OS.FileManager" imageUrl="icons/filemanager_48.png"/>
<Icon pageID="SpaceApplicationsInstaller" resourceGroup="OS" quota="OS.AppInstaller" imageUrl="icons/applicationsinstaller_48.png"/>
<Icon pageID="SpaceScheduledTasks" resourceGroup="OS" quota="OS.ScheduledTasks" imageUrl="icons/scheduledtasks_48.png"/>
</Group>
<Group pageID="SpaceWeb" titleresourcekey="Web" disabled="True">
<Icon pageID="SpaceWebSites" resourceGroup="Web" imageUrl="icons/websites_48.png" />
<Icon pageID="SpaceWebIPAddresses" resourceGroup="Web" imageUrl="icons/webipaddresses_48.png" />
<Icon pageID="SpaceSharedSSL" resourceGroup="OS" quota="Web.SharedSSL" imageUrl="icons/sharedssl_48.png" />
<Icon pageID="SpaceAdvancedStatistics" resourceGroup="Statistics" imageUrl="icons/advancedstatistics_48.png" />
<Icon pageID="SpaceWebApplicationsGallery" resourceGroup="Web" quota="Web.WebAppGallery" imageUrl="icons/webapplicationsgallery_48.png"/>
</Group>
<Group pageID="SpaceMail" titleresourcekey="Email" resourceGroup="Mail" disabled="True">
<Icon pageID="SpaceMailAccounts" quota="Mail.Accounts" imageUrl="icons/mail_accounts_48.png"/>
<Icon pageID="SpaceMailForwardings" quota="Mail.Forwardings" imageUrl="icons/mail_forwardings_48.png"/>
<Icon pageID="SpaceMailGroups" quota="Mail.Groups" imageUrl="icons/mail_groups_48.png"/>
<Icon pageID="SpaceMailLists" quota="Mail.Lists" imageUrl="icons/mail_lists_48.png"/>
<Icon pageID="SpaceMailDomains" resourceGroup="Mail" imageUrl="icons/mail_domains_48.png"/>
</Group>
<Group pageID="SpaceDatabases" titleresourcekey="Databases" disabled="True">
<Icon pageID="SpaceMsSql2000" resourceGroup="MsSQL2000" imageUrl="icons/mssql_48.png"/>
<Icon pageID="SpaceMsSql2005" resourceGroup="MsSQL2005" imageUrl="icons/mssql_48.png"/>
<Icon pageID="SpaceMsSql2008" resourceGroup="MsSQL2008" imageUrl="icons/mssql_48.png"/>
<Icon pageID="SpaceMsSql2012" resourceGroup="MsSQL2012" imageUrl="icons/mssql_48.png"/>
<Icon pageID="SpaceMsSql2014" resourceGroup="MsSQL2014" imageUrl="icons/mssql_48.png"/>
<Icon pageID="SpaceMySql4" resourceGroup="MySQL4" imageUrl="icons/mysql_48.png"/>
<Icon pageID="SpaceMySql5" resourceGroup="MySQL5" imageUrl="icons/mysql_48.png"/>
<Icon pageID="SpaceOdbc" resourceGroup="OS" quota="OS.ODBC" imageUrl="icons/odbc_48.png"/>
</Group>
<Group pageID="SpaceHome" titleresourcekey="VPS" disabled="True">
<Icon pageID="SpaceVPS" resourceGroup="VPS" imageUrl="icons/vps_48.png" />
<Icon pageID="SpaceVPSForPC" resourceGroup="VPSForPC" imageUrl="icons/vpsforpc_48.png" />
</Group>
<!--
<Group pageID="SpaceSharePoint" resourceGroup="SharePoint" disabled="True">
<Icon pageID="SpaceSharePointSites" imageUrl="icons/colors_48.png"/>
<Icon pageID="SpaceSharePointUsers" imageUrl="icons/colors_48.png"/>
</Group>
-->
</ModuleData>
<ModuleData id="HostedSolutionMenu">
<MenuItem pageID="SpaceDomains"/>
<MenuItem pageID="Userds"/>
<MenuItem pageID="SpaceOrganizationHostedSharePoint" resourceGroup="Hosted SharePoint"/>
<MenuItem pageID="SpaceExchanged"/>
</ModuleData>
</ModulesData>

View file

@ -0,0 +1,43 @@
<?xml version="1.0" encoding="utf-8"?>
<SiteSettings>
<!-- Display Settings -->
<PortalName>WebsitePanel</PortalName>
<!-- Enterprise Server -->
<EnterpriseServer>http://localhost:9002</EnterpriseServer>
<!-- General Settings -->
<CultureCookieName>UserCulture</CultureCookieName>
<ThemeCookieName>UserTheme</ThemeCookieName>
<!-- Mail Settings -->
<AdminEmail>
</AdminEmail>
<SmtpHost>
</SmtpHost>
<SmtpPort>
</SmtpPort>
<SmtpUsername>
</SmtpUsername>
<SmtpPassword>
</SmtpPassword>
<FromEmail>
</FromEmail>
<!-- Pages -->
<DefaultPage>Home</DefaultPage>
<LoginPage>Login</LoginPage>
<UserHomePage>Home</UserHomePage>
<UserCustomersPage>UserCustomers</UserCustomersPage>
<SpaceHomePage>SpaceHome</SpaceHomePage>
<NestedSpacesPage>NestedSpaces</NestedSpacesPage>
<UsersSearchPage>SearchUsers</UsersSearchPage>
<SpacesSearchPage>SearchSpaces</SpacesSearchPage>
<LoggedUserAccountPage>LoggedUserDetails</LoggedUserAccountPage>
<!-- Skins and Containers -->
<PortalSkin>Browse2.ascx</PortalSkin>
<PortalContainer>Browse.ascx</PortalContainer>
<AdminSkin>Edit.ascx</AdminSkin>
<AdminContainer>Edit.ascx</AdminContainer>
<!-- SSL Settings -->
<UseSSL>false</UseSSL>
<HideDemoCheckbox>false</HideDemoCheckbox>
<HideThemeAndLocale>false</HideThemeAndLocale>
<ExcludedRolesToLogin></ExcludedRolesToLogin>
</SiteSettings>

View file

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8" ?>
<SupportedLocales>
<Locale name="English" key="en-US" fallback="" />
</SupportedLocales>

View file

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8" ?>
<Themes>
<Theme name="Default" title="Energy Blue" />
</Themes>

View file

@ -0,0 +1,664 @@
<?xml version="1.0" encoding="utf-8"?>
<ModuleDefinitions>
<!-- Common Modules -->
<ModuleDefinition id="SystemSettings">
<Controls>
<Control key="" src="WebsitePanel/SystemSettings.ascx" title="SearchUsers" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="TextHTML">
<Controls>
<Control key="" src="WebsitePanel/TextHTML.ascx" title="TextHTML" type="View" />
</Controls>
</ModuleDefinition>
<!-- Common Modules -->
<ModuleDefinition id="SearchUsers">
<Controls>
<Control key="" src="WebsitePanel/SearchUsers.ascx" title="SearchUsers" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="SearchSpaces">
<Controls>
<Control key="" src="WebsitePanel/SearchSpaces.ascx" title="SearchSpaces" type="View" />
</Controls>
</ModuleDefinition>
<!-- User Account -->
<ModuleDefinition id="LoggedUserDetails">
<Controls>
<Control key="" src="WebsitePanel/LoggedUserEditDetails.ascx" title="LoggedUserDetails" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="UserAccountMenu">
<Controls>
<Control key="" src="WebsitePanel/UserAccountMenu.ascx" title="UserAccountMenu" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="UserCustomers">
<Controls>
<Control key="" src="WebsitePanel/UserCustomers.ascx" title="UserCustomersSummary" type="View" />
<Control key="create_user" src="WebsitePanel/UserCreateUserAccount.ascx" title="UserCreateUserAccount" type="View" icon="user_add_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="UserCustomersSummary">
<Controls>
<Control key="" src="WebsitePanel/UserCustomersSummary.ascx" title="UserCustomersSummary" type="View" />
<Control key="create_user" src="WebsitePanel/UserCreateUserAccount.ascx" title="UserCreateUserAccount" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="UserSpaces">
<Controls>
<Control key="" src="WebsitePanel/UserSpaces.ascx" title="UserSpaces" type="View" />
<Control key="create_space" src="WebsitePanel/UserCreateSpace.ascx" title="UserCreateSpace" type="View" icon="sphere_add_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="UserNotes">
<Controls>
<Control key="" src="WebsitePanel/UserAccountNotes.ascx" title="UserAccountNotes" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="UserDetails">
<Controls>
<Control key="" src="WebsitePanel/UserAccountDetails.ascx" title="UserAccountDetails" type="View" />
<Control key="summary_letter" src="WebsitePanel/UserAccountSummaryLetter.ascx" title="UserAccountSummaryLetter" type="View" icon="admin_info_48.png" />
<Control key="edit_details" src="WebsitePanel/UserAccountEditDetails.ascx" title="UserAccountEditDetails" type="View" icon="admin_write_48.png" />
<Control key="change_password" src="WebsitePanel/UserAccountChangePassword.ascx" title="UserAccountChangePassword" type="View" icon="admin_lock_48.png" />
<Control key="delete" src="WebsitePanel/UserDeleteUserAccount.ascx" title="UserDeleteUserAccount" type="View" icon="admin_close_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="UserResellerSettings">
<Controls>
<Control key="" src="WebsitePanel/UserAccountSettings.ascx" title="UserAccountSettings" type="View" />
<Control key="mail_templates" src="WebsitePanel/UserAccountMailTemplateSettings.ascx" title="UserAccountMailTemplateSettings" type="View" icon="user_config_48.png" />
<Control key="policies" src="WebsitePanel/UserAccountPolicySettings.ascx" title="UserAccountPolicySettings" type="View" icon="user_config_48.png" />
<Control key="edit_settings" src="WebsitePanel/SettingsEditor.ascx" title="UserAccountSettingsEditor" type="View" icon="user_config_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="UserTools">
<Controls>
<Control key="" src="WebsitePanel/UserAccountTools.ascx" title="UserAccountTools" type="View" />
<Control key="backup" src="WebsitePanel/BackupWizard.ascx" title="BackupUser" type="View" />
<Control key="restore" src="WebsitePanel/RestoreWizard.ascx" title="RestoreUser" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="Tasks">
<Controls>
<Control key="" src="WebsitePanel/Tasks.ascx" title="Tasks" type="View" />
<Control key="view_details" src="WebsitePanel/TasksTaskDetails.ascx" title="TasksTaskDetails" type="View" icon="hourglass_48.png" />
</Controls>
</ModuleDefinition>
<!-- Space -->
<ModuleDefinition id="SpaceMenu">
<Controls>
<Control key="" src="WebsitePanel/SpaceMenu.ascx" title="SpaceMenu" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="HostedSolutionMenu">
<Controls>
<Control key="" src="WebsitePanel/SpaceMenu.ascx" title="SpaceMenu" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="SpaceQuotas">
<Controls>
<Control key="" src="WebsitePanel/SpaceQuotas.ascx" title="SpaceQuotas" type="View" />
<Control key="view_quotas" src="WebsitePanel/SpaceViewQuotas.ascx" title="SpaceViewQuotas" type="View" icon="sphere_level_48.png" />
<Control key="view_addon" src="WebsitePanel/SpaceViewAddon.ascx" title="SpaceViewAddon" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="SpaceNestedSpacesSummary">
<Controls>
<Control key="" src="WebsitePanel/SpaceNestedSpacesSummary.ascx" title="SpaceNestedSpacesSummary" type="View" />
<Control key="spaces" src="WebsitePanel/SpaceNestedSpaces.ascx" title="SpaceNestedSpaces" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="SpaceNotes">
<Controls>
<Control key="" src="WebsitePanel/SpaceNotes.ascx" title="SpaceNotes" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="SpaceDetails">
<Controls>
<Control key="" src="WebsitePanel/SpaceDetails.ascx" title="SpaceDetails" type="View" />
<Control key="edit_details" src="WebsitePanel/SpaceEditDetails.ascx" title="SpaceEditDetails" type="View" icon="sphere_write_48.png" />
<Control key="summary_letter" src="WebsitePanel/SpaceSummaryLetter.ascx" title="SpaceSummaryLetter" type="View" icon="sphere_info_48.png" />
<Control key="delete" src="WebsitePanel/SpaceDeleteSpace.ascx" title="SpaceDeleteSpace" type="View" icon="sphere_close_48.png" />
<Control key="edit_addon" src="WebsitePanel/SpaceEditAddon.ascx" title="SpaceEditAddon" type="View" icon="sphere_star_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="SpaceSettings">
<Controls>
<Control key="" src="WebsitePanel/SpaceSettings.ascx" title="SpaceSettings" type="View" />
<Control key="edit_settings" src="WebsitePanel/SpaceSettingsEditor.ascx" title="SpaceSettingsEditor" type="View" icon="sphere_config_48.png" />
<Control key="edit_globaldns" src="WebsitePanel/SpaceEditDnsRecords.ascx" title="SpaceEditDnsRecords" type="View" icon="sphere_config_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="SpaceTools">
<Controls>
<Control key="" src="WebsitePanel/SpaceTools.ascx" title="SpaceTools" type="View" />
<Control key="backup" src="WebsitePanel/BackupWizard.ascx" title="BackupSpace" type="View" />
<Control key="restore" src="WebsitePanel/RestoreWizard.ascx" title="RestoreSpace" type="View" />
<Control key="import" src="WebsitePanel/SpaceImportResources.ascx" title="ImportSpaceResources" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="NestedSpaces">
<Controls>
<Control key="" src="WebsitePanel/SpaceNestedSpaces.ascx" title="SpaceNestedSpaces" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="IPAddresses">
<Controls>
<Control key="" src="WebsitePanel/IPAddresses.ascx" title="IPAddressesManager" type="View" />
<Control key="add_ip" src="WebsitePanel/IPAddressesAddIPAddress.ascx" title="AddIPAddress" type="View" icon="adress_add_48.png" />
<Control key="edit_ip" src="WebsitePanel/IPAddressesEditIPAddress.ascx" title="EditIPAddress" type="View" icon="adress_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="PhoneNumbers">
<Controls>
<Control key="" src="WebsitePanel/PhoneNumbers.ascx" title="PhoneNumbers" type="View" />
<Control key="add_phone" src="WebsitePanel/PhoneNumbersAddPhoneNumber.ascx" title="AddPhoneNumber" type="View" icon="adress_add_48.png" />
<Control key="edit_phone" src="WebsitePanel/PhoneNumbersEditPhoneNumber.ascx" title="EditPhoneNumber" type="View" icon="adress_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="RDSServers">
<Controls>
<Control key="" src="WebsitePanel/RDSServers.ascx" title="RDSServers" type="View" />
<Control key="add_rdsserver" src="WebsitePanel/RDSServersAddserver.ascx" title="RDSServersAddserver" type="View" icon="computer_add_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="Servers">
<Controls>
<Control key="" src="WebsitePanel/Servers.ascx" title="Servers" type="View" />
<Control key="add_ip" src="WebsitePanel/IPAddressesAddIPAddress.ascx" title="AddIPAddress" type="View" icon="adress_add_48.png" />
<Control key="add_server" src="WebsitePanel/ServersAddServer.ascx" title="AddServer" type="View" icon="computer_add_48.png" />
<Control key="add_service" src="WebsitePanel/ServersAddService.ascx" title="AddNewService" type="View" icon="computer_config_48.png" />
<Control key="edit_eventviewer" src="WebsitePanel/ServersEditEventViewer.ascx" title="ServerEventViewer" type="View" icon="table_48.png" />
<Control key="edit_ip" src="WebsitePanel/IPAddressesEditIPAddress.ascx" title="EditIPAddress" type="View" icon="adress_48.png" />
<Control key="edit_processes" src="WebsitePanel/ServersEditSystemProcesses.ascx" title="ManageServerSystemProcesses" type="View" icon="windows_window_48.png" />
<Control key="edit_reboot" src="WebsitePanel/ServersEditReboot.ascx" title="RebootServer" type="View" icon="switch_off_48.png" />
<Control key="edit_server" src="WebsitePanel/ServersEditServer.ascx" title="ServerProperties" type="View" icon="computer_48.png" />
<Control key="edit_service" src="WebsitePanel/ServersEditService.ascx" title="ServiceProperties" type="View" icon="computer_config_48.png" />
<Control key="edit_termservices" src="WebsitePanel/ServersEditTerminalConnections.ascx" title="ManageTerminalConnections" type="View" icon="windows_window_zoom_48.png" />
<Control key="edit_winservices" src="WebsitePanel/ServersEditWindowsServices.ascx" title="ManageWindowsServices" type="View" icon="windows_window_config_48.png" />
<Control key="edit_platforminstaller" src="WebsitePanel/ServersEditWebPlatformInstaller.ascx" title="ManagePlatformInstaller" type="View" icon="computer_config_48.png" />
<Control key="backup" src="WebsitePanel/BackupWizard.ascx" title="BackupServer" type="View" />
<Control key="restore" src="WebsitePanel/RestoreWizard.ascx" title="RestoreServer" type="View" />
<Control key="edit_htaccessfolder" src="WebsitePanel/WebSitesEditHeliconApeFolder.ascx" title="HeliconApeFolderProperties" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="VirtualServers">
<Controls>
<Control key="" src="WebsitePanel/VirtualServers.ascx" title="VirtualServers" type="View" />
<Control key="add_server" src="WebsitePanel/VirtualServersAddServer.ascx" title="AddNewVirtualServer" type="View" icon="network_add_48.png" />
<Control key="add_services" src="WebsitePanel/VirtualServersAddServices.ascx" title="AddVirtualServerServices" type="View" icon="network_config_48.png" />
<Control key="edit_server" src="WebsitePanel/VirtualServersEditServer.ascx" title="EditVirtualServer" type="View" icon="network_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="MyUsers">
<Controls>
<Control key="" src="WebsitePanel/Users.ascx" title="Users" type="View" />
<Control key="delete_user" src="WebsitePanel/UsersDeleteUser.ascx" title="DeleteUserAccount" type="View" />
<Control key="edit_user" src="WebsitePanel/UsersEditUser.ascx" title="EditUserDetails" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="UserPeers">
<Controls>
<Control key="" src="WebsitePanel/Peers.ascx" title="PeerAccounts" type="View" />
<Control key="edit_peer" src="WebsitePanel/PeersEditPeer.ascx" title="EditPeerAccount" type="View" icon="motion_blur_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="HostingPlans">
<Controls>
<Control key="" src="WebsitePanel/HostingPlans.ascx" title="HostingPlans" type="View" />
<Control key="edit_plan" src="WebsitePanel/HostingPlansEditPlan.ascx" title="EditHostingPlan" type="View" icon="inventory_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="HostingAddons">
<Controls>
<Control key="" src="WebsitePanel/HostingAddons.ascx" title="HostingAddOns" type="View" />
<Control key="edit_addon" src="WebsitePanel/HostingAddonsEditAddon.ascx" title="EditHostingAddOn" type="View" icon="inventory_add_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="Domains">
<Controls>
<Control key="" src="WebsitePanel/Domains.ascx" title="Domains" type="View" />
<Control key="add_domain" src="WebsitePanel/DomainsAddDomainSelectType.ascx" title="AddNewDomain" type="View" icon="world_add_48.png" />
<Control key="add_domain_step2" src="WebsitePanel/DomainsAddDomain.ascx" title="AddNewDomain" type="View" icon="world_add_48.png" />
<Control key="edit_item" src="WebsitePanel/DomainsEditDomain.ascx" title="EditDomain" type="View" icon="world_48.png" />
<Control key="zone_records" src="WebsitePanel/DnsZoneRecords.ascx" title="DNSZoneRecords" type="View" icon="world_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="HostedSharePointSiteCollections">
<Controls>
<Control key="" src="WebsitePanel/HostedSharePointSiteCollections.ascx" title="HostedSharePointSiteCollections" type="View" icon="colors_48.png"/>
<Control key="edit_item" src="WebsitePanel/HostedSharePointEditSiteCollection.ascx" title="HostedSharePointSiteCollection" type="View" icon="colors_48.png" />
<Control key="backup" src="WebsitePanel/HostedSharePointBackupSiteCollection.ascx" title="HostedSharePointBackupSiteCollection" type="View"/>
<Control key="restore" src="WebsitePanel/HostedSharePointRestoreSiteCollection.ascx" title="HostedSharePointRestoreSiteCollection" type="View"/>
</Controls>
</ModuleDefinition>
<ModuleDefinition id="FileManager">
<Controls>
<Control key="" src="WebsitePanel/FileManager.ascx" title="HostingSpaceFiles" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="WebSites">
<Controls>
<Control key="" src="WebsitePanel/WebSites.ascx" title="WebSites" type="View" />
<Control key="add_pointer" src="WebsitePanel/WebSitesAddPointer.ascx" title="AddWebSiteDomainPointer" type="View" />
<Control key="add_site" src="WebsitePanel/WebSitesAddSite.ascx" title="AddWebSite" type="View" icon="location_add_48.png" />
<Control key="add_vdir" src="WebsitePanel/WebSitesAddVirtualDir.ascx" title="AddVirtualDirectory" type="View" icon="file_add_48.png" />
<Control key="edit_item" src="WebsitePanel/WebSitesEditSite.ascx" title="WebSiteProperties" type="View" icon="location_48.png" />
<Control key="edit_vdir" src="WebsitePanel/WebSitesEditVirtualDir.ascx" title="VirtualDirectoryProperties" type="View" icon="file_48.png" />
<Control key="edit_webfolder" src="WebsitePanel/WebSitesEditWebFolder.ascx" title="SecuredFolderProperties" type="View" />
<Control key="edit_webgroup" src="WebsitePanel/WebSitesEditWebGroup.ascx" title="SecureGroupProperties" type="View" />
<Control key="edit_webuser" src="WebsitePanel/WebSitesEditWebUser.ascx" title="SecureUserProperties" type="View" />
<Control key="add_domain" src="WebsitePanel/DomainsAddDomain.ascx" title="AddDomain" type="View" />
<Control key="edit_htaccessfolder" src="WebsitePanel/WebSitesEditHeliconApeFolder.ascx" title="HeliconApeFolderProperties" type="View" />
<Control key="edit_htaccessfolderauth" src="WebsitePanel/WebSitesEditHeliconApeFolderAuth.ascx" title="HeliconApeFolderAuthProperties" type="View" />
<Control key="edit_htaccessgroup" src="WebsitePanel/WebSitesEditHeliconApeGroup.ascx" title="HeliconApeGroupProperties" type="View" />
<Control key="edit_htaccessuser" src="WebsitePanel/WebSitesEditHeliconApeUser.ascx" title="HeliconApeUserProperties" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="WebSiteIPAddresses">
<Controls>
<Control key="" src="WebsitePanel/WebSitesIPAddresses.ascx" title="WebSitesIPAddresses" type="View" />
<Control key="allocate_addresses" src="WebsitePanel/WebSitesAllocateIPAddresses.ascx" title="WebSitesAllocateIPAddresses" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="LyncPhoneNumbers">
<Controls>
<Control key="" src="WebsitePanel/LyncPhoneNumbers.ascx" title="LyncPhoneNumbers" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="FtpAccounts">
<Controls>
<Control key="" src="WebsitePanel/FtpAccounts.ascx" title="FTPAccounts" type="View" />
<Control key="edit_item" src="WebsitePanel/FtpAccountEditAccount.ascx" title="FTPAccountProperties" type="View" icon="folder_up_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="MailAccounts">
<Controls>
<Control key="" src="WebsitePanel/MailAccounts.ascx" title="MailAccounts" type="View" />
<Control key="add_domain" src="WebsitePanel/DomainsAddDomain.ascx" title="AddNewDomain" type="View" icon="" />
<Control key="edit_item" src="WebsitePanel/MailAccountsEditAccount.ascx" title="MailAccountProperties" type="View" icon="accounting_mail_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="MailForwardings">
<Controls>
<Control key="" src="WebsitePanel/MailForwardings.ascx" title="MailForwardings" type="View" />
<Control key="add_domain" src="WebsitePanel/DomainsAddDomain.ascx" title="AddNewDomain" type="View" />
<Control key="edit_item" src="WebsitePanel/MailForwardingsEditForwarding.ascx" title="MailForwardingProperties" type="View" icon="safe-mail_next_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="MailGroups">
<Controls>
<Control key="" src="WebsitePanel/MailGroups.ascx" title="MailGroups" type="View" />
<Control key="add_domain" src="WebsitePanel/DomainsAddDomain.ascx" title="AddNewDomain" type="View" />
<Control key="edit_item" src="WebsitePanel/MailGroupsEditGroup.ascx" title="MailGroupProperties" type="View" icon="contacts_mail_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="MailLists">
<Controls>
<Control key="" src="WebsitePanel/MailLists.ascx" title="MailLists" type="View" />
<Control key="add_domain" src="WebsitePanel/DomainsAddDomain.ascx" title="AddNewDomain" type="View" />
<Control key="edit_item" src="WebsitePanel/MailListsEditList.ascx" title="MailListProperties" type="View" icon="discussion_group_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="MailDomains">
<Controls>
<Control key="" src="WebsitePanel/MailDomains.ascx" title="MailDomains" type="View" />
<Control key="add_domain" src="WebsitePanel/DomainsAddDomain.ascx" title="AddNewDomain" type="View" />
<Control key="add_pointer" src="WebsitePanel/MailDomainsAddPointer.ascx" title="AddMailDomainPointer" type="View" />
<Control key="edit_item" src="WebsitePanel/MailDomainsEditDomain.ascx" title="MailDomainProperties" type="View" icon="web_mail_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="SqlDatabases">
<Controls>
<Control key="" src="WebsitePanel/SqlDatabases.ascx" title="SQLDatabases" type="View" />
<Control key="backup" src="WebsitePanel/SqlBackupDatabase.ascx" title="BackupSQLDatabase" type="View" icon="database2_save_48.png" />
<Control key="edit_item" src="WebsitePanel/SqlEditDatabase.ascx" title="SQLDatabaseProperties" type="View" icon="database2_48.png" />
<Control key="restore" src="WebsitePanel/SqlRestoreDatabase.ascx" title="RestoreSQLDatabase" type="View" icon="database2_reload_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="SqlUsers">
<Controls>
<Control key="" src="WebsitePanel/SqlUsers.ascx" title="SQLUsers" type="View" />
<Control key="edit_item" src="WebsitePanel/SqlEditUser.ascx" title="SQLUserProperties" type="View" icon="db_user_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="SharePointUsers">
<Controls>
<Control key="" src="WebsitePanel/SharePointUsers.ascx" title="SharePointUsers" type="View" />
<Control key="edit_item" src="WebsitePanel/SharePointUsersEditUser.ascx" title="SharePointUserProperties" type="View" icon="user_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="SharePointGroups">
<Controls>
<Control key="" src="WebsitePanel/SharePointGroups.ascx" title="SharePointGroups" type="View" />
<Control key="edit_item" src="WebsitePanel/SharePointGroupsEditGroup.ascx" title="SharePointGroup" type="View" icon="group_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="AdvancedStatistics">
<Controls>
<Control key="" src="WebsitePanel/Statistics.ascx" title="AdvancedStatistics" type="View" />
<Control key="edit_item" src="WebsitePanel/StatisticsEditStatistics.ascx" title="AdvancedStatisticsInstallation" type="View" icon="stadistics_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="UsersWizard">
<Controls>
<Control key="" src="WebsitePanel/UsersCreationWizard.ascx" title="AccountCreationWizard" type="View" />
<Control key="complete" src="WebsitePanel/UsersCreationWizardComplete.ascx" title="AccountCreationComplete" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="WebApplicationsGallery">
<Controls>
<Control key="" src="WebsitePanel/WebApplicationGallery.ascx" title="WebApplicationsGallery" type="View" />
<Control key="complete" src="WebsitePanel/InstallerInstallApplicationComplete.ascx" title="InstallationComplete" type="View" icon="dvd_disc_ok_48.png" />
<Control key="edit" src="WebsitePanel/WebApplicationGalleryInstall.ascx" title="DownloadWebApplication" type="View" icon="dvd_disc_48.png" />
<Control key="editParams" src="WebsitePanel/WebApplicationGalleryParams.ascx" title="WebApplicationParameters" type="View" icon="dvd_disc_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="Login">
<Controls>
<Control key="" src="WebsitePanel/Login.ascx" title="SignIn" type="View" />
<Control key="forgot_password" src="WebsitePanel/LoginForgotPassword.ascx" title="PasswordReminder" type="View" />
<Control key="scpa" src="WebsitePanel/SetupControlPanelAccounts.ascx" title="SetupControlPanelAccounts" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="AuditLog">
<Controls>
<Control key="" src="WebsitePanel/AuditLog.ascx" title="AuditLog" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="ScheduledTasks">
<Controls>
<Control key="" src="WebsitePanel/Schedules.ascx" title="ScheduledTasks" type="View" />
<Control key="edit" src="WebsitePanel/SchedulesEditSchedule.ascx" title="ScheduledTaskProperties" type="View" icon="calendar_month_2_clock_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="OverusageReport">
<Controls>
<Control key="" src="WebsitePanel/OverusageReport.ascx" title="OverusageReport" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="DiskspaceReport">
<Controls>
<Control key="" src="WebsitePanel/DiskspaceReport.ascx" title="DiskSpaceSummary" type="View" />
<Control key="edit" src="WebsitePanel/DiskspaceReportPackageDetails.ascx" title="HostingSpaceDiskSpaceDetails" type="View" icon="stadistics_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="BandwidthReport">
<Controls>
<Control key="" src="WebsitePanel/BandwidthReport.ascx" title="BandwidthReport" type="View" />
<Control key="edit" src="WebsitePanel/BandwidthReportPackageDetails.ascx" title="HostingSpaceBandwidthDetails" type="View" icon="stadistics_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="MyWeb">
<Controls>
<Control key="" src="WebsitePanel/IconsPad.ascx" title="Icons" type="View" />
<Control key="edit" src="WebsitePanel/IconsPadEditIcon.ascx" title="EditIconProperties" type="View" />
<Control key="settings" src="WebsitePanel/IconsPadSettings.ascx" title="IconsPadSettings" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="MyMail">
<Controls>
<Control key="" src="WebsitePanel/IconsPad.ascx" title="Icons" type="View" />
<Control key="edit" src="WebsitePanel/IconsPadEditIcon.ascx" title="EditIconProperties" type="View" />
<Control key="settings" src="WebsitePanel/IconsPadSettings.ascx" title="IconsPadSettings" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="MyDatabases">
<Controls>
<Control key="" src="WebsitePanel/IconsPad.ascx" title="Icons" type="View" />
<Control key="edit" src="WebsitePanel/IconsPadEditIcon.ascx" title="EditIconProperties" type="View" />
<Control key="settings" src="WebsitePanel/IconsPadSettings.ascx" title="IconsPadSettings" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="MyExtras">
<Controls>
<Control key="" src="WebsitePanel/IconsPad.ascx" title="Icons" type="View" />
<Control key="edit" src="WebsitePanel/IconsPadEditIcon.ascx" title="EditIconProperties" type="View" />
<Control key="settings" src="WebsitePanel/IconsPadSettings.ascx" title="IconsPadSettings" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="ODBC">
<Controls>
<Control key="" src="WebsitePanel/OdbcSources.ascx" title="ODBCDSNs" type="View" />
<Control key="edit_item" src="WebsitePanel/OdbcEditSource.ascx" title="ODBCDSNProperties" type="View" icon="export_db_back_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="SharePointSites">
<Controls>
<Control key="" src="WebsitePanel/SharePointSites.ascx" title="SharePointSites" type="View" />
<Control key="backup" src="WebsitePanel/SharePointBackupSite.ascx" title="BackupSharePointSite" type="View" />
<Control key="edit_item" src="WebsitePanel/SharePointEditSite.ascx" title="SharePointSite" type="View" icon="colors_48.png" />
<Control key="install_webparts" src="WebsitePanel/SharePointInstallWebPartPackage.ascx" title="InstallSharePointWebPartsPackage" type="View" />
<Control key="restore" src="WebsitePanel/SharePointRestoreSite.ascx" title="RestoreSharePointSite" type="View" />
<Control key="webparts" src="WebsitePanel/SharePointWebPartPackages.ascx" title="InstalledSharePointWebPartPackages" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="SharedSSL">
<Controls>
<Control key="" src="WebsitePanel/SharedSSLFolders.ascx" title="SharedSSLFolders" type="View" />
<Control key="add" src="WebsitePanel/SharedSSLAddFolder.ascx" title="AddSharedSSLFolder" type="View" icon="world_lock_48.png" />
<Control key="edit_item" src="WebsitePanel/SharedSSLEditFolder.ascx" title="SharedSSLFolderProperties" type="View" icon="world_lock_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="ExchangeServer">
<Controls>
<Control key="" src="WebsitePanel/ExchangeServer/Organizations.ascx" title="Organizations" type="View" />
<Control key="edit_user" src="WebsitePanel/ExchangeServer/OrganizationUserGeneralSettings.ascx" title="OrganizationUserGeneralSettings" type="View" />
<Control key="users" src="WebsitePanel/ExchangeServer/OrganizationUsers.ascx" title="OrganizationUsers" type="View" />
<Control key="create_user" src="WebsitePanel/ExchangeServer/OrganizationCreateUser.ascx" title="CreateUser" type="View" />
<Control key="create_organization" src="WebsitePanel/ExchangeServer/OrganizationCreateOrganization.ascx" title="OrganizationCreateOrganization" type="View" />
<Control key="organization_home" src="WebsitePanel/ExchangeServer/OrganizationHome.ascx" title="OrganizationHome" type="View" />
<Control key="organization_user_setup" src="WebsitePanel/ExchangeServer/OrganizationUserSetupInstructions.ascx" title="OrganizationUserSetupInstructions" type="View" />
<Control key="mailboxes" src="WebsitePanel/ExchangeServer/ExchangeMailboxes.ascx" title="ExchangeMailboxes" type="View" />
<Control key="archivingmailboxes" src="WebsitePanel/ExchangeServer/ExchangeMailboxes.ascx" title="ExchangeArchivingMailboxes" type="View" />
<Control key="create_mailbox" src="WebsitePanel/ExchangeServer/ExchangeCreateMailbox.ascx" title="ExchangeCreateMailbox" type="View" />
<Control key="mailbox_settings" src="WebsitePanel/ExchangeServer/ExchangeMailboxGeneralSettings.ascx" title="ExchangeMailboxGeneralSettings" type="View" />
<Control key="mailbox_mobile" src="WebsitePanel/ExchangeServer/ExchangeMailboxMobile.ascx" title="ExchangeMailboxMobile" type="View" />
<Control key="mailbox_mobile_details" src="WebsitePanel/ExchangeServer/ExchangeMailboxMobileDetails.ascx" title="ExchangeMailboxMobile" type="View" />
<Control key="mailbox_addresses" src="WebsitePanel/ExchangeServer/ExchangeMailboxEmailAddresses.ascx" title="ExchangeMailboxEmailAddresses" type="View" />
<Control key="mailbox_mailflow" src="WebsitePanel/ExchangeServer/ExchangeMailboxMailFlowSettings.ascx" title="ExchangeMailboxMailFlowSettings" type="View" />
<Control key="mailbox_permissions" src="WebsitePanel/ExchangeServer/ExchangeMailboxPermissions.ascx" title="ExchangeMailboxPermissions" type="View" />
<Control key="mailbox_advanced" src="WebsitePanel/ExchangeServer/ExchangeMailboxAdvancedSettings.ascx" title="ExchangeMailboxAdvancedSettings" type="View" />
<Control key="mailbox_setup" src="WebsitePanel/ExchangeServer/ExchangeMailboxSetupInstructions.ascx" title="ExchangeMailboxSetupInstructions" type="View" />
<Control key="contacts" src="WebsitePanel/ExchangeServer/ExchangeContacts.ascx" title="ExchangeContacts" type="View" />
<Control key="create_contact" src="WebsitePanel/ExchangeServer/ExchangeCreateContact.ascx" title="ExchangeCreateContact" type="View" />
<Control key="contact_settings" src="WebsitePanel/ExchangeServer/ExchangeContactGeneralSettings.ascx" title="ExchangeContactGeneralSettings" type="View" />
<Control key="contact_mailflow" src="WebsitePanel/ExchangeServer/ExchangeContactMailFlowSettings.ascx" title="ExchangeContactMailFlowSettings" type="View" />
<Control key="dlists" src="WebsitePanel/ExchangeServer/ExchangeDistributionLists.ascx" title="ExchangeDistributionLists" type="View" />
<Control key="create_dlist" src="WebsitePanel/ExchangeServer/ExchangeCreateDistributionList.ascx" title="ExchangeCreateDistributionList" type="View" />
<Control key="dlist_settings" src="WebsitePanel/ExchangeServer/ExchangeDistributionListGeneralSettings.ascx" title="ExchangeDistributionListGeneralSettings" type="View" />
<Control key="dlist_addresses" src="WebsitePanel/ExchangeServer/ExchangeDistributionListEmailAddresses.ascx" title="ExchangeDistributionListEmailAddresses" type="View" />
<Control key="dlist_mailflow" src="WebsitePanel/ExchangeServer/ExchangeDistributionListMailFlowSettings.ascx" title="ExchangeDistributionListMailFlowSettings" type="View" />
<Control key="dlist_permissions" src="WebsitePanel/ExchangeServer/ExchangeDistributionListPermissions.ascx" title="ExchangeDistributionListMailFlowSettings" type="View" />
<Control key="mailbox_memberof" src="WebsitePanel/ExchangeServer/ExchangeMailboxMemberOf.ascx" title="ExchangeMailboxMemberOf" type="View" />
<Control key="dlist_memberof" src="WebsitePanel/ExchangeServer/ExchangeDistributionListMemberOf.ascx" title="ExchangeDistributionListMemberOf" type="View" />
<Control key="user_memberof" src="WebsitePanel/ExchangeServer/OrganizationUserMemberOf.ascx" title="UserMemberOf" type="View" />
<Control key="disclaimers" src="WebsitePanel/ExchangeServer/ExchangeDisclaimers.ascx" title="ExchangeDisclaimers" type="View" />
<Control key="disclaimers_settings" src="WebsitePanel/ExchangeServer/ExchangeDisclaimerGeneralSettings.ascx" title="ExchangeDisclaimerGeneralSettings" type="View" />
<Control key="public_folders" src="WebsitePanel/ExchangeServer/ExchangePublicFolders.ascx" title="ExchangePublicFolders" type="View" />
<Control key="create_public_folder" src="WebsitePanel/ExchangeServer/ExchangeCreatePublicFolder.ascx" title="ExchangeCreatePublicFolder" type="View" />
<Control key="public_folder_settings" src="WebsitePanel/ExchangeServer/ExchangePublicFolderGeneralSettings.ascx" title="ExchangePublicFolderGeneralSettings" type="View" />
<Control key="public_folder_addresses" src="WebsitePanel/ExchangeServer/ExchangePublicFolderEmailAddresses.ascx" title="ExchangePublicFolderEmailAddresses" type="View" />
<Control key="public_folder_mailflow" src="WebsitePanel/ExchangeServer/ExchangePublicFolderMailFlowSettings.ascx" title="ExchangePublicFolderMailFlowSettings" type="View" />
<Control key="public_folder_mailenable" src="WebsitePanel/ExchangeServer/ExchangePublicFolderMailEnable.ascx" title="ExchangePublicFolderMailEnable" type="View" />
<Control key="domains" src="WebsitePanel/ExchangeServer/ExchangeDomainNames.ascx" title="ExchangeDomainNames" type="View" />
<Control key="org_domains" src="WebsitePanel/ExchangeServer/OrganizationDomainNames.ascx" title="OrganizationDomainNames" type="View" />
<Control key="org_add_domain" src="WebsitePanel/ExchangeServer/OrganizationAddDomainName.ascx" title="OrganizationAddDomainName" type="View" />
<Control key="add_domain" src="WebsitePanel/ExchangeServer/ExchangeAddDomainName.ascx" title="ExchangeAddDomainName" type="View" />
<Control key="domain_records" src="WebsitePanel/ExchangeServer/ExchangeDomainRecords.ascx" title="ExchangeDomainRecords" type="View" />
<Control key="storage_usage" src="WebsitePanel/ExchangeServer/ExchangeStorageUsage.ascx" title="ExchangeStorageUsage" type="View" />
<Control key="storage_usage_details" src="WebsitePanel/ExchangeServer/ExchangeStorageUsageBreakdown.ascx" title="ExchangeStorageUsageBreakdown" type="View" />
<Control key="storage_limits" src="WebsitePanel/ExchangeServer/ExchangeStorageLimits.ascx" title="ExchangeStorageLimits" type="View" />
<Control key="activesync_policy" src="WebsitePanel/ExchangeServer/ExchangeActiveSyncSettings.ascx" title="ExchangeActiveSyncSettings" type="View" />
<Control key="mailboxplans" src="WebsitePanel/ExchangeServer/ExchangeMailboxPlans.ascx" title="ExchangeMailboxPlans" type="View" />
<Control key="retentionpolicy" src="WebsitePanel/ExchangeServer/ExchangeMailboxPlans.ascx" title="ExchangeRetentionPolicy" type="View" />
<Control key="retentionpolicytag" src="WebsitePanel/ExchangeServer/ExchangeRetentionPolicyTag.ascx" title="ExchangeRetentionPolicyTag" type="View" />
<Control key="add_mailboxplan" src="WebsitePanel/ExchangeServer/ExchangeAddMailboxPlan.ascx" title="ExchangeAddMailboxPlan" type="View" />
<Control key="CRMOrganizationDetails" src="WebsitePanel/CRM/CRMOrganizationDetails.ascx" title="ExchangeActiveSyncSettings" type="View" />
<Control key="CRMUsers" src="WebsitePanel/CRM/CRMUsers.ascx" title="CRM Users" type="View" />
<Control key="CRMUserRoles" src="WebsitePanel/CRM/CRMUserRoles.ascx" title="CRM User Roles" type="View" />
<Control key="create_crm_user" src="WebsitePanel/CRM/CreateCRMUser.ascx" title="Create CRM User" type="View" />
<Control key="crm_storage_settings" src="WebsitePanel/CRM/CRMStorageSettings.ascx" title="CRMRestoreSiteCollection" type="View"/>
<Control key="sharepoint_sitecollections" src="WebsitePanel/HostedSharePointSiteCollections.ascx" title="HostedSharePointSiteCollections" type="View" icon="colors_48.png"/>
<Control key="sharepoint_edit_sitecollection" src="WebsitePanel/HostedSharePointEditSiteCollection.ascx" title="HostedSharePointSiteCollection" type="View" icon="colors_48.png" />
<Control key="sharepoint_backup_sitecollection" src="WebsitePanel/HostedSharePointBackupSiteCollection.ascx" title="HostedSharePointBackupSiteCollection" type="View"/>
<Control key="sharepoint_restore_sitecollection" src="WebsitePanel/HostedSharePointRestoreSiteCollection.ascx" title="HostedSharePointRestoreSiteCollection" type="View"/>
<Control key="sharepoint_storage_settings" src="WebsitePanel/HostedSharePointStorageSettings.ascx" title="HostedSharePointRestoreSiteCollection" type="View"/>
<Control key="sharepoint_storage_usage" src="WebsitePanel/HostedSharePointStorageUsage.ascx" title="HostedSharePointRestoreSiteCollection" type="View"/>
<Control key="blackberry_users" src="WebsitePanel/BlackBerry/BlackBerryUsers.ascx" title="BlackBerry Users" type="View" />
<Control key="create_new_blackberry_user" src="WebsitePanel/BlackBerry/CreateNewBlackBerryUser.ascx" title="Create New BlackBerry User" type="View" />
<Control key="edit_blackberry_user" src="WebsitePanel/BlackBerry/EditBlackBerryUser.ascx" title="Edit BlackBerry User" type="View" />
<Control key="ocs_users" src="WebsitePanel/OCS/OCSUsers.ascx" title="OCS Users" type="View" />
<Control key="create_new_ocs_user" src="WebsitePanel/OCS/CreateOCSUser.ascx" title="Create New OCS User" type="View" />
<Control key="edit_ocs_user" src="WebsitePanel/OCS/EditOCSUser.ascx" title="Edit OCS User" type="View" />
<Control key="lync_users" src="WebsitePanel/Lync/LyncUsers.ascx" title="Lync Users" type="View" />
<Control key="create_new_lync_user" src="WebsitePanel/Lync/LyncCreateUser.ascx" title="Create New Lync User" type="View" />
<Control key="lync_userplans" src="WebsitePanel/Lync/LyncUserPlans.ascx" title="LyncUserPlans" type="View" />
<Control key="lync_federationdomains" src="WebsitePanel/Lync/LyncFederationDomains.ascx" title="LyncFederationDomains" type="View" />
<Control key="add_lyncfederation_domain" src="WebsitePanel/Lync/LyncAddFederationDomain.ascx" title="LyncAddFederationDomain" type="View" />
<Control key="add_lyncuserplan" src="WebsitePanel/Lync/LyncAddLyncUserPlan.ascx" title="LyncAddLyncUserPlan" type="View" />
<Control key="edit_lync_user" src="WebsitePanel/Lync/LyncEditUser.ascx" title="Edit Lync User" type="View" />
<Control key="secur_groups" src="WebsitePanel/ExchangeServer/OrganizationSecurityGroups.ascx" title="OrganizationSecurityGroups" type="View" />
<Control key="create_secur_group" src="WebsitePanel/ExchangeServer/OrganizationCreateSecurityGroup.ascx" title="OrganizationSecurityGroup" type="View" />
<Control key="secur_group_settings" src="WebsitePanel/ExchangeServer/OrganizationSecurityGroupGeneralSettings.ascx" title="OrganizationSecurityGroup" type="View" />
<Control key="secur_group_memberof" src="WebsitePanel/ExchangeServer/OrganizationSecurityGroupMemberOf.ascx" title="OrganizationSecurityGroupMemberOf" type="View" />
<Control key="enterprisestorage_folders" src="WebsitePanel/ExchangeServer/EnterpriseStorageFolders.ascx" title="Enterprise Storage Folders" type="View" />
<Control key="create_enterprisestorage_folder" src="WebsitePanel/ExchangeServer/EnterpriseStorageCreateFolder.ascx" title="Create New ES Folder" type="View" />
<Control key="enterprisestorage_folder_settings" src="WebsitePanel/ExchangeServer/EnterpriseStorageFolderGeneralSettings.ascx" title="Edit ES Folder" type="View" />
<Control key="enterprisestorage_drive_maps" src="WebsitePanel/ExchangeServer/EnterpriseStorageDriveMaps.ascx" title="Enterprise Storage Drive Maps" type="View" />
<Control key="create_enterprisestorage_drive_map" src="WebsitePanel/ExchangeServer/EnterpriseStorageCreateDriveMap.ascx" title="Create New ES Drive Map" type="View" />
<Control key="lync_phonenumbers" src="WebsitePanel/Lync/LyncPhoneNumbers.ascx" title="LyncPhoneNumbers" type="View" />
<Control key="allocate_phonenumbers" src="WebsitePanel/Lync/LyncAllocatePhoneNumbers.ascx" title="LyncPhoneNumbers" type="View" />
<Control key="rds_servers" src="WebsitePanel/RDS/AssignedRDSServers.ascx" title="RDSServers" type="View" />
<Control key="rds_add_server" src="WebsitePanel/RDS/AddRDSServer.ascx" title="AddRDSServer" type="View" />
<Control key="rds_collections" src="WebsitePanel/RDS/RDSCollections.ascx" title="RDSCollections" type="View" />
<Control key="rds_create_collection" src="WebsitePanel/RDS/RDSCreateCollection.ascx" title="RDSCreateCollection" type="View" />
<Control key="rds_collection_edit_apps" src="WebsitePanel/RDS/RDSEditCollectionApps.ascx" title="RDSEditCollectionApps" type="View" />
<Control key="rds_collection_edit_users" src="WebsitePanel/RDS/RDSEditCollectionUsers.ascx" title="RDSEditCollectionUsers" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="VPS">
<Controls>
<Control key="" src="WebsitePanel/VPS/VdcHome.ascx" title="VdcHome" type="View" />
<Control key="vdc_create_server" src="WebsitePanel/VPS/VdcCreateServer.ascx" title="VdcCreateServer" type="View" />
<Control key="vdc_import_server" src="WebsitePanel/VPS/VdcImportServer.ascx" title="VdcImportServer" type="View" />
<Control key="vdc_external_network" src="WebsitePanel/VPS/VdcExternalNetwork.ascx" title="VdcExternalNetwork" type="View" />
<Control key="vdc_management_network" src="WebsitePanel/VPS/VdcManagementNetwork.ascx" title="VdcManagementNetwork" type="View" />
<Control key="vdc_allocate_external_ip" src="WebsitePanel/VPS/VdcAddExternalAddress.ascx" title="VdcAddExternalAddress" type="View" />
<Control key="vdc_private_network" src="WebsitePanel/VPS/VdcPrivateNetwork.ascx" title="VdcPrivateNetwork" type="View" />
<Control key="vdc_permissions" src="WebsitePanel/VPS/VdcPermissions.ascx" title="VdcPermissions" type="View" />
<Control key="vdc_audit_log" src="WebsitePanel/VPS/VdcAuditLog.ascx" title="VdcAuditLog" type="View" />
<Control key="vps_general" src="WebsitePanel/VPS/VpsDetailsGeneral.ascx" title="VpsDetailsGeneral" type="View" />
<Control key="vps_config" src="WebsitePanel/VPS/VpsDetailsConfiguration.ascx" title="VpsDetailsConfiguration" type="View" />
<Control key="vps_edit_config" src="WebsitePanel/VPS/VpsDetailsEditConfiguration.ascx" title="VpsDetailsEditConfiguration" type="View" />
<Control key="vps_dvd" src="WebsitePanel/VPS/VpsDetailsDvd.ascx" title="VpsDetailsDvd" type="View" />
<Control key="vps_insert_dvd" src="WebsitePanel/VPS/VpsDetailsInsertDvd.ascx" title="VpsDetailsInsertDvd" type="View" />
<Control key="vps_snapshots" src="WebsitePanel/VPS/VpsDetailsSnapshots.ascx" title="VpsDetailsSnapshots" type="View" />
<Control key="vps_network" src="WebsitePanel/VPS/VpsDetailsNetwork.ascx" title="VpsDetailsNetwork" type="View" />
<Control key="vps_add_external_ip" src="WebsitePanel/VPS/VpsDetailsAddExternalAddress.ascx" title="VpsDetailsAddExternalAddress" type="View" />
<Control key="vps_add_private_ip" src="WebsitePanel/VPS/VpsDetailsAddPrivateAddress.ascx" title="VpsDetailsAddPrivateAddress" type="View" />
<Control key="vps_permissions" src="WebsitePanel/VPS/VpsDetailsPermissions.ascx" title="VpsDetailsNetworking" type="View" />
<Control key="vps_tools" src="WebsitePanel/VPS/VpsDetailsTools.ascx" title="VpsDetailsTools" type="View" />
<Control key="vps_audit_log" src="WebsitePanel/VPS/VpsDetailsAuditLog.ascx" title="VpsDetailsAuditLog" type="View" />
<Control key="vps_help" src="WebsitePanel/VPS/VpsDetailsHelp.ascx" title="VpsDetailsHelp" type="View" />
<Control key="vps_tools_delete" src="WebsitePanel/VPS/VpsToolsDeleteServer.ascx" title="VpsToolsDeleteServer" type="View" />
<Control key="vps_tools_move" src="WebsitePanel/VPS/VpsMoveServer.ascx" title="VpsMoveServer" type="View" />
<Control key="vps_tools_reinstall" src="WebsitePanel/VPS/VpsToolsReinstallServer.ascx" title="VpsToolsReinstallServer" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="VPSForPC">
<Controls>
<Control key="" src="WebsitePanel/VPSForPC/VdcHome.ascx" title="VdcHome" type="View" />
<Control key="vdc_create_server" src="WebsitePanel/VPSForPC/VdcCreateServer.ascx" title="VdcCreateServer" type="View" />
<Control key="vdc_import_server" src="WebsitePanel/VPSForPC/VdcImportServer.ascx" title="VdcImportServer" type="View" />
<Control key="vdc_FastCreate_server" src="WebsitePanel/VPSForPC/VdcFastCreateServer.ascx" title="VdcFastCreateServer" type="View" />
<Control key="vdc_external_network" src="WebsitePanel/VPSForPC/VdcExternalNetwork.ascx" title="VdcExternalNetwork" type="View" />
<Control key="vdc_management_network" src="WebsitePanel/VPSForPC/VdcManagementNetwork.ascx" title="VdcManagementNetwork" type="View" />
<Control key="vdc_allocate_external_ip" src="WebsitePanel/VPSForPC/VdcAddExternalAddress.ascx" title="VdcAddExternalAddress" type="View" />
<Control key="vdc_private_network" src="WebsitePanel/VPSForPC/VdcPrivateNetwork.ascx" title="VdcPrivateNetwork" type="View" />
<Control key="vdc_permissions" src="WebsitePanel/VPSForPC/VdcPermissions.ascx" title="VdcPermissions" type="View" />
<Control key="vdc_audit_log" src="WebsitePanel/VPSForPC/VdcAuditLog.ascx" title="VdcAuditLog" type="View" />
<Control key="vdc_account_vlan_network" src="WebsitePanel/VPSForPC/VdcAccountVLanNetwork.ascx" title="VdcAccountVLanNetwork" type="View" />
<Control key="vdc_account_vLan_add" src="WebsitePanel/VPSForPC/VdcAccountVLanAdd.ascx" title="VdcAccountVLanAdd" type="View" />
<Control key="vps_general" src="WebsitePanel/VPSForPC/VpsDetailsGeneral.ascx" title="VpsDetailsGeneral" type="View" />
<Control key="vps_config" src="WebsitePanel/VPSForPC/VpsDetailsConfiguration.ascx" title="VpsDetailsConfiguration" type="View" />
<Control key="vps_edit_config" src="WebsitePanel/VPSForPC/VpsDetailsEditConfiguration.ascx" title="VpsDetailsEditConfiguration" type="View" />
<Control key="vps_dvd" src="WebsitePanel/VPSForPC/VpsDetailsDvd.ascx" title="VpsDetailsDvd" type="View" />
<Control key="vps_insert_dvd" src="WebsitePanel/VPSForPC/VpsDetailsInsertDvd.ascx" title="VpsDetailsInsertDvd" type="View" />
<Control key="vps_snapshots" src="WebsitePanel/VPSForPC/VpsDetailsSnapshots.ascx" title="VpsDetailsSnapshots" type="View" />
<Control key="vps_network" src="WebsitePanel/VPSForPC/VpsDetailsNetwork.ascx" title="VpsDetailsNetwork" type="View" />
<Control key="vps_add_external_ip" src="WebsitePanel/VPSForPC/VpsDetailsAddExternalAddress.ascx" title="VpsDetailsAddExternalAddress" type="View" />
<Control key="vps_add_private_ip" src="WebsitePanel/VPSForPC/VpsDetailsAddPrivateAddress.ascx" title="VpsDetailsAddPrivateAddress" type="View" />
<Control key="vps_permissions" src="WebsitePanel/VPSForPC/VpsDetailsPermissions.ascx" title="VpsDetailsNetworking" type="View" />
<Control key="vps_tools" src="WebsitePanel/VPSForPC/VpsDetailsTools.ascx" title="VpsDetailsTools" type="View" />
<Control key="vps_audit_log" src="WebsitePanel/VPSForPC/VpsDetailsAuditLog.ascx" title="VpsDetailsAuditLog" type="View" />
<Control key="vps_help" src="WebsitePanel/VPSForPC/VpsDetailsHelp.ascx" title="VpsDetailsHelp" type="View" />
<Control key="vps_tools_delete" src="WebsitePanel/VPSForPC/VpsToolsDeleteServer.ascx" title="VpsToolsDeleteServer" type="View" />
<Control key="vps_tools_move" src="WebsitePanel/VPSForPC/VpsMoveServer.ascx" title="VpsMoveServer" type="View" />
<Control key="vps_tools_reinstall" src="WebsitePanel/VPSForPC/VpsToolsReinstallServer.ascx" title="VpsToolsReinstallServer" type="View" />
<Control key="vps_events_log" src="WebsitePanel/VPSForPC/VpsEventsLog.ascx" title="VpsEventsLog" type="View" />
<Control key="vps_alerts_log" src="WebsitePanel/VPSForPC/VpsAlertsLog.ascx" title="VpsAlertsLog" type="View" />
<Control key="vps_monitoring" src="WebsitePanel/VPSForPC/VpsMonitoring.ascx" title="VpsMonitoring" type="View" />
<Control key="vps_checkpoints" src="WebsitePanel/VPSForPC/VpsCheckPoints.ascx" title="VpsCheckPoints" type="View" />
</Controls>
</ModuleDefinition>
<!-- CO Chnages-->
<ModuleDefinition id="ApplyEnableHardQuotaFeature">
<Controls>
<Control key="" src="WebsitePanel/ApplyEnableHardQuotaFeature.ascx" title="ApplyEnableHardQuotaFeature" type="View" icon="calendar_month_2_clock_48.png" />
</Controls>
</ModuleDefinition>
<!--END-->
<!-- Hosted Organization -->
<ModuleDefinition id="OrganizationMenu">
<Controls>
<Control key="" src="WebsitePanel/OrganizationMenu.ascx" title="OrganizationMenu" type="View" />
</Controls>
</ModuleDefinition>
</ModuleDefinitions>

View file

@ -0,0 +1,774 @@
<?xml version="1.0" encoding="utf-8"?>
<Pages>
<include file="ModulesData.config" />
<Page name="Login" roles="?" skin="Login.ascx" adminskin="Login.ascx" hidden="True">
<Content id="ContentPane">
<Module moduleDefinitionID="Login" title="SignIn" container="Login.ascx" />
</Content>
</Page>
<Page name="LoggedUserDetails" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True" skin="Edit.ascx">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="LoggedUserDetails" title="LoggedUserDetails" icon="user_write_48.png" container="Edit.ascx" />
</Content>
</Page>
<Page name="SearchUsers" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True" skin="Browse1.ascx">
<Content id="ContentPane">
<Module moduleDefinitionID="SearchUsers" title="SearchUsers" icon="user_zoom_48.png" container="Edit.ascx" />
</Content>
</Page>
<Page name="SearchSpaces" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True" skin="Browse1.ascx">
<Content id="ContentPane">
<Module moduleDefinitionID="SearchSpaces" title="SearchSpaces" icon="sphere_zoom_48.png" container="Edit.ascx" />
</Content>
</Page>
<Page name="Home" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" skin="Browse3.ascx" align="right">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="UserCustomersSummary" title="UserCustomersSummary" container="Browse.ascx" icon="group_48.png"/>
<Module moduleDefinitionID="UserSpaces" title="UserSpaces" container="Browse.ascx" viewRoles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" icon="sphere_48.png">
<ModuleData ref="SpaceIcons"/>
</Module>
<Module moduleDefinitionID="UserNotes" title="UserNotes" container="Browse.ascx" viewRoles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk" icon="notes_48.png" />
</Content>
<Content id="RightPane">
<Module moduleDefinitionID="UserDetails" title="UserDetails" container="Clear.ascx" />
<Module moduleDefinitionID="UserResellerSettings" title="UserResellerSettings" container="Clear.ascx" viewRoles="Administrator,Reseller" />
</Content>
</Page>
<!-- User Account Menu Pages -->
<Page name="UserCustomers" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="UserCustomers" title="UserCustomers" icon="group_48.png" />
</Content>
</Page>
<Page name="UserSpaces" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx" >
<ModuleData ref="UserMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="UserSpaces" title="UserSpaces" icon="sphere_48.png" readOnlyRoles="PlatformHelpdesk,ResellerHelpdesk" />
</Content>
</Page>
<Page name="UserPeers" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="UserPeers" title="UserPeers" icon="motion_blur_48.png" readOnlyRoles="PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk"/>
</Content>
</Page>
<Page name="HostingPlans" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="HostingPlans" title="HostingPlans" icon="inventory_48.png" readOnlyRoles="PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk"/>
</Content>
</Page>
<Page name="HostingAddons" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="HostingAddons" title="HostingAddons" icon="inventory_add_48.png" readOnlyRoles="PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk"/>
</Content>
</Page>
<Page name="UserTasks" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="Tasks" title="Tasks" icon="hourglass_48.png" readOnlyRoles="PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk"/>
</Content>
</Page>
<Page name="AuditLog" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="AuditLog" title="AuditLog" icon="record_48.png" />
</Content>
</Page>
<!-- Space Home Page -->
<Page name="SpaceHome" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True" skin="Browse3.ascx">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
<Module moduleDefinitionID="SpaceMenu" title="SpaceMenu" container="Clear.ascx">
<ModuleData ref="SpaceMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="SpaceQuotas" title="SpaceQuotas" container="Browse.ascx" icon="stadistics_48.png" />
<Module moduleDefinitionID="SpaceNestedSpacesSummary" title="SpaceNestedSpacesSummary" container="Browse.ascx" viewRoles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk" icon="sphere_down_48.png" />
<Module moduleDefinitionID="SpaceNotes" title="SpaceNotes" container="Browse.ascx" viewRoles="Administrator,Reseller" icon="notes_48.png" />
</Content>
<Content id="RightPane">
<Module moduleDefinitionID="SpaceDetails" title="SpaceDetails" container="Clear.ascx" />
<Module moduleDefinitionID="SpaceSettings" title="SpaceSettings" container="Clear.ascx" viewRoles="Administrator,Reseller"/>
<Module moduleDefinitionID="SpaceTools" title="SpaceTools" container="Clear.ascx" />
</Content>
</Page>
<!-- Nested Spaces Page -->
<Page name="NestedSpaces" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="SpaceMenu" title="SpaceMenu" container="Clear.ascx">
<ModuleData ref="SpaceMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="NestedSpaces" title="NestedSpaces" icon="sphere_down_48.png" />
</Content>
</Page>
<Page name="SpaceOrganizationHostedSharePoint" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="HostedSolutionMenu" title="HostedSolutionMenu" container="Clear.ascx">
<ModuleData ref="HostedSolutionMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="HostedSharePointSiteCollections" title="HostedSharePointSiteCollections" icon="colors_48.png" />
</Content>
</Page>
<Page name="SpaceDomains" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
<Module moduleDefinitionID="SpaceMenu" title="SpaceMenu" container="Clear.ascx">
<ModuleData ref="SpaceMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="Domains" title="Domains" icon="world_48.png" readOnlyRoles="PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk"/>
</Content>
</Page>
<Page name="SpaceWeb" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="SpaceMenu" title="SpaceMenu" container="Clear.ascx">
<ModuleData ref="SpaceMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="WebSites" title="WebSites" icon="location_48.png" />
</Content>
</Page>
<Page name="SpaceWebSites" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
<Module moduleDefinitionID="SpaceMenu" title="SpaceMenu" container="Clear.ascx">
<ModuleData ref="SpaceMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="WebSites" title="WebSites" icon="location_48.png" readOnlyRoles="PlatformCSR,ResellerCSR"/>
</Content>
</Page>
<Page name="SpaceWebIPAddresses" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
<Module moduleDefinitionID="SpaceMenu" title="SpaceMenu" container="Clear.ascx">
<ModuleData ref="SpaceMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="WebSiteIPAddresses" title="WebSiteIPAddresses" icon="adress_48.png" />
</Content>
</Page>
<Page name="LyncPhoneNumbers" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
<Module moduleDefinitionID="SpaceMenu" title="SpaceMenu" container="Clear.ascx">
<ModuleData ref="SpaceMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="LyncPhoneNumbers" title="LyncPhoneNumbers" icon="adress_48.png" />
</Content>
</Page>
<Page name="SpaceFtpAccounts" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
<Module moduleDefinitionID="SpaceMenu" title="SpaceMenu" container="Clear.ascx">
<ModuleData ref="SpaceMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="FtpAccounts" title="FtpAccounts" icon="folder_up_48.png" />
</Content>
</Page>
<Page name="SpaceMail" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True"/>
<Page name="SpaceMailAccounts" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
<Module moduleDefinitionID="SpaceMenu" title="SpaceMenu" container="Clear.ascx">
<ModuleData ref="SpaceMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="MailAccounts" title="MailAccounts" icon="accounting_mail_48.png" />
</Content>
</Page>
<Page name="SpaceMailForwardings" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
<Module moduleDefinitionID="SpaceMenu" title="SpaceMenu" container="Clear.ascx">
<ModuleData ref="SpaceMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="MailForwardings" title="MailForwardings" icon="safe-mail_next_48.png" />
</Content>
</Page>
<Page name="SpaceMailGroups" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
<Module moduleDefinitionID="SpaceMenu" title="SpaceMenu" container="Clear.ascx">
<ModuleData ref="SpaceMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="MailGroups" title="MailGroups" icon="contacts_mail_48.png" />
</Content>
</Page>
<Page name="SpaceMailLists" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
<Module moduleDefinitionID="SpaceMenu" title="SpaceMenu" container="Clear.ascx">
<ModuleData ref="SpaceMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="MailLists" title="MailLists" icon="discussion_group_48.png" />
</Content>
</Page>
<Page name="SpaceMailDomains" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
<Module moduleDefinitionID="SpaceMenu" title="SpaceMenu" container="Clear.ascx">
<ModuleData ref="SpaceMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="MailDomains" title="MailDomains" icon="web_mail_48.png" />
</Content>
</Page>
<Page name="SpaceDatabases" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True"/>
<Page name="SpaceMsSql2000" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
<Module moduleDefinitionID="SpaceMenu" title="SpaceMenu" container="Clear.ascx">
<ModuleData ref="SpaceMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="SqlDatabases" title="Sql2000Databases" icon="mssql_48.png" readOnlyRoles="PlatformCSR,ResellerCSR">
<Settings>
<Add name="GroupName" value="MsSQL2000" />
</Settings>
</Module>
<Module moduleDefinitionID="SqlUsers" title="Sql2000Users" icon="db_user_48.png" readOnlyRoles="PlatformCSR,ResellerCSR">
<Settings>
<Add name="GroupName" value="MsSQL2000" />
</Settings>
</Module>
</Content>
</Page>
<Page name="SpaceMsSql2005" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
<Module moduleDefinitionID="SpaceMenu" title="SpaceMenu" container="Clear.ascx">
<ModuleData ref="SpaceMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="SqlDatabases" title="Sql2005Databases" icon="mssql_48.png" readOnlyRoles="PlatformCSR,ResellerCSR">
<Settings>
<Add name="GroupName" value="MsSQL2005" />
</Settings>
</Module>
<Module moduleDefinitionID="SqlUsers" title="Sql2005Users" icon="db_user_48.png" readOnlyRoles="PlatformCSR,ResellerCSR">
<Settings>
<Add name="GroupName" value="MsSQL2005" />
</Settings>
</Module>
</Content>
</Page>
<Page name="SpaceMsSql2008" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
<Module moduleDefinitionID="SpaceMenu" title="SpaceMenu" container="Clear.ascx">
<ModuleData ref="SpaceMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="SqlDatabases" title="Sql2008Databases" icon="mssql_48.png" readOnlyRoles="PlatformCSR,ResellerCSR">
<Settings>
<Add name="GroupName" value="MsSQL2008" />
</Settings>
</Module>
<Module moduleDefinitionID="SqlUsers" title="Sql2008Users" icon="db_user_48.png" readOnlyRoles="PlatformCSR,ResellerCSR">
<Settings>
<Add name="GroupName" value="MsSQL2008" />
</Settings>
</Module>
</Content>
</Page>
<Page name="SpaceMsSql2012" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
<Module moduleDefinitionID="SpaceMenu" title="SpaceMenu" container="Clear.ascx">
<ModuleData ref="SpaceMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="SqlDatabases" title="Sql2012Databases" icon="mssql_48.png" readOnlyRoles="PlatformCSR,ResellerCSR">
<Settings>
<Add name="GroupName" value="MsSQL2012" />
</Settings>
</Module>
<Module moduleDefinitionID="SqlUsers" title="Sql2012Users" icon="db_user_48.png" readOnlyRoles="PlatformCSR,ResellerCSR">
<Settings>
<Add name="GroupName" value="MsSQL2012" />
</Settings>
</Module>
</Content>
</Page>
<Page name="SpaceMsSql2014" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
<Module moduleDefinitionID="SpaceMenu" title="SpaceMenu" container="Clear.ascx">
<ModuleData ref="SpaceMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="SqlDatabases" title="Sql2014Databases" icon="mssql_48.png" readOnlyRoles="PlatformCSR,ResellerCSR">
<Settings>
<Add name="GroupName" value="MsSQL2014" />
</Settings>
</Module>
<Module moduleDefinitionID="SqlUsers" title="Sql2014Users" icon="db_user_48.png" readOnlyRoles="PlatformCSR,ResellerCSR">
<Settings>
<Add name="GroupName" value="MsSQL2014" />
</Settings>
</Module>
</Content>
</Page>
<Page name="SpaceMySql4" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
<Module moduleDefinitionID="SpaceMenu" title="SpaceMenu" container="Clear.ascx">
<ModuleData ref="SpaceMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="SqlDatabases" title="MySql4Databases" icon="mysql_48.png" readOnlyRoles="PlatformCSR,ResellerCSR">
<Settings>
<Add name="GroupName" value="MySQL4" />
</Settings>
</Module>
<Module moduleDefinitionID="SqlUsers" title="MySql4Users" icon="db_user_48.png" readOnlyRoles="PlatformCSR,ResellerCSR">
<Settings>
<Add name="GroupName" value="MySQL4" />
</Settings>
</Module>
</Content>
</Page>
<Page name="SpaceMySql5" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
<Module moduleDefinitionID="SpaceMenu" title="SpaceMenu" container="Clear.ascx">
<ModuleData ref="SpaceMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="SqlDatabases" title="MySql5Databases" icon="mysql_48.png" readOnlyRoles="PlatformCSR,ResellerCSR">
<Settings>
<Add name="GroupName" value="MySQL5" />
</Settings>
</Module>
<Module moduleDefinitionID="SqlUsers" title="MySql5Users" icon="db_user_48.png" readOnlyRoles="PlatformCSR,ResellerCSR">
<Settings>
<Add name="GroupName" value="MySQL5" />
</Settings>
</Module>
</Content>
</Page>
<Page name="SpaceSharedSSL" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
<Module moduleDefinitionID="SpaceMenu" title="SpaceMenu" container="Clear.ascx">
<ModuleData ref="SpaceMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="SharedSSL" title="SharedSSL" icon="world_lock_48.png" readOnlyRoles="PlatformCSR,ResellerCSR"/>
</Content>
</Page>
<Page name="SpaceAdvancedStatistics" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
<Module moduleDefinitionID="SpaceMenu" title="SpaceMenu" container="Clear.ascx">
<ModuleData ref="SpaceMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="AdvancedStatistics" title="AdvancedStatistics" icon="stadistics_48.png" readOnlyRoles="PlatformCSR,ResellerCSR"/>
</Content>
</Page>
<Page name="SpaceOdbc" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
<Module moduleDefinitionID="SpaceMenu" title="SpaceMenu" container="Clear.ascx">
<ModuleData ref="SpaceMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="ODBC" title="ODBC" icon="export_db_back_48.png" readOnlyRoles="PlatformCSR,ResellerCSR"/>
</Content>
</Page>
<Page name="SpaceScheduledTasks" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
<Module moduleDefinitionID="SpaceMenu" title="SpaceMenu" container="Clear.ascx">
<ModuleData ref="SpaceMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="ScheduledTasks" title="ScheduledTasks" icon="calendar_month_2_clock_48.png" readOnlyRoles="PlatformCSR,ResellerCSR"/>
</Content>
</Page>
<Page name="SpaceFileManager" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
<Module moduleDefinitionID="SpaceMenu" title="SpaceMenu" container="Clear.ascx">
<ModuleData ref="SpaceMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="FileManager" title="FileManager" icon="cabinet_48.png" readOnlyRoles="PlatformCSR,ResellerCSR"/>
</Content>
</Page>
<Page name="SpaceWebApplicationsGallery" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
<Module moduleDefinitionID="SpaceMenu" title="SpaceMenu" container="Clear.ascx">
<ModuleData ref="SpaceMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="WebApplicationsGallery" title="WebApplicationsGallery" container="Browse.ascx" icon="dvd_disc_48.png" readOnlyRoles="PlatformCSR,ResellerCSR"/>
</Content>
</Page>
<Page name="SpaceSharePoint" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True"/>
<Page name="SpaceSharePointSites" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
<Module moduleDefinitionID="HostedSolutionMenu" title="HostedSolutionMenu" container="Clear.ascx">
<ModuleData ref="SpaceMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="SharePointSites" title="SharePointSites" icon="colors_48.png" readOnlyRoles="PlatformCSR,ResellerCSR"/>
</Content>
</Page>
<Page name="SpaceSharePointUsers" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
<Module moduleDefinitionID="SpaceMenu" title="SpaceMenu" container="Clear.ascx">
<ModuleData ref="SpaceMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="SharePointUsers" title="SharePointUsers" icon="user_48.png" readOnlyRoles="PlatformCSR,ResellerCSR"/>
<Module moduleDefinitionID="SharePointGroups" title="SharePointGroups" icon="group_48.png" readOnlyRoles="PlatformCSR,ResellerCSR"/>
</Content>
</Page>
<Page name="Backup" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<!-- Do not remove this stub page -->
</Page>
<Page name="SpaceExchangeServer" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True" skin="Exchange.ascx" adminskin="Exchange.ascx">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
<Module moduleDefinitionID="SpaceMenu" title="SpaceMenu" container="Clear.ascx">
<ModuleData ref="SpaceMenu"/>
</Module>
<Module moduleDefinitionID="OrganizationMenu" title="OrganizationMenu" container="Clear.ascx">
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="ExchangeServer" title="ExchangeServer" icon="" container="Exchange.ascx" admincontainer="Exchange.ascx" readOnlyRoles="PlatformCSR,ResellerCSR"/>
</Content>
</Page>
<Page name="SpaceVPS" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True" skin="VPS.ascx" adminskin="VPS.ascx">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
<Module moduleDefinitionID="SpaceMenu" title="SpaceMenu" container="Clear.ascx">
<ModuleData ref="SpaceMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="VPS" title="VirtualPrivateServers" icon="" container="VPS.ascx" admincontainer="VPS.ascx" readOnlyRoles="PlatformCSR,ResellerCSR"/>
</Content>
</Page>
<Page name="SpaceVPSForPC" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True" skin="VPS.ascx" adminskin="VPS.ascx">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
<Module moduleDefinitionID="SpaceMenu" title="SpaceMenu" container="Clear.ascx">
<ModuleData ref="SpaceMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="VPSForPC" title="VirtualPrivateServersForPrivateCloud" icon="" container="VPSForPC.ascx" admincontainer="VPSForPC.ascx" readOnlyRoles="PlatformCSR,ResellerCSR"/>
</Content>
</Page>
<Page name="OverusageReport" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk" hidden="True" skin="Browse1.ascx">
<Content id="ContentPane">
<Module moduleDefinitionID="OverusageReport" title="OverusageReport" container="Edit.ascx" icon="table_zoom_48.png" />
</Content>
</Page>
<Page name="Reporting" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" enabled="false" align="left">
<Content id="LeftPane">
<Module moduleDefinitionID="User" title="User" container="Clear.ascx" />
<Module moduleDefinitionID="HostingSpace" title="HostingSpace" container="Clear.ascx" />
</Content>
<Pages>
<Page name="DiskspaceReport" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" skin="Browse1.ascx">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="DiskspaceReport" title="DiskspaceReport" container="Edit.ascx" icon="table_zoom_48.png" />
</Content>
</Page>
<Page name="BandwidthReport" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" skin="Browse1.ascx">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="BandwidthReport" title="BandwidthReport" container="Edit.ascx" icon="table_zoom_48.png" />
</Content>
</Page>
</Pages>
</Page>
<Page name="Configuration" roles="Administrator" enabled="false" align="left">
<Pages>
<Page name="VirtualServers" roles="Administrator" skin="Browse1.ascx">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="VirtualServers" title="VirtualServers" container="Edit.ascx" icon="network_48.png" />
</Content>
</Page>
<Page name="Servers" roles="Administrator" skin="Browse1.ascx">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="Servers" title="Servers" container="Edit.ascx" icon="computer_48.png" />
</Content>
</Page>
<Page name="RDSServers" roles="Administrator" skin="Browse1.ascx">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="RDSServers" title="RDSServers" icon="computer_48.png" container="Edit.ascx"/>
</Content>
</Page>
<Page name="IPAddresses" roles="Administrator" skin="Browse1.ascx">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="IPAddresses" title="IPAddresses" container="Edit.ascx" icon="adress_48.png" />
</Content>
</Page>
<Page name="PhoneNumbers" roles="Administrator" skin="Browse1.ascx">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="PhoneNumbers" title="PhoneNumbers" container="Edit.ascx" icon="adress_48.png" />
</Content>
</Page>
<Page name="SystemSettings" roles="Administrator" skin="Browse1.ascx">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="SystemSettings" title="SystemSettings" container="Edit.ascx" icon="tool_48.png" />
</Content>
</Page>
</Pages>
</Page>
<!-- CO Changes -->
<Page name="SpaceApplyEnableHardQuotaFeature" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
<Module moduleDefinitionID="SpaceMenu" title="SpaceMenu" container="Clear.ascx">
<ModuleData ref="SpaceMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="ApplyEnableHardQuotaFeature" title="ApplyEnableHardQuotaFeature" icon="cabinet_48.png" readOnlyRoles="PlatformCSR,ResellerCSR"/>
</Content>
</Page>
<!--END-->
</Pages>

View file

@ -0,0 +1,43 @@
using System.Web.Optimization;
namespace WebsitePanel.WebDavPortal
{
public class BundleConfig
{
// For more information on bundling, visit http://go.microsoft.com/fwlink/?LinkId=301862
public static void RegisterBundles(BundleCollection bundles)
{
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/jquery-{version}.js",
"~/Scripts/jquery.cookie.js"));
bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
"~/Scripts/jquery.validate*"));
// Use the development version of Modernizr to develop with and learn from. Then, when you're
// ready for production, use the build tool at http://modernizr.com to pick only the tests you need.
bundles.Add(new ScriptBundle("~/bundles/modernizr").Include(
"~/Scripts/modernizr-*"));
bundles.Add(new ScriptBundle("~/bundles/bootstrap").Include(
"~/Scripts/bootstrap.js",
"~/Scripts/respond.js"));
bundles.Add(new ScriptBundle("~/bundles/appScripts").Include(
"~/Scripts/appScripts/recalculateResourseHeight.js",
"~/Scripts/appScripts/uploadingData2.js",
"~/Scripts/appScripts/authentication.js"));
bundles.Add(new ScriptBundle("~/bundles/authScripts").Include(
"~/Scripts/appScripts/authentication.js"));
bundles.Add(new StyleBundle("~/Content/css").Include(
"~/Content/bootstrap.css",
"~/Content/site.css"));
// Set EnableOptimizations to false for debugging. For more information,
// visit http://go.microsoft.com/fwlink/?LinkId=301862
BundleTable.EnableOptimizations = true;
}
}
}

View file

@ -0,0 +1,13 @@
using System.Web;
using System.Web.Mvc;
namespace WebsitePanel.WebDavPortal
{
public class FilterConfig
{
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new HandleErrorAttribute());
}
}
}

View file

@ -0,0 +1,70 @@
using System.Web.Mvc;
using System.Web.Routing;
using WebsitePanel.WebDavPortal.UI.Routes;
namespace WebsitePanel.WebDavPortal
{
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
#region Account
routes.MapRoute(
name: AccountRouteNames.Logout,
url: "account/logout",
defaults: new { controller = "Account", action = "Logout" }
);
routes.MapRoute(
name: AccountRouteNames.Login,
url: "account/login",
defaults: new { controller = "Account", action = "Login" }
);
#endregion
#region Owa
routes.MapRoute(
name: OwaRouteNames.GetFile,
url: "owa/wopi*/files/{accessTokenId}/contents",
defaults: new { controller = "Owa", action = "GetFile" }
);
routes.MapRoute(
name: OwaRouteNames.CheckFileInfo,
url: "owa/wopi*/files/{accessTokenId}",
defaults: new { controller = "Owa", action = "CheckFileInfo" }
);
#endregion
routes.MapRoute(
name: "Office365DocumentRoute",
url: "office365/{org}/{*pathPart}",
defaults: new { controller = "FileSystem", action = "ShowOfficeDocument", pathPart = UrlParameter.Optional }
);
routes.MapRoute(
name: FileSystemRouteNames.ShowAdditionalContent,
url: "show-additional-content/{*path}",
defaults: new { controller = "FileSystem", action = "ShowAdditionalContent", path = UrlParameter.Optional }
);
routes.MapRoute(
name: FileSystemRouteNames.FilePath,
url: "{org}/{*pathPart}",
defaults: new { controller = "FileSystem", action = "ShowContent", pathPart = UrlParameter.Optional }
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}",
defaults: new { controller = "Account", action = "Login" }
);
}
}
}

View file

@ -0,0 +1,34 @@
using Ninject;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;
using WebsitePanel.WebDav.Core;
using WebsitePanel.WebDavPortal.DependencyInjection;
using WebsitePanel.WebDavPortal.Models;
namespace WebsitePanel.WebDavPortal.Constraints
{
public class OrganizationRouteConstraint : IRouteConstraint
{
public bool Match(HttpContextBase httpContext, Route route, string parameterName, RouteValueDictionary values, RouteDirection routeDirection)
{
if (WspContext.User == null)
{
return false;
}
object value;
if (!values.TryGetValue(parameterName, out value))
return false;
var str = value as string;
if (str == null)
return false;
return WspContext.User.OrganizationId == str;
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

View file

@ -0,0 +1,48 @@
body {
padding-top: 50px;
padding-bottom: 20px;
}
/* Set padding to keep content from hitting the edges */
.body-content {
padding-left: 15px;
padding-right: 15px;
}
/* Set width on the form input elements since they're 100% wide by default */
input,
select,
textarea {
max-width: 280px;
}
/* User styles */
.icon-size {
width: 100px;
height: 100px;
}
.element-container {
margin-bottom: 15px;
text-align:center;
}
#errorMessage {
color: red;
font-weight: bold;
padding-top: 5px;
}
#username {
display:inline-block;
}
#logout {
font-size: 1.2em;
color: #9d9d9d;
}
#logout :hover {
color: white;
}

View file

@ -0,0 +1,457 @@
/*!
* Bootstrap v3.3.0 (http://getbootstrap.com)
* Copyright 2011-2014 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
.btn-default,
.btn-primary,
.btn-success,
.btn-info,
.btn-warning,
.btn-danger {
text-shadow: 0 -1px 0 rgba(0, 0, 0, .2);
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);
}
.btn-default:active,
.btn-primary:active,
.btn-success:active,
.btn-info:active,
.btn-warning:active,
.btn-danger:active,
.btn-default.active,
.btn-primary.active,
.btn-success.active,
.btn-info.active,
.btn-warning.active,
.btn-danger.active {
-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
}
.btn-default .badge,
.btn-primary .badge,
.btn-success .badge,
.btn-info .badge,
.btn-warning .badge,
.btn-danger .badge {
text-shadow: none;
}
.btn:active,
.btn.active {
background-image: none;
}
.btn-default {
text-shadow: 0 1px 0 #fff;
background-image: -webkit-linear-gradient(top, #fff 0%, #e0e0e0 100%);
background-image: -o-linear-gradient(top, #fff 0%, #e0e0e0 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#e0e0e0));
background-image: linear-gradient(to bottom, #fff 0%, #e0e0e0 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #dbdbdb;
border-color: #ccc;
}
.btn-default:hover,
.btn-default:focus {
background-color: #e0e0e0;
background-position: 0 -15px;
}
.btn-default:active,
.btn-default.active {
background-color: #e0e0e0;
border-color: #dbdbdb;
}
.btn-default:disabled,
.btn-default[disabled] {
background-color: #e0e0e0;
background-image: none;
}
.btn-primary {
background-image: -webkit-linear-gradient(top, #428bca 0%, #2d6ca2 100%);
background-image: -o-linear-gradient(top, #428bca 0%, #2d6ca2 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#428bca), to(#2d6ca2));
background-image: linear-gradient(to bottom, #428bca 0%, #2d6ca2 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff2d6ca2', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #2b669a;
}
.btn-primary:hover,
.btn-primary:focus {
background-color: #2d6ca2;
background-position: 0 -15px;
}
.btn-primary:active,
.btn-primary.active {
background-color: #2d6ca2;
border-color: #2b669a;
}
.btn-primary:disabled,
.btn-primary[disabled] {
background-color: #2d6ca2;
background-image: none;
}
.btn-success {
background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%);
background-image: -o-linear-gradient(top, #5cb85c 0%, #419641 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#419641));
background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #3e8f3e;
}
.btn-success:hover,
.btn-success:focus {
background-color: #419641;
background-position: 0 -15px;
}
.btn-success:active,
.btn-success.active {
background-color: #419641;
border-color: #3e8f3e;
}
.btn-success:disabled,
.btn-success[disabled] {
background-color: #419641;
background-image: none;
}
.btn-info {
background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);
background-image: -o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#2aabd2));
background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #28a4c9;
}
.btn-info:hover,
.btn-info:focus {
background-color: #2aabd2;
background-position: 0 -15px;
}
.btn-info:active,
.btn-info.active {
background-color: #2aabd2;
border-color: #28a4c9;
}
.btn-info:disabled,
.btn-info[disabled] {
background-color: #2aabd2;
background-image: none;
}
.btn-warning {
background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);
background-image: -o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#eb9316));
background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #e38d13;
}
.btn-warning:hover,
.btn-warning:focus {
background-color: #eb9316;
background-position: 0 -15px;
}
.btn-warning:active,
.btn-warning.active {
background-color: #eb9316;
border-color: #e38d13;
}
.btn-warning:disabled,
.btn-warning[disabled] {
background-color: #eb9316;
background-image: none;
}
.btn-danger {
background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%);
background-image: -o-linear-gradient(top, #d9534f 0%, #c12e2a 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c12e2a));
background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #b92c28;
}
.btn-danger:hover,
.btn-danger:focus {
background-color: #c12e2a;
background-position: 0 -15px;
}
.btn-danger:active,
.btn-danger.active {
background-color: #c12e2a;
border-color: #b92c28;
}
.btn-danger:disabled,
.btn-danger[disabled] {
background-color: #c12e2a;
background-image: none;
}
.thumbnail,
.img-thumbnail {
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
}
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
background-color: #e8e8e8;
background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));
background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
background-repeat: repeat-x;
}
.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover,
.dropdown-menu > .active > a:focus {
background-color: #357ebd;
background-image: -webkit-linear-gradient(top, #428bca 0%, #357ebd 100%);
background-image: -o-linear-gradient(top, #428bca 0%, #357ebd 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#428bca), to(#357ebd));
background-image: linear-gradient(to bottom, #428bca 0%, #357ebd 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0);
background-repeat: repeat-x;
}
.navbar-default {
background-image: -webkit-linear-gradient(top, #fff 0%, #f8f8f8 100%);
background-image: -o-linear-gradient(top, #fff 0%, #f8f8f8 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#f8f8f8));
background-image: linear-gradient(to bottom, #fff 0%, #f8f8f8 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-radius: 4px;
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075);
}
.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .active > a {
background-image: -webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);
background-image: -o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#dbdbdb), to(#e2e2e2));
background-image: linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);
background-repeat: repeat-x;
-webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075);
box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075);
}
.navbar-brand,
.navbar-nav > li > a {
text-shadow: 0 1px 0 rgba(255, 255, 255, .25);
}
.navbar-inverse {
background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222 100%);
background-image: -o-linear-gradient(top, #3c3c3c 0%, #222 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#3c3c3c), to(#222));
background-image: linear-gradient(to bottom, #3c3c3c 0%, #222 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
}
.navbar-inverse .navbar-nav > .open > a,
.navbar-inverse .navbar-nav > .active > a {
background-image: -webkit-linear-gradient(top, #080808 0%, #0f0f0f 100%);
background-image: -o-linear-gradient(top, #080808 0%, #0f0f0f 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#080808), to(#0f0f0f));
background-image: linear-gradient(to bottom, #080808 0%, #0f0f0f 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);
background-repeat: repeat-x;
-webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25);
box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25);
}
.navbar-inverse .navbar-brand,
.navbar-inverse .navbar-nav > li > a {
text-shadow: 0 -1px 0 rgba(0, 0, 0, .25);
}
.navbar-static-top,
.navbar-fixed-top,
.navbar-fixed-bottom {
border-radius: 0;
}
.alert {
text-shadow: 0 1px 0 rgba(255, 255, 255, .2);
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05);
}
.alert-success {
background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
background-image: -o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#c8e5bc));
background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);
background-repeat: repeat-x;
border-color: #b2dba1;
}
.alert-info {
background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
background-image: -o-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#b9def0));
background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);
background-repeat: repeat-x;
border-color: #9acfea;
}
.alert-warning {
background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
background-image: -o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#f8efc0));
background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);
background-repeat: repeat-x;
border-color: #f5e79e;
}
.alert-danger {
background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
background-image: -o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#e7c3c3));
background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);
background-repeat: repeat-x;
border-color: #dca7a7;
}
.progress {
background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
background-image: -o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#ebebeb), to(#f5f5f5));
background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar {
background-image: -webkit-linear-gradient(top, #428bca 0%, #3071a9 100%);
background-image: -o-linear-gradient(top, #428bca 0%, #3071a9 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#428bca), to(#3071a9));
background-image: linear-gradient(to bottom, #428bca 0%, #3071a9 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3071a9', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar-success {
background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%);
background-image: -o-linear-gradient(top, #5cb85c 0%, #449d44 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#449d44));
background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar-info {
background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
background-image: -o-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#31b0d5));
background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar-warning {
background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
background-image: -o-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#ec971f));
background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar-danger {
background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%);
background-image: -o-linear-gradient(top, #d9534f 0%, #c9302c 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c9302c));
background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar-striped {
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
}
.list-group {
border-radius: 4px;
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
}
.list-group-item.active,
.list-group-item.active:hover,
.list-group-item.active:focus {
text-shadow: 0 -1px 0 #3071a9;
background-image: -webkit-linear-gradient(top, #428bca 0%, #3278b3 100%);
background-image: -o-linear-gradient(top, #428bca 0%, #3278b3 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#428bca), to(#3278b3));
background-image: linear-gradient(to bottom, #428bca 0%, #3278b3 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3278b3', GradientType=0);
background-repeat: repeat-x;
border-color: #3278b3;
}
.list-group-item.active .badge,
.list-group-item.active:hover .badge,
.list-group-item.active:focus .badge {
text-shadow: none;
}
.panel {
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
}
.panel-default > .panel-heading {
background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));
background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
background-repeat: repeat-x;
}
.panel-primary > .panel-heading {
background-image: -webkit-linear-gradient(top, #428bca 0%, #357ebd 100%);
background-image: -o-linear-gradient(top, #428bca 0%, #357ebd 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#428bca), to(#357ebd));
background-image: linear-gradient(to bottom, #428bca 0%, #357ebd 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0);
background-repeat: repeat-x;
}
.panel-success > .panel-heading {
background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
background-image: -o-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#d0e9c6));
background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);
background-repeat: repeat-x;
}
.panel-info > .panel-heading {
background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
background-image: -o-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#c4e3f3));
background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);
background-repeat: repeat-x;
}
.panel-warning > .panel-heading {
background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
background-image: -o-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#faf2cc));
background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);
background-repeat: repeat-x;
}
.panel-danger > .panel-heading {
background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
background-image: -o-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#ebcccc));
background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);
background-repeat: repeat-x;
}
.well {
background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
background-image: -o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e8e8), to(#f5f5f5));
background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);
background-repeat: repeat-x;
border-color: #dcdcdc;
-webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1);
box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1);
}
/*# sourceMappingURL=bootstrap-theme.css.map */

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,67 @@
using System.Linq;
using System.Net;
using System.Web.Mvc;
using System.Web.Routing;
using WebsitePanel.WebDav.Core.Config;
using WebsitePanel.WebDav.Core.Security.Authentication;
using WebsitePanel.WebDav.Core.Security.Cryptography;
using WebsitePanel.WebDavPortal.Models;
using WebsitePanel.WebDavPortal.UI.Routes;
using WebsitePanel.WebDav.Core.Interfaces.Security;
using WebsitePanel.WebDav.Core;
namespace WebsitePanel.WebDavPortal.Controllers
{
[AllowAnonymous]
public class AccountController : Controller
{
private readonly ICryptography _cryptography;
private readonly IAuthenticationService _authenticationService;
public AccountController(ICryptography cryptography, IAuthenticationService authenticationService)
{
_cryptography = cryptography;
_authenticationService = authenticationService;
}
[HttpGet]
public ActionResult Login()
{
if (WspContext.User != null && WspContext.User.Identity.IsAuthenticated)
{
return RedirectToRoute(FileSystemRouteNames.FilePath, new { org = WspContext.User.OrganizationId });
}
return View();
}
[HttpPost]
public ActionResult Login(AccountModel model)
{
var user = _authenticationService.LogIn(model.Login, model.Password);
ViewBag.LdapIsAuthentication = user != null;
if (user != null && user.Identity.IsAuthenticated)
{
_authenticationService.CreateAuthenticationTicket(user);
Session[WebDavAppConfigManager.Instance.SessionKeys.WebDavManager] = null;
return RedirectToRoute(FileSystemRouteNames.FilePath, new { org = WspContext.User.OrganizationId });
}
return View(new AccountModel { LdapError = "The user name or password is incorrect" });
}
[HttpGet]
public ActionResult Logout()
{
_authenticationService.LogOut();
Session[WebDavAppConfigManager.Instance.SessionKeys.WebDavManager] = null;
return RedirectToRoute(AccountRouteNames.Login);
}
}
}

View file

@ -0,0 +1,28 @@
using System;
using System.Web.Mvc;
using WebsitePanel.WebDav.Core.Config;
using WebsitePanel.WebDavPortal.Models;
namespace WebsitePanel.WebDavPortal.Controllers
{
public class ErrorController : Controller
{
public ActionResult Index(int statusCode, Exception exception, bool isAjaxRequet)
{
var model = new ErrorModel
{
HttpStatusCode = statusCode,
Message = WebDavAppConfigManager.Instance.HttpErrors[statusCode],
Exception = exception
};
Response.StatusCode = statusCode;
if (!isAjaxRequet)
return View(model);
var errorObject = new { statusCode = model.HttpStatusCode, message = model.Message };
return Json(errorObject, JsonRequestBehavior.AllowGet);
}
}
}

View file

@ -0,0 +1,99 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net.Mime;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;
using WebsitePanel.WebDav.Core;
using WebsitePanel.WebDav.Core.Client;
using WebsitePanel.WebDav.Core.Config;
using WebsitePanel.WebDav.Core.Exceptions;
using WebsitePanel.WebDav.Core.Interfaces.Managers;
using WebsitePanel.WebDav.Core.Interfaces.Security;
using WebsitePanel.WebDav.Core.Security.Cryptography;
using WebsitePanel.WebDavPortal.CustomAttributes;
using WebsitePanel.WebDavPortal.Extensions;
using WebsitePanel.WebDavPortal.Models;
using System.Net;
using WebsitePanel.WebDavPortal.UI.Routes;
namespace WebsitePanel.WebDavPortal.Controllers
{
[ValidateInput(false)]
[LdapAuthorization]
public class FileSystemController : Controller
{
private readonly ICryptography _cryptography;
private readonly IWebDavManager _webdavManager;
private readonly IAuthenticationService _authenticationService;
private readonly IAccessTokenManager _tokenManager;
public FileSystemController(ICryptography cryptography, IWebDavManager webdavManager, IAuthenticationService authenticationService, IAccessTokenManager tokenManager)
{
_cryptography = cryptography;
_webdavManager = webdavManager;
_authenticationService = authenticationService;
_tokenManager = tokenManager;
}
[HttpGet]
public ActionResult ShowContent(string org, string pathPart = "")
{
if (org != WspContext.User.OrganizationId)
{
return new HttpStatusCodeResult(HttpStatusCode.NoContent);
}
string fileName = pathPart.Split('/').Last();
if (_webdavManager.IsFile(pathPart))
{
var fileBytes = _webdavManager.GetFileBytes(pathPart);
return File(fileBytes, MediaTypeNames.Application.Octet, fileName);
}
try
{
IEnumerable<IHierarchyItem> children = _webdavManager.OpenFolder(pathPart).Where(x => !WebDavAppConfigManager.Instance.ElementsRendering.ElementsToIgnore.Contains(x.DisplayName.Trim('/')));
var model = new ModelForWebDav { Items = children.Take(WebDavAppConfigManager.Instance.ElementsRendering.DefaultCount), UrlSuffix = pathPart };
Session[WebDavAppConfigManager.Instance.SessionKeys.ResourseRenderCount] = WebDavAppConfigManager.Instance.ElementsRendering.DefaultCount;
return View(model);
}
catch (UnauthorizedException)
{
throw new HttpException(404, "Not Found");
}
}
public ActionResult ShowOfficeDocument(string org, string pathPart = "")
{
var owaOpener = WebDavAppConfigManager.Instance.OfficeOnline.Single(x => x.Extension == Path.GetExtension(pathPart));
string fileUrl = WebDavAppConfigManager.Instance.WebdavRoot+ org + "/" + pathPart.TrimStart('/');
var accessToken = _tokenManager.CreateToken(WspContext.User, pathPart);
string wopiSrc = Server.UrlDecode(Url.RouteUrl(OwaRouteNames.CheckFileInfo, new { accessTokenId = accessToken.Id }, Request.Url.Scheme));
var uri = string.Format("{0}/{1}?WOPISrc={2}&access_token={3}", WebDavAppConfigManager.Instance.OfficeOnline.Url, owaOpener.OwaOpener, Server.UrlEncode(wopiSrc), Server.UrlEncode(accessToken.AccessToken.ToString("N")));
return View(new OfficeOnlineModel(uri, new Uri(fileUrl).Segments.Last()));
}
[HttpPost]
public ActionResult ShowAdditionalContent(string path = "", int resourseRenderCount = 0)
{
path = path.Replace(WspContext.User.OrganizationId, "").Trim('/');
IEnumerable<IHierarchyItem> children = _webdavManager.OpenFolder(path);
var result = children.Skip(resourseRenderCount).Take(WebDavAppConfigManager.Instance.ElementsRendering.AddElementsCount);
return PartialView("_ResourseCollectionPartial", result);
}
}
}

View file

@ -0,0 +1,86 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Web;
using System.Web.Mvc;
using WebsitePanel.EnterpriseServer.Base.HostedSolution;
using WebsitePanel.WebDav.Core.Interfaces.Managers;
using WebsitePanel.WebDav.Core.Interfaces.Owa;
using WebsitePanel.WebDav.Core.Interfaces.Security;
using WebsitePanel.WebDav.Core.Security.Cryptography;
using WebsitePanel.WebDav.Core.Wsp.Framework;
namespace WebsitePanel.WebDavPortal.Controllers
{
[AllowAnonymous]
public class OwaController : Controller
{
private readonly IWopiServer _wopiServer;
private readonly IWebDavManager _webDavManager;
private readonly IAuthenticationService _authenticationService;
private readonly IAccessTokenManager _tokenManager;
private readonly ICryptography _cryptography;
private WebDavAccessToken _token;
public OwaController(IWopiServer wopiServer, IWebDavManager webDavManager, IAuthenticationService authenticationService, IAccessTokenManager tokenManager, ICryptography cryptography)
{
_wopiServer = wopiServer;
_webDavManager = webDavManager;
_authenticationService = authenticationService;
_tokenManager = tokenManager;
_cryptography = cryptography;
}
public ActionResult CheckFileInfo(int accessTokenId)
{
if (!CheckAccess(accessTokenId))
{
return new HttpStatusCodeResult(HttpStatusCode.NoContent);
}
var fileInfo = _wopiServer.GetCheckFileInfo(_token.FilePath);
return Json(fileInfo, JsonRequestBehavior.AllowGet);
}
public ActionResult GetFile(int accessTokenId)
{
if (!CheckAccess(accessTokenId))
{
return new HttpStatusCodeResult(HttpStatusCode.NoContent);
}
return _wopiServer.GetFile((_token.FilePath));
}
protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
base.OnActionExecuting(filterContext);
if (!string.IsNullOrEmpty(Request["access_token"]))
{
var guid = Guid.Parse((Request["access_token"]));
_tokenManager.ClearExpiredTokens();
_token = _tokenManager.GetToken(guid);
var user = WSP.Services.ExchangeServer.GetAccount(_token.ItemId, _token.AccountId);
_authenticationService.LogIn(user.UserPrincipalName, _cryptography.Decrypt(_token.AuthData));
}
}
private bool CheckAccess(int accessTokenId)
{
if (_token == null || accessTokenId != _token.Id)
{
return false;
}
return true;
}
}
}

View file

@ -0,0 +1,18 @@
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;
using Ninject;
using WebsitePanel.WebDavPortal.DependencyInjection;
using WebsitePanel.WebDavPortal.Models;
using WebsitePanel.WebDavPortal.UI.Routes;
namespace WebsitePanel.WebDavPortal.CustomAttributes
{
public class LdapAuthorizationAttribute : AuthorizeAttribute
{
protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
{
filterContext.Result = new RedirectToRouteResult(AccountRouteNames.Login, null);
}
}
}

View file

@ -0,0 +1,35 @@
using Ninject;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace WebsitePanel.WebDavPortal.DependencyInjection
{
public class NinjectDependecyResolver : IDependencyResolver
{
IKernel kernal;
public NinjectDependecyResolver()
{
kernal = new StandardKernel(new NinjectSettings { AllowNullInjection = true });
AddBindings();
}
public object GetService(Type serviceType)
{
return kernal.TryGet(serviceType);
}
public IEnumerable<object> GetServices(Type serviceType)
{
return kernal.GetAll(serviceType);
}
private void AddBindings()
{
PortalDependencies.Configure(kernal);
}
}
}

View file

@ -0,0 +1,32 @@
using Ninject;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.SessionState;
using WebsitePanel.WebDav.Core.Interfaces.Managers;
using WebsitePanel.WebDav.Core.Interfaces.Owa;
using WebsitePanel.WebDav.Core.Interfaces.Security;
using WebsitePanel.WebDav.Core.Managers;
using WebsitePanel.WebDav.Core.Owa;
using WebsitePanel.WebDav.Core.Security;
using WebsitePanel.WebDav.Core.Security.Authentication;
using WebsitePanel.WebDav.Core.Security.Cryptography;
using WebsitePanel.WebDavPortal.DependencyInjection.Providers;
using WebsitePanel.WebDavPortal.Models;
namespace WebsitePanel.WebDavPortal.DependencyInjection
{
public class PortalDependencies
{
public static void Configure(IKernel kernel)
{
kernel.Bind<HttpSessionState>().ToProvider<HttpSessionStateProvider>();
kernel.Bind<ICryptography>().To<CryptoUtils>();
kernel.Bind<IAuthenticationService>().To<FormsAuthenticationService>();
kernel.Bind<IWebDavManager>().To<WebDavManager>();
kernel.Bind<IAccessTokenManager>().To<AccessTokenManager>();
kernel.Bind<IWopiServer>().To<WopiServer>();
}
}
}

View file

@ -0,0 +1,17 @@
using Ninject.Activation;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.SessionState;
namespace WebsitePanel.WebDavPortal.DependencyInjection.Providers
{
public class HttpSessionStateProvider : Provider<HttpSessionState>
{
protected override HttpSessionState CreateInstance(IContext context)
{
return HttpContext.Current.Session;
}
}
}

View file

@ -0,0 +1,38 @@
using System.Net;
using System.Web.SessionState;
using Ninject;
using Ninject.Activation;
using WebsitePanel.WebDav.Core;
using WebsitePanel.WebDav.Core.Config;
using WebsitePanel.WebDav.Core.Managers;
using WebsitePanel.WebDav.Core.Security.Cryptography;
using WebsitePanel.WebDavPortal.Models;
namespace WebsitePanel.WebDavPortal.DependencyInjection.Providers
{
public class WebDavManagerProvider : Provider<WebDavManager>
{
protected override WebDavManager CreateInstance(IContext context)
{
var session = context.Kernel.Get<HttpSessionState>();
WebDavManager webDavManager = null;
if (session != null)
{
webDavManager = session[WebDavAppConfigManager.Instance.SessionKeys.WebDavManager] as WebDavManager;
if (webDavManager == null)
{
var cryptography = context.Kernel.Get<ICryptography>();
webDavManager = new WebDavManager(cryptography);
session[WebDavAppConfigManager.Instance.SessionKeys.WebDavManager] = webDavManager;
}
}
return webDavManager;
}
}
}

View file

@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
namespace WebsitePanel.WebDavPortal.Extensions
{
public static class DictionaryExtensions
{
public static void AddRange<T>(this ICollection<T> target, IEnumerable<T> source)
{
if (target == null)
throw new ArgumentNullException("target");
if (source == null)
throw new ArgumentNullException("source");
foreach (var element in source)
target.Add(element);
}
}
}

View file

@ -0,0 +1,25 @@
using System;
using System.Web;
namespace WebsitePanel.WebDavPortal.Extensions
{
public static class UriExtensions
{
/// <summary>
/// Adds the specified parameter to the Query String.
/// </summary>
/// <param name="url"></param>
/// <param name="paramName">Name of the parameter to add.</param>
/// <param name="paramValue">Value for the parameter to add.</param>
/// <returns>Url with added parameter.</returns>
public static Uri AddParameter(this Uri url, string paramName, string paramValue)
{
var uriBuilder = new UriBuilder(url);
var query = HttpUtility.ParseQueryString(uriBuilder.Query);
query[paramName] = paramValue;
uriBuilder.Query = query.ToString();
return new Uri(uriBuilder.ToString());
}
}
}

View file

@ -0,0 +1,29 @@
using System.Collections.Generic;
using System.Linq;
using WebsitePanel.WebDav.Core.Config;
using WebsitePanel.WebDavPortal.Extensions;
namespace WebsitePanel.WebDavPortal.FileOperations
{
public class FileOpenerManager
{
private readonly IDictionary<string, FileOpenerType> _operationTypes = new Dictionary<string, FileOpenerType>();
public FileOpenerManager()
{
if (WebDavAppConfigManager.Instance.OfficeOnline.IsEnabled)
_operationTypes.AddRange(WebDavAppConfigManager.Instance.OfficeOnline.ToDictionary(x => x.Extension, y => FileOpenerType.OfficeOnline));
}
public FileOpenerType this[string fileExtension]
{
get
{
FileOpenerType result;
if (_operationTypes.TryGetValue(fileExtension, out result))
return result;
return FileOpenerType.Download;
}
}
}
}

View file

@ -0,0 +1,7 @@
namespace WebsitePanel.WebDavPortal.FileOperations
{
public enum FileOpenerType
{
Download, OfficeOnline
}
}

View file

@ -0,0 +1 @@
<%@ Application Codebehind="Global.asax.cs" Inherits="WebsitePanel.WebDavPortal.MvcApplication" Language="C#" %>

View file

@ -0,0 +1,97 @@
using System;
using System.Threading;
using System.Web;
using System.Web.Mvc;
using System.Web.Optimization;
using System.Web.Routing;
using System.Web.Script.Serialization;
using System.Web.Security;
using WebsitePanel.WebDav.Core.Config;
using WebsitePanel.WebDav.Core.Interfaces.Security;
using WebsitePanel.WebDav.Core.Security.Authentication.Principals;
using WebsitePanel.WebDav.Core.Security.Cryptography;
using WebsitePanel.WebDavPortal.Controllers;
using WebsitePanel.WebDavPortal.DependencyInjection;
using WebsitePanel.WebDavPortal.HttpHandlers;
namespace WebsitePanel.WebDavPortal
{
public class MvcApplication : HttpApplication
{
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
DependencyResolver.SetResolver(new NinjectDependecyResolver());
log4net.Config.XmlConfigurator.Configure();
}
protected void Application_Error(object sender, EventArgs e)
{
Exception lastError = Server.GetLastError();
Server.ClearError();
int statusCode;
if (lastError.GetType() == typeof (HttpException))
statusCode = ((HttpException) lastError).GetHttpCode();
else
statusCode = 500;
var contextWrapper = new HttpContextWrapper(Context);
var routeData = new RouteData();
routeData.Values.Add("controller", "Error");
routeData.Values.Add("action", "Index");
routeData.Values.Add("statusCode", statusCode);
routeData.Values.Add("exception", lastError);
routeData.Values.Add("isAjaxRequet", contextWrapper.Request.IsAjaxRequest());
IController controller = new ErrorController();
var requestContext = new RequestContext(contextWrapper, routeData);
controller.Execute(requestContext);
Response.End();
}
protected void Application_PostAuthenticateRequest(Object sender, EventArgs e)
{
var contextWrapper = new HttpContextWrapper(Context);
HttpCookie authCookie = Request.Cookies[FormsAuthentication.FormsCookieName];
var authService = DependencyResolver.Current.GetService<IAuthenticationService>();
var cryptography = DependencyResolver.Current.GetService<ICryptography>();
if (authCookie != null)
{
FormsAuthenticationTicket authTicket = FormsAuthentication.Decrypt(authCookie.Value);
var serializer = new JavaScriptSerializer();
var principalSerialized = serializer.Deserialize<WspPrincipal>(authTicket.UserData);
authService.LogIn(principalSerialized.Login, cryptography.Decrypt(principalSerialized.EncryptedPassword));
if (!contextWrapper.Request.IsAjaxRequest())
{
SetAuthenticationExpirationTicket();
}
}
}
public static void SetAuthenticationExpirationTicket()
{
var expirationDateTimeInUtc = DateTime.UtcNow.AddMinutes(FormsAuthentication.Timeout.TotalMinutes).AddSeconds(1);
var authenticationExpirationTicketCookie = new HttpCookie(WebDavAppConfigManager.Instance.AuthTimeoutCookieName);
authenticationExpirationTicketCookie.Value = expirationDateTimeInUtc.Subtract(new DateTime(1970, 1, 1)).TotalMilliseconds.ToString("F0");
authenticationExpirationTicketCookie.HttpOnly = false;
authenticationExpirationTicketCookie.Secure = FormsAuthentication.RequireSSL;
HttpContext.Current.Response.Cookies.Add(authenticationExpirationTicketCookie);
}
}
}

View file

@ -0,0 +1,26 @@
using Ninject;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.SessionState;
using System.Web.Hosting;
using WebsitePanel.WebDavPortal.DependencyInjection;
using WebsitePanel.WebDavPortal.Models;
namespace WebsitePanel.WebDavPortal.HttpHandlers
{
public class FileTransferRequestHandler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.WriteFile(context.Request.RawUrl.TrimEnd('?'));
context.Response.End();
}
public bool IsReusable
{
get { return true; }
}
}
}

View file

@ -0,0 +1,20 @@
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using WebsitePanel.Providers.HostedSolution;
namespace WebsitePanel.WebDavPortal.Models
{
public class AccountModel
{
[Required]
[Display(Name = @"Login")]
public string Login { get; set; }
[Required]
[DataType(DataType.Password)]
[Display(Name = @"Password")]
public string Password { get; set; }
public string LdapError { get; set; }
}
}

View file

@ -0,0 +1,60 @@
using System;
using System.DirectoryServices;
using System.Security.Principal;
namespace WebsitePanel.WebDavPortal.Models
{
public class DirectoryIdentity : IIdentity
{
private readonly bool _auth;
private readonly string _path;
public DirectoryIdentity(string userName, string password) : this(null, userName, password)
{
}
public DirectoryIdentity(string path, string userName, string password) : this(new DirectoryEntry(path, userName, password))
{
}
public DirectoryIdentity(DirectoryEntry directoryEntry)
{
try
{
var userName = directoryEntry.Username;
var ds = new DirectorySearcher(directoryEntry);
if (userName.Contains("\\"))
userName = userName.Substring(userName.IndexOf("\\") + 1);
ds.Filter = "samaccountname=" + userName;
ds.PropertiesToLoad.Add("cn");
SearchResult sr = ds.FindOne();
if (sr == null) throw new Exception();
_path = sr.Path;
_auth = true;
}
catch (Exception exception)
{
_auth = false;
}
}
public string AuthenticationType
{
get { return null; }
}
public bool IsAuthenticated
{
get { return _auth; }
}
public string Name
{
get
{
int i = _path.IndexOf('=') + 1, j = _path.IndexOf(',');
return _path.Substring(i, j - i);
}
}
}
}

View file

@ -0,0 +1,11 @@
using System;
namespace WebsitePanel.WebDavPortal.Models
{
public class ErrorModel
{
public int HttpStatusCode { get; set; }
public string Message { get; set; }
public Exception Exception { get; set; }
}
}

View file

@ -0,0 +1,12 @@
using System.Collections.Generic;
using WebsitePanel.WebDav.Core.Client;
namespace WebsitePanel.WebDavPortal.Models
{
public class ModelForWebDav
{
public IEnumerable<IHierarchyItem> Items { get; set; }
public string UrlSuffix { get; set; }
public string Error { get; set; }
}
}

View file

@ -0,0 +1,14 @@
namespace WebsitePanel.WebDavPortal.Models
{
public class OfficeOnlineModel
{
public string Url { get; set; }
public string FileName { get; set; }
public OfficeOnlineModel(string url, string fileName)
{
Url = url;
FileName = fileName;
}
}
}

View file

@ -0,0 +1,151 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Your ASP.NET application</title>
<style>
body {
background: #fff;
color: #505050;
font: 14px 'Segoe UI', tahoma, arial, helvetica, sans-serif;
margin: 20px;
padding: 0;
}
#header {
background: #efefef;
padding: 0;
}
h1 {
font-size: 48px;
font-weight: normal;
margin: 0;
padding: 0 30px;
line-height: 150px;
}
p {
font-size: 20px;
color: #fff;
background: #969696;
padding: 0 30px;
line-height: 50px;
}
#main {
padding: 5px 30px;
}
.section {
width: 21.7%;
float: left;
margin: 0 0 0 4%;
}
.section h2 {
font-size: 13px;
text-transform: uppercase;
margin: 0;
border-bottom: 1px solid silver;
padding-bottom: 12px;
margin-bottom: 8px;
}
.section.first {
margin-left: 0;
}
.section.first h2 {
font-size: 24px;
text-transform: none;
margin-bottom: 25px;
border: none;
}
.section.first li {
border-top: 1px solid silver;
padding: 8px 0;
}
.section.last {
margin-right: 0;
}
ul {
list-style: none;
padding: 0;
margin: 0;
line-height: 20px;
}
li {
padding: 4px 0;
}
a {
color: #267cb2;
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
</style>
</head>
<body>
<div id="header">
<h1>Your ASP.NET application</h1>
<p>Congratulations! You've created a project</p>
</div>
<div id="main">
<div class="section first">
<h2>This application consists of:</h2>
<ul>
<li>Sample pages showing basic nav between Home, About, and Contact</li>
<li>Theming using <a href="http://go.microsoft.com/fwlink/?LinkID=320754">Bootstrap</a></li>
<li><a href="http://go.microsoft.com/fwlink/?LinkID=320755">Authentication</a>, if selected, shows how to register and sign in</li>
<li>ASP.NET features managed using <a href="http://go.microsoft.com/fwlink/?LinkID=320756">NuGet</a></li>
</ul>
</div>
<div class="section">
<h2>Customize app</h2>
<ul>
<li><a href="http://go.microsoft.com/fwlink/?LinkID=320757">Get started with ASP.NET MVC</a></li>
<li><a href="http://go.microsoft.com/fwlink/?LinkID=320758">Change the site's theme</a></li>
<li><a href="http://go.microsoft.com/fwlink/?LinkID=320759">Add more libraries using NuGet</a></li>
<li><a href="http://go.microsoft.com/fwlink/?LinkID=320760">Configure authentication</a></li>
<li><a href="http://go.microsoft.com/fwlink/?LinkID=320761">Customize information about the website users</a></li>
<li><a href="http://go.microsoft.com/fwlink/?LinkID=320762">Get information from social providers</a></li>
<li><a href="http://go.microsoft.com/fwlink/?LinkID=320763">Add HTTP services using ASP.NET Web API</a></li>
<li><a href="http://go.microsoft.com/fwlink/?LinkID=320764">Secure your web API</a></li>
<li><a href="http://go.microsoft.com/fwlink/?LinkID=320765">Add real-time web with ASP.NET SignalR</a></li>
<li><a href="http://go.microsoft.com/fwlink/?LinkID=320766">Add components using Scaffolding</a></li>
<li><a href="http://go.microsoft.com/fwlink/?LinkID=320767">Test your app with Browser Link</a></li>
<li><a href="http://go.microsoft.com/fwlink/?LinkID=320768">Share your project</a></li>
</ul>
</div>
<div class="section">
<h2>Deploy</h2>
<ul>
<li><a href="http://go.microsoft.com/fwlink/?LinkID=320769">Ensure your app is ready for production</a></li>
<li><a href="http://go.microsoft.com/fwlink/?LinkID=320770">Windows Azure</a></li>
<li><a href="http://go.microsoft.com/fwlink/?LinkID=320771">Hosting providers</a></li>
</ul>
</div>
<div class="section last">
<h2>Get help</h2>
<ul>
<li><a href="http://go.microsoft.com/fwlink/?LinkID=320772">Get help</a></li>
<li><a href="http://go.microsoft.com/fwlink/?LinkID=320773">Get more templates</a></li>
</ul>
</div>
</div>
</body>
</html>

View file

@ -0,0 +1,35 @@
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("WebsitePanel.WebDavPortal")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("WebsitePanel.WebDavPortal")]
[assembly: AssemblyCopyright("Copyright © 2014")]
[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("ec17da5a-3c21-4f7c-88a4-56fe47fced6c")]
// 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")]

View file

@ -0,0 +1,13 @@
/// <autosync enabled="true" />
/// <reference path="bootstrap.js" />
/// <reference path="jquery-2.1.1.js" />
/// <reference path="jquery.cookie.js" />
/// <reference path="jquery.validate.js" />
/// <reference path="jquery.validate.unobtrusive.js" />
/// <reference path="modernizr-2.8.3.js" />
/// <reference path="npm.js" />
/// <reference path="respond.js" />
/// <reference path="respond.matchmedia.addlistener.js" />
/// <reference path="appscripts/authentication.js" />
/// <reference path="appscripts/recalculateresourseheight.js" />
/// <reference path="appscripts/uploadingdata2.js" />

View file

@ -0,0 +1,18 @@
function CheckAuthenticationExpiration(authcookieName, logoutUrl) {
var c = $.cookie(authcookieName);
if (c != null && c != "" && !isNaN(c)) {
var now = new Date();
var ms = parseInt(c, 10);
var expiration = new Date().setTime(ms);
if (now > expiration) {
window.location.replace(logoutUrl);
}
}
}
function StartAuthExpirationCheckTimer(authcookieName, logoutUrl) {
setInterval(function() {
CheckAuthenticationExpiration(authcookieName, logoutUrl);
}, 20000);
}

View file

@ -0,0 +1,11 @@
function recalculateResourseHeight() {
$(document).ready(function () {
var heights = $(".element-container").map(function () {
return $(this).height();
}).get(),
maxHeight = Math.max.apply(null, heights);
$(".element-container").height(maxHeight);
});
}

View file

@ -0,0 +1,31 @@
$(document).ready(function () {
$(window).load(function () {
GetResources();
});
$(window).scroll(function () {
if (($(window).scrollTop() + 1) >= ($(document).height() - $(window).height())) {
GetResources();
};
});
});
var oldResourcesDivHeight = $('#resourcesDiv').height();
function GetResources() {
$.ajax({
type: 'POST',
url: '/show-additional-content',
data: { path: window.location.pathname, resourseRenderCount: $(".element-container").length },
dataType: "html",
success: function (result) {
var domElement = $(result);
$('#resourcesDiv').append(domElement);
if ($(document).height() == $(window).height() && oldResourcesDivHeight != $('#resourcesDiv').height()) {
GetResources();
oldResourcesDivHeight = $('#resourcesDiv').height();
};
recalculateResourseHeight();
}
});
};

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,117 @@
/*!
* jQuery Cookie Plugin v1.4.0
* https://github.com/carhartl/jquery-cookie
*
* Copyright 2013 Klaus Hartl
* Released under the MIT license
*/
(function (factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as anonymous module.
define(['jquery'], factory);
} else {
// Browser globals.
factory(jQuery);
}
}(function ($) {
var pluses = /\+/g;
function encode(s) {
return config.raw ? s : encodeURIComponent(s);
}
function decode(s) {
return config.raw ? s : decodeURIComponent(s);
}
function stringifyCookieValue(value) {
return encode(config.json ? JSON.stringify(value) : String(value));
}
function parseCookieValue(s) {
if (s.indexOf('"') === 0) {
// This is a quoted cookie as according to RFC2068, unescape...
s = s.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, '\\');
}
try {
// Replace server-side written pluses with spaces.
// If we can't decode the cookie, ignore it, it's unusable.
s = decodeURIComponent(s.replace(pluses, ' '));
} catch(e) {
return;
}
try {
// If we can't parse the cookie, ignore it, it's unusable.
return config.json ? JSON.parse(s) : s;
} catch(e) {}
}
function read(s, converter) {
var value = config.raw ? s : parseCookieValue(s);
return $.isFunction(converter) ? converter(value) : value;
}
var config = $.cookie = function (key, value, options) {
// Write
if (value !== undefined && !$.isFunction(value)) {
options = $.extend({}, config.defaults, options);
if (typeof options.expires === 'number') {
var days = options.expires, t = options.expires = new Date();
t.setDate(t.getDate() + days);
}
return (document.cookie = [
encode(key), '=', stringifyCookieValue(value),
options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE
options.path ? '; path=' + options.path : '',
options.domain ? '; domain=' + options.domain : '',
options.secure ? '; secure' : ''
].join(''));
}
// Read
var result = key ? undefined : {};
// To prevent the for loop in the first place assign an empty array
// in case there are no cookies at all. Also prevents odd result when
// calling $.cookie().
var cookies = document.cookie ? document.cookie.split('; ') : [];
for (var i = 0, l = cookies.length; i < l; i++) {
var parts = cookies[i].split('=');
var name = decode(parts.shift());
var cookie = parts.join('=');
if (key && key === name) {
// If second argument (value) is a function it's a converter...
result = read(cookie, value);
break;
}
// Prevent storing a cookie that we couldn't decode.
if (!key && (cookie = read(cookie)) !== undefined) {
result[name] = cookie;
}
}
return result;
};
config.defaults = {};
$.removeCookie = function (key, options) {
if ($.cookie(key) !== undefined) {
// Must not alter options, thus extending a fresh object...
$.cookie(key, '', $.extend({}, options, { expires: -1 }));
return true;
}
return false;
};
}));

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,410 @@
/* NUGET: BEGIN LICENSE TEXT
*
* Microsoft grants you the right to use these script files for the sole
* purpose of either: (i) interacting through your browser with the Microsoft
* website or online service, subject to the applicable licensing or use
* terms; or (ii) using the files as included with a Microsoft product subject
* to that product's license terms. Microsoft reserves all other rights to the
* files not expressly granted by Microsoft, whether by implication, estoppel
* or otherwise. Insofar as a script file is dual licensed under GPL,
* Microsoft neither took the code under GPL nor distributes it thereunder but
* under the terms set out in this paragraph. All notices and licenses
* below are for informational purposes only.
*
* NUGET: END LICENSE TEXT */
/*!
** Unobtrusive validation support library for jQuery and jQuery Validate
** Copyright (C) Microsoft Corporation. All rights reserved.
*/
/*jslint white: true, browser: true, onevar: true, undef: true, nomen: true, eqeqeq: true, plusplus: true, bitwise: true, regexp: true, newcap: true, immed: true, strict: false */
/*global document: false, jQuery: false */
(function ($) {
var $jQval = $.validator,
adapters,
data_validation = "unobtrusiveValidation";
function setValidationValues(options, ruleName, value) {
options.rules[ruleName] = value;
if (options.message) {
options.messages[ruleName] = options.message;
}
}
function splitAndTrim(value) {
return value.replace(/^\s+|\s+$/g, "").split(/\s*,\s*/g);
}
function escapeAttributeValue(value) {
// As mentioned on http://api.jquery.com/category/selectors/
return value.replace(/([!"#$%&'()*+,./:;<=>?@\[\\\]^`{|}~])/g, "\\$1");
}
function getModelPrefix(fieldName) {
return fieldName.substr(0, fieldName.lastIndexOf(".") + 1);
}
function appendModelPrefix(value, prefix) {
if (value.indexOf("*.") === 0) {
value = value.replace("*.", prefix);
}
return value;
}
function onError(error, inputElement) { // 'this' is the form element
var container = $(this).find("[data-valmsg-for='" + escapeAttributeValue(inputElement[0].name) + "']"),
replaceAttrValue = container.attr("data-valmsg-replace"),
replace = replaceAttrValue ? $.parseJSON(replaceAttrValue) !== false : null;
container.removeClass("field-validation-valid").addClass("field-validation-error");
error.data("unobtrusiveContainer", container);
if (replace) {
container.empty();
error.removeClass("input-validation-error").appendTo(container);
}
else {
error.hide();
}
}
function onErrors(event, validator) { // 'this' is the form element
var container = $(this).find("[data-valmsg-summary=true]"),
list = container.find("ul");
if (list && list.length && validator.errorList.length) {
list.empty();
container.addClass("validation-summary-errors").removeClass("validation-summary-valid");
$.each(validator.errorList, function () {
$("<li />").html(this.message).appendTo(list);
});
}
}
function onSuccess(error) { // 'this' is the form element
var container = error.data("unobtrusiveContainer"),
replaceAttrValue = container.attr("data-valmsg-replace"),
replace = replaceAttrValue ? $.parseJSON(replaceAttrValue) : null;
if (container) {
container.addClass("field-validation-valid").removeClass("field-validation-error");
error.removeData("unobtrusiveContainer");
if (replace) {
container.empty();
}
}
}
function onReset(event) { // 'this' is the form element
var $form = $(this);
$form.data("validator").resetForm();
$form.find(".validation-summary-errors")
.addClass("validation-summary-valid")
.removeClass("validation-summary-errors");
$form.find(".field-validation-error")
.addClass("field-validation-valid")
.removeClass("field-validation-error")
.removeData("unobtrusiveContainer")
.find(">*") // If we were using valmsg-replace, get the underlying error
.removeData("unobtrusiveContainer");
}
function validationInfo(form) {
var $form = $(form),
result = $form.data(data_validation),
onResetProxy = $.proxy(onReset, form),
defaultOptions = $jQval.unobtrusive.options || {},
execInContext = function (name, args) {
var func = defaultOptions[name];
func && $.isFunction(func) && func.apply(form, args);
}
if (!result) {
result = {
options: { // options structure passed to jQuery Validate's validate() method
errorClass: defaultOptions.errorClass || "input-validation-error",
errorElement: defaultOptions.errorElement || "span",
errorPlacement: function () {
onError.apply(form, arguments);
execInContext("errorPlacement", arguments);
},
invalidHandler: function () {
onErrors.apply(form, arguments);
execInContext("invalidHandler", arguments);
},
messages: {},
rules: {},
success: function () {
onSuccess.apply(form, arguments);
execInContext("success", arguments);
}
},
attachValidation: function () {
$form
.off("reset." + data_validation, onResetProxy)
.on("reset." + data_validation, onResetProxy)
.validate(this.options);
},
validate: function () { // a validation function that is called by unobtrusive Ajax
$form.validate();
return $form.valid();
}
};
$form.data(data_validation, result);
}
return result;
}
$jQval.unobtrusive = {
adapters: [],
parseElement: function (element, skipAttach) {
/// <summary>
/// Parses a single HTML element for unobtrusive validation attributes.
/// </summary>
/// <param name="element" domElement="true">The HTML element to be parsed.</param>
/// <param name="skipAttach" type="Boolean">[Optional] true to skip attaching the
/// validation to the form. If parsing just this single element, you should specify true.
/// If parsing several elements, you should specify false, and manually attach the validation
/// to the form when you are finished. The default is false.</param>
var $element = $(element),
form = $element.parents("form")[0],
valInfo, rules, messages;
if (!form) { // Cannot do client-side validation without a form
return;
}
valInfo = validationInfo(form);
valInfo.options.rules[element.name] = rules = {};
valInfo.options.messages[element.name] = messages = {};
$.each(this.adapters, function () {
var prefix = "data-val-" + this.name,
message = $element.attr(prefix),
paramValues = {};
if (message !== undefined) { // Compare against undefined, because an empty message is legal (and falsy)
prefix += "-";
$.each(this.params, function () {
paramValues[this] = $element.attr(prefix + this);
});
this.adapt({
element: element,
form: form,
message: message,
params: paramValues,
rules: rules,
messages: messages
});
}
});
$.extend(rules, { "__dummy__": true });
if (!skipAttach) {
valInfo.attachValidation();
}
},
parse: function (selector) {
/// <summary>
/// Parses all the HTML elements in the specified selector. It looks for input elements decorated
/// with the [data-val=true] attribute value and enables validation according to the data-val-*
/// attribute values.
/// </summary>
/// <param name="selector" type="String">Any valid jQuery selector.</param>
// $forms includes all forms in selector's DOM hierarchy (parent, children and self) that have at least one
// element with data-val=true
var $selector = $(selector),
$forms = $selector.parents()
.addBack()
.filter("form")
.add($selector.find("form"))
.has("[data-val=true]");
$selector.find("[data-val=true]").each(function () {
$jQval.unobtrusive.parseElement(this, true);
});
$forms.each(function () {
var info = validationInfo(this);
if (info) {
info.attachValidation();
}
});
}
};
adapters = $jQval.unobtrusive.adapters;
adapters.add = function (adapterName, params, fn) {
/// <summary>Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation.</summary>
/// <param name="adapterName" type="String">The name of the adapter to be added. This matches the name used
/// in the data-val-nnnn HTML attribute (where nnnn is the adapter name).</param>
/// <param name="params" type="Array" optional="true">[Optional] An array of parameter names (strings) that will
/// be extracted from the data-val-nnnn-mmmm HTML attributes (where nnnn is the adapter name, and
/// mmmm is the parameter name).</param>
/// <param name="fn" type="Function">The function to call, which adapts the values from the HTML
/// attributes into jQuery Validate rules and/or messages.</param>
/// <returns type="jQuery.validator.unobtrusive.adapters" />
if (!fn) { // Called with no params, just a function
fn = params;
params = [];
}
this.push({ name: adapterName, params: params, adapt: fn });
return this;
};
adapters.addBool = function (adapterName, ruleName) {
/// <summary>Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation, where
/// the jQuery Validate validation rule has no parameter values.</summary>
/// <param name="adapterName" type="String">The name of the adapter to be added. This matches the name used
/// in the data-val-nnnn HTML attribute (where nnnn is the adapter name).</param>
/// <param name="ruleName" type="String" optional="true">[Optional] The name of the jQuery Validate rule. If not provided, the value
/// of adapterName will be used instead.</param>
/// <returns type="jQuery.validator.unobtrusive.adapters" />
return this.add(adapterName, function (options) {
setValidationValues(options, ruleName || adapterName, true);
});
};
adapters.addMinMax = function (adapterName, minRuleName, maxRuleName, minMaxRuleName, minAttribute, maxAttribute) {
/// <summary>Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation, where
/// the jQuery Validate validation has three potential rules (one for min-only, one for max-only, and
/// one for min-and-max). The HTML parameters are expected to be named -min and -max.</summary>
/// <param name="adapterName" type="String">The name of the adapter to be added. This matches the name used
/// in the data-val-nnnn HTML attribute (where nnnn is the adapter name).</param>
/// <param name="minRuleName" type="String">The name of the jQuery Validate rule to be used when you only
/// have a minimum value.</param>
/// <param name="maxRuleName" type="String">The name of the jQuery Validate rule to be used when you only
/// have a maximum value.</param>
/// <param name="minMaxRuleName" type="String">The name of the jQuery Validate rule to be used when you
/// have both a minimum and maximum value.</param>
/// <param name="minAttribute" type="String" optional="true">[Optional] The name of the HTML attribute that
/// contains the minimum value. The default is "min".</param>
/// <param name="maxAttribute" type="String" optional="true">[Optional] The name of the HTML attribute that
/// contains the maximum value. The default is "max".</param>
/// <returns type="jQuery.validator.unobtrusive.adapters" />
return this.add(adapterName, [minAttribute || "min", maxAttribute || "max"], function (options) {
var min = options.params.min,
max = options.params.max;
if (min && max) {
setValidationValues(options, minMaxRuleName, [min, max]);
}
else if (min) {
setValidationValues(options, minRuleName, min);
}
else if (max) {
setValidationValues(options, maxRuleName, max);
}
});
};
adapters.addSingleVal = function (adapterName, attribute, ruleName) {
/// <summary>Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation, where
/// the jQuery Validate validation rule has a single value.</summary>
/// <param name="adapterName" type="String">The name of the adapter to be added. This matches the name used
/// in the data-val-nnnn HTML attribute(where nnnn is the adapter name).</param>
/// <param name="attribute" type="String">[Optional] The name of the HTML attribute that contains the value.
/// The default is "val".</param>
/// <param name="ruleName" type="String" optional="true">[Optional] The name of the jQuery Validate rule. If not provided, the value
/// of adapterName will be used instead.</param>
/// <returns type="jQuery.validator.unobtrusive.adapters" />
return this.add(adapterName, [attribute || "val"], function (options) {
setValidationValues(options, ruleName || adapterName, options.params[attribute]);
});
};
$jQval.addMethod("__dummy__", function (value, element, params) {
return true;
});
$jQval.addMethod("regex", function (value, element, params) {
var match;
if (this.optional(element)) {
return true;
}
match = new RegExp(params).exec(value);
return (match && (match.index === 0) && (match[0].length === value.length));
});
$jQval.addMethod("nonalphamin", function (value, element, nonalphamin) {
var match;
if (nonalphamin) {
match = value.match(/\W/g);
match = match && match.length >= nonalphamin;
}
return match;
});
if ($jQval.methods.extension) {
adapters.addSingleVal("accept", "mimtype");
adapters.addSingleVal("extension", "extension");
} else {
// for backward compatibility, when the 'extension' validation method does not exist, such as with versions
// of JQuery Validation plugin prior to 1.10, we should use the 'accept' method for
// validating the extension, and ignore mime-type validations as they are not supported.
adapters.addSingleVal("extension", "extension", "accept");
}
adapters.addSingleVal("regex", "pattern");
adapters.addBool("creditcard").addBool("date").addBool("digits").addBool("email").addBool("number").addBool("url");
adapters.addMinMax("length", "minlength", "maxlength", "rangelength").addMinMax("range", "min", "max", "range");
adapters.addMinMax("minlength", "minlength").addMinMax("maxlength", "minlength", "maxlength");
adapters.add("equalto", ["other"], function (options) {
var prefix = getModelPrefix(options.element.name),
other = options.params.other,
fullOtherName = appendModelPrefix(other, prefix),
element = $(options.form).find(":input").filter("[name='" + escapeAttributeValue(fullOtherName) + "']")[0];
setValidationValues(options, "equalTo", element);
});
adapters.add("required", function (options) {
// jQuery Validate equates "required" with "mandatory" for checkbox elements
if (options.element.tagName.toUpperCase() !== "INPUT" || options.element.type.toUpperCase() !== "CHECKBOX") {
setValidationValues(options, "required", true);
}
});
adapters.add("remote", ["url", "type", "additionalfields"], function (options) {
var value = {
url: options.params.url,
type: options.params.type || "GET",
data: {}
},
prefix = getModelPrefix(options.element.name);
$.each(splitAndTrim(options.params.additionalfields || options.element.name), function (i, fieldName) {
var paramName = appendModelPrefix(fieldName, prefix);
value.data[paramName] = function () {
return $(options.form).find(":input").filter("[name='" + escapeAttributeValue(paramName) + "']").val();
};
});
setValidationValues(options, "remote", value);
});
adapters.add("password", ["min", "nonalphamin", "regex"], function (options) {
if (options.params.min) {
setValidationValues(options, "minlength", options.params.min);
}
if (options.params.nonalphamin) {
setValidationValues(options, "nonalphamin", options.params.nonalphamin);
}
if (options.params.regex) {
setValidationValues(options, "regex", options.params.regex);
}
});
$(function () {
$jQval.unobtrusive.parse(document);
});
}(jQuery));

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,13 @@
// This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment.
require('../../js/transition.js')
require('../../js/alert.js')
require('../../js/button.js')
require('../../js/carousel.js')
require('../../js/collapse.js')
require('../../js/dropdown.js')
require('../../js/modal.js')
require('../../js/tooltip.js')
require('../../js/popover.js')
require('../../js/scrollspy.js')
require('../../js/tab.js')
require('../../js/affix.js')

View file

@ -0,0 +1,224 @@
/*! matchMedia() polyfill - Test a CSS media type/query in JS. Authors & copyright (c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas. Dual MIT/BSD license */
/*! NOTE: If you're already including a window.matchMedia polyfill via Modernizr or otherwise, you don't need this part */
(function(w) {
"use strict";
w.matchMedia = w.matchMedia || function(doc, undefined) {
var bool, docElem = doc.documentElement, refNode = docElem.firstElementChild || docElem.firstChild, fakeBody = doc.createElement("body"), div = doc.createElement("div");
div.id = "mq-test-1";
div.style.cssText = "position:absolute;top:-100em";
fakeBody.style.background = "none";
fakeBody.appendChild(div);
return function(q) {
div.innerHTML = '&shy;<style media="' + q + '"> #mq-test-1 { width: 42px; }</style>';
docElem.insertBefore(fakeBody, refNode);
bool = div.offsetWidth === 42;
docElem.removeChild(fakeBody);
return {
matches: bool,
media: q
};
};
}(w.document);
})(this);
/*! Respond.js v1.4.0: min/max-width media query polyfill. (c) Scott Jehl. MIT Lic. j.mp/respondjs */
(function(w) {
"use strict";
var respond = {};
w.respond = respond;
respond.update = function() {};
var requestQueue = [], xmlHttp = function() {
var xmlhttpmethod = false;
try {
xmlhttpmethod = new w.XMLHttpRequest();
} catch (e) {
xmlhttpmethod = new w.ActiveXObject("Microsoft.XMLHTTP");
}
return function() {
return xmlhttpmethod;
};
}(), ajax = function(url, callback) {
var req = xmlHttp();
if (!req) {
return;
}
req.open("GET", url, true);
req.onreadystatechange = function() {
if (req.readyState !== 4 || req.status !== 200 && req.status !== 304) {
return;
}
callback(req.responseText);
};
if (req.readyState === 4) {
return;
}
req.send(null);
};
respond.ajax = ajax;
respond.queue = requestQueue;
respond.regex = {
media: /@media[^\{]+\{([^\{\}]*\{[^\}\{]*\})+/gi,
keyframes: /@(?:\-(?:o|moz|webkit)\-)?keyframes[^\{]+\{(?:[^\{\}]*\{[^\}\{]*\})+[^\}]*\}/gi,
urls: /(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g,
findStyles: /@media *([^\{]+)\{([\S\s]+?)$/,
only: /(only\s+)?([a-zA-Z]+)\s?/,
minw: /\([\s]*min\-width\s*:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/,
maxw: /\([\s]*max\-width\s*:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/
};
respond.mediaQueriesSupported = w.matchMedia && w.matchMedia("only all") !== null && w.matchMedia("only all").matches;
if (respond.mediaQueriesSupported) {
return;
}
var doc = w.document, docElem = doc.documentElement, mediastyles = [], rules = [], appendedEls = [], parsedSheets = {}, resizeThrottle = 30, head = doc.getElementsByTagName("head")[0] || docElem, base = doc.getElementsByTagName("base")[0], links = head.getElementsByTagName("link"), lastCall, resizeDefer, eminpx, getEmValue = function() {
var ret, div = doc.createElement("div"), body = doc.body, originalHTMLFontSize = docElem.style.fontSize, originalBodyFontSize = body && body.style.fontSize, fakeUsed = false;
div.style.cssText = "position:absolute;font-size:1em;width:1em";
if (!body) {
body = fakeUsed = doc.createElement("body");
body.style.background = "none";
}
docElem.style.fontSize = "100%";
body.style.fontSize = "100%";
body.appendChild(div);
if (fakeUsed) {
docElem.insertBefore(body, docElem.firstChild);
}
ret = div.offsetWidth;
if (fakeUsed) {
docElem.removeChild(body);
} else {
body.removeChild(div);
}
docElem.style.fontSize = originalHTMLFontSize;
if (originalBodyFontSize) {
body.style.fontSize = originalBodyFontSize;
}
ret = eminpx = parseFloat(ret);
return ret;
}, applyMedia = function(fromResize) {
var name = "clientWidth", docElemProp = docElem[name], currWidth = doc.compatMode === "CSS1Compat" && docElemProp || doc.body[name] || docElemProp, styleBlocks = {}, lastLink = links[links.length - 1], now = new Date().getTime();
if (fromResize && lastCall && now - lastCall < resizeThrottle) {
w.clearTimeout(resizeDefer);
resizeDefer = w.setTimeout(applyMedia, resizeThrottle);
return;
} else {
lastCall = now;
}
for (var i in mediastyles) {
if (mediastyles.hasOwnProperty(i)) {
var thisstyle = mediastyles[i], min = thisstyle.minw, max = thisstyle.maxw, minnull = min === null, maxnull = max === null, em = "em";
if (!!min) {
min = parseFloat(min) * (min.indexOf(em) > -1 ? eminpx || getEmValue() : 1);
}
if (!!max) {
max = parseFloat(max) * (max.indexOf(em) > -1 ? eminpx || getEmValue() : 1);
}
if (!thisstyle.hasquery || (!minnull || !maxnull) && (minnull || currWidth >= min) && (maxnull || currWidth <= max)) {
if (!styleBlocks[thisstyle.media]) {
styleBlocks[thisstyle.media] = [];
}
styleBlocks[thisstyle.media].push(rules[thisstyle.rules]);
}
}
}
for (var j in appendedEls) {
if (appendedEls.hasOwnProperty(j)) {
if (appendedEls[j] && appendedEls[j].parentNode === head) {
head.removeChild(appendedEls[j]);
}
}
}
appendedEls.length = 0;
for (var k in styleBlocks) {
if (styleBlocks.hasOwnProperty(k)) {
var ss = doc.createElement("style"), css = styleBlocks[k].join("\n");
ss.type = "text/css";
ss.media = k;
head.insertBefore(ss, lastLink.nextSibling);
if (ss.styleSheet) {
ss.styleSheet.cssText = css;
} else {
ss.appendChild(doc.createTextNode(css));
}
appendedEls.push(ss);
}
}
}, translate = function(styles, href, media) {
var qs = styles.replace(respond.regex.keyframes, "").match(respond.regex.media), ql = qs && qs.length || 0;
href = href.substring(0, href.lastIndexOf("/"));
var repUrls = function(css) {
return css.replace(respond.regex.urls, "$1" + href + "$2$3");
}, useMedia = !ql && media;
if (href.length) {
href += "/";
}
if (useMedia) {
ql = 1;
}
for (var i = 0; i < ql; i++) {
var fullq, thisq, eachq, eql;
if (useMedia) {
fullq = media;
rules.push(repUrls(styles));
} else {
fullq = qs[i].match(respond.regex.findStyles) && RegExp.$1;
rules.push(RegExp.$2 && repUrls(RegExp.$2));
}
eachq = fullq.split(",");
eql = eachq.length;
for (var j = 0; j < eql; j++) {
thisq = eachq[j];
mediastyles.push({
media: thisq.split("(")[0].match(respond.regex.only) && RegExp.$2 || "all",
rules: rules.length - 1,
hasquery: thisq.indexOf("(") > -1,
minw: thisq.match(respond.regex.minw) && parseFloat(RegExp.$1) + (RegExp.$2 || ""),
maxw: thisq.match(respond.regex.maxw) && parseFloat(RegExp.$1) + (RegExp.$2 || "")
});
}
}
applyMedia();
}, makeRequests = function() {
if (requestQueue.length) {
var thisRequest = requestQueue.shift();
ajax(thisRequest.href, function(styles) {
translate(styles, thisRequest.href, thisRequest.media);
parsedSheets[thisRequest.href] = true;
w.setTimeout(function() {
makeRequests();
}, 0);
});
}
}, ripCSS = function() {
for (var i = 0; i < links.length; i++) {
var sheet = links[i], href = sheet.href, media = sheet.media, isCSS = sheet.rel && sheet.rel.toLowerCase() === "stylesheet";
if (!!href && isCSS && !parsedSheets[href]) {
if (sheet.styleSheet && sheet.styleSheet.rawCssText) {
translate(sheet.styleSheet.rawCssText, href, media);
parsedSheets[href] = true;
} else {
if (!/^([a-zA-Z:]*\/\/)/.test(href) && !base || href.replace(RegExp.$1, "").split("/")[0] === w.location.host) {
if (href.substring(0, 2) === "//") {
href = w.location.protocol + href;
}
requestQueue.push({
href: href,
media: media
});
}
}
}
}
makeRequests();
};
ripCSS();
respond.update = ripCSS;
respond.getEmValue = getEmValue;
function callMedia() {
applyMedia(true);
}
if (w.addEventListener) {
w.addEventListener("resize", callMedia, false);
} else if (w.attachEvent) {
w.attachEvent("onresize", callMedia);
}
})(this);

View file

@ -0,0 +1,273 @@
/*! matchMedia() polyfill - Test a CSS media type/query in JS. Authors & copyright (c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas. Dual MIT/BSD license */
/*! NOTE: If you're already including a window.matchMedia polyfill via Modernizr or otherwise, you don't need this part */
(function(w) {
"use strict";
w.matchMedia = w.matchMedia || function(doc, undefined) {
var bool, docElem = doc.documentElement, refNode = docElem.firstElementChild || docElem.firstChild, fakeBody = doc.createElement("body"), div = doc.createElement("div");
div.id = "mq-test-1";
div.style.cssText = "position:absolute;top:-100em";
fakeBody.style.background = "none";
fakeBody.appendChild(div);
return function(q) {
div.innerHTML = '&shy;<style media="' + q + '"> #mq-test-1 { width: 42px; }</style>';
docElem.insertBefore(fakeBody, refNode);
bool = div.offsetWidth === 42;
docElem.removeChild(fakeBody);
return {
matches: bool,
media: q
};
};
}(w.document);
})(this);
/*! matchMedia() polyfill addListener/removeListener extension. Author & copyright (c) 2012: Scott Jehl. Dual MIT/BSD license */
(function(w) {
"use strict";
if (w.matchMedia && w.matchMedia("all").addListener) {
return false;
}
var localMatchMedia = w.matchMedia, hasMediaQueries = localMatchMedia("only all").matches, isListening = false, timeoutID = 0, queries = [], handleChange = function(evt) {
w.clearTimeout(timeoutID);
timeoutID = w.setTimeout(function() {
for (var i = 0, il = queries.length; i < il; i++) {
var mql = queries[i].mql, listeners = queries[i].listeners || [], matches = localMatchMedia(mql.media).matches;
if (matches !== mql.matches) {
mql.matches = matches;
for (var j = 0, jl = listeners.length; j < jl; j++) {
listeners[j].call(w, mql);
}
}
}
}, 30);
};
w.matchMedia = function(media) {
var mql = localMatchMedia(media), listeners = [], index = 0;
mql.addListener = function(listener) {
if (!hasMediaQueries) {
return;
}
if (!isListening) {
isListening = true;
w.addEventListener("resize", handleChange, true);
}
if (index === 0) {
index = queries.push({
mql: mql,
listeners: listeners
});
}
listeners.push(listener);
};
mql.removeListener = function(listener) {
for (var i = 0, il = listeners.length; i < il; i++) {
if (listeners[i] === listener) {
listeners.splice(i, 1);
}
}
};
return mql;
};
})(this);
/*! Respond.js v1.4.0: min/max-width media query polyfill. (c) Scott Jehl. MIT Lic. j.mp/respondjs */
(function(w) {
"use strict";
var respond = {};
w.respond = respond;
respond.update = function() {};
var requestQueue = [], xmlHttp = function() {
var xmlhttpmethod = false;
try {
xmlhttpmethod = new w.XMLHttpRequest();
} catch (e) {
xmlhttpmethod = new w.ActiveXObject("Microsoft.XMLHTTP");
}
return function() {
return xmlhttpmethod;
};
}(), ajax = function(url, callback) {
var req = xmlHttp();
if (!req) {
return;
}
req.open("GET", url, true);
req.onreadystatechange = function() {
if (req.readyState !== 4 || req.status !== 200 && req.status !== 304) {
return;
}
callback(req.responseText);
};
if (req.readyState === 4) {
return;
}
req.send(null);
};
respond.ajax = ajax;
respond.queue = requestQueue;
respond.regex = {
media: /@media[^\{]+\{([^\{\}]*\{[^\}\{]*\})+/gi,
keyframes: /@(?:\-(?:o|moz|webkit)\-)?keyframes[^\{]+\{(?:[^\{\}]*\{[^\}\{]*\})+[^\}]*\}/gi,
urls: /(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g,
findStyles: /@media *([^\{]+)\{([\S\s]+?)$/,
only: /(only\s+)?([a-zA-Z]+)\s?/,
minw: /\([\s]*min\-width\s*:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/,
maxw: /\([\s]*max\-width\s*:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/
};
respond.mediaQueriesSupported = w.matchMedia && w.matchMedia("only all") !== null && w.matchMedia("only all").matches;
if (respond.mediaQueriesSupported) {
return;
}
var doc = w.document, docElem = doc.documentElement, mediastyles = [], rules = [], appendedEls = [], parsedSheets = {}, resizeThrottle = 30, head = doc.getElementsByTagName("head")[0] || docElem, base = doc.getElementsByTagName("base")[0], links = head.getElementsByTagName("link"), lastCall, resizeDefer, eminpx, getEmValue = function() {
var ret, div = doc.createElement("div"), body = doc.body, originalHTMLFontSize = docElem.style.fontSize, originalBodyFontSize = body && body.style.fontSize, fakeUsed = false;
div.style.cssText = "position:absolute;font-size:1em;width:1em";
if (!body) {
body = fakeUsed = doc.createElement("body");
body.style.background = "none";
}
docElem.style.fontSize = "100%";
body.style.fontSize = "100%";
body.appendChild(div);
if (fakeUsed) {
docElem.insertBefore(body, docElem.firstChild);
}
ret = div.offsetWidth;
if (fakeUsed) {
docElem.removeChild(body);
} else {
body.removeChild(div);
}
docElem.style.fontSize = originalHTMLFontSize;
if (originalBodyFontSize) {
body.style.fontSize = originalBodyFontSize;
}
ret = eminpx = parseFloat(ret);
return ret;
}, applyMedia = function(fromResize) {
var name = "clientWidth", docElemProp = docElem[name], currWidth = doc.compatMode === "CSS1Compat" && docElemProp || doc.body[name] || docElemProp, styleBlocks = {}, lastLink = links[links.length - 1], now = new Date().getTime();
if (fromResize && lastCall && now - lastCall < resizeThrottle) {
w.clearTimeout(resizeDefer);
resizeDefer = w.setTimeout(applyMedia, resizeThrottle);
return;
} else {
lastCall = now;
}
for (var i in mediastyles) {
if (mediastyles.hasOwnProperty(i)) {
var thisstyle = mediastyles[i], min = thisstyle.minw, max = thisstyle.maxw, minnull = min === null, maxnull = max === null, em = "em";
if (!!min) {
min = parseFloat(min) * (min.indexOf(em) > -1 ? eminpx || getEmValue() : 1);
}
if (!!max) {
max = parseFloat(max) * (max.indexOf(em) > -1 ? eminpx || getEmValue() : 1);
}
if (!thisstyle.hasquery || (!minnull || !maxnull) && (minnull || currWidth >= min) && (maxnull || currWidth <= max)) {
if (!styleBlocks[thisstyle.media]) {
styleBlocks[thisstyle.media] = [];
}
styleBlocks[thisstyle.media].push(rules[thisstyle.rules]);
}
}
}
for (var j in appendedEls) {
if (appendedEls.hasOwnProperty(j)) {
if (appendedEls[j] && appendedEls[j].parentNode === head) {
head.removeChild(appendedEls[j]);
}
}
}
appendedEls.length = 0;
for (var k in styleBlocks) {
if (styleBlocks.hasOwnProperty(k)) {
var ss = doc.createElement("style"), css = styleBlocks[k].join("\n");
ss.type = "text/css";
ss.media = k;
head.insertBefore(ss, lastLink.nextSibling);
if (ss.styleSheet) {
ss.styleSheet.cssText = css;
} else {
ss.appendChild(doc.createTextNode(css));
}
appendedEls.push(ss);
}
}
}, translate = function(styles, href, media) {
var qs = styles.replace(respond.regex.keyframes, "").match(respond.regex.media), ql = qs && qs.length || 0;
href = href.substring(0, href.lastIndexOf("/"));
var repUrls = function(css) {
return css.replace(respond.regex.urls, "$1" + href + "$2$3");
}, useMedia = !ql && media;
if (href.length) {
href += "/";
}
if (useMedia) {
ql = 1;
}
for (var i = 0; i < ql; i++) {
var fullq, thisq, eachq, eql;
if (useMedia) {
fullq = media;
rules.push(repUrls(styles));
} else {
fullq = qs[i].match(respond.regex.findStyles) && RegExp.$1;
rules.push(RegExp.$2 && repUrls(RegExp.$2));
}
eachq = fullq.split(",");
eql = eachq.length;
for (var j = 0; j < eql; j++) {
thisq = eachq[j];
mediastyles.push({
media: thisq.split("(")[0].match(respond.regex.only) && RegExp.$2 || "all",
rules: rules.length - 1,
hasquery: thisq.indexOf("(") > -1,
minw: thisq.match(respond.regex.minw) && parseFloat(RegExp.$1) + (RegExp.$2 || ""),
maxw: thisq.match(respond.regex.maxw) && parseFloat(RegExp.$1) + (RegExp.$2 || "")
});
}
}
applyMedia();
}, makeRequests = function() {
if (requestQueue.length) {
var thisRequest = requestQueue.shift();
ajax(thisRequest.href, function(styles) {
translate(styles, thisRequest.href, thisRequest.media);
parsedSheets[thisRequest.href] = true;
w.setTimeout(function() {
makeRequests();
}, 0);
});
}
}, ripCSS = function() {
for (var i = 0; i < links.length; i++) {
var sheet = links[i], href = sheet.href, media = sheet.media, isCSS = sheet.rel && sheet.rel.toLowerCase() === "stylesheet";
if (!!href && isCSS && !parsedSheets[href]) {
if (sheet.styleSheet && sheet.styleSheet.rawCssText) {
translate(sheet.styleSheet.rawCssText, href, media);
parsedSheets[href] = true;
} else {
if (!/^([a-zA-Z:]*\/\/)/.test(href) && !base || href.replace(RegExp.$1, "").split("/")[0] === w.location.host) {
if (href.substring(0, 2) === "//") {
href = w.location.protocol + href;
}
requestQueue.push({
href: href,
media: media
});
}
}
}
}
makeRequests();
};
ripCSS();
respond.update = ripCSS;
respond.getEmValue = getEmValue;
function callMedia() {
applyMedia(true);
}
if (w.addEventListener) {
w.addEventListener("resize", callMedia, false);
} else if (w.attachEvent) {
w.attachEvent("onresize", callMedia);
}
})(this);

View file

@ -0,0 +1,5 @@
/*! Respond.js v1.4.2: min/max-width media query polyfill * Copyright 2013 Scott Jehl
* Licensed under https://github.com/scottjehl/Respond/blob/master/LICENSE-MIT
* */
!function(a){"use strict";a.matchMedia=a.matchMedia||function(a){var b,c=a.documentElement,d=c.firstElementChild||c.firstChild,e=a.createElement("body"),f=a.createElement("div");return f.id="mq-test-1",f.style.cssText="position:absolute;top:-100em",e.style.background="none",e.appendChild(f),function(a){return f.innerHTML='&shy;<style media="'+a+'"> #mq-test-1 { width: 42px; }</style>',c.insertBefore(e,d),b=42===f.offsetWidth,c.removeChild(e),{matches:b,media:a}}}(a.document)}(this),function(a){"use strict";if(a.matchMedia&&a.matchMedia("all").addListener)return!1;var b=a.matchMedia,c=b("only all").matches,d=!1,e=0,f=[],g=function(){a.clearTimeout(e),e=a.setTimeout(function(){for(var c=0,d=f.length;d>c;c++){var e=f[c].mql,g=f[c].listeners||[],h=b(e.media).matches;if(h!==e.matches){e.matches=h;for(var i=0,j=g.length;j>i;i++)g[i].call(a,e)}}},30)};a.matchMedia=function(e){var h=b(e),i=[],j=0;return h.addListener=function(b){c&&(d||(d=!0,a.addEventListener("resize",g,!0)),0===j&&(j=f.push({mql:h,listeners:i})),i.push(b))},h.removeListener=function(a){for(var b=0,c=i.length;c>b;b++)i[b]===a&&i.splice(b,1)},h}}(this),function(a){"use strict";function b(){u(!0)}var c={};a.respond=c,c.update=function(){};var d=[],e=function(){var b=!1;try{b=new a.XMLHttpRequest}catch(c){b=new a.ActiveXObject("Microsoft.XMLHTTP")}return function(){return b}}(),f=function(a,b){var c=e();c&&(c.open("GET",a,!0),c.onreadystatechange=function(){4!==c.readyState||200!==c.status&&304!==c.status||b(c.responseText)},4!==c.readyState&&c.send(null))};if(c.ajax=f,c.queue=d,c.regex={media:/@media[^\{]+\{([^\{\}]*\{[^\}\{]*\})+/gi,keyframes:/@(?:\-(?:o|moz|webkit)\-)?keyframes[^\{]+\{(?:[^\{\}]*\{[^\}\{]*\})+[^\}]*\}/gi,urls:/(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g,findStyles:/@media *([^\{]+)\{([\S\s]+?)$/,only:/(only\s+)?([a-zA-Z]+)\s?/,minw:/\([\s]*min\-width\s*:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/,maxw:/\([\s]*max\-width\s*:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/},c.mediaQueriesSupported=a.matchMedia&&null!==a.matchMedia("only all")&&a.matchMedia("only all").matches,!c.mediaQueriesSupported){var g,h,i,j=a.document,k=j.documentElement,l=[],m=[],n=[],o={},p=30,q=j.getElementsByTagName("head")[0]||k,r=j.getElementsByTagName("base")[0],s=q.getElementsByTagName("link"),t=function(){var a,b=j.createElement("div"),c=j.body,d=k.style.fontSize,e=c&&c.style.fontSize,f=!1;return b.style.cssText="position:absolute;font-size:1em;width:1em",c||(c=f=j.createElement("body"),c.style.background="none"),k.style.fontSize="100%",c.style.fontSize="100%",c.appendChild(b),f&&k.insertBefore(c,k.firstChild),a=b.offsetWidth,f?k.removeChild(c):c.removeChild(b),k.style.fontSize=d,e&&(c.style.fontSize=e),a=i=parseFloat(a)},u=function(b){var c="clientWidth",d=k[c],e="CSS1Compat"===j.compatMode&&d||j.body[c]||d,f={},o=s[s.length-1],r=(new Date).getTime();if(b&&g&&p>r-g)return a.clearTimeout(h),h=a.setTimeout(u,p),void 0;g=r;for(var v in l)if(l.hasOwnProperty(v)){var w=l[v],x=w.minw,y=w.maxw,z=null===x,A=null===y,B="em";x&&(x=parseFloat(x)*(x.indexOf(B)>-1?i||t():1)),y&&(y=parseFloat(y)*(y.indexOf(B)>-1?i||t():1)),w.hasquery&&(z&&A||!(z||e>=x)||!(A||y>=e))||(f[w.media]||(f[w.media]=[]),f[w.media].push(m[w.rules]))}for(var C in n)n.hasOwnProperty(C)&&n[C]&&n[C].parentNode===q&&q.removeChild(n[C]);n.length=0;for(var D in f)if(f.hasOwnProperty(D)){var E=j.createElement("style"),F=f[D].join("\n");E.type="text/css",E.media=D,q.insertBefore(E,o.nextSibling),E.styleSheet?E.styleSheet.cssText=F:E.appendChild(j.createTextNode(F)),n.push(E)}},v=function(a,b,d){var e=a.replace(c.regex.keyframes,"").match(c.regex.media),f=e&&e.length||0;b=b.substring(0,b.lastIndexOf("/"));var g=function(a){return a.replace(c.regex.urls,"$1"+b+"$2$3")},h=!f&&d;b.length&&(b+="/"),h&&(f=1);for(var i=0;f>i;i++){var j,k,n,o;h?(j=d,m.push(g(a))):(j=e[i].match(c.regex.findStyles)&&RegExp.$1,m.push(RegExp.$2&&g(RegExp.$2))),n=j.split(","),o=n.length;for(var p=0;o>p;p++)k=n[p],l.push({media:k.split("(")[0].match(c.regex.only)&&RegExp.$2||"all",rules:m.length-1,hasquery:k.indexOf("(")>-1,minw:k.match(c.regex.minw)&&parseFloat(RegExp.$1)+(RegExp.$2||""),maxw:k.match(c.regex.maxw)&&parseFloat(RegExp.$1)+(RegExp.$2||"")})}u()},w=function(){if(d.length){var b=d.shift();f(b.href,function(c){v(c,b.href,b.media),o[b.href]=!0,a.setTimeout(function(){w()},0)})}},x=function(){for(var b=0;b<s.length;b++){var c=s[b],e=c.href,f=c.media,g=c.rel&&"stylesheet"===c.rel.toLowerCase();e&&g&&!o[e]&&(c.styleSheet&&c.styleSheet.rawCssText?(v(c.styleSheet.rawCssText,e,f),o[e]=!0):(!/^([a-zA-Z:]*\/\/)/.test(e)&&!r||e.replace(RegExp.$1,"").split("/")[0]===a.location.host)&&("//"===e.substring(0,2)&&(e=a.location.protocol+e),d.push({href:e,media:f})))}w()};x(),c.update=x,c.getEmValue=t,a.addEventListener?a.addEventListener("resize",b,!1):a.attachEvent&&a.attachEvent("onresize",b)}}(this);

View file

@ -0,0 +1,5 @@
/*! Respond.js v1.4.2: min/max-width media query polyfill * Copyright 2013 Scott Jehl
* Licensed under https://github.com/scottjehl/Respond/blob/master/LICENSE-MIT
* */
!function(a){"use strict";a.matchMedia=a.matchMedia||function(a){var b,c=a.documentElement,d=c.firstElementChild||c.firstChild,e=a.createElement("body"),f=a.createElement("div");return f.id="mq-test-1",f.style.cssText="position:absolute;top:-100em",e.style.background="none",e.appendChild(f),function(a){return f.innerHTML='&shy;<style media="'+a+'"> #mq-test-1 { width: 42px; }</style>',c.insertBefore(e,d),b=42===f.offsetWidth,c.removeChild(e),{matches:b,media:a}}}(a.document)}(this),function(a){"use strict";function b(){u(!0)}var c={};a.respond=c,c.update=function(){};var d=[],e=function(){var b=!1;try{b=new a.XMLHttpRequest}catch(c){b=new a.ActiveXObject("Microsoft.XMLHTTP")}return function(){return b}}(),f=function(a,b){var c=e();c&&(c.open("GET",a,!0),c.onreadystatechange=function(){4!==c.readyState||200!==c.status&&304!==c.status||b(c.responseText)},4!==c.readyState&&c.send(null))};if(c.ajax=f,c.queue=d,c.regex={media:/@media[^\{]+\{([^\{\}]*\{[^\}\{]*\})+/gi,keyframes:/@(?:\-(?:o|moz|webkit)\-)?keyframes[^\{]+\{(?:[^\{\}]*\{[^\}\{]*\})+[^\}]*\}/gi,urls:/(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g,findStyles:/@media *([^\{]+)\{([\S\s]+?)$/,only:/(only\s+)?([a-zA-Z]+)\s?/,minw:/\([\s]*min\-width\s*:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/,maxw:/\([\s]*max\-width\s*:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/},c.mediaQueriesSupported=a.matchMedia&&null!==a.matchMedia("only all")&&a.matchMedia("only all").matches,!c.mediaQueriesSupported){var g,h,i,j=a.document,k=j.documentElement,l=[],m=[],n=[],o={},p=30,q=j.getElementsByTagName("head")[0]||k,r=j.getElementsByTagName("base")[0],s=q.getElementsByTagName("link"),t=function(){var a,b=j.createElement("div"),c=j.body,d=k.style.fontSize,e=c&&c.style.fontSize,f=!1;return b.style.cssText="position:absolute;font-size:1em;width:1em",c||(c=f=j.createElement("body"),c.style.background="none"),k.style.fontSize="100%",c.style.fontSize="100%",c.appendChild(b),f&&k.insertBefore(c,k.firstChild),a=b.offsetWidth,f?k.removeChild(c):c.removeChild(b),k.style.fontSize=d,e&&(c.style.fontSize=e),a=i=parseFloat(a)},u=function(b){var c="clientWidth",d=k[c],e="CSS1Compat"===j.compatMode&&d||j.body[c]||d,f={},o=s[s.length-1],r=(new Date).getTime();if(b&&g&&p>r-g)return a.clearTimeout(h),h=a.setTimeout(u,p),void 0;g=r;for(var v in l)if(l.hasOwnProperty(v)){var w=l[v],x=w.minw,y=w.maxw,z=null===x,A=null===y,B="em";x&&(x=parseFloat(x)*(x.indexOf(B)>-1?i||t():1)),y&&(y=parseFloat(y)*(y.indexOf(B)>-1?i||t():1)),w.hasquery&&(z&&A||!(z||e>=x)||!(A||y>=e))||(f[w.media]||(f[w.media]=[]),f[w.media].push(m[w.rules]))}for(var C in n)n.hasOwnProperty(C)&&n[C]&&n[C].parentNode===q&&q.removeChild(n[C]);n.length=0;for(var D in f)if(f.hasOwnProperty(D)){var E=j.createElement("style"),F=f[D].join("\n");E.type="text/css",E.media=D,q.insertBefore(E,o.nextSibling),E.styleSheet?E.styleSheet.cssText=F:E.appendChild(j.createTextNode(F)),n.push(E)}},v=function(a,b,d){var e=a.replace(c.regex.keyframes,"").match(c.regex.media),f=e&&e.length||0;b=b.substring(0,b.lastIndexOf("/"));var g=function(a){return a.replace(c.regex.urls,"$1"+b+"$2$3")},h=!f&&d;b.length&&(b+="/"),h&&(f=1);for(var i=0;f>i;i++){var j,k,n,o;h?(j=d,m.push(g(a))):(j=e[i].match(c.regex.findStyles)&&RegExp.$1,m.push(RegExp.$2&&g(RegExp.$2))),n=j.split(","),o=n.length;for(var p=0;o>p;p++)k=n[p],l.push({media:k.split("(")[0].match(c.regex.only)&&RegExp.$2||"all",rules:m.length-1,hasquery:k.indexOf("(")>-1,minw:k.match(c.regex.minw)&&parseFloat(RegExp.$1)+(RegExp.$2||""),maxw:k.match(c.regex.maxw)&&parseFloat(RegExp.$1)+(RegExp.$2||"")})}u()},w=function(){if(d.length){var b=d.shift();f(b.href,function(c){v(c,b.href,b.media),o[b.href]=!0,a.setTimeout(function(){w()},0)})}},x=function(){for(var b=0;b<s.length;b++){var c=s[b],e=c.href,f=c.media,g=c.rel&&"stylesheet"===c.rel.toLowerCase();e&&g&&!o[e]&&(c.styleSheet&&c.styleSheet.rawCssText?(v(c.styleSheet.rawCssText,e,f),o[e]=!0):(!/^([a-zA-Z:]*\/\/)/.test(e)&&!r||e.replace(RegExp.$1,"").split("/")[0]===a.location.host)&&("//"===e.substring(0,2)&&(e=a.location.protocol+e),d.push({href:e,media:f})))}w()};x(),c.update=x,c.getEmValue=t,a.addEventListener?a.addEventListener("resize",b,!1):a.attachEvent&&a.attachEvent("onresize",b)}}(this);

View file

@ -0,0 +1,13 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace WebsitePanel.WebDavPortal.UI.Routes
{
public class AccountRouteNames
{
public const string Logout = "AccountLogout";
public const string Login = "AccountLogin";
}
}

View file

@ -0,0 +1,13 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace WebsitePanel.WebDavPortal.UI.Routes
{
public class FileSystemRouteNames
{
public const string FilePath = "FilePathRoute";
public const string ShowAdditionalContent = "ShowAdditionalContentRoute";
}
}

View file

@ -0,0 +1,8 @@
namespace WebsitePanel.WebDavPortal.UI.Routes
{
public class OwaRouteNames
{
public const string CheckFileInfo = "OwaCheckFileInfoPath";
public const string GetFile = "OwaGetFilePath";
}
}

View file

@ -0,0 +1,46 @@
@model WebsitePanel.WebDavPortal.Models.AccountModel
@{
ViewBag.Title = "Login";
}
<br/>
<div class="container row">
<form class="form-horizontal" method="POST" role="form">
<div class="form-group">
<h3 class="col-sm-offset-1">Sign In</h3>
</div>
@if (Model != null && !string.IsNullOrEmpty(Model.LdapError))
{
<div class="form-group">
<span class="col-sm-offset-1" style="color: #A94442; font-weight: bold;">@Model.LdapError</span>
</div>
}
<div class="form-group">
<label for="inputLogin" class="col-sm-2 control-label">Login</label>
<div class="col-sm-10">
@Html.TextBoxFor(x => x.Login, new { @class = "form-control", id = "inputLogin", placeholder = "Login", autofocus = "autofocus" })
</div>
</div>
<div class="form-group">
<label for="inputPassword" class="col-sm-2 control-label">Password</label>
<div class="col-sm-10">
@Html.PasswordFor(x => x.Password, new { @class = "form-control", id = "inputPassword", placeholder = "Password" })
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-default">Sign in</button>
</div>
</div>
</form>
</div>
@section scripts
{
<script>
$(document).ready(function () {
$('[autofocus]').focus();
});
</script>
}

View file

@ -0,0 +1,10 @@
@model WebsitePanel.WebDavPortal.Models.ErrorModel
@{
ViewBag.Title = Model.HttpStatusCode;
}
<br/>
<h4 id="errorMessage">
@Html.Raw(Model.Message)
@Html.Raw(Model.Exception)
</h4>

View file

@ -0,0 +1,51 @@
@using WebsitePanel.WebDav.Core
@using WebsitePanel.WebDav.Core.Client
@using Ninject
@using WebsitePanel.WebDav.Core.Config
@using WebsitePanel.WebDav.Core.Interfaces.Managers
@model WebsitePanel.WebDavPortal.Models.ModelForWebDav
@{
var webDavManager = DependencyResolver.Current.GetService<IWebDavManager>();
ViewBag.Title = WebDavAppConfigManager.Instance.ApplicationName;
}
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/appScripts")
<script>
recalculateResourseHeight();
</script>
<br />
@if (Model != null && !string.IsNullOrEmpty(Model.Error))
{
<span class="col-sm-offset-1" style="color: #A94442; font-weight: bold;">@Model.Error</span>
}
else
{
<div class="container">
@if (Model != null)
{
string header = WspContext.User.OrganizationId;
<a href="/@header/" class="btn btn-primary btn-sm active" role="button">@header</a>
string[] elements = Model.UrlSuffix.Split(new[] {"/"}, StringSplitOptions.RemoveEmptyEntries);
for (int i = 0; i < elements.Length; i++)
{
<span class="glyphicon glyphicon-chevron-right" style="top: 2px;"></span>
<a href="@string.Concat("/" + header + "/", string.Join("/", elements.Take(i + 1)))" class="btn btn-primary btn-sm active" role="button">@elements[i]</a>
}
}
</div>
<br />
<div class="container">
<div class="row" id="resourcesDiv">
@if (Model != null)
{
foreach (IHierarchyItem element in Model.Items)
{
@Html.Partial("_ResoursePartial", element)
}
}
</div>
</div>
}

View file

@ -0,0 +1,19 @@
@model WebsitePanel.WebDavPortal.Models.OfficeOnlineModel
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>@Model.FileName</title>
</head>
<body>
<iframe src='@Model.Url' width="100%" height="100%" frameborder='0' style="bottom: 0px; left: 0px; position: fixed; right: 0px; top: 0px;">
This is an embedded
<a target='_blank' href='http://office.com'>Microsoft Office</a> document, powered by
<a target='_blank' href='http://office.com/webapps'>Office Web Apps</a>.
</iframe>
</body>
</html>

View file

@ -0,0 +1,6 @@
@model IEnumerable<WebsitePanel.WebDav.Core.Client.IHierarchyItem>
@foreach (var element in Model)
{
@Html.Partial("_ResoursePartial", element)
}

View file

@ -0,0 +1,30 @@
@using WebsitePanel.WebDav.Core.Client
@using WebsitePanel.WebDav.Core.Config
@using WebsitePanel.WebDavPortal.FileOperations
@using Ninject;
@model IHierarchyItem
@{
string actualPath = Model.ItemType == ItemType.Folder ? "~/Content/Images/folder_100x100.png" : WebDavAppConfigManager.Instance.FileIcons[Path.GetExtension(Model.DisplayName.Trim('/'))];
string name = Model.DisplayName.Trim('/');
var opener = new FileOpenerManager()[Path.GetExtension(Model.DisplayName)];
bool isTargetBlank;
string href = "/";
switch (opener)
{
case FileOpenerType.OfficeOnline:
isTargetBlank = true;
href = string.Concat(Url.Action("ShowOfficeDocument", "FileSystem"), Model.DisplayName);
break;
default:
isTargetBlank = false;
href = Model.Href.AbsolutePath;
break;
}
}
<div class="col-sm-2 element-container">
<a href="@href" @Html.Raw(isTargetBlank ? "target=\"_blank\"" : string.Empty) title="@name">
<img class="icon-size" src="@Url.Content(actualPath)" />
<p style="word-wrap: break-word;">@name</p>
</a>
</div>

View file

@ -0,0 +1,17 @@
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Error</title>
</head>
<body>
<hgroup>
<h1>Error.</h1>
<h2>An error occurred while processing your request.</h2>
</hgroup>
</body>
</html>

View file

@ -0,0 +1,59 @@
@using Ninject
@using WebsitePanel.WebDav.Core
@using WebsitePanel.WebDav.Core.Config
@using WebsitePanel.WebDavPortal.DependencyInjection
@using WebsitePanel.WebDavPortal.Models
@using WebsitePanel.WebDavPortal.UI.Routes;
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>@ViewBag.Title</title>
@Styles.Render("~/Content/css")
@Scripts.Render("~/bundles/modernizr")
</head>
<body>
<div class="navbar navbar-inverse navbar-fixed-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
@Html.RouteLink(WebDavAppConfigManager.Instance.ApplicationName, FileSystemRouteNames.FilePath, new { pathPart = string.Empty }, new { @class = "navbar-brand" })
</div>
<div class="navbar-collapse collapse">
@{
if (WspContext.User != null)
{
<a id="logout" class="nav navbar-text navbar-right" href="@Url.RouteUrl(AccountRouteNames.Logout)" title="Log out"><i class="glyphicon glyphicon-log-out"></i></a>
<h4 id="username" class="nav navbar-text navbar-right">@WspContext.User.Login</h4>
}
}
</div>
</div>
</div>
<div class="container body-content">
@RenderBody()
</div>
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/bootstrap")
@if (WspContext.User != null)
{
@Scripts.Render("~/bundles/authScripts")
<script>
StartAuthExpirationCheckTimer("@WebDavAppConfigManager.Instance.AuthTimeoutCookieName", "@Url.RouteUrl(AccountRouteNames.Logout)");
</script>
}
@RenderSection("scripts", required: false)
</body>
</html>

View file

@ -0,0 +1,35 @@
<?xml version="1.0"?>
<configuration>
<configSections>
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
</sectionGroup>
</configSections>
<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.1.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<pages pageBaseType="System.Web.Mvc.WebViewPage">
<namespaces>
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Optimization"/>
<add namespace="System.Web.Routing" />
<add namespace="WebsitePanel.WebDavPortal" />
</namespaces>
</pages>
</system.web.webPages.razor>
<appSettings>
<add key="webpages:Enabled" value="false" />
</appSettings>
<system.webServer>
<handlers>
<remove name="BlockViewHandler"/>
<add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
</handlers>
</system.webServer>
</configuration>

View file

@ -0,0 +1,3 @@
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}

View file

@ -0,0 +1,30 @@
<?xml version="1.0"?>
<!-- For more information on using Web.config transformation visit http://go.microsoft.com/fwlink/?LinkId=301874 -->
<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 attribute "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>

View file

@ -0,0 +1,31 @@
<?xml version="1.0"?>
<!-- For more information on using Web.config transformation visit http://go.microsoft.com/fwlink/?LinkId=301874 -->
<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 attribute "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>

View file

@ -0,0 +1,142 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
For more information on how to configure your ASP.NET application, please visit
http://go.microsoft.com/fwlink/?LinkId=301880
-->
<configuration>
<configSections>
<section name="webDavExplorerConfigurationSettings" type="WebsitePanel.WebDavPortal.WebConfigSections.WebDavExplorerConfigurationSettingsSection" allowLocation="true" allowDefinition="Everywhere" />
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
<log4net>
<appender name="FileAppender" type="log4net.Appender.FileAppender">
<param name="File" value="Logs\log-debug.log" />
<param name="AppendToFile" value="true" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d %-5p %c - %m%n" />
</layout>
</appender>
<root>
<level value="DEBUG" />
<appender-ref ref="FileAppender" />
</root>
</log4net>
<appSettings>
<add key="webpages:Version" value="3.0.0.0" />
<add key="webpages:Enabled" value="false" />
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
<add key="WebPortal.ThemeProvider" value="WebsitePanel.Portal.WebPortalThemeProvider, WebsitePanel.Portal.Modules" />
<add key="WebPortal.PageTitleProvider" value="WebsitePanel.Portal.WebPortalPageTitleProvider, WebsitePanel.Portal.Modules" />
<add key="ChartImageHandler" value="storage=file;timeout=20;" />
<add key="SessionValidationKey" value="DAD46D476F85E0198BCA134D7AA5CC1D7" />
<add key="WebsitePanel.CryptoKey" value="jj2n22t2kje035cg4l77" />
<add key="WebsitePanel.EncryptionEnabled" value="true" />
<add key="WebsitePanel.AltCryptoKey" value="CryptoKey" />
</appSettings>
<webDavExplorerConfigurationSettings>
<userDomain value="websitepanel.net" />
<webdavRoot value="https://webdav.websitepanel.net/" />
<applicationName value="WebDAV Explorer" />
<authTimeoutCookieName value=".auth-logout-timeout" />
<elementsRendering defaultCount="20" addElementsCount="20" elementsToIgnoreKey="web.config" />
<websitePanelConstantUser login="serveradmin" password="HtR7J8dtBhovYLigXNtVutxqpvaE48Z+FBIokWZlR/g=" />
<sessionKeys>
<add key="AccountInfoSessionKey" value="AccountInfo" />
<add key="WebDavManagerSessionKey" value="WebDavManager" />
<add key="ResourseRenderCountSessionKey" value="ResourseRenderCount" />
<add key="ItemIdSessionKey" value="ItemId" />
</sessionKeys>
<fileIcons defaultPath="~/Content/Images/other-icon.png">
<add extension=".txt" path="~/Content/Images/txt-icon.png" />
<add extension=".doc" path="~/Content/Images/word-icon.png" />
<add extension=".docx" path="~/Content/Images/word-icon.png" />
<add extension=".jpg" path="~/Content/Images/jpg-icon.png" />
<add extension=".jpeg" path="~/Content/Images/jpg-icon.png" />
<add extension=".xls" path="~/Content/Images/excel-icon.png" />
<add extension=".xlsx" path="~/Content/Images/excel-icon.png" />
<add extension=".png" path="~/Content/Images/png-icon.png" />
</fileIcons>
<officeOnline isEnabled="True" url="https://vir-owa.virtuworks.net">
<add extension=".doc" owaOpener="wv/wordviewerframe.aspx" />
<add extension=".docx" owaOpener="wv/wordviewerframe.aspx" />
<add extension=".xls" owaOpener="x/_layouts/xlviewerinternal.aspx" />
<add extension=".xlsx" owaOpener="x/_layouts/xlviewerinternal.aspx" />
<add extension=".ppt" owaOpener="p/PowerPointFrame.aspx" />
<add extension=".pptx" owaOpener="p/PowerPointFrame.aspx" />
</officeOnline>
</webDavExplorerConfigurationSettings>
<!--
For a description of web.config changes see http://go.microsoft.com/fwlink/?LinkId=235367.
The following attributes can be set on the <httpRuntime> tag.
<system.Web>
<httpRuntime targetFramework="4.5" />
</system.Web>
-->
<system.web>
<!--<identity impersonate="true"/>-->
<compilation debug="true" targetFramework="4.5" />
<!-- Maximum size of uploaded file, in MB -->
<httpRuntime executionTimeout="1800" requestValidationMode="2.0" requestPathInvalidCharacters="" maxRequestLength="16384" enableVersionHeader="false" />
<pages validateRequest="false" />
<!--
ASMX is mapped to a new handler so that proxy javascripts can also be served.
-->
<authentication mode="Forms">
<forms name=".WEBSITEPANELWEBDAVPORTALAUTHASPX" protection="All" timeout="20" path="/" requireSSL="false" slidingExpiration="true" cookieless="UseDeviceProfile" domain="" enableCrossAppRedirects="false"></forms>
</authentication>
<authorization>
<allow users="?" />
</authorization>
<globalization culture="auto:en-US" uiCulture="auto:en" requestEncoding="UTF-8" responseEncoding="UTF-8"></globalization>
</system.web>
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<handlers>
<remove name="UrlRoutingModule-4.0" />
<add name="ChartImg" path="ChartImg.axd" verb="GET,HEAD,POST" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" resourceType="Unspecified" preCondition="integratedMode" />
<add name="FileHandler" path="*.*" verb="GET" type="WebsitePanel.WebDavPortal.HttpHandlers.FileTransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
<modules>
<add name="SecureSession" type="WebsitePanel.WebPortal.SecureSessionModule" />
</modules>
<security>
<requestFiltering allowDoubleEscaping="true" />
</security>
</system.webServer>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Web.Optimization" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="1.1.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="0.0.0.0-1.6.5135.21930" newVersion="1.6.5135.21930" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Antlr3.Runtime" publicKeyToken="eb42632606e9261f" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.5.0.2" newVersion="3.5.0.2" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-5.2.2.0" newVersion="5.2.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

View file

@ -0,0 +1,316 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>
</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{73A51A0A-9CF3-4516-BF25-28E5E4129FC9}</ProjectGuid>
<ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>WebsitePanel.WebDavPortal</RootNamespace>
<AssemblyName>WebsitePanel.WebDavPortal</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<MvcBuildViews>false</MvcBuildViews>
<UseIISExpress>true</UseIISExpress>
<IISExpressSSLPort />
<IISExpressAnonymousAuthentication>enabled</IISExpressAnonymousAuthentication>
<IISExpressWindowsAuthentication>disabled</IISExpressWindowsAuthentication>
<IISExpressUseClassicPipelineMode>false</IISExpressUseClassicPipelineMode>
<TargetFrameworkProfile />
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
<RestorePackages>true</RestorePackages>
</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>
<Prefer32Bit>false</Prefer32Bit>
</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>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<ItemGroup>
<Reference Include="Antlr3.Runtime, Version=3.5.0.2, Culture=neutral, PublicKeyToken=eb42632606e9261f, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\packages\Antlr.3.5.0.2\lib\Antlr3.Runtime.dll</HintPath>
</Reference>
<Reference Include="log4net">
<HintPath>..\packages\log4net.2.0.0\lib\net40-full\log4net.dll</HintPath>
</Reference>
<Reference Include="Microsoft.CSharp" />
<Reference Include="Microsoft.Web.Services3">
<HintPath>..\..\Lib\Microsoft.Web.Services3.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Newtonsoft.Json">
<HintPath>..\packages\Newtonsoft.Json.6.0.6\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="Ninject">
<HintPath>..\packages\Ninject.3.2.2.0\lib\net45-full\Ninject.dll</HintPath>
</Reference>
<Reference Include="Ninject.Web.Common">
<HintPath>..\packages\Ninject.Web.Common.3.2.3.0\lib\net45-full\Ninject.Web.Common.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Data.Entity" />
<Reference Include="System.DirectoryServices" />
<Reference Include="System.Drawing" />
<Reference Include="System.Web.DataVisualization" />
<Reference Include="System.Web.DynamicData" />
<Reference Include="System.Web.Entity" />
<Reference Include="System.Web.ApplicationServices" />
<Reference Include="System.ComponentModel.DataAnnotations" />
<Reference Include="System.Web.Extensions" />
<Reference Include="System.Web.Helpers, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.2\lib\net45\System.Web.Helpers.dll</HintPath>
</Reference>
<Reference Include="System.Web.Mvc, Version=5.2.2.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\packages\Microsoft.AspNet.Mvc.5.2.2\lib\net45\System.Web.Mvc.dll</HintPath>
</Reference>
<Reference Include="System.Web.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\packages\Microsoft.AspNet.Razor.3.2.2\lib\net45\System.Web.Razor.dll</HintPath>
</Reference>
<Reference Include="System.Web.WebPages, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.2\lib\net45\System.Web.WebPages.dll</HintPath>
</Reference>
<Reference Include="System.Web.WebPages.Deployment, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.2\lib\net45\System.Web.WebPages.Deployment.dll</HintPath>
</Reference>
<Reference Include="System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.2\lib\net45\System.Web.WebPages.Razor.dll</HintPath>
</Reference>
<Reference Include="System.Web" />
<Reference Include="System.Web.Abstractions" />
<Reference Include="System.Web.Routing" />
<Reference Include="System.Xml" />
<Reference Include="System.Configuration" />
<Reference Include="System.Web.Services" />
<Reference Include="System.EnterpriseServices" />
<Reference Include="Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<Private>True</Private>
<HintPath>..\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll</HintPath>
</Reference>
<Reference Include="System.Net.Http">
</Reference>
<Reference Include="System.Net.Http.WebRequest">
</Reference>
<Reference Include="System.Web.Optimization">
<HintPath>..\packages\Microsoft.AspNet.Web.Optimization.1.1.3\lib\net40\System.Web.Optimization.dll</HintPath>
</Reference>
<Reference Include="System.Xml.Linq" />
<Reference Include="WebDAV">
<HintPath>..\packages\WebDAV.dll.1.0.0.0\lib\WebDAV.dll</HintPath>
</Reference>
<Reference Include="WebGrease">
<HintPath>..\packages\WebGrease.1.6.0\lib\WebGrease.dll</HintPath>
</Reference>
<Reference Include="WebsitePanel.EnterpriseServer.Base">
<HintPath>..\..\Bin\WebsitePanel.EnterpriseServer.Base.dll</HintPath>
</Reference>
<Reference Include="WebsitePanel.EnterpriseServer.Client">
<HintPath>..\..\Bin\WebsitePanel.EnterpriseServer.Client.dll</HintPath>
</Reference>
<Reference Include="WebsitePanel.Providers.Base">
<HintPath>..\..\Bin\WebsitePanel.Providers.Base.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="App_Start\BundleConfig.cs" />
<Compile Include="App_Start\FilterConfig.cs" />
<Compile Include="App_Start\RouteConfig.cs" />
<Compile Include="Constraints\OrganizationRouteConstraint.cs" />
<Compile Include="Controllers\AccountController.cs" />
<Compile Include="Controllers\ErrorController.cs" />
<Compile Include="Controllers\FileSystemController.cs" />
<Compile Include="Controllers\OwaController.cs" />
<Compile Include="CustomAttributes\LdapAuthorizationAttribute.cs" />
<Compile Include="DependencyInjection\NinjectDependecyResolver.cs" />
<Compile Include="DependencyInjection\PortalDependencies.cs" />
<Compile Include="DependencyInjection\Providers\HttpSessionStateProvider.cs" />
<Compile Include="DependencyInjection\Providers\WebDavManagerProvider.cs" />
<Compile Include="Extensions\DictionaryExtensions.cs" />
<Compile Include="Extensions\UriExtensions.cs" />
<Compile Include="FileOperations\FileOpenerManager.cs" />
<Compile Include="FileOperations\FileOpenerType.cs" />
<Compile Include="Global.asax.cs">
<DependentUpon>Global.asax</DependentUpon>
</Compile>
<Compile Include="HttpHandlers\FileTransferRequestHandler.cs" />
<Compile Include="Models\AccountModel.cs" />
<Compile Include="Models\DirectoryIdentity.cs" />
<Compile Include="Models\ErrorModel.cs" />
<Compile Include="Models\ModelForWebDav.cs" />
<Compile Include="Models\OfficeOnlineModel.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="UI\Routes\AccountRouteNames.cs" />
<Compile Include="UI\Routes\FileSystemRouteNames.cs" />
<Compile Include="UI\Routes\OwaRouteNames.cs" />
</ItemGroup>
<ItemGroup>
<Content Include="Content\bootstrap-theme.css" />
<Content Include="Content\bootstrap-theme.min.css" />
<Content Include="Content\bootstrap.css" />
<Content Include="Content\bootstrap.min.css" />
<Content Include="Content\Images\avi-icon.png" />
<Content Include="Content\Images\bigLoader.gif" />
<Content Include="Content\Images\coreldraw-icon.png" />
<Content Include="Content\Images\csv-icon.png" />
<Content Include="Content\Images\excel-icon.png" />
<Content Include="Content\Images\folder_100x100.png" />
<Content Include="Content\Images\jpg-icon.png" />
<Content Include="Content\Images\mp3-icon.png" />
<Content Include="Content\Images\other-icon.png" />
<Content Include="Content\Images\pdf-icon.png" />
<Content Include="Content\Images\png-icon.png" />
<Content Include="Content\Images\ppt-icon.png" />
<Content Include="Content\Images\rar-icon.png" />
<Content Include="Content\Images\txt-icon.png" />
<Content Include="Content\Images\word-icon.png" />
<Content Include="Content\Images\zip-icon.png" />
<Content Include="favicon.ico" />
<Content Include="fonts\glyphicons-halflings-regular.svg" />
<Content Include="Global.asax" />
<Content Include="Content\Site.css" />
<Content Include="fonts\glyphicons-halflings-regular.woff" />
<Content Include="fonts\glyphicons-halflings-regular.ttf" />
<Content Include="fonts\glyphicons-halflings-regular.eot" />
<Content Include="Content\bootstrap-theme.css.map" />
<Content Include="Content\bootstrap.css.map" />
<Content Include="App_Data\SiteSettings.config">
<SubType>Designer</SubType>
</Content>
<Content Include="App_Data\Countries.config" />
<Content Include="App_Data\CountryStates.config" />
<Content Include="App_Data\Ecommerce_Modules.config" />
<Content Include="App_Data\Ecommerce_Pages.config" />
<Content Include="App_Data\ESModule_ControlsHierarchy.config" />
<Content Include="App_Data\ModulesData.config">
<SubType>Designer</SubType>
</Content>
<Content Include="App_Data\SupportedLocales.config" />
<Content Include="App_Data\SupportedThemes.config" />
<Content Include="App_Data\WebsitePanel_Modules.config">
<SubType>Designer</SubType>
</Content>
<Content Include="App_Data\WebsitePanel_Pages.config">
<SubType>Designer</SubType>
</Content>
<None Include="Scripts\jquery-2.1.1.intellisense.js" />
<Content Include="Scripts\appScripts\authentication.js" />
<Content Include="Scripts\appScripts\recalculateResourseHeight.js" />
<Content Include="Scripts\appScripts\uploadingData2.js" />
<Content Include="Scripts\bootstrap.js" />
<Content Include="Scripts\bootstrap.min.js" />
<Content Include="Scripts\jquery-2.1.1.js" />
<Content Include="Scripts\jquery-2.1.1.min.js" />
<Content Include="Scripts\jquery-2.1.1.min.map" />
<None Include="Scripts\jquery.validate-vsdoc.js" />
<Content Include="Scripts\jquery.cookie.js" />
<Content Include="Scripts\jquery.validate.js" />
<Content Include="Scripts\jquery.validate.min.js" />
<Content Include="Scripts\jquery.validate.unobtrusive.js" />
<Content Include="Scripts\jquery.validate.unobtrusive.min.js" />
<Content Include="Scripts\modernizr-2.8.3.js" />
<Content Include="Scripts\npm.js" />
<Content Include="Scripts\respond.js" />
<Content Include="Scripts\respond.matchmedia.addListener.js" />
<Content Include="Scripts\respond.matchmedia.addListener.min.js" />
<Content Include="Scripts\respond.min.js" />
<Content Include="Scripts\_references.js" />
<Content Include="Web.config">
<SubType>Designer</SubType>
</Content>
<Content Include="Web.Debug.config">
<DependentUpon>Web.config</DependentUpon>
</Content>
<Content Include="Web.Release.config">
<DependentUpon>Web.config</DependentUpon>
</Content>
<Content Include="Views\Web.config" />
<Content Include="Views\_ViewStart.cshtml" />
<Content Include="Views\Shared\Error.cshtml" />
<Content Include="Views\Shared\_Layout.cshtml" />
<Content Include="Views\Account\Login.cshtml" />
<Content Include="Views\Error\Index.cshtml" />
<Content Include="Views\FileSystem\ShowContent.cshtml" />
<Content Include="Views\FileSystem\ShowOfficeDocument.cshtml" />
<Content Include="Views\FileSystem\_ResourseCollectionPartial.cshtml" />
<Content Include="Views\FileSystem\_ResoursePartial.cshtml" />
</ItemGroup>
<ItemGroup>
<Folder Include="Views\Owa\" />
</ItemGroup>
<ItemGroup>
<Content Include="packages.config" />
<None Include="Project_Readme.html" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\WebsitePanel.WebDav.Core\WebsitePanel.WebDav.Core.csproj">
<Project>{BA147805-9EF1-45F2-BF32-A5825D4E950D}</Project>
<Name>WebsitePanel.WebDav.Core</Name>
</ProjectReference>
</ItemGroup>
<PropertyGroup>
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
</PropertyGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" Condition="false" />
<Target Name="MvcBuildViews" AfterTargets="AfterBuild" Condition="'$(MvcBuildViews)'=='true'">
<AspNetCompiler VirtualPath="temp" PhysicalPath="$(WebProjectOutputDir)" />
</Target>
<ProjectExtensions>
<VisualStudio>
<FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
<WebProjectProperties>
<UseIIS>True</UseIIS>
<AutoAssignPort>True</AutoAssignPort>
<DevelopmentServerPort>3289</DevelopmentServerPort>
<DevelopmentServerVPath>/</DevelopmentServerVPath>
<IISUrl>http://localhost:9005/</IISUrl>
<NTLMAuthentication>False</NTLMAuthentication>
<UseCustomServer>False</UseCustomServer>
<CustomServerUrl>
</CustomServerUrl>
<SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>
</WebProjectProperties>
</FlavorProperties>
</VisualStudio>
</ProjectExtensions>
<Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('$(SolutionDir)\.nuget\NuGet.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\.nuget\NuGet.targets'))" />
</Target>
<!-- 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>

Some files were not shown because too many files have changed in this diff Show more